diff --git a/.nojekyll b/.nojekyll new file mode 100644 index 00000000000..e69de29bb2d diff --git a/CNAME b/CNAME new file mode 100644 index 00000000000..06fbdc85123 --- /dev/null +++ b/CNAME @@ -0,0 +1 @@ +www.eclemma.com diff --git a/book.css b/book.css new file mode 100644 index 00000000000..aeeb104feb2 --- /dev/null +++ b/book.css @@ -0,0 +1,186 @@ +P.Code { + display: block; + text-align: left; + text-indent: 0.00pt; + margin-top: 0.000000pt; + margin-bottom: 0.000000pt; + margin-right: 0.000000pt; + margin-left: 15pt; + font-size: 10.000000pt; + color: #4444CC; + text-decoration: none; + vertical-align: baseline; + text-transform: none; + font-family: "Courier New"; +} +H6.CaptionFigColumn { + display: block; + text-align: left; + text-indent: 0.000000pt; + margin-top: 3.000000pt; + margin-bottom: 11.000000pt; + margin-right: 0.000000pt; + margin-left: 0.000000pt; + font-size: 9.000000pt; + font-style: Italic; + color: #000000; + text-decoration: none; + vertical-align: baseline; + text-transform: none; + font-family: "Arial"; +} +P.Note { + display: block; + text-align: left; + text-indent: 0pt; + margin-top: 19.500000pt; + margin-bottom: 19.500000pt; + margin-right: 0.000000pt; + margin-left: 30pt; + font-size: 11.000000pt; + font-style: Italic; + color: #000000; + text-decoration: none; + vertical-align: baseline; + text-transform: none; + font-family: "Arial"; +} +EM.UILabel { + font-weight: Bold; + text-decoration: none; + vertical-align: baseline; + text-transform: none; +} +EM.CodeName { + font-weight: Bold; + text-decoration: none; + vertical-align: baseline; + text-transform: none; + font-family:"Courier New"; +} + +body, html { border: 0px } + + +/* following font face declarations need to be removed for DBCS */ + +body, h1, h2, h3, h4, h5, h6, p, table, td, caption, th, ul, ol, dl, li, dd, dt {font-family: Arial, Helvetica, sans-serif; color: #000000} +pre { font-family: Courier, monospace} + +/* end font face declarations */ + +/* following font size declarations should be OK for DBCS */ +body, h1, h2, h3, h4, h5, h6, p, table, td, caption, th, ul, ol, dl, li, dd, dt {font-size: 10pt; } +pre { font-size: 10pt} + +/* end font size declarations */ + +body { background: #FFFFFF} +h1 { font-size: 18pt; margin-top: 15px; margin-bottom: 3px } +h2 { font-size: 14pt; margin-top: 20px; margin-bottom: 3px } +h3 { font-size: 11pt; margin-top: 20px; margin-bottom: 3px } +h4 { font-size: 10pt; margin-top: 20px; margin-bottom: 3px; font-style: italic } +p { margin-top: 10px; margin-bottom: 10px } +pre { margin-left: 6px; font-size: 9pt; color: #4444CC } +a:link { color: #0000FF } +a:hover { color: #000080 } +a:visited { text-decoration: underline } +ul { margin-top: 0; margin-bottom: 10px } +li { margin-top: 0; margin-bottom: 0 } +li p { margin-top: 0; margin-bottom: 0 } +ol { margin-top: 0; margin-bottom: 10px } +dl { margin-top: 0; margin-bottom: 10px } +dt { margin-top: 0; margin-bottom: 0; font-weight: bold } +dd { margin-top: 0; margin-bottom: 0 } +strong { font-weight: bold} +em { font-style: italic} +var { font-style: italic} +div.revision { border-left-style: solid; border-left-width: thin; + border-left-color: #7B68EE; padding-left:5px } +th { font-weight: bold } + +pre.code { + color: #000000; + margin: 0px 0px 0px 0px; + padding: 10px 10px 10px 10px; + background-color:#e0e0e0; + border: 1px solid #000000; +} + +div.menu { + background-image:url(images/topic.gif); + background-repeat:no-repeat; + background-position:left center; + padding-left:17px; + white-space:nowrap; + margin-bottom:2pt; +} +div.menu a { + color:#000000; + text-decoration:none; +} +div.menu a:visited { + color:#000000; + text-decoration:none; +} +div.menu a:hover { + text-decoration:underline; +} +div.menuhi { + color:#ffffff; + background-color:#000080; + background-image:url(images/topic.gif); + background-repeat:no-repeat; + background-position:left center; + padding-left:17px; + white-space:nowrap; + margin-bottom:2pt; +} +div.menuhi a { + color:#ffffff; + text-decoration:none; +} +div.menuhi a:visited { + color:#ffffff; + text-decoration:none; +} +div.menuhi a:hover { + text-decoration:underline; +} + +a.extern { + background-image:url(images/extern.gif); + background-repeat:no-repeat; + background-position:left center; + padding-left:15px; +} + +td.footer { + color:#8998a5; + font-size:8pt; +} +td.footer a { + color:#8998a5; +} + +p.info { + color: #000000; + margin: 0px 0px 0px 0px; + padding: 5px 5px 5px 25px; + background-color:#e0e0ff; + border: 1px solid #8080ff; + background-image:url(images/info.gif); + background-position:5px 5px; + background-repeat:no-repeat; +} + +p.warn { + color: #000000; + margin: 0px 0px 0px 0px; + padding: 5px 5px 5px 25px; + background-color:#ffffe0; + border: 1px solid #ffcc00; + background-image:url(images/warning.gif); + background-position:5px 5px; + background-repeat:no-repeat; +} \ No newline at end of file diff --git a/changes.html b/changes.html new file mode 100644 index 00000000000..f5f15d7a45d --- /dev/null +++ b/changes.html @@ -0,0 +1,410 @@ + + + + + + + + EclEmma - Change Log + + + + + + + + + +
+ EclEmma 3.1.8 + + Java Code Coverage for Eclipse + + + Drag to your running Eclipse workspace to install EclEmma Java Code Coverage + +
+ + + + + + + + + + + + +
+ Eclipse Community Award 2008 +
+
+ JaCoCo +
+
+ Inspected with sonarqube +
+
+ jobs at mtrail +
+
+ The Java Specialists' Newsletter +
+
+

EclEmma Change Log

Version 3.1.8 (2023/12/12)

    +
  • Upgrade to JaCoCo 0.8.11
  • +

Version 3.1.7 (2023/06/07)

    +
  • Upgrade to JaCoCo 0.8.10
  • +

Version 3.1.6 (2022/06/01)

    +
  • Improve interoperability with other launchers which delegate to EclEmma coverage launchers. + Contributed by Lukas Pecak (GitHub #28).
  • +
  • Upgrade to JaCoCo 0.8.8 (Eclipse Bug 574540)
  • +

Version 3.1.5 (2021/09/08)

    +
  • Upgrade to JaCoCo 0.8.7 (Eclipse Bug 567275)
  • +

Version 3.1.4 (2020/12/08)

    +
  • Upgrade to JaCoCo 0.8.6 (Eclipse Bug 561562)
  • +

Version 3.1.3 (2020/03/13)

    +
  • Upgrade to JaCoCo 0.8.5 (Eclipse Bug 550852)
  • +
  • EclEmma now distributed under the terms and conditions of the + Eclipse Public License Version 2.0.
  • +

Version 3.1.2 (2019/03/12)

    +
  • Upgrade to JaCoCo 0.8.3 (Eclipse Bug 543890).
  • +

Version 3.1.1 (2018/09/12)

    +
  • Adjusted default colors in Dark theme (Eclipse Bug 533264).
  • +
  • Upgrade to JaCoCo 0.8.2 that provides support for Java 11 (Eclipse Bug 537807).
  • +

Version 3.1.0 (2018/06/27)

    +
  • Upgrade to JaCoCo 0.8.1 that provides support for Java 10 and filters out various compiler + generated artifacts, which otherwise require unnecessary and sometimes impossible tricks + to not have partial or missed coverage, such as for example part of bytecode of try-with + resources statements (Eclipse Bug 529391, 532770).
  • +
  • For consistency with Eclipse Photon UI added icon for "Coverage As" in context and Run + menus (Eclipse Bug 530668).
  • +

Version 3.0.1 (2017/11/14)

    +
  • Fixed NullPointerException and ArrayIndexOutOfBoundsException + in "Dump Execution Data" dialog (Eclipse Bug 519126, 519149).
  • +
  • For consistency with other items in "Run" menu, items + "Coverage Last Launched" and "Coverage..." has been renamed into + "Coverage" and "Coverage Configurations..." accordingly (Eclipse Bug 517712).
  • +
  • Error message logged by ContextualLaunchableTester now contains + delegate shortcut id (Eclipse Bug 526701).
  • +

Version 3.0.0 (2017/06/28)

+ This is the first release under the umbrella of the Eclipse Foundation. + EclEmma is now a official Eclipse.org project and included in several Eclipse + Oxygen (4.7) packages. +

    +
  • HiDPI icons (Eclipse Bug 507724).
  • +
  • Import/export session context menu from Coverage view now opens + corresponding wizard directly. This wasn't the case any more since Eclipse + 4.3 (Eclipse Bug 507907).
  • +
  • Session import and export is now consistently named and has been moved to + category Run/Debug (Eclipse Bug 507696).
  • +
  • Automated UI tests with SWTBot.
  • +
  • End of support for Eclipse versions older than 3.8.
  • +
  • Upgrade to JaCoCo 0.7.9.
  • +
  • Upgrade to ASM 5.2.
  • +

Version 2.3.3 (2016/02/23)

    +
  • Upgrade to JaCoCo 0.7.6.
  • +
  • Upgrade to ASM 5.0.4.
  • +
  • Error logging with exception stack traces (GitHub #106).
  • +

Version 2.3.2 (2014/09/14)

    +
  • Fixed internal error when annotated source file is edited (GitHub #90).
  • +
  • Upgrade to JaCoCo 0.7.2 for Java 8 lambda expressions support.
  • +

Version 2.3.1 (2014/05/11)

    +
  • Fixed ASM 5.0.1 dependency conflicts with new ASM bundles in Eclipse 4.4 + (GitHub #83).
  • +
  • Upgrade to JaCoCo 0.7.1 for full Java 8 support.
  • +

Version 2.3.0 (2014/03/19)

    +
  • Now with Java 8 support.
  • +
  • Upgrade to JaCoCo 0.7.0.
  • +

Version 2.2.1 (2013/06/09)

    +
  • Keyboard shortcuts to launch TestNG tests and suites (GitHub #1).
  • +
  • New session import option to import execution data from a JaCoCo agent (GitHub #2).
  • +
  • New session import option to import execution data from a URL (GitHub #13).
  • +
  • Don't fail on Scala function elements (GitHub #32).
  • +
  • Don't fail in case of missing output folders (GitHub #38).
  • +
  • Upgrade to JaCoCo 0.6.3.
  • +

Version 2.2.0 (2012/10/26)

    +
  • The EclEmma project has been moved to + GitHub.
  • +
  • Upgrade to JaCoCo 0.6.0.
  • +
  • Correct menu labels in the Coverage view.
  • +
  • SF #1968604: The Coverage view shows graphical bar charts instead + of icons to visualize code coverage.
  • +

Version 2.1.4 (2012/08/01)

    +
  • Upgrade to JaCoCo 0.5.9.
  • +
  • SF #3549343: Correct source folder naming for HTML reports.
  • +

Version 2.1.3 (2012/07/12)

    +
  • Upgrade to JaCoCo 0.5.8.
  • +
  • Eclipse Bugzilla #383367: Fix drop-down menus in coverage view for Eclipse + 4.2.
  • +
  • Trac #158: Lifecycle mapping for JaCoCo Maven goals when M2E is used.
  • +
  • Trac #203: EclEmma feature now depends on Eclipse 3.5 or greater to + ensure version check at installation time.
  • +

Version 2.1.2 (2012/05/09)

    +
  • Support for Eclipse 3.8 (Juno) since Eclipse + issue 227877 has been + resolved.
  • +
  • SF #3522048: Upgrade to JaCoCo 0.5.7.
  • +
  • SF #3510762: Support for Scala application launches. Contributed by + Joachim Hofer.
  • +
  • Default setting (enabled) fixed for automatically opening the + Coverage view.
  • +

Version 2.1.1 (2012/04/09)

    +
  • Trac #195: Don't exclude output folders based on their name. This caused + empty coverage data results in certain setups. Many thanks to Dominik + Stadler for analyzing this bug.
  • +
  • Avoid restoring column widths to zero in the Coverage view.
  • +

Version 2.1.0 (2012/02/26)

    +
  • For long-running processes intermediate coverage data dumps can now be + collected without terminating the application under test. This feature + allows so called differential code coverage, a technique proposed + by Kaitlin Duck Sherwood in her paper Reducing + Code Navigation Effort with Differential Code Coverage.
  • +
  • Trac #168: New editor for JaCoCo execution data files.
  • +
  • Trac #190: The Coverage view option Hide Unused Types has + been generalized to Hide Unused Elements.
  • +
  • SF #3489951: Don't process class files in team provider folders.
  • +
  • SF #3487904: Avoid NPE in case of new and empty launch configurations.
  • +
  • SF #3477725: Java agent must not be added multiple times to plug-in + launch configurations.
  • +

Version 2.0.1 (2011/12/28)

    +
  • Include bundle org.objectweb.asm with the EclEmma feature as + this bundle is not available in all Eclipse distributions.
  • +

Version 2.0.0 (2011/12/18)

+ The first version of EclEmma that is backed by JaCoCo instead of EMMA. This + adds several enhancements and new features to EclEmma. +

    +
  • Branch Coverage: Branch coverage is shown on the property pages and can be + selected in the Coverage view. For the source editors there is a + new annotation that marks lines with branches. A new tooltip provides + details about branches on a per-line basis.
  • +
  • No class file instrumentation: With JaCoCo Java classes are instrumented + in-memory only, which means modified class files will not be written to + the file system anymore. Therefore the "in-place instrumentation" mode and + its disadvantages are not required any more (no re-build required, JAR + files can be analyzed). Programs do now launch immediately without delay + due to instrumentation of all class files.
  • +
  • Source folders can be selected separately even if their class file + output location is the same.
  • +

Version 1.5.3 (2011/05/05)

    +
  • SF #3297297: Fixed NullPointerException for class files compiled without + line number attributes.
  • +
  • SF #3297292: Fixed EclEmma plug-ins class file version.
  • +

Version 1.5.2 (2011/04/15)

    +
  • SF #3055347: Wrong error message for status + NO_COVERAGE_DATA_ERROR.
  • +
  • SF #2881882: Fixed typo with missed blocks NLS key.
  • +

Version 1.5.1 (2010/08/18)

    +
  • To ensure integrity and avoid installation warnings distributed EclEmma + plug-ins are now signed by Mountainminds GmbH & Co. KG.
  • +
  • Source highlighting for Groovy code in combination with the Groovy-Eclipse + plug-in.
  • +
  • SF #2934564: Launch configurations aren't modified any more by simply + opening the "Coverage" tab in the launch dialog. Save warnings are now only + given when the dialog has actually been modified.
  • +
  • SF #3037143: Remove invalid header from patched emma.jar manifest.
  • +

Version 1.5.0 (2010/06/24)

    +
  • SF #2881882: The coverage view and the coverage property page now have a + new column showing the number of items not covered.
  • +

Version 1.4.3 (2009/10/18)

    +
  • SF #2855643: Fixed handler conflict due to wrong id for SWTBot launch + shortcut.
  • +

Version 1.4.2 (2009/08/19)

    +
  • SF #2800744: Support for SWTBot test launcher.
  • +
  • SF #2807365: "Coverage Last Launched" shortcut on Mac is now + CTRL+SHIFT+F11 and does not collide with the shortcut for "Run Last + Launched" any more.
  • +

Version 1.4.1 (2009/03/05)

    +
  • SF #2664838: Fixed exception in analysis of Java source files containing nested + parameterized signatures.
  • +

Version 1.4.0 (2009/03/03)

    +
  • SF #1823843: Proper identification of methods with type variables and + parameterized types in their signatures.
  • +
  • SF #2495620: Coverage view can be opened from the "Show In" menu, contributed + by anonymous.
  • +
  • SF #2226932, #2080402: Several preferences to specify the class path entries + that will get instrumented by default.
  • +
  • SF #2570132: Support for RAP JUnit launcher, contributed by Holger Staudacher.
  • +
  • The selected content of the Coverage View can be copied to the clipboard.
  • +

Version 1.3.2 (2008/07/15)

    +
  • Native sort indicator used in Coverage View (Eclipse 3.2 and above only).
  • +
  • SF #1966443: Fixed accelerator for the main "Run" menu, contributed by + Alexey Stratonnikov.
  • +
  • SF #1966764: Proper error message when importing an external session file + that does not contain meta data.
  • +
  • SF #1995077: "Select All" and "Deselect All" buttons in the coverage + session import dialog for better support of large projects sets.
  • +

Version 1.3.1 (2008/03/05)

    +
  • SF #1899238: New option in session import dialog allows using external + Meta data.
  • +
  • SF #1824465: Report encoding is now UTF-8 to support extended character + sets.
  • +
  • SF #1836551: Ignore classpath entries in sessions that are no longer on + the project's classpath.
  • +
  • SF #1822092: Better labels and sorting for class path entries in the + Coverage and Import dialogs.
  • +

Version 1.3.0 (2007/09/11)

    +
  • Preferences page for Java code coverage.
  • +
  • Context sensitive help in all EclEmma views and dialogs.
  • +
  • New action "Collapse All" in the coverage view.
  • +
  • Entry object selection moved to the drop-down menu of the coverage + view.
  • +
  • SF #1774547: Added "Link with Current Selection" option to coverage + view, contributed by Brock Janiczak.
  • +
  • SF #1762836: Other plug-ins may add coverage support for custom launch + types. Required EclEmma APIs are now exposed. Contributed by John Ruud.
  • +
  • SF #1764140: Added "Coverage As" to context menus, contributed by Brock + Janiczak.
  • +
  • SF #1774550: Observe JFace open mode in coverage view, contributed by + Brock Janiczak.
  • +

Version 1.2.2 (2007/07/03)

    +
  • SF #1701683: Fixed abstract method error with Eclipse 3.3 release.
  • +

Version 1.2.1 (2007/06/25)

    +
  • SF #1701683: Fixed abstract method error with Eclipse 3.3.
  • +
  • SF #1725100: Handle text editors without document providers correctly.
  • +

Version 1.2.0 (2007/04/12)

    +
  • SF #1618360: EclEmma now ships with a patched version of EMMA to avoid + launch failures in certain Eclipse/JDK environments.
  • +
  • SF #1690088: Support for Equinox OSGi framework launches.
  • +
  • Coverage property page now filters out counters with zero totals.
  • +
  • Documentation updates: Available launch modes, coverage property page, + coverage decorators.
  • +

Version 1.1.0 (2007/02/25)

    +
  • SF #1664476: Filtering option for unused types in the coverage view as + proposed by Geoffrey Wiseman.
  • +
  • SF #1659429: Optional coverage decorators for Java elements, contributed + by Benjamin Muskalla.
  • +
  • SF #1657454: Default key bindings, contributed by heaththegreat.
  • +
  • New property page "Coverage" for all Java elements.
  • +
  • Added "Properties" action to the context menu of the coverage view.
  • +

Version 1.0.0 (2007/01/15)

+ Since EclEmma is now out for more than three month, has been downloaded + more than 3,000 times and I've tried to fix many of the reported issues it's + time for the first 1.0 version! +

    +
  • Added EclEmma feature.
  • +
  • Created Eclipse update site http://update.eclemma.org/.
  • +
  • SF #1633361: Fixed launch shortcuts for Eclipse 3.3M4.
  • +
  • SF #1619413: Handle white-spaces in VM arguments correctly.
  • +

Version 0.1.8 (2006/12/18)

    +
  • Improved coverage analysis runs much faster.
  • +
  • SF #1613378: Fixed JUnit plug-in tests on Mac OS X.
  • +
  • SF #1601699: Fixed broken session export in case of missing *.em + files.
  • +

Version 0.1.7 (2006/11/19)

    +
  • The coverage view now also has counters for method and class + coverage.
  • +
  • For consistency with other counters line coverage has been redefined. A + line is now considered as covered, if it contains at least one covered basic + block.
  • +
  • SF #1595879: Commands are now provided for all coverage launches and can + be assigned to keyboard shortcuts in the preferences dialog.
  • +

Version 0.1.6 (2006/10/31)

    +
  • SF #1584899: Fixed support for Eclipse application launches
  • +
  • SF #1584496: Externally terminated processes do not collect coverage + information. This fact has been documented and is mentioned in the + corresponding error dialog.
  • +
  • SF #1583900: An error message is shown in the coverage launch dialog when + no classes are specified for instrumentation.
  • +

Version 0.1.5 (2006/10/18)

    +
  • Documentation: Removed developer documentation (now available on + www.eclemma.org).
  • +
  • Documentation: Added support section.
  • +
  • Documentation: All examples now shown with Apache Jakarta commons code.
  • +
  • SF #1574659: The report export wizard shows additional errors and warnings + to ensure proper inputs for the destination.
  • +
  • SF #1576462: Show error when no coverage data file has been written + during coverage launch.
  • +
  • SF #1574682: Fixed JUnit plug-in launches for Eclipse 3.2.x.
  • +

Version 0.1.4 (2006/09/30)

+ This is the first release after the source tree has moved to SourceForge. + The complete source is now available at the SVN repository + https://svn.sourceforge.net/svnroot/eclemma. The plug-ins + themselfs do not include source code anymore. +

    +
  • SF #1568370: Added the "Coverage" action set to the "J2EE" perspective of + the web tools platform.
  • +
  • Launch Dialog: Added "Select All" and "Deselect All" button for classes + to instrument.
  • +
  • SF #1565364: Fixed NPE when analysing meta data that has only partly no + line information.
  • +

Version 0.1.3 (2006/09/18)

    +
  • Online Documentation: Updates and new chapters.
  • +
  • Session Import: Added Import wizard for EMMA coverage files from + external launches.
  • +
  • Session Export: Added export wizard to export session data in the formats + supported by EMMA (*.html, *.xml, *.txt, *.es).
  • +
  • Coverage view: Added context menu.
  • +
  • Coverage view: Added "Refresh" action to the context menu (F5). Useful to + reload coverage data of imported external launches.
  • +
  • Coverage view: New action "Merge Sessions".
  • +
  • Added keyboard support: "Delete", "Open Declaration" and "Refresh" in the + Coverage view, "Coverage Last Launched" and "Coverage..." can be + configured in the keys preferences.
  • +
  • Fixed internal error in case of parameterized types (Java 1.5).
  • +
  • Added experimental support for TestNG test runs.
  • +

Version 0.1.2 (2006/08/29)

+ Preview release with online documentation and some internal clean-up. +

    +
  • First draft of online help pages.
  • +
  • Completed NLS support.
  • +
  • New labels for class path entries in the coverage launch dialog.
  • +
  • Launching fails with meaningful error message when trying to instrument + instrumented classes.
  • +

Version 0.1.1 (2006/08/25)

+ Preview release with additional features, like support for PDE launches and + selection of instrumented classes. Clean-up and clarification of internal + structures. +

Version 0.1.0 (2006/08/09)

+ The initial drop for some friends and colleagues for testing purposes. + It has been developed under Eclipse 3.1.1, some successful testing + happened with Eclipse 3.2.0. +

+
+ + + + + +
+ + + \ No newline at end of file diff --git a/contact.html b/contact.html new file mode 100644 index 00000000000..02d608b88ff --- /dev/null +++ b/contact.html @@ -0,0 +1,135 @@ + + + + + + + + EclEmma - Contact + + + + + + + + + +
+ EclEmma 3.1.8 + + Java Code Coverage for Eclipse + + + Drag to your running Eclipse workspace to install EclEmma Java Code Coverage + +
+ + + + + + + + + + + + +
+ Eclipse Community Award 2008 +
+
+ JaCoCo +
+
+ Inspected with sonarqube +
+
+ jobs at mtrail +
+
+ The Java Specialists' Newsletter +
+
+

Contact

+ Any information and feedback of general interest can be posted at the + JaCoCo and + EclEmma Users group.. + Comments and reviews for EclEmma might also be posted at the + Eclipse Marketplace + operated by the Eclipse Foundation. +

+ Please rely on the channels described here to + get instant support for EclEmma. +

Team

+ Friend of Eclipse + Marc R. Hoffmann, Project Lead +

+ Marc started the EclEmma project in 2006 and authored the initial releases. In + 2009 he also started the JaCoCo project to + create a modern code coverage backend for EclEmma and other tools. Marc is + CTO at mtrail in + Berne/Switzerland. +

+ Brock Janiczak, Developer +

+ As a developer Brock contributed several features since the early days of + EclEmma. +

+ Evgeny Mandrikov, Build Manager +

+ As our build manager Evgeny maintains the Maven/Tycho based build for EclEmma. +

Credits

+ Many useful features of EclEmma are based on the ideas of users. Several + developers helped to improve the quality of EclEmma by filing bug reports and + submitting patches. Please see the change log for + individual credits. +

+
+ + + + + +
+ + + \ No newline at end of file diff --git a/demoplain.html b/demoplain.html new file mode 100644 index 00000000000..789a107ac85 --- /dev/null +++ b/demoplain.html @@ -0,0 +1,21 @@ + + + + + + + EclEmma - Demo + + + + +
+
+ + + +
+
+ + + \ No newline at end of file diff --git a/devdoc/architecture.html b/devdoc/architecture.html new file mode 100644 index 00000000000..6e9b7e70faf --- /dev/null +++ b/devdoc/architecture.html @@ -0,0 +1,176 @@ + + + + + + + + EclEmma - Architecture + + + + + + + + + +
+ EclEmma 3.1.8 + + Java Code Coverage for Eclipse + + + Drag to your running Eclipse workspace to install EclEmma Java Code Coverage + +
+ + + + + + + + + + + + + + + +
+ Eclipse Community Award 2008 +
+
+ JaCoCo +
+
+ Inspected with sonarqube +
+
+ jobs at mtrail +
+
+ The Java Specialists' Newsletter +
+
+

Architecture

+ Design decisions for the EclEmma plug-in should be based on the following + guidelines: +

    +
  • A high usability should allow developers to efficiently analyse coverage + results and improve test coverage interactively. Technically motivated extra + steps must be avoided.
  • +
  • Seamless integration into the Eclipse workbench: Use existing tools and + paradigms; adopt the Eclipse look & feel.
  • +
  • The primary focus are local launches and interactive coverage analysis + within the Eclipse workbench. For automated builds and report generation + JaCoCo's various integrations + with build tools like Ant and Maven are the better choice.
  • +
  • No project modification: Coverage analysis is a way to look at your + projects, but it is not an inherent part of your projects. Therefore a coverage + tool should work without touching your project's source tree or configuration.
  • +
  • Extensibility: Allow other developers to extend EclEmma's functionality + or build new features using the services provided by EclEmma.
  • +
  • And finally: Keep it simple!
  • +

+ The following sections provide a high level overview about EclEmma's key + implementation strategies. +

Separate Backend from GUI

+ EclEmma is packaged in two plug-ins: The core plug-in offers all functionality + for launching and analysis. It has no dependencies on the Eclipse UI and all + functionality can also be used in headless mode. The JUnit tests for + the core plug-in run headless. The UI plug-in provides the workbench + integration and relies on the core's public API only. This approach also + verifies the usability of the core API. +

JaCoCo Execution Data Files

+ To avoid modifying projects all data files are stored in the plug-in's state + location. +

Launching in Coverage Mode

+ Instead of re-implementing launcher for the different launch types, the + existing launchers for the Run mode are used with adjusted launch + configurations. The coverage launchers perform these steps: +

    +
  1. Create a temporary working copy of the launch configuration and adjust the + VM arguments to add the JaCoCo agent to the Java VM.
  2. +
  3. Delegate to the launcher for Run mode of the same launch type.
  4. +

Coverage Session

+ A coverage session (com.mountainminds.eclemma.core.ICoverageSession) + is the result of a coverage run (or multiple merged runs) or coverage data + imported from an external source. It is an immutable container for all data + necessary to +

    +
  • provide coverage highlighting in Java editors,
  • +
  • populate the Coverage view and
  • +
  • export coverage reports in different formats.
  • +

+ Whenever a coverage launch terminates a coverage session is automatically + created. While there can be a list of coverage sessions, at most one session + can be the active session which is used to provide coverage summaries + for Java elements and source code highlighting. +

Coverage Analysis

+ As soon as a coverage session becomes active the corresponding execution data + is processed and analyzed against the classes in the workspace. Coverage + information is described by a org.jacoco.core.analysis.ICoverageNode + instances for each Java model element (see org.eclipse.jdt.core + package). An adapter factory allows obtaining the corresponding + ICoverageNode instances for a particular Java model element via + IJavaElement.getAdapter(). +

Editor Highlighting

+ The EclEmma UI plug-in tracks the currently opened Java editors and + piggybacks a specialized annotation model to the editors' annotation model. +

+
+ + + + + +
+ + + \ No newline at end of file diff --git a/devdoc/checklist.html b/devdoc/checklist.html new file mode 100644 index 00000000000..288e6cc1599 --- /dev/null +++ b/devdoc/checklist.html @@ -0,0 +1,151 @@ + + + + + + + + EclEmma - Release Checklist + + + + + + + + + +
+ EclEmma 3.1.8 + + Java Code Coverage for Eclipse + + + Drag to your running Eclipse workspace to install EclEmma Java Code Coverage + +
+ + + + + + + + + + + + + + + +
+ Eclipse Community Award 2008 +
+
+ JaCoCo +
+
+ Inspected with sonarqube +
+
+ jobs at mtrail +
+
+ The Java Specialists' Newsletter +
+
+

Release Checklist

+ For each new release the following tasks should be performed. +

Code Quality

    +
  • Check for compiler warnings.
  • +
  • Check for missing Javadoc.
  • +
  • Run JUnit tests.
  • +
  • Check for Sonar findings.
  • +

Documentation

    +
  • Adjust user documentation to new features, update included screen shots.
  • +
  • Finalize change log.
  • +

Build and Distribution

    +
  • Create Git tag.
  • +
  • Run Maven build with mvn clean install in the + com.mountainminds.eclemma.build project as working directory. + Also set the following options for bundle signing: + jarsigner.keystore (path to JKS file), + jarsigner.alias (mtnminds), + jarsigner.storepass (keystore password), + jarsigner.tsa (https://timestamp.geotrust.com/tsa), + jarsigner.tsacert (mtnminds) +
  • +
  • Upload update site to Amazon S3 bucket for update.eclemma.org, adjust ACL + for public read access.
  • +
  • Rename zipped updates site (EclEmma.zip) to + eclemma-x.y.z.zip and upload to Amazon S3 bucket for + download.eclipselab.org.
  • +
  • Add new entry to the + download page + for eclemma-x.y.z.zip file.
  • +
  • Adjust version in page template for www.eclemma.org.
  • +
  • Adjust eclemmasite/updatesite.sh to point to the new tag to + fetch the correct version of user documentation.
  • +
  • Publish www.eclemma.org by running eclemmasite/updatesite.sh.
  • +
  • Increment plug-in's version numbers (MANIFEST.MF and pom.xml).
  • +

Support

+
+ + + + + +
+ + + \ No newline at end of file diff --git a/devdoc/eclemma20.html b/devdoc/eclemma20.html new file mode 100644 index 00000000000..fa10952ff99 --- /dev/null +++ b/devdoc/eclemma20.html @@ -0,0 +1,309 @@ + + + + + + + + EclEmma - EclEmma 2.0 Whitepaper + + + + + + + + + +
+ EclEmma 3.1.8 + + Java Code Coverage for Eclipse + + + Drag to your running Eclipse workspace to install EclEmma Java Code Coverage + +
+ + + + + + + + + + + + + + + +
+ Eclipse Community Award 2008 +
+
+ JaCoCo +
+
+ Inspected with sonarqube +
+
+ jobs at mtrail +
+
+ The Java Specialists' Newsletter +
+
+

EclEmma 2.0 Position Paper

+ The EclEmma code coverage plug-in for + Eclipse originally was designed as a wrapper for the + EMMA code coverage + library to make EMMA available within the Eclipse IDE. Since its initial + release in 2006 EclEmma became a popular addition to the Eclipse Java IDE. As + EMMA maintenance has stopped some years ago and we wanted to see functional + enhancements like branch coverage for EclEmma we started a completely new + code coverage backend called + JaCoCo under the + umbrella of the EclEmma project. The purpose of this paper is to setup + expectations for the EclEmma/JaCoCo user community and serve as a guide line + for technical decisions. The first release fully backed by JaCoCo is + "EclEmma 2.0". +

+ Marc R. Hoffmann, Mountainminds GmbH & Co. KG, September 2011 (updated) +

Starting Point and Maxims

+ Since its initial release in 2006 EclEmma became one of the most widely uses + code coverage tool in the Java developer's tool box and is one of the + most installed + Eclipse plug-ins. As EMMA development has stopped shortly after the first + EclEmma release in 2006 we started working on an alternative called JaCoCo in + 2009. The aim of the JaCoCo Project is + providing a lightweight, flexible and well documented library for + integration with various build and development tools, see this + mission statement + for details. In the meantime JaCoCo is fully functional and has been adopted + by several projects. For example the Eclipse platform integration builds are + analyzed using the JaCoCo Ant tasks. Many open source as well as commercial + projects use the + JaCoCo plug-in for Sonar + to control test quality. +

+ As EclEmma was originally developed to provide code coverage analysis directly + for the individual developer, the same now applies for JaCoCo. A consistent + view to test coverage metrics in the automated builds as well as the local + Eclipse IDE requires a JaCoCo plug-in for Eclipse. From the EclEmma project's + point of view there are at least the following three paths towards a JaCoCo + integration for Eclipse: +

    +
  • Option 1: Implement a new and separate Eclipse plug-in for JaCoCo.
  • +
  • Option 2: Create a plugable architecture that allows to integrate + different code coverage technologies.
  • +
  • Option 3: Migrate EclEmma towards JaCoCo (preferred).
  • +

+ I propose to follow option 3, which means migrate the existing EclEmma project + towards JaCoCo. Given the high exposure of EclEmma this options offers a set + of benefits: +

    +
  • Smooth upgrade path to the new version of EclEmma.
  • +
  • Existing functionality and features of EclEmma like "one-click" launches + and direct visual feedback within the IDE are kept.
  • +
  • Proven and robust code base.
  • +

+ The other two options appear less attractive due to two main aspects: The + first point is the EMMA library itself. Given the issues described before and + the fact that EMMA fails with Java 7 byte code the future use of this great + but abandoned library is questionable. Therefore maintaining a EMMA-only + plug-in does not look reasonable in the long run. Users explicitly bound to + EMMA may continue using the EclEmma 1.x stream (see below). +

+ Providing a plugable architecture for different coverage libraries looks like + best practice at the first glance. This is how the overall Eclipse platform + has been successfully crafted. When looking at different code coverage + libraries features and integration strategies are very different. For + example EMMA requires a huge overhead for instrumentation of local class files + and hooks to tweak class paths. JaCoCo in contrast does not require this but + gives additional coverage metrics and source highlighting for branch coverage. + A code coverage framework would therefore either be +

    +
  • very small as the common overlapping is small, or
  • +
  • quite big containing several base services (like class path re-writing) + for particular code coverage libraries.
  • +

+ On the other hand the Eclipse launch and debug framework already is a + plugable architecture that allows different integrations for different code + coverage technologies even today. +

Functional Improvements

+ For EclEmma 2.0 the following functional improvements are planned: +

Branch Coverage

+ This additional metric will show coverage of all decision points in the + program flow due to if and switch statements or the + ? operator. The result will be displayed directly in the Java + editors similar to the JaCoCo reports using a new annotation icon in the left + ruler. In addition the Coverage view can be switched to branch + counters. Also the Coverage property page will show branch figures for + all Java elements. In addition cyclomatic complexity is shown in the view as + well as on the property page. The former "block" counters will not be + supported any more. +

Faster Launching

+ Due the way how the JaCoCo coverage library works there will be no additional + delay any more when applications under test are launched. This is an + significant performance improvement especially for large applications and test + suites. +

Less Invasive

+ Certain launch types and test scenarios require so called in-place + instrumentation in EclEmma 1.x. With this option the original class files + get modified on disk and need to be restored with a clean build when switching + back to another launch mode. Also JAR files where excluded from coverage + analysis when in-place mode is activated. Without in-place + instrumentation the class path of the application under test was modified + which caused trouble for some applications. +

+ With EclElmma 2.0 class files on disk will never be modified and the class + path of an applications stays untouched. This will remove several hassles + especially for Eclipse application launches and JUnit plug-in tests. +

Intermediate and Remote Coverage Analysis

+ JaCoCo 2.0 (or more likely one of its subsequent versions) will support + intermediate coverage dumps on applications running locally or remote without + stopping the applications under test. This will also allow to reset the + collected coverage information for a running application. +

Flexible Analysis Scope

+ The scope of a coverage analysis can be modified at any time afterwards. While + in EclEmma 1.x the scope needs to be specified on the coverage launch dialog + before the application is launched, with EclEmma 2.0 the scope can be + altered at any time when the result of the coverage session is viewed. +

The Plug-in Project Name

+ Back in 2006 EclEmma originally was an acronym formed from the project + names Eclipse and EMMA. Today the name is widely used for code coverage in + Eclipse without an focus on the technology used internally. Therefore the name + should be kept, also for the plug-in Ids and Java package names. Which + directly leads to the next point. +

Update from EclEmma 1.x to EclEmma 2.0

+ Once EclEmma 2.0 has been stabilized and the first release is published + EclEmma users should be able to get the new JaCoCo based implementation simply + through the regular update site process. +

System Requirements

+ EclEmma 2.0 will raise the bar a little bit and has the following system + requirements: +

    +
  • + Java Runtime: As JaCoCo requires Java 1.5 the same minimum JRE is + required for the Eclipse instance running EclEmma and the application under + test. Note that this does not apply to the Java class files under test: Any + class file version ranging from Java 1.0 to 1.7 is possible. +
  • +
  • + Eclipse: The minimum Eclipse Version to install EclEmma 2.0 is not + determined yet but the backward compatibility down to Eclipse 3.1 will be + dropped to get rid of several switches and usages of APIs deprecated in the + meantime. Anyhow a conservative approach is targeted, e.g. Eclipse 3.5 as the + minimal supported version. +
  • +
  • + Operating System: As JaCoCo as well as EclEmma is pure Java all + operating systems supported by Eclipse will also be supported including + Windows, Linux, Solaris, HP-UX, AIX and Mac OSX on different architectures. +
  • +

Future support for EMMA and EclEmma 1.x Maintenance

+ From EclEmma 2.0 on EMMA will not be supported any more as a coverage engine. + The only supported backend will be JaCoCo. There are not plans for a + "plugable" architecture to facilitate different coverage engines. The + technologies are simply too different to efficiently integrate them based on a + common framework. +

+ Beside this we will try to maintain the EMMA based 1.x stream on a best effort + base but with no functional enhancements planned. There will be a separate + download for the 1.x versions. +

Various Implementation Considerations

+ For a new EclEmma 2.x the following ideas should be considered: +

    +
  • API Compatibility: As JaCoCo was explicitly designed for + integration, EclEmma 2.0 should be far less complex than the existing + 1.x stream. To allow maximum reduction in code size and complexity several + of the existing APIs can either be simplified or removed at all.
  • +
  • Code Coverage Model: Instead if defining a separate code coverage + model for Eclipse IDE usage only the JaCoCo model will be used directly.
  • +
  • Agent Communication: Instead of writing Execution data to the file + system, the TCP/IP base communication will be used. This will also allow + intermediate dumps.
  • +
  • Increase Testability and Test Coverage: Cutting several static + references to create more testable units will allow to increase unit test + coverage of EclEmma itself.
  • +

References

+
+ + + + + +
+ + + \ No newline at end of file diff --git a/devdoc/index.html b/devdoc/index.html new file mode 100644 index 00000000000..e050fa87c77 --- /dev/null +++ b/devdoc/index.html @@ -0,0 +1,183 @@ + + + + + + + + EclEmma - Developer Documentation + + + + + + + + + +
+ EclEmma 3.1.8 + + Java Code Coverage for Eclipse + + + Drag to your running Eclipse workspace to install EclEmma Java Code Coverage + +
+ + + + + + + + + + + + + + + +
+ Eclipse Community Award 2008 +
+
+ JaCoCo +
+
+ Inspected with sonarqube +
+
+ jobs at mtrail +
+
+ The Java Specialists' Newsletter +
+
+

Developer Information

+ This section provides information for EclEmma contributors and ISVs using the + EclEmma API. The project is hosted on the + GitHub platform, + its organization page is + https://github.com/jacoco. + The JaCoCo + and EclEmma Users Group is the place to discuss ideas, ask questions and + get in touch with the developers. +

Trunk Builds

+ The latest trunk build is always available at the update site URL + http://download.eclipselab.org/eclemma/trunk/update (not browseable). +

EclEmma API

+ The com.mountainminds.eclemma.core plug-in exposes a public API + that is used by the UI plug-in. The same API may be used by third parties e.g. + for alternative user interfaces, other use cases or functional extensions. +

Hacking EclEmma

+ Interested to working with the EclEmma code base for new features and + improvements? No problem, with basic PDE skills you should get started within + a few minutes. Here is a quick start guide: +

1. Setup an Eclipse IDE for EclEmma

    +
  • + Have Eclipse installed including the Plug-in Development Environment. + The PDE is for example included in the Eclipse Classic + download or + can be added to your existing Eclipse installation via the Update + Manager. +
  • +
  • + Add Git support to your + Eclipse by installing the latest version of + EGit. +
  • +
  • + To ensure that your code complies with the minimal requirements + you should have installed + Java 1.5 JRE and + Eclipse 3.5. + Configure these JDK and Eclipse versions as your development target in the Eclipse preferences. +
  • +
  • + The EclEmma plug-ins depend on JaCoCo and ASM bundles. For these + dependencies you can simply install the latest EclEmma trunk build into your + target platform from this update site: + http://download.eclipselab.org/eclemma/trunk/update +
  • +
  • + Clone from the repository URL + https://github.com/jacoco/eclemma.git and import the Eclipse + projects contained in the repository. +
  • +
  • + The web site www.eclemma.org is also + maintained a Git + repository. A Python + interpreter is required to run the generator script generator/eclemmasite.py. +
  • +

2. Get familiar with the code base

+ The high-level design principles and some implementation strategies are + introduced in the architecture description. + Implementation details can be studied in the JavaDoc included with the + EclEmma source base. A good understanding of Eclipse' + launch + and debug framework will help to get behind the Coverage mode + implementation. +

3. Contribute back!

+ So you finally created a cool new feature or fixed some bug? Great, contribute + it back to the official EclEmma releases! Open a + feature request + or create a + pull request + with your implementation. +

+
+ + + + + +
+ + + \ No newline at end of file diff --git a/download.html b/download.html new file mode 100644 index 00000000000..1682c619205 --- /dev/null +++ b/download.html @@ -0,0 +1,506 @@ + + + + + + + + EclEmma - Download + + + + + + + + + +
+ EclEmma 3.1.8 + + Java Code Coverage for Eclipse + + + Drag to your running Eclipse workspace to install EclEmma Java Code Coverage + +
+ + + + + + + + + + + + + + +
+ Eclipse Community Award 2008 +
+
+ JaCoCo +
+
+ Inspected with sonarqube +
+
+ jobs at mtrail +
+
+ The Java Specialists' Newsletter +
+
+

Download

+ The official releases builds are available for download below. Alternatively + EclEmma can be directly installed from the update site https://update.eclemma.org/. +

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
DownloadSourceReleaseSizeChecksums
eclemma-3.1.8.zip3.1.82023/12/121.4 MBmd5 + sha256
eclemma-3.1.7.zip3.1.72023/06/071.4 MBmd5 + sha256
eclemma-3.1.6.zip3.1.62022/06/011.9 MBmd5 + sha256
eclemma-3.1.5.zip3.1.52021/09/082.4 MBmd5 + sha256
eclemma-3.1.4.zip3.1.42020/12/082.4 MBmd5 + sha256
eclemma-3.1.3.zip3.1.32020/03/132.3 MBmd5 + sha256
eclemma-3.1.2.zip3.1.22019/03/122.3 MBmd5 + sha256
eclemma-3.1.1.zip3.1.12018/09/122.3 MBmd5 + sha256
eclemma-3.1.0.zip3.1.02018/06/272.3 MBmd5 + sha256
eclemma-3.0.1.zip3.0.12017/11/142.1 MBmd5 + sha256
eclemma-3.0.0.zip3.0.02017/06/282.1 MBmd5 + sha256
eclemma-2.3.3.zip2.3.32016/02/231.2 MBmd5 + sha256
eclemma-2.3.2.zip2.3.22014/09/141.2 MBmd5 + sha256
eclemma-2.3.1.zip2.3.12014/05/111.2 MBmd5 + sha256
eclemma-2.3.0.zip2.3.02014/03/191.4 MBmd5 + sha256
eclemma-2.2.1.zip2.2.12013/06/091.1 MBmd5 + sha256
eclemma-2.2.0.zip2.2.02012/10/261.1 MBmd5 + sha256
eclemma-2.1.4.zip2.1.42012/08/011.1 MBmd5 + sha256
eclemma-2.1.3.zip2.1.32012/07/121.1 MBmd5 + sha256
eclemma-2.1.2.zip2.1.22012/05/091.1 MBmd5 + sha256
eclemma-2.1.1.zip2.1.12012/04/091.1 MBmd5 + sha256
eclemma-2.1.0.zip2.1.02012/02/261.1 MBmd5 + sha256
eclemma-2.0.1.zip2.0.12011/12/281.0 MBmd5 + sha256
eclemma-2.0.0.zip2.0.02011/12/18817 KBmd5 + sha256

Previous Versions based on EMMA

+ These EclEmma versions were based on the + EMMA code coverage tool. +

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
DownloadSourceReleaseSizeChecksums
eclemma-1.5.3.zip1.5.32011/05/05761 KBmd5 + sha256
eclemma-1.5.2.zip1.5.22011/04/15766 KBmd5 + sha256
eclemma-1.5.1.zip1.5.12010/08/18760 KBmd5 + sha256
eclemma-1.5.0.zip1.5.02010/06/24729 KBmd5 + sha256
eclemma-1.4.3.zip1.4.32009/10/18727 KBmd5 + sha256
eclemma-1.4.2.zip1.4.22009/08/19727 KBmd5 + sha256
eclemma-1.4.1.zip1.4.12009/03/05726 KBmd5 + sha256
eclemma-1.4.0.zip1.4.02009/03/03726 KBmd5 + sha256
eclemma-1.3.2.zip1.3.22008/07/15714 KBmd5 + sha256
eclemma-1.3.1.zip1.3.12008/03/05709 KBmd5 + sha256
eclemma-1.3.0.zip1.3.02007/09/11705 KBmd5 + sha256
eclemma-1.2.2.zip1.2.22007/07/03690 KBmd5 + sha256
eclemma-1.2.1.zip1.2.12007/06/25690 KBmd5 + sha256
eclemma-1.2.0.zip1.2.02007/04/12687 KBmd5 + sha256
eclemma-1.1.0.zip1.1.02007/02/25663 KBmd5 + sha256
eclemma-1.0.0.zip1.0.02007/01/15651 KBmd5 + sha256
eclemma-0.1.8.zip0.1.82006/12/18641 KBmd5 + sha256
eclemma-0.1.7.zip0.1.72006/11/19642 KBmd5 + sha256
eclemma-0.1.6.zip0.1.62006/10/31634 KBmd5 + sha256
eclemma-0.1.5.zip0.1.52006/10/18630 KBmd5 + sha256
eclemma-0.1.4.zip0.1.42006/09/30620 KBmd5 + sha256
eclemma-0.1.3.zip0.1.32006/09/18714 KBmd5 + sha256
eclemma-0.1.2.zip0.1.22006/08/29644 KBmd5 + sha256
+
+ + + + + +
+ + + \ No newline at end of file diff --git a/download/eclemma-0.1.2.zip.md5.txt b/download/eclemma-0.1.2.zip.md5.txt new file mode 100644 index 00000000000..2879f2370b8 --- /dev/null +++ b/download/eclemma-0.1.2.zip.md5.txt @@ -0,0 +1 @@ +aa9fc7f8e8a0aff6063e0c8d31c675f3 eclemma-0.1.2.zip diff --git a/download/eclemma-0.1.2.zip.sha256.txt b/download/eclemma-0.1.2.zip.sha256.txt new file mode 100644 index 00000000000..f3aac464448 --- /dev/null +++ b/download/eclemma-0.1.2.zip.sha256.txt @@ -0,0 +1 @@ +9021038921aab389f2023841186b0d6b52321add815c971573422bce9f3d3029 eclemma-0.1.2.zip diff --git a/download/eclemma-0.1.3.zip.md5.txt b/download/eclemma-0.1.3.zip.md5.txt new file mode 100644 index 00000000000..5126b48ddb0 --- /dev/null +++ b/download/eclemma-0.1.3.zip.md5.txt @@ -0,0 +1 @@ +de2cb98fa59ae6ecd0dd707b3c3fcc45 eclemma-0.1.3.zip diff --git a/download/eclemma-0.1.3.zip.sha256.txt b/download/eclemma-0.1.3.zip.sha256.txt new file mode 100644 index 00000000000..9b7879db452 --- /dev/null +++ b/download/eclemma-0.1.3.zip.sha256.txt @@ -0,0 +1 @@ +fd45c919f2bb1829bb500adc3a021fd606b62b22dad66aeb22ace9247fc936e4 eclemma-0.1.3.zip diff --git a/download/eclemma-0.1.4.zip.md5.txt b/download/eclemma-0.1.4.zip.md5.txt new file mode 100644 index 00000000000..800431eb9c3 --- /dev/null +++ b/download/eclemma-0.1.4.zip.md5.txt @@ -0,0 +1 @@ +deac01af676bccbc6f82b45ae1ac5a27 eclemma-0.1.4.zip diff --git a/download/eclemma-0.1.4.zip.sha256.txt b/download/eclemma-0.1.4.zip.sha256.txt new file mode 100644 index 00000000000..774f1015f87 --- /dev/null +++ b/download/eclemma-0.1.4.zip.sha256.txt @@ -0,0 +1 @@ +c89d7ba9bffe1a593444183cd99f0084679edc3f8c82f6607a97ea4af093fdfa eclemma-0.1.4.zip diff --git a/download/eclemma-0.1.5.zip.md5.txt b/download/eclemma-0.1.5.zip.md5.txt new file mode 100644 index 00000000000..55184efb304 --- /dev/null +++ b/download/eclemma-0.1.5.zip.md5.txt @@ -0,0 +1 @@ +de513dc84a75f4efb3973b1e1c0a1763 eclemma-0.1.5.zip diff --git a/download/eclemma-0.1.5.zip.sha256.txt b/download/eclemma-0.1.5.zip.sha256.txt new file mode 100644 index 00000000000..84f5e05ee16 --- /dev/null +++ b/download/eclemma-0.1.5.zip.sha256.txt @@ -0,0 +1 @@ +0f17f25a354aee321786a7057bf4ab354ebefaf797f4e0cddc3808a4934368c3 eclemma-0.1.5.zip diff --git a/download/eclemma-0.1.6.zip.md5.txt b/download/eclemma-0.1.6.zip.md5.txt new file mode 100644 index 00000000000..b5d031effce --- /dev/null +++ b/download/eclemma-0.1.6.zip.md5.txt @@ -0,0 +1 @@ +7d96f70bfc8acbe074d5b18f79d57b58 eclemma-0.1.6.zip diff --git a/download/eclemma-0.1.6.zip.sha256.txt b/download/eclemma-0.1.6.zip.sha256.txt new file mode 100644 index 00000000000..9b7815b3ff5 --- /dev/null +++ b/download/eclemma-0.1.6.zip.sha256.txt @@ -0,0 +1 @@ +478895184d2a600f0021d811ca4d8ed2f9f91333e9c80d7473fa3bc5f3467200 eclemma-0.1.6.zip diff --git a/download/eclemma-0.1.7.zip.md5.txt b/download/eclemma-0.1.7.zip.md5.txt new file mode 100644 index 00000000000..32b60e0df7c --- /dev/null +++ b/download/eclemma-0.1.7.zip.md5.txt @@ -0,0 +1 @@ +e243f869dddf29b7b9b9fbe2c1d04605 eclemma-0.1.7.zip diff --git a/download/eclemma-0.1.7.zip.sha256.txt b/download/eclemma-0.1.7.zip.sha256.txt new file mode 100644 index 00000000000..51e6694cdea --- /dev/null +++ b/download/eclemma-0.1.7.zip.sha256.txt @@ -0,0 +1 @@ +5e1166d257a601e8d68bd7710a1f0d520c9d0cbeec9f1b2d588bb91a68f7a9c1 eclemma-0.1.7.zip diff --git a/download/eclemma-0.1.8.zip.md5.txt b/download/eclemma-0.1.8.zip.md5.txt new file mode 100644 index 00000000000..3f064470f8a --- /dev/null +++ b/download/eclemma-0.1.8.zip.md5.txt @@ -0,0 +1 @@ +5337a0c9c406a22700b774e5d8bc41f8 eclemma-0.1.8.zip diff --git a/download/eclemma-0.1.8.zip.sha256.txt b/download/eclemma-0.1.8.zip.sha256.txt new file mode 100644 index 00000000000..cc80da3843e --- /dev/null +++ b/download/eclemma-0.1.8.zip.sha256.txt @@ -0,0 +1 @@ +aeb26ddd4a1756dbfc6cf4150eb0baa5b6d2e96ea4a94f4ef52789db3a9237d7 eclemma-0.1.8.zip diff --git a/download/eclemma-1.0.0.zip.md5.txt b/download/eclemma-1.0.0.zip.md5.txt new file mode 100644 index 00000000000..882321c6508 --- /dev/null +++ b/download/eclemma-1.0.0.zip.md5.txt @@ -0,0 +1 @@ +7d01158e1baa4e8b904160cc244f1968 eclemma-1.0.0.zip diff --git a/download/eclemma-1.0.0.zip.sha256.txt b/download/eclemma-1.0.0.zip.sha256.txt new file mode 100644 index 00000000000..e6fbd57dcb8 --- /dev/null +++ b/download/eclemma-1.0.0.zip.sha256.txt @@ -0,0 +1 @@ +b51f56d8712e424a414bef7f302db738740d2c67dd8c01aca9822c78a4890b19 eclemma-1.0.0.zip diff --git a/download/eclemma-1.1.0.zip.md5.txt b/download/eclemma-1.1.0.zip.md5.txt new file mode 100644 index 00000000000..4129c4d6108 --- /dev/null +++ b/download/eclemma-1.1.0.zip.md5.txt @@ -0,0 +1 @@ +6dc45c050472b6cad16e76af3ab7bac9 eclemma-1.1.0.zip diff --git a/download/eclemma-1.1.0.zip.sha256.txt b/download/eclemma-1.1.0.zip.sha256.txt new file mode 100644 index 00000000000..24c3e9e5c22 --- /dev/null +++ b/download/eclemma-1.1.0.zip.sha256.txt @@ -0,0 +1 @@ +b6a57ef072ee03d2f67af6d2d9d994a3294ddeddf37c2d8aebc95b0df4cf88a0 eclemma-1.1.0.zip diff --git a/download/eclemma-1.2.0.zip.md5.txt b/download/eclemma-1.2.0.zip.md5.txt new file mode 100644 index 00000000000..d81faa62380 --- /dev/null +++ b/download/eclemma-1.2.0.zip.md5.txt @@ -0,0 +1 @@ +842a80fed62824c8fa565ccfe48b6b90 eclemma-1.2.0.zip diff --git a/download/eclemma-1.2.0.zip.sha256.txt b/download/eclemma-1.2.0.zip.sha256.txt new file mode 100644 index 00000000000..cd21d8c3f64 --- /dev/null +++ b/download/eclemma-1.2.0.zip.sha256.txt @@ -0,0 +1 @@ +3ee5325b4ea46776af5c7cfd060766007fa75543c866c521b564ccb55134c474 eclemma-1.2.0.zip diff --git a/download/eclemma-1.2.1.zip.md5.txt b/download/eclemma-1.2.1.zip.md5.txt new file mode 100644 index 00000000000..b9070a08f75 --- /dev/null +++ b/download/eclemma-1.2.1.zip.md5.txt @@ -0,0 +1 @@ +8b1282951dc791495138d043383123d2 eclemma-1.2.1.zip diff --git a/download/eclemma-1.2.1.zip.sha256.txt b/download/eclemma-1.2.1.zip.sha256.txt new file mode 100644 index 00000000000..4b16dc1afe6 --- /dev/null +++ b/download/eclemma-1.2.1.zip.sha256.txt @@ -0,0 +1 @@ +f5b88254a925b773d679a0bd9f5868c6a04019ae5762c7be5b2c27f29a789ea0 eclemma-1.2.1.zip diff --git a/download/eclemma-1.2.2.zip.md5.txt b/download/eclemma-1.2.2.zip.md5.txt new file mode 100644 index 00000000000..36f7506aef7 --- /dev/null +++ b/download/eclemma-1.2.2.zip.md5.txt @@ -0,0 +1 @@ +b1be347711c7ee9d58427d460041e247 eclemma-1.2.2.zip diff --git a/download/eclemma-1.2.2.zip.sha256.txt b/download/eclemma-1.2.2.zip.sha256.txt new file mode 100644 index 00000000000..415fecb3120 --- /dev/null +++ b/download/eclemma-1.2.2.zip.sha256.txt @@ -0,0 +1 @@ +83a09fe66ee4817b4756cb25e6aba9a77e5c081a1b767cfbdf259993992757b6 eclemma-1.2.2.zip diff --git a/download/eclemma-1.3.0.zip.md5.txt b/download/eclemma-1.3.0.zip.md5.txt new file mode 100644 index 00000000000..3535e42d603 --- /dev/null +++ b/download/eclemma-1.3.0.zip.md5.txt @@ -0,0 +1 @@ +6599e48cdc5b96a9778f1057f5433ec6 eclemma-1.3.0.zip diff --git a/download/eclemma-1.3.0.zip.sha256.txt b/download/eclemma-1.3.0.zip.sha256.txt new file mode 100644 index 00000000000..b5cfddf2531 --- /dev/null +++ b/download/eclemma-1.3.0.zip.sha256.txt @@ -0,0 +1 @@ +c602eda9b9453cfb3b121c836b1eb6a2cb8059520346e929c0ed764cb7f6c126 eclemma-1.3.0.zip diff --git a/download/eclemma-1.3.1.zip.md5.txt b/download/eclemma-1.3.1.zip.md5.txt new file mode 100644 index 00000000000..af2032d7382 --- /dev/null +++ b/download/eclemma-1.3.1.zip.md5.txt @@ -0,0 +1 @@ +1266c6723b1e598df67cdf4903b4f039 eclemma-1.3.1.zip diff --git a/download/eclemma-1.3.1.zip.sha256.txt b/download/eclemma-1.3.1.zip.sha256.txt new file mode 100644 index 00000000000..4d7f908518a --- /dev/null +++ b/download/eclemma-1.3.1.zip.sha256.txt @@ -0,0 +1 @@ +9e8e7e14b92c3907dde0d04f10e55b0167ae0369d263807863b2e23039e2326b eclemma-1.3.1.zip diff --git a/download/eclemma-1.3.2.zip.md5.txt b/download/eclemma-1.3.2.zip.md5.txt new file mode 100644 index 00000000000..7213b3f2e41 --- /dev/null +++ b/download/eclemma-1.3.2.zip.md5.txt @@ -0,0 +1 @@ +db90eeb40ff9719d3ca7382a5288e9ea eclemma-1.3.2.zip diff --git a/download/eclemma-1.3.2.zip.sha256.txt b/download/eclemma-1.3.2.zip.sha256.txt new file mode 100644 index 00000000000..8c9a678c6bf --- /dev/null +++ b/download/eclemma-1.3.2.zip.sha256.txt @@ -0,0 +1 @@ +11591cfe320711fe91a29e7b8e3b467313820d7ce45009f98d336673526f2aff eclemma-1.3.2.zip diff --git a/download/eclemma-1.4.0.zip.md5.txt b/download/eclemma-1.4.0.zip.md5.txt new file mode 100644 index 00000000000..ecc073b7bfa --- /dev/null +++ b/download/eclemma-1.4.0.zip.md5.txt @@ -0,0 +1 @@ +074db63c9b470329cbf2c8d5767bff87 eclemma-1.4.0.zip diff --git a/download/eclemma-1.4.0.zip.sha256.txt b/download/eclemma-1.4.0.zip.sha256.txt new file mode 100644 index 00000000000..bbd83ffb9da --- /dev/null +++ b/download/eclemma-1.4.0.zip.sha256.txt @@ -0,0 +1 @@ +0e98dc4cf763c2dee324860d6b535bb5f61c04bc25683bdcb70e079fc18ec045 eclemma-1.4.0.zip diff --git a/download/eclemma-1.4.1.zip.md5.txt b/download/eclemma-1.4.1.zip.md5.txt new file mode 100644 index 00000000000..cd127469484 --- /dev/null +++ b/download/eclemma-1.4.1.zip.md5.txt @@ -0,0 +1 @@ +a42e4ccf2e6246b6e022c554c9dd0794 eclemma-1.4.1.zip diff --git a/download/eclemma-1.4.1.zip.sha256.txt b/download/eclemma-1.4.1.zip.sha256.txt new file mode 100644 index 00000000000..8d924d264a4 --- /dev/null +++ b/download/eclemma-1.4.1.zip.sha256.txt @@ -0,0 +1 @@ +6b9816cbc29b332f03908f83a0ac4ac46b3fb43ecb0ef76a240de83d522240c8 eclemma-1.4.1.zip diff --git a/download/eclemma-1.4.2.zip.md5.txt b/download/eclemma-1.4.2.zip.md5.txt new file mode 100644 index 00000000000..6861c49f7ac --- /dev/null +++ b/download/eclemma-1.4.2.zip.md5.txt @@ -0,0 +1 @@ +3d8ff93338946d6bf7ea4e63c6140f7c eclemma-1.4.2.zip diff --git a/download/eclemma-1.4.2.zip.sha256.txt b/download/eclemma-1.4.2.zip.sha256.txt new file mode 100644 index 00000000000..ea2bf9ed6b9 --- /dev/null +++ b/download/eclemma-1.4.2.zip.sha256.txt @@ -0,0 +1 @@ +35a729889de39e3c20738a4cd5026a22b0eb8c283b9e18f79b6542d9d09de573 eclemma-1.4.2.zip diff --git a/download/eclemma-1.4.3.zip.md5.txt b/download/eclemma-1.4.3.zip.md5.txt new file mode 100644 index 00000000000..1823ce2ac8e --- /dev/null +++ b/download/eclemma-1.4.3.zip.md5.txt @@ -0,0 +1 @@ +2778605272a2c117354cd18d3e8cffca eclemma-1.4.3.zip diff --git a/download/eclemma-1.4.3.zip.sha256.txt b/download/eclemma-1.4.3.zip.sha256.txt new file mode 100644 index 00000000000..69bbb842b2d --- /dev/null +++ b/download/eclemma-1.4.3.zip.sha256.txt @@ -0,0 +1 @@ +871a511a67508fb1997cdbc9025759b6801c35861870e443941b7d0bd3ebc386 eclemma-1.4.3.zip diff --git a/download/eclemma-1.5.0.zip.md5.txt b/download/eclemma-1.5.0.zip.md5.txt new file mode 100644 index 00000000000..89118014fc7 --- /dev/null +++ b/download/eclemma-1.5.0.zip.md5.txt @@ -0,0 +1 @@ +01bfc822baccd0650c71dc7652ee5d14 eclemma-1.5.0.zip diff --git a/download/eclemma-1.5.0.zip.sha256.txt b/download/eclemma-1.5.0.zip.sha256.txt new file mode 100644 index 00000000000..275d8a8e5aa --- /dev/null +++ b/download/eclemma-1.5.0.zip.sha256.txt @@ -0,0 +1 @@ +229e59763f62da3af177c5941e97b2ab5a34aae9acdf542d6070d4292c7948e9 eclemma-1.5.0.zip diff --git a/download/eclemma-1.5.1.zip.md5.txt b/download/eclemma-1.5.1.zip.md5.txt new file mode 100644 index 00000000000..9571278a57e --- /dev/null +++ b/download/eclemma-1.5.1.zip.md5.txt @@ -0,0 +1 @@ +9efe68849c7595e8fe9a7abdccd3556e eclemma-1.5.1.zip diff --git a/download/eclemma-1.5.1.zip.sha256.txt b/download/eclemma-1.5.1.zip.sha256.txt new file mode 100644 index 00000000000..ee82c1b5c1c --- /dev/null +++ b/download/eclemma-1.5.1.zip.sha256.txt @@ -0,0 +1 @@ +b8ab647ee1daf07c170e52b7b85fe957beedf92f43524e531974a044263f7da4 eclemma-1.5.1.zip diff --git a/download/eclemma-1.5.2.zip.md5.txt b/download/eclemma-1.5.2.zip.md5.txt new file mode 100644 index 00000000000..fd52dd49fdc --- /dev/null +++ b/download/eclemma-1.5.2.zip.md5.txt @@ -0,0 +1 @@ +2970ae3f6914831f8468b37f856c6e8a eclemma-1.5.2.zip diff --git a/download/eclemma-1.5.2.zip.sha256.txt b/download/eclemma-1.5.2.zip.sha256.txt new file mode 100644 index 00000000000..f98fc22ba45 --- /dev/null +++ b/download/eclemma-1.5.2.zip.sha256.txt @@ -0,0 +1 @@ +7e338db4b8bdcbb20250909475fa86931682b69759482d6ecea5a2f0c651516b eclemma-1.5.2.zip diff --git a/download/eclemma-1.5.3.zip.md5.txt b/download/eclemma-1.5.3.zip.md5.txt new file mode 100644 index 00000000000..65be1519aed --- /dev/null +++ b/download/eclemma-1.5.3.zip.md5.txt @@ -0,0 +1 @@ +01e603f50ccf86c8ff4ca16cf5f40b10 eclemma-1.5.3.zip diff --git a/download/eclemma-1.5.3.zip.sha256.txt b/download/eclemma-1.5.3.zip.sha256.txt new file mode 100644 index 00000000000..65ea6783dee --- /dev/null +++ b/download/eclemma-1.5.3.zip.sha256.txt @@ -0,0 +1 @@ +c8f3a650159847aa64315c9f5d96f0aee9b8397c8351ed10f63d0a83b0b4c734 eclemma-1.5.3.zip diff --git a/download/eclemma-2.0.0.zip.md5.txt b/download/eclemma-2.0.0.zip.md5.txt new file mode 100644 index 00000000000..b970c61fc72 --- /dev/null +++ b/download/eclemma-2.0.0.zip.md5.txt @@ -0,0 +1 @@ +d587747a7c5334f06d32b98747755fa4 eclemma-2.0.0.zip diff --git a/download/eclemma-2.0.0.zip.sha256.txt b/download/eclemma-2.0.0.zip.sha256.txt new file mode 100644 index 00000000000..8b8fb063c99 --- /dev/null +++ b/download/eclemma-2.0.0.zip.sha256.txt @@ -0,0 +1 @@ +584f2ba62a5b9f97f5c7fd9306415c64d8cfa47f4320fb172a542ab15d4a9535 eclemma-2.0.0.zip diff --git a/download/eclemma-2.0.1.zip.md5.txt b/download/eclemma-2.0.1.zip.md5.txt new file mode 100644 index 00000000000..8998727fdef --- /dev/null +++ b/download/eclemma-2.0.1.zip.md5.txt @@ -0,0 +1 @@ +eda04afb0afb29fdfb0a952639ec9de2 eclemma-2.0.1.zip diff --git a/download/eclemma-2.0.1.zip.sha256.txt b/download/eclemma-2.0.1.zip.sha256.txt new file mode 100644 index 00000000000..49bb0d9a342 --- /dev/null +++ b/download/eclemma-2.0.1.zip.sha256.txt @@ -0,0 +1 @@ +e6c55321b116c674f861cdfe0a39d9e08f4c225cff7698a9ee21a61e87cd1a9c eclemma-2.0.1.zip diff --git a/download/eclemma-2.1.0.zip.md5.txt b/download/eclemma-2.1.0.zip.md5.txt new file mode 100644 index 00000000000..67d6dd5f9a8 --- /dev/null +++ b/download/eclemma-2.1.0.zip.md5.txt @@ -0,0 +1 @@ +3ffc2cd63548ff915704389e897d7511 eclemma-2.1.0.zip diff --git a/download/eclemma-2.1.0.zip.sha256.txt b/download/eclemma-2.1.0.zip.sha256.txt new file mode 100644 index 00000000000..d66fb86926d --- /dev/null +++ b/download/eclemma-2.1.0.zip.sha256.txt @@ -0,0 +1 @@ +370d6c2ad902b116f781b58b605d246f9811c8987aebde60222082c879a8aab2 eclemma-2.1.0.zip diff --git a/download/eclemma-2.1.1.zip.md5.txt b/download/eclemma-2.1.1.zip.md5.txt new file mode 100644 index 00000000000..c2172bcbb14 --- /dev/null +++ b/download/eclemma-2.1.1.zip.md5.txt @@ -0,0 +1 @@ +8ff793f6c2984d484acc44547952ca42 eclemma-2.1.1.zip diff --git a/download/eclemma-2.1.1.zip.sha256.txt b/download/eclemma-2.1.1.zip.sha256.txt new file mode 100644 index 00000000000..8e069af2173 --- /dev/null +++ b/download/eclemma-2.1.1.zip.sha256.txt @@ -0,0 +1 @@ +7ac885ac687223e0838567590417c50396b1164137fc7378d18794fec4c16874 eclemma-2.1.1.zip diff --git a/download/eclemma-2.1.2.zip.md5.txt b/download/eclemma-2.1.2.zip.md5.txt new file mode 100644 index 00000000000..84cf7296774 --- /dev/null +++ b/download/eclemma-2.1.2.zip.md5.txt @@ -0,0 +1 @@ +0a41faaacfcf750ddaab7a83d4eebb40 eclemma-2.1.2.zip diff --git a/download/eclemma-2.1.2.zip.sha256.txt b/download/eclemma-2.1.2.zip.sha256.txt new file mode 100644 index 00000000000..f5f0ff33169 --- /dev/null +++ b/download/eclemma-2.1.2.zip.sha256.txt @@ -0,0 +1 @@ +b92ac662d51f0d8c72fd4185ce9772fbecaa065fb0f17b2be333178e124fb8e3 eclemma-2.1.2.zip diff --git a/download/eclemma-2.1.3.zip.md5.txt b/download/eclemma-2.1.3.zip.md5.txt new file mode 100644 index 00000000000..32418b9cb0e --- /dev/null +++ b/download/eclemma-2.1.3.zip.md5.txt @@ -0,0 +1 @@ +5467237e2339fd310d8b77f93ceebd0d eclemma-2.1.3.zip diff --git a/download/eclemma-2.1.3.zip.sha256.txt b/download/eclemma-2.1.3.zip.sha256.txt new file mode 100644 index 00000000000..1715ef25006 --- /dev/null +++ b/download/eclemma-2.1.3.zip.sha256.txt @@ -0,0 +1 @@ +88e82fae727aa46e563b57702fad2c60864ff73e8d5d743f601c465fe6d4be5b eclemma-2.1.3.zip diff --git a/download/eclemma-2.1.4.zip.md5.txt b/download/eclemma-2.1.4.zip.md5.txt new file mode 100644 index 00000000000..947d5bd2c22 --- /dev/null +++ b/download/eclemma-2.1.4.zip.md5.txt @@ -0,0 +1 @@ +75f546a2682c0a0a11b252521c80983e eclemma-2.1.4.zip diff --git a/download/eclemma-2.1.4.zip.sha256.txt b/download/eclemma-2.1.4.zip.sha256.txt new file mode 100644 index 00000000000..a6b11900a3a --- /dev/null +++ b/download/eclemma-2.1.4.zip.sha256.txt @@ -0,0 +1 @@ +bb79eef1c5b21aa57ed62ee54efe3a5dae4ff8d53c40db591df9329cb5bb7e51 eclemma-2.1.4.zip diff --git a/download/eclemma-2.2.0.zip.md5.txt b/download/eclemma-2.2.0.zip.md5.txt new file mode 100644 index 00000000000..65bce18b989 --- /dev/null +++ b/download/eclemma-2.2.0.zip.md5.txt @@ -0,0 +1 @@ +d9eb68c3f6ccfbd7ea4b1ed888e342da eclemma-2.2.0.zip diff --git a/download/eclemma-2.2.0.zip.sha256.txt b/download/eclemma-2.2.0.zip.sha256.txt new file mode 100644 index 00000000000..f7b22cff0f3 --- /dev/null +++ b/download/eclemma-2.2.0.zip.sha256.txt @@ -0,0 +1 @@ +4cc70b2d917d863a1c1990ddfa103b278e5e37c4cb143e553d1683a37d5f08ec eclemma-2.2.0.zip diff --git a/download/eclemma-2.2.1.zip.md5.txt b/download/eclemma-2.2.1.zip.md5.txt new file mode 100644 index 00000000000..36a502926a6 --- /dev/null +++ b/download/eclemma-2.2.1.zip.md5.txt @@ -0,0 +1 @@ +298031399a20399f7c26cacd8196b84d eclemma-2.2.1.zip diff --git a/download/eclemma-2.2.1.zip.sha256.txt b/download/eclemma-2.2.1.zip.sha256.txt new file mode 100644 index 00000000000..bda651a68a4 --- /dev/null +++ b/download/eclemma-2.2.1.zip.sha256.txt @@ -0,0 +1 @@ +cdbdb7d1a68f04b7d4f804b277b24d3ad69aaa58b6ed759b39002e47d3c7113a eclemma-2.2.1.zip diff --git a/download/eclemma-2.3.0.zip.md5.txt b/download/eclemma-2.3.0.zip.md5.txt new file mode 100644 index 00000000000..8c58dcd08a2 --- /dev/null +++ b/download/eclemma-2.3.0.zip.md5.txt @@ -0,0 +1 @@ +8be86eea47c55650cdf452807dfb4b93 eclemma-2.3.0.zip diff --git a/download/eclemma-2.3.0.zip.sha256.txt b/download/eclemma-2.3.0.zip.sha256.txt new file mode 100644 index 00000000000..7b86a055ec7 --- /dev/null +++ b/download/eclemma-2.3.0.zip.sha256.txt @@ -0,0 +1 @@ +935e3da7bdb181930deb7b4f77bb8f885d14742bc0a32be029a570a73471446c eclemma-2.3.0.zip diff --git a/download/eclemma-2.3.1.zip.md5.txt b/download/eclemma-2.3.1.zip.md5.txt new file mode 100644 index 00000000000..ad980561f80 --- /dev/null +++ b/download/eclemma-2.3.1.zip.md5.txt @@ -0,0 +1 @@ +04893ec195716be66a07dc06cef031de eclemma-2.3.1.zip diff --git a/download/eclemma-2.3.1.zip.sha256.txt b/download/eclemma-2.3.1.zip.sha256.txt new file mode 100644 index 00000000000..bd7597b6ba1 --- /dev/null +++ b/download/eclemma-2.3.1.zip.sha256.txt @@ -0,0 +1 @@ +43e65004608712279e44eb213edb8446acaee346c7a13ca90e31bccf140d73d7 eclemma-2.3.1.zip diff --git a/download/eclemma-2.3.2.zip.md5.txt b/download/eclemma-2.3.2.zip.md5.txt new file mode 100644 index 00000000000..1eec0fadbca --- /dev/null +++ b/download/eclemma-2.3.2.zip.md5.txt @@ -0,0 +1 @@ +c1a80f7dc8a30474fe1a6143cbe295a9 eclemma-2.3.2.zip diff --git a/download/eclemma-2.3.2.zip.sha256.txt b/download/eclemma-2.3.2.zip.sha256.txt new file mode 100644 index 00000000000..87ae17c0f40 --- /dev/null +++ b/download/eclemma-2.3.2.zip.sha256.txt @@ -0,0 +1 @@ +5e3c04fdfe1d9d4d6423fb1860c924dc68d2d9c497a67ac123160470b2fc1cd9 eclemma-2.3.2.zip diff --git a/download/eclemma-2.3.3.zip.md5.txt b/download/eclemma-2.3.3.zip.md5.txt new file mode 100644 index 00000000000..b3a3aa99b4a --- /dev/null +++ b/download/eclemma-2.3.3.zip.md5.txt @@ -0,0 +1 @@ +a5ec12fda5389fcf4a22ed63a17d1f11 eclemma-2.3.3.zip diff --git a/download/eclemma-2.3.3.zip.sha256.txt b/download/eclemma-2.3.3.zip.sha256.txt new file mode 100644 index 00000000000..208971a8e29 --- /dev/null +++ b/download/eclemma-2.3.3.zip.sha256.txt @@ -0,0 +1 @@ +4dad65e9aeb378f08c2d218cdf037dbb506dbf2b263e5328abb01631aae8a401 eclemma-2.3.3.zip diff --git a/download/eclemma-3.0.0.zip.md5.txt b/download/eclemma-3.0.0.zip.md5.txt new file mode 100644 index 00000000000..e93ebe9f7e9 --- /dev/null +++ b/download/eclemma-3.0.0.zip.md5.txt @@ -0,0 +1 @@ +8b47a16a55f2e214b12c0901cd9f1358 eclemma-3.0.0.zip diff --git a/download/eclemma-3.0.0.zip.sha256.txt b/download/eclemma-3.0.0.zip.sha256.txt new file mode 100644 index 00000000000..b4d15528d6b --- /dev/null +++ b/download/eclemma-3.0.0.zip.sha256.txt @@ -0,0 +1 @@ +952db9d1a367f1b98628ca9fd0e7132fc97b9daf697254954f9d0802b64159f8 eclemma-3.0.0.zip diff --git a/download/eclemma-3.0.1.zip.md5.txt b/download/eclemma-3.0.1.zip.md5.txt new file mode 100644 index 00000000000..d8ed78ef78f --- /dev/null +++ b/download/eclemma-3.0.1.zip.md5.txt @@ -0,0 +1 @@ +70a3a0bcf52fb2988f6a23ae84960716 eclemma-3.0.1.zip diff --git a/download/eclemma-3.0.1.zip.sha256.txt b/download/eclemma-3.0.1.zip.sha256.txt new file mode 100644 index 00000000000..345a3e4a2e2 --- /dev/null +++ b/download/eclemma-3.0.1.zip.sha256.txt @@ -0,0 +1 @@ +95b44c5113c5d532a4dfb29758d707d619960a71a055dfba8203637ef93f9ffb eclemma-3.0.1.zip diff --git a/download/eclemma-3.1.0.zip.md5.txt b/download/eclemma-3.1.0.zip.md5.txt new file mode 100644 index 00000000000..ec7bcb67f46 --- /dev/null +++ b/download/eclemma-3.1.0.zip.md5.txt @@ -0,0 +1 @@ +c95607747b8bd7a6788a80d8c945e828 eclemma-3.1.0.zip diff --git a/download/eclemma-3.1.0.zip.sha256.txt b/download/eclemma-3.1.0.zip.sha256.txt new file mode 100644 index 00000000000..4af35bb1d9e --- /dev/null +++ b/download/eclemma-3.1.0.zip.sha256.txt @@ -0,0 +1 @@ +800784db88bf06c5ac39617d90ebb4b3c37a5299f44349de0a4edca6f03be1ce eclemma-3.1.0.zip diff --git a/download/eclemma-3.1.1.zip.md5.txt b/download/eclemma-3.1.1.zip.md5.txt new file mode 100644 index 00000000000..71e4fb22d30 --- /dev/null +++ b/download/eclemma-3.1.1.zip.md5.txt @@ -0,0 +1 @@ +246270d3d3d8021989e127441b704b47 eclemma-3.1.1.zip diff --git a/download/eclemma-3.1.1.zip.sha256.txt b/download/eclemma-3.1.1.zip.sha256.txt new file mode 100644 index 00000000000..907639695ce --- /dev/null +++ b/download/eclemma-3.1.1.zip.sha256.txt @@ -0,0 +1 @@ +de950964e6434b13cdb41a37b7ccd4330a50fcd20b5bfe0c7537f58c1c594700 eclemma-3.1.1.zip diff --git a/download/eclemma-3.1.2.zip.md5.txt b/download/eclemma-3.1.2.zip.md5.txt new file mode 100644 index 00000000000..aa0b03c5ab7 --- /dev/null +++ b/download/eclemma-3.1.2.zip.md5.txt @@ -0,0 +1 @@ +7de92bd358c430e58473b33fd281bde6 eclemma-3.1.2.zip diff --git a/download/eclemma-3.1.2.zip.sha256.txt b/download/eclemma-3.1.2.zip.sha256.txt new file mode 100644 index 00000000000..15a8bc94e64 --- /dev/null +++ b/download/eclemma-3.1.2.zip.sha256.txt @@ -0,0 +1 @@ +52a45874ef4734904bd3e162608b7bf964b52916870aef56479e2bbe82c01b94 eclemma-3.1.2.zip diff --git a/download/eclemma-3.1.3.zip.md5.txt b/download/eclemma-3.1.3.zip.md5.txt new file mode 100644 index 00000000000..7d88c32074f --- /dev/null +++ b/download/eclemma-3.1.3.zip.md5.txt @@ -0,0 +1 @@ +2b1a00ae3b6b087262624fdc8028a096 eclemma-3.1.3.zip diff --git a/download/eclemma-3.1.3.zip.sha256.txt b/download/eclemma-3.1.3.zip.sha256.txt new file mode 100644 index 00000000000..76d1e5410e6 --- /dev/null +++ b/download/eclemma-3.1.3.zip.sha256.txt @@ -0,0 +1 @@ +5b04b9ac251274386c11cb4a8fb0558c5a685c7269341c4657f8d0280bbc30d8 eclemma-3.1.3.zip diff --git a/download/eclemma-3.1.4.zip.md5.txt b/download/eclemma-3.1.4.zip.md5.txt new file mode 100644 index 00000000000..4aebcb49784 --- /dev/null +++ b/download/eclemma-3.1.4.zip.md5.txt @@ -0,0 +1 @@ +32f039c6eb983bad27a3db5f750c0f29 eclemma-3.1.4.zip diff --git a/download/eclemma-3.1.4.zip.sha256.txt b/download/eclemma-3.1.4.zip.sha256.txt new file mode 100644 index 00000000000..77ffd8b7490 --- /dev/null +++ b/download/eclemma-3.1.4.zip.sha256.txt @@ -0,0 +1 @@ +3dd6cc13a54117f9ae35a1e4e0c37394343cd4b702ba87162e01bcdaae89e5c2 eclemma-3.1.4.zip diff --git a/download/eclemma-3.1.5.zip.md5.txt b/download/eclemma-3.1.5.zip.md5.txt new file mode 100644 index 00000000000..bbb8c212e73 --- /dev/null +++ b/download/eclemma-3.1.5.zip.md5.txt @@ -0,0 +1 @@ +484fda0ba1e49dbc674182c29a597507 eclemma-3.1.5.zip diff --git a/download/eclemma-3.1.5.zip.sha256.txt b/download/eclemma-3.1.5.zip.sha256.txt new file mode 100644 index 00000000000..fc05821a314 --- /dev/null +++ b/download/eclemma-3.1.5.zip.sha256.txt @@ -0,0 +1 @@ +90984c2058a6a66c6aa35302de1585ed70c88326153cb810c5f7fb035ebb8eb3 eclemma-3.1.5.zip diff --git a/download/eclemma-3.1.6.zip.md5.txt b/download/eclemma-3.1.6.zip.md5.txt new file mode 100644 index 00000000000..88021c4b44f --- /dev/null +++ b/download/eclemma-3.1.6.zip.md5.txt @@ -0,0 +1 @@ +653e2d78f07c39e5cebb3df8a7b86523 eclemma-3.1.6.zip diff --git a/download/eclemma-3.1.6.zip.sha256.txt b/download/eclemma-3.1.6.zip.sha256.txt new file mode 100644 index 00000000000..070fc84850e --- /dev/null +++ b/download/eclemma-3.1.6.zip.sha256.txt @@ -0,0 +1 @@ +9c8928182d2634e4d0c0e85bf05799e4f2e0ba9b448b690d3f5363d58e3a4725 eclemma-3.1.6.zip diff --git a/download/eclemma-3.1.7.zip.md5.txt b/download/eclemma-3.1.7.zip.md5.txt new file mode 100644 index 00000000000..9e4c0be7b80 --- /dev/null +++ b/download/eclemma-3.1.7.zip.md5.txt @@ -0,0 +1 @@ +66f3b2c8586e79b06fd11210db70204a eclemma-3.1.7.zip diff --git a/download/eclemma-3.1.7.zip.sha256.txt b/download/eclemma-3.1.7.zip.sha256.txt new file mode 100644 index 00000000000..4dbfcf678d1 --- /dev/null +++ b/download/eclemma-3.1.7.zip.sha256.txt @@ -0,0 +1 @@ +9ac55c7558ece8ce19f7fc309789a46f027056ec46358224d404ddcbeaba79f4 eclemma-3.1.7.zip diff --git a/download/eclemma-3.1.8.zip.md5.txt b/download/eclemma-3.1.8.zip.md5.txt new file mode 100644 index 00000000000..6b85c7cc0dd --- /dev/null +++ b/download/eclemma-3.1.8.zip.md5.txt @@ -0,0 +1 @@ +05a0c6d51e1f05318b7f58ffa70b2a37 eclemma-3.1.8.zip diff --git a/download/eclemma-3.1.8.zip.sha256.txt b/download/eclemma-3.1.8.zip.sha256.txt new file mode 100644 index 00000000000..1f2f6668b4a --- /dev/null +++ b/download/eclemma-3.1.8.zip.sha256.txt @@ -0,0 +1 @@ +44fa0da274a1af88f63aced07bc184151f4bc81f685fea2273b6ad3037764aad eclemma-3.1.8.zip diff --git a/faq.html b/faq.html new file mode 100644 index 00000000000..522ccb5a28a --- /dev/null +++ b/faq.html @@ -0,0 +1,200 @@ + + + + + + + + EclEmma - FAQ + + + + + + + + + +
+ EclEmma 3.1.8 + + Java Code Coverage for Eclipse + + + Drag to your running Eclipse workspace to install EclEmma Java Code Coverage + +
+ + + + + + + + + + + + + +
+ Eclipse Community Award 2008 +
+
+ JaCoCo +
+
+ Inspected with sonarqube +
+
+ jobs at mtrail +
+
+ The Java Specialists' Newsletter +
+
+

Frequently Asked Questions

Usage

Troubleshooting

Usage

How can I remove the coverage coloring from the Java editors again?

+ If you remove the coverage session, also the coverage coloring will disappear. + For this, hit Remove Session or Remove All Sessions in the + Coverage view's toolbar. +

How can I run {whateverapplication} with EclEmma?

+ EclEmma is designed for Java programs launched within Eclipse. Java + applications that run in a different environment may be directly analyzed with + JaCoCo using for + example the Ant or Maven integrations. There are different supported launch + types, other plug-ins may define additional launch types which are not + supported by EclEmma. Check user documentation for currently supported launch types. +

Does EclEmma support automated Ant or Maven builds?

+ EclEmma is a Eclipse integration of the + JaCoCo code + coverage tool. JaCoCo comes with a set of + Ant tasks + and Maven goals + for automated builds. +

How do I change the source code highlighting?

+ The source code highlighting can be changed in the Eclipse Preference + dialog at General → Appearance → Editors → Text Editors + → Annotations. You can modify the highlighting style and color or use + the vertical rulers instead. +

Do I need source code to use EclEmma?

+ No, you can also get coverage information for e.g. third-party JARs. Just + make them part of your class path settings in Eclipse and select them on the + Coverage tab in the coverage launch dialog. If the library was compiled + with debug information, line coverage will be shown in the + Coverage view. In case the source is properly attached to the library + syntax highlighting will happen in the editors the same way as with you source + code. +

Why is this line yellow?

+ EclEmma annotates all lines which are partly covered in yellow. Partly covered + means that not all instructions and branches associated with this line have + been executed during the coverage session. In some cases it is not obvious why + the Java compiler creates extra byte code for a particular line of source code. + Such situations might be filtered by future versions of JaCoCo and EclEmma. +

How can I exclude test classes from analysis?

+ The analysis scope for coverage sessions can be defined in the + Coverage launch dialog on source folder (or library) granularity. As + test code is typically kept in separate source folders or projects this allows + to exclude your test classes from coverage analysis. +

Troubleshooting

Why do I get the error message "No coverage data has been collected during this coverage session"?

+ This happens when the Java process did not terminate properly, e.g. has been + manually killed with the Terminate button. Make sure your Java program + terminates on its own. Alternatively you can dump coverage data for the + running process before you terminate it. For this select the button Dump + Execution Data from the Coverage view's toolbar. +

+

Source code lines with exceptions show no coverage. Why?

+ The underlying JaCoCo code coverage library determines code execution with so + called probes. Probes are inserted into the control flow at certain positions. + Code is considered as executed when a subsequent probe has been executed. In + case of exceptions such a sequence of instructions is aborted somewhere in the + middle and the corresponding line of source code is not marked as covered. +

My application does not run with EclEmma!

+ Does your application properly execute within Eclipse in normal run + mode? Please verify! If not, your app will most likely not execute in + coverage mode either. In this case first create a proper launch + configuration in Eclipse; then execute in coverage mode. +

My Eclipse workbench window has no toolbar button for coverage launches!

+ Even if EclEmma is installed properly, it will show its action sets only in + some predefined perspectives related to Java tasks. If you want to use the + coverage toolbar in other perspectives like Resource select + Customize Perspective... from the toolbar's context menu and check the + Java Code Coverage option on the Command Groups Availability tab. +

Why are JUnit4 test cases with expected exceptions shown as not covered?

+ JUnit4 test cases with expected exceptions are shown as not covered even + though they were executed. The reason for this is that underlying JaCoCo code + coverage library only considers code as executed when certain probes are + executed. For successful test cases marked with @Test{expected=...} + this is not the case. See also "Source code lines with + exceptions show no coverage. Why?". +

The Coverage view stays empty and there is no source highlighting. Why?

+ In Eclipse preferences there is an option Launch in debug mode when + workspace contains breakpoints under Run/Debug → + Launching. If this option is enabled and there are breakpoints in your + workspace coverage mode will not work, because it is automatically + replaced with debug mode. Set this option to Never if you want + to run code coverage analysis. +

+
+ + + + + +
+ + + \ No newline at end of file diff --git a/favicon.ico b/favicon.ico new file mode 100644 index 00000000000..990c3fc872b Binary files /dev/null and b/favicon.ico differ diff --git a/images/award.jpg b/images/award.jpg new file mode 100644 index 00000000000..92b582e7c84 Binary files /dev/null and b/images/award.jpg differ diff --git a/images/class.jpg b/images/class.jpg new file mode 100644 index 00000000000..3bf02065cc9 Binary files /dev/null and b/images/class.jpg differ diff --git a/images/container.gif b/images/container.gif new file mode 100644 index 00000000000..391cfdb961a Binary files /dev/null and b/images/container.gif differ diff --git a/images/eclemma110_80.gif b/images/eclemma110_80.gif new file mode 100644 index 00000000000..36521490157 Binary files /dev/null and b/images/eclemma110_80.gif differ diff --git a/images/extern.gif b/images/extern.gif new file mode 100644 index 00000000000..eb481c01fee Binary files /dev/null and b/images/extern.gif differ diff --git a/images/friendslogo.jpg b/images/friendslogo.jpg new file mode 100644 index 00000000000..d126331c5c7 Binary files /dev/null and b/images/friendslogo.jpg differ diff --git a/images/glass.gif b/images/glass.gif new file mode 100644 index 00000000000..044a679197e Binary files /dev/null and b/images/glass.gif differ diff --git a/images/info.gif b/images/info.gif new file mode 100644 index 00000000000..b484d9be1e9 Binary files /dev/null and b/images/info.gif differ diff --git a/images/install.png b/images/install.png new file mode 100644 index 00000000000..c9c91af2eec Binary files /dev/null and b/images/install.png differ diff --git a/images/jacoco.png b/images/jacoco.png new file mode 100644 index 00000000000..6a307bfab8d Binary files /dev/null and b/images/jacoco.png differ diff --git a/images/jacocoreport.png b/images/jacocoreport.png new file mode 100644 index 00000000000..0f39f76a536 Binary files /dev/null and b/images/jacocoreport.png differ diff --git a/images/mtrail.png b/images/mtrail.png new file mode 100644 index 00000000000..f57be73f5a4 Binary files /dev/null and b/images/mtrail.png differ diff --git a/images/ok.gif b/images/ok.gif new file mode 100644 index 00000000000..9f027c58025 Binary files /dev/null and b/images/ok.gif differ diff --git a/images/progress.gif b/images/progress.gif new file mode 100644 index 00000000000..bb7a15fffa6 Binary files /dev/null and b/images/progress.gif differ diff --git a/images/screen.png b/images/screen.png new file mode 100644 index 00000000000..ec214f48484 Binary files /dev/null and b/images/screen.png differ diff --git a/images/smallscreen.gif b/images/smallscreen.gif new file mode 100644 index 00000000000..50f28e91e27 Binary files /dev/null and b/images/smallscreen.gif differ diff --git a/images/sonarqube.png b/images/sonarqube.png new file mode 100644 index 00000000000..7f1413631d4 Binary files /dev/null and b/images/sonarqube.png differ diff --git a/images/tjsn.jpg b/images/tjsn.jpg new file mode 100644 index 00000000000..163341ac58d Binary files /dev/null and b/images/tjsn.jpg differ diff --git a/images/topic.gif b/images/topic.gif new file mode 100644 index 00000000000..fbd1394cc1a Binary files /dev/null and b/images/topic.gif differ diff --git a/images/warning.gif b/images/warning.gif new file mode 100644 index 00000000000..2f1c5a8fa7b Binary files /dev/null and b/images/warning.gif differ diff --git a/index.html b/index.html new file mode 100644 index 00000000000..0a104144fe7 --- /dev/null +++ b/index.html @@ -0,0 +1,187 @@ + + + + + + + + EclEmma - Java Code Coverage for Eclipse + + + + + + + + + +
+ EclEmma 3.1.8 + + Java Code Coverage for Eclipse + + + Drag to your running Eclipse workspace to install EclEmma Java Code Coverage + +
+ + + + + + + + + + + + +
+ Eclipse Community Award 2008 +
+
+ JaCoCo +
+
+ Inspected with sonarqube +
+
+ jobs at mtrail +
+
+ The Java Specialists' Newsletter +
+
+

Overview

+ Screenshot +

+ EclEmma is a free Java code coverage tool for + Eclipse, available under the + Eclipse Public License. It brings + code coverage analysis directly into the Eclipse workbench: +

    +
  • Fast develop/test cycle: Launches from within the workbench like + JUnit test runs can directly be analyzed for code coverage.
  • +
  • Rich coverage analysis: Coverage results are immediately summarized + and highlighted in the Java source code editors.
  • +
  • Non-invasive: EclEmma does not require modifying your projects or + performing any other setup.
  • +

+ Since version 2.0 EclEmma is based on the + JaCoCo code + coverage library. The Eclipse integration has its focus on supporting the + individual developer in an highly interactive way. For automated builds please + refer to JaCoCo + documentation for + integrations + with other tools. +

+ Originally EclEmma was inspired by and + technically based on the great + EMMA library + developed by Vlad Roubtsov. +

+ The update site for EclEmma is + https://update.eclemma.org/. EclEmma is also available via the Eclipse + Marketplace Client, + simply search for "EclEmma". +

Features

Launching

+ EclEmma adds a so called launch mode to the Eclipse workbench. It is + called Coverage mode and works exactly like the existing Run and + Debug modes. The Coverage launch mode can be activated from the + Run menu or the workbench's toolbar: +

+ Launching Toolbar +

+ Simply launch your applications or unit + tests in the Coverage mode to collect coverage information. Currently + the following launch types are supported: +

    +
  • Local Java application
  • +
  • Eclipse/RCP application
  • +
  • Equinox OSGi framework
  • +
  • JUnit test
  • +
  • TestNG test
  • +
  • JUnit plug-in test
  • +
  • JUnit RAP test
  • +
  • SWTBot test
  • +
  • Scala application
  • +

Analysis

+ On request or after your target application has terminated code coverage + information is automatically available in the Eclipse workbench: +

    +
  • Coverage overview: The + Coverage view lists coverage + summaries for your Java projects, allowing drill-down to method level.
  • +
  • Source highlighting: The result of a coverage session is also + directly visible in the Java source editors. A customizable + color code highlights fully, partly and + not covered lines. This works for your own source code as well as for source + attached to instrumented external libraries.
  • +

+ Additional features support analysis for your test coverage: +

    +
  • Different counters: Select whether instructions, branches, lines, + methods, types or cyclomatic complexity should be summarized.
  • +
  • Multiple coverage sessions: Switching between coverage data from + multiple sessions is possible.
  • +
  • Merge Sessions: If multiple different test runs should be considered + for analysis coverage sessions can easily be merged.
  • +

Import/Export

+ While EclEmma is primarily designed for test runs and analysis within the + Eclipse workbench, it provides some import/export features. +

    +
  • Execution data import: A wizard allows to + import JaCoCo *.exec + execution data files from external launches.
  • +
  • Coverage report export: Coverage data can be + exported in HTML, XML or CSV format or + as JaCoCo execution data files (*.exec).
  • +
+
+ + + + + +
+ + + \ No newline at end of file diff --git a/installation.html b/installation.html new file mode 100644 index 00000000000..c9c4f603c8a --- /dev/null +++ b/installation.html @@ -0,0 +1,171 @@ + + + + + + + + EclEmma - Installation + + + + + + + + + +
+ EclEmma 3.1.8 + + Java Code Coverage for Eclipse + + + Drag to your running Eclipse workspace to install EclEmma Java Code Coverage + +
+ + + + + + + + + + + + + + +
+ Eclipse Community Award 2008 +
+
+ JaCoCo +
+
+ Inspected with sonarqube +
+
+ jobs at mtrail +
+
+ The Java Specialists' Newsletter +
+
+

Installation

+ EclEmma ships as a small set of Eclipse plug-ins under the + Eclipse Public License. The overall size of the + seven plug-ins is about 1 MByte. Like for all standard Eclipse plug-ins there + are different installation options. Using the marketplace or update site is + the recommended procedure. +

Prerequisites

+ EclEmma requires Eclipse 3.8 or higher and Java 1.5 or higher. + It has no dependencies on a particular operating system. Of course your + Eclipse installation needs to contain the Java development tools (JDT) which + is included in the default SDK installation. +

Option 1: Install from Eclipse Marketplace Client

+ + Drag to your running Eclipse workspace to install EclEmma Java Code Coverage + +

+ Since Eclipse 3.6 the + Eclipse Marketplace Client + allows direct installation of EclEmma from within Eclipse. Follow the steps + below or drag and drop the button above into a running Indigo workspace. +

+ 1. From your Eclipse menu select HelpEclipse Marketplace. +

+ 2. Search for "EclEmma". +

+ 3. Hit Install for the entry "EclEmma Java Code Coverage". +

+ 4. Follow the steps in the installation wizard. +

Option 2: Installation from Update Site

+ The update site for EclEmma is https://update.eclemma.org/. Perform the + following steps to install EclEmma from the update site: +

+ 1. From your Eclipse menu select HelpInstall New Software... +

+ 2. In the Install dialog enter https://update.eclemma.org/ at the + Work with field. +

+ Install Dialog +

+ 3. Check the latest EclEmma version and press Next +

+ 4. Follow the steps in the installation wizard. +

Option 3: Manual Download and Installation

+ For manual installation please download the latest + EclEmma release. Unzip the archive into dropins folder of your + Eclipse installation and restart Eclipse: +

+<your eclipse installation>/
++- dropins/
+   +- eclemma-x.y.z/
+      +- plugins/
+      |  +- ...
+      +- feature/
+         +- ...
+

Verification

+ The installation was successful if you can see the coverage launcher in the + toolbar of the Java perspective: +

+ Launching Toolbar +

+
+ + + + + +
+ + + \ No newline at end of file diff --git a/installation1x.html b/installation1x.html new file mode 100644 index 00000000000..b4e3bb16f01 --- /dev/null +++ b/installation1x.html @@ -0,0 +1,141 @@ + + + + + + + + EclEmma - Installation + + + + + + + + + +
+ EclEmma 3.1.8 + + Java Code Coverage for Eclipse + + + Drag to your running Eclipse workspace to install EclEmma Java Code Coverage + +
+ + + + + + + + + + + + + + +
+ Eclipse Community Award 2008 +
+
+ JaCoCo +
+
+ Inspected with sonarqube +
+
+ jobs at mtrail +
+
+ The Java Specialists' Newsletter +
+
+

Installation of EclEmma 1.x

+ Originally EclEmma was inspired by and technically based on the great + EMMA library + developed by Vlad Roubtsov. In case you explicitly need the EMMA backend you + can manually install a old EclEmma 1.x version. +

+ The EMMA based 1.x stream is maintained on a best effort base only and no + functional enhancements are planned for it. If you have specific requirements + currently only fulfilled by the EMMA version of EclEmma please + request this functionality for the new + JaCoCo backend. +

Prerequisites

+ EclEmma 1.x requires Eclipse 3.1 or higher and Java 1.4 or + higher. It has no dependencies on a particular operating system. Of course + your Eclipse installation needs to contain the Java development tools (JDT) + which is included in the default SDK installation. +

Manual Download and Installation

+ For manual installation please download the latest + EclEmma 1.x release. The downloaded archive contains these files: +

    +
  • features/com.mountainminds.eclemma.feature_x.y.z/*  - EclEmma feature definition
  • +
  • plugins/com.mountainminds.eclemma.core_x.y.z.jar    - Core implementation
  • +
  • plugins/com.mountainminds.eclemma.ui_x.y.z.jar      - User interface
  • +
  • plugins/com.mountainminds.eclemma.doc_x.y.z.jar     - Online help
  • +

+ Simply unzip the archive into your Eclipse installation and restart Eclipse. + Since Eclipse 3.4 the dropins folder is the right place for + additional plug-ins. +

Verification

+ The installation was successful if you can see the coverage launcher in the + toolbar of the Java perspective: +

+ Launching Toolbar +

+
+ + + + + +
+ + + \ No newline at end of file diff --git a/jacoco/download/jacoco-0.1.0.20091028042923.zip.md5.txt b/jacoco/download/jacoco-0.1.0.20091028042923.zip.md5.txt new file mode 100644 index 00000000000..ff2d7af8809 --- /dev/null +++ b/jacoco/download/jacoco-0.1.0.20091028042923.zip.md5.txt @@ -0,0 +1 @@ +0a45a0e81165a233fde01fd929a75daf jacoco-0.1.0.20091028042923.zip diff --git a/jacoco/download/jacoco-0.1.0.20091028042923.zip.sha256.txt b/jacoco/download/jacoco-0.1.0.20091028042923.zip.sha256.txt new file mode 100644 index 00000000000..7479f0cbf4d --- /dev/null +++ b/jacoco/download/jacoco-0.1.0.20091028042923.zip.sha256.txt @@ -0,0 +1 @@ +a83c2e124b5c0bb27aa1b1f962c3eb5c8f8899dba5694109441eabd3a5048f63 jacoco-0.1.0.20091028042923.zip diff --git a/jacoco/download/jacoco-0.2.0.20100108061321.zip.md5.txt b/jacoco/download/jacoco-0.2.0.20100108061321.zip.md5.txt new file mode 100644 index 00000000000..c9f4732a05f --- /dev/null +++ b/jacoco/download/jacoco-0.2.0.20100108061321.zip.md5.txt @@ -0,0 +1 @@ +e2d18c7df9dd97b318be7459ae27c962 jacoco-0.2.0.20100108061321.zip diff --git a/jacoco/download/jacoco-0.2.0.20100108061321.zip.sha256.txt b/jacoco/download/jacoco-0.2.0.20100108061321.zip.sha256.txt new file mode 100644 index 00000000000..713e5a5b48f --- /dev/null +++ b/jacoco/download/jacoco-0.2.0.20100108061321.zip.sha256.txt @@ -0,0 +1 @@ +85811631134cc59f6661aabd579a93c94ef5ec7df8cd37ae72419debc96fd3ed jacoco-0.2.0.20100108061321.zip diff --git a/jacoco/download/jacoco-0.3.0.20100202223831.zip.md5.txt b/jacoco/download/jacoco-0.3.0.20100202223831.zip.md5.txt new file mode 100644 index 00000000000..74b24f8ee0c --- /dev/null +++ b/jacoco/download/jacoco-0.3.0.20100202223831.zip.md5.txt @@ -0,0 +1 @@ +ff02f4352a53a60df003ed85d098621b jacoco-0.3.0.20100202223831.zip diff --git a/jacoco/download/jacoco-0.3.0.20100202223831.zip.sha256.txt b/jacoco/download/jacoco-0.3.0.20100202223831.zip.sha256.txt new file mode 100644 index 00000000000..30392c8fd3a --- /dev/null +++ b/jacoco/download/jacoco-0.3.0.20100202223831.zip.sha256.txt @@ -0,0 +1 @@ +96e04d199481836fbfd8ffaf95f8257ce46751965b936d9630823d04be145a66 jacoco-0.3.0.20100202223831.zip diff --git a/jacoco/download/jacoco-0.3.1.20100209212101.zip.md5.txt b/jacoco/download/jacoco-0.3.1.20100209212101.zip.md5.txt new file mode 100644 index 00000000000..3778a6ea151 --- /dev/null +++ b/jacoco/download/jacoco-0.3.1.20100209212101.zip.md5.txt @@ -0,0 +1 @@ +82aa285f9e53c75d6e5b9c36f186468f jacoco-0.3.1.20100209212101.zip diff --git a/jacoco/download/jacoco-0.3.1.20100209212101.zip.sha256.txt b/jacoco/download/jacoco-0.3.1.20100209212101.zip.sha256.txt new file mode 100644 index 00000000000..6c0cdd85031 --- /dev/null +++ b/jacoco/download/jacoco-0.3.1.20100209212101.zip.sha256.txt @@ -0,0 +1 @@ +524114e7b0448571790d9cbaf372ca6834f9431a18bf4e8a752ef7da65f3019f jacoco-0.3.1.20100209212101.zip diff --git a/jacoco/download/jacoco-0.3.2.20100401180959.zip.md5.txt b/jacoco/download/jacoco-0.3.2.20100401180959.zip.md5.txt new file mode 100644 index 00000000000..ec7a80ffb81 --- /dev/null +++ b/jacoco/download/jacoco-0.3.2.20100401180959.zip.md5.txt @@ -0,0 +1 @@ +796ed6a6c0f31a44c0c93fd8a7ab3688 jacoco-0.3.2.20100401180959.zip diff --git a/jacoco/download/jacoco-0.3.2.20100401180959.zip.sha256.txt b/jacoco/download/jacoco-0.3.2.20100401180959.zip.sha256.txt new file mode 100644 index 00000000000..30ad380b752 --- /dev/null +++ b/jacoco/download/jacoco-0.3.2.20100401180959.zip.sha256.txt @@ -0,0 +1 @@ +1495696755456651e7e0f5f244e0141264b50bd6bb8131be402ce6a3d99fca0c jacoco-0.3.2.20100401180959.zip diff --git a/jacoco/download/jacoco-0.3.3.20100419191644.zip.md5.txt b/jacoco/download/jacoco-0.3.3.20100419191644.zip.md5.txt new file mode 100644 index 00000000000..4fe5dc5badd --- /dev/null +++ b/jacoco/download/jacoco-0.3.3.20100419191644.zip.md5.txt @@ -0,0 +1 @@ +2c582582c478fdfb62702edbd523ea37 jacoco-0.3.3.20100419191644.zip diff --git a/jacoco/download/jacoco-0.3.3.20100419191644.zip.sha256.txt b/jacoco/download/jacoco-0.3.3.20100419191644.zip.sha256.txt new file mode 100644 index 00000000000..53f4e6af522 --- /dev/null +++ b/jacoco/download/jacoco-0.3.3.20100419191644.zip.sha256.txt @@ -0,0 +1 @@ +4105e16b42ed1cc14d18c3405b3a021e91e530b029ca1ffc2ff9dd5948923d37 jacoco-0.3.3.20100419191644.zip diff --git a/jacoco/download/jacoco-0.4.0.20100604151516.zip.md5.txt b/jacoco/download/jacoco-0.4.0.20100604151516.zip.md5.txt new file mode 100644 index 00000000000..65b8e2750d8 --- /dev/null +++ b/jacoco/download/jacoco-0.4.0.20100604151516.zip.md5.txt @@ -0,0 +1 @@ +e3bd69900d773fd5f100bb02cf50f698 jacoco-0.4.0.20100604151516.zip diff --git a/jacoco/download/jacoco-0.4.0.20100604151516.zip.sha256.txt b/jacoco/download/jacoco-0.4.0.20100604151516.zip.sha256.txt new file mode 100644 index 00000000000..29f758193e7 --- /dev/null +++ b/jacoco/download/jacoco-0.4.0.20100604151516.zip.sha256.txt @@ -0,0 +1 @@ +aa33eaa3155c12b556d3210ec03694276b3e6d28ec57e47418b17ad13127e114 jacoco-0.4.0.20100604151516.zip diff --git a/jacoco/download/jacoco-0.4.1.20101007204400.zip.md5.txt b/jacoco/download/jacoco-0.4.1.20101007204400.zip.md5.txt new file mode 100644 index 00000000000..f5329f9aec8 --- /dev/null +++ b/jacoco/download/jacoco-0.4.1.20101007204400.zip.md5.txt @@ -0,0 +1 @@ +d5cce91ee67ecf33a2d5542e8997ec50 jacoco-0.4.1.20101007204400.zip diff --git a/jacoco/download/jacoco-0.4.1.20101007204400.zip.sha256.txt b/jacoco/download/jacoco-0.4.1.20101007204400.zip.sha256.txt new file mode 100644 index 00000000000..b19204f5541 --- /dev/null +++ b/jacoco/download/jacoco-0.4.1.20101007204400.zip.sha256.txt @@ -0,0 +1 @@ +7e13858ce851911271bc4d808de95e09a465bd876b2abbd268431de752020ee3 jacoco-0.4.1.20101007204400.zip diff --git a/jacoco/download/jacoco-0.5.0.20110119215959.zip.md5.txt b/jacoco/download/jacoco-0.5.0.20110119215959.zip.md5.txt new file mode 100644 index 00000000000..2dfc2351452 --- /dev/null +++ b/jacoco/download/jacoco-0.5.0.20110119215959.zip.md5.txt @@ -0,0 +1 @@ +e2efc8ef84a26e5a7c52e7c929736545 jacoco-0.5.0.20110119215959.zip diff --git a/jacoco/download/jacoco-0.5.0.20110119215959.zip.sha256.txt b/jacoco/download/jacoco-0.5.0.20110119215959.zip.sha256.txt new file mode 100644 index 00000000000..33b53eda107 --- /dev/null +++ b/jacoco/download/jacoco-0.5.0.20110119215959.zip.sha256.txt @@ -0,0 +1 @@ +b33aae67ec656d4e36db0e3a73f1fe8ac0ba79021bd18371441964e86e169b8c jacoco-0.5.0.20110119215959.zip diff --git a/jacoco/download/jacoco-0.5.1.20110321224001.zip.md5.txt b/jacoco/download/jacoco-0.5.1.20110321224001.zip.md5.txt new file mode 100644 index 00000000000..050c90f6c62 --- /dev/null +++ b/jacoco/download/jacoco-0.5.1.20110321224001.zip.md5.txt @@ -0,0 +1 @@ +6b3db1097dde887411bd5fd40e3eeb83 jacoco-0.5.1.20110321224001.zip diff --git a/jacoco/download/jacoco-0.5.1.20110321224001.zip.sha256.txt b/jacoco/download/jacoco-0.5.1.20110321224001.zip.sha256.txt new file mode 100644 index 00000000000..521e0165a51 --- /dev/null +++ b/jacoco/download/jacoco-0.5.1.20110321224001.zip.sha256.txt @@ -0,0 +1 @@ +f5dbea8a1923cda26722acf7b69ef5bc14615bf3939d11b9a602591986ee29fa jacoco-0.5.1.20110321224001.zip diff --git a/jacoco/download/jacoco-0.5.10.201208310627.zip.md5.txt b/jacoco/download/jacoco-0.5.10.201208310627.zip.md5.txt new file mode 100644 index 00000000000..e3fcc2cfe12 --- /dev/null +++ b/jacoco/download/jacoco-0.5.10.201208310627.zip.md5.txt @@ -0,0 +1 @@ +cca93d076cbe6d96c0e0d85f32a42430 jacoco-0.5.10.201208310627.zip diff --git a/jacoco/download/jacoco-0.5.10.201208310627.zip.sha256.txt b/jacoco/download/jacoco-0.5.10.201208310627.zip.sha256.txt new file mode 100644 index 00000000000..7956228f52f --- /dev/null +++ b/jacoco/download/jacoco-0.5.10.201208310627.zip.sha256.txt @@ -0,0 +1 @@ +30f87d4d932a425d73c8e5c057bb43abc55d73e572dfefbb72cea9e31761d007 jacoco-0.5.10.201208310627.zip diff --git a/jacoco/download/jacoco-0.5.2.20110519202509.zip.md5.txt b/jacoco/download/jacoco-0.5.2.20110519202509.zip.md5.txt new file mode 100644 index 00000000000..924f83c47b2 --- /dev/null +++ b/jacoco/download/jacoco-0.5.2.20110519202509.zip.md5.txt @@ -0,0 +1 @@ +47cecdccd4a6126c40817dd57e26edb2 jacoco-0.5.2.20110519202509.zip diff --git a/jacoco/download/jacoco-0.5.2.20110519202509.zip.sha256.txt b/jacoco/download/jacoco-0.5.2.20110519202509.zip.sha256.txt new file mode 100644 index 00000000000..41b3e166b40 --- /dev/null +++ b/jacoco/download/jacoco-0.5.2.20110519202509.zip.sha256.txt @@ -0,0 +1 @@ +2ca6d47e2d9ed1467ddf9a40b243b281d0cc8f4f86de2984d0017879c3fec5a9 jacoco-0.5.2.20110519202509.zip diff --git a/jacoco/download/jacoco-0.5.3.201107060350.zip.md5.txt b/jacoco/download/jacoco-0.5.3.201107060350.zip.md5.txt new file mode 100644 index 00000000000..75731889d9b --- /dev/null +++ b/jacoco/download/jacoco-0.5.3.201107060350.zip.md5.txt @@ -0,0 +1 @@ +122b5b5d51b06979d1275f53ffe6f7ad jacoco-0.5.3.201107060350.zip diff --git a/jacoco/download/jacoco-0.5.3.201107060350.zip.sha256.txt b/jacoco/download/jacoco-0.5.3.201107060350.zip.sha256.txt new file mode 100644 index 00000000000..6b582667c36 --- /dev/null +++ b/jacoco/download/jacoco-0.5.3.201107060350.zip.sha256.txt @@ -0,0 +1 @@ +7cfad03c155d943efa64fd2ef57fa5a612683f3e2f3de19ebc37121a2cfb0811 jacoco-0.5.3.201107060350.zip diff --git a/jacoco/download/jacoco-0.5.4.201111111111.zip.md5.txt b/jacoco/download/jacoco-0.5.4.201111111111.zip.md5.txt new file mode 100644 index 00000000000..5f7897248b0 --- /dev/null +++ b/jacoco/download/jacoco-0.5.4.201111111111.zip.md5.txt @@ -0,0 +1 @@ +cdc77d6308093d2bd3bf73211d017f19 jacoco-0.5.4.201111111111.zip diff --git a/jacoco/download/jacoco-0.5.4.201111111111.zip.sha256.txt b/jacoco/download/jacoco-0.5.4.201111111111.zip.sha256.txt new file mode 100644 index 00000000000..d77adfe8059 --- /dev/null +++ b/jacoco/download/jacoco-0.5.4.201111111111.zip.sha256.txt @@ -0,0 +1 @@ +d791965e8c0997a559163bb8bfd6d3997ceb405fc0a997c70f1e3cf4e7a46fe6 jacoco-0.5.4.201111111111.zip diff --git a/jacoco/download/jacoco-0.5.5.201112152213.zip.md5.txt b/jacoco/download/jacoco-0.5.5.201112152213.zip.md5.txt new file mode 100644 index 00000000000..beb1deae32d --- /dev/null +++ b/jacoco/download/jacoco-0.5.5.201112152213.zip.md5.txt @@ -0,0 +1 @@ +a664f3a3605423436d3d0cce967b54f9 jacoco-0.5.5.201112152213.zip diff --git a/jacoco/download/jacoco-0.5.5.201112152213.zip.sha256.txt b/jacoco/download/jacoco-0.5.5.201112152213.zip.sha256.txt new file mode 100644 index 00000000000..9dbdeac7fe5 --- /dev/null +++ b/jacoco/download/jacoco-0.5.5.201112152213.zip.sha256.txt @@ -0,0 +1 @@ +58c996efd1894fa51e0641a654e2a17bb1f1c32c836a49c2197c09380b479d50 jacoco-0.5.5.201112152213.zip diff --git a/jacoco/download/jacoco-0.5.6.201201232323.zip.md5.txt b/jacoco/download/jacoco-0.5.6.201201232323.zip.md5.txt new file mode 100644 index 00000000000..439e246f47a --- /dev/null +++ b/jacoco/download/jacoco-0.5.6.201201232323.zip.md5.txt @@ -0,0 +1 @@ +8e86c55740c501c7f2c2fe93f75fe6f2 jacoco-0.5.6.201201232323.zip diff --git a/jacoco/download/jacoco-0.5.6.201201232323.zip.sha256.txt b/jacoco/download/jacoco-0.5.6.201201232323.zip.sha256.txt new file mode 100644 index 00000000000..6a0879c45da --- /dev/null +++ b/jacoco/download/jacoco-0.5.6.201201232323.zip.sha256.txt @@ -0,0 +1 @@ +42672643d55596c2ac2710bd0b67bbb393f832001a6c0694443d78981b673a51 jacoco-0.5.6.201201232323.zip diff --git a/jacoco/download/jacoco-0.5.7.201204190339.zip.md5.txt b/jacoco/download/jacoco-0.5.7.201204190339.zip.md5.txt new file mode 100644 index 00000000000..0fd4bce8d10 --- /dev/null +++ b/jacoco/download/jacoco-0.5.7.201204190339.zip.md5.txt @@ -0,0 +1 @@ +fe3859ae6f495e91c8429bbd0cd345bd jacoco-0.5.7.201204190339.zip diff --git a/jacoco/download/jacoco-0.5.7.201204190339.zip.sha256.txt b/jacoco/download/jacoco-0.5.7.201204190339.zip.sha256.txt new file mode 100644 index 00000000000..6206533b461 --- /dev/null +++ b/jacoco/download/jacoco-0.5.7.201204190339.zip.sha256.txt @@ -0,0 +1 @@ +0ae9b0138914afdf41818720961212ca60b3794a878a4744a560c8e0a60a6b66 jacoco-0.5.7.201204190339.zip diff --git a/jacoco/download/jacoco-0.5.8.201207111220.zip.md5.txt b/jacoco/download/jacoco-0.5.8.201207111220.zip.md5.txt new file mode 100644 index 00000000000..3d208fa92ca --- /dev/null +++ b/jacoco/download/jacoco-0.5.8.201207111220.zip.md5.txt @@ -0,0 +1 @@ +98378d6fdbcc4860c2ef975551a192fd jacoco-0.5.8.201207111220.zip diff --git a/jacoco/download/jacoco-0.5.8.201207111220.zip.sha256.txt b/jacoco/download/jacoco-0.5.8.201207111220.zip.sha256.txt new file mode 100644 index 00000000000..2573223b2cf --- /dev/null +++ b/jacoco/download/jacoco-0.5.8.201207111220.zip.sha256.txt @@ -0,0 +1 @@ +d83e007ff3e52e8fd874337210b7eb0348552da1890664a33ec29f7cb18d42c4 jacoco-0.5.8.201207111220.zip diff --git a/jacoco/download/jacoco-0.5.9.201207300726.zip.md5.txt b/jacoco/download/jacoco-0.5.9.201207300726.zip.md5.txt new file mode 100644 index 00000000000..34f12134129 --- /dev/null +++ b/jacoco/download/jacoco-0.5.9.201207300726.zip.md5.txt @@ -0,0 +1 @@ +78f629eea851c13abc301f8b68a9ad4c jacoco-0.5.9.201207300726.zip diff --git a/jacoco/download/jacoco-0.5.9.201207300726.zip.sha256.txt b/jacoco/download/jacoco-0.5.9.201207300726.zip.sha256.txt new file mode 100644 index 00000000000..d1cfe37e958 --- /dev/null +++ b/jacoco/download/jacoco-0.5.9.201207300726.zip.sha256.txt @@ -0,0 +1 @@ +9174c53df28d31b91ff41dc15e63615913d84b687f10532c8556f8511a6d17dd jacoco-0.5.9.201207300726.zip diff --git a/jacoco/download/jacoco-0.6.0.201210061924.zip.md5.txt b/jacoco/download/jacoco-0.6.0.201210061924.zip.md5.txt new file mode 100644 index 00000000000..3aa84546f85 --- /dev/null +++ b/jacoco/download/jacoco-0.6.0.201210061924.zip.md5.txt @@ -0,0 +1 @@ +b4cd9d8ec31b56697ab38fd4c075a20d jacoco-0.6.0.201210061924.zip diff --git a/jacoco/download/jacoco-0.6.0.201210061924.zip.sha256.txt b/jacoco/download/jacoco-0.6.0.201210061924.zip.sha256.txt new file mode 100644 index 00000000000..681a668cfa3 --- /dev/null +++ b/jacoco/download/jacoco-0.6.0.201210061924.zip.sha256.txt @@ -0,0 +1 @@ +5e0377c5f48ead48bd0f6ac7ae234a74e34c82f0951a816ed8d170534ff80e31 jacoco-0.6.0.201210061924.zip diff --git a/jacoco/download/jacoco-0.6.1.201212231917.zip.md5.txt b/jacoco/download/jacoco-0.6.1.201212231917.zip.md5.txt new file mode 100644 index 00000000000..2fc375ba2d8 --- /dev/null +++ b/jacoco/download/jacoco-0.6.1.201212231917.zip.md5.txt @@ -0,0 +1 @@ +1300b8a64628e30912fc94a93f5196cd jacoco-0.6.1.201212231917.zip diff --git a/jacoco/download/jacoco-0.6.1.201212231917.zip.sha256.txt b/jacoco/download/jacoco-0.6.1.201212231917.zip.sha256.txt new file mode 100644 index 00000000000..732b2618fdf --- /dev/null +++ b/jacoco/download/jacoco-0.6.1.201212231917.zip.sha256.txt @@ -0,0 +1 @@ +6232d4c5411e430afeb55f3d02b0d68e03a94d4f8101aa6ff9a772b358c15eef jacoco-0.6.1.201212231917.zip diff --git a/jacoco/download/jacoco-0.6.2.201302030002.zip.md5.txt b/jacoco/download/jacoco-0.6.2.201302030002.zip.md5.txt new file mode 100644 index 00000000000..e9b3d437f64 --- /dev/null +++ b/jacoco/download/jacoco-0.6.2.201302030002.zip.md5.txt @@ -0,0 +1 @@ +fd896f3ccd3a956af398055db6585ee5 jacoco-0.6.2.201302030002.zip diff --git a/jacoco/download/jacoco-0.6.2.201302030002.zip.sha256.txt b/jacoco/download/jacoco-0.6.2.201302030002.zip.sha256.txt new file mode 100644 index 00000000000..4656b5662d8 --- /dev/null +++ b/jacoco/download/jacoco-0.6.2.201302030002.zip.sha256.txt @@ -0,0 +1 @@ +d6df52cab9ae8db79ae5f62328b533c66ef8a049fea266f38efe6c9d30461da7 jacoco-0.6.2.201302030002.zip diff --git a/jacoco/download/jacoco-0.6.3.201306030806.zip.md5.txt b/jacoco/download/jacoco-0.6.3.201306030806.zip.md5.txt new file mode 100644 index 00000000000..8a49df3b57f --- /dev/null +++ b/jacoco/download/jacoco-0.6.3.201306030806.zip.md5.txt @@ -0,0 +1 @@ +b5fd1de305dd945981a630ee42b29ca2 jacoco-0.6.3.201306030806.zip diff --git a/jacoco/download/jacoco-0.6.3.201306030806.zip.sha256.txt b/jacoco/download/jacoco-0.6.3.201306030806.zip.sha256.txt new file mode 100644 index 00000000000..ade02714a77 --- /dev/null +++ b/jacoco/download/jacoco-0.6.3.201306030806.zip.sha256.txt @@ -0,0 +1 @@ +ac72dc9b998131054c9740294506206d22bfb2a3433e2f8010b742dd37de9d53 jacoco-0.6.3.201306030806.zip diff --git a/jacoco/download/jacoco-0.6.4.201312101107.zip.md5.txt b/jacoco/download/jacoco-0.6.4.201312101107.zip.md5.txt new file mode 100644 index 00000000000..06e3ff39564 --- /dev/null +++ b/jacoco/download/jacoco-0.6.4.201312101107.zip.md5.txt @@ -0,0 +1 @@ +7dd7cd3d3823335893cc89f6d9373e98 jacoco-0.6.4.201312101107.zip diff --git a/jacoco/download/jacoco-0.6.4.201312101107.zip.sha256.txt b/jacoco/download/jacoco-0.6.4.201312101107.zip.sha256.txt new file mode 100644 index 00000000000..7910a4b9aee --- /dev/null +++ b/jacoco/download/jacoco-0.6.4.201312101107.zip.sha256.txt @@ -0,0 +1 @@ +fd91f4afa5622a78be809a26051f9b2ba3cb7408bb4bd49886a1db4f3232830f jacoco-0.6.4.201312101107.zip diff --git a/jacoco/download/jacoco-0.6.5.201403032054.zip.md5.txt b/jacoco/download/jacoco-0.6.5.201403032054.zip.md5.txt new file mode 100644 index 00000000000..1ab2e89b964 --- /dev/null +++ b/jacoco/download/jacoco-0.6.5.201403032054.zip.md5.txt @@ -0,0 +1 @@ +deaa9e4a4c65ae7e385c3459a050dc79 jacoco-0.6.5.201403032054.zip diff --git a/jacoco/download/jacoco-0.6.5.201403032054.zip.sha256.txt b/jacoco/download/jacoco-0.6.5.201403032054.zip.sha256.txt new file mode 100644 index 00000000000..3b9600ca955 --- /dev/null +++ b/jacoco/download/jacoco-0.6.5.201403032054.zip.sha256.txt @@ -0,0 +1 @@ +29a188eb09668105fa485f08303d028215a7b872b0342619beea181f59150543 jacoco-0.6.5.201403032054.zip diff --git a/jacoco/download/jacoco-0.7.0.201403182114.zip.md5.txt b/jacoco/download/jacoco-0.7.0.201403182114.zip.md5.txt new file mode 100644 index 00000000000..76b1bf3e859 --- /dev/null +++ b/jacoco/download/jacoco-0.7.0.201403182114.zip.md5.txt @@ -0,0 +1 @@ +b5a03054099301273d01e8fa0c291c58 jacoco-0.7.0.201403182114.zip diff --git a/jacoco/download/jacoco-0.7.0.201403182114.zip.sha256.txt b/jacoco/download/jacoco-0.7.0.201403182114.zip.sha256.txt new file mode 100644 index 00000000000..2f8fe8f5819 --- /dev/null +++ b/jacoco/download/jacoco-0.7.0.201403182114.zip.sha256.txt @@ -0,0 +1 @@ +0553416dfe9ab7007348fd2b59840020c7461ea1f5de870e16e530a4366fe18b jacoco-0.7.0.201403182114.zip diff --git a/jacoco/download/jacoco-0.7.1.201405082137.zip.md5.txt b/jacoco/download/jacoco-0.7.1.201405082137.zip.md5.txt new file mode 100644 index 00000000000..7337a3be351 --- /dev/null +++ b/jacoco/download/jacoco-0.7.1.201405082137.zip.md5.txt @@ -0,0 +1 @@ +14b3083ff817b82f011bceda26041551 jacoco-0.7.1.201405082137.zip diff --git a/jacoco/download/jacoco-0.7.1.201405082137.zip.sha256.txt b/jacoco/download/jacoco-0.7.1.201405082137.zip.sha256.txt new file mode 100644 index 00000000000..45c45709b90 --- /dev/null +++ b/jacoco/download/jacoco-0.7.1.201405082137.zip.sha256.txt @@ -0,0 +1 @@ +c2e1ea9748cea2d8ec713fb10b1901d21a5d44057d036819ad39b4b481f9425e jacoco-0.7.1.201405082137.zip diff --git a/jacoco/download/jacoco-0.7.2.201409121644.zip.md5.txt b/jacoco/download/jacoco-0.7.2.201409121644.zip.md5.txt new file mode 100644 index 00000000000..1e3d820b50b --- /dev/null +++ b/jacoco/download/jacoco-0.7.2.201409121644.zip.md5.txt @@ -0,0 +1 @@ +be263538926a32b8c6ca3e547f32a16e jacoco-0.7.2.201409121644.zip diff --git a/jacoco/download/jacoco-0.7.2.201409121644.zip.sha256.txt b/jacoco/download/jacoco-0.7.2.201409121644.zip.sha256.txt new file mode 100644 index 00000000000..717e46d2b14 --- /dev/null +++ b/jacoco/download/jacoco-0.7.2.201409121644.zip.sha256.txt @@ -0,0 +1 @@ +e92ba0381ac5e97e269bc288a6c39933b2eeff25767bd4d9a1a0b51eb9fad512 jacoco-0.7.2.201409121644.zip diff --git a/jacoco/download/jacoco-0.7.3.201502191951.zip.md5.txt b/jacoco/download/jacoco-0.7.3.201502191951.zip.md5.txt new file mode 100644 index 00000000000..a0fa25de1af --- /dev/null +++ b/jacoco/download/jacoco-0.7.3.201502191951.zip.md5.txt @@ -0,0 +1 @@ +6ebc9e2a241bb7b72c1329e2a69e552d jacoco-0.7.3.201502191951.zip diff --git a/jacoco/download/jacoco-0.7.3.201502191951.zip.sha256.txt b/jacoco/download/jacoco-0.7.3.201502191951.zip.sha256.txt new file mode 100644 index 00000000000..d0df3636781 --- /dev/null +++ b/jacoco/download/jacoco-0.7.3.201502191951.zip.sha256.txt @@ -0,0 +1 @@ +41676a8c588e1a21b258a4f2d626701269076d1fb71f22af384049a7e4dbcf17 jacoco-0.7.3.201502191951.zip diff --git a/jacoco/download/jacoco-0.7.4.201502262128.zip.md5.txt b/jacoco/download/jacoco-0.7.4.201502262128.zip.md5.txt new file mode 100644 index 00000000000..65bc70ec8d4 --- /dev/null +++ b/jacoco/download/jacoco-0.7.4.201502262128.zip.md5.txt @@ -0,0 +1 @@ +ad5accd28b789e7bd5fd7dc6c1d49818 jacoco-0.7.4.201502262128.zip diff --git a/jacoco/download/jacoco-0.7.4.201502262128.zip.sha256.txt b/jacoco/download/jacoco-0.7.4.201502262128.zip.sha256.txt new file mode 100644 index 00000000000..f84e1a431ff --- /dev/null +++ b/jacoco/download/jacoco-0.7.4.201502262128.zip.sha256.txt @@ -0,0 +1 @@ +1b38327fa4be9a42bde9efaa4b10904a53710c0cb65db6b8a1d1094c0e9f2d76 jacoco-0.7.4.201502262128.zip diff --git a/jacoco/download/jacoco-0.7.5.201505241946.zip.md5.txt b/jacoco/download/jacoco-0.7.5.201505241946.zip.md5.txt new file mode 100644 index 00000000000..c3c42700239 --- /dev/null +++ b/jacoco/download/jacoco-0.7.5.201505241946.zip.md5.txt @@ -0,0 +1 @@ +aecba433343920d1e0d4d971462e94f2 jacoco-0.7.5.201505241946.zip diff --git a/jacoco/download/jacoco-0.7.5.201505241946.zip.sha256.txt b/jacoco/download/jacoco-0.7.5.201505241946.zip.sha256.txt new file mode 100644 index 00000000000..a8bde5946b5 --- /dev/null +++ b/jacoco/download/jacoco-0.7.5.201505241946.zip.sha256.txt @@ -0,0 +1 @@ +d38746a73fc5f86f168244a8ef62af66a4d5fc3d11afbbc68e7a695a1f009ba0 jacoco-0.7.5.201505241946.zip diff --git a/jacoco/download/jacoco-0.7.6.201602180812.zip.md5.txt b/jacoco/download/jacoco-0.7.6.201602180812.zip.md5.txt new file mode 100644 index 00000000000..1bb737c3de6 --- /dev/null +++ b/jacoco/download/jacoco-0.7.6.201602180812.zip.md5.txt @@ -0,0 +1 @@ +f1859adbb45140864b9a9d6b15a234f5 jacoco-0.7.6.201602180812.zip diff --git a/jacoco/download/jacoco-0.7.6.201602180812.zip.sha256.txt b/jacoco/download/jacoco-0.7.6.201602180812.zip.sha256.txt new file mode 100644 index 00000000000..b8ff9e29296 --- /dev/null +++ b/jacoco/download/jacoco-0.7.6.201602180812.zip.sha256.txt @@ -0,0 +1 @@ +50db9173255e13f5b78b6b64e4cd693b9a5dda74b6217dfb7270f5f81ebaa5c2 jacoco-0.7.6.201602180812.zip diff --git a/jacoco/download/jacoco-0.7.7.201606060606.zip.md5.txt b/jacoco/download/jacoco-0.7.7.201606060606.zip.md5.txt new file mode 100644 index 00000000000..3dd0fc4f5ed --- /dev/null +++ b/jacoco/download/jacoco-0.7.7.201606060606.zip.md5.txt @@ -0,0 +1 @@ +10f6f6c1fd7152447dd5e38e7c7d5f76 jacoco-0.7.7.201606060606.zip diff --git a/jacoco/download/jacoco-0.7.7.201606060606.zip.sha256.txt b/jacoco/download/jacoco-0.7.7.201606060606.zip.sha256.txt new file mode 100644 index 00000000000..5d0a215d0a1 --- /dev/null +++ b/jacoco/download/jacoco-0.7.7.201606060606.zip.sha256.txt @@ -0,0 +1 @@ +068ba93d184c05a047acd40127725f6622b8e39bdf6e7a4385accaade45fab50 jacoco-0.7.7.201606060606.zip diff --git a/jacoco/download/jacoco-0.7.8.zip.md5.txt b/jacoco/download/jacoco-0.7.8.zip.md5.txt new file mode 100644 index 00000000000..30b035ffb2f --- /dev/null +++ b/jacoco/download/jacoco-0.7.8.zip.md5.txt @@ -0,0 +1 @@ +dacce9e592038fa0b7307b96e521d797 jacoco-0.7.8.zip diff --git a/jacoco/download/jacoco-0.7.8.zip.sha256.txt b/jacoco/download/jacoco-0.7.8.zip.sha256.txt new file mode 100644 index 00000000000..bad2fcbfbb3 --- /dev/null +++ b/jacoco/download/jacoco-0.7.8.zip.sha256.txt @@ -0,0 +1 @@ +bae34f1540af54af0afb1c8686f63a61b29ac20938e8490dae1916d81d9ea164 jacoco-0.7.8.zip diff --git a/jacoco/download/jacoco-0.7.9.zip.md5.txt b/jacoco/download/jacoco-0.7.9.zip.md5.txt new file mode 100644 index 00000000000..5f869e0fc8b --- /dev/null +++ b/jacoco/download/jacoco-0.7.9.zip.md5.txt @@ -0,0 +1 @@ +9add26ba3689b0b9324284b5231aff51 jacoco-0.7.9.zip diff --git a/jacoco/download/jacoco-0.7.9.zip.sha256.txt b/jacoco/download/jacoco-0.7.9.zip.sha256.txt new file mode 100644 index 00000000000..61c93d62af5 --- /dev/null +++ b/jacoco/download/jacoco-0.7.9.zip.sha256.txt @@ -0,0 +1 @@ +cad6b71b7e28ee7d3ae95ab550765d4ab8db31991a697e890ba08f5ee13ea86f jacoco-0.7.9.zip diff --git a/jacoco/download/jacoco-0.8.0.zip.md5.txt b/jacoco/download/jacoco-0.8.0.zip.md5.txt new file mode 100644 index 00000000000..6ae811ad799 --- /dev/null +++ b/jacoco/download/jacoco-0.8.0.zip.md5.txt @@ -0,0 +1 @@ +c435884e5e7f8b600406ab829ee9302f jacoco-0.8.0.zip diff --git a/jacoco/download/jacoco-0.8.0.zip.sha256.txt b/jacoco/download/jacoco-0.8.0.zip.sha256.txt new file mode 100644 index 00000000000..a495b27fa60 --- /dev/null +++ b/jacoco/download/jacoco-0.8.0.zip.sha256.txt @@ -0,0 +1 @@ +631a172f1e602fe10c010454d79d10575115c40e2b4cb39612e1c157040326c5 jacoco-0.8.0.zip diff --git a/jacoco/download/jacoco-0.8.1.zip.md5.txt b/jacoco/download/jacoco-0.8.1.zip.md5.txt new file mode 100644 index 00000000000..7876fd07dfa --- /dev/null +++ b/jacoco/download/jacoco-0.8.1.zip.md5.txt @@ -0,0 +1 @@ +ea2785446018b402fea7939675b3d7dd jacoco-0.8.1.zip diff --git a/jacoco/download/jacoco-0.8.1.zip.sha256.txt b/jacoco/download/jacoco-0.8.1.zip.sha256.txt new file mode 100644 index 00000000000..1a3ff8b00f7 --- /dev/null +++ b/jacoco/download/jacoco-0.8.1.zip.sha256.txt @@ -0,0 +1 @@ +4c35cd403082b51af4e2791c355b8cf0ceb95647a025b608e4a63e59dcdc7fb4 jacoco-0.8.1.zip diff --git a/jacoco/download/jacoco-0.8.10.zip.md5.txt b/jacoco/download/jacoco-0.8.10.zip.md5.txt new file mode 100644 index 00000000000..2955783ad76 --- /dev/null +++ b/jacoco/download/jacoco-0.8.10.zip.md5.txt @@ -0,0 +1 @@ +6e4816291718ec3274bfd0e786575ca9 jacoco-0.8.10.zip diff --git a/jacoco/download/jacoco-0.8.10.zip.sha256.txt b/jacoco/download/jacoco-0.8.10.zip.sha256.txt new file mode 100644 index 00000000000..828925ec93c --- /dev/null +++ b/jacoco/download/jacoco-0.8.10.zip.sha256.txt @@ -0,0 +1 @@ +bb5c230923713c75a3cc2f6258baa119ba555f130b4c201b0e90a4ac632cf3c5 jacoco-0.8.10.zip diff --git a/jacoco/download/jacoco-0.8.11.zip.md5.txt b/jacoco/download/jacoco-0.8.11.zip.md5.txt new file mode 100644 index 00000000000..a17ad9cfff5 --- /dev/null +++ b/jacoco/download/jacoco-0.8.11.zip.md5.txt @@ -0,0 +1 @@ +2e4992dc1d63a86cdcb5084f9a5b8ebc jacoco-0.8.11.zip diff --git a/jacoco/download/jacoco-0.8.11.zip.sha256.txt b/jacoco/download/jacoco-0.8.11.zip.sha256.txt new file mode 100644 index 00000000000..3f38423b08c --- /dev/null +++ b/jacoco/download/jacoco-0.8.11.zip.sha256.txt @@ -0,0 +1 @@ +316233b658f18a6119c2c89d04f9e1b3149ae2a09b839075744037ea41666779 jacoco-0.8.11.zip diff --git a/jacoco/download/jacoco-0.8.2.zip.md5.txt b/jacoco/download/jacoco-0.8.2.zip.md5.txt new file mode 100644 index 00000000000..91d3d589800 --- /dev/null +++ b/jacoco/download/jacoco-0.8.2.zip.md5.txt @@ -0,0 +1 @@ +60b0e69fb9fcdd9b8fcc6656b625c469 jacoco-0.8.2.zip diff --git a/jacoco/download/jacoco-0.8.2.zip.sha256.txt b/jacoco/download/jacoco-0.8.2.zip.sha256.txt new file mode 100644 index 00000000000..af31dfdfb77 --- /dev/null +++ b/jacoco/download/jacoco-0.8.2.zip.sha256.txt @@ -0,0 +1 @@ +d9365353932782b05d3be2596f2a521a363541a9434e7a973a2816663895888c jacoco-0.8.2.zip diff --git a/jacoco/download/jacoco-0.8.3.zip.md5.txt b/jacoco/download/jacoco-0.8.3.zip.md5.txt new file mode 100644 index 00000000000..01ce95bd215 --- /dev/null +++ b/jacoco/download/jacoco-0.8.3.zip.md5.txt @@ -0,0 +1 @@ +d4f07cb98bbf2305dbd16ee3012d7321 jacoco-0.8.3.zip diff --git a/jacoco/download/jacoco-0.8.3.zip.sha256.txt b/jacoco/download/jacoco-0.8.3.zip.sha256.txt new file mode 100644 index 00000000000..c210c070509 --- /dev/null +++ b/jacoco/download/jacoco-0.8.3.zip.sha256.txt @@ -0,0 +1 @@ +2417616c14c04fc040a7875b20909f3a390180c4582c495cc7fd1b0d6cf4bab6 jacoco-0.8.3.zip diff --git a/jacoco/download/jacoco-0.8.4.zip.md5.txt b/jacoco/download/jacoco-0.8.4.zip.md5.txt new file mode 100644 index 00000000000..5e884df7583 --- /dev/null +++ b/jacoco/download/jacoco-0.8.4.zip.md5.txt @@ -0,0 +1 @@ +e72abe4c479aaff30bc3cfb92d337fc7 jacoco-0.8.4.zip diff --git a/jacoco/download/jacoco-0.8.4.zip.sha256.txt b/jacoco/download/jacoco-0.8.4.zip.sha256.txt new file mode 100644 index 00000000000..1632c92868d --- /dev/null +++ b/jacoco/download/jacoco-0.8.4.zip.sha256.txt @@ -0,0 +1 @@ +54a66ee7f6bcd19049a433ec492df105e0473f7dac19d70aee31468b2b6c3d41 jacoco-0.8.4.zip diff --git a/jacoco/download/jacoco-0.8.5.zip.md5.txt b/jacoco/download/jacoco-0.8.5.zip.md5.txt new file mode 100644 index 00000000000..f45edd6c91d --- /dev/null +++ b/jacoco/download/jacoco-0.8.5.zip.md5.txt @@ -0,0 +1 @@ +9c84437528104c68283ef9cc30b20d51 jacoco-0.8.5.zip diff --git a/jacoco/download/jacoco-0.8.5.zip.sha256.txt b/jacoco/download/jacoco-0.8.5.zip.sha256.txt new file mode 100644 index 00000000000..30f6b390c15 --- /dev/null +++ b/jacoco/download/jacoco-0.8.5.zip.sha256.txt @@ -0,0 +1 @@ +6f9dbfeb12238fd17ef1e99f0a83e2710681f99b27f9d76e9cb37e2b75f38b0a jacoco-0.8.5.zip diff --git a/jacoco/download/jacoco-0.8.6.zip.md5.txt b/jacoco/download/jacoco-0.8.6.zip.md5.txt new file mode 100644 index 00000000000..4f7ed0eb2d5 --- /dev/null +++ b/jacoco/download/jacoco-0.8.6.zip.md5.txt @@ -0,0 +1 @@ +d4db29ddfdb2753aaaa3e4dd67a0521e jacoco-0.8.6.zip diff --git a/jacoco/download/jacoco-0.8.6.zip.sha256.txt b/jacoco/download/jacoco-0.8.6.zip.sha256.txt new file mode 100644 index 00000000000..484645c12f0 --- /dev/null +++ b/jacoco/download/jacoco-0.8.6.zip.sha256.txt @@ -0,0 +1 @@ +5268f8d79b62a25fc010ad4643ea7116b4c3f15186f72b446580c6abe0984619 jacoco-0.8.6.zip diff --git a/jacoco/download/jacoco-0.8.7.zip.md5.txt b/jacoco/download/jacoco-0.8.7.zip.md5.txt new file mode 100644 index 00000000000..6b6ab025d8c --- /dev/null +++ b/jacoco/download/jacoco-0.8.7.zip.md5.txt @@ -0,0 +1 @@ +174fde230d1090a5622119d5096bce07 jacoco-0.8.7.zip diff --git a/jacoco/download/jacoco-0.8.7.zip.sha256.txt b/jacoco/download/jacoco-0.8.7.zip.sha256.txt new file mode 100644 index 00000000000..d32c040de56 --- /dev/null +++ b/jacoco/download/jacoco-0.8.7.zip.sha256.txt @@ -0,0 +1 @@ +3d1e2fdcd703731f96eb34df001472c4c882d2eb14578968ac8768eb5d30fd92 jacoco-0.8.7.zip diff --git a/jacoco/download/jacoco-0.8.8.zip.md5.txt b/jacoco/download/jacoco-0.8.8.zip.md5.txt new file mode 100644 index 00000000000..4ff55799160 --- /dev/null +++ b/jacoco/download/jacoco-0.8.8.zip.md5.txt @@ -0,0 +1 @@ +10a812712aa9d4bf02ad975e3e1364e4 jacoco-0.8.8.zip diff --git a/jacoco/download/jacoco-0.8.8.zip.sha256.txt b/jacoco/download/jacoco-0.8.8.zip.sha256.txt new file mode 100644 index 00000000000..7ed41488b7d --- /dev/null +++ b/jacoco/download/jacoco-0.8.8.zip.sha256.txt @@ -0,0 +1 @@ +6859d4deecc9fdd44f742bb8ff8e4ca71afca442cc8ce67aeb668dda951e8498 jacoco-0.8.8.zip diff --git a/jacoco/download/jacoco-0.8.9.zip.md5.txt b/jacoco/download/jacoco-0.8.9.zip.md5.txt new file mode 100644 index 00000000000..1748de9ee15 --- /dev/null +++ b/jacoco/download/jacoco-0.8.9.zip.md5.txt @@ -0,0 +1 @@ +a158dfd8d88760ee615854fb27ad3a88 jacoco-0.8.9.zip diff --git a/jacoco/download/jacoco-0.8.9.zip.sha256.txt b/jacoco/download/jacoco-0.8.9.zip.sha256.txt new file mode 100644 index 00000000000..f34d9498eda --- /dev/null +++ b/jacoco/download/jacoco-0.8.9.zip.sha256.txt @@ -0,0 +1 @@ +e2f4ad4075a7b6fb299d631d8536f6623086aecd2168e03cefddc5713b2de199 jacoco-0.8.9.zip diff --git a/jacoco/index.html b/jacoco/index.html new file mode 100644 index 00000000000..ef63744305d --- /dev/null +++ b/jacoco/index.html @@ -0,0 +1,518 @@ + + + + + + + + EclEmma - JaCoCo Java Code Coverage Library + + + + + + + + + +
+ EclEmma 3.1.8 + + Java Code Coverage for Eclipse + + + Drag to your running Eclipse workspace to install EclEmma Java Code Coverage + +
+ + + + + + + + + + + + +
+ Eclipse Community Award 2008 +
+
+ JaCoCo +
+
+ Inspected with sonarqube +
+
+ jobs at mtrail +
+
+ The Java Specialists' Newsletter +
+
+

JaCoCo Java Code Coverage Library

+ JaCoCo is a free code coverage library for Java, which has been created by the + EclEmma team based on the lessons learned from using and integration existing + libraries for many years. +

+ JaCoCo Report +

Snapshot Builds

+ The master branch + of JaCoCo is automatically built and published. Due to the test driven + development approach every build is considered fully functional. See + change history + for latest features and bug fixes. SonarQube code quality metrics of the current + JaCoCo implementation are available on + SonarCloud.io. +

Release Builds

+ The official releases builds are available for download below. JaCoCo is also + available from the + Maven repository. +

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
DownloadSourceReleaseSizeChecksums
jacoco-0.8.11.zip0.8.112023/10/143.9 MBmd5 + sha256
jacoco-0.8.10.zip0.8.102023/04/243.9 MBmd5 + sha256
jacoco-0.8.9.zip0.8.92023/03/313.9 MBmd5 + sha256
jacoco-0.8.8.zip0.8.82022/04/053.8 MBmd5 + sha256
jacoco-0.8.7.zip0.8.72021/05/043.8 MBmd5 + sha256
jacoco-0.8.6.zip0.8.62020/09/153.8 MBmd5 + sha256
jacoco-0.8.5.zip0.8.52019/10/113.8 MBmd5 + sha256
jacoco-0.8.4.zip0.8.42019/05/083.7 MBmd5 + sha256
jacoco-0.8.3.zip0.8.32019/01/233.7 MBmd5 + sha256
jacoco-0.8.2.zip0.8.22018/08/213.6 MBmd5 + sha256
jacoco-0.8.1.zip0.8.12018/03/213.4 MBmd5 + sha256
jacoco-0.8.0.zip0.8.02018/01/023.4 MBmd5 + sha256
jacoco-0.7.9.zip0.7.92017/02/052.9 MBmd5 + sha256
jacoco-0.7.8.zip0.7.82016/12/102.9 MBmd5 + sha256
jacoco-0.7.7.201606060606.zip0.7.72016/06/062.9 MBmd5 + sha256
jacoco-0.7.6.201602180812.zip0.7.62016/02/182.9 MBmd5 + sha256
jacoco-0.7.5.201505241946.zip0.7.52015/05/242.9 MBmd5 + sha256
jacoco-0.7.4.201502262128.zip0.7.42015/02/262.9 MBmd5 + sha256
jacoco-0.7.3.201502191951.zip0.7.32015/02/192.9 MBmd5 + sha256
jacoco-0.7.2.201409121644.zip0.7.22014/09/122.9 MBmd5 + sha256
jacoco-0.7.1.201405082137.zip0.7.12014/05/082.9 MBmd5 + sha256
jacoco-0.7.0.201403182114.zip0.7.02014/03/182.9 MBmd5 + sha256
jacoco-0.6.5.201403032054.zip0.6.52014/03/032.6 MBmd5 + sha256
jacoco-0.6.4.201312101107.zip0.6.42013/12/102.5 MBmd5 + sha256
jacoco-0.6.3.201306030806.zip0.6.32013/06/032.4 MBmd5 + sha256
jacoco-0.6.2.201302030002.zip0.6.22013/02/032.3 MBmd5 + sha256
jacoco-0.6.1.201212231917.zip0.6.12012/12/232.2 MBmd5 + sha256
jacoco-0.6.0.201210061924.zip0.6.02012/10/063.2 MBmd5 + sha256
jacoco-0.5.10.201208310627.zip0.5.102012/08/312.2 MBmd5 + sha256
jacoco-0.5.9.201207300726.zip0.5.92012/07/302.2 MBmd5 + sha256
jacoco-0.5.8.201207111220.zip0.5.82012/07/112.2 MBmd5 + sha256
jacoco-0.5.7.201204190339.zip0.5.72012/04/192.1 MBmd5 + sha256
jacoco-0.5.6.201201232323.zip0.5.62012/01/232.1 MBmd5 + sha256
jacoco-0.5.5.201112152213.zip0.5.52011/12/152.1 MBmd5 + sha256
jacoco-0.5.4.201111111111.zip0.5.42011/11/112.1 MBmd5 + sha256
jacoco-0.5.3.201107060350.zip0.5.32011/07/062.0 MBmd5 + sha256
jacoco-0.5.2.20110519202509.zip0.5.22011/05/191.8 MBmd5 + sha256
jacoco-0.5.1.20110321224001.zip0.5.12011/03/211.8 MBmd5 + sha256
jacoco-0.5.0.20110119215959.zip0.5.02011/01/191.9 MBmd5 + sha256
jacoco-0.4.1.20101007204400.zip0.4.12010/10/071.9 MBmd5 + sha256
jacoco-0.4.0.20100604151516.zip0.4.02010/06/041.7 MBmd5 + sha256
jacoco-0.3.3.20100419191644.zip0.3.32010/04/191.5 MBmd5 + sha256
jacoco-0.3.2.20100401180959.zip0.3.22010/04/011.5 MBmd5 + sha256
jacoco-0.3.1.20100209212101.zip0.3.12010/02/091.5 MBmd5 + sha256
jacoco-0.3.0.20100202223831.zip0.3.02010/02/021.5 MBmd5 + sha256
jacoco-0.2.0.20100108061321.zip0.2.02010/01/081.4 MBmd5 + sha256
jacoco-0.1.0.20091028042923.zip0.1.02009/10/281.3 MBmd5 + sha256

Contact/Feedback

+ Please don't hesitate to get in touch and provide feedback in the + JaCoCo and EclEmma Users + group. We're particular curious about +

    +
  • your experience with using or integrating JaCoCo,
  • +
  • missing features we don't have yet on the + issue list and
  • +
  • any kind of suggestions for functional or implementation improvements.
  • +
+
+ + + + + +
+ + + \ No newline at end of file diff --git a/jacoco/trunk/coverage/index.html b/jacoco/trunk/coverage/index.html new file mode 100644 index 00000000000..906d1a1fb77 --- /dev/null +++ b/jacoco/trunk/coverage/index.html @@ -0,0 +1 @@ +JaCoCo

JaCoCo

ElementMissed InstructionsCov.Missed BranchesCov.MissedCxtyMissedLinesMissedMethodsMissedClasses
Total1,432 of 28,18694%163 of 2,27292%2292,6903676,561761,52215303
org.jacoco.core41214,20897%1041,32192%1241,4591233,482207252142
org.jacoco.examples41157158%1864%2453971931938612
org.jacoco.agent.rt3401,06075%168183%32130753442180722
jacoco-maven-plugin1751,73090%2712782%35194494668117023
org.jacoco.cli1,48697%70100%410910275474020
org.jacoco.report5,91399%38399%457221,3451371064
org.jacoco.ant1,71498%10399%416384293111019
org.jacoco.agent86%75%2103270601
\ No newline at end of file diff --git a/jacoco/trunk/coverage/jacoco-maven-plugin/index.html b/jacoco/trunk/coverage/jacoco-maven-plugin/index.html new file mode 100644 index 00000000000..1e146276842 --- /dev/null +++ b/jacoco/trunk/coverage/jacoco-maven-plugin/index.html @@ -0,0 +1 @@ +jacoco-maven-plugin

jacoco-maven-plugin

ElementMissed InstructionsCov.Missed BranchesCov.MissedCxtyMissedLinesMissedMethodsMissedClasses
Total175 of 1,90590%27 of 15482%35194494668117023
org.jacoco.maven1751,73090%2712782%35194494668117023
\ No newline at end of file diff --git a/jacoco/trunk/coverage/jacoco-maven-plugin/org.jacoco.maven/AbstractAgentMojo.html b/jacoco/trunk/coverage/jacoco-maven-plugin/org.jacoco.maven/AbstractAgentMojo.html new file mode 100644 index 00000000000..72f5bd26a4b --- /dev/null +++ b/jacoco/trunk/coverage/jacoco-maven-plugin/org.jacoco.maven/AbstractAgentMojo.html @@ -0,0 +1 @@ +AbstractAgentMojo

AbstractAgentMojo

ElementMissed InstructionsCov.Missed BranchesCov.MissedCxtyMissedLinesMissedMethods
Total2 of 23399%4 of 4090%42815908
getEffectivePropertyName()21184%1375%131501
createAgentOptions()123100%22893%21603301
executeMojo()37100%n/a010801
skipMojo()30100%2100%020701
isPropertyNameSpecified()12100%1375%130101
getAgentJarFile()9100%n/a010301
isEclipseTestPluginPackaging()6100%n/a010101
AbstractAgentMojo()3100%n/a010101
\ No newline at end of file diff --git a/jacoco/trunk/coverage/jacoco-maven-plugin/org.jacoco.maven/AbstractAgentMojo.java.html b/jacoco/trunk/coverage/jacoco-maven-plugin/org.jacoco.maven/AbstractAgentMojo.java.html new file mode 100644 index 00000000000..98d19291ed6 --- /dev/null +++ b/jacoco/trunk/coverage/jacoco-maven-plugin/org.jacoco.maven/AbstractAgentMojo.java.html @@ -0,0 +1,258 @@ +AbstractAgentMojo.java

AbstractAgentMojo.java

/*******************************************************************************
+ * Copyright (c) 2009, 2024 Mountainminds GmbH & Co. KG and Contributors
+ * This program and the accompanying materials are made available under
+ * the terms of the Eclipse Public License 2.0 which is available at
+ * http://www.eclipse.org/legal/epl-2.0
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ *    Evgeny Mandrikov - initial API and implementation
+ *
+ *******************************************************************************/
+package org.jacoco.maven;
+
+import java.io.File;
+import java.util.List;
+import java.util.Map;
+import java.util.Properties;
+
+import org.apache.maven.artifact.Artifact;
+import org.apache.maven.plugins.annotations.Parameter;
+import org.codehaus.plexus.util.StringUtils;
+import org.jacoco.core.runtime.AgentOptions;
+
+/**
+ * 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.
+ */
+public abstract class AbstractAgentMojo extends AbstractJacocoMojo {
+
+	/**
+	 * Name of the JaCoCo Agent artifact.
+	 */
+	static final String AGENT_ARTIFACT_NAME = "org.jacoco:org.jacoco.agent";
+	/**
+	 * Name of the property used in maven-osgi-test-plugin.
+	 */
+	static final String TYCHO_ARG_LINE = "tycho.testArgLine";
+	/**
+	 * Name of the property used in maven-surefire-plugin.
+	 */
+	static final String SUREFIRE_ARG_LINE = "argLine";
+	/**
+	 * Map of plugin artifacts.
+	 */
+	@Parameter(property = "plugin.artifactMap", required = true, readonly = true)
+	Map<String, Artifact> pluginArtifactMap;
+	/**
+	 * Allows to specify property which will contains settings for JaCoCo Agent.
+	 * If not specified, then "argLine" would be used for "jar" packaging and
+	 * "tycho.testArgLine" for "eclipse-test-plugin".
+	 */
+	@Parameter(property = "jacoco.propertyName")
+	String propertyName;
+	/**
+	 * If set to true and the execution data file already exists, coverage data
+	 * is appended to the existing file. If set to false, an existing execution
+	 * data file will be replaced.
+	 */
+	@Parameter(property = "jacoco.append")
+	Boolean append;
+
+	/**
+	 * A list of class names to include in instrumentation. May use wildcard
+	 * characters (* and ?). When not specified everything will be included.
+	 */
+	@Parameter
+	private List<String> includes;
+
+	/**
+	 * A list of class names to exclude from instrumentation. May use wildcard
+	 * characters (* and ?). When not specified nothing will be excluded. Except
+	 * for performance optimization or technical corner cases this option is
+	 * normally not required. If you want to exclude classes from the report
+	 * please configure the <code>report</code> goal accordingly.
+	 */
+	@Parameter
+	private List<String> excludes;
+
+	/**
+	 * A list of class loader names, that should be excluded from execution
+	 * analysis. The list entries are separated by a colon (:) and may use
+	 * wildcard characters (* and ?). This option might be required in case of
+	 * special frameworks that conflict with JaCoCo code instrumentation, in
+	 * particular class loaders that do not have access to the Java runtime
+	 * classes.
+	 */
+	@Parameter(property = "jacoco.exclClassLoaders")
+	String exclClassLoaders;
+	/**
+	 * Specifies whether also classes from the bootstrap classloader should be
+	 * instrumented. Use this feature with caution, it needs heavy
+	 * includes/excludes tuning.
+	 */
+	@Parameter(property = "jacoco.inclBootstrapClasses")
+	Boolean inclBootstrapClasses;
+	/**
+	 * Specifies whether classes without source location should be instrumented.
+	 */
+	@Parameter(property = "jacoco.inclNoLocationClasses")
+	Boolean inclNoLocationClasses;
+	/**
+	 * A session identifier that is written with the execution data. Without
+	 * this parameter a random identifier is created by the agent.
+	 */
+	@Parameter(property = "jacoco.sessionId")
+	String sessionId;
+	/**
+	 * If set to true coverage data will be written on VM shutdown.
+	 */
+	@Parameter(property = "jacoco.dumpOnExit")
+	Boolean dumpOnExit;
+	/**
+	 * Output method to use for writing coverage data. Valid options are:
+	 * <ul>
+	 * <li>file: At VM termination execution data is written to a file.</li>
+	 * <li>tcpserver: The agent listens for incoming connections on the TCP port
+	 * specified by the {@link #address} and {@link #port}. Execution data is
+	 * written to this TCP connection.</li>
+	 * <li>tcpclient: At startup the agent connects to the TCP port specified by
+	 * the {@link #address} and {@link #port}. Execution data is written to this
+	 * TCP connection.</li>
+	 * <li>none: Do not produce any output.</li>
+	 * </ul>
+	 */
+	@Parameter(property = "jacoco.output")
+	String output;
+	/**
+	 * IP address or hostname to bind to when the output method is tcpserver or
+	 * connect to when the output method is tcpclient. In tcpserver mode the
+	 * value "*" causes the agent to accept connections on any local address.
+	 */
+	@Parameter(property = "jacoco.address")
+	String address;
+	/**
+	 * Port to bind to when the output method is tcpserver or connect to when
+	 * the output method is tcpclient. In tcpserver mode the port must be
+	 * available, which means that if multiple JaCoCo agents should run on the
+	 * same machine, different ports have to be specified.
+	 */
+	@Parameter(property = "jacoco.port")
+	Integer port;
+	/**
+	 * If a directory is specified for this parameter the JaCoCo agent dumps all
+	 * class files it processes to the given location. This can be useful for
+	 * debugging purposes or in case of dynamically created classes for example
+	 * when scripting engines are used.
+	 */
+	@Parameter(property = "jacoco.classDumpDir")
+	File classDumpDir;
+	/**
+	 * If set to true the agent exposes functionality via JMX.
+	 */
+	@Parameter(property = "jacoco.jmx")
+	Boolean jmx;
+
+	@Override
+	public void executeMojo() {
+		final String name = getEffectivePropertyName();
+		final Properties projectProperties = getProject().getProperties();
+		final String oldValue = projectProperties.getProperty(name);
+		final String newValue = createAgentOptions()
+				.prependVMArguments(oldValue, getAgentJarFile());
+		getLog().info(name + " set to " + newValue);
+		projectProperties.setProperty(name, newValue);
+	}
+
+	@Override
+	protected void skipMojo() {
+		final String name = getEffectivePropertyName();
+		final Properties projectProperties = getProject().getProperties();
+		final String oldValue = projectProperties.getProperty(name);
+		if (oldValue == null) {
+			getLog().info(name + " set to empty");
+			projectProperties.setProperty(name, "");
+		}
+	}
+
+	File getAgentJarFile() {
+		final Artifact jacocoAgentArtifact = pluginArtifactMap
+				.get(AGENT_ARTIFACT_NAME);
+		return jacocoAgentArtifact.getFile();
+	}
+
+	AgentOptions createAgentOptions() {
+		final AgentOptions agentOptions = new AgentOptions();
+		agentOptions.setDestfile(getDestFile().getAbsolutePath());
+		if (append != null) {
+			agentOptions.setAppend(append.booleanValue());
+		}
+		if (includes != null && !includes.isEmpty()) {
+			agentOptions
+					.setIncludes(StringUtils.join(includes.iterator(), ":"));
+		}
+		if (excludes != null && !excludes.isEmpty()) {
+			agentOptions
+					.setExcludes(StringUtils.join(excludes.iterator(), ":"));
+		}
+		if (exclClassLoaders != null) {
+			agentOptions.setExclClassloader(exclClassLoaders);
+		}
+		if (inclBootstrapClasses != null) {
+			agentOptions.setInclBootstrapClasses(
+					inclBootstrapClasses.booleanValue());
+		}
+		if (inclNoLocationClasses != null) {
+			agentOptions.setInclNoLocationClasses(
+					inclNoLocationClasses.booleanValue());
+		}
+		if (sessionId != null) {
+			agentOptions.setSessionId(sessionId);
+		}
+		if (dumpOnExit != null) {
+			agentOptions.setDumpOnExit(dumpOnExit.booleanValue());
+		}
+		if (output != null) {
+			agentOptions.setOutput(output);
+		}
+		if (address != null) {
+			agentOptions.setAddress(address);
+		}
+		if (port != null) {
+			agentOptions.setPort(port.intValue());
+		}
+		if (classDumpDir != null) {
+			agentOptions.setClassDumpDir(classDumpDir.getAbsolutePath());
+		}
+		if (jmx != null) {
+			agentOptions.setJmx(jmx.booleanValue());
+		}
+		return agentOptions;
+	}
+
+	String getEffectivePropertyName() {
+		if (isPropertyNameSpecified()) {
+			return propertyName;
+		}
+		if (isEclipseTestPluginPackaging()) {
+			return TYCHO_ARG_LINE;
+		}
+		return SUREFIRE_ARG_LINE;
+	}
+
+	boolean isPropertyNameSpecified() {
+		return propertyName != null && !"".equals(propertyName);
+	}
+
+	boolean isEclipseTestPluginPackaging() {
+		return "eclipse-test-plugin".equals(getProject().getPackaging());
+	}
+
+	/**
+	 * @return the destFile
+	 */
+	abstract File getDestFile();
+
+}
+
\ No newline at end of file diff --git a/jacoco/trunk/coverage/jacoco-maven-plugin/org.jacoco.maven/AbstractJacocoMojo.html b/jacoco/trunk/coverage/jacoco-maven-plugin/org.jacoco.maven/AbstractJacocoMojo.html new file mode 100644 index 00000000000..ca7654d1796 --- /dev/null +++ b/jacoco/trunk/coverage/jacoco-maven-plugin/org.jacoco.maven/AbstractJacocoMojo.html @@ -0,0 +1 @@ +AbstractJacocoMojo

AbstractJacocoMojo

ElementMissed InstructionsCov.Missed BranchesCov.MissedCxtyMissedLinesMissedMethods
Total1 of 2095%0 of 2100%151914
skipMojo()10%n/a111111
execute()13100%2100%020601
AbstractJacocoMojo()3100%n/a010101
getProject()3100%n/a010101
\ No newline at end of file diff --git a/jacoco/trunk/coverage/jacoco-maven-plugin/org.jacoco.maven/AbstractJacocoMojo.java.html b/jacoco/trunk/coverage/jacoco-maven-plugin/org.jacoco.maven/AbstractJacocoMojo.java.html new file mode 100644 index 00000000000..5b9d05a7911 --- /dev/null +++ b/jacoco/trunk/coverage/jacoco-maven-plugin/org.jacoco.maven/AbstractJacocoMojo.java.html @@ -0,0 +1,77 @@ +AbstractJacocoMojo.java

AbstractJacocoMojo.java

/*******************************************************************************
+ * Copyright (c) 2009, 2024 Mountainminds GmbH & Co. KG and Contributors
+ * This program and the accompanying materials are made available under
+ * the terms of the Eclipse Public License 2.0 which is available at
+ * http://www.eclipse.org/legal/epl-2.0
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ *    Evgeny Mandrikov - initial API and implementation
+ *
+ *******************************************************************************/
+package org.jacoco.maven;
+
+import org.apache.maven.plugin.AbstractMojo;
+import org.apache.maven.plugin.MojoExecutionException;
+import org.apache.maven.plugin.MojoFailureException;
+import org.apache.maven.plugins.annotations.Parameter;
+import org.apache.maven.project.MavenProject;
+
+/**
+ * Base class for JaCoCo Mojos.
+ */
+public abstract class AbstractJacocoMojo extends AbstractMojo {
+
+	/**
+	 * Maven project.
+	 */
+	@Parameter(property = "project", readonly = true)
+	private MavenProject project;
+
+	/**
+	 * Flag used to suppress execution.
+	 */
+	@Parameter(property = "jacoco.skip", defaultValue = "false")
+	private boolean skip;
+
+	public final void execute()
+			throws MojoExecutionException, MojoFailureException {
+		if (skip) {
+			getLog().info(
+					"Skipping JaCoCo execution because property jacoco.skip is set.");
+			skipMojo();
+			return;
+		}
+		executeMojo();
+	}
+
+	/**
+	 * Executes Mojo.
+	 *
+	 * @throws MojoExecutionException
+	 *             if an unexpected problem occurs. Throwing this exception
+	 *             causes a "BUILD ERROR" message to be displayed.
+	 * @throws MojoFailureException
+	 *             if an expected problem (such as a compilation failure)
+	 *             occurs. Throwing this exception causes a "BUILD FAILURE"
+	 *             message to be displayed.
+	 */
+	protected abstract void executeMojo()
+			throws MojoExecutionException, MojoFailureException;
+
+	/**
+	 * Skips Mojo.
+	 */
+	protected void skipMojo() {
+	}
+
+	/**
+	 * @return Maven project
+	 */
+	protected final MavenProject getProject() {
+		return project;
+	}
+
+}
+
\ No newline at end of file diff --git a/jacoco/trunk/coverage/jacoco-maven-plugin/org.jacoco.maven/AbstractReportMojo.html b/jacoco/trunk/coverage/jacoco-maven-plugin/org.jacoco.maven/AbstractReportMojo.html new file mode 100644 index 00000000000..6ff8f7882b7 --- /dev/null +++ b/jacoco/trunk/coverage/jacoco-maven-plugin/org.jacoco.maven/AbstractReportMojo.html @@ -0,0 +1 @@ +AbstractReportMojo

AbstractReportMojo

ElementMissed InstructionsCov.Missed BranchesCov.MissedCxtyMissedLinesMissedMethods
Total7 of 15695%1 of 1291%218346112
generate(Sink, Locale)60%n/a112211
generate(Sink, SinkFactory, Locale)1787%1150%121401
executeReport(Locale)39100%n/a0101101
canGenerateReport()29100%6100%0401001
execute()27100%2100%020801
addFormatters(ReportSupport, Locale)23100%2100%020501
getDescription(Locale)11100%n/a010101
AbstractReportMojo()3100%n/a010101
getIncludes()3100%n/a010101
getExcludes()3100%n/a010101
isExternalReport()2100%n/a010101
getCategoryName()2100%n/a010101
\ No newline at end of file diff --git a/jacoco/trunk/coverage/jacoco-maven-plugin/org.jacoco.maven/AbstractReportMojo.java.html b/jacoco/trunk/coverage/jacoco-maven-plugin/org.jacoco.maven/AbstractReportMojo.java.html new file mode 100644 index 00000000000..ea9ffde585d --- /dev/null +++ b/jacoco/trunk/coverage/jacoco-maven-plugin/org.jacoco.maven/AbstractReportMojo.java.html @@ -0,0 +1,217 @@ +AbstractReportMojo.java

AbstractReportMojo.java

/*******************************************************************************
+ * Copyright (c) 2009, 2024 Mountainminds GmbH & Co. KG and Contributors
+ * This program and the accompanying materials are made available under
+ * the terms of the Eclipse Public License 2.0 which is available at
+ * http://www.eclipse.org/legal/epl-2.0
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ *    Evgeny Mandrikov - initial API and implementation
+ *    troosan - add support for format selection
+ *
+ *******************************************************************************/
+package org.jacoco.maven;
+
+import java.io.File;
+import java.io.IOException;
+import java.util.List;
+import java.util.Locale;
+
+import org.apache.maven.doxia.sink.SinkFactory;
+import org.apache.maven.plugin.AbstractMojo;
+import org.apache.maven.plugin.MojoExecutionException;
+import org.apache.maven.plugins.annotations.Parameter;
+import org.apache.maven.project.MavenProject;
+import org.apache.maven.reporting.MavenMultiPageReport;
+import org.apache.maven.reporting.MavenReportException;
+import org.jacoco.report.IReportGroupVisitor;
+import org.jacoco.report.IReportVisitor;
+
+/**
+ * Base class for creating a code coverage report for tests of a single project
+ * in multiple formats (HTML, XML, and CSV).
+ */
+public abstract class AbstractReportMojo extends AbstractMojo
+		implements MavenMultiPageReport {
+
+	/**
+	 * Encoding of the generated reports.
+	 */
+	@Parameter(property = "project.reporting.outputEncoding", defaultValue = "UTF-8")
+	String outputEncoding;
+
+	/**
+	 * A list of report formats to generate. Supported formats are HTML, XML and
+	 * CSV. Defaults to all formats if no values are given.
+	 *
+	 * @since 0.8.7
+	 */
+	@Parameter(defaultValue = "HTML,XML,CSV")
+	List<ReportFormat> formats;
+
+	/**
+	 * Name of the root node HTML report pages.
+	 *
+	 * @since 0.7.7
+	 */
+	@Parameter(defaultValue = "${project.name}")
+	String title;
+
+	/**
+	 * Footer text used in HTML report pages.
+	 *
+	 * @since 0.7.7
+	 */
+	@Parameter
+	String footer;
+
+	/**
+	 * Encoding of the source files.
+	 */
+	@Parameter(property = "project.build.sourceEncoding", defaultValue = "UTF-8")
+	String sourceEncoding;
+
+	/**
+	 * A list of class files to include in the report. May use wildcard
+	 * characters (* and ?). When not specified everything will be included.
+	 */
+	@Parameter
+	List<String> includes;
+
+	/**
+	 * A list of class files to exclude from the report. May use wildcard
+	 * characters (* and ?). When not specified nothing will be excluded.
+	 */
+	@Parameter
+	List<String> excludes;
+
+	/**
+	 * Flag used to suppress execution.
+	 */
+	@Parameter(property = "jacoco.skip", defaultValue = "false")
+	boolean skip;
+
+	/**
+	 * Maven project.
+	 */
+	@Parameter(property = "project", readonly = true)
+	MavenProject project;
+
+	public String getDescription(final Locale locale) {
+		return getName(locale) + " Coverage Report.";
+	}
+
+	public boolean isExternalReport() {
+		return true;
+	}
+
+	public String getCategoryName() {
+		return CATEGORY_PROJECT_REPORTS;
+	}
+
+	/**
+	 * Returns the list of class files to include in the report.
+	 *
+	 * @return class files to include, may contain wildcard characters
+	 */
+	List<String> getIncludes() {
+		return includes;
+	}
+
+	/**
+	 * Returns the list of class files to exclude from the report.
+	 *
+	 * @return class files to exclude, may contain wildcard characters
+	 */
+	List<String> getExcludes() {
+		return excludes;
+	}
+
+	public boolean canGenerateReport() {
+		if (skip) {
+			getLog().info(
+					"Skipping JaCoCo execution because property jacoco.skip is set.");
+			return false;
+		}
+		if (!canGenerateReportRegardingDataFiles()) {
+			getLog().info(
+					"Skipping JaCoCo execution due to missing execution data file.");
+			return false;
+		}
+		if (!canGenerateReportRegardingClassesDirectory()) {
+			getLog().info(
+					"Skipping JaCoCo execution due to missing classes directory.");
+			return false;
+		}
+		return true;
+	}
+
+	abstract boolean canGenerateReportRegardingDataFiles();
+
+	abstract boolean canGenerateReportRegardingClassesDirectory();
+
+	abstract File getOutputDirectory();
+
+	public void generate(
+			@SuppressWarnings("deprecation") final org.codehaus.doxia.sink.Sink sink,
+			final Locale locale) throws MavenReportException {
+		generate(sink, null, locale);
+	}
+
+	public void generate(final org.apache.maven.doxia.sink.Sink sink,
+			final SinkFactory sinkFactory, final Locale locale)
+			throws MavenReportException {
+		if (!canGenerateReport()) {
+			return;
+		}
+		executeReport(locale);
+	}
+
+	/**
+	 * This method is called when the report generation is invoked directly as a
+	 * standalone Mojo.
+	 */
+	public void execute() throws MojoExecutionException {
+		if (!canGenerateReport()) {
+			return;
+		}
+		try {
+			executeReport(Locale.getDefault());
+		} catch (final MavenReportException e) {
+			throw new MojoExecutionException("An error has occurred in "
+					+ getName(Locale.ENGLISH) + " report generation.", e);
+		}
+	}
+
+	private void executeReport(final Locale locale)
+			throws MavenReportException {
+		try {
+			final ReportSupport support = new ReportSupport(getLog());
+			loadExecutionData(support);
+			addFormatters(support, locale);
+			final IReportVisitor visitor = support.initRootVisitor();
+			createReport(visitor, support);
+			visitor.visitEnd();
+		} catch (final IOException e) {
+			throw new MavenReportException(
+					"Error while creating report: " + e.getMessage(), e);
+		}
+	}
+
+	private void addFormatters(final ReportSupport support, final Locale locale)
+			throws IOException {
+		getOutputDirectory().mkdirs();
+		for (final ReportFormat f : formats) {
+			support.addVisitor(f.createVisitor(this, locale));
+		}
+	}
+
+	abstract void loadExecutionData(final ReportSupport support)
+			throws IOException;
+
+	abstract void createReport(final IReportGroupVisitor visitor,
+			final ReportSupport support) throws IOException;
+
+}
+
\ No newline at end of file diff --git a/jacoco/trunk/coverage/jacoco-maven-plugin/org.jacoco.maven/AgentITMojo.html b/jacoco/trunk/coverage/jacoco-maven-plugin/org.jacoco.maven/AgentITMojo.html new file mode 100644 index 00000000000..8b0c47d562a --- /dev/null +++ b/jacoco/trunk/coverage/jacoco-maven-plugin/org.jacoco.maven/AgentITMojo.html @@ -0,0 +1 @@ +AgentITMojo

AgentITMojo

ElementMissed InstructionsCov.Missed BranchesCov.MissedCxtyMissedLinesMissedMethods
Total0 of 6100%0 of 0n/a020202
AgentITMojo()3100%n/a010101
getDestFile()3100%n/a010101
\ No newline at end of file diff --git a/jacoco/trunk/coverage/jacoco-maven-plugin/org.jacoco.maven/AgentITMojo.java.html b/jacoco/trunk/coverage/jacoco-maven-plugin/org.jacoco.maven/AgentITMojo.java.html new file mode 100644 index 00000000000..1678513b8f4 --- /dev/null +++ b/jacoco/trunk/coverage/jacoco-maven-plugin/org.jacoco.maven/AgentITMojo.java.html @@ -0,0 +1,51 @@ +AgentITMojo.java

AgentITMojo.java

/*******************************************************************************
+ * Copyright (c) 2009, 2024 Mountainminds GmbH & Co. KG and Contributors
+ * This program and the accompanying materials are made available under
+ * the terms of the Eclipse Public License 2.0 which is available at
+ * http://www.eclipse.org/legal/epl-2.0
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ *    Evgeny Mandrikov - initial API and implementation
+ *    Kyle Lieber - implementation of CheckMojo
+ *
+ *******************************************************************************/
+package org.jacoco.maven;
+
+import java.io.File;
+
+import org.apache.maven.plugins.annotations.LifecyclePhase;
+import org.apache.maven.plugins.annotations.Mojo;
+import org.apache.maven.plugins.annotations.Parameter;
+import org.apache.maven.plugins.annotations.ResolutionScope;
+
+/**
+ * Same as <code>prepare-agent</code>, but provides default values suitable for
+ * integration-tests:
+ * <ul>
+ * <li>bound to <code>pre-integration-test</code> phase</li>
+ * <li>different <code>destFile</code></li>
+ * </ul>
+ *
+ * @since 0.6.4
+ */
+@Mojo(name = "prepare-agent-integration", defaultPhase = LifecyclePhase.PRE_INTEGRATION_TEST, requiresDependencyResolution = ResolutionScope.RUNTIME, threadSafe = true)
+public class AgentITMojo extends AbstractAgentMojo {
+
+	/**
+	 * Path to the output file for execution data.
+	 */
+	@Parameter(property = "jacoco.destFile", defaultValue = "${project.build.directory}/jacoco-it.exec")
+	private File destFile;
+
+	/**
+	 * @return the destFile
+	 */
+	@Override
+	File getDestFile() {
+		return destFile;
+	}
+
+}
+
\ No newline at end of file diff --git a/jacoco/trunk/coverage/jacoco-maven-plugin/org.jacoco.maven/AgentMojo.html b/jacoco/trunk/coverage/jacoco-maven-plugin/org.jacoco.maven/AgentMojo.html new file mode 100644 index 00000000000..3d875f91a97 --- /dev/null +++ b/jacoco/trunk/coverage/jacoco-maven-plugin/org.jacoco.maven/AgentMojo.html @@ -0,0 +1 @@ +AgentMojo

AgentMojo

ElementMissed InstructionsCov.Missed BranchesCov.MissedCxtyMissedLinesMissedMethods
Total0 of 6100%0 of 0n/a020202
AgentMojo()3100%n/a010101
getDestFile()3100%n/a010101
\ No newline at end of file diff --git a/jacoco/trunk/coverage/jacoco-maven-plugin/org.jacoco.maven/AgentMojo.java.html b/jacoco/trunk/coverage/jacoco-maven-plugin/org.jacoco.maven/AgentMojo.java.html new file mode 100644 index 00000000000..5007305b452 --- /dev/null +++ b/jacoco/trunk/coverage/jacoco-maven-plugin/org.jacoco.maven/AgentMojo.java.html @@ -0,0 +1,106 @@ +AgentMojo.java

AgentMojo.java

/*******************************************************************************
+ * Copyright (c) 2009, 2024 Mountainminds GmbH & Co. KG and Contributors
+ * This program and the accompanying materials are made available under
+ * the terms of the Eclipse Public License 2.0 which is available at
+ * http://www.eclipse.org/legal/epl-2.0
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ *    Evgeny Mandrikov - initial API and implementation
+ *
+ *******************************************************************************/
+package org.jacoco.maven;
+
+import java.io.File;
+
+import org.apache.maven.plugins.annotations.LifecyclePhase;
+import org.apache.maven.plugins.annotations.Mojo;
+import org.apache.maven.plugins.annotations.Parameter;
+import org.apache.maven.plugins.annotations.ResolutionScope;
+
+/**
+ * <p>
+ * Prepares a property pointing to the JaCoCo runtime agent that can be passed
+ * as a VM argument to the application under test. Depending on the project
+ * packaging type by default a property with the following name is set:
+ * </p>
+ *
+ * <ul>
+ * <li>tycho.testArgLine for packaging type eclipse-test-plugin and</li>
+ * <li>argLine otherwise.</li>
+ * </ul>
+ *
+ * <p>
+ * If your project already defines VM arguments for test execution, be sure that
+ * they will include property defined by JaCoCo.
+ * </p>
+ *
+ * <p>
+ * One of the ways to do this in case of maven-surefire-plugin - is to use
+ * syntax for <a href=
+ * "http://maven.apache.org/surefire/maven-surefire-plugin/faq.html#late-property-evaluation">late
+ * property evaluation</a>:
+ * </p>
+ *
+ * <pre>
+ *   &lt;plugin&gt;
+ *     &lt;groupId&gt;org.apache.maven.plugins&lt;/groupId&gt;
+ *     &lt;artifactId&gt;maven-surefire-plugin&lt;/artifactId&gt;
+ *     &lt;configuration&gt;
+ *       &lt;argLine&gt;@{argLine} -your -extra -arguments&lt;/argLine&gt;
+ *     &lt;/configuration&gt;
+ *   &lt;/plugin&gt;
+ * </pre>
+ *
+ * <p>
+ * You can define empty property to avoid JVM startup error
+ * <code>Could not find or load main class @{argLine}</code> when using late
+ * property evaluation and jacoco-maven-plugin not executed.
+ * </p>
+ *
+ * <p>
+ * Another way is to define "argLine" as a Maven property rather than as part of
+ * the configuration of maven-surefire-plugin:
+ * </p>
+ *
+ * <pre>
+ *   &lt;properties&gt;
+ *     &lt;argLine&gt;-your -extra -arguments&lt;/argLine&gt;
+ *   &lt;/properties&gt;
+ *   ...
+ *   &lt;plugin&gt;
+ *     &lt;groupId&gt;org.apache.maven.plugins&lt;/groupId&gt;
+ *     &lt;artifactId&gt;maven-surefire-plugin&lt;/artifactId&gt;
+ *     &lt;configuration&gt;
+ *       &lt;!-- no argLine here --&gt;
+ *     &lt;/configuration&gt;
+ *   &lt;/plugin&gt;
+ * </pre>
+ *
+ * <p>
+ * Resulting coverage information is collected during execution and by default
+ * written to a file when the process terminates.
+ * </p>
+ *
+ * @since 0.5.3
+ */
+@Mojo(name = "prepare-agent", defaultPhase = LifecyclePhase.INITIALIZE, requiresDependencyResolution = ResolutionScope.RUNTIME, threadSafe = true)
+public class AgentMojo extends AbstractAgentMojo {
+
+	/**
+	 * Path to the output file for execution data.
+	 */
+	@Parameter(property = "jacoco.destFile", defaultValue = "${project.build.directory}/jacoco.exec")
+	private File destFile;
+
+	/**
+	 * @return the destFile
+	 */
+	@Override
+	File getDestFile() {
+		return destFile;
+	}
+
+}
+
\ No newline at end of file diff --git a/jacoco/trunk/coverage/jacoco-maven-plugin/org.jacoco.maven/CheckMojo.html b/jacoco/trunk/coverage/jacoco-maven-plugin/org.jacoco.maven/CheckMojo.html new file mode 100644 index 00000000000..2933647733b --- /dev/null +++ b/jacoco/trunk/coverage/jacoco-maven-plugin/org.jacoco.maven/CheckMojo.html @@ -0,0 +1 @@ +CheckMojo

CheckMojo

ElementMissed InstructionsCov.Missed BranchesCov.MissedCxtyMissedLinesMissedMethods
Total43 of 15171%3 of 1275%31183805
canCheckCoverage()271738%2250%234901
executeCheck()157483%6100%0432101
executeMojo()1685%1150%121401
onViolation(ICoverageNode, Rule, Limit, String)8100%n/a010301
CheckMojo()3100%n/a010101
\ No newline at end of file diff --git a/jacoco/trunk/coverage/jacoco-maven-plugin/org.jacoco.maven/CheckMojo.java.html b/jacoco/trunk/coverage/jacoco-maven-plugin/org.jacoco.maven/CheckMojo.java.html new file mode 100644 index 00000000000..616d85776a6 --- /dev/null +++ b/jacoco/trunk/coverage/jacoco-maven-plugin/org.jacoco.maven/CheckMojo.java.html @@ -0,0 +1,210 @@ +CheckMojo.java

CheckMojo.java

/*******************************************************************************
+ * Copyright (c) 2009, 2024 Mountainminds GmbH & Co. KG and Contributors
+ * This program and the accompanying materials are made available under
+ * the terms of the Eclipse Public License 2.0 which is available at
+ * http://www.eclipse.org/legal/epl-2.0
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ *    Evgeny Mandrikov - initial API and implementation
+ *    Kyle Lieber - implementation of CheckMojo
+ *    Marc Hoffmann - redesign using report APIs
+ *
+ *******************************************************************************/
+package org.jacoco.maven;
+
+import java.io.File;
+import java.io.IOException;
+import java.util.ArrayList;
+import java.util.List;
+
+import org.apache.maven.plugin.MojoExecutionException;
+import org.apache.maven.plugins.annotations.LifecyclePhase;
+import org.apache.maven.plugins.annotations.Mojo;
+import org.apache.maven.plugins.annotations.Parameter;
+import org.jacoco.core.analysis.ICoverageNode;
+import org.jacoco.report.IReportVisitor;
+import org.jacoco.report.check.IViolationsOutput;
+import org.jacoco.report.check.Limit;
+import org.jacoco.report.check.Rule;
+
+/**
+ * Checks that the code coverage metrics are being met.
+ *
+ * @since 0.6.1
+ */
+@Mojo(name = "check", defaultPhase = LifecyclePhase.VERIFY, threadSafe = true)
+public class CheckMojo extends AbstractJacocoMojo implements IViolationsOutput {
+
+	private static final String MSG_SKIPPING = "Skipping JaCoCo execution due to missing execution data file:";
+	private static final String CHECK_SUCCESS = "All coverage checks have been met.";
+	private static final String CHECK_FAILED = "Coverage checks have not been met. See log for details.";
+
+	/**
+	 * <p>
+	 * Check configuration used to specify rules on element types (BUNDLE,
+	 * PACKAGE, CLASS, SOURCEFILE or METHOD) with a list of limits. Each limit
+	 * applies to a certain counter (INSTRUCTION, LINE, BRANCH, COMPLEXITY,
+	 * METHOD, CLASS) and defines a minimum or maximum for the corresponding
+	 * value (TOTALCOUNT, COVEREDCOUNT, MISSEDCOUNT, COVEREDRATIO, MISSEDRATIO).
+	 * If a limit refers to a ratio it must be in the range from 0.0 to 1.0
+	 * where the number of decimal places will also determine the precision in
+	 * error messages. A limit ratio may optionally be declared as a percentage
+	 * where 0.80 and 80% represent the same value.
+	 * </p>
+	 *
+	 * <p>
+	 * If not specified the following defaults are assumed:
+	 * </p>
+	 *
+	 * <ul>
+	 * <li>rule element: BUNDLE</li>
+	 * <li>limit counter: INSTRUCTION</li>
+	 * <li>limit value: COVEREDRATIO</li>
+	 * </ul>
+	 *
+	 * <p>
+	 * This example requires an overall instruction coverage of 80% and no class
+	 * must be missed:
+	 * </p>
+	 *
+	 * <pre>
+	 * {@code
+	 * <rules>
+	 *   <rule>
+	 *     <element>BUNDLE</element>
+	 *     <limits>
+	 *       <limit>
+	 *         <counter>INSTRUCTION</counter>
+	 *         <value>COVEREDRATIO</value>
+	 *         <minimum>0.80</minimum>
+	 *       </limit>
+	 *       <limit>
+	 *         <counter>CLASS</counter>
+	 *         <value>MISSEDCOUNT</value>
+	 *         <maximum>0</maximum>
+	 *       </limit>
+	 *     </limits>
+	 *   </rule>
+	 * </rules>}
+	 * </pre>
+	 *
+	 * <p>
+	 * This example requires a line coverage minimum of 50% for every class
+	 * except test classes:
+	 * </p>
+	 *
+	 * <pre>
+	 * {@code
+	 * <rules>
+	 *   <rule>
+	 *     <element>CLASS</element>
+	 *     <excludes>
+	 *       <exclude>*Test</exclude>
+	 *     </excludes>
+	 *     <limits>
+	 *       <limit>
+	 *         <counter>LINE</counter>
+	 *         <value>COVEREDRATIO</value>
+	 *         <minimum>50%</minimum>
+	 *       </limit>
+	 *     </limits>
+	 *   </rule>
+	 * </rules>}
+	 * </pre>
+	 */
+	@Parameter(required = true)
+	private List<RuleConfiguration> rules;
+
+	/**
+	 * Halt the build if any of the checks fail.
+	 */
+	@Parameter(property = "jacoco.haltOnFailure", defaultValue = "true", required = true)
+	private boolean haltOnFailure;
+
+	/**
+	 * File with execution data.
+	 */
+	@Parameter(defaultValue = "${project.build.directory}/jacoco.exec")
+	private File dataFile;
+
+	/**
+	 * A list of class files to include into analysis. May use wildcard
+	 * characters (* and ?). When not specified everything will be included.
+	 */
+	@Parameter
+	private List<String> includes;
+
+	/**
+	 * A list of class files to exclude from analysis. May use wildcard
+	 * characters (* and ?). When not specified nothing will be excluded.
+	 */
+	@Parameter
+	private List<String> excludes;
+
+	private boolean violations;
+
+	private boolean canCheckCoverage() {
+		if (!dataFile.exists()) {
+			getLog().info(MSG_SKIPPING + dataFile);
+			return false;
+		}
+		final File classesDirectory = new File(
+				getProject().getBuild().getOutputDirectory());
+		if (!classesDirectory.exists()) {
+			getLog().info(
+					"Skipping JaCoCo execution due to missing classes directory:"
+							+ classesDirectory);
+			return false;
+		}
+		return true;
+	}
+
+	@Override
+	public void executeMojo() throws MojoExecutionException {
+		if (!canCheckCoverage()) {
+			return;
+		}
+		executeCheck();
+	}
+
+	private void executeCheck() throws MojoExecutionException {
+		violations = false;
+
+		final ReportSupport support = new ReportSupport(getLog());
+
+		final List<Rule> checkerrules = new ArrayList<Rule>();
+		for (final RuleConfiguration r : rules) {
+			checkerrules.add(r.rule);
+		}
+		support.addRulesChecker(checkerrules, this);
+
+		try {
+			final IReportVisitor visitor = support.initRootVisitor();
+			support.loadExecutionData(dataFile);
+			support.processProject(visitor, getProject(), includes, excludes);
+			visitor.visitEnd();
+		} catch (final IOException e) {
+			throw new MojoExecutionException(
+					"Error while checking code coverage: " + e.getMessage(), e);
+		}
+		if (violations) {
+			if (this.haltOnFailure) {
+				throw new MojoExecutionException(CHECK_FAILED);
+			} else {
+				this.getLog().warn(CHECK_FAILED);
+			}
+		} else {
+			this.getLog().info(CHECK_SUCCESS);
+		}
+	}
+
+	public void onViolation(final ICoverageNode node, final Rule rule,
+			final Limit limit, final String message) {
+		this.getLog().warn(message);
+		violations = true;
+	}
+
+}
+
\ No newline at end of file diff --git a/jacoco/trunk/coverage/jacoco-maven-plugin/org.jacoco.maven/DumpMojo$1.html b/jacoco/trunk/coverage/jacoco-maven-plugin/org.jacoco.maven/DumpMojo$1.html new file mode 100644 index 00000000000..b2d1f3f3c35 --- /dev/null +++ b/jacoco/trunk/coverage/jacoco-maven-plugin/org.jacoco.maven/DumpMojo$1.html @@ -0,0 +1 @@ +DumpMojo.new ExecDumpClient() {...}

DumpMojo.new ExecDumpClient() {...}

ElementMissed InstructionsCov.Missed BranchesCov.MissedCxtyMissedLinesMissedMethods
Total0 of 31100%0 of 0n/a030603
onConnecting(InetAddress, int)18100%n/a010301
onConnectionFailure(IOException)7100%n/a010201
{...}6100%n/a010101
\ No newline at end of file diff --git a/jacoco/trunk/coverage/jacoco-maven-plugin/org.jacoco.maven/DumpMojo.html b/jacoco/trunk/coverage/jacoco-maven-plugin/org.jacoco.maven/DumpMojo.html new file mode 100644 index 00000000000..897983cf4c7 --- /dev/null +++ b/jacoco/trunk/coverage/jacoco-maven-plugin/org.jacoco.maven/DumpMojo.html @@ -0,0 +1 @@ +DumpMojo

DumpMojo

ElementMissed InstructionsCov.Missed BranchesCov.MissedCxtyMissedLinesMissedMethods
Total7 of 5887%1 of 250%1321402
executeMojo()74887%1150%1221301
DumpMojo()3100%n/a010101
\ No newline at end of file diff --git a/jacoco/trunk/coverage/jacoco-maven-plugin/org.jacoco.maven/DumpMojo.java.html b/jacoco/trunk/coverage/jacoco-maven-plugin/org.jacoco.maven/DumpMojo.java.html new file mode 100644 index 00000000000..c01803c14c7 --- /dev/null +++ b/jacoco/trunk/coverage/jacoco-maven-plugin/org.jacoco.maven/DumpMojo.java.html @@ -0,0 +1,124 @@ +DumpMojo.java

DumpMojo.java

/*******************************************************************************
+ * Copyright (c) 2009, 2024 Mountainminds GmbH & Co. KG and Contributors
+ * This program and the accompanying materials are made available under
+ * the terms of the Eclipse Public License 2.0 which is available at
+ * http://www.eclipse.org/legal/epl-2.0
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ *    Chas Honton, Marc R. Hoffmann - initial implementation
+ *
+ *******************************************************************************/
+package org.jacoco.maven;
+
+import static java.lang.String.format;
+
+import java.io.File;
+import java.io.IOException;
+import java.net.InetAddress;
+
+import org.apache.maven.plugin.MojoExecutionException;
+import org.apache.maven.plugins.annotations.LifecyclePhase;
+import org.apache.maven.plugins.annotations.Mojo;
+import org.apache.maven.plugins.annotations.Parameter;
+import org.jacoco.core.tools.ExecDumpClient;
+import org.jacoco.core.tools.ExecFileLoader;
+
+/**
+ * <p>
+ * Request a dump over TCP/IP from a JaCoCo agent running in
+ * <code>tcpserver</code> mode.
+ * </p>
+ *
+ * <p>
+ * Note concerning parallel builds: While the dump goal as such is thread safe,
+ * it has to be considered that TCP/IP server ports of the agents are a shared
+ * resource.
+ * </p>
+ *
+ * @since 0.6.4
+ */
+@Mojo(name = "dump", defaultPhase = LifecyclePhase.POST_INTEGRATION_TEST, threadSafe = true)
+public class DumpMojo extends AbstractJacocoMojo {
+
+	/**
+	 * Path to the output file for execution data.
+	 */
+	@Parameter(property = "jacoco.destFile", defaultValue = "${project.build.directory}/jacoco.exec")
+	private File destFile;
+
+	/**
+	 * If set to true and the execution data file already exists, coverage data
+	 * is appended to the existing file. If set to false, an existing execution
+	 * data file will be replaced.
+	 */
+	@Parameter(property = "jacoco.append", defaultValue = "true")
+	private boolean append;
+
+	/**
+	 * Sets whether execution data should be downloaded from the remote host.
+	 */
+	@Parameter(property = "jacoco.dump", defaultValue = "true")
+	private boolean dump;
+
+	/**
+	 * Sets whether a reset command should be sent after the execution data has
+	 * been dumped.
+	 */
+	@Parameter(property = "jacoco.reset", defaultValue = "false")
+	private boolean reset;
+
+	/**
+	 * IP address or hostname to connect to.
+	 */
+	@Parameter(property = "jacoco.address")
+	private String address;
+
+	/**
+	 * Port number to connect to. If multiple JaCoCo agents should run on the
+	 * same machine, different ports have to be specified for the agents.
+	 */
+	@Parameter(property = "jacoco.port", defaultValue = "6300")
+	private int port;
+
+	/**
+	 * Number of retries which the goal will attempt to establish a connection.
+	 * This can be used to wait until the target JVM is successfully launched.
+	 */
+	@Parameter(property = "jacoco.retryCount", defaultValue = "10")
+	private int retryCount;
+
+	@Override
+	public void executeMojo() throws MojoExecutionException {
+		final ExecDumpClient client = new ExecDumpClient() {
+			@Override
+			protected void onConnecting(final InetAddress address,
+					final int port) {
+				getLog().info(format("Connecting to %s:%s", address,
+						Integer.valueOf(port)));
+			}
+
+			@Override
+			protected void onConnectionFailure(final IOException exception) {
+				getLog().info(exception.getMessage());
+			}
+		};
+		client.setDump(dump);
+		client.setReset(reset);
+		client.setRetryCount(retryCount);
+
+		try {
+			final ExecFileLoader loader = client.dump(address, port);
+			if (dump) {
+				getLog().info(format("Dumping execution data to %s",
+						destFile.getAbsolutePath()));
+				loader.save(destFile, append);
+			}
+		} catch (final IOException e) {
+			throw new MojoExecutionException("Unable to dump coverage data", e);
+		}
+	}
+
+}
+
\ No newline at end of file diff --git a/jacoco/trunk/coverage/jacoco-maven-plugin/org.jacoco.maven/FileFilter.html b/jacoco/trunk/coverage/jacoco-maven-plugin/org.jacoco.maven/FileFilter.html new file mode 100644 index 00000000000..427c19d77b7 --- /dev/null +++ b/jacoco/trunk/coverage/jacoco-maven-plugin/org.jacoco.maven/FileFilter.html @@ -0,0 +1 @@ +FileFilter

FileFilter

ElementMissed InstructionsCov.Missed BranchesCov.MissedCxtyMissedLinesMissedMethods
Total0 of 50100%1 of 475%1801206
buildPattern(List, String)14100%1375%130401
FileFilter(List, List)9100%n/a010401
getFileNames(File)8100%n/a010101
getFiles(File)7100%n/a010101
getIncludes()6100%n/a010101
getExcludes()6100%n/a010101
\ No newline at end of file diff --git a/jacoco/trunk/coverage/jacoco-maven-plugin/org.jacoco.maven/FileFilter.java.html b/jacoco/trunk/coverage/jacoco-maven-plugin/org.jacoco.maven/FileFilter.java.html new file mode 100644 index 00000000000..8ac2c7c1b88 --- /dev/null +++ b/jacoco/trunk/coverage/jacoco-maven-plugin/org.jacoco.maven/FileFilter.java.html @@ -0,0 +1,102 @@ +FileFilter.java

FileFilter.java

/*******************************************************************************
+ * Copyright (c) 2009, 2024 Mountainminds GmbH & Co. KG and Contributors
+ * This program and the accompanying materials are made available under
+ * the terms of the Eclipse Public License 2.0 which is available at
+ * http://www.eclipse.org/legal/epl-2.0
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ *    Evgeny Mandrikov - initial API and implementation
+ *    Kyle Lieber - implementation of CheckMojo
+ *
+ *******************************************************************************/
+package org.jacoco.maven;
+
+import java.io.File;
+import java.io.IOException;
+import java.util.List;
+
+import org.codehaus.plexus.util.FileUtils;
+import org.codehaus.plexus.util.StringUtils;
+
+/**
+ * A file filter using includes/excludes patterns.
+ */
+public class FileFilter {
+
+	private static final String DEFAULT_INCLUDES = "**";
+	private static final String DEFAULT_EXCLUDES = "";
+
+	private final List<String> includes;
+	private final List<String> excludes;
+
+	/**
+	 * Construct a new FileFilter
+	 *
+	 * @param includes
+	 *            list of includes patterns
+	 * @param excludes
+	 *            list of excludes patterns
+	 */
+	public FileFilter(final List<String> includes,
+			final List<String> excludes) {
+		this.includes = includes;
+		this.excludes = excludes;
+	}
+
+	/**
+	 * Returns a list of file names.
+	 *
+	 * @param directory
+	 *            the directory to scan
+	 * @return a list of files
+	 * @throws IOException
+	 *             if file system access fails
+	 */
+	public List<String> getFileNames(final File directory) throws IOException {
+		return FileUtils.getFileNames(directory, getIncludes(), getExcludes(),
+				false);
+	}
+
+	/**
+	 * Returns a list of files.
+	 *
+	 * @param directory
+	 *            the directory to scan
+	 * @return a list of files
+	 * @throws IOException
+	 *             if file system access fails
+	 */
+	public List<File> getFiles(final File directory) throws IOException {
+		return FileUtils.getFiles(directory, getIncludes(), getExcludes());
+	}
+
+	/**
+	 * Get the includes pattern
+	 *
+	 * @return the pattern
+	 */
+	public String getIncludes() {
+		return this.buildPattern(this.includes, DEFAULT_INCLUDES);
+	}
+
+	/**
+	 * Get the excludes pattern
+	 *
+	 * @return the pattern
+	 */
+	public String getExcludes() {
+		return this.buildPattern(this.excludes, DEFAULT_EXCLUDES);
+	}
+
+	private String buildPattern(final List<String> patterns,
+			final String defaultPattern) {
+		String pattern = defaultPattern;
+		if (patterns != null && !patterns.isEmpty()) {
+			pattern = StringUtils.join(patterns.iterator(), ",");
+		}
+		return pattern;
+	}
+}
+
\ No newline at end of file diff --git a/jacoco/trunk/coverage/jacoco-maven-plugin/org.jacoco.maven/InstrumentMojo.html b/jacoco/trunk/coverage/jacoco-maven-plugin/org.jacoco.maven/InstrumentMojo.html new file mode 100644 index 00000000000..12ad1b1f1ef --- /dev/null +++ b/jacoco/trunk/coverage/jacoco-maven-plugin/org.jacoco.maven/InstrumentMojo.html @@ -0,0 +1 @@ +InstrumentMojo

InstrumentMojo

ElementMissed InstructionsCov.Missed BranchesCov.MissedCxtyMissedLinesMissedMethods
Total14 of 12588%1 of 683%1543102
executeMojo()1410888%1583%1443001
InstrumentMojo()3100%n/a010101
\ No newline at end of file diff --git a/jacoco/trunk/coverage/jacoco-maven-plugin/org.jacoco.maven/InstrumentMojo.java.html b/jacoco/trunk/coverage/jacoco-maven-plugin/org.jacoco.maven/InstrumentMojo.java.html new file mode 100644 index 00000000000..a9fc2657cd9 --- /dev/null +++ b/jacoco/trunk/coverage/jacoco-maven-plugin/org.jacoco.maven/InstrumentMojo.java.html @@ -0,0 +1,116 @@ +InstrumentMojo.java

InstrumentMojo.java

/*******************************************************************************
+ * Copyright (c) 2009, 2024 Mountainminds GmbH & Co. KG and Contributors
+ * This program and the accompanying materials are made available under
+ * the terms of the Eclipse Public License 2.0 which is available at
+ * http://www.eclipse.org/legal/epl-2.0
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ *    Evgeny Mandrikov - initial API and implementation
+ *
+ *******************************************************************************/
+package org.jacoco.maven;
+
+import java.io.File;
+import java.io.FileInputStream;
+import java.io.FileOutputStream;
+import java.io.IOException;
+import java.io.InputStream;
+import java.io.OutputStream;
+import java.util.List;
+
+import org.apache.maven.plugin.MojoExecutionException;
+import org.apache.maven.plugin.MojoFailureException;
+import org.apache.maven.plugins.annotations.LifecyclePhase;
+import org.apache.maven.plugins.annotations.Mojo;
+import org.apache.maven.plugins.annotations.Parameter;
+import org.codehaus.plexus.util.FileUtils;
+import org.codehaus.plexus.util.IOUtil;
+import org.jacoco.core.instr.Instrumenter;
+import org.jacoco.core.runtime.OfflineInstrumentationAccessGenerator;
+
+/**
+ * Performs offline instrumentation. Note that after execution of test you must
+ * restore original classes with help of "restore-instrumented-classes" goal.
+ * <p>
+ * <strong>Warning:</strong> The preferred way for code coverage analysis with
+ * JaCoCo is on-the-fly instrumentation. Offline instrumentation has several
+ * drawbacks and should only be used if a specific scenario explicitly requires
+ * this mode. Please consult <a href="offline.html">documentation</a> about
+ * offline instrumentation before using this mode.
+ * </p>
+ *
+ * @since 0.6.2
+ */
+@Mojo(name = "instrument", defaultPhase = LifecyclePhase.PROCESS_CLASSES, threadSafe = true)
+public class InstrumentMojo extends AbstractJacocoMojo {
+
+	/**
+	 * A list of class files to include in instrumentation. May use wildcard
+	 * characters (* and ?). When not specified everything will be included.
+	 */
+	@Parameter
+	private List<String> includes;
+
+	/**
+	 * A list of class files to exclude from instrumentation. May use wildcard
+	 * characters (* and ?). When not specified nothing will be excluded. Except
+	 * for performance optimization or technical corner cases this option is
+	 * normally not required. If you want to exclude classes from the report
+	 * please configure the <code>report</code> goal accordingly.
+	 */
+	@Parameter
+	private List<String> excludes;
+
+	@Override
+	public void executeMojo()
+			throws MojoExecutionException, MojoFailureException {
+		final File originalClassesDir = new File(
+				getProject().getBuild().getDirectory(),
+				"generated-classes/jacoco");
+		originalClassesDir.mkdirs();
+		final File classesDir = new File(
+				getProject().getBuild().getOutputDirectory());
+		if (!classesDir.exists()) {
+			getLog().info(
+					"Skipping JaCoCo execution due to missing classes directory:"
+							+ classesDir);
+			return;
+		}
+
+		final List<String> fileNames;
+		try {
+			fileNames = new FileFilter(includes, excludes)
+					.getFileNames(classesDir);
+		} catch (final IOException e1) {
+			throw new MojoExecutionException(
+					"Unable to get list of files to instrument.", e1);
+		}
+
+		final Instrumenter instrumenter = new Instrumenter(
+				new OfflineInstrumentationAccessGenerator());
+		for (final String fileName : fileNames) {
+			if (fileName.endsWith(".class")) {
+				final File source = new File(classesDir, fileName);
+				final File backup = new File(originalClassesDir, fileName);
+				InputStream input = null;
+				OutputStream output = null;
+				try {
+					FileUtils.copyFile(source, backup);
+					input = new FileInputStream(backup);
+					output = new FileOutputStream(source);
+					instrumenter.instrument(input, output, source.getPath());
+				} catch (final IOException e2) {
+					throw new MojoExecutionException(
+							"Unable to instrument file.", e2);
+				} finally {
+					IOUtil.close(input);
+					IOUtil.close(output);
+				}
+			}
+		}
+	}
+
+}
+
\ No newline at end of file diff --git a/jacoco/trunk/coverage/jacoco-maven-plugin/org.jacoco.maven/MergeMojo.html b/jacoco/trunk/coverage/jacoco-maven-plugin/org.jacoco.maven/MergeMojo.html new file mode 100644 index 00000000000..c74b1ccd994 --- /dev/null +++ b/jacoco/trunk/coverage/jacoco-maven-plugin/org.jacoco.maven/MergeMojo.html @@ -0,0 +1 @@ +MergeMojo

MergeMojo

ElementMissed InstructionsCov.Missed BranchesCov.MissedCxtyMissedLinesMissedMethods
Total44 of 15972%5 of 1464%513124006
save(ExecFileLoader)212554%1150%1251101
load(ExecFileLoader)166179%1583%1441601
canMergeReports()6960%2250%232401
executeMojo()1685%1150%121401
executeMerge()11100%n/a010401
MergeMojo()3100%n/a010101
\ No newline at end of file diff --git a/jacoco/trunk/coverage/jacoco-maven-plugin/org.jacoco.maven/MergeMojo.java.html b/jacoco/trunk/coverage/jacoco-maven-plugin/org.jacoco.maven/MergeMojo.java.html new file mode 100644 index 00000000000..349d8783b10 --- /dev/null +++ b/jacoco/trunk/coverage/jacoco-maven-plugin/org.jacoco.maven/MergeMojo.java.html @@ -0,0 +1,128 @@ +MergeMojo.java

MergeMojo.java

/*******************************************************************************
+ * Copyright (c) 2009, 2024 Mountainminds GmbH & Co. KG and Contributors
+ * This program and the accompanying materials are made available under
+ * the terms of the Eclipse Public License 2.0 which is available at
+ * http://www.eclipse.org/legal/epl-2.0
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ *    Mads Mohr Christensen - implementation of MergeMojo
+ *
+ *******************************************************************************/
+package org.jacoco.maven;
+
+import java.io.File;
+import java.io.IOException;
+import java.util.List;
+
+import org.apache.maven.plugin.MojoExecutionException;
+import org.apache.maven.plugin.MojoFailureException;
+import org.apache.maven.plugins.annotations.LifecyclePhase;
+import org.apache.maven.plugins.annotations.Mojo;
+import org.apache.maven.plugins.annotations.Parameter;
+import org.apache.maven.shared.model.fileset.FileSet;
+import org.apache.maven.shared.model.fileset.util.FileSetManager;
+import org.jacoco.core.tools.ExecFileLoader;
+
+/**
+ * Mojo for merging a set of execution data files (*.exec) into a single file
+ *
+ * @since 0.6.4
+ */
+@Mojo(name = "merge", defaultPhase = LifecyclePhase.GENERATE_RESOURCES, threadSafe = true)
+public class MergeMojo extends AbstractJacocoMojo {
+
+	private static final String MSG_SKIPPING = "Skipping JaCoCo merge execution due to missing execution data files";
+
+	/**
+	 * Path to the output file for execution data.
+	 */
+	@Parameter(property = "jacoco.destFile", defaultValue = "${project.build.directory}/jacoco.exec")
+	private File destFile;
+
+	/**
+	 * This mojo accepts any number of execution data file sets.
+	 *
+	 * <pre>
+	 * <code>
+	 * &lt;fileSets&gt;
+	 *   &lt;fileSet&gt;
+	 *     &lt;directory&gt;${project.build.directory}&lt;/directory&gt;
+	 *     &lt;includes&gt;
+	 *       &lt;include&gt;*.exec&lt;/include&gt;
+	 *     &lt;/includes&gt;
+	 *   &lt;/fileSet&gt;
+	 * &lt;/fileSets&gt;
+	 * </code>
+	 * </pre>
+	 */
+	@Parameter(required = true)
+	private List<FileSet> fileSets;
+
+	@Override
+	protected void executeMojo()
+			throws MojoExecutionException, MojoFailureException {
+		if (!canMergeReports()) {
+			return;
+		}
+		executeMerge();
+	}
+
+	private boolean canMergeReports() {
+		if (fileSets == null || fileSets.isEmpty()) {
+			getLog().info(MSG_SKIPPING);
+			return false;
+		}
+		return true;
+	}
+
+	private void executeMerge() throws MojoExecutionException {
+		final ExecFileLoader loader = new ExecFileLoader();
+
+		load(loader);
+		save(loader);
+	}
+
+	private void load(final ExecFileLoader loader)
+			throws MojoExecutionException {
+		final FileSetManager fileSetManager = new FileSetManager();
+		for (final FileSet fileSet : fileSets) {
+			for (final String includedFilename : fileSetManager
+					.getIncludedFiles(fileSet)) {
+				final File inputFile = new File(fileSet.getDirectory(),
+						includedFilename);
+				if (inputFile.isDirectory()) {
+					continue;
+				}
+				try {
+					getLog().info("Loading execution data file "
+							+ inputFile.getAbsolutePath());
+					loader.load(inputFile);
+				} catch (final IOException e) {
+					throw new MojoExecutionException(
+							"Unable to read " + inputFile.getAbsolutePath(), e);
+				}
+			}
+		}
+	}
+
+	private void save(final ExecFileLoader loader)
+			throws MojoExecutionException {
+		if (loader.getExecutionDataStore().getContents().isEmpty()) {
+			getLog().info(MSG_SKIPPING);
+			return;
+		}
+		getLog().info("Writing merged execution data to "
+				+ destFile.getAbsolutePath());
+		try {
+			loader.save(destFile, false);
+		} catch (final IOException e) {
+			throw new MojoExecutionException(
+					"Unable to write merged file " + destFile.getAbsolutePath(),
+					e);
+		}
+	}
+
+}
+
\ No newline at end of file diff --git a/jacoco/trunk/coverage/jacoco-maven-plugin/org.jacoco.maven/ReportAggregateMojo.html b/jacoco/trunk/coverage/jacoco-maven-plugin/org.jacoco.maven/ReportAggregateMojo.html new file mode 100644 index 00000000000..7a001f1b0c0 --- /dev/null +++ b/jacoco/trunk/coverage/jacoco-maven-plugin/org.jacoco.maven/ReportAggregateMojo.html @@ -0,0 +1 @@ +ReportAggregateMojo

ReportAggregateMojo

ElementMissed InstructionsCov.Missed BranchesCov.MissedCxtyMissedLinesMissedMethods
Total12 of 26495%2 of 2892%328458114
findProjectFromReactor(Dependency)64387%8100%0521401
setReportOutputDirectory(File)31684%2250%231501
getReportOutputDirectory()30%n/a111111
loadExecutionData(ReportSupport)64100%4100%030801
createReport(IReportGroupVisitor, ReportSupport)46100%4100%030701
findDependencies(String[])39100%6100%0401001
loadExecutionData(ReportSupport, FileFilter, File)17100%2100%020401
processProject(ReportSupport, IReportGroupVisitor, MavenProject)13100%n/a010301
ReportAggregateMojo()3100%n/a010101
getOutputDirectory()3100%n/a010101
canGenerateReportRegardingDataFiles()2100%n/a010101
canGenerateReportRegardingClassesDirectory()2100%n/a010101
getOutputName()2100%n/a010101
getName(Locale)2100%n/a010101
\ No newline at end of file diff --git a/jacoco/trunk/coverage/jacoco-maven-plugin/org.jacoco.maven/ReportAggregateMojo.java.html b/jacoco/trunk/coverage/jacoco-maven-plugin/org.jacoco.maven/ReportAggregateMojo.java.html new file mode 100644 index 00000000000..136e9f4bba5 --- /dev/null +++ b/jacoco/trunk/coverage/jacoco-maven-plugin/org.jacoco.maven/ReportAggregateMojo.java.html @@ -0,0 +1,226 @@ +ReportAggregateMojo.java

ReportAggregateMojo.java

/*******************************************************************************
+ * Copyright (c) 2009, 2024 Mountainminds GmbH & Co. KG and Contributors
+ * This program and the accompanying materials are made available under
+ * the terms of the Eclipse Public License 2.0 which is available at
+ * http://www.eclipse.org/legal/epl-2.0
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ *    John Oliver, Marc R. Hoffmann, Jan Wloka - initial API and implementation
+ *
+ *******************************************************************************/
+package org.jacoco.maven;
+
+import java.io.File;
+import java.io.IOException;
+import java.util.ArrayList;
+import java.util.Arrays;
+import java.util.List;
+import java.util.Locale;
+
+import org.apache.maven.artifact.Artifact;
+import org.apache.maven.artifact.versioning.DefaultArtifactVersion;
+import org.apache.maven.artifact.versioning.InvalidVersionSpecificationException;
+import org.apache.maven.artifact.versioning.VersionRange;
+import org.apache.maven.model.Dependency;
+import org.apache.maven.plugins.annotations.Mojo;
+import org.apache.maven.plugins.annotations.Parameter;
+import org.apache.maven.project.MavenProject;
+import org.jacoco.report.IReportGroupVisitor;
+
+/**
+ * <p>
+ * Creates a structured code coverage report (HTML, XML, and CSV) from multiple
+ * projects within reactor. The report is created from all modules this project
+ * depends on, and optionally this project itself. From those projects class and
+ * source files as well as JaCoCo execution data files will be collected. In
+ * addition execution data is collected from the project itself. This also
+ * allows to create coverage reports when tests are in separate projects than
+ * the code under test, for example in case of integration tests.
+ * </p>
+ *
+ * <p>
+ * Using the dependency scope allows to distinguish projects which contribute
+ * execution data but should not become part of the report:
+ * </p>
+ *
+ * <ul>
+ * <li><code>compile</code>, <code>runtime</code>, <code>provided</code>:
+ * Project source and execution data is included in the report.</li>
+ * <li><code>test</code>: Only execution data is considered for the report.</li>
+ * </ul>
+ *
+ * @since 0.7.7
+ */
+@Mojo(name = "report-aggregate", threadSafe = true)
+public class ReportAggregateMojo extends AbstractReportMojo {
+
+	/**
+	 * A list of execution data files to include in the report from each
+	 * project. May use wildcard characters (* and ?). When not specified all
+	 * *.exec files from the target folder will be included.
+	 */
+	@Parameter
+	List<String> dataFileIncludes;
+
+	/**
+	 * A list of execution data files to exclude from the report. May use
+	 * wildcard characters (* and ?). When not specified nothing will be
+	 * excluded.
+	 */
+	@Parameter
+	List<String> dataFileExcludes;
+
+	/**
+	 * Output directory for the reports. Note that this parameter is only
+	 * relevant if the goal is run from the command line or from the default
+	 * build lifecycle. If the goal is run indirectly as part of a site
+	 * generation, the output directory configured in the Maven Site Plugin is
+	 * used instead.
+	 */
+	@Parameter(defaultValue = "${project.reporting.outputDirectory}/jacoco-aggregate")
+	private File outputDirectory;
+
+	/**
+	 * Include this project in the report. If true then this projects class and
+	 * source files as well as JaCoCo execution data files will be collected.
+	 *
+	 * @since 0.8.9
+	 */
+	@Parameter(defaultValue = "false")
+	private boolean includeCurrentProject;
+
+	/**
+	 * The projects in the reactor.
+	 */
+	@Parameter(property = "reactorProjects", readonly = true)
+	private List<MavenProject> reactorProjects;
+
+	@Override
+	boolean canGenerateReportRegardingDataFiles() {
+		return true;
+	}
+
+	@Override
+	boolean canGenerateReportRegardingClassesDirectory() {
+		return true;
+	}
+
+	@Override
+	void loadExecutionData(final ReportSupport support) throws IOException {
+		// https://issues.apache.org/jira/browse/MNG-5440
+		if (dataFileIncludes == null) {
+			dataFileIncludes = Arrays.asList("target/*.exec");
+		}
+
+		final FileFilter filter = new FileFilter(dataFileIncludes,
+				dataFileExcludes);
+		loadExecutionData(support, filter, project.getBasedir());
+		for (final MavenProject dependency : findDependencies(
+				Artifact.SCOPE_COMPILE, Artifact.SCOPE_RUNTIME,
+				Artifact.SCOPE_PROVIDED, Artifact.SCOPE_TEST)) {
+			loadExecutionData(support, filter, dependency.getBasedir());
+		}
+	}
+
+	private void loadExecutionData(final ReportSupport support,
+			final FileFilter filter, final File basedir) throws IOException {
+		for (final File execFile : filter.getFiles(basedir)) {
+			support.loadExecutionData(execFile);
+		}
+	}
+
+	@Override
+	File getOutputDirectory() {
+		return outputDirectory;
+	}
+
+	@Override
+	void createReport(final IReportGroupVisitor visitor,
+			final ReportSupport support) throws IOException {
+		final IReportGroupVisitor group = visitor.visitGroup(title);
+		if (includeCurrentProject) {
+			processProject(support, group, project);
+		}
+		for (final MavenProject dependency : findDependencies(
+				Artifact.SCOPE_COMPILE, Artifact.SCOPE_RUNTIME,
+				Artifact.SCOPE_PROVIDED)) {
+			processProject(support, group, dependency);
+		}
+	}
+
+	private void processProject(final ReportSupport support,
+			final IReportGroupVisitor group, final MavenProject project)
+			throws IOException {
+		support.processProject(group, project.getArtifactId(), project,
+				getIncludes(), getExcludes(), sourceEncoding);
+	}
+
+	public File getReportOutputDirectory() {
+		return outputDirectory;
+	}
+
+	public void setReportOutputDirectory(final File reportOutputDirectory) {
+		if (reportOutputDirectory != null && !reportOutputDirectory
+				.getAbsolutePath().endsWith("jacoco-aggregate")) {
+			outputDirectory = new File(reportOutputDirectory,
+					"jacoco-aggregate");
+		} else {
+			outputDirectory = reportOutputDirectory;
+		}
+	}
+
+	public String getOutputName() {
+		return "jacoco-aggregate/index";
+	}
+
+	public String getName(final Locale locale) {
+		return "JaCoCo Aggregate";
+	}
+
+	private List<MavenProject> findDependencies(final String... scopes) {
+		final List<MavenProject> result = new ArrayList<MavenProject>();
+		final List<String> scopeList = Arrays.asList(scopes);
+		for (final Object dependencyObject : project.getDependencies()) {
+			final Dependency dependency = (Dependency) dependencyObject;
+			if (scopeList.contains(dependency.getScope())) {
+				final MavenProject project = findProjectFromReactor(dependency);
+				if (project != null) {
+					result.add(project);
+				}
+			}
+		}
+		return result;
+	}
+
+	/**
+	 * Note that if dependency specified using version range and reactor
+	 * contains multiple modules with same artifactId and groupId but of
+	 * different versions, then first dependency which matches range will be
+	 * selected. For example in case of range <code>[0,2]</code> if version 1 is
+	 * before version 2 in reactor, then version 1 will be selected.
+	 */
+	private MavenProject findProjectFromReactor(final Dependency d) {
+		final VersionRange depVersionAsRange;
+		try {
+			depVersionAsRange = VersionRange
+					.createFromVersionSpec(d.getVersion());
+		} catch (final InvalidVersionSpecificationException e) {
+			throw new AssertionError(e);
+		}
+
+		for (final MavenProject p : reactorProjects) {
+			final DefaultArtifactVersion pv = new DefaultArtifactVersion(
+					p.getVersion());
+			if (p.getGroupId().equals(d.getGroupId())
+					&& p.getArtifactId().equals(d.getArtifactId())
+					&& depVersionAsRange.containsVersion(pv)) {
+				return p;
+			}
+		}
+		return null;
+	}
+
+}
+
\ No newline at end of file diff --git a/jacoco/trunk/coverage/jacoco-maven-plugin/org.jacoco.maven/ReportFormat$1.html b/jacoco/trunk/coverage/jacoco-maven-plugin/org.jacoco.maven/ReportFormat$1.html new file mode 100644 index 00000000000..f2dba1246f5 --- /dev/null +++ b/jacoco/trunk/coverage/jacoco-maven-plugin/org.jacoco.maven/ReportFormat$1.html @@ -0,0 +1 @@ +ReportFormat.new ReportFormat() {...}

ReportFormat.new ReportFormat() {...}

ElementMissed InstructionsCov.Missed BranchesCov.MissedCxtyMissedLinesMissedMethods
Total4 of 3287%1 of 250%131802
createVisitor(AbstractReportMojo, Locale)42284%1150%121701
{...}6100%n/a010101
\ No newline at end of file diff --git a/jacoco/trunk/coverage/jacoco-maven-plugin/org.jacoco.maven/ReportFormat$2.html b/jacoco/trunk/coverage/jacoco-maven-plugin/org.jacoco.maven/ReportFormat$2.html new file mode 100644 index 00000000000..36eb21cc03e --- /dev/null +++ b/jacoco/trunk/coverage/jacoco-maven-plugin/org.jacoco.maven/ReportFormat$2.html @@ -0,0 +1 @@ +ReportFormat.new ReportFormat() {...}

ReportFormat.new ReportFormat() {...}

ElementMissed InstructionsCov.Missed BranchesCov.MissedCxtyMissedLinesMissedMethods
Total0 of 26100%0 of 0n/a020502
createVisitor(AbstractReportMojo, Locale)20100%n/a010401
{...}6100%n/a010101
\ No newline at end of file diff --git a/jacoco/trunk/coverage/jacoco-maven-plugin/org.jacoco.maven/ReportFormat$3.html b/jacoco/trunk/coverage/jacoco-maven-plugin/org.jacoco.maven/ReportFormat$3.html new file mode 100644 index 00000000000..b7ef655f1ef --- /dev/null +++ b/jacoco/trunk/coverage/jacoco-maven-plugin/org.jacoco.maven/ReportFormat$3.html @@ -0,0 +1 @@ +ReportFormat.new ReportFormat() {...}

ReportFormat.new ReportFormat() {...}

ElementMissed InstructionsCov.Missed BranchesCov.MissedCxtyMissedLinesMissedMethods
Total0 of 26100%0 of 0n/a020502
createVisitor(AbstractReportMojo, Locale)20100%n/a010401
{...}6100%n/a010101
\ No newline at end of file diff --git a/jacoco/trunk/coverage/jacoco-maven-plugin/org.jacoco.maven/ReportFormat.html b/jacoco/trunk/coverage/jacoco-maven-plugin/org.jacoco.maven/ReportFormat.html new file mode 100644 index 00000000000..40d123eab35 --- /dev/null +++ b/jacoco/trunk/coverage/jacoco-maven-plugin/org.jacoco.maven/ReportFormat.html @@ -0,0 +1 @@ +ReportFormat

ReportFormat

ElementMissed InstructionsCov.Missed BranchesCov.MissedCxtyMissedLinesMissedMethods
Total0 of 21100%0 of 0n/a010401
static {...}21100%n/a010401
\ No newline at end of file diff --git a/jacoco/trunk/coverage/jacoco-maven-plugin/org.jacoco.maven/ReportFormat.java.html b/jacoco/trunk/coverage/jacoco-maven-plugin/org.jacoco.maven/ReportFormat.java.html new file mode 100644 index 00000000000..0f378ab4b52 --- /dev/null +++ b/jacoco/trunk/coverage/jacoco-maven-plugin/org.jacoco.maven/ReportFormat.java.html @@ -0,0 +1,81 @@ +ReportFormat.java

ReportFormat.java

/*******************************************************************************
+ * Copyright (c) 2009, 2024 Mountainminds GmbH & Co. KG and Contributors
+ * This program and the accompanying materials are made available under
+ * the terms of the Eclipse Public License 2.0 which is available at
+ * http://www.eclipse.org/legal/epl-2.0
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ *    Marc R. Hoffmann - initial API and implementation
+ *
+ *******************************************************************************/
+package org.jacoco.maven;
+
+import java.io.File;
+import java.io.FileOutputStream;
+import java.io.IOException;
+import java.util.Locale;
+
+import org.jacoco.report.FileMultiReportOutput;
+import org.jacoco.report.IReportVisitor;
+import org.jacoco.report.csv.CSVFormatter;
+import org.jacoco.report.html.HTMLFormatter;
+import org.jacoco.report.xml.XMLFormatter;
+
+/**
+ * Configurable output formats for the report goals.
+ */
+public enum ReportFormat {
+
+	/**
+	 * Multi-page html report.
+	 */
+	HTML() {
+		@Override
+		IReportVisitor createVisitor(final AbstractReportMojo mojo,
+				final Locale locale) throws IOException {
+			final HTMLFormatter htmlFormatter = new HTMLFormatter();
+			htmlFormatter.setOutputEncoding(mojo.outputEncoding);
+			htmlFormatter.setLocale(locale);
+			if (mojo.footer != null) {
+				htmlFormatter.setFooterText(mojo.footer);
+			}
+			return htmlFormatter.createVisitor(
+					new FileMultiReportOutput(mojo.getOutputDirectory()));
+		}
+	},
+
+	/**
+	 * Single-file XML report.
+	 */
+	XML() {
+		@Override
+		IReportVisitor createVisitor(final AbstractReportMojo mojo,
+				final Locale locale) throws IOException {
+			final XMLFormatter xml = new XMLFormatter();
+			xml.setOutputEncoding(mojo.outputEncoding);
+			return xml.createVisitor(new FileOutputStream(
+					new File(mojo.getOutputDirectory(), "jacoco.xml")));
+		}
+	},
+
+	/**
+	 * Single-file CSV report.
+	 */
+	CSV() {
+		@Override
+		IReportVisitor createVisitor(final AbstractReportMojo mojo,
+				final Locale locale) throws IOException {
+			final CSVFormatter csv = new CSVFormatter();
+			csv.setOutputEncoding(mojo.outputEncoding);
+			return csv.createVisitor(new FileOutputStream(
+					new File(mojo.getOutputDirectory(), "jacoco.csv")));
+		}
+	};
+
+	abstract IReportVisitor createVisitor(AbstractReportMojo mojo,
+			final Locale locale) throws IOException;
+
+}
+
\ No newline at end of file diff --git a/jacoco/trunk/coverage/jacoco-maven-plugin/org.jacoco.maven/ReportITMojo.html b/jacoco/trunk/coverage/jacoco-maven-plugin/org.jacoco.maven/ReportITMojo.html new file mode 100644 index 00000000000..8061614b216 --- /dev/null +++ b/jacoco/trunk/coverage/jacoco-maven-plugin/org.jacoco.maven/ReportITMojo.html @@ -0,0 +1 @@ +ReportITMojo

ReportITMojo

ElementMissed InstructionsCov.Missed BranchesCov.MissedCxtyMissedLinesMissedMethods
Total6 of 6490%2 of 450%312217110
setReportOutputDirectory(File)31684%2250%231501
getReportOutputDirectory()30%n/a111111
createReport(IReportGroupVisitor, ReportSupport)14100%n/a010301
canGenerateReportRegardingClassesDirectory()9100%n/a010101
loadExecutionData(ReportSupport)5100%n/a010201
canGenerateReportRegardingDataFiles()4100%n/a010101
ReportITMojo()3100%n/a010101
getOutputDirectory()3100%n/a010101
getOutputName()2100%n/a010101
getName(Locale)2100%n/a010101
\ No newline at end of file diff --git a/jacoco/trunk/coverage/jacoco-maven-plugin/org.jacoco.maven/ReportITMojo.java.html b/jacoco/trunk/coverage/jacoco-maven-plugin/org.jacoco.maven/ReportITMojo.java.html new file mode 100644 index 00000000000..636426f98e6 --- /dev/null +++ b/jacoco/trunk/coverage/jacoco-maven-plugin/org.jacoco.maven/ReportITMojo.java.html @@ -0,0 +1,102 @@ +ReportITMojo.java

ReportITMojo.java

/*******************************************************************************
+ * Copyright (c) 2009, 2024 Mountainminds GmbH & Co. KG and Contributors
+ * This program and the accompanying materials are made available under
+ * the terms of the Eclipse Public License 2.0 which is available at
+ * http://www.eclipse.org/legal/epl-2.0
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ *    Evgeny Mandrikov - initial API and implementation
+ *    Kyle Lieber - implementation of CheckMojo
+ *
+ *******************************************************************************/
+package org.jacoco.maven;
+
+import java.io.File;
+import java.io.IOException;
+import java.util.Locale;
+
+import org.apache.maven.plugins.annotations.LifecyclePhase;
+import org.apache.maven.plugins.annotations.Mojo;
+import org.apache.maven.plugins.annotations.Parameter;
+import org.jacoco.report.IReportGroupVisitor;
+
+/**
+ * Same as <code>report</code>, but provides default values suitable for
+ * integration-tests:
+ * <ul>
+ * <li>bound to <code>report-integration</code> phase</li>
+ * <li>different <code>dataFile</code></li>
+ * </ul>
+ *
+ * @since 0.6.4
+ */
+@Mojo(name = "report-integration", defaultPhase = LifecyclePhase.VERIFY, threadSafe = true)
+public class ReportITMojo extends AbstractReportMojo {
+
+	/**
+	 * Output directory for the reports. Note that this parameter is only
+	 * relevant if the goal is run from the command line or from the default
+	 * build lifecycle. If the goal is run indirectly as part of a site
+	 * generation, the output directory configured in the Maven Site Plugin is
+	 * used instead.
+	 */
+	@Parameter(defaultValue = "${project.reporting.outputDirectory}/jacoco-it")
+	private File outputDirectory;
+
+	/**
+	 * File with execution data.
+	 */
+	@Parameter(defaultValue = "${project.build.directory}/jacoco-it.exec")
+	private File dataFile;
+
+	@Override
+	boolean canGenerateReportRegardingDataFiles() {
+		return dataFile.exists();
+	}
+
+	@Override
+	boolean canGenerateReportRegardingClassesDirectory() {
+		return new File(project.getBuild().getOutputDirectory()).exists();
+	}
+
+	@Override
+	void loadExecutionData(final ReportSupport support) throws IOException {
+		support.loadExecutionData(dataFile);
+	}
+
+	@Override
+	File getOutputDirectory() {
+		return outputDirectory;
+	}
+
+	@Override
+	void createReport(final IReportGroupVisitor visitor,
+			final ReportSupport support) throws IOException {
+		support.processProject(visitor, title, project, getIncludes(),
+				getExcludes(), sourceEncoding);
+	}
+
+	public File getReportOutputDirectory() {
+		return outputDirectory;
+	}
+
+	public void setReportOutputDirectory(final File reportOutputDirectory) {
+		if (reportOutputDirectory != null && !reportOutputDirectory
+				.getAbsolutePath().endsWith("jacoco-it")) {
+			outputDirectory = new File(reportOutputDirectory, "jacoco-it");
+		} else {
+			outputDirectory = reportOutputDirectory;
+		}
+	}
+
+	public String getOutputName() {
+		return "jacoco-it/index";
+	}
+
+	public String getName(final Locale locale) {
+		return "JaCoCo IT";
+	}
+}
+
\ No newline at end of file diff --git a/jacoco/trunk/coverage/jacoco-maven-plugin/org.jacoco.maven/ReportMojo.html b/jacoco/trunk/coverage/jacoco-maven-plugin/org.jacoco.maven/ReportMojo.html new file mode 100644 index 00000000000..d2d7c3354b7 --- /dev/null +++ b/jacoco/trunk/coverage/jacoco-maven-plugin/org.jacoco.maven/ReportMojo.html @@ -0,0 +1 @@ +ReportMojo

ReportMojo

ElementMissed InstructionsCov.Missed BranchesCov.MissedCxtyMissedLinesMissedMethods
Total6 of 6490%2 of 450%312217110
setReportOutputDirectory(File)31684%2250%231501
getReportOutputDirectory()30%n/a111111
createReport(IReportGroupVisitor, ReportSupport)14100%n/a010301
canGenerateReportRegardingClassesDirectory()9100%n/a010101
loadExecutionData(ReportSupport)5100%n/a010201
canGenerateReportRegardingDataFiles()4100%n/a010101
ReportMojo()3100%n/a010101
getOutputDirectory()3100%n/a010101
getOutputName()2100%n/a010101
getName(Locale)2100%n/a010101
\ No newline at end of file diff --git a/jacoco/trunk/coverage/jacoco-maven-plugin/org.jacoco.maven/ReportMojo.java.html b/jacoco/trunk/coverage/jacoco-maven-plugin/org.jacoco.maven/ReportMojo.java.html new file mode 100644 index 00000000000..a969ee2c878 --- /dev/null +++ b/jacoco/trunk/coverage/jacoco-maven-plugin/org.jacoco.maven/ReportMojo.java.html @@ -0,0 +1,97 @@ +ReportMojo.java

ReportMojo.java

/*******************************************************************************
+ * Copyright (c) 2009, 2024 Mountainminds GmbH & Co. KG and Contributors
+ * This program and the accompanying materials are made available under
+ * the terms of the Eclipse Public License 2.0 which is available at
+ * http://www.eclipse.org/legal/epl-2.0
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ *    Evgeny Mandrikov - initial API and implementation
+ *
+ *******************************************************************************/
+package org.jacoco.maven;
+
+import java.io.File;
+import java.io.IOException;
+import java.util.Locale;
+
+import org.apache.maven.plugins.annotations.LifecyclePhase;
+import org.apache.maven.plugins.annotations.Mojo;
+import org.apache.maven.plugins.annotations.Parameter;
+import org.jacoco.report.IReportGroupVisitor;
+
+/**
+ * Creates a code coverage report for tests of a single project in multiple
+ * formats (HTML, XML, and CSV).
+ *
+ * @since 0.5.3
+ */
+@Mojo(name = "report", defaultPhase = LifecyclePhase.VERIFY, threadSafe = true)
+public class ReportMojo extends AbstractReportMojo {
+
+	/**
+	 * Output directory for the reports. Note that this parameter is only
+	 * relevant if the goal is run from the command line or from the default
+	 * build lifecycle. If the goal is run indirectly as part of a site
+	 * generation, the output directory configured in the Maven Site Plugin is
+	 * used instead.
+	 */
+	@Parameter(defaultValue = "${project.reporting.outputDirectory}/jacoco")
+	private File outputDirectory;
+
+	/**
+	 * File with execution data.
+	 */
+	@Parameter(property = "jacoco.dataFile", defaultValue = "${project.build.directory}/jacoco.exec")
+	private File dataFile;
+
+	@Override
+	boolean canGenerateReportRegardingDataFiles() {
+		return dataFile.exists();
+	}
+
+	@Override
+	boolean canGenerateReportRegardingClassesDirectory() {
+		return new File(project.getBuild().getOutputDirectory()).exists();
+	}
+
+	@Override
+	void loadExecutionData(final ReportSupport support) throws IOException {
+		support.loadExecutionData(dataFile);
+	}
+
+	@Override
+	File getOutputDirectory() {
+		return outputDirectory;
+	}
+
+	@Override
+	void createReport(final IReportGroupVisitor visitor,
+			final ReportSupport support) throws IOException {
+		support.processProject(visitor, title, project, getIncludes(),
+				getExcludes(), sourceEncoding);
+	}
+
+	public File getReportOutputDirectory() {
+		return outputDirectory;
+	}
+
+	public void setReportOutputDirectory(final File reportOutputDirectory) {
+		if (reportOutputDirectory != null && !reportOutputDirectory
+				.getAbsolutePath().endsWith("jacoco")) {
+			outputDirectory = new File(reportOutputDirectory, "jacoco");
+		} else {
+			outputDirectory = reportOutputDirectory;
+		}
+	}
+
+	public String getOutputName() {
+		return "jacoco/index";
+	}
+
+	public String getName(final Locale locale) {
+		return "JaCoCo";
+	}
+}
+
\ No newline at end of file diff --git a/jacoco/trunk/coverage/jacoco-maven-plugin/org.jacoco.maven/ReportSupport$NoSourceLocator.html b/jacoco/trunk/coverage/jacoco-maven-plugin/org.jacoco.maven/ReportSupport$NoSourceLocator.html new file mode 100644 index 00000000000..64ade97a1ae --- /dev/null +++ b/jacoco/trunk/coverage/jacoco-maven-plugin/org.jacoco.maven/ReportSupport$NoSourceLocator.html @@ -0,0 +1 @@ +ReportSupport.NoSourceLocator

ReportSupport.NoSourceLocator

ElementMissed InstructionsCov.Missed BranchesCov.MissedCxtyMissedLinesMissedMethods
Total4 of 1060%0 of 0n/a232323
getSourceFile(String, String)20%n/a111111
getTabWidth()20%n/a111111
ReportSupport.NoSourceLocator(ReportSupport)6100%n/a010101
\ No newline at end of file diff --git a/jacoco/trunk/coverage/jacoco-maven-plugin/org.jacoco.maven/ReportSupport$SourceFileCollection.html b/jacoco/trunk/coverage/jacoco-maven-plugin/org.jacoco.maven/ReportSupport$SourceFileCollection.html new file mode 100644 index 00000000000..46d4bebfcd7 --- /dev/null +++ b/jacoco/trunk/coverage/jacoco-maven-plugin/org.jacoco.maven/ReportSupport$SourceFileCollection.html @@ -0,0 +1 @@ +ReportSupport.SourceFileCollection

ReportSupport.SourceFileCollection

ElementMissed InstructionsCov.Missed BranchesCov.MissedCxtyMissedLinesMissedMethods
Total3 of 6895%3 of 862%3721403
getSourceFile(String, String)35094%3562%352901
ReportSupport.SourceFileCollection(ReportSupport, MavenProject, String)13100%n/a010401
getTabWidth()2100%n/a010101
\ No newline at end of file diff --git a/jacoco/trunk/coverage/jacoco-maven-plugin/org.jacoco.maven/ReportSupport.html b/jacoco/trunk/coverage/jacoco-maven-plugin/org.jacoco.maven/ReportSupport.html new file mode 100644 index 00000000000..df1ba7ae921 --- /dev/null +++ b/jacoco/trunk/coverage/jacoco-maven-plugin/org.jacoco.maven/ReportSupport.html @@ -0,0 +1 @@ +ReportSupport

ReportSupport

ElementMissed InstructionsCov.Missed BranchesCov.MissedCxtyMissedLinesMissedMethods
Total7 of 26897%1 of 1693%119159011
resolvePath(MavenProject, String)71058%1150%121401
logBundleInfo(IBundleCoverage, Collection)69100%8100%0501401
processProject(IReportGroupVisitor, String, MavenProject, List, List, ISourceFileLocator)59100%4100%0301401
getCompileSourceRoots(MavenProject)24100%2100%020501
initRootVisitor()18100%n/a010401
ReportSupport(Log)16100%n/a010501
loadExecutionData(File)16100%n/a010301
addRulesChecker(List, IViolationsOutput)15100%n/a010401
processProject(IReportGroupVisitor, MavenProject, List, List)14100%n/a010201
processProject(IReportGroupVisitor, String, MavenProject, List, List, String)14100%n/a010201
addVisitor(IReportVisitor)6100%n/a010201
\ No newline at end of file diff --git a/jacoco/trunk/coverage/jacoco-maven-plugin/org.jacoco.maven/ReportSupport.java.html b/jacoco/trunk/coverage/jacoco-maven-plugin/org.jacoco.maven/ReportSupport.java.html new file mode 100644 index 00000000000..c283bac6820 --- /dev/null +++ b/jacoco/trunk/coverage/jacoco-maven-plugin/org.jacoco.maven/ReportSupport.java.html @@ -0,0 +1,263 @@ +ReportSupport.java

ReportSupport.java

/*******************************************************************************
+ * Copyright (c) 2009, 2024 Mountainminds GmbH & Co. KG and Contributors
+ * This program and the accompanying materials are made available under
+ * the terms of the Eclipse Public License 2.0 which is available at
+ * http://www.eclipse.org/legal/epl-2.0
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ *    Evgeny Mandrikov - initial API and implementation
+ *    Kyle Lieber - implementation of CheckMojo
+ *
+ *******************************************************************************/
+package org.jacoco.maven;
+
+import static java.lang.String.format;
+
+import java.io.File;
+import java.io.FileInputStream;
+import java.io.IOException;
+import java.io.InputStreamReader;
+import java.io.Reader;
+import java.util.ArrayList;
+import java.util.Collection;
+import java.util.List;
+
+import org.apache.maven.plugin.logging.Log;
+import org.apache.maven.project.MavenProject;
+import org.jacoco.core.analysis.Analyzer;
+import org.jacoco.core.analysis.CoverageBuilder;
+import org.jacoco.core.analysis.IBundleCoverage;
+import org.jacoco.core.analysis.IClassCoverage;
+import org.jacoco.core.tools.ExecFileLoader;
+import org.jacoco.report.IReportGroupVisitor;
+import org.jacoco.report.IReportVisitor;
+import org.jacoco.report.ISourceFileLocator;
+import org.jacoco.report.MultiReportVisitor;
+import org.jacoco.report.check.IViolationsOutput;
+import org.jacoco.report.check.Rule;
+import org.jacoco.report.check.RulesChecker;
+
+/**
+ * Encapsulates the tasks to create reports for Maven projects. Instances are
+ * supposed to be used in the following sequence:
+ *
+ * <ol>
+ * <li>Create an instance</li>
+ * <li>Load one or multiple exec files with
+ * <code>loadExecutionData()</code></li>
+ * <li>Add one or multiple formatters with <code>addXXX()</code> methods</li>
+ * <li>Create the root visitor with <code>initRootVisitor()</code></li>
+ * <li>Process one or multiple projects with <code>processProject()</code></li>
+ * </ol>
+ */
+final class ReportSupport {
+
+	private final Log log;
+	private final ExecFileLoader loader;
+	private final List<IReportVisitor> formatters;
+
+	/**
+	 * Construct a new instance with the given log output.
+	 *
+	 * @param log
+	 *            for log output
+	 */
+	public ReportSupport(final Log log) {
+		this.log = log;
+		this.loader = new ExecFileLoader();
+		this.formatters = new ArrayList<IReportVisitor>();
+	}
+
+	/**
+	 * Loads the given execution data file.
+	 *
+	 * @param execFile
+	 *            execution data file to load
+	 * @throws IOException
+	 *             if the file can't be loaded
+	 */
+	public void loadExecutionData(final File execFile) throws IOException {
+		log.info("Loading execution data file " + execFile);
+		loader.load(execFile);
+	}
+
+	public void addVisitor(final IReportVisitor visitor) {
+		formatters.add(visitor);
+	}
+
+	public void addRulesChecker(final List<Rule> rules,
+			final IViolationsOutput output) {
+		final RulesChecker checker = new RulesChecker();
+		checker.setRules(rules);
+		formatters.add(checker.createVisitor(output));
+	}
+
+	public IReportVisitor initRootVisitor() throws IOException {
+		final IReportVisitor visitor = new MultiReportVisitor(formatters);
+		visitor.visitInfo(loader.getSessionInfoStore().getInfos(),
+				loader.getExecutionDataStore().getContents());
+		return visitor;
+	}
+
+	/**
+	 * Calculates coverage for the given project and emits it to the report
+	 * group without source references
+	 *
+	 * @param visitor
+	 *            group visitor to emit the project's coverage to
+	 * @param project
+	 *            the MavenProject
+	 * @param includes
+	 *            list of includes patterns
+	 * @param excludes
+	 *            list of excludes patterns
+	 * @throws IOException
+	 *             if class files can't be read
+	 */
+	public void processProject(final IReportGroupVisitor visitor,
+			final MavenProject project, final List<String> includes,
+			final List<String> excludes) throws IOException {
+		processProject(visitor, project.getArtifactId(), project, includes,
+				excludes, new NoSourceLocator());
+	}
+
+	/**
+	 * Calculates coverage for the given project and emits it to the report
+	 * group including source references
+	 *
+	 * @param visitor
+	 *            group visitor to emit the project's coverage to
+	 * @param bundleName
+	 *            name for this project in the report
+	 * @param project
+	 *            the MavenProject
+	 * @param includes
+	 *            list of includes patterns
+	 * @param excludes
+	 *            list of excludes patterns
+	 * @param srcEncoding
+	 *            encoding of the source files within this project
+	 * @throws IOException
+	 *             if class files can't be read
+	 */
+	public void processProject(final IReportGroupVisitor visitor,
+			final String bundleName, final MavenProject project,
+			final List<String> includes, final List<String> excludes,
+			final String srcEncoding) throws IOException {
+		processProject(visitor, bundleName, project, includes, excludes,
+				new SourceFileCollection(project, srcEncoding));
+	}
+
+	private void processProject(final IReportGroupVisitor visitor,
+			final String bundleName, final MavenProject project,
+			final List<String> includes, final List<String> excludes,
+			final ISourceFileLocator locator) throws IOException {
+		final CoverageBuilder builder = new CoverageBuilder();
+		final File classesDir = new File(
+				project.getBuild().getOutputDirectory());
+
+		if (classesDir.isDirectory()) {
+			final Analyzer analyzer = new Analyzer(
+					loader.getExecutionDataStore(), builder);
+			final FileFilter filter = new FileFilter(includes, excludes);
+			for (final File file : filter.getFiles(classesDir)) {
+				analyzer.analyzeAll(file);
+			}
+		}
+
+		final IBundleCoverage bundle = builder.getBundle(bundleName);
+		logBundleInfo(bundle, builder.getNoMatchClasses());
+
+		visitor.visitBundle(bundle, locator);
+	}
+
+	private void logBundleInfo(final IBundleCoverage bundle,
+			final Collection<IClassCoverage> nomatch) {
+		log.info(format("Analyzed bundle '%s' with %s classes",
+				bundle.getName(),
+				Integer.valueOf(bundle.getClassCounter().getTotalCount())));
+		if (!nomatch.isEmpty()) {
+			log.warn(format(
+					"Classes in bundle '%s' do not match with execution data. "
+							+ "For report generation the same class files must be used as at runtime.",
+					bundle.getName()));
+			for (final IClassCoverage c : nomatch) {
+				log.warn(format("Execution data for class %s does not match.",
+						c.getName()));
+			}
+		}
+		if (bundle.containsCode()
+				&& bundle.getLineCounter().getTotalCount() == 0) {
+			log.warn(
+					"To enable source code annotation class files have to be compiled with debug information.");
+		}
+	}
+
+	private class NoSourceLocator implements ISourceFileLocator {
+
+		public Reader getSourceFile(final String packageName,
+				final String fileName) {
+			return null;
+		}
+
+		public int getTabWidth() {
+			return 0;
+		}
+	}
+
+	private class SourceFileCollection implements ISourceFileLocator {
+
+		private final List<File> sourceRoots;
+		private final String encoding;
+
+		public SourceFileCollection(final MavenProject project,
+				final String encoding) {
+			this.sourceRoots = getCompileSourceRoots(project);
+			this.encoding = encoding;
+		}
+
+		public Reader getSourceFile(final String packageName,
+				final String fileName) throws IOException {
+			final String r;
+			if (packageName.length() > 0) {
+				r = packageName + '/' + fileName;
+			} else {
+				r = fileName;
+			}
+			for (final File sourceRoot : sourceRoots) {
+				final File file = new File(sourceRoot, r);
+				if (file.exists() && file.isFile()) {
+					return new InputStreamReader(new FileInputStream(file),
+							encoding);
+				}
+			}
+			return null;
+		}
+
+		public int getTabWidth() {
+			return 4;
+		}
+	}
+
+	private static List<File> getCompileSourceRoots(
+			final MavenProject project) {
+		final List<File> result = new ArrayList<File>();
+		for (final Object path : project.getCompileSourceRoots()) {
+			result.add(resolvePath(project, (String) path));
+		}
+		return result;
+	}
+
+	private static File resolvePath(final MavenProject project,
+			final String path) {
+		File file = new File(path);
+		if (!file.isAbsolute()) {
+			file = new File(project.getBasedir(), path);
+		}
+		return file;
+	}
+
+}
+
\ No newline at end of file diff --git a/jacoco/trunk/coverage/jacoco-maven-plugin/org.jacoco.maven/RestoreMojo.html b/jacoco/trunk/coverage/jacoco-maven-plugin/org.jacoco.maven/RestoreMojo.html new file mode 100644 index 00000000000..81a0e459e67 --- /dev/null +++ b/jacoco/trunk/coverage/jacoco-maven-plugin/org.jacoco.maven/RestoreMojo.html @@ -0,0 +1 @@ +RestoreMojo

RestoreMojo

ElementMissed InstructionsCov.Missed BranchesCov.MissedCxtyMissedLinesMissedMethods
Total7 of 3278%0 of 0n/a0221002
executeMojo()72275%n/a012901
RestoreMojo()3100%n/a010101
\ No newline at end of file diff --git a/jacoco/trunk/coverage/jacoco-maven-plugin/org.jacoco.maven/RestoreMojo.java.html b/jacoco/trunk/coverage/jacoco-maven-plugin/org.jacoco.maven/RestoreMojo.java.html new file mode 100644 index 00000000000..2b3dc9710e3 --- /dev/null +++ b/jacoco/trunk/coverage/jacoco-maven-plugin/org.jacoco.maven/RestoreMojo.java.html @@ -0,0 +1,48 @@ +RestoreMojo.java

RestoreMojo.java

/*******************************************************************************
+ * Copyright (c) 2009, 2024 Mountainminds GmbH & Co. KG and Contributors
+ * This program and the accompanying materials are made available under
+ * the terms of the Eclipse Public License 2.0 which is available at
+ * http://www.eclipse.org/legal/epl-2.0
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ *    Evgeny Mandrikov - initial API and implementation
+ *
+ *******************************************************************************/
+package org.jacoco.maven;
+
+import java.io.File;
+import java.io.IOException;
+
+import org.apache.maven.plugin.MojoExecutionException;
+import org.apache.maven.plugin.MojoFailureException;
+import org.apache.maven.plugins.annotations.LifecyclePhase;
+import org.apache.maven.plugins.annotations.Mojo;
+import org.codehaus.plexus.util.FileUtils;
+
+/**
+ * Restores original classes as they were before offline instrumentation.
+ *
+ * @since 0.6.2
+ */
+@Mojo(name = "restore-instrumented-classes", defaultPhase = LifecyclePhase.PREPARE_PACKAGE, threadSafe = true)
+public class RestoreMojo extends AbstractJacocoMojo {
+
+	@Override
+	protected void executeMojo()
+			throws MojoExecutionException, MojoFailureException {
+		final File originalClassesDir = new File(
+				getProject().getBuild().getDirectory(),
+				"generated-classes/jacoco");
+		final File classesDir = new File(
+				getProject().getBuild().getOutputDirectory());
+		try {
+			FileUtils.copyDirectoryStructure(originalClassesDir, classesDir);
+		} catch (final IOException e) {
+			throw new MojoFailureException("Unable to restore classes.", e);
+		}
+	}
+
+}
+
\ No newline at end of file diff --git a/jacoco/trunk/coverage/jacoco-maven-plugin/org.jacoco.maven/RuleConfiguration.html b/jacoco/trunk/coverage/jacoco-maven-plugin/org.jacoco.maven/RuleConfiguration.html new file mode 100644 index 00000000000..12d49c9df18 --- /dev/null +++ b/jacoco/trunk/coverage/jacoco-maven-plugin/org.jacoco.maven/RuleConfiguration.html @@ -0,0 +1 @@ +RuleConfiguration

RuleConfiguration

ElementMissed InstructionsCov.Missed BranchesCov.MissedCxtyMissedLinesMissedMethods
Total8 of 3577%0 of 0n/a1521115
setExcludes(List)80%n/a112211
RuleConfiguration()8100%n/a010301
setIncludes(List)8100%n/a010201
setElement(String)6100%n/a010201
setLimits(List)5100%n/a010201
\ No newline at end of file diff --git a/jacoco/trunk/coverage/jacoco-maven-plugin/org.jacoco.maven/RuleConfiguration.java.html b/jacoco/trunk/coverage/jacoco-maven-plugin/org.jacoco.maven/RuleConfiguration.java.html new file mode 100644 index 00000000000..64e7650377d --- /dev/null +++ b/jacoco/trunk/coverage/jacoco-maven-plugin/org.jacoco.maven/RuleConfiguration.java.html @@ -0,0 +1,74 @@ +RuleConfiguration.java

RuleConfiguration.java

/*******************************************************************************
+ * Copyright (c) 2009, 2024 Mountainminds GmbH & Co. KG and Contributors
+ * This program and the accompanying materials are made available under
+ * the terms of the Eclipse Public License 2.0 which is available at
+ * http://www.eclipse.org/legal/epl-2.0
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ *    Evgeny Mandrikov - initial API and implementation
+ *    Kyle Lieber - implementation of CheckMojo
+ *    Marc Hoffmann - redesign using report APIs
+ *
+ *******************************************************************************/
+package org.jacoco.maven;
+
+import java.util.List;
+
+import org.codehaus.plexus.util.StringUtils;
+import org.jacoco.core.analysis.ICoverageNode.ElementType;
+import org.jacoco.report.check.Limit;
+import org.jacoco.report.check.Rule;
+
+/**
+ * Wrapper for {@link Rule} objects to allow Maven style includes/excludes lists
+ *
+ */
+public class RuleConfiguration {
+
+	final Rule rule;
+
+	/**
+	 * Create a new configuration instance.
+	 */
+	public RuleConfiguration() {
+		rule = new Rule();
+	}
+
+	/**
+	 * @param element
+	 *            element type this rule applies to TODO: use ElementType
+	 *            directly once Maven 3 is required.
+	 */
+	public void setElement(final String element) {
+		rule.setElement(ElementType.valueOf(element));
+	}
+
+	/**
+	 * @param includes
+	 *            includes patterns
+	 */
+	public void setIncludes(final List<String> includes) {
+		rule.setIncludes(StringUtils.join(includes.iterator(), ":"));
+	}
+
+	/**
+	 *
+	 * @param excludes
+	 *            excludes patterns
+	 */
+	public void setExcludes(final List<String> excludes) {
+		rule.setExcludes(StringUtils.join(excludes.iterator(), ":"));
+	}
+
+	/**
+	 * @param limits
+	 *            list of {@link Limit}s configured for this rule
+	 */
+	public void setLimits(final List<Limit> limits) {
+		rule.setLimits(limits);
+	}
+
+}
+
\ No newline at end of file diff --git a/jacoco/trunk/coverage/jacoco-maven-plugin/org.jacoco.maven/index.html b/jacoco/trunk/coverage/jacoco-maven-plugin/org.jacoco.maven/index.html new file mode 100644 index 00000000000..d8ba61d92a2 --- /dev/null +++ b/jacoco/trunk/coverage/jacoco-maven-plugin/org.jacoco.maven/index.html @@ -0,0 +1 @@ +org.jacoco.maven

org.jacoco.maven

ElementMissed InstructionsCov.Missed BranchesCov.MissedCxtyMissedLinesMissedMethodsMissedClasses
Total175 of 1,90590%27 of 15482%35194494668117023
MergeMojo4411572%5964%51312400601
CheckMojo4310871%3975%3118380501
InstrumentMojo1411188%1583%154310201
ReportAggregateMojo1225295%22692%32845811401
RuleConfiguration82777%n/a152111501
ReportSupport726197%11593%11915901101
AbstractReportMojo714995%11191%21834611201
DumpMojo75187%1150%132140201
RestoreMojo72578%n/a022100201
ReportITMojo65890%2250%31221711001
ReportMojo65890%2250%31221711001
ReportFormat.new ReportFormat() {...}42887%1150%13180201
ReportSupport.NoSourceLocator4660%n/a23232301
ReportSupport.SourceFileCollection36595%3562%372140301
AbstractAgentMojo23199%43690%4281590801
AbstractJacocoMojo1995%2100%15191401
FileFilter50100%1375%180120601
DumpMojo.new ExecDumpClient() {...}31100%n/a03060301
ReportFormat.new ReportFormat() {...}26100%n/a02050201
ReportFormat.new ReportFormat() {...}26100%n/a02050201
ReportFormat21100%n/a01040101
AgentMojo6100%n/a02020201
AgentITMojo6100%n/a02020201
\ No newline at end of file diff --git a/jacoco/trunk/coverage/jacoco-maven-plugin/org.jacoco.maven/index.source.html b/jacoco/trunk/coverage/jacoco-maven-plugin/org.jacoco.maven/index.source.html new file mode 100644 index 00000000000..db63d846ba6 --- /dev/null +++ b/jacoco/trunk/coverage/jacoco-maven-plugin/org.jacoco.maven/index.source.html @@ -0,0 +1 @@ +org.jacoco.maven

org.jacoco.maven

ElementMissed InstructionsCov.Missed BranchesCov.MissedCxtyMissedLinesMissedMethodsMissedClasses
Total175 of 1,90590%27 of 15482%35194494668117023
MergeMojo.java4411572%5964%51312400601
CheckMojo.java4310871%3975%3118380501
ReportSupport.java1433295%42083%62957621703
InstrumentMojo.java1411188%1583%154310201
ReportAggregateMojo.java1225295%22692%32845811401
RuleConfiguration.java82777%n/a152111501
AbstractReportMojo.java714995%11191%21834611201
DumpMojo.java78292%1150%162190502
RestoreMojo.java72578%n/a022100201
ReportITMojo.java65890%2250%31221711001
ReportMojo.java65890%2250%31221711001
ReportFormat.java410196%1150%181190704
AbstractAgentMojo.java23199%43690%4281590801
AbstractJacocoMojo.java1995%2100%15191401
FileFilter.java50100%1375%180120601
AgentMojo.java6100%n/a02020201
AgentITMojo.java6100%n/a02020201
\ No newline at end of file diff --git a/jacoco/trunk/coverage/jacoco-resources/branchfc.gif b/jacoco/trunk/coverage/jacoco-resources/branchfc.gif new file mode 100644 index 00000000000..989b46d3046 Binary files /dev/null and b/jacoco/trunk/coverage/jacoco-resources/branchfc.gif differ diff --git a/jacoco/trunk/coverage/jacoco-resources/branchnc.gif b/jacoco/trunk/coverage/jacoco-resources/branchnc.gif new file mode 100644 index 00000000000..1933e07c376 Binary files /dev/null and b/jacoco/trunk/coverage/jacoco-resources/branchnc.gif differ diff --git a/jacoco/trunk/coverage/jacoco-resources/branchpc.gif b/jacoco/trunk/coverage/jacoco-resources/branchpc.gif new file mode 100644 index 00000000000..cbf711b7030 Binary files /dev/null and b/jacoco/trunk/coverage/jacoco-resources/branchpc.gif differ diff --git a/jacoco/trunk/coverage/jacoco-resources/bundle.gif b/jacoco/trunk/coverage/jacoco-resources/bundle.gif new file mode 100644 index 00000000000..fca9c53e629 Binary files /dev/null and b/jacoco/trunk/coverage/jacoco-resources/bundle.gif differ diff --git a/jacoco/trunk/coverage/jacoco-resources/class.gif b/jacoco/trunk/coverage/jacoco-resources/class.gif new file mode 100644 index 00000000000..eb348fb0d49 Binary files /dev/null and b/jacoco/trunk/coverage/jacoco-resources/class.gif differ diff --git a/jacoco/trunk/coverage/jacoco-resources/down.gif b/jacoco/trunk/coverage/jacoco-resources/down.gif new file mode 100644 index 00000000000..440a14db74e Binary files /dev/null and b/jacoco/trunk/coverage/jacoco-resources/down.gif differ diff --git a/jacoco/trunk/coverage/jacoco-resources/greenbar.gif b/jacoco/trunk/coverage/jacoco-resources/greenbar.gif new file mode 100644 index 00000000000..0ba65672530 Binary files /dev/null and b/jacoco/trunk/coverage/jacoco-resources/greenbar.gif differ diff --git a/jacoco/trunk/coverage/jacoco-resources/group.gif b/jacoco/trunk/coverage/jacoco-resources/group.gif new file mode 100644 index 00000000000..a4ea580d278 Binary files /dev/null and b/jacoco/trunk/coverage/jacoco-resources/group.gif differ diff --git a/jacoco/trunk/coverage/jacoco-resources/method.gif b/jacoco/trunk/coverage/jacoco-resources/method.gif new file mode 100644 index 00000000000..7d24707ee82 Binary files /dev/null and b/jacoco/trunk/coverage/jacoco-resources/method.gif differ diff --git a/jacoco/trunk/coverage/jacoco-resources/package.gif b/jacoco/trunk/coverage/jacoco-resources/package.gif new file mode 100644 index 00000000000..131c28da405 Binary files /dev/null and b/jacoco/trunk/coverage/jacoco-resources/package.gif differ diff --git a/jacoco/trunk/coverage/jacoco-resources/prettify.css b/jacoco/trunk/coverage/jacoco-resources/prettify.css new file mode 100644 index 00000000000..be5166e0fc5 --- /dev/null +++ b/jacoco/trunk/coverage/jacoco-resources/prettify.css @@ -0,0 +1,13 @@ +/* Pretty printing styles. Used with prettify.js. */ + +.str { color: #2A00FF; } +.kwd { color: #7F0055; font-weight:bold; } +.com { color: #3F5FBF; } +.typ { color: #606; } +.lit { color: #066; } +.pun { color: #660; } +.pln { color: #000; } +.tag { color: #008; } +.atn { color: #606; } +.atv { color: #080; } +.dec { color: #606; } diff --git a/jacoco/trunk/coverage/jacoco-resources/prettify.js b/jacoco/trunk/coverage/jacoco-resources/prettify.js new file mode 100644 index 00000000000..b2766fe0a33 --- /dev/null +++ b/jacoco/trunk/coverage/jacoco-resources/prettify.js @@ -0,0 +1,1510 @@ +// Copyright (C) 2006 Google Inc. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + + +/** + * @fileoverview + * some functions for browser-side pretty printing of code contained in html. + *

+ * + * For a fairly comprehensive set of languages see the + * README + * file that came with this source. At a minimum, the lexer should work on a + * number of languages including C and friends, Java, Python, Bash, SQL, HTML, + * XML, CSS, Javascript, and Makefiles. It works passably on Ruby, PHP and Awk + * and a subset of Perl, but, because of commenting conventions, doesn't work on + * Smalltalk, Lisp-like, or CAML-like languages without an explicit lang class. + *

+ * Usage:

    + *
  1. include this source file in an html page via + * {@code } + *
  2. define style rules. See the example page for examples. + *
  3. mark the {@code
    } and {@code } tags in your source with
    + *    {@code class=prettyprint.}
    + *    You can also use the (html deprecated) {@code } tag, but the pretty
    + *    printer needs to do more substantial DOM manipulations to support that, so
    + *    some css styles may not be preserved.
    + * </ol>
    + * That's it.  I wanted to keep the API as simple as possible, so there's no
    + * need to specify which language the code is in, but if you wish, you can add
    + * another class to the {@code <pre>} or {@code <code>} element to specify the
    + * language, as in {@code <pre class="prettyprint lang-java">}.  Any class that
    + * starts with "lang-" followed by a file extension, specifies the file type.
    + * See the "lang-*.js" files in this directory for code that implements
    + * per-language file handlers.
    + * <p>
    + * Change log:<br>
    + * cbeust, 2006/08/22
    + * <blockquote>
    + *   Java annotations (start with "@") are now captured as literals ("lit")
    + * </blockquote>
    + * @requires console
    + */
    +
    +// JSLint declarations
    +/*global console, document, navigator, setTimeout, window */
    +
    +/**
    + * Split {@code prettyPrint} into multiple timeouts so as not to interfere with
    + * UI events.
    + * If set to {@code false}, {@code prettyPrint()} is synchronous.
    + */
    +window['PR_SHOULD_USE_CONTINUATION'] = true;
    +
    +/** the number of characters between tab columns */
    +window['PR_TAB_WIDTH'] = 8;
    +
    +/** Walks the DOM returning a properly escaped version of innerHTML.
    +  * @param {Node} node
    +  * @param {Array.<string>} out output buffer that receives chunks of HTML.
    +  */
    +window['PR_normalizedHtml']
    +
    +/** Contains functions for creating and registering new language handlers.
    +  * @type {Object}
    +  */
    +  = window['PR']
    +
    +/** Pretty print a chunk of code.
    +  *
    +  * @param {string} sourceCodeHtml code as html
    +  * @return {string} code as html, but prettier
    +  */
    +  = window['prettyPrintOne']
    +/** Find all the {@code <pre>} and {@code <code>} tags in the DOM with
    +  * {@code class=prettyprint} and prettify them.
    +  * @param {Function?} opt_whenDone if specified, called when the last entry
    +  *     has been finished.
    +  */
    +  = window['prettyPrint'] = void 0;
    +
    +/** browser detection. @extern @returns false if not IE, otherwise the major version. */
    +window['_pr_isIE6'] = function () {
    +  var ieVersion = navigator && navigator.userAgent &&
    +      navigator.userAgent.match(/\bMSIE ([678])\./);
    +  ieVersion = ieVersion ? +ieVersion[1] : false;
    +  window['_pr_isIE6'] = function () { return ieVersion; };
    +  return ieVersion;
    +};
    +
    +
    +(function () {
    +  // Keyword lists for various languages.
    +  var FLOW_CONTROL_KEYWORDS =
    +      "break continue do else for if return while ";
    +  var C_KEYWORDS = FLOW_CONTROL_KEYWORDS + "auto case char const default " +
    +      "double enum extern float goto int long register short signed sizeof " +
    +      "static struct switch typedef union unsigned void volatile ";
    +  var COMMON_KEYWORDS = C_KEYWORDS + "catch class delete false import " +
    +      "new operator private protected public this throw true try typeof ";
    +  var CPP_KEYWORDS = COMMON_KEYWORDS + "alignof align_union asm axiom bool " +
    +      "concept concept_map const_cast constexpr decltype " +
    +      "dynamic_cast explicit export friend inline late_check " +
    +      "mutable namespace nullptr reinterpret_cast static_assert static_cast " +
    +      "template typeid typename using virtual wchar_t where ";
    +  var JAVA_KEYWORDS = COMMON_KEYWORDS +
    +      "abstract boolean byte extends final finally implements import " +
    +      "instanceof null native package strictfp super synchronized throws " +
    +      "transient ";
    +  var CSHARP_KEYWORDS = JAVA_KEYWORDS +
    +      "as base by checked decimal delegate descending event " +
    +      "fixed foreach from group implicit in interface internal into is lock " +
    +      "object out override orderby params partial readonly ref sbyte sealed " +
    +      "stackalloc string select uint ulong unchecked unsafe ushort var ";
    +  var JSCRIPT_KEYWORDS = COMMON_KEYWORDS +
    +      "debugger eval export function get null set undefined var with " +
    +      "Infinity NaN ";
    +  var PERL_KEYWORDS = "caller delete die do dump elsif eval exit foreach for " +
    +      "goto if import last local my next no our print package redo require " +
    +      "sub undef unless until use wantarray while BEGIN END ";
    +  var PYTHON_KEYWORDS = FLOW_CONTROL_KEYWORDS + "and as assert class def del " +
    +      "elif except exec finally from global import in is lambda " +
    +      "nonlocal not or pass print raise try with yield " +
    +      "False True None ";
    +  var RUBY_KEYWORDS = FLOW_CONTROL_KEYWORDS + "alias and begin case class def" +
    +      " defined elsif end ensure false in module next nil not or redo rescue " +
    +      "retry self super then true undef unless until when yield BEGIN END ";
    +  var SH_KEYWORDS = FLOW_CONTROL_KEYWORDS + "case done elif esac eval fi " +
    +      "function in local set then until ";
    +  var ALL_KEYWORDS = (
    +      CPP_KEYWORDS + CSHARP_KEYWORDS + JSCRIPT_KEYWORDS + PERL_KEYWORDS +
    +      PYTHON_KEYWORDS + RUBY_KEYWORDS + SH_KEYWORDS);
    +
    +  // token style names.  correspond to css classes
    +  /** token style for a string literal */
    +  var PR_STRING = 'str';
    +  /** token style for a keyword */
    +  var PR_KEYWORD = 'kwd';
    +  /** token style for a comment */
    +  var PR_COMMENT = 'com';
    +  /** token style for a type */
    +  var PR_TYPE = 'typ';
    +  /** token style for a literal value.  e.g. 1, null, true. */
    +  var PR_LITERAL = 'lit';
    +  /** token style for a punctuation string. */
    +  var PR_PUNCTUATION = 'pun';
    +  /** token style for a punctuation string. */
    +  var PR_PLAIN = 'pln';
    +
    +  /** token style for an sgml tag. */
    +  var PR_TAG = 'tag';
    +  /** token style for a markup declaration such as a DOCTYPE. */
    +  var PR_DECLARATION = 'dec';
    +  /** token style for embedded source. */
    +  var PR_SOURCE = 'src';
    +  /** token style for an sgml attribute name. */
    +  var PR_ATTRIB_NAME = 'atn';
    +  /** token style for an sgml attribute value. */
    +  var PR_ATTRIB_VALUE = 'atv';
    +
    +  /**
    +   * A class that indicates a section of markup that is not code, e.g. to allow
    +   * embedding of line numbers within code listings.
    +   */
    +  var PR_NOCODE = 'nocode';
    +
    +  /** A set of tokens that can precede a regular expression literal in
    +    * javascript.
    +    * http://www.mozilla.org/js/language/js20/rationale/syntax.html has the full
    +    * list, but I've removed ones that might be problematic when seen in
    +    * languages that don't support regular expression literals.
    +    *
    +    * <p>Specifically, I've removed any keywords that can't precede a regexp
    +    * literal in a syntactically legal javascript program, and I've removed the
    +    * "in" keyword since it's not a keyword in many languages, and might be used
    +    * as a count of inches.
    +    *
    +    * <p>The link a above does not accurately describe EcmaScript rules since
    +    * it fails to distinguish between (a=++/b/i) and (a++/b/i) but it works
    +    * very well in practice.
    +    *
    +    * @private
    +    */
    +  var REGEXP_PRECEDER_PATTERN = function () {
    +      var preceders = [
    +          "!", "!=", "!==", "#", "%", "%=", "&", "&&", "&&=",
    +          "&=", "(", "*", "*=", /* "+", */ "+=", ",", /* "-", */ "-=",
    +          "->", /*".", "..", "...", handled below */ "/", "/=", ":", "::", ";",
    +          "<", "<<", "<<=", "<=", "=", "==", "===", ">",
    +          ">=", ">>", ">>=", ">>>", ">>>=", "?", "@", "[",
    +          "^", "^=", "^^", "^^=", "{", "|", "|=", "||",
    +          "||=", "~" /* handles =~ and !~ */,
    +          "break", "case", "continue", "delete",
    +          "do", "else", "finally", "instanceof",
    +          "return", "throw", "try", "typeof"
    +          ];
    +      var pattern = '(?:^^|[+-]';
    +      for (var i = 0; i < preceders.length; ++i) {
    +        pattern += '|' + preceders[i].replace(/([^=<>:&a-z])/g, '\\$1');
    +      }
    +      pattern += ')\\s*';  // matches at end, and matches empty string
    +      return pattern;
    +      // CAVEAT: this does not properly handle the case where a regular
    +      // expression immediately follows another since a regular expression may
    +      // have flags for case-sensitivity and the like.  Having regexp tokens
    +      // adjacent is not valid in any language I'm aware of, so I'm punting.
    +      // TODO: maybe style special characters inside a regexp as punctuation.
    +    }();
    +
    +  // Define regexps here so that the interpreter doesn't have to create an
    +  // object each time the function containing them is called.
    +  // The language spec requires a new object created even if you don't access
    +  // the $1 members.
    +  var pr_amp = /&/g;
    +  var pr_lt = /</g;
    +  var pr_gt = />/g;
    +  var pr_quot = /\"/g;
    +  /** like textToHtml but escapes double quotes to be attribute safe. */
    +  function attribToHtml(str) {
    +    return str.replace(pr_amp, '&amp;')
    +        .replace(pr_lt, '&lt;')
    +        .replace(pr_gt, '&gt;')
    +        .replace(pr_quot, '&quot;');
    +  }
    +
    +  /** escapest html special characters to html. */
    +  function textToHtml(str) {
    +    return str.replace(pr_amp, '&amp;')
    +        .replace(pr_lt, '&lt;')
    +        .replace(pr_gt, '&gt;');
    +  }
    +
    +
    +  var pr_ltEnt = /&lt;/g;
    +  var pr_gtEnt = /&gt;/g;
    +  var pr_aposEnt = /&apos;/g;
    +  var pr_quotEnt = /&quot;/g;
    +  var pr_ampEnt = /&amp;/g;
    +  var pr_nbspEnt = /&nbsp;/g;
    +  /** unescapes html to plain text. */
    +  function htmlToText(html) {
    +    var pos = html.indexOf('&');
    +    if (pos < 0) { return html; }
    +    // Handle numeric entities specially.  We can't use functional substitution
    +    // since that doesn't work in older versions of Safari.
    +    // These should be rare since most browsers convert them to normal chars.
    +    for (--pos; (pos = html.indexOf('&#', pos + 1)) >= 0;) {
    +      var end = html.indexOf(';', pos);
    +      if (end >= 0) {
    +        var num = html.substring(pos + 3, end);
    +        var radix = 10;
    +        if (num && num.charAt(0) === 'x') {
    +          num = num.substring(1);
    +          radix = 16;
    +        }
    +        var codePoint = parseInt(num, radix);
    +        if (!isNaN(codePoint)) {
    +          html = (html.substring(0, pos) + String.fromCharCode(codePoint) +
    +                  html.substring(end + 1));
    +        }
    +      }
    +    }
    +
    +    return html.replace(pr_ltEnt, '<')
    +        .replace(pr_gtEnt, '>')
    +        .replace(pr_aposEnt, "'")
    +        .replace(pr_quotEnt, '"')
    +        .replace(pr_nbspEnt, ' ')
    +        .replace(pr_ampEnt, '&');
    +  }
    +
    +  /** is the given node's innerHTML normally unescaped? */
    +  function isRawContent(node) {
    +    return 'XMP' === node.tagName;
    +  }
    +
    +  var newlineRe = /[\r\n]/g;
    +  /**
    +   * Are newlines and adjacent spaces significant in the given node's innerHTML?
    +   */
    +  function isPreformatted(node, content) {
    +    // PRE means preformatted, and is a very common case, so don't create
    +    // unnecessary computed style objects.
    +    if ('PRE' === node.tagName) { return true; }
    +    if (!newlineRe.test(content)) { return true; }  // Don't care
    +    var whitespace = '';
    +    // For disconnected nodes, IE has no currentStyle.
    +    if (node.currentStyle) {
    +      whitespace = node.currentStyle.whiteSpace;
    +    } else if (window.getComputedStyle) {
    +      // Firefox makes a best guess if node is disconnected whereas Safari
    +      // returns the empty string.
    +      whitespace = window.getComputedStyle(node, null).whiteSpace;
    +    }
    +    return !whitespace || whitespace === 'pre';
    +  }
    +
    +  function normalizedHtml(node, out, opt_sortAttrs) {
    +    switch (node.nodeType) {
    +      case 1:  // an element
    +        var name = node.tagName.toLowerCase();
    +
    +        out.push('<', name);
    +        var attrs = node.attributes;
    +        var n = attrs.length;
    +        if (n) {
    +          if (opt_sortAttrs) {
    +            var sortedAttrs = [];
    +            for (var i = n; --i >= 0;) { sortedAttrs[i] = attrs[i]; }
    +            sortedAttrs.sort(function (a, b) {
    +                return (a.name < b.name) ? -1 : a.name === b.name ? 0 : 1;
    +              });
    +            attrs = sortedAttrs;
    +          }
    +          for (var i = 0; i < n; ++i) {
    +            var attr = attrs[i];
    +            if (!attr.specified) { continue; }
    +            out.push(' ', attr.name.toLowerCase(),
    +                     '="', attribToHtml(attr.value), '"');
    +          }
    +        }
    +        out.push('>');
    +        for (var child = node.firstChild; child; child = child.nextSibling) {
    +          normalizedHtml(child, out, opt_sortAttrs);
    +        }
    +        if (node.firstChild || !/^(?:br|link|img)$/.test(name)) {
    +          out.push('<\/', name, '>');
    +        }
    +        break;
    +      case 3: case 4: // text
    +        out.push(textToHtml(node.nodeValue));
    +        break;
    +    }
    +  }
    +
    +  /**
    +   * Given a group of {@link RegExp}s, returns a {@code RegExp} that globally
    +   * matches the union o the sets o strings matched d by the input RegExp.
    +   * Since it matches globally, if the input strings have a start-of-input
    +   * anchor (/^.../), it is ignored for the purposes of unioning.
    +   * @param {Array.<RegExp>} regexs non multiline, non-global regexs.
    +   * @return {RegExp} a global regex.
    +   */
    +  function combinePrefixPatterns(regexs) {
    +    var capturedGroupIndex = 0;
    +
    +    var needToFoldCase = false;
    +    var ignoreCase = false;
    +    for (var i = 0, n = regexs.length; i < n; ++i) {
    +      var regex = regexs[i];
    +      if (regex.ignoreCase) {
    +        ignoreCase = true;
    +      } else if (/[a-z]/i.test(regex.source.replace(
    +                     /\\u[0-9a-f]{4}|\\x[0-9a-f]{2}|\\[^ux]/gi, ''))) {
    +        needToFoldCase = true;
    +        ignoreCase = false;
    +        break;
    +      }
    +    }
    +
    +    function decodeEscape(charsetPart) {
    +      if (charsetPart.charAt(0) !== '\\') { return charsetPart.charCodeAt(0); }
    +      switch (charsetPart.charAt(1)) {
    +        case 'b': return 8;
    +        case 't': return 9;
    +        case 'n': return 0xa;
    +        case 'v': return 0xb;
    +        case 'f': return 0xc;
    +        case 'r': return 0xd;
    +        case 'u': case 'x':
    +          return parseInt(charsetPart.substring(2), 16)
    +              || charsetPart.charCodeAt(1);
    +        case '0': case '1': case '2': case '3': case '4':
    +        case '5': case '6': case '7':
    +          return parseInt(charsetPart.substring(1), 8);
    +        default: return charsetPart.charCodeAt(1);
    +      }
    +    }
    +
    +    function encodeEscape(charCode) {
    +      if (charCode < 0x20) {
    +        return (charCode < 0x10 ? '\\x0' : '\\x') + charCode.toString(16);
    +      }
    +      var ch = String.fromCharCode(charCode);
    +      if (ch === '\\' || ch === '-' || ch === '[' || ch === ']') {
    +        ch = '\\' + ch;
    +      }
    +      return ch;
    +    }
    +
    +    function caseFoldCharset(charSet) {
    +      var charsetParts = charSet.substring(1, charSet.length - 1).match(
    +          new RegExp(
    +              '\\\\u[0-9A-Fa-f]{4}'
    +              + '|\\\\x[0-9A-Fa-f]{2}'
    +              + '|\\\\[0-3][0-7]{0,2}'
    +              + '|\\\\[0-7]{1,2}'
    +              + '|\\\\[\\s\\S]'
    +              + '|-'
    +              + '|[^-\\\\]',
    +              'g'));
    +      var groups = [];
    +      var ranges = [];
    +      var inverse = charsetParts[0] === '^';
    +      for (var i = inverse ? 1 : 0, n = charsetParts.length; i < n; ++i) {
    +        var p = charsetParts[i];
    +        switch (p) {
    +          case '\\B': case '\\b':
    +          case '\\D': case '\\d':
    +          case '\\S': case '\\s':
    +          case '\\W': case '\\w':
    +            groups.push(p);
    +            continue;
    +        }
    +        var start = decodeEscape(p);
    +        var end;
    +        if (i + 2 < n && '-' === charsetParts[i + 1]) {
    +          end = decodeEscape(charsetParts[i + 2]);
    +          i += 2;
    +        } else {
    +          end = start;
    +        }
    +        ranges.push([start, end]);
    +        // If the range might intersect letters, then expand it.
    +        if (!(end < 65 || start > 122)) {
    +          if (!(end < 65 || start > 90)) {
    +            ranges.push([Math.max(65, start) | 32, Math.min(end, 90) | 32]);
    +          }
    +          if (!(end < 97 || start > 122)) {
    +            ranges.push([Math.max(97, start) & ~32, Math.min(end, 122) & ~32]);
    +          }
    +        }
    +      }
    +
    +      // [[1, 10], [3, 4], [8, 12], [14, 14], [16, 16], [17, 17]]
    +      // -> [[1, 12], [14, 14], [16, 17]]
    +      ranges.sort(function (a, b) { return (a[0] - b[0]) || (b[1]  - a[1]); });
    +      var consolidatedRanges = [];
    +      var lastRange = [NaN, NaN];
    +      for (var i = 0; i < ranges.length; ++i) {
    +        var range = ranges[i];
    +        if (range[0] <= lastRange[1] + 1) {
    +          lastRange[1] = Math.max(lastRange[1], range[1]);
    +        } else {
    +          consolidatedRanges.push(lastRange = range);
    +        }
    +      }
    +
    +      var out = ['['];
    +      if (inverse) { out.push('^'); }
    +      out.push.apply(out, groups);
    +      for (var i = 0; i < consolidatedRanges.length; ++i) {
    +        var range = consolidatedRanges[i];
    +        out.push(encodeEscape(range[0]));
    +        if (range[1] > range[0]) {
    +          if (range[1] + 1 > range[0]) { out.push('-'); }
    +          out.push(encodeEscape(range[1]));
    +        }
    +      }
    +      out.push(']');
    +      return out.join('');
    +    }
    +
    +    function allowAnywhereFoldCaseAndRenumberGroups(regex) {
    +      // Split into character sets, escape sequences, punctuation strings
    +      // like ('(', '(?:', ')', '^'), and runs of characters that do not
    +      // include any of the above.
    +      var parts = regex.source.match(
    +          new RegExp(
    +              '(?:'
    +              + '\\[(?:[^\\x5C\\x5D]|\\\\[\\s\\S])*\\]'  // a character set
    +              + '|\\\\u[A-Fa-f0-9]{4}'  // a unicode escape
    +              + '|\\\\x[A-Fa-f0-9]{2}'  // a hex escape
    +              + '|\\\\[0-9]+'  // a back-reference or octal escape
    +              + '|\\\\[^ux0-9]'  // other escape sequence
    +              + '|\\(\\?[:!=]'  // start of a non-capturing group
    +              + '|[\\(\\)\\^]'  // start/emd of a group, or line start
    +              + '|[^\\x5B\\x5C\\(\\)\\^]+'  // run of other characters
    +              + ')',
    +              'g'));
    +      var n = parts.length;
    +
    +      // Maps captured group numbers to the number they will occupy in
    +      // the output or to -1 if that has not been determined, or to
    +      // undefined if they need not be capturing in the output.
    +      var capturedGroups = [];
    +
    +      // Walk over and identify back references to build the capturedGroups
    +      // mapping.
    +      for (var i = 0, groupIndex = 0; i < n; ++i) {
    +        var p = parts[i];
    +        if (p === '(') {
    +          // groups are 1-indexed, so max group index is count of '('
    +          ++groupIndex;
    +        } else if ('\\' === p.charAt(0)) {
    +          var decimalValue = +p.substring(1);
    +          if (decimalValue && decimalValue <= groupIndex) {
    +            capturedGroups[decimalValue] = -1;
    +          }
    +        }
    +      }
    +
    +      // Renumber groups and reduce capturing groups to non-capturing groups
    +      // where possible.
    +      for (var i = 1; i < capturedGroups.length; ++i) {
    +        if (-1 === capturedGroups[i]) {
    +          capturedGroups[i] = ++capturedGroupIndex;
    +        }
    +      }
    +      for (var i = 0, groupIndex = 0; i < n; ++i) {
    +        var p = parts[i];
    +        if (p === '(') {
    +          ++groupIndex;
    +          if (capturedGroups[groupIndex] === undefined) {
    +            parts[i] = '(?:';
    +          }
    +        } else if ('\\' === p.charAt(0)) {
    +          var decimalValue = +p.substring(1);
    +          if (decimalValue && decimalValue <= groupIndex) {
    +            parts[i] = '\\' + capturedGroups[groupIndex];
    +          }
    +        }
    +      }
    +
    +      // Remove any prefix anchors so that the output will match anywhere.
    +      // ^^ really does mean an anchored match though.
    +      for (var i = 0, groupIndex = 0; i < n; ++i) {
    +        if ('^' === parts[i] && '^' !== parts[i + 1]) { parts[i] = ''; }
    +      }
    +
    +      // Expand letters to groupts to handle mixing of case-sensitive and
    +      // case-insensitive patterns if necessary.
    +      if (regex.ignoreCase && needToFoldCase) {
    +        for (var i = 0; i < n; ++i) {
    +          var p = parts[i];
    +          var ch0 = p.charAt(0);
    +          if (p.length >= 2 && ch0 === '[') {
    +            parts[i] = caseFoldCharset(p);
    +          } else if (ch0 !== '\\') {
    +            // TODO: handle letters in numeric escapes.
    +            parts[i] = p.replace(
    +                /[a-zA-Z]/g,
    +                function (ch) {
    +                  var cc = ch.charCodeAt(0);
    +                  return '[' + String.fromCharCode(cc & ~32, cc | 32) + ']';
    +                });
    +          }
    +        }
    +      }
    +
    +      return parts.join('');
    +    }
    +
    +    var rewritten = [];
    +    for (var i = 0, n = regexs.length; i < n; ++i) {
    +      var regex = regexs[i];
    +      if (regex.global || regex.multiline) { throw new Error('' + regex); }
    +      rewritten.push(
    +          '(?:' + allowAnywhereFoldCaseAndRenumberGroups(regex) + ')');
    +    }
    +
    +    return new RegExp(rewritten.join('|'), ignoreCase ? 'gi' : 'g');
    +  }
    +
    +  var PR_innerHtmlWorks = null;
    +  function getInnerHtml(node) {
    +    // inner html is hopelessly broken in Safari 2.0.4 when the content is
    +    // an html description of well formed XML and the containing tag is a PRE
    +    // tag, so we detect that case and emulate innerHTML.
    +    if (null === PR_innerHtmlWorks) {
    +      var testNode = document.createElement('PRE');
    +      testNode.appendChild(
    +          document.createTextNode('<!DOCTYPE foo PUBLIC "foo bar">\n<foo />'));
    +      PR_innerHtmlWorks = !/</.test(testNode.innerHTML);
    +    }
    +
    +    if (PR_innerHtmlWorks) {
    +      var content = node.innerHTML;
    +      // XMP tags contain unescaped entities so require special handling.
    +      if (isRawContent(node)) {
    +        content = textToHtml(content);
    +      } else if (!isPreformatted(node, content)) {
    +        content = content.replace(/(<br\s*\/?>)[\r\n]+/g, '$1')
    +            .replace(/(?:[\r\n]+[ \t]*)+/g, ' ');
    +      }
    +      return content;
    +    }
    +
    +    var out = [];
    +    for (var child = node.firstChild; child; child = child.nextSibling) {
    +      normalizedHtml(child, out);
    +    }
    +    return out.join('');
    +  }
    +
    +  /** returns a function that expand tabs to spaces.  This function can be fed
    +    * successive chunks of text, and will maintain its own internal state to
    +    * keep track of how tabs are expanded.
    +    * @return {function (string) : string} a function that takes
    +    *   plain text and return the text with tabs expanded.
    +    * @private
    +    */
    +  function makeTabExpander(tabWidth) {
    +    var SPACES = '                ';
    +    var charInLine = 0;
    +
    +    return function (plainText) {
    +      // walk over each character looking for tabs and newlines.
    +      // On tabs, expand them.  On newlines, reset charInLine.
    +      // Otherwise increment charInLine
    +      var out = null;
    +      var pos = 0;
    +      for (var i = 0, n = plainText.length; i < n; ++i) {
    +        var ch = plainText.charAt(i);
    +
    +        switch (ch) {
    +          case '\t':
    +            if (!out) { out = []; }
    +            out.push(plainText.substring(pos, i));
    +            // calculate how much space we need in front of this part
    +            // nSpaces is the amount of padding -- the number of spaces needed
    +            // to move us to the next column, where columns occur at factors of
    +            // tabWidth.
    +            var nSpaces = tabWidth - (charInLine % tabWidth);
    +            charInLine += nSpaces;
    +            for (; nSpaces >= 0; nSpaces -= SPACES.length) {
    +              out.push(SPACES.substring(0, nSpaces));
    +            }
    +            pos = i + 1;
    +            break;
    +          case '\n':
    +            charInLine = 0;
    +            break;
    +          default:
    +            ++charInLine;
    +        }
    +      }
    +      if (!out) { return plainText; }
    +      out.push(plainText.substring(pos));
    +      return out.join('');
    +    };
    +  }
    +
    +  var pr_chunkPattern = new RegExp(
    +      '[^<]+'  // A run of characters other than '<'
    +      + '|<\!--[\\s\\S]*?--\>'  // an HTML comment
    +      + '|<!\\[CDATA\\[[\\s\\S]*?\\]\\]>'  // a CDATA section
    +      // a probable tag that should not be highlighted
    +      + '|<\/?[a-zA-Z](?:[^>\"\']|\'[^\']*\'|\"[^\"]*\")*>'
    +      + '|<',  // A '<' that does not begin a larger chunk
    +      'g');
    +  var pr_commentPrefix = /^<\!--/;
    +  var pr_cdataPrefix = /^<!\[CDATA\[/;
    +  var pr_brPrefix = /^<br\b/i;
    +  var pr_tagNameRe = /^<(\/?)([a-zA-Z][a-zA-Z0-9]*)/;
    +
    +  /** split markup into chunks of html tags (style null) and
    +    * plain text (style {@link #PR_PLAIN}), converting tags which are
    +    * significant for tokenization (<br>) into their textual equivalent.
    +    *
    +    * @param {string} s html where whitespace is considered significant.
    +    * @return {Object} source code and extracted tags.
    +    * @private
    +    */
    +  function extractTags(s) {
    +    // since the pattern has the 'g' modifier and defines no capturing groups,
    +    // this will return a list of all chunks which we then classify and wrap as
    +    // PR_Tokens
    +    var matches = s.match(pr_chunkPattern);
    +    var sourceBuf = [];
    +    var sourceBufLen = 0;
    +    var extractedTags = [];
    +    if (matches) {
    +      for (var i = 0, n = matches.length; i < n; ++i) {
    +        var match = matches[i];
    +        if (match.length > 1 && match.charAt(0) === '<') {
    +          if (pr_commentPrefix.test(match)) { continue; }
    +          if (pr_cdataPrefix.test(match)) {
    +            // strip CDATA prefix and suffix.  Don't unescape since it's CDATA
    +            sourceBuf.push(match.substring(9, match.length - 3));
    +            sourceBufLen += match.length - 12;
    +          } else if (pr_brPrefix.test(match)) {
    +            // <br> tags are lexically significant so convert them to text.
    +            // This is undone later.
    +            sourceBuf.push('\n');
    +            ++sourceBufLen;
    +          } else {
    +            if (match.indexOf(PR_NOCODE) >= 0 && isNoCodeTag(match)) {
    +              // A <span class="nocode"> will start a section that should be
    +              // ignored.  Continue walking the list until we see a matching end
    +              // tag.
    +              var name = match.match(pr_tagNameRe)[2];
    +              var depth = 1;
    +              var j;
    +              end_tag_loop:
    +              for (j = i + 1; j < n; ++j) {
    +                var name2 = matches[j].match(pr_tagNameRe);
    +                if (name2 && name2[2] === name) {
    +                  if (name2[1] === '/') {
    +                    if (--depth === 0) { break end_tag_loop; }
    +                  } else {
    +                    ++depth;
    +                  }
    +                }
    +              }
    +              if (j < n) {
    +                extractedTags.push(
    +                    sourceBufLen, matches.slice(i, j + 1).join(''));
    +                i = j;
    +              } else {  // Ignore unclosed sections.
    +                extractedTags.push(sourceBufLen, match);
    +              }
    +            } else {
    +              extractedTags.push(sourceBufLen, match);
    +            }
    +          }
    +        } else {
    +          var literalText = htmlToText(match);
    +          sourceBuf.push(literalText);
    +          sourceBufLen += literalText.length;
    +        }
    +      }
    +    }
    +    return { source: sourceBuf.join(''), tags: extractedTags };
    +  }
    +
    +  /** True if the given tag contains a class attribute with the nocode class. */
    +  function isNoCodeTag(tag) {
    +    return !!tag
    +        // First canonicalize the representation of attributes
    +        .replace(/\s(\w+)\s*=\s*(?:\"([^\"]*)\"|'([^\']*)'|(\S+))/g,
    +                 ' $1="$2$3$4"')
    +        // Then look for the attribute we want.
    +        .match(/[cC][lL][aA][sS][sS]=\"[^\"]*\bnocode\b/);
    +  }
    +
    +  /**
    +   * Apply the given language handler to sourceCode and add the resulting
    +   * decorations to out.
    +   * @param {number} basePos the index of sourceCode within the chunk of source
    +   *    whose decorations are already present on out.
    +   */
    +  function appendDecorations(basePos, sourceCode, langHandler, out) {
    +    if (!sourceCode) { return; }
    +    var job = {
    +      source: sourceCode,
    +      basePos: basePos
    +    };
    +    langHandler(job);
    +    out.push.apply(out, job.decorations);
    +  }
    +
    +  /** Given triples of [style, pattern, context] returns a lexing function,
    +    * The lexing function interprets the patterns to find token boundaries and
    +    * returns a decoration list of the form
    +    * [index_0, style_0, index_1, style_1, ..., index_n, style_n]
    +    * where index_n is an index into the sourceCode, and style_n is a style
    +    * constant like PR_PLAIN.  index_n-1 <= index_n, and style_n-1 applies to
    +    * all characters in sourceCode[index_n-1:index_n].
    +    *
    +    * The stylePatterns is a list whose elements have the form
    +    * [style : string, pattern : RegExp, DEPRECATED, shortcut : string].
    +    *
    +    * Style is a style constant like PR_PLAIN, or can be a string of the
    +    * form 'lang-FOO', where FOO is a language extension describing the
    +    * language of the portion of the token in $1 after pattern executes.
    +    * E.g., if style is 'lang-lisp', and group 1 contains the text
    +    * '(hello (world))', then that portion of the token will be passed to the
    +    * registered lisp handler for formatting.
    +    * The text before and after group 1 will be restyled using this decorator
    +    * so decorators should take care that this doesn't result in infinite
    +    * recursion.  For example, the HTML lexer rule for SCRIPT elements looks
    +    * something like ['lang-js', /<[s]cript>(.+?)<\/script>/].  This may match
    +    * '<script>foo()<\/script>', which would cause the current decorator to
    +    * be called with '<script>' which would not match the same rule since
    +    * group 1 must not be empty, so it would be instead styled as PR_TAG by
    +    * the generic tag rule.  The handler registered for the 'js' extension would
    +    * then be called with 'foo()', and finally, the current decorator would
    +    * be called with '<\/script>' which would not match the original rule and
    +    * so the generic tag rule would identify it as a tag.
    +    *
    +    * Pattern must only match prefixes, and if it matches a prefix, then that
    +    * match is considered a token with the same style.
    +    *
    +    * Context is applied to the last non-whitespace, non-comment token
    +    * recognized.
    +    *
    +    * Shortcut is an optional string of characters, any of which, if the first
    +    * character, gurantee that this pattern and only this pattern matches.
    +    *
    +    * @param {Array} shortcutStylePatterns patterns that always start with
    +    *   a known character.  Must have a shortcut string.
    +    * @param {Array} fallthroughStylePatterns patterns that will be tried in
    +    *   order if the shortcut ones fail.  May have shortcuts.
    +    *
    +    * @return {function (Object)} a
    +    *   function that takes source code and returns a list of decorations.
    +    */
    +  function createSimpleLexer(shortcutStylePatterns, fallthroughStylePatterns) {
    +    var shortcuts = {};
    +    var tokenizer;
    +    (function () {
    +      var allPatterns = shortcutStylePatterns.concat(fallthroughStylePatterns);
    +      var allRegexs = [];
    +      var regexKeys = {};
    +      for (var i = 0, n = allPatterns.length; i < n; ++i) {
    +        var patternParts = allPatterns[i];
    +        var shortcutChars = patternParts[3];
    +        if (shortcutChars) {
    +          for (var c = shortcutChars.length; --c >= 0;) {
    +            shortcuts[shortcutChars.charAt(c)] = patternParts;
    +          }
    +        }
    +        var regex = patternParts[1];
    +        var k = '' + regex;
    +        if (!regexKeys.hasOwnProperty(k)) {
    +          allRegexs.push(regex);
    +          regexKeys[k] = null;
    +        }
    +      }
    +      allRegexs.push(/[\0-\uffff]/);
    +      tokenizer = combinePrefixPatterns(allRegexs);
    +    })();
    +
    +    var nPatterns = fallthroughStylePatterns.length;
    +    var notWs = /\S/;
    +
    +    /**
    +     * Lexes job.source and produces an output array job.decorations of style
    +     * classes preceded by the position at which they start in job.source in
    +     * order.
    +     *
    +     * @param {Object} job an object like {@code
    +     *    source: {string} sourceText plain text,
    +     *    basePos: {int} position of job.source in the larger chunk of
    +     *        sourceCode.
    +     * }
    +     */
    +    var decorate = function (job) {
    +      var sourceCode = job.source, basePos = job.basePos;
    +      /** Even entries are positions in source in ascending order.  Odd enties
    +        * are style markers (e.g., PR_COMMENT) that run from that position until
    +        * the end.
    +        * @type {Array.<number|string>}
    +        */
    +      var decorations = [basePos, PR_PLAIN];
    +      var pos = 0;  // index into sourceCode
    +      var tokens = sourceCode.match(tokenizer) || [];
    +      var styleCache = {};
    +
    +      for (var ti = 0, nTokens = tokens.length; ti < nTokens; ++ti) {
    +        var token = tokens[ti];
    +        var style = styleCache[token];
    +        var match = void 0;
    +
    +        var isEmbedded;
    +        if (typeof style === 'string') {
    +          isEmbedded = false;
    +        } else {
    +          var patternParts = shortcuts[token.charAt(0)];
    +          if (patternParts) {
    +            match = token.match(patternParts[1]);
    +            style = patternParts[0];
    +          } else {
    +            for (var i = 0; i < nPatterns; ++i) {
    +              patternParts = fallthroughStylePatterns[i];
    +              match = token.match(patternParts[1]);
    +              if (match) {
    +                style = patternParts[0];
    +                break;
    +              }
    +            }
    +
    +            if (!match) {  // make sure that we make progress
    +              style = PR_PLAIN;
    +            }
    +          }
    +
    +          isEmbedded = style.length >= 5 && 'lang-' === style.substring(0, 5);
    +          if (isEmbedded && !(match && typeof match[1] === 'string')) {
    +            isEmbedded = false;
    +            style = PR_SOURCE;
    +          }
    +
    +          if (!isEmbedded) { styleCache[token] = style; }
    +        }
    +
    +        var tokenStart = pos;
    +        pos += token.length;
    +
    +        if (!isEmbedded) {
    +          decorations.push(basePos + tokenStart, style);
    +        } else {  // Treat group 1 as an embedded block of source code.
    +          var embeddedSource = match[1];
    +          var embeddedSourceStart = token.indexOf(embeddedSource);
    +          var embeddedSourceEnd = embeddedSourceStart + embeddedSource.length;
    +          if (match[2]) {
    +            // If embeddedSource can be blank, then it would match at the
    +            // beginning which would cause us to infinitely recurse on the
    +            // entire token, so we catch the right context in match[2].
    +            embeddedSourceEnd = token.length - match[2].length;
    +            embeddedSourceStart = embeddedSourceEnd - embeddedSource.length;
    +          }
    +          var lang = style.substring(5);
    +          // Decorate the left of the embedded source
    +          appendDecorations(
    +              basePos + tokenStart,
    +              token.substring(0, embeddedSourceStart),
    +              decorate, decorations);
    +          // Decorate the embedded source
    +          appendDecorations(
    +              basePos + tokenStart + embeddedSourceStart,
    +              embeddedSource,
    +              langHandlerForExtension(lang, embeddedSource),
    +              decorations);
    +          // Decorate the right of the embedded section
    +          appendDecorations(
    +              basePos + tokenStart + embeddedSourceEnd,
    +              token.substring(embeddedSourceEnd),
    +              decorate, decorations);
    +        }
    +      }
    +      job.decorations = decorations;
    +    };
    +    return decorate;
    +  }
    +
    +  /** returns a function that produces a list of decorations from source text.
    +    *
    +    * This code treats ", ', and ` as string delimiters, and \ as a string
    +    * escape.  It does not recognize perl's qq() style strings.
    +    * It has no special handling for double delimiter escapes as in basic, or
    +    * the tripled delimiters used in python, but should work on those regardless
    +    * although in those cases a single string literal may be broken up into
    +    * multiple adjacent string literals.
    +    *
    +    * It recognizes C, C++, and shell style comments.
    +    *
    +    * @param {Object} options a set of optional parameters.
    +    * @return {function (Object)} a function that examines the source code
    +    *     in the input job and builds the decoration list.
    +    */
    +  function sourceDecorator(options) {
    +    var shortcutStylePatterns = [], fallthroughStylePatterns = [];
    +    if (options['tripleQuotedStrings']) {
    +      // '''multi-line-string''', 'single-line-string', and double-quoted
    +      shortcutStylePatterns.push(
    +          [PR_STRING,  /^(?:\'\'\'(?:[^\'\\]|\\[\s\S]|\'{1,2}(?=[^\']))*(?:\'\'\'|$)|\"\"\"(?:[^\"\\]|\\[\s\S]|\"{1,2}(?=[^\"]))*(?:\"\"\"|$)|\'(?:[^\\\']|\\[\s\S])*(?:\'|$)|\"(?:[^\\\"]|\\[\s\S])*(?:\"|$))/,
    +           null, '\'"']);
    +    } else if (options['multiLineStrings']) {
    +      // 'multi-line-string', "multi-line-string"
    +      shortcutStylePatterns.push(
    +          [PR_STRING,  /^(?:\'(?:[^\\\']|\\[\s\S])*(?:\'|$)|\"(?:[^\\\"]|\\[\s\S])*(?:\"|$)|\`(?:[^\\\`]|\\[\s\S])*(?:\`|$))/,
    +           null, '\'"`']);
    +    } else {
    +      // 'single-line-string', "single-line-string"
    +      shortcutStylePatterns.push(
    +          [PR_STRING,
    +           /^(?:\'(?:[^\\\'\r\n]|\\.)*(?:\'|$)|\"(?:[^\\\"\r\n]|\\.)*(?:\"|$))/,
    +           null, '"\'']);
    +    }
    +    if (options['verbatimStrings']) {
    +      // verbatim-string-literal production from the C# grammar.  See issue 93.
    +      fallthroughStylePatterns.push(
    +          [PR_STRING, /^@\"(?:[^\"]|\"\")*(?:\"|$)/, null]);
    +    }
    +    if (options['hashComments']) {
    +      if (options['cStyleComments']) {
    +        // Stop C preprocessor declarations at an unclosed open comment
    +        shortcutStylePatterns.push(
    +            [PR_COMMENT, /^#(?:(?:define|elif|else|endif|error|ifdef|include|ifndef|line|pragma|undef|warning)\b|[^\r\n]*)/,
    +             null, '#']);
    +        fallthroughStylePatterns.push(
    +            [PR_STRING,
    +             /^<(?:(?:(?:\.\.\/)*|\/?)(?:[\w-]+(?:\/[\w-]+)+)?[\w-]+\.h|[a-z]\w*)>/,
    +             null]);
    +      } else {
    +        shortcutStylePatterns.push([PR_COMMENT, /^#[^\r\n]*/, null, '#']);
    +      }
    +    }
    +    if (options['cStyleComments']) {
    +      fallthroughStylePatterns.push([PR_COMMENT, /^\/\/[^\r\n]*/, null]);
    +      fallthroughStylePatterns.push(
    +          [PR_COMMENT, /^\/\*[\s\S]*?(?:\*\/|$)/, null]);
    +    }
    +    if (options['regexLiterals']) {
    +      var REGEX_LITERAL = (
    +          // A regular expression literal starts with a slash that is
    +          // not followed by * or / so that it is not confused with
    +          // comments.
    +          '/(?=[^/*])'
    +          // and then contains any number of raw characters,
    +          + '(?:[^/\\x5B\\x5C]'
    +          // escape sequences (\x5C),
    +          +    '|\\x5C[\\s\\S]'
    +          // or non-nesting character sets (\x5B\x5D);
    +          +    '|\\x5B(?:[^\\x5C\\x5D]|\\x5C[\\s\\S])*(?:\\x5D|$))+'
    +          // finally closed by a /.
    +          + '/');
    +      fallthroughStylePatterns.push(
    +          ['lang-regex',
    +           new RegExp('^' + REGEXP_PRECEDER_PATTERN + '(' + REGEX_LITERAL + ')')
    +           ]);
    +    }
    +
    +    var keywords = options['keywords'].replace(/^\s+|\s+$/g, '');
    +    if (keywords.length) {
    +      fallthroughStylePatterns.push(
    +          [PR_KEYWORD,
    +           new RegExp('^(?:' + keywords.replace(/\s+/g, '|') + ')\\b'), null]);
    +    }
    +
    +    shortcutStylePatterns.push([PR_PLAIN,       /^\s+/, null, ' \r\n\t\xA0']);
    +    fallthroughStylePatterns.push(
    +        // TODO(mikesamuel): recognize non-latin letters and numerals in idents
    +        [PR_LITERAL,     /^@[a-z_$][a-z_$@0-9]*/i, null],
    +        [PR_TYPE,        /^@?[A-Z]+[a-z][A-Za-z_$@0-9]*/, null],
    +        [PR_PLAIN,       /^[a-z_$][a-z_$@0-9]*/i, null],
    +        [PR_LITERAL,
    +         new RegExp(
    +             '^(?:'
    +             // A hex number
    +             + '0x[a-f0-9]+'
    +             // or an octal or decimal number,
    +             + '|(?:\\d(?:_\\d+)*\\d*(?:\\.\\d*)?|\\.\\d\\+)'
    +             // possibly in scientific notation
    +             + '(?:e[+\\-]?\\d+)?'
    +             + ')'
    +             // with an optional modifier like UL for unsigned long
    +             + '[a-z]*', 'i'),
    +         null, '0123456789'],
    +        [PR_PUNCTUATION, /^.[^\s\w\.$@\'\"\`\/\#]*/, null]);
    +
    +    return createSimpleLexer(shortcutStylePatterns, fallthroughStylePatterns);
    +  }
    +
    +  var decorateSource = sourceDecorator({
    +        'keywords': ALL_KEYWORDS,
    +        'hashComments': true,
    +        'cStyleComments': true,
    +        'multiLineStrings': true,
    +        'regexLiterals': true
    +      });
    +
    +  /** Breaks {@code job.source} around style boundaries in
    +    * {@code job.decorations} while re-interleaving {@code job.extractedTags},
    +    * and leaves the result in {@code job.prettyPrintedHtml}.
    +    * @param {Object} job like {
    +    *    source: {string} source as plain text,
    +    *    extractedTags: {Array.<number|string>} extractedTags chunks of raw
    +    *                   html preceded by their position in {@code job.source}
    +    *                   in order
    +    *    decorations: {Array.<number|string} an array of style classes preceded
    +    *                 by the position at which they start in job.source in order
    +    * }
    +    * @private
    +    */
    +  function recombineTagsAndDecorations(job) {
    +    var sourceText = job.source;
    +    var extractedTags = job.extractedTags;
    +    var decorations = job.decorations;
    +
    +    var html = [];
    +    // index past the last char in sourceText written to html
    +    var outputIdx = 0;
    +
    +    var openDecoration = null;
    +    var currentDecoration = null;
    +    var tagPos = 0;  // index into extractedTags
    +    var decPos = 0;  // index into decorations
    +    var tabExpander = makeTabExpander(window['PR_TAB_WIDTH']);
    +
    +    var adjacentSpaceRe = /([\r\n ]) /g;
    +    var startOrSpaceRe = /(^| ) /gm;
    +    var newlineRe = /\r\n?|\n/g;
    +    var trailingSpaceRe = /[ \r\n]$/;
    +    var lastWasSpace = true;  // the last text chunk emitted ended with a space.
    +
    +    // See bug 71 and http://stackoverflow.com/questions/136443/why-doesnt-ie7-
    +    var isIE678 = window['_pr_isIE6']();
    +    var lineBreakHtml = (
    +        isIE678
    +        ? (job.sourceNode.tagName === 'PRE'
    +           // Use line feeds instead of <br>s so that copying and pasting works
    +           // on IE.
    +           // Doing this on other browsers breaks lots of stuff since \r\n is
    +           // treated as two newlines on Firefox.
    +           ? (isIE678 === 6 ? '&#160;\r\n' :
    +              isIE678 === 7 ? '&#160;<br>\r' : '&#160;\r')
    +           // IE collapses multiple adjacent <br>s into 1 line break.
    +           // Prefix every newline with '&#160;' to prevent such behavior.
    +           // &nbsp; is the same as &#160; but works in XML as well as HTML.
    +           : '&#160;<br />')
    +        : '<br />');
    +
    +    // Look for a class like linenums or linenums:<n> where <n> is the 1-indexed
    +    // number of the first line.
    +    var numberLines = job.sourceNode.className.match(/\blinenums\b(?::(\d+))?/);
    +    var lineBreaker;
    +    if (numberLines) {
    +      var lineBreaks = [];
    +      for (var i = 0; i < 10; ++i) {
    +        lineBreaks[i] = lineBreakHtml + '</li><li class="L' + i + '">';
    +      }
    +      var lineNum = numberLines[1] && numberLines[1].length
    +          ? numberLines[1] - 1 : 0;  // Lines are 1-indexed
    +      html.push('<ol class="linenums"><li class="L', (lineNum) % 10, '"');
    +      if (lineNum) {
    +        html.push(' value="', lineNum + 1, '"');
    +      }
    +      html.push('>');
    +      lineBreaker = function () {
    +        var lb = lineBreaks[++lineNum % 10];
    +        // If a decoration is open, we need to close it before closing a list-item
    +        // and reopen it on the other side of the list item.
    +        return openDecoration
    +            ? ('</span>' + lb + '<span class="' + openDecoration + '">') : lb;
    +      };
    +    } else {
    +      lineBreaker = lineBreakHtml;
    +    }
    +
    +    // A helper function that is responsible for opening sections of decoration
    +    // and outputing properly escaped chunks of source
    +    function emitTextUpTo(sourceIdx) {
    +      if (sourceIdx > outputIdx) {
    +        if (openDecoration && openDecoration !== currentDecoration) {
    +          // Close the current decoration
    +          html.push('</span>');
    +          openDecoration = null;
    +        }
    +        if (!openDecoration && currentDecoration) {
    +          openDecoration = currentDecoration;
    +          html.push('<span class="', openDecoration, '">');
    +        }
    +        // This interacts badly with some wikis which introduces paragraph tags
    +        // into pre blocks for some strange reason.
    +        // It's necessary for IE though which seems to lose the preformattedness
    +        // of <pre> tags when their innerHTML is assigned.
    +        // http://stud3.tuwien.ac.at/~e0226430/innerHtmlQuirk.html
    +        // and it serves to undo the conversion of <br>s to newlines done in
    +        // chunkify.
    +        var htmlChunk = textToHtml(
    +            tabExpander(sourceText.substring(outputIdx, sourceIdx)))
    +            .replace(lastWasSpace
    +                     ? startOrSpaceRe
    +                     : adjacentSpaceRe, '$1&#160;');
    +        // Keep track of whether we need to escape space at the beginning of the
    +        // next chunk.
    +        lastWasSpace = trailingSpaceRe.test(htmlChunk);
    +        html.push(htmlChunk.replace(newlineRe, lineBreaker));
    +        outputIdx = sourceIdx;
    +      }
    +    }
    +
    +    while (true) {
    +      // Determine if we're going to consume a tag this time around.  Otherwise
    +      // we consume a decoration or exit.
    +      var outputTag;
    +      if (tagPos < extractedTags.length) {
    +        if (decPos < decorations.length) {
    +          // Pick one giving preference to extractedTags since we shouldn't open
    +          // a new style that we're going to have to immediately close in order
    +          // to output a tag.
    +          outputTag = extractedTags[tagPos] <= decorations[decPos];
    +        } else {
    +          outputTag = true;
    +        }
    +      } else {
    +        outputTag = false;
    +      }
    +      // Consume either a decoration or a tag or exit.
    +      if (outputTag) {
    +        emitTextUpTo(extractedTags[tagPos]);
    +        if (openDecoration) {
    +          // Close the current decoration
    +          html.push('</span>');
    +          openDecoration = null;
    +        }
    +        html.push(extractedTags[tagPos + 1]);
    +        tagPos += 2;
    +      } else if (decPos < decorations.length) {
    +        emitTextUpTo(decorations[decPos]);
    +        currentDecoration = decorations[decPos + 1];
    +        decPos += 2;
    +      } else {
    +        break;
    +      }
    +    }
    +    emitTextUpTo(sourceText.length);
    +    if (openDecoration) {
    +      html.push('</span>');
    +    }
    +    if (numberLines) { html.push('</li></ol>'); }
    +    job.prettyPrintedHtml = html.join('');
    +  }
    +
    +  /** Maps language-specific file extensions to handlers. */
    +  var langHandlerRegistry = {};
    +  /** Register a language handler for the given file extensions.
    +    * @param {function (Object)} handler a function from source code to a list
    +    *      of decorations.  Takes a single argument job which describes the
    +    *      state of the computation.   The single parameter has the form
    +    *      {@code {
    +    *        source: {string} as plain text.
    +    *        decorations: {Array.<number|string>} an array of style classes
    +    *                     preceded by the position at which they start in
    +    *                     job.source in order.
    +    *                     The language handler should assigned this field.
    +    *        basePos: {int} the position of source in the larger source chunk.
    +    *                 All positions in the output decorations array are relative
    +    *                 to the larger source chunk.
    +    *      } }
    +    * @param {Array.<string>} fileExtensions
    +    */
    +  function registerLangHandler(handler, fileExtensions) {
    +    for (var i = fileExtensions.length; --i >= 0;) {
    +      var ext = fileExtensions[i];
    +      if (!langHandlerRegistry.hasOwnProperty(ext)) {
    +        langHandlerRegistry[ext] = handler;
    +      } else if ('console' in window) {
    +        console['warn']('cannot override language handler %s', ext);
    +      }
    +    }
    +  }
    +  function langHandlerForExtension(extension, source) {
    +    if (!(extension && langHandlerRegistry.hasOwnProperty(extension))) {
    +      // Treat it as markup if the first non whitespace character is a < and
    +      // the last non-whitespace character is a >.
    +      extension = /^\s*</.test(source)
    +          ? 'default-markup'
    +          : 'default-code';
    +    }
    +    return langHandlerRegistry[extension];
    +  }
    +  registerLangHandler(decorateSource, ['default-code']);
    +  registerLangHandler(
    +      createSimpleLexer(
    +          [],
    +          [
    +           [PR_PLAIN,       /^[^<?]+/],
    +           [PR_DECLARATION, /^<!\w[^>]*(?:>|$)/],
    +           [PR_COMMENT,     /^<\!--[\s\S]*?(?:-\->|$)/],
    +           // Unescaped content in an unknown language
    +           ['lang-',        /^<\?([\s\S]+?)(?:\?>|$)/],
    +           ['lang-',        /^<%([\s\S]+?)(?:%>|$)/],
    +           [PR_PUNCTUATION, /^(?:<[%?]|[%?]>)/],
    +           ['lang-',        /^<xmp\b[^>]*>([\s\S]+?)<\/xmp\b[^>]*>/i],
    +           // Unescaped content in javascript.  (Or possibly vbscript).
    +           ['lang-js',      /^<script\b[^>]*>([\s\S]*?)(<\/script\b[^>]*>)/i],
    +           // Contains unescaped stylesheet content
    +           ['lang-css',     /^<style\b[^>]*>([\s\S]*?)(<\/style\b[^>]*>)/i],
    +           ['lang-in.tag',  /^(<\/?[a-z][^<>]*>)/i]
    +          ]),
    +      ['default-markup', 'htm', 'html', 'mxml', 'xhtml', 'xml', 'xsl']);
    +  registerLangHandler(
    +      createSimpleLexer(
    +          [
    +           [PR_PLAIN,        /^[\s]+/, null, ' \t\r\n'],
    +           [PR_ATTRIB_VALUE, /^(?:\"[^\"]*\"?|\'[^\']*\'?)/, null, '\"\'']
    +           ],
    +          [
    +           [PR_TAG,          /^^<\/?[a-z](?:[\w.:-]*\w)?|\/?>$/i],
    +           [PR_ATTRIB_NAME,  /^(?!style[\s=]|on)[a-z](?:[\w:-]*\w)?/i],
    +           ['lang-uq.val',   /^=\s*([^>\'\"\s]*(?:[^>\'\"\s\/]|\/(?=\s)))/],
    +           [PR_PUNCTUATION,  /^[=<>\/]+/],
    +           ['lang-js',       /^on\w+\s*=\s*\"([^\"]+)\"/i],
    +           ['lang-js',       /^on\w+\s*=\s*\'([^\']+)\'/i],
    +           ['lang-js',       /^on\w+\s*=\s*([^\"\'>\s]+)/i],
    +           ['lang-css',      /^style\s*=\s*\"([^\"]+)\"/i],
    +           ['lang-css',      /^style\s*=\s*\'([^\']+)\'/i],
    +           ['lang-css',      /^style\s*=\s*([^\"\'>\s]+)/i]
    +           ]),
    +      ['in.tag']);
    +  registerLangHandler(
    +      createSimpleLexer([], [[PR_ATTRIB_VALUE, /^[\s\S]+/]]), ['uq.val']);
    +  registerLangHandler(sourceDecorator({
    +          'keywords': CPP_KEYWORDS,
    +          'hashComments': true,
    +          'cStyleComments': true
    +        }), ['c', 'cc', 'cpp', 'cxx', 'cyc', 'm']);
    +  registerLangHandler(sourceDecorator({
    +          'keywords': 'null true false'
    +        }), ['json']);
    +  registerLangHandler(sourceDecorator({
    +          'keywords': CSHARP_KEYWORDS,
    +          'hashComments': true,
    +          'cStyleComments': true,
    +          'verbatimStrings': true
    +        }), ['cs']);
    +  registerLangHandler(sourceDecorator({
    +          'keywords': JAVA_KEYWORDS,
    +          'cStyleComments': true
    +        }), ['java']);
    +  registerLangHandler(sourceDecorator({
    +          'keywords': SH_KEYWORDS,
    +          'hashComments': true,
    +          'multiLineStrings': true
    +        }), ['bsh', 'csh', 'sh']);
    +  registerLangHandler(sourceDecorator({
    +          'keywords': PYTHON_KEYWORDS,
    +          'hashComments': true,
    +          'multiLineStrings': true,
    +          'tripleQuotedStrings': true
    +        }), ['cv', 'py']);
    +  registerLangHandler(sourceDecorator({
    +          'keywords': PERL_KEYWORDS,
    +          'hashComments': true,
    +          'multiLineStrings': true,
    +          'regexLiterals': true
    +        }), ['perl', 'pl', 'pm']);
    +  registerLangHandler(sourceDecorator({
    +          'keywords': RUBY_KEYWORDS,
    +          'hashComments': true,
    +          'multiLineStrings': true,
    +          'regexLiterals': true
    +        }), ['rb']);
    +  registerLangHandler(sourceDecorator({
    +          'keywords': JSCRIPT_KEYWORDS,
    +          'cStyleComments': true,
    +          'regexLiterals': true
    +        }), ['js']);
    +  registerLangHandler(
    +      createSimpleLexer([], [[PR_STRING, /^[\s\S]+/]]), ['regex']);
    +
    +  function applyDecorator(job) {
    +    var sourceCodeHtml = job.sourceCodeHtml;
    +    var opt_langExtension = job.langExtension;
    +
    +    // Prepopulate output in case processing fails with an exception.
    +    job.prettyPrintedHtml = sourceCodeHtml;
    +
    +    try {
    +      // Extract tags, and convert the source code to plain text.
    +      var sourceAndExtractedTags = extractTags(sourceCodeHtml);
    +      /** Plain text. @type {string} */
    +      var source = sourceAndExtractedTags.source;
    +      job.source = source;
    +      job.basePos = 0;
    +
    +      /** Even entries are positions in source in ascending order.  Odd entries
    +        * are tags that were extracted at that position.
    +        * @type {Array.<number|string>}
    +        */
    +      job.extractedTags = sourceAndExtractedTags.tags;
    +
    +      // Apply the appropriate language handler
    +      langHandlerForExtension(opt_langExtension, source)(job);
    +      // Integrate the decorations and tags back into the source code to produce
    +      // a decorated html string which is left in job.prettyPrintedHtml.
    +      recombineTagsAndDecorations(job);
    +    } catch (e) {
    +      if ('console' in window) {
    +        console['log'](e && e['stack'] ? e['stack'] : e);
    +      }
    +    }
    +  }
    +
    +  function prettyPrintOne(sourceCodeHtml, opt_langExtension) {
    +    var job = {
    +      sourceCodeHtml: sourceCodeHtml,
    +      langExtension: opt_langExtension
    +    };
    +    applyDecorator(job);
    +    return job.prettyPrintedHtml;
    +  }
    +
    +  function prettyPrint(opt_whenDone) {
    +    function byTagName(tn) { return document.getElementsByTagName(tn); }
    +    // fetch a list of nodes to rewrite
    +    var codeSegments = [byTagName('pre'), byTagName('code'), byTagName('xmp')];
    +    var elements = [];
    +    for (var i = 0; i < codeSegments.length; ++i) {
    +      for (var j = 0, n = codeSegments[i].length; j < n; ++j) {
    +        elements.push(codeSegments[i][j]);
    +      }
    +    }
    +    codeSegments = null;
    +
    +    var clock = Date;
    +    if (!clock['now']) {
    +      clock = { 'now': function () { return (new Date).getTime(); } };
    +    }
    +
    +    // The loop is broken into a series of continuations to make sure that we
    +    // don't make the browser unresponsive when rewriting a large page.
    +    var k = 0;
    +    var prettyPrintingJob;
    +
    +    function doWork() {
    +      var endTime = (window['PR_SHOULD_USE_CONTINUATION'] ?
    +                     clock.now() + 250 /* ms */ :
    +                     Infinity);
    +      for (; k < elements.length && clock.now() < endTime; k++) {
    +        var cs = elements[k];
    +        // [JACOCO] 'prettyprint' -> 'source'
    +        if (cs.className && cs.className.indexOf('source') >= 0) {
    +          // If the classes includes a language extensions, use it.
    +          // Language extensions can be specified like
    +          //     <pre class="prettyprint lang-cpp">
    +          // the language extension "cpp" is used to find a language handler as
    +          // passed to PR_registerLangHandler.
    +          var langExtension = cs.className.match(/\blang-(\w+)\b/);
    +          if (langExtension) { langExtension = langExtension[1]; }
    +
    +          // make sure this is not nested in an already prettified element
    +          var nested = false;
    +          for (var p = cs.parentNode; p; p = p.parentNode) {
    +            if ((p.tagName === 'pre' || p.tagName === 'code' ||
    +                 p.tagName === 'xmp') &&
    +                // [JACOCO] 'prettyprint' -> 'source'
    +                p.className && p.className.indexOf('source') >= 0) {
    +              nested = true;
    +              break;
    +            }
    +          }
    +          if (!nested) {
    +            // fetch the content as a snippet of properly escaped HTML.
    +            // Firefox adds newlines at the end.
    +            var content = getInnerHtml(cs);
    +            content = content.replace(/(?:\r\n?|\n)$/, '');
    +
    +            // do the pretty printing
    +            prettyPrintingJob = {
    +              sourceCodeHtml: content,
    +              langExtension: langExtension,
    +              sourceNode: cs
    +            };
    +            applyDecorator(prettyPrintingJob);
    +            replaceWithPrettyPrintedHtml();
    +          }
    +        }
    +      }
    +      if (k < elements.length) {
    +        // finish up in a continuation
    +        setTimeout(doWork, 250);
    +      } else if (opt_whenDone) {
    +        opt_whenDone();
    +      }
    +    }
    +
    +    function replaceWithPrettyPrintedHtml() {
    +      var newContent = prettyPrintingJob.prettyPrintedHtml;
    +      if (!newContent) { return; }
    +      var cs = prettyPrintingJob.sourceNode;
    +
    +      // push the prettified html back into the tag.
    +      if (!isRawContent(cs)) {
    +        // just replace the old html with the new
    +        cs.innerHTML = newContent;
    +      } else {
    +        // we need to change the tag to a <pre> since <xmp>s do not allow
    +        // embedded tags such as the span tags used to attach styles to
    +        // sections of source code.
    +        var pre = document.createElement('PRE');
    +        for (var i = 0; i < cs.attributes.length; ++i) {
    +          var a = cs.attributes[i];
    +          if (a.specified) {
    +            var aname = a.name.toLowerCase();
    +            if (aname === 'class') {
    +              pre.className = a.value;  // For IE 6
    +            } else {
    +              pre.setAttribute(a.name, a.value);
    +            }
    +          }
    +        }
    +        pre.innerHTML = newContent;
    +
    +        // remove the old
    +        cs.parentNode.replaceChild(pre, cs);
    +        cs = pre;
    +      }
    +    }
    +
    +    doWork();
    +  }
    +
    +  window['PR_normalizedHtml'] = normalizedHtml;
    +  window['prettyPrintOne'] = prettyPrintOne;
    +  window['prettyPrint'] = prettyPrint;
    +  window['PR'] = {
    +        'combinePrefixPatterns': combinePrefixPatterns,
    +        'createSimpleLexer': createSimpleLexer,
    +        'registerLangHandler': registerLangHandler,
    +        'sourceDecorator': sourceDecorator,
    +        'PR_ATTRIB_NAME': PR_ATTRIB_NAME,
    +        'PR_ATTRIB_VALUE': PR_ATTRIB_VALUE,
    +        'PR_COMMENT': PR_COMMENT,
    +        'PR_DECLARATION': PR_DECLARATION,
    +        'PR_KEYWORD': PR_KEYWORD,
    +        'PR_LITERAL': PR_LITERAL,
    +        'PR_NOCODE': PR_NOCODE,
    +        'PR_PLAIN': PR_PLAIN,
    +        'PR_PUNCTUATION': PR_PUNCTUATION,
    +        'PR_SOURCE': PR_SOURCE,
    +        'PR_STRING': PR_STRING,
    +        'PR_TAG': PR_TAG,
    +        'PR_TYPE': PR_TYPE
    +      };
    +})();
    diff --git a/jacoco/trunk/coverage/jacoco-resources/redbar.gif b/jacoco/trunk/coverage/jacoco-resources/redbar.gif
    new file mode 100644
    index 00000000000..c2f71469ba9
    Binary files /dev/null and b/jacoco/trunk/coverage/jacoco-resources/redbar.gif differ
    diff --git a/jacoco/trunk/coverage/jacoco-resources/report.css b/jacoco/trunk/coverage/jacoco-resources/report.css
    new file mode 100644
    index 00000000000..dd936bca541
    --- /dev/null
    +++ b/jacoco/trunk/coverage/jacoco-resources/report.css
    @@ -0,0 +1,243 @@
    +body, td {
    +  font-family:sans-serif;
    +  font-size:10pt;
    +}
    +
    +h1 {
    +  font-weight:bold;
    +  font-size:18pt;
    +}
    +
    +.breadcrumb {
    +  border:#d6d3ce 1px solid;
    +  padding:2px 4px 2px 4px;
    +}
    +
    +.breadcrumb .info {
    +  float:right;
    +}
    +
    +.breadcrumb .info a {
    +  margin-left:8px;
    +}
    +
    +.el_report {
    +  padding-left:18px;
    +  background-image:url(report.gif);
    +  background-position:left center;
    +  background-repeat:no-repeat;
    +}
    +
    +.el_group {
    +  padding-left:18px;
    +  background-image:url(group.gif);
    +  background-position:left center;
    +  background-repeat:no-repeat;
    +}
    +
    +.el_bundle {
    +  padding-left:18px;
    +  background-image:url(bundle.gif);
    +  background-position:left center;
    +  background-repeat:no-repeat;
    +}
    +
    +.el_package {
    +  padding-left:18px;
    +  background-image:url(package.gif);
    +  background-position:left center;
    +  background-repeat:no-repeat;
    +}
    +
    +.el_class {
    +  padding-left:18px;
    +  background-image:url(class.gif);
    +  background-position:left center;
    +  background-repeat:no-repeat;
    +}
    +
    +.el_source {
    +  padding-left:18px;
    +  background-image:url(source.gif);
    +  background-position:left center;
    +  background-repeat:no-repeat;
    +}
    +
    +.el_method {
    +  padding-left:18px;
    +  background-image:url(method.gif);
    +  background-position:left center;
    +  background-repeat:no-repeat;
    +}
    +
    +.el_session {
    +  padding-left:18px;
    +  background-image:url(session.gif);
    +  background-position:left center;
    +  background-repeat:no-repeat;
    +}
    +
    +pre.source {
    +  border:#d6d3ce 1px solid;
    +  font-family:monospace;
    +}
    +
    +pre.source ol {
    +  margin-bottom: 0px;
    +  margin-top: 0px;
    +}
    +
    +pre.source li {
    +  border-left: 1px solid #D6D3CE;
    +  color: #A0A0A0;
    +  padding-left: 0px;
    +}
    +
    +pre.source span.fc {
    +  background-color:#ccffcc;
    +}
    +
    +pre.source span.nc {
    +  background-color:#ffaaaa;
    +}
    +
    +pre.source span.pc {
    +  background-color:#ffffcc;
    +}
    +
    +pre.source span.bfc {
    +  background-image: url(branchfc.gif);
    +  background-repeat: no-repeat;
    +  background-position: 2px center;
    +}
    +
    +pre.source span.bfc:hover {
    +  background-color:#80ff80;
    +}
    +
    +pre.source span.bnc {
    +  background-image: url(branchnc.gif);
    +  background-repeat: no-repeat;
    +  background-position: 2px center;
    +}
    +
    +pre.source span.bnc:hover {
    +  background-color:#ff8080;
    +}
    +
    +pre.source span.bpc {
    +  background-image: url(branchpc.gif);
    +  background-repeat: no-repeat;
    +  background-position: 2px center;
    +}
    +
    +pre.source span.bpc:hover {
    +  background-color:#ffff80;
    +}
    +
    +table.coverage {
    +  empty-cells:show;
    +  border-collapse:collapse;
    +}
    +
    +table.coverage thead {
    +  background-color:#e0e0e0;
    +}
    +
    +table.coverage thead td {
    +  white-space:nowrap;
    +  padding:2px 14px 0px 6px;
    +  border-bottom:#b0b0b0 1px solid;
    +}
    +
    +table.coverage thead td.bar {
    +  border-left:#cccccc 1px solid;
    +}
    +
    +table.coverage thead td.ctr1 {
    +  text-align:right;
    +  border-left:#cccccc 1px solid;
    +}
    +
    +table.coverage thead td.ctr2 {
    +  text-align:right;
    +  padding-left:2px;
    +}
    +
    +table.coverage thead td.sortable {
    +  cursor:pointer;
    +  background-image:url(sort.gif);
    +  background-position:right center;
    +  background-repeat:no-repeat;
    +}
    +
    +table.coverage thead td.up {
    +  background-image:url(up.gif);
    +}
    +
    +table.coverage thead td.down {
    +  background-image:url(down.gif);
    +}
    +
    +table.coverage tbody td {
    +  white-space:nowrap;
    +  padding:2px 6px 2px 6px;
    +  border-bottom:#d6d3ce 1px solid;
    +}
    +
    +table.coverage tbody tr:hover {
    +  background: #f0f0d0 !important;
    +}
    +
    +table.coverage tbody td.bar {
    +  border-left:#e8e8e8 1px solid;
    +}
    +
    +table.coverage tbody td.ctr1 {
    +  text-align:right;
    +  padding-right:14px;
    +  border-left:#e8e8e8 1px solid;
    +}
    +
    +table.coverage tbody td.ctr2 {
    +  text-align:right;
    +  padding-right:14px;
    +  padding-left:2px;
    +}
    +
    +table.coverage tfoot td {
    +  white-space:nowrap;
    +  padding:2px 6px 2px 6px;
    +}
    +
    +table.coverage tfoot td.bar {
    +  border-left:#e8e8e8 1px solid;
    +}
    +
    +table.coverage tfoot td.ctr1 {
    +  text-align:right;
    +  padding-right:14px;
    +  border-left:#e8e8e8 1px solid;
    +}
    +
    +table.coverage tfoot td.ctr2 {
    +  text-align:right;
    +  padding-right:14px;
    +  padding-left:2px;
    +}
    +
    +.footer {
    +  margin-top:20px;
    +  border-top:#d6d3ce 1px solid;
    +  padding-top:2px;
    +  font-size:8pt;
    +  color:#a0a0a0;
    +}
    +
    +.footer a {
    +  color:#a0a0a0;
    +}
    +
    +.right {
    +  float:right;
    +}
    diff --git a/jacoco/trunk/coverage/jacoco-resources/report.gif b/jacoco/trunk/coverage/jacoco-resources/report.gif
    new file mode 100644
    index 00000000000..8547be50bf3
    Binary files /dev/null and b/jacoco/trunk/coverage/jacoco-resources/report.gif differ
    diff --git a/jacoco/trunk/coverage/jacoco-resources/session.gif b/jacoco/trunk/coverage/jacoco-resources/session.gif
    new file mode 100644
    index 00000000000..0151bad8a00
    Binary files /dev/null and b/jacoco/trunk/coverage/jacoco-resources/session.gif differ
    diff --git a/jacoco/trunk/coverage/jacoco-resources/sort.gif b/jacoco/trunk/coverage/jacoco-resources/sort.gif
    new file mode 100644
    index 00000000000..6757c2c32b5
    Binary files /dev/null and b/jacoco/trunk/coverage/jacoco-resources/sort.gif differ
    diff --git a/jacoco/trunk/coverage/jacoco-resources/sort.js b/jacoco/trunk/coverage/jacoco-resources/sort.js
    new file mode 100644
    index 00000000000..9dcb0e8bbfb
    --- /dev/null
    +++ b/jacoco/trunk/coverage/jacoco-resources/sort.js
    @@ -0,0 +1,148 @@
    +/*******************************************************************************
    + * Copyright (c) 2009, 2024 Mountainminds GmbH & Co. KG and Contributors
    + * This program and the accompanying materials are made available under
    + * the terms of the Eclipse Public License 2.0 which is available at
    + * http://www.eclipse.org/legal/epl-2.0
    + *
    + * SPDX-License-Identifier: EPL-2.0
    + *
    + * Contributors:
    + *    Marc R. Hoffmann - initial API and implementation
    + *
    + *******************************************************************************/
    +
    +(function () {
    +
    +  /**
    +   * Sets the initial sorting derived from the hash.
    +   *
    +   * @param linkelementids
    +   *          list of element ids to search for links to add sort inidcator
    +   *          hash links
    +   */
    +  function initialSort(linkelementids) {
    +    window.linkelementids = linkelementids;
    +    var hash = window.location.hash;
    +    if (hash) {
    +      var m = hash.match(/up-./);
    +      if (m) {
    +        var header = window.document.getElementById(m[0].charAt(3));
    +        if (header) {
    +          sortColumn(header, true);
    +        }
    +        return;
    +      }
    +      var m = hash.match(/dn-./);
    +      if (m) {
    +        var header = window.document.getElementById(m[0].charAt(3));
    +        if (header) {
    +          sortColumn(header, false);
    +        }
    +        return
    +      }
    +    }
    +  }
    +
    +  /**
    +   * Sorts the columns with the given header dependening on the current sort state.
    +   */
    +  function toggleSort(header) {
    +    var sortup = header.className.indexOf('down ') == 0;
    +    sortColumn(header, sortup);
    +  }
    +
    +  /**
    +   * Sorts the columns with the given header in the given direction.
    +   */
    +  function sortColumn(header, sortup) {
    +    var table = header.parentNode.parentNode.parentNode;
    +    var body = table.tBodies[0];
    +    var colidx = getNodePosition(header);
    +
    +    resetSortedStyle(table);
    +
    +    var rows = body.rows;
    +    var sortedrows = [];
    +    for (var i = 0; i < rows.length; i++) {
    +      r = rows[i];
    +      sortedrows[parseInt(r.childNodes[colidx].id.slice(1))] = r;
    +    }
    +
    +    var hash;
    +
    +    if (sortup) {
    +      for (var i = sortedrows.length - 1; i >= 0; i--) {
    +        body.appendChild(sortedrows[i]);
    +      }
    +      header.className = 'up ' + header.className;
    +      hash = 'up-' + header.id;
    +    } else {
    +      for (var i = 0; i < sortedrows.length; i++) {
    +        body.appendChild(sortedrows[i]);
    +      }
    +      header.className = 'down ' + header.className;
    +      hash = 'dn-' + header.id;
    +    }
    +
    +    setHash(hash);
    +  }
    +
    +  /**
    +   * Adds the sort indicator as a hash to the document URL and all links.
    +   */
    +  function setHash(hash) {
    +    window.document.location.hash = hash;
    +    ids = window.linkelementids;
    +    for (var i = 0; i < ids.length; i++) {
    +        setHashOnAllLinks(document.getElementById(ids[i]), hash);
    +    }
    +  }
    +
    +  /**
    +   * Extend all links within the given tag with the given hash.
    +   */
    +  function setHashOnAllLinks(tag, hash) {
    +    links = tag.getElementsByTagName("a");
    +    for (var i = 0; i < links.length; i++) {
    +        var a = links[i];
    +        var href = a.href;
    +        var hashpos = href.indexOf("#");
    +        if (hashpos != -1) {
    +            href = href.substring(0, hashpos);
    +        }
    +        a.href = href + "#" + hash;
    +    }
    +  }
    +
    +  /**
    +   * Calculates the position of a element within its parent.
    +   */
    +  function getNodePosition(element) {
    +    var pos = -1;
    +    while (element) {
    +      element = element.previousSibling;
    +      pos++;
    +    }
    +    return pos;
    +  }
    +
    +  /**
    +   * Remove the sorting indicator style from all headers.
    +   */
    +  function resetSortedStyle(table) {
    +    for (var c = table.tHead.firstChild.firstChild; c; c = c.nextSibling) {
    +      if (c.className) {
    +        if (c.className.indexOf('down ') == 0) {
    +          c.className = c.className.slice(5);
    +        }
    +        if (c.className.indexOf('up ') == 0) {
    +          c.className = c.className.slice(3);
    +        }
    +      }
    +    }
    +  }
    +
    +  window['initialSort'] = initialSort;
    +  window['toggleSort'] = toggleSort;
    +
    +})();
    diff --git a/jacoco/trunk/coverage/jacoco-resources/source.gif b/jacoco/trunk/coverage/jacoco-resources/source.gif
    new file mode 100644
    index 00000000000..b226e41c527
    Binary files /dev/null and b/jacoco/trunk/coverage/jacoco-resources/source.gif differ
    diff --git a/jacoco/trunk/coverage/jacoco-resources/up.gif b/jacoco/trunk/coverage/jacoco-resources/up.gif
    new file mode 100644
    index 00000000000..58ed21660ec
    Binary files /dev/null and b/jacoco/trunk/coverage/jacoco-resources/up.gif differ
    diff --git a/jacoco/trunk/coverage/jacoco-sessions.html b/jacoco/trunk/coverage/jacoco-sessions.html
    new file mode 100644
    index 00000000000..5724c133a01
    --- /dev/null
    +++ b/jacoco/trunk/coverage/jacoco-sessions.html
    @@ -0,0 +1 @@
    +<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="en"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="jacoco-resources/report.gif" type="image/gif"/><title>Sessions</title></head><body><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="jacoco-sessions.html" class="el_session">Sessions</a></span><a href="index.html" class="el_report">JaCoCo</a> &gt; <span class="el_session">Sessions</span></div><h1>Sessions</h1><p>This coverage report is based on execution data from the following sessions:</p><table class="coverage" cellspacing="0"><thead><tr><td>Session</td><td>Start Time</td><td>Dump Time</td></tr></thead><tbody><tr><td><span class="el_session">org.jacoco.core.test</span></td><td>Mar 27, 2024, 4:43:22 PM</td><td>Mar 27, 2024, 4:43:25 PM</td></tr><tr><td><span class="el_session">org.jacoco.report.test</span></td><td>Mar 27, 2024, 4:43:30 PM</td><td>Mar 27, 2024, 4:43:33 PM</td></tr><tr><td><span class="el_session">org.jacoco.agent.rt.test</span></td><td>Mar 27, 2024, 4:43:34 PM</td><td>Mar 27, 2024, 4:43:35 PM</td></tr><tr><td><span class="el_session">org.jacoco.agent.test</span></td><td>Mar 27, 2024, 4:43:36 PM</td><td>Mar 27, 2024, 4:43:36 PM</td></tr><tr><td><span class="el_session">org.jacoco.ant.test</span></td><td>Mar 27, 2024, 4:43:37 PM</td><td>Mar 27, 2024, 4:43:48 PM</td></tr><tr><td><span class="el_session">org.jacoco.cli.test</span></td><td>Mar 27, 2024, 4:43:49 PM</td><td>Mar 27, 2024, 4:43:51 PM</td></tr><tr><td><span class="el_session">org.jacoco.examples.test</span></td><td>Mar 27, 2024, 4:43:52 PM</td><td>Mar 27, 2024, 4:43:52 PM</td></tr><tr><td><span class="el_session">jacoco-maven-plugin.test</span></td><td>Mar 27, 2024, 4:44:11 PM</td><td>Mar 27, 2024, 4:44:14 PM</td></tr><tr><td><span class="el_session">jacoco-maven-plugin.test</span></td><td>Mar 27, 2024, 4:44:14 PM</td><td>Mar 27, 2024, 4:44:19 PM</td></tr><tr><td><span class="el_session">jacoco-maven-plugin.test</span></td><td>Mar 27, 2024, 4:44:19 PM</td><td>Mar 27, 2024, 4:44:22 PM</td></tr><tr><td><span class="el_session">jacoco-maven-plugin.test</span></td><td>Mar 27, 2024, 4:44:22 PM</td><td>Mar 27, 2024, 4:44:25 PM</td></tr><tr><td><span class="el_session">jacoco-maven-plugin.test</span></td><td>Mar 27, 2024, 4:44:25 PM</td><td>Mar 27, 2024, 4:44:28 PM</td></tr><tr><td><span class="el_session">jacoco-maven-plugin.test</span></td><td>Mar 27, 2024, 4:44:28 PM</td><td>Mar 27, 2024, 4:44:30 PM</td></tr><tr><td><span class="el_session">jacoco-maven-plugin.test</span></td><td>Mar 27, 2024, 4:44:30 PM</td><td>Mar 27, 2024, 4:44:37 PM</td></tr><tr><td><span class="el_session">jacoco-maven-plugin.test</span></td><td>Mar 27, 2024, 4:44:37 PM</td><td>Mar 27, 2024, 4:44:42 PM</td></tr><tr><td><span class="el_session">jacoco-maven-plugin.test</span></td><td>Mar 27, 2024, 4:44:43 PM</td><td>Mar 27, 2024, 4:44:45 PM</td></tr><tr><td><span class="el_session">jacoco-maven-plugin.test</span></td><td>Mar 27, 2024, 4:44:46 PM</td><td>Mar 27, 2024, 4:44:49 PM</td></tr><tr><td><span class="el_session">jacoco-maven-plugin.test</span></td><td>Mar 27, 2024, 4:44:49 PM</td><td>Mar 27, 2024, 4:44:55 PM</td></tr><tr><td><span class="el_session">jacoco-maven-plugin.test</span></td><td>Mar 27, 2024, 4:44:55 PM</td><td>Mar 27, 2024, 4:44:58 PM</td></tr><tr><td><span class="el_session">jacoco-maven-plugin.test</span></td><td>Mar 27, 2024, 4:44:58 PM</td><td>Mar 27, 2024, 4:45:01 PM</td></tr><tr><td><span class="el_session">jacoco-maven-plugin.test</span></td><td>Mar 27, 2024, 4:45:01 PM</td><td>Mar 27, 2024, 4:45:04 PM</td></tr><tr><td><span class="el_session">jacoco-maven-plugin.test</span></td><td>Mar 27, 2024, 4:45:04 PM</td><td>Mar 27, 2024, 4:45:07 PM</td></tr><tr><td><span class="el_session">jacoco-maven-plugin.test</span></td><td>Mar 27, 2024, 4:45:07 PM</td><td>Mar 27, 2024, 4:45:10 PM</td></tr><tr><td><span class="el_session">jacoco-maven-plugin.test</span></td><td>Mar 27, 2024, 4:45:10 PM</td><td>Mar 27, 2024, 4:45:16 PM</td></tr><tr><td><span class="el_session">jacoco-maven-plugin.test</span></td><td>Mar 27, 2024, 4:45:16 PM</td><td>Mar 27, 2024, 4:45:18 PM</td></tr><tr><td><span class="el_session">jacoco-maven-plugin.test</span></td><td>Mar 27, 2024, 4:45:18 PM</td><td>Mar 27, 2024, 4:45:21 PM</td></tr><tr><td><span class="el_session">jacoco-maven-plugin.test</span></td><td>Mar 27, 2024, 4:45:21 PM</td><td>Mar 27, 2024, 4:45:25 PM</td></tr><tr><td><span class="el_session">jacoco-maven-plugin.test</span></td><td>Mar 27, 2024, 4:45:25 PM</td><td>Mar 27, 2024, 4:45:27 PM</td></tr><tr><td><span class="el_session">jacoco-maven-plugin.test</span></td><td>Mar 27, 2024, 4:45:28 PM</td><td>Mar 27, 2024, 4:45:31 PM</td></tr><tr><td><span class="el_session">jacoco-maven-plugin.test</span></td><td>Mar 27, 2024, 4:45:31 PM</td><td>Mar 27, 2024, 4:45:35 PM</td></tr><tr><td><span class="el_session">jacoco-maven-plugin.test</span></td><td>Mar 27, 2024, 4:45:35 PM</td><td>Mar 27, 2024, 4:45:38 PM</td></tr></tbody></table><p>Execution data for the following classes is considered in this report:</p><table class="coverage" cellspacing="0"><thead><tr><td>Class</td><td>Id</td></tr></thead><tbody><tr><td><a href="org.jacoco.agent/org.jacoco.agent/AgentJar.html" class="el_class">org.jacoco.agent.AgentJar</a></td><td><code>362d32cc00dddedc</code></td></tr><tr><td><span class="el_class">org.jacoco.agent.AgentJarTest</span></td><td><code>69ea50ef41f0ff8e</code></td></tr><tr><td><a href="org.jacoco.agent.rt/org.jacoco.agent.rt.internal/Agent.html" class="el_class">org.jacoco.agent.rt.internal.Agent</a></td><td><code>392e6090f79016ea</code></td></tr><tr><td><a href="org.jacoco.agent.rt/org.jacoco.agent.rt.internal/Agent$2.html" class="el_class">org.jacoco.agent.rt.internal.Agent.2</a></td><td><code>de52834f6bea8765</code></td></tr><tr><td><a href="org.jacoco.agent.rt/org.jacoco.agent.rt.internal/AgentModule.html" class="el_class">org.jacoco.agent.rt.internal.AgentModule</a></td><td><code>850a12c5d6311d06</code></td></tr><tr><td><a href="org.jacoco.agent.rt/org.jacoco.agent.rt.internal/AgentModule$1.html" class="el_class">org.jacoco.agent.rt.internal.AgentModule.1</a></td><td><code>ea027ffc3078a80b</code></td></tr><tr><td><span class="el_class">org.jacoco.agent.rt.internal.AgentModuleTest</span></td><td><code>05ad6a502273d47f</code></td></tr><tr><td><span class="el_class">org.jacoco.agent.rt.internal.AgentModuleTest.Other</span></td><td><code>99e3a8b00b35641d</code></td></tr><tr><td><span class="el_class">org.jacoco.agent.rt.internal.AgentModuleTest.TargetImpl</span></td><td><code>c0bff759d2d5a3e4</code></td></tr><tr><td><span class="el_class">org.jacoco.agent.rt.internal.AgentModuleTest.TargetImpl.Inner</span></td><td><code>9cebf3c41d25a73d</code></td></tr><tr><td><span class="el_class">org.jacoco.agent.rt.internal.AgentTest</span></td><td><code>1064ff113086b38d</code></td></tr><tr><td><span class="el_class">org.jacoco.agent.rt.internal.AgentTest.1</span></td><td><code>ed27b3cca1de6a58</code></td></tr><tr><td><span class="el_class">org.jacoco.agent.rt.internal.AgentTest.1.1</span></td><td><code>06aaf9af35a7b264</code></td></tr><tr><td><span class="el_class">org.jacoco.agent.rt.internal.AgentTest.2</span></td><td><code>331de28efc046055</code></td></tr><tr><td><span class="el_class">org.jacoco.agent.rt.internal.AgentTest.2.1</span></td><td><code>61aab68d998a3884</code></td></tr><tr><td><span class="el_class">org.jacoco.agent.rt.internal.AgentTest.3</span></td><td><code>88b01dbc95713b46</code></td></tr><tr><td><a href="org.jacoco.agent.rt/org.jacoco.agent.rt.internal/ClassFileDumper.html" class="el_class">org.jacoco.agent.rt.internal.ClassFileDumper</a></td><td><code>ffa06850dfc83837</code></td></tr><tr><td><span class="el_class">org.jacoco.agent.rt.internal.ClassFileDumperTest</span></td><td><code>9e86dffcaefd32de</code></td></tr><tr><td><a href="org.jacoco.agent.rt/org.jacoco.agent.rt.internal/ConfigLoader.html" class="el_class">org.jacoco.agent.rt.internal.ConfigLoader</a></td><td><code>e43224577b0e2a4d</code></td></tr><tr><td><span class="el_class">org.jacoco.agent.rt.internal.ConfigLoaderTest</span></td><td><code>261308517ba7f980</code></td></tr><tr><td><a href="org.jacoco.agent.rt/org.jacoco.agent.rt.internal/CoverageTransformer.html" class="el_class">org.jacoco.agent.rt.internal.CoverageTransformer</a></td><td><code>49dd51fcd44f8ac6</code></td></tr><tr><td><span class="el_class">org.jacoco.agent.rt.internal.CoverageTransformerTest</span></td><td><code>752a2d12d71b1318</code></td></tr><tr><td><span class="el_class">org.jacoco.agent.rt.internal.CoverageTransformerTest.1</span></td><td><code>933fc201ae194da9</code></td></tr><tr><td><span class="el_class">org.jacoco.agent.rt.internal.CoverageTransformerTest.2</span></td><td><code>0fbce3d46ed50f1b</code></td></tr><tr><td><span class="el_class">org.jacoco.agent.rt.internal.CoverageTransformerTest.StubRuntime</span></td><td><code>81359f342d2ecb81</code></td></tr><tr><td><span class="el_class">org.jacoco.agent.rt.internal.ExceptionRecorder</span></td><td><code>573148d1656403d9</code></td></tr><tr><td><a href="org.jacoco.agent.rt/org.jacoco.agent.rt.internal/JmxRegistration.html" class="el_class">org.jacoco.agent.rt.internal.JmxRegistration</a></td><td><code>bd97f74ea91f322e</code></td></tr><tr><td><span class="el_class">org.jacoco.agent.rt.internal.output.ExecutorTestBase</span></td><td><code>5f3819bd04e69248</code></td></tr><tr><td><a href="org.jacoco.agent.rt/org.jacoco.agent.rt.internal.output/FileOutput.html" class="el_class">org.jacoco.agent.rt.internal.output.FileOutput</a></td><td><code>0876554b066cd361</code></td></tr><tr><td><span class="el_class">org.jacoco.agent.rt.internal.output.FileOutputTest</span></td><td><code>ad1178d1e2f8d281</code></td></tr><tr><td><span class="el_class">org.jacoco.agent.rt.internal.output.MockServerSocket</span></td><td><code>739c2f82f02b004b</code></td></tr><tr><td><span class="el_class">org.jacoco.agent.rt.internal.output.MockServerSocketTest</span></td><td><code>148d821e50c9b90d</code></td></tr><tr><td><span class="el_class">org.jacoco.agent.rt.internal.output.MockServerSocketTest.1</span></td><td><code>cd7c8cd472ae0c38</code></td></tr><tr><td><span class="el_class">org.jacoco.agent.rt.internal.output.MockServerSocketTest.2</span></td><td><code>a68a4fad761eb5db</code></td></tr><tr><td><span class="el_class">org.jacoco.agent.rt.internal.output.MockServerSocketTest.3</span></td><td><code>919bb4f3ae569abe</code></td></tr><tr><td><span class="el_class">org.jacoco.agent.rt.internal.output.MockServerSocketTest.4</span></td><td><code>85ea4860f7f0c504</code></td></tr><tr><td><span class="el_class">org.jacoco.agent.rt.internal.output.MockSocketConnection</span></td><td><code>6c42ffd3da841249</code></td></tr><tr><td><span class="el_class">org.jacoco.agent.rt.internal.output.MockSocketConnection.MockSocket</span></td><td><code>dfccf7fa4294b29e</code></td></tr><tr><td><span class="el_class">org.jacoco.agent.rt.internal.output.MockSocketConnection.MockSocket.1</span></td><td><code>226ca5d01f16fe38</code></td></tr><tr><td><span class="el_class">org.jacoco.agent.rt.internal.output.MockSocketConnection.MockSocket.2</span></td><td><code>ab7e4f1e25d9246b</code></td></tr><tr><td><span class="el_class">org.jacoco.agent.rt.internal.output.MockSocketConnectionTest</span></td><td><code>528fa92051cea4aa</code></td></tr><tr><td><span class="el_class">org.jacoco.agent.rt.internal.output.MockSocketConnectionTest.1</span></td><td><code>753dfa4529c4b76c</code></td></tr><tr><td><span class="el_class">org.jacoco.agent.rt.internal.output.MockSocketConnectionTest.2</span></td><td><code>3c390d23c1d42f78</code></td></tr><tr><td><span class="el_class">org.jacoco.agent.rt.internal.output.MockSocketConnectionTest.3</span></td><td><code>301fc012c6b33275</code></td></tr><tr><td><a href="org.jacoco.agent.rt/org.jacoco.agent.rt.internal.output/NoneOutput.html" class="el_class">org.jacoco.agent.rt.internal.output.NoneOutput</a></td><td><code>afec6ef096392a61</code></td></tr><tr><td><a href="org.jacoco.agent.rt/org.jacoco.agent.rt.internal.output/TcpClientOutput.html" class="el_class">org.jacoco.agent.rt.internal.output.TcpClientOutput</a></td><td><code>17e1bcf853e87f13</code></td></tr><tr><td><a href="org.jacoco.agent.rt/org.jacoco.agent.rt.internal.output/TcpClientOutput$1.html" class="el_class">org.jacoco.agent.rt.internal.output.TcpClientOutput.1</a></td><td><code>2034b33248088322</code></td></tr><tr><td><span class="el_class">org.jacoco.agent.rt.internal.output.TcpClientOutputTest</span></td><td><code>f532e730c5276a0b</code></td></tr><tr><td><span class="el_class">org.jacoco.agent.rt.internal.output.TcpClientOutputTest.1</span></td><td><code>4fd2756285c80571</code></td></tr><tr><td><a href="org.jacoco.agent.rt/org.jacoco.agent.rt.internal.output/TcpConnection.html" class="el_class">org.jacoco.agent.rt.internal.output.TcpConnection</a></td><td><code>d2dac414a2dac1fa</code></td></tr><tr><td><span class="el_class">org.jacoco.agent.rt.internal.output.TcpConnectionTest</span></td><td><code>28d3d1c57446ff64</code></td></tr><tr><td><span class="el_class">org.jacoco.agent.rt.internal.output.TcpConnectionTest.1</span></td><td><code>e62f290579bedb82</code></td></tr><tr><td><span class="el_class">org.jacoco.agent.rt.internal.output.TcpConnectionTest.2</span></td><td><code>2b2cc512d4d47d9b</code></td></tr><tr><td><span class="el_class">org.jacoco.agent.rt.internal.output.TcpConnectionTest.3</span></td><td><code>f1fd97ec51e0ae26</code></td></tr><tr><td><span class="el_class">org.jacoco.agent.rt.internal.output.TcpConnectionTest.4</span></td><td><code>10a01803c5ef6e5e</code></td></tr><tr><td><span class="el_class">org.jacoco.agent.rt.internal.output.TcpConnectionTest.5</span></td><td><code>e8d8b318d69a3a88</code></td></tr><tr><td><a href="org.jacoco.agent.rt/org.jacoco.agent.rt.internal.output/TcpServerOutput.html" class="el_class">org.jacoco.agent.rt.internal.output.TcpServerOutput</a></td><td><code>1ee314d03c60569a</code></td></tr><tr><td><a href="org.jacoco.agent.rt/org.jacoco.agent.rt.internal.output/TcpServerOutput$1.html" class="el_class">org.jacoco.agent.rt.internal.output.TcpServerOutput.1</a></td><td><code>92891f6046d598ee</code></td></tr><tr><td><span class="el_class">org.jacoco.agent.rt.internal.output.TcpServerOutputTest</span></td><td><code>66c4642f2fa143d2</code></td></tr><tr><td><span class="el_class">org.jacoco.agent.rt.internal.output.TcpServerOutputTest.1</span></td><td><code>06cbabffdf20c5c1</code></td></tr><tr><td><a href="org.jacoco.ant/org.jacoco.ant/AbstractCoverageTask.html" class="el_class">org.jacoco.ant.AbstractCoverageTask</a></td><td><code>5ebc6549c16f70d0</code></td></tr><tr><td><a href="org.jacoco.ant/org.jacoco.ant/AgentTask.html" class="el_class">org.jacoco.ant.AgentTask</a></td><td><code>52e1c48c2863d69c</code></td></tr><tr><td><span class="el_class">org.jacoco.ant.AgentTaskTest</span></td><td><code>ff0bdd859442ba13</code></td></tr><tr><td><a href="org.jacoco.ant/org.jacoco.ant/AntFilesLocator.html" class="el_class">org.jacoco.ant.AntFilesLocator</a></td><td><code>165344503277519f</code></td></tr><tr><td><span class="el_class">org.jacoco.ant.AntFilesLocatorTest</span></td><td><code>cb28e2a41f66c64d</code></td></tr><tr><td><a href="org.jacoco.ant/org.jacoco.ant/AntResourcesLocator.html" class="el_class">org.jacoco.ant.AntResourcesLocator</a></td><td><code>905ce88b8a5754cd</code></td></tr><tr><td><span class="el_class">org.jacoco.ant.AntResourcesLocatorTest</span></td><td><code>cf101d5b00feac6b</code></td></tr><tr><td><a href="org.jacoco.ant/org.jacoco.ant/CoverageTask.html" class="el_class">org.jacoco.ant.CoverageTask</a></td><td><code>fd7e3332f9fd5fd2</code></td></tr><tr><td><a href="org.jacoco.ant/org.jacoco.ant/CoverageTask$JavaLikeTaskEnhancer.html" class="el_class">org.jacoco.ant.CoverageTask.JavaLikeTaskEnhancer</a></td><td><code>d815119f563081bb</code></td></tr><tr><td><a href="org.jacoco.ant/org.jacoco.ant/CoverageTask$TestNGTaskEnhancer.html" class="el_class">org.jacoco.ant.CoverageTask.TestNGTaskEnhancer</a></td><td><code>0a1445b18a9317d5</code></td></tr><tr><td><span class="el_class">org.jacoco.ant.CoverageTaskTest</span></td><td><code>4cab622723ffac43</code></td></tr><tr><td><a href="org.jacoco.ant/org.jacoco.ant/DumpTask.html" class="el_class">org.jacoco.ant.DumpTask</a></td><td><code>cdd6d998b2060a3a</code></td></tr><tr><td><a href="org.jacoco.ant/org.jacoco.ant/DumpTask$1.html" class="el_class">org.jacoco.ant.DumpTask.1</a></td><td><code>d37da7fbaf7b2d43</code></td></tr><tr><td><span class="el_class">org.jacoco.ant.DumpTaskTest</span></td><td><code>1d0a167836ee6e33</code></td></tr><tr><td><span class="el_class">org.jacoco.ant.DumpTaskWithServerTest</span></td><td><code>9c7416a0b21f06de</code></td></tr><tr><td><a href="org.jacoco.ant/org.jacoco.ant/InstrumentTask.html" class="el_class">org.jacoco.ant.InstrumentTask</a></td><td><code>85eb75d8c902cbed</code></td></tr><tr><td><span class="el_class">org.jacoco.ant.InstrumentTaskTest</span></td><td><code>3cdb9cd2b5c8c668</code></td></tr><tr><td><a href="org.jacoco.ant/org.jacoco.ant/MergeTask.html" class="el_class">org.jacoco.ant.MergeTask</a></td><td><code>3575a65d8ce1a60f</code></td></tr><tr><td><span class="el_class">org.jacoco.ant.MergeTaskTest</span></td><td><code>7da34ddd53cd6e4c</code></td></tr><tr><td><a href="org.jacoco.ant/org.jacoco.ant/ReportTask.html" class="el_class">org.jacoco.ant.ReportTask</a></td><td><code>e869e69935382163</code></td></tr><tr><td><a href="org.jacoco.ant/org.jacoco.ant/ReportTask$CSVFormatterElement.html" class="el_class">org.jacoco.ant.ReportTask.CSVFormatterElement</a></td><td><code>a7d516970af17d90</code></td></tr><tr><td><a href="org.jacoco.ant/org.jacoco.ant/ReportTask$CheckFormatterElement.html" class="el_class">org.jacoco.ant.ReportTask.CheckFormatterElement</a></td><td><code>8f2f9974622db985</code></td></tr><tr><td><a href="org.jacoco.ant/org.jacoco.ant/ReportTask$FormatterElement.html" class="el_class">org.jacoco.ant.ReportTask.FormatterElement</a></td><td><code>590983fe9fcf5969</code></td></tr><tr><td><a href="org.jacoco.ant/org.jacoco.ant/ReportTask$GroupElement.html" class="el_class">org.jacoco.ant.ReportTask.GroupElement</a></td><td><code>18678b98d4d81a47</code></td></tr><tr><td><a href="org.jacoco.ant/org.jacoco.ant/ReportTask$HTMLFormatterElement.html" class="el_class">org.jacoco.ant.ReportTask.HTMLFormatterElement</a></td><td><code>3e38699f155c1724</code></td></tr><tr><td><a href="org.jacoco.ant/org.jacoco.ant/ReportTask$SourceFilesElement.html" class="el_class">org.jacoco.ant.ReportTask.SourceFilesElement</a></td><td><code>af764d0d3235dfd7</code></td></tr><tr><td><a href="org.jacoco.ant/org.jacoco.ant/ReportTask$XMLFormatterElement.html" class="el_class">org.jacoco.ant.ReportTask.XMLFormatterElement</a></td><td><code>c77db35f9a33f9d6</code></td></tr><tr><td><span class="el_class">org.jacoco.ant.ReportTaskLocaleTest</span></td><td><code>507a3a07e081d93c</code></td></tr><tr><td><span class="el_class">org.jacoco.ant.ReportTaskTest</span></td><td><code>bf552ad8888ac3c9</code></td></tr><tr><td><span class="el_class">org.jacoco.ant.TestTarget</span></td><td><code>97bf7174205b802b</code></td></tr><tr><td><a href="org.jacoco.cli/org.jacoco.cli.internal/Command.html" class="el_class">org.jacoco.cli.internal.Command</a></td><td><code>205837b9dadc366a</code></td></tr><tr><td><a href="org.jacoco.cli/org.jacoco.cli.internal/CommandHandler.html" class="el_class">org.jacoco.cli.internal.CommandHandler</a></td><td><code>ac72a62e50f6f462</code></td></tr><tr><td><a href="org.jacoco.cli/org.jacoco.cli.internal/CommandHandler$1.html" class="el_class">org.jacoco.cli.internal.CommandHandler.1</a></td><td><code>772cb9200b0ca2a2</code></td></tr><tr><td><a href="org.jacoco.cli/org.jacoco.cli.internal/CommandHandler$2.html" class="el_class">org.jacoco.cli.internal.CommandHandler.2</a></td><td><code>8d708b617ce60761</code></td></tr><tr><td><a href="org.jacoco.cli/org.jacoco.cli.internal/CommandParser.html" class="el_class">org.jacoco.cli.internal.CommandParser</a></td><td><code>de330eb3799e648c</code></td></tr><tr><td><span class="el_class">org.jacoco.cli.internal.CommandTestBase</span></td><td><code>3ce4987d2980c447</code></td></tr><tr><td><a href="org.jacoco.cli/org.jacoco.cli.internal/Main.html" class="el_class">org.jacoco.cli.internal.Main</a></td><td><code>417b7c063b8e3a37</code></td></tr><tr><td><a href="org.jacoco.cli/org.jacoco.cli.internal/Main$1.html" class="el_class">org.jacoco.cli.internal.Main.1</a></td><td><code>0ff066548d14b096</code></td></tr><tr><td><span class="el_class">org.jacoco.cli.internal.MainTest</span></td><td><code>4747003b5bfa8fe1</code></td></tr><tr><td><a href="org.jacoco.cli/org.jacoco.cli.internal/XmlDocumentation.html" class="el_class">org.jacoco.cli.internal.XmlDocumentation</a></td><td><code>82a925b5ee11e134</code></td></tr><tr><td><span class="el_class">org.jacoco.cli.internal.XmlDocumentationTest</span></td><td><code>f403a1c12b3b5dfe</code></td></tr><tr><td><span class="el_class">org.jacoco.cli.internal.XmlDocumentationTest.1</span></td><td><code>8d048c8019d12fe2</code></td></tr><tr><td><a href="org.jacoco.cli/org.jacoco.cli.internal.commands/AllCommands.html" class="el_class">org.jacoco.cli.internal.commands.AllCommands</a></td><td><code>e4c948050eb4b822</code></td></tr><tr><td><a href="org.jacoco.cli/org.jacoco.cli.internal.commands/ClassInfo.html" class="el_class">org.jacoco.cli.internal.commands.ClassInfo</a></td><td><code>de33fe505cb9ba0c</code></td></tr><tr><td><a href="org.jacoco.cli/org.jacoco.cli.internal.commands/ClassInfo$Printer.html" class="el_class">org.jacoco.cli.internal.commands.ClassInfo.Printer</a></td><td><code>6d35fec7a5eda6b2</code></td></tr><tr><td><span class="el_class">org.jacoco.cli.internal.commands.ClassInfoTest</span></td><td><code>c63b6e53ce505d03</code></td></tr><tr><td><a href="org.jacoco.cli/org.jacoco.cli.internal.commands/Dump.html" class="el_class">org.jacoco.cli.internal.commands.Dump</a></td><td><code>50f6e713454754b5</code></td></tr><tr><td><a href="org.jacoco.cli/org.jacoco.cli.internal.commands/Dump$1.html" class="el_class">org.jacoco.cli.internal.commands.Dump.1</a></td><td><code>fbb5d52a96be7ddf</code></td></tr><tr><td><span class="el_class">org.jacoco.cli.internal.commands.DumpTest</span></td><td><code>101a7d775ea7292f</code></td></tr><tr><td><span class="el_class">org.jacoco.cli.internal.commands.DumpTest.1</span></td><td><code>6f01d1952cab5008</code></td></tr><tr><td><span class="el_class">org.jacoco.cli.internal.commands.DumpTest.2</span></td><td><code>cd486f87f6c1ccfa</code></td></tr><tr><td><a href="org.jacoco.cli/org.jacoco.cli.internal.commands/ExecInfo.html" class="el_class">org.jacoco.cli.internal.commands.ExecInfo</a></td><td><code>fb9e6b922ce188b8</code></td></tr><tr><td><a href="org.jacoco.cli/org.jacoco.cli.internal.commands/ExecInfo$1.html" class="el_class">org.jacoco.cli.internal.commands.ExecInfo.1</a></td><td><code>bccccb553ac7ceb8</code></td></tr><tr><td><a href="org.jacoco.cli/org.jacoco.cli.internal.commands/ExecInfo$2.html" class="el_class">org.jacoco.cli.internal.commands.ExecInfo.2</a></td><td><code>8349f0d8a2efb01c</code></td></tr><tr><td><span class="el_class">org.jacoco.cli.internal.commands.ExecInfoTest</span></td><td><code>dc0bb075219ca83f</code></td></tr><tr><td><a href="org.jacoco.cli/org.jacoco.cli.internal.commands/Instrument.html" class="el_class">org.jacoco.cli.internal.commands.Instrument</a></td><td><code>f901bb0f8a4d1ac1</code></td></tr><tr><td><span class="el_class">org.jacoco.cli.internal.commands.InstrumentTest</span></td><td><code>6e155634db5cc968</code></td></tr><tr><td><span class="el_class">org.jacoco.cli.internal.commands.InstrumentTest.1</span></td><td><code>2b328916e8ada755</code></td></tr><tr><td><a href="org.jacoco.cli/org.jacoco.cli.internal.commands/Merge.html" class="el_class">org.jacoco.cli.internal.commands.Merge</a></td><td><code>d0d8cf026484b32f</code></td></tr><tr><td><span class="el_class">org.jacoco.cli.internal.commands.MergeTest</span></td><td><code>d15765077542f032</code></td></tr><tr><td><a href="org.jacoco.cli/org.jacoco.cli.internal.commands/Report.html" class="el_class">org.jacoco.cli.internal.commands.Report</a></td><td><code>f232882b67811174</code></td></tr><tr><td><span class="el_class">org.jacoco.cli.internal.commands.ReportTest</span></td><td><code>c4b53f8a4b0d4c22</code></td></tr><tr><td><a href="org.jacoco.cli/org.jacoco.cli.internal.commands/Version.html" class="el_class">org.jacoco.cli.internal.commands.Version</a></td><td><code>17255ba8a608b970</code></td></tr><tr><td><span class="el_class">org.jacoco.cli.internal.commands.VersionTest</span></td><td><code>a8161111b68908b1</code></td></tr><tr><td><a href="org.jacoco.core/org.jacoco.core/JaCoCo.html" class="el_class">org.jacoco.core.JaCoCo</a></td><td><code>d09e42f3b2021d3b</code></td></tr><tr><td><span class="el_class">org.jacoco.core.JaCoCoTest</span></td><td><code>7005e384941ae295</code></td></tr><tr><td><a href="org.jacoco.core/org.jacoco.core.analysis/Analyzer.html" class="el_class">org.jacoco.core.analysis.Analyzer</a></td><td><code>3a714dc821446dd0</code></td></tr><tr><td><a href="org.jacoco.core/org.jacoco.core.analysis/Analyzer$1.html" class="el_class">org.jacoco.core.analysis.Analyzer.1</a></td><td><code>f5080dc492cba995</code></td></tr><tr><td><span class="el_class">org.jacoco.core.analysis.AnalyzerTest</span></td><td><code>ada491e353273010</code></td></tr><tr><td><span class="el_class">org.jacoco.core.analysis.AnalyzerTest.BrokenInputStream</span></td><td><code>0eb5222eb2b7d6f8</code></td></tr><tr><td><span class="el_class">org.jacoco.core.analysis.AnalyzerTest.EmptyStructureVisitor</span></td><td><code>13c644284b36f2bf</code></td></tr><tr><td><a href="org.jacoco.core/org.jacoco.core.analysis/CounterComparator.html" class="el_class">org.jacoco.core.analysis.CounterComparator</a></td><td><code>c9e14df6abb393c8</code></td></tr><tr><td><span class="el_class">org.jacoco.core.analysis.CounterComparatorTest</span></td><td><code>b84b5a63a7f6f2dd</code></td></tr><tr><td><span class="el_class">org.jacoco.core.analysis.CounterComparatorTest.MockNode</span></td><td><code>a5ccc9ae0b222141</code></td></tr><tr><td><a href="org.jacoco.core/org.jacoco.core.analysis/CoverageBuilder.html" class="el_class">org.jacoco.core.analysis.CoverageBuilder</a></td><td><code>f1e4c089077af7a0</code></td></tr><tr><td><span class="el_class">org.jacoco.core.analysis.CoverageBuilderTest</span></td><td><code>149c163309085567</code></td></tr><tr><td><a href="org.jacoco.core/org.jacoco.core.analysis/CoverageNodeImpl.html" class="el_class">org.jacoco.core.analysis.CoverageNodeImpl</a></td><td><code>d321330899279750</code></td></tr><tr><td><a href="org.jacoco.core/org.jacoco.core.analysis/CoverageNodeImpl$1.html" class="el_class">org.jacoco.core.analysis.CoverageNodeImpl.1</a></td><td><code>da5630a41f02cd90</code></td></tr><tr><td><span class="el_class">org.jacoco.core.analysis.CoverageNodeImplTest</span></td><td><code>254dc69e8c8987df</code></td></tr><tr><td><span class="el_class">org.jacoco.core.analysis.CoverageNodeImplTest.1</span></td><td><code>ee62eaea1e26dbdd</code></td></tr><tr><td><span class="el_class">org.jacoco.core.analysis.CoverageNodeImplTest.2</span></td><td><code>c9b08b9a76897c24</code></td></tr><tr><td><span class="el_class">org.jacoco.core.analysis.CoverageNodeImplTest.3</span></td><td><code>7062ee121e63845b</code></td></tr><tr><td><span class="el_class">org.jacoco.core.analysis.CoverageNodeImplTest.4</span></td><td><code>f27a087d02eb1c69</code></td></tr><tr><td><a href="org.jacoco.core/org.jacoco.core.analysis/ICounter$CounterValue.html" class="el_class">org.jacoco.core.analysis.ICounter.CounterValue</a></td><td><code>965185d7d6abaadb</code></td></tr><tr><td><a href="org.jacoco.core/org.jacoco.core.analysis/ICoverageNode$CounterEntity.html" class="el_class">org.jacoco.core.analysis.ICoverageNode.CounterEntity</a></td><td><code>6f3638507220cba3</code></td></tr><tr><td><a href="org.jacoco.core/org.jacoco.core.analysis/ICoverageNode$ElementType.html" class="el_class">org.jacoco.core.analysis.ICoverageNode.ElementType</a></td><td><code>755fd6a40eebcab8</code></td></tr><tr><td><a href="org.jacoco.core/org.jacoco.core.analysis/NodeComparator.html" class="el_class">org.jacoco.core.analysis.NodeComparator</a></td><td><code>ce21e93fe6bc7ed0</code></td></tr><tr><td><a href="org.jacoco.core/org.jacoco.core.analysis/NodeComparator$1.html" class="el_class">org.jacoco.core.analysis.NodeComparator.1</a></td><td><code>d75b7b9948bd91f7</code></td></tr><tr><td><span class="el_class">org.jacoco.core.analysis.NodeComparatorTest</span></td><td><code>ae1abe000c4924fc</code></td></tr><tr><td><span class="el_class">org.jacoco.core.analysis.NodeComparatorTest.MockLineData</span></td><td><code>d8f64fc39e43c6c1</code></td></tr><tr><td><span class="el_class">org.jacoco.core.analysis.NodeComparatorTest.MockNode</span></td><td><code>f7c94f3270e73e54</code></td></tr><tr><td><a href="org.jacoco.core/org.jacoco.core.data/ExecutionData.html" class="el_class">org.jacoco.core.data.ExecutionData</a></td><td><code>05faf0b1652ac14a</code></td></tr><tr><td><a href="org.jacoco.core/org.jacoco.core.data/ExecutionDataReader.html" class="el_class">org.jacoco.core.data.ExecutionDataReader</a></td><td><code>52f0205e7e765f30</code></td></tr><tr><td><span class="el_class">org.jacoco.core.data.ExecutionDataReaderWriterTest</span></td><td><code>c12bdd6b7739835b</code></td></tr><tr><td><span class="el_class">org.jacoco.core.data.ExecutionDataReaderWriterTest.1</span></td><td><code>6716f27110121784</code></td></tr><tr><td><span class="el_class">org.jacoco.core.data.ExecutionDataReaderWriterTest.2</span></td><td><code>f91160d2d62673fd</code></td></tr><tr><td><span class="el_class">org.jacoco.core.data.ExecutionDataReaderWriterTest.3</span></td><td><code>9db4f5d1ba23a433</code></td></tr><tr><td><span class="el_class">org.jacoco.core.data.ExecutionDataReaderWriterTest.4</span></td><td><code>df0acac5ad1ffe58</code></td></tr><tr><td><span class="el_class">org.jacoco.core.data.ExecutionDataReaderWriterTest.5</span></td><td><code>d71f80133c5cb891</code></td></tr><tr><td><span class="el_class">org.jacoco.core.data.ExecutionDataReaderWriterTest.6</span></td><td><code>1fe51c1440704e56</code></td></tr><tr><td><span class="el_class">org.jacoco.core.data.ExecutionDataReaderWriterTest.7</span></td><td><code>4d1bedf2333dd94e</code></td></tr><tr><td><a href="org.jacoco.core/org.jacoco.core.data/ExecutionDataStore.html" class="el_class">org.jacoco.core.data.ExecutionDataStore</a></td><td><code>0b10538cdcb6d0e8</code></td></tr><tr><td><span class="el_class">org.jacoco.core.data.ExecutionDataStoreTest</span></td><td><code>46c11d35b96a5f43</code></td></tr><tr><td><span class="el_class">org.jacoco.core.data.ExecutionDataStoreTest.1</span></td><td><code>dcd1d61e8b8f3d09</code></td></tr><tr><td><span class="el_class">org.jacoco.core.data.ExecutionDataTest</span></td><td><code>b311a0c049b2bc8c</code></td></tr><tr><td><a href="org.jacoco.core/org.jacoco.core.data/ExecutionDataWriter.html" class="el_class">org.jacoco.core.data.ExecutionDataWriter</a></td><td><code>a455a319dacd7b33</code></td></tr><tr><td><a href="org.jacoco.core/org.jacoco.core.data/IncompatibleExecDataVersionException.html" class="el_class">org.jacoco.core.data.IncompatibleExecDataVersionException</a></td><td><code>7d0a496c0ba6535e</code></td></tr><tr><td><span class="el_class">org.jacoco.core.data.IncompatibleExecDataVersionExceptionTest</span></td><td><code>4cf4a8d4433acf9d</code></td></tr><tr><td><a href="org.jacoco.core/org.jacoco.core.data/SessionInfo.html" class="el_class">org.jacoco.core.data.SessionInfo</a></td><td><code>874dd606ff4fefdc</code></td></tr><tr><td><a href="org.jacoco.core/org.jacoco.core.data/SessionInfoStore.html" class="el_class">org.jacoco.core.data.SessionInfoStore</a></td><td><code>71f7a9cc262c0682</code></td></tr><tr><td><span class="el_class">org.jacoco.core.data.SessionInfoStoreTest</span></td><td><code>51c43bceb7c5e43f</code></td></tr><tr><td><span class="el_class">org.jacoco.core.data.SessionInfoStoreTest.1</span></td><td><code>fb79529fc9cd52b9</code></td></tr><tr><td><span class="el_class">org.jacoco.core.data.SessionInfoTest</span></td><td><code>f26ad375d9938cd0</code></td></tr><tr><td><span class="el_class">org.jacoco.core.instr.ClassFileVersionsTest</span></td><td><code>0774f7013f61d80b</code></td></tr><tr><td><span class="el_class">org.jacoco.core.instr.ClassFileVersionsTest.1</span></td><td><code>e3fa0ed5fe600d04</code></td></tr><tr><td><span class="el_class">org.jacoco.core.instr.ClassFileVersionsTest.1.1</span></td><td><code>794fc06efd453c6c</code></td></tr><tr><td><a href="org.jacoco.core/org.jacoco.core.instr/Instrumenter.html" class="el_class">org.jacoco.core.instr.Instrumenter</a></td><td><code>8c95d18f6d7d8b4a</code></td></tr><tr><td><a href="org.jacoco.core/org.jacoco.core.instr/Instrumenter$1.html" class="el_class">org.jacoco.core.instr.Instrumenter.1</a></td><td><code>33129c3776c9cc78</code></td></tr><tr><td><span class="el_class">org.jacoco.core.instr.InstrumenterTest</span></td><td><code>8cd326f7e69900fa</code></td></tr><tr><td><span class="el_class">org.jacoco.core.instr.InstrumenterTest.1</span></td><td><code>8ca2a1e3cd9f2ef5</code></td></tr><tr><td><span class="el_class">org.jacoco.core.instr.InstrumenterTest.AccessorGenerator</span></td><td><code>e96bae5b7aac041d</code></td></tr><tr><td><span class="el_class">org.jacoco.core.instr.InstrumenterTest.BrokenInputStream</span></td><td><code>cd2d7b7b3a5e6518</code></td></tr><tr><td><span class="el_class">org.jacoco.core.instr.InstrumenterTest.SerializationTarget</span></td><td><code>06f19ca5f39b2741</code></td></tr><tr><td><span class="el_class">org.jacoco.core.instr.MethodRecorder</span></td><td><code>93f479dd64a32fd8</code></td></tr><tr><td><span class="el_class">org.jacoco.core.instr.ResizeInstructionsTest</span></td><td><code>50b4a1001e80dca7</code></td></tr><tr><td><span class="el_class">org.jacoco.core.instr.ResizeInstructionsTest.1</span></td><td><code>f0255ac5278bddc7</code></td></tr><tr><td><span class="el_class">org.jacoco.core.instr.ResizeInstructionsTest.2</span></td><td><code>5ba2121e1b12c81f</code></td></tr><tr><td><a href="org.jacoco.core/org.jacoco.core.internal/ContentTypeDetector.html" class="el_class">org.jacoco.core.internal.ContentTypeDetector</a></td><td><code>0a3c83df27c519bf</code></td></tr><tr><td><span class="el_class">org.jacoco.core.internal.ContentTypeDetectorTest</span></td><td><code>ab52a5079471ddea</code></td></tr><tr><td><span class="el_class">org.jacoco.core.internal.ContentTypeDetectorTest.1</span></td><td><code>3fc01531228207a3</code></td></tr><tr><td><a href="org.jacoco.core/org.jacoco.core.internal/InputStreams.html" class="el_class">org.jacoco.core.internal.InputStreams</a></td><td><code>4a841a262239b75e</code></td></tr><tr><td><a href="org.jacoco.core/org.jacoco.core.internal/Pack200Streams.html" class="el_class">org.jacoco.core.internal.Pack200Streams</a></td><td><code>4188b5d0cdcb49ef</code></td></tr><tr><td><a href="org.jacoco.core/org.jacoco.core.internal/Pack200Streams$NoCloseInput.html" class="el_class">org.jacoco.core.internal.Pack200Streams.NoCloseInput</a></td><td><code>5419d932d51c47c1</code></td></tr><tr><td><span class="el_class">org.jacoco.core.internal.Pack200StreamsTest</span></td><td><code>d98d45603b4e6097</code></td></tr><tr><td><span class="el_class">org.jacoco.core.internal.Pack200StreamsTest.BrokenInputStream</span></td><td><code>24f8cf0066382d59</code></td></tr><tr><td><span class="el_class">org.jacoco.core.internal.Pack200StreamsTest.BrokenOutputStream</span></td><td><code>654796cfab749ad8</code></td></tr><tr><td><span class="el_class">org.jacoco.core.internal.Pack200StreamsTest.NoCloseInputStream</span></td><td><code>2d8ebf0aa8d30dc7</code></td></tr><tr><td><span class="el_class">org.jacoco.core.internal.Pack200StreamsTest.NoCloseOutputStream</span></td><td><code>7fccc1046ede343c</code></td></tr><tr><td><a href="org.jacoco.core/org.jacoco.core.internal.analysis/BundleCoverageImpl.html" class="el_class">org.jacoco.core.internal.analysis.BundleCoverageImpl</a></td><td><code>56442541817e6553</code></td></tr><tr><td><span class="el_class">org.jacoco.core.internal.analysis.BundleCoverageImplTest</span></td><td><code>193b59225bffe125</code></td></tr><tr><td><span class="el_class">org.jacoco.core.internal.analysis.BundleCoverageImplTest.1</span></td><td><code>9c196707c29d9efa</code></td></tr><tr><td><span class="el_class">org.jacoco.core.internal.analysis.BundleCoverageImplTest.2</span></td><td><code>dacbac5f44783964</code></td></tr><tr><td><a href="org.jacoco.core/org.jacoco.core.internal.analysis/ClassAnalyzer.html" class="el_class">org.jacoco.core.internal.analysis.ClassAnalyzer</a></td><td><code>a8ddfc23851c2b03</code></td></tr><tr><td><a href="org.jacoco.core/org.jacoco.core.internal.analysis/ClassAnalyzer$1.html" class="el_class">org.jacoco.core.internal.analysis.ClassAnalyzer.1</a></td><td><code>ce711fbb9c938d67</code></td></tr><tr><td><span class="el_class">org.jacoco.core.internal.analysis.ClassAnalyzerTest</span></td><td><code>1572ed711deef461</code></td></tr><tr><td><span class="el_class">org.jacoco.core.internal.analysis.ClassAnalyzerTest.1</span></td><td><code>99d4bacd5e3ef260</code></td></tr><tr><td><a href="org.jacoco.core/org.jacoco.core.internal.analysis/ClassCoverageImpl.html" class="el_class">org.jacoco.core.internal.analysis.ClassCoverageImpl</a></td><td><code>3a2bc7df26fa1be3</code></td></tr><tr><td><span class="el_class">org.jacoco.core.internal.analysis.ClassCoverageImplTest</span></td><td><code>dc095859f7793754</code></td></tr><tr><td><a href="org.jacoco.core/org.jacoco.core.internal.analysis/CounterImpl.html" class="el_class">org.jacoco.core.internal.analysis.CounterImpl</a></td><td><code>54fe3bdfbef0f7d0</code></td></tr><tr><td><a href="org.jacoco.core/org.jacoco.core.internal.analysis/CounterImpl$1.html" class="el_class">org.jacoco.core.internal.analysis.CounterImpl.1</a></td><td><code>7fb47318c83014b2</code></td></tr><tr><td><a href="org.jacoco.core/org.jacoco.core.internal.analysis/CounterImpl$Fix.html" class="el_class">org.jacoco.core.internal.analysis.CounterImpl.Fix</a></td><td><code>3e884beee40f9e87</code></td></tr><tr><td><a href="org.jacoco.core/org.jacoco.core.internal.analysis/CounterImpl$Var.html" class="el_class">org.jacoco.core.internal.analysis.CounterImpl.Var</a></td><td><code>f3d70641dfe9b827</code></td></tr><tr><td><span class="el_class">org.jacoco.core.internal.analysis.CounterImplTest</span></td><td><code>de77d6a1e2999911</code></td></tr><tr><td><a href="org.jacoco.core/org.jacoco.core.internal.analysis/Instruction.html" class="el_class">org.jacoco.core.internal.analysis.Instruction</a></td><td><code>484713d7fed86279</code></td></tr><tr><td><span class="el_class">org.jacoco.core.internal.analysis.InstructionTest</span></td><td><code>7b54a820864278f8</code></td></tr><tr><td><a href="org.jacoco.core/org.jacoco.core.internal.analysis/InstructionsBuilder.html" class="el_class">org.jacoco.core.internal.analysis.InstructionsBuilder</a></td><td><code>cdc4c0c91bc4141e</code></td></tr><tr><td><a href="org.jacoco.core/org.jacoco.core.internal.analysis/InstructionsBuilder$Jump.html" class="el_class">org.jacoco.core.internal.analysis.InstructionsBuilder.Jump</a></td><td><code>b353e9714e0f2595</code></td></tr><tr><td><span class="el_class">org.jacoco.core.internal.analysis.InstructionsBuilderTest</span></td><td><code>7c6fb31869add144</code></td></tr><tr><td><a href="org.jacoco.core/org.jacoco.core.internal.analysis/LineImpl.html" class="el_class">org.jacoco.core.internal.analysis.LineImpl</a></td><td><code>f5a01c065e3e9ea3</code></td></tr><tr><td><a href="org.jacoco.core/org.jacoco.core.internal.analysis/LineImpl$Fix.html" class="el_class">org.jacoco.core.internal.analysis.LineImpl.Fix</a></td><td><code>529ca18711fe8cfe</code></td></tr><tr><td><a href="org.jacoco.core/org.jacoco.core.internal.analysis/LineImpl$Var.html" class="el_class">org.jacoco.core.internal.analysis.LineImpl.Var</a></td><td><code>df31a28ab00ec126</code></td></tr><tr><td><span class="el_class">org.jacoco.core.internal.analysis.LineImplTest</span></td><td><code>d3ae364f74ebf493</code></td></tr><tr><td><a href="org.jacoco.core/org.jacoco.core.internal.analysis/MethodAnalyzer.html" class="el_class">org.jacoco.core.internal.analysis.MethodAnalyzer</a></td><td><code>0670eb4408d1321e</code></td></tr><tr><td><span class="el_class">org.jacoco.core.internal.analysis.MethodAnalyzerTest</span></td><td><code>25bd2fabc31e9ae4</code></td></tr><tr><td><span class="el_class">org.jacoco.core.internal.analysis.MethodAnalyzerTest.1</span></td><td><code>f7d4198c6e9a272c</code></td></tr><tr><td><span class="el_class">org.jacoco.core.internal.analysis.MethodAnalyzerTest.2</span></td><td><code>3c544dfe73fc65e3</code></td></tr><tr><td><span class="el_class">org.jacoco.core.internal.analysis.MethodAnalyzerTest.3</span></td><td><code>bd843f54158a6db8</code></td></tr><tr><td><a href="org.jacoco.core/org.jacoco.core.internal.analysis/MethodCoverageCalculator.html" class="el_class">org.jacoco.core.internal.analysis.MethodCoverageCalculator</a></td><td><code>95a39b76d59e5ea3</code></td></tr><tr><td><span class="el_class">org.jacoco.core.internal.analysis.MethodCoverageCalculatorTest</span></td><td><code>c5ca062ce7a60063</code></td></tr><tr><td><a href="org.jacoco.core/org.jacoco.core.internal.analysis/MethodCoverageImpl.html" class="el_class">org.jacoco.core.internal.analysis.MethodCoverageImpl</a></td><td><code>2f3b5e7dac711dd6</code></td></tr><tr><td><span class="el_class">org.jacoco.core.internal.analysis.MethodCoverageImplTest</span></td><td><code>df49d1e7c33aeeda</code></td></tr><tr><td><a href="org.jacoco.core/org.jacoco.core.internal.analysis/PackageCoverageImpl.html" class="el_class">org.jacoco.core.internal.analysis.PackageCoverageImpl</a></td><td><code>8349a6b793b12049</code></td></tr><tr><td><span class="el_class">org.jacoco.core.internal.analysis.PackageCoverageTest</span></td><td><code>671bcc58890d1837</code></td></tr><tr><td><span class="el_class">org.jacoco.core.internal.analysis.PackageCoverageTest.1</span></td><td><code>910bb5441e1a7d53</code></td></tr><tr><td><span class="el_class">org.jacoco.core.internal.analysis.PackageCoverageTest.2</span></td><td><code>15b9a58ea02bafbf</code></td></tr><tr><td><span class="el_class">org.jacoco.core.internal.analysis.PackageCoverageTest.3</span></td><td><code>eeb55a12aa461c33</code></td></tr><tr><td><a href="org.jacoco.core/org.jacoco.core.internal.analysis/SourceFileCoverageImpl.html" class="el_class">org.jacoco.core.internal.analysis.SourceFileCoverageImpl</a></td><td><code>2586aef7b2f2fadd</code></td></tr><tr><td><span class="el_class">org.jacoco.core.internal.analysis.SourceFileCoverageImplTest</span></td><td><code>1ecef360427bc72f</code></td></tr><tr><td><a href="org.jacoco.core/org.jacoco.core.internal.analysis/SourceNodeImpl.html" class="el_class">org.jacoco.core.internal.analysis.SourceNodeImpl</a></td><td><code>5f4faa66bda4e5f4</code></td></tr><tr><td><span class="el_class">org.jacoco.core.internal.analysis.SourceNodeImplTest</span></td><td><code>b87ea4b85aaea5a2</code></td></tr><tr><td><span class="el_class">org.jacoco.core.internal.analysis.SourceNodeImplTest.1</span></td><td><code>6c228c2ba1e6d153</code></td></tr><tr><td><a href="org.jacoco.core/org.jacoco.core.internal.analysis/StringPool.html" class="el_class">org.jacoco.core.internal.analysis.StringPool</a></td><td><code>9655fe281d7be5a2</code></td></tr><tr><td><span class="el_class">org.jacoco.core.internal.analysis.StringPoolTest</span></td><td><code>6fbdf25120391ad8</code></td></tr><tr><td><a href="org.jacoco.core/org.jacoco.core.internal.analysis.filter/AbstractMatcher.html" class="el_class">org.jacoco.core.internal.analysis.filter.AbstractMatcher</a></td><td><code>ececc2b9b4de5450</code></td></tr><tr><td><span class="el_class">org.jacoco.core.internal.analysis.filter.AbstractMatcherTest</span></td><td><code>cb0226ceb8916513</code></td></tr><tr><td><span class="el_class">org.jacoco.core.internal.analysis.filter.AbstractMatcherTest.1</span></td><td><code>3b8f7c0759e39f4c</code></td></tr><tr><td><a href="org.jacoco.core/org.jacoco.core.internal.analysis.filter/AnnotationGeneratedFilter.html" class="el_class">org.jacoco.core.internal.analysis.filter.AnnotationGeneratedFilter</a></td><td><code>d670a6ca603dfa4b</code></td></tr><tr><td><span class="el_class">org.jacoco.core.internal.analysis.filter.AnnotationGeneratedFilterTest</span></td><td><code>ba2e578f36a5e75c</code></td></tr><tr><td><a href="org.jacoco.core/org.jacoco.core.internal.analysis.filter/AssertFilter.html" class="el_class">org.jacoco.core.internal.analysis.filter.AssertFilter</a></td><td><code>3c9cbdf425be2f91</code></td></tr><tr><td><a href="org.jacoco.core/org.jacoco.core.internal.analysis.filter/AssertFilter$Matcher.html" class="el_class">org.jacoco.core.internal.analysis.filter.AssertFilter.Matcher</a></td><td><code>5fe62fe568846f9c</code></td></tr><tr><td><span class="el_class">org.jacoco.core.internal.analysis.filter.AssertFilterTest</span></td><td><code>d06442bbec5e9e16</code></td></tr><tr><td><a href="org.jacoco.core/org.jacoco.core.internal.analysis.filter/BridgeFilter.html" class="el_class">org.jacoco.core.internal.analysis.filter.BridgeFilter</a></td><td><code>8f60b74577d0523d</code></td></tr><tr><td><span class="el_class">org.jacoco.core.internal.analysis.filter.BridgeFilterTest</span></td><td><code>feb62bdc9d172893</code></td></tr><tr><td><a href="org.jacoco.core/org.jacoco.core.internal.analysis.filter/EnumEmptyConstructorFilter.html" class="el_class">org.jacoco.core.internal.analysis.filter.EnumEmptyConstructorFilter</a></td><td><code>95ef6d5de0977937</code></td></tr><tr><td><a href="org.jacoco.core/org.jacoco.core.internal.analysis.filter/EnumEmptyConstructorFilter$Matcher.html" class="el_class">org.jacoco.core.internal.analysis.filter.EnumEmptyConstructorFilter.Matcher</a></td><td><code>0b4cbc0db09a0a0c</code></td></tr><tr><td><span class="el_class">org.jacoco.core.internal.analysis.filter.EnumEmptyConstructorFilterTest</span></td><td><code>dad9a0d07d023af5</code></td></tr><tr><td><a href="org.jacoco.core/org.jacoco.core.internal.analysis.filter/EnumFilter.html" class="el_class">org.jacoco.core.internal.analysis.filter.EnumFilter</a></td><td><code>3bed35a80add7cd2</code></td></tr><tr><td><span class="el_class">org.jacoco.core.internal.analysis.filter.EnumFilterTest</span></td><td><code>fac4d1912f737b9f</code></td></tr><tr><td><a href="org.jacoco.core/org.jacoco.core.internal.analysis.filter/ExhaustiveSwitchFilter.html" class="el_class">org.jacoco.core.internal.analysis.filter.ExhaustiveSwitchFilter</a></td><td><code>834b847b3346a20d</code></td></tr><tr><td><a href="org.jacoco.core/org.jacoco.core.internal.analysis.filter/ExhaustiveSwitchFilter$Matcher.html" class="el_class">org.jacoco.core.internal.analysis.filter.ExhaustiveSwitchFilter.Matcher</a></td><td><code>a45a67a9a4f93d08</code></td></tr><tr><td><span class="el_class">org.jacoco.core.internal.analysis.filter.ExhaustiveSwitchFilterTest</span></td><td><code>4546daf7b5aeb0d8</code></td></tr><tr><td><span class="el_class">org.jacoco.core.internal.analysis.filter.FilterContextMock</span></td><td><code>e6dd5b22a8b10806</code></td></tr><tr><td><span class="el_class">org.jacoco.core.internal.analysis.filter.FilterTestBase</span></td><td><code>fa7c7e66a728bea6</code></td></tr><tr><td><span class="el_class">org.jacoco.core.internal.analysis.filter.FilterTestBase.1</span></td><td><code>b70470e72ea62bcb</code></td></tr><tr><td><span class="el_class">org.jacoco.core.internal.analysis.filter.FilterTestBase.Range</span></td><td><code>bb1b50d53415aec1</code></td></tr><tr><td><a href="org.jacoco.core/org.jacoco.core.internal.analysis.filter/Filters.html" class="el_class">org.jacoco.core.internal.analysis.filter.Filters</a></td><td><code>230bc46e54db06ec</code></td></tr><tr><td><a href="org.jacoco.core/org.jacoco.core.internal.analysis.filter/FinallyFilter.html" class="el_class">org.jacoco.core.internal.analysis.filter.FinallyFilter</a></td><td><code>25c9456de826240e</code></td></tr><tr><td><span class="el_class">org.jacoco.core.internal.analysis.filter.FinallyFilterTest</span></td><td><code>0a311cb2338ecfd2</code></td></tr><tr><td><a href="org.jacoco.core/org.jacoco.core.internal.analysis.filter/KotlinCoroutineFilter.html" class="el_class">org.jacoco.core.internal.analysis.filter.KotlinCoroutineFilter</a></td><td><code>beeebfa85519eac5</code></td></tr><tr><td><a href="org.jacoco.core/org.jacoco.core.internal.analysis.filter/KotlinCoroutineFilter$Matcher.html" class="el_class">org.jacoco.core.internal.analysis.filter.KotlinCoroutineFilter.Matcher</a></td><td><code>4627d22fea80b5ad</code></td></tr><tr><td><span class="el_class">org.jacoco.core.internal.analysis.filter.KotlinCoroutineFilterTest</span></td><td><code>1bcbd75c2edb4841</code></td></tr><tr><td><a href="org.jacoco.core/org.jacoco.core.internal.analysis.filter/KotlinDefaultArgumentsFilter.html" class="el_class">org.jacoco.core.internal.analysis.filter.KotlinDefaultArgumentsFilter</a></td><td><code>bfcff2d8e85dd8af</code></td></tr><tr><td><a href="org.jacoco.core/org.jacoco.core.internal.analysis.filter/KotlinDefaultArgumentsFilter$Matcher.html" class="el_class">org.jacoco.core.internal.analysis.filter.KotlinDefaultArgumentsFilter.Matcher</a></td><td><code>7f87c89248cf728d</code></td></tr><tr><td><span class="el_class">org.jacoco.core.internal.analysis.filter.KotlinDefaultArgumentsFilterTest</span></td><td><code>b14ae11a84e89a6a</code></td></tr><tr><td><a href="org.jacoco.core/org.jacoco.core.internal.analysis.filter/KotlinDefaultMethodsFilter.html" class="el_class">org.jacoco.core.internal.analysis.filter.KotlinDefaultMethodsFilter</a></td><td><code>f94f72e45a5169f5</code></td></tr><tr><td><a href="org.jacoco.core/org.jacoco.core.internal.analysis.filter/KotlinDefaultMethodsFilter$Matcher.html" class="el_class">org.jacoco.core.internal.analysis.filter.KotlinDefaultMethodsFilter.Matcher</a></td><td><code>b3da41ba5da1cb0e</code></td></tr><tr><td><span class="el_class">org.jacoco.core.internal.analysis.filter.KotlinDefaultMethodsFilterTest</span></td><td><code>8d77e571a4cb8f14</code></td></tr><tr><td><a href="org.jacoco.core/org.jacoco.core.internal.analysis.filter/KotlinGeneratedFilter.html" class="el_class">org.jacoco.core.internal.analysis.filter.KotlinGeneratedFilter</a></td><td><code>6dd0bb06c7ccba2f</code></td></tr><tr><td><span class="el_class">org.jacoco.core.internal.analysis.filter.KotlinGeneratedFilterTest</span></td><td><code>3708021754f7cc27</code></td></tr><tr><td><a href="org.jacoco.core/org.jacoco.core.internal.analysis.filter/KotlinInlineFilter.html" class="el_class">org.jacoco.core.internal.analysis.filter.KotlinInlineFilter</a></td><td><code>bd111f734018a5d9</code></td></tr><tr><td><span class="el_class">org.jacoco.core.internal.analysis.filter.KotlinInlineFilterTest</span></td><td><code>27c429b70de76ced</code></td></tr><tr><td><a href="org.jacoco.core/org.jacoco.core.internal.analysis.filter/KotlinLateinitFilter.html" class="el_class">org.jacoco.core.internal.analysis.filter.KotlinLateinitFilter</a></td><td><code>c152dcb28a4ef184</code></td></tr><tr><td><a href="org.jacoco.core/org.jacoco.core.internal.analysis.filter/KotlinLateinitFilter$Matcher.html" class="el_class">org.jacoco.core.internal.analysis.filter.KotlinLateinitFilter.Matcher</a></td><td><code>58eff15dfc5383f1</code></td></tr><tr><td><span class="el_class">org.jacoco.core.internal.analysis.filter.KotlinLateinitFilterTest</span></td><td><code>eecb0168e77bfe18</code></td></tr><tr><td><a href="org.jacoco.core/org.jacoco.core.internal.analysis.filter/KotlinNotNullOperatorFilter.html" class="el_class">org.jacoco.core.internal.analysis.filter.KotlinNotNullOperatorFilter</a></td><td><code>6e743d27510ddcf1</code></td></tr><tr><td><a href="org.jacoco.core/org.jacoco.core.internal.analysis.filter/KotlinNotNullOperatorFilter$Matcher.html" class="el_class">org.jacoco.core.internal.analysis.filter.KotlinNotNullOperatorFilter.Matcher</a></td><td><code>7848e15e6e55377c</code></td></tr><tr><td><span class="el_class">org.jacoco.core.internal.analysis.filter.KotlinNotNullOperatorFilterTest</span></td><td><code>9529acdb063d5ee0</code></td></tr><tr><td><a href="org.jacoco.core/org.jacoco.core.internal.analysis.filter/KotlinUnsafeCastOperatorFilter.html" class="el_class">org.jacoco.core.internal.analysis.filter.KotlinUnsafeCastOperatorFilter</a></td><td><code>d19a9ad613746553</code></td></tr><tr><td><a href="org.jacoco.core/org.jacoco.core.internal.analysis.filter/KotlinUnsafeCastOperatorFilter$Matcher.html" class="el_class">org.jacoco.core.internal.analysis.filter.KotlinUnsafeCastOperatorFilter.Matcher</a></td><td><code>7117d6ebc91401b0</code></td></tr><tr><td><span class="el_class">org.jacoco.core.internal.analysis.filter.KotlinUnsafeCastOperatorFilterTest</span></td><td><code>35975e223ee95d9a</code></td></tr><tr><td><a href="org.jacoco.core/org.jacoco.core.internal.analysis.filter/KotlinWhenFilter.html" class="el_class">org.jacoco.core.internal.analysis.filter.KotlinWhenFilter</a></td><td><code>ff38bd105e1b517b</code></td></tr><tr><td><a href="org.jacoco.core/org.jacoco.core.internal.analysis.filter/KotlinWhenFilter$Matcher.html" class="el_class">org.jacoco.core.internal.analysis.filter.KotlinWhenFilter.Matcher</a></td><td><code>15ce91bd9ef7e9da</code></td></tr><tr><td><span class="el_class">org.jacoco.core.internal.analysis.filter.KotlinWhenFilterTest</span></td><td><code>2c8bcb35bb56585c</code></td></tr><tr><td><a href="org.jacoco.core/org.jacoco.core.internal.analysis.filter/KotlinWhenStringFilter.html" class="el_class">org.jacoco.core.internal.analysis.filter.KotlinWhenStringFilter</a></td><td><code>01e21259d4059616</code></td></tr><tr><td><a href="org.jacoco.core/org.jacoco.core.internal.analysis.filter/KotlinWhenStringFilter$Matcher.html" class="el_class">org.jacoco.core.internal.analysis.filter.KotlinWhenStringFilter.Matcher</a></td><td><code>db9a6ec357e5771a</code></td></tr><tr><td><span class="el_class">org.jacoco.core.internal.analysis.filter.KotlinWhenStringFilterTest</span></td><td><code>ea0cf6e78cf7a0d1</code></td></tr><tr><td><a href="org.jacoco.core/org.jacoco.core.internal.analysis.filter/PrivateEmptyNoArgConstructorFilter.html" class="el_class">org.jacoco.core.internal.analysis.filter.PrivateEmptyNoArgConstructorFilter</a></td><td><code>865d6f50075dc051</code></td></tr><tr><td><a href="org.jacoco.core/org.jacoco.core.internal.analysis.filter/PrivateEmptyNoArgConstructorFilter$Matcher.html" class="el_class">org.jacoco.core.internal.analysis.filter.PrivateEmptyNoArgConstructorFilter.Matcher</a></td><td><code>d0ab49ad889699d5</code></td></tr><tr><td><span class="el_class">org.jacoco.core.internal.analysis.filter.PrivateEmptyNoArgConstructorFilterTest</span></td><td><code>16e18e686a93bfe2</code></td></tr><tr><td><a href="org.jacoco.core/org.jacoco.core.internal.analysis.filter/RecordPatternFilter.html" class="el_class">org.jacoco.core.internal.analysis.filter.RecordPatternFilter</a></td><td><code>e1480c014d0c1809</code></td></tr><tr><td><a href="org.jacoco.core/org.jacoco.core.internal.analysis.filter/RecordPatternFilter$Matcher.html" class="el_class">org.jacoco.core.internal.analysis.filter.RecordPatternFilter.Matcher</a></td><td><code>732115e9a5b9ff91</code></td></tr><tr><td><span class="el_class">org.jacoco.core.internal.analysis.filter.RecordPatternFilterTest</span></td><td><code>384032032691b013</code></td></tr><tr><td><a href="org.jacoco.core/org.jacoco.core.internal.analysis.filter/RecordsFilter.html" class="el_class">org.jacoco.core.internal.analysis.filter.RecordsFilter</a></td><td><code>5485c975979d4b86</code></td></tr><tr><td><a href="org.jacoco.core/org.jacoco.core.internal.analysis.filter/RecordsFilter$Matcher.html" class="el_class">org.jacoco.core.internal.analysis.filter.RecordsFilter.Matcher</a></td><td><code>2c99658d6ead9298</code></td></tr><tr><td><span class="el_class">org.jacoco.core.internal.analysis.filter.RecordsFilterTest</span></td><td><code>09e46e9c3d75edcf</code></td></tr><tr><td><a href="org.jacoco.core/org.jacoco.core.internal.analysis.filter/StringSwitchFilter.html" class="el_class">org.jacoco.core.internal.analysis.filter.StringSwitchFilter</a></td><td><code>def05b24b66f53a9</code></td></tr><tr><td><a href="org.jacoco.core/org.jacoco.core.internal.analysis.filter/StringSwitchFilter$Matcher.html" class="el_class">org.jacoco.core.internal.analysis.filter.StringSwitchFilter.Matcher</a></td><td><code>21d603dd9a06cea7</code></td></tr><tr><td><span class="el_class">org.jacoco.core.internal.analysis.filter.StringSwitchFilterTest</span></td><td><code>fa0cba0b7e7bb2e0</code></td></tr><tr><td><a href="org.jacoco.core/org.jacoco.core.internal.analysis.filter/StringSwitchJavacFilter.html" class="el_class">org.jacoco.core.internal.analysis.filter.StringSwitchJavacFilter</a></td><td><code>59a73ab1f3e1ca64</code></td></tr><tr><td><a href="org.jacoco.core/org.jacoco.core.internal.analysis.filter/StringSwitchJavacFilter$Matcher.html" class="el_class">org.jacoco.core.internal.analysis.filter.StringSwitchJavacFilter.Matcher</a></td><td><code>43b639c8ee09310b</code></td></tr><tr><td><span class="el_class">org.jacoco.core.internal.analysis.filter.StringSwitchJavacFilterTest</span></td><td><code>53e696c23da8dbfb</code></td></tr><tr><td><a href="org.jacoco.core/org.jacoco.core.internal.analysis.filter/SynchronizedFilter.html" class="el_class">org.jacoco.core.internal.analysis.filter.SynchronizedFilter</a></td><td><code>0f70daf2a1263479</code></td></tr><tr><td><a href="org.jacoco.core/org.jacoco.core.internal.analysis.filter/SynchronizedFilter$Matcher.html" class="el_class">org.jacoco.core.internal.analysis.filter.SynchronizedFilter.Matcher</a></td><td><code>73a5f3d64d30640a</code></td></tr><tr><td><span class="el_class">org.jacoco.core.internal.analysis.filter.SynchronizedFilterTest</span></td><td><code>98b897591245af27</code></td></tr><tr><td><a href="org.jacoco.core/org.jacoco.core.internal.analysis.filter/SyntheticFilter.html" class="el_class">org.jacoco.core.internal.analysis.filter.SyntheticFilter</a></td><td><code>9d88631a9b8341ac</code></td></tr><tr><td><span class="el_class">org.jacoco.core.internal.analysis.filter.SyntheticFilterTest</span></td><td><code>e16fdf6f76a478d2</code></td></tr><tr><td><a href="org.jacoco.core/org.jacoco.core.internal.analysis.filter/TryWithResourcesEcjFilter.html" class="el_class">org.jacoco.core.internal.analysis.filter.TryWithResourcesEcjFilter</a></td><td><code>47cab63b87dbcb80</code></td></tr><tr><td><a href="org.jacoco.core/org.jacoco.core.internal.analysis.filter/TryWithResourcesEcjFilter$Matcher.html" class="el_class">org.jacoco.core.internal.analysis.filter.TryWithResourcesEcjFilter.Matcher</a></td><td><code>d29e3c2140be9b34</code></td></tr><tr><td><span class="el_class">org.jacoco.core.internal.analysis.filter.TryWithResourcesEcjFilterTest</span></td><td><code>47fd36b835d4480b</code></td></tr><tr><td><a href="org.jacoco.core/org.jacoco.core.internal.analysis.filter/TryWithResourcesJavac11Filter.html" class="el_class">org.jacoco.core.internal.analysis.filter.TryWithResourcesJavac11Filter</a></td><td><code>9724053f01c35a57</code></td></tr><tr><td><a href="org.jacoco.core/org.jacoco.core.internal.analysis.filter/TryWithResourcesJavac11Filter$Matcher.html" class="el_class">org.jacoco.core.internal.analysis.filter.TryWithResourcesJavac11Filter.Matcher</a></td><td><code>d12d449cdb46c1aa</code></td></tr><tr><td><span class="el_class">org.jacoco.core.internal.analysis.filter.TryWithResourcesJavac11FilterTest</span></td><td><code>ab869a58c56466a1</code></td></tr><tr><td><a href="org.jacoco.core/org.jacoco.core.internal.analysis.filter/TryWithResourcesJavacFilter.html" class="el_class">org.jacoco.core.internal.analysis.filter.TryWithResourcesJavacFilter</a></td><td><code>19d2773ee675be84</code></td></tr><tr><td><a href="org.jacoco.core/org.jacoco.core.internal.analysis.filter/TryWithResourcesJavacFilter$1.html" class="el_class">org.jacoco.core.internal.analysis.filter.TryWithResourcesJavacFilter.1</a></td><td><code>0ab87f8167dbe359</code></td></tr><tr><td><a href="org.jacoco.core/org.jacoco.core.internal.analysis.filter/TryWithResourcesJavacFilter$Matcher.html" class="el_class">org.jacoco.core.internal.analysis.filter.TryWithResourcesJavacFilter.Matcher</a></td><td><code>070a1db97c2bcd91</code></td></tr><tr><td><a href="org.jacoco.core/org.jacoco.core.internal.analysis.filter/TryWithResourcesJavacFilter$Matcher$JavacPattern.html" class="el_class">org.jacoco.core.internal.analysis.filter.TryWithResourcesJavacFilter.Matcher.JavacPattern</a></td><td><code>bc7ebf79e8feb3fe</code></td></tr><tr><td><span class="el_class">org.jacoco.core.internal.analysis.filter.TryWithResourcesJavacFilterTest</span></td><td><code>4d6f9030b3cd36d8</code></td></tr><tr><td><a href="org.jacoco.core/org.jacoco.core.internal.data/CRC64.html" class="el_class">org.jacoco.core.internal.data.CRC64</a></td><td><code>78d57bb6e51dd778</code></td></tr><tr><td><span class="el_class">org.jacoco.core.internal.data.CRC64Test</span></td><td><code>11453523609ded89</code></td></tr><tr><td><a href="org.jacoco.core/org.jacoco.core.internal.data/CompactDataInput.html" class="el_class">org.jacoco.core.internal.data.CompactDataInput</a></td><td><code>5942b2b74a4327c9</code></td></tr><tr><td><span class="el_class">org.jacoco.core.internal.data.CompactDataInputOutputTest</span></td><td><code>575f1dd2c099787d</code></td></tr><tr><td><a href="org.jacoco.core/org.jacoco.core.internal.data/CompactDataOutput.html" class="el_class">org.jacoco.core.internal.data.CompactDataOutput</a></td><td><code>fde0dfc13666996a</code></td></tr><tr><td><a href="org.jacoco.core/org.jacoco.core.internal.flow/ClassProbesAdapter.html" class="el_class">org.jacoco.core.internal.flow.ClassProbesAdapter</a></td><td><code>7ff8356c4d3aec55</code></td></tr><tr><td><a href="org.jacoco.core/org.jacoco.core.internal.flow/ClassProbesAdapter$1.html" class="el_class">org.jacoco.core.internal.flow.ClassProbesAdapter.1</a></td><td><code>878163409f1b5cef</code></td></tr><tr><td><a href="org.jacoco.core/org.jacoco.core.internal.flow/ClassProbesAdapter$2.html" class="el_class">org.jacoco.core.internal.flow.ClassProbesAdapter.2</a></td><td><code>048e9636ff872d55</code></td></tr><tr><td><span class="el_class">org.jacoco.core.internal.flow.ClassProbesAdapterTest</span></td><td><code>6258ce932e00b7a2</code></td></tr><tr><td><span class="el_class">org.jacoco.core.internal.flow.ClassProbesAdapterTest.1</span></td><td><code>e175751840148c1d</code></td></tr><tr><td><span class="el_class">org.jacoco.core.internal.flow.ClassProbesAdapterTest.2</span></td><td><code>a85e6f67d82cfaa0</code></td></tr><tr><td><span class="el_class">org.jacoco.core.internal.flow.ClassProbesAdapterTest.3</span></td><td><code>4af70a18be8d1926</code></td></tr><tr><td><span class="el_class">org.jacoco.core.internal.flow.ClassProbesAdapterTest.MockClassVisitor</span></td><td><code>0f0368871c8319a3</code></td></tr><tr><td><span class="el_class">org.jacoco.core.internal.flow.ClassProbesAdapterTest.MockMethodVisitor</span></td><td><code>30f0b4a500bb606a</code></td></tr><tr><td><a href="org.jacoco.core/org.jacoco.core.internal.flow/ClassProbesVisitor.html" class="el_class">org.jacoco.core.internal.flow.ClassProbesVisitor</a></td><td><code>2626af16c7c4a547</code></td></tr><tr><td><a href="org.jacoco.core/org.jacoco.core.internal.flow/FrameSnapshot.html" class="el_class">org.jacoco.core.internal.flow.FrameSnapshot</a></td><td><code>b45c01fce575e328</code></td></tr><tr><td><span class="el_class">org.jacoco.core.internal.flow.FrameSnapshotTest</span></td><td><code>657ebb40a7059458</code></td></tr><tr><td><a href="org.jacoco.core/org.jacoco.core.internal.flow/LabelFlowAnalyzer.html" class="el_class">org.jacoco.core.internal.flow.LabelFlowAnalyzer</a></td><td><code>6cb9462ec1e76c1c</code></td></tr><tr><td><span class="el_class">org.jacoco.core.internal.flow.LabelFlowAnalyzerTest</span></td><td><code>2630b51cbe591bb7</code></td></tr><tr><td><a href="org.jacoco.core/org.jacoco.core.internal.flow/LabelInfo.html" class="el_class">org.jacoco.core.internal.flow.LabelInfo</a></td><td><code>63ef56a9cd6bd5aa</code></td></tr><tr><td><span class="el_class">org.jacoco.core.internal.flow.LabelInfoTest</span></td><td><code>983d71b9231add1b</code></td></tr><tr><td><a href="org.jacoco.core/org.jacoco.core.internal.flow/MethodProbesAdapter.html" class="el_class">org.jacoco.core.internal.flow.MethodProbesAdapter</a></td><td><code>93276b8f5e1f3378</code></td></tr><tr><td><span class="el_class">org.jacoco.core.internal.flow.MethodProbesAdapterTest</span></td><td><code>d9f86c433e86fd92</code></td></tr><tr><td><span class="el_class">org.jacoco.core.internal.flow.MethodProbesAdapterTest.1</span></td><td><code>49e82258a12a3b06</code></td></tr><tr><td><span class="el_class">org.jacoco.core.internal.flow.MethodProbesAdapterTest.TraceAdapter</span></td><td><code>66726dfa40023f32</code></td></tr><tr><td><a href="org.jacoco.core/org.jacoco.core.internal.flow/MethodProbesVisitor.html" class="el_class">org.jacoco.core.internal.flow.MethodProbesVisitor</a></td><td><code>1ce46696b94bdf02</code></td></tr><tr><td><a href="org.jacoco.core/org.jacoco.core.internal.flow/MethodSanitizer.html" class="el_class">org.jacoco.core.internal.flow.MethodSanitizer</a></td><td><code>2b0ff914f99f5bd8</code></td></tr><tr><td><span class="el_class">org.jacoco.core.internal.flow.MethodSanitizerTest</span></td><td><code>53b7c55c6c80f61e</code></td></tr><tr><td><a href="org.jacoco.core/org.jacoco.core.internal.instr/ClassFieldProbeArrayStrategy.html" class="el_class">org.jacoco.core.internal.instr.ClassFieldProbeArrayStrategy</a></td><td><code>c887c2f46796cb86</code></td></tr><tr><td><a href="org.jacoco.core/org.jacoco.core.internal.instr/ClassInstrumenter.html" class="el_class">org.jacoco.core.internal.instr.ClassInstrumenter</a></td><td><code>f7e90b314e33fa57</code></td></tr><tr><td><span class="el_class">org.jacoco.core.internal.instr.ClassInstrumenterTest</span></td><td><code>cb341ba204b9e109</code></td></tr><tr><td><span class="el_class">org.jacoco.core.internal.instr.ClassInstrumenterTest.1</span></td><td><code>9f77159f786f10a5</code></td></tr><tr><td><span class="el_class">org.jacoco.core.internal.instr.ClassInstrumenterTest.2</span></td><td><code>e3366bab09b85905</code></td></tr><tr><td><a href="org.jacoco.core/org.jacoco.core.internal.instr/CondyProbeArrayStrategy.html" class="el_class">org.jacoco.core.internal.instr.CondyProbeArrayStrategy</a></td><td><code>abbb3c93cad7176f</code></td></tr><tr><td><span class="el_class">org.jacoco.core.internal.instr.CondyProbeArrayStrategyTest</span></td><td><code>81a60488dcc16ee9</code></td></tr><tr><td><a href="org.jacoco.core/org.jacoco.core.internal.instr/DuplicateFrameEliminator.html" class="el_class">org.jacoco.core.internal.instr.DuplicateFrameEliminator</a></td><td><code>252444d80bb6096d</code></td></tr><tr><td><span class="el_class">org.jacoco.core.internal.instr.DuplicateFrameEliminatorTest</span></td><td><code>8abee0b705db9a0a</code></td></tr><tr><td><a href="org.jacoco.core/org.jacoco.core.internal.instr/InstrSupport.html" class="el_class">org.jacoco.core.internal.instr.InstrSupport</a></td><td><code>e5e1abd73e232dbd</code></td></tr><tr><td><span class="el_class">org.jacoco.core.internal.instr.InstrSupportTest</span></td><td><code>b042a00f3cd0105a</code></td></tr><tr><td><span class="el_class">org.jacoco.core.internal.instr.InstrSupportTest.1</span></td><td><code>38f1faf8a5fb7429</code></td></tr><tr><td><a href="org.jacoco.core/org.jacoco.core.internal.instr/InterfaceFieldProbeArrayStrategy.html" class="el_class">org.jacoco.core.internal.instr.InterfaceFieldProbeArrayStrategy</a></td><td><code>1608a6646cd924a1</code></td></tr><tr><td><a href="org.jacoco.core/org.jacoco.core.internal.instr/LocalProbeArrayStrategy.html" class="el_class">org.jacoco.core.internal.instr.LocalProbeArrayStrategy</a></td><td><code>09bdd79c10b1a25a</code></td></tr><tr><td><a href="org.jacoco.core/org.jacoco.core.internal.instr/MethodInstrumenter.html" class="el_class">org.jacoco.core.internal.instr.MethodInstrumenter</a></td><td><code>e57d4d24ac7a3d34</code></td></tr><tr><td><span class="el_class">org.jacoco.core.internal.instr.MethodInstrumenterTest</span></td><td><code>be6944c08755dc5b</code></td></tr><tr><td><span class="el_class">org.jacoco.core.internal.instr.MethodInstrumenterTest.1</span></td><td><code>076089c24608d11b</code></td></tr><tr><td><span class="el_class">org.jacoco.core.internal.instr.MethodInstrumenterTest.2</span></td><td><code>570321bc2628ba39</code></td></tr><tr><td><a href="org.jacoco.core/org.jacoco.core.internal.instr/NoneProbeArrayStrategy.html" class="el_class">org.jacoco.core.internal.instr.NoneProbeArrayStrategy</a></td><td><code>734ff0de5842a1f7</code></td></tr><tr><td><span class="el_class">org.jacoco.core.internal.instr.NoneProbeArrayStrategyTest</span></td><td><code>1e4987027730e479</code></td></tr><tr><td><a href="org.jacoco.core/org.jacoco.core.internal.instr/ProbeArrayStrategyFactory.html" class="el_class">org.jacoco.core.internal.instr.ProbeArrayStrategyFactory</a></td><td><code>bcba8fef58ccee5f</code></td></tr><tr><td><span class="el_class">org.jacoco.core.internal.instr.ProbeArrayStrategyFactoryTest</span></td><td><code>049d6e8acf6f1829</code></td></tr><tr><td><span class="el_class">org.jacoco.core.internal.instr.ProbeArrayStrategyFactoryTest.AddedMethod</span></td><td><code>8eb06a55bb66e5c7</code></td></tr><tr><td><span class="el_class">org.jacoco.core.internal.instr.ProbeArrayStrategyFactoryTest.ClassVisitorMock</span></td><td><code>685b7e5008909a13</code></td></tr><tr><td><span class="el_class">org.jacoco.core.internal.instr.ProbeArrayStrategyFactoryTest.ClassVisitorMock.1</span></td><td><code>eff58f3fe784360f</code></td></tr><tr><td><a href="org.jacoco.core/org.jacoco.core.internal.instr/ProbeCounter.html" class="el_class">org.jacoco.core.internal.instr.ProbeCounter</a></td><td><code>e8a6034b4692d8b0</code></td></tr><tr><td><span class="el_class">org.jacoco.core.internal.instr.ProbeCounterTest</span></td><td><code>ba28cc1c237c7635</code></td></tr><tr><td><a href="org.jacoco.core/org.jacoco.core.internal.instr/ProbeInserter.html" class="el_class">org.jacoco.core.internal.instr.ProbeInserter</a></td><td><code>2829729b3c71df53</code></td></tr><tr><td><span class="el_class">org.jacoco.core.internal.instr.ProbeInserterTest</span></td><td><code>0480a205028979d7</code></td></tr><tr><td><span class="el_class">org.jacoco.core.internal.instr.ProbeInserterTest.1</span></td><td><code>ca9abdf95ad30b8c</code></td></tr><tr><td><span class="el_class">org.jacoco.core.internal.instr.SafetySlotTest</span></td><td><code>9fd672c49a3aaf27</code></td></tr><tr><td><a href="org.jacoco.core/org.jacoco.core.internal.instr/SignatureRemover.html" class="el_class">org.jacoco.core.internal.instr.SignatureRemover</a></td><td><code>c71e779d3f4bbf12</code></td></tr><tr><td><span class="el_class">org.jacoco.core.internal.instr.SignatureRemoverTest</span></td><td><code>82f94d0c3a333695</code></td></tr><tr><td><span class="el_class">org.jacoco.core.internal.instr.ZeroLineNumberTest</span></td><td><code>c28bd8e2dd5ff466</code></td></tr><tr><td><a href="org.jacoco.core/org.jacoco.core.runtime/AbstractRuntime.html" class="el_class">org.jacoco.core.runtime.AbstractRuntime</a></td><td><code>a7a9c902c04624e6</code></td></tr><tr><td><a href="org.jacoco.core/org.jacoco.core.runtime/AgentOptions.html" class="el_class">org.jacoco.core.runtime.AgentOptions</a></td><td><code>d6b73de8a82129b9</code></td></tr><tr><td><a href="org.jacoco.core/org.jacoco.core.runtime/AgentOptions$OutputMode.html" class="el_class">org.jacoco.core.runtime.AgentOptions.OutputMode</a></td><td><code>bec290c960781d76</code></td></tr><tr><td><span class="el_class">org.jacoco.core.runtime.AgentOptionsTest</span></td><td><code>625a9c29eaa5d237</code></td></tr><tr><td><a href="org.jacoco.core/org.jacoco.core.runtime/CommandLineSupport.html" class="el_class">org.jacoco.core.runtime.CommandLineSupport</a></td><td><code>98130d82dd699d9d</code></td></tr><tr><td><span class="el_class">org.jacoco.core.runtime.CommandLineSupportTest</span></td><td><code>8c653db71c6b05f2</code></td></tr><tr><td><span class="el_class">org.jacoco.core.runtime.InjectedClassRuntimeTest</span></td><td><code>ed566040b781027b</code></td></tr><tr><td><a href="org.jacoco.core/org.jacoco.core.runtime/LoggerRuntime.html" class="el_class">org.jacoco.core.runtime.LoggerRuntime</a></td><td><code>3fcae9a198e1c4ce</code></td></tr><tr><td><a href="org.jacoco.core/org.jacoco.core.runtime/LoggerRuntime$RuntimeHandler.html" class="el_class">org.jacoco.core.runtime.LoggerRuntime.RuntimeHandler</a></td><td><code>864a4a092a1c629e</code></td></tr><tr><td><span class="el_class">org.jacoco.core.runtime.LoggerRuntimeTest</span></td><td><code>75f04e228ad9bc80</code></td></tr><tr><td><a href="org.jacoco.core/org.jacoco.core.runtime/ModifiedSystemClassRuntime.html" class="el_class">org.jacoco.core.runtime.ModifiedSystemClassRuntime</a></td><td><code>56295fb9ea7c5de8</code></td></tr><tr><td><a href="org.jacoco.core/org.jacoco.core.runtime/ModifiedSystemClassRuntime$1.html" class="el_class">org.jacoco.core.runtime.ModifiedSystemClassRuntime.1</a></td><td><code>6c105853f9be62ea</code></td></tr><tr><td><a href="org.jacoco.core/org.jacoco.core.runtime/ModifiedSystemClassRuntime$2.html" class="el_class">org.jacoco.core.runtime.ModifiedSystemClassRuntime.2</a></td><td><code>ca72d60bc9a70711</code></td></tr><tr><td><span class="el_class">org.jacoco.core.runtime.ModifiedSystemClassRuntimeTest</span></td><td><code>cbe0a5547bac4b25</code></td></tr><tr><td><span class="el_class">org.jacoco.core.runtime.ModifiedSystemClassRuntimeTest.MyInvocationHandler</span></td><td><code>451604c785346c72</code></td></tr><tr><td><a href="org.jacoco.core/org.jacoco.core.runtime/OfflineInstrumentationAccessGenerator.html" class="el_class">org.jacoco.core.runtime.OfflineInstrumentationAccessGenerator</a></td><td><code>0571e4ec23089514</code></td></tr><tr><td><span class="el_class">org.jacoco.core.runtime.OfflineInstrumentationAccessGeneratorTest</span></td><td><code>60142e7d4163fb9d</code></td></tr><tr><td><a href="org.jacoco.core/org.jacoco.core.runtime/RemoteControlReader.html" class="el_class">org.jacoco.core.runtime.RemoteControlReader</a></td><td><code>d52bbd47a34d7add</code></td></tr><tr><td><span class="el_class">org.jacoco.core.runtime.RemoteControlReaderWriterTest</span></td><td><code>0b972caff5ed7a95</code></td></tr><tr><td><span class="el_class">org.jacoco.core.runtime.RemoteControlReaderWriterTest.1</span></td><td><code>092c1ddb89d45126</code></td></tr><tr><td><a href="org.jacoco.core/org.jacoco.core.runtime/RemoteControlWriter.html" class="el_class">org.jacoco.core.runtime.RemoteControlWriter</a></td><td><code>a4071746e8729ce6</code></td></tr><tr><td><a href="org.jacoco.core/org.jacoco.core.runtime/RuntimeData.html" class="el_class">org.jacoco.core.runtime.RuntimeData</a></td><td><code>d5e7b8351594c46b</code></td></tr><tr><td><span class="el_class">org.jacoco.core.runtime.RuntimeDataTest</span></td><td><code>b628834fb64d498a</code></td></tr><tr><td><span class="el_class">org.jacoco.core.runtime.RuntimeTestBase</span></td><td><code>6cb8b6a8a6095b1e</code></td></tr><tr><td><span class="el_class">org.jacoco.core.runtime.RuntimeTestBase.1</span></td><td><code>ebadced9606f8e48</code></td></tr><tr><td><a href="org.jacoco.core/org.jacoco.core.runtime/SystemPropertiesRuntime.html" class="el_class">org.jacoco.core.runtime.SystemPropertiesRuntime</a></td><td><code>b118c7f6935ef3ee</code></td></tr><tr><td><span class="el_class">org.jacoco.core.runtime.SystemPropertiesRuntimeTest</span></td><td><code>cf122a8e26291e79</code></td></tr><tr><td><span class="el_class">org.jacoco.core.runtime.TestStorage</span></td><td><code>476578a73efde554</code></td></tr><tr><td><a href="org.jacoco.core/org.jacoco.core.runtime/WildcardMatcher.html" class="el_class">org.jacoco.core.runtime.WildcardMatcher</a></td><td><code>7711f75630f9fc7b</code></td></tr><tr><td><span class="el_class">org.jacoco.core.runtime.WildcardMatcherTest</span></td><td><code>084d123c45d1e9fd</code></td></tr><tr><td><span class="el_class">org.jacoco.core.test.InstrumentingLoader</span></td><td><code>b9cb6baf916f58ab</code></td></tr><tr><td><span class="el_class">org.jacoco.core.test.InstrumentingLoaderTest</span></td><td><code>65753a3d21fef8ba</code></td></tr><tr><td><span class="el_class">org.jacoco.core.test.TargetLoader</span></td><td><code>fcbe7c62c24875cd</code></td></tr><tr><td><span class="el_class">org.jacoco.core.test.validation.JavaVersion</span></td><td><code>dc9056e1365c812b</code></td></tr><tr><td><span class="el_class">org.jacoco.core.test.validation.JavaVersionTest</span></td><td><code>d1372ab49425cb1f</code></td></tr><tr><td><span class="el_class">org.jacoco.core.test.validation.Source</span></td><td><code>efde0fedfad24953</code></td></tr><tr><td><span class="el_class">org.jacoco.core.test.validation.Source.Line</span></td><td><code>ea80f95862ad6432</code></td></tr><tr><td><span class="el_class">org.jacoco.core.test.validation.SourceTest</span></td><td><code>05c716225d897be4</code></td></tr><tr><td><span class="el_class">org.jacoco.core.test.validation.StatementExecutor</span></td><td><code>0852f0266aa2dbda</code></td></tr><tr><td><span class="el_class">org.jacoco.core.test.validation.StatementExecutorTest</span></td><td><code>f412737290d4ed3f</code></td></tr><tr><td><span class="el_class">org.jacoco.core.test.validation.StatementParser</span></td><td><code>04768b6453e8add2</code></td></tr><tr><td><span class="el_class">org.jacoco.core.test.validation.StatementParserTest</span></td><td><code>5e7d2606f4fc79f6</code></td></tr><tr><td><span class="el_class">org.jacoco.core.test.validation.StatementParserTest.1</span></td><td><code>d72ea79423380722</code></td></tr><tr><td><a href="org.jacoco.core/org.jacoco.core.tools/ExecDumpClient.html" class="el_class">org.jacoco.core.tools.ExecDumpClient</a></td><td><code>254f99b2b52debc2</code></td></tr><tr><td><span class="el_class">org.jacoco.core.tools.ExecDumpClientTest</span></td><td><code>0826487c5fab1ddb</code></td></tr><tr><td><span class="el_class">org.jacoco.core.tools.ExecDumpClientTest.1</span></td><td><code>54d09a72aba4c48c</code></td></tr><tr><td><span class="el_class">org.jacoco.core.tools.ExecDumpClientTest.2</span></td><td><code>9934dad7b3ae7f47</code></td></tr><tr><td><span class="el_class">org.jacoco.core.tools.ExecDumpClientTest.3</span></td><td><code>b21dc4d5247bc30e</code></td></tr><tr><td><span class="el_class">org.jacoco.core.tools.ExecDumpClientTest.4</span></td><td><code>e7acb730e8f71e92</code></td></tr><tr><td><a href="org.jacoco.core/org.jacoco.core.tools/ExecFileLoader.html" class="el_class">org.jacoco.core.tools.ExecFileLoader</a></td><td><code>709acdf964bbfaf9</code></td></tr><tr><td><span class="el_class">org.jacoco.core.tools.ExecFileLoaderTest</span></td><td><code>5b068c984cf14bff</code></td></tr><tr><td><a href="org.jacoco.examples/org.jacoco.examples/ClassInfo.html" class="el_class">org.jacoco.examples.ClassInfo</a></td><td><code>9b6686ce137c34c1</code></td></tr><tr><td><span class="el_class">org.jacoco.examples.ClassInfoTest</span></td><td><code>f10ca0c3f9bf99fc</code></td></tr><tr><td><span class="el_class">org.jacoco.examples.ConsoleOutput</span></td><td><code>2f69fb4b8243c9ad</code></td></tr><tr><td><a href="org.jacoco.examples/org.jacoco.examples/CoreTutorial.html" class="el_class">org.jacoco.examples.CoreTutorial</a></td><td><code>0115a6b505cb4747</code></td></tr><tr><td><a href="org.jacoco.examples/org.jacoco.examples/CoreTutorial$MemoryClassLoader.html" class="el_class">org.jacoco.examples.CoreTutorial.MemoryClassLoader</a></td><td><code>5675465dd669afa2</code></td></tr><tr><td><span class="el_class">org.jacoco.examples.CoreTutorialTest</span></td><td><code>5bce1c5d62efd8f8</code></td></tr><tr><td><a href="org.jacoco.examples/org.jacoco.examples/ExecDump.html" class="el_class">org.jacoco.examples.ExecDump</a></td><td><code>c8414f4787abb57d</code></td></tr><tr><td><a href="org.jacoco.examples/org.jacoco.examples/ExecDump$1.html" class="el_class">org.jacoco.examples.ExecDump.1</a></td><td><code>0a76e6b12e754643</code></td></tr><tr><td><a href="org.jacoco.examples/org.jacoco.examples/ExecDump$2.html" class="el_class">org.jacoco.examples.ExecDump.2</a></td><td><code>bc477048e3e0fcca</code></td></tr><tr><td><span class="el_class">org.jacoco.examples.ExecDumpTest</span></td><td><code>71baa570350f732b</code></td></tr><tr><td><span class="el_class">org.jacoco.examples.MBeanClientTest</span></td><td><code>8a9d47eac472ad27</code></td></tr><tr><td><a href="jacoco-maven-plugin/org.jacoco.maven/AbstractAgentMojo.html" class="el_class">org.jacoco.maven.AbstractAgentMojo</a></td><td><code>c2be84b10fe16765</code></td></tr><tr><td><a href="jacoco-maven-plugin/org.jacoco.maven/AbstractJacocoMojo.html" class="el_class">org.jacoco.maven.AbstractJacocoMojo</a></td><td><code>ee2534bfd24af992</code></td></tr><tr><td><a href="jacoco-maven-plugin/org.jacoco.maven/AbstractReportMojo.html" class="el_class">org.jacoco.maven.AbstractReportMojo</a></td><td><code>daaa23e3b26ddd46</code></td></tr><tr><td><a href="jacoco-maven-plugin/org.jacoco.maven/AgentITMojo.html" class="el_class">org.jacoco.maven.AgentITMojo</a></td><td><code>65e3ae388e1d43a8</code></td></tr><tr><td><a href="jacoco-maven-plugin/org.jacoco.maven/AgentMojo.html" class="el_class">org.jacoco.maven.AgentMojo</a></td><td><code>cdbfd30a1d0f6721</code></td></tr><tr><td><a href="jacoco-maven-plugin/org.jacoco.maven/CheckMojo.html" class="el_class">org.jacoco.maven.CheckMojo</a></td><td><code>8f33b5b3f0e841bc</code></td></tr><tr><td><a href="jacoco-maven-plugin/org.jacoco.maven/DumpMojo.html" class="el_class">org.jacoco.maven.DumpMojo</a></td><td><code>a57051d9b82a7f4a</code></td></tr><tr><td><a href="jacoco-maven-plugin/org.jacoco.maven/DumpMojo$1.html" class="el_class">org.jacoco.maven.DumpMojo.1</a></td><td><code>b53d5352950be02e</code></td></tr><tr><td><a href="jacoco-maven-plugin/org.jacoco.maven/FileFilter.html" class="el_class">org.jacoco.maven.FileFilter</a></td><td><code>11256da21792b445</code></td></tr><tr><td><span class="el_class">org.jacoco.maven.HelpMojo</span></td><td><code>57e71c8f5b3a9657</code></td></tr><tr><td><a href="jacoco-maven-plugin/org.jacoco.maven/InstrumentMojo.html" class="el_class">org.jacoco.maven.InstrumentMojo</a></td><td><code>482d1eb2b8a0e844</code></td></tr><tr><td><a href="jacoco-maven-plugin/org.jacoco.maven/MergeMojo.html" class="el_class">org.jacoco.maven.MergeMojo</a></td><td><code>8eb89a71fe89b66e</code></td></tr><tr><td><a href="jacoco-maven-plugin/org.jacoco.maven/ReportAggregateMojo.html" class="el_class">org.jacoco.maven.ReportAggregateMojo</a></td><td><code>25552ea41e8e7f3e</code></td></tr><tr><td><a href="jacoco-maven-plugin/org.jacoco.maven/ReportFormat.html" class="el_class">org.jacoco.maven.ReportFormat</a></td><td><code>43846c9f0c4974c4</code></td></tr><tr><td><a href="jacoco-maven-plugin/org.jacoco.maven/ReportFormat$1.html" class="el_class">org.jacoco.maven.ReportFormat.1</a></td><td><code>318892f2ae9a310d</code></td></tr><tr><td><a href="jacoco-maven-plugin/org.jacoco.maven/ReportFormat$2.html" class="el_class">org.jacoco.maven.ReportFormat.2</a></td><td><code>e44593eaf9606712</code></td></tr><tr><td><a href="jacoco-maven-plugin/org.jacoco.maven/ReportFormat$3.html" class="el_class">org.jacoco.maven.ReportFormat.3</a></td><td><code>0754825606637ac6</code></td></tr><tr><td><a href="jacoco-maven-plugin/org.jacoco.maven/ReportITMojo.html" class="el_class">org.jacoco.maven.ReportITMojo</a></td><td><code>29227d519b18971e</code></td></tr><tr><td><a href="jacoco-maven-plugin/org.jacoco.maven/ReportMojo.html" class="el_class">org.jacoco.maven.ReportMojo</a></td><td><code>6f8580b62f87c4b7</code></td></tr><tr><td><a href="jacoco-maven-plugin/org.jacoco.maven/ReportSupport.html" class="el_class">org.jacoco.maven.ReportSupport</a></td><td><code>43fff3f46779146e</code></td></tr><tr><td><a href="jacoco-maven-plugin/org.jacoco.maven/ReportSupport$NoSourceLocator.html" class="el_class">org.jacoco.maven.ReportSupport.NoSourceLocator</a></td><td><code>6040b3e93d9807b2</code></td></tr><tr><td><a href="jacoco-maven-plugin/org.jacoco.maven/ReportSupport$SourceFileCollection.html" class="el_class">org.jacoco.maven.ReportSupport.SourceFileCollection</a></td><td><code>f067bec1a017d00a</code></td></tr><tr><td><a href="jacoco-maven-plugin/org.jacoco.maven/RestoreMojo.html" class="el_class">org.jacoco.maven.RestoreMojo</a></td><td><code>f4b705a9b1a43ced</code></td></tr><tr><td><a href="jacoco-maven-plugin/org.jacoco.maven/RuleConfiguration.html" class="el_class">org.jacoco.maven.RuleConfiguration</a></td><td><code>ef7029d184a04238</code></td></tr><tr><td><a href="org.jacoco.report/org.jacoco.report/DirectorySourceFileLocator.html" class="el_class">org.jacoco.report.DirectorySourceFileLocator</a></td><td><code>d34c51b8161d4c6f</code></td></tr><tr><td><span class="el_class">org.jacoco.report.DirectorySourceFileLocatorTest</span></td><td><code>8a730708b569b135</code></td></tr><tr><td><a href="org.jacoco.report/org.jacoco.report/FileMultiReportOutput.html" class="el_class">org.jacoco.report.FileMultiReportOutput</a></td><td><code>6104ba12670f36c8</code></td></tr><tr><td><span class="el_class">org.jacoco.report.FileMultiReportOutputTest</span></td><td><code>24edd507aedd9456</code></td></tr><tr><td><a href="org.jacoco.report/org.jacoco.report/InputStreamSourceFileLocator.html" class="el_class">org.jacoco.report.InputStreamSourceFileLocator</a></td><td><code>5b61010fe17978aa</code></td></tr><tr><td><span class="el_class">org.jacoco.report.InputStreamSourceFileLocatorTest</span></td><td><code>ba25acfc84f5def6</code></td></tr><tr><td><span class="el_class">org.jacoco.report.InputStreamSourceFileLocatorTest.TestLocator</span></td><td><code>6fffd61b81b7fb8a</code></td></tr><tr><td><a href="org.jacoco.report/org.jacoco.report/JavaNames.html" class="el_class">org.jacoco.report.JavaNames</a></td><td><code>3d4de618a4de3ec6</code></td></tr><tr><td><span class="el_class">org.jacoco.report.JavaNamesTest</span></td><td><code>945748e582c2cb0e</code></td></tr><tr><td><span class="el_class">org.jacoco.report.MemoryMultiReportOutput</span></td><td><code>d6c724616bef5703</code></td></tr><tr><td><span class="el_class">org.jacoco.report.MemoryMultiReportOutput.1</span></td><td><code>361b33e69c376689</code></td></tr><tr><td><span class="el_class">org.jacoco.report.MemoryOutput</span></td><td><code>ee91845ef4b3322b</code></td></tr><tr><td><a href="org.jacoco.report/org.jacoco.report/MultiGroupVisitor.html" class="el_class">org.jacoco.report.MultiGroupVisitor</a></td><td><code>e1e325920b14e729</code></td></tr><tr><td><a href="org.jacoco.report/org.jacoco.report/MultiReportVisitor.html" class="el_class">org.jacoco.report.MultiReportVisitor</a></td><td><code>5badd54014389b46</code></td></tr><tr><td><span class="el_class">org.jacoco.report.MultiReportVisitorTest</span></td><td><code>4b6e95cdf170db24</code></td></tr><tr><td><span class="el_class">org.jacoco.report.MultiReportVisitorTest.MockGroupVisitor</span></td><td><code>a8f69a9794deddd1</code></td></tr><tr><td><span class="el_class">org.jacoco.report.MultiReportVisitorTest.MockVisitor</span></td><td><code>e7af6d7b2c21090a</code></td></tr><tr><td><a href="org.jacoco.report/org.jacoco.report/MultiSourceFileLocator.html" class="el_class">org.jacoco.report.MultiSourceFileLocator</a></td><td><code>5bb71d9995f06aa6</code></td></tr><tr><td><span class="el_class">org.jacoco.report.MultiSourceFileLocatorTest</span></td><td><code>311ab1f1db7fe357</code></td></tr><tr><td><span class="el_class">org.jacoco.report.MultiSourceFileLocatorTest.StubLocator</span></td><td><code>7b35e307723b710c</code></td></tr><tr><td><span class="el_class">org.jacoco.report.MultiSourceFileLocatorTest.StubReader</span></td><td><code>11a83fbf4782f4c6</code></td></tr><tr><td><span class="el_class">org.jacoco.report.ReportStructureTestDriver</span></td><td><code>e3a905bb920757a8</code></td></tr><tr><td><span class="el_class">org.jacoco.report.ReportStructureTestDriver.1</span></td><td><code>6ba096c157dea6d7</code></td></tr><tr><td><a href="org.jacoco.report/org.jacoco.report/ZipMultiReportOutput.html" class="el_class">org.jacoco.report.ZipMultiReportOutput</a></td><td><code>774c9ff524028f02</code></td></tr><tr><td><a href="org.jacoco.report/org.jacoco.report/ZipMultiReportOutput$EntryOutput.html" class="el_class">org.jacoco.report.ZipMultiReportOutput.EntryOutput</a></td><td><code>75d277390467b409</code></td></tr><tr><td><span class="el_class">org.jacoco.report.ZipMultiReportOutputTest</span></td><td><code>1d132b6190ad939a</code></td></tr><tr><td><a href="org.jacoco.report/org.jacoco.report.check/BundleChecker.html" class="el_class">org.jacoco.report.check.BundleChecker</a></td><td><code>6f242b4f527ee89b</code></td></tr><tr><td><a href="org.jacoco.report/org.jacoco.report.check/BundleChecker$1.html" class="el_class">org.jacoco.report.check.BundleChecker.1</a></td><td><code>09c8e3661ffe6916</code></td></tr><tr><td><span class="el_class">org.jacoco.report.check.BundleCheckerTest</span></td><td><code>89636f94fa653b5e</code></td></tr><tr><td><a href="org.jacoco.report/org.jacoco.report.check/Limit.html" class="el_class">org.jacoco.report.check.Limit</a></td><td><code>9ae253eae9238327</code></td></tr><tr><td><span class="el_class">org.jacoco.report.check.LimitTest</span></td><td><code>bdf49c07f64f587b</code></td></tr><tr><td><span class="el_class">org.jacoco.report.check.LimitTest.1</span></td><td><code>400595683233f2af</code></td></tr><tr><td><span class="el_class">org.jacoco.report.check.LimitTest.10</span></td><td><code>3066354552257ac5</code></td></tr><tr><td><span class="el_class">org.jacoco.report.check.LimitTest.11</span></td><td><code>b9798296fcaa4f4f</code></td></tr><tr><td><span class="el_class">org.jacoco.report.check.LimitTest.12</span></td><td><code>2286dd4d5d7869d5</code></td></tr><tr><td><span class="el_class">org.jacoco.report.check.LimitTest.2</span></td><td><code>bc9cea0769e1549f</code></td></tr><tr><td><span class="el_class">org.jacoco.report.check.LimitTest.3</span></td><td><code>36b92cbd4a17498d</code></td></tr><tr><td><span class="el_class">org.jacoco.report.check.LimitTest.4</span></td><td><code>0d12d16d6dd5e9da</code></td></tr><tr><td><span class="el_class">org.jacoco.report.check.LimitTest.5</span></td><td><code>fc0b47fa2d222cc7</code></td></tr><tr><td><span class="el_class">org.jacoco.report.check.LimitTest.6</span></td><td><code>abbeb9f39be26350</code></td></tr><tr><td><span class="el_class">org.jacoco.report.check.LimitTest.7</span></td><td><code>450dd7b4c4df907b</code></td></tr><tr><td><span class="el_class">org.jacoco.report.check.LimitTest.8</span></td><td><code>92d54cb319f5928a</code></td></tr><tr><td><span class="el_class">org.jacoco.report.check.LimitTest.9</span></td><td><code>9ed8c4fc33b24aad</code></td></tr><tr><td><span class="el_class">org.jacoco.report.check.LimitTest.TestNode</span></td><td><code>55e60e02111be1dc</code></td></tr><tr><td><a href="org.jacoco.report/org.jacoco.report.check/Rule.html" class="el_class">org.jacoco.report.check.Rule</a></td><td><code>3fa78f11bbd28181</code></td></tr><tr><td><span class="el_class">org.jacoco.report.check.RuleTest</span></td><td><code>10dd294624015b07</code></td></tr><tr><td><a href="org.jacoco.report/org.jacoco.report.check/RulesChecker.html" class="el_class">org.jacoco.report.check.RulesChecker</a></td><td><code>f66456fe46541eea</code></td></tr><tr><td><a href="org.jacoco.report/org.jacoco.report.check/RulesChecker$1.html" class="el_class">org.jacoco.report.check.RulesChecker.1</a></td><td><code>6b0e23bc7c6dbc29</code></td></tr><tr><td><span class="el_class">org.jacoco.report.check.RulesCheckerTest</span></td><td><code>72e0d333e5617468</code></td></tr><tr><td><span class="el_class">org.jacoco.report.check.RulesCheckerTest.1</span></td><td><code>675ba93194d8aec8</code></td></tr><tr><td><a href="org.jacoco.report/org.jacoco.report.csv/CSVFormatter.html" class="el_class">org.jacoco.report.csv.CSVFormatter</a></td><td><code>0fea8ddb65fa587d</code></td></tr><tr><td><a href="org.jacoco.report/org.jacoco.report.csv/CSVFormatter$1Visitor.html" class="el_class">org.jacoco.report.csv.CSVFormatter.1Visitor</a></td><td><code>9e7349e2375fbb7a</code></td></tr><tr><td><span class="el_class">org.jacoco.report.csv.CSVFormatterTest</span></td><td><code>ece72371380e9a02</code></td></tr><tr><td><span class="el_class">org.jacoco.report.csv.CSVFormatterTest.1</span></td><td><code>3d15cecce48ef5ac</code></td></tr><tr><td><a href="org.jacoco.report/org.jacoco.report.csv/CSVGroupHandler.html" class="el_class">org.jacoco.report.csv.CSVGroupHandler</a></td><td><code>6ad4f4e61e080b28</code></td></tr><tr><td><span class="el_class">org.jacoco.report.csv.CSVGroupHandlerTest</span></td><td><code>e7cf25a916d3bd6b</code></td></tr><tr><td><a href="org.jacoco.report/org.jacoco.report.csv/ClassRowWriter.html" class="el_class">org.jacoco.report.csv.ClassRowWriter</a></td><td><code>f4f3d35ec0ab87a0</code></td></tr><tr><td><span class="el_class">org.jacoco.report.csv.ClassRowWriterTest</span></td><td><code>41443d6e9242a9f5</code></td></tr><tr><td><span class="el_class">org.jacoco.report.csv.ClassRowWriterTest.1</span></td><td><code>146c19144086fb40</code></td></tr><tr><td><span class="el_class">org.jacoco.report.csv.ClassRowWriterTest.2</span></td><td><code>ff957edbacccca0f</code></td></tr><tr><td><a href="org.jacoco.report/org.jacoco.report.csv/DelimitedWriter.html" class="el_class">org.jacoco.report.csv.DelimitedWriter</a></td><td><code>56abd5c785c656b0</code></td></tr><tr><td><span class="el_class">org.jacoco.report.csv.DelimitedWriterTest</span></td><td><code>347b333a5fed701e</code></td></tr><tr><td><a href="org.jacoco.report/org.jacoco.report.html/HTMLFormatter.html" class="el_class">org.jacoco.report.html.HTMLFormatter</a></td><td><code>26920de70b2bf2cf</code></td></tr><tr><td><a href="org.jacoco.report/org.jacoco.report.html/HTMLFormatter$1.html" class="el_class">org.jacoco.report.html.HTMLFormatter.1</a></td><td><code>a4bdbf952f145783</code></td></tr><tr><td><span class="el_class">org.jacoco.report.html.HTMLFormatterTest</span></td><td><code>e206a436ff7535d7</code></td></tr><tr><td><span class="el_class">org.jacoco.report.html.HTMLFormatterTest.1</span></td><td><code>8fec172ebbcec9fc</code></td></tr><tr><td><a href="org.jacoco.report/org.jacoco.report.internal/AbstractGroupVisitor.html" class="el_class">org.jacoco.report.internal.AbstractGroupVisitor</a></td><td><code>46de1e69ccd8cf20</code></td></tr><tr><td><a href="org.jacoco.report/org.jacoco.report.internal/NormalizedFileNames.html" class="el_class">org.jacoco.report.internal.NormalizedFileNames</a></td><td><code>bcad6970385d0a37</code></td></tr><tr><td><span class="el_class">org.jacoco.report.internal.NormalizedFileNamesTest</span></td><td><code>116120d31bed60a0</code></td></tr><tr><td><a href="org.jacoco.report/org.jacoco.report.internal/ReportOutputFolder.html" class="el_class">org.jacoco.report.internal.ReportOutputFolder</a></td><td><code>e08a8f8b2967aad1</code></td></tr><tr><td><span class="el_class">org.jacoco.report.internal.ReportOutputFolderTest</span></td><td><code>66eca64eef98055d</code></td></tr><tr><td><a href="org.jacoco.report/org.jacoco.report.internal.html/HTMLElement.html" class="el_class">org.jacoco.report.internal.html.HTMLElement</a></td><td><code>94d41cf6166a6da3</code></td></tr><tr><td><span class="el_class">org.jacoco.report.internal.html.HTMLElementTest</span></td><td><code>10d2d57aadcf1767</code></td></tr><tr><td><a href="org.jacoco.report/org.jacoco.report.internal.html/HTMLGroupVisitor.html" class="el_class">org.jacoco.report.internal.html.HTMLGroupVisitor</a></td><td><code>55fb6e149cbca495</code></td></tr><tr><td><span class="el_class">org.jacoco.report.internal.html.HTMLSupport</span></td><td><code>b4c8142034a21e85</code></td></tr><tr><td><span class="el_class">org.jacoco.report.internal.html.LinkableStub</span></td><td><code>99623172a815ef57</code></td></tr><tr><td><a href="org.jacoco.report/org.jacoco.report.internal.html.index/ElementIndex.html" class="el_class">org.jacoco.report.internal.html.index.ElementIndex</a></td><td><code>f71e9522b0bdcc7f</code></td></tr><tr><td><a href="org.jacoco.report/org.jacoco.report.internal.html.page/BundlePage.html" class="el_class">org.jacoco.report.internal.html.page.BundlePage</a></td><td><code>ac7b1938135dfb6e</code></td></tr><tr><td><span class="el_class">org.jacoco.report.internal.html.page.BundlePageTest</span></td><td><code>ec60ca3b76249219</code></td></tr><tr><td><a href="org.jacoco.report/org.jacoco.report.internal.html.page/ClassPage.html" class="el_class">org.jacoco.report.internal.html.page.ClassPage</a></td><td><code>6b452512d23baf66</code></td></tr><tr><td><span class="el_class">org.jacoco.report.internal.html.page.ClassPageTest</span></td><td><code>866be6a3a75b95cc</code></td></tr><tr><td><span class="el_class">org.jacoco.report.internal.html.page.ClassPageTest.SourceLink</span></td><td><code>b8e35f63a93910df</code></td></tr><tr><td><a href="org.jacoco.report/org.jacoco.report.internal.html.page/GroupPage.html" class="el_class">org.jacoco.report.internal.html.page.GroupPage</a></td><td><code>ea2b054d8b8b9a0b</code></td></tr><tr><td><a href="org.jacoco.report/org.jacoco.report.internal.html.page/MethodItem.html" class="el_class">org.jacoco.report.internal.html.page.MethodItem</a></td><td><code>8817505c81c58e44</code></td></tr><tr><td><span class="el_class">org.jacoco.report.internal.html.page.MethodItemTest</span></td><td><code>01eef3e34e0b8d82</code></td></tr><tr><td><span class="el_class">org.jacoco.report.internal.html.page.MethodItemTest.SourceLink</span></td><td><code>84352b2d39286fc6</code></td></tr><tr><td><a href="org.jacoco.report/org.jacoco.report.internal.html.page/NodePage.html" class="el_class">org.jacoco.report.internal.html.page.NodePage</a></td><td><code>d00c0f935b9038e6</code></td></tr><tr><td><span class="el_class">org.jacoco.report.internal.html.page.NodePageTest</span></td><td><code>02af0a0aba558626</code></td></tr><tr><td><span class="el_class">org.jacoco.report.internal.html.page.NodePageTest.TestNodePage</span></td><td><code>f89bb4d0848bac7d</code></td></tr><tr><td><a href="org.jacoco.report/org.jacoco.report.internal.html.page/PackagePage.html" class="el_class">org.jacoco.report.internal.html.page.PackagePage</a></td><td><code>40c33048f7706e70</code></td></tr><tr><td><span class="el_class">org.jacoco.report.internal.html.page.PackagePageTest</span></td><td><code>fcb05d154dda04bd</code></td></tr><tr><td><span class="el_class">org.jacoco.report.internal.html.page.PackagePageTest.1</span></td><td><code>2f65dd1911b72c0f</code></td></tr><tr><td><a href="org.jacoco.report/org.jacoco.report.internal.html.page/PackageSourcePage.html" class="el_class">org.jacoco.report.internal.html.page.PackageSourcePage</a></td><td><code>981714f7d2c77a31</code></td></tr><tr><td><span class="el_class">org.jacoco.report.internal.html.page.PackageSourcePageTest</span></td><td><code>2aaeaa524bb9291c</code></td></tr><tr><td><span class="el_class">org.jacoco.report.internal.html.page.PackageSourcePageTest.1</span></td><td><code>d76bf749d971b0ae</code></td></tr><tr><td><span class="el_class">org.jacoco.report.internal.html.page.PackageSourcePageTest.2</span></td><td><code>445113c63a71b380</code></td></tr><tr><td><span class="el_class">org.jacoco.report.internal.html.page.PageTestBase</span></td><td><code>f619042dd5b1f53a</code></td></tr><tr><td><span class="el_class">org.jacoco.report.internal.html.page.PageTestBase.1</span></td><td><code>d6dcf08a1e61a008</code></td></tr><tr><td><span class="el_class">org.jacoco.report.internal.html.page.PageTestBase.1.1</span></td><td><code>c443d4e58250327f</code></td></tr><tr><td><a href="org.jacoco.report/org.jacoco.report.internal.html.page/ReportPage.html" class="el_class">org.jacoco.report.internal.html.page.ReportPage</a></td><td><code>988400c69989012b</code></td></tr><tr><td><span class="el_class">org.jacoco.report.internal.html.page.ReportPageTest</span></td><td><code>c83ffb51309a23b6</code></td></tr><tr><td><span class="el_class">org.jacoco.report.internal.html.page.ReportPageTest.TestReportPage</span></td><td><code>a2aea30a9d88412d</code></td></tr><tr><td><a href="org.jacoco.report/org.jacoco.report.internal.html.page/SessionsPage.html" class="el_class">org.jacoco.report.internal.html.page.SessionsPage</a></td><td><code>81e1d81b493432a8</code></td></tr><tr><td><a href="org.jacoco.report/org.jacoco.report.internal.html.page/SessionsPage$1.html" class="el_class">org.jacoco.report.internal.html.page.SessionsPage.1</a></td><td><code>4cf1948a680af230</code></td></tr><tr><td><span class="el_class">org.jacoco.report.internal.html.page.SessionsPageTest</span></td><td><code>3d2f9d8d6dab68b0</code></td></tr><tr><td><span class="el_class">org.jacoco.report.internal.html.page.SessionsPageTest.1</span></td><td><code>4f6d483601de863c</code></td></tr><tr><td><a href="org.jacoco.report/org.jacoco.report.internal.html.page/SourceFileItem.html" class="el_class">org.jacoco.report.internal.html.page.SourceFileItem</a></td><td><code>6de3ed88c28b966c</code></td></tr><tr><td><a href="org.jacoco.report/org.jacoco.report.internal.html.page/SourceFilePage.html" class="el_class">org.jacoco.report.internal.html.page.SourceFilePage</a></td><td><code>a99714282ffc6873</code></td></tr><tr><td><span class="el_class">org.jacoco.report.internal.html.page.SourceFilePageTest</span></td><td><code>e09a25f162030d01</code></td></tr><tr><td><a href="org.jacoco.report/org.jacoco.report.internal.html.page/SourceHighlighter.html" class="el_class">org.jacoco.report.internal.html.page.SourceHighlighter</a></td><td><code>bc2edd383315af28</code></td></tr><tr><td><span class="el_class">org.jacoco.report.internal.html.page.SourceHighlighterTest</span></td><td><code>12a54cd17b12da6a</code></td></tr><tr><td><a href="org.jacoco.report/org.jacoco.report.internal.html.page/TablePage.html" class="el_class">org.jacoco.report.internal.html.page.TablePage</a></td><td><code>bbccfaf084c20966</code></td></tr><tr><td><a href="org.jacoco.report/org.jacoco.report.internal.html.resources/Resources.html" class="el_class">org.jacoco.report.internal.html.resources.Resources</a></td><td><code>e3a30727da156c8c</code></td></tr><tr><td><a href="org.jacoco.report/org.jacoco.report.internal.html.resources/Resources$1.html" class="el_class">org.jacoco.report.internal.html.resources.Resources.1</a></td><td><code>43013cac00b3adfa</code></td></tr><tr><td><span class="el_class">org.jacoco.report.internal.html.resources.ResourcesTest</span></td><td><code>b11c73806d28c232</code></td></tr><tr><td><a href="org.jacoco.report/org.jacoco.report.internal.html.resources/Styles.html" class="el_class">org.jacoco.report.internal.html.resources.Styles</a></td><td><code>e52dd980ddf5104d</code></td></tr><tr><td><span class="el_class">org.jacoco.report.internal.html.resources.StylesTest</span></td><td><code>4b88ed19f82a86d7</code></td></tr><tr><td><a href="org.jacoco.report/org.jacoco.report.internal.html.table/BarColumn.html" class="el_class">org.jacoco.report.internal.html.table.BarColumn</a></td><td><code>a3b1e389c10e259f</code></td></tr><tr><td><span class="el_class">org.jacoco.report.internal.html.table.BarColumnTest</span></td><td><code>fecec34455ec2bfb</code></td></tr><tr><td><span class="el_class">org.jacoco.report.internal.html.table.BarColumnTest.1</span></td><td><code>d303a2ff45a0b307</code></td></tr><tr><td><span class="el_class">org.jacoco.report.internal.html.table.BarColumnTest.2</span></td><td><code>232e36e73482da39</code></td></tr><tr><td><a href="org.jacoco.report/org.jacoco.report.internal.html.table/CounterColumn.html" class="el_class">org.jacoco.report.internal.html.table.CounterColumn</a></td><td><code>404e3dfd68647314</code></td></tr><tr><td><a href="org.jacoco.report/org.jacoco.report.internal.html.table/CounterColumn$1.html" class="el_class">org.jacoco.report.internal.html.table.CounterColumn.1</a></td><td><code>5bed93d58f150c6c</code></td></tr><tr><td><a href="org.jacoco.report/org.jacoco.report.internal.html.table/CounterColumn$2.html" class="el_class">org.jacoco.report.internal.html.table.CounterColumn.2</a></td><td><code>157cf0637bde9600</code></td></tr><tr><td><a href="org.jacoco.report/org.jacoco.report.internal.html.table/CounterColumn$3.html" class="el_class">org.jacoco.report.internal.html.table.CounterColumn.3</a></td><td><code>7f54b03b04e86046</code></td></tr><tr><td><span class="el_class">org.jacoco.report.internal.html.table.CounterColumnTest</span></td><td><code>c96e09bbc2d2dec4</code></td></tr><tr><td><span class="el_class">org.jacoco.report.internal.html.table.CounterColumnTest.1</span></td><td><code>ac080c073633cfda</code></td></tr><tr><td><span class="el_class">org.jacoco.report.internal.html.table.CounterColumnTest.2</span></td><td><code>ae0691b620a05d1c</code></td></tr><tr><td><a href="org.jacoco.report/org.jacoco.report.internal.html.table/LabelColumn.html" class="el_class">org.jacoco.report.internal.html.table.LabelColumn</a></td><td><code>8f650a9eb70b87af</code></td></tr><tr><td><a href="org.jacoco.report/org.jacoco.report.internal.html.table/LabelColumn$1.html" class="el_class">org.jacoco.report.internal.html.table.LabelColumn.1</a></td><td><code>3aa69dcd9325a022</code></td></tr><tr><td><span class="el_class">org.jacoco.report.internal.html.table.LabelColumnTest</span></td><td><code>2bad732b5a367a3f</code></td></tr><tr><td><span class="el_class">org.jacoco.report.internal.html.table.LabelColumnTest.1</span></td><td><code>bcdad3ee02bf6231</code></td></tr><tr><td><a href="org.jacoco.report/org.jacoco.report.internal.html.table/PercentageColumn.html" class="el_class">org.jacoco.report.internal.html.table.PercentageColumn</a></td><td><code>b1d2e48d07fe9f15</code></td></tr><tr><td><span class="el_class">org.jacoco.report.internal.html.table.PercentageColumnTest</span></td><td><code>75293aa21539df5a</code></td></tr><tr><td><span class="el_class">org.jacoco.report.internal.html.table.PercentageColumnTest.1</span></td><td><code>68e49e31d97385a4</code></td></tr><tr><td><span class="el_class">org.jacoco.report.internal.html.table.PercentageColumnTest.2</span></td><td><code>972d3939263b5514</code></td></tr><tr><td><a href="org.jacoco.report/org.jacoco.report.internal.html.table/SortIndex.html" class="el_class">org.jacoco.report.internal.html.table.SortIndex</a></td><td><code>c9e5281bc296ce2f</code></td></tr><tr><td><a href="org.jacoco.report/org.jacoco.report.internal.html.table/SortIndex$Entry.html" class="el_class">org.jacoco.report.internal.html.table.SortIndex.Entry</a></td><td><code>ee773edef5b8f416</code></td></tr><tr><td><span class="el_class">org.jacoco.report.internal.html.table.SortIndexTest</span></td><td><code>4b7df85b3144238c</code></td></tr><tr><td><span class="el_class">org.jacoco.report.internal.html.table.SortIndexTest.1</span></td><td><code>8def18ee3650d61c</code></td></tr><tr><td><a href="org.jacoco.report/org.jacoco.report.internal.html.table/Table.html" class="el_class">org.jacoco.report.internal.html.table.Table</a></td><td><code>df3f84e3946bdf6f</code></td></tr><tr><td><a href="org.jacoco.report/org.jacoco.report.internal.html.table/Table$Column.html" class="el_class">org.jacoco.report.internal.html.table.Table.Column</a></td><td><code>e9b9914f662c18fc</code></td></tr><tr><td><a href="org.jacoco.report/org.jacoco.report.internal.html.table/TableItemComparator.html" class="el_class">org.jacoco.report.internal.html.table.TableItemComparator</a></td><td><code>ffe77501cfb9ba3d</code></td></tr><tr><td><span class="el_class">org.jacoco.report.internal.html.table.TableTest</span></td><td><code>c96076737c2e5e91</code></td></tr><tr><td><span class="el_class">org.jacoco.report.internal.html.table.TableTest.1</span></td><td><code>169836b72a112384</code></td></tr><tr><td><span class="el_class">org.jacoco.report.internal.html.table.TableTest.2</span></td><td><code>d5cfecab0918967c</code></td></tr><tr><td><span class="el_class">org.jacoco.report.internal.html.table.TableTest.3</span></td><td><code>6800dea57d1f2227</code></td></tr><tr><td><span class="el_class">org.jacoco.report.internal.html.table.TableTest.4</span></td><td><code>540d532962810e75</code></td></tr><tr><td><span class="el_class">org.jacoco.report.internal.html.table.TableTest.5</span></td><td><code>9aadc63f2dbc0363</code></td></tr><tr><td><span class="el_class">org.jacoco.report.internal.html.table.TableTest.StubRenderer</span></td><td><code>77c00f928371dd2c</code></td></tr><tr><td><span class="el_class">org.jacoco.report.internal.xml.LocalEntityResolver</span></td><td><code>c09605d68623a73d</code></td></tr><tr><td><a href="org.jacoco.report/org.jacoco.report.internal.xml/ReportElement.html" class="el_class">org.jacoco.report.internal.xml.ReportElement</a></td><td><code>1e206f3f9090b6f0</code></td></tr><tr><td><a href="org.jacoco.report/org.jacoco.report.internal.xml/XMLCoverageWriter.html" class="el_class">org.jacoco.report.internal.xml.XMLCoverageWriter</a></td><td><code>99142065d351a992</code></td></tr><tr><td><a href="org.jacoco.report/org.jacoco.report.internal.xml/XMLElement.html" class="el_class">org.jacoco.report.internal.xml.XMLElement</a></td><td><code>aa4039934bf9178f</code></td></tr><tr><td><span class="el_class">org.jacoco.report.internal.xml.XMLElementTest</span></td><td><code>1d0a40fd03203bbd</code></td></tr><tr><td><a href="org.jacoco.report/org.jacoco.report.internal.xml/XMLGroupVisitor.html" class="el_class">org.jacoco.report.internal.xml.XMLGroupVisitor</a></td><td><code>4c7a0d6e8bef53c0</code></td></tr><tr><td><span class="el_class">org.jacoco.report.internal.xml.XMLGroupVisitorTest</span></td><td><code>d76f8b5aab016584</code></td></tr><tr><td><span class="el_class">org.jacoco.report.internal.xml.XMLSupport</span></td><td><code>746a335c78f17e08</code></td></tr><tr><td><span class="el_class">org.jacoco.report.internal.xml.XMLSupport.1</span></td><td><code>f5937fa49df3dc6c</code></td></tr><tr><td><a href="org.jacoco.report/org.jacoco.report.xml/XMLFormatter.html" class="el_class">org.jacoco.report.xml.XMLFormatter</a></td><td><code>8c2b9aa9affc5bae</code></td></tr><tr><td><a href="org.jacoco.report/org.jacoco.report.xml/XMLFormatter$1RootVisitor.html" class="el_class">org.jacoco.report.xml.XMLFormatter.1RootVisitor</a></td><td><code>40faf03cecd76acd</code></td></tr><tr><td><span class="el_class">org.jacoco.report.xml.XMLFormatterTest</span></td><td><code>f35371fa3b00a910</code></td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.12.202403270442</span>Code Coverage Report for JaCoCo 0.8.12-SNAPSHOT</div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/trunk/coverage/jacoco.csv b/jacoco/trunk/coverage/jacoco.csv
    new file mode 100644
    index 00000000000..1cae06a349d
    --- /dev/null
    +++ b/jacoco/trunk/coverage/jacoco.csv
    @@ -0,0 +1,304 @@
    +GROUP,PACKAGE,CLASS,INSTRUCTION_MISSED,INSTRUCTION_COVERED,BRANCH_MISSED,BRANCH_COVERED,LINE_MISSED,LINE_COVERED,COMPLEXITY_MISSED,COMPLEXITY_COVERED,METHOD_MISSED,METHOD_COVERED
    +JaCoCo/org.jacoco.core,org.jacoco.core.tools,ExecFileLoader,0,93,1,1,0,28,1,7,0,7
    +JaCoCo/org.jacoco.core,org.jacoco.core.tools,ExecDumpClient,7,115,0,4,4,38,2,11,2,9
    +JaCoCo/org.jacoco.core,org.jacoco.core.runtime,ModifiedSystemClassRuntime,16,109,0,0,4,25,1,7,1,7
    +JaCoCo/org.jacoco.core,org.jacoco.core.runtime,AgentOptions.OutputMode,0,44,0,0,0,5,0,1,0,1
    +JaCoCo/org.jacoco.core,org.jacoco.core.runtime,LoggerRuntime,0,101,0,0,0,28,0,5,0,5
    +JaCoCo/org.jacoco.core,org.jacoco.core.runtime,RemoteControlWriter,0,22,0,0,0,8,0,3,0,3
    +JaCoCo/org.jacoco.core,org.jacoco.core.runtime,AgentOptions,0,501,0,34,0,108,0,62,0,45
    +JaCoCo/org.jacoco.core,org.jacoco.core.runtime,ModifiedSystemClassRuntime.new ClassVisitor() {...},0,16,0,0,0,4,0,2,0,2
    +JaCoCo/org.jacoco.core,org.jacoco.core.runtime,ModifiedSystemClassRuntime.new ClassFileTransformer() {...},0,21,0,2,0,4,0,3,0,2
    +JaCoCo/org.jacoco.core,org.jacoco.core.runtime,InjectedClassRuntime.Lookup,73,0,0,0,6,0,4,0,4,0
    +JaCoCo/org.jacoco.core,org.jacoco.core.runtime,LoggerRuntime.RuntimeHandler,9,20,1,1,3,4,3,2,2,2
    +JaCoCo/org.jacoco.core,org.jacoco.core.runtime,CommandLineSupport,0,216,1,39,0,51,1,24,0,4
    +JaCoCo/org.jacoco.core,org.jacoco.core.runtime,RemoteControlReader,0,42,0,5,0,15,0,7,0,4
    +JaCoCo/org.jacoco.core,org.jacoco.core.runtime,WildcardMatcher,0,106,0,9,0,21,0,8,0,3
    +JaCoCo/org.jacoco.core,org.jacoco.core.runtime,AbstractRuntime,4,12,0,0,1,4,1,3,1,3
    +JaCoCo/org.jacoco.core,org.jacoco.core.runtime,RuntimeData,0,205,0,4,0,56,0,12,0,10
    +JaCoCo/org.jacoco.core,org.jacoco.core.runtime,OfflineInstrumentationAccessGenerator,0,40,0,0,0,10,0,3,0,3
    +JaCoCo/org.jacoco.core,org.jacoco.core.runtime,SystemPropertiesRuntime,0,56,0,0,0,13,0,4,0,4
    +JaCoCo/org.jacoco.core,org.jacoco.core.runtime,InjectedClassRuntime,84,0,0,0,16,0,5,0,5,0
    +JaCoCo/org.jacoco.core,org.jacoco.core.internal.analysis.filter,PrivateEmptyNoArgConstructorFilter,0,36,2,6,0,5,2,4,0,2
    +JaCoCo/org.jacoco.core,org.jacoco.core.internal.analysis.filter,SyntheticFilter,0,62,1,19,0,18,1,12,0,3
    +JaCoCo/org.jacoco.core,org.jacoco.core.internal.analysis.filter,KotlinUnsafeCastOperatorFilter,0,35,0,4,0,9,0,4,0,2
    +JaCoCo/org.jacoco.core,org.jacoco.core.internal.analysis.filter,AssertFilter.Matcher,0,58,0,4,0,16,0,4,0,2
    +JaCoCo/org.jacoco.core,org.jacoco.core.internal.analysis.filter,TryWithResourcesEcjFilter.Matcher,29,533,14,44,13,127,14,25,0,10
    +JaCoCo/org.jacoco.core,org.jacoco.core.internal.analysis.filter,EnumFilter,0,67,2,10,0,10,2,7,0,3
    +JaCoCo/org.jacoco.core,org.jacoco.core.internal.analysis.filter,KotlinNotNullOperatorFilter,0,25,0,2,0,6,0,3,0,2
    +JaCoCo/org.jacoco.core,org.jacoco.core.internal.analysis.filter,KotlinUnsafeCastOperatorFilter.Matcher,3,76,5,11,3,20,5,4,0,1
    +JaCoCo/org.jacoco.core,org.jacoco.core.internal.analysis.filter,RecordsFilter,0,39,0,10,0,8,0,7,0,2
    +JaCoCo/org.jacoco.core,org.jacoco.core.internal.analysis.filter,KotlinWhenStringFilter,0,25,0,2,0,6,0,3,0,2
    +JaCoCo/org.jacoco.core,org.jacoco.core.internal.analysis.filter,KotlinNotNullOperatorFilter.Matcher,0,24,0,4,0,8,0,3,0,1
    +JaCoCo/org.jacoco.core,org.jacoco.core.internal.analysis.filter,KotlinWhenFilter,9,67,2,7,2,16,2,7,0,4
    +JaCoCo/org.jacoco.core,org.jacoco.core.internal.analysis.filter,FinallyFilter,8,299,10,61,5,73,10,33,0,7
    +JaCoCo/org.jacoco.core,org.jacoco.core.internal.analysis.filter,EnumEmptyConstructorFilter,0,34,0,8,0,5,0,6,0,2
    +JaCoCo/org.jacoco.core,org.jacoco.core.internal.analysis.filter,TryWithResourcesJavacFilter,0,56,0,10,0,12,0,7,0,2
    +JaCoCo/org.jacoco.core,org.jacoco.core.internal.analysis.filter,KotlinGeneratedFilter,0,50,0,10,0,14,0,9,0,4
    +JaCoCo/org.jacoco.core,org.jacoco.core.internal.analysis.filter,BridgeFilter,0,18,0,2,0,5,0,3,0,2
    +JaCoCo/org.jacoco.core,org.jacoco.core.internal.analysis.filter,KotlinLateinitFilter.Matcher,1,129,3,25,1,32,3,13,0,2
    +JaCoCo/org.jacoco.core,org.jacoco.core.internal.analysis.filter,TryWithResourcesJavacFilter.new Object() {...},4,29,0,0,0,1,0,1,0,1
    +JaCoCo/org.jacoco.core,org.jacoco.core.internal.analysis.filter,ExhaustiveSwitchFilter.Matcher,13,142,8,20,6,31,8,8,0,2
    +JaCoCo/org.jacoco.core,org.jacoco.core.internal.analysis.filter,StringSwitchFilter,0,25,0,2,0,6,0,3,0,2
    +JaCoCo/org.jacoco.core,org.jacoco.core.internal.analysis.filter,Filters,0,204,0,2,0,8,0,5,0,4
    +JaCoCo/org.jacoco.core,org.jacoco.core.internal.analysis.filter,TryWithResourcesJavacFilter.Matcher,18,271,7,28,7,70,7,16,0,5
    +JaCoCo/org.jacoco.core,org.jacoco.core.internal.analysis.filter,EnumEmptyConstructorFilter.Matcher,0,25,0,2,0,6,0,2,0,1
    +JaCoCo/org.jacoco.core,org.jacoco.core.internal.analysis.filter,SynchronizedFilter.Matcher,0,65,0,8,0,18,0,8,0,4
    +JaCoCo/org.jacoco.core,org.jacoco.core.internal.analysis.filter,KotlinDefaultArgumentsFilter.Matcher,2,163,4,16,2,36,4,8,0,2
    +JaCoCo/org.jacoco.core,org.jacoco.core.internal.analysis.filter,KotlinDefaultMethodsFilter,0,15,0,2,0,6,0,3,0,2
    +JaCoCo/org.jacoco.core,org.jacoco.core.internal.analysis.filter,RecordPatternFilter.Matcher,0,46,1,1,0,12,1,1,0,1
    +JaCoCo/org.jacoco.core,org.jacoco.core.internal.analysis.filter,SynchronizedFilter,0,42,0,8,0,13,0,6,0,2
    +JaCoCo/org.jacoco.core,org.jacoco.core.internal.analysis.filter,AbstractMatcher,0,217,0,50,0,64,0,36,0,11
    +JaCoCo/org.jacoco.core,org.jacoco.core.internal.analysis.filter,StringSwitchJavacFilter,0,52,0,8,0,13,0,7,0,3
    +JaCoCo/org.jacoco.core,org.jacoco.core.internal.analysis.filter,KotlinCoroutineFilter.Matcher,11,441,17,39,9,107,17,15,0,4
    +JaCoCo/org.jacoco.core,org.jacoco.core.internal.analysis.filter,KotlinWhenStringFilter.Matcher,2,147,3,17,2,41,3,8,0,1
    +JaCoCo/org.jacoco.core,org.jacoco.core.internal.analysis.filter,RecordPatternFilter,0,31,0,4,0,7,0,4,0,2
    +JaCoCo/org.jacoco.core,org.jacoco.core.internal.analysis.filter,AnnotationGeneratedFilter,0,81,0,14,0,15,0,11,0,4
    +JaCoCo/org.jacoco.core,org.jacoco.core.internal.analysis.filter,TryWithResourcesJavac11Filter,0,44,0,6,0,10,0,5,0,2
    +JaCoCo/org.jacoco.core,org.jacoco.core.internal.analysis.filter,TryWithResourcesJavacFilter.Matcher.JavacPattern,0,44,0,0,0,5,0,1,0,1
    +JaCoCo/org.jacoco.core,org.jacoco.core.internal.analysis.filter,PrivateEmptyNoArgConstructorFilter.Matcher,1,18,1,1,0,4,1,1,0,1
    +JaCoCo/org.jacoco.core,org.jacoco.core.internal.analysis.filter,AssertFilter,0,50,0,6,0,9,0,5,0,2
    +JaCoCo/org.jacoco.core,org.jacoco.core.internal.analysis.filter,KotlinDefaultMethodsFilter.Matcher,0,25,0,4,0,5,0,3,0,1
    +JaCoCo/org.jacoco.core,org.jacoco.core.internal.analysis.filter,RecordsFilter.Matcher,4,161,3,33,2,40,3,20,0,5
    +JaCoCo/org.jacoco.core,org.jacoco.core.internal.analysis.filter,KotlinLateinitFilter,0,25,0,2,0,6,0,3,0,2
    +JaCoCo/org.jacoco.core,org.jacoco.core.internal.analysis.filter,KotlinDefaultArgumentsFilter,2,76,1,11,1,18,1,10,0,5
    +JaCoCo/org.jacoco.core,org.jacoco.core.internal.analysis.filter,StringSwitchFilter.Matcher,1,134,1,17,1,36,1,9,0,1
    +JaCoCo/org.jacoco.core,org.jacoco.core.internal.analysis.filter,TryWithResourcesEcjFilter,0,43,0,8,0,12,0,6,0,2
    +JaCoCo/org.jacoco.core,org.jacoco.core.internal.analysis.filter,KotlinWhenFilter.Matcher,0,66,1,9,0,17,1,5,0,1
    +JaCoCo/org.jacoco.core,org.jacoco.core.internal.analysis.filter,ExhaustiveSwitchFilter,0,36,0,4,0,9,0,4,0,2
    +JaCoCo/org.jacoco.core,org.jacoco.core.internal.analysis.filter,KotlinCoroutineFilter,1,52,2,6,0,12,2,5,0,3
    +JaCoCo/org.jacoco.core,org.jacoco.core.internal.analysis.filter,StringSwitchJavacFilter.Matcher,5,101,3,15,2,25,3,7,0,1
    +JaCoCo/org.jacoco.core,org.jacoco.core.internal.analysis.filter,KotlinInlineFilter,6,227,0,32,2,54,0,21,0,5
    +JaCoCo/org.jacoco.core,org.jacoco.core.internal.analysis.filter,TryWithResourcesJavac11Filter.Matcher,11,176,6,20,5,49,6,11,0,4
    +JaCoCo/org.jacoco.core,org.jacoco.core.data,SessionInfo,0,57,0,6,0,16,0,9,0,6
    +JaCoCo/org.jacoco.core,org.jacoco.core.data,ExecutionDataStore,0,166,0,12,0,36,0,17,0,11
    +JaCoCo/org.jacoco.core,org.jacoco.core.data,ExecutionDataReader,0,168,0,20,0,47,0,19,0,8
    +JaCoCo/org.jacoco.core,org.jacoco.core.data,ExecutionData,0,188,0,14,0,35,0,18,0,11
    +JaCoCo/org.jacoco.core,org.jacoco.core.data,ExecutionDataWriter,6,101,0,2,2,33,0,8,0,7
    +JaCoCo/org.jacoco.core,org.jacoco.core.data,SessionInfoStore,0,88,0,6,0,19,0,9,0,6
    +JaCoCo/org.jacoco.core,org.jacoco.core.data,IncompatibleExecDataVersionException,0,25,0,0,0,5,0,3,0,3
    +JaCoCo/org.jacoco.core,org.jacoco.core.instr,Instrumenter,6,388,1,15,1,97,1,25,0,16
    +JaCoCo/org.jacoco.core,org.jacoco.core.instr,Instrumenter.new ClassWriter() {...},4,8,0,0,1,1,1,1,1,1
    +JaCoCo/org.jacoco.core,org.jacoco.core.analysis,ICoverageNode.ElementType,0,64,0,0,0,7,0,1,0,1
    +JaCoCo/org.jacoco.core,org.jacoco.core.analysis,ICoverageNode.CounterEntity,0,64,0,0,0,7,0,1,0,1
    +JaCoCo/org.jacoco.core,org.jacoco.core.analysis,CoverageBuilder,0,138,0,12,0,28,0,13,0,7
    +JaCoCo/org.jacoco.core,org.jacoco.core.analysis,NodeComparator,0,46,0,0,0,12,0,4,0,4
    +JaCoCo/org.jacoco.core,org.jacoco.core.analysis,NodeComparator.new NodeComparator() {...},0,30,0,2,0,3,0,3,0,2
    +JaCoCo/org.jacoco.core,org.jacoco.core.analysis,CoverageNodeImpl,5,199,1,10,1,47,1,22,0,15
    +JaCoCo/org.jacoco.core,org.jacoco.core.analysis,CounterComparator,0,76,0,4,0,15,0,8,0,6
    +JaCoCo/org.jacoco.core,org.jacoco.core.analysis,Analyzer,0,326,0,19,0,79,0,24,0,13
    +JaCoCo/org.jacoco.core,org.jacoco.core.analysis,CoverageNodeImpl.new Object() {...},6,41,0,0,0,1,0,1,0,1
    +JaCoCo/org.jacoco.core,org.jacoco.core.analysis,ICounter.CounterValue,0,54,0,0,0,6,0,1,0,1
    +JaCoCo/org.jacoco.core,org.jacoco.core.analysis,Analyzer.new ClassAnalyzer() {...},0,21,0,0,0,4,0,2,0,2
    +JaCoCo/org.jacoco.core,org.jacoco.core,JaCoCo,0,25,0,0,0,7,0,1,0,1
    +JaCoCo/org.jacoco.core,org.jacoco.core.internal.analysis,StringPool,0,62,0,10,0,17,0,9,0,4
    +JaCoCo/org.jacoco.core,org.jacoco.core.internal.analysis,ClassAnalyzer.new MethodAnalyzer() {...},0,48,0,0,0,4,0,2,0,2
    +JaCoCo/org.jacoco.core,org.jacoco.core.internal.analysis,SourceFileCoverageImpl,0,11,0,0,0,4,0,2,0,2
    +JaCoCo/org.jacoco.core,org.jacoco.core.internal.analysis,CounterImpl.Fix,0,15,0,0,0,3,0,2,0,2
    +JaCoCo/org.jacoco.core,org.jacoco.core.internal.analysis,CounterImpl.new Object() {...},5,35,0,0,0,1,0,1,0,1
    +JaCoCo/org.jacoco.core,org.jacoco.core.internal.analysis,MethodCoverageImpl,0,71,0,4,0,16,0,7,0,5
    +JaCoCo/org.jacoco.core,org.jacoco.core.internal.analysis,CounterImpl,5,218,1,23,1,42,1,28,0,15
    +JaCoCo/org.jacoco.core,org.jacoco.core.internal.analysis,ClassAnalyzer,10,151,0,2,2,36,1,15,1,14
    +JaCoCo/org.jacoco.core,org.jacoco.core.internal.analysis,InstructionsBuilder,0,140,0,14,0,35,0,15,0,8
    +JaCoCo/org.jacoco.core,org.jacoco.core.internal.analysis,PackageCoverageImpl,0,37,0,4,0,10,0,5,0,3
    +JaCoCo/org.jacoco.core,org.jacoco.core.internal.analysis,InstructionsBuilder.Jump,0,21,0,0,0,7,0,2,0,2
    +JaCoCo/org.jacoco.core,org.jacoco.core.internal.analysis,Instruction,0,153,0,16,0,41,0,17,0,9
    +JaCoCo/org.jacoco.core,org.jacoco.core.internal.analysis,BundleCoverageImpl,0,140,0,12,0,33,0,11,0,5
    +JaCoCo/org.jacoco.core,org.jacoco.core.internal.analysis,SourceNodeImpl,0,269,0,34,0,56,0,25,0,8
    +JaCoCo/org.jacoco.core,org.jacoco.core.internal.analysis,ClassCoverageImpl,0,89,0,4,0,28,0,16,0,14
    +JaCoCo/org.jacoco.core,org.jacoco.core.internal.analysis,MethodAnalyzer,17,263,0,14,6,76,3,29,3,22
    +JaCoCo/org.jacoco.core,org.jacoco.core.internal.analysis,LineImpl,0,176,0,22,0,29,0,19,0,8
    +JaCoCo/org.jacoco.core,org.jacoco.core.internal.analysis,LineImpl.Fix,0,20,0,0,0,3,0,2,0,2
    +JaCoCo/org.jacoco.core,org.jacoco.core.internal.analysis,MethodCoverageCalculator,0,300,0,30,0,63,0,24,0,9
    +JaCoCo/org.jacoco.core,org.jacoco.core.internal.analysis,LineImpl.Var,0,20,0,0,0,5,0,2,0,2
    +JaCoCo/org.jacoco.core,org.jacoco.core.internal.analysis,CounterImpl.Var,0,19,0,0,0,5,0,2,0,2
    +JaCoCo/org.jacoco.core,org.jacoco.core.internal,Pack200Streams,24,127,0,0,12,19,0,3,0,3
    +JaCoCo/org.jacoco.core,org.jacoco.core.internal,Pack200Streams.NoCloseInput,0,5,0,0,0,3,0,2,0,2
    +JaCoCo/org.jacoco.core,org.jacoco.core.internal,InputStreams,0,24,0,2,0,8,0,2,0,1
    +JaCoCo/org.jacoco.core,org.jacoco.core.internal,ContentTypeDetector,0,81,0,10,0,21,0,11,0,5
    +JaCoCo/org.jacoco.core,org.jacoco.core.internal.flow,MethodProbesAdapter,0,236,0,27,0,57,0,26,0,12
    +JaCoCo/org.jacoco.core,org.jacoco.core.internal.flow,FrameSnapshot,0,97,0,12,0,22,0,11,0,5
    +JaCoCo/org.jacoco.core,org.jacoco.core.internal.flow,LabelFlowAnalyzer,0,226,0,22,0,84,0,32,0,21
    +JaCoCo/org.jacoco.core,org.jacoco.core.internal.flow,MethodProbesVisitor,0,18,0,0,0,11,0,8,0,8
    +JaCoCo/org.jacoco.core,org.jacoco.core.internal.flow,MethodSanitizer,0,33,0,6,0,8,0,6,0,3
    +JaCoCo/org.jacoco.core,org.jacoco.core.internal.flow,ClassProbesAdapter.new MethodSanitizer() {...},0,60,0,2,0,11,0,3,0,2
    +JaCoCo/org.jacoco.core,org.jacoco.core.internal.flow,ClassProbesAdapter.new MethodProbesVisitor() {...},0,3,0,0,0,1,0,1,0,1
    +JaCoCo/org.jacoco.core,org.jacoco.core.internal.flow,LabelInfo,0,223,0,36,0,60,0,38,0,20
    +JaCoCo/org.jacoco.core,org.jacoco.core.internal.flow,ClassProbesVisitor,0,9,0,0,0,4,0,2,0,2
    +JaCoCo/org.jacoco.core,org.jacoco.core.internal.flow,ClassProbesAdapter,0,75,0,2,0,18,0,7,0,6
    +JaCoCo/org.jacoco.core,org.jacoco.core.internal.instr,CondyProbeArrayStrategy,0,74,0,0,0,17,0,3,0,3
    +JaCoCo/org.jacoco.core,org.jacoco.core.internal.instr,NoneProbeArrayStrategy,0,8,0,0,0,3,0,3,0,3
    +JaCoCo/org.jacoco.core,org.jacoco.core.internal.instr,ProbeCounter,0,32,0,4,0,11,0,7,0,5
    +JaCoCo/org.jacoco.core,org.jacoco.core.internal.instr,LocalProbeArrayStrategy,0,33,0,0,0,10,0,3,0,3
    +JaCoCo/org.jacoco.core,org.jacoco.core.internal.instr,ProbeArrayStrategyFactory,0,100,0,16,0,18,0,11,0,3
    +JaCoCo/org.jacoco.core,org.jacoco.core.internal.instr,ProbeInserter,0,306,0,30,0,58,0,25,0,10
    +JaCoCo/org.jacoco.core,org.jacoco.core.internal.instr,InterfaceFieldProbeArrayStrategy,0,201,1,3,0,48,1,8,0,7
    +JaCoCo/org.jacoco.core,org.jacoco.core.internal.instr,InstrSupport,0,127,0,20,0,24,0,17,0,7
    +JaCoCo/org.jacoco.core,org.jacoco.core.internal.instr,ClassInstrumenter,0,76,0,2,0,17,0,6,0,5
    +JaCoCo/org.jacoco.core,org.jacoco.core.internal.instr,MethodInstrumenter,0,256,0,31,0,76,0,34,0,11
    +JaCoCo/org.jacoco.core,org.jacoco.core.internal.instr,SignatureRemover,0,87,0,16,0,25,0,15,0,7
    +JaCoCo/org.jacoco.core,org.jacoco.core.internal.instr,DuplicateFrameEliminator,0,148,0,2,0,46,0,16,0,15
    +JaCoCo/org.jacoco.core,org.jacoco.core.internal.instr,ClassFieldProbeArrayStrategy,0,142,0,2,0,35,0,8,0,7
    +JaCoCo/org.jacoco.core,org.jacoco.core.internal.data,CRC64,0,109,0,14,0,19,0,11,0,4
    +JaCoCo/org.jacoco.core,org.jacoco.core.internal.data,CompactDataInput,0,61,0,8,0,14,0,7,0,3
    +JaCoCo/org.jacoco.core,org.jacoco.core.internal.data,CompactDataOutput,0,74,0,10,0,20,0,8,0,3
    +JaCoCo/org.jacoco.report,org.jacoco.report.html,HTMLFormatter,0,188,0,2,0,43,0,17,0,16
    +JaCoCo/org.jacoco.report,org.jacoco.report.html,HTMLFormatter.new IReportVisitor() {...},0,89,0,2,0,18,0,7,0,6
    +JaCoCo/org.jacoco.report,org.jacoco.report.internal.xml,ReportElement,0,152,1,1,0,38,1,13,0,13
    +JaCoCo/org.jacoco.report,org.jacoco.report.internal.xml,XMLElement,0,323,0,35,0,84,0,31,0,12
    +JaCoCo/org.jacoco.report,org.jacoco.report.internal.xml,XMLCoverageWriter,0,152,0,16,0,34,0,15,0,7
    +JaCoCo/org.jacoco.report,org.jacoco.report.internal.xml,XMLGroupVisitor,0,34,0,0,0,10,0,4,0,4
    +JaCoCo/org.jacoco.report,org.jacoco.report.csv,CSVGroupHandler,0,82,0,8,0,16,0,9,0,5
    +JaCoCo/org.jacoco.report,org.jacoco.report.csv,DelimitedWriter,0,131,0,10,0,31,0,15,0,10
    +JaCoCo/org.jacoco.report,org.jacoco.report.csv,ClassRowWriter,0,157,0,4,0,22,0,6,0,4
    +JaCoCo/org.jacoco.report,org.jacoco.report.csv,CSVFormatter,0,46,0,0,0,11,0,5,0,5
    +JaCoCo/org.jacoco.report,org.jacoco.report.csv,CSVFormatter.new IReportVisitor() {...},0,18,0,0,0,6,0,3,0,3
    +JaCoCo/org.jacoco.report,org.jacoco.report,MultiSourceFileLocator,0,43,0,4,0,13,0,6,0,4
    +JaCoCo/org.jacoco.report,org.jacoco.report,ZipMultiReportOutput,0,42,0,2,0,13,0,5,0,4
    +JaCoCo/org.jacoco.report,org.jacoco.report,FileMultiReportOutput,0,43,0,2,0,10,0,4,0,3
    +JaCoCo/org.jacoco.report,org.jacoco.report,DirectorySourceFileLocator,0,25,0,2,0,7,0,3,0,2
    +JaCoCo/org.jacoco.report,org.jacoco.report,JavaNames,0,262,0,34,0,54,0,27,0,10
    +JaCoCo/org.jacoco.report,org.jacoco.report,MultiReportVisitor,0,39,0,4,0,9,0,5,0,3
    +JaCoCo/org.jacoco.report,org.jacoco.report,InputStreamSourceFileLocator,0,52,0,6,0,13,0,6,0,3
    +JaCoCo/org.jacoco.report,org.jacoco.report,ZipMultiReportOutput.EntryOutput,0,62,0,4,0,21,0,9,0,7
    +JaCoCo/org.jacoco.report,org.jacoco.report,MultiGroupVisitor,0,50,0,4,0,10,0,5,0,3
    +JaCoCo/org.jacoco.report,org.jacoco.report.internal.html.index,ElementIndex,0,29,0,0,0,7,0,3,0,3
    +JaCoCo/org.jacoco.report,org.jacoco.report.internal.html,HTMLGroupVisitor,0,69,0,0,0,15,0,5,0,5
    +JaCoCo/org.jacoco.report,org.jacoco.report.internal.html,HTMLElement,0,254,0,2,0,74,0,30,0,29
    +JaCoCo/org.jacoco.report,org.jacoco.report.xml,XMLFormatter,0,16,0,0,0,5,0,3,0,3
    +JaCoCo/org.jacoco.report,org.jacoco.report.xml,XMLFormatter.new IReportVisitor() {...},0,74,0,4,0,17,0,8,0,6
    +JaCoCo/org.jacoco.report,org.jacoco.report.internal.html.table,PercentageColumn,0,64,0,2,0,18,0,8,0,7
    +JaCoCo/org.jacoco.report,org.jacoco.report.internal.html.table,SortIndex.Entry,0,21,0,0,0,5,0,2,0,2
    +JaCoCo/org.jacoco.report,org.jacoco.report.internal.html.table,BarColumn,0,135,0,8,0,29,0,10,0,6
    +JaCoCo/org.jacoco.report,org.jacoco.report.internal.html.table,CounterColumn,0,97,0,4,0,20,0,11,0,9
    +JaCoCo/org.jacoco.report,org.jacoco.report.internal.html.table,SortIndex,0,83,0,8,0,18,0,7,0,3
    +JaCoCo/org.jacoco.report,org.jacoco.report.internal.html.table,CounterColumn.new CounterColumn() {...},0,9,0,0,0,2,0,2,0,2
    +JaCoCo/org.jacoco.report,org.jacoco.report.internal.html.table,CounterColumn.new CounterColumn() {...},0,9,0,0,0,2,0,2,0,2
    +JaCoCo/org.jacoco.report,org.jacoco.report.internal.html.table,CounterColumn.new CounterColumn() {...},0,9,0,0,0,2,0,2,0,2
    +JaCoCo/org.jacoco.report,org.jacoco.report.internal.html.table,TableItemComparator,0,14,0,0,0,4,0,2,0,2
    +JaCoCo/org.jacoco.report,org.jacoco.report.internal.html.table,Table,0,168,0,14,0,38,0,14,0,7
    +JaCoCo/org.jacoco.report,org.jacoco.report.internal.html.table,LabelColumn.new Comparator() {...},0,9,0,0,0,2,0,2,0,2
    +JaCoCo/org.jacoco.report,org.jacoco.report.internal.html.table,LabelColumn,0,22,0,0,0,8,0,6,0,6
    +JaCoCo/org.jacoco.report,org.jacoco.report.internal.html.table,Table.Column,0,126,0,8,0,24,0,8,0,4
    +JaCoCo/org.jacoco.report,org.jacoco.report.internal,ReportOutputFolder,0,144,0,10,0,26,0,12,0,7
    +JaCoCo/org.jacoco.report,org.jacoco.report.internal,AbstractGroupVisitor,0,52,0,2,0,18,0,6,0,5
    +JaCoCo/org.jacoco.report,org.jacoco.report.internal,NormalizedFileNames,0,145,0,12,0,32,0,11,0,5
    +JaCoCo/org.jacoco.report,org.jacoco.report.internal.html.page,SourceHighlighter,0,164,0,10,0,36,0,13,0,6
    +JaCoCo/org.jacoco.report,org.jacoco.report.internal.html.page,ClassPage,0,183,0,14,0,30,0,13,0,6
    +JaCoCo/org.jacoco.report,org.jacoco.report.internal.html.page,BundlePage,2,97,1,9,0,26,1,10,0,6
    +JaCoCo/org.jacoco.report,org.jacoco.report.internal.html.page,SessionsPage,0,225,0,10,0,50,0,12,0,7
    +JaCoCo/org.jacoco.report,org.jacoco.report.internal.html.page,SourceFileItem,3,14,0,0,1,6,1,4,1,4
    +JaCoCo/org.jacoco.report,org.jacoco.report.internal.html.page,SessionsPage.new Comparator() {...},0,21,0,0,0,2,0,2,0,2
    +JaCoCo/org.jacoco.report,org.jacoco.report.internal.html.page,SourceFilePage,0,80,0,0,0,14,0,5,0,5
    +JaCoCo/org.jacoco.report,org.jacoco.report.internal.html.page,ReportPage,0,194,0,4,0,46,0,13,0,11
    +JaCoCo/org.jacoco.report,org.jacoco.report.internal.html.page,NodePage,0,26,0,2,0,8,0,5,0,4
    +JaCoCo/org.jacoco.report,org.jacoco.report.internal.html.page,TablePage,0,49,0,0,0,11,0,4,0,4
    +JaCoCo/org.jacoco.report,org.jacoco.report.internal.html.page,MethodItem,0,50,0,4,0,13,0,7,0,5
    +JaCoCo/org.jacoco.report,org.jacoco.report.internal.html.page,PackagePage,0,111,0,10,0,26,0,12,0,7
    +JaCoCo/org.jacoco.report,org.jacoco.report.internal.html.page,GroupPage,0,11,0,0,0,4,0,3,0,3
    +JaCoCo/org.jacoco.report,org.jacoco.report.internal.html.page,PackageSourcePage,0,125,0,6,0,30,0,11,0,8
    +JaCoCo/org.jacoco.report,org.jacoco.report.check,Rule,0,82,0,4,0,24,0,13,0,11
    +JaCoCo/org.jacoco.report,org.jacoco.report.check,BundleChecker,0,342,0,46,0,61,0,33,0,8
    +JaCoCo/org.jacoco.report,org.jacoco.report.check,RulesChecker.new IReportVisitor() {...},0,18,0,0,0,6,0,5,0,5
    +JaCoCo/org.jacoco.report,org.jacoco.report.check,BundleChecker.new Object() {...},5,35,0,0,0,1,0,1,0,1
    +JaCoCo/org.jacoco.report,org.jacoco.report.check,RulesChecker,0,36,0,0,0,10,0,4,0,4
    +JaCoCo/org.jacoco.report,org.jacoco.report.check,Limit,0,307,0,34,0,64,0,32,0,15
    +JaCoCo/org.jacoco.report,org.jacoco.report.internal.html.resources,Resources.new Object() {...},6,41,0,0,0,1,0,1,0,1
    +JaCoCo/org.jacoco.report,org.jacoco.report.internal.html.resources,Styles,0,41,0,8,0,7,0,5,0,1
    +JaCoCo/org.jacoco.report,org.jacoco.report.internal.html.resources,Resources,12,122,1,8,1,40,1,11,0,5
    +JaCoCo/org.jacoco.agent,org.jacoco.agent,AgentJar,11,72,2,6,3,24,2,8,0,6
    +JaCoCo/org.jacoco.agent.rt,org.jacoco.agent.rt.internal,ClassFileDumper,0,82,0,6,0,19,0,5,0,2
    +JaCoCo/org.jacoco.agent.rt,org.jacoco.agent.rt.internal,CoverageTransformer,6,162,0,26,1,38,0,19,0,6
    +JaCoCo/org.jacoco.agent.rt,org.jacoco.agent.rt.internal,Agent,43,168,5,12,14,50,5,19,2,12
    +JaCoCo/org.jacoco.agent.rt,org.jacoco.agent.rt.internal,IExceptionLogger,5,0,0,0,1,0,1,0,1,0
    +JaCoCo/org.jacoco.agent.rt,org.jacoco.agent.rt.internal,Agent.new Thread() {...},10,0,0,0,3,0,2,0,2,0
    +JaCoCo/org.jacoco.agent.rt,org.jacoco.agent.rt.internal,AgentModule.new ClassLoader() {...},6,45,0,2,2,7,0,3,0,2
    +JaCoCo/org.jacoco.agent.rt,org.jacoco.agent.rt.internal,Agent.new Object() {...},4,29,0,0,0,1,0,1,0,1
    +JaCoCo/org.jacoco.agent.rt,org.jacoco.agent.rt.internal,Offline,31,0,2,0,8,0,3,0,2,0
    +JaCoCo/org.jacoco.agent.rt,org.jacoco.agent.rt.internal,ConfigLoader,6,129,0,12,2,32,0,11,0,5
    +JaCoCo/org.jacoco.agent.rt,org.jacoco.agent.rt.internal,PreMain,67,0,2,0,12,0,3,0,2,0
    +JaCoCo/org.jacoco.agent.rt,org.jacoco.agent.rt.internal,IExceptionLogger.new IExceptionLogger() {...},6,0,0,0,3,0,2,0,2,0
    +JaCoCo/org.jacoco.agent.rt,org.jacoco.agent.rt.internal,JmxRegistration,0,30,0,0,0,7,0,2,0,2
    +JaCoCo/org.jacoco.agent.rt,org.jacoco.agent.rt.internal,AgentModule,93,53,0,2,8,12,2,5,2,4
    +JaCoCo/org.jacoco.agent.rt,org.jacoco.agent.rt,RT,2,0,0,0,1,0,1,0,1,0
    +JaCoCo/org.jacoco.agent.rt,com.vladium.emma.rt,RT,19,0,0,0,6,0,2,0,2,0
    +JaCoCo/org.jacoco.agent.rt,org.jacoco.agent.rt.internal.output,TcpServerOutput.new Runnable() {...},0,58,0,4,0,12,0,4,0,2
    +JaCoCo/org.jacoco.agent.rt,org.jacoco.agent.rt.internal.output,TcpClientOutput.new Runnable() {...},0,18,0,0,0,6,0,2,0,2
    +JaCoCo/org.jacoco.agent.rt,org.jacoco.agent.rt.internal.output,TcpClientOutput,8,55,0,0,1,16,1,4,1,4
    +JaCoCo/org.jacoco.agent.rt,org.jacoco.agent.rt.internal.output,FileOutput,15,67,3,1,7,20,2,5,0,5
    +JaCoCo/org.jacoco.agent.rt,org.jacoco.agent.rt.internal.output,TcpConnection,3,88,3,11,1,27,3,10,0,6
    +JaCoCo/org.jacoco.agent.rt,org.jacoco.agent.rt.internal.output,NoneOutput,3,3,0,0,3,1,3,1,3,1
    +JaCoCo/org.jacoco.agent.rt,org.jacoco.agent.rt.internal.output,TcpServerOutput,13,73,1,5,2,22,2,7,1,5
    +JaCoCo/org.jacoco.ant,org.jacoco.ant,ReportTask.SourceFilesElement,0,24,0,2,0,9,0,4,0,3
    +JaCoCo/org.jacoco.ant,org.jacoco.ant,InstrumentTask,0,144,0,6,0,35,0,9,0,6
    +JaCoCo/org.jacoco.ant,org.jacoco.ant,DumpTask.new ExecDumpClient() {...},6,23,0,0,2,3,1,2,1,2
    +JaCoCo/org.jacoco.ant,org.jacoco.ant,CoverageTask.JavaLikeTaskEnhancer,0,71,0,2,0,18,0,5,0,4
    +JaCoCo/org.jacoco.ant,org.jacoco.ant,ReportTask.CSVFormatterElement,0,46,0,2,0,11,0,5,0,4
    +JaCoCo/org.jacoco.ant,org.jacoco.ant,CoverageTask.TestNGTaskEnhancer,4,8,0,0,2,3,1,1,1,1
    +JaCoCo/org.jacoco.ant,org.jacoco.ant,AntResourcesLocator,0,60,0,4,0,17,0,6,0,4
    +JaCoCo/org.jacoco.ant,org.jacoco.ant,CoverageTask,0,126,0,12,0,26,0,10,0,4
    +JaCoCo/org.jacoco.ant,org.jacoco.ant,ReportTask.GroupElement,0,39,0,0,0,11,0,5,0,5
    +JaCoCo/org.jacoco.ant,org.jacoco.ant,MergeTask,0,128,0,6,0,32,0,9,0,6
    +JaCoCo/org.jacoco.ant,org.jacoco.ant,AntFilesLocator,0,34,0,2,0,9,0,4,0,3
    +JaCoCo/org.jacoco.ant,org.jacoco.ant,ReportTask.CheckFormatterElement,0,111,0,8,0,25,0,11,0,7
    +JaCoCo/org.jacoco.ant,org.jacoco.ant,ReportTask.HTMLFormatterElement,0,101,0,6,0,28,0,10,0,7
    +JaCoCo/org.jacoco.ant,org.jacoco.ant,ReportTask.FormatterElement,0,7,0,0,0,2,0,2,0,2
    +JaCoCo/org.jacoco.ant,org.jacoco.ant,ReportTask,0,443,1,33,0,90,1,31,0,15
    +JaCoCo/org.jacoco.ant,org.jacoco.ant,DumpTask,4,127,0,8,2,36,1,12,1,8
    +JaCoCo/org.jacoco.ant,org.jacoco.ant,ReportTask.XMLFormatterElement,0,46,0,2,0,11,0,5,0,4
    +JaCoCo/org.jacoco.ant,org.jacoco.ant,AgentTask,0,36,0,6,0,8,0,6,0,3
    +JaCoCo/org.jacoco.ant,org.jacoco.ant,AbstractCoverageTask,9,140,0,4,2,47,0,22,0,20
    +JaCoCo/org.jacoco.cli,org.jacoco.cli.internal,CommandHandler.new OptionDef() {...},0,10,0,0,0,1,0,1,0,1
    +JaCoCo/org.jacoco.cli,org.jacoco.cli.internal,CommandHandler.new AbstractList() {...},5,22,0,0,2,3,0,3,0,3
    +JaCoCo/org.jacoco.cli,org.jacoco.cli.internal,Main.new Writer() {...},2,4,0,0,2,2,2,2,2,2
    +JaCoCo/org.jacoco.cli,org.jacoco.cli.internal,CommandParser,0,10,0,0,0,4,0,2,0,2
    +JaCoCo/org.jacoco.cli,org.jacoco.cli.internal,Command,0,63,0,0,0,13,0,4,0,4
    +JaCoCo/org.jacoco.cli,org.jacoco.cli.internal,XmlDocumentation,0,121,0,4,0,23,0,5,0,3
    +JaCoCo/org.jacoco.cli,org.jacoco.cli.internal,CommandHandler,2,83,0,4,1,12,1,5,1,3
    +JaCoCo/org.jacoco.cli,org.jacoco.cli.internal,Main,23,73,0,6,5,23,1,8,1,5
    +JaCoCo/org.jacoco.cli,org.jacoco.cli.internal.commands,Merge,0,73,0,4,0,14,0,6,0,4
    +JaCoCo/org.jacoco.cli,org.jacoco.cli.internal.commands,ExecInfo.new IExecutionDataVisitor() {...},0,44,0,0,0,3,0,2,0,2
    +JaCoCo/org.jacoco.cli,org.jacoco.cli.internal.commands,ExecInfo.new ISessionInfoVisitor() {...},0,38,0,0,0,3,0,2,0,2
    +JaCoCo/org.jacoco.cli,org.jacoco.cli.internal.commands,Dump.new ExecDumpClient() {...},0,42,0,0,0,5,0,3,0,3
    +JaCoCo/org.jacoco.cli,org.jacoco.cli.internal.commands,ExecInfo,0,104,0,8,0,23,0,9,0,5
    +JaCoCo/org.jacoco.cli,org.jacoco.cli.internal.commands,Version,0,10,0,0,0,4,0,3,0,3
    +JaCoCo/org.jacoco.cli,org.jacoco.cli.internal.commands,Instrument,0,154,0,8,0,27,0,9,0,5
    +JaCoCo/org.jacoco.cli,org.jacoco.cli.internal.commands,ClassInfo.Printer,0,177,0,10,0,23,0,11,0,6
    +JaCoCo/org.jacoco.cli,org.jacoco.cli.internal.commands,Report,0,273,0,18,0,51,0,18,0,9
    +JaCoCo/org.jacoco.cli,org.jacoco.cli.internal.commands,Dump,0,58,0,0,0,13,0,3,0,3
    +JaCoCo/org.jacoco.cli,org.jacoco.cli.internal.commands,ClassInfo,0,51,0,4,0,11,0,5,0,3
    +JaCoCo/org.jacoco.cli,org.jacoco.cli.internal.commands,AllCommands,0,76,0,4,0,7,0,4,0,2
    +JaCoCo/org.jacoco.examples,org.jacoco.examples,CoreTutorial.MemoryClassLoader,0,36,0,2,0,8,0,4,0,3
    +JaCoCo/org.jacoco.examples,org.jacoco.examples,ExecDump,7,95,0,6,2,21,1,7,1,4
    +JaCoCo/org.jacoco.examples,org.jacoco.examples,ExecutionDataServer,29,0,0,0,5,0,1,0,1,0
    +JaCoCo/org.jacoco.examples,org.jacoco.examples,MBeanClient,61,0,0,0,12,0,1,0,1,0
    +JaCoCo/org.jacoco.examples,org.jacoco.examples,ExecutionDataServer.Handler,91,0,2,0,26,0,5,0,4,0
    +JaCoCo/org.jacoco.examples,org.jacoco.examples,ReportGenerator,133,0,2,0,28,0,7,0,6,0
    +JaCoCo/org.jacoco.examples,org.jacoco.examples,CoreTutorial,6,226,0,8,2,46,1,10,1,5
    +JaCoCo/org.jacoco.examples,org.jacoco.examples,CoreTutorial.TestTarget,25,0,4,0,7,0,5,0,3,0
    +JaCoCo/org.jacoco.examples,org.jacoco.examples,ExecutionDataClient,52,0,2,0,13,0,2,0,1,0
    +JaCoCo/org.jacoco.examples,org.jacoco.examples,ClassInfo,7,136,0,2,2,15,1,4,1,3
    +JaCoCo/org.jacoco.examples,org.jacoco.examples,ExecDump.new IExecutionDataVisitor() {...},0,42,0,0,0,3,0,2,0,2
    +JaCoCo/org.jacoco.examples,org.jacoco.examples,ExecDump.new ISessionInfoVisitor() {...},0,36,0,0,0,3,0,2,0,2
    +JaCoCo/jacoco-maven-plugin,org.jacoco.maven,ReportAggregateMojo,12,252,2,26,4,54,3,25,1,13
    +JaCoCo/jacoco-maven-plugin,org.jacoco.maven,ReportITMojo,6,58,2,2,2,15,3,9,1,9
    +JaCoCo/jacoco-maven-plugin,org.jacoco.maven,DumpMojo,7,51,1,1,2,12,1,2,0,2
    +JaCoCo/jacoco-maven-plugin,org.jacoco.maven,RestoreMojo,7,25,0,0,2,8,0,2,0,2
    +JaCoCo/jacoco-maven-plugin,org.jacoco.maven,AbstractJacocoMojo,1,19,0,2,1,8,1,4,1,3
    +JaCoCo/jacoco-maven-plugin,org.jacoco.maven,CheckMojo,43,108,3,9,8,30,3,8,0,5
    +JaCoCo/jacoco-maven-plugin,org.jacoco.maven,ReportSupport.SourceFileCollection,3,65,3,5,2,12,3,4,0,3
    +JaCoCo/jacoco-maven-plugin,org.jacoco.maven,FileFilter,0,50,1,3,0,12,1,7,0,6
    +JaCoCo/jacoco-maven-plugin,org.jacoco.maven,AgentMojo,0,6,0,0,0,2,0,2,0,2
    +JaCoCo/jacoco-maven-plugin,org.jacoco.maven,ReportFormat,0,21,0,0,0,4,0,1,0,1
    +JaCoCo/jacoco-maven-plugin,org.jacoco.maven,ReportFormat.new ReportFormat() {...},4,28,1,1,1,7,1,2,0,2
    +JaCoCo/jacoco-maven-plugin,org.jacoco.maven,AbstractAgentMojo,2,231,4,36,1,58,4,24,0,8
    +JaCoCo/jacoco-maven-plugin,org.jacoco.maven,ReportFormat.new ReportFormat() {...},0,26,0,0,0,5,0,2,0,2
    +JaCoCo/jacoco-maven-plugin,org.jacoco.maven,ReportFormat.new ReportFormat() {...},0,26,0,0,0,5,0,2,0,2
    +JaCoCo/jacoco-maven-plugin,org.jacoco.maven,AgentITMojo,0,6,0,0,0,2,0,2,0,2
    +JaCoCo/jacoco-maven-plugin,org.jacoco.maven,ReportSupport.NoSourceLocator,4,6,0,0,2,1,2,1,2,1
    +JaCoCo/jacoco-maven-plugin,org.jacoco.maven,AbstractReportMojo,7,149,1,11,3,43,2,16,1,11
    +JaCoCo/jacoco-maven-plugin,org.jacoco.maven,DumpMojo.new ExecDumpClient() {...},0,31,0,0,0,6,0,3,0,3
    +JaCoCo/jacoco-maven-plugin,org.jacoco.maven,InstrumentMojo,14,111,1,5,4,27,1,4,0,2
    +JaCoCo/jacoco-maven-plugin,org.jacoco.maven,ReportMojo,6,58,2,2,2,15,3,9,1,9
    +JaCoCo/jacoco-maven-plugin,org.jacoco.maven,ReportSupport,7,261,1,15,1,58,1,18,0,11
    +JaCoCo/jacoco-maven-plugin,org.jacoco.maven,RuleConfiguration,8,27,0,0,2,9,1,4,1,4
    +JaCoCo/jacoco-maven-plugin,org.jacoco.maven,MergeMojo,44,115,5,9,12,28,5,8,0,6
    diff --git a/jacoco/trunk/coverage/jacoco.xml b/jacoco/trunk/coverage/jacoco.xml
    new file mode 100644
    index 00000000000..9c18dcbf4b6
    --- /dev/null
    +++ b/jacoco/trunk/coverage/jacoco.xml
    @@ -0,0 +1 @@
    +<?xml version="1.0" encoding="UTF-8" standalone="yes"?><!DOCTYPE report PUBLIC "-//JACOCO//DTD Report 1.1//EN" "report.dtd"><report name="JaCoCo"><sessioninfo id="org.jacoco.core.test" start="1711557802204" dump="1711557805035"/><sessioninfo id="org.jacoco.report.test" start="1711557810525" dump="1711557813230"/><sessioninfo id="org.jacoco.agent.rt.test" start="1711557814805" dump="1711557815467"/><sessioninfo id="org.jacoco.agent.test" start="1711557816355" dump="1711557816532"/><sessioninfo id="org.jacoco.ant.test" start="1711557817517" dump="1711557828397"/><sessioninfo id="org.jacoco.cli.test" start="1711557829454" dump="1711557831612"/><sessioninfo id="org.jacoco.examples.test" start="1711557832513" dump="1711557832880"/><sessioninfo id="jacoco-maven-plugin.test" start="1711557851224" dump="1711557854093"/><sessioninfo id="jacoco-maven-plugin.test" start="1711557854194" dump="1711557859606"/><sessioninfo id="jacoco-maven-plugin.test" start="1711557859720" dump="1711557862634"/><sessioninfo id="jacoco-maven-plugin.test" start="1711557862743" dump="1711557865658"/><sessioninfo id="jacoco-maven-plugin.test" start="1711557865753" dump="1711557868246"/><sessioninfo id="jacoco-maven-plugin.test" start="1711557868370" dump="1711557870469"/><sessioninfo id="jacoco-maven-plugin.test" start="1711557870587" dump="1711557877438"/><sessioninfo id="jacoco-maven-plugin.test" start="1711557877572" dump="1711557882905"/><sessioninfo id="jacoco-maven-plugin.test" start="1711557883015" dump="1711557885975"/><sessioninfo id="jacoco-maven-plugin.test" start="1711557886099" dump="1711557889862"/><sessioninfo id="jacoco-maven-plugin.test" start="1711557889990" dump="1711557895447"/><sessioninfo id="jacoco-maven-plugin.test" start="1711557895575" dump="1711557898510"/><sessioninfo id="jacoco-maven-plugin.test" start="1711557898621" dump="1711557901761"/><sessioninfo id="jacoco-maven-plugin.test" start="1711557901883" dump="1711557904818"/><sessioninfo id="jacoco-maven-plugin.test" start="1711557904935" dump="1711557907393"/><sessioninfo id="jacoco-maven-plugin.test" start="1711557907503" dump="1711557910130"/><sessioninfo id="jacoco-maven-plugin.test" start="1711557910256" dump="1711557916097"/><sessioninfo id="jacoco-maven-plugin.test" start="1711557916227" dump="1711557918494"/><sessioninfo id="jacoco-maven-plugin.test" start="1711557918604" dump="1711557921727"/><sessioninfo id="jacoco-maven-plugin.test" start="1711557921833" dump="1711557925103"/><sessioninfo id="jacoco-maven-plugin.test" start="1711557925228" dump="1711557927923"/><sessioninfo id="jacoco-maven-plugin.test" start="1711557928034" dump="1711557931100"/><sessioninfo id="jacoco-maven-plugin.test" start="1711557931219" dump="1711557935110"/><sessioninfo id="jacoco-maven-plugin.test" start="1711557935229" dump="1711557938124"/><group name="org.jacoco.core"><package name="org/jacoco/core/tools"><class name="org/jacoco/core/tools/ExecFileLoader" sourcefilename="ExecFileLoader.java"><method name="&lt;init&gt;" desc="()V" line="42"><counter type="INSTRUCTION" missed="0" covered="13"/><counter type="LINE" missed="0" covered="4"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="load" desc="(Ljava/io/InputStream;)V" line="56"><counter type="INSTRUCTION" missed="0" covered="20"/><counter type="LINE" missed="0" covered="5"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="load" desc="(Ljava/io/File;)V" line="72"><counter type="INSTRUCTION" missed="0" covered="11"/><counter type="LINE" missed="0" covered="4"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="save" desc="(Ljava/io/OutputStream;)V" line="89"><counter type="INSTRUCTION" missed="0" covered="14"/><counter type="LINE" missed="0" covered="4"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="save" desc="(Ljava/io/File;Z)V" line="108"><counter type="INSTRUCTION" missed="0" covered="29"/><counter type="BRANCH" missed="1" covered="1"/><counter type="LINE" missed="0" covered="9"/><counter type="COMPLEXITY" missed="1" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="getSessionInfoStore" desc="()Lorg/jacoco/core/data/SessionInfoStore;" line="130"><counter type="INSTRUCTION" missed="0" covered="3"/><counter type="LINE" missed="0" covered="1"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="getExecutionDataStore" desc="()Lorg/jacoco/core/data/ExecutionDataStore;" line="139"><counter type="INSTRUCTION" missed="0" covered="3"/><counter type="LINE" missed="0" covered="1"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><counter type="INSTRUCTION" missed="0" covered="93"/><counter type="BRANCH" missed="1" covered="1"/><counter type="LINE" missed="0" covered="28"/><counter type="COMPLEXITY" missed="1" covered="7"/><counter type="METHOD" missed="0" covered="7"/><counter type="CLASS" missed="0" covered="1"/></class><class name="org/jacoco/core/tools/ExecDumpClient" sourcefilename="ExecDumpClient.java"><method name="&lt;init&gt;" desc="()V" line="38"><counter type="INSTRUCTION" missed="0" covered="15"/><counter type="LINE" missed="0" covered="6"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="setDump" desc="(Z)V" line="52"><counter type="INSTRUCTION" missed="0" covered="4"/><counter type="LINE" missed="0" covered="2"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="setReset" desc="(Z)V" line="62"><counter type="INSTRUCTION" missed="0" covered="4"/><counter type="LINE" missed="0" covered="2"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="setRetryCount" desc="(I)V" line="73"><counter type="INSTRUCTION" missed="0" covered="4"/><counter type="LINE" missed="0" covered="2"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="setRetryDelay" desc="(J)V" line="83"><counter type="INSTRUCTION" missed="0" covered="4"/><counter type="LINE" missed="0" covered="2"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="dump" desc="(Ljava/lang/String;I)Lorg/jacoco/core/tools/ExecFileLoader;" line="99"><counter type="INSTRUCTION" missed="0" covered="6"/><counter type="LINE" missed="0" covered="1"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="dump" desc="(Ljava/net/InetAddress;I)Lorg/jacoco/core/tools/ExecFileLoader;" line="115"><counter type="INSTRUCTION" missed="0" covered="47"/><counter type="BRANCH" missed="0" covered="2"/><counter type="LINE" missed="0" covered="11"/><counter type="COMPLEXITY" missed="0" covered="2"/><counter type="METHOD" missed="0" covered="1"/></method><method name="tryConnect" desc="(Ljava/net/InetAddress;I)Ljava/net/Socket;" line="140"><counter type="INSTRUCTION" missed="0" covered="26"/><counter type="BRANCH" missed="0" covered="2"/><counter type="LINE" missed="0" covered="9"/><counter type="COMPLEXITY" missed="0" covered="2"/><counter type="METHOD" missed="0" covered="1"/></method><method name="sleep" desc="()V" line="157"><counter type="INSTRUCTION" missed="5" covered="5"/><counter type="LINE" missed="2" covered="3"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="onConnecting" desc="(Ljava/net/InetAddress;I)V" line="175"><counter type="INSTRUCTION" missed="1" covered="0"/><counter type="LINE" missed="1" covered="0"/><counter type="COMPLEXITY" missed="1" covered="0"/><counter type="METHOD" missed="1" covered="0"/></method><method name="onConnectionFailure" desc="(Ljava/io/IOException;)V" line="186"><counter type="INSTRUCTION" missed="1" covered="0"/><counter type="LINE" missed="1" covered="0"/><counter type="COMPLEXITY" missed="1" covered="0"/><counter type="METHOD" missed="1" covered="0"/></method><counter type="INSTRUCTION" missed="7" covered="115"/><counter type="BRANCH" missed="0" covered="4"/><counter type="LINE" missed="4" covered="38"/><counter type="COMPLEXITY" missed="2" covered="11"/><counter type="METHOD" missed="2" covered="9"/><counter type="CLASS" missed="0" covered="1"/></class><sourcefile name="ExecDumpClient.java"><line nr="38" mi="0" ci="2" mb="0" cb="0"/><line nr="39" mi="0" ci="3" mb="0" cb="0"/><line nr="40" mi="0" ci="3" mb="0" cb="0"/><line nr="41" mi="0" ci="3" mb="0" cb="0"/><line nr="42" mi="0" ci="3" mb="0" cb="0"/><line nr="43" mi="0" ci="1" mb="0" cb="0"/><line nr="52" mi="0" ci="3" mb="0" cb="0"/><line nr="53" mi="0" ci="1" mb="0" cb="0"/><line nr="62" mi="0" ci="3" mb="0" cb="0"/><line nr="63" mi="0" ci="1" mb="0" cb="0"/><line nr="73" mi="0" ci="3" mb="0" cb="0"/><line nr="74" mi="0" ci="1" mb="0" cb="0"/><line nr="83" mi="0" ci="3" mb="0" cb="0"/><line nr="84" mi="0" ci="1" mb="0" cb="0"/><line nr="99" mi="0" ci="6" mb="0" cb="0"/><line nr="115" mi="0" ci="4" mb="0" cb="0"/><line nr="116" mi="0" ci="5" mb="0" cb="0"/><line nr="118" mi="0" ci="6" mb="0" cb="0"/><line nr="120" mi="0" ci="6" mb="0" cb="0"/><line nr="122" mi="0" ci="4" mb="0" cb="0"/><line nr="123" mi="0" ci="4" mb="0" cb="0"/><line nr="126" mi="0" ci="6" mb="0" cb="0"/><line nr="128" mi="0" ci="3" mb="0" cb="2"/><line nr="129" mi="0" ci="5" mb="0" cb="0"/><line nr="133" mi="0" ci="2" mb="0" cb="0"/><line nr="135" mi="0" ci="2" mb="0" cb="0"/><line nr="140" mi="0" ci="2" mb="0" cb="0"/><line nr="143" mi="0" ci="4" mb="0" cb="0"/><line nr="144" mi="0" ci="6" mb="0" cb="0"/><line nr="145" mi="0" ci="1" mb="0" cb="0"/><line nr="146" mi="0" ci="5" mb="0" cb="2"/><line nr="147" mi="0" ci="2" mb="0" cb="0"/><line nr="149" mi="0" ci="3" mb="0" cb="0"/><line nr="150" mi="0" ci="2" mb="0" cb="0"/><line nr="151" mi="0" ci="1" mb="0" cb="0"/><line nr="157" mi="0" ci="3" mb="0" cb="0"/><line nr="158" mi="1" ci="0" mb="0" cb="0"/><line nr="159" mi="4" ci="0" mb="0" cb="0"/><line nr="160" mi="0" ci="1" mb="0" cb="0"/><line nr="161" mi="0" ci="1" mb="0" cb="0"/><line nr="175" mi="1" ci="0" mb="0" cb="0"/><line nr="186" mi="1" ci="0" mb="0" cb="0"/><counter type="INSTRUCTION" missed="7" covered="115"/><counter type="BRANCH" missed="0" covered="4"/><counter type="LINE" missed="4" covered="38"/><counter type="COMPLEXITY" missed="2" covered="11"/><counter type="METHOD" missed="2" covered="9"/><counter type="CLASS" missed="0" covered="1"/></sourcefile><sourcefile name="ExecFileLoader.java"><line nr="42" mi="0" ci="2" mb="0" cb="0"/><line nr="43" mi="0" ci="5" mb="0" cb="0"/><line nr="44" mi="0" ci="5" mb="0" cb="0"/><line nr="45" mi="0" ci="1" mb="0" cb="0"/><line nr="56" mi="0" ci="8" mb="0" cb="0"/><line nr="58" mi="0" ci="4" mb="0" cb="0"/><line nr="59" mi="0" ci="4" mb="0" cb="0"/><line nr="60" mi="0" ci="3" mb="0" cb="0"/><line nr="61" mi="0" ci="1" mb="0" cb="0"/><line nr="72" mi="0" ci="5" mb="0" cb="0"/><line nr="74" mi="0" ci="3" mb="0" cb="0"/><line nr="76" mi="0" ci="2" mb="0" cb="0"/><line nr="78" mi="0" ci="1" mb="0" cb="0"/><line nr="89" mi="0" ci="5" mb="0" cb="0"/><line nr="90" mi="0" ci="4" mb="0" cb="0"/><line nr="91" mi="0" ci="4" mb="0" cb="0"/><line nr="92" mi="0" ci="1" mb="0" cb="0"/><line nr="108" mi="0" ci="3" mb="0" cb="0"/><line nr="109" mi="0" ci="2" mb="1" cb="1"/><line nr="110" mi="0" ci="3" mb="0" cb="0"/><line nr="112" mi="0" ci="6" mb="0" cb="0"/><line nr="114" mi="0" ci="4" mb="0" cb="0"/><line nr="115" mi="0" ci="5" mb="0" cb="0"/><line nr="118" mi="0" ci="3" mb="0" cb="0"/><line nr="120" mi="0" ci="2" mb="0" cb="0"/><line nr="122" mi="0" ci="1" mb="0" cb="0"/><line nr="130" mi="0" ci="3" mb="0" cb="0"/><line nr="139" mi="0" ci="3" mb="0" cb="0"/><counter type="INSTRUCTION" missed="0" covered="93"/><counter type="BRANCH" missed="1" covered="1"/><counter type="LINE" missed="0" covered="28"/><counter type="COMPLEXITY" missed="1" covered="7"/><counter type="METHOD" missed="0" covered="7"/><counter type="CLASS" missed="0" covered="1"/></sourcefile><counter type="INSTRUCTION" missed="7" covered="208"/><counter type="BRANCH" missed="1" covered="5"/><counter type="LINE" missed="4" covered="66"/><counter type="COMPLEXITY" missed="3" covered="18"/><counter type="METHOD" missed="2" covered="16"/><counter type="CLASS" missed="0" covered="2"/></package><package name="org/jacoco/core/runtime"><class name="org/jacoco/core/runtime/ModifiedSystemClassRuntime" sourcefilename="ModifiedSystemClassRuntime.java"><method name="&lt;init&gt;" desc="(Ljava/lang/Class;Ljava/lang/String;)V" line="57"><counter type="INSTRUCTION" missed="0" covered="16"/><counter type="LINE" missed="0" covered="5"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="startup" desc="(Lorg/jacoco/core/runtime/RuntimeData;)V" line="65"><counter type="INSTRUCTION" missed="0" covered="14"/><counter type="LINE" missed="0" covered="4"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="shutdown" desc="()V" line="72"><counter type="INSTRUCTION" missed="0" covered="1"/><counter type="LINE" missed="0" covered="1"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="generateDataAccessor" desc="(JLjava/lang/String;ILorg/objectweb/asm/MethodVisitor;)I" line="77"><counter type="INSTRUCTION" missed="0" covered="15"/><counter type="LINE" missed="0" covered="3"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="createFor" desc="(Ljava/lang/instrument/Instrumentation;Ljava/lang/String;)Lorg/jacoco/core/runtime/IRuntime;" line="101"><counter type="INSTRUCTION" missed="5" covered="0"/><counter type="LINE" missed="1" covered="0"/><counter type="COMPLEXITY" missed="1" covered="0"/><counter type="METHOD" missed="1" covered="0"/></method><method name="createFor" desc="(Ljava/lang/instrument/Instrumentation;Ljava/lang/String;Ljava/lang/String;)Lorg/jacoco/core/runtime/IRuntime;" line="123"><counter type="INSTRUCTION" missed="11" covered="33"/><counter type="LINE" missed="3" covered="6"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="instrument" desc="([BLjava/lang/String;)[B" line="158"><counter type="INSTRUCTION" missed="0" covered="21"/><counter type="LINE" missed="0" covered="4"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="createDataField" desc="(Lorg/objectweb/asm/ClassVisitor;Ljava/lang/String;)V" line="174"><counter type="INSTRUCTION" missed="0" covered="9"/><counter type="LINE" missed="0" covered="2"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><counter type="INSTRUCTION" missed="16" covered="109"/><counter type="LINE" missed="4" covered="25"/><counter type="COMPLEXITY" missed="1" covered="7"/><counter type="METHOD" missed="1" covered="7"/><counter type="CLASS" missed="0" covered="1"/></class><class name="org/jacoco/core/runtime/AgentOptions$OutputMode" sourcefilename="AgentOptions.java"><method name="&lt;clinit&gt;" desc="()V" line="124"><counter type="INSTRUCTION" missed="0" covered="44"/><counter type="LINE" missed="0" covered="5"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><counter type="INSTRUCTION" missed="0" covered="44"/><counter type="LINE" missed="0" covered="5"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/><counter type="CLASS" missed="0" covered="1"/></class><class name="org/jacoco/core/runtime/LoggerRuntime" sourcefilename="LoggerRuntime.java"><method name="&lt;init&gt;" desc="()V" line="49"><counter type="INSTRUCTION" missed="0" covered="19"/><counter type="LINE" missed="0" covered="5"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="configureLogger" desc="()Ljava/util/logging/Logger;" line="56"><counter type="INSTRUCTION" missed="0" covered="11"/><counter type="LINE" missed="0" covered="4"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="generateDataAccessor" desc="(JLjava/lang/String;ILorg/objectweb/asm/MethodVisitor;)I" line="80"><counter type="INSTRUCTION" missed="0" covered="56"/><counter type="LINE" missed="0" covered="14"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="startup" desc="(Lorg/jacoco/core/runtime/RuntimeData;)V" line="157"><counter type="INSTRUCTION" missed="0" covered="9"/><counter type="LINE" missed="0" covered="3"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="shutdown" desc="()V" line="162"><counter type="INSTRUCTION" missed="0" covered="6"/><counter type="LINE" missed="0" covered="2"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><counter type="INSTRUCTION" missed="0" covered="101"/><counter type="LINE" missed="0" covered="28"/><counter type="COMPLEXITY" missed="0" covered="5"/><counter type="METHOD" missed="0" covered="5"/><counter type="CLASS" missed="0" covered="1"/></class><class name="org/jacoco/core/runtime/RemoteControlWriter" sourcefilename="RemoteControlWriter.java"><method name="&lt;init&gt;" desc="(Ljava/io/OutputStream;)V" line="41"><counter type="INSTRUCTION" missed="0" covered="4"/><counter type="LINE" missed="0" covered="2"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="sendCmdOk" desc="()V" line="52"><counter type="INSTRUCTION" missed="0" covered="5"/><counter type="LINE" missed="0" covered="2"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="visitDumpCommand" desc="(ZZ)V" line="57"><counter type="INSTRUCTION" missed="0" covered="13"/><counter type="LINE" missed="0" covered="4"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><counter type="INSTRUCTION" missed="0" covered="22"/><counter type="LINE" missed="0" covered="8"/><counter type="COMPLEXITY" missed="0" covered="3"/><counter type="METHOD" missed="0" covered="3"/><counter type="CLASS" missed="0" covered="1"/></class><class name="org/jacoco/core/runtime/AgentOptions" sourcefilename="AgentOptions.java"><method name="&lt;init&gt;" desc="()V" line="202"><counter type="INSTRUCTION" missed="0" covered="8"/><counter type="LINE" missed="0" covered="3"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="&lt;init&gt;" desc="(Ljava/lang/String;)V" line="213"><counter type="INSTRUCTION" missed="0" covered="78"/><counter type="BRANCH" missed="0" covered="10"/><counter type="LINE" missed="0" covered="13"/><counter type="COMPLEXITY" missed="0" covered="6"/><counter type="METHOD" missed="0" covered="1"/></method><method name="&lt;init&gt;" desc="(Ljava/util/Properties;)V" line="242"><counter type="INSTRUCTION" missed="0" covered="24"/><counter type="BRANCH" missed="0" covered="4"/><counter type="LINE" missed="0" covered="7"/><counter type="COMPLEXITY" missed="0" covered="3"/><counter type="METHOD" missed="0" covered="1"/></method><method name="validateAll" desc="()V" line="252"><counter type="INSTRUCTION" missed="0" covered="8"/><counter type="LINE" missed="0" covered="3"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="validatePort" desc="(I)V" line="257"><counter type="INSTRUCTION" missed="0" covered="8"/><counter type="BRANCH" missed="0" covered="2"/><counter type="LINE" missed="0" covered="3"/><counter type="COMPLEXITY" missed="0" covered="2"/><counter type="METHOD" missed="0" covered="1"/></method><method name="getDestfile" desc="()Ljava/lang/String;" line="268"><counter type="INSTRUCTION" missed="0" covered="5"/><counter type="LINE" missed="0" covered="1"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="setDestfile" desc="(Ljava/lang/String;)V" line="278"><counter type="INSTRUCTION" missed="0" covered="5"/><counter type="LINE" missed="0" covered="2"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="getAppend" desc="()Z" line="287"><counter type="INSTRUCTION" missed="0" covered="5"/><counter type="LINE" missed="0" covered="1"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="setAppend" desc="(Z)V" line="297"><counter type="INSTRUCTION" missed="0" covered="5"/><counter type="LINE" missed="0" covered="2"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="getIncludes" desc="()Ljava/lang/String;" line="307"><counter type="INSTRUCTION" missed="0" covered="5"/><counter type="LINE" missed="0" covered="1"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="setIncludes" desc="(Ljava/lang/String;)V" line="318"><counter type="INSTRUCTION" missed="0" covered="5"/><counter type="LINE" missed="0" covered="2"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="getExcludes" desc="()Ljava/lang/String;" line="328"><counter type="INSTRUCTION" missed="0" covered="5"/><counter type="LINE" missed="0" covered="1"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="setExcludes" desc="(Ljava/lang/String;)V" line="339"><counter type="INSTRUCTION" missed="0" covered="5"/><counter type="LINE" missed="0" covered="2"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="getExclClassloader" desc="()Ljava/lang/String;" line="349"><counter type="INSTRUCTION" missed="0" covered="5"/><counter type="LINE" missed="0" covered="1"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="setExclClassloader" desc="(Ljava/lang/String;)V" line="360"><counter type="INSTRUCTION" missed="0" covered="5"/><counter type="LINE" missed="0" covered="2"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="getInclBootstrapClasses" desc="()Z" line="371"><counter type="INSTRUCTION" missed="0" covered="5"/><counter type="LINE" missed="0" covered="1"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="setInclBootstrapClasses" desc="(Z)V" line="382"><counter type="INSTRUCTION" missed="0" covered="5"/><counter type="LINE" missed="0" covered="2"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="getInclNoLocationClasses" desc="()Z" line="392"><counter type="INSTRUCTION" missed="0" covered="5"/><counter type="LINE" missed="0" covered="1"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="setInclNoLocationClasses" desc="(Z)V" line="403"><counter type="INSTRUCTION" missed="0" covered="5"/><counter type="LINE" missed="0" covered="2"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="getSessionId" desc="()Ljava/lang/String;" line="412"><counter type="INSTRUCTION" missed="0" covered="5"/><counter type="LINE" missed="0" covered="1"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="setSessionId" desc="(Ljava/lang/String;)V" line="422"><counter type="INSTRUCTION" missed="0" covered="5"/><counter type="LINE" missed="0" covered="2"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="getDumpOnExit" desc="()Z" line="431"><counter type="INSTRUCTION" missed="0" covered="5"/><counter type="LINE" missed="0" covered="1"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="setDumpOnExit" desc="(Z)V" line="442"><counter type="INSTRUCTION" missed="0" covered="5"/><counter type="LINE" missed="0" covered="2"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="getPort" desc="()I" line="453"><counter type="INSTRUCTION" missed="0" covered="5"/><counter type="LINE" missed="0" covered="1"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="setPort" desc="(I)V" line="464"><counter type="INSTRUCTION" missed="0" covered="8"/><counter type="LINE" missed="0" covered="3"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="getAddress" desc="()Ljava/lang/String;" line="476"><counter type="INSTRUCTION" missed="0" covered="5"/><counter type="LINE" missed="0" covered="1"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="setAddress" desc="(Ljava/lang/String;)V" line="488"><counter type="INSTRUCTION" missed="0" covered="5"/><counter type="LINE" missed="0" covered="2"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="getOutput" desc="()Lorg/jacoco/core/runtime/AgentOptions$OutputMode;" line="497"><counter type="INSTRUCTION" missed="0" covered="13"/><counter type="BRANCH" missed="0" covered="2"/><counter type="LINE" missed="0" covered="2"/><counter type="COMPLEXITY" missed="0" covered="2"/><counter type="METHOD" missed="0" covered="1"/></method><method name="setOutput" desc="(Ljava/lang/String;)V" line="508"><counter type="INSTRUCTION" missed="0" covered="5"/><counter type="LINE" missed="0" covered="2"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="setOutput" desc="(Lorg/jacoco/core/runtime/AgentOptions$OutputMode;)V" line="518"><counter type="INSTRUCTION" missed="0" covered="6"/><counter type="LINE" missed="0" covered="2"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="getClassDumpDir" desc="()Ljava/lang/String;" line="528"><counter type="INSTRUCTION" missed="0" covered="5"/><counter type="LINE" missed="0" covered="1"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="setClassDumpDir" desc="(Ljava/lang/String;)V" line="538"><counter type="INSTRUCTION" missed="0" covered="5"/><counter type="LINE" missed="0" covered="2"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="getJmx" desc="()Z" line="547"><counter type="INSTRUCTION" missed="0" covered="5"/><counter type="LINE" missed="0" covered="1"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="setJmx" desc="(Z)V" line="557"><counter type="INSTRUCTION" missed="0" covered="5"/><counter type="LINE" missed="0" covered="2"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="setOption" desc="(Ljava/lang/String;I)V" line="561"><counter type="INSTRUCTION" missed="0" covered="6"/><counter type="LINE" missed="0" covered="2"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="setOption" desc="(Ljava/lang/String;Z)V" line="565"><counter type="INSTRUCTION" missed="0" covered="6"/><counter type="LINE" missed="0" covered="2"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="setOption" desc="(Ljava/lang/String;Ljava/lang/String;)V" line="569"><counter type="INSTRUCTION" missed="0" covered="7"/><counter type="LINE" missed="0" covered="2"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="getOption" desc="(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;" line="573"><counter type="INSTRUCTION" missed="0" covered="12"/><counter type="BRANCH" missed="0" covered="2"/><counter type="LINE" missed="0" covered="2"/><counter type="COMPLEXITY" missed="0" covered="2"/><counter type="METHOD" missed="0" covered="1"/></method><method name="getOption" desc="(Ljava/lang/String;Z)Z" line="578"><counter type="INSTRUCTION" missed="0" covered="13"/><counter type="BRANCH" missed="0" covered="2"/><counter type="LINE" missed="0" covered="2"/><counter type="COMPLEXITY" missed="0" covered="2"/><counter type="METHOD" missed="0" covered="1"/></method><method name="getOption" desc="(Ljava/lang/String;I)I" line="583"><counter type="INSTRUCTION" missed="0" covered="13"/><counter type="BRANCH" missed="0" covered="2"/><counter type="LINE" missed="0" covered="2"/><counter type="COMPLEXITY" missed="0" covered="2"/><counter type="METHOD" missed="0" covered="1"/></method><method name="getVMArgument" desc="(Ljava/io/File;)Ljava/lang/String;" line="596"><counter type="INSTRUCTION" missed="0" covered="13"/><counter type="LINE" missed="0" covered="1"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="getQuotedVMArgument" desc="(Ljava/io/File;)Ljava/lang/String;" line="608"><counter type="INSTRUCTION" missed="0" covered="5"/><counter type="LINE" missed="0" covered="1"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="prependVMArguments" desc="(Ljava/lang/String;Ljava/io/File;)Ljava/lang/String;" line="625"><counter type="INSTRUCTION" missed="0" covered="36"/><counter type="BRANCH" missed="0" covered="4"/><counter type="LINE" missed="0" covered="7"/><counter type="COMPLEXITY" missed="0" covered="3"/><counter type="METHOD" missed="0" covered="1"/></method><method name="toString" desc="()Ljava/lang/String;" line="642"><counter type="INSTRUCTION" missed="0" covered="41"/><counter type="BRANCH" missed="0" covered="6"/><counter type="LINE" missed="0" covered="9"/><counter type="COMPLEXITY" missed="0" covered="4"/><counter type="METHOD" missed="0" covered="1"/></method><method name="&lt;clinit&gt;" desc="()V" line="118"><counter type="INSTRUCTION" missed="0" covered="66"/><counter type="LINE" missed="0" covered="3"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><counter type="INSTRUCTION" missed="0" covered="501"/><counter type="BRANCH" missed="0" covered="34"/><counter type="LINE" missed="0" covered="108"/><counter type="COMPLEXITY" missed="0" covered="62"/><counter type="METHOD" missed="0" covered="45"/><counter type="CLASS" missed="0" covered="1"/></class><class name="org/jacoco/core/runtime/ModifiedSystemClassRuntime$2" sourcefilename="ModifiedSystemClassRuntime.java"><method name="&lt;init&gt;" desc="(ILorg/objectweb/asm/ClassVisitor;Ljava/lang/String;)V" line="163"><counter type="INSTRUCTION" missed="0" covered="8"/><counter type="LINE" missed="0" covered="1"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="visitEnd" desc="()V" line="164"><counter type="INSTRUCTION" missed="0" covered="8"/><counter type="LINE" missed="0" covered="3"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><counter type="INSTRUCTION" missed="0" covered="16"/><counter type="LINE" missed="0" covered="4"/><counter type="COMPLEXITY" missed="0" covered="2"/><counter type="METHOD" missed="0" covered="2"/><counter type="CLASS" missed="0" covered="1"/></class><class name="org/jacoco/core/runtime/ModifiedSystemClassRuntime$1" sourcefilename="ModifiedSystemClassRuntime.java"><method name="&lt;init&gt;" desc="(Ljava/lang/String;Ljava/lang/String;)V" line="124"><counter type="INSTRUCTION" missed="0" covered="9"/><counter type="LINE" missed="0" covered="1"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="transform" desc="(Ljava/lang/ClassLoader;Ljava/lang/String;Ljava/lang/Class;Ljava/security/ProtectionDomain;[B)[B" line="128"><counter type="INSTRUCTION" missed="0" covered="12"/><counter type="BRANCH" missed="0" covered="2"/><counter type="LINE" missed="0" covered="3"/><counter type="COMPLEXITY" missed="0" covered="2"/><counter type="METHOD" missed="0" covered="1"/></method><counter type="INSTRUCTION" missed="0" covered="21"/><counter type="BRANCH" missed="0" covered="2"/><counter type="LINE" missed="0" covered="4"/><counter type="COMPLEXITY" missed="0" covered="3"/><counter type="METHOD" missed="0" covered="2"/><counter type="CLASS" missed="0" covered="1"/></class><class name="org/jacoco/core/runtime/InjectedClassRuntime$Lookup" sourcefilename="InjectedClassRuntime.java"><method name="&lt;init&gt;" desc="(Ljava/lang/Object;)V" line="93"><counter type="INSTRUCTION" missed="6" covered="0"/><counter type="LINE" missed="3" covered="0"/><counter type="COMPLEXITY" missed="1" covered="0"/><counter type="METHOD" missed="1" covered="0"/></method><method name="lookup" desc="()Lorg/jacoco/core/runtime/InjectedClassRuntime$Lookup;" line="101"><counter type="INSTRUCTION" missed="14" covered="0"/><counter type="LINE" missed="1" covered="0"/><counter type="COMPLEXITY" missed="1" covered="0"/><counter type="METHOD" missed="1" covered="0"/></method><method name="privateLookupIn" desc="(Ljava/lang/Class;Lorg/jacoco/core/runtime/InjectedClassRuntime$Lookup;)Lorg/jacoco/core/runtime/InjectedClassRuntime$Lookup;" line="118"><counter type="INSTRUCTION" missed="32" covered="0"/><counter type="LINE" missed="1" covered="0"/><counter type="COMPLEXITY" missed="1" covered="0"/><counter type="METHOD" missed="1" covered="0"/></method><method name="defineClass" desc="([B)Ljava/lang/Class;" line="134"><counter type="INSTRUCTION" missed="21" covered="0"/><counter type="LINE" missed="1" covered="0"/><counter type="COMPLEXITY" missed="1" covered="0"/><counter type="METHOD" missed="1" covered="0"/></method><counter type="INSTRUCTION" missed="73" covered="0"/><counter type="LINE" missed="6" covered="0"/><counter type="COMPLEXITY" missed="4" covered="0"/><counter type="METHOD" missed="4" covered="0"/><counter type="CLASS" missed="1" covered="0"/></class><class name="org/jacoco/core/runtime/LoggerRuntime$RuntimeHandler" sourcefilename="LoggerRuntime.java"><method name="&lt;init&gt;" desc="(Lorg/jacoco/core/runtime/LoggerRuntime;)V" line="165"><counter type="INSTRUCTION" missed="0" covered="6"/><counter type="LINE" missed="0" covered="1"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="publish" desc="(Ljava/util/logging/LogRecord;)V" line="169"><counter type="INSTRUCTION" missed="0" covered="14"/><counter type="BRANCH" missed="1" covered="1"/><counter type="LINE" missed="0" covered="3"/><counter type="COMPLEXITY" missed="1" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="flush" desc="()V" line="177"><counter type="INSTRUCTION" missed="1" covered="0"/><counter type="LINE" missed="1" covered="0"/><counter type="COMPLEXITY" missed="1" covered="0"/><counter type="METHOD" missed="1" covered="0"/></method><method name="close" desc="()V" line="187"><counter type="INSTRUCTION" missed="8" covered="0"/><counter type="LINE" missed="2" covered="0"/><counter type="COMPLEXITY" missed="1" covered="0"/><counter type="METHOD" missed="1" covered="0"/></method><counter type="INSTRUCTION" missed="9" covered="20"/><counter type="BRANCH" missed="1" covered="1"/><counter type="LINE" missed="3" covered="4"/><counter type="COMPLEXITY" missed="3" covered="2"/><counter type="METHOD" missed="2" covered="2"/><counter type="CLASS" missed="0" covered="1"/></class><class name="org/jacoco/core/runtime/CommandLineSupport" sourcefilename="CommandLineSupport.java"><method name="quote" desc="(Ljava/lang/String;)Ljava/lang/String;" line="35"><counter type="INSTRUCTION" missed="0" covered="55"/><counter type="BRANCH" missed="0" covered="10"/><counter type="LINE" missed="0" covered="8"/><counter type="COMPLEXITY" missed="0" covered="6"/><counter type="METHOD" missed="0" covered="1"/></method><method name="quote" desc="(Ljava/util/List;)Ljava/lang/String;" line="57"><counter type="INSTRUCTION" missed="0" covered="33"/><counter type="BRANCH" missed="0" covered="4"/><counter type="LINE" missed="0" covered="8"/><counter type="COMPLEXITY" missed="0" covered="3"/><counter type="METHOD" missed="0" covered="1"/></method><method name="split" desc="(Ljava/lang/String;)Ljava/util/List;" line="78"><counter type="INSTRUCTION" missed="0" covered="116"/><counter type="BRANCH" missed="1" covered="23"/><counter type="LINE" missed="0" covered="31"/><counter type="COMPLEXITY" missed="1" covered="13"/><counter type="METHOD" missed="0" covered="1"/></method><method name="addArgument" desc="(Ljava/util/List;Ljava/lang/StringBuilder;)V" line="128"><counter type="INSTRUCTION" missed="0" covered="12"/><counter type="BRANCH" missed="0" covered="2"/><counter type="LINE" missed="0" covered="4"/><counter type="COMPLEXITY" missed="0" covered="2"/><counter type="METHOD" missed="0" covered="1"/></method><counter type="INSTRUCTION" missed="0" covered="216"/><counter type="BRANCH" missed="1" covered="39"/><counter type="LINE" missed="0" covered="51"/><counter type="COMPLEXITY" missed="1" covered="24"/><counter type="METHOD" missed="0" covered="4"/><counter type="CLASS" missed="0" covered="1"/></class><class name="org/jacoco/core/runtime/IExecutionDataAccessorGenerator" sourcefilename="IExecutionDataAccessorGenerator.java"/><class name="org/jacoco/core/runtime/RemoteControlReader" sourcefilename="RemoteControlReader.java"><method name="&lt;init&gt;" desc="(Ljava/io/InputStream;)V" line="36"><counter type="INSTRUCTION" missed="0" covered="4"/><counter type="LINE" missed="0" covered="2"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="readBlock" desc="(B)Z" line="41"><counter type="INSTRUCTION" missed="0" covered="12"/><counter type="BRANCH" missed="0" covered="3"/><counter type="LINE" missed="0" covered="5"/><counter type="COMPLEXITY" missed="0" covered="3"/><counter type="METHOD" missed="0" covered="1"/></method><method name="setRemoteCommandVisitor" desc="(Lorg/jacoco/core/runtime/IRemoteCommandVisitor;)V" line="59"><counter type="INSTRUCTION" missed="0" covered="4"/><counter type="LINE" missed="0" covered="2"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="readDumpCommand" desc="()V" line="63"><counter type="INSTRUCTION" missed="0" covered="22"/><counter type="BRANCH" missed="0" covered="2"/><counter type="LINE" missed="0" covered="6"/><counter type="COMPLEXITY" missed="0" covered="2"/><counter type="METHOD" missed="0" covered="1"/></method><counter type="INSTRUCTION" missed="0" covered="42"/><counter type="BRANCH" missed="0" covered="5"/><counter type="LINE" missed="0" covered="15"/><counter type="COMPLEXITY" missed="0" covered="7"/><counter type="METHOD" missed="0" covered="4"/><counter type="CLASS" missed="0" covered="1"/></class><class name="org/jacoco/core/runtime/WildcardMatcher" sourcefilename="WildcardMatcher.java"><method name="&lt;init&gt;" desc="(Ljava/lang/String;)V" line="33"><counter type="INSTRUCTION" missed="0" covered="55"/><counter type="BRANCH" missed="0" covered="4"/><counter type="LINE" missed="0" covered="11"/><counter type="COMPLEXITY" missed="0" covered="3"/><counter type="METHOD" missed="0" covered="1"/></method><method name="toRegex" desc="(Ljava/lang/String;)Ljava/lang/CharSequence;" line="48"><counter type="INSTRUCTION" missed="0" covered="45"/><counter type="BRANCH" missed="0" covered="5"/><counter type="LINE" missed="0" covered="9"/><counter type="COMPLEXITY" missed="0" covered="4"/><counter type="METHOD" missed="0" covered="1"/></method><method name="matches" desc="(Ljava/lang/String;)Z" line="73"><counter type="INSTRUCTION" missed="0" covered="6"/><counter type="LINE" missed="0" covered="1"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><counter type="INSTRUCTION" missed="0" covered="106"/><counter type="BRANCH" missed="0" covered="9"/><counter type="LINE" missed="0" covered="21"/><counter type="COMPLEXITY" missed="0" covered="8"/><counter type="METHOD" missed="0" covered="3"/><counter type="CLASS" missed="0" covered="1"/></class><class name="org/jacoco/core/runtime/LoggerRuntime$1" sourcefilename="LoggerRuntime.java"/><class name="org/jacoco/core/runtime/AbstractRuntime" sourcefilename="AbstractRuntime.java"><method name="&lt;init&gt;" desc="()V" line="20"><counter type="INSTRUCTION" missed="0" covered="3"/><counter type="LINE" missed="0" covered="1"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="startup" desc="(Lorg/jacoco/core/runtime/RuntimeData;)V" line="29"><counter type="INSTRUCTION" missed="0" covered="4"/><counter type="LINE" missed="0" covered="2"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="createRandomId" desc="()Ljava/lang/String;" line="40"><counter type="INSTRUCTION" missed="4" covered="0"/><counter type="LINE" missed="1" covered="0"/><counter type="COMPLEXITY" missed="1" covered="0"/><counter type="METHOD" missed="1" covered="0"/></method><method name="&lt;clinit&gt;" desc="()V" line="32"><counter type="INSTRUCTION" missed="0" covered="5"/><counter type="LINE" missed="0" covered="1"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><counter type="INSTRUCTION" missed="4" covered="12"/><counter type="LINE" missed="1" covered="4"/><counter type="COMPLEXITY" missed="1" covered="3"/><counter type="METHOD" missed="1" covered="3"/><counter type="CLASS" missed="0" covered="1"/></class><class name="org/jacoco/core/runtime/RuntimeData" sourcefilename="RuntimeData.java"><method name="&lt;init&gt;" desc="()V" line="40"><counter type="INSTRUCTION" missed="0" covered="14"/><counter type="LINE" missed="0" covered="5"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="setSessionId" desc="(Ljava/lang/String;)V" line="57"><counter type="INSTRUCTION" missed="0" covered="4"/><counter type="LINE" missed="0" covered="2"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="getSessionId" desc="()Ljava/lang/String;" line="67"><counter type="INSTRUCTION" missed="0" covered="3"/><counter type="LINE" missed="0" covered="1"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="collect" desc="(Lorg/jacoco/core/data/IExecutionDataVisitor;Lorg/jacoco/core/data/ISessionInfoVisitor;Z)V" line="84"><counter type="INSTRUCTION" missed="0" covered="29"/><counter type="BRANCH" missed="0" covered="2"/><counter type="LINE" missed="0" covered="8"/><counter type="COMPLEXITY" missed="0" covered="2"/><counter type="METHOD" missed="0" covered="1"/></method><method name="reset" desc="()V" line="99"><counter type="INSTRUCTION" missed="0" covered="15"/><counter type="LINE" missed="0" covered="5"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="getExecutionData" desc="(Ljava/lang/Long;Ljava/lang/String;I)Lorg/jacoco/core/data/ExecutionData;" line="120"><counter type="INSTRUCTION" missed="0" covered="14"/><counter type="LINE" missed="0" covered="2"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="getProbes" desc="([Ljava/lang/Object;)V" line="146"><counter type="INSTRUCTION" missed="0" covered="26"/><counter type="LINE" missed="0" covered="5"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="equals" desc="(Ljava/lang/Object;)Z" line="162"><counter type="INSTRUCTION" missed="0" covered="12"/><counter type="BRANCH" missed="0" covered="2"/><counter type="LINE" missed="0" covered="3"/><counter type="COMPLEXITY" missed="0" covered="2"/><counter type="METHOD" missed="0" covered="1"/></method><method name="generateArgumentArray" desc="(JLjava/lang/String;ILorg/objectweb/asm/MethodVisitor;)V" line="185"><counter type="INSTRUCTION" missed="0" covered="59"/><counter type="LINE" missed="0" covered="17"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="generateAccessCall" desc="(JLjava/lang/String;ILorg/objectweb/asm/MethodVisitor;)V" line="232"><counter type="INSTRUCTION" missed="0" covered="29"/><counter type="LINE" missed="0" covered="8"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><counter type="INSTRUCTION" missed="0" covered="205"/><counter type="BRANCH" missed="0" covered="4"/><counter type="LINE" missed="0" covered="56"/><counter type="COMPLEXITY" missed="0" covered="12"/><counter type="METHOD" missed="0" covered="10"/><counter type="CLASS" missed="0" covered="1"/></class><class name="org/jacoco/core/runtime/IRuntime" sourcefilename="IRuntime.java"/><class name="org/jacoco/core/runtime/IRemoteCommandVisitor" sourcefilename="IRemoteCommandVisitor.java"/><class name="org/jacoco/core/runtime/OfflineInstrumentationAccessGenerator" sourcefilename="OfflineInstrumentationAccessGenerator.java"><method name="&lt;init&gt;" desc="()V" line="35"><counter type="INSTRUCTION" missed="0" covered="14"/><counter type="LINE" missed="0" covered="2"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="&lt;init&gt;" desc="(Ljava/lang/String;)V" line="45"><counter type="INSTRUCTION" missed="0" covered="6"/><counter type="LINE" missed="0" covered="3"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="generateDataAccessor" desc="(JLjava/lang/String;ILorg/objectweb/asm/MethodVisitor;)I" line="51"><counter type="INSTRUCTION" missed="0" covered="20"/><counter type="LINE" missed="0" covered="5"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><counter type="INSTRUCTION" missed="0" covered="40"/><counter type="LINE" missed="0" covered="10"/><counter type="COMPLEXITY" missed="0" covered="3"/><counter type="METHOD" missed="0" covered="3"/><counter type="CLASS" missed="0" covered="1"/></class><class name="org/jacoco/core/runtime/SystemPropertiesRuntime" sourcefilename="SystemPropertiesRuntime.java"><method name="&lt;init&gt;" desc="()V" line="38"><counter type="INSTRUCTION" missed="0" covered="15"/><counter type="LINE" missed="0" covered="3"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="generateDataAccessor" desc="(JLjava/lang/String;ILorg/objectweb/asm/MethodVisitor;)I" line="44"><counter type="INSTRUCTION" missed="0" covered="25"/><counter type="LINE" missed="0" covered="5"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="startup" desc="(Lorg/jacoco/core/runtime/RuntimeData;)V" line="68"><counter type="INSTRUCTION" missed="0" covered="10"/><counter type="LINE" missed="0" covered="3"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="shutdown" desc="()V" line="73"><counter type="INSTRUCTION" missed="0" covered="6"/><counter type="LINE" missed="0" covered="2"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><counter type="INSTRUCTION" missed="0" covered="56"/><counter type="LINE" missed="0" covered="13"/><counter type="COMPLEXITY" missed="0" covered="4"/><counter type="METHOD" missed="0" covered="4"/><counter type="CLASS" missed="0" covered="1"/></class><class name="org/jacoco/core/runtime/InjectedClassRuntime" sourcefilename="InjectedClassRuntime.java"><method name="&lt;init&gt;" desc="(Ljava/lang/Class;Ljava/lang/String;)V" line="45"><counter type="INSTRUCTION" missed="23" covered="0"/><counter type="LINE" missed="4" covered="0"/><counter type="COMPLEXITY" missed="1" covered="0"/><counter type="METHOD" missed="1" covered="0"/></method><method name="startup" desc="(Lorg/jacoco/core/runtime/RuntimeData;)V" line="53"><counter type="INSTRUCTION" missed="17" covered="0"/><counter type="LINE" missed="3" covered="0"/><counter type="COMPLEXITY" missed="1" covered="0"/><counter type="METHOD" missed="1" covered="0"/></method><method name="shutdown" desc="()V" line="63"><counter type="INSTRUCTION" missed="1" covered="0"/><counter type="LINE" missed="1" covered="0"/><counter type="COMPLEXITY" missed="1" covered="0"/><counter type="METHOD" missed="1" covered="0"/></method><method name="generateDataAccessor" desc="(JLjava/lang/String;ILorg/objectweb/asm/MethodVisitor;)I" line="67"><counter type="INSTRUCTION" missed="14" covered="0"/><counter type="LINE" missed="3" covered="0"/><counter type="COMPLEXITY" missed="1" covered="0"/><counter type="METHOD" missed="1" covered="0"/></method><method name="createClass" desc="(Ljava/lang/String;)[B" line="76"><counter type="INSTRUCTION" missed="29" covered="0"/><counter type="LINE" missed="5" covered="0"/><counter type="COMPLEXITY" missed="1" covered="0"/><counter type="METHOD" missed="1" covered="0"/></method><counter type="INSTRUCTION" missed="84" covered="0"/><counter type="LINE" missed="16" covered="0"/><counter type="COMPLEXITY" missed="5" covered="0"/><counter type="METHOD" missed="5" covered="0"/><counter type="CLASS" missed="1" covered="0"/></class><sourcefile name="SystemPropertiesRuntime.java"><line nr="38" mi="0" ci="2" mb="0" cb="0"/><line nr="39" mi="0" ci="12" mb="0" cb="0"/><line nr="40" mi="0" ci="1" mb="0" cb="0"/><line nr="44" mi="0" ci="7" mb="0" cb="0"/><line nr="49" mi="0" ci="4" mb="0" cb="0"/><line nr="54" mi="0" ci="7" mb="0" cb="0"/><line nr="59" mi="0" ci="5" mb="0" cb="0"/><line nr="63" mi="0" ci="2" mb="0" cb="0"/><line nr="68" mi="0" ci="3" mb="0" cb="0"/><line nr="69" mi="0" ci="6" mb="0" cb="0"/><line nr="70" mi="0" ci="1" mb="0" cb="0"/><line nr="73" mi="0" ci="5" mb="0" cb="0"/><line nr="74" mi="0" ci="1" mb="0" cb="0"/><counter type="INSTRUCTION" missed="0" covered="56"/><counter type="LINE" missed="0" covered="13"/><counter type="COMPLEXITY" missed="0" covered="4"/><counter type="METHOD" missed="0" covered="4"/><counter type="CLASS" missed="0" covered="1"/></sourcefile><sourcefile name="LoggerRuntime.java"><line nr="49" mi="0" ci="2" mb="0" cb="0"/><line nr="50" mi="0" ci="5" mb="0" cb="0"/><line nr="51" mi="0" ci="4" mb="0" cb="0"/><line nr="52" mi="0" ci="7" mb="0" cb="0"/><line nr="53" mi="0" ci="1" mb="0" cb="0"/><line nr="56" mi="0" ci="3" mb="0" cb="0"/><line nr="57" mi="0" ci="3" mb="0" cb="0"/><line nr="58" mi="0" ci="3" mb="0" cb="0"/><line nr="59" mi="0" ci="2" mb="0" cb="0"/><line nr="80" mi="0" ci="5" mb="0" cb="0"/><line nr="84" mi="0" ci="3" mb="0" cb="0"/><line nr="91" mi="0" ci="3" mb="0" cb="0"/><line nr="92" mi="0" ci="7" mb="0" cb="0"/><line nr="100" mi="0" ci="3" mb="0" cb="0"/><line nr="106" mi="0" ci="6" mb="0" cb="0"/><line nr="114" mi="0" ci="3" mb="0" cb="0"/><line nr="121" mi="0" ci="4" mb="0" cb="0"/><line nr="129" mi="0" ci="3" mb="0" cb="0"/><line nr="137" mi="0" ci="7" mb="0" cb="0"/><line nr="146" mi="0" ci="3" mb="0" cb="0"/><line nr="147" mi="0" ci="3" mb="0" cb="0"/><line nr="148" mi="0" ci="4" mb="0" cb="0"/><line nr="152" mi="0" ci="2" mb="0" cb="0"/><line nr="157" mi="0" ci="3" mb="0" cb="0"/><line nr="158" mi="0" ci="5" mb="0" cb="0"/><line nr="159" mi="0" ci="1" mb="0" cb="0"/><line nr="162" mi="0" ci="5" mb="0" cb="0"/><line nr="163" mi="0" ci="1" mb="0" cb="0"/><line nr="165" mi="0" ci="6" mb="0" cb="0"/><line nr="169" mi="0" ci="7" mb="1" cb="1"/><line nr="170" mi="0" ci="6" mb="0" cb="0"/><line nr="172" mi="0" ci="1" mb="0" cb="0"/><line nr="177" mi="1" ci="0" mb="0" cb="0"/><line nr="187" mi="7" ci="0" mb="0" cb="0"/><line nr="188" mi="1" ci="0" mb="0" cb="0"/><counter type="INSTRUCTION" missed="9" covered="121"/><counter type="BRANCH" missed="1" covered="1"/><counter type="LINE" missed="3" covered="32"/><counter type="COMPLEXITY" missed="3" covered="7"/><counter type="METHOD" missed="2" covered="7"/><counter type="CLASS" missed="0" covered="2"/></sourcefile><sourcefile name="RuntimeData.java"><line nr="40" mi="0" ci="2" mb="0" cb="0"/><line nr="41" mi="0" ci="5" mb="0" cb="0"/><line nr="42" mi="0" ci="3" mb="0" cb="0"/><line nr="43" mi="0" ci="3" mb="0" cb="0"/><line nr="44" mi="0" ci="1" mb="0" cb="0"/><line nr="57" mi="0" ci="3" mb="0" cb="0"/><line nr="58" mi="0" ci="1" mb="0" cb="0"/><line nr="67" mi="0" ci="3" mb="0" cb="0"/><line nr="84" mi="0" ci="5" mb="0" cb="0"/><line nr="85" mi="0" ci="9" mb="0" cb="0"/><line nr="87" mi="0" ci="3" mb="0" cb="0"/><line nr="88" mi="0" ci="4" mb="0" cb="0"/><line nr="89" mi="0" ci="2" mb="0" cb="2"/><line nr="90" mi="0" ci="2" mb="0" cb="0"/><line nr="92" mi="0" ci="3" mb="0" cb="0"/><line nr="93" mi="0" ci="1" mb="0" cb="0"/><line nr="99" mi="0" ci="5" mb="0" cb="0"/><line nr="100" mi="0" ci="3" mb="0" cb="0"/><line nr="101" mi="0" ci="3" mb="0" cb="0"/><line nr="102" mi="0" ci="3" mb="0" cb="0"/><line nr="103" mi="0" ci="1" mb="0" cb="0"/><line nr="120" mi="0" ci="5" mb="0" cb="0"/><line nr="121" mi="0" ci="9" mb="0" cb="0"/><line nr="146" mi="0" ci="5" mb="0" cb="0"/><line nr="147" mi="0" ci="5" mb="0" cb="0"/><line nr="148" mi="0" ci="6" mb="0" cb="0"/><line nr="149" mi="0" ci="9" mb="0" cb="0"/><line nr="150" mi="0" ci="1" mb="0" cb="0"/><line nr="162" mi="0" ci="3" mb="0" cb="2"/><line nr="163" mi="0" ci="5" mb="0" cb="0"/><line nr="165" mi="0" ci="4" mb="0" cb="0"/><line nr="185" mi="0" ci="3" mb="0" cb="0"/><line nr="186" mi="0" ci="4" mb="0" cb="0"/><line nr="189" mi="0" ci="3" mb="0" cb="0"/><line nr="190" mi="0" ci="3" mb="0" cb="0"/><line nr="191" mi="0" ci="4" mb="0" cb="0"/><line nr="192" mi="0" ci="7" mb="0" cb="0"/><line nr="194" mi="0" ci="3" mb="0" cb="0"/><line nr="197" mi="0" ci="3" mb="0" cb="0"/><line nr="198" mi="0" ci="3" mb="0" cb="0"/><line nr="199" mi="0" ci="3" mb="0" cb="0"/><line nr="200" mi="0" ci="3" mb="0" cb="0"/><line nr="203" mi="0" ci="3" mb="0" cb="0"/><line nr="204" mi="0" ci="3" mb="0" cb="0"/><line nr="205" mi="0" ci="3" mb="0" cb="0"/><line nr="206" mi="0" ci="7" mb="0" cb="0"/><line nr="208" mi="0" ci="3" mb="0" cb="0"/><line nr="209" mi="0" ci="1" mb="0" cb="0"/><line nr="232" mi="0" ci="5" mb="0" cb="0"/><line nr="237" mi="0" ci="3" mb="0" cb="0"/><line nr="243" mi="0" ci="7" mb="0" cb="0"/><line nr="245" mi="0" ci="3" mb="0" cb="0"/><line nr="249" mi="0" ci="3" mb="0" cb="0"/><line nr="250" mi="0" ci="3" mb="0" cb="0"/><line nr="254" mi="0" ci="4" mb="0" cb="0"/><line nr="255" mi="0" ci="1" mb="0" cb="0"/><counter type="INSTRUCTION" missed="0" covered="205"/><counter type="BRANCH" missed="0" covered="4"/><counter type="LINE" missed="0" covered="56"/><counter type="COMPLEXITY" missed="0" covered="12"/><counter type="METHOD" missed="0" covered="10"/><counter type="CLASS" missed="0" covered="1"/></sourcefile><sourcefile name="RemoteControlReader.java"><line nr="36" mi="0" ci="3" mb="0" cb="0"/><line nr="37" mi="0" ci="1" mb="0" cb="0"/><line nr="41" mi="0" ci="2" mb="0" cb="3"/><line nr="43" mi="0" ci="2" mb="0" cb="0"/><line nr="44" mi="0" ci="2" mb="0" cb="0"/><line nr="46" mi="0" ci="2" mb="0" cb="0"/><line nr="48" mi="0" ci="4" mb="0" cb="0"/><line nr="59" mi="0" ci="3" mb="0" cb="0"/><line nr="60" mi="0" ci="1" mb="0" cb="0"/><line nr="63" mi="0" ci="3" mb="0" cb="2"/><line nr="64" mi="0" ci="5" mb="0" cb="0"/><line nr="66" mi="0" ci="4" mb="0" cb="0"/><line nr="67" mi="0" ci="4" mb="0" cb="0"/><line nr="68" mi="0" ci="5" mb="0" cb="0"/><line nr="69" mi="0" ci="1" mb="0" cb="0"/><counter type="INSTRUCTION" missed="0" covered="42"/><counter type="BRANCH" missed="0" covered="5"/><counter type="LINE" missed="0" covered="15"/><counter type="COMPLEXITY" missed="0" covered="7"/><counter type="METHOD" missed="0" covered="4"/><counter type="CLASS" missed="0" covered="1"/></sourcefile><sourcefile name="OfflineInstrumentationAccessGenerator.java"><line nr="35" mi="0" ci="13" mb="0" cb="0"/><line nr="36" mi="0" ci="1" mb="0" cb="0"/><line nr="45" mi="0" ci="2" mb="0" cb="0"/><line nr="46" mi="0" ci="3" mb="0" cb="0"/><line nr="47" mi="0" ci="1" mb="0" cb="0"/><line nr="51" mi="0" ci="4" mb="0" cb="0"/><line nr="52" mi="0" ci="3" mb="0" cb="0"/><line nr="53" mi="0" ci="3" mb="0" cb="0"/><line nr="54" mi="0" ci="8" mb="0" cb="0"/><line nr="56" mi="0" ci="2" mb="0" cb="0"/><counter type="INSTRUCTION" missed="0" covered="40"/><counter type="LINE" missed="0" covered="10"/><counter type="COMPLEXITY" missed="0" covered="3"/><counter type="METHOD" missed="0" covered="3"/><counter type="CLASS" missed="0" covered="1"/></sourcefile><sourcefile name="InjectedClassRuntime.java"><line nr="45" mi="2" ci="0" mb="0" cb="0"/><line nr="46" mi="3" ci="0" mb="0" cb="0"/><line nr="47" mi="17" ci="0" mb="0" cb="0"/><line nr="49" mi="1" ci="0" mb="0" cb="0"/><line nr="53" mi="3" ci="0" mb="0" cb="0"/><line nr="54" mi="13" ci="0" mb="0" cb="0"/><line nr="59" mi="1" ci="0" mb="0" cb="0"/><line nr="63" mi="1" ci="0" mb="0" cb="0"/><line nr="67" mi="7" ci="0" mb="0" cb="0"/><line nr="70" mi="5" ci="0" mb="0" cb="0"/><line nr="72" mi="2" ci="0" mb="0" cb="0"/><line nr="76" mi="5" ci="0" mb="0" cb="0"/><line nr="77" mi="11" ci="0" mb="0" cb="0"/><line nr="79" mi="8" ci="0" mb="0" cb="0"/><line nr="81" mi="2" ci="0" mb="0" cb="0"/><line nr="82" mi="3" ci="0" mb="0" cb="0"/><line nr="93" mi="2" ci="0" mb="0" cb="0"/><line nr="94" mi="3" ci="0" mb="0" cb="0"/><line nr="95" mi="1" ci="0" mb="0" cb="0"/><line nr="101" mi="14" ci="0" mb="0" cb="0"/><line nr="118" mi="32" ci="0" mb="0" cb="0"/><line nr="134" mi="21" ci="0" mb="0" cb="0"/><counter type="INSTRUCTION" missed="157" covered="0"/><counter type="LINE" missed="22" covered="0"/><counter type="COMPLEXITY" missed="9" covered="0"/><counter type="METHOD" missed="9" covered="0"/><counter type="CLASS" missed="2" covered="0"/></sourcefile><sourcefile name="IExecutionDataAccessorGenerator.java"/><sourcefile name="CommandLineSupport.java"><line nr="35" mi="0" ci="4" mb="0" cb="0"/><line nr="36" mi="0" ci="17" mb="0" cb="2"/><line nr="37" mi="0" ci="6" mb="0" cb="4"/><line nr="38" mi="0" ci="4" mb="0" cb="0"/><line nr="40" mi="0" ci="4" mb="0" cb="0"/><line nr="42" mi="0" ci="10" mb="0" cb="4"/><line nr="43" mi="0" ci="7" mb="0" cb="0"/><line nr="45" mi="0" ci="3" mb="0" cb="0"/><line nr="57" mi="0" ci="4" mb="0" cb="0"/><line nr="58" mi="0" ci="2" mb="0" cb="0"/><line nr="59" mi="0" ci="10" mb="0" cb="2"/><line nr="60" mi="0" ci="2" mb="0" cb="2"/><line nr="61" mi="0" ci="4" mb="0" cb="0"/><line nr="63" mi="0" ci="5" mb="0" cb="0"/><line nr="64" mi="0" ci="3" mb="0" cb="0"/><line nr="66" mi="0" ci="3" mb="0" cb="0"/><line nr="78" mi="0" ci="5" mb="0" cb="4"/><line nr="79" mi="0" ci="4" mb="0" cb="0"/><line nr="81" mi="0" ci="4" mb="0" cb="0"/><line nr="82" mi="0" ci="4" mb="0" cb="0"/><line nr="83" mi="0" ci="2" mb="0" cb="0"/><line nr="84" mi="0" ci="2" mb="0" cb="0"/><line nr="85" mi="0" ci="17" mb="0" cb="2"/><line nr="86" mi="0" ci="2" mb="1" cb="3"/><line nr="88" mi="0" ci="3" mb="0" cb="2"/><line nr="89" mi="0" ci="3" mb="0" cb="2"/><line nr="90" mi="0" ci="3" mb="0" cb="0"/><line nr="92" mi="0" ci="4" mb="0" cb="0"/><line nr="93" mi="0" ci="2" mb="0" cb="0"/><line nr="95" mi="0" ci="3" mb="0" cb="0"/><line nr="99" mi="0" ci="3" mb="0" cb="2"/><line nr="100" mi="0" ci="3" mb="0" cb="0"/><line nr="101" mi="0" ci="3" mb="0" cb="0"/><line nr="102" mi="0" ci="3" mb="0" cb="2"/><line nr="103" mi="0" ci="4" mb="0" cb="0"/><line nr="104" mi="0" ci="3" mb="0" cb="0"/><line nr="106" mi="0" ci="4" mb="0" cb="0"/><line nr="108" mi="0" ci="1" mb="0" cb="0"/><line nr="110" mi="0" ci="6" mb="0" cb="4"/><line nr="111" mi="0" ci="8" mb="0" cb="0"/><line nr="112" mi="0" ci="3" mb="0" cb="2"/><line nr="113" mi="0" ci="3" mb="0" cb="0"/><line nr="114" mi="0" ci="3" mb="0" cb="0"/><line nr="116" mi="0" ci="4" mb="0" cb="0"/><line nr="118" mi="0" ci="2" mb="0" cb="0"/><line nr="122" mi="0" ci="3" mb="0" cb="0"/><line nr="123" mi="0" ci="2" mb="0" cb="0"/><line nr="128" mi="0" ci="3" mb="0" cb="2"/><line nr="129" mi="0" ci="5" mb="0" cb="0"/><line nr="130" mi="0" ci="3" mb="0" cb="0"/><line nr="132" mi="0" ci="1" mb="0" cb="0"/><counter type="INSTRUCTION" missed="0" covered="216"/><counter type="BRANCH" missed="1" covered="39"/><counter type="LINE" missed="0" covered="51"/><counter type="COMPLEXITY" missed="1" covered="24"/><counter type="METHOD" missed="0" covered="4"/><counter type="CLASS" missed="0" covered="1"/></sourcefile><sourcefile name="AbstractRuntime.java"><line nr="20" mi="0" ci="3" mb="0" cb="0"/><line nr="29" mi="0" ci="3" mb="0" cb="0"/><line nr="30" mi="0" ci="1" mb="0" cb="0"/><line nr="32" mi="0" ci="5" mb="0" cb="0"/><line nr="40" mi="4" ci="0" mb="0" cb="0"/><counter type="INSTRUCTION" missed="4" covered="12"/><counter type="LINE" missed="1" covered="4"/><counter type="COMPLEXITY" missed="1" covered="3"/><counter type="METHOD" missed="1" covered="3"/><counter type="CLASS" missed="0" covered="1"/></sourcefile><sourcefile name="AgentOptions.java"><line nr="118" mi="0" ci="3" mb="0" cb="0"/><line nr="124" mi="0" ci="20" mb="0" cb="0"/><line nr="131" mi="0" ci="6" mb="0" cb="0"/><line nr="138" mi="0" ci="6" mb="0" cb="0"/><line nr="145" mi="0" ci="6" mb="0" cb="0"/><line nr="151" mi="0" ci="6" mb="0" cb="0"/><line nr="164" mi="0" ci="2" mb="0" cb="0"/><line nr="192" mi="0" ci="61" mb="0" cb="0"/><line nr="202" mi="0" ci="2" mb="0" cb="0"/><line nr="203" mi="0" ci="5" mb="0" cb="0"/><line nr="204" mi="0" ci="1" mb="0" cb="0"/><line nr="213" mi="0" ci="2" mb="0" cb="0"/><line nr="214" mi="0" ci="5" mb="0" cb="4"/><line nr="215" mi="0" ci="18" mb="0" cb="2"/><line nr="216" mi="0" ci="4" mb="0" cb="0"/><line nr="217" mi="0" ci="3" mb="0" cb="2"/><line nr="218" mi="0" ci="12" mb="0" cb="0"/><line nr="221" mi="0" ci="5" mb="0" cb="0"/><line nr="222" mi="0" ci="4" mb="0" cb="2"/><line nr="223" mi="0" ci="12" mb="0" cb="0"/><line nr="227" mi="0" ci="6" mb="0" cb="0"/><line nr="228" mi="0" ci="4" mb="0" cb="0"/><line nr="231" mi="0" ci="2" mb="0" cb="0"/><line nr="233" mi="0" ci="1" mb="0" cb="0"/><line nr="242" mi="0" ci="2" mb="0" cb="0"/><line nr="243" mi="0" ci="10" mb="0" cb="2"/><line nr="244" mi="0" ci="4" mb="0" cb="0"/><line nr="245" mi="0" ci="2" mb="0" cb="2"/><line nr="246" mi="0" ci="4" mb="0" cb="0"/><line nr="248" mi="0" ci="1" mb="0" cb="0"/><line nr="249" mi="0" ci="1" mb="0" cb="0"/><line nr="252" mi="0" ci="4" mb="0" cb="0"/><line nr="253" mi="0" ci="3" mb="0" cb="0"/><line nr="254" mi="0" ci="1" mb="0" cb="0"/><line nr="257" mi="0" ci="2" mb="0" cb="2"/><line nr="258" mi="0" ci="5" mb="0" cb="0"/><line nr="260" mi="0" ci="1" mb="0" cb="0"/><line nr="268" mi="0" ci="5" mb="0" cb="0"/><line nr="278" mi="0" ci="4" mb="0" cb="0"/><line nr="279" mi="0" ci="1" mb="0" cb="0"/><line nr="287" mi="0" ci="5" mb="0" cb="0"/><line nr="297" mi="0" ci="4" mb="0" cb="0"/><line nr="298" mi="0" ci="1" mb="0" cb="0"/><line nr="307" mi="0" ci="5" mb="0" cb="0"/><line nr="318" mi="0" ci="4" mb="0" cb="0"/><line nr="319" mi="0" ci="1" mb="0" cb="0"/><line nr="328" mi="0" ci="5" mb="0" cb="0"/><line nr="339" mi="0" ci="4" mb="0" cb="0"/><line nr="340" mi="0" ci="1" mb="0" cb="0"/><line nr="349" mi="0" ci="5" mb="0" cb="0"/><line nr="360" mi="0" ci="4" mb="0" cb="0"/><line nr="361" mi="0" ci="1" mb="0" cb="0"/><line nr="371" mi="0" ci="5" mb="0" cb="0"/><line nr="382" mi="0" ci="4" mb="0" cb="0"/><line nr="383" mi="0" ci="1" mb="0" cb="0"/><line nr="392" mi="0" ci="5" mb="0" cb="0"/><line nr="403" mi="0" ci="4" mb="0" cb="0"/><line nr="404" mi="0" ci="1" mb="0" cb="0"/><line nr="412" mi="0" ci="5" mb="0" cb="0"/><line nr="422" mi="0" ci="4" mb="0" cb="0"/><line nr="423" mi="0" ci="1" mb="0" cb="0"/><line nr="431" mi="0" ci="5" mb="0" cb="0"/><line nr="442" mi="0" ci="4" mb="0" cb="0"/><line nr="443" mi="0" ci="1" mb="0" cb="0"/><line nr="453" mi="0" ci="5" mb="0" cb="0"/><line nr="464" mi="0" ci="3" mb="0" cb="0"/><line nr="465" mi="0" ci="4" mb="0" cb="0"/><line nr="466" mi="0" ci="1" mb="0" cb="0"/><line nr="476" mi="0" ci="5" mb="0" cb="0"/><line nr="488" mi="0" ci="4" mb="0" cb="0"/><line nr="489" mi="0" ci="1" mb="0" cb="0"/><line nr="497" mi="0" ci="6" mb="0" cb="0"/><line nr="498" mi="0" ci="7" mb="0" cb="2"/><line nr="508" mi="0" ci="4" mb="0" cb="0"/><line nr="509" mi="0" ci="1" mb="0" cb="0"/><line nr="518" mi="0" ci="5" mb="0" cb="0"/><line nr="519" mi="0" ci="1" mb="0" cb="0"/><line nr="528" mi="0" ci="5" mb="0" cb="0"/><line nr="538" mi="0" ci="4" mb="0" cb="0"/><line nr="539" mi="0" ci="1" mb="0" cb="0"/><line nr="547" mi="0" ci="5" mb="0" cb="0"/><line nr="557" mi="0" ci="4" mb="0" cb="0"/><line nr="558" mi="0" ci="1" mb="0" cb="0"/><line nr="561" mi="0" ci="5" mb="0" cb="0"/><line nr="562" mi="0" ci="1" mb="0" cb="0"/><line nr="565" mi="0" ci="5" mb="0" cb="0"/><line nr="566" mi="0" ci="1" mb="0" cb="0"/><line nr="569" mi="0" ci="6" mb="0" cb="0"/><line nr="570" mi="0" ci="1" mb="0" cb="0"/><line nr="573" mi="0" ci="6" mb="0" cb="0"/><line nr="574" mi="0" ci="6" mb="0" cb="2"/><line nr="578" mi="0" ci="6" mb="0" cb="0"/><line nr="579" mi="0" ci="7" mb="0" cb="2"/><line nr="583" mi="0" ci="6" mb="0" cb="0"/><line nr="584" mi="0" ci="7" mb="0" cb="2"/><line nr="596" mi="0" ci="13" mb="0" cb="0"/><line nr="608" mi="0" ci="5" mb="0" cb="0"/><line nr="625" mi="0" ci="3" mb="0" cb="0"/><line nr="626" mi="0" ci="9" mb="0" cb="0"/><line nr="627" mi="0" ci="6" mb="0" cb="2"/><line nr="628" mi="0" ci="6" mb="0" cb="2"/><line nr="629" mi="0" ci="3" mb="0" cb="0"/><line nr="632" mi="0" ci="6" mb="0" cb="0"/><line nr="633" mi="0" ci="3" mb="0" cb="0"/><line nr="642" mi="0" ci="4" mb="0" cb="0"/><line nr="643" mi="0" ci="10" mb="0" cb="2"/><line nr="644" mi="0" ci="6" mb="0" cb="0"/><line nr="645" mi="0" ci="2" mb="0" cb="2"/><line nr="646" mi="0" ci="3" mb="0" cb="2"/><line nr="647" mi="0" ci="4" mb="0" cb="0"/><line nr="649" mi="0" ci="8" mb="0" cb="0"/><line nr="651" mi="0" ci="1" mb="0" cb="0"/><line nr="652" mi="0" ci="3" mb="0" cb="0"/><counter type="INSTRUCTION" missed="0" covered="545"/><counter type="BRANCH" missed="0" covered="34"/><counter type="LINE" missed="0" covered="113"/><counter type="COMPLEXITY" missed="0" covered="63"/><counter type="METHOD" missed="0" covered="46"/><counter type="CLASS" missed="0" covered="2"/></sourcefile><sourcefile name="RemoteControlWriter.java"><line nr="41" mi="0" ci="3" mb="0" cb="0"/><line nr="42" mi="0" ci="1" mb="0" cb="0"/><line nr="52" mi="0" ci="4" mb="0" cb="0"/><line nr="53" mi="0" ci="1" mb="0" cb="0"/><line nr="57" mi="0" ci="4" mb="0" cb="0"/><line nr="58" mi="0" ci="4" mb="0" cb="0"/><line nr="59" mi="0" ci="4" mb="0" cb="0"/><line nr="60" mi="0" ci="1" mb="0" cb="0"/><counter type="INSTRUCTION" missed="0" covered="22"/><counter type="LINE" missed="0" covered="8"/><counter type="COMPLEXITY" missed="0" covered="3"/><counter type="METHOD" missed="0" covered="3"/><counter type="CLASS" missed="0" covered="1"/></sourcefile><sourcefile name="ModifiedSystemClassRuntime.java"><line nr="57" mi="0" ci="2" mb="0" cb="0"/><line nr="58" mi="0" ci="3" mb="0" cb="0"/><line nr="59" mi="0" ci="7" mb="0" cb="0"/><line nr="60" mi="0" ci="3" mb="0" cb="0"/><line nr="61" mi="0" ci="1" mb="0" cb="0"/><line nr="65" mi="0" ci="3" mb="0" cb="0"/><line nr="66" mi="0" ci="6" mb="0" cb="0"/><line nr="67" mi="0" ci="4" mb="0" cb="0"/><line nr="68" mi="0" ci="1" mb="0" cb="0"/><line nr="72" mi="0" ci="1" mb="0" cb="0"/><line nr="77" mi="0" ci="8" mb="0" cb="0"/><line nr="80" mi="0" ci="5" mb="0" cb="0"/><line nr="82" mi="0" ci="2" mb="0" cb="0"/><line nr="101" mi="5" ci="0" mb="0" cb="0"/><line nr="123" mi="0" ci="6" mb="0" cb="0"/><line nr="124" mi="0" ci="9" mb="0" cb="0"/><line nr="128" mi="0" ci="5" mb="0" cb="2"/><line nr="129" mi="0" ci="5" mb="0" cb="0"/><line nr="131" mi="0" ci="2" mb="0" cb="0"/><line nr="134" mi="0" ci="3" mb="0" cb="0"/><line nr="135" mi="0" ci="6" mb="0" cb="0"/><line nr="136" mi="0" ci="4" mb="0" cb="0"/><line nr="138" mi="4" ci="0" mb="0" cb="0"/><line nr="139" mi="0" ci="1" mb="0" cb="0"/><line nr="140" mi="0" ci="13" mb="0" cb="0"/><line nr="143" mi="1" ci="0" mb="0" cb="0"/><line nr="144" mi="6" ci="0" mb="0" cb="0"/><line nr="158" mi="0" ci="3" mb="0" cb="0"/><line nr="159" mi="0" ci="6" mb="0" cb="0"/><line nr="160" mi="0" ci="9" mb="0" cb="0"/><line nr="163" mi="0" ci="8" mb="0" cb="0"/><line nr="164" mi="0" ci="5" mb="0" cb="0"/><line nr="165" mi="0" ci="2" mb="0" cb="0"/><line nr="166" mi="0" ci="1" mb="0" cb="0"/><line nr="169" mi="0" ci="3" mb="0" cb="0"/><line nr="174" mi="0" ci="8" mb="0" cb="0"/><line nr="178" mi="0" ci="1" mb="0" cb="0"/><counter type="INSTRUCTION" missed="16" covered="146"/><counter type="BRANCH" missed="0" covered="2"/><counter type="LINE" missed="4" covered="33"/><counter type="COMPLEXITY" missed="1" covered="12"/><counter type="METHOD" missed="1" covered="11"/><counter type="CLASS" missed="0" covered="3"/></sourcefile><sourcefile name="IRemoteCommandVisitor.java"/><sourcefile name="WildcardMatcher.java"><line nr="33" mi="0" ci="2" mb="0" cb="0"/><line nr="34" mi="0" ci="4" mb="0" cb="0"/><line nr="35" mi="0" ci="8" mb="0" cb="0"/><line nr="36" mi="0" ci="2" mb="0" cb="0"/><line nr="37" mi="0" ci="16" mb="0" cb="2"/><line nr="38" mi="0" ci="2" mb="0" cb="2"/><line nr="39" mi="0" ci="4" mb="0" cb="0"/><line nr="41" mi="0" ci="9" mb="0" cb="0"/><line nr="42" mi="0" ci="2" mb="0" cb="0"/><line nr="44" mi="0" ci="5" mb="0" cb="0"/><line nr="45" mi="0" ci="1" mb="0" cb="0"/><line nr="48" mi="0" ci="8" mb="0" cb="0"/><line nr="49" mi="0" ci="17" mb="0" cb="2"/><line nr="50" mi="0" ci="2" mb="0" cb="3"/><line nr="52" mi="0" ci="4" mb="0" cb="0"/><line nr="53" mi="0" ci="1" mb="0" cb="0"/><line nr="55" mi="0" ci="4" mb="0" cb="0"/><line nr="56" mi="0" ci="1" mb="0" cb="0"/><line nr="58" mi="0" ci="6" mb="0" cb="0"/><line nr="62" mi="0" ci="2" mb="0" cb="0"/><line nr="73" mi="0" ci="6" mb="0" cb="0"/><counter type="INSTRUCTION" missed="0" covered="106"/><counter type="BRANCH" missed="0" covered="9"/><counter type="LINE" missed="0" covered="21"/><counter type="COMPLEXITY" missed="0" covered="8"/><counter type="METHOD" missed="0" covered="3"/><counter type="CLASS" missed="0" covered="1"/></sourcefile><sourcefile name="IRuntime.java"/><counter type="INSTRUCTION" missed="186" covered="1511"/><counter type="BRANCH" missed="2" covered="94"/><counter type="LINE" missed="30" covered="356"/><counter type="COMPLEXITY" missed="15" covered="146"/><counter type="METHOD" missed="13" covered="98"/><counter type="CLASS" missed="2" covered="15"/></package><package name="org/jacoco/core/internal/analysis/filter"><class name="org/jacoco/core/internal/analysis/filter/PrivateEmptyNoArgConstructorFilter" sourcefilename="PrivateEmptyNoArgConstructorFilter.java"><method name="&lt;init&gt;" desc="()V" line="21"><counter type="INSTRUCTION" missed="0" covered="3"/><counter type="LINE" missed="0" covered="2"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="filter" desc="(Lorg/objectweb/asm/tree/MethodNode;Lorg/jacoco/core/internal/analysis/filter/IFilterContext;Lorg/jacoco/core/internal/analysis/filter/IFilterOutput;)V" line="28"><counter type="INSTRUCTION" missed="0" covered="33"/><counter type="BRANCH" missed="2" covered="6"/><counter type="LINE" missed="0" covered="3"/><counter type="COMPLEXITY" missed="2" covered="3"/><counter type="METHOD" missed="0" covered="1"/></method><counter type="INSTRUCTION" missed="0" covered="36"/><counter type="BRANCH" missed="2" covered="6"/><counter type="LINE" missed="0" covered="5"/><counter type="COMPLEXITY" missed="2" covered="4"/><counter type="METHOD" missed="0" covered="2"/><counter type="CLASS" missed="0" covered="1"/></class><class name="org/jacoco/core/internal/analysis/filter/SyntheticFilter" sourcefilename="SyntheticFilter.java"><method name="&lt;init&gt;" desc="()V" line="21"><counter type="INSTRUCTION" missed="0" covered="3"/><counter type="LINE" missed="0" covered="1"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="isScalaClass" desc="(Lorg/jacoco/core/internal/analysis/filter/IFilterContext;)Z" line="24"><counter type="INSTRUCTION" missed="0" covered="14"/><counter type="BRANCH" missed="0" covered="4"/><counter type="LINE" missed="0" covered="1"/><counter type="COMPLEXITY" missed="0" covered="3"/><counter type="METHOD" missed="0" covered="1"/></method><method name="filter" desc="(Lorg/objectweb/asm/tree/MethodNode;Lorg/jacoco/core/internal/analysis/filter/IFilterContext;Lorg/jacoco/core/internal/analysis/filter/IFilterOutput;)V" line="30"><counter type="INSTRUCTION" missed="0" covered="45"/><counter type="BRANCH" missed="1" covered="15"/><counter type="LINE" missed="0" covered="16"/><counter type="COMPLEXITY" missed="1" covered="8"/><counter type="METHOD" missed="0" covered="1"/></method><counter type="INSTRUCTION" missed="0" covered="62"/><counter type="BRANCH" missed="1" covered="19"/><counter type="LINE" missed="0" covered="18"/><counter type="COMPLEXITY" missed="1" covered="12"/><counter type="METHOD" missed="0" covered="3"/><counter type="CLASS" missed="0" covered="1"/></class><class name="org/jacoco/core/internal/analysis/filter/KotlinUnsafeCastOperatorFilter" sourcefilename="KotlinUnsafeCastOperatorFilter.java"><method name="&lt;init&gt;" desc="()V" line="25"><counter type="INSTRUCTION" missed="0" covered="3"/><counter type="LINE" missed="0" covered="2"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="filter" desc="(Lorg/objectweb/asm/tree/MethodNode;Lorg/jacoco/core/internal/analysis/filter/IFilterContext;Lorg/jacoco/core/internal/analysis/filter/IFilterOutput;)V" line="29"><counter type="INSTRUCTION" missed="0" covered="32"/><counter type="BRANCH" missed="0" covered="4"/><counter type="LINE" missed="0" covered="7"/><counter type="COMPLEXITY" missed="0" covered="3"/><counter type="METHOD" missed="0" covered="1"/></method><counter type="INSTRUCTION" missed="0" covered="35"/><counter type="BRANCH" missed="0" covered="4"/><counter type="LINE" missed="0" covered="9"/><counter type="COMPLEXITY" missed="0" covered="4"/><counter type="METHOD" missed="0" covered="2"/><counter type="CLASS" missed="0" covered="1"/></class><class name="org/jacoco/core/internal/analysis/filter/TryWithResourcesJavac11Filter$1" sourcefilename="TryWithResourcesJavac11Filter.java"/><class name="org/jacoco/core/internal/analysis/filter/AssertFilter$Matcher" sourcefilename="AssertFilter.java"><method name="matchSet" desc="(Ljava/lang/String;Lorg/objectweb/asm/tree/AbstractInsnNode;Lorg/jacoco/core/internal/analysis/filter/IFilterOutput;)V" line="40"><counter type="INSTRUCTION" missed="0" covered="36"/><counter type="BRANCH" missed="0" covered="2"/><counter type="LINE" missed="0" covered="10"/><counter type="COMPLEXITY" missed="0" covered="2"/><counter type="METHOD" missed="0" covered="1"/></method><method name="matchGet" desc="(Ljava/lang/String;Lorg/objectweb/asm/tree/AbstractInsnNode;Lorg/jacoco/core/internal/analysis/filter/IFilterOutput;)V" line="56"><counter type="INSTRUCTION" missed="0" covered="22"/><counter type="BRANCH" missed="0" covered="2"/><counter type="LINE" missed="0" covered="6"/><counter type="COMPLEXITY" missed="0" covered="2"/><counter type="METHOD" missed="0" covered="1"/></method><counter type="INSTRUCTION" missed="0" covered="58"/><counter type="BRANCH" missed="0" covered="4"/><counter type="LINE" missed="0" covered="16"/><counter type="COMPLEXITY" missed="0" covered="4"/><counter type="METHOD" missed="0" covered="2"/><counter type="CLASS" missed="0" covered="1"/></class><class name="org/jacoco/core/internal/analysis/filter/TryWithResourcesEcjFilter$Matcher" sourcefilename="TryWithResourcesEcjFilter.java"><method name="&lt;init&gt;" desc="(Lorg/jacoco/core/internal/analysis/filter/IFilterOutput;)V" line="52"><counter type="INSTRUCTION" missed="0" covered="16"/><counter type="LINE" missed="0" covered="5"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="start" desc="(Lorg/objectweb/asm/tree/AbstractInsnNode;)V" line="62"><counter type="INSTRUCTION" missed="0" covered="17"/><counter type="LINE" missed="0" covered="6"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="matchEcj" desc="()Z" line="71"><counter type="INSTRUCTION" missed="4" covered="128"/><counter type="BRANCH" missed="3" covered="9"/><counter type="LINE" missed="2" covered="31"/><counter type="COMPLEXITY" missed="3" covered="4"/><counter type="METHOD" missed="0" covered="1"/></method><method name="matchEcjNoFlowOut" desc="()Z" line="120"><counter type="INSTRUCTION" missed="4" covered="113"/><counter type="BRANCH" missed="3" covered="11"/><counter type="LINE" missed="2" covered="26"/><counter type="COMPLEXITY" missed="3" covered="5"/><counter type="METHOD" missed="0" covered="1"/></method><method name="nextIsEcjClose" desc="(Ljava/lang/String;)Z" line="163"><counter type="INSTRUCTION" missed="0" covered="25"/><counter type="BRANCH" missed="0" covered="2"/><counter type="LINE" missed="0" covered="4"/><counter type="COMPLEXITY" missed="0" covered="2"/><counter type="METHOD" missed="0" covered="1"/></method><method name="nextIsEcjCloseAndThrow" desc="(Ljava/lang/String;)Z" line="172"><counter type="INSTRUCTION" missed="0" covered="28"/><counter type="BRANCH" missed="0" covered="2"/><counter type="LINE" missed="0" covered="7"/><counter type="COMPLEXITY" missed="0" covered="2"/><counter type="METHOD" missed="0" covered="1"/></method><method name="nextIsEcjSuppress" desc="(Ljava/lang/String;)Z" line="184"><counter type="INSTRUCTION" missed="0" covered="90"/><counter type="BRANCH" missed="0" covered="2"/><counter type="LINE" missed="0" covered="18"/><counter type="COMPLEXITY" missed="0" covered="2"/><counter type="METHOD" missed="0" covered="1"/></method><method name="nextIsClose" desc="(Ljava/lang/String;)V" line="211"><counter type="INSTRUCTION" missed="11" covered="57"/><counter type="BRANCH" missed="5" covered="9"/><counter type="LINE" missed="5" covered="13"/><counter type="COMPLEXITY" missed="5" covered="3"/><counter type="METHOD" missed="0" covered="1"/></method><method name="nextIsJump" desc="(ILjava/lang/String;)V" line="236"><counter type="INSTRUCTION" missed="3" covered="31"/><counter type="BRANCH" missed="1" covered="5"/><counter type="LINE" missed="1" covered="9"/><counter type="COMPLEXITY" missed="1" covered="3"/><counter type="METHOD" missed="0" covered="1"/></method><method name="nextIsLabel" desc="(Ljava/lang/String;)V" line="250"><counter type="INSTRUCTION" missed="7" covered="28"/><counter type="BRANCH" missed="2" covered="4"/><counter type="LINE" missed="3" covered="8"/><counter type="COMPLEXITY" missed="2" covered="2"/><counter type="METHOD" missed="0" covered="1"/></method><counter type="INSTRUCTION" missed="29" covered="533"/><counter type="BRANCH" missed="14" covered="44"/><counter type="LINE" missed="13" covered="127"/><counter type="COMPLEXITY" missed="14" covered="25"/><counter type="METHOD" missed="0" covered="10"/><counter type="CLASS" missed="0" covered="1"/></class><class name="org/jacoco/core/internal/analysis/filter/EnumFilter" sourcefilename="EnumFilter.java"><method name="&lt;init&gt;" desc="()V" line="21"><counter type="INSTRUCTION" missed="0" covered="3"/><counter type="LINE" missed="0" covered="1"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="filter" desc="(Lorg/objectweb/asm/tree/MethodNode;Lorg/jacoco/core/internal/analysis/filter/IFilterContext;Lorg/jacoco/core/internal/analysis/filter/IFilterOutput;)V" line="25"><counter type="INSTRUCTION" missed="0" covered="20"/><counter type="BRANCH" missed="0" covered="2"/><counter type="LINE" missed="0" covered="3"/><counter type="COMPLEXITY" missed="0" covered="2"/><counter type="METHOD" missed="0" covered="1"/></method><method name="isMethodFiltered" desc="(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Z" line="36"><counter type="INSTRUCTION" missed="0" covered="44"/><counter type="BRANCH" missed="2" covered="8"/><counter type="LINE" missed="0" covered="6"/><counter type="COMPLEXITY" missed="2" covered="4"/><counter type="METHOD" missed="0" covered="1"/></method><counter type="INSTRUCTION" missed="0" covered="67"/><counter type="BRANCH" missed="2" covered="10"/><counter type="LINE" missed="0" covered="10"/><counter type="COMPLEXITY" missed="2" covered="7"/><counter type="METHOD" missed="0" covered="3"/><counter type="CLASS" missed="0" covered="1"/></class><class name="org/jacoco/core/internal/analysis/filter/RecordPatternFilter$1" sourcefilename="RecordPatternFilter.java"/><class name="org/jacoco/core/internal/analysis/filter/KotlinNotNullOperatorFilter" sourcefilename="KotlinNotNullOperatorFilter.java"><method name="&lt;init&gt;" desc="()V" line="23"><counter type="INSTRUCTION" missed="0" covered="3"/><counter type="LINE" missed="0" covered="2"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="filter" desc="(Lorg/objectweb/asm/tree/MethodNode;Lorg/jacoco/core/internal/analysis/filter/IFilterContext;Lorg/jacoco/core/internal/analysis/filter/IFilterOutput;)V" line="27"><counter type="INSTRUCTION" missed="0" covered="22"/><counter type="BRANCH" missed="0" covered="2"/><counter type="LINE" missed="0" covered="4"/><counter type="COMPLEXITY" missed="0" covered="2"/><counter type="METHOD" missed="0" covered="1"/></method><counter type="INSTRUCTION" missed="0" covered="25"/><counter type="BRANCH" missed="0" covered="2"/><counter type="LINE" missed="0" covered="6"/><counter type="COMPLEXITY" missed="0" covered="3"/><counter type="METHOD" missed="0" covered="2"/><counter type="CLASS" missed="0" covered="1"/></class><class name="org/jacoco/core/internal/analysis/filter/KotlinUnsafeCastOperatorFilter$Matcher" sourcefilename="KotlinUnsafeCastOperatorFilter.java"><method name="match" desc="(Ljava/lang/String;Lorg/objectweb/asm/tree/AbstractInsnNode;Lorg/jacoco/core/internal/analysis/filter/IFilterOutput;)V" line="44"><counter type="INSTRUCTION" missed="3" covered="76"/><counter type="BRANCH" missed="5" covered="11"/><counter type="LINE" missed="3" covered="20"/><counter type="COMPLEXITY" missed="5" covered="4"/><counter type="METHOD" missed="0" covered="1"/></method><counter type="INSTRUCTION" missed="3" covered="76"/><counter type="BRANCH" missed="5" covered="11"/><counter type="LINE" missed="3" covered="20"/><counter type="COMPLEXITY" missed="5" covered="4"/><counter type="METHOD" missed="0" covered="1"/><counter type="CLASS" missed="0" covered="1"/></class><class name="org/jacoco/core/internal/analysis/filter/RecordsFilter" sourcefilename="RecordsFilter.java"><method name="&lt;init&gt;" desc="()V" line="25"><counter type="INSTRUCTION" missed="0" covered="3"/><counter type="LINE" missed="0" covered="2"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="filter" desc="(Lorg/objectweb/asm/tree/MethodNode;Lorg/jacoco/core/internal/analysis/filter/IFilterContext;Lorg/jacoco/core/internal/analysis/filter/IFilterOutput;)V" line="29"><counter type="INSTRUCTION" missed="0" covered="36"/><counter type="BRANCH" missed="0" covered="10"/><counter type="LINE" missed="0" covered="6"/><counter type="COMPLEXITY" missed="0" covered="6"/><counter type="METHOD" missed="0" covered="1"/></method><counter type="INSTRUCTION" missed="0" covered="39"/><counter type="BRANCH" missed="0" covered="10"/><counter type="LINE" missed="0" covered="8"/><counter type="COMPLEXITY" missed="0" covered="7"/><counter type="METHOD" missed="0" covered="2"/><counter type="CLASS" missed="0" covered="1"/></class><class name="org/jacoco/core/internal/analysis/filter/KotlinWhenStringFilter" sourcefilename="KotlinWhenStringFilter.java"><method name="&lt;init&gt;" desc="()V" line="31"><counter type="INSTRUCTION" missed="0" covered="3"/><counter type="LINE" missed="0" covered="2"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="filter" desc="(Lorg/objectweb/asm/tree/MethodNode;Lorg/jacoco/core/internal/analysis/filter/IFilterContext;Lorg/jacoco/core/internal/analysis/filter/IFilterOutput;)V" line="35"><counter type="INSTRUCTION" missed="0" covered="22"/><counter type="BRANCH" missed="0" covered="2"/><counter type="LINE" missed="0" covered="4"/><counter type="COMPLEXITY" missed="0" covered="2"/><counter type="METHOD" missed="0" covered="1"/></method><counter type="INSTRUCTION" missed="0" covered="25"/><counter type="BRANCH" missed="0" covered="2"/><counter type="LINE" missed="0" covered="6"/><counter type="COMPLEXITY" missed="0" covered="3"/><counter type="METHOD" missed="0" covered="2"/><counter type="CLASS" missed="0" covered="1"/></class><class name="org/jacoco/core/internal/analysis/filter/KotlinNotNullOperatorFilter$Matcher" sourcefilename="KotlinNotNullOperatorFilter.java"><method name="match" desc="(Lorg/objectweb/asm/tree/AbstractInsnNode;Lorg/jacoco/core/internal/analysis/filter/IFilterOutput;)V" line="36"><counter type="INSTRUCTION" missed="0" covered="24"/><counter type="BRANCH" missed="0" covered="4"/><counter type="LINE" missed="0" covered="8"/><counter type="COMPLEXITY" missed="0" covered="3"/><counter type="METHOD" missed="0" covered="1"/></method><counter type="INSTRUCTION" missed="0" covered="24"/><counter type="BRANCH" missed="0" covered="4"/><counter type="LINE" missed="0" covered="8"/><counter type="COMPLEXITY" missed="0" covered="3"/><counter type="METHOD" missed="0" covered="1"/><counter type="CLASS" missed="0" covered="1"/></class><class name="org/jacoco/core/internal/analysis/filter/KotlinWhenFilter" sourcefilename="KotlinWhenFilter.java"><method name="&lt;init&gt;" desc="()V" line="33"><counter type="INSTRUCTION" missed="0" covered="3"/><counter type="LINE" missed="0" covered="2"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="filter" desc="(Lorg/objectweb/asm/tree/MethodNode;Lorg/jacoco/core/internal/analysis/filter/IFilterContext;Lorg/jacoco/core/internal/analysis/filter/IFilterOutput;)V" line="39"><counter type="INSTRUCTION" missed="0" covered="22"/><counter type="BRANCH" missed="0" covered="2"/><counter type="LINE" missed="0" covered="4"/><counter type="COMPLEXITY" missed="0" covered="2"/><counter type="METHOD" missed="0" covered="1"/></method><method name="getDefaultLabel" desc="(Lorg/objectweb/asm/tree/AbstractInsnNode;)Lorg/objectweb/asm/tree/LabelNode;" line="75"><counter type="INSTRUCTION" missed="4" covered="9"/><counter type="BRANCH" missed="1" covered="2"/><counter type="LINE" missed="1" covered="3"/><counter type="COMPLEXITY" missed="1" covered="2"/><counter type="METHOD" missed="0" covered="1"/></method><method name="ignoreDefaultBranch" desc="(Lorg/objectweb/asm/tree/AbstractInsnNode;Lorg/jacoco/core/internal/analysis/filter/IFilterOutput;)V" line="88"><counter type="INSTRUCTION" missed="5" covered="33"/><counter type="BRANCH" missed="1" covered="3"/><counter type="LINE" missed="1" covered="7"/><counter type="COMPLEXITY" missed="1" covered="2"/><counter type="METHOD" missed="0" covered="1"/></method><counter type="INSTRUCTION" missed="9" covered="67"/><counter type="BRANCH" missed="2" covered="7"/><counter type="LINE" missed="2" covered="16"/><counter type="COMPLEXITY" missed="2" covered="7"/><counter type="METHOD" missed="0" covered="4"/><counter type="CLASS" missed="0" covered="1"/></class><class name="org/jacoco/core/internal/analysis/filter/FinallyFilter" sourcefilename="FinallyFilter.java"><method name="&lt;init&gt;" desc="()V" line="69"><counter type="INSTRUCTION" missed="0" covered="3"/><counter type="LINE" missed="0" covered="1"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="filter" desc="(Lorg/objectweb/asm/tree/MethodNode;Lorg/jacoco/core/internal/analysis/filter/IFilterContext;Lorg/jacoco/core/internal/analysis/filter/IFilterOutput;)V" line="73"><counter type="INSTRUCTION" missed="0" covered="21"/><counter type="BRANCH" missed="0" covered="4"/><counter type="LINE" missed="0" covered="4"/><counter type="COMPLEXITY" missed="0" covered="3"/><counter type="METHOD" missed="0" covered="1"/></method><method name="filter" desc="(Lorg/jacoco/core/internal/analysis/filter/IFilterOutput;Ljava/util/List;Lorg/objectweb/asm/tree/TryCatchBlockNode;)V" line="83"><counter type="INSTRUCTION" missed="3" covered="148"/><counter type="BRANCH" missed="4" covered="31"/><counter type="LINE" missed="2" covered="36"/><counter type="COMPLEXITY" missed="4" covered="15"/><counter type="METHOD" missed="0" covered="1"/></method><method name="merge" desc="(Lorg/jacoco/core/internal/analysis/filter/IFilterOutput;ILorg/objectweb/asm/tree/AbstractInsnNode;Lorg/objectweb/asm/tree/AbstractInsnNode;)V" line="160"><counter type="INSTRUCTION" missed="1" covered="45"/><counter type="BRANCH" missed="2" covered="6"/><counter type="LINE" missed="1" covered="11"/><counter type="COMPLEXITY" missed="2" covered="3"/><counter type="METHOD" missed="0" covered="1"/></method><method name="isSame" desc="(ILorg/objectweb/asm/tree/AbstractInsnNode;Lorg/objectweb/asm/tree/AbstractInsnNode;)Z" line="182"><counter type="INSTRUCTION" missed="2" covered="25"/><counter type="BRANCH" missed="2" covered="4"/><counter type="LINE" missed="1" covered="6"/><counter type="COMPLEXITY" missed="2" covered="2"/><counter type="METHOD" missed="0" covered="1"/></method><method name="size" desc="(Lorg/objectweb/asm/tree/AbstractInsnNode;)I" line="197"><counter type="INSTRUCTION" missed="2" covered="38"/><counter type="BRANCH" missed="1" covered="9"/><counter type="LINE" missed="1" covered="12"/><counter type="COMPLEXITY" missed="1" covered="5"/><counter type="METHOD" missed="0" covered="1"/></method><method name="next" desc="(Lorg/objectweb/asm/tree/AbstractInsnNode;)Lorg/objectweb/asm/tree/AbstractInsnNode;" line="221"><counter type="INSTRUCTION" missed="0" covered="19"/><counter type="BRANCH" missed="1" covered="7"/><counter type="LINE" missed="0" covered="3"/><counter type="COMPLEXITY" missed="1" covered="4"/><counter type="METHOD" missed="0" covered="1"/></method><counter type="INSTRUCTION" missed="8" covered="299"/><counter type="BRANCH" missed="10" covered="61"/><counter type="LINE" missed="5" covered="73"/><counter type="COMPLEXITY" missed="10" covered="33"/><counter type="METHOD" missed="0" covered="7"/><counter type="CLASS" missed="0" covered="1"/></class><class name="org/jacoco/core/internal/analysis/filter/EnumEmptyConstructorFilter" sourcefilename="EnumEmptyConstructorFilter.java"><method name="&lt;init&gt;" desc="()V" line="32"><counter type="INSTRUCTION" missed="0" covered="3"/><counter type="LINE" missed="0" covered="2"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="filter" desc="(Lorg/objectweb/asm/tree/MethodNode;Lorg/jacoco/core/internal/analysis/filter/IFilterContext;Lorg/jacoco/core/internal/analysis/filter/IFilterOutput;)V" line="41"><counter type="INSTRUCTION" missed="0" covered="31"/><counter type="BRANCH" missed="0" covered="8"/><counter type="LINE" missed="0" covered="3"/><counter type="COMPLEXITY" missed="0" covered="5"/><counter type="METHOD" missed="0" covered="1"/></method><counter type="INSTRUCTION" missed="0" covered="34"/><counter type="BRANCH" missed="0" covered="8"/><counter type="LINE" missed="0" covered="5"/><counter type="COMPLEXITY" missed="0" covered="6"/><counter type="METHOD" missed="0" covered="2"/><counter type="CLASS" missed="0" covered="1"/></class><class name="org/jacoco/core/internal/analysis/filter/TryWithResourcesJavacFilter" sourcefilename="TryWithResourcesJavacFilter.java"><method name="&lt;init&gt;" desc="()V" line="25"><counter type="INSTRUCTION" missed="0" covered="3"/><counter type="LINE" missed="0" covered="2"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="filter" desc="(Lorg/objectweb/asm/tree/MethodNode;Lorg/jacoco/core/internal/analysis/filter/IFilterContext;Lorg/jacoco/core/internal/analysis/filter/IFilterOutput;)V" line="29"><counter type="INSTRUCTION" missed="0" covered="53"/><counter type="BRANCH" missed="0" covered="10"/><counter type="LINE" missed="0" covered="10"/><counter type="COMPLEXITY" missed="0" covered="6"/><counter type="METHOD" missed="0" covered="1"/></method><counter type="INSTRUCTION" missed="0" covered="56"/><counter type="BRANCH" missed="0" covered="10"/><counter type="LINE" missed="0" covered="12"/><counter type="COMPLEXITY" missed="0" covered="7"/><counter type="METHOD" missed="0" covered="2"/><counter type="CLASS" missed="0" covered="1"/></class><class name="org/jacoco/core/internal/analysis/filter/PrivateEmptyNoArgConstructorFilter$1" sourcefilename="PrivateEmptyNoArgConstructorFilter.java"/><class name="org/jacoco/core/internal/analysis/filter/KotlinGeneratedFilter" sourcefilename="KotlinGeneratedFilter.java"><method name="&lt;init&gt;" desc="()V" line="23"><counter type="INSTRUCTION" missed="0" covered="3"/><counter type="LINE" missed="0" covered="1"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="isKotlinClass" desc="(Lorg/jacoco/core/internal/analysis/filter/IFilterContext;)Z" line="28"><counter type="INSTRUCTION" missed="0" covered="5"/><counter type="LINE" missed="0" covered="1"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="filter" desc="(Lorg/objectweb/asm/tree/MethodNode;Lorg/jacoco/core/internal/analysis/filter/IFilterContext;Lorg/jacoco/core/internal/analysis/filter/IFilterOutput;)V" line="34"><counter type="INSTRUCTION" missed="0" covered="22"/><counter type="BRANCH" missed="0" covered="6"/><counter type="LINE" missed="0" covered="8"/><counter type="COMPLEXITY" missed="0" covered="4"/><counter type="METHOD" missed="0" covered="1"/></method><method name="hasLineNumber" desc="(Lorg/objectweb/asm/tree/MethodNode;)Z" line="53"><counter type="INSTRUCTION" missed="0" covered="20"/><counter type="BRANCH" missed="0" covered="4"/><counter type="LINE" missed="0" covered="4"/><counter type="COMPLEXITY" missed="0" covered="3"/><counter type="METHOD" missed="0" covered="1"/></method><counter type="INSTRUCTION" missed="0" covered="50"/><counter type="BRANCH" missed="0" covered="10"/><counter type="LINE" missed="0" covered="14"/><counter type="COMPLEXITY" missed="0" covered="9"/><counter type="METHOD" missed="0" covered="4"/><counter type="CLASS" missed="0" covered="1"/></class><class name="org/jacoco/core/internal/analysis/filter/BridgeFilter" sourcefilename="BridgeFilter.java"><method name="&lt;init&gt;" desc="()V" line="21"><counter type="INSTRUCTION" missed="0" covered="3"/><counter type="LINE" missed="0" covered="1"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="filter" desc="(Lorg/objectweb/asm/tree/MethodNode;Lorg/jacoco/core/internal/analysis/filter/IFilterContext;Lorg/jacoco/core/internal/analysis/filter/IFilterOutput;)V" line="25"><counter type="INSTRUCTION" missed="0" covered="15"/><counter type="BRANCH" missed="0" covered="2"/><counter type="LINE" missed="0" covered="4"/><counter type="COMPLEXITY" missed="0" covered="2"/><counter type="METHOD" missed="0" covered="1"/></method><counter type="INSTRUCTION" missed="0" covered="18"/><counter type="BRANCH" missed="0" covered="2"/><counter type="LINE" missed="0" covered="5"/><counter type="COMPLEXITY" missed="0" covered="3"/><counter type="METHOD" missed="0" covered="2"/><counter type="CLASS" missed="0" covered="1"/></class><class name="org/jacoco/core/internal/analysis/filter/KotlinLateinitFilter$Matcher" sourcefilename="KotlinLateinitFilter.java"><method name="match" desc="(Lorg/objectweb/asm/tree/AbstractInsnNode;Lorg/jacoco/core/internal/analysis/filter/IFilterOutput;)V" line="38"><counter type="INSTRUCTION" missed="0" covered="99"/><counter type="BRANCH" missed="2" covered="20"/><counter type="LINE" missed="0" covered="23"/><counter type="COMPLEXITY" missed="2" covered="10"/><counter type="METHOD" missed="0" covered="1"/></method><method name="nextIsIntrinsic" desc="()V" line="72"><counter type="INSTRUCTION" missed="1" covered="30"/><counter type="BRANCH" missed="1" covered="5"/><counter type="LINE" missed="1" covered="9"/><counter type="COMPLEXITY" missed="1" covered="3"/><counter type="METHOD" missed="0" covered="1"/></method><counter type="INSTRUCTION" missed="1" covered="129"/><counter type="BRANCH" missed="3" covered="25"/><counter type="LINE" missed="1" covered="32"/><counter type="COMPLEXITY" missed="3" covered="13"/><counter type="METHOD" missed="0" covered="2"/><counter type="CLASS" missed="0" covered="1"/></class><class name="org/jacoco/core/internal/analysis/filter/RecordsFilter$1" sourcefilename="RecordsFilter.java"/><class name="org/jacoco/core/internal/analysis/filter/TryWithResourcesJavacFilter$1" sourcefilename="TryWithResourcesJavacFilter.java"><method name="&lt;clinit&gt;" desc="()V" line="184"><counter type="INSTRUCTION" missed="4" covered="29"/><counter type="LINE" missed="0" covered="1"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><counter type="INSTRUCTION" missed="4" covered="29"/><counter type="LINE" missed="0" covered="1"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/><counter type="CLASS" missed="0" covered="1"/></class><class name="org/jacoco/core/internal/analysis/filter/KotlinWhenFilter$1" sourcefilename="KotlinWhenFilter.java"/><class name="org/jacoco/core/internal/analysis/filter/ExhaustiveSwitchFilter$Matcher" sourcefilename="ExhaustiveSwitchFilter.java"><method name="match" desc="(Lorg/objectweb/asm/tree/AbstractInsnNode;ILorg/jacoco/core/internal/analysis/filter/IFilterOutput;)V" line="50"><counter type="INSTRUCTION" missed="13" covered="126"/><counter type="BRANCH" missed="6" covered="16"/><counter type="LINE" missed="6" covered="28"/><counter type="COMPLEXITY" missed="6" covered="6"/><counter type="METHOD" missed="0" covered="1"/></method><method name="skipToLineNumberOrInstruction" desc="(Lorg/objectweb/asm/tree/AbstractInsnNode;)Lorg/objectweb/asm/tree/AbstractInsnNode;" line="105"><counter type="INSTRUCTION" missed="0" covered="16"/><counter type="BRANCH" missed="2" covered="4"/><counter type="LINE" missed="0" covered="3"/><counter type="COMPLEXITY" missed="2" covered="2"/><counter type="METHOD" missed="0" covered="1"/></method><counter type="INSTRUCTION" missed="13" covered="142"/><counter type="BRANCH" missed="8" covered="20"/><counter type="LINE" missed="6" covered="31"/><counter type="COMPLEXITY" missed="8" covered="8"/><counter type="METHOD" missed="0" covered="2"/><counter type="CLASS" missed="0" covered="1"/></class><class name="org/jacoco/core/internal/analysis/filter/StringSwitchFilter" sourcefilename="StringSwitchFilter.java"><method name="&lt;init&gt;" desc="()V" line="32"><counter type="INSTRUCTION" missed="0" covered="3"/><counter type="LINE" missed="0" covered="2"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="filter" desc="(Lorg/objectweb/asm/tree/MethodNode;Lorg/jacoco/core/internal/analysis/filter/IFilterContext;Lorg/jacoco/core/internal/analysis/filter/IFilterOutput;)V" line="36"><counter type="INSTRUCTION" missed="0" covered="22"/><counter type="BRANCH" missed="0" covered="2"/><counter type="LINE" missed="0" covered="4"/><counter type="COMPLEXITY" missed="0" covered="2"/><counter type="METHOD" missed="0" covered="1"/></method><counter type="INSTRUCTION" missed="0" covered="25"/><counter type="BRANCH" missed="0" covered="2"/><counter type="LINE" missed="0" covered="6"/><counter type="COMPLEXITY" missed="0" covered="3"/><counter type="METHOD" missed="0" covered="2"/><counter type="CLASS" missed="0" covered="1"/></class><class name="org/jacoco/core/internal/analysis/filter/Filters" sourcefilename="Filters.java"><method name="all" desc="()Lorg/jacoco/core/internal/analysis/filter/IFilter;" line="35"><counter type="INSTRUCTION" missed="0" covered="168"/><counter type="LINE" missed="0" covered="1"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="&lt;init&gt;" desc="([Lorg/jacoco/core/internal/analysis/filter/IFilter;)V" line="54"><counter type="INSTRUCTION" missed="0" covered="6"/><counter type="LINE" missed="0" covered="3"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="filter" desc="(Lorg/objectweb/asm/tree/MethodNode;Lorg/jacoco/core/internal/analysis/filter/IFilterContext;Lorg/jacoco/core/internal/analysis/filter/IFilterOutput;)V" line="60"><counter type="INSTRUCTION" missed="0" covered="23"/><counter type="BRANCH" missed="0" covered="2"/><counter type="LINE" missed="0" covered="3"/><counter type="COMPLEXITY" missed="0" covered="2"/><counter type="METHOD" missed="0" covered="1"/></method><method name="&lt;clinit&gt;" desc="()V" line="25"><counter type="INSTRUCTION" missed="0" covered="7"/><counter type="LINE" missed="0" covered="1"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><counter type="INSTRUCTION" missed="0" covered="204"/><counter type="BRANCH" missed="0" covered="2"/><counter type="LINE" missed="0" covered="8"/><counter type="COMPLEXITY" missed="0" covered="5"/><counter type="METHOD" missed="0" covered="4"/><counter type="CLASS" missed="0" covered="1"/></class><class name="org/jacoco/core/internal/analysis/filter/TryWithResourcesJavacFilter$Matcher" sourcefilename="TryWithResourcesJavacFilter.java"><method name="&lt;init&gt;" desc="(Lorg/jacoco/core/internal/analysis/filter/IFilterOutput;)V" line="99"><counter type="INSTRUCTION" missed="0" covered="6"/><counter type="LINE" missed="0" covered="3"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="start" desc="(Lorg/objectweb/asm/tree/AbstractInsnNode;)V" line="127"><counter type="INSTRUCTION" missed="0" covered="14"/><counter type="LINE" missed="0" covered="5"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="matchJavac" desc="(Lorg/jacoco/core/internal/analysis/filter/TryWithResourcesJavacFilter$Matcher$JavacPattern;)Z" line="135"><counter type="INSTRUCTION" missed="0" covered="96"/><counter type="BRANCH" missed="0" covered="8"/><counter type="LINE" missed="0" covered="27"/><counter type="COMPLEXITY" missed="0" covered="5"/><counter type="METHOD" missed="0" covered="1"/></method><method name="nextIsJavacClose" desc="(Lorg/jacoco/core/internal/analysis/filter/TryWithResourcesJavacFilter$Matcher$JavacPattern;Ljava/lang/String;)Z" line="184"><counter type="INSTRUCTION" missed="7" covered="105"/><counter type="BRANCH" missed="3" covered="10"/><counter type="LINE" missed="2" covered="23"/><counter type="COMPLEXITY" missed="3" covered="5"/><counter type="METHOD" missed="0" covered="1"/></method><method name="nextIsClose" desc="()V" line="232"><counter type="INSTRUCTION" missed="11" covered="50"/><counter type="BRANCH" missed="4" covered="10"/><counter type="LINE" missed="5" covered="12"/><counter type="COMPLEXITY" missed="4" covered="4"/><counter type="METHOD" missed="0" covered="1"/></method><counter type="INSTRUCTION" missed="18" covered="271"/><counter type="BRANCH" missed="7" covered="28"/><counter type="LINE" missed="7" covered="70"/><counter type="COMPLEXITY" missed="7" covered="16"/><counter type="METHOD" missed="0" covered="5"/><counter type="CLASS" missed="0" covered="1"/></class><class name="org/jacoco/core/internal/analysis/filter/KotlinUnsafeCastOperatorFilter$1" sourcefilename="KotlinUnsafeCastOperatorFilter.java"/><class name="org/jacoco/core/internal/analysis/filter/EnumEmptyConstructorFilter$Matcher" sourcefilename="EnumEmptyConstructorFilter.java"><method name="match" desc="(Lorg/objectweb/asm/tree/MethodNode;)Z" line="52"><counter type="INSTRUCTION" missed="0" covered="25"/><counter type="BRANCH" missed="0" covered="2"/><counter type="LINE" missed="0" covered="6"/><counter type="COMPLEXITY" missed="0" covered="2"/><counter type="METHOD" missed="0" covered="1"/></method><counter type="INSTRUCTION" missed="0" covered="25"/><counter type="BRANCH" missed="0" covered="2"/><counter type="LINE" missed="0" covered="6"/><counter type="COMPLEXITY" missed="0" covered="2"/><counter type="METHOD" missed="0" covered="1"/><counter type="CLASS" missed="0" covered="1"/></class><class name="org/jacoco/core/internal/analysis/filter/IFilter" sourcefilename="IFilter.java"/><class name="org/jacoco/core/internal/analysis/filter/SynchronizedFilter$Matcher" sourcefilename="SynchronizedFilter.java"><method name="&lt;init&gt;" desc="(Lorg/objectweb/asm/tree/AbstractInsnNode;)V" line="45"><counter type="INSTRUCTION" missed="0" covered="6"/><counter type="LINE" missed="0" covered="3"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="match" desc="()Lorg/objectweb/asm/tree/AbstractInsnNode;" line="50"><counter type="INSTRUCTION" missed="0" covered="11"/><counter type="BRANCH" missed="0" covered="4"/><counter type="LINE" missed="0" covered="3"/><counter type="COMPLEXITY" missed="0" covered="3"/><counter type="METHOD" missed="0" covered="1"/></method><method name="nextIsJavac" desc="()Z" line="57"><counter type="INSTRUCTION" missed="0" covered="28"/><counter type="BRANCH" missed="0" covered="2"/><counter type="LINE" missed="0" covered="7"/><counter type="COMPLEXITY" missed="0" covered="2"/><counter type="METHOD" missed="0" covered="1"/></method><method name="nextIsEcj" desc="()Z" line="67"><counter type="INSTRUCTION" missed="0" covered="20"/><counter type="BRANCH" missed="0" covered="2"/><counter type="LINE" missed="0" covered="5"/><counter type="COMPLEXITY" missed="0" covered="2"/><counter type="METHOD" missed="0" covered="1"/></method><counter type="INSTRUCTION" missed="0" covered="65"/><counter type="BRANCH" missed="0" covered="8"/><counter type="LINE" missed="0" covered="18"/><counter type="COMPLEXITY" missed="0" covered="8"/><counter type="METHOD" missed="0" covered="4"/><counter type="CLASS" missed="0" covered="1"/></class><class name="org/jacoco/core/internal/analysis/filter/KotlinDefaultArgumentsFilter$Matcher" sourcefilename="KotlinDefaultArgumentsFilter.java"><method name="match" desc="(Lorg/objectweb/asm/tree/MethodNode;Lorg/jacoco/core/internal/analysis/filter/IFilterOutput;Z)V" line="91"><counter type="INSTRUCTION" missed="2" covered="129"/><counter type="BRANCH" missed="4" covered="12"/><counter type="LINE" missed="2" covered="28"/><counter type="COMPLEXITY" missed="4" covered="5"/><counter type="METHOD" missed="0" covered="1"/></method><method name="maskVar" desc="(Ljava/lang/String;Z)I" line="141"><counter type="INSTRUCTION" missed="0" covered="34"/><counter type="BRANCH" missed="0" covered="4"/><counter type="LINE" missed="0" covered="8"/><counter type="COMPLEXITY" missed="0" covered="3"/><counter type="METHOD" missed="0" covered="1"/></method><counter type="INSTRUCTION" missed="2" covered="163"/><counter type="BRANCH" missed="4" covered="16"/><counter type="LINE" missed="2" covered="36"/><counter type="COMPLEXITY" missed="4" covered="8"/><counter type="METHOD" missed="0" covered="2"/><counter type="CLASS" missed="0" covered="1"/></class><class name="org/jacoco/core/internal/analysis/filter/KotlinDefaultMethodsFilter" sourcefilename="KotlinDefaultMethodsFilter.java"><method name="&lt;init&gt;" desc="()V" line="23"><counter type="INSTRUCTION" missed="0" covered="3"/><counter type="LINE" missed="0" covered="2"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="filter" desc="(Lorg/objectweb/asm/tree/MethodNode;Lorg/jacoco/core/internal/analysis/filter/IFilterContext;Lorg/jacoco/core/internal/analysis/filter/IFilterOutput;)V" line="27"><counter type="INSTRUCTION" missed="0" covered="12"/><counter type="BRANCH" missed="0" covered="2"/><counter type="LINE" missed="0" covered="4"/><counter type="COMPLEXITY" missed="0" covered="2"/><counter type="METHOD" missed="0" covered="1"/></method><counter type="INSTRUCTION" missed="0" covered="15"/><counter type="BRANCH" missed="0" covered="2"/><counter type="LINE" missed="0" covered="6"/><counter type="COMPLEXITY" missed="0" covered="3"/><counter type="METHOD" missed="0" covered="2"/><counter type="CLASS" missed="0" covered="1"/></class><class name="org/jacoco/core/internal/analysis/filter/RecordPatternFilter$Matcher" sourcefilename="RecordPatternFilter.java"><method name="match" desc="(Lorg/objectweb/asm/tree/AbstractInsnNode;Lorg/jacoco/core/internal/analysis/filter/IFilterOutput;)V" line="37"><counter type="INSTRUCTION" missed="0" covered="46"/><counter type="BRANCH" missed="1" covered="1"/><counter type="LINE" missed="0" covered="12"/><counter type="COMPLEXITY" missed="1" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><counter type="INSTRUCTION" missed="0" covered="46"/><counter type="BRANCH" missed="1" covered="1"/><counter type="LINE" missed="0" covered="12"/><counter type="COMPLEXITY" missed="1" covered="1"/><counter type="METHOD" missed="0" covered="1"/><counter type="CLASS" missed="0" covered="1"/></class><class name="org/jacoco/core/internal/analysis/filter/IFilterContext" sourcefilename="IFilterContext.java"/><class name="org/jacoco/core/internal/analysis/filter/SynchronizedFilter" sourcefilename="SynchronizedFilter.java"><method name="&lt;init&gt;" desc="()V" line="23"><counter type="INSTRUCTION" missed="0" covered="3"/><counter type="LINE" missed="0" covered="2"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="filter" desc="(Lorg/objectweb/asm/tree/MethodNode;Lorg/jacoco/core/internal/analysis/filter/IFilterContext;Lorg/jacoco/core/internal/analysis/filter/IFilterOutput;)V" line="27"><counter type="INSTRUCTION" missed="0" covered="39"/><counter type="BRANCH" missed="0" covered="8"/><counter type="LINE" missed="0" covered="11"/><counter type="COMPLEXITY" missed="0" covered="5"/><counter type="METHOD" missed="0" covered="1"/></method><counter type="INSTRUCTION" missed="0" covered="42"/><counter type="BRANCH" missed="0" covered="8"/><counter type="LINE" missed="0" covered="13"/><counter type="COMPLEXITY" missed="0" covered="6"/><counter type="METHOD" missed="0" covered="2"/><counter type="CLASS" missed="0" covered="1"/></class><class name="org/jacoco/core/internal/analysis/filter/AbstractMatcher" sourcefilename="AbstractMatcher.java"><method name="&lt;init&gt;" desc="()V" line="26"><counter type="INSTRUCTION" missed="0" covered="8"/><counter type="LINE" missed="0" covered="2"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="firstIsALoad0" desc="(Lorg/objectweb/asm/tree/MethodNode;)V" line="37"><counter type="INSTRUCTION" missed="0" covered="25"/><counter type="BRANCH" missed="0" covered="6"/><counter type="LINE" missed="0" covered="6"/><counter type="COMPLEXITY" missed="0" covered="4"/><counter type="METHOD" missed="0" covered="1"/></method><method name="nextIsType" desc="(ILjava/lang/String;)V" line="51"><counter type="INSTRUCTION" missed="0" covered="19"/><counter type="BRANCH" missed="0" covered="4"/><counter type="LINE" missed="0" covered="7"/><counter type="COMPLEXITY" missed="0" covered="3"/><counter type="METHOD" missed="0" covered="1"/></method><method name="nextIsInvoke" desc="(ILjava/lang/String;Ljava/lang/String;Ljava/lang/String;)V" line="68"><counter type="INSTRUCTION" missed="0" covered="31"/><counter type="BRANCH" missed="0" covered="8"/><counter type="LINE" missed="0" covered="8"/><counter type="COMPLEXITY" missed="0" covered="5"/><counter type="METHOD" missed="0" covered="1"/></method><method name="nextIsField" desc="(ILjava/lang/String;Ljava/lang/String;Ljava/lang/String;)V" line="87"><counter type="INSTRUCTION" missed="0" covered="31"/><counter type="BRANCH" missed="0" covered="8"/><counter type="LINE" missed="0" covered="8"/><counter type="COMPLEXITY" missed="0" covered="5"/><counter type="METHOD" missed="0" covered="1"/></method><method name="nextIsVar" desc="(ILjava/lang/String;)V" line="100"><counter type="INSTRUCTION" missed="0" covered="35"/><counter type="BRANCH" missed="0" covered="6"/><counter type="LINE" missed="0" covered="10"/><counter type="COMPLEXITY" missed="0" covered="4"/><counter type="METHOD" missed="0" covered="1"/></method><method name="nextIsSwitch" desc="()V" line="119"><counter type="INSTRUCTION" missed="0" covered="15"/><counter type="BRANCH" missed="0" covered="4"/><counter type="LINE" missed="0" covered="7"/><counter type="COMPLEXITY" missed="0" covered="3"/><counter type="METHOD" missed="0" covered="1"/></method><method name="nextIs" desc="(I)V" line="137"><counter type="INSTRUCTION" missed="0" covered="15"/><counter type="BRANCH" missed="0" covered="4"/><counter type="LINE" missed="0" covered="6"/><counter type="COMPLEXITY" missed="0" covered="3"/><counter type="METHOD" missed="0" covered="1"/></method><method name="next" desc="()V" line="150"><counter type="INSTRUCTION" missed="0" covered="12"/><counter type="BRANCH" missed="0" covered="2"/><counter type="LINE" missed="0" covered="5"/><counter type="COMPLEXITY" missed="0" covered="2"/><counter type="METHOD" missed="0" covered="1"/></method><method name="skipNonOpcodes" desc="()V" line="162"><counter type="INSTRUCTION" missed="0" covered="6"/><counter type="LINE" missed="0" covered="2"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="skipNonOpcodes" desc="(Lorg/objectweb/asm/tree/AbstractInsnNode;)Lorg/objectweb/asm/tree/AbstractInsnNode;" line="171"><counter type="INSTRUCTION" missed="0" covered="20"/><counter type="BRANCH" missed="0" covered="8"/><counter type="LINE" missed="0" covered="3"/><counter type="COMPLEXITY" missed="0" covered="5"/><counter type="METHOD" missed="0" covered="1"/></method><counter type="INSTRUCTION" missed="0" covered="217"/><counter type="BRANCH" missed="0" covered="50"/><counter type="LINE" missed="0" covered="64"/><counter type="COMPLEXITY" missed="0" covered="36"/><counter type="METHOD" missed="0" covered="11"/><counter type="CLASS" missed="0" covered="1"/></class><class name="org/jacoco/core/internal/analysis/filter/StringSwitchJavacFilter" sourcefilename="StringSwitchJavacFilter.java"><method name="&lt;init&gt;" desc="()V" line="26"><counter type="INSTRUCTION" missed="0" covered="3"/><counter type="LINE" missed="0" covered="2"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="filter" desc="(Lorg/objectweb/asm/tree/MethodNode;Lorg/jacoco/core/internal/analysis/filter/IFilterContext;Lorg/jacoco/core/internal/analysis/filter/IFilterOutput;)V" line="30"><counter type="INSTRUCTION" missed="0" covered="17"/><counter type="BRANCH" missed="0" covered="2"/><counter type="LINE" missed="0" covered="3"/><counter type="COMPLEXITY" missed="0" covered="2"/><counter type="METHOD" missed="0" covered="1"/></method><method name="filter" desc="(Lorg/objectweb/asm/tree/AbstractInsnNode;Lorg/jacoco/core/internal/analysis/filter/IFilterOutput;)V" line="44"><counter type="INSTRUCTION" missed="0" covered="32"/><counter type="BRANCH" missed="0" covered="6"/><counter type="LINE" missed="0" covered="8"/><counter type="COMPLEXITY" missed="0" covered="4"/><counter type="METHOD" missed="0" covered="1"/></method><counter type="INSTRUCTION" missed="0" covered="52"/><counter type="BRANCH" missed="0" covered="8"/><counter type="LINE" missed="0" covered="13"/><counter type="COMPLEXITY" missed="0" covered="7"/><counter type="METHOD" missed="0" covered="3"/><counter type="CLASS" missed="0" covered="1"/></class><class name="org/jacoco/core/internal/analysis/filter/KotlinCoroutineFilter$Matcher" sourcefilename="KotlinCoroutineFilter.java"><method name="matchOptimizedTailCall" desc="(Lorg/objectweb/asm/tree/MethodNode;Lorg/jacoco/core/internal/analysis/filter/IFilterOutput;)V" line="58"><counter type="INSTRUCTION" missed="0" covered="43"/><counter type="BRANCH" missed="0" covered="4"/><counter type="LINE" missed="0" covered="10"/><counter type="COMPLEXITY" missed="0" covered="3"/><counter type="METHOD" missed="0" covered="1"/></method><method name="match" desc="(Lorg/objectweb/asm/tree/MethodNode;Lorg/jacoco/core/internal/analysis/filter/IFilterOutput;)V" line="75"><counter type="INSTRUCTION" missed="8" covered="263"/><counter type="BRANCH" missed="13" covered="27"/><counter type="LINE" missed="6" covered="57"/><counter type="COMPLEXITY" missed="13" covered="8"/><counter type="METHOD" missed="0" covered="1"/></method><method name="nextIsThrowOnFailure" desc="()V" line="178"><counter type="INSTRUCTION" missed="0" covered="39"/><counter type="BRANCH" missed="0" covered="2"/><counter type="LINE" missed="0" covered="12"/><counter type="COMPLEXITY" missed="0" covered="2"/><counter type="METHOD" missed="0" covered="1"/></method><method name="nextIsCreateStateInstance" desc="()V" line="197"><counter type="INSTRUCTION" missed="3" covered="96"/><counter type="BRANCH" missed="4" covered="6"/><counter type="LINE" missed="3" covered="28"/><counter type="COMPLEXITY" missed="4" covered="2"/><counter type="METHOD" missed="0" covered="1"/></method><counter type="INSTRUCTION" missed="11" covered="441"/><counter type="BRANCH" missed="17" covered="39"/><counter type="LINE" missed="9" covered="107"/><counter type="COMPLEXITY" missed="17" covered="15"/><counter type="METHOD" missed="0" covered="4"/><counter type="CLASS" missed="0" covered="1"/></class><class name="org/jacoco/core/internal/analysis/filter/AssertFilter$1" sourcefilename="AssertFilter.java"/><class name="org/jacoco/core/internal/analysis/filter/KotlinWhenStringFilter$Matcher" sourcefilename="KotlinWhenStringFilter.java"><method name="match" desc="(Lorg/objectweb/asm/tree/AbstractInsnNode;Lorg/jacoco/core/internal/analysis/filter/IFilterOutput;)V" line="45"><counter type="INSTRUCTION" missed="2" covered="147"/><counter type="BRANCH" missed="3" covered="17"/><counter type="LINE" missed="2" covered="41"/><counter type="COMPLEXITY" missed="3" covered="8"/><counter type="METHOD" missed="0" covered="1"/></method><counter type="INSTRUCTION" missed="2" covered="147"/><counter type="BRANCH" missed="3" covered="17"/><counter type="LINE" missed="2" covered="41"/><counter type="COMPLEXITY" missed="3" covered="8"/><counter type="METHOD" missed="0" covered="1"/><counter type="CLASS" missed="0" covered="1"/></class><class name="org/jacoco/core/internal/analysis/filter/RecordPatternFilter" sourcefilename="RecordPatternFilter.java"><method name="&lt;init&gt;" desc="()V" line="23"><counter type="INSTRUCTION" missed="0" covered="3"/><counter type="LINE" missed="0" covered="2"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="filter" desc="(Lorg/objectweb/asm/tree/MethodNode;Lorg/jacoco/core/internal/analysis/filter/IFilterContext;Lorg/jacoco/core/internal/analysis/filter/IFilterOutput;)V" line="27"><counter type="INSTRUCTION" missed="0" covered="28"/><counter type="BRANCH" missed="0" covered="4"/><counter type="LINE" missed="0" covered="5"/><counter type="COMPLEXITY" missed="0" covered="3"/><counter type="METHOD" missed="0" covered="1"/></method><counter type="INSTRUCTION" missed="0" covered="31"/><counter type="BRANCH" missed="0" covered="4"/><counter type="LINE" missed="0" covered="7"/><counter type="COMPLEXITY" missed="0" covered="4"/><counter type="METHOD" missed="0" covered="2"/><counter type="CLASS" missed="0" covered="1"/></class><class name="org/jacoco/core/internal/analysis/filter/AnnotationGeneratedFilter" sourcefilename="AnnotationGeneratedFilter.java"><method name="&lt;init&gt;" desc="()V" line="26"><counter type="INSTRUCTION" missed="0" covered="3"/><counter type="LINE" missed="0" covered="1"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="filter" desc="(Lorg/objectweb/asm/tree/MethodNode;Lorg/jacoco/core/internal/analysis/filter/IFilterContext;Lorg/jacoco/core/internal/analysis/filter/IFilterOutput;)V" line="31"><counter type="INSTRUCTION" missed="0" covered="41"/><counter type="BRANCH" missed="0" covered="8"/><counter type="LINE" missed="0" covered="7"/><counter type="COMPLEXITY" missed="0" covered="5"/><counter type="METHOD" missed="0" covered="1"/></method><method name="matches" desc="(Ljava/lang/String;)Z" line="48"><counter type="INSTRUCTION" missed="0" covered="16"/><counter type="LINE" missed="0" covered="2"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="presentIn" desc="(Ljava/util/List;)Z" line="55"><counter type="INSTRUCTION" missed="0" covered="21"/><counter type="BRANCH" missed="0" covered="6"/><counter type="LINE" missed="0" covered="5"/><counter type="COMPLEXITY" missed="0" covered="4"/><counter type="METHOD" missed="0" covered="1"/></method><counter type="INSTRUCTION" missed="0" covered="81"/><counter type="BRANCH" missed="0" covered="14"/><counter type="LINE" missed="0" covered="15"/><counter type="COMPLEXITY" missed="0" covered="11"/><counter type="METHOD" missed="0" covered="4"/><counter type="CLASS" missed="0" covered="1"/></class><class name="org/jacoco/core/internal/analysis/filter/TryWithResourcesJavac11Filter" sourcefilename="TryWithResourcesJavac11Filter.java"><method name="&lt;init&gt;" desc="()V" line="25"><counter type="INSTRUCTION" missed="0" covered="3"/><counter type="LINE" missed="0" covered="2"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="filter" desc="(Lorg/objectweb/asm/tree/MethodNode;Lorg/jacoco/core/internal/analysis/filter/IFilterContext;Lorg/jacoco/core/internal/analysis/filter/IFilterOutput;)V" line="29"><counter type="INSTRUCTION" missed="0" covered="41"/><counter type="BRANCH" missed="0" covered="6"/><counter type="LINE" missed="0" covered="8"/><counter type="COMPLEXITY" missed="0" covered="4"/><counter type="METHOD" missed="0" covered="1"/></method><counter type="INSTRUCTION" missed="0" covered="44"/><counter type="BRANCH" missed="0" covered="6"/><counter type="LINE" missed="0" covered="10"/><counter type="COMPLEXITY" missed="0" covered="5"/><counter type="METHOD" missed="0" covered="2"/><counter type="CLASS" missed="0" covered="1"/></class><class name="org/jacoco/core/internal/analysis/filter/KotlinWhenStringFilter$1" sourcefilename="KotlinWhenStringFilter.java"/><class name="org/jacoco/core/internal/analysis/filter/TryWithResourcesJavacFilter$Matcher$JavacPattern" sourcefilename="TryWithResourcesJavacFilter.java"><method name="&lt;clinit&gt;" desc="()V" line="103"><counter type="INSTRUCTION" missed="0" covered="44"/><counter type="LINE" missed="0" covered="5"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><counter type="INSTRUCTION" missed="0" covered="44"/><counter type="LINE" missed="0" covered="5"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/><counter type="CLASS" missed="0" covered="1"/></class><class name="org/jacoco/core/internal/analysis/filter/PrivateEmptyNoArgConstructorFilter$Matcher" sourcefilename="PrivateEmptyNoArgConstructorFilter.java"><method name="match" desc="(Lorg/objectweb/asm/tree/MethodNode;Ljava/lang/String;)Z" line="40"><counter type="INSTRUCTION" missed="1" covered="18"/><counter type="BRANCH" missed="1" covered="1"/><counter type="LINE" missed="0" covered="4"/><counter type="COMPLEXITY" missed="1" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><counter type="INSTRUCTION" missed="1" covered="18"/><counter type="BRANCH" missed="1" covered="1"/><counter type="LINE" missed="0" covered="4"/><counter type="COMPLEXITY" missed="1" covered="1"/><counter type="METHOD" missed="0" covered="1"/><counter type="CLASS" missed="0" covered="1"/></class><class name="org/jacoco/core/internal/analysis/filter/AssertFilter" sourcefilename="AssertFilter.java"><method name="&lt;init&gt;" desc="()V" line="22"><counter type="INSTRUCTION" missed="0" covered="3"/><counter type="LINE" missed="0" covered="2"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="filter" desc="(Lorg/objectweb/asm/tree/MethodNode;Lorg/jacoco/core/internal/analysis/filter/IFilterContext;Lorg/jacoco/core/internal/analysis/filter/IFilterOutput;)V" line="26"><counter type="INSTRUCTION" missed="0" covered="47"/><counter type="BRANCH" missed="0" covered="6"/><counter type="LINE" missed="0" covered="7"/><counter type="COMPLEXITY" missed="0" covered="4"/><counter type="METHOD" missed="0" covered="1"/></method><counter type="INSTRUCTION" missed="0" covered="50"/><counter type="BRANCH" missed="0" covered="6"/><counter type="LINE" missed="0" covered="9"/><counter type="COMPLEXITY" missed="0" covered="5"/><counter type="METHOD" missed="0" covered="2"/><counter type="CLASS" missed="0" covered="1"/></class><class name="org/jacoco/core/internal/analysis/filter/KotlinDefaultMethodsFilter$Matcher" sourcefilename="KotlinDefaultMethodsFilter.java"><method name="match" desc="(Lorg/objectweb/asm/tree/MethodNode;Lorg/jacoco/core/internal/analysis/filter/IFilterOutput;)V" line="36"><counter type="INSTRUCTION" missed="0" covered="25"/><counter type="BRANCH" missed="0" covered="4"/><counter type="LINE" missed="0" covered="5"/><counter type="COMPLEXITY" missed="0" covered="3"/><counter type="METHOD" missed="0" covered="1"/></method><counter type="INSTRUCTION" missed="0" covered="25"/><counter type="BRANCH" missed="0" covered="4"/><counter type="LINE" missed="0" covered="5"/><counter type="COMPLEXITY" missed="0" covered="3"/><counter type="METHOD" missed="0" covered="1"/><counter type="CLASS" missed="0" covered="1"/></class><class name="org/jacoco/core/internal/analysis/filter/RecordsFilter$Matcher" sourcefilename="RecordsFilter.java"><method name="isToString" desc="(Lorg/objectweb/asm/tree/MethodNode;)Z" line="43"><counter type="INSTRUCTION" missed="0" covered="28"/><counter type="BRANCH" missed="0" covered="6"/><counter type="LINE" missed="0" covered="6"/><counter type="COMPLEXITY" missed="0" covered="4"/><counter type="METHOD" missed="0" covered="1"/></method><method name="isHashCode" desc="(Lorg/objectweb/asm/tree/MethodNode;)Z" line="54"><counter type="INSTRUCTION" missed="0" covered="28"/><counter type="BRANCH" missed="0" covered="6"/><counter type="LINE" missed="0" covered="6"/><counter type="COMPLEXITY" missed="0" covered="4"/><counter type="METHOD" missed="0" covered="1"/></method><method name="isFieldAccessor" desc="(Lorg/objectweb/asm/tree/MethodNode;)Z" line="77"><counter type="INSTRUCTION" missed="0" covered="44"/><counter type="BRANCH" missed="0" covered="10"/><counter type="LINE" missed="0" covered="14"/><counter type="COMPLEXITY" missed="0" covered="6"/><counter type="METHOD" missed="0" covered="1"/></method><method name="isEquals" desc="(Lorg/objectweb/asm/tree/MethodNode;)Z" line="106"><counter type="INSTRUCTION" missed="0" covered="31"/><counter type="BRANCH" missed="0" covered="6"/><counter type="LINE" missed="0" covered="7"/><counter type="COMPLEXITY" missed="0" covered="4"/><counter type="METHOD" missed="0" covered="1"/></method><method name="nextIsInvokeDynamic" desc="(Ljava/lang/String;)V" line="118"><counter type="INSTRUCTION" missed="4" covered="30"/><counter type="BRANCH" missed="3" covered="5"/><counter type="LINE" missed="2" covered="7"/><counter type="COMPLEXITY" missed="3" covered="2"/><counter type="METHOD" missed="0" covered="1"/></method><counter type="INSTRUCTION" missed="4" covered="161"/><counter type="BRANCH" missed="3" covered="33"/><counter type="LINE" missed="2" covered="40"/><counter type="COMPLEXITY" missed="3" covered="20"/><counter type="METHOD" missed="0" covered="5"/><counter type="CLASS" missed="0" covered="1"/></class><class name="org/jacoco/core/internal/analysis/filter/KotlinLateinitFilter" sourcefilename="KotlinLateinitFilter.java"><method name="&lt;init&gt;" desc="()V" line="25"><counter type="INSTRUCTION" missed="0" covered="3"/><counter type="LINE" missed="0" covered="2"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="filter" desc="(Lorg/objectweb/asm/tree/MethodNode;Lorg/jacoco/core/internal/analysis/filter/IFilterContext;Lorg/jacoco/core/internal/analysis/filter/IFilterOutput;)V" line="29"><counter type="INSTRUCTION" missed="0" covered="22"/><counter type="BRANCH" missed="0" covered="2"/><counter type="LINE" missed="0" covered="4"/><counter type="COMPLEXITY" missed="0" covered="2"/><counter type="METHOD" missed="0" covered="1"/></method><counter type="INSTRUCTION" missed="0" covered="25"/><counter type="BRANCH" missed="0" covered="2"/><counter type="LINE" missed="0" covered="6"/><counter type="COMPLEXITY" missed="0" covered="3"/><counter type="METHOD" missed="0" covered="2"/><counter type="CLASS" missed="0" covered="1"/></class><class name="org/jacoco/core/internal/analysis/filter/EnumEmptyConstructorFilter$1" sourcefilename="EnumEmptyConstructorFilter.java"/><class name="org/jacoco/core/internal/analysis/filter/KotlinDefaultArgumentsFilter" sourcefilename="KotlinDefaultArgumentsFilter.java"><method name="&lt;init&gt;" desc="()V" line="53"><counter type="INSTRUCTION" missed="0" covered="3"/><counter type="LINE" missed="0" covered="2"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="isDefaultArgumentsMethod" desc="(Lorg/objectweb/asm/tree/MethodNode;)Z" line="56"><counter type="INSTRUCTION" missed="0" covered="5"/><counter type="LINE" missed="0" covered="1"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="isDefaultArgumentsConstructor" desc="(Lorg/objectweb/asm/tree/MethodNode;)Z" line="60"><counter type="INSTRUCTION" missed="2" covered="26"/><counter type="BRANCH" missed="1" covered="3"/><counter type="LINE" missed="1" covered="5"/><counter type="COMPLEXITY" missed="1" covered="2"/><counter type="METHOD" missed="0" covered="1"/></method><method name="filter" desc="(Lorg/objectweb/asm/tree/MethodNode;Lorg/jacoco/core/internal/analysis/filter/IFilterContext;Lorg/jacoco/core/internal/analysis/filter/IFilterOutput;)V" line="74"><counter type="INSTRUCTION" missed="0" covered="34"/><counter type="BRANCH" missed="0" covered="8"/><counter type="LINE" missed="0" covered="9"/><counter type="COMPLEXITY" missed="0" covered="5"/><counter type="METHOD" missed="0" covered="1"/></method><method name="computeNumberOfMaskArguments" desc="(I)I" line="163"><counter type="INSTRUCTION" missed="0" covered="8"/><counter type="LINE" missed="0" covered="1"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><counter type="INSTRUCTION" missed="2" covered="76"/><counter type="BRANCH" missed="1" covered="11"/><counter type="LINE" missed="1" covered="18"/><counter type="COMPLEXITY" missed="1" covered="10"/><counter type="METHOD" missed="0" covered="5"/><counter type="CLASS" missed="0" covered="1"/></class><class name="org/jacoco/core/internal/analysis/filter/KotlinCoroutineFilter$1" sourcefilename="KotlinCoroutineFilter.java"/><class name="org/jacoco/core/internal/analysis/filter/KotlinNotNullOperatorFilter$1" sourcefilename="KotlinNotNullOperatorFilter.java"/><class name="org/jacoco/core/internal/analysis/filter/IFilterOutput" sourcefilename="IFilterOutput.java"/><class name="org/jacoco/core/internal/analysis/filter/ExhaustiveSwitchFilter$1" sourcefilename="ExhaustiveSwitchFilter.java"/><class name="org/jacoco/core/internal/analysis/filter/StringSwitchFilter$Matcher" sourcefilename="StringSwitchFilter.java"><method name="match" desc="(Lorg/objectweb/asm/tree/AbstractInsnNode;Lorg/jacoco/core/internal/analysis/filter/IFilterOutput;)V" line="46"><counter type="INSTRUCTION" missed="1" covered="134"/><counter type="BRANCH" missed="1" covered="17"/><counter type="LINE" missed="1" covered="36"/><counter type="COMPLEXITY" missed="1" covered="9"/><counter type="METHOD" missed="0" covered="1"/></method><counter type="INSTRUCTION" missed="1" covered="134"/><counter type="BRANCH" missed="1" covered="17"/><counter type="LINE" missed="1" covered="36"/><counter type="COMPLEXITY" missed="1" covered="9"/><counter type="METHOD" missed="0" covered="1"/><counter type="CLASS" missed="0" covered="1"/></class><class name="org/jacoco/core/internal/analysis/filter/TryWithResourcesEcjFilter" sourcefilename="TryWithResourcesEcjFilter.java"><method name="&lt;init&gt;" desc="()V" line="29"><counter type="INSTRUCTION" missed="0" covered="3"/><counter type="LINE" missed="0" covered="2"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="filter" desc="(Lorg/objectweb/asm/tree/MethodNode;Lorg/jacoco/core/internal/analysis/filter/IFilterContext;Lorg/jacoco/core/internal/analysis/filter/IFilterOutput;)V" line="33"><counter type="INSTRUCTION" missed="0" covered="40"/><counter type="BRANCH" missed="0" covered="8"/><counter type="LINE" missed="0" covered="10"/><counter type="COMPLEXITY" missed="0" covered="5"/><counter type="METHOD" missed="0" covered="1"/></method><counter type="INSTRUCTION" missed="0" covered="43"/><counter type="BRANCH" missed="0" covered="8"/><counter type="LINE" missed="0" covered="12"/><counter type="COMPLEXITY" missed="0" covered="6"/><counter type="METHOD" missed="0" covered="2"/><counter type="CLASS" missed="0" covered="1"/></class><class name="org/jacoco/core/internal/analysis/filter/KotlinWhenFilter$Matcher" sourcefilename="KotlinWhenFilter.java"><method name="match" desc="(Lorg/objectweb/asm/tree/AbstractInsnNode;Lorg/jacoco/core/internal/analysis/filter/IFilterOutput;)V" line="47"><counter type="INSTRUCTION" missed="0" covered="66"/><counter type="BRANCH" missed="1" covered="9"/><counter type="LINE" missed="0" covered="17"/><counter type="COMPLEXITY" missed="1" covered="5"/><counter type="METHOD" missed="0" covered="1"/></method><counter type="INSTRUCTION" missed="0" covered="66"/><counter type="BRANCH" missed="1" covered="9"/><counter type="LINE" missed="0" covered="17"/><counter type="COMPLEXITY" missed="1" covered="5"/><counter type="METHOD" missed="0" covered="1"/><counter type="CLASS" missed="0" covered="1"/></class><class name="org/jacoco/core/internal/analysis/filter/ExhaustiveSwitchFilter" sourcefilename="ExhaustiveSwitchFilter.java"><method name="&lt;init&gt;" desc="()V" line="31"><counter type="INSTRUCTION" missed="0" covered="3"/><counter type="LINE" missed="0" covered="2"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="filter" desc="(Lorg/objectweb/asm/tree/MethodNode;Lorg/jacoco/core/internal/analysis/filter/IFilterContext;Lorg/jacoco/core/internal/analysis/filter/IFilterOutput;)V" line="35"><counter type="INSTRUCTION" missed="0" covered="33"/><counter type="BRANCH" missed="0" covered="4"/><counter type="LINE" missed="0" covered="7"/><counter type="COMPLEXITY" missed="0" covered="3"/><counter type="METHOD" missed="0" covered="1"/></method><counter type="INSTRUCTION" missed="0" covered="36"/><counter type="BRANCH" missed="0" covered="4"/><counter type="LINE" missed="0" covered="9"/><counter type="COMPLEXITY" missed="0" covered="4"/><counter type="METHOD" missed="0" covered="2"/><counter type="CLASS" missed="0" covered="1"/></class><class name="org/jacoco/core/internal/analysis/filter/KotlinLateinitFilter$1" sourcefilename="KotlinLateinitFilter.java"/><class name="org/jacoco/core/internal/analysis/filter/SynchronizedFilter$1" sourcefilename="SynchronizedFilter.java"/><class name="org/jacoco/core/internal/analysis/filter/KotlinCoroutineFilter" sourcefilename="KotlinCoroutineFilter.java"><method name="&lt;init&gt;" desc="()V" line="30"><counter type="INSTRUCTION" missed="0" covered="3"/><counter type="LINE" missed="0" covered="2"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="isImplementationOfSuspendFunction" desc="(Lorg/objectweb/asm/tree/MethodNode;)Z" line="34"><counter type="INSTRUCTION" missed="1" covered="30"/><counter type="BRANCH" missed="2" covered="4"/><counter type="LINE" missed="0" covered="5"/><counter type="COMPLEXITY" missed="2" covered="2"/><counter type="METHOD" missed="0" covered="1"/></method><method name="filter" desc="(Lorg/objectweb/asm/tree/MethodNode;Lorg/jacoco/core/internal/analysis/filter/IFilterContext;Lorg/jacoco/core/internal/analysis/filter/IFilterOutput;)V" line="46"><counter type="INSTRUCTION" missed="0" covered="19"/><counter type="BRANCH" missed="0" covered="2"/><counter type="LINE" missed="0" covered="5"/><counter type="COMPLEXITY" missed="0" covered="2"/><counter type="METHOD" missed="0" covered="1"/></method><counter type="INSTRUCTION" missed="1" covered="52"/><counter type="BRANCH" missed="2" covered="6"/><counter type="LINE" missed="0" covered="12"/><counter type="COMPLEXITY" missed="2" covered="5"/><counter type="METHOD" missed="0" covered="3"/><counter type="CLASS" missed="0" covered="1"/></class><class name="org/jacoco/core/internal/analysis/filter/StringSwitchJavacFilter$Matcher" sourcefilename="StringSwitchJavacFilter.java"><method name="match" desc="(Lorg/objectweb/asm/tree/AbstractInsnNode;Lorg/objectweb/asm/tree/AbstractInsnNode;)Z" line="59"><counter type="INSTRUCTION" missed="5" covered="101"/><counter type="BRANCH" missed="3" covered="15"/><counter type="LINE" missed="2" covered="25"/><counter type="COMPLEXITY" missed="3" covered="7"/><counter type="METHOD" missed="0" covered="1"/></method><counter type="INSTRUCTION" missed="5" covered="101"/><counter type="BRANCH" missed="3" covered="15"/><counter type="LINE" missed="2" covered="25"/><counter type="COMPLEXITY" missed="3" covered="7"/><counter type="METHOD" missed="0" covered="1"/><counter type="CLASS" missed="0" covered="1"/></class><class name="org/jacoco/core/internal/analysis/filter/KotlinInlineFilter" sourcefilename="KotlinInlineFilter.java"><method name="&lt;init&gt;" desc="()V" line="29"><counter type="INSTRUCTION" missed="0" covered="6"/><counter type="LINE" missed="0" covered="2"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="filter" desc="(Lorg/objectweb/asm/tree/MethodNode;Lorg/jacoco/core/internal/analysis/filter/IFilterContext;Lorg/jacoco/core/internal/analysis/filter/IFilterOutput;)V" line="35"><counter type="INSTRUCTION" missed="0" covered="50"/><counter type="BRANCH" missed="0" covered="12"/><counter type="LINE" missed="0" covered="13"/><counter type="COMPLEXITY" missed="0" covered="7"/><counter type="METHOD" missed="0" covered="1"/></method><method name="getFirstGeneratedLineNumber" desc="(Ljava/lang/String;Ljava/lang/String;)I" line="63"><counter type="INSTRUCTION" missed="6" covered="144"/><counter type="BRANCH" missed="0" covered="18"/><counter type="LINE" missed="2" covered="33"/><counter type="COMPLEXITY" missed="0" covered="10"/><counter type="METHOD" missed="0" covered="1"/></method><method name="expectLine" desc="(Ljava/io/BufferedReader;Ljava/lang/String;)V" line="124"><counter type="INSTRUCTION" missed="0" covered="20"/><counter type="BRANCH" missed="0" covered="2"/><counter type="LINE" missed="0" covered="4"/><counter type="COMPLEXITY" missed="0" covered="2"/><counter type="METHOD" missed="0" covered="1"/></method><method name="&lt;clinit&gt;" desc="()V" line="130"><counter type="INSTRUCTION" missed="0" covered="7"/><counter type="LINE" missed="0" covered="2"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><counter type="INSTRUCTION" missed="6" covered="227"/><counter type="BRANCH" missed="0" covered="32"/><counter type="LINE" missed="2" covered="54"/><counter type="COMPLEXITY" missed="0" covered="21"/><counter type="METHOD" missed="0" covered="5"/><counter type="CLASS" missed="0" covered="1"/></class><class name="org/jacoco/core/internal/analysis/filter/StringSwitchJavacFilter$1" sourcefilename="StringSwitchJavacFilter.java"/><class name="org/jacoco/core/internal/analysis/filter/KotlinDefaultMethodsFilter$1" sourcefilename="KotlinDefaultMethodsFilter.java"/><class name="org/jacoco/core/internal/analysis/filter/TryWithResourcesJavac11Filter$Matcher" sourcefilename="TryWithResourcesJavac11Filter.java"><method name="&lt;init&gt;" desc="(Lorg/jacoco/core/internal/analysis/filter/TryWithResourcesJavac11Filter;)V" line="63"><counter type="INSTRUCTION" missed="0" covered="6"/><counter type="LINE" missed="0" covered="1"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="match" desc="(Lorg/objectweb/asm/tree/AbstractInsnNode;Lorg/jacoco/core/internal/analysis/filter/IFilterOutput;Z)V" line="70"><counter type="INSTRUCTION" missed="4" covered="97"/><counter type="BRANCH" missed="2" covered="6"/><counter type="LINE" missed="2" covered="29"/><counter type="COMPLEXITY" missed="2" covered="3"/><counter type="METHOD" missed="0" covered="1"/></method><method name="nextIsJavacClose" desc="()Z" line="112"><counter type="INSTRUCTION" missed="0" covered="19"/><counter type="BRANCH" missed="0" covered="4"/><counter type="LINE" missed="0" covered="5"/><counter type="COMPLEXITY" missed="0" covered="3"/><counter type="METHOD" missed="0" covered="1"/></method><method name="nextIsClose" desc="()V" line="121"><counter type="INSTRUCTION" missed="7" covered="54"/><counter type="BRANCH" missed="4" covered="10"/><counter type="LINE" missed="3" covered="14"/><counter type="COMPLEXITY" missed="4" covered="4"/><counter type="METHOD" missed="0" covered="1"/></method><counter type="INSTRUCTION" missed="11" covered="176"/><counter type="BRANCH" missed="6" covered="20"/><counter type="LINE" missed="5" covered="49"/><counter type="COMPLEXITY" missed="6" covered="11"/><counter type="METHOD" missed="0" covered="4"/><counter type="CLASS" missed="0" covered="1"/></class><class name="org/jacoco/core/internal/analysis/filter/StringSwitchFilter$1" sourcefilename="StringSwitchFilter.java"/><class name="org/jacoco/core/internal/analysis/filter/KotlinDefaultArgumentsFilter$1" sourcefilename="KotlinDefaultArgumentsFilter.java"/><sourcefile name="TryWithResourcesJavacFilter.java"><line nr="25" mi="0" ci="2" mb="0" cb="0"/><line nr="29" mi="0" ci="4" mb="0" cb="2"/><line nr="30" mi="0" ci="1" mb="0" cb="0"/><line nr="32" mi="0" ci="5" mb="0" cb="0"/><line nr="33" mi="0" ci="11" mb="0" cb="2"/><line nr="34" mi="0" ci="5" mb="0" cb="2"/><line nr="36" mi="0" ci="17" mb="0" cb="2"/><line nr="37" mi="0" ci="4" mb="0" cb="0"/><line nr="38" mi="0" ci="4" mb="0" cb="2"/><line nr="39" mi="0" ci="1" mb="0" cb="0"/><line nr="44" mi="0" ci="1" mb="0" cb="0"/><line nr="92" mi="0" ci="1" mb="0" cb="0"/><line nr="99" mi="0" ci="2" mb="0" cb="0"/><line nr="100" mi="0" ci="3" mb="0" cb="0"/><line nr="101" mi="0" ci="1" mb="0" cb="0"/><line nr="103" mi="0" ci="20" mb="0" cb="0"/><line nr="108" mi="0" ci="6" mb="0" cb="0"/><line nr="113" mi="0" ci="6" mb="0" cb="0"/><line nr="118" mi="0" ci="6" mb="0" cb="0"/><line nr="123" mi="0" ci="6" mb="0" cb="0"/><line nr="127" mi="0" ci="3" mb="0" cb="0"/><line nr="128" mi="0" ci="4" mb="0" cb="0"/><line nr="129" mi="0" ci="3" mb="0" cb="0"/><line nr="130" mi="0" ci="3" mb="0" cb="0"/><line nr="131" mi="0" ci="1" mb="0" cb="0"/><line nr="135" mi="0" ci="4" mb="0" cb="0"/><line nr="137" mi="0" ci="4" mb="0" cb="0"/><line nr="138" mi="0" ci="4" mb="0" cb="0"/><line nr="140" mi="0" ci="4" mb="0" cb="0"/><line nr="141" mi="0" ci="3" mb="0" cb="0"/><line nr="144" mi="0" ci="4" mb="0" cb="0"/><line nr="145" mi="0" ci="5" mb="0" cb="0"/><line nr="147" mi="0" ci="4" mb="0" cb="0"/><line nr="148" mi="0" ci="3" mb="0" cb="0"/><line nr="149" mi="0" ci="3" mb="0" cb="2"/><line nr="150" mi="0" ci="2" mb="0" cb="0"/><line nr="152" mi="0" ci="3" mb="0" cb="0"/><line nr="154" mi="0" ci="4" mb="0" cb="0"/><line nr="155" mi="0" ci="3" mb="0" cb="0"/><line nr="156" mi="0" ci="5" mb="0" cb="2"/><line nr="157" mi="0" ci="3" mb="0" cb="0"/><line nr="159" mi="0" ci="3" mb="0" cb="0"/><line nr="160" mi="0" ci="3" mb="0" cb="2"/><line nr="161" mi="0" ci="2" mb="0" cb="0"/><line nr="164" mi="0" ci="3" mb="0" cb="0"/><line nr="166" mi="0" ci="3" mb="0" cb="0"/><line nr="167" mi="0" ci="2" mb="0" cb="0"/><line nr="168" mi="0" ci="5" mb="0" cb="2"/><line nr="169" mi="0" ci="3" mb="0" cb="0"/><line nr="172" mi="0" ci="6" mb="0" cb="0"/><line nr="173" mi="0" ci="6" mb="0" cb="0"/><line nr="174" mi="0" ci="2" mb="0" cb="0"/><line nr="184" mi="4" ci="34" mb="0" cb="2"/><line nr="188" mi="0" ci="4" mb="0" cb="0"/><line nr="189" mi="0" ci="3" mb="0" cb="0"/><line nr="191" mi="0" ci="5" mb="1" cb="2"/><line nr="194" mi="0" ci="4" mb="0" cb="0"/><line nr="195" mi="0" ci="4" mb="0" cb="0"/><line nr="196" mi="0" ci="3" mb="0" cb="0"/><line nr="197" mi="0" ci="3" mb="0" cb="2"/><line nr="198" mi="0" ci="4" mb="0" cb="0"/><line nr="199" mi="0" ci="10" mb="2" cb="2"/><line nr="202" mi="0" ci="2" mb="0" cb="0"/><line nr="204" mi="3" ci="0" mb="0" cb="0"/><line nr="206" mi="0" ci="2" mb="0" cb="0"/><line nr="209" mi="0" ci="4" mb="0" cb="0"/><line nr="211" mi="0" ci="3" mb="0" cb="0"/><line nr="213" mi="0" ci="2" mb="0" cb="0"/><line nr="214" mi="0" ci="3" mb="0" cb="0"/><line nr="216" mi="0" ci="11" mb="0" cb="0"/><line nr="218" mi="0" ci="4" mb="0" cb="0"/><line nr="219" mi="0" ci="11" mb="0" cb="0"/><line nr="220" mi="0" ci="6" mb="0" cb="0"/><line nr="222" mi="0" ci="3" mb="0" cb="0"/><line nr="224" mi="0" ci="2" mb="0" cb="0"/><line nr="225" mi="0" ci="7" mb="0" cb="2"/><line nr="227" mi="4" ci="0" mb="0" cb="0"/><line nr="232" mi="0" ci="4" mb="0" cb="0"/><line nr="233" mi="0" ci="2" mb="0" cb="0"/><line nr="234" mi="0" ci="3" mb="0" cb="2"/><line nr="235" mi="0" ci="1" mb="0" cb="0"/><line nr="237" mi="0" ci="10" mb="1" cb="3"/><line nr="239" mi="3" ci="0" mb="0" cb="0"/><line nr="240" mi="1" ci="0" mb="0" cb="0"/><line nr="242" mi="0" ci="4" mb="0" cb="0"/><line nr="243" mi="0" ci="10" mb="2" cb="2"/><line nr="244" mi="3" ci="0" mb="0" cb="0"/><line nr="245" mi="1" ci="0" mb="0" cb="0"/><line nr="247" mi="0" ci="3" mb="0" cb="0"/><line nr="248" mi="0" ci="3" mb="0" cb="2"/><line nr="249" mi="0" ci="4" mb="0" cb="0"/><line nr="250" mi="0" ci="5" mb="1" cb="1"/><line nr="251" mi="3" ci="0" mb="0" cb="0"/><line nr="253" mi="0" ci="1" mb="0" cb="0"/><counter type="INSTRUCTION" missed="22" covered="400"/><counter type="BRANCH" missed="7" covered="38"/><counter type="LINE" missed="7" covered="87"/><counter type="COMPLEXITY" missed="7" covered="25"/><counter type="METHOD" missed="0" covered="9"/><counter type="CLASS" missed="0" covered="4"/></sourcefile><sourcefile name="KotlinDefaultMethodsFilter.java"><line nr="23" mi="0" ci="2" mb="0" cb="0"/><line nr="27" mi="0" ci="3" mb="0" cb="2"/><line nr="28" mi="0" ci="1" mb="0" cb="0"/><line nr="30" mi="0" ci="7" mb="0" cb="0"/><line nr="31" mi="0" ci="1" mb="0" cb="0"/><line nr="33" mi="0" ci="1" mb="0" cb="0"/><line nr="36" mi="0" ci="3" mb="0" cb="0"/><line nr="37" mi="0" ci="3" mb="0" cb="0"/><line nr="38" mi="0" ci="10" mb="0" cb="4"/><line nr="40" mi="0" ci="8" mb="0" cb="0"/><line nr="43" mi="0" ci="1" mb="0" cb="0"/><counter type="INSTRUCTION" missed="0" covered="40"/><counter type="BRANCH" missed="0" covered="6"/><counter type="LINE" missed="0" covered="11"/><counter type="COMPLEXITY" missed="0" covered="6"/><counter type="METHOD" missed="0" covered="3"/><counter type="CLASS" missed="0" covered="2"/></sourcefile><sourcefile name="RecordPatternFilter.java"><line nr="23" mi="0" ci="2" mb="0" cb="0"/><line nr="27" mi="0" ci="5" mb="0" cb="0"/><line nr="28" mi="0" ci="11" mb="0" cb="2"/><line nr="29" mi="0" ci="5" mb="0" cb="2"/><line nr="30" mi="0" ci="6" mb="0" cb="0"/><line nr="33" mi="0" ci="1" mb="0" cb="0"/><line nr="35" mi="0" ci="1" mb="0" cb="0"/><line nr="37" mi="0" ci="3" mb="0" cb="0"/><line nr="38" mi="0" ci="4" mb="0" cb="0"/><line nr="39" mi="0" ci="4" mb="0" cb="0"/><line nr="41" mi="0" ci="3" mb="0" cb="0"/><line nr="42" mi="0" ci="4" mb="0" cb="0"/><line nr="43" mi="0" ci="6" mb="0" cb="0"/><line nr="45" mi="0" ci="4" mb="0" cb="0"/><line nr="46" mi="0" ci="6" mb="0" cb="0"/><line nr="48" mi="0" ci="3" mb="0" cb="0"/><line nr="49" mi="0" ci="3" mb="1" cb="1"/><line nr="50" mi="0" ci="5" mb="0" cb="0"/><line nr="52" mi="0" ci="1" mb="0" cb="0"/><counter type="INSTRUCTION" missed="0" covered="77"/><counter type="BRANCH" missed="1" covered="5"/><counter type="LINE" missed="0" covered="19"/><counter type="COMPLEXITY" missed="1" covered="5"/><counter type="METHOD" missed="0" covered="3"/><counter type="CLASS" missed="0" covered="2"/></sourcefile><sourcefile name="EnumEmptyConstructorFilter.java"><line nr="32" mi="0" ci="2" mb="0" cb="0"/><line nr="41" mi="0" ci="22" mb="0" cb="8"/><line nr="45" mi="0" ci="8" mb="0" cb="0"/><line nr="48" mi="0" ci="1" mb="0" cb="0"/><line nr="50" mi="0" ci="1" mb="0" cb="0"/><line nr="52" mi="0" ci="3" mb="0" cb="0"/><line nr="53" mi="0" ci="3" mb="0" cb="0"/><line nr="54" mi="0" ci="3" mb="0" cb="0"/><line nr="55" mi="0" ci="6" mb="0" cb="0"/><line nr="57" mi="0" ci="3" mb="0" cb="0"/><line nr="58" mi="0" ci="7" mb="0" cb="2"/><counter type="INSTRUCTION" missed="0" covered="59"/><counter type="BRANCH" missed="0" covered="10"/><counter type="LINE" missed="0" covered="11"/><counter type="COMPLEXITY" missed="0" covered="8"/><counter type="METHOD" missed="0" covered="3"/><counter type="CLASS" missed="0" covered="2"/></sourcefile><sourcefile name="FinallyFilter.java"><line nr="69" mi="0" ci="3" mb="0" cb="0"/><line nr="73" mi="0" ci="11" mb="0" cb="2"/><line nr="74" mi="0" ci="3" mb="0" cb="2"/><line nr="75" mi="0" ci="6" mb="0" cb="0"/><line nr="78" mi="0" ci="1" mb="0" cb="0"/><line nr="83" mi="0" ci="4" mb="0" cb="0"/><line nr="84" mi="0" ci="3" mb="0" cb="0"/><line nr="85" mi="0" ci="2" mb="0" cb="2"/><line nr="86" mi="0" ci="1" mb="0" cb="0"/><line nr="90" mi="0" ci="4" mb="0" cb="0"/><line nr="91" mi="0" ci="10" mb="0" cb="2"/><line nr="92" mi="0" ci="5" mb="0" cb="2"/><line nr="93" mi="0" ci="3" mb="0" cb="0"/><line nr="94" mi="0" ci="4" mb="0" cb="2"/><line nr="95" mi="0" ci="4" mb="0" cb="0"/><line nr="96" mi="0" ci="4" mb="0" cb="0"/><line nr="98" mi="0" ci="1" mb="0" cb="0"/><line nr="102" mi="0" ci="10" mb="0" cb="2"/><line nr="103" mi="0" ci="5" mb="0" cb="2"/><line nr="104" mi="0" ci="2" mb="0" cb="0"/><line nr="105" mi="0" ci="3" mb="0" cb="0"/><line nr="107" mi="0" ci="4" mb="0" cb="2"/><line nr="108" mi="0" ci="3" mb="0" cb="3"/><line nr="112" mi="0" ci="1" mb="0" cb="0"/><line nr="114" mi="0" ci="5" mb="0" cb="0"/><line nr="116" mi="0" ci="4" mb="0" cb="2"/><line nr="117" mi="0" ci="5" mb="0" cb="0"/><line nr="119" mi="0" ci="8" mb="0" cb="2"/><line nr="120" mi="0" ci="1" mb="0" cb="0"/><line nr="122" mi="0" ci="3" mb="1" cb="1"/><line nr="130" mi="2" ci="0" mb="0" cb="0"/><line nr="131" mi="1" ci="0" mb="0" cb="0"/><line nr="133" mi="0" ci="2" mb="0" cb="0"/><line nr="138" mi="0" ci="4" mb="0" cb="0"/><line nr="141" mi="0" ci="3" mb="0" cb="0"/><line nr="142" mi="0" ci="6" mb="2" cb="2"/><line nr="143" mi="0" ci="5" mb="0" cb="0"/><line nr="147" mi="0" ci="13" mb="0" cb="6"/><line nr="149" mi="0" ci="5" mb="0" cb="0"/><line nr="150" mi="0" ci="4" mb="1" cb="1"/><line nr="152" mi="0" ci="5" mb="0" cb="0"/><line nr="154" mi="0" ci="1" mb="0" cb="0"/><line nr="156" mi="0" ci="1" mb="0" cb="0"/><line nr="160" mi="0" ci="5" mb="1" cb="1"/><line nr="161" mi="1" ci="0" mb="0" cb="0"/><line nr="163" mi="0" ci="4" mb="0" cb="0"/><line nr="164" mi="0" ci="3" mb="0" cb="0"/><line nr="165" mi="0" ci="7" mb="0" cb="2"/><line nr="166" mi="0" ci="4" mb="0" cb="0"/><line nr="167" mi="0" ci="3" mb="0" cb="0"/><line nr="168" mi="0" ci="3" mb="0" cb="0"/><line nr="170" mi="0" ci="5" mb="0" cb="0"/><line nr="172" mi="0" ci="6" mb="1" cb="3"/><line nr="176" mi="0" ci="4" mb="0" cb="0"/><line nr="178" mi="0" ci="1" mb="0" cb="0"/><line nr="182" mi="0" ci="3" mb="0" cb="0"/><line nr="183" mi="0" ci="7" mb="0" cb="2"/><line nr="184" mi="0" ci="7" mb="2" cb="2"/><line nr="185" mi="2" ci="0" mb="0" cb="0"/><line nr="187" mi="0" ci="3" mb="0" cb="0"/><line nr="188" mi="0" ci="3" mb="0" cb="0"/><line nr="190" mi="0" ci="2" mb="0" cb="0"/><line nr="197" mi="0" ci="4" mb="0" cb="2"/><line nr="199" mi="0" ci="2" mb="0" cb="0"/><line nr="201" mi="0" ci="4" mb="0" cb="0"/><line nr="202" mi="0" ci="2" mb="0" cb="0"/><line nr="204" mi="0" ci="1" mb="0" cb="0"/><line nr="205" mi="0" ci="3" mb="0" cb="0"/><line nr="206" mi="0" ci="2" mb="0" cb="2"/><line nr="208" mi="0" ci="2" mb="0" cb="0"/><line nr="210" mi="0" ci="9" mb="0" cb="4"/><line nr="212" mi="0" ci="3" mb="0" cb="0"/><line nr="213" mi="0" ci="4" mb="1" cb="1"/><line nr="214" mi="2" ci="0" mb="0" cb="0"/><line nr="216" mi="0" ci="2" mb="0" cb="0"/><line nr="221" mi="0" ci="3" mb="0" cb="0"/><line nr="222" mi="0" ci="14" mb="1" cb="7"/><line nr="225" mi="0" ci="2" mb="0" cb="0"/><counter type="INSTRUCTION" missed="8" covered="299"/><counter type="BRANCH" missed="10" covered="61"/><counter type="LINE" missed="5" covered="73"/><counter type="COMPLEXITY" missed="10" covered="33"/><counter type="METHOD" missed="0" covered="7"/><counter type="CLASS" missed="0" covered="1"/></sourcefile><sourcefile name="StringSwitchJavacFilter.java"><line nr="26" mi="0" ci="2" mb="0" cb="0"/><line nr="30" mi="0" ci="11" mb="0" cb="2"/><line nr="31" mi="0" ci="5" mb="0" cb="0"/><line nr="33" mi="0" ci="1" mb="0" cb="0"/><line nr="44" mi="0" ci="4" mb="0" cb="2"/><line nr="45" mi="0" ci="5" mb="0" cb="0"/><line nr="46" mi="0" ci="4" mb="0" cb="2"/><line nr="47" mi="0" ci="5" mb="0" cb="0"/><line nr="49" mi="0" ci="1" mb="0" cb="0"/><line nr="51" mi="0" ci="8" mb="0" cb="2"/><line nr="52" mi="0" ci="4" mb="0" cb="0"/><line nr="54" mi="0" ci="1" mb="0" cb="0"/><line nr="56" mi="0" ci="1" mb="0" cb="0"/><line nr="59" mi="0" ci="3" mb="0" cb="0"/><line nr="60" mi="0" ci="10" mb="0" cb="4"/><line nr="61" mi="0" ci="5" mb="0" cb="0"/><line nr="63" mi="0" ci="8" mb="0" cb="4"/><line nr="64" mi="0" ci="2" mb="0" cb="0"/><line nr="66" mi="0" ci="4" mb="0" cb="0"/><line nr="69" mi="0" ci="4" mb="0" cb="0"/><line nr="70" mi="0" ci="6" mb="0" cb="0"/><line nr="72" mi="0" ci="2" mb="0" cb="0"/><line nr="74" mi="0" ci="4" mb="0" cb="0"/><line nr="75" mi="0" ci="3" mb="0" cb="0"/><line nr="76" mi="0" ci="6" mb="0" cb="0"/><line nr="79" mi="0" ci="3" mb="0" cb="0"/><line nr="81" mi="0" ci="2" mb="0" cb="0"/><line nr="82" mi="0" ci="4" mb="0" cb="0"/><line nr="83" mi="0" ci="3" mb="1" cb="1"/><line nr="84" mi="2" ci="0" mb="0" cb="0"/><line nr="86" mi="0" ci="5" mb="0" cb="2"/><line nr="87" mi="0" ci="1" mb="0" cb="0"/><line nr="89" mi="0" ci="3" mb="0" cb="0"/><line nr="90" mi="0" ci="3" mb="0" cb="2"/><line nr="91" mi="0" ci="2" mb="0" cb="0"/><line nr="93" mi="0" ci="6" mb="1" cb="1"/><line nr="94" mi="2" ci="0" mb="0" cb="0"/><line nr="97" mi="0" ci="4" mb="0" cb="0"/><line nr="99" mi="0" ci="2" mb="0" cb="0"/><line nr="100" mi="1" ci="6" mb="1" cb="1"/><counter type="INSTRUCTION" missed="5" covered="153"/><counter type="BRANCH" missed="3" covered="23"/><counter type="LINE" missed="2" covered="38"/><counter type="COMPLEXITY" missed="3" covered="14"/><counter type="METHOD" missed="0" covered="4"/><counter type="CLASS" missed="0" covered="2"/></sourcefile><sourcefile name="IFilterContext.java"/><sourcefile name="ExhaustiveSwitchFilter.java"><line nr="31" mi="0" ci="2" mb="0" cb="0"/><line nr="35" mi="0" ci="5" mb="0" cb="0"/><line nr="36" mi="0" ci="2" mb="0" cb="0"/><line nr="37" mi="0" ci="11" mb="0" cb="2"/><line nr="38" mi="0" ci="4" mb="0" cb="2"/><line nr="39" mi="0" ci="4" mb="0" cb="0"/><line nr="41" mi="0" ci="6" mb="0" cb="0"/><line nr="43" mi="0" ci="1" mb="0" cb="0"/><line nr="45" mi="0" ci="1" mb="0" cb="0"/><line nr="50" mi="0" ci="4" mb="0" cb="2"/><line nr="51" mi="0" ci="4" mb="0" cb="0"/><line nr="52" mi="0" ci="5" mb="0" cb="0"/><line nr="53" mi="0" ci="4" mb="1" cb="1"/><line nr="54" mi="4" ci="0" mb="0" cb="0"/><line nr="55" mi="5" ci="0" mb="0" cb="0"/><line nr="57" mi="0" ci="1" mb="0" cb="0"/><line nr="60" mi="0" ci="4" mb="0" cb="0"/><line nr="61" mi="0" ci="3" mb="1" cb="1"/><line nr="62" mi="1" ci="0" mb="0" cb="0"/><line nr="64" mi="0" ci="5" mb="0" cb="2"/><line nr="65" mi="0" ci="6" mb="0" cb="2"/><line nr="66" mi="0" ci="1" mb="0" cb="0"/><line nr="68" mi="0" ci="5" mb="0" cb="0"/><line nr="70" mi="0" ci="8" mb="2" cb="2"/><line nr="71" mi="1" ci="0" mb="0" cb="0"/><line nr="73" mi="0" ci="7" mb="0" cb="2"/><line nr="76" mi="0" ci="3" mb="0" cb="0"/><line nr="77" mi="0" ci="3" mb="0" cb="0"/><line nr="78" mi="0" ci="3" mb="0" cb="0"/><line nr="79" mi="0" ci="7" mb="0" cb="0"/><line nr="81" mi="0" ci="7" mb="1" cb="1"/><line nr="84" mi="0" ci="3" mb="0" cb="0"/><line nr="85" mi="0" ci="7" mb="0" cb="0"/><line nr="89" mi="1" ci="0" mb="0" cb="0"/><line nr="91" mi="0" ci="3" mb="0" cb="0"/><line nr="92" mi="0" ci="3" mb="1" cb="1"/><line nr="93" mi="1" ci="0" mb="0" cb="0"/><line nr="95" mi="0" ci="5" mb="0" cb="0"/><line nr="96" mi="0" ci="4" mb="0" cb="0"/><line nr="97" mi="0" ci="10" mb="0" cb="2"/><line nr="98" mi="0" ci="6" mb="0" cb="0"/><line nr="100" mi="0" ci="4" mb="0" cb="0"/><line nr="101" mi="0" ci="1" mb="0" cb="0"/><line nr="105" mi="0" ci="10" mb="2" cb="4"/><line nr="107" mi="0" ci="4" mb="0" cb="0"/><line nr="109" mi="0" ci="2" mb="0" cb="0"/><counter type="INSTRUCTION" missed="13" covered="178"/><counter type="BRANCH" missed="8" covered="24"/><counter type="LINE" missed="6" covered="40"/><counter type="COMPLEXITY" missed="8" covered="12"/><counter type="METHOD" missed="0" covered="4"/><counter type="CLASS" missed="0" covered="2"/></sourcefile><sourcefile name="TryWithResourcesEcjFilter.java"><line nr="29" mi="0" ci="2" mb="0" cb="0"/><line nr="33" mi="0" ci="4" mb="0" cb="2"/><line nr="34" mi="0" ci="1" mb="0" cb="0"/><line nr="36" mi="0" ci="5" mb="0" cb="0"/><line nr="37" mi="0" ci="11" mb="0" cb="2"/><line nr="38" mi="0" ci="3" mb="0" cb="2"/><line nr="39" mi="0" ci="4" mb="0" cb="0"/><line nr="40" mi="0" ci="3" mb="0" cb="2"/><line nr="41" mi="0" ci="4" mb="0" cb="0"/><line nr="42" mi="0" ci="4" mb="0" cb="0"/><line nr="46" mi="0" ci="1" mb="0" cb="0"/><line nr="48" mi="0" ci="1" mb="0" cb="0"/><line nr="52" mi="0" ci="5" mb="0" cb="0"/><line nr="53" mi="0" ci="5" mb="0" cb="0"/><line nr="57" mi="0" ci="2" mb="0" cb="0"/><line nr="58" mi="0" ci="3" mb="0" cb="0"/><line nr="59" mi="0" ci="1" mb="0" cb="0"/><line nr="62" mi="0" ci="3" mb="0" cb="0"/><line nr="63" mi="0" ci="4" mb="0" cb="0"/><line nr="64" mi="0" ci="3" mb="0" cb="0"/><line nr="65" mi="0" ci="3" mb="0" cb="0"/><line nr="66" mi="0" ci="3" mb="0" cb="0"/><line nr="67" mi="0" ci="1" mb="0" cb="0"/><line nr="71" mi="0" ci="4" mb="0" cb="0"/><line nr="72" mi="0" ci="4" mb="0" cb="0"/><line nr="75" mi="0" ci="2" mb="0" cb="0"/><line nr="76" mi="0" ci="9" mb="0" cb="0"/><line nr="77" mi="0" ci="3" mb="0" cb="0"/><line nr="78" mi="0" ci="4" mb="0" cb="2"/><line nr="79" mi="0" ci="11" mb="0" cb="0"/><line nr="80" mi="0" ci="4" mb="0" cb="0"/><line nr="81" mi="0" ci="4" mb="0" cb="0"/><line nr="82" mi="0" ci="1" mb="0" cb="0"/><line nr="83" mi="0" ci="9" mb="0" cb="0"/><line nr="84" mi="0" ci="4" mb="0" cb="0"/><line nr="86" mi="0" ci="3" mb="0" cb="0"/><line nr="87" mi="0" ci="4" mb="0" cb="0"/><line nr="89" mi="0" ci="4" mb="0" cb="0"/><line nr="90" mi="0" ci="3" mb="0" cb="0"/><line nr="91" mi="0" ci="3" mb="0" cb="2"/><line nr="92" mi="0" ci="2" mb="0" cb="0"/><line nr="94" mi="0" ci="3" mb="0" cb="0"/><line nr="96" mi="0" ci="4" mb="0" cb="0"/><line nr="97" mi="0" ci="3" mb="0" cb="0"/><line nr="98" mi="0" ci="4" mb="0" cb="2"/><line nr="99" mi="0" ci="3" mb="0" cb="0"/><line nr="101" mi="0" ci="3" mb="0" cb="0"/><line nr="102" mi="0" ci="3" mb="1" cb="1"/><line nr="103" mi="2" ci="0" mb="0" cb="0"/><line nr="106" mi="0" ci="3" mb="0" cb="0"/><line nr="108" mi="0" ci="2" mb="0" cb="0"/><line nr="109" mi="0" ci="8" mb="2" cb="2"/><line nr="110" mi="2" ci="0" mb="0" cb="0"/><line nr="113" mi="0" ci="6" mb="0" cb="0"/><line nr="114" mi="0" ci="6" mb="0" cb="0"/><line nr="115" mi="0" ci="2" mb="0" cb="0"/><line nr="120" mi="0" ci="4" mb="0" cb="0"/><line nr="123" mi="0" ci="2" mb="0" cb="0"/><line nr="124" mi="0" ci="9" mb="0" cb="0"/><line nr="125" mi="0" ci="3" mb="0" cb="0"/><line nr="126" mi="0" ci="8" mb="1" cb="3"/><line nr="127" mi="0" ci="1" mb="0" cb="0"/><line nr="128" mi="0" ci="9" mb="0" cb="0"/><line nr="129" mi="0" ci="4" mb="0" cb="0"/><line nr="131" mi="0" ci="3" mb="0" cb="0"/><line nr="133" mi="0" ci="4" mb="0" cb="0"/><line nr="134" mi="0" ci="3" mb="0" cb="0"/><line nr="135" mi="0" ci="3" mb="0" cb="2"/><line nr="136" mi="0" ci="2" mb="0" cb="0"/><line nr="138" mi="0" ci="3" mb="0" cb="0"/><line nr="140" mi="0" ci="4" mb="0" cb="0"/><line nr="141" mi="0" ci="3" mb="0" cb="0"/><line nr="142" mi="0" ci="4" mb="0" cb="2"/><line nr="143" mi="0" ci="3" mb="0" cb="0"/><line nr="145" mi="0" ci="3" mb="0" cb="0"/><line nr="146" mi="0" ci="3" mb="1" cb="1"/><line nr="147" mi="2" ci="0" mb="0" cb="0"/><line nr="150" mi="0" ci="3" mb="0" cb="0"/><line nr="151" mi="0" ci="7" mb="0" cb="2"/><line nr="152" mi="0" ci="11" mb="1" cb="1"/><line nr="153" mi="2" ci="0" mb="0" cb="0"/><line nr="157" mi="0" ci="6" mb="0" cb="0"/><line nr="158" mi="0" ci="6" mb="0" cb="0"/><line nr="159" mi="0" ci="2" mb="0" cb="0"/><line nr="163" mi="0" ci="4" mb="0" cb="0"/><line nr="165" mi="0" ci="11" mb="0" cb="0"/><line nr="167" mi="0" ci="3" mb="0" cb="0"/><line nr="168" mi="0" ci="7" mb="0" cb="2"/><line nr="172" mi="0" ci="4" mb="0" cb="0"/><line nr="174" mi="0" ci="4" mb="0" cb="0"/><line nr="176" mi="0" ci="3" mb="0" cb="0"/><line nr="177" mi="0" ci="3" mb="0" cb="0"/><line nr="178" mi="0" ci="4" mb="0" cb="0"/><line nr="179" mi="0" ci="3" mb="0" cb="0"/><line nr="180" mi="0" ci="7" mb="0" cb="2"/><line nr="184" mi="0" ci="9" mb="0" cb="0"/><line nr="185" mi="0" ci="9" mb="0" cb="0"/><line nr="186" mi="0" ci="9" mb="0" cb="0"/><line nr="187" mi="0" ci="4" mb="0" cb="0"/><line nr="190" mi="0" ci="4" mb="0" cb="0"/><line nr="191" mi="0" ci="4" mb="0" cb="0"/><line nr="193" mi="0" ci="4" mb="0" cb="0"/><line nr="194" mi="0" ci="4" mb="0" cb="0"/><line nr="195" mi="0" ci="4" mb="0" cb="0"/><line nr="197" mi="0" ci="3" mb="0" cb="0"/><line nr="198" mi="0" ci="4" mb="0" cb="0"/><line nr="199" mi="0" ci="4" mb="0" cb="0"/><line nr="200" mi="0" ci="4" mb="0" cb="0"/><line nr="202" mi="0" ci="4" mb="0" cb="0"/><line nr="203" mi="0" ci="4" mb="0" cb="0"/><line nr="204" mi="0" ci="6" mb="0" cb="0"/><line nr="206" mi="0" ci="3" mb="0" cb="0"/><line nr="207" mi="0" ci="7" mb="0" cb="2"/><line nr="211" mi="0" ci="4" mb="0" cb="0"/><line nr="212" mi="0" ci="2" mb="0" cb="0"/><line nr="213" mi="0" ci="3" mb="0" cb="2"/><line nr="214" mi="0" ci="1" mb="0" cb="0"/><line nr="216" mi="0" ci="10" mb="2" cb="2"/><line nr="218" mi="3" ci="0" mb="0" cb="0"/><line nr="219" mi="1" ci="0" mb="0" cb="0"/><line nr="221" mi="0" ci="4" mb="0" cb="0"/><line nr="222" mi="0" ci="10" mb="2" cb="2"/><line nr="223" mi="3" ci="0" mb="0" cb="0"/><line nr="224" mi="1" ci="0" mb="0" cb="0"/><line nr="226" mi="0" ci="3" mb="0" cb="0"/><line nr="227" mi="0" ci="6" mb="0" cb="0"/><line nr="228" mi="0" ci="2" mb="0" cb="2"/><line nr="229" mi="0" ci="7" mb="0" cb="0"/><line nr="230" mi="0" ci="4" mb="1" cb="1"/><line nr="231" mi="3" ci="0" mb="0" cb="0"/><line nr="233" mi="0" ci="1" mb="0" cb="0"/><line nr="236" mi="0" ci="3" mb="0" cb="0"/><line nr="237" mi="0" ci="3" mb="0" cb="2"/><line nr="238" mi="0" ci="1" mb="0" cb="0"/><line nr="240" mi="0" ci="5" mb="0" cb="0"/><line nr="241" mi="0" ci="6" mb="0" cb="0"/><line nr="242" mi="0" ci="2" mb="0" cb="2"/><line nr="243" mi="0" ci="7" mb="0" cb="0"/><line nr="244" mi="0" ci="3" mb="1" cb="1"/><line nr="245" mi="3" ci="0" mb="0" cb="0"/><line nr="247" mi="0" ci="1" mb="0" cb="0"/><line nr="250" mi="0" ci="3" mb="0" cb="2"/><line nr="251" mi="0" ci="1" mb="0" cb="0"/><line nr="253" mi="0" ci="5" mb="0" cb="0"/><line nr="254" mi="0" ci="5" mb="1" cb="1"/><line nr="255" mi="3" ci="0" mb="0" cb="0"/><line nr="256" mi="1" ci="0" mb="0" cb="0"/><line nr="258" mi="0" ci="4" mb="0" cb="0"/><line nr="259" mi="0" ci="6" mb="0" cb="0"/><line nr="260" mi="0" ci="3" mb="1" cb="1"/><line nr="261" mi="3" ci="0" mb="0" cb="0"/><line nr="263" mi="0" ci="1" mb="0" cb="0"/><counter type="INSTRUCTION" missed="29" covered="576"/><counter type="BRANCH" missed="14" covered="52"/><counter type="LINE" missed="13" covered="139"/><counter type="COMPLEXITY" missed="14" covered="31"/><counter type="METHOD" missed="0" covered="12"/><counter type="CLASS" missed="0" covered="2"/></sourcefile><sourcefile name="KotlinLateinitFilter.java"><line nr="25" mi="0" ci="2" mb="0" cb="0"/><line nr="29" mi="0" ci="5" mb="0" cb="0"/><line nr="30" mi="0" ci="11" mb="0" cb="2"/><line nr="31" mi="0" ci="5" mb="0" cb="0"/><line nr="33" mi="0" ci="1" mb="0" cb="0"/><line nr="35" mi="0" ci="1" mb="0" cb="0"/><line nr="38" mi="0" ci="4" mb="0" cb="2"/><line nr="39" mi="0" ci="3" mb="0" cb="0"/><line nr="40" mi="0" ci="2" mb="0" cb="0"/><line nr="41" mi="0" ci="4" mb="0" cb="0"/><line nr="42" mi="0" ci="8" mb="0" cb="4"/><line nr="44" mi="0" ci="5" mb="0" cb="0"/><line nr="45" mi="0" ci="1" mb="0" cb="0"/><line nr="47" mi="0" ci="2" mb="0" cb="0"/><line nr="48" mi="0" ci="8" mb="0" cb="4"/><line nr="50" mi="0" ci="5" mb="0" cb="0"/><line nr="51" mi="0" ci="1" mb="0" cb="0"/><line nr="53" mi="0" ci="2" mb="0" cb="0"/><line nr="54" mi="0" ci="8" mb="1" cb="3"/><line nr="56" mi="0" ci="5" mb="0" cb="0"/><line nr="58" mi="0" ci="5" mb="0" cb="2"/><line nr="59" mi="0" ci="5" mb="0" cb="0"/><line nr="60" mi="0" ci="2" mb="0" cb="0"/><line nr="61" mi="0" ci="2" mb="0" cb="0"/><line nr="62" mi="0" ci="2" mb="0" cb="0"/><line nr="63" mi="0" ci="13" mb="1" cb="5"/><line nr="65" mi="0" ci="4" mb="0" cb="0"/><line nr="66" mi="0" ci="7" mb="0" cb="0"/><line nr="69" mi="0" ci="1" mb="0" cb="0"/><line nr="72" mi="0" ci="2" mb="0" cb="0"/><line nr="73" mi="0" ci="3" mb="1" cb="1"/><line nr="74" mi="1" ci="0" mb="0" cb="0"/><line nr="75" mi="0" ci="5" mb="0" cb="2"/><line nr="76" mi="0" ci="4" mb="0" cb="0"/><line nr="77" mi="0" ci="5" mb="0" cb="2"/><line nr="78" mi="0" ci="3" mb="0" cb="0"/><line nr="79" mi="0" ci="1" mb="0" cb="0"/><line nr="81" mi="0" ci="6" mb="0" cb="0"/><line nr="84" mi="0" ci="1" mb="0" cb="0"/><counter type="INSTRUCTION" missed="1" covered="154"/><counter type="BRANCH" missed="3" covered="27"/><counter type="LINE" missed="1" covered="38"/><counter type="COMPLEXITY" missed="3" covered="16"/><counter type="METHOD" missed="0" covered="4"/><counter type="CLASS" missed="0" covered="2"/></sourcefile><sourcefile name="AbstractMatcher.java"><line nr="26" mi="0" ci="2" mb="0" cb="0"/><line nr="28" mi="0" ci="6" mb="0" cb="0"/><line nr="37" mi="0" ci="5" mb="0" cb="0"/><line nr="38" mi="0" ci="2" mb="0" cb="0"/><line nr="39" mi="0" ci="13" mb="0" cb="6"/><line nr="41" mi="0" ci="1" mb="0" cb="0"/><line nr="43" mi="0" ci="3" mb="0" cb="0"/><line nr="44" mi="0" ci="1" mb="0" cb="0"/><line nr="51" mi="0" ci="3" mb="0" cb="0"/><line nr="52" mi="0" ci="3" mb="0" cb="2"/><line nr="53" mi="0" ci="1" mb="0" cb="0"/><line nr="55" mi="0" ci="7" mb="0" cb="2"/><line nr="56" mi="0" ci="1" mb="0" cb="0"/><line nr="58" mi="0" ci="3" mb="0" cb="0"/><line nr="59" mi="0" ci="1" mb="0" cb="0"/><line nr="68" mi="0" ci="3" mb="0" cb="0"/><line nr="69" mi="0" ci="3" mb="0" cb="2"/><line nr="70" mi="0" ci="1" mb="0" cb="0"/><line nr="72" mi="0" ci="4" mb="0" cb="0"/><line nr="73" mi="0" ci="15" mb="0" cb="6"/><line nr="75" mi="0" ci="1" mb="0" cb="0"/><line nr="77" mi="0" ci="3" mb="0" cb="0"/><line nr="78" mi="0" ci="1" mb="0" cb="0"/><line nr="87" mi="0" ci="3" mb="0" cb="0"/><line nr="88" mi="0" ci="3" mb="0" cb="2"/><line nr="89" mi="0" ci="1" mb="0" cb="0"/><line nr="91" mi="0" ci="4" mb="0" cb="0"/><line nr="92" mi="0" ci="15" mb="0" cb="6"/><line nr="94" mi="0" ci="1" mb="0" cb="0"/><line nr="96" mi="0" ci="3" mb="0" cb="0"/><line nr="97" mi="0" ci="1" mb="0" cb="0"/><line nr="100" mi="0" ci="3" mb="0" cb="0"/><line nr="101" mi="0" ci="3" mb="0" cb="2"/><line nr="102" mi="0" ci="1" mb="0" cb="0"/><line nr="104" mi="0" ci="4" mb="0" cb="0"/><line nr="105" mi="0" ci="6" mb="0" cb="0"/><line nr="106" mi="0" ci="2" mb="0" cb="2"/><line nr="107" mi="0" ci="7" mb="0" cb="0"/><line nr="108" mi="0" ci="5" mb="0" cb="2"/><line nr="109" mi="0" ci="3" mb="0" cb="0"/><line nr="111" mi="0" ci="1" mb="0" cb="0"/><line nr="119" mi="0" ci="2" mb="0" cb="0"/><line nr="120" mi="0" ci="3" mb="0" cb="2"/><line nr="121" mi="0" ci="1" mb="0" cb="0"/><line nr="123" mi="0" ci="4" mb="0" cb="2"/><line nr="126" mi="0" ci="1" mb="0" cb="0"/><line nr="128" mi="0" ci="3" mb="0" cb="0"/><line nr="130" mi="0" ci="1" mb="0" cb="0"/><line nr="137" mi="0" ci="2" mb="0" cb="0"/><line nr="138" mi="0" ci="3" mb="0" cb="2"/><line nr="139" mi="0" ci="1" mb="0" cb="0"/><line nr="141" mi="0" ci="5" mb="0" cb="2"/><line nr="142" mi="0" ci="3" mb="0" cb="0"/><line nr="144" mi="0" ci="1" mb="0" cb="0"/><line nr="150" mi="0" ci="3" mb="0" cb="2"/><line nr="151" mi="0" ci="1" mb="0" cb="0"/><line nr="153" mi="0" ci="5" mb="0" cb="0"/><line nr="154" mi="0" ci="2" mb="0" cb="0"/><line nr="155" mi="0" ci="1" mb="0" cb="0"/><line nr="162" mi="0" ci="5" mb="0" cb="0"/><line nr="163" mi="0" ci="1" mb="0" cb="0"/><line nr="171" mi="0" ci="14" mb="0" cb="8"/><line nr="174" mi="0" ci="4" mb="0" cb="0"/><line nr="176" mi="0" ci="2" mb="0" cb="0"/><counter type="INSTRUCTION" missed="0" covered="217"/><counter type="BRANCH" missed="0" covered="50"/><counter type="LINE" missed="0" covered="64"/><counter type="COMPLEXITY" missed="0" covered="36"/><counter type="METHOD" missed="0" covered="11"/><counter type="CLASS" missed="0" covered="1"/></sourcefile><sourcefile name="KotlinWhenFilter.java"><line nr="33" mi="0" ci="2" mb="0" cb="0"/><line nr="39" mi="0" ci="5" mb="0" cb="0"/><line nr="40" mi="0" ci="11" mb="0" cb="2"/><line nr="41" mi="0" ci="5" mb="0" cb="0"/><line nr="43" mi="0" ci="1" mb="0" cb="0"/><line nr="45" mi="0" ci="1" mb="0" cb="0"/><line nr="47" mi="0" ci="4" mb="0" cb="2"/><line nr="48" mi="0" ci="1" mb="0" cb="0"/><line nr="50" mi="0" ci="3" mb="0" cb="0"/><line nr="52" mi="0" ci="4" mb="0" cb="0"/><line nr="53" mi="0" ci="3" mb="0" cb="0"/><line nr="54" mi="0" ci="6" mb="0" cb="0"/><line nr="55" mi="0" ci="3" mb="0" cb="0"/><line nr="57" mi="0" ci="9" mb="0" cb="2"/><line nr="58" mi="0" ci="9" mb="1" cb="3"/><line nr="60" mi="0" ci="4" mb="0" cb="0"/><line nr="61" mi="0" ci="5" mb="0" cb="0"/><line nr="62" mi="0" ci="1" mb="0" cb="0"/><line nr="64" mi="0" ci="4" mb="0" cb="2"/><line nr="65" mi="0" ci="3" mb="0" cb="0"/><line nr="66" mi="0" ci="5" mb="0" cb="0"/><line nr="67" mi="0" ci="1" mb="0" cb="0"/><line nr="71" mi="0" ci="1" mb="0" cb="0"/><line nr="75" mi="0" ci="3" mb="1" cb="2"/><line nr="77" mi="4" ci="0" mb="0" cb="0"/><line nr="79" mi="0" ci="4" mb="0" cb="0"/><line nr="81" mi="0" ci="2" mb="0" cb="0"/><line nr="88" mi="0" ci="4" mb="1" cb="1"/><line nr="89" mi="5" ci="0" mb="0" cb="0"/><line nr="91" mi="0" ci="4" mb="0" cb="0"/><line nr="93" mi="0" ci="4" mb="0" cb="0"/><line nr="94" mi="0" ci="10" mb="0" cb="2"/><line nr="95" mi="0" ci="6" mb="0" cb="0"/><line nr="97" mi="0" ci="4" mb="0" cb="0"/><line nr="98" mi="0" ci="1" mb="0" cb="0"/><counter type="INSTRUCTION" missed="9" covered="133"/><counter type="BRANCH" missed="3" covered="16"/><counter type="LINE" missed="2" covered="33"/><counter type="COMPLEXITY" missed="3" covered="12"/><counter type="METHOD" missed="0" covered="5"/><counter type="CLASS" missed="0" covered="2"/></sourcefile><sourcefile name="SynchronizedFilter.java"><line nr="23" mi="0" ci="2" mb="0" cb="0"/><line nr="27" mi="0" ci="11" mb="0" cb="2"/><line nr="28" mi="0" ci="3" mb="0" cb="2"/><line nr="29" mi="0" ci="1" mb="0" cb="0"/><line nr="31" mi="0" ci="5" mb="0" cb="2"/><line nr="32" mi="0" ci="1" mb="0" cb="0"/><line nr="34" mi="0" ci="8" mb="0" cb="0"/><line nr="35" mi="0" ci="2" mb="0" cb="2"/><line nr="36" mi="0" ci="1" mb="0" cb="0"/><line nr="38" mi="0" ci="5" mb="0" cb="0"/><line nr="39" mi="0" ci="1" mb="0" cb="0"/><line nr="40" mi="0" ci="1" mb="0" cb="0"/><line nr="42" mi="0" ci="1" mb="0" cb="0"/><line nr="45" mi="0" ci="2" mb="0" cb="0"/><line nr="46" mi="0" ci="3" mb="0" cb="0"/><line nr="47" mi="0" ci="1" mb="0" cb="0"/><line nr="50" mi="0" ci="6" mb="0" cb="4"/><line nr="51" mi="0" ci="3" mb="0" cb="0"/><line nr="53" mi="0" ci="2" mb="0" cb="0"/><line nr="57" mi="0" ci="4" mb="0" cb="0"/><line nr="58" mi="0" ci="4" mb="0" cb="0"/><line nr="59" mi="0" ci="3" mb="0" cb="0"/><line nr="60" mi="0" ci="3" mb="0" cb="0"/><line nr="61" mi="0" ci="4" mb="0" cb="0"/><line nr="62" mi="0" ci="3" mb="0" cb="0"/><line nr="63" mi="0" ci="7" mb="0" cb="2"/><line nr="67" mi="0" ci="4" mb="0" cb="0"/><line nr="68" mi="0" ci="3" mb="0" cb="0"/><line nr="69" mi="0" ci="3" mb="0" cb="0"/><line nr="70" mi="0" ci="3" mb="0" cb="0"/><line nr="71" mi="0" ci="7" mb="0" cb="2"/><counter type="INSTRUCTION" missed="0" covered="107"/><counter type="BRANCH" missed="0" covered="16"/><counter type="LINE" missed="0" covered="31"/><counter type="COMPLEXITY" missed="0" covered="14"/><counter type="METHOD" missed="0" covered="6"/><counter type="CLASS" missed="0" covered="2"/></sourcefile><sourcefile name="KotlinUnsafeCastOperatorFilter.java"><line nr="25" mi="0" ci="2" mb="0" cb="0"/><line nr="29" mi="0" ci="3" mb="0" cb="2"/><line nr="30" mi="0" ci="1" mb="0" cb="0"/><line nr="32" mi="0" ci="5" mb="0" cb="0"/><line nr="33" mi="0" ci="11" mb="0" cb="2"/><line nr="34" mi="0" ci="5" mb="0" cb="0"/><line nr="36" mi="0" ci="6" mb="0" cb="0"/><line nr="38" mi="0" ci="1" mb="0" cb="0"/><line nr="40" mi="0" ci="1" mb="0" cb="0"/><line nr="44" mi="0" ci="4" mb="0" cb="2"/><line nr="45" mi="0" ci="1" mb="0" cb="0"/><line nr="47" mi="0" ci="3" mb="0" cb="0"/><line nr="48" mi="0" ci="4" mb="0" cb="0"/><line nr="49" mi="0" ci="4" mb="0" cb="0"/><line nr="50" mi="0" ci="6" mb="1" cb="3"/><line nr="53" mi="0" ci="2" mb="0" cb="0"/><line nr="55" mi="0" ci="4" mb="0" cb="0"/><line nr="56" mi="0" ci="3" mb="0" cb="0"/><line nr="57" mi="0" ci="3" mb="0" cb="0"/><line nr="58" mi="0" ci="3" mb="0" cb="2"/><line nr="59" mi="0" ci="1" mb="0" cb="0"/><line nr="61" mi="0" ci="4" mb="0" cb="0"/><line nr="62" mi="0" ci="10" mb="2" cb="2"/><line nr="64" mi="1" ci="0" mb="0" cb="0"/><line nr="66" mi="0" ci="6" mb="0" cb="0"/><line nr="68" mi="0" ci="3" mb="0" cb="0"/><line nr="69" mi="0" ci="3" mb="1" cb="1"/><line nr="70" mi="1" ci="0" mb="0" cb="0"/><line nr="72" mi="0" ci="6" mb="1" cb="1"/><line nr="73" mi="1" ci="0" mb="0" cb="0"/><line nr="76" mi="0" ci="5" mb="0" cb="0"/><line nr="77" mi="0" ci="1" mb="0" cb="0"/><counter type="INSTRUCTION" missed="3" covered="111"/><counter type="BRANCH" missed="5" covered="15"/><counter type="LINE" missed="3" covered="29"/><counter type="COMPLEXITY" missed="5" covered="8"/><counter type="METHOD" missed="0" covered="3"/><counter type="CLASS" missed="0" covered="2"/></sourcefile><sourcefile name="KotlinCoroutineFilter.java"><line nr="30" mi="0" ci="2" mb="0" cb="0"/><line nr="34" mi="0" ci="5" mb="0" cb="2"/><line nr="35" mi="0" ci="2" mb="0" cb="0"/><line nr="37" mi="0" ci="4" mb="0" cb="0"/><line nr="38" mi="0" ci="6" mb="0" cb="0"/><line nr="39" mi="1" ci="13" mb="2" cb="2"/><line nr="46" mi="0" ci="3" mb="0" cb="2"/><line nr="47" mi="0" ci="1" mb="0" cb="0"/><line nr="50" mi="0" ci="7" mb="0" cb="0"/><line nr="51" mi="0" ci="7" mb="0" cb="0"/><line nr="52" mi="0" ci="1" mb="0" cb="0"/><line nr="54" mi="0" ci="1" mb="0" cb="0"/><line nr="58" mi="0" ci="11" mb="0" cb="2"/><line nr="59" mi="0" ci="3" mb="0" cb="0"/><line nr="60" mi="0" ci="3" mb="0" cb="0"/><line nr="61" mi="0" ci="6" mb="0" cb="0"/><line nr="64" mi="0" ci="3" mb="0" cb="0"/><line nr="65" mi="0" ci="3" mb="0" cb="0"/><line nr="66" mi="0" ci="3" mb="0" cb="0"/><line nr="67" mi="0" ci="3" mb="0" cb="2"/><line nr="68" mi="0" ci="7" mb="0" cb="0"/><line nr="71" mi="0" ci="1" mb="0" cb="0"/><line nr="75" mi="0" ci="6" mb="0" cb="0"/><line nr="76" mi="0" ci="8" mb="1" cb="3"/><line nr="77" mi="0" ci="4" mb="0" cb="0"/><line nr="79" mi="0" ci="4" mb="0" cb="0"/><line nr="80" mi="0" ci="15" mb="3" cb="3"/><line nr="83" mi="3" ci="0" mb="0" cb="0"/><line nr="87" mi="0" ci="3" mb="0" cb="2"/><line nr="88" mi="0" ci="6" mb="0" cb="0"/><line nr="90" mi="0" ci="2" mb="0" cb="0"/><line nr="92" mi="0" ci="6" mb="0" cb="0"/><line nr="97" mi="0" ci="4" mb="0" cb="0"/><line nr="98" mi="0" ci="4" mb="0" cb="0"/><line nr="99" mi="0" ci="3" mb="0" cb="0"/><line nr="100" mi="0" ci="3" mb="0" cb="0"/><line nr="101" mi="0" ci="3" mb="0" cb="2"/><line nr="102" mi="0" ci="1" mb="0" cb="0"/><line nr="104" mi="0" ci="4" mb="0" cb="0"/><line nr="105" mi="0" ci="9" mb="0" cb="0"/><line nr="108" mi="0" ci="3" mb="0" cb="0"/><line nr="109" mi="0" ci="2" mb="0" cb="0"/><line nr="111" mi="0" ci="3" mb="1" cb="1"/><line nr="112" mi="1" ci="0" mb="0" cb="0"/><line nr="114" mi="0" ci="6" mb="0" cb="0"/><line nr="115" mi="0" ci="5" mb="0" cb="0"/><line nr="117" mi="0" ci="2" mb="0" cb="0"/><line nr="118" mi="0" ci="3" mb="0" cb="0"/><line nr="119" mi="0" ci="11" mb="1" cb="3"/><line nr="120" mi="0" ci="3" mb="0" cb="0"/><line nr="121" mi="0" ci="4" mb="0" cb="0"/><line nr="122" mi="0" ci="3" mb="0" cb="0"/><line nr="123" mi="0" ci="3" mb="0" cb="2"/><line nr="124" mi="0" ci="1" mb="0" cb="0"/><line nr="126" mi="0" ci="6" mb="0" cb="0"/><line nr="128" mi="0" ci="4" mb="0" cb="0"/><line nr="129" mi="0" ci="3" mb="0" cb="0"/><line nr="130" mi="0" ci="14" mb="2" cb="2"/><line nr="133" mi="1" ci="0" mb="0" cb="0"/><line nr="136" mi="0" ci="8" mb="1" cb="1"/><line nr="137" mi="0" ci="3" mb="0" cb="0"/><line nr="138" mi="0" ci="3" mb="0" cb="0"/><line nr="139" mi="0" ci="2" mb="0" cb="0"/><line nr="141" mi="0" ci="3" mb="0" cb="0"/><line nr="142" mi="0" ci="9" mb="1" cb="3"/><line nr="144" mi="0" ci="4" mb="0" cb="0"/><line nr="145" mi="0" ci="5" mb="0" cb="0"/><line nr="146" mi="0" ci="1" mb="0" cb="0"/><line nr="147" mi="0" ci="1" mb="0" cb="0"/><line nr="152" mi="0" ci="4" mb="0" cb="0"/><line nr="153" mi="0" ci="4" mb="0" cb="0"/><line nr="154" mi="0" ci="3" mb="0" cb="0"/><line nr="155" mi="0" ci="3" mb="0" cb="0"/><line nr="156" mi="0" ci="3" mb="1" cb="1"/><line nr="157" mi="1" ci="0" mb="0" cb="0"/><line nr="159" mi="0" ci="7" mb="1" cb="1"/><line nr="161" mi="1" ci="0" mb="0" cb="0"/><line nr="163" mi="0" ci="6" mb="0" cb="0"/><line nr="166" mi="0" ci="3" mb="0" cb="0"/><line nr="167" mi="0" ci="3" mb="1" cb="1"/><line nr="168" mi="1" ci="0" mb="0" cb="0"/><line nr="171" mi="0" ci="6" mb="0" cb="0"/><line nr="172" mi="0" ci="8" mb="0" cb="2"/><line nr="173" mi="0" ci="12" mb="0" cb="0"/><line nr="175" mi="0" ci="1" mb="0" cb="0"/><line nr="178" mi="0" ci="3" mb="0" cb="0"/><line nr="179" mi="0" ci="6" mb="0" cb="0"/><line nr="181" mi="0" ci="3" mb="0" cb="2"/><line nr="182" mi="0" ci="3" mb="0" cb="0"/><line nr="186" mi="0" ci="3" mb="0" cb="0"/><line nr="187" mi="0" ci="4" mb="0" cb="0"/><line nr="188" mi="0" ci="3" mb="0" cb="0"/><line nr="189" mi="0" ci="4" mb="0" cb="0"/><line nr="190" mi="0" ci="3" mb="0" cb="0"/><line nr="191" mi="0" ci="3" mb="0" cb="0"/><line nr="192" mi="0" ci="3" mb="0" cb="0"/><line nr="194" mi="0" ci="1" mb="0" cb="0"/><line nr="197" mi="0" ci="3" mb="0" cb="0"/><line nr="199" mi="0" ci="3" mb="0" cb="0"/><line nr="200" mi="0" ci="3" mb="0" cb="2"/><line nr="201" mi="0" ci="1" mb="0" cb="0"/><line nr="203" mi="0" ci="6" mb="0" cb="0"/><line nr="206" mi="0" ci="3" mb="0" cb="0"/><line nr="207" mi="0" ci="3" mb="0" cb="0"/><line nr="208" mi="0" ci="3" mb="0" cb="0"/><line nr="210" mi="0" ci="3" mb="0" cb="0"/><line nr="211" mi="0" ci="3" mb="0" cb="0"/><line nr="213" mi="0" ci="3" mb="0" cb="0"/><line nr="214" mi="0" ci="3" mb="0" cb="0"/><line nr="215" mi="0" ci="3" mb="0" cb="0"/><line nr="216" mi="0" ci="10" mb="2" cb="2"/><line nr="218" mi="1" ci="0" mb="0" cb="0"/><line nr="221" mi="0" ci="3" mb="0" cb="0"/><line nr="222" mi="0" ci="3" mb="0" cb="0"/><line nr="223" mi="0" ci="3" mb="0" cb="0"/><line nr="225" mi="0" ci="3" mb="0" cb="0"/><line nr="226" mi="0" ci="3" mb="0" cb="0"/><line nr="227" mi="0" ci="3" mb="0" cb="0"/><line nr="229" mi="0" ci="3" mb="0" cb="0"/><line nr="230" mi="0" ci="3" mb="1" cb="1"/><line nr="231" mi="1" ci="0" mb="0" cb="0"/><line nr="233" mi="0" ci="6" mb="0" cb="0"/><line nr="236" mi="0" ci="6" mb="1" cb="1"/><line nr="237" mi="1" ci="0" mb="0" cb="0"/><line nr="240" mi="0" ci="3" mb="0" cb="0"/><line nr="241" mi="0" ci="3" mb="0" cb="0"/><line nr="242" mi="0" ci="3" mb="0" cb="0"/><line nr="243" mi="0" ci="1" mb="0" cb="0"/><counter type="INSTRUCTION" missed="12" covered="493"/><counter type="BRANCH" missed="19" covered="45"/><counter type="LINE" missed="9" covered="119"/><counter type="COMPLEXITY" missed="19" covered="20"/><counter type="METHOD" missed="0" covered="7"/><counter type="CLASS" missed="0" covered="2"/></sourcefile><sourcefile name="Filters.java"><line nr="25" mi="0" ci="7" mb="0" cb="0"/><line nr="35" mi="0" ci="168" mb="0" cb="0"/><line nr="54" mi="0" ci="2" mb="0" cb="0"/><line nr="55" mi="0" ci="3" mb="0" cb="0"/><line nr="56" mi="0" ci="1" mb="0" cb="0"/><line nr="60" mi="0" ci="17" mb="0" cb="2"/><line nr="61" mi="0" ci="5" mb="0" cb="0"/><line nr="63" mi="0" ci="1" mb="0" cb="0"/><counter type="INSTRUCTION" missed="0" covered="204"/><counter type="BRANCH" missed="0" covered="2"/><counter type="LINE" missed="0" covered="8"/><counter type="COMPLEXITY" missed="0" covered="5"/><counter type="METHOD" missed="0" covered="4"/><counter type="CLASS" missed="0" covered="1"/></sourcefile><sourcefile name="IFilter.java"/><sourcefile name="KotlinGeneratedFilter.java"><line nr="23" mi="0" ci="3" mb="0" cb="0"/><line nr="28" mi="0" ci="5" mb="0" cb="0"/><line nr="34" mi="0" ci="3" mb="0" cb="2"/><line nr="37" mi="0" ci="1" mb="0" cb="0"/><line nr="40" mi="0" ci="3" mb="0" cb="2"/><line nr="41" mi="0" ci="1" mb="0" cb="0"/><line nr="44" mi="0" ci="4" mb="0" cb="2"/><line nr="45" mi="0" ci="1" mb="0" cb="0"/><line nr="48" mi="0" ci="8" mb="0" cb="0"/><line nr="50" mi="0" ci="1" mb="0" cb="0"/><line nr="53" mi="0" ci="11" mb="0" cb="2"/><line nr="54" mi="0" ci="4" mb="0" cb="2"/><line nr="55" mi="0" ci="3" mb="0" cb="0"/><line nr="58" mi="0" ci="2" mb="0" cb="0"/><counter type="INSTRUCTION" missed="0" covered="50"/><counter type="BRANCH" missed="0" covered="10"/><counter type="LINE" missed="0" covered="14"/><counter type="COMPLEXITY" missed="0" covered="9"/><counter type="METHOD" missed="0" covered="4"/><counter type="CLASS" missed="0" covered="1"/></sourcefile><sourcefile name="RecordsFilter.java"><line nr="25" mi="0" ci="2" mb="0" cb="0"/><line nr="29" mi="0" ci="5" mb="0" cb="2"/><line nr="30" mi="0" ci="1" mb="0" cb="0"/><line nr="32" mi="0" ci="5" mb="0" cb="0"/><line nr="33" mi="0" ci="16" mb="0" cb="8"/><line nr="36" mi="0" ci="8" mb="0" cb="0"/><line nr="39" mi="0" ci="1" mb="0" cb="0"/><line nr="41" mi="0" ci="1" mb="0" cb="0"/><line nr="43" mi="0" ci="10" mb="0" cb="4"/><line nr="45" mi="0" ci="2" mb="0" cb="0"/><line nr="47" mi="0" ci="3" mb="0" cb="0"/><line nr="48" mi="0" ci="3" mb="0" cb="0"/><line nr="49" mi="0" ci="3" mb="0" cb="0"/><line nr="50" mi="0" ci="7" mb="0" cb="2"/><line nr="54" mi="0" ci="10" mb="0" cb="4"/><line nr="55" mi="0" ci="2" mb="0" cb="0"/><line nr="57" mi="0" ci="3" mb="0" cb="0"/><line nr="58" mi="0" ci="3" mb="0" cb="0"/><line nr="59" mi="0" ci="3" mb="0" cb="0"/><line nr="60" mi="0" ci="7" mb="0" cb="2"/><line nr="77" mi="0" ci="5" mb="0" cb="2"/><line nr="79" mi="0" ci="2" mb="0" cb="0"/><line nr="81" mi="0" ci="3" mb="0" cb="0"/><line nr="82" mi="0" ci="3" mb="0" cb="0"/><line nr="83" mi="0" ci="4" mb="0" cb="2"/><line nr="84" mi="0" ci="2" mb="0" cb="0"/><line nr="86" mi="0" ci="8" mb="0" cb="2"/><line nr="87" mi="0" ci="2" mb="0" cb="0"/><line nr="89" mi="0" ci="2" mb="0" cb="0"/><line nr="90" mi="0" ci="3" mb="0" cb="2"/><line nr="91" mi="0" ci="2" mb="0" cb="0"/><line nr="93" mi="0" ci="4" mb="0" cb="2"/><line nr="99" mi="0" ci="2" mb="0" cb="0"/><line nr="101" mi="0" ci="2" mb="0" cb="0"/><line nr="106" mi="0" ci="10" mb="0" cb="4"/><line nr="108" mi="0" ci="2" mb="0" cb="0"/><line nr="110" mi="0" ci="3" mb="0" cb="0"/><line nr="111" mi="0" ci="3" mb="0" cb="0"/><line nr="112" mi="0" ci="3" mb="0" cb="0"/><line nr="113" mi="0" ci="3" mb="0" cb="0"/><line nr="114" mi="0" ci="7" mb="0" cb="2"/><line nr="118" mi="0" ci="3" mb="0" cb="0"/><line nr="119" mi="0" ci="3" mb="0" cb="2"/><line nr="120" mi="0" ci="1" mb="0" cb="0"/><line nr="122" mi="0" ci="4" mb="0" cb="0"/><line nr="123" mi="0" ci="3" mb="0" cb="0"/><line nr="124" mi="0" ci="15" mb="3" cb="3"/><line nr="127" mi="0" ci="1" mb="0" cb="0"/><line nr="129" mi="3" ci="0" mb="0" cb="0"/><line nr="130" mi="1" ci="0" mb="0" cb="0"/><counter type="INSTRUCTION" missed="4" covered="200"/><counter type="BRANCH" missed="3" covered="43"/><counter type="LINE" missed="2" covered="48"/><counter type="COMPLEXITY" missed="3" covered="27"/><counter type="METHOD" missed="0" covered="7"/><counter type="CLASS" missed="0" covered="2"/></sourcefile><sourcefile name="BridgeFilter.java"><line nr="21" mi="0" ci="3" mb="0" cb="0"/><line nr="25" mi="0" ci="5" mb="0" cb="2"/><line nr="26" mi="0" ci="1" mb="0" cb="0"/><line nr="28" mi="0" ci="8" mb="0" cb="0"/><line nr="30" mi="0" ci="1" mb="0" cb="0"/><counter type="INSTRUCTION" missed="0" covered="18"/><counter type="BRANCH" missed="0" covered="2"/><counter type="LINE" missed="0" covered="5"/><counter type="COMPLEXITY" missed="0" covered="3"/><counter type="METHOD" missed="0" covered="2"/><counter type="CLASS" missed="0" covered="1"/></sourcefile><sourcefile name="TryWithResourcesJavac11Filter.java"><line nr="25" mi="0" ci="2" mb="0" cb="0"/><line nr="29" mi="0" ci="4" mb="0" cb="2"/><line nr="30" mi="0" ci="1" mb="0" cb="0"/><line nr="32" mi="0" ci="6" mb="0" cb="0"/><line nr="33" mi="0" ci="11" mb="0" cb="2"/><line nr="34" mi="0" ci="5" mb="0" cb="2"/><line nr="35" mi="0" ci="6" mb="0" cb="0"/><line nr="36" mi="0" ci="7" mb="0" cb="0"/><line nr="39" mi="0" ci="1" mb="0" cb="0"/><line nr="63" mi="0" ci="7" mb="0" cb="0"/><line nr="70" mi="0" ci="3" mb="0" cb="0"/><line nr="71" mi="0" ci="3" mb="0" cb="0"/><line nr="72" mi="0" ci="3" mb="0" cb="0"/><line nr="74" mi="0" ci="4" mb="0" cb="0"/><line nr="75" mi="0" ci="4" mb="0" cb="0"/><line nr="76" mi="0" ci="3" mb="0" cb="0"/><line nr="77" mi="0" ci="3" mb="0" cb="0"/><line nr="78" mi="0" ci="4" mb="0" cb="0"/><line nr="79" mi="0" ci="4" mb="0" cb="0"/><line nr="80" mi="0" ci="4" mb="0" cb="0"/><line nr="81" mi="0" ci="6" mb="0" cb="0"/><line nr="83" mi="0" ci="4" mb="0" cb="0"/><line nr="84" mi="0" ci="3" mb="0" cb="0"/><line nr="85" mi="0" ci="3" mb="0" cb="2"/><line nr="86" mi="0" ci="1" mb="0" cb="0"/><line nr="88" mi="0" ci="3" mb="0" cb="0"/><line nr="90" mi="0" ci="3" mb="0" cb="0"/><line nr="91" mi="0" ci="4" mb="0" cb="0"/><line nr="92" mi="0" ci="3" mb="0" cb="2"/><line nr="93" mi="0" ci="3" mb="0" cb="0"/><line nr="94" mi="0" ci="3" mb="0" cb="0"/><line nr="95" mi="0" ci="3" mb="1" cb="1"/><line nr="96" mi="1" ci="0" mb="0" cb="0"/><line nr="99" mi="0" ci="3" mb="0" cb="0"/><line nr="101" mi="0" ci="3" mb="0" cb="0"/><line nr="102" mi="0" ci="2" mb="0" cb="0"/><line nr="103" mi="0" ci="5" mb="1" cb="1"/><line nr="104" mi="3" ci="0" mb="0" cb="0"/><line nr="107" mi="0" ci="5" mb="0" cb="0"/><line nr="108" mi="0" ci="4" mb="0" cb="0"/><line nr="109" mi="0" ci="1" mb="0" cb="0"/><line nr="112" mi="0" ci="3" mb="0" cb="2"/><line nr="113" mi="0" ci="4" mb="0" cb="0"/><line nr="114" mi="0" ci="3" mb="0" cb="0"/><line nr="116" mi="0" ci="2" mb="0" cb="0"/><line nr="117" mi="0" ci="7" mb="0" cb="2"/><line nr="121" mi="0" ci="4" mb="0" cb="0"/><line nr="122" mi="0" ci="2" mb="0" cb="0"/><line nr="123" mi="0" ci="3" mb="0" cb="2"/><line nr="124" mi="0" ci="1" mb="0" cb="0"/><line nr="126" mi="0" ci="10" mb="1" cb="3"/><line nr="128" mi="0" ci="3" mb="0" cb="0"/><line nr="129" mi="0" ci="1" mb="0" cb="0"/><line nr="131" mi="0" ci="4" mb="0" cb="0"/><line nr="132" mi="0" ci="10" mb="2" cb="2"/><line nr="133" mi="3" ci="0" mb="0" cb="0"/><line nr="134" mi="1" ci="0" mb="0" cb="0"/><line nr="136" mi="0" ci="3" mb="0" cb="0"/><line nr="137" mi="0" ci="3" mb="0" cb="2"/><line nr="138" mi="0" ci="4" mb="0" cb="0"/><line nr="139" mi="0" ci="5" mb="1" cb="1"/><line nr="140" mi="3" ci="0" mb="0" cb="0"/><line nr="142" mi="0" ci="1" mb="0" cb="0"/><counter type="INSTRUCTION" missed="11" covered="220"/><counter type="BRANCH" missed="6" covered="26"/><counter type="LINE" missed="5" covered="58"/><counter type="COMPLEXITY" missed="6" covered="16"/><counter type="METHOD" missed="0" covered="6"/><counter type="CLASS" missed="0" covered="2"/></sourcefile><sourcefile name="KotlinWhenStringFilter.java"><line nr="31" mi="0" ci="2" mb="0" cb="0"/><line nr="35" mi="0" ci="5" mb="0" cb="0"/><line nr="36" mi="0" ci="11" mb="0" cb="2"/><line nr="37" mi="0" ci="5" mb="0" cb="0"/><line nr="39" mi="0" ci="1" mb="0" cb="0"/><line nr="41" mi="0" ci="1" mb="0" cb="0"/><line nr="45" mi="0" ci="4" mb="0" cb="2"/><line nr="46" mi="0" ci="1" mb="0" cb="0"/><line nr="48" mi="0" ci="3" mb="0" cb="0"/><line nr="49" mi="0" ci="6" mb="0" cb="0"/><line nr="51" mi="0" ci="2" mb="0" cb="0"/><line nr="52" mi="0" ci="3" mb="0" cb="2"/><line nr="53" mi="0" ci="1" mb="0" cb="0"/><line nr="55" mi="0" ci="7" mb="0" cb="0"/><line nr="57" mi="0" ci="3" mb="0" cb="0"/><line nr="60" mi="0" ci="4" mb="0" cb="2"/><line nr="61" mi="0" ci="4" mb="0" cb="0"/><line nr="62" mi="0" ci="3" mb="0" cb="0"/><line nr="63" mi="0" ci="4" mb="0" cb="0"/><line nr="64" mi="0" ci="1" mb="0" cb="0"/><line nr="65" mi="0" ci="4" mb="0" cb="0"/><line nr="66" mi="0" ci="3" mb="0" cb="0"/><line nr="67" mi="0" ci="4" mb="0" cb="0"/><line nr="70" mi="0" ci="2" mb="0" cb="2"/><line nr="71" mi="0" ci="1" mb="0" cb="0"/><line nr="74" mi="0" ci="4" mb="0" cb="0"/><line nr="75" mi="0" ci="5" mb="0" cb="0"/><line nr="77" mi="0" ci="7" mb="0" cb="2"/><line nr="79" mi="0" ci="4" mb="0" cb="0"/><line nr="80" mi="0" ci="3" mb="0" cb="0"/><line nr="81" mi="0" ci="6" mb="0" cb="0"/><line nr="84" mi="0" ci="3" mb="0" cb="0"/><line nr="85" mi="0" ci="4" mb="0" cb="0"/><line nr="86" mi="0" ci="2" mb="0" cb="0"/><line nr="87" mi="0" ci="3" mb="1" cb="1"/><line nr="88" mi="1" ci="0" mb="0" cb="0"/><line nr="89" mi="0" ci="5" mb="0" cb="2"/><line nr="91" mi="0" ci="8" mb="0" cb="0"/><line nr="93" mi="0" ci="4" mb="0" cb="2"/><line nr="95" mi="0" ci="1" mb="0" cb="0"/><line nr="97" mi="0" ci="7" mb="2" cb="2"/><line nr="99" mi="0" ci="5" mb="0" cb="0"/><line nr="100" mi="0" ci="3" mb="0" cb="0"/><line nr="101" mi="0" ci="1" mb="0" cb="0"/><line nr="103" mi="1" ci="0" mb="0" cb="0"/><line nr="105" mi="0" ci="1" mb="0" cb="0"/><line nr="108" mi="0" ci="6" mb="0" cb="0"/><line nr="109" mi="0" ci="4" mb="0" cb="0"/><line nr="110" mi="0" ci="1" mb="0" cb="0"/><counter type="INSTRUCTION" missed="2" covered="172"/><counter type="BRANCH" missed="3" covered="19"/><counter type="LINE" missed="2" covered="47"/><counter type="COMPLEXITY" missed="3" covered="11"/><counter type="METHOD" missed="0" covered="3"/><counter type="CLASS" missed="0" covered="2"/></sourcefile><sourcefile name="PrivateEmptyNoArgConstructorFilter.java"><line nr="21" mi="0" ci="2" mb="0" cb="0"/><line nr="28" mi="0" ci="24" mb="2" cb="6"/><line nr="32" mi="0" ci="8" mb="0" cb="0"/><line nr="35" mi="0" ci="1" mb="0" cb="0"/><line nr="37" mi="0" ci="1" mb="0" cb="0"/><line nr="40" mi="0" ci="3" mb="0" cb="0"/><line nr="41" mi="0" ci="6" mb="0" cb="0"/><line nr="43" mi="0" ci="3" mb="0" cb="0"/><line nr="44" mi="1" ci="6" mb="1" cb="1"/><counter type="INSTRUCTION" missed="1" covered="54"/><counter type="BRANCH" missed="3" covered="7"/><counter type="LINE" missed="0" covered="9"/><counter type="COMPLEXITY" missed="3" covered="5"/><counter type="METHOD" missed="0" covered="3"/><counter type="CLASS" missed="0" covered="2"/></sourcefile><sourcefile name="StringSwitchFilter.java"><line nr="32" mi="0" ci="2" mb="0" cb="0"/><line nr="36" mi="0" ci="5" mb="0" cb="0"/><line nr="37" mi="0" ci="11" mb="0" cb="2"/><line nr="38" mi="0" ci="5" mb="0" cb="0"/><line nr="40" mi="0" ci="1" mb="0" cb="0"/><line nr="42" mi="0" ci="1" mb="0" cb="0"/><line nr="46" mi="0" ci="8" mb="0" cb="4"/><line nr="48" mi="0" ci="1" mb="0" cb="0"/><line nr="50" mi="0" ci="3" mb="0" cb="0"/><line nr="51" mi="0" ci="6" mb="0" cb="0"/><line nr="53" mi="0" ci="2" mb="0" cb="0"/><line nr="54" mi="0" ci="3" mb="0" cb="2"/><line nr="55" mi="0" ci="1" mb="0" cb="0"/><line nr="57" mi="0" ci="7" mb="0" cb="0"/><line nr="59" mi="0" ci="3" mb="0" cb="0"/><line nr="62" mi="0" ci="4" mb="0" cb="2"/><line nr="63" mi="0" ci="4" mb="0" cb="0"/><line nr="64" mi="0" ci="3" mb="0" cb="0"/><line nr="65" mi="0" ci="4" mb="0" cb="0"/><line nr="66" mi="0" ci="1" mb="0" cb="0"/><line nr="67" mi="0" ci="4" mb="0" cb="0"/><line nr="68" mi="0" ci="3" mb="0" cb="0"/><line nr="69" mi="0" ci="4" mb="0" cb="0"/><line nr="72" mi="0" ci="2" mb="0" cb="2"/><line nr="73" mi="0" ci="1" mb="0" cb="0"/><line nr="76" mi="0" ci="4" mb="0" cb="0"/><line nr="77" mi="0" ci="5" mb="0" cb="0"/><line nr="79" mi="0" ci="7" mb="0" cb="2"/><line nr="81" mi="0" ci="4" mb="0" cb="0"/><line nr="82" mi="0" ci="3" mb="0" cb="0"/><line nr="83" mi="0" ci="6" mb="0" cb="0"/><line nr="86" mi="0" ci="3" mb="0" cb="0"/><line nr="87" mi="0" ci="3" mb="1" cb="1"/><line nr="88" mi="1" ci="0" mb="0" cb="0"/><line nr="91" mi="0" ci="8" mb="0" cb="0"/><line nr="94" mi="0" ci="6" mb="0" cb="2"/><line nr="97" mi="0" ci="3" mb="0" cb="0"/><line nr="98" mi="0" ci="1" mb="0" cb="0"/><line nr="99" mi="0" ci="5" mb="0" cb="2"/><line nr="100" mi="0" ci="1" mb="0" cb="0"/><line nr="105" mi="0" ci="6" mb="0" cb="0"/><line nr="106" mi="0" ci="4" mb="0" cb="0"/><line nr="107" mi="0" ci="1" mb="0" cb="0"/><counter type="INSTRUCTION" missed="1" covered="159"/><counter type="BRANCH" missed="1" covered="19"/><counter type="LINE" missed="1" covered="42"/><counter type="COMPLEXITY" missed="1" covered="12"/><counter type="METHOD" missed="0" covered="3"/><counter type="CLASS" missed="0" covered="2"/></sourcefile><sourcefile name="AssertFilter.java"><line nr="22" mi="0" ci="2" mb="0" cb="0"/><line nr="26" mi="0" ci="5" mb="0" cb="0"/><line nr="27" mi="0" ci="5" mb="0" cb="2"/><line nr="28" mi="0" ci="11" mb="0" cb="2"/><line nr="29" mi="0" ci="7" mb="0" cb="0"/><line nr="32" mi="0" ci="11" mb="0" cb="2"/><line nr="33" mi="0" ci="7" mb="0" cb="0"/><line nr="35" mi="0" ci="1" mb="0" cb="0"/><line nr="37" mi="0" ci="1" mb="0" cb="0"/><line nr="40" mi="0" ci="3" mb="0" cb="0"/><line nr="41" mi="0" ci="6" mb="0" cb="0"/><line nr="43" mi="0" ci="3" mb="0" cb="0"/><line nr="44" mi="0" ci="3" mb="0" cb="0"/><line nr="45" mi="0" ci="3" mb="0" cb="0"/><line nr="46" mi="0" ci="3" mb="0" cb="0"/><line nr="47" mi="0" ci="6" mb="0" cb="0"/><line nr="49" mi="0" ci="3" mb="0" cb="2"/><line nr="50" mi="0" ci="5" mb="0" cb="0"/><line nr="52" mi="0" ci="1" mb="0" cb="0"/><line nr="56" mi="0" ci="3" mb="0" cb="0"/><line nr="57" mi="0" ci="6" mb="0" cb="0"/><line nr="59" mi="0" ci="3" mb="0" cb="0"/><line nr="60" mi="0" ci="3" mb="0" cb="2"/><line nr="61" mi="0" ci="6" mb="0" cb="0"/><line nr="63" mi="0" ci="1" mb="0" cb="0"/><counter type="INSTRUCTION" missed="0" covered="108"/><counter type="BRANCH" missed="0" covered="10"/><counter type="LINE" missed="0" covered="25"/><counter type="COMPLEXITY" missed="0" covered="9"/><counter type="METHOD" missed="0" covered="4"/><counter type="CLASS" missed="0" covered="2"/></sourcefile><sourcefile name="KotlinInlineFilter.java"><line nr="29" mi="0" ci="2" mb="0" cb="0"/><line nr="31" mi="0" ci="4" mb="0" cb="0"/><line nr="35" mi="0" ci="3" mb="0" cb="2"/><line nr="36" mi="0" ci="1" mb="0" cb="0"/><line nr="39" mi="0" ci="3" mb="0" cb="2"/><line nr="40" mi="0" ci="1" mb="0" cb="0"/><line nr="43" mi="0" ci="4" mb="0" cb="2"/><line nr="44" mi="0" ci="7" mb="0" cb="0"/><line nr="49" mi="0" ci="2" mb="0" cb="0"/><line nr="50" mi="0" ci="11" mb="0" cb="2"/><line nr="51" mi="0" ci="4" mb="0" cb="2"/><line nr="52" mi="0" ci="4" mb="0" cb="0"/><line nr="54" mi="0" ci="4" mb="0" cb="2"/><line nr="55" mi="0" ci="5" mb="0" cb="0"/><line nr="58" mi="0" ci="1" mb="0" cb="0"/><line nr="63" mi="0" ci="8" mb="0" cb="0"/><line nr="65" mi="0" ci="3" mb="0" cb="0"/><line nr="67" mi="0" ci="3" mb="0" cb="0"/><line nr="69" mi="0" ci="3" mb="0" cb="0"/><line nr="71" mi="0" ci="3" mb="0" cb="0"/><line nr="73" mi="0" ci="3" mb="0" cb="0"/><line nr="74" mi="0" ci="4" mb="0" cb="0"/><line nr="76" mi="0" ci="7" mb="0" cb="2"/><line nr="78" mi="0" ci="3" mb="0" cb="0"/><line nr="80" mi="0" ci="4" mb="0" cb="0"/><line nr="81" mi="0" ci="3" mb="0" cb="2"/><line nr="82" mi="0" ci="12" mb="0" cb="0"/><line nr="85" mi="0" ci="4" mb="0" cb="0"/><line nr="86" mi="0" ci="4" mb="0" cb="2"/><line nr="87" mi="0" ci="6" mb="0" cb="0"/><line nr="89" mi="0" ci="1" mb="0" cb="0"/><line nr="90" mi="0" ci="3" mb="0" cb="2"/><line nr="91" mi="0" ci="5" mb="0" cb="0"/><line nr="94" mi="0" ci="2" mb="0" cb="0"/><line nr="96" mi="0" ci="3" mb="0" cb="0"/><line nr="97" mi="0" ci="8" mb="0" cb="4"/><line nr="98" mi="0" ci="1" mb="0" cb="0"/><line nr="100" mi="0" ci="4" mb="0" cb="0"/><line nr="101" mi="0" ci="3" mb="0" cb="2"/><line nr="102" mi="0" ci="12" mb="0" cb="0"/><line nr="105" mi="0" ci="5" mb="0" cb="0"/><line nr="106" mi="0" ci="7" mb="0" cb="0"/><line nr="108" mi="0" ci="5" mb="0" cb="0"/><line nr="109" mi="0" ci="7" mb="0" cb="4"/><line nr="111" mi="0" ci="1" mb="0" cb="0"/><line nr="113" mi="0" ci="4" mb="0" cb="0"/><line nr="114" mi="0" ci="1" mb="0" cb="0"/><line nr="115" mi="0" ci="2" mb="0" cb="0"/><line nr="116" mi="1" ci="0" mb="0" cb="0"/><line nr="118" mi="5" ci="0" mb="0" cb="0"/><line nr="124" mi="0" ci="3" mb="0" cb="0"/><line nr="125" mi="0" ci="4" mb="0" cb="2"/><line nr="126" mi="0" ci="12" mb="0" cb="0"/><line nr="128" mi="0" ci="1" mb="0" cb="0"/><line nr="130" mi="0" ci="3" mb="0" cb="0"/><line nr="138" mi="0" ci="4" mb="0" cb="0"/><counter type="INSTRUCTION" missed="6" covered="227"/><counter type="BRANCH" missed="0" covered="32"/><counter type="LINE" missed="2" covered="54"/><counter type="COMPLEXITY" missed="0" covered="21"/><counter type="METHOD" missed="0" covered="5"/><counter type="CLASS" missed="0" covered="1"/></sourcefile><sourcefile name="EnumFilter.java"><line nr="21" mi="0" ci="3" mb="0" cb="0"/><line nr="25" mi="0" ci="11" mb="0" cb="2"/><line nr="28" mi="0" ci="8" mb="0" cb="0"/><line nr="31" mi="0" ci="1" mb="0" cb="0"/><line nr="36" mi="0" ci="4" mb="0" cb="2"/><line nr="37" mi="0" ci="17" mb="1" cb="3"/><line nr="39" mi="0" ci="2" mb="0" cb="0"/><line nr="41" mi="0" ci="17" mb="1" cb="3"/><line nr="44" mi="0" ci="2" mb="0" cb="0"/><line nr="47" mi="0" ci="2" mb="0" cb="0"/><counter type="INSTRUCTION" missed="0" covered="67"/><counter type="BRANCH" missed="2" covered="10"/><counter type="LINE" missed="0" covered="10"/><counter type="COMPLEXITY" missed="2" covered="7"/><counter type="METHOD" missed="0" covered="3"/><counter type="CLASS" missed="0" covered="1"/></sourcefile><sourcefile name="IFilterOutput.java"/><sourcefile name="AnnotationGeneratedFilter.java"><line nr="26" mi="0" ci="3" mb="0" cb="0"/><line nr="31" mi="0" ci="11" mb="0" cb="2"/><line nr="32" mi="0" ci="3" mb="0" cb="2"/><line nr="33" mi="0" ci="8" mb="0" cb="0"/><line nr="35" mi="0" ci="2" mb="0" cb="0"/><line nr="39" mi="0" ci="8" mb="0" cb="4"/><line nr="41" mi="0" ci="8" mb="0" cb="0"/><line nr="45" mi="0" ci="1" mb="0" cb="0"/><line nr="48" mi="0" ci="12" mb="0" cb="0"/><line nr="51" mi="0" ci="4" mb="0" cb="0"/><line nr="55" mi="0" ci="2" mb="0" cb="2"/><line nr="56" mi="0" ci="10" mb="0" cb="2"/><line nr="57" mi="0" ci="4" mb="0" cb="2"/><line nr="58" mi="0" ci="3" mb="0" cb="0"/><line nr="62" mi="0" ci="2" mb="0" cb="0"/><counter type="INSTRUCTION" missed="0" covered="81"/><counter type="BRANCH" missed="0" covered="14"/><counter type="LINE" missed="0" covered="15"/><counter type="COMPLEXITY" missed="0" covered="11"/><counter type="METHOD" missed="0" covered="4"/><counter type="CLASS" missed="0" covered="1"/></sourcefile><sourcefile name="SyntheticFilter.java"><line nr="21" mi="0" ci="3" mb="0" cb="0"/><line nr="24" mi="0" ci="14" mb="0" cb="4"/><line nr="30" mi="0" ci="5" mb="0" cb="2"/><line nr="31" mi="0" ci="1" mb="0" cb="0"/><line nr="34" mi="0" ci="5" mb="0" cb="2"/><line nr="35" mi="0" ci="1" mb="0" cb="0"/><line nr="38" mi="0" ci="3" mb="0" cb="2"/><line nr="39" mi="0" ci="5" mb="1" cb="1"/><line nr="40" mi="0" ci="1" mb="0" cb="0"/><line nr="44" mi="0" ci="3" mb="0" cb="2"/><line nr="45" mi="0" ci="3" mb="0" cb="2"/><line nr="47" mi="0" ci="1" mb="0" cb="0"/><line nr="50" mi="0" ci="3" mb="0" cb="2"/><line nr="52" mi="0" ci="1" mb="0" cb="0"/><line nr="55" mi="0" ci="3" mb="0" cb="2"/><line nr="57" mi="0" ci="1" mb="0" cb="0"/><line nr="61" mi="0" ci="8" mb="0" cb="0"/><line nr="63" mi="0" ci="1" mb="0" cb="0"/><counter type="INSTRUCTION" missed="0" covered="62"/><counter type="BRANCH" missed="1" covered="19"/><counter type="LINE" missed="0" covered="18"/><counter type="COMPLEXITY" missed="1" covered="12"/><counter type="METHOD" missed="0" covered="3"/><counter type="CLASS" missed="0" covered="1"/></sourcefile><sourcefile name="KotlinDefaultArgumentsFilter.java"><line nr="53" mi="0" ci="2" mb="0" cb="0"/><line nr="56" mi="0" ci="5" mb="0" cb="0"/><line nr="60" mi="0" ci="5" mb="0" cb="2"/><line nr="61" mi="0" ci="2" mb="0" cb="0"/><line nr="63" mi="0" ci="5" mb="0" cb="0"/><line nr="65" mi="0" ci="4" mb="1" cb="1"/><line nr="66" mi="2" ci="0" mb="0" cb="0"/><line nr="68" mi="0" ci="10" mb="0" cb="0"/><line nr="74" mi="0" ci="5" mb="0" cb="2"/><line nr="75" mi="0" ci="1" mb="0" cb="0"/><line nr="77" mi="0" ci="3" mb="0" cb="2"/><line nr="78" mi="0" ci="1" mb="0" cb="0"/><line nr="81" mi="0" ci="3" mb="0" cb="2"/><line nr="82" mi="0" ci="9" mb="0" cb="0"/><line nr="83" mi="0" ci="3" mb="0" cb="2"/><line nr="84" mi="0" ci="8" mb="0" cb="0"/><line nr="86" mi="0" ci="1" mb="0" cb="0"/><line nr="88" mi="0" ci="1" mb="0" cb="0"/><line nr="91" mi="0" ci="6" mb="0" cb="0"/><line nr="93" mi="0" ci="3" mb="0" cb="0"/><line nr="94" mi="0" ci="4" mb="0" cb="0"/><line nr="95" mi="0" ci="3" mb="0" cb="0"/><line nr="96" mi="0" ci="3" mb="0" cb="0"/><line nr="97" mi="0" ci="17" mb="2" cb="4"/><line nr="101" mi="0" ci="3" mb="0" cb="0"/><line nr="103" mi="0" ci="6" mb="0" cb="0"/><line nr="106" mi="0" ci="3" mb="0" cb="0"/><line nr="107" mi="0" ci="3" mb="0" cb="2"/><line nr="108" mi="0" ci="7" mb="0" cb="0"/><line nr="109" mi="0" ci="3" mb="0" cb="0"/><line nr="111" mi="0" ci="6" mb="0" cb="0"/><line nr="114" mi="0" ci="4" mb="0" cb="0"/><line nr="115" mi="0" ci="5" mb="0" cb="0"/><line nr="117" mi="0" ci="5" mb="0" cb="2"/><line nr="118" mi="0" ci="1" mb="0" cb="0"/><line nr="120" mi="0" ci="6" mb="1" cb="1"/><line nr="121" mi="1" ci="0" mb="0" cb="0"/><line nr="123" mi="0" ci="2" mb="0" cb="0"/><line nr="124" mi="0" ci="3" mb="0" cb="0"/><line nr="125" mi="0" ci="3" mb="0" cb="0"/><line nr="126" mi="0" ci="3" mb="1" cb="1"/><line nr="127" mi="1" ci="0" mb="0" cb="0"/><line nr="129" mi="0" ci="5" mb="0" cb="0"/><line nr="130" mi="0" ci="6" mb="0" cb="0"/><line nr="131" mi="0" ci="3" mb="0" cb="0"/><line nr="134" mi="0" ci="10" mb="0" cb="2"/><line nr="135" mi="0" ci="5" mb="0" cb="0"/><line nr="137" mi="0" ci="1" mb="0" cb="0"/><line nr="141" mi="0" ci="4" mb="0" cb="0"/><line nr="143" mi="0" ci="2" mb="0" cb="0"/><line nr="144" mi="0" ci="2" mb="0" cb="2"/><line nr="146" mi="0" ci="1" mb="0" cb="0"/><line nr="148" mi="0" ci="9" mb="0" cb="0"/><line nr="150" mi="0" ci="7" mb="0" cb="2"/><line nr="151" mi="0" ci="7" mb="0" cb="0"/><line nr="153" mi="0" ci="2" mb="0" cb="0"/><line nr="163" mi="0" ci="8" mb="0" cb="0"/><counter type="INSTRUCTION" missed="4" covered="239"/><counter type="BRANCH" missed="5" covered="27"/><counter type="LINE" missed="3" covered="54"/><counter type="COMPLEXITY" missed="5" covered="18"/><counter type="METHOD" missed="0" covered="7"/><counter type="CLASS" missed="0" covered="2"/></sourcefile><sourcefile name="KotlinNotNullOperatorFilter.java"><line nr="23" mi="0" ci="2" mb="0" cb="0"/><line nr="27" mi="0" ci="5" mb="0" cb="0"/><line nr="28" mi="0" ci="11" mb="0" cb="2"/><line nr="29" mi="0" ci="5" mb="0" cb="0"/><line nr="31" mi="0" ci="1" mb="0" cb="0"/><line nr="33" mi="0" ci="1" mb="0" cb="0"/><line nr="36" mi="0" ci="4" mb="0" cb="2"/><line nr="37" mi="0" ci="1" mb="0" cb="0"/><line nr="39" mi="0" ci="3" mb="0" cb="0"/><line nr="40" mi="0" ci="6" mb="0" cb="0"/><line nr="42" mi="0" ci="3" mb="0" cb="2"/><line nr="43" mi="0" ci="1" mb="0" cb="0"/><line nr="45" mi="0" ci="5" mb="0" cb="0"/><line nr="46" mi="0" ci="1" mb="0" cb="0"/><counter type="INSTRUCTION" missed="0" covered="49"/><counter type="BRANCH" missed="0" covered="6"/><counter type="LINE" missed="0" covered="14"/><counter type="COMPLEXITY" missed="0" covered="6"/><counter type="METHOD" missed="0" covered="3"/><counter type="CLASS" missed="0" covered="2"/></sourcefile><counter type="INSTRUCTION" missed="131" covered="4907"/><counter type="BRANCH" missed="97" covered="634"/><counter type="LINE" missed="63" covered="1153"/><counter type="COMPLEXITY" missed="97" covered="412"/><counter type="METHOD" missed="0" covered="142"/><counter type="CLASS" missed="0" covered="51"/></package><package name="org/jacoco/core/data"><class name="org/jacoco/core/data/IExecutionDataVisitor" sourcefilename="IExecutionDataVisitor.java"/><class name="org/jacoco/core/data/SessionInfo" sourcefilename="SessionInfo.java"><method name="&lt;init&gt;" desc="(Ljava/lang/String;JJ)V" line="39"><counter type="INSTRUCTION" missed="0" covered="18"/><counter type="BRANCH" missed="0" covered="2"/><counter type="LINE" missed="0" covered="7"/><counter type="COMPLEXITY" missed="0" covered="2"/><counter type="METHOD" missed="0" covered="1"/></method><method name="getId" desc="()Ljava/lang/String;" line="52"><counter type="INSTRUCTION" missed="0" covered="3"/><counter type="LINE" missed="0" covered="1"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="getStartTimeStamp" desc="()J" line="60"><counter type="INSTRUCTION" missed="0" covered="3"/><counter type="LINE" missed="0" covered="1"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="getDumpTimeStamp" desc="()J" line="67"><counter type="INSTRUCTION" missed="0" covered="3"/><counter type="LINE" missed="0" covered="1"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="compareTo" desc="(Lorg/jacoco/core/data/SessionInfo;)I" line="71"><counter type="INSTRUCTION" missed="0" covered="18"/><counter type="BRANCH" missed="0" covered="4"/><counter type="LINE" missed="0" covered="5"/><counter type="COMPLEXITY" missed="0" covered="3"/><counter type="METHOD" missed="0" covered="1"/></method><method name="toString" desc="()Ljava/lang/String;" line="82"><counter type="INSTRUCTION" missed="0" covered="12"/><counter type="LINE" missed="0" covered="1"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><counter type="INSTRUCTION" missed="0" covered="57"/><counter type="BRANCH" missed="0" covered="6"/><counter type="LINE" missed="0" covered="16"/><counter type="COMPLEXITY" missed="0" covered="9"/><counter type="METHOD" missed="0" covered="6"/><counter type="CLASS" missed="0" covered="1"/></class><class name="org/jacoco/core/data/ISessionInfoVisitor" sourcefilename="ISessionInfoVisitor.java"/><class name="org/jacoco/core/data/ExecutionDataStore" sourcefilename="ExecutionDataStore.java"><method name="&lt;init&gt;" desc="()V" line="30"><counter type="INSTRUCTION" missed="0" covered="13"/><counter type="LINE" missed="0" covered="3"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="put" desc="(Lorg/jacoco/core/data/ExecutionData;)V" line="49"><counter type="INSTRUCTION" missed="0" covered="29"/><counter type="BRANCH" missed="0" covered="2"/><counter type="LINE" missed="0" covered="7"/><counter type="COMPLEXITY" missed="0" covered="2"/><counter type="METHOD" missed="0" covered="1"/></method><method name="subtract" desc="(Lorg/jacoco/core/data/ExecutionData;)V" line="74"><counter type="INSTRUCTION" missed="0" covered="17"/><counter type="BRANCH" missed="0" covered="2"/><counter type="LINE" missed="0" covered="5"/><counter type="COMPLEXITY" missed="0" covered="2"/><counter type="METHOD" missed="0" covered="1"/></method><method name="subtract" desc="(Lorg/jacoco/core/data/ExecutionDataStore;)V" line="89"><counter type="INSTRUCTION" missed="0" covered="16"/><counter type="BRANCH" missed="0" covered="2"/><counter type="LINE" missed="0" covered="3"/><counter type="COMPLEXITY" missed="0" covered="2"/><counter type="METHOD" missed="0" covered="1"/></method><method name="get" desc="(J)Lorg/jacoco/core/data/ExecutionData;" line="103"><counter type="INSTRUCTION" missed="0" covered="7"/><counter type="LINE" missed="0" covered="1"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="contains" desc="(Ljava/lang/String;)Z" line="116"><counter type="INSTRUCTION" missed="0" covered="5"/><counter type="LINE" missed="0" covered="1"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="get" desc="(Ljava/lang/Long;Ljava/lang/String;I)Lorg/jacoco/core/data/ExecutionData;" line="133"><counter type="INSTRUCTION" missed="0" covered="36"/><counter type="BRANCH" missed="0" covered="2"/><counter type="LINE" missed="0" covered="7"/><counter type="COMPLEXITY" missed="0" covered="2"/><counter type="METHOD" missed="0" covered="1"/></method><method name="reset" desc="()V" line="149"><counter type="INSTRUCTION" missed="0" covered="16"/><counter type="BRANCH" missed="0" covered="2"/><counter type="LINE" missed="0" covered="3"/><counter type="COMPLEXITY" missed="0" covered="2"/><counter type="METHOD" missed="0" covered="1"/></method><method name="getContents" desc="()Ljava/util/Collection;" line="160"><counter type="INSTRUCTION" missed="0" covered="7"/><counter type="LINE" missed="0" covered="1"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="accept" desc="(Lorg/jacoco/core/data/IExecutionDataVisitor;)V" line="170"><counter type="INSTRUCTION" missed="0" covered="16"/><counter type="BRANCH" missed="0" covered="2"/><counter type="LINE" missed="0" covered="3"/><counter type="COMPLEXITY" missed="0" covered="2"/><counter type="METHOD" missed="0" covered="1"/></method><method name="visitClassExecution" desc="(Lorg/jacoco/core/data/ExecutionData;)V" line="178"><counter type="INSTRUCTION" missed="0" covered="4"/><counter type="LINE" missed="0" covered="2"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><counter type="INSTRUCTION" missed="0" covered="166"/><counter type="BRANCH" missed="0" covered="12"/><counter type="LINE" missed="0" covered="36"/><counter type="COMPLEXITY" missed="0" covered="17"/><counter type="METHOD" missed="0" covered="11"/><counter type="CLASS" missed="0" covered="1"/></class><class name="org/jacoco/core/data/ExecutionDataReader" sourcefilename="ExecutionDataReader.java"><method name="&lt;init&gt;" desc="(Ljava/io/InputStream;)V" line="30"><counter type="INSTRUCTION" missed="0" covered="18"/><counter type="LINE" missed="0" covered="6"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="setSessionInfoVisitor" desc="(Lorg/jacoco/core/data/ISessionInfoVisitor;)V" line="55"><counter type="INSTRUCTION" missed="0" covered="4"/><counter type="LINE" missed="0" covered="2"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="setExecutionDataVisitor" desc="(Lorg/jacoco/core/data/IExecutionDataVisitor;)V" line="65"><counter type="INSTRUCTION" missed="0" covered="4"/><counter type="LINE" missed="0" covered="2"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="read" desc="()Z" line="84"><counter type="INSTRUCTION" missed="0" covered="32"/><counter type="BRANCH" missed="0" covered="8"/><counter type="LINE" missed="0" covered="9"/><counter type="COMPLEXITY" missed="0" covered="5"/><counter type="METHOD" missed="0" covered="1"/></method><method name="readBlock" desc="(B)Z" line="108"><counter type="INSTRUCTION" missed="0" covered="27"/><counter type="BRANCH" missed="0" covered="4"/><counter type="LINE" missed="0" covered="8"/><counter type="COMPLEXITY" missed="0" covered="4"/><counter type="METHOD" missed="0" covered="1"/></method><method name="readHeader" desc="()V" line="125"><counter type="INSTRUCTION" missed="0" covered="23"/><counter type="BRANCH" missed="0" covered="4"/><counter type="LINE" missed="0" covered="6"/><counter type="COMPLEXITY" missed="0" covered="3"/><counter type="METHOD" missed="0" covered="1"/></method><method name="readSessionInfo" desc="()V" line="135"><counter type="INSTRUCTION" missed="0" covered="30"/><counter type="BRANCH" missed="0" covered="2"/><counter type="LINE" missed="0" covered="7"/><counter type="COMPLEXITY" missed="0" covered="2"/><counter type="METHOD" missed="0" covered="1"/></method><method name="readExecutionData" desc="()V" line="145"><counter type="INSTRUCTION" missed="0" covered="30"/><counter type="BRANCH" missed="0" covered="2"/><counter type="LINE" missed="0" covered="7"/><counter type="COMPLEXITY" missed="0" covered="2"/><counter type="METHOD" missed="0" covered="1"/></method><counter type="INSTRUCTION" missed="0" covered="168"/><counter type="BRANCH" missed="0" covered="20"/><counter type="LINE" missed="0" covered="47"/><counter type="COMPLEXITY" missed="0" covered="19"/><counter type="METHOD" missed="0" covered="8"/><counter type="CLASS" missed="0" covered="1"/></class><class name="org/jacoco/core/data/ExecutionData" sourcefilename="ExecutionData.java"><method name="&lt;init&gt;" desc="(JLjava/lang/String;[Z)V" line="43"><counter type="INSTRUCTION" missed="0" covered="12"/><counter type="LINE" missed="0" covered="5"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="&lt;init&gt;" desc="(JLjava/lang/String;I)V" line="61"><counter type="INSTRUCTION" missed="0" covered="13"/><counter type="LINE" missed="0" covered="5"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="getId" desc="()J" line="74"><counter type="INSTRUCTION" missed="0" covered="3"/><counter type="LINE" missed="0" covered="1"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="getName" desc="()Ljava/lang/String;" line="83"><counter type="INSTRUCTION" missed="0" covered="3"/><counter type="LINE" missed="0" covered="1"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="getProbes" desc="()[Z" line="93"><counter type="INSTRUCTION" missed="0" covered="3"/><counter type="LINE" missed="0" covered="1"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="reset" desc="()V" line="100"><counter type="INSTRUCTION" missed="0" covered="5"/><counter type="LINE" missed="0" covered="2"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="hasHits" desc="()Z" line="109"><counter type="INSTRUCTION" missed="0" covered="23"/><counter type="BRANCH" missed="0" covered="4"/><counter type="LINE" missed="0" covered="4"/><counter type="COMPLEXITY" missed="0" covered="3"/><counter type="METHOD" missed="0" covered="1"/></method><method name="merge" desc="(Lorg/jacoco/core/data/ExecutionData;)V" line="133"><counter type="INSTRUCTION" missed="0" covered="5"/><counter type="LINE" missed="0" covered="2"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="merge" desc="(Lorg/jacoco/core/data/ExecutionData;Z)V" line="160"><counter type="INSTRUCTION" missed="0" covered="31"/><counter type="BRANCH" missed="0" covered="4"/><counter type="LINE" missed="0" covered="6"/><counter type="COMPLEXITY" missed="0" covered="3"/><counter type="METHOD" missed="0" covered="1"/></method><method name="assertCompatibility" desc="(JLjava/lang/String;I)V" line="186"><counter type="INSTRUCTION" missed="0" covered="74"/><counter type="BRANCH" missed="0" covered="6"/><counter type="LINE" missed="0" covered="7"/><counter type="COMPLEXITY" missed="0" covered="4"/><counter type="METHOD" missed="0" covered="1"/></method><method name="toString" desc="()Ljava/lang/String;" line="205"><counter type="INSTRUCTION" missed="0" covered="16"/><counter type="LINE" missed="0" covered="1"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><counter type="INSTRUCTION" missed="0" covered="188"/><counter type="BRANCH" missed="0" covered="14"/><counter type="LINE" missed="0" covered="35"/><counter type="COMPLEXITY" missed="0" covered="18"/><counter type="METHOD" missed="0" covered="11"/><counter type="CLASS" missed="0" covered="1"/></class><class name="org/jacoco/core/data/ExecutionDataWriter" sourcefilename="ExecutionDataWriter.java"><method name="&lt;init&gt;" desc="(Ljava/io/OutputStream;)V" line="62"><counter type="INSTRUCTION" missed="0" covered="11"/><counter type="LINE" missed="0" covered="4"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="writeHeader" desc="()V" line="74"><counter type="INSTRUCTION" missed="0" covered="13"/><counter type="LINE" missed="0" covered="4"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="flush" desc="()V" line="86"><counter type="INSTRUCTION" missed="0" covered="4"/><counter type="LINE" missed="0" covered="2"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="visitSessionInfo" desc="(Lorg/jacoco/core/data/SessionInfo;)V" line="91"><counter type="INSTRUCTION" missed="0" covered="27"/><counter type="LINE" missed="0" covered="8"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="visitClassExecution" desc="(Lorg/jacoco/core/data/ExecutionData;)V" line="101"><counter type="INSTRUCTION" missed="0" covered="30"/><counter type="BRANCH" missed="0" covered="2"/><counter type="LINE" missed="0" covered="9"/><counter type="COMPLEXITY" missed="0" covered="2"/><counter type="METHOD" missed="0" covered="1"/></method><method name="getFileHeader" desc="()[B" line="121"><counter type="INSTRUCTION" missed="6" covered="13"/><counter type="LINE" missed="2" covered="4"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="&lt;clinit&gt;" desc="()V" line="34"><counter type="INSTRUCTION" missed="0" covered="3"/><counter type="LINE" missed="0" covered="2"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><counter type="INSTRUCTION" missed="6" covered="101"/><counter type="BRANCH" missed="0" covered="2"/><counter type="LINE" missed="2" covered="33"/><counter type="COMPLEXITY" missed="0" covered="8"/><counter type="METHOD" missed="0" covered="7"/><counter type="CLASS" missed="0" covered="1"/></class><class name="org/jacoco/core/data/SessionInfoStore" sourcefilename="SessionInfoStore.java"><method name="&lt;init&gt;" desc="()V" line="26"><counter type="INSTRUCTION" missed="0" covered="8"/><counter type="LINE" missed="0" covered="2"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="isEmpty" desc="()Z" line="36"><counter type="INSTRUCTION" missed="0" covered="4"/><counter type="LINE" missed="0" covered="1"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="getInfos" desc="()Ljava/util/List;" line="47"><counter type="INSTRUCTION" missed="0" covered="10"/><counter type="LINE" missed="0" covered="3"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="getMerged" desc="(Ljava/lang/String;)Lorg/jacoco/core/data/SessionInfo;" line="65"><counter type="INSTRUCTION" missed="0" covered="44"/><counter type="BRANCH" missed="0" covered="4"/><counter type="LINE" missed="0" covered="8"/><counter type="COMPLEXITY" missed="0" covered="3"/><counter type="METHOD" missed="0" covered="1"/></method><method name="accept" desc="(Lorg/jacoco/core/data/ISessionInfoVisitor;)V" line="85"><counter type="INSTRUCTION" missed="0" covered="16"/><counter type="BRANCH" missed="0" covered="2"/><counter type="LINE" missed="0" covered="3"/><counter type="COMPLEXITY" missed="0" covered="2"/><counter type="METHOD" missed="0" covered="1"/></method><method name="visitSessionInfo" desc="(Lorg/jacoco/core/data/SessionInfo;)V" line="93"><counter type="INSTRUCTION" missed="0" covered="6"/><counter type="LINE" missed="0" covered="2"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><counter type="INSTRUCTION" missed="0" covered="88"/><counter type="BRANCH" missed="0" covered="6"/><counter type="LINE" missed="0" covered="19"/><counter type="COMPLEXITY" missed="0" covered="9"/><counter type="METHOD" missed="0" covered="6"/><counter type="CLASS" missed="0" covered="1"/></class><class name="org/jacoco/core/data/IncompatibleExecDataVersionException" sourcefilename="IncompatibleExecDataVersionException.java"><method name="&lt;init&gt;" desc="(I)V" line="33"><counter type="INSTRUCTION" missed="0" covered="20"/><counter type="LINE" missed="0" covered="3"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="getExpectedVersion" desc="()I" line="47"><counter type="INSTRUCTION" missed="0" covered="2"/><counter type="LINE" missed="0" covered="1"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="getActualVersion" desc="()I" line="56"><counter type="INSTRUCTION" missed="0" covered="3"/><counter type="LINE" missed="0" covered="1"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><counter type="INSTRUCTION" missed="0" covered="25"/><counter type="LINE" missed="0" covered="5"/><counter type="COMPLEXITY" missed="0" covered="3"/><counter type="METHOD" missed="0" covered="3"/><counter type="CLASS" missed="0" covered="1"/></class><sourcefile name="IncompatibleExecDataVersionException.java"><line nr="33" mi="0" ci="16" mb="0" cb="0"/><line nr="37" mi="0" ci="3" mb="0" cb="0"/><line nr="38" mi="0" ci="1" mb="0" cb="0"/><line nr="47" mi="0" ci="2" mb="0" cb="0"/><line nr="56" mi="0" ci="3" mb="0" cb="0"/><counter type="INSTRUCTION" missed="0" covered="25"/><counter type="LINE" missed="0" covered="5"/><counter type="COMPLEXITY" missed="0" covered="3"/><counter type="METHOD" missed="0" covered="3"/><counter type="CLASS" missed="0" covered="1"/></sourcefile><sourcefile name="ExecutionData.java"><line nr="43" mi="0" ci="2" mb="0" cb="0"/><line nr="44" mi="0" ci="3" mb="0" cb="0"/><line nr="45" mi="0" ci="3" mb="0" cb="0"/><line nr="46" mi="0" ci="3" mb="0" cb="0"/><line nr="47" mi="0" ci="1" mb="0" cb="0"/><line nr="61" mi="0" ci="2" mb="0" cb="0"/><line nr="62" mi="0" ci="3" mb="0" cb="0"/><line nr="63" mi="0" ci="3" mb="0" cb="0"/><line nr="64" mi="0" ci="4" mb="0" cb="0"/><line nr="65" mi="0" ci="1" mb="0" cb="0"/><line nr="74" mi="0" ci="3" mb="0" cb="0"/><line nr="83" mi="0" ci="3" mb="0" cb="0"/><line nr="93" mi="0" ci="3" mb="0" cb="0"/><line nr="100" mi="0" ci="4" mb="0" cb="0"/><line nr="101" mi="0" ci="1" mb="0" cb="0"/><line nr="109" mi="0" ci="17" mb="0" cb="2"/><line nr="110" mi="0" ci="2" mb="0" cb="2"/><line nr="111" mi="0" ci="2" mb="0" cb="0"/><line nr="114" mi="0" ci="2" mb="0" cb="0"/><line nr="133" mi="0" ci="4" mb="0" cb="0"/><line nr="134" mi="0" ci="1" mb="0" cb="0"/><line nr="160" mi="0" ci="9" mb="0" cb="0"/><line nr="162" mi="0" ci="3" mb="0" cb="0"/><line nr="163" mi="0" ci="9" mb="0" cb="2"/><line nr="164" mi="0" ci="4" mb="0" cb="2"/><line nr="165" mi="0" ci="5" mb="0" cb="0"/><line nr="168" mi="0" ci="1" mb="0" cb="0"/><line nr="186" mi="0" ci="5" mb="0" cb="2"/><line nr="187" mi="0" ci="19" mb="0" cb="0"/><line nr="191" mi="0" ci="5" mb="0" cb="2"/><line nr="192" mi="0" ci="22" mb="0" cb="0"/><line nr="196" mi="0" ci="5" mb="0" cb="2"/><line nr="197" mi="0" ci="17" mb="0" cb="0"/><line nr="201" mi="0" ci="1" mb="0" cb="0"/><line nr="205" mi="0" ci="16" mb="0" cb="0"/><counter type="INSTRUCTION" missed="0" covered="188"/><counter type="BRANCH" missed="0" covered="14"/><counter type="LINE" missed="0" covered="35"/><counter type="COMPLEXITY" missed="0" covered="18"/><counter type="METHOD" missed="0" covered="11"/><counter type="CLASS" missed="0" covered="1"/></sourcefile><sourcefile name="ExecutionDataStore.java"><line nr="30" mi="0" ci="2" mb="0" cb="0"/><line nr="32" mi="0" ci="5" mb="0" cb="0"/><line nr="34" mi="0" ci="6" mb="0" cb="0"/><line nr="49" mi="0" ci="4" mb="0" cb="0"/><line nr="50" mi="0" ci="6" mb="0" cb="0"/><line nr="51" mi="0" ci="2" mb="0" cb="2"/><line nr="52" mi="0" ci="6" mb="0" cb="0"/><line nr="53" mi="0" ci="7" mb="0" cb="0"/><line nr="55" mi="0" ci="3" mb="0" cb="0"/><line nr="57" mi="0" ci="1" mb="0" cb="0"/><line nr="74" mi="0" ci="4" mb="0" cb="0"/><line nr="75" mi="0" ci="6" mb="0" cb="0"/><line nr="76" mi="0" ci="2" mb="0" cb="2"/><line nr="77" mi="0" ci="4" mb="0" cb="0"/><line nr="79" mi="0" ci="1" mb="0" cb="0"/><line nr="89" mi="0" ci="11" mb="0" cb="2"/><line nr="90" mi="0" ci="4" mb="0" cb="0"/><line nr="92" mi="0" ci="1" mb="0" cb="0"/><line nr="103" mi="0" ci="7" mb="0" cb="0"/><line nr="116" mi="0" ci="5" mb="0" cb="0"/><line nr="133" mi="0" ci="6" mb="0" cb="0"/><line nr="134" mi="0" ci="2" mb="0" cb="2"/><line nr="135" mi="0" ci="8" mb="0" cb="0"/><line nr="136" mi="0" ci="6" mb="0" cb="0"/><line nr="137" mi="0" ci="6" mb="0" cb="0"/><line nr="139" mi="0" ci="6" mb="0" cb="0"/><line nr="141" mi="0" ci="2" mb="0" cb="0"/><line nr="149" mi="0" ci="12" mb="0" cb="2"/><line nr="150" mi="0" ci="3" mb="0" cb="0"/><line nr="152" mi="0" ci="1" mb="0" cb="0"/><line nr="160" mi="0" ci="7" mb="0" cb="0"/><line nr="170" mi="0" ci="11" mb="0" cb="2"/><line nr="171" mi="0" ci="4" mb="0" cb="0"/><line nr="173" mi="0" ci="1" mb="0" cb="0"/><line nr="178" mi="0" ci="3" mb="0" cb="0"/><line nr="179" mi="0" ci="1" mb="0" cb="0"/><counter type="INSTRUCTION" missed="0" covered="166"/><counter type="BRANCH" missed="0" covered="12"/><counter type="LINE" missed="0" covered="36"/><counter type="COMPLEXITY" missed="0" covered="17"/><counter type="METHOD" missed="0" covered="11"/><counter type="CLASS" missed="0" covered="1"/></sourcefile><sourcefile name="ExecutionDataReader.java"><line nr="30" mi="0" ci="3" mb="0" cb="0"/><line nr="32" mi="0" ci="3" mb="0" cb="0"/><line nr="34" mi="0" ci="3" mb="0" cb="0"/><line nr="44" mi="0" ci="2" mb="0" cb="0"/><line nr="45" mi="0" ci="6" mb="0" cb="0"/><line nr="46" mi="0" ci="1" mb="0" cb="0"/><line nr="55" mi="0" ci="3" mb="0" cb="0"/><line nr="56" mi="0" ci="1" mb="0" cb="0"/><line nr="65" mi="0" ci="3" mb="0" cb="0"/><line nr="66" mi="0" ci="1" mb="0" cb="0"/><line nr="84" mi="0" ci="4" mb="0" cb="0"/><line nr="85" mi="0" ci="3" mb="0" cb="2"/><line nr="86" mi="0" ci="2" mb="0" cb="0"/><line nr="88" mi="0" ci="3" mb="0" cb="0"/><line nr="89" mi="0" ci="6" mb="0" cb="4"/><line nr="90" mi="0" ci="5" mb="0" cb="0"/><line nr="92" mi="0" ci="3" mb="0" cb="0"/><line nr="93" mi="0" ci="4" mb="0" cb="2"/><line nr="94" mi="0" ci="2" mb="0" cb="0"/><line nr="108" mi="0" ci="2" mb="0" cb="4"/><line nr="110" mi="0" ci="2" mb="0" cb="0"/><line nr="111" mi="0" ci="2" mb="0" cb="0"/><line nr="113" mi="0" ci="2" mb="0" cb="0"/><line nr="114" mi="0" ci="2" mb="0" cb="0"/><line nr="116" mi="0" ci="2" mb="0" cb="0"/><line nr="117" mi="0" ci="2" mb="0" cb="0"/><line nr="119" mi="0" ci="13" mb="0" cb="0"/><line nr="125" mi="0" ci="5" mb="0" cb="2"/><line nr="126" mi="0" ci="5" mb="0" cb="0"/><line nr="128" mi="0" ci="4" mb="0" cb="0"/><line nr="129" mi="0" ci="3" mb="0" cb="2"/><line nr="130" mi="0" ci="5" mb="0" cb="0"/><line nr="132" mi="0" ci="1" mb="0" cb="0"/><line nr="135" mi="0" ci="3" mb="0" cb="2"/><line nr="136" mi="0" ci="5" mb="0" cb="0"/><line nr="138" mi="0" ci="4" mb="0" cb="0"/><line nr="139" mi="0" ci="4" mb="0" cb="0"/><line nr="140" mi="0" ci="4" mb="0" cb="0"/><line nr="141" mi="0" ci="9" mb="0" cb="0"/><line nr="142" mi="0" ci="1" mb="0" cb="0"/><line nr="145" mi="0" ci="3" mb="0" cb="2"/><line nr="146" mi="0" ci="5" mb="0" cb="0"/><line nr="148" mi="0" ci="4" mb="0" cb="0"/><line nr="149" mi="0" ci="4" mb="0" cb="0"/><line nr="150" mi="0" ci="4" mb="0" cb="0"/><line nr="151" mi="0" ci="9" mb="0" cb="0"/><line nr="153" mi="0" ci="1" mb="0" cb="0"/><counter type="INSTRUCTION" missed="0" covered="168"/><counter type="BRANCH" missed="0" covered="20"/><counter type="LINE" missed="0" covered="47"/><counter type="COMPLEXITY" missed="0" covered="19"/><counter type="METHOD" missed="0" covered="8"/><counter type="CLASS" missed="0" covered="1"/></sourcefile><sourcefile name="SessionInfo.java"><line nr="39" mi="0" ci="2" mb="0" cb="0"/><line nr="40" mi="0" ci="2" mb="0" cb="2"/><line nr="41" mi="0" ci="4" mb="0" cb="0"/><line nr="43" mi="0" ci="3" mb="0" cb="0"/><line nr="44" mi="0" ci="3" mb="0" cb="0"/><line nr="45" mi="0" ci="3" mb="0" cb="0"/><line nr="46" mi="0" ci="1" mb="0" cb="0"/><line nr="52" mi="0" ci="3" mb="0" cb="0"/><line nr="60" mi="0" ci="3" mb="0" cb="0"/><line nr="67" mi="0" ci="3" mb="0" cb="0"/><line nr="71" mi="0" ci="6" mb="0" cb="2"/><line nr="72" mi="0" ci="2" mb="0" cb="0"/><line nr="74" mi="0" ci="6" mb="0" cb="2"/><line nr="75" mi="0" ci="2" mb="0" cb="0"/><line nr="77" mi="0" ci="2" mb="0" cb="0"/><line nr="82" mi="0" ci="12" mb="0" cb="0"/><counter type="INSTRUCTION" missed="0" covered="57"/><counter type="BRANCH" missed="0" covered="6"/><counter type="LINE" missed="0" covered="16"/><counter type="COMPLEXITY" missed="0" covered="9"/><counter type="METHOD" missed="0" covered="6"/><counter type="CLASS" missed="0" covered="1"/></sourcefile><sourcefile name="ExecutionDataWriter.java"><line nr="34" mi="0" ci="2" mb="0" cb="0"/><line nr="35" mi="0" ci="1" mb="0" cb="0"/><line nr="62" mi="0" ci="2" mb="0" cb="0"/><line nr="63" mi="0" ci="6" mb="0" cb="0"/><line nr="64" mi="0" ci="2" mb="0" cb="0"/><line nr="65" mi="0" ci="1" mb="0" cb="0"/><line nr="74" mi="0" ci="4" mb="0" cb="0"/><line nr="75" mi="0" ci="4" mb="0" cb="0"/><line nr="76" mi="0" ci="4" mb="0" cb="0"/><line nr="77" mi="0" ci="1" mb="0" cb="0"/><line nr="86" mi="0" ci="3" mb="0" cb="0"/><line nr="87" mi="0" ci="1" mb="0" cb="0"/><line nr="91" mi="0" ci="4" mb="0" cb="0"/><line nr="92" mi="0" ci="5" mb="0" cb="0"/><line nr="93" mi="0" ci="5" mb="0" cb="0"/><line nr="94" mi="0" ci="5" mb="0" cb="0"/><line nr="95" mi="0" ci="1" mb="0" cb="0"/><line nr="96" mi="0" ci="5" mb="0" cb="0"/><line nr="97" mi="0" ci="1" mb="0" cb="0"/><line nr="98" mi="0" ci="1" mb="0" cb="0"/><line nr="101" mi="0" ci="3" mb="0" cb="2"/><line nr="103" mi="0" ci="4" mb="0" cb="0"/><line nr="104" mi="0" ci="5" mb="0" cb="0"/><line nr="105" mi="0" ci="5" mb="0" cb="0"/><line nr="106" mi="0" ci="5" mb="0" cb="0"/><line nr="107" mi="0" ci="1" mb="0" cb="0"/><line nr="108" mi="0" ci="5" mb="0" cb="0"/><line nr="109" mi="0" ci="1" mb="0" cb="0"/><line nr="111" mi="0" ci="1" mb="0" cb="0"/><line nr="121" mi="0" ci="4" mb="0" cb="0"/><line nr="123" mi="0" ci="5" mb="0" cb="0"/><line nr="124" mi="1" ci="0" mb="0" cb="0"/><line nr="126" mi="5" ci="0" mb="0" cb="0"/><line nr="127" mi="0" ci="1" mb="0" cb="0"/><line nr="128" mi="0" ci="3" mb="0" cb="0"/><counter type="INSTRUCTION" missed="6" covered="101"/><counter type="BRANCH" missed="0" covered="2"/><counter type="LINE" missed="2" covered="33"/><counter type="COMPLEXITY" missed="0" covered="8"/><counter type="METHOD" missed="0" covered="7"/><counter type="CLASS" missed="0" covered="1"/></sourcefile><sourcefile name="ISessionInfoVisitor.java"/><sourcefile name="IExecutionDataVisitor.java"/><sourcefile name="SessionInfoStore.java"><line nr="26" mi="0" ci="2" mb="0" cb="0"/><line nr="28" mi="0" ci="6" mb="0" cb="0"/><line nr="36" mi="0" ci="4" mb="0" cb="0"/><line nr="47" mi="0" ci="6" mb="0" cb="0"/><line nr="48" mi="0" ci="2" mb="0" cb="0"/><line nr="49" mi="0" ci="2" mb="0" cb="0"/><line nr="65" mi="0" ci="4" mb="0" cb="2"/><line nr="66" mi="0" ci="7" mb="0" cb="0"/><line nr="68" mi="0" ci="2" mb="0" cb="0"/><line nr="69" mi="0" ci="2" mb="0" cb="0"/><line nr="70" mi="0" ci="11" mb="0" cb="2"/><line nr="71" mi="0" ci="5" mb="0" cb="0"/><line nr="72" mi="0" ci="6" mb="0" cb="0"/><line nr="74" mi="0" ci="7" mb="0" cb="0"/><line nr="85" mi="0" ci="11" mb="0" cb="2"/><line nr="86" mi="0" ci="4" mb="0" cb="0"/><line nr="88" mi="0" ci="1" mb="0" cb="0"/><line nr="93" mi="0" ci="5" mb="0" cb="0"/><line nr="94" mi="0" ci="1" mb="0" cb="0"/><counter type="INSTRUCTION" missed="0" covered="88"/><counter type="BRANCH" missed="0" covered="6"/><counter type="LINE" missed="0" covered="19"/><counter type="COMPLEXITY" missed="0" covered="9"/><counter type="METHOD" missed="0" covered="6"/><counter type="CLASS" missed="0" covered="1"/></sourcefile><counter type="INSTRUCTION" missed="6" covered="793"/><counter type="BRANCH" missed="0" covered="60"/><counter type="LINE" missed="2" covered="191"/><counter type="COMPLEXITY" missed="0" covered="83"/><counter type="METHOD" missed="0" covered="52"/><counter type="CLASS" missed="0" covered="7"/></package><package name="org/jacoco/core/instr"><class name="org/jacoco/core/instr/Instrumenter" sourcefilename="Instrumenter.java"><method name="&lt;init&gt;" desc="(Lorg/jacoco/core/runtime/IExecutionDataAccessorGenerator;)V" line="57"><counter type="INSTRUCTION" missed="0" covered="11"/><counter type="LINE" missed="0" covered="4"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="setRemoveSignatures" desc="(Z)V" line="72"><counter type="INSTRUCTION" missed="0" covered="5"/><counter type="LINE" missed="0" covered="2"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="instrument" desc="([B)[B" line="76"><counter type="INSTRUCTION" missed="0" covered="40"/><counter type="LINE" missed="0" covered="8"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="instrument" desc="([BLjava/lang/String;)[B" line="109"><counter type="INSTRUCTION" missed="0" covered="10"/><counter type="LINE" missed="0" covered="3"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="instrument" desc="(Ljava/io/InputStream;Ljava/lang/String;)[B" line="132"><counter type="INSTRUCTION" missed="0" covered="15"/><counter type="LINE" missed="0" covered="5"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="instrument" desc="(Ljava/io/InputStream;Ljava/io/OutputStream;Ljava/lang/String;)V" line="156"><counter type="INSTRUCTION" missed="0" covered="7"/><counter type="LINE" missed="0" covered="2"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="instrumentError" desc="(Ljava/lang/String;Ljava/lang/Exception;)Ljava/io/IOException;" line="161"><counter type="INSTRUCTION" missed="0" covered="26"/><counter type="LINE" missed="0" covered="3"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="instrumentAll" desc="(Ljava/io/InputStream;Ljava/io/OutputStream;Ljava/lang/String;)I" line="190"><counter type="INSTRUCTION" missed="0" covered="52"/><counter type="BRANCH" missed="0" covered="5"/><counter type="LINE" missed="0" covered="12"/><counter type="COMPLEXITY" missed="0" covered="5"/><counter type="METHOD" missed="0" covered="1"/></method><method name="instrumentZip" desc="(Ljava/io/InputStream;Ljava/io/OutputStream;Ljava/lang/String;)I" line="212"><counter type="INSTRUCTION" missed="6" covered="97"/><counter type="BRANCH" missed="1" covered="6"/><counter type="LINE" missed="1" covered="26"/><counter type="COMPLEXITY" missed="1" covered="4"/><counter type="METHOD" missed="0" covered="1"/></method><method name="filterOrInstrument" desc="(Ljava/io/InputStream;Ljava/io/OutputStream;Ljava/lang/String;Ljava/lang/String;)I" line="252"><counter type="INSTRUCTION" missed="0" covered="24"/><counter type="BRANCH" missed="0" covered="2"/><counter type="LINE" missed="0" covered="3"/><counter type="COMPLEXITY" missed="0" covered="2"/><counter type="METHOD" missed="0" covered="1"/></method><method name="crc" desc="([B)J" line="260"><counter type="INSTRUCTION" missed="0" covered="10"/><counter type="LINE" missed="0" covered="3"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="nextEntry" desc="(Ljava/util/zip/ZipInputStream;Ljava/lang/String;)Ljava/util/zip/ZipEntry;" line="268"><counter type="INSTRUCTION" missed="0" covered="9"/><counter type="LINE" missed="0" covered="3"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="instrumentGzip" desc="(Ljava/io/InputStream;Ljava/io/OutputStream;Ljava/lang/String;)I" line="278"><counter type="INSTRUCTION" missed="0" covered="27"/><counter type="LINE" missed="0" covered="8"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="instrumentPack200" desc="(Ljava/io/InputStream;Ljava/io/OutputStream;Ljava/lang/String;)I" line="292"><counter type="INSTRUCTION" missed="0" covered="26"/><counter type="LINE" missed="0" covered="8"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="copy" desc="(Ljava/io/InputStream;Ljava/io/OutputStream;Ljava/lang/String;)V" line="304"><counter type="INSTRUCTION" missed="0" covered="19"/><counter type="BRANCH" missed="0" covered="2"/><counter type="LINE" missed="0" covered="4"/><counter type="COMPLEXITY" missed="0" covered="2"/><counter type="METHOD" missed="0" covered="1"/></method><method name="read" desc="(Ljava/io/InputStream;[BLjava/lang/String;)I" line="314"><counter type="INSTRUCTION" missed="0" covered="10"/><counter type="LINE" missed="0" covered="3"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><counter type="INSTRUCTION" missed="6" covered="388"/><counter type="BRANCH" missed="1" covered="15"/><counter type="LINE" missed="1" covered="97"/><counter type="COMPLEXITY" missed="1" covered="25"/><counter type="METHOD" missed="0" covered="16"/><counter type="CLASS" missed="0" covered="1"/></class><class name="org/jacoco/core/instr/Instrumenter$1" sourcefilename="Instrumenter.java"><method name="&lt;init&gt;" desc="(Lorg/jacoco/core/instr/Instrumenter;Lorg/objectweb/asm/ClassReader;I)V" line="80"><counter type="INSTRUCTION" missed="0" covered="8"/><counter type="LINE" missed="0" covered="1"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="getCommonSuperClass" desc="(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;" line="82"><counter type="INSTRUCTION" missed="4" covered="0"/><counter type="LINE" missed="1" covered="0"/><counter type="COMPLEXITY" missed="1" covered="0"/><counter type="METHOD" missed="1" covered="0"/></method><counter type="INSTRUCTION" missed="4" covered="8"/><counter type="LINE" missed="1" covered="1"/><counter type="COMPLEXITY" missed="1" covered="1"/><counter type="METHOD" missed="1" covered="1"/><counter type="CLASS" missed="0" covered="1"/></class><sourcefile name="Instrumenter.java"><line nr="57" mi="0" ci="2" mb="0" cb="0"/><line nr="58" mi="0" ci="3" mb="0" cb="0"/><line nr="59" mi="0" ci="5" mb="0" cb="0"/><line nr="60" mi="0" ci="1" mb="0" cb="0"/><line nr="72" mi="0" ci="4" mb="0" cb="0"/><line nr="73" mi="0" ci="1" mb="0" cb="0"/><line nr="76" mi="0" ci="3" mb="0" cb="0"/><line nr="77" mi="0" ci="3" mb="0" cb="0"/><line nr="78" mi="0" ci="7" mb="0" cb="0"/><line nr="80" mi="0" ci="8" mb="0" cb="0"/><line nr="82" mi="4" ci="0" mb="0" cb="0"/><line nr="85" mi="0" ci="6" mb="0" cb="0"/><line nr="87" mi="0" ci="3" mb="0" cb="0"/><line nr="88" mi="0" ci="11" mb="0" cb="0"/><line nr="91" mi="0" ci="4" mb="0" cb="0"/><line nr="92" mi="0" ci="3" mb="0" cb="0"/><line nr="109" mi="0" ci="4" mb="0" cb="0"/><line nr="110" mi="0" ci="1" mb="0" cb="0"/><line nr="111" mi="0" ci="5" mb="0" cb="0"/><line nr="132" mi="0" ci="3" mb="0" cb="0"/><line nr="133" mi="0" ci="1" mb="0" cb="0"/><line nr="134" mi="0" ci="5" mb="0" cb="0"/><line nr="135" mi="0" ci="1" mb="0" cb="0"/><line nr="136" mi="0" ci="5" mb="0" cb="0"/><line nr="156" mi="0" ci="6" mb="0" cb="0"/><line nr="157" mi="0" ci="1" mb="0" cb="0"/><line nr="161" mi="0" ci="20" mb="0" cb="0"/><line nr="164" mi="0" ci="4" mb="0" cb="0"/><line nr="165" mi="0" ci="2" mb="0" cb="0"/><line nr="190" mi="0" ci="5" mb="0" cb="0"/><line nr="191" mi="0" ci="1" mb="0" cb="0"/><line nr="192" mi="0" ci="5" mb="0" cb="0"/><line nr="193" mi="0" ci="1" mb="0" cb="0"/><line nr="194" mi="0" ci="3" mb="0" cb="5"/><line nr="196" mi="0" ci="6" mb="0" cb="0"/><line nr="197" mi="0" ci="2" mb="0" cb="0"/><line nr="199" mi="0" ci="7" mb="0" cb="0"/><line nr="201" mi="0" ci="7" mb="0" cb="0"/><line nr="203" mi="0" ci="7" mb="0" cb="0"/><line nr="205" mi="0" ci="6" mb="0" cb="0"/><line nr="206" mi="0" ci="2" mb="0" cb="0"/><line nr="212" mi="0" ci="5" mb="0" cb="0"/><line nr="213" mi="0" ci="5" mb="0" cb="0"/><line nr="215" mi="0" ci="2" mb="0" cb="0"/><line nr="216" mi="0" ci="7" mb="0" cb="2"/><line nr="217" mi="0" ci="3" mb="0" cb="0"/><line nr="218" mi="0" ci="5" mb="0" cb="2"/><line nr="219" mi="0" ci="1" mb="0" cb="0"/><line nr="222" mi="0" ci="5" mb="0" cb="0"/><line nr="223" mi="0" ci="4" mb="0" cb="0"/><line nr="224" mi="0" ci="3" mb="1" cb="2"/><line nr="226" mi="0" ci="3" mb="0" cb="0"/><line nr="227" mi="0" ci="9" mb="0" cb="0"/><line nr="228" mi="0" ci="1" mb="0" cb="0"/><line nr="232" mi="0" ci="4" mb="0" cb="0"/><line nr="233" mi="0" ci="9" mb="0" cb="0"/><line nr="234" mi="0" ci="3" mb="0" cb="0"/><line nr="235" mi="0" ci="5" mb="0" cb="0"/><line nr="236" mi="0" ci="5" mb="0" cb="0"/><line nr="237" mi="0" ci="4" mb="0" cb="0"/><line nr="238" mi="0" ci="3" mb="0" cb="0"/><line nr="239" mi="0" ci="3" mb="0" cb="0"/><line nr="240" mi="0" ci="1" mb="0" cb="0"/><line nr="242" mi="6" ci="0" mb="0" cb="0"/><line nr="244" mi="0" ci="2" mb="0" cb="0"/><line nr="245" mi="0" ci="1" mb="0" cb="0"/><line nr="246" mi="0" ci="2" mb="0" cb="0"/><line nr="247" mi="0" ci="2" mb="0" cb="0"/><line nr="252" mi="0" ci="7" mb="0" cb="2"/><line nr="253" mi="0" ci="2" mb="0" cb="0"/><line nr="255" mi="0" ci="15" mb="0" cb="0"/><line nr="260" mi="0" ci="4" mb="0" cb="0"/><line nr="261" mi="0" ci="3" mb="0" cb="0"/><line nr="262" mi="0" ci="3" mb="0" cb="0"/><line nr="268" mi="0" ci="3" mb="0" cb="0"/><line nr="269" mi="0" ci="1" mb="0" cb="0"/><line nr="270" mi="0" ci="5" mb="0" cb="0"/><line nr="278" mi="0" ci="5" mb="0" cb="0"/><line nr="279" mi="0" ci="1" mb="0" cb="0"/><line nr="280" mi="0" ci="5" mb="0" cb="0"/><line nr="281" mi="0" ci="1" mb="0" cb="0"/><line nr="282" mi="0" ci="5" mb="0" cb="0"/><line nr="283" mi="0" ci="6" mb="0" cb="0"/><line nr="284" mi="0" ci="2" mb="0" cb="0"/><line nr="285" mi="0" ci="2" mb="0" cb="0"/><line nr="292" mi="0" ci="3" mb="0" cb="0"/><line nr="293" mi="0" ci="1" mb="0" cb="0"/><line nr="294" mi="0" ci="5" mb="0" cb="0"/><line nr="295" mi="0" ci="1" mb="0" cb="0"/><line nr="296" mi="0" ci="4" mb="0" cb="0"/><line nr="297" mi="0" ci="6" mb="0" cb="0"/><line nr="298" mi="0" ci="4" mb="0" cb="0"/><line nr="299" mi="0" ci="2" mb="0" cb="0"/><line nr="304" mi="0" ci="3" mb="0" cb="0"/><line nr="306" mi="0" ci="9" mb="0" cb="2"/><line nr="307" mi="0" ci="6" mb="0" cb="0"/><line nr="309" mi="0" ci="1" mb="0" cb="0"/><line nr="314" mi="0" ci="4" mb="0" cb="0"/><line nr="315" mi="0" ci="1" mb="0" cb="0"/><line nr="316" mi="0" ci="5" mb="0" cb="0"/><counter type="INSTRUCTION" missed="10" covered="396"/><counter type="BRANCH" missed="1" covered="15"/><counter type="LINE" missed="2" covered="98"/><counter type="COMPLEXITY" missed="2" covered="26"/><counter type="METHOD" missed="1" covered="17"/><counter type="CLASS" missed="0" covered="2"/></sourcefile><counter type="INSTRUCTION" missed="10" covered="396"/><counter type="BRANCH" missed="1" covered="15"/><counter type="LINE" missed="2" covered="98"/><counter type="COMPLEXITY" missed="2" covered="26"/><counter type="METHOD" missed="1" covered="17"/><counter type="CLASS" missed="0" covered="2"/></package><package name="org/jacoco/core/analysis"><class name="org/jacoco/core/analysis/ILine" sourcefilename="ILine.java"/><class name="org/jacoco/core/analysis/ICoverageNode$ElementType" sourcefilename="ICoverageNode.java"><method name="&lt;clinit&gt;" desc="()V" line="24"><counter type="INSTRUCTION" missed="0" covered="64"/><counter type="LINE" missed="0" covered="7"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><counter type="INSTRUCTION" missed="0" covered="64"/><counter type="LINE" missed="0" covered="7"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/><counter type="CLASS" missed="0" covered="1"/></class><class name="org/jacoco/core/analysis/ICoverageNode$CounterEntity" sourcefilename="ICoverageNode.java"><method name="&lt;clinit&gt;" desc="()V" line="49"><counter type="INSTRUCTION" missed="0" covered="64"/><counter type="LINE" missed="0" covered="7"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><counter type="INSTRUCTION" missed="0" covered="64"/><counter type="LINE" missed="0" covered="7"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/><counter type="CLASS" missed="0" covered="1"/></class><class name="org/jacoco/core/analysis/CoverageBuilder" sourcefilename="CoverageBuilder.java"><method name="&lt;init&gt;" desc="()V" line="48"><counter type="INSTRUCTION" missed="0" covered="13"/><counter type="LINE" missed="0" covered="4"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="getClasses" desc="()Ljava/util/Collection;" line="59"><counter type="INSTRUCTION" missed="0" covered="5"/><counter type="LINE" missed="0" covered="1"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="getSourceFiles" desc="()Ljava/util/Collection;" line="68"><counter type="INSTRUCTION" missed="0" covered="5"/><counter type="LINE" missed="0" covered="1"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="getBundle" desc="(Ljava/lang/String;)Lorg/jacoco/core/analysis/IBundleCoverage;" line="79"><counter type="INSTRUCTION" missed="0" covered="11"/><counter type="LINE" missed="0" covered="1"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="getNoMatchClasses" desc="()Ljava/util/Collection;" line="90"><counter type="INSTRUCTION" missed="0" covered="26"/><counter type="BRANCH" missed="0" covered="4"/><counter type="LINE" missed="0" covered="5"/><counter type="COMPLEXITY" missed="0" covered="3"/><counter type="METHOD" missed="0" covered="1"/></method><method name="visitCoverage" desc="(Lorg/jacoco/core/analysis/IClassCoverage;)V" line="102"><counter type="INSTRUCTION" missed="0" covered="45"/><counter type="BRANCH" missed="0" covered="6"/><counter type="LINE" missed="0" covered="10"/><counter type="COMPLEXITY" missed="0" covered="4"/><counter type="METHOD" missed="0" covered="1"/></method><method name="getSourceFile" desc="(Ljava/lang/String;Ljava/lang/String;)Lorg/jacoco/core/internal/analysis/SourceFileCoverageImpl;" line="121"><counter type="INSTRUCTION" missed="0" covered="33"/><counter type="BRANCH" missed="0" covered="2"/><counter type="LINE" missed="0" covered="6"/><counter type="COMPLEXITY" missed="0" covered="2"/><counter type="METHOD" missed="0" covered="1"/></method><counter type="INSTRUCTION" missed="0" covered="138"/><counter type="BRANCH" missed="0" covered="12"/><counter type="LINE" missed="0" covered="28"/><counter type="COMPLEXITY" missed="0" covered="13"/><counter type="METHOD" missed="0" covered="7"/><counter type="CLASS" missed="0" covered="1"/></class><class name="org/jacoco/core/analysis/NodeComparator" sourcefilename="NodeComparator.java"><method name="&lt;init&gt;" desc="(Ljava/util/Comparator;Lorg/jacoco/core/analysis/ICoverageNode$CounterEntity;)V" line="39"><counter type="INSTRUCTION" missed="0" covered="9"/><counter type="LINE" missed="0" covered="4"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="second" desc="(Ljava/util/Comparator;)Lorg/jacoco/core/analysis/NodeComparator;" line="53"><counter type="INSTRUCTION" missed="0" covered="11"/><counter type="LINE" missed="0" covered="2"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="sort" desc="(Ljava/util/Collection;)Ljava/util/List;" line="78"><counter type="INSTRUCTION" missed="0" covered="10"/><counter type="LINE" missed="0" covered="3"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="compare" desc="(Lorg/jacoco/core/analysis/ICoverageNode;Lorg/jacoco/core/analysis/ICoverageNode;)I" line="84"><counter type="INSTRUCTION" missed="0" covered="16"/><counter type="LINE" missed="0" covered="3"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><counter type="INSTRUCTION" missed="0" covered="46"/><counter type="LINE" missed="0" covered="12"/><counter type="COMPLEXITY" missed="0" covered="4"/><counter type="METHOD" missed="0" covered="4"/><counter type="CLASS" missed="0" covered="1"/></class><class name="org/jacoco/core/analysis/IClassCoverage" sourcefilename="IClassCoverage.java"/><class name="org/jacoco/core/analysis/ICounter" sourcefilename="ICounter.java"/><class name="org/jacoco/core/analysis/NodeComparator$1" sourcefilename="NodeComparator.java"><method name="&lt;init&gt;" desc="(Lorg/jacoco/core/analysis/NodeComparator;Ljava/util/Comparator;Lorg/jacoco/core/analysis/ICoverageNode$CounterEntity;Ljava/util/Comparator;Ljava/util/Comparator;)V" line="59"><counter type="INSTRUCTION" missed="0" covered="14"/><counter type="LINE" missed="0" covered="1"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="compare" desc="(Lorg/jacoco/core/analysis/ICoverageNode;Lorg/jacoco/core/analysis/ICoverageNode;)I" line="60"><counter type="INSTRUCTION" missed="0" covered="16"/><counter type="BRANCH" missed="0" covered="2"/><counter type="LINE" missed="0" covered="2"/><counter type="COMPLEXITY" missed="0" covered="2"/><counter type="METHOD" missed="0" covered="1"/></method><counter type="INSTRUCTION" missed="0" covered="30"/><counter type="BRANCH" missed="0" covered="2"/><counter type="LINE" missed="0" covered="3"/><counter type="COMPLEXITY" missed="0" covered="3"/><counter type="METHOD" missed="0" covered="2"/><counter type="CLASS" missed="0" covered="1"/></class><class name="org/jacoco/core/analysis/ICoverageNode" sourcefilename="ICoverageNode.java"/><class name="org/jacoco/core/analysis/IBundleCoverage" sourcefilename="IBundleCoverage.java"/><class name="org/jacoco/core/analysis/IPackageCoverage" sourcefilename="IPackageCoverage.java"/><class name="org/jacoco/core/analysis/ISourceFileCoverage" sourcefilename="ISourceFileCoverage.java"/><class name="org/jacoco/core/analysis/CoverageNodeImpl" sourcefilename="CoverageNodeImpl.java"><method name="&lt;init&gt;" desc="(Lorg/jacoco/core/analysis/ICoverageNode$ElementType;Ljava/lang/String;)V" line="54"><counter type="INSTRUCTION" missed="0" covered="27"/><counter type="LINE" missed="0" covered="10"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="increment" desc="(Lorg/jacoco/core/analysis/ICoverageNode;)V" line="72"><counter type="INSTRUCTION" missed="0" covered="43"/><counter type="LINE" missed="0" covered="7"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="increment" desc="(Ljava/util/Collection;)V" line="90"><counter type="INSTRUCTION" missed="0" covered="15"/><counter type="BRANCH" missed="0" covered="2"/><counter type="LINE" missed="0" covered="3"/><counter type="COMPLEXITY" missed="0" covered="2"/><counter type="METHOD" missed="0" covered="1"/></method><method name="getElementType" desc="()Lorg/jacoco/core/analysis/ICoverageNode$ElementType;" line="98"><counter type="INSTRUCTION" missed="0" covered="3"/><counter type="LINE" missed="0" covered="1"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="getName" desc="()Ljava/lang/String;" line="102"><counter type="INSTRUCTION" missed="0" covered="3"/><counter type="LINE" missed="0" covered="1"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="getInstructionCounter" desc="()Lorg/jacoco/core/analysis/ICounter;" line="106"><counter type="INSTRUCTION" missed="0" covered="3"/><counter type="LINE" missed="0" covered="1"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="getBranchCounter" desc="()Lorg/jacoco/core/analysis/ICounter;" line="110"><counter type="INSTRUCTION" missed="0" covered="3"/><counter type="LINE" missed="0" covered="1"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="getLineCounter" desc="()Lorg/jacoco/core/analysis/ICounter;" line="114"><counter type="INSTRUCTION" missed="0" covered="3"/><counter type="LINE" missed="0" covered="1"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="getComplexityCounter" desc="()Lorg/jacoco/core/analysis/ICounter;" line="118"><counter type="INSTRUCTION" missed="0" covered="3"/><counter type="LINE" missed="0" covered="1"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="getMethodCounter" desc="()Lorg/jacoco/core/analysis/ICounter;" line="122"><counter type="INSTRUCTION" missed="0" covered="3"/><counter type="LINE" missed="0" covered="1"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="getClassCounter" desc="()Lorg/jacoco/core/analysis/ICounter;" line="126"><counter type="INSTRUCTION" missed="0" covered="3"/><counter type="LINE" missed="0" covered="1"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="getCounter" desc="(Lorg/jacoco/core/analysis/ICoverageNode$CounterEntity;)Lorg/jacoco/core/analysis/ICounter;" line="130"><counter type="INSTRUCTION" missed="5" covered="23"/><counter type="BRANCH" missed="1" covered="6"/><counter type="LINE" missed="1" covered="7"/><counter type="COMPLEXITY" missed="1" covered="6"/><counter type="METHOD" missed="0" covered="1"/></method><method name="containsCode" desc="()Z" line="148"><counter type="INSTRUCTION" missed="0" covered="8"/><counter type="BRANCH" missed="0" covered="2"/><counter type="LINE" missed="0" covered="1"/><counter type="COMPLEXITY" missed="0" covered="2"/><counter type="METHOD" missed="0" covered="1"/></method><method name="getPlainCopy" desc="()Lorg/jacoco/core/analysis/ICoverageNode;" line="152"><counter type="INSTRUCTION" missed="0" covered="40"/><counter type="LINE" missed="0" covered="8"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="toString" desc="()Ljava/lang/String;" line="164"><counter type="INSTRUCTION" missed="0" covered="19"/><counter type="LINE" missed="0" covered="3"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><counter type="INSTRUCTION" missed="5" covered="199"/><counter type="BRANCH" missed="1" covered="10"/><counter type="LINE" missed="1" covered="47"/><counter type="COMPLEXITY" missed="1" covered="22"/><counter type="METHOD" missed="0" covered="15"/><counter type="CLASS" missed="0" covered="1"/></class><class name="org/jacoco/core/analysis/IMethodCoverage" sourcefilename="IMethodCoverage.java"/><class name="org/jacoco/core/analysis/ISourceNode" sourcefilename="ISourceNode.java"/><class name="org/jacoco/core/analysis/CounterComparator" sourcefilename="CounterComparator.java"><method name="&lt;init&gt;" desc="(Lorg/jacoco/core/analysis/ICounter$CounterValue;)V" line="63"><counter type="INSTRUCTION" missed="0" covered="5"/><counter type="LINE" missed="0" covered="2"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="&lt;init&gt;" desc="(Lorg/jacoco/core/analysis/ICounter$CounterValue;Z)V" line="66"><counter type="INSTRUCTION" missed="0" covered="9"/><counter type="LINE" missed="0" covered="4"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="compare" desc="(Lorg/jacoco/core/analysis/ICounter;Lorg/jacoco/core/analysis/ICounter;)I" line="72"><counter type="INSTRUCTION" missed="0" covered="18"/><counter type="BRANCH" missed="0" covered="2"/><counter type="LINE" missed="0" covered="2"/><counter type="COMPLEXITY" missed="0" covered="2"/><counter type="METHOD" missed="0" covered="1"/></method><method name="reverse" desc="()Lorg/jacoco/core/analysis/CounterComparator;" line="82"><counter type="INSTRUCTION" missed="0" covered="12"/><counter type="BRANCH" missed="0" covered="2"/><counter type="LINE" missed="0" covered="1"/><counter type="COMPLEXITY" missed="0" covered="2"/><counter type="METHOD" missed="0" covered="1"/></method><method name="on" desc="(Lorg/jacoco/core/analysis/ICoverageNode$CounterEntity;)Lorg/jacoco/core/analysis/NodeComparator;" line="94"><counter type="INSTRUCTION" missed="0" covered="6"/><counter type="LINE" missed="0" covered="1"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="&lt;clinit&gt;" desc="()V" line="32"><counter type="INSTRUCTION" missed="0" covered="26"/><counter type="LINE" missed="0" covered="5"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><counter type="INSTRUCTION" missed="0" covered="76"/><counter type="BRANCH" missed="0" covered="4"/><counter type="LINE" missed="0" covered="15"/><counter type="COMPLEXITY" missed="0" covered="8"/><counter type="METHOD" missed="0" covered="6"/><counter type="CLASS" missed="0" covered="1"/></class><class name="org/jacoco/core/analysis/ICoverageVisitor" sourcefilename="ICoverageVisitor.java"/><class name="org/jacoco/core/analysis/Analyzer" sourcefilename="Analyzer.java"><method name="&lt;init&gt;" desc="(Lorg/jacoco/core/data/ExecutionDataStore;Lorg/jacoco/core/analysis/ICoverageVisitor;)V" line="66"><counter type="INSTRUCTION" missed="0" covered="14"/><counter type="LINE" missed="0" covered="5"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="createAnalyzingVisitor" desc="(JLjava/lang/String;)Lorg/objectweb/asm/ClassVisitor;" line="83"><counter type="INSTRUCTION" missed="0" covered="43"/><counter type="BRANCH" missed="0" covered="2"/><counter type="LINE" missed="0" covered="9"/><counter type="COMPLEXITY" missed="0" covered="2"/><counter type="METHOD" missed="0" covered="1"/></method><method name="analyzeClass" desc="([B)V" line="107"><counter type="INSTRUCTION" missed="0" covered="29"/><counter type="BRANCH" missed="0" covered="4"/><counter type="LINE" missed="0" covered="9"/><counter type="COMPLEXITY" missed="0" covered="3"/><counter type="METHOD" missed="0" covered="1"/></method><method name="analyzeClass" desc="([BLjava/lang/String;)V" line="133"><counter type="INSTRUCTION" missed="0" covered="11"/><counter type="LINE" missed="0" covered="5"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="analyzeClass" desc="(Ljava/io/InputStream;Ljava/lang/String;)V" line="154"><counter type="INSTRUCTION" missed="0" covered="15"/><counter type="LINE" missed="0" covered="6"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="analyzerError" desc="(Ljava/lang/String;Ljava/lang/Exception;)Ljava/io/IOException;" line="163"><counter type="INSTRUCTION" missed="0" covered="26"/><counter type="LINE" missed="0" covered="3"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="analyzeAll" desc="(Ljava/io/InputStream;Ljava/lang/String;)I" line="189"><counter type="INSTRUCTION" missed="0" covered="42"/><counter type="BRANCH" missed="0" covered="5"/><counter type="LINE" missed="0" covered="11"/><counter type="COMPLEXITY" missed="0" covered="5"/><counter type="METHOD" missed="0" covered="1"/></method><method name="analyzeAll" desc="(Ljava/io/File;)I" line="220"><counter type="INSTRUCTION" missed="0" covered="46"/><counter type="BRANCH" missed="0" covered="4"/><counter type="LINE" missed="0" covered="8"/><counter type="COMPLEXITY" missed="0" covered="3"/><counter type="METHOD" missed="0" covered="1"/></method><method name="analyzeAll" desc="(Ljava/lang/String;Ljava/io/File;)I" line="252"><counter type="INSTRUCTION" missed="0" covered="25"/><counter type="BRANCH" missed="0" covered="2"/><counter type="LINE" missed="0" covered="5"/><counter type="COMPLEXITY" missed="0" covered="2"/><counter type="METHOD" missed="0" covered="1"/></method><method name="analyzeZip" desc="(Ljava/io/InputStream;Ljava/lang/String;)I" line="263"><counter type="INSTRUCTION" missed="0" covered="34"/><counter type="BRANCH" missed="0" covered="2"/><counter type="LINE" missed="0" covered="5"/><counter type="COMPLEXITY" missed="0" covered="2"/><counter type="METHOD" missed="0" covered="1"/></method><method name="nextEntry" desc="(Ljava/util/zip/ZipInputStream;Ljava/lang/String;)Ljava/util/zip/ZipEntry;" line="275"><counter type="INSTRUCTION" missed="0" covered="9"/><counter type="LINE" missed="0" covered="3"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="analyzeGzip" desc="(Ljava/io/InputStream;Ljava/lang/String;)I" line="285"><counter type="INSTRUCTION" missed="0" covered="17"/><counter type="LINE" missed="0" covered="5"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="analyzePack200" desc="(Ljava/io/InputStream;Ljava/lang/String;)I" line="296"><counter type="INSTRUCTION" missed="0" covered="15"/><counter type="LINE" missed="0" covered="5"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><counter type="INSTRUCTION" missed="0" covered="326"/><counter type="BRANCH" missed="0" covered="19"/><counter type="LINE" missed="0" covered="79"/><counter type="COMPLEXITY" missed="0" covered="24"/><counter type="METHOD" missed="0" covered="13"/><counter type="CLASS" missed="0" covered="1"/></class><class name="org/jacoco/core/analysis/CoverageNodeImpl$1" sourcefilename="CoverageNodeImpl.java"><method name="&lt;clinit&gt;" desc="()V" line="130"><counter type="INSTRUCTION" missed="6" covered="41"/><counter type="LINE" missed="0" covered="1"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><counter type="INSTRUCTION" missed="6" covered="41"/><counter type="LINE" missed="0" covered="1"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/><counter type="CLASS" missed="0" covered="1"/></class><class name="org/jacoco/core/analysis/ICounter$CounterValue" sourcefilename="ICounter.java"><method name="&lt;clinit&gt;" desc="()V" line="24"><counter type="INSTRUCTION" missed="0" covered="54"/><counter type="LINE" missed="0" covered="6"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><counter type="INSTRUCTION" missed="0" covered="54"/><counter type="LINE" missed="0" covered="6"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/><counter type="CLASS" missed="0" covered="1"/></class><class name="org/jacoco/core/analysis/Analyzer$1" sourcefilename="Analyzer.java"><method name="&lt;init&gt;" desc="(Lorg/jacoco/core/analysis/Analyzer;Lorg/jacoco/core/internal/analysis/ClassCoverageImpl;[ZLorg/jacoco/core/internal/analysis/StringPool;Lorg/jacoco/core/internal/analysis/ClassCoverageImpl;)V" line="98"><counter type="INSTRUCTION" missed="0" covered="12"/><counter type="LINE" missed="0" covered="1"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="visitEnd" desc="()V" line="99"><counter type="INSTRUCTION" missed="0" covered="9"/><counter type="LINE" missed="0" covered="3"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><counter type="INSTRUCTION" missed="0" covered="21"/><counter type="LINE" missed="0" covered="4"/><counter type="COMPLEXITY" missed="0" covered="2"/><counter type="METHOD" missed="0" covered="2"/><counter type="CLASS" missed="0" covered="1"/></class><sourcefile name="CounterComparator.java"><line nr="32" mi="0" ci="5" mb="0" cb="0"/><line nr="38" mi="0" ci="5" mb="0" cb="0"/><line nr="44" mi="0" ci="5" mb="0" cb="0"/><line nr="50" mi="0" ci="5" mb="0" cb="0"/><line nr="56" mi="0" ci="6" mb="0" cb="0"/><line nr="63" mi="0" ci="4" mb="0" cb="0"/><line nr="64" mi="0" ci="1" mb="0" cb="0"/><line nr="66" mi="0" ci="2" mb="0" cb="0"/><line nr="67" mi="0" ci="3" mb="0" cb="0"/><line nr="68" mi="0" ci="3" mb="0" cb="0"/><line nr="69" mi="0" ci="1" mb="0" cb="0"/><line nr="72" mi="0" ci="10" mb="0" cb="0"/><line nr="73" mi="0" ci="8" mb="0" cb="2"/><line nr="82" mi="0" ci="12" mb="0" cb="2"/><line nr="94" mi="0" ci="6" mb="0" cb="0"/><counter type="INSTRUCTION" missed="0" covered="76"/><counter type="BRANCH" missed="0" covered="4"/><counter type="LINE" missed="0" covered="15"/><counter type="COMPLEXITY" missed="0" covered="8"/><counter type="METHOD" missed="0" covered="6"/><counter type="CLASS" missed="0" covered="1"/></sourcefile><sourcefile name="ICoverageVisitor.java"/><sourcefile name="ICounter.java"><line nr="24" mi="0" ci="24" mb="0" cb="0"/><line nr="27" mi="0" ci="6" mb="0" cb="0"/><line nr="30" mi="0" ci="6" mb="0" cb="0"/><line nr="33" mi="0" ci="6" mb="0" cb="0"/><line nr="36" mi="0" ci="6" mb="0" cb="0"/><line nr="39" mi="0" ci="6" mb="0" cb="0"/><counter type="INSTRUCTION" missed="0" covered="54"/><counter type="LINE" missed="0" covered="6"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/><counter type="CLASS" missed="0" covered="1"/></sourcefile><sourcefile name="NodeComparator.java"><line nr="39" mi="0" ci="2" mb="0" cb="0"/><line nr="40" mi="0" ci="3" mb="0" cb="0"/><line nr="41" mi="0" ci="3" mb="0" cb="0"/><line nr="42" mi="0" ci="1" mb="0" cb="0"/><line nr="53" mi="0" ci="2" mb="0" cb="0"/><line nr="54" mi="0" ci="9" mb="0" cb="0"/><line nr="59" mi="0" ci="14" mb="0" cb="0"/><line nr="60" mi="0" ci="6" mb="0" cb="0"/><line nr="61" mi="0" ci="10" mb="0" cb="2"/><line nr="78" mi="0" ci="5" mb="0" cb="0"/><line nr="79" mi="0" ci="3" mb="0" cb="0"/><line nr="80" mi="0" ci="2" mb="0" cb="0"/><line nr="84" mi="0" ci="5" mb="0" cb="0"/><line nr="85" mi="0" ci="5" mb="0" cb="0"/><line nr="86" mi="0" ci="6" mb="0" cb="0"/><counter type="INSTRUCTION" missed="0" covered="76"/><counter type="BRANCH" missed="0" covered="2"/><counter type="LINE" missed="0" covered="15"/><counter type="COMPLEXITY" missed="0" covered="7"/><counter type="METHOD" missed="0" covered="6"/><counter type="CLASS" missed="0" covered="2"/></sourcefile><sourcefile name="ISourceNode.java"/><sourcefile name="ILine.java"/><sourcefile name="ICoverageNode.java"><line nr="24" mi="0" ci="28" mb="0" cb="0"/><line nr="27" mi="0" ci="6" mb="0" cb="0"/><line nr="30" mi="0" ci="6" mb="0" cb="0"/><line nr="33" mi="0" ci="6" mb="0" cb="0"/><line nr="36" mi="0" ci="6" mb="0" cb="0"/><line nr="39" mi="0" ci="6" mb="0" cb="0"/><line nr="42" mi="0" ci="6" mb="0" cb="0"/><line nr="49" mi="0" ci="28" mb="0" cb="0"/><line nr="52" mi="0" ci="6" mb="0" cb="0"/><line nr="55" mi="0" ci="6" mb="0" cb="0"/><line nr="58" mi="0" ci="6" mb="0" cb="0"/><line nr="61" mi="0" ci="6" mb="0" cb="0"/><line nr="64" mi="0" ci="6" mb="0" cb="0"/><line nr="67" mi="0" ci="6" mb="0" cb="0"/><counter type="INSTRUCTION" missed="0" covered="128"/><counter type="LINE" missed="0" covered="14"/><counter type="COMPLEXITY" missed="0" covered="2"/><counter type="METHOD" missed="0" covered="2"/><counter type="CLASS" missed="0" covered="2"/></sourcefile><sourcefile name="IClassCoverage.java"/><sourcefile name="CoverageNodeImpl.java"><line nr="54" mi="0" ci="2" mb="0" cb="0"/><line nr="55" mi="0" ci="3" mb="0" cb="0"/><line nr="56" mi="0" ci="3" mb="0" cb="0"/><line nr="57" mi="0" ci="3" mb="0" cb="0"/><line nr="58" mi="0" ci="3" mb="0" cb="0"/><line nr="59" mi="0" ci="3" mb="0" cb="0"/><line nr="60" mi="0" ci="3" mb="0" cb="0"/><line nr="61" mi="0" ci="3" mb="0" cb="0"/><line nr="62" mi="0" ci="3" mb="0" cb="0"/><line nr="63" mi="0" ci="1" mb="0" cb="0"/><line nr="72" mi="0" ci="7" mb="0" cb="0"/><line nr="74" mi="0" ci="7" mb="0" cb="0"/><line nr="75" mi="0" ci="7" mb="0" cb="0"/><line nr="76" mi="0" ci="7" mb="0" cb="0"/><line nr="78" mi="0" ci="7" mb="0" cb="0"/><line nr="79" mi="0" ci="7" mb="0" cb="0"/><line nr="80" mi="0" ci="1" mb="0" cb="0"/><line nr="90" mi="0" ci="10" mb="0" cb="2"/><line nr="91" mi="0" ci="4" mb="0" cb="0"/><line nr="93" mi="0" ci="1" mb="0" cb="0"/><line nr="98" mi="0" ci="3" mb="0" cb="0"/><line nr="102" mi="0" ci="3" mb="0" cb="0"/><line nr="106" mi="0" ci="3" mb="0" cb="0"/><line nr="110" mi="0" ci="3" mb="0" cb="0"/><line nr="114" mi="0" ci="3" mb="0" cb="0"/><line nr="118" mi="0" ci="3" mb="0" cb="0"/><line nr="122" mi="0" ci="3" mb="0" cb="0"/><line nr="126" mi="0" ci="3" mb="0" cb="0"/><line nr="130" mi="6" ci="46" mb="1" cb="6"/><line nr="132" mi="0" ci="3" mb="0" cb="0"/><line nr="134" mi="0" ci="3" mb="0" cb="0"/><line nr="136" mi="0" ci="3" mb="0" cb="0"/><line nr="138" mi="0" ci="3" mb="0" cb="0"/><line nr="140" mi="0" ci="3" mb="0" cb="0"/><line nr="142" mi="0" ci="3" mb="0" cb="0"/><line nr="144" mi="5" ci="0" mb="0" cb="0"/><line nr="148" mi="0" ci="8" mb="0" cb="2"/><line nr="152" mi="0" ci="8" mb="0" cb="0"/><line nr="153" mi="0" ci="5" mb="0" cb="0"/><line nr="154" mi="0" ci="5" mb="0" cb="0"/><line nr="155" mi="0" ci="5" mb="0" cb="0"/><line nr="156" mi="0" ci="5" mb="0" cb="0"/><line nr="157" mi="0" ci="5" mb="0" cb="0"/><line nr="158" mi="0" ci="5" mb="0" cb="0"/><line nr="159" mi="0" ci="2" mb="0" cb="0"/><line nr="164" mi="0" ci="4" mb="0" cb="0"/><line nr="165" mi="0" ci="12" mb="0" cb="0"/><line nr="166" mi="0" ci="3" mb="0" cb="0"/><counter type="INSTRUCTION" missed="11" covered="240"/><counter type="BRANCH" missed="1" covered="10"/><counter type="LINE" missed="1" covered="47"/><counter type="COMPLEXITY" missed="1" covered="23"/><counter type="METHOD" missed="0" covered="16"/><counter type="CLASS" missed="0" covered="2"/></sourcefile><sourcefile name="Analyzer.java"><line nr="66" mi="0" ci="2" mb="0" cb="0"/><line nr="67" mi="0" ci="3" mb="0" cb="0"/><line nr="68" mi="0" ci="3" mb="0" cb="0"/><line nr="69" mi="0" ci="5" mb="0" cb="0"/><line nr="70" mi="0" ci="1" mb="0" cb="0"/><line nr="83" mi="0" ci="5" mb="0" cb="0"/><line nr="86" mi="0" ci="2" mb="0" cb="2"/><line nr="87" mi="0" ci="2" mb="0" cb="0"/><line nr="88" mi="0" ci="6" mb="0" cb="0"/><line nr="90" mi="0" ci="3" mb="0" cb="0"/><line nr="91" mi="0" ci="2" mb="0" cb="0"/><line nr="93" mi="0" ci="7" mb="0" cb="0"/><line nr="95" mi="0" ci="10" mb="0" cb="0"/><line nr="98" mi="0" ci="12" mb="0" cb="0"/><line nr="99" mi="0" ci="2" mb="0" cb="0"/><line nr="100" mi="0" ci="6" mb="0" cb="0"/><line nr="101" mi="0" ci="1" mb="0" cb="0"/><line nr="103" mi="0" ci="6" mb="0" cb="0"/><line nr="107" mi="0" ci="3" mb="0" cb="0"/><line nr="108" mi="0" ci="3" mb="0" cb="0"/><line nr="109" mi="0" ci="5" mb="0" cb="2"/><line nr="110" mi="0" ci="1" mb="0" cb="0"/><line nr="112" mi="0" ci="5" mb="0" cb="2"/><line nr="113" mi="0" ci="1" mb="0" cb="0"/><line nr="115" mi="0" ci="6" mb="0" cb="0"/><line nr="117" mi="0" ci="4" mb="0" cb="0"/><line nr="118" mi="0" ci="1" mb="0" cb="0"/><line nr="133" mi="0" ci="3" mb="0" cb="0"/><line nr="134" mi="0" ci="1" mb="0" cb="0"/><line nr="135" mi="0" ci="5" mb="0" cb="0"/><line nr="136" mi="0" ci="1" mb="0" cb="0"/><line nr="137" mi="0" ci="1" mb="0" cb="0"/><line nr="154" mi="0" ci="3" mb="0" cb="0"/><line nr="155" mi="0" ci="1" mb="0" cb="0"/><line nr="156" mi="0" ci="5" mb="0" cb="0"/><line nr="157" mi="0" ci="1" mb="0" cb="0"/><line nr="158" mi="0" ci="4" mb="0" cb="0"/><line nr="159" mi="0" ci="1" mb="0" cb="0"/><line nr="163" mi="0" ci="20" mb="0" cb="0"/><line nr="166" mi="0" ci="4" mb="0" cb="0"/><line nr="167" mi="0" ci="2" mb="0" cb="0"/><line nr="189" mi="0" ci="5" mb="0" cb="0"/><line nr="190" mi="0" ci="1" mb="0" cb="0"/><line nr="191" mi="0" ci="5" mb="0" cb="0"/><line nr="192" mi="0" ci="1" mb="0" cb="0"/><line nr="193" mi="0" ci="3" mb="0" cb="5"/><line nr="195" mi="0" ci="5" mb="0" cb="0"/><line nr="196" mi="0" ci="2" mb="0" cb="0"/><line nr="198" mi="0" ci="6" mb="0" cb="0"/><line nr="200" mi="0" ci="6" mb="0" cb="0"/><line nr="202" mi="0" ci="6" mb="0" cb="0"/><line nr="204" mi="0" ci="2" mb="0" cb="0"/><line nr="220" mi="0" ci="2" mb="0" cb="0"/><line nr="221" mi="0" ci="3" mb="0" cb="2"/><line nr="222" mi="0" ci="18" mb="0" cb="2"/><line nr="223" mi="0" ci="6" mb="0" cb="0"/><line nr="226" mi="0" ci="5" mb="0" cb="0"/><line nr="228" mi="0" ci="8" mb="0" cb="0"/><line nr="230" mi="0" ci="2" mb="0" cb="0"/><line nr="233" mi="0" ci="2" mb="0" cb="0"/><line nr="252" mi="0" ci="2" mb="0" cb="0"/><line nr="253" mi="0" ci="6" mb="0" cb="0"/><line nr="255" mi="0" ci="3" mb="0" cb="2"/><line nr="256" mi="0" ci="12" mb="0" cb="0"/><line nr="258" mi="0" ci="2" mb="0" cb="0"/><line nr="263" mi="0" ci="5" mb="0" cb="0"/><line nr="265" mi="0" ci="2" mb="0" cb="0"/><line nr="266" mi="0" ci="7" mb="0" cb="2"/><line nr="267" mi="0" ci="18" mb="0" cb="0"/><line nr="269" mi="0" ci="2" mb="0" cb="0"/><line nr="275" mi="0" ci="3" mb="0" cb="0"/><line nr="276" mi="0" ci="1" mb="0" cb="0"/><line nr="277" mi="0" ci="5" mb="0" cb="0"/><line nr="285" mi="0" ci="5" mb="0" cb="0"/><line nr="286" mi="0" ci="1" mb="0" cb="0"/><line nr="287" mi="0" ci="5" mb="0" cb="0"/><line nr="288" mi="0" ci="1" mb="0" cb="0"/><line nr="289" mi="0" ci="5" mb="0" cb="0"/><line nr="296" mi="0" ci="3" mb="0" cb="0"/><line nr="297" mi="0" ci="1" mb="0" cb="0"/><line nr="298" mi="0" ci="5" mb="0" cb="0"/><line nr="299" mi="0" ci="1" mb="0" cb="0"/><line nr="300" mi="0" ci="5" mb="0" cb="0"/><counter type="INSTRUCTION" missed="0" covered="347"/><counter type="BRANCH" missed="0" covered="19"/><counter type="LINE" missed="0" covered="83"/><counter type="COMPLEXITY" missed="0" covered="26"/><counter type="METHOD" missed="0" covered="15"/><counter type="CLASS" missed="0" covered="2"/></sourcefile><sourcefile name="IMethodCoverage.java"/><sourcefile name="CoverageBuilder.java"><line nr="48" mi="0" ci="2" mb="0" cb="0"/><line nr="49" mi="0" ci="5" mb="0" cb="0"/><line nr="50" mi="0" ci="5" mb="0" cb="0"/><line nr="51" mi="0" ci="1" mb="0" cb="0"/><line nr="59" mi="0" ci="5" mb="0" cb="0"/><line nr="68" mi="0" ci="5" mb="0" cb="0"/><line nr="79" mi="0" ci="11" mb="0" cb="0"/><line nr="90" mi="0" ci="4" mb="0" cb="0"/><line nr="91" mi="0" ci="12" mb="0" cb="2"/><line nr="92" mi="0" ci="3" mb="0" cb="2"/><line nr="93" mi="0" ci="5" mb="0" cb="0"/><line nr="96" mi="0" ci="2" mb="0" cb="0"/><line nr="102" mi="0" ci="3" mb="0" cb="0"/><line nr="103" mi="0" ci="7" mb="0" cb="0"/><line nr="104" mi="0" ci="2" mb="0" cb="2"/><line nr="105" mi="0" ci="6" mb="0" cb="2"/><line nr="106" mi="0" ci="12" mb="0" cb="0"/><line nr="110" mi="0" ci="3" mb="0" cb="0"/><line nr="111" mi="0" ci="2" mb="0" cb="2"/><line nr="112" mi="0" ci="6" mb="0" cb="0"/><line nr="114" mi="0" ci="3" mb="0" cb="0"/><line nr="117" mi="0" ci="1" mb="0" cb="0"/><line nr="121" mi="0" ci="11" mb="0" cb="0"/><line nr="122" mi="0" ci="6" mb="0" cb="0"/><line nr="124" mi="0" ci="2" mb="0" cb="2"/><line nr="125" mi="0" ci="6" mb="0" cb="0"/><line nr="126" mi="0" ci="6" mb="0" cb="0"/><line nr="128" mi="0" ci="2" mb="0" cb="0"/><counter type="INSTRUCTION" missed="0" covered="138"/><counter type="BRANCH" missed="0" covered="12"/><counter type="LINE" missed="0" covered="28"/><counter type="COMPLEXITY" missed="0" covered="13"/><counter type="METHOD" missed="0" covered="7"/><counter type="CLASS" missed="0" covered="1"/></sourcefile><sourcefile name="IBundleCoverage.java"/><sourcefile name="IPackageCoverage.java"/><sourcefile name="ISourceFileCoverage.java"/><counter type="INSTRUCTION" missed="11" covered="1059"/><counter type="BRANCH" missed="1" covered="47"/><counter type="LINE" missed="1" covered="208"/><counter type="COMPLEXITY" missed="1" covered="80"/><counter type="METHOD" missed="0" covered="53"/><counter type="CLASS" missed="0" covered="11"/></package><package name="org/jacoco/core"><class name="org/jacoco/core/JaCoCo" sourcefilename="JaCoCo.java"><method name="&lt;clinit&gt;" desc="()V" line="40"><counter type="INSTRUCTION" missed="0" covered="25"/><counter type="LINE" missed="0" covered="7"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><counter type="INSTRUCTION" missed="0" covered="25"/><counter type="LINE" missed="0" covered="7"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/><counter type="CLASS" missed="0" covered="1"/></class><sourcefile name="JaCoCo.java"><line nr="40" mi="0" ci="3" mb="0" cb="0"/><line nr="42" mi="0" ci="4" mb="0" cb="0"/><line nr="43" mi="0" ci="4" mb="0" cb="0"/><line nr="44" mi="0" ci="5" mb="0" cb="0"/><line nr="45" mi="0" ci="4" mb="0" cb="0"/><line nr="46" mi="0" ci="4" mb="0" cb="0"/><line nr="47" mi="0" ci="1" mb="0" cb="0"/><counter type="INSTRUCTION" missed="0" covered="25"/><counter type="LINE" missed="0" covered="7"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/><counter type="CLASS" missed="0" covered="1"/></sourcefile><counter type="INSTRUCTION" missed="0" covered="25"/><counter type="LINE" missed="0" covered="7"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/><counter type="CLASS" missed="0" covered="1"/></package><package name="org/jacoco/core/internal/analysis"><class name="org/jacoco/core/internal/analysis/StringPool" sourcefilename="StringPool.java"><method name="&lt;init&gt;" desc="()V" line="27"><counter type="INSTRUCTION" missed="0" covered="9"/><counter type="LINE" missed="0" covered="2"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="get" desc="(Ljava/lang/String;)Ljava/lang/String;" line="41"><counter type="INSTRUCTION" missed="0" covered="22"/><counter type="BRANCH" missed="0" covered="4"/><counter type="LINE" missed="0" covered="7"/><counter type="COMPLEXITY" missed="0" covered="3"/><counter type="METHOD" missed="0" covered="1"/></method><method name="get" desc="([Ljava/lang/String;)[Ljava/lang/String;" line="62"><counter type="INSTRUCTION" missed="0" covered="27"/><counter type="BRANCH" missed="0" covered="6"/><counter type="LINE" missed="0" covered="7"/><counter type="COMPLEXITY" missed="0" covered="4"/><counter type="METHOD" missed="0" covered="1"/></method><method name="&lt;clinit&gt;" desc="()V" line="29"><counter type="INSTRUCTION" missed="0" covered="4"/><counter type="LINE" missed="0" covered="1"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><counter type="INSTRUCTION" missed="0" covered="62"/><counter type="BRANCH" missed="0" covered="10"/><counter type="LINE" missed="0" covered="17"/><counter type="COMPLEXITY" missed="0" covered="9"/><counter type="METHOD" missed="0" covered="4"/><counter type="CLASS" missed="0" covered="1"/></class><class name="org/jacoco/core/internal/analysis/ClassAnalyzer$1" sourcefilename="ClassAnalyzer.java"><method name="&lt;init&gt;" desc="(Lorg/jacoco/core/internal/analysis/ClassAnalyzer;Lorg/jacoco/core/internal/analysis/InstructionsBuilder;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Lorg/jacoco/core/internal/analysis/InstructionsBuilder;)V" line="105"><counter type="INSTRUCTION" missed="0" covered="19"/><counter type="LINE" missed="0" covered="1"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="accept" desc="(Lorg/objectweb/asm/tree/MethodNode;Lorg/objectweb/asm/MethodVisitor;)V" line="107"><counter type="INSTRUCTION" missed="0" covered="29"/><counter type="LINE" missed="0" covered="3"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><counter type="INSTRUCTION" missed="0" covered="48"/><counter type="LINE" missed="0" covered="4"/><counter type="COMPLEXITY" missed="0" covered="2"/><counter type="METHOD" missed="0" covered="2"/><counter type="CLASS" missed="0" covered="1"/></class><class name="org/jacoco/core/internal/analysis/SourceFileCoverageImpl" sourcefilename="SourceFileCoverageImpl.java"><method name="&lt;init&gt;" desc="(Ljava/lang/String;Ljava/lang/String;)V" line="34"><counter type="INSTRUCTION" missed="0" covered="8"/><counter type="LINE" missed="0" covered="3"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="getPackageName" desc="()Ljava/lang/String;" line="41"><counter type="INSTRUCTION" missed="0" covered="3"/><counter type="LINE" missed="0" covered="1"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><counter type="INSTRUCTION" missed="0" covered="11"/><counter type="LINE" missed="0" covered="4"/><counter type="COMPLEXITY" missed="0" covered="2"/><counter type="METHOD" missed="0" covered="2"/><counter type="CLASS" missed="0" covered="1"/></class><class name="org/jacoco/core/internal/analysis/CounterImpl$Fix" sourcefilename="CounterImpl.java"><method name="&lt;init&gt;" desc="(II)V" line="68"><counter type="INSTRUCTION" missed="0" covered="5"/><counter type="LINE" missed="0" covered="2"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="increment" desc="(II)Lorg/jacoco/core/internal/analysis/CounterImpl;" line="73"><counter type="INSTRUCTION" missed="0" covered="10"/><counter type="LINE" missed="0" covered="1"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><counter type="INSTRUCTION" missed="0" covered="15"/><counter type="LINE" missed="0" covered="3"/><counter type="COMPLEXITY" missed="0" covered="2"/><counter type="METHOD" missed="0" covered="2"/><counter type="CLASS" missed="0" covered="1"/></class><class name="org/jacoco/core/internal/analysis/CounterImpl$1" sourcefilename="CounterImpl.java"><method name="&lt;clinit&gt;" desc="()V" line="153"><counter type="INSTRUCTION" missed="5" covered="35"/><counter type="LINE" missed="0" covered="1"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><counter type="INSTRUCTION" missed="5" covered="35"/><counter type="LINE" missed="0" covered="1"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/><counter type="CLASS" missed="0" covered="1"/></class><class name="org/jacoco/core/internal/analysis/MethodCoverageImpl" sourcefilename="MethodCoverageImpl.java"><method name="&lt;init&gt;" desc="(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V" line="40"><counter type="INSTRUCTION" missed="0" covered="11"/><counter type="LINE" missed="0" covered="4"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="increment" desc="(Lorg/jacoco/core/analysis/ICounter;Lorg/jacoco/core/analysis/ICounter;I)V" line="48"><counter type="INSTRUCTION" missed="0" covered="33"/><counter type="BRANCH" missed="0" covered="2"/><counter type="LINE" missed="0" covered="6"/><counter type="COMPLEXITY" missed="0" covered="2"/><counter type="METHOD" missed="0" covered="1"/></method><method name="incrementMethodCounter" desc="()V" line="62"><counter type="INSTRUCTION" missed="0" covered="21"/><counter type="BRANCH" missed="0" covered="2"/><counter type="LINE" missed="0" covered="4"/><counter type="COMPLEXITY" missed="0" covered="2"/><counter type="METHOD" missed="0" covered="1"/></method><method name="getDesc" desc="()Ljava/lang/String;" line="72"><counter type="INSTRUCTION" missed="0" covered="3"/><counter type="LINE" missed="0" covered="1"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="getSignature" desc="()Ljava/lang/String;" line="76"><counter type="INSTRUCTION" missed="0" covered="3"/><counter type="LINE" missed="0" covered="1"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><counter type="INSTRUCTION" missed="0" covered="71"/><counter type="BRANCH" missed="0" covered="4"/><counter type="LINE" missed="0" covered="16"/><counter type="COMPLEXITY" missed="0" covered="7"/><counter type="METHOD" missed="0" covered="5"/><counter type="CLASS" missed="0" covered="1"/></class><class name="org/jacoco/core/internal/analysis/CounterImpl" sourcefilename="CounterImpl.java"><method name="getInstance" desc="(II)Lorg/jacoco/core/internal/analysis/CounterImpl;" line="87"><counter type="INSTRUCTION" missed="0" covered="18"/><counter type="BRANCH" missed="0" covered="4"/><counter type="LINE" missed="0" covered="3"/><counter type="COMPLEXITY" missed="0" covered="3"/><counter type="METHOD" missed="0" covered="1"/></method><method name="getInstance" desc="(Lorg/jacoco/core/analysis/ICounter;)Lorg/jacoco/core/internal/analysis/CounterImpl;" line="102"><counter type="INSTRUCTION" missed="0" covered="6"/><counter type="LINE" missed="0" covered="1"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="&lt;init&gt;" desc="(II)V" line="119"><counter type="INSTRUCTION" missed="0" covered="9"/><counter type="LINE" missed="0" covered="4"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="increment" desc="(Lorg/jacoco/core/analysis/ICounter;)Lorg/jacoco/core/internal/analysis/CounterImpl;" line="134"><counter type="INSTRUCTION" missed="0" covered="7"/><counter type="LINE" missed="0" covered="1"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="getValue" desc="(Lorg/jacoco/core/analysis/ICounter$CounterValue;)D" line="153"><counter type="INSTRUCTION" missed="5" covered="23"/><counter type="BRANCH" missed="1" covered="5"/><counter type="LINE" missed="1" covered="6"/><counter type="COMPLEXITY" missed="1" covered="5"/><counter type="METHOD" missed="0" covered="1"/></method><method name="getTotalCount" desc="()I" line="170"><counter type="INSTRUCTION" missed="0" covered="6"/><counter type="LINE" missed="0" covered="1"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="getCoveredCount" desc="()I" line="174"><counter type="INSTRUCTION" missed="0" covered="3"/><counter type="LINE" missed="0" covered="1"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="getMissedCount" desc="()I" line="178"><counter type="INSTRUCTION" missed="0" covered="3"/><counter type="LINE" missed="0" covered="1"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="getCoveredRatio" desc="()D" line="182"><counter type="INSTRUCTION" missed="0" covered="11"/><counter type="LINE" missed="0" covered="1"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="getMissedRatio" desc="()D" line="186"><counter type="INSTRUCTION" missed="0" covered="11"/><counter type="LINE" missed="0" covered="1"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="getStatus" desc="()I" line="190"><counter type="INSTRUCTION" missed="0" covered="16"/><counter type="BRANCH" missed="0" covered="4"/><counter type="LINE" missed="0" covered="4"/><counter type="COMPLEXITY" missed="0" covered="3"/><counter type="METHOD" missed="0" covered="1"/></method><method name="equals" desc="(Ljava/lang/Object;)Z" line="199"><counter type="INSTRUCTION" missed="0" covered="22"/><counter type="BRANCH" missed="0" covered="6"/><counter type="LINE" missed="0" covered="4"/><counter type="COMPLEXITY" missed="0" covered="4"/><counter type="METHOD" missed="0" covered="1"/></method><method name="hashCode" desc="()I" line="210"><counter type="INSTRUCTION" missed="0" covered="8"/><counter type="LINE" missed="0" covered="1"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="toString" desc="()Ljava/lang/String;" line="215"><counter type="INSTRUCTION" missed="0" covered="24"/><counter type="LINE" missed="0" covered="5"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="&lt;clinit&gt;" desc="()V" line="26"><counter type="INSTRUCTION" missed="0" covered="51"/><counter type="BRANCH" missed="0" covered="4"/><counter type="LINE" missed="0" covered="8"/><counter type="COMPLEXITY" missed="0" covered="3"/><counter type="METHOD" missed="0" covered="1"/></method><counter type="INSTRUCTION" missed="5" covered="218"/><counter type="BRANCH" missed="1" covered="23"/><counter type="LINE" missed="1" covered="42"/><counter type="COMPLEXITY" missed="1" covered="28"/><counter type="METHOD" missed="0" covered="15"/><counter type="CLASS" missed="0" covered="1"/></class><class name="org/jacoco/core/internal/analysis/ClassAnalyzer" sourcefilename="ClassAnalyzer.java"><method name="&lt;init&gt;" desc="(Lorg/jacoco/core/internal/analysis/ClassCoverageImpl;[ZLorg/jacoco/core/internal/analysis/StringPool;)V" line="40"><counter type="INSTRUCTION" missed="0" covered="25"/><counter type="LINE" missed="0" covered="8"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="visit" desc="(IILjava/lang/String;Ljava/lang/String;Ljava/lang/String;[Ljava/lang/String;)V" line="70"><counter type="INSTRUCTION" missed="0" covered="22"/><counter type="LINE" missed="0" covered="4"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="visitAnnotation" desc="(Ljava/lang/String;Z)Lorg/objectweb/asm/AnnotationVisitor;" line="78"><counter type="INSTRUCTION" missed="10" covered="0"/><counter type="LINE" missed="2" covered="0"/><counter type="COMPLEXITY" missed="1" covered="0"/><counter type="METHOD" missed="1" covered="0"/></method><method name="visitAttribute" desc="(Lorg/objectweb/asm/Attribute;)V" line="84"><counter type="INSTRUCTION" missed="0" covered="7"/><counter type="LINE" missed="0" covered="2"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="visitSource" desc="(Ljava/lang/String;Ljava/lang/String;)V" line="89"><counter type="INSTRUCTION" missed="0" covered="11"/><counter type="LINE" missed="0" covered="3"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="visitMethod" desc="(ILjava/lang/String;Ljava/lang/String;Ljava/lang/String;[Ljava/lang/String;)Lorg/jacoco/core/internal/flow/MethodProbesVisitor;" line="98"><counter type="INSTRUCTION" missed="0" covered="21"/><counter type="LINE" missed="0" covered="3"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="addMethodCoverage" desc="(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Lorg/jacoco/core/internal/analysis/InstructionsBuilder;Lorg/objectweb/asm/tree/MethodNode;)V" line="117"><counter type="INSTRUCTION" missed="0" covered="30"/><counter type="BRANCH" missed="0" covered="2"/><counter type="LINE" missed="0" covered="7"/><counter type="COMPLEXITY" missed="0" covered="2"/><counter type="METHOD" missed="0" covered="1"/></method><method name="visitField" desc="(ILjava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/Object;)Lorg/objectweb/asm/FieldVisitor;" line="135"><counter type="INSTRUCTION" missed="0" covered="13"/><counter type="LINE" missed="0" covered="2"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="visitTotalProbeCount" desc="(I)V" line="142"><counter type="INSTRUCTION" missed="0" covered="1"/><counter type="LINE" missed="0" covered="1"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="getClassName" desc="()Ljava/lang/String;" line="147"><counter type="INSTRUCTION" missed="0" covered="4"/><counter type="LINE" missed="0" covered="1"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="getSuperClassName" desc="()Ljava/lang/String;" line="151"><counter type="INSTRUCTION" missed="0" covered="4"/><counter type="LINE" missed="0" covered="1"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="getClassAnnotations" desc="()Ljava/util/Set;" line="155"><counter type="INSTRUCTION" missed="0" covered="3"/><counter type="LINE" missed="0" covered="1"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="getClassAttributes" desc="()Ljava/util/Set;" line="159"><counter type="INSTRUCTION" missed="0" covered="3"/><counter type="LINE" missed="0" covered="1"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="getSourceFileName" desc="()Ljava/lang/String;" line="163"><counter type="INSTRUCTION" missed="0" covered="4"/><counter type="LINE" missed="0" covered="1"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="getSourceDebugExtension" desc="()Ljava/lang/String;" line="167"><counter type="INSTRUCTION" missed="0" covered="3"/><counter type="LINE" missed="0" covered="1"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><counter type="INSTRUCTION" missed="10" covered="151"/><counter type="BRANCH" missed="0" covered="2"/><counter type="LINE" missed="2" covered="36"/><counter type="COMPLEXITY" missed="1" covered="15"/><counter type="METHOD" missed="1" covered="14"/><counter type="CLASS" missed="0" covered="1"/></class><class name="org/jacoco/core/internal/analysis/InstructionsBuilder" sourcefilename="InstructionsBuilder.java"><method name="&lt;init&gt;" desc="([Z)V" line="69"><counter type="INSTRUCTION" missed="0" covered="28"/><counter type="LINE" missed="0" covered="8"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="setCurrentLine" desc="(I)V" line="85"><counter type="INSTRUCTION" missed="0" covered="4"/><counter type="LINE" missed="0" covered="2"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="addLabel" desc="(Lorg/objectweb/asm/Label;)V" line="93"><counter type="INSTRUCTION" missed="0" covered="11"/><counter type="BRANCH" missed="0" covered="2"/><counter type="LINE" missed="0" covered="4"/><counter type="COMPLEXITY" missed="0" covered="2"/><counter type="METHOD" missed="0" covered="1"/></method><method name="addInstruction" desc="(Lorg/objectweb/asm/tree/AbstractInsnNode;)V" line="104"><counter type="INSTRUCTION" missed="0" covered="46"/><counter type="BRANCH" missed="0" covered="6"/><counter type="LINE" missed="0" covered="11"/><counter type="COMPLEXITY" missed="0" covered="4"/><counter type="METHOD" missed="0" covered="1"/></method><method name="noSuccessor" desc="()V" line="125"><counter type="INSTRUCTION" missed="0" covered="4"/><counter type="LINE" missed="0" covered="2"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="addJump" desc="(Lorg/objectweb/asm/Label;I)V" line="137"><counter type="INSTRUCTION" missed="0" covered="12"/><counter type="LINE" missed="0" covered="2"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="addProbe" desc="(II)V" line="149"><counter type="INSTRUCTION" missed="0" covered="18"/><counter type="BRANCH" missed="0" covered="4"/><counter type="LINE" missed="0" covered="3"/><counter type="COMPLEXITY" missed="0" covered="3"/><counter type="METHOD" missed="0" covered="1"/></method><method name="getInstructions" desc="()Ljava/util/Map;" line="162"><counter type="INSTRUCTION" missed="0" covered="17"/><counter type="BRANCH" missed="0" covered="2"/><counter type="LINE" missed="0" covered="3"/><counter type="COMPLEXITY" missed="0" covered="2"/><counter type="METHOD" missed="0" covered="1"/></method><counter type="INSTRUCTION" missed="0" covered="140"/><counter type="BRANCH" missed="0" covered="14"/><counter type="LINE" missed="0" covered="35"/><counter type="COMPLEXITY" missed="0" covered="15"/><counter type="METHOD" missed="0" covered="8"/><counter type="CLASS" missed="0" covered="1"/></class><class name="org/jacoco/core/internal/analysis/PackageCoverageImpl" sourcefilename="PackageCoverageImpl.java"><method name="&lt;init&gt;" desc="(Ljava/lang/String;Ljava/util/Collection;Ljava/util/Collection;)V" line="45"><counter type="INSTRUCTION" missed="0" covered="31"/><counter type="BRANCH" missed="0" covered="4"/><counter type="LINE" missed="0" covered="8"/><counter type="COMPLEXITY" missed="0" covered="3"/><counter type="METHOD" missed="0" covered="1"/></method><method name="getClasses" desc="()Ljava/util/Collection;" line="62"><counter type="INSTRUCTION" missed="0" covered="3"/><counter type="LINE" missed="0" covered="1"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="getSourceFiles" desc="()Ljava/util/Collection;" line="66"><counter type="INSTRUCTION" missed="0" covered="3"/><counter type="LINE" missed="0" covered="1"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><counter type="INSTRUCTION" missed="0" covered="37"/><counter type="BRANCH" missed="0" covered="4"/><counter type="LINE" missed="0" covered="10"/><counter type="COMPLEXITY" missed="0" covered="5"/><counter type="METHOD" missed="0" covered="3"/><counter type="CLASS" missed="0" covered="1"/></class><class name="org/jacoco/core/internal/analysis/InstructionsBuilder$Jump" sourcefilename="InstructionsBuilder.java"><method name="&lt;init&gt;" desc="(Lorg/jacoco/core/internal/analysis/Instruction;Lorg/objectweb/asm/Label;I)V" line="175"><counter type="INSTRUCTION" missed="0" covered="12"/><counter type="LINE" missed="0" covered="5"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="wire" desc="()V" line="182"><counter type="INSTRUCTION" missed="0" covered="9"/><counter type="LINE" missed="0" covered="2"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><counter type="INSTRUCTION" missed="0" covered="21"/><counter type="LINE" missed="0" covered="7"/><counter type="COMPLEXITY" missed="0" covered="2"/><counter type="METHOD" missed="0" covered="2"/><counter type="CLASS" missed="0" covered="1"/></class><class name="org/jacoco/core/internal/analysis/Instruction" sourcefilename="Instruction.java"><method name="&lt;init&gt;" desc="(I)V" line="74"><counter type="INSTRUCTION" missed="0" covered="14"/><counter type="LINE" missed="0" covered="5"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="addBranch" desc="(Lorg/jacoco/core/internal/analysis/Instruction;I)V" line="95"><counter type="INSTRUCTION" missed="0" covered="20"/><counter type="BRANCH" missed="0" covered="2"/><counter type="LINE" missed="0" covered="6"/><counter type="COMPLEXITY" missed="0" covered="2"/><counter type="METHOD" missed="0" covered="1"/></method><method name="addBranch" desc="(ZI)V" line="117"><counter type="INSTRUCTION" missed="0" covered="12"/><counter type="BRANCH" missed="0" covered="2"/><counter type="LINE" missed="0" covered="4"/><counter type="COMPLEXITY" missed="0" covered="2"/><counter type="METHOD" missed="0" covered="1"/></method><method name="propagateExecutedBranch" desc="(Lorg/jacoco/core/internal/analysis/Instruction;I)V" line="125"><counter type="INSTRUCTION" missed="0" covered="23"/><counter type="BRANCH" missed="0" covered="4"/><counter type="LINE" missed="0" covered="8"/><counter type="COMPLEXITY" missed="0" covered="3"/><counter type="METHOD" missed="0" covered="1"/></method><method name="getLine" desc="()I" line="142"><counter type="INSTRUCTION" missed="0" covered="3"/><counter type="LINE" missed="0" covered="1"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="merge" desc="(Lorg/jacoco/core/internal/analysis/Instruction;)Lorg/jacoco/core/internal/analysis/Instruction;" line="154"><counter type="INSTRUCTION" missed="0" covered="22"/><counter type="LINE" missed="0" covered="5"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="replaceBranches" desc="(Ljava/util/Collection;)Lorg/jacoco/core/internal/analysis/Instruction;" line="172"><counter type="INSTRUCTION" missed="0" covered="34"/><counter type="BRANCH" missed="0" covered="4"/><counter type="LINE" missed="0" covered="7"/><counter type="COMPLEXITY" missed="0" covered="3"/><counter type="METHOD" missed="0" covered="1"/></method><method name="getInstructionCounter" desc="()Lorg/jacoco/core/analysis/ICounter;" line="190"><counter type="INSTRUCTION" missed="0" covered="8"/><counter type="BRANCH" missed="0" covered="2"/><counter type="LINE" missed="0" covered="1"/><counter type="COMPLEXITY" missed="0" covered="2"/><counter type="METHOD" missed="0" covered="1"/></method><method name="getBranchCounter" desc="()Lorg/jacoco/core/analysis/ICounter;" line="201"><counter type="INSTRUCTION" missed="0" covered="17"/><counter type="BRANCH" missed="0" covered="2"/><counter type="LINE" missed="0" covered="4"/><counter type="COMPLEXITY" missed="0" covered="2"/><counter type="METHOD" missed="0" covered="1"/></method><counter type="INSTRUCTION" missed="0" covered="153"/><counter type="BRANCH" missed="0" covered="16"/><counter type="LINE" missed="0" covered="41"/><counter type="COMPLEXITY" missed="0" covered="17"/><counter type="METHOD" missed="0" covered="9"/><counter type="CLASS" missed="0" covered="1"/></class><class name="org/jacoco/core/internal/analysis/BundleCoverageImpl" sourcefilename="BundleCoverageImpl.java"><method name="&lt;init&gt;" desc="(Ljava/lang/String;Ljava/util/Collection;)V" line="47"><counter type="INSTRUCTION" missed="0" covered="11"/><counter type="LINE" missed="0" covered="4"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="&lt;init&gt;" desc="(Ljava/lang/String;Ljava/util/Collection;Ljava/util/Collection;)V" line="66"><counter type="INSTRUCTION" missed="0" covered="7"/><counter type="LINE" missed="0" covered="2"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="groupByPackage" desc="(Ljava/util/Collection;Ljava/util/Collection;)Ljava/util/Collection;" line="72"><counter type="INSTRUCTION" missed="0" covered="98"/><counter type="BRANCH" missed="0" covered="10"/><counter type="LINE" missed="0" covered="20"/><counter type="COMPLEXITY" missed="0" covered="6"/><counter type="METHOD" missed="0" covered="1"/></method><method name="addByName" desc="(Ljava/util/Map;Ljava/lang/String;Ljava/lang/Object;)V" line="103"><counter type="INSTRUCTION" missed="0" covered="21"/><counter type="BRANCH" missed="0" covered="2"/><counter type="LINE" missed="0" covered="6"/><counter type="COMPLEXITY" missed="0" covered="2"/><counter type="METHOD" missed="0" covered="1"/></method><method name="getPackages" desc="()Ljava/util/Collection;" line="114"><counter type="INSTRUCTION" missed="0" covered="3"/><counter type="LINE" missed="0" covered="1"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><counter type="INSTRUCTION" missed="0" covered="140"/><counter type="BRANCH" missed="0" covered="12"/><counter type="LINE" missed="0" covered="33"/><counter type="COMPLEXITY" missed="0" covered="11"/><counter type="METHOD" missed="0" covered="5"/><counter type="CLASS" missed="0" covered="1"/></class><class name="org/jacoco/core/internal/analysis/SourceNodeImpl" sourcefilename="SourceNodeImpl.java"><method name="&lt;init&gt;" desc="(Lorg/jacoco/core/analysis/ICoverageNode$ElementType;Ljava/lang/String;)V" line="39"><counter type="INSTRUCTION" missed="0" covered="11"/><counter type="LINE" missed="0" covered="4"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="ensureCapacity" desc="(II)V" line="55"><counter type="INSTRUCTION" missed="0" covered="65"/><counter type="BRANCH" missed="0" covered="8"/><counter type="LINE" missed="0" covered="14"/><counter type="COMPLEXITY" missed="0" covered="5"/><counter type="METHOD" missed="0" covered="1"/></method><method name="increment" desc="(Lorg/jacoco/core/analysis/ISourceNode;)V" line="84"><counter type="INSTRUCTION" missed="0" covered="67"/><counter type="BRANCH" missed="0" covered="4"/><counter type="LINE" missed="0" covered="13"/><counter type="COMPLEXITY" missed="0" covered="3"/><counter type="METHOD" missed="0" covered="1"/></method><method name="increment" desc="(Lorg/jacoco/core/analysis/ICounter;Lorg/jacoco/core/analysis/ICounter;I)V" line="117"><counter type="INSTRUCTION" missed="0" covered="21"/><counter type="BRANCH" missed="0" covered="2"/><counter type="LINE" missed="0" covered="5"/><counter type="COMPLEXITY" missed="0" covered="2"/><counter type="METHOD" missed="0" covered="1"/></method><method name="incrementLine" desc="(Lorg/jacoco/core/analysis/ICounter;Lorg/jacoco/core/analysis/ICounter;I)V" line="126"><counter type="INSTRUCTION" missed="0" covered="61"/><counter type="BRANCH" missed="0" covered="10"/><counter type="LINE" missed="0" covered="14"/><counter type="COMPLEXITY" missed="0" covered="6"/><counter type="METHOD" missed="0" covered="1"/></method><method name="getFirstLine" desc="()I" line="155"><counter type="INSTRUCTION" missed="0" covered="3"/><counter type="LINE" missed="0" covered="1"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="getLastLine" desc="()I" line="159"><counter type="INSTRUCTION" missed="0" covered="14"/><counter type="BRANCH" missed="0" covered="2"/><counter type="LINE" missed="0" covered="1"/><counter type="COMPLEXITY" missed="0" covered="2"/><counter type="METHOD" missed="0" covered="1"/></method><method name="getLine" desc="(I)Lorg/jacoco/core/internal/analysis/LineImpl;" line="163"><counter type="INSTRUCTION" missed="0" covered="27"/><counter type="BRANCH" missed="0" covered="8"/><counter type="LINE" missed="0" covered="4"/><counter type="COMPLEXITY" missed="0" covered="5"/><counter type="METHOD" missed="0" covered="1"/></method><counter type="INSTRUCTION" missed="0" covered="269"/><counter type="BRANCH" missed="0" covered="34"/><counter type="LINE" missed="0" covered="56"/><counter type="COMPLEXITY" missed="0" covered="25"/><counter type="METHOD" missed="0" covered="8"/><counter type="CLASS" missed="0" covered="1"/></class><class name="org/jacoco/core/internal/analysis/ClassCoverageImpl" sourcefilename="ClassCoverageImpl.java"><method name="&lt;init&gt;" desc="(Ljava/lang/String;JZ)V" line="48"><counter type="INSTRUCTION" missed="0" covered="16"/><counter type="LINE" missed="0" covered="5"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="addMethod" desc="(Lorg/jacoco/core/analysis/IMethodCoverage;)V" line="61"><counter type="INSTRUCTION" missed="0" covered="20"/><counter type="BRANCH" missed="0" covered="2"/><counter type="LINE" missed="0" covered="6"/><counter type="COMPLEXITY" missed="0" covered="2"/><counter type="METHOD" missed="0" covered="1"/></method><method name="setSignature" desc="(Ljava/lang/String;)V" line="78"><counter type="INSTRUCTION" missed="0" covered="4"/><counter type="LINE" missed="0" covered="2"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="setSuperName" desc="(Ljava/lang/String;)V" line="89"><counter type="INSTRUCTION" missed="0" covered="4"/><counter type="LINE" missed="0" covered="2"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="setInterfaces" desc="([Ljava/lang/String;)V" line="99"><counter type="INSTRUCTION" missed="0" covered="4"/><counter type="LINE" missed="0" covered="2"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="setSourceFileName" desc="(Ljava/lang/String;)V" line="109"><counter type="INSTRUCTION" missed="0" covered="4"/><counter type="LINE" missed="0" covered="2"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="getId" desc="()J" line="115"><counter type="INSTRUCTION" missed="0" covered="3"/><counter type="LINE" missed="0" covered="1"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="isNoMatch" desc="()Z" line="119"><counter type="INSTRUCTION" missed="0" covered="3"/><counter type="LINE" missed="0" covered="1"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="getSignature" desc="()Ljava/lang/String;" line="123"><counter type="INSTRUCTION" missed="0" covered="3"/><counter type="LINE" missed="0" covered="1"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="getSuperName" desc="()Ljava/lang/String;" line="127"><counter type="INSTRUCTION" missed="0" covered="3"/><counter type="LINE" missed="0" covered="1"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="getInterfaceNames" desc="()[Ljava/lang/String;" line="131"><counter type="INSTRUCTION" missed="0" covered="3"/><counter type="LINE" missed="0" covered="1"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="getPackageName" desc="()Ljava/lang/String;" line="135"><counter type="INSTRUCTION" missed="0" covered="16"/><counter type="BRANCH" missed="0" covered="2"/><counter type="LINE" missed="0" covered="2"/><counter type="COMPLEXITY" missed="0" covered="2"/><counter type="METHOD" missed="0" covered="1"/></method><method name="getSourceFileName" desc="()Ljava/lang/String;" line="140"><counter type="INSTRUCTION" missed="0" covered="3"/><counter type="LINE" missed="0" covered="1"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="getMethods" desc="()Ljava/util/Collection;" line="144"><counter type="INSTRUCTION" missed="0" covered="3"/><counter type="LINE" missed="0" covered="1"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><counter type="INSTRUCTION" missed="0" covered="89"/><counter type="BRANCH" missed="0" covered="4"/><counter type="LINE" missed="0" covered="28"/><counter type="COMPLEXITY" missed="0" covered="16"/><counter type="METHOD" missed="0" covered="14"/><counter type="CLASS" missed="0" covered="1"/></class><class name="org/jacoco/core/internal/analysis/MethodAnalyzer" sourcefilename="MethodAnalyzer.java"><method name="&lt;init&gt;" desc="(Lorg/jacoco/core/internal/analysis/InstructionsBuilder;)V" line="39"><counter type="INSTRUCTION" missed="0" covered="6"/><counter type="LINE" missed="0" covered="3"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="accept" desc="(Lorg/objectweb/asm/tree/MethodNode;Lorg/objectweb/asm/MethodVisitor;)V" line="46"><counter type="INSTRUCTION" missed="0" covered="38"/><counter type="BRANCH" missed="0" covered="4"/><counter type="LINE" missed="0" covered="8"/><counter type="COMPLEXITY" missed="0" covered="3"/><counter type="METHOD" missed="0" covered="1"/></method><method name="visitLabel" desc="(Lorg/objectweb/asm/Label;)V" line="59"><counter type="INSTRUCTION" missed="0" covered="5"/><counter type="LINE" missed="0" covered="2"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="visitLineNumber" desc="(ILorg/objectweb/asm/Label;)V" line="64"><counter type="INSTRUCTION" missed="0" covered="5"/><counter type="LINE" missed="0" covered="2"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="visitInsn" desc="(I)V" line="69"><counter type="INSTRUCTION" missed="0" covered="6"/><counter type="LINE" missed="0" covered="2"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="visitIntInsn" desc="(II)V" line="74"><counter type="INSTRUCTION" missed="0" covered="6"/><counter type="LINE" missed="0" covered="2"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="visitVarInsn" desc="(II)V" line="79"><counter type="INSTRUCTION" missed="0" covered="6"/><counter type="LINE" missed="0" covered="2"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="visitTypeInsn" desc="(ILjava/lang/String;)V" line="84"><counter type="INSTRUCTION" missed="0" covered="6"/><counter type="LINE" missed="0" covered="2"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="visitFieldInsn" desc="(ILjava/lang/String;Ljava/lang/String;Ljava/lang/String;)V" line="90"><counter type="INSTRUCTION" missed="0" covered="6"/><counter type="LINE" missed="0" covered="2"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="visitMethodInsn" desc="(ILjava/lang/String;Ljava/lang/String;Ljava/lang/String;Z)V" line="96"><counter type="INSTRUCTION" missed="0" covered="6"/><counter type="LINE" missed="0" covered="2"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="visitInvokeDynamicInsn" desc="(Ljava/lang/String;Ljava/lang/String;Lorg/objectweb/asm/Handle;[Ljava/lang/Object;)V" line="102"><counter type="INSTRUCTION" missed="6" covered="0"/><counter type="LINE" missed="2" covered="0"/><counter type="COMPLEXITY" missed="1" covered="0"/><counter type="METHOD" missed="1" covered="0"/></method><method name="visitJumpInsn" desc="(ILorg/objectweb/asm/Label;)V" line="107"><counter type="INSTRUCTION" missed="0" covered="11"/><counter type="LINE" missed="0" covered="3"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="visitLdcInsn" desc="(Ljava/lang/Object;)V" line="113"><counter type="INSTRUCTION" missed="0" covered="6"/><counter type="LINE" missed="0" covered="2"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="visitIincInsn" desc="(II)V" line="118"><counter type="INSTRUCTION" missed="0" covered="6"/><counter type="LINE" missed="0" covered="2"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="visitTableSwitchInsn" desc="(IILorg/objectweb/asm/Label;[Lorg/objectweb/asm/Label;)V" line="124"><counter type="INSTRUCTION" missed="0" covered="5"/><counter type="LINE" missed="0" covered="2"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="visitLookupSwitchInsn" desc="(Lorg/objectweb/asm/Label;[I[Lorg/objectweb/asm/Label;)V" line="130"><counter type="INSTRUCTION" missed="0" covered="5"/><counter type="LINE" missed="0" covered="2"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="visitSwitchInsn" desc="(Lorg/objectweb/asm/Label;[Lorg/objectweb/asm/Label;)V" line="134"><counter type="INSTRUCTION" missed="0" covered="44"/><counter type="BRANCH" missed="0" covered="4"/><counter type="LINE" missed="0" covered="11"/><counter type="COMPLEXITY" missed="0" covered="3"/><counter type="METHOD" missed="0" covered="1"/></method><method name="visitMultiANewArrayInsn" desc="(Ljava/lang/String;I)V" line="150"><counter type="INSTRUCTION" missed="6" covered="0"/><counter type="LINE" missed="2" covered="0"/><counter type="COMPLEXITY" missed="1" covered="0"/><counter type="METHOD" missed="1" covered="0"/></method><method name="visitProbe" desc="(I)V" line="155"><counter type="INSTRUCTION" missed="0" covered="9"/><counter type="LINE" missed="0" covered="3"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="visitJumpInsnWithProbe" desc="(ILorg/objectweb/asm/Label;ILorg/jacoco/core/internal/flow/IFrame;)V" line="162"><counter type="INSTRUCTION" missed="0" covered="11"/><counter type="LINE" missed="0" covered="3"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="visitInsnWithProbe" desc="(II)V" line="168"><counter type="INSTRUCTION" missed="0" covered="11"/><counter type="LINE" missed="0" covered="3"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="visitTableSwitchInsnWithProbes" desc="(IILorg/objectweb/asm/Label;[Lorg/objectweb/asm/Label;Lorg/jacoco/core/internal/flow/IFrame;)V" line="175"><counter type="INSTRUCTION" missed="0" covered="5"/><counter type="LINE" missed="0" covered="2"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="visitLookupSwitchInsnWithProbes" desc="(Lorg/objectweb/asm/Label;[I[Lorg/objectweb/asm/Label;Lorg/jacoco/core/internal/flow/IFrame;)V" line="181"><counter type="INSTRUCTION" missed="5" covered="0"/><counter type="LINE" missed="2" covered="0"/><counter type="COMPLEXITY" missed="1" covered="0"/><counter type="METHOD" missed="1" covered="0"/></method><method name="visitSwitchInsnWithProbes" desc="(Lorg/objectweb/asm/Label;[Lorg/objectweb/asm/Label;)V" line="186"><counter type="INSTRUCTION" missed="0" covered="37"/><counter type="BRANCH" missed="0" covered="2"/><counter type="LINE" missed="0" covered="9"/><counter type="COMPLEXITY" missed="0" covered="2"/><counter type="METHOD" missed="0" covered="1"/></method><method name="visitSwitchTarget" desc="(Lorg/objectweb/asm/Label;I)V" line="198"><counter type="INSTRUCTION" missed="0" covered="23"/><counter type="BRANCH" missed="0" covered="4"/><counter type="LINE" missed="0" covered="7"/><counter type="COMPLEXITY" missed="0" covered="3"/><counter type="METHOD" missed="0" covered="1"/></method><counter type="INSTRUCTION" missed="17" covered="263"/><counter type="BRANCH" missed="0" covered="14"/><counter type="LINE" missed="6" covered="76"/><counter type="COMPLEXITY" missed="3" covered="29"/><counter type="METHOD" missed="3" covered="22"/><counter type="CLASS" missed="0" covered="1"/></class><class name="org/jacoco/core/internal/analysis/LineImpl$1" sourcefilename="LineImpl.java"/><class name="org/jacoco/core/internal/analysis/LineImpl" sourcefilename="LineImpl.java"><method name="getInstance" desc="(Lorg/jacoco/core/internal/analysis/CounterImpl;Lorg/jacoco/core/internal/analysis/CounterImpl;)Lorg/jacoco/core/internal/analysis/LineImpl;" line="54"><counter type="INSTRUCTION" missed="0" covered="40"/><counter type="BRANCH" missed="0" covered="8"/><counter type="LINE" missed="0" covered="7"/><counter type="COMPLEXITY" missed="0" covered="5"/><counter type="METHOD" missed="0" covered="1"/></method><method name="&lt;init&gt;" desc="(Lorg/jacoco/core/internal/analysis/CounterImpl;Lorg/jacoco/core/internal/analysis/CounterImpl;)V" line="106"><counter type="INSTRUCTION" missed="0" covered="9"/><counter type="LINE" missed="0" covered="4"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="getStatus" desc="()I" line="126"><counter type="INSTRUCTION" missed="0" covered="8"/><counter type="LINE" missed="0" covered="1"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="getInstructionCounter" desc="()Lorg/jacoco/core/analysis/ICounter;" line="130"><counter type="INSTRUCTION" missed="0" covered="3"/><counter type="LINE" missed="0" covered="1"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="getBranchCounter" desc="()Lorg/jacoco/core/analysis/ICounter;" line="134"><counter type="INSTRUCTION" missed="0" covered="3"/><counter type="LINE" missed="0" covered="1"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="hashCode" desc="()I" line="139"><counter type="INSTRUCTION" missed="0" covered="10"/><counter type="LINE" missed="0" covered="1"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="equals" desc="(Ljava/lang/Object;)Z" line="144"><counter type="INSTRUCTION" missed="0" covered="24"/><counter type="BRANCH" missed="0" covered="6"/><counter type="LINE" missed="0" covered="4"/><counter type="COMPLEXITY" missed="0" covered="4"/><counter type="METHOD" missed="0" covered="1"/></method><method name="&lt;clinit&gt;" desc="()V" line="29"><counter type="INSTRUCTION" missed="0" covered="79"/><counter type="BRANCH" missed="0" covered="8"/><counter type="LINE" missed="0" covered="10"/><counter type="COMPLEXITY" missed="0" covered="5"/><counter type="METHOD" missed="0" covered="1"/></method><counter type="INSTRUCTION" missed="0" covered="176"/><counter type="BRANCH" missed="0" covered="22"/><counter type="LINE" missed="0" covered="29"/><counter type="COMPLEXITY" missed="0" covered="19"/><counter type="METHOD" missed="0" covered="8"/><counter type="CLASS" missed="0" covered="1"/></class><class name="org/jacoco/core/internal/analysis/LineImpl$Fix" sourcefilename="LineImpl.java"><method name="&lt;init&gt;" desc="(IIII)V" line="87"><counter type="INSTRUCTION" missed="0" covered="10"/><counter type="LINE" missed="0" covered="2"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="increment" desc="(Lorg/jacoco/core/analysis/ICounter;Lorg/jacoco/core/analysis/ICounter;)Lorg/jacoco/core/internal/analysis/LineImpl;" line="94"><counter type="INSTRUCTION" missed="0" covered="10"/><counter type="LINE" missed="0" covered="1"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><counter type="INSTRUCTION" missed="0" covered="20"/><counter type="LINE" missed="0" covered="3"/><counter type="COMPLEXITY" missed="0" covered="2"/><counter type="METHOD" missed="0" covered="2"/><counter type="CLASS" missed="0" covered="1"/></class><class name="org/jacoco/core/internal/analysis/MethodCoverageCalculator" sourcefilename="MethodCoverageCalculator.java"><method name="&lt;init&gt;" desc="(Ljava/util/Map;)V" line="54"><counter type="INSTRUCTION" missed="0" covered="21"/><counter type="LINE" missed="0" covered="6"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="calculate" desc="(Lorg/jacoco/core/internal/analysis/MethodCoverageImpl;)V" line="69"><counter type="INSTRUCTION" missed="0" covered="41"/><counter type="BRANCH" missed="0" covered="4"/><counter type="LINE" missed="0" covered="10"/><counter type="COMPLEXITY" missed="0" covered="3"/><counter type="METHOD" missed="0" covered="1"/></method><method name="applyMerges" desc="()V" line="88"><counter type="INSTRUCTION" missed="0" covered="73"/><counter type="BRANCH" missed="0" covered="4"/><counter type="LINE" missed="0" covered="11"/><counter type="COMPLEXITY" missed="0" covered="3"/><counter type="METHOD" missed="0" covered="1"/></method><method name="applyReplacements" desc="()V" line="109"><counter type="INSTRUCTION" missed="0" covered="58"/><counter type="BRANCH" missed="0" covered="4"/><counter type="LINE" missed="0" covered="9"/><counter type="COMPLEXITY" missed="0" covered="3"/><counter type="METHOD" missed="0" covered="1"/></method><method name="ensureCapacity" desc="(Lorg/jacoco/core/internal/analysis/MethodCoverageImpl;)V" line="124"><counter type="INSTRUCTION" missed="0" covered="49"/><counter type="BRANCH" missed="0" covered="12"/><counter type="LINE" missed="0" covered="13"/><counter type="COMPLEXITY" missed="0" covered="7"/><counter type="METHOD" missed="0" covered="1"/></method><method name="findRepresentative" desc="(Lorg/objectweb/asm/tree/AbstractInsnNode;)Lorg/objectweb/asm/tree/AbstractInsnNode;" line="148"><counter type="INSTRUCTION" missed="0" covered="13"/><counter type="BRANCH" missed="0" covered="2"/><counter type="LINE" missed="0" covered="3"/><counter type="COMPLEXITY" missed="0" covered="2"/><counter type="METHOD" missed="0" covered="1"/></method><method name="ignore" desc="(Lorg/objectweb/asm/tree/AbstractInsnNode;Lorg/objectweb/asm/tree/AbstractInsnNode;)V" line="158"><counter type="INSTRUCTION" missed="0" covered="20"/><counter type="BRANCH" missed="0" covered="2"/><counter type="LINE" missed="0" covered="4"/><counter type="COMPLEXITY" missed="0" covered="2"/><counter type="METHOD" missed="0" covered="1"/></method><method name="merge" desc="(Lorg/objectweb/asm/tree/AbstractInsnNode;Lorg/objectweb/asm/tree/AbstractInsnNode;)V" line="166"><counter type="INSTRUCTION" missed="0" covered="18"/><counter type="BRANCH" missed="0" covered="2"/><counter type="LINE" missed="0" covered="5"/><counter type="COMPLEXITY" missed="0" covered="2"/><counter type="METHOD" missed="0" covered="1"/></method><method name="replaceBranches" desc="(Lorg/objectweb/asm/tree/AbstractInsnNode;Ljava/util/Set;)V" line="175"><counter type="INSTRUCTION" missed="0" covered="7"/><counter type="LINE" missed="0" covered="2"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><counter type="INSTRUCTION" missed="0" covered="300"/><counter type="BRANCH" missed="0" covered="30"/><counter type="LINE" missed="0" covered="63"/><counter type="COMPLEXITY" missed="0" covered="24"/><counter type="METHOD" missed="0" covered="9"/><counter type="CLASS" missed="0" covered="1"/></class><class name="org/jacoco/core/internal/analysis/LineImpl$Var" sourcefilename="LineImpl.java"><method name="&lt;init&gt;" desc="(Lorg/jacoco/core/internal/analysis/CounterImpl;Lorg/jacoco/core/internal/analysis/CounterImpl;)V" line="70"><counter type="INSTRUCTION" missed="0" covered="6"/><counter type="LINE" missed="0" covered="2"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="increment" desc="(Lorg/jacoco/core/analysis/ICounter;Lorg/jacoco/core/analysis/ICounter;)Lorg/jacoco/core/internal/analysis/LineImpl;" line="76"><counter type="INSTRUCTION" missed="0" covered="14"/><counter type="LINE" missed="0" covered="3"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><counter type="INSTRUCTION" missed="0" covered="20"/><counter type="LINE" missed="0" covered="5"/><counter type="COMPLEXITY" missed="0" covered="2"/><counter type="METHOD" missed="0" covered="2"/><counter type="CLASS" missed="0" covered="1"/></class><class name="org/jacoco/core/internal/analysis/CounterImpl$Var" sourcefilename="CounterImpl.java"><method name="&lt;init&gt;" desc="(II)V" line="52"><counter type="INSTRUCTION" missed="0" covered="5"/><counter type="LINE" missed="0" covered="2"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="increment" desc="(II)Lorg/jacoco/core/internal/analysis/CounterImpl;" line="57"><counter type="INSTRUCTION" missed="0" covered="14"/><counter type="LINE" missed="0" covered="3"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><counter type="INSTRUCTION" missed="0" covered="19"/><counter type="LINE" missed="0" covered="5"/><counter type="COMPLEXITY" missed="0" covered="2"/><counter type="METHOD" missed="0" covered="2"/><counter type="CLASS" missed="0" covered="1"/></class><sourcefile name="InstructionsBuilder.java"><line nr="69" mi="0" ci="2" mb="0" cb="0"/><line nr="70" mi="0" ci="3" mb="0" cb="0"/><line nr="71" mi="0" ci="3" mb="0" cb="0"/><line nr="72" mi="0" ci="3" mb="0" cb="0"/><line nr="73" mi="0" ci="5" mb="0" cb="0"/><line nr="74" mi="0" ci="6" mb="0" cb="0"/><line nr="75" mi="0" ci="5" mb="0" cb="0"/><line nr="76" mi="0" ci="1" mb="0" cb="0"/><line nr="85" mi="0" ci="3" mb="0" cb="0"/><line nr="86" mi="0" ci="1" mb="0" cb="0"/><line nr="93" mi="0" ci="5" mb="0" cb="0"/><line nr="94" mi="0" ci="3" mb="0" cb="2"/><line nr="95" mi="0" ci="2" mb="0" cb="0"/><line nr="97" mi="0" ci="1" mb="0" cb="0"/><line nr="104" mi="0" ci="6" mb="0" cb="0"/><line nr="105" mi="0" ci="4" mb="0" cb="0"/><line nr="106" mi="0" ci="2" mb="0" cb="2"/><line nr="107" mi="0" ci="5" mb="0" cb="2"/><line nr="108" mi="0" ci="8" mb="0" cb="0"/><line nr="110" mi="0" ci="3" mb="0" cb="0"/><line nr="112" mi="0" ci="3" mb="0" cb="2"/><line nr="113" mi="0" ci="5" mb="0" cb="0"/><line nr="115" mi="0" ci="3" mb="0" cb="0"/><line nr="116" mi="0" ci="6" mb="0" cb="0"/><line nr="117" mi="0" ci="1" mb="0" cb="0"/><line nr="125" mi="0" ci="3" mb="0" cb="0"/><line nr="126" mi="0" ci="1" mb="0" cb="0"/><line nr="137" mi="0" ci="11" mb="0" cb="0"/><line nr="138" mi="0" ci="1" mb="0" cb="0"/><line nr="149" mi="0" ci="12" mb="0" cb="4"/><line nr="150" mi="0" ci="5" mb="0" cb="0"/><line nr="151" mi="0" ci="1" mb="0" cb="0"/><line nr="162" mi="0" ci="11" mb="0" cb="2"/><line nr="163" mi="0" ci="3" mb="0" cb="0"/><line nr="166" mi="0" ci="3" mb="0" cb="0"/><line nr="175" mi="0" ci="2" mb="0" cb="0"/><line nr="176" mi="0" ci="3" mb="0" cb="0"/><line nr="177" mi="0" ci="3" mb="0" cb="0"/><line nr="178" mi="0" ci="3" mb="0" cb="0"/><line nr="179" mi="0" ci="1" mb="0" cb="0"/><line nr="182" mi="0" ci="8" mb="0" cb="0"/><line nr="183" mi="0" ci="1" mb="0" cb="0"/><counter type="INSTRUCTION" missed="0" covered="161"/><counter type="BRANCH" missed="0" covered="14"/><counter type="LINE" missed="0" covered="42"/><counter type="COMPLEXITY" missed="0" covered="17"/><counter type="METHOD" missed="0" covered="10"/><counter type="CLASS" missed="0" covered="2"/></sourcefile><sourcefile name="Instruction.java"><line nr="74" mi="0" ci="2" mb="0" cb="0"/><line nr="75" mi="0" ci="3" mb="0" cb="0"/><line nr="76" mi="0" ci="3" mb="0" cb="0"/><line nr="77" mi="0" ci="5" mb="0" cb="0"/><line nr="78" mi="0" ci="1" mb="0" cb="0"/><line nr="95" mi="0" ci="6" mb="0" cb="0"/><line nr="96" mi="0" ci="3" mb="0" cb="0"/><line nr="97" mi="0" ci="3" mb="0" cb="0"/><line nr="98" mi="0" ci="4" mb="0" cb="2"/><line nr="99" mi="0" ci="3" mb="0" cb="0"/><line nr="101" mi="0" ci="1" mb="0" cb="0"/><line nr="117" mi="0" ci="6" mb="0" cb="0"/><line nr="118" mi="0" ci="2" mb="0" cb="2"/><line nr="119" mi="0" ci="3" mb="0" cb="0"/><line nr="121" mi="0" ci="1" mb="0" cb="0"/><line nr="125" mi="0" ci="2" mb="0" cb="2"/><line nr="126" mi="0" ci="4" mb="0" cb="2"/><line nr="127" mi="0" ci="4" mb="0" cb="0"/><line nr="128" mi="0" ci="1" mb="0" cb="0"/><line nr="130" mi="0" ci="4" mb="0" cb="0"/><line nr="131" mi="0" ci="3" mb="0" cb="0"/><line nr="132" mi="0" ci="4" mb="0" cb="0"/><line nr="134" mi="0" ci="1" mb="0" cb="0"/><line nr="142" mi="0" ci="3" mb="0" cb="0"/><line nr="154" mi="0" ci="6" mb="0" cb="0"/><line nr="155" mi="0" ci="4" mb="0" cb="0"/><line nr="156" mi="0" ci="5" mb="0" cb="0"/><line nr="157" mi="0" ci="5" mb="0" cb="0"/><line nr="158" mi="0" ci="2" mb="0" cb="0"/><line nr="172" mi="0" ci="6" mb="0" cb="0"/><line nr="173" mi="0" ci="4" mb="0" cb="0"/><line nr="174" mi="0" ci="2" mb="0" cb="0"/><line nr="175" mi="0" ci="10" mb="0" cb="2"/><line nr="176" mi="0" ci="4" mb="0" cb="2"/><line nr="177" mi="0" ci="6" mb="0" cb="0"/><line nr="180" mi="0" ci="2" mb="0" cb="0"/><line nr="190" mi="0" ci="8" mb="0" cb="2"/><line nr="201" mi="0" ci="4" mb="0" cb="2"/><line nr="202" mi="0" ci="2" mb="0" cb="0"/><line nr="204" mi="0" ci="4" mb="0" cb="0"/><line nr="205" mi="0" ci="7" mb="0" cb="0"/><counter type="INSTRUCTION" missed="0" covered="153"/><counter type="BRANCH" missed="0" covered="16"/><counter type="LINE" missed="0" covered="41"/><counter type="COMPLEXITY" missed="0" covered="17"/><counter type="METHOD" missed="0" covered="9"/><counter type="CLASS" missed="0" covered="1"/></sourcefile><sourcefile name="MethodCoverageCalculator.java"><line nr="54" mi="0" ci="2" mb="0" cb="0"/><line nr="55" mi="0" ci="3" mb="0" cb="0"/><line nr="56" mi="0" ci="5" mb="0" cb="0"/><line nr="57" mi="0" ci="5" mb="0" cb="0"/><line nr="58" mi="0" ci="5" mb="0" cb="0"/><line nr="59" mi="0" ci="1" mb="0" cb="0"/><line nr="69" mi="0" ci="2" mb="0" cb="0"/><line nr="70" mi="0" ci="2" mb="0" cb="0"/><line nr="71" mi="0" ci="3" mb="0" cb="0"/><line nr="74" mi="0" ci="12" mb="0" cb="2"/><line nr="75" mi="0" ci="6" mb="0" cb="2"/><line nr="76" mi="0" ci="4" mb="0" cb="0"/><line nr="77" mi="0" ci="8" mb="0" cb="0"/><line nr="79" mi="0" ci="1" mb="0" cb="0"/><line nr="82" mi="0" ci="2" mb="0" cb="0"/><line nr="83" mi="0" ci="1" mb="0" cb="0"/><line nr="88" mi="0" ci="12" mb="0" cb="2"/><line nr="89" mi="0" ci="4" mb="0" cb="0"/><line nr="90" mi="0" ci="6" mb="0" cb="0"/><line nr="91" mi="0" ci="4" mb="0" cb="0"/><line nr="93" mi="0" ci="5" mb="0" cb="0"/><line nr="94" mi="0" ci="12" mb="0" cb="0"/><line nr="96" mi="0" ci="4" mb="0" cb="0"/><line nr="97" mi="0" ci="1" mb="0" cb="0"/><line nr="101" mi="0" ci="12" mb="0" cb="2"/><line nr="102" mi="0" ci="12" mb="0" cb="0"/><line nr="105" mi="0" ci="1" mb="0" cb="0"/><line nr="109" mi="0" ci="12" mb="0" cb="2"/><line nr="110" mi="0" ci="4" mb="0" cb="0"/><line nr="111" mi="0" ci="6" mb="0" cb="0"/><line nr="113" mi="0" ci="10" mb="0" cb="2"/><line nr="114" mi="0" ci="8" mb="0" cb="0"/><line nr="116" mi="0" ci="4" mb="0" cb="0"/><line nr="117" mi="0" ci="12" mb="0" cb="0"/><line nr="119" mi="0" ci="1" mb="0" cb="0"/><line nr="120" mi="0" ci="1" mb="0" cb="0"/><line nr="124" mi="0" ci="2" mb="0" cb="0"/><line nr="125" mi="0" ci="2" mb="0" cb="0"/><line nr="127" mi="0" ci="12" mb="0" cb="2"/><line nr="128" mi="0" ci="6" mb="0" cb="2"/><line nr="129" mi="0" ci="5" mb="0" cb="0"/><line nr="130" mi="0" ci="3" mb="0" cb="2"/><line nr="131" mi="0" ci="6" mb="0" cb="4"/><line nr="133" mi="0" ci="2" mb="0" cb="0"/><line nr="135" mi="0" ci="3" mb="0" cb="2"/><line nr="136" mi="0" ci="2" mb="0" cb="0"/><line nr="139" mi="0" ci="1" mb="0" cb="0"/><line nr="143" mi="0" ci="4" mb="0" cb="0"/><line nr="144" mi="0" ci="1" mb="0" cb="0"/><line nr="148" mi="0" ci="8" mb="0" cb="2"/><line nr="149" mi="0" ci="3" mb="0" cb="0"/><line nr="151" mi="0" ci="2" mb="0" cb="0"/><line nr="158" mi="0" ci="9" mb="0" cb="2"/><line nr="160" mi="0" ci="5" mb="0" cb="0"/><line nr="162" mi="0" ci="5" mb="0" cb="0"/><line nr="163" mi="0" ci="1" mb="0" cb="0"/><line nr="166" mi="0" ci="4" mb="0" cb="0"/><line nr="167" mi="0" ci="4" mb="0" cb="0"/><line nr="168" mi="0" ci="3" mb="0" cb="2"/><line nr="169" mi="0" ci="6" mb="0" cb="0"/><line nr="171" mi="0" ci="1" mb="0" cb="0"/><line nr="175" mi="0" ci="6" mb="0" cb="0"/><line nr="176" mi="0" ci="1" mb="0" cb="0"/><counter type="INSTRUCTION" missed="0" covered="300"/><counter type="BRANCH" missed="0" covered="30"/><counter type="LINE" missed="0" covered="63"/><counter type="COMPLEXITY" missed="0" covered="24"/><counter type="METHOD" missed="0" covered="9"/><counter type="CLASS" missed="0" covered="1"/></sourcefile><sourcefile name="PackageCoverageImpl.java"><line nr="45" mi="0" ci="4" mb="0" cb="0"/><line nr="46" mi="0" ci="3" mb="0" cb="0"/><line nr="47" mi="0" ci="3" mb="0" cb="0"/><line nr="48" mi="0" ci="3" mb="0" cb="0"/><line nr="49" mi="0" ci="10" mb="0" cb="2"/><line nr="53" mi="0" ci="3" mb="0" cb="2"/><line nr="54" mi="0" ci="4" mb="0" cb="0"/><line nr="57" mi="0" ci="1" mb="0" cb="0"/><line nr="62" mi="0" ci="3" mb="0" cb="0"/><line nr="66" mi="0" ci="3" mb="0" cb="0"/><counter type="INSTRUCTION" missed="0" covered="37"/><counter type="BRANCH" missed="0" covered="4"/><counter type="LINE" missed="0" covered="10"/><counter type="COMPLEXITY" missed="0" covered="5"/><counter type="METHOD" missed="0" covered="3"/><counter type="CLASS" missed="0" covered="1"/></sourcefile><sourcefile name="ClassCoverageImpl.java"><line nr="48" mi="0" ci="4" mb="0" cb="0"/><line nr="49" mi="0" ci="3" mb="0" cb="0"/><line nr="50" mi="0" ci="3" mb="0" cb="0"/><line nr="51" mi="0" ci="5" mb="0" cb="0"/><line nr="52" mi="0" ci="1" mb="0" cb="0"/><line nr="61" mi="0" ci="5" mb="0" cb="0"/><line nr="62" mi="0" ci="3" mb="0" cb="0"/><line nr="64" mi="0" ci="4" mb="0" cb="2"/><line nr="65" mi="0" ci="4" mb="0" cb="0"/><line nr="67" mi="0" ci="3" mb="0" cb="0"/><line nr="69" mi="0" ci="1" mb="0" cb="0"/><line nr="78" mi="0" ci="3" mb="0" cb="0"/><line nr="79" mi="0" ci="1" mb="0" cb="0"/><line nr="89" mi="0" ci="3" mb="0" cb="0"/><line nr="90" mi="0" ci="1" mb="0" cb="0"/><line nr="99" mi="0" ci="3" mb="0" cb="0"/><line nr="100" mi="0" ci="1" mb="0" cb="0"/><line nr="109" mi="0" ci="3" mb="0" cb="0"/><line nr="110" mi="0" ci="1" mb="0" cb="0"/><line nr="115" mi="0" ci="3" mb="0" cb="0"/><line nr="119" mi="0" ci="3" mb="0" cb="0"/><line nr="123" mi="0" ci="3" mb="0" cb="0"/><line nr="127" mi="0" ci="3" mb="0" cb="0"/><line nr="131" mi="0" ci="3" mb="0" cb="0"/><line nr="135" mi="0" ci="5" mb="0" cb="0"/><line nr="136" mi="0" ci="11" mb="0" cb="2"/><line nr="140" mi="0" ci="3" mb="0" cb="0"/><line nr="144" mi="0" ci="3" mb="0" cb="0"/><counter type="INSTRUCTION" missed="0" covered="89"/><counter type="BRANCH" missed="0" covered="4"/><counter type="LINE" missed="0" covered="28"/><counter type="COMPLEXITY" missed="0" covered="16"/><counter type="METHOD" missed="0" covered="14"/><counter type="CLASS" missed="0" covered="1"/></sourcefile><sourcefile name="StringPool.java"><line nr="27" mi="0" ci="2" mb="0" cb="0"/><line nr="29" mi="0" ci="4" mb="0" cb="0"/><line nr="31" mi="0" ci="7" mb="0" cb="0"/><line nr="41" mi="0" ci="2" mb="0" cb="2"/><line nr="42" mi="0" ci="2" mb="0" cb="0"/><line nr="44" mi="0" ci="6" mb="0" cb="0"/><line nr="45" mi="0" ci="2" mb="0" cb="2"/><line nr="46" mi="0" ci="6" mb="0" cb="0"/><line nr="47" mi="0" ci="2" mb="0" cb="0"/><line nr="49" mi="0" ci="2" mb="0" cb="0"/><line nr="62" mi="0" ci="2" mb="0" cb="2"/><line nr="63" mi="0" ci="2" mb="0" cb="0"/><line nr="65" mi="0" ci="3" mb="0" cb="2"/><line nr="66" mi="0" ci="2" mb="0" cb="0"/><line nr="68" mi="0" ci="8" mb="0" cb="2"/><line nr="69" mi="0" ci="8" mb="0" cb="0"/><line nr="71" mi="0" ci="2" mb="0" cb="0"/><counter type="INSTRUCTION" missed="0" covered="62"/><counter type="BRANCH" missed="0" covered="10"/><counter type="LINE" missed="0" covered="17"/><counter type="COMPLEXITY" missed="0" covered="9"/><counter type="METHOD" missed="0" covered="4"/><counter type="CLASS" missed="0" covered="1"/></sourcefile><sourcefile name="CounterImpl.java"><line nr="26" mi="0" ci="3" mb="0" cb="0"/><line nr="30" mi="0" ci="7" mb="0" cb="2"/><line nr="31" mi="0" ci="5" mb="0" cb="0"/><line nr="32" mi="0" ci="7" mb="0" cb="2"/><line nr="33" mi="0" ci="10" mb="0" cb="0"/><line nr="39" mi="0" ci="6" mb="0" cb="0"/><line nr="42" mi="0" ci="6" mb="0" cb="0"/><line nr="45" mi="0" ci="7" mb="0" cb="0"/><line nr="52" mi="0" ci="4" mb="0" cb="0"/><line nr="53" mi="0" ci="1" mb="0" cb="0"/><line nr="57" mi="0" ci="6" mb="0" cb="0"/><line nr="58" mi="0" ci="6" mb="0" cb="0"/><line nr="59" mi="0" ci="2" mb="0" cb="0"/><line nr="68" mi="0" ci="4" mb="0" cb="0"/><line nr="69" mi="0" ci="1" mb="0" cb="0"/><line nr="73" mi="0" ci="10" mb="0" cb="0"/><line nr="87" mi="0" ci="6" mb="0" cb="4"/><line nr="88" mi="0" ci="6" mb="0" cb="0"/><line nr="90" mi="0" ci="6" mb="0" cb="0"/><line nr="102" mi="0" ci="6" mb="0" cb="0"/><line nr="119" mi="0" ci="2" mb="0" cb="0"/><line nr="120" mi="0" ci="3" mb="0" cb="0"/><line nr="121" mi="0" ci="3" mb="0" cb="0"/><line nr="122" mi="0" ci="1" mb="0" cb="0"/><line nr="134" mi="0" ci="7" mb="0" cb="0"/><line nr="153" mi="5" ci="40" mb="1" cb="5"/><line nr="155" mi="0" ci="4" mb="0" cb="0"/><line nr="157" mi="0" ci="4" mb="0" cb="0"/><line nr="159" mi="0" ci="4" mb="0" cb="0"/><line nr="161" mi="0" ci="3" mb="0" cb="0"/><line nr="163" mi="0" ci="3" mb="0" cb="0"/><line nr="165" mi="5" ci="0" mb="0" cb="0"/><line nr="170" mi="0" ci="6" mb="0" cb="0"/><line nr="174" mi="0" ci="3" mb="0" cb="0"/><line nr="178" mi="0" ci="3" mb="0" cb="0"/><line nr="182" mi="0" ci="11" mb="0" cb="0"/><line nr="186" mi="0" ci="11" mb="0" cb="0"/><line nr="190" mi="0" ci="7" mb="0" cb="2"/><line nr="191" mi="0" ci="3" mb="0" cb="2"/><line nr="192" mi="0" ci="4" mb="0" cb="0"/><line nr="194" mi="0" ci="2" mb="0" cb="0"/><line nr="199" mi="0" ci="3" mb="0" cb="2"/><line nr="200" mi="0" ci="3" mb="0" cb="0"/><line nr="201" mi="0" ci="14" mb="0" cb="4"/><line nr="204" mi="0" ci="2" mb="0" cb="0"/><line nr="210" mi="0" ci="8" mb="0" cb="0"/><line nr="215" mi="0" ci="5" mb="0" cb="0"/><line nr="216" mi="0" ci="5" mb="0" cb="0"/><line nr="217" mi="0" ci="7" mb="0" cb="0"/><line nr="218" mi="0" ci="4" mb="0" cb="0"/><line nr="219" mi="0" ci="3" mb="0" cb="0"/><counter type="INSTRUCTION" missed="10" covered="287"/><counter type="BRANCH" missed="1" covered="23"/><counter type="LINE" missed="1" covered="50"/><counter type="COMPLEXITY" missed="1" covered="33"/><counter type="METHOD" missed="0" covered="20"/><counter type="CLASS" missed="0" covered="4"/></sourcefile><sourcefile name="MethodCoverageImpl.java"><line nr="40" mi="0" ci="4" mb="0" cb="0"/><line nr="41" mi="0" ci="3" mb="0" cb="0"/><line nr="42" mi="0" ci="3" mb="0" cb="0"/><line nr="43" mi="0" ci="1" mb="0" cb="0"/><line nr="48" mi="0" ci="5" mb="0" cb="0"/><line nr="50" mi="0" ci="4" mb="0" cb="2"/><line nr="51" mi="0" ci="7" mb="0" cb="0"/><line nr="52" mi="0" ci="9" mb="0" cb="0"/><line nr="53" mi="0" ci="7" mb="0" cb="0"/><line nr="55" mi="0" ci="1" mb="0" cb="0"/><line nr="62" mi="0" ci="8" mb="0" cb="2"/><line nr="65" mi="0" ci="6" mb="0" cb="0"/><line nr="66" mi="0" ci="6" mb="0" cb="0"/><line nr="67" mi="0" ci="1" mb="0" cb="0"/><line nr="72" mi="0" ci="3" mb="0" cb="0"/><line nr="76" mi="0" ci="3" mb="0" cb="0"/><counter type="INSTRUCTION" missed="0" covered="71"/><counter type="BRANCH" missed="0" covered="4"/><counter type="LINE" missed="0" covered="16"/><counter type="COMPLEXITY" missed="0" covered="7"/><counter type="METHOD" missed="0" covered="5"/><counter type="CLASS" missed="0" covered="1"/></sourcefile><sourcefile name="BundleCoverageImpl.java"><line nr="47" mi="0" ci="4" mb="0" cb="0"/><line nr="48" mi="0" ci="3" mb="0" cb="0"/><line nr="49" mi="0" ci="3" mb="0" cb="0"/><line nr="50" mi="0" ci="1" mb="0" cb="0"/><line nr="66" mi="0" ci="6" mb="0" cb="0"/><line nr="67" mi="0" ci="1" mb="0" cb="0"/><line nr="72" mi="0" ci="4" mb="0" cb="0"/><line nr="73" mi="0" ci="10" mb="0" cb="2"/><line nr="74" mi="0" ci="6" mb="0" cb="0"/><line nr="77" mi="0" ci="4" mb="0" cb="0"/><line nr="78" mi="0" ci="10" mb="0" cb="2"/><line nr="79" mi="0" ci="6" mb="0" cb="0"/><line nr="82" mi="0" ci="4" mb="0" cb="0"/><line nr="83" mi="0" ci="5" mb="0" cb="0"/><line nr="84" mi="0" ci="5" mb="0" cb="0"/><line nr="86" mi="0" ci="4" mb="0" cb="0"/><line nr="87" mi="0" ci="10" mb="0" cb="2"/><line nr="88" mi="0" ci="5" mb="0" cb="0"/><line nr="89" mi="0" ci="2" mb="0" cb="2"/><line nr="90" mi="0" ci="2" mb="0" cb="0"/><line nr="92" mi="0" ci="5" mb="0" cb="0"/><line nr="93" mi="0" ci="2" mb="0" cb="2"/><line nr="94" mi="0" ci="2" mb="0" cb="0"/><line nr="96" mi="0" ci="9" mb="0" cb="0"/><line nr="97" mi="0" ci="1" mb="0" cb="0"/><line nr="98" mi="0" ci="2" mb="0" cb="0"/><line nr="103" mi="0" ci="5" mb="0" cb="0"/><line nr="104" mi="0" ci="2" mb="0" cb="2"/><line nr="105" mi="0" ci="4" mb="0" cb="0"/><line nr="106" mi="0" ci="5" mb="0" cb="0"/><line nr="108" mi="0" ci="4" mb="0" cb="0"/><line nr="109" mi="0" ci="1" mb="0" cb="0"/><line nr="114" mi="0" ci="3" mb="0" cb="0"/><counter type="INSTRUCTION" missed="0" covered="140"/><counter type="BRANCH" missed="0" covered="12"/><counter type="LINE" missed="0" covered="33"/><counter type="COMPLEXITY" missed="0" covered="11"/><counter type="METHOD" missed="0" covered="5"/><counter type="CLASS" missed="0" covered="1"/></sourcefile><sourcefile name="LineImpl.java"><line nr="29" mi="0" ci="3" mb="0" cb="0"/><line nr="33" mi="0" ci="7" mb="0" cb="2"/><line nr="34" mi="0" ci="5" mb="0" cb="0"/><line nr="35" mi="0" ci="7" mb="0" cb="2"/><line nr="36" mi="0" ci="7" mb="0" cb="0"/><line nr="37" mi="0" ci="7" mb="0" cb="2"/><line nr="38" mi="0" ci="9" mb="0" cb="0"/><line nr="39" mi="0" ci="7" mb="0" cb="2"/><line nr="40" mi="0" ci="16" mb="0" cb="0"/><line nr="50" mi="0" ci="11" mb="0" cb="0"/><line nr="54" mi="0" ci="3" mb="0" cb="0"/><line nr="55" mi="0" ci="3" mb="0" cb="0"/><line nr="56" mi="0" ci="3" mb="0" cb="0"/><line nr="57" mi="0" ci="3" mb="0" cb="0"/><line nr="58" mi="0" ci="12" mb="0" cb="8"/><line nr="60" mi="0" ci="10" mb="0" cb="0"/><line nr="62" mi="0" ci="6" mb="0" cb="0"/><line nr="70" mi="0" ci="5" mb="0" cb="0"/><line nr="71" mi="0" ci="1" mb="0" cb="0"/><line nr="76" mi="0" ci="6" mb="0" cb="0"/><line nr="77" mi="0" ci="6" mb="0" cb="0"/><line nr="78" mi="0" ci="2" mb="0" cb="0"/><line nr="87" mi="0" ci="9" mb="0" cb="0"/><line nr="89" mi="0" ci="1" mb="0" cb="0"/><line nr="94" mi="0" ci="10" mb="0" cb="0"/><line nr="106" mi="0" ci="2" mb="0" cb="0"/><line nr="107" mi="0" ci="3" mb="0" cb="0"/><line nr="108" mi="0" ci="3" mb="0" cb="0"/><line nr="109" mi="0" ci="1" mb="0" cb="0"/><line nr="126" mi="0" ci="8" mb="0" cb="0"/><line nr="130" mi="0" ci="3" mb="0" cb="0"/><line nr="134" mi="0" ci="3" mb="0" cb="0"/><line nr="139" mi="0" ci="10" mb="0" cb="0"/><line nr="144" mi="0" ci="3" mb="0" cb="2"/><line nr="145" mi="0" ci="3" mb="0" cb="0"/><line nr="146" mi="0" ci="16" mb="0" cb="4"/><line nr="149" mi="0" ci="2" mb="0" cb="0"/><counter type="INSTRUCTION" missed="0" covered="216"/><counter type="BRANCH" missed="0" covered="22"/><counter type="LINE" missed="0" covered="37"/><counter type="COMPLEXITY" missed="0" covered="23"/><counter type="METHOD" missed="0" covered="12"/><counter type="CLASS" missed="0" covered="3"/></sourcefile><sourcefile name="ClassAnalyzer.java"><line nr="40" mi="0" ci="5" mb="0" cb="0"/><line nr="42" mi="0" ci="5" mb="0" cb="0"/><line nr="59" mi="0" ci="2" mb="0" cb="0"/><line nr="60" mi="0" ci="3" mb="0" cb="0"/><line nr="61" mi="0" ci="3" mb="0" cb="0"/><line nr="62" mi="0" ci="3" mb="0" cb="0"/><line nr="63" mi="0" ci="3" mb="0" cb="0"/><line nr="64" mi="0" ci="1" mb="0" cb="0"/><line nr="70" mi="0" ci="7" mb="0" cb="0"/><line nr="71" mi="0" ci="7" mb="0" cb="0"/><line nr="72" mi="0" ci="7" mb="0" cb="0"/><line nr="73" mi="0" ci="1" mb="0" cb="0"/><line nr="78" mi="5" ci="0" mb="0" cb="0"/><line nr="79" mi="5" ci="0" mb="0" cb="0"/><line nr="84" mi="0" ci="6" mb="0" cb="0"/><line nr="85" mi="0" ci="1" mb="0" cb="0"/><line nr="89" mi="0" ci="7" mb="0" cb="0"/><line nr="90" mi="0" ci="3" mb="0" cb="0"/><line nr="91" mi="0" ci="1" mb="0" cb="0"/><line nr="98" mi="0" ci="5" mb="0" cb="0"/><line nr="100" mi="0" ci="6" mb="0" cb="0"/><line nr="102" mi="0" ci="10" mb="0" cb="0"/><line nr="105" mi="0" ci="19" mb="0" cb="0"/><line nr="107" mi="0" ci="4" mb="0" cb="0"/><line nr="108" mi="0" ci="24" mb="0" cb="0"/><line nr="110" mi="0" ci="1" mb="0" cb="0"/><line nr="117" mi="0" ci="6" mb="0" cb="0"/><line nr="119" mi="0" ci="6" mb="0" cb="0"/><line nr="121" mi="0" ci="7" mb="0" cb="0"/><line nr="123" mi="0" ci="3" mb="0" cb="0"/><line nr="125" mi="0" ci="3" mb="0" cb="2"/><line nr="127" mi="0" ci="4" mb="0" cb="0"/><line nr="130" mi="0" ci="1" mb="0" cb="0"/><line nr="135" mi="0" ci="5" mb="0" cb="0"/><line nr="136" mi="0" ci="8" mb="0" cb="0"/><line nr="142" mi="0" ci="1" mb="0" cb="0"/><line nr="147" mi="0" ci="4" mb="0" cb="0"/><line nr="151" mi="0" ci="4" mb="0" cb="0"/><line nr="155" mi="0" ci="3" mb="0" cb="0"/><line nr="159" mi="0" ci="3" mb="0" cb="0"/><line nr="163" mi="0" ci="4" mb="0" cb="0"/><line nr="167" mi="0" ci="3" mb="0" cb="0"/><counter type="INSTRUCTION" missed="10" covered="199"/><counter type="BRANCH" missed="0" covered="2"/><counter type="LINE" missed="2" covered="40"/><counter type="COMPLEXITY" missed="1" covered="17"/><counter type="METHOD" missed="1" covered="16"/><counter type="CLASS" missed="0" covered="2"/></sourcefile><sourcefile name="SourceFileCoverageImpl.java"><line nr="34" mi="0" ci="4" mb="0" cb="0"/><line nr="35" mi="0" ci="3" mb="0" cb="0"/><line nr="36" mi="0" ci="1" mb="0" cb="0"/><line nr="41" mi="0" ci="3" mb="0" cb="0"/><counter type="INSTRUCTION" missed="0" covered="11"/><counter type="LINE" missed="0" covered="4"/><counter type="COMPLEXITY" missed="0" covered="2"/><counter type="METHOD" missed="0" covered="2"/><counter type="CLASS" missed="0" covered="1"/></sourcefile><sourcefile name="MethodAnalyzer.java"><line nr="39" mi="0" ci="2" mb="0" cb="0"/><line nr="40" mi="0" ci="3" mb="0" cb="0"/><line nr="41" mi="0" ci="1" mb="0" cb="0"/><line nr="46" mi="0" ci="2" mb="0" cb="0"/><line nr="47" mi="0" ci="11" mb="0" cb="2"/><line nr="48" mi="0" ci="4" mb="0" cb="0"/><line nr="50" mi="0" ci="11" mb="0" cb="2"/><line nr="51" mi="0" ci="3" mb="0" cb="0"/><line nr="52" mi="0" ci="4" mb="0" cb="0"/><line nr="54" mi="0" ci="2" mb="0" cb="0"/><line nr="55" mi="0" ci="1" mb="0" cb="0"/><line nr="59" mi="0" ci="4" mb="0" cb="0"/><line nr="60" mi="0" ci="1" mb="0" cb="0"/><line nr="64" mi="0" ci="4" mb="0" cb="0"/><line nr="65" mi="0" ci="1" mb="0" cb="0"/><line nr="69" mi="0" ci="5" mb="0" cb="0"/><line nr="70" mi="0" ci="1" mb="0" cb="0"/><line nr="74" mi="0" ci="5" mb="0" cb="0"/><line nr="75" mi="0" ci="1" mb="0" cb="0"/><line nr="79" mi="0" ci="5" mb="0" cb="0"/><line nr="80" mi="0" ci="1" mb="0" cb="0"/><line nr="84" mi="0" ci="5" mb="0" cb="0"/><line nr="85" mi="0" ci="1" mb="0" cb="0"/><line nr="90" mi="0" ci="5" mb="0" cb="0"/><line nr="91" mi="0" ci="1" mb="0" cb="0"/><line nr="96" mi="0" ci="5" mb="0" cb="0"/><line nr="97" mi="0" ci="1" mb="0" cb="0"/><line nr="102" mi="5" ci="0" mb="0" cb="0"/><line nr="103" mi="1" ci="0" mb="0" cb="0"/><line nr="107" mi="0" ci="5" mb="0" cb="0"/><line nr="108" mi="0" ci="5" mb="0" cb="0"/><line nr="109" mi="0" ci="1" mb="0" cb="0"/><line nr="113" mi="0" ci="5" mb="0" cb="0"/><line nr="114" mi="0" ci="1" mb="0" cb="0"/><line nr="118" mi="0" ci="5" mb="0" cb="0"/><line nr="119" mi="0" ci="1" mb="0" cb="0"/><line nr="124" mi="0" ci="4" mb="0" cb="0"/><line nr="125" mi="0" ci="1" mb="0" cb="0"/><line nr="130" mi="0" ci="4" mb="0" cb="0"/><line nr="131" mi="0" ci="1" mb="0" cb="0"/><line nr="134" mi="0" ci="5" mb="0" cb="0"/><line nr="135" mi="0" ci="2" mb="0" cb="0"/><line nr="136" mi="0" ci="2" mb="0" cb="0"/><line nr="137" mi="0" ci="5" mb="0" cb="0"/><line nr="138" mi="0" ci="2" mb="0" cb="0"/><line nr="139" mi="0" ci="16" mb="0" cb="2"/><line nr="140" mi="0" ci="3" mb="0" cb="2"/><line nr="141" mi="0" ci="1" mb="0" cb="0"/><line nr="142" mi="0" ci="5" mb="0" cb="0"/><line nr="143" mi="0" ci="2" mb="0" cb="0"/><line nr="146" mi="0" ci="1" mb="0" cb="0"/><line nr="150" mi="5" ci="0" mb="0" cb="0"/><line nr="151" mi="1" ci="0" mb="0" cb="0"/><line nr="155" mi="0" ci="5" mb="0" cb="0"/><line nr="156" mi="0" ci="3" mb="0" cb="0"/><line nr="157" mi="0" ci="1" mb="0" cb="0"/><line nr="162" mi="0" ci="5" mb="0" cb="0"/><line nr="163" mi="0" ci="5" mb="0" cb="0"/><line nr="164" mi="0" ci="1" mb="0" cb="0"/><line nr="168" mi="0" ci="5" mb="0" cb="0"/><line nr="169" mi="0" ci="5" mb="0" cb="0"/><line nr="170" mi="0" ci="1" mb="0" cb="0"/><line nr="175" mi="0" ci="4" mb="0" cb="0"/><line nr="176" mi="0" ci="1" mb="0" cb="0"/><line nr="181" mi="4" ci="0" mb="0" cb="0"/><line nr="182" mi="1" ci="0" mb="0" cb="0"/><line nr="186" mi="0" ci="5" mb="0" cb="0"/><line nr="187" mi="0" ci="2" mb="0" cb="0"/><line nr="188" mi="0" ci="2" mb="0" cb="0"/><line nr="189" mi="0" ci="2" mb="0" cb="0"/><line nr="190" mi="0" ci="4" mb="0" cb="0"/><line nr="191" mi="0" ci="16" mb="0" cb="2"/><line nr="192" mi="0" ci="1" mb="0" cb="0"/><line nr="193" mi="0" ci="4" mb="0" cb="0"/><line nr="195" mi="0" ci="1" mb="0" cb="0"/><line nr="198" mi="0" ci="3" mb="0" cb="0"/><line nr="199" mi="0" ci="3" mb="0" cb="2"/><line nr="200" mi="0" ci="3" mb="0" cb="2"/><line nr="201" mi="0" ci="6" mb="0" cb="0"/><line nr="203" mi="0" ci="5" mb="0" cb="0"/><line nr="205" mi="0" ci="2" mb="0" cb="0"/><line nr="207" mi="0" ci="1" mb="0" cb="0"/><counter type="INSTRUCTION" missed="17" covered="263"/><counter type="BRANCH" missed="0" covered="14"/><counter type="LINE" missed="6" covered="76"/><counter type="COMPLEXITY" missed="3" covered="29"/><counter type="METHOD" missed="3" covered="22"/><counter type="CLASS" missed="0" covered="1"/></sourcefile><sourcefile name="SourceNodeImpl.java"><line nr="39" mi="0" ci="4" mb="0" cb="0"/><line nr="40" mi="0" ci="3" mb="0" cb="0"/><line nr="41" mi="0" ci="3" mb="0" cb="0"/><line nr="42" mi="0" ci="1" mb="0" cb="0"/><line nr="55" mi="0" ci="6" mb="0" cb="4"/><line nr="56" mi="0" ci="1" mb="0" cb="0"/><line nr="58" mi="0" ci="3" mb="0" cb="2"/><line nr="59" mi="0" ci="3" mb="0" cb="0"/><line nr="60" mi="0" ci="9" mb="0" cb="0"/><line nr="62" mi="0" ci="5" mb="0" cb="0"/><line nr="63" mi="0" ci="5" mb="0" cb="0"/><line nr="64" mi="0" ci="6" mb="0" cb="0"/><line nr="65" mi="0" ci="5" mb="0" cb="2"/><line nr="66" mi="0" ci="3" mb="0" cb="0"/><line nr="67" mi="0" ci="12" mb="0" cb="0"/><line nr="69" mi="0" ci="3" mb="0" cb="0"/><line nr="70" mi="0" ci="3" mb="0" cb="0"/><line nr="73" mi="0" ci="1" mb="0" cb="0"/><line nr="84" mi="0" ci="7" mb="0" cb="0"/><line nr="86" mi="0" ci="7" mb="0" cb="0"/><line nr="87" mi="0" ci="7" mb="0" cb="0"/><line nr="89" mi="0" ci="7" mb="0" cb="0"/><line nr="90" mi="0" ci="7" mb="0" cb="0"/><line nr="91" mi="0" ci="3" mb="0" cb="0"/><line nr="92" mi="0" ci="3" mb="0" cb="2"/><line nr="93" mi="0" ci="3" mb="0" cb="0"/><line nr="94" mi="0" ci="4" mb="0" cb="0"/><line nr="95" mi="0" ci="7" mb="0" cb="2"/><line nr="96" mi="0" ci="4" mb="0" cb="0"/><line nr="97" mi="0" ci="7" mb="0" cb="0"/><line nr="101" mi="0" ci="1" mb="0" cb="0"/><line nr="117" mi="0" ci="3" mb="0" cb="2"/><line nr="118" mi="0" ci="5" mb="0" cb="0"/><line nr="120" mi="0" ci="6" mb="0" cb="0"/><line nr="121" mi="0" ci="6" mb="0" cb="0"/><line nr="122" mi="0" ci="1" mb="0" cb="0"/><line nr="126" mi="0" ci="4" mb="0" cb="0"/><line nr="127" mi="0" ci="4" mb="0" cb="0"/><line nr="128" mi="0" ci="4" mb="0" cb="0"/><line nr="129" mi="0" ci="4" mb="0" cb="0"/><line nr="130" mi="0" ci="11" mb="0" cb="0"/><line nr="133" mi="0" ci="3" mb="0" cb="2"/><line nr="134" mi="0" ci="3" mb="0" cb="2"/><line nr="135" mi="0" ci="2" mb="0" cb="2"/><line nr="136" mi="0" ci="7" mb="0" cb="0"/><line nr="140" mi="0" ci="2" mb="0" cb="2"/><line nr="141" mi="0" ci="7" mb="0" cb="0"/><line nr="144" mi="0" ci="2" mb="0" cb="2"/><line nr="145" mi="0" ci="7" mb="0" cb="0"/><line nr="150" mi="0" ci="1" mb="0" cb="0"/><line nr="155" mi="0" ci="3" mb="0" cb="0"/><line nr="159" mi="0" ci="14" mb="0" cb="2"/><line nr="163" mi="0" ci="11" mb="0" cb="6"/><line nr="164" mi="0" ci="2" mb="0" cb="0"/><line nr="166" mi="0" ci="8" mb="0" cb="0"/><line nr="167" mi="0" ci="6" mb="0" cb="2"/><counter type="INSTRUCTION" missed="0" covered="269"/><counter type="BRANCH" missed="0" covered="34"/><counter type="LINE" missed="0" covered="56"/><counter type="COMPLEXITY" missed="0" covered="25"/><counter type="METHOD" missed="0" covered="8"/><counter type="CLASS" missed="0" covered="1"/></sourcefile><counter type="INSTRUCTION" missed="37" covered="2258"/><counter type="BRANCH" missed="1" covered="189"/><counter type="LINE" missed="9" covered="513"/><counter type="COMPLEXITY" missed="5" covered="235"/><counter type="METHOD" missed="4" covered="139"/><counter type="CLASS" missed="0" covered="21"/></package><package name="org/jacoco/core/internal"><class name="org/jacoco/core/internal/Pack200Streams" sourcefilename="Pack200Streams.java"><method name="unpack" desc="(Ljava/io/InputStream;)Ljava/io/InputStream;" line="42"><counter type="INSTRUCTION" missed="12" covered="64"/><counter type="LINE" missed="6" covered="9"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="pack" desc="([BLjava/io/OutputStream;)V" line="77"><counter type="INSTRUCTION" missed="12" covered="53"/><counter type="LINE" missed="6" covered="7"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="newIOException" desc="(Ljava/lang/Throwable;)Ljava/io/IOException;" line="97"><counter type="INSTRUCTION" missed="0" covered="10"/><counter type="LINE" missed="0" covered="3"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><counter type="INSTRUCTION" missed="24" covered="127"/><counter type="LINE" missed="12" covered="19"/><counter type="COMPLEXITY" missed="0" covered="3"/><counter type="METHOD" missed="0" covered="3"/><counter type="CLASS" missed="0" covered="1"/></class><class name="org/jacoco/core/internal/Pack200Streams$NoCloseInput" sourcefilename="Pack200Streams.java"><method name="&lt;init&gt;" desc="(Ljava/io/InputStream;)V" line="104"><counter type="INSTRUCTION" missed="0" covered="4"/><counter type="LINE" missed="0" covered="2"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="close" desc="()V" line="110"><counter type="INSTRUCTION" missed="0" covered="1"/><counter type="LINE" missed="0" covered="1"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><counter type="INSTRUCTION" missed="0" covered="5"/><counter type="LINE" missed="0" covered="3"/><counter type="COMPLEXITY" missed="0" covered="2"/><counter type="METHOD" missed="0" covered="2"/><counter type="CLASS" missed="0" covered="1"/></class><class name="org/jacoco/core/internal/InputStreams" sourcefilename="InputStreams.java"><method name="readFully" desc="(Ljava/io/InputStream;)[B" line="38"><counter type="INSTRUCTION" missed="0" covered="24"/><counter type="BRANCH" missed="0" covered="2"/><counter type="LINE" missed="0" covered="8"/><counter type="COMPLEXITY" missed="0" covered="2"/><counter type="METHOD" missed="0" covered="1"/></method><counter type="INSTRUCTION" missed="0" covered="24"/><counter type="BRANCH" missed="0" covered="2"/><counter type="LINE" missed="0" covered="8"/><counter type="COMPLEXITY" missed="0" covered="2"/><counter type="METHOD" missed="0" covered="1"/><counter type="CLASS" missed="0" covered="1"/></class><class name="org/jacoco/core/internal/ContentTypeDetector" sourcefilename="ContentTypeDetector.java"><method name="&lt;init&gt;" desc="(Ljava/io/InputStream;)V" line="55"><counter type="INSTRUCTION" missed="0" covered="29"/><counter type="BRANCH" missed="0" covered="2"/><counter type="LINE" missed="0" covered="8"/><counter type="COMPLEXITY" missed="0" covered="2"/><counter type="METHOD" missed="0" covered="1"/></method><method name="determineType" desc="(Ljava/io/InputStream;)I" line="67"><counter type="INSTRUCTION" missed="0" covered="28"/><counter type="BRANCH" missed="0" covered="8"/><counter type="LINE" missed="0" covered="10"/><counter type="COMPLEXITY" missed="0" covered="6"/><counter type="METHOD" missed="0" covered="1"/></method><method name="readInt" desc="(Ljava/io/InputStream;)I" line="92"><counter type="INSTRUCTION" missed="0" covered="18"/><counter type="LINE" missed="0" covered="1"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="getInputStream" desc="()Ljava/io/InputStream;" line="102"><counter type="INSTRUCTION" missed="0" covered="3"/><counter type="LINE" missed="0" covered="1"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="getType" desc="()I" line="111"><counter type="INSTRUCTION" missed="0" covered="3"/><counter type="LINE" missed="0" covered="1"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><counter type="INSTRUCTION" missed="0" covered="81"/><counter type="BRANCH" missed="0" covered="10"/><counter type="LINE" missed="0" covered="21"/><counter type="COMPLEXITY" missed="0" covered="11"/><counter type="METHOD" missed="0" covered="5"/><counter type="CLASS" missed="0" covered="1"/></class><sourcefile name="InputStreams.java"><line nr="38" mi="0" ci="3" mb="0" cb="0"/><line nr="39" mi="0" ci="4" mb="0" cb="0"/><line nr="41" mi="0" ci="4" mb="0" cb="0"/><line nr="42" mi="0" ci="3" mb="0" cb="2"/><line nr="43" mi="0" ci="1" mb="0" cb="0"/><line nr="45" mi="0" ci="5" mb="0" cb="0"/><line nr="46" mi="0" ci="1" mb="0" cb="0"/><line nr="47" mi="0" ci="3" mb="0" cb="0"/><counter type="INSTRUCTION" missed="0" covered="24"/><counter type="BRANCH" missed="0" covered="2"/><counter type="LINE" missed="0" covered="8"/><counter type="COMPLEXITY" missed="0" covered="2"/><counter type="METHOD" missed="0" covered="1"/><counter type="CLASS" missed="0" covered="1"/></sourcefile><sourcefile name="ContentTypeDetector.java"><line nr="55" mi="0" ci="2" mb="0" cb="0"/><line nr="56" mi="0" ci="3" mb="0" cb="2"/><line nr="57" mi="0" ci="4" mb="0" cb="0"/><line nr="59" mi="0" ci="7" mb="0" cb="0"/><line nr="61" mi="0" ci="4" mb="0" cb="0"/><line nr="62" mi="0" ci="5" mb="0" cb="0"/><line nr="63" mi="0" ci="3" mb="0" cb="0"/><line nr="64" mi="0" ci="1" mb="0" cb="0"/><line nr="67" mi="0" ci="3" mb="0" cb="0"/><line nr="68" mi="0" ci="2" mb="0" cb="4"/><line nr="70" mi="0" ci="2" mb="0" cb="0"/><line nr="72" mi="0" ci="2" mb="0" cb="0"/><line nr="80" mi="0" ci="5" mb="0" cb="0"/><line nr="81" mi="0" ci="3" mb="0" cb="2"/><line nr="82" mi="0" ci="2" mb="0" cb="0"/><line nr="85" mi="0" ci="5" mb="0" cb="2"/><line nr="86" mi="0" ci="2" mb="0" cb="0"/><line nr="88" mi="0" ci="2" mb="0" cb="0"/><line nr="92" mi="0" ci="18" mb="0" cb="0"/><line nr="102" mi="0" ci="3" mb="0" cb="0"/><line nr="111" mi="0" ci="3" mb="0" cb="0"/><counter type="INSTRUCTION" missed="0" covered="81"/><counter type="BRANCH" missed="0" covered="10"/><counter type="LINE" missed="0" covered="21"/><counter type="COMPLEXITY" missed="0" covered="11"/><counter type="METHOD" missed="0" covered="5"/><counter type="CLASS" missed="0" covered="1"/></sourcefile><sourcefile name="Pack200Streams.java"><line nr="42" mi="0" ci="4" mb="0" cb="0"/><line nr="43" mi="0" ci="5" mb="0" cb="0"/><line nr="45" mi="0" ci="11" mb="0" cb="0"/><line nr="47" mi="0" ci="30" mb="0" cb="0"/><line nr="51" mi="1" ci="0" mb="0" cb="0"/><line nr="52" mi="3" ci="0" mb="0" cb="0"/><line nr="53" mi="1" ci="0" mb="0" cb="0"/><line nr="54" mi="3" ci="0" mb="0" cb="0"/><line nr="55" mi="1" ci="0" mb="0" cb="0"/><line nr="56" mi="3" ci="0" mb="0" cb="0"/><line nr="57" mi="0" ci="1" mb="0" cb="0"/><line nr="58" mi="0" ci="4" mb="0" cb="0"/><line nr="59" mi="0" ci="1" mb="0" cb="0"/><line nr="60" mi="0" ci="2" mb="0" cb="0"/><line nr="61" mi="0" ci="6" mb="0" cb="0"/><line nr="77" mi="0" ci="8" mb="0" cb="0"/><line nr="80" mi="0" ci="11" mb="0" cb="0"/><line nr="82" mi="0" ci="27" mb="0" cb="0"/><line nr="85" mi="1" ci="0" mb="0" cb="0"/><line nr="86" mi="3" ci="0" mb="0" cb="0"/><line nr="87" mi="1" ci="0" mb="0" cb="0"/><line nr="88" mi="3" ci="0" mb="0" cb="0"/><line nr="89" mi="1" ci="0" mb="0" cb="0"/><line nr="90" mi="3" ci="0" mb="0" cb="0"/><line nr="91" mi="0" ci="1" mb="0" cb="0"/><line nr="92" mi="0" ci="4" mb="0" cb="0"/><line nr="93" mi="0" ci="1" mb="0" cb="0"/><line nr="94" mi="0" ci="1" mb="0" cb="0"/><line nr="97" mi="0" ci="4" mb="0" cb="0"/><line nr="98" mi="0" ci="4" mb="0" cb="0"/><line nr="99" mi="0" ci="2" mb="0" cb="0"/><line nr="104" mi="0" ci="3" mb="0" cb="0"/><line nr="105" mi="0" ci="1" mb="0" cb="0"/><line nr="110" mi="0" ci="1" mb="0" cb="0"/><counter type="INSTRUCTION" missed="24" covered="132"/><counter type="LINE" missed="12" covered="22"/><counter type="COMPLEXITY" missed="0" covered="5"/><counter type="METHOD" missed="0" covered="5"/><counter type="CLASS" missed="0" covered="2"/></sourcefile><counter type="INSTRUCTION" missed="24" covered="237"/><counter type="BRANCH" missed="0" covered="12"/><counter type="LINE" missed="12" covered="51"/><counter type="COMPLEXITY" missed="0" covered="18"/><counter type="METHOD" missed="0" covered="11"/><counter type="CLASS" missed="0" covered="4"/></package><package name="org/jacoco/core/internal/flow"><class name="org/jacoco/core/internal/flow/MethodProbesAdapter" sourcefilename="MethodProbesAdapter.java"><method name="&lt;init&gt;" desc="(Lorg/jacoco/core/internal/flow/MethodProbesVisitor;Lorg/jacoco/core/internal/flow/IProbeIdGenerator;)V" line="48"><counter type="INSTRUCTION" missed="0" covered="16"/><counter type="LINE" missed="0" covered="5"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="setAnalyzer" desc="(Lorg/objectweb/asm/commons/AnalyzerAdapter;)V" line="62"><counter type="INSTRUCTION" missed="0" covered="4"/><counter type="LINE" missed="0" covered="2"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="visitTryCatchBlock" desc="(Lorg/objectweb/asm/Label;Lorg/objectweb/asm/Label;Lorg/objectweb/asm/Label;Ljava/lang/String;)V" line="68"><counter type="INSTRUCTION" missed="0" covered="12"/><counter type="LINE" missed="0" covered="2"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="getTryCatchLabel" desc="(Lorg/objectweb/asm/Label;)Lorg/objectweb/asm/Label;" line="73"><counter type="INSTRUCTION" missed="0" covered="31"/><counter type="BRANCH" missed="0" covered="4"/><counter type="LINE" missed="0" covered="8"/><counter type="COMPLEXITY" missed="0" covered="3"/><counter type="METHOD" missed="0" covered="1"/></method><method name="visitLabel" desc="(Lorg/objectweb/asm/Label;)V" line="88"><counter type="INSTRUCTION" missed="0" covered="27"/><counter type="BRANCH" missed="0" covered="4"/><counter type="LINE" missed="0" covered="6"/><counter type="COMPLEXITY" missed="0" covered="3"/><counter type="METHOD" missed="0" covered="1"/></method><method name="visitInsn" desc="(I)V" line="99"><counter type="INSTRUCTION" missed="0" covered="15"/><counter type="BRANCH" missed="0" covered="2"/><counter type="LINE" missed="0" covered="5"/><counter type="COMPLEXITY" missed="0" covered="2"/><counter type="METHOD" missed="0" covered="1"/></method><method name="visitJumpInsn" desc="(ILorg/objectweb/asm/Label;)V" line="117"><counter type="INSTRUCTION" missed="0" covered="23"/><counter type="BRANCH" missed="0" covered="2"/><counter type="LINE" missed="0" covered="4"/><counter type="COMPLEXITY" missed="0" covered="2"/><counter type="METHOD" missed="0" covered="1"/></method><method name="jumpPopCount" desc="(I)I" line="126"><counter type="INSTRUCTION" missed="0" covered="8"/><counter type="BRANCH" missed="0" covered="3"/><counter type="LINE" missed="0" covered="4"/><counter type="COMPLEXITY" missed="0" covered="3"/><counter type="METHOD" missed="0" covered="1"/></method><method name="visitLookupSwitchInsn" desc="(Lorg/objectweb/asm/Label;[I[Lorg/objectweb/asm/Label;)V" line="146"><counter type="INSTRUCTION" missed="0" covered="22"/><counter type="BRANCH" missed="0" covered="2"/><counter type="LINE" missed="0" covered="4"/><counter type="COMPLEXITY" missed="0" covered="2"/><counter type="METHOD" missed="0" covered="1"/></method><method name="visitTableSwitchInsn" desc="(IILorg/objectweb/asm/Label;[Lorg/objectweb/asm/Label;)V" line="157"><counter type="INSTRUCTION" missed="0" covered="24"/><counter type="BRANCH" missed="0" covered="2"/><counter type="LINE" missed="0" covered="4"/><counter type="COMPLEXITY" missed="0" covered="2"/><counter type="METHOD" missed="0" covered="1"/></method><method name="markLabels" desc="(Lorg/objectweb/asm/Label;[Lorg/objectweb/asm/Label;)Z" line="166"><counter type="INSTRUCTION" missed="0" covered="49"/><counter type="BRANCH" missed="0" covered="8"/><counter type="LINE" missed="0" covered="12"/><counter type="COMPLEXITY" missed="0" covered="5"/><counter type="METHOD" missed="0" covered="1"/></method><method name="frame" desc="(I)Lorg/jacoco/core/internal/flow/IFrame;" line="184"><counter type="INSTRUCTION" missed="0" covered="5"/><counter type="LINE" missed="0" covered="1"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><counter type="INSTRUCTION" missed="0" covered="236"/><counter type="BRANCH" missed="0" covered="27"/><counter type="LINE" missed="0" covered="57"/><counter type="COMPLEXITY" missed="0" covered="26"/><counter type="METHOD" missed="0" covered="12"/><counter type="CLASS" missed="0" covered="1"/></class><class name="org/jacoco/core/internal/flow/FrameSnapshot" sourcefilename="FrameSnapshot.java"><method name="&lt;init&gt;" desc="([Ljava/lang/Object;[Ljava/lang/Object;)V" line="33"><counter type="INSTRUCTION" missed="0" covered="9"/><counter type="LINE" missed="0" covered="4"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="create" desc="(Lorg/objectweb/asm/commons/AnalyzerAdapter;I)Lorg/jacoco/core/internal/flow/IFrame;" line="49"><counter type="INSTRUCTION" missed="0" covered="23"/><counter type="BRANCH" missed="0" covered="4"/><counter type="LINE" missed="0" covered="5"/><counter type="COMPLEXITY" missed="0" covered="3"/><counter type="METHOD" missed="0" covered="1"/></method><method name="reduce" desc="(Ljava/util/List;I)[Ljava/lang/Object;" line="64"><counter type="INSTRUCTION" missed="0" covered="41"/><counter type="BRANCH" missed="0" covered="6"/><counter type="LINE" missed="0" covered="9"/><counter type="COMPLEXITY" missed="0" covered="4"/><counter type="METHOD" missed="0" covered="1"/></method><method name="accept" desc="(Lorg/objectweb/asm/MethodVisitor;)V" line="79"><counter type="INSTRUCTION" missed="0" covered="17"/><counter type="BRANCH" missed="0" covered="2"/><counter type="LINE" missed="0" covered="3"/><counter type="COMPLEXITY" missed="0" covered="2"/><counter type="METHOD" missed="0" covered="1"/></method><method name="&lt;clinit&gt;" desc="()V" line="28"><counter type="INSTRUCTION" missed="0" covered="7"/><counter type="LINE" missed="0" covered="1"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><counter type="INSTRUCTION" missed="0" covered="97"/><counter type="BRANCH" missed="0" covered="12"/><counter type="LINE" missed="0" covered="22"/><counter type="COMPLEXITY" missed="0" covered="11"/><counter type="METHOD" missed="0" covered="5"/><counter type="CLASS" missed="0" covered="1"/></class><class name="org/jacoco/core/internal/flow/LabelFlowAnalyzer" sourcefilename="LabelFlowAnalyzer.java"><method name="markLabels" desc="(Lorg/objectweb/asm/tree/MethodNode;)V" line="38"><counter type="INSTRUCTION" missed="0" covered="24"/><counter type="BRANCH" missed="0" covered="2"/><counter type="LINE" missed="0" covered="5"/><counter type="COMPLEXITY" missed="0" covered="2"/><counter type="METHOD" missed="0" covered="1"/></method><method name="&lt;init&gt;" desc="()V" line="49"><counter type="INSTRUCTION" missed="0" covered="13"/><counter type="LINE" missed="0" covered="5"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="visitTryCatchBlock" desc="(Lorg/objectweb/asm/Label;Lorg/objectweb/asm/Label;Lorg/objectweb/asm/Label;Ljava/lang/String;)V" line="76"><counter type="INSTRUCTION" missed="0" covered="5"/><counter type="LINE" missed="0" covered="3"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="visitJumpInsn" desc="(ILorg/objectweb/asm/Label;)V" line="84"><counter type="INSTRUCTION" missed="0" covered="22"/><counter type="BRANCH" missed="0" covered="4"/><counter type="LINE" missed="0" covered="6"/><counter type="COMPLEXITY" missed="0" covered="3"/><counter type="METHOD" missed="0" covered="1"/></method><method name="visitLabel" desc="(Lorg/objectweb/asm/Label;)V" line="94"><counter type="INSTRUCTION" missed="0" covered="11"/><counter type="BRANCH" missed="0" covered="4"/><counter type="LINE" missed="0" covered="5"/><counter type="COMPLEXITY" missed="0" covered="3"/><counter type="METHOD" missed="0" covered="1"/></method><method name="visitLineNumber" desc="(ILorg/objectweb/asm/Label;)V" line="104"><counter type="INSTRUCTION" missed="0" covered="7"/><counter type="BRANCH" missed="0" covered="2"/><counter type="LINE" missed="0" covered="4"/><counter type="COMPLEXITY" missed="0" covered="2"/><counter type="METHOD" missed="0" covered="1"/></method><method name="visitTableSwitchInsn" desc="(IILorg/objectweb/asm/Label;[Lorg/objectweb/asm/Label;)V" line="116"><counter type="INSTRUCTION" missed="0" covered="5"/><counter type="LINE" missed="0" covered="2"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="visitLookupSwitchInsn" desc="(Lorg/objectweb/asm/Label;[I[Lorg/objectweb/asm/Label;)V" line="122"><counter type="INSTRUCTION" missed="0" covered="5"/><counter type="LINE" missed="0" covered="2"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="visitSwitchInsn" desc="(Lorg/objectweb/asm/Label;[Lorg/objectweb/asm/Label;)V" line="126"><counter type="INSTRUCTION" missed="0" covered="31"/><counter type="BRANCH" missed="0" covered="2"/><counter type="LINE" missed="0" covered="8"/><counter type="COMPLEXITY" missed="0" covered="2"/><counter type="METHOD" missed="0" covered="1"/></method><method name="setTargetIfNotDone" desc="(Lorg/objectweb/asm/Label;)V" line="137"><counter type="INSTRUCTION" missed="0" covered="8"/><counter type="BRANCH" missed="0" covered="2"/><counter type="LINE" missed="0" covered="4"/><counter type="COMPLEXITY" missed="0" covered="2"/><counter type="METHOD" missed="0" covered="1"/></method><method name="visitInsn" desc="(I)V" line="145"><counter type="INSTRUCTION" missed="0" covered="13"/><counter type="BRANCH" missed="0" covered="2"/><counter type="LINE" missed="0" covered="6"/><counter type="COMPLEXITY" missed="0" covered="2"/><counter type="METHOD" missed="0" covered="1"/></method><method name="visitIntInsn" desc="(II)V" line="164"><counter type="INSTRUCTION" missed="0" covered="7"/><counter type="LINE" missed="0" covered="3"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="visitVarInsn" desc="(II)V" line="170"><counter type="INSTRUCTION" missed="0" covered="15"/><counter type="BRANCH" missed="0" covered="2"/><counter type="LINE" missed="0" covered="5"/><counter type="COMPLEXITY" missed="0" covered="2"/><counter type="METHOD" missed="0" covered="1"/></method><method name="visitTypeInsn" desc="(ILjava/lang/String;)V" line="179"><counter type="INSTRUCTION" missed="0" covered="7"/><counter type="LINE" missed="0" covered="3"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="visitFieldInsn" desc="(ILjava/lang/String;Ljava/lang/String;Ljava/lang/String;)V" line="186"><counter type="INSTRUCTION" missed="0" covered="7"/><counter type="LINE" missed="0" covered="3"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="visitMethodInsn" desc="(ILjava/lang/String;Ljava/lang/String;Ljava/lang/String;Z)V" line="193"><counter type="INSTRUCTION" missed="0" covered="9"/><counter type="LINE" missed="0" covered="4"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="visitInvokeDynamicInsn" desc="(Ljava/lang/String;Ljava/lang/String;Lorg/objectweb/asm/Handle;[Ljava/lang/Object;)V" line="201"><counter type="INSTRUCTION" missed="0" covered="9"/><counter type="LINE" missed="0" covered="4"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="markMethodInvocationLine" desc="()V" line="207"><counter type="INSTRUCTION" missed="0" covered="7"/><counter type="BRANCH" missed="0" covered="2"/><counter type="LINE" missed="0" covered="3"/><counter type="COMPLEXITY" missed="0" covered="2"/><counter type="METHOD" missed="0" covered="1"/></method><method name="visitLdcInsn" desc="(Ljava/lang/Object;)V" line="214"><counter type="INSTRUCTION" missed="0" covered="7"/><counter type="LINE" missed="0" covered="3"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="visitIincInsn" desc="(II)V" line="220"><counter type="INSTRUCTION" missed="0" covered="7"/><counter type="LINE" missed="0" covered="3"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="visitMultiANewArrayInsn" desc="(Ljava/lang/String;I)V" line="226"><counter type="INSTRUCTION" missed="0" covered="7"/><counter type="LINE" missed="0" covered="3"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><counter type="INSTRUCTION" missed="0" covered="226"/><counter type="BRANCH" missed="0" covered="22"/><counter type="LINE" missed="0" covered="84"/><counter type="COMPLEXITY" missed="0" covered="32"/><counter type="METHOD" missed="0" covered="21"/><counter type="CLASS" missed="0" covered="1"/></class><class name="org/jacoco/core/internal/flow/IProbeIdGenerator" sourcefilename="IProbeIdGenerator.java"/><class name="org/jacoco/core/internal/flow/IFrame" sourcefilename="IFrame.java"/><class name="org/jacoco/core/internal/flow/MethodProbesVisitor" sourcefilename="MethodProbesVisitor.java"><method name="&lt;init&gt;" desc="()V" line="30"><counter type="INSTRUCTION" missed="0" covered="4"/><counter type="LINE" missed="0" covered="2"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="&lt;init&gt;" desc="(Lorg/objectweb/asm/MethodVisitor;)V" line="40"><counter type="INSTRUCTION" missed="0" covered="5"/><counter type="LINE" missed="0" covered="2"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="visitProbe" desc="(I)V" line="52"><counter type="INSTRUCTION" missed="0" covered="1"/><counter type="LINE" missed="0" covered="1"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="visitJumpInsnWithProbe" desc="(ILorg/objectweb/asm/Label;ILorg/jacoco/core/internal/flow/IFrame;)V" line="79"><counter type="INSTRUCTION" missed="0" covered="1"/><counter type="LINE" missed="0" covered="1"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="visitInsnWithProbe" desc="(II)V" line="96"><counter type="INSTRUCTION" missed="0" covered="1"/><counter type="LINE" missed="0" covered="1"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="visitTableSwitchInsnWithProbes" desc="(IILorg/objectweb/asm/Label;[Lorg/objectweb/asm/Label;Lorg/jacoco/core/internal/flow/IFrame;)V" line="124"><counter type="INSTRUCTION" missed="0" covered="1"/><counter type="LINE" missed="0" covered="1"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="visitLookupSwitchInsnWithProbes" desc="(Lorg/objectweb/asm/Label;[I[Lorg/objectweb/asm/Label;Lorg/jacoco/core/internal/flow/IFrame;)V" line="150"><counter type="INSTRUCTION" missed="0" covered="1"/><counter type="LINE" missed="0" covered="1"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="accept" desc="(Lorg/objectweb/asm/tree/MethodNode;Lorg/objectweb/asm/MethodVisitor;)V" line="165"><counter type="INSTRUCTION" missed="0" covered="4"/><counter type="LINE" missed="0" covered="2"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><counter type="INSTRUCTION" missed="0" covered="18"/><counter type="LINE" missed="0" covered="11"/><counter type="COMPLEXITY" missed="0" covered="8"/><counter type="METHOD" missed="0" covered="8"/><counter type="CLASS" missed="0" covered="1"/></class><class name="org/jacoco/core/internal/flow/MethodSanitizer" sourcefilename="MethodSanitizer.java"><method name="&lt;init&gt;" desc="(Lorg/objectweb/asm/MethodVisitor;ILjava/lang/String;Ljava/lang/String;Ljava/lang/String;[Ljava/lang/String;)V" line="37"><counter type="INSTRUCTION" missed="0" covered="10"/><counter type="LINE" missed="0" covered="2"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="visitLocalVariable" desc="(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Lorg/objectweb/asm/Label;Lorg/objectweb/asm/Label;I)V" line="48"><counter type="INSTRUCTION" missed="0" covered="15"/><counter type="BRANCH" missed="0" covered="4"/><counter type="LINE" missed="0" covered="3"/><counter type="COMPLEXITY" missed="0" covered="3"/><counter type="METHOD" missed="0" covered="1"/></method><method name="visitLineNumber" desc="(ILorg/objectweb/asm/Label;)V" line="58"><counter type="INSTRUCTION" missed="0" covered="8"/><counter type="BRANCH" missed="0" covered="2"/><counter type="LINE" missed="0" covered="3"/><counter type="COMPLEXITY" missed="0" covered="2"/><counter type="METHOD" missed="0" covered="1"/></method><counter type="INSTRUCTION" missed="0" covered="33"/><counter type="BRANCH" missed="0" covered="6"/><counter type="LINE" missed="0" covered="8"/><counter type="COMPLEXITY" missed="0" covered="6"/><counter type="METHOD" missed="0" covered="3"/><counter type="CLASS" missed="0" covered="1"/></class><class name="org/jacoco/core/internal/flow/ClassProbesAdapter$2" sourcefilename="ClassProbesAdapter.java"><method name="&lt;init&gt;" desc="(Lorg/jacoco/core/internal/flow/ClassProbesAdapter;Lorg/objectweb/asm/MethodVisitor;ILjava/lang/String;Ljava/lang/String;Ljava/lang/String;[Ljava/lang/String;Lorg/jacoco/core/internal/flow/MethodProbesVisitor;)V" line="79"><counter type="INSTRUCTION" missed="0" covered="15"/><counter type="LINE" missed="0" covered="1"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="visitEnd" desc="()V" line="80"><counter type="INSTRUCTION" missed="0" covered="45"/><counter type="BRANCH" missed="0" covered="2"/><counter type="LINE" missed="0" covered="10"/><counter type="COMPLEXITY" missed="0" covered="2"/><counter type="METHOD" missed="0" covered="1"/></method><counter type="INSTRUCTION" missed="0" covered="60"/><counter type="BRANCH" missed="0" covered="2"/><counter type="LINE" missed="0" covered="11"/><counter type="COMPLEXITY" missed="0" covered="3"/><counter type="METHOD" missed="0" covered="2"/><counter type="CLASS" missed="0" covered="1"/></class><class name="org/jacoco/core/internal/flow/ClassProbesAdapter$1" sourcefilename="ClassProbesAdapter.java"><method name="&lt;init&gt;" desc="()V" line="27"><counter type="INSTRUCTION" missed="0" covered="3"/><counter type="LINE" missed="0" covered="1"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><counter type="INSTRUCTION" missed="0" covered="3"/><counter type="LINE" missed="0" covered="1"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/><counter type="CLASS" missed="0" covered="1"/></class><class name="org/jacoco/core/internal/flow/LabelInfo" sourcefilename="LabelInfo.java"><method name="&lt;init&gt;" desc="()V" line="30"><counter type="INSTRUCTION" missed="0" covered="27"/><counter type="LINE" missed="0" covered="10"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="setTarget" desc="(Lorg/objectweb/asm/Label;)V" line="57"><counter type="INSTRUCTION" missed="0" covered="17"/><counter type="BRANCH" missed="0" covered="4"/><counter type="LINE" missed="0" covered="5"/><counter type="COMPLEXITY" missed="0" covered="3"/><counter type="METHOD" missed="0" covered="1"/></method><method name="setSuccessor" desc="(Lorg/objectweb/asm/Label;)V" line="73"><counter type="INSTRUCTION" missed="0" covered="13"/><counter type="BRANCH" missed="0" covered="2"/><counter type="LINE" missed="0" covered="5"/><counter type="COMPLEXITY" missed="0" covered="2"/><counter type="METHOD" missed="0" covered="1"/></method><method name="isMultiTarget" desc="(Lorg/objectweb/asm/Label;)Z" line="92"><counter type="INSTRUCTION" missed="0" covered="10"/><counter type="BRANCH" missed="0" covered="2"/><counter type="LINE" missed="0" covered="2"/><counter type="COMPLEXITY" missed="0" covered="2"/><counter type="METHOD" missed="0" covered="1"/></method><method name="isSuccessor" desc="(Lorg/objectweb/asm/Label;)Z" line="107"><counter type="INSTRUCTION" missed="0" covered="10"/><counter type="BRANCH" missed="0" covered="2"/><counter type="LINE" missed="0" covered="2"/><counter type="COMPLEXITY" missed="0" covered="2"/><counter type="METHOD" missed="0" covered="1"/></method><method name="setMethodInvocationLine" desc="(Lorg/objectweb/asm/Label;)V" line="118"><counter type="INSTRUCTION" missed="0" covered="5"/><counter type="LINE" missed="0" covered="2"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="isMethodInvocationLine" desc="(Lorg/objectweb/asm/Label;)Z" line="131"><counter type="INSTRUCTION" missed="0" covered="10"/><counter type="BRANCH" missed="0" covered="2"/><counter type="LINE" missed="0" covered="2"/><counter type="COMPLEXITY" missed="0" covered="2"/><counter type="METHOD" missed="0" covered="1"/></method><method name="needsProbe" desc="(Lorg/objectweb/asm/Label;)Z" line="143"><counter type="INSTRUCTION" missed="0" covered="18"/><counter type="BRANCH" missed="0" covered="8"/><counter type="LINE" missed="0" covered="2"/><counter type="COMPLEXITY" missed="0" covered="5"/><counter type="METHOD" missed="0" covered="1"/></method><method name="setDone" desc="(Lorg/objectweb/asm/Label;)V" line="155"><counter type="INSTRUCTION" missed="0" covered="5"/><counter type="LINE" missed="0" covered="2"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="resetDone" desc="(Lorg/objectweb/asm/Label;)V" line="165"><counter type="INSTRUCTION" missed="0" covered="9"/><counter type="BRANCH" missed="0" covered="2"/><counter type="LINE" missed="0" covered="4"/><counter type="COMPLEXITY" missed="0" covered="2"/><counter type="METHOD" missed="0" covered="1"/></method><method name="resetDone" desc="([Lorg/objectweb/asm/Label;)V" line="178"><counter type="INSTRUCTION" missed="0" covered="19"/><counter type="BRANCH" missed="0" covered="2"/><counter type="LINE" missed="0" covered="3"/><counter type="COMPLEXITY" missed="0" covered="2"/><counter type="METHOD" missed="0" covered="1"/></method><method name="isDone" desc="(Lorg/objectweb/asm/Label;)Z" line="191"><counter type="INSTRUCTION" missed="0" covered="10"/><counter type="BRANCH" missed="0" covered="2"/><counter type="LINE" missed="0" covered="2"/><counter type="COMPLEXITY" missed="0" covered="2"/><counter type="METHOD" missed="0" covered="1"/></method><method name="setProbeId" desc="(Lorg/objectweb/asm/Label;I)V" line="204"><counter type="INSTRUCTION" missed="0" covered="5"/><counter type="LINE" missed="0" covered="2"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="getProbeId" desc="(Lorg/objectweb/asm/Label;)I" line="216"><counter type="INSTRUCTION" missed="0" covered="10"/><counter type="BRANCH" missed="0" covered="2"/><counter type="LINE" missed="0" covered="2"/><counter type="COMPLEXITY" missed="0" covered="2"/><counter type="METHOD" missed="0" covered="1"/></method><method name="setIntermediateLabel" desc="(Lorg/objectweb/asm/Label;Lorg/objectweb/asm/Label;)V" line="231"><counter type="INSTRUCTION" missed="0" covered="5"/><counter type="LINE" missed="0" covered="2"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="getIntermediateLabel" desc="(Lorg/objectweb/asm/Label;)Lorg/objectweb/asm/Label;" line="243"><counter type="INSTRUCTION" missed="0" covered="10"/><counter type="BRANCH" missed="0" covered="2"/><counter type="LINE" missed="0" covered="2"/><counter type="COMPLEXITY" missed="0" covered="2"/><counter type="METHOD" missed="0" covered="1"/></method><method name="setInstruction" desc="(Lorg/objectweb/asm/Label;Lorg/jacoco/core/internal/analysis/Instruction;)V" line="257"><counter type="INSTRUCTION" missed="0" covered="5"/><counter type="LINE" missed="0" covered="2"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="getInstruction" desc="(Lorg/objectweb/asm/Label;)Lorg/jacoco/core/internal/analysis/Instruction;" line="269"><counter type="INSTRUCTION" missed="0" covered="10"/><counter type="BRANCH" missed="0" covered="2"/><counter type="LINE" missed="0" covered="2"/><counter type="COMPLEXITY" missed="0" covered="2"/><counter type="METHOD" missed="0" covered="1"/></method><method name="get" desc="(Lorg/objectweb/asm/Label;)Lorg/jacoco/core/internal/flow/LabelInfo;" line="274"><counter type="INSTRUCTION" missed="0" covered="11"/><counter type="BRANCH" missed="0" covered="2"/><counter type="LINE" missed="0" covered="2"/><counter type="COMPLEXITY" missed="0" covered="2"/><counter type="METHOD" missed="0" covered="1"/></method><method name="create" desc="(Lorg/objectweb/asm/Label;)Lorg/jacoco/core/internal/flow/LabelInfo;" line="279"><counter type="INSTRUCTION" missed="0" covered="14"/><counter type="BRANCH" missed="0" covered="2"/><counter type="LINE" missed="0" covered="5"/><counter type="COMPLEXITY" missed="0" covered="2"/><counter type="METHOD" missed="0" covered="1"/></method><counter type="INSTRUCTION" missed="0" covered="223"/><counter type="BRANCH" missed="0" covered="36"/><counter type="LINE" missed="0" covered="60"/><counter type="COMPLEXITY" missed="0" covered="38"/><counter type="METHOD" missed="0" covered="20"/><counter type="CLASS" missed="0" covered="1"/></class><class name="org/jacoco/core/internal/flow/ClassProbesVisitor" sourcefilename="ClassProbesVisitor.java"><method name="&lt;init&gt;" desc="()V" line="28"><counter type="INSTRUCTION" missed="0" covered="4"/><counter type="LINE" missed="0" covered="2"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="&lt;init&gt;" desc="(Lorg/objectweb/asm/ClassVisitor;)V" line="38"><counter type="INSTRUCTION" missed="0" covered="5"/><counter type="LINE" missed="0" covered="2"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><counter type="INSTRUCTION" missed="0" covered="9"/><counter type="LINE" missed="0" covered="4"/><counter type="COMPLEXITY" missed="0" covered="2"/><counter type="METHOD" missed="0" covered="2"/><counter type="CLASS" missed="0" covered="1"/></class><class name="org/jacoco/core/internal/flow/ClassProbesAdapter" sourcefilename="ClassProbesAdapter.java"><method name="&lt;init&gt;" desc="(Lorg/jacoco/core/internal/flow/ClassProbesVisitor;Z)V" line="34"><counter type="INSTRUCTION" missed="0" covered="14"/><counter type="LINE" missed="0" covered="5"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="visit" desc="(IILjava/lang/String;Ljava/lang/String;Ljava/lang/String;[Ljava/lang/String;)V" line="57"><counter type="INSTRUCTION" missed="0" covered="12"/><counter type="LINE" missed="0" covered="3"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="visitMethod" desc="(ILjava/lang/String;Ljava/lang/String;Ljava/lang/String;[Ljava/lang/String;)Lorg/objectweb/asm/MethodVisitor;" line="66"><counter type="INSTRUCTION" missed="0" covered="28"/><counter type="BRANCH" missed="0" covered="2"/><counter type="LINE" missed="0" covered="5"/><counter type="COMPLEXITY" missed="0" covered="2"/><counter type="METHOD" missed="0" covered="1"/></method><method name="visitEnd" desc="()V" line="99"><counter type="INSTRUCTION" missed="0" covered="8"/><counter type="LINE" missed="0" covered="3"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="nextId" desc="()I" line="106"><counter type="INSTRUCTION" missed="0" covered="8"/><counter type="LINE" missed="0" covered="1"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="&lt;clinit&gt;" desc="()V" line="27"><counter type="INSTRUCTION" missed="0" covered="5"/><counter type="LINE" missed="0" covered="1"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><counter type="INSTRUCTION" missed="0" covered="75"/><counter type="BRANCH" missed="0" covered="2"/><counter type="LINE" missed="0" covered="18"/><counter type="COMPLEXITY" missed="0" covered="7"/><counter type="METHOD" missed="0" covered="6"/><counter type="CLASS" missed="0" covered="1"/></class><sourcefile name="LabelInfo.java"><line nr="30" mi="0" ci="3" mb="0" cb="0"/><line nr="32" mi="0" ci="3" mb="0" cb="0"/><line nr="34" mi="0" ci="3" mb="0" cb="0"/><line nr="36" mi="0" ci="3" mb="0" cb="0"/><line nr="38" mi="0" ci="3" mb="0" cb="0"/><line nr="40" mi="0" ci="3" mb="0" cb="0"/><line nr="42" mi="0" ci="3" mb="0" cb="0"/><line nr="44" mi="0" ci="3" mb="0" cb="0"/><line nr="47" mi="0" ci="2" mb="0" cb="0"/><line nr="48" mi="0" ci="1" mb="0" cb="0"/><line nr="57" mi="0" ci="3" mb="0" cb="0"/><line nr="58" mi="0" ci="6" mb="0" cb="4"/><line nr="59" mi="0" ci="4" mb="0" cb="0"/><line nr="61" mi="0" ci="3" mb="0" cb="0"/><line nr="63" mi="0" ci="1" mb="0" cb="0"/><line nr="73" mi="0" ci="3" mb="0" cb="0"/><line nr="74" mi="0" ci="3" mb="0" cb="0"/><line nr="75" mi="0" ci="3" mb="0" cb="2"/><line nr="76" mi="0" ci="3" mb="0" cb="0"/><line nr="78" mi="0" ci="1" mb="0" cb="0"/><line nr="92" mi="0" ci="3" mb="0" cb="0"/><line nr="93" mi="0" ci="7" mb="0" cb="2"/><line nr="107" mi="0" ci="3" mb="0" cb="0"/><line nr="108" mi="0" ci="7" mb="0" cb="2"/><line nr="118" mi="0" ci="4" mb="0" cb="0"/><line nr="119" mi="0" ci="1" mb="0" cb="0"/><line nr="131" mi="0" ci="3" mb="0" cb="0"/><line nr="132" mi="0" ci="7" mb="0" cb="2"/><line nr="143" mi="0" ci="3" mb="0" cb="0"/><line nr="144" mi="0" ci="15" mb="0" cb="8"/><line nr="155" mi="0" ci="4" mb="0" cb="0"/><line nr="156" mi="0" ci="1" mb="0" cb="0"/><line nr="165" mi="0" ci="3" mb="0" cb="0"/><line nr="166" mi="0" ci="2" mb="0" cb="2"/><line nr="167" mi="0" ci="3" mb="0" cb="0"/><line nr="169" mi="0" ci="1" mb="0" cb="0"/><line nr="178" mi="0" ci="16" mb="0" cb="2"/><line nr="179" mi="0" ci="2" mb="0" cb="0"/><line nr="181" mi="0" ci="1" mb="0" cb="0"/><line nr="191" mi="0" ci="3" mb="0" cb="0"/><line nr="192" mi="0" ci="7" mb="0" cb="2"/><line nr="204" mi="0" ci="4" mb="0" cb="0"/><line nr="205" mi="0" ci="1" mb="0" cb="0"/><line nr="216" mi="0" ci="3" mb="0" cb="0"/><line nr="217" mi="0" ci="7" mb="0" cb="2"/><line nr="231" mi="0" ci="4" mb="0" cb="0"/><line nr="232" mi="0" ci="1" mb="0" cb="0"/><line nr="243" mi="0" ci="3" mb="0" cb="0"/><line nr="244" mi="0" ci="7" mb="0" cb="2"/><line nr="257" mi="0" ci="4" mb="0" cb="0"/><line nr="258" mi="0" ci="1" mb="0" cb="0"/><line nr="269" mi="0" ci="3" mb="0" cb="0"/><line nr="270" mi="0" ci="7" mb="0" cb="2"/><line nr="274" mi="0" ci="3" mb="0" cb="0"/><line nr="275" mi="0" ci="8" mb="0" cb="2"/><line nr="279" mi="0" ci="3" mb="0" cb="0"/><line nr="280" mi="0" ci="2" mb="0" cb="2"/><line nr="281" mi="0" ci="4" mb="0" cb="0"/><line nr="282" mi="0" ci="3" mb="0" cb="0"/><line nr="284" mi="0" ci="2" mb="0" cb="0"/><counter type="INSTRUCTION" missed="0" covered="223"/><counter type="BRANCH" missed="0" covered="36"/><counter type="LINE" missed="0" covered="60"/><counter type="COMPLEXITY" missed="0" covered="38"/><counter type="METHOD" missed="0" covered="20"/><counter type="CLASS" missed="0" covered="1"/></sourcefile><sourcefile name="IFrame.java"/><sourcefile name="LabelFlowAnalyzer.java"><line nr="38" mi="0" ci="4" mb="0" cb="0"/><line nr="39" mi="0" ci="7" mb="0" cb="2"/><line nr="40" mi="0" ci="8" mb="0" cb="0"/><line nr="42" mi="0" ci="4" mb="0" cb="0"/><line nr="43" mi="0" ci="1" mb="0" cb="0"/><line nr="49" mi="0" ci="3" mb="0" cb="0"/><line nr="55" mi="0" ci="3" mb="0" cb="0"/><line nr="60" mi="0" ci="3" mb="0" cb="0"/><line nr="66" mi="0" ci="3" mb="0" cb="0"/><line nr="67" mi="0" ci="1" mb="0" cb="0"/><line nr="76" mi="0" ci="2" mb="0" cb="0"/><line nr="79" mi="0" ci="2" mb="0" cb="0"/><line nr="80" mi="0" ci="1" mb="0" cb="0"/><line nr="84" mi="0" ci="2" mb="0" cb="0"/><line nr="85" mi="0" ci="3" mb="0" cb="2"/><line nr="86" mi="0" ci="5" mb="0" cb="0"/><line nr="88" mi="0" ci="8" mb="0" cb="2"/><line nr="89" mi="0" ci="3" mb="0" cb="0"/><line nr="90" mi="0" ci="1" mb="0" cb="0"/><line nr="94" mi="0" ci="3" mb="0" cb="2"/><line nr="95" mi="0" ci="2" mb="0" cb="0"/><line nr="97" mi="0" ci="3" mb="0" cb="2"/><line nr="98" mi="0" ci="2" mb="0" cb="0"/><line nr="100" mi="0" ci="1" mb="0" cb="0"/><line nr="104" mi="0" ci="2" mb="0" cb="2"/><line nr="108" mi="0" ci="1" mb="0" cb="0"/><line nr="110" mi="0" ci="3" mb="0" cb="0"/><line nr="111" mi="0" ci="1" mb="0" cb="0"/><line nr="116" mi="0" ci="4" mb="0" cb="0"/><line nr="117" mi="0" ci="1" mb="0" cb="0"/><line nr="122" mi="0" ci="4" mb="0" cb="0"/><line nr="123" mi="0" ci="1" mb="0" cb="0"/><line nr="126" mi="0" ci="2" mb="0" cb="0"/><line nr="127" mi="0" ci="2" mb="0" cb="0"/><line nr="128" mi="0" ci="2" mb="0" cb="0"/><line nr="129" mi="0" ci="16" mb="0" cb="2"/><line nr="130" mi="0" ci="2" mb="0" cb="0"/><line nr="132" mi="0" ci="3" mb="0" cb="0"/><line nr="133" mi="0" ci="3" mb="0" cb="0"/><line nr="134" mi="0" ci="1" mb="0" cb="0"/><line nr="137" mi="0" ci="3" mb="0" cb="2"/><line nr="138" mi="0" ci="2" mb="0" cb="0"/><line nr="139" mi="0" ci="2" mb="0" cb="0"/><line nr="141" mi="0" ci="1" mb="0" cb="0"/><line nr="145" mi="0" ci="2" mb="0" cb="2"/><line nr="153" mi="0" ci="3" mb="0" cb="0"/><line nr="154" mi="0" ci="1" mb="0" cb="0"/><line nr="156" mi="0" ci="3" mb="0" cb="0"/><line nr="159" mi="0" ci="3" mb="0" cb="0"/><line nr="160" mi="0" ci="1" mb="0" cb="0"/><line nr="164" mi="0" ci="3" mb="0" cb="0"/><line nr="165" mi="0" ci="3" mb="0" cb="0"/><line nr="166" mi="0" ci="1" mb="0" cb="0"/><line nr="170" mi="0" ci="3" mb="0" cb="2"/><line nr="171" mi="0" ci="5" mb="0" cb="0"/><line nr="173" mi="0" ci="3" mb="0" cb="0"/><line nr="174" mi="0" ci="3" mb="0" cb="0"/><line nr="175" mi="0" ci="1" mb="0" cb="0"/><line nr="179" mi="0" ci="3" mb="0" cb="0"/><line nr="180" mi="0" ci="3" mb="0" cb="0"/><line nr="181" mi="0" ci="1" mb="0" cb="0"/><line nr="186" mi="0" ci="3" mb="0" cb="0"/><line nr="187" mi="0" ci="3" mb="0" cb="0"/><line nr="188" mi="0" ci="1" mb="0" cb="0"/><line nr="193" mi="0" ci="3" mb="0" cb="0"/><line nr="194" mi="0" ci="3" mb="0" cb="0"/><line nr="195" mi="0" ci="2" mb="0" cb="0"/><line nr="196" mi="0" ci="1" mb="0" cb="0"/><line nr="201" mi="0" ci="3" mb="0" cb="0"/><line nr="202" mi="0" ci="3" mb="0" cb="0"/><line nr="203" mi="0" ci="2" mb="0" cb="0"/><line nr="204" mi="0" ci="1" mb="0" cb="0"/><line nr="207" mi="0" ci="3" mb="0" cb="2"/><line nr="208" mi="0" ci="3" mb="0" cb="0"/><line nr="210" mi="0" ci="1" mb="0" cb="0"/><line nr="214" mi="0" ci="3" mb="0" cb="0"/><line nr="215" mi="0" ci="3" mb="0" cb="0"/><line nr="216" mi="0" ci="1" mb="0" cb="0"/><line nr="220" mi="0" ci="3" mb="0" cb="0"/><line nr="221" mi="0" ci="3" mb="0" cb="0"/><line nr="222" mi="0" ci="1" mb="0" cb="0"/><line nr="226" mi="0" ci="3" mb="0" cb="0"/><line nr="227" mi="0" ci="3" mb="0" cb="0"/><line nr="228" mi="0" ci="1" mb="0" cb="0"/><counter type="INSTRUCTION" missed="0" covered="226"/><counter type="BRANCH" missed="0" covered="22"/><counter type="LINE" missed="0" covered="84"/><counter type="COMPLEXITY" missed="0" covered="32"/><counter type="METHOD" missed="0" covered="21"/><counter type="CLASS" missed="0" covered="1"/></sourcefile><sourcefile name="IProbeIdGenerator.java"/><sourcefile name="MethodProbesVisitor.java"><line nr="30" mi="0" ci="3" mb="0" cb="0"/><line nr="31" mi="0" ci="1" mb="0" cb="0"/><line nr="40" mi="0" ci="4" mb="0" cb="0"/><line nr="41" mi="0" ci="1" mb="0" cb="0"/><line nr="52" mi="0" ci="1" mb="0" cb="0"/><line nr="79" mi="0" ci="1" mb="0" cb="0"/><line nr="96" mi="0" ci="1" mb="0" cb="0"/><line nr="124" mi="0" ci="1" mb="0" cb="0"/><line nr="150" mi="0" ci="1" mb="0" cb="0"/><line nr="165" mi="0" ci="3" mb="0" cb="0"/><line nr="166" mi="0" ci="1" mb="0" cb="0"/><counter type="INSTRUCTION" missed="0" covered="18"/><counter type="LINE" missed="0" covered="11"/><counter type="COMPLEXITY" missed="0" covered="8"/><counter type="METHOD" missed="0" covered="8"/><counter type="CLASS" missed="0" covered="1"/></sourcefile><sourcefile name="ClassProbesAdapter.java"><line nr="27" mi="0" ci="8" mb="0" cb="0"/><line nr="34" mi="0" ci="3" mb="0" cb="0"/><line nr="48" mi="0" ci="4" mb="0" cb="0"/><line nr="49" mi="0" ci="3" mb="0" cb="0"/><line nr="50" mi="0" ci="3" mb="0" cb="0"/><line nr="51" mi="0" ci="1" mb="0" cb="0"/><line nr="57" mi="0" ci="3" mb="0" cb="0"/><line nr="58" mi="0" ci="8" mb="0" cb="0"/><line nr="59" mi="0" ci="1" mb="0" cb="0"/><line nr="66" mi="0" ci="9" mb="0" cb="0"/><line nr="68" mi="0" ci="2" mb="0" cb="2"/><line nr="71" mi="0" ci="3" mb="0" cb="0"/><line nr="73" mi="0" ci="2" mb="0" cb="0"/><line nr="75" mi="0" ci="12" mb="0" cb="0"/><line nr="79" mi="0" ci="15" mb="0" cb="0"/><line nr="80" mi="0" ci="2" mb="0" cb="0"/><line nr="81" mi="0" ci="2" mb="0" cb="0"/><line nr="82" mi="0" ci="8" mb="0" cb="0"/><line nr="84" mi="0" ci="4" mb="0" cb="2"/><line nr="85" mi="0" ci="14" mb="0" cb="0"/><line nr="88" mi="0" ci="3" mb="0" cb="0"/><line nr="89" mi="0" ci="5" mb="0" cb="0"/><line nr="90" mi="0" ci="1" mb="0" cb="0"/><line nr="91" mi="0" ci="5" mb="0" cb="0"/><line nr="93" mi="0" ci="1" mb="0" cb="0"/><line nr="99" mi="0" ci="5" mb="0" cb="0"/><line nr="100" mi="0" ci="2" mb="0" cb="0"/><line nr="101" mi="0" ci="1" mb="0" cb="0"/><line nr="106" mi="0" ci="8" mb="0" cb="0"/><counter type="INSTRUCTION" missed="0" covered="138"/><counter type="BRANCH" missed="0" covered="4"/><counter type="LINE" missed="0" covered="29"/><counter type="COMPLEXITY" missed="0" covered="11"/><counter type="METHOD" missed="0" covered="9"/><counter type="CLASS" missed="0" covered="3"/></sourcefile><sourcefile name="ClassProbesVisitor.java"><line nr="28" mi="0" ci="3" mb="0" cb="0"/><line nr="29" mi="0" ci="1" mb="0" cb="0"/><line nr="38" mi="0" ci="4" mb="0" cb="0"/><line nr="39" mi="0" ci="1" mb="0" cb="0"/><counter type="INSTRUCTION" missed="0" covered="9"/><counter type="LINE" missed="0" covered="4"/><counter type="COMPLEXITY" missed="0" covered="2"/><counter type="METHOD" missed="0" covered="2"/><counter type="CLASS" missed="0" covered="1"/></sourcefile><sourcefile name="MethodProbesAdapter.java"><line nr="48" mi="0" ci="4" mb="0" cb="0"/><line nr="49" mi="0" ci="3" mb="0" cb="0"/><line nr="50" mi="0" ci="3" mb="0" cb="0"/><line nr="51" mi="0" ci="5" mb="0" cb="0"/><line nr="52" mi="0" ci="1" mb="0" cb="0"/><line nr="62" mi="0" ci="3" mb="0" cb="0"/><line nr="63" mi="0" ci="1" mb="0" cb="0"/><line nr="68" mi="0" ci="11" mb="0" cb="0"/><line nr="70" mi="0" ci="1" mb="0" cb="0"/><line nr="73" mi="0" ci="5" mb="0" cb="2"/><line nr="74" mi="0" ci="7" mb="0" cb="0"/><line nr="75" mi="0" ci="3" mb="0" cb="2"/><line nr="78" mi="0" ci="4" mb="0" cb="0"/><line nr="79" mi="0" ci="2" mb="0" cb="0"/><line nr="80" mi="0" ci="6" mb="0" cb="0"/><line nr="81" mi="0" ci="2" mb="0" cb="0"/><line nr="83" mi="0" ci="2" mb="0" cb="0"/><line nr="88" mi="0" ci="3" mb="0" cb="2"/><line nr="89" mi="0" ci="5" mb="0" cb="2"/><line nr="90" mi="0" ci="8" mb="0" cb="0"/><line nr="92" mi="0" ci="6" mb="0" cb="0"/><line nr="94" mi="0" ci="4" mb="0" cb="0"/><line nr="95" mi="0" ci="1" mb="0" cb="0"/><line nr="99" mi="0" ci="2" mb="0" cb="2"/><line nr="107" mi="0" ci="7" mb="0" cb="0"/><line nr="108" mi="0" ci="1" mb="0" cb="0"/><line nr="110" mi="0" ci="4" mb="0" cb="0"/><line nr="113" mi="0" ci="1" mb="0" cb="0"/><line nr="117" mi="0" ci="3" mb="0" cb="2"/><line nr="118" mi="0" ci="14" mb="0" cb="0"/><line nr="121" mi="0" ci="5" mb="0" cb="0"/><line nr="123" mi="0" ci="1" mb="0" cb="0"/><line nr="126" mi="0" ci="2" mb="0" cb="3"/><line nr="128" mi="0" ci="2" mb="0" cb="0"/><line nr="137" mi="0" ci="2" mb="0" cb="0"/><line nr="139" mi="0" ci="2" mb="0" cb="0"/><line nr="146" mi="0" ci="5" mb="0" cb="2"/><line nr="147" mi="0" ci="10" mb="0" cb="0"/><line nr="150" mi="0" ci="6" mb="0" cb="0"/><line nr="152" mi="0" ci="1" mb="0" cb="0"/><line nr="157" mi="0" ci="5" mb="0" cb="2"/><line nr="158" mi="0" ci="11" mb="0" cb="0"/><line nr="161" mi="0" ci="7" mb="0" cb="0"/><line nr="163" mi="0" ci="1" mb="0" cb="0"/><line nr="166" mi="0" ci="2" mb="0" cb="0"/><line nr="167" mi="0" ci="2" mb="0" cb="0"/><line nr="168" mi="0" ci="3" mb="0" cb="2"/><line nr="169" mi="0" ci="5" mb="0" cb="0"/><line nr="170" mi="0" ci="2" mb="0" cb="0"/><line nr="172" mi="0" ci="2" mb="0" cb="0"/><line nr="173" mi="0" ci="16" mb="0" cb="2"/><line nr="174" mi="0" ci="6" mb="0" cb="4"/><line nr="175" mi="0" ci="5" mb="0" cb="0"/><line nr="176" mi="0" ci="2" mb="0" cb="0"/><line nr="178" mi="0" ci="2" mb="0" cb="0"/><line nr="180" mi="0" ci="2" mb="0" cb="0"/><line nr="184" mi="0" ci="5" mb="0" cb="0"/><counter type="INSTRUCTION" missed="0" covered="236"/><counter type="BRANCH" missed="0" covered="27"/><counter type="LINE" missed="0" covered="57"/><counter type="COMPLEXITY" missed="0" covered="26"/><counter type="METHOD" missed="0" covered="12"/><counter type="CLASS" missed="0" covered="1"/></sourcefile><sourcefile name="MethodSanitizer.java"><line nr="37" mi="0" ci="9" mb="0" cb="0"/><line nr="39" mi="0" ci="1" mb="0" cb="0"/><line nr="48" mi="0" ci="6" mb="0" cb="4"/><line nr="49" mi="0" ci="8" mb="0" cb="0"/><line nr="51" mi="0" ci="1" mb="0" cb="0"/><line nr="58" mi="0" ci="3" mb="0" cb="2"/><line nr="59" mi="0" ci="4" mb="0" cb="0"/><line nr="61" mi="0" ci="1" mb="0" cb="0"/><counter type="INSTRUCTION" missed="0" covered="33"/><counter type="BRANCH" missed="0" covered="6"/><counter type="LINE" missed="0" covered="8"/><counter type="COMPLEXITY" missed="0" covered="6"/><counter type="METHOD" missed="0" covered="3"/><counter type="CLASS" missed="0" covered="1"/></sourcefile><sourcefile name="FrameSnapshot.java"><line nr="28" mi="0" ci="7" mb="0" cb="0"/><line nr="33" mi="0" ci="2" mb="0" cb="0"/><line nr="34" mi="0" ci="3" mb="0" cb="0"/><line nr="35" mi="0" ci="3" mb="0" cb="0"/><line nr="36" mi="0" ci="1" mb="0" cb="0"/><line nr="49" mi="0" ci="5" mb="0" cb="4"/><line nr="50" mi="0" ci="2" mb="0" cb="0"/><line nr="52" mi="0" ci="5" mb="0" cb="0"/><line nr="53" mi="0" ci="5" mb="0" cb="0"/><line nr="54" mi="0" ci="6" mb="0" cb="0"/><line nr="64" mi="0" ci="5" mb="0" cb="0"/><line nr="65" mi="0" ci="5" mb="0" cb="0"/><line nr="66" mi="0" ci="6" mb="0" cb="0"/><line nr="67" mi="0" ci="5" mb="0" cb="2"/><line nr="68" mi="0" ci="4" mb="0" cb="0"/><line nr="69" mi="0" ci="6" mb="0" cb="4"/><line nr="70" mi="0" ci="6" mb="0" cb="0"/><line nr="72" mi="0" ci="1" mb="0" cb="0"/><line nr="73" mi="0" ci="3" mb="0" cb="0"/><line nr="79" mi="0" ci="3" mb="0" cb="2"/><line nr="80" mi="0" ci="13" mb="0" cb="0"/><line nr="83" mi="0" ci="1" mb="0" cb="0"/><counter type="INSTRUCTION" missed="0" covered="97"/><counter type="BRANCH" missed="0" covered="12"/><counter type="LINE" missed="0" covered="22"/><counter type="COMPLEXITY" missed="0" covered="11"/><counter type="METHOD" missed="0" covered="5"/><counter type="CLASS" missed="0" covered="1"/></sourcefile><counter type="INSTRUCTION" missed="0" covered="980"/><counter type="BRANCH" missed="0" covered="107"/><counter type="LINE" missed="0" covered="275"/><counter type="COMPLEXITY" missed="0" covered="134"/><counter type="METHOD" missed="0" covered="80"/><counter type="CLASS" missed="0" covered="10"/></package><package name="org/jacoco/core/internal/instr"><class name="org/jacoco/core/internal/instr/CondyProbeArrayStrategy" sourcefilename="CondyProbeArrayStrategy.java"><method name="&lt;init&gt;" desc="(Ljava/lang/String;ZJLorg/jacoco/core/runtime/IExecutionDataAccessorGenerator;)V" line="44"><counter type="INSTRUCTION" missed="0" covered="15"/><counter type="LINE" missed="0" covered="6"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="storeInstance" desc="(Lorg/objectweb/asm/MethodVisitor;ZI)I" line="53"><counter type="INSTRUCTION" missed="0" covered="31"/><counter type="LINE" missed="0" covered="5"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="addMembers" desc="(Lorg/objectweb/asm/ClassVisitor;I)V" line="65"><counter type="INSTRUCTION" missed="0" covered="28"/><counter type="LINE" missed="0" covered="6"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><counter type="INSTRUCTION" missed="0" covered="74"/><counter type="LINE" missed="0" covered="17"/><counter type="COMPLEXITY" missed="0" covered="3"/><counter type="METHOD" missed="0" covered="3"/><counter type="CLASS" missed="0" covered="1"/></class><class name="org/jacoco/core/internal/instr/IProbeArrayStrategy" sourcefilename="IProbeArrayStrategy.java"/><class name="org/jacoco/core/internal/instr/NoneProbeArrayStrategy" sourcefilename="NoneProbeArrayStrategy.java"><method name="&lt;init&gt;" desc="()V" line="22"><counter type="INSTRUCTION" missed="0" covered="3"/><counter type="LINE" missed="0" covered="1"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="storeInstance" desc="(Lorg/objectweb/asm/MethodVisitor;ZI)I" line="26"><counter type="INSTRUCTION" missed="0" covered="4"/><counter type="LINE" missed="0" covered="1"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="addMembers" desc="(Lorg/objectweb/asm/ClassVisitor;I)V" line="31"><counter type="INSTRUCTION" missed="0" covered="1"/><counter type="LINE" missed="0" covered="1"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><counter type="INSTRUCTION" missed="0" covered="8"/><counter type="LINE" missed="0" covered="3"/><counter type="COMPLEXITY" missed="0" covered="3"/><counter type="METHOD" missed="0" covered="3"/><counter type="CLASS" missed="0" covered="1"/></class><class name="org/jacoco/core/internal/instr/IProbeInserter" sourcefilename="IProbeInserter.java"/><class name="org/jacoco/core/internal/instr/ProbeCounter" sourcefilename="ProbeCounter.java"><method name="&lt;init&gt;" desc="()V" line="27"><counter type="INSTRUCTION" missed="0" covered="9"/><counter type="LINE" missed="0" covered="4"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="visitMethod" desc="(ILjava/lang/String;Ljava/lang/String;Ljava/lang/String;[Ljava/lang/String;)Lorg/jacoco/core/internal/flow/MethodProbesVisitor;" line="36"><counter type="INSTRUCTION" missed="0" covered="13"/><counter type="BRANCH" missed="0" covered="4"/><counter type="LINE" missed="0" covered="3"/><counter type="COMPLEXITY" missed="0" covered="3"/><counter type="METHOD" missed="0" covered="1"/></method><method name="visitTotalProbeCount" desc="(I)V" line="45"><counter type="INSTRUCTION" missed="0" covered="4"/><counter type="LINE" missed="0" covered="2"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="getCount" desc="()I" line="49"><counter type="INSTRUCTION" missed="0" covered="3"/><counter type="LINE" missed="0" covered="1"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="hasMethods" desc="()Z" line="57"><counter type="INSTRUCTION" missed="0" covered="3"/><counter type="LINE" missed="0" covered="1"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><counter type="INSTRUCTION" missed="0" covered="32"/><counter type="BRANCH" missed="0" covered="4"/><counter type="LINE" missed="0" covered="11"/><counter type="COMPLEXITY" missed="0" covered="7"/><counter type="METHOD" missed="0" covered="5"/><counter type="CLASS" missed="0" covered="1"/></class><class name="org/jacoco/core/internal/instr/LocalProbeArrayStrategy" sourcefilename="LocalProbeArrayStrategy.java"><method name="&lt;init&gt;" desc="(Ljava/lang/String;JILorg/jacoco/core/runtime/IExecutionDataAccessorGenerator;)V" line="35"><counter type="INSTRUCTION" missed="0" covered="15"/><counter type="LINE" missed="0" covered="6"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="storeInstance" desc="(Lorg/objectweb/asm/MethodVisitor;ZI)I" line="44"><counter type="INSTRUCTION" missed="0" covered="17"/><counter type="LINE" missed="0" covered="3"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="addMembers" desc="(Lorg/objectweb/asm/ClassVisitor;I)V" line="52"><counter type="INSTRUCTION" missed="0" covered="1"/><counter type="LINE" missed="0" covered="1"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><counter type="INSTRUCTION" missed="0" covered="33"/><counter type="LINE" missed="0" covered="10"/><counter type="COMPLEXITY" missed="0" covered="3"/><counter type="METHOD" missed="0" covered="3"/><counter type="CLASS" missed="0" covered="1"/></class><class name="org/jacoco/core/internal/instr/ProbeArrayStrategyFactory" sourcefilename="ProbeArrayStrategyFactory.java"><method name="createFor" desc="(JLorg/objectweb/asm/ClassReader;Lorg/jacoco/core/runtime/IExecutionDataAccessorGenerator;)Lorg/jacoco/core/internal/instr/IProbeArrayStrategy;" line="46"><counter type="INSTRUCTION" missed="0" covered="77"/><counter type="BRANCH" missed="0" covered="14"/><counter type="LINE" missed="0" covered="14"/><counter type="COMPLEXITY" missed="0" covered="8"/><counter type="METHOD" missed="0" covered="1"/></method><method name="isInterfaceOrModule" desc="(Lorg/objectweb/asm/ClassReader;)Z" line="76"><counter type="INSTRUCTION" missed="0" covered="9"/><counter type="BRANCH" missed="0" covered="2"/><counter type="LINE" missed="0" covered="1"/><counter type="COMPLEXITY" missed="0" covered="2"/><counter type="METHOD" missed="0" covered="1"/></method><method name="getProbeCounter" desc="(Lorg/objectweb/asm/ClassReader;)Lorg/jacoco/core/internal/instr/ProbeCounter;" line="81"><counter type="INSTRUCTION" missed="0" covered="14"/><counter type="LINE" missed="0" covered="3"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><counter type="INSTRUCTION" missed="0" covered="100"/><counter type="BRANCH" missed="0" covered="16"/><counter type="LINE" missed="0" covered="18"/><counter type="COMPLEXITY" missed="0" covered="11"/><counter type="METHOD" missed="0" covered="3"/><counter type="CLASS" missed="0" covered="1"/></class><class name="org/jacoco/core/internal/instr/ProbeInserter" sourcefilename="ProbeInserter.java"><method name="&lt;init&gt;" desc="(ILjava/lang/String;Ljava/lang/String;Lorg/objectweb/asm/MethodVisitor;Lorg/jacoco/core/internal/instr/IProbeArrayStrategy;)V" line="70"><counter type="INSTRUCTION" missed="0" covered="53"/><counter type="BRANCH" missed="0" covered="4"/><counter type="LINE" missed="0" covered="9"/><counter type="COMPLEXITY" missed="0" covered="3"/><counter type="METHOD" missed="0" covered="1"/></method><method name="insertProbe" desc="(I)V" line="86"><counter type="INSTRUCTION" missed="0" covered="19"/><counter type="LINE" missed="0" covered="5"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="visitCode" desc="()V" line="106"><counter type="INSTRUCTION" missed="0" covered="20"/><counter type="LINE" missed="0" covered="4"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="visitVarInsn" desc="(II)V" line="113"><counter type="INSTRUCTION" missed="0" covered="8"/><counter type="LINE" missed="0" covered="2"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="visitIincInsn" desc="(II)V" line="118"><counter type="INSTRUCTION" missed="0" covered="8"/><counter type="LINE" missed="0" covered="2"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="visitLocalVariable" desc="(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Lorg/objectweb/asm/Label;Lorg/objectweb/asm/Label;I)V" line="125"><counter type="INSTRUCTION" missed="0" covered="29"/><counter type="BRANCH" missed="0" covered="2"/><counter type="LINE" missed="0" covered="4"/><counter type="COMPLEXITY" missed="0" covered="2"/><counter type="METHOD" missed="0" covered="1"/></method><method name="visitLocalVariableAnnotation" desc="(ILorg/objectweb/asm/TypePath;[Lorg/objectweb/asm/Label;[Lorg/objectweb/asm/Label;[ILjava/lang/String;Z)Lorg/objectweb/asm/AnnotationVisitor;" line="139"><counter type="INSTRUCTION" missed="0" covered="31"/><counter type="BRANCH" missed="0" covered="2"/><counter type="LINE" missed="0" covered="4"/><counter type="COMPLEXITY" missed="0" covered="2"/><counter type="METHOD" missed="0" covered="1"/></method><method name="visitMaxs" desc="(II)V" line="153"><counter type="INSTRUCTION" missed="0" covered="15"/><counter type="LINE" missed="0" covered="3"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="map" desc="(I)I" line="158"><counter type="INSTRUCTION" missed="0" covered="12"/><counter type="BRANCH" missed="0" covered="2"/><counter type="LINE" missed="0" covered="3"/><counter type="COMPLEXITY" missed="0" covered="2"/><counter type="METHOD" missed="0" covered="1"/></method><method name="visitFrame" desc="(II[Ljava/lang/Object;I[Ljava/lang/Object;)V" line="169"><counter type="INSTRUCTION" missed="0" covered="111"/><counter type="BRANCH" missed="0" covered="20"/><counter type="LINE" missed="0" covered="22"/><counter type="COMPLEXITY" missed="0" covered="11"/><counter type="METHOD" missed="0" covered="1"/></method><counter type="INSTRUCTION" missed="0" covered="306"/><counter type="BRANCH" missed="0" covered="30"/><counter type="LINE" missed="0" covered="58"/><counter type="COMPLEXITY" missed="0" covered="25"/><counter type="METHOD" missed="0" covered="10"/><counter type="CLASS" missed="0" covered="1"/></class><class name="org/jacoco/core/internal/instr/InterfaceFieldProbeArrayStrategy" sourcefilename="InterfaceFieldProbeArrayStrategy.java"><method name="&lt;init&gt;" desc="(Ljava/lang/String;JILorg/jacoco/core/runtime/IExecutionDataAccessorGenerator;)V" line="44"><counter type="INSTRUCTION" missed="0" covered="18"/><counter type="LINE" missed="0" covered="7"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="storeInstance" desc="(Lorg/objectweb/asm/MethodVisitor;ZI)I" line="57"><counter type="INSTRUCTION" missed="0" covered="48"/><counter type="BRANCH" missed="0" covered="2"/><counter type="LINE" missed="0" covered="10"/><counter type="COMPLEXITY" missed="0" covered="2"/><counter type="METHOD" missed="0" covered="1"/></method><method name="addMembers" desc="(Lorg/objectweb/asm/ClassVisitor;I)V" line="87"><counter type="INSTRUCTION" missed="0" covered="15"/><counter type="BRANCH" missed="1" covered="1"/><counter type="LINE" missed="0" covered="5"/><counter type="COMPLEXITY" missed="1" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="createDataField" desc="(Lorg/objectweb/asm/ClassVisitor;)V" line="95"><counter type="INSTRUCTION" missed="0" covered="9"/><counter type="LINE" missed="0" covered="2"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="createInitMethod" desc="(Lorg/objectweb/asm/ClassVisitor;I)V" line="101"><counter type="INSTRUCTION" missed="0" covered="63"/><counter type="LINE" missed="0" covered="14"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="createClinitMethod" desc="(Lorg/objectweb/asm/ClassVisitor;I)V" line="138"><counter type="INSTRUCTION" missed="0" covered="37"/><counter type="LINE" missed="0" covered="8"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="&lt;clinit&gt;" desc="()V" line="31"><counter type="INSTRUCTION" missed="0" covered="11"/><counter type="LINE" missed="0" covered="2"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><counter type="INSTRUCTION" missed="0" covered="201"/><counter type="BRANCH" missed="1" covered="3"/><counter type="LINE" missed="0" covered="48"/><counter type="COMPLEXITY" missed="1" covered="8"/><counter type="METHOD" missed="0" covered="7"/><counter type="CLASS" missed="0" covered="1"/></class><class name="org/jacoco/core/internal/instr/InstrSupport" sourcefilename="InstrSupport.java"><method name="getMajorVersion" desc="([B)I" line="176"><counter type="INSTRUCTION" missed="0" covered="14"/><counter type="LINE" missed="0" covered="1"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="setMajorVersion" desc="(I[B)V" line="190"><counter type="INSTRUCTION" missed="0" covered="13"/><counter type="LINE" missed="0" covered="3"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="getMajorVersion" desc="(Lorg/objectweb/asm/ClassReader;)I" line="206"><counter type="INSTRUCTION" missed="0" covered="12"/><counter type="LINE" missed="0" covered="2"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="needsFrames" desc="(I)Z" line="219"><counter type="INSTRUCTION" missed="0" covered="9"/><counter type="BRANCH" missed="0" covered="2"/><counter type="LINE" missed="0" covered="1"/><counter type="COMPLEXITY" missed="0" covered="2"/><counter type="METHOD" missed="0" covered="1"/></method><method name="assertNotInstrumented" desc="(Ljava/lang/String;Ljava/lang/String;)V" line="237"><counter type="INSTRUCTION" missed="0" covered="21"/><counter type="BRANCH" missed="0" covered="4"/><counter type="LINE" missed="0" covered="3"/><counter type="COMPLEXITY" missed="0" covered="3"/><counter type="METHOD" missed="0" covered="1"/></method><method name="push" desc="(Lorg/objectweb/asm/MethodVisitor;I)V" line="255"><counter type="INSTRUCTION" missed="0" covered="39"/><counter type="BRANCH" missed="0" covered="12"/><counter type="LINE" missed="0" covered="8"/><counter type="COMPLEXITY" missed="0" covered="7"/><counter type="METHOD" missed="0" covered="1"/></method><method name="classReaderFor" desc="([B)Lorg/objectweb/asm/ClassReader;" line="275"><counter type="INSTRUCTION" missed="0" covered="19"/><counter type="BRANCH" missed="0" covered="2"/><counter type="LINE" missed="0" covered="6"/><counter type="COMPLEXITY" missed="0" covered="2"/><counter type="METHOD" missed="0" covered="1"/></method><counter type="INSTRUCTION" missed="0" covered="127"/><counter type="BRANCH" missed="0" covered="20"/><counter type="LINE" missed="0" covered="24"/><counter type="COMPLEXITY" missed="0" covered="17"/><counter type="METHOD" missed="0" covered="7"/><counter type="CLASS" missed="0" covered="1"/></class><class name="org/jacoco/core/internal/instr/ClassInstrumenter" sourcefilename="ClassInstrumenter.java"><method name="&lt;init&gt;" desc="(Lorg/jacoco/core/internal/instr/IProbeArrayStrategy;Lorg/objectweb/asm/ClassVisitor;)V" line="41"><counter type="INSTRUCTION" missed="0" covered="7"/><counter type="LINE" missed="0" covered="3"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="visit" desc="(IILjava/lang/String;Ljava/lang/String;Ljava/lang/String;[Ljava/lang/String;)V" line="49"><counter type="INSTRUCTION" missed="0" covered="12"/><counter type="LINE" missed="0" covered="3"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="visitField" desc="(ILjava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/Object;)Lorg/objectweb/asm/FieldVisitor;" line="56"><counter type="INSTRUCTION" missed="0" covered="12"/><counter type="LINE" missed="0" covered="2"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="visitMethod" desc="(ILjava/lang/String;Ljava/lang/String;Ljava/lang/String;[Ljava/lang/String;)Lorg/jacoco/core/internal/flow/MethodProbesVisitor;" line="65"><counter type="INSTRUCTION" missed="0" covered="38"/><counter type="BRANCH" missed="0" covered="2"/><counter type="LINE" missed="0" covered="7"/><counter type="COMPLEXITY" missed="0" covered="2"/><counter type="METHOD" missed="0" covered="1"/></method><method name="visitTotalProbeCount" desc="(I)V" line="82"><counter type="INSTRUCTION" missed="0" covered="7"/><counter type="LINE" missed="0" covered="2"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><counter type="INSTRUCTION" missed="0" covered="76"/><counter type="BRANCH" missed="0" covered="2"/><counter type="LINE" missed="0" covered="17"/><counter type="COMPLEXITY" missed="0" covered="6"/><counter type="METHOD" missed="0" covered="5"/><counter type="CLASS" missed="0" covered="1"/></class><class name="org/jacoco/core/internal/instr/MethodInstrumenter" sourcefilename="MethodInstrumenter.java"><method name="&lt;init&gt;" desc="(Lorg/objectweb/asm/MethodVisitor;Lorg/jacoco/core/internal/instr/IProbeInserter;)V" line="40"><counter type="INSTRUCTION" missed="0" covered="7"/><counter type="LINE" missed="0" covered="3"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="visitProbe" desc="(I)V" line="48"><counter type="INSTRUCTION" missed="0" covered="5"/><counter type="LINE" missed="0" covered="2"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="visitInsnWithProbe" desc="(II)V" line="53"><counter type="INSTRUCTION" missed="0" covered="9"/><counter type="LINE" missed="0" covered="3"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="visitJumpInsnWithProbe" desc="(ILorg/objectweb/asm/Label;ILorg/jacoco/core/internal/flow/IFrame;)V" line="60"><counter type="INSTRUCTION" missed="0" covered="42"/><counter type="BRANCH" missed="0" covered="2"/><counter type="LINE" missed="0" covered="10"/><counter type="COMPLEXITY" missed="0" covered="2"/><counter type="METHOD" missed="0" covered="1"/></method><method name="getInverted" desc="(I)I" line="74"><counter type="INSTRUCTION" missed="0" covered="38"/><counter type="BRANCH" missed="0" covered="17"/><counter type="LINE" missed="0" covered="18"/><counter type="COMPLEXITY" missed="0" covered="17"/><counter type="METHOD" missed="0" covered="1"/></method><method name="visitTableSwitchInsnWithProbes" desc="(IILorg/objectweb/asm/Label;[Lorg/objectweb/asm/Label;Lorg/jacoco/core/internal/flow/IFrame;)V" line="115"><counter type="INSTRUCTION" missed="0" covered="25"/><counter type="LINE" missed="0" covered="7"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="visitLookupSwitchInsnWithProbes" desc="(Lorg/objectweb/asm/Label;[I[Lorg/objectweb/asm/Label;Lorg/jacoco/core/internal/flow/IFrame;)V" line="129"><counter type="INSTRUCTION" missed="0" covered="24"/><counter type="LINE" missed="0" covered="7"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="createIntermediates" desc="([Lorg/objectweb/asm/Label;)[Lorg/objectweb/asm/Label;" line="140"><counter type="INSTRUCTION" missed="0" covered="22"/><counter type="BRANCH" missed="0" covered="2"/><counter type="LINE" missed="0" covered="4"/><counter type="COMPLEXITY" missed="0" covered="2"/><counter type="METHOD" missed="0" covered="1"/></method><method name="createIntermediate" desc="(Lorg/objectweb/asm/Label;)Lorg/objectweb/asm/Label;" line="149"><counter type="INSTRUCTION" missed="0" covered="25"/><counter type="BRANCH" missed="0" covered="4"/><counter type="LINE" missed="0" covered="8"/><counter type="COMPLEXITY" missed="0" covered="3"/><counter type="METHOD" missed="0" covered="1"/></method><method name="insertIntermediateProbe" desc="(Lorg/objectweb/asm/Label;Lorg/jacoco/core/internal/flow/IFrame;)V" line="165"><counter type="INSTRUCTION" missed="0" covered="30"/><counter type="BRANCH" missed="0" covered="4"/><counter type="LINE" missed="0" covered="8"/><counter type="COMPLEXITY" missed="0" covered="3"/><counter type="METHOD" missed="0" covered="1"/></method><method name="insertIntermediateProbes" desc="(Lorg/objectweb/asm/Label;[Lorg/objectweb/asm/Label;Lorg/jacoco/core/internal/flow/IFrame;)V" line="177"><counter type="INSTRUCTION" missed="0" covered="29"/><counter type="BRANCH" missed="0" covered="2"/><counter type="LINE" missed="0" covered="6"/><counter type="COMPLEXITY" missed="0" covered="2"/><counter type="METHOD" missed="0" covered="1"/></method><counter type="INSTRUCTION" missed="0" covered="256"/><counter type="BRANCH" missed="0" covered="31"/><counter type="LINE" missed="0" covered="76"/><counter type="COMPLEXITY" missed="0" covered="34"/><counter type="METHOD" missed="0" covered="11"/><counter type="CLASS" missed="0" covered="1"/></class><class name="org/jacoco/core/internal/instr/SignatureRemover" sourcefilename="SignatureRemover.java"><method name="&lt;init&gt;" desc="()V" line="44"><counter type="INSTRUCTION" missed="0" covered="6"/><counter type="LINE" missed="0" covered="3"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="setActive" desc="(Z)V" line="57"><counter type="INSTRUCTION" missed="0" covered="4"/><counter type="LINE" missed="0" covered="2"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="removeEntry" desc="(Ljava/lang/String;)Z" line="68"><counter type="INSTRUCTION" missed="0" covered="12"/><counter type="BRANCH" missed="0" covered="4"/><counter type="LINE" missed="0" covered="1"/><counter type="COMPLEXITY" missed="0" covered="3"/><counter type="METHOD" missed="0" covered="1"/></method><method name="filterEntry" desc="(Ljava/lang/String;Ljava/io/InputStream;Ljava/io/OutputStream;)Z" line="86"><counter type="INSTRUCTION" missed="0" covered="24"/><counter type="BRANCH" missed="0" covered="4"/><counter type="LINE" missed="0" covered="6"/><counter type="COMPLEXITY" missed="0" covered="3"/><counter type="METHOD" missed="0" covered="1"/></method><method name="filterManifestEntry" desc="(Ljava/util/Collection;)V" line="96"><counter type="INSTRUCTION" missed="0" covered="20"/><counter type="BRANCH" missed="0" covered="4"/><counter type="LINE" missed="0" covered="7"/><counter type="COMPLEXITY" missed="0" covered="3"/><counter type="METHOD" missed="0" covered="1"/></method><method name="filterManifestEntryAttributes" desc="(Ljava/util/jar/Attributes;)V" line="106"><counter type="INSTRUCTION" missed="0" covered="17"/><counter type="BRANCH" missed="0" covered="4"/><counter type="LINE" missed="0" covered="5"/><counter type="COMPLEXITY" missed="0" covered="3"/><counter type="METHOD" missed="0" covered="1"/></method><method name="&lt;clinit&gt;" desc="()V" line="29"><counter type="INSTRUCTION" missed="0" covered="4"/><counter type="LINE" missed="0" covered="1"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><counter type="INSTRUCTION" missed="0" covered="87"/><counter type="BRANCH" missed="0" covered="16"/><counter type="LINE" missed="0" covered="25"/><counter type="COMPLEXITY" missed="0" covered="15"/><counter type="METHOD" missed="0" covered="7"/><counter type="CLASS" missed="0" covered="1"/></class><class name="org/jacoco/core/internal/instr/DuplicateFrameEliminator" sourcefilename="DuplicateFrameEliminator.java"><method name="&lt;init&gt;" desc="(Lorg/objectweb/asm/MethodVisitor;)V" line="30"><counter type="INSTRUCTION" missed="0" covered="8"/><counter type="LINE" missed="0" covered="3"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="visitFrame" desc="(II[Ljava/lang/Object;I[Ljava/lang/Object;)V" line="37"><counter type="INSTRUCTION" missed="0" covered="15"/><counter type="BRANCH" missed="0" covered="2"/><counter type="LINE" missed="0" covered="4"/><counter type="COMPLEXITY" missed="0" covered="2"/><counter type="METHOD" missed="0" covered="1"/></method><method name="visitInsn" desc="(I)V" line="45"><counter type="INSTRUCTION" missed="0" covered="8"/><counter type="LINE" missed="0" covered="3"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="visitIntInsn" desc="(II)V" line="51"><counter type="INSTRUCTION" missed="0" covered="9"/><counter type="LINE" missed="0" covered="3"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="visitVarInsn" desc="(II)V" line="57"><counter type="INSTRUCTION" missed="0" covered="9"/><counter type="LINE" missed="0" covered="3"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="visitTypeInsn" desc="(ILjava/lang/String;)V" line="63"><counter type="INSTRUCTION" missed="0" covered="9"/><counter type="LINE" missed="0" covered="3"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="visitFieldInsn" desc="(ILjava/lang/String;Ljava/lang/String;Ljava/lang/String;)V" line="70"><counter type="INSTRUCTION" missed="0" covered="11"/><counter type="LINE" missed="0" covered="3"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="visitMethodInsn" desc="(ILjava/lang/String;Ljava/lang/String;Ljava/lang/String;Z)V" line="77"><counter type="INSTRUCTION" missed="0" covered="12"/><counter type="LINE" missed="0" covered="3"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="visitInvokeDynamicInsn" desc="(Ljava/lang/String;Ljava/lang/String;Lorg/objectweb/asm/Handle;[Ljava/lang/Object;)V" line="84"><counter type="INSTRUCTION" missed="0" covered="11"/><counter type="LINE" missed="0" covered="3"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="visitJumpInsn" desc="(ILorg/objectweb/asm/Label;)V" line="90"><counter type="INSTRUCTION" missed="0" covered="9"/><counter type="LINE" missed="0" covered="3"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="visitLdcInsn" desc="(Ljava/lang/Object;)V" line="96"><counter type="INSTRUCTION" missed="0" covered="8"/><counter type="LINE" missed="0" covered="3"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="visitIincInsn" desc="(II)V" line="102"><counter type="INSTRUCTION" missed="0" covered="9"/><counter type="LINE" missed="0" covered="3"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="visitTableSwitchInsn" desc="(IILorg/objectweb/asm/Label;[Lorg/objectweb/asm/Label;)V" line="109"><counter type="INSTRUCTION" missed="0" covered="11"/><counter type="LINE" missed="0" covered="3"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="visitLookupSwitchInsn" desc="(Lorg/objectweb/asm/Label;[I[Lorg/objectweb/asm/Label;)V" line="116"><counter type="INSTRUCTION" missed="0" covered="10"/><counter type="LINE" missed="0" covered="3"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="visitMultiANewArrayInsn" desc="(Ljava/lang/String;I)V" line="122"><counter type="INSTRUCTION" missed="0" covered="9"/><counter type="LINE" missed="0" covered="3"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><counter type="INSTRUCTION" missed="0" covered="148"/><counter type="BRANCH" missed="0" covered="2"/><counter type="LINE" missed="0" covered="46"/><counter type="COMPLEXITY" missed="0" covered="16"/><counter type="METHOD" missed="0" covered="15"/><counter type="CLASS" missed="0" covered="1"/></class><class name="org/jacoco/core/internal/instr/ClassFieldProbeArrayStrategy" sourcefilename="ClassFieldProbeArrayStrategy.java"><method name="&lt;init&gt;" desc="(Ljava/lang/String;JZLorg/jacoco/core/runtime/IExecutionDataAccessorGenerator;)V" line="46"><counter type="INSTRUCTION" missed="0" covered="15"/><counter type="LINE" missed="0" covered="6"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="storeInstance" desc="(Lorg/objectweb/asm/MethodVisitor;ZI)I" line="55"><counter type="INSTRUCTION" missed="0" covered="14"/><counter type="LINE" missed="0" covered="3"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="addMembers" desc="(Lorg/objectweb/asm/ClassVisitor;I)V" line="63"><counter type="INSTRUCTION" missed="0" covered="8"/><counter type="LINE" missed="0" covered="3"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="createDataField" desc="(Lorg/objectweb/asm/ClassVisitor;)V" line="68"><counter type="INSTRUCTION" missed="0" covered="9"/><counter type="LINE" missed="0" covered="2"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="createInitMethod" desc="(Lorg/objectweb/asm/ClassVisitor;I)V" line="73"><counter type="INSTRUCTION" missed="0" covered="61"/><counter type="BRANCH" missed="0" covered="2"/><counter type="LINE" missed="0" covered="15"/><counter type="COMPLEXITY" missed="0" covered="2"/><counter type="METHOD" missed="0" covered="1"/></method><method name="genInitializeDataField" desc="(Lorg/objectweb/asm/MethodVisitor;I)I" line="120"><counter type="INSTRUCTION" missed="0" covered="24"/><counter type="LINE" missed="0" covered="4"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="&lt;clinit&gt;" desc="()V" line="31"><counter type="INSTRUCTION" missed="0" covered="11"/><counter type="LINE" missed="0" covered="2"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><counter type="INSTRUCTION" missed="0" covered="142"/><counter type="BRANCH" missed="0" covered="2"/><counter type="LINE" missed="0" covered="35"/><counter type="COMPLEXITY" missed="0" covered="8"/><counter type="METHOD" missed="0" covered="7"/><counter type="CLASS" missed="0" covered="1"/></class><sourcefile name="DuplicateFrameEliminator.java"><line nr="30" mi="0" ci="4" mb="0" cb="0"/><line nr="31" mi="0" ci="3" mb="0" cb="0"/><line nr="32" mi="0" ci="1" mb="0" cb="0"/><line nr="37" mi="0" ci="3" mb="0" cb="2"/><line nr="38" mi="0" ci="3" mb="0" cb="0"/><line nr="39" mi="0" ci="8" mb="0" cb="0"/><line nr="41" mi="0" ci="1" mb="0" cb="0"/><line nr="45" mi="0" ci="3" mb="0" cb="0"/><line nr="46" mi="0" ci="4" mb="0" cb="0"/><line nr="47" mi="0" ci="1" mb="0" cb="0"/><line nr="51" mi="0" ci="3" mb="0" cb="0"/><line nr="52" mi="0" ci="5" mb="0" cb="0"/><line nr="53" mi="0" ci="1" mb="0" cb="0"/><line nr="57" mi="0" ci="3" mb="0" cb="0"/><line nr="58" mi="0" ci="5" mb="0" cb="0"/><line nr="59" mi="0" ci="1" mb="0" cb="0"/><line nr="63" mi="0" ci="3" mb="0" cb="0"/><line nr="64" mi="0" ci="5" mb="0" cb="0"/><line nr="65" mi="0" ci="1" mb="0" cb="0"/><line nr="70" mi="0" ci="3" mb="0" cb="0"/><line nr="71" mi="0" ci="7" mb="0" cb="0"/><line nr="72" mi="0" ci="1" mb="0" cb="0"/><line nr="77" mi="0" ci="3" mb="0" cb="0"/><line nr="78" mi="0" ci="8" mb="0" cb="0"/><line nr="79" mi="0" ci="1" mb="0" cb="0"/><line nr="84" mi="0" ci="3" mb="0" cb="0"/><line nr="85" mi="0" ci="7" mb="0" cb="0"/><line nr="86" mi="0" ci="1" mb="0" cb="0"/><line nr="90" mi="0" ci="3" mb="0" cb="0"/><line nr="91" mi="0" ci="5" mb="0" cb="0"/><line nr="92" mi="0" ci="1" mb="0" cb="0"/><line nr="96" mi="0" ci="3" mb="0" cb="0"/><line nr="97" mi="0" ci="4" mb="0" cb="0"/><line nr="98" mi="0" ci="1" mb="0" cb="0"/><line nr="102" mi="0" ci="3" mb="0" cb="0"/><line nr="103" mi="0" ci="5" mb="0" cb="0"/><line nr="104" mi="0" ci="1" mb="0" cb="0"/><line nr="109" mi="0" ci="3" mb="0" cb="0"/><line nr="110" mi="0" ci="7" mb="0" cb="0"/><line nr="111" mi="0" ci="1" mb="0" cb="0"/><line nr="116" mi="0" ci="3" mb="0" cb="0"/><line nr="117" mi="0" ci="6" mb="0" cb="0"/><line nr="118" mi="0" ci="1" mb="0" cb="0"/><line nr="122" mi="0" ci="3" mb="0" cb="0"/><line nr="123" mi="0" ci="5" mb="0" cb="0"/><line nr="124" mi="0" ci="1" mb="0" cb="0"/><counter type="INSTRUCTION" missed="0" covered="148"/><counter type="BRANCH" missed="0" covered="2"/><counter type="LINE" missed="0" covered="46"/><counter type="COMPLEXITY" missed="0" covered="16"/><counter type="METHOD" missed="0" covered="15"/><counter type="CLASS" missed="0" covered="1"/></sourcefile><sourcefile name="ClassInstrumenter.java"><line nr="41" mi="0" ci="3" mb="0" cb="0"/><line nr="42" mi="0" ci="3" mb="0" cb="0"/><line nr="43" mi="0" ci="1" mb="0" cb="0"/><line nr="49" mi="0" ci="3" mb="0" cb="0"/><line nr="50" mi="0" ci="8" mb="0" cb="0"/><line nr="51" mi="0" ci="1" mb="0" cb="0"/><line nr="56" mi="0" ci="4" mb="0" cb="0"/><line nr="57" mi="0" ci="8" mb="0" cb="0"/><line nr="65" mi="0" ci="4" mb="0" cb="0"/><line nr="67" mi="0" ci="9" mb="0" cb="0"/><line nr="70" mi="0" ci="2" mb="0" cb="2"/><line nr="71" mi="0" ci="2" mb="0" cb="0"/><line nr="73" mi="0" ci="5" mb="0" cb="0"/><line nr="74" mi="0" ci="10" mb="0" cb="0"/><line nr="76" mi="0" ci="6" mb="0" cb="0"/><line nr="82" mi="0" ci="6" mb="0" cb="0"/><line nr="83" mi="0" ci="1" mb="0" cb="0"/><counter type="INSTRUCTION" missed="0" covered="76"/><counter type="BRANCH" missed="0" covered="2"/><counter type="LINE" missed="0" covered="17"/><counter type="COMPLEXITY" missed="0" covered="6"/><counter type="METHOD" missed="0" covered="5"/><counter type="CLASS" missed="0" covered="1"/></sourcefile><sourcefile name="ProbeArrayStrategyFactory.java"><line nr="46" mi="0" ci="3" mb="0" cb="0"/><line nr="47" mi="0" ci="3" mb="0" cb="0"/><line nr="49" mi="0" ci="3" mb="0" cb="2"/><line nr="50" mi="0" ci="3" mb="0" cb="0"/><line nr="51" mi="0" ci="3" mb="0" cb="2"/><line nr="52" mi="0" ci="4" mb="0" cb="0"/><line nr="54" mi="0" ci="6" mb="0" cb="4"/><line nr="55" mi="0" ci="8" mb="0" cb="0"/><line nr="58" mi="0" ci="6" mb="0" cb="4"/><line nr="59" mi="0" ci="9" mb="0" cb="0"/><line nr="62" mi="0" ci="9" mb="0" cb="0"/><line nr="66" mi="0" ci="3" mb="0" cb="2"/><line nr="67" mi="0" ci="8" mb="0" cb="0"/><line nr="70" mi="0" ci="9" mb="0" cb="0"/><line nr="76" mi="0" ci="9" mb="0" cb="2"/><line nr="81" mi="0" ci="4" mb="0" cb="0"/><line nr="82" mi="0" ci="8" mb="0" cb="0"/><line nr="83" mi="0" ci="2" mb="0" cb="0"/><counter type="INSTRUCTION" missed="0" covered="100"/><counter type="BRANCH" missed="0" covered="16"/><counter type="LINE" missed="0" covered="18"/><counter type="COMPLEXITY" missed="0" covered="11"/><counter type="METHOD" missed="0" covered="3"/><counter type="CLASS" missed="0" covered="1"/></sourcefile><sourcefile name="NoneProbeArrayStrategy.java"><line nr="22" mi="0" ci="3" mb="0" cb="0"/><line nr="26" mi="0" ci="4" mb="0" cb="0"/><line nr="31" mi="0" ci="1" mb="0" cb="0"/><counter type="INSTRUCTION" missed="0" covered="8"/><counter type="LINE" missed="0" covered="3"/><counter type="COMPLEXITY" missed="0" covered="3"/><counter type="METHOD" missed="0" covered="3"/><counter type="CLASS" missed="0" covered="1"/></sourcefile><sourcefile name="LocalProbeArrayStrategy.java"><line nr="35" mi="0" ci="2" mb="0" cb="0"/><line nr="36" mi="0" ci="3" mb="0" cb="0"/><line nr="37" mi="0" ci="3" mb="0" cb="0"/><line nr="38" mi="0" ci="3" mb="0" cb="0"/><line nr="39" mi="0" ci="3" mb="0" cb="0"/><line nr="40" mi="0" ci="1" mb="0" cb="0"/><line nr="44" mi="0" ci="11" mb="0" cb="0"/><line nr="46" mi="0" ci="4" mb="0" cb="0"/><line nr="47" mi="0" ci="2" mb="0" cb="0"/><line nr="52" mi="0" ci="1" mb="0" cb="0"/><counter type="INSTRUCTION" missed="0" covered="33"/><counter type="LINE" missed="0" covered="10"/><counter type="COMPLEXITY" missed="0" covered="3"/><counter type="METHOD" missed="0" covered="3"/><counter type="CLASS" missed="0" covered="1"/></sourcefile><sourcefile name="IProbeInserter.java"/><sourcefile name="IProbeArrayStrategy.java"/><sourcefile name="InstrSupport.java"><line nr="176" mi="0" ci="14" mb="0" cb="0"/><line nr="190" mi="0" ci="7" mb="0" cb="0"/><line nr="191" mi="0" ci="5" mb="0" cb="0"/><line nr="192" mi="0" ci="1" mb="0" cb="0"/><line nr="206" mi="0" ci="6" mb="0" cb="0"/><line nr="207" mi="0" ci="6" mb="0" cb="0"/><line nr="219" mi="0" ci="9" mb="0" cb="2"/><line nr="237" mi="0" ci="8" mb="0" cb="4"/><line nr="238" mi="0" ci="12" mb="0" cb="0"/><line nr="242" mi="0" ci="1" mb="0" cb="0"/><line nr="255" mi="0" ci="6" mb="0" cb="4"/><line nr="256" mi="0" ci="6" mb="0" cb="0"/><line nr="257" mi="0" ci="6" mb="0" cb="4"/><line nr="258" mi="0" ci="5" mb="0" cb="0"/><line nr="259" mi="0" ci="6" mb="0" cb="4"/><line nr="260" mi="0" ci="5" mb="0" cb="0"/><line nr="262" mi="0" ci="4" mb="0" cb="0"/><line nr="264" mi="0" ci="1" mb="0" cb="0"/><line nr="275" mi="0" ci="3" mb="0" cb="0"/><line nr="276" mi="0" ci="3" mb="0" cb="2"/><line nr="278" mi="0" ci="3" mb="0" cb="0"/><line nr="280" mi="0" ci="5" mb="0" cb="0"/><line nr="281" mi="0" ci="3" mb="0" cb="0"/><line nr="282" mi="0" ci="2" mb="0" cb="0"/><counter type="INSTRUCTION" missed="0" covered="127"/><counter type="BRANCH" missed="0" covered="20"/><counter type="LINE" missed="0" covered="24"/><counter type="COMPLEXITY" missed="0" covered="17"/><counter type="METHOD" missed="0" covered="7"/><counter type="CLASS" missed="0" covered="1"/></sourcefile><sourcefile name="ClassFieldProbeArrayStrategy.java"><line nr="31" mi="0" ci="7" mb="0" cb="0"/><line nr="37" mi="0" ci="4" mb="0" cb="0"/><line nr="46" mi="0" ci="2" mb="0" cb="0"/><line nr="47" mi="0" ci="3" mb="0" cb="0"/><line nr="48" mi="0" ci="3" mb="0" cb="0"/><line nr="49" mi="0" ci="3" mb="0" cb="0"/><line nr="50" mi="0" ci="3" mb="0" cb="0"/><line nr="51" mi="0" ci="1" mb="0" cb="0"/><line nr="55" mi="0" ci="8" mb="0" cb="0"/><line nr="58" mi="0" ci="4" mb="0" cb="0"/><line nr="59" mi="0" ci="2" mb="0" cb="0"/><line nr="63" mi="0" ci="3" mb="0" cb="0"/><line nr="64" mi="0" ci="4" mb="0" cb="0"/><line nr="65" mi="0" ci="1" mb="0" cb="0"/><line nr="68" mi="0" ci="8" mb="0" cb="0"/><line nr="70" mi="0" ci="1" mb="0" cb="0"/><line nr="73" mi="0" ci="8" mb="0" cb="0"/><line nr="76" mi="0" ci="2" mb="0" cb="0"/><line nr="79" mi="0" ci="7" mb="0" cb="0"/><line nr="81" mi="0" ci="3" mb="0" cb="0"/><line nr="87" mi="0" ci="4" mb="0" cb="0"/><line nr="88" mi="0" ci="4" mb="0" cb="0"/><line nr="92" mi="0" ci="3" mb="0" cb="0"/><line nr="93" mi="0" ci="5" mb="0" cb="0"/><line nr="98" mi="0" ci="3" mb="0" cb="2"/><line nr="99" mi="0" ci="7" mb="0" cb="0"/><line nr="102" mi="0" ci="3" mb="0" cb="0"/><line nr="103" mi="0" ci="3" mb="0" cb="0"/><line nr="105" mi="0" ci="6" mb="0" cb="0"/><line nr="106" mi="0" ci="2" mb="0" cb="0"/><line nr="107" mi="0" ci="1" mb="0" cb="0"/><line nr="120" mi="0" ci="10" mb="0" cb="0"/><line nr="125" mi="0" ci="3" mb="0" cb="0"/><line nr="130" mi="0" ci="7" mb="0" cb="0"/><line nr="135" mi="0" ci="4" mb="0" cb="0"/><counter type="INSTRUCTION" missed="0" covered="142"/><counter type="BRANCH" missed="0" covered="2"/><counter type="LINE" missed="0" covered="35"/><counter type="COMPLEXITY" missed="0" covered="8"/><counter type="METHOD" missed="0" covered="7"/><counter type="CLASS" missed="0" covered="1"/></sourcefile><sourcefile name="SignatureRemover.java"><line nr="29" mi="0" ci="4" mb="0" cb="0"/><line nr="44" mi="0" ci="2" mb="0" cb="0"/><line nr="45" mi="0" ci="3" mb="0" cb="0"/><line nr="46" mi="0" ci="1" mb="0" cb="0"/><line nr="57" mi="0" ci="3" mb="0" cb="0"/><line nr="58" mi="0" ci="1" mb="0" cb="0"/><line nr="68" mi="0" ci="12" mb="0" cb="4"/><line nr="86" mi="0" ci="7" mb="0" cb="4"/><line nr="87" mi="0" ci="2" mb="0" cb="0"/><line nr="89" mi="0" ci="5" mb="0" cb="0"/><line nr="90" mi="0" ci="5" mb="0" cb="0"/><line nr="91" mi="0" ci="3" mb="0" cb="0"/><line nr="92" mi="0" ci="2" mb="0" cb="0"/><line nr="96" mi="0" ci="6" mb="0" cb="2"/><line nr="97" mi="0" ci="4" mb="0" cb="0"/><line nr="98" mi="0" ci="3" mb="0" cb="0"/><line nr="99" mi="0" ci="3" mb="0" cb="2"/><line nr="100" mi="0" ci="2" mb="0" cb="0"/><line nr="102" mi="0" ci="1" mb="0" cb="0"/><line nr="103" mi="0" ci="1" mb="0" cb="0"/><line nr="106" mi="0" ci="4" mb="0" cb="0"/><line nr="107" mi="0" ci="3" mb="0" cb="2"/><line nr="108" mi="0" ci="6" mb="0" cb="2"/><line nr="109" mi="0" ci="3" mb="0" cb="0"/><line nr="112" mi="0" ci="1" mb="0" cb="0"/><counter type="INSTRUCTION" missed="0" covered="87"/><counter type="BRANCH" missed="0" covered="16"/><counter type="LINE" missed="0" covered="25"/><counter type="COMPLEXITY" missed="0" covered="15"/><counter type="METHOD" missed="0" covered="7"/><counter type="CLASS" missed="0" covered="1"/></sourcefile><sourcefile name="CondyProbeArrayStrategy.java"><line nr="44" mi="0" ci="2" mb="0" cb="0"/><line nr="45" mi="0" ci="3" mb="0" cb="0"/><line nr="46" mi="0" ci="3" mb="0" cb="0"/><line nr="47" mi="0" ci="3" mb="0" cb="0"/><line nr="48" mi="0" ci="3" mb="0" cb="0"/><line nr="49" mi="0" ci="1" mb="0" cb="0"/><line nr="53" mi="0" ci="11" mb="0" cb="0"/><line nr="57" mi="0" ci="10" mb="0" cb="0"/><line nr="59" mi="0" ci="4" mb="0" cb="0"/><line nr="60" mi="0" ci="4" mb="0" cb="0"/><line nr="61" mi="0" ci="2" mb="0" cb="0"/><line nr="65" mi="0" ci="8" mb="0" cb="0"/><line nr="67" mi="0" ci="10" mb="0" cb="0"/><line nr="69" mi="0" ci="3" mb="0" cb="0"/><line nr="70" mi="0" ci="4" mb="0" cb="0"/><line nr="71" mi="0" ci="2" mb="0" cb="0"/><line nr="72" mi="0" ci="1" mb="0" cb="0"/><counter type="INSTRUCTION" missed="0" covered="74"/><counter type="LINE" missed="0" covered="17"/><counter type="COMPLEXITY" missed="0" covered="3"/><counter type="METHOD" missed="0" covered="3"/><counter type="CLASS" missed="0" covered="1"/></sourcefile><sourcefile name="ProbeInserter.java"><line nr="70" mi="0" ci="4" mb="0" cb="0"/><line nr="71" mi="0" ci="5" mb="0" cb="0"/><line nr="72" mi="0" ci="3" mb="0" cb="0"/><line nr="73" mi="0" ci="8" mb="0" cb="2"/><line nr="74" mi="0" ci="17" mb="0" cb="2"/><line nr="75" mi="0" ci="5" mb="0" cb="0"/><line nr="77" mi="0" ci="5" mb="0" cb="0"/><line nr="78" mi="0" ci="5" mb="0" cb="0"/><line nr="79" mi="0" ci="1" mb="0" cb="0"/><line nr="86" mi="0" ci="6" mb="0" cb="0"/><line nr="90" mi="0" ci="4" mb="0" cb="0"/><line nr="95" mi="0" ci="4" mb="0" cb="0"/><line nr="101" mi="0" ci="4" mb="0" cb="0"/><line nr="102" mi="0" ci="1" mb="0" cb="0"/><line nr="106" mi="0" ci="5" mb="0" cb="0"/><line nr="107" mi="0" ci="11" mb="0" cb="0"/><line nr="108" mi="0" ci="3" mb="0" cb="0"/><line nr="109" mi="0" ci="1" mb="0" cb="0"/><line nr="113" mi="0" ci="7" mb="0" cb="0"/><line nr="114" mi="0" ci="1" mb="0" cb="0"/><line nr="118" mi="0" ci="7" mb="0" cb="0"/><line nr="119" mi="0" ci="1" mb="0" cb="0"/><line nr="125" mi="0" ci="6" mb="0" cb="2"/><line nr="127" mi="0" ci="11" mb="0" cb="0"/><line nr="130" mi="0" ci="11" mb="0" cb="0"/><line nr="133" mi="0" ci="1" mb="0" cb="0"/><line nr="139" mi="0" ci="4" mb="0" cb="0"/><line nr="140" mi="0" ci="8" mb="0" cb="2"/><line nr="141" mi="0" ci="8" mb="0" cb="0"/><line nr="143" mi="0" ci="11" mb="0" cb="0"/><line nr="153" mi="0" ci="7" mb="0" cb="0"/><line nr="154" mi="0" ci="7" mb="0" cb="0"/><line nr="155" mi="0" ci="1" mb="0" cb="0"/><line nr="158" mi="0" ci="6" mb="0" cb="2"/><line nr="159" mi="0" ci="2" mb="0" cb="0"/><line nr="161" mi="0" ci="4" mb="0" cb="0"/><line nr="169" mi="0" ci="3" mb="0" cb="2"/><line nr="170" mi="0" ci="5" mb="0" cb="0"/><line nr="174" mi="0" ci="10" mb="0" cb="0"/><line nr="176" mi="0" ci="2" mb="0" cb="0"/><line nr="177" mi="0" ci="2" mb="0" cb="0"/><line nr="178" mi="0" ci="2" mb="0" cb="0"/><line nr="179" mi="0" ci="9" mb="0" cb="4"/><line nr="180" mi="0" ci="5" mb="0" cb="0"/><line nr="181" mi="0" ci="5" mb="0" cb="0"/><line nr="182" mi="0" ci="12" mb="0" cb="4"/><line nr="183" mi="0" ci="1" mb="0" cb="0"/><line nr="184" mi="0" ci="8" mb="0" cb="2"/><line nr="185" mi="0" ci="4" mb="0" cb="2"/><line nr="186" mi="0" ci="5" mb="0" cb="0"/><line nr="187" mi="0" ci="2" mb="0" cb="0"/><line nr="189" mi="0" ci="5" mb="0" cb="0"/><line nr="190" mi="0" ci="5" mb="0" cb="4"/><line nr="191" mi="0" ci="5" mb="0" cb="0"/><line nr="193" mi="0" ci="3" mb="0" cb="2"/><line nr="194" mi="0" ci="9" mb="0" cb="0"/><line nr="197" mi="0" ci="8" mb="0" cb="0"/><line nr="198" mi="0" ci="1" mb="0" cb="0"/><counter type="INSTRUCTION" missed="0" covered="306"/><counter type="BRANCH" missed="0" covered="30"/><counter type="LINE" missed="0" covered="58"/><counter type="COMPLEXITY" missed="0" covered="25"/><counter type="METHOD" missed="0" covered="10"/><counter type="CLASS" missed="0" covered="1"/></sourcefile><sourcefile name="ProbeCounter.java"><line nr="27" mi="0" ci="2" mb="0" cb="0"/><line nr="28" mi="0" ci="3" mb="0" cb="0"/><line nr="29" mi="0" ci="3" mb="0" cb="0"/><line nr="30" mi="0" ci="1" mb="0" cb="0"/><line nr="36" mi="0" ci="8" mb="0" cb="4"/><line nr="38" mi="0" ci="3" mb="0" cb="0"/><line nr="40" mi="0" ci="2" mb="0" cb="0"/><line nr="45" mi="0" ci="3" mb="0" cb="0"/><line nr="46" mi="0" ci="1" mb="0" cb="0"/><line nr="49" mi="0" ci="3" mb="0" cb="0"/><line nr="57" mi="0" ci="3" mb="0" cb="0"/><counter type="INSTRUCTION" missed="0" covered="32"/><counter type="BRANCH" missed="0" covered="4"/><counter type="LINE" missed="0" covered="11"/><counter type="COMPLEXITY" missed="0" covered="7"/><counter type="METHOD" missed="0" covered="5"/><counter type="CLASS" missed="0" covered="1"/></sourcefile><sourcefile name="InterfaceFieldProbeArrayStrategy.java"><line nr="31" mi="0" ci="7" mb="0" cb="0"/><line nr="37" mi="0" ci="4" mb="0" cb="0"/><line nr="44" mi="0" ci="3" mb="0" cb="0"/><line nr="48" mi="0" ci="2" mb="0" cb="0"/><line nr="49" mi="0" ci="3" mb="0" cb="0"/><line nr="50" mi="0" ci="3" mb="0" cb="0"/><line nr="51" mi="0" ci="3" mb="0" cb="0"/><line nr="52" mi="0" ci="3" mb="0" cb="0"/><line nr="53" mi="0" ci="1" mb="0" cb="0"/><line nr="57" mi="0" ci="2" mb="0" cb="2"/><line nr="58" mi="0" ci="11" mb="0" cb="0"/><line nr="63" mi="0" ci="3" mb="0" cb="0"/><line nr="68" mi="0" ci="7" mb="0" cb="0"/><line nr="73" mi="0" ci="4" mb="0" cb="0"/><line nr="75" mi="0" ci="3" mb="0" cb="0"/><line nr="76" mi="0" ci="4" mb="0" cb="0"/><line nr="78" mi="0" ci="8" mb="0" cb="0"/><line nr="81" mi="0" ci="4" mb="0" cb="0"/><line nr="82" mi="0" ci="2" mb="0" cb="0"/><line nr="87" mi="0" ci="3" mb="0" cb="0"/><line nr="88" mi="0" ci="4" mb="0" cb="0"/><line nr="89" mi="0" ci="3" mb="1" cb="1"/><line nr="90" mi="0" ci="4" mb="0" cb="0"/><line nr="92" mi="0" ci="1" mb="0" cb="0"/><line nr="95" mi="0" ci="8" mb="0" cb="0"/><line nr="98" mi="0" ci="1" mb="0" cb="0"/><line nr="101" mi="0" ci="8" mb="0" cb="0"/><line nr="104" mi="0" ci="2" mb="0" cb="0"/><line nr="107" mi="0" ci="7" mb="0" cb="0"/><line nr="109" mi="0" ci="3" mb="0" cb="0"/><line nr="115" mi="0" ci="4" mb="0" cb="0"/><line nr="116" mi="0" ci="4" mb="0" cb="0"/><line nr="120" mi="0" ci="3" mb="0" cb="0"/><line nr="121" mi="0" ci="10" mb="0" cb="0"/><line nr="127" mi="0" ci="7" mb="0" cb="0"/><line nr="129" mi="0" ci="3" mb="0" cb="0"/><line nr="130" mi="0" ci="3" mb="0" cb="0"/><line nr="132" mi="0" ci="6" mb="0" cb="0"/><line nr="133" mi="0" ci="2" mb="0" cb="0"/><line nr="134" mi="0" ci="1" mb="0" cb="0"/><line nr="138" mi="0" ci="8" mb="0" cb="0"/><line nr="140" mi="0" ci="2" mb="0" cb="0"/><line nr="142" mi="0" ci="10" mb="0" cb="0"/><line nr="147" mi="0" ci="7" mb="0" cb="0"/><line nr="150" mi="0" ci="3" mb="0" cb="0"/><line nr="152" mi="0" ci="4" mb="0" cb="0"/><line nr="153" mi="0" ci="2" mb="0" cb="0"/><line nr="154" mi="0" ci="1" mb="0" cb="0"/><counter type="INSTRUCTION" missed="0" covered="201"/><counter type="BRANCH" missed="1" covered="3"/><counter type="LINE" missed="0" covered="48"/><counter type="COMPLEXITY" missed="1" covered="8"/><counter type="METHOD" missed="0" covered="7"/><counter type="CLASS" missed="0" covered="1"/></sourcefile><sourcefile name="MethodInstrumenter.java"><line nr="40" mi="0" ci="3" mb="0" cb="0"/><line nr="41" mi="0" ci="3" mb="0" cb="0"/><line nr="42" mi="0" ci="1" mb="0" cb="0"/><line nr="48" mi="0" ci="4" mb="0" cb="0"/><line nr="49" mi="0" ci="1" mb="0" cb="0"/><line nr="53" mi="0" ci="4" mb="0" cb="0"/><line nr="54" mi="0" ci="4" mb="0" cb="0"/><line nr="55" mi="0" ci="1" mb="0" cb="0"/><line nr="60" mi="0" ci="3" mb="0" cb="2"/><line nr="61" mi="0" ci="4" mb="0" cb="0"/><line nr="62" mi="0" ci="6" mb="0" cb="0"/><line nr="64" mi="0" ci="4" mb="0" cb="0"/><line nr="65" mi="0" ci="7" mb="0" cb="0"/><line nr="66" mi="0" ci="4" mb="0" cb="0"/><line nr="67" mi="0" ci="5" mb="0" cb="0"/><line nr="68" mi="0" ci="4" mb="0" cb="0"/><line nr="69" mi="0" ci="4" mb="0" cb="0"/><line nr="71" mi="0" ci="1" mb="0" cb="0"/><line nr="74" mi="0" ci="2" mb="0" cb="17"/><line nr="76" mi="0" ci="2" mb="0" cb="0"/><line nr="78" mi="0" ci="2" mb="0" cb="0"/><line nr="80" mi="0" ci="2" mb="0" cb="0"/><line nr="82" mi="0" ci="2" mb="0" cb="0"/><line nr="84" mi="0" ci="2" mb="0" cb="0"/><line nr="86" mi="0" ci="2" mb="0" cb="0"/><line nr="88" mi="0" ci="2" mb="0" cb="0"/><line nr="90" mi="0" ci="2" mb="0" cb="0"/><line nr="92" mi="0" ci="2" mb="0" cb="0"/><line nr="94" mi="0" ci="2" mb="0" cb="0"/><line nr="96" mi="0" ci="2" mb="0" cb="0"/><line nr="98" mi="0" ci="2" mb="0" cb="0"/><line nr="100" mi="0" ci="2" mb="0" cb="0"/><line nr="102" mi="0" ci="2" mb="0" cb="0"/><line nr="104" mi="0" ci="2" mb="0" cb="0"/><line nr="106" mi="0" ci="2" mb="0" cb="0"/><line nr="108" mi="0" ci="4" mb="0" cb="0"/><line nr="115" mi="0" ci="2" mb="0" cb="0"/><line nr="116" mi="0" ci="2" mb="0" cb="0"/><line nr="117" mi="0" ci="4" mb="0" cb="0"/><line nr="118" mi="0" ci="4" mb="0" cb="0"/><line nr="119" mi="0" ci="7" mb="0" cb="0"/><line nr="122" mi="0" ci="5" mb="0" cb="0"/><line nr="123" mi="0" ci="1" mb="0" cb="0"/><line nr="129" mi="0" ci="2" mb="0" cb="0"/><line nr="130" mi="0" ci="2" mb="0" cb="0"/><line nr="131" mi="0" ci="4" mb="0" cb="0"/><line nr="132" mi="0" ci="4" mb="0" cb="0"/><line nr="133" mi="0" ci="6" mb="0" cb="0"/><line nr="136" mi="0" ci="5" mb="0" cb="0"/><line nr="137" mi="0" ci="1" mb="0" cb="0"/><line nr="140" mi="0" ci="4" mb="0" cb="0"/><line nr="141" mi="0" ci="8" mb="0" cb="2"/><line nr="142" mi="0" ci="8" mb="0" cb="0"/><line nr="144" mi="0" ci="2" mb="0" cb="0"/><line nr="149" mi="0" ci="4" mb="0" cb="2"/><line nr="150" mi="0" ci="3" mb="0" cb="0"/><line nr="152" mi="0" ci="3" mb="0" cb="2"/><line nr="153" mi="0" ci="4" mb="0" cb="0"/><line nr="155" mi="0" ci="4" mb="0" cb="0"/><line nr="156" mi="0" ci="3" mb="0" cb="0"/><line nr="157" mi="0" ci="2" mb="0" cb="0"/><line nr="160" mi="0" ci="2" mb="0" cb="0"/><line nr="165" mi="0" ci="3" mb="0" cb="0"/><line nr="166" mi="0" ci="6" mb="0" cb="4"/><line nr="167" mi="0" ci="5" mb="0" cb="0"/><line nr="168" mi="0" ci="4" mb="0" cb="0"/><line nr="169" mi="0" ci="4" mb="0" cb="0"/><line nr="170" mi="0" ci="5" mb="0" cb="0"/><line nr="171" mi="0" ci="2" mb="0" cb="0"/><line nr="173" mi="0" ci="1" mb="0" cb="0"/><line nr="177" mi="0" ci="2" mb="0" cb="0"/><line nr="178" mi="0" ci="2" mb="0" cb="0"/><line nr="179" mi="0" ci="4" mb="0" cb="0"/><line nr="180" mi="0" ci="16" mb="0" cb="2"/><line nr="181" mi="0" ci="4" mb="0" cb="0"/><line nr="183" mi="0" ci="1" mb="0" cb="0"/><counter type="INSTRUCTION" missed="0" covered="256"/><counter type="BRANCH" missed="0" covered="31"/><counter type="LINE" missed="0" covered="76"/><counter type="COMPLEXITY" missed="0" covered="34"/><counter type="METHOD" missed="0" covered="11"/><counter type="CLASS" missed="0" covered="1"/></sourcefile><counter type="INSTRUCTION" missed="0" covered="1590"/><counter type="BRANCH" missed="1" covered="126"/><counter type="LINE" missed="0" covered="388"/><counter type="COMPLEXITY" missed="1" covered="156"/><counter type="METHOD" missed="0" covered="86"/><counter type="CLASS" missed="0" covered="13"/></package><package name="org/jacoco/core/internal/data"><class name="org/jacoco/core/internal/data/CRC64" sourcefilename="CRC64.java"><method name="update" desc="(JB)J" line="57"><counter type="INSTRUCTION" missed="0" covered="15"/><counter type="LINE" missed="0" covered="2"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="update" desc="(J[BII)J" line="76"><counter type="INSTRUCTION" missed="0" covered="15"/><counter type="BRANCH" missed="0" covered="2"/><counter type="LINE" missed="0" covered="3"/><counter type="COMPLEXITY" missed="0" covered="2"/><counter type="METHOD" missed="0" covered="1"/></method><method name="classId" desc="([B)J" line="90"><counter type="INSTRUCTION" missed="0" covered="37"/><counter type="BRANCH" missed="0" covered="6"/><counter type="LINE" missed="0" covered="5"/><counter type="COMPLEXITY" missed="0" covered="4"/><counter type="METHOD" missed="0" covered="1"/></method><method name="&lt;clinit&gt;" desc="()V" line="33"><counter type="INSTRUCTION" missed="0" covered="42"/><counter type="BRANCH" missed="0" covered="6"/><counter type="LINE" missed="0" covered="9"/><counter type="COMPLEXITY" missed="0" covered="4"/><counter type="METHOD" missed="0" covered="1"/></method><counter type="INSTRUCTION" missed="0" covered="109"/><counter type="BRANCH" missed="0" covered="14"/><counter type="LINE" missed="0" covered="19"/><counter type="COMPLEXITY" missed="0" covered="11"/><counter type="METHOD" missed="0" covered="4"/><counter type="CLASS" missed="0" covered="1"/></class><class name="org/jacoco/core/internal/data/CompactDataInput" sourcefilename="CompactDataInput.java"><method name="&lt;init&gt;" desc="(Ljava/io/InputStream;)V" line="34"><counter type="INSTRUCTION" missed="0" covered="4"/><counter type="LINE" missed="0" covered="2"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="readVarInt" desc="()I" line="45"><counter type="INSTRUCTION" missed="0" covered="20"/><counter type="BRANCH" missed="0" covered="2"/><counter type="LINE" missed="0" covered="4"/><counter type="COMPLEXITY" missed="0" covered="2"/><counter type="METHOD" missed="0" covered="1"/></method><method name="readBooleanArray" desc="()[Z" line="60"><counter type="INSTRUCTION" missed="0" covered="37"/><counter type="BRANCH" missed="0" covered="6"/><counter type="LINE" missed="0" covered="8"/><counter type="COMPLEXITY" missed="0" covered="4"/><counter type="METHOD" missed="0" covered="1"/></method><counter type="INSTRUCTION" missed="0" covered="61"/><counter type="BRANCH" missed="0" covered="8"/><counter type="LINE" missed="0" covered="14"/><counter type="COMPLEXITY" missed="0" covered="7"/><counter type="METHOD" missed="0" covered="3"/><counter type="CLASS" missed="0" covered="1"/></class><class name="org/jacoco/core/internal/data/CompactDataOutput" sourcefilename="CompactDataOutput.java"><method name="&lt;init&gt;" desc="(Ljava/io/OutputStream;)V" line="34"><counter type="INSTRUCTION" missed="0" covered="4"/><counter type="LINE" missed="0" covered="2"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="writeVarInt" desc="(I)V" line="48"><counter type="INSTRUCTION" missed="0" covered="21"/><counter type="BRANCH" missed="0" covered="2"/><counter type="LINE" missed="0" covered="5"/><counter type="COMPLEXITY" missed="0" covered="2"/><counter type="METHOD" missed="0" covered="1"/></method><method name="writeBooleanArray" desc="([Z)V" line="66"><counter type="INSTRUCTION" missed="0" covered="49"/><counter type="BRANCH" missed="0" covered="8"/><counter type="LINE" missed="0" covered="13"/><counter type="COMPLEXITY" missed="0" covered="5"/><counter type="METHOD" missed="0" covered="1"/></method><counter type="INSTRUCTION" missed="0" covered="74"/><counter type="BRANCH" missed="0" covered="10"/><counter type="LINE" missed="0" covered="20"/><counter type="COMPLEXITY" missed="0" covered="8"/><counter type="METHOD" missed="0" covered="3"/><counter type="CLASS" missed="0" covered="1"/></class><sourcefile name="CRC64.java"><line nr="33" mi="0" ci="3" mb="0" cb="0"/><line nr="34" mi="0" ci="7" mb="0" cb="2"/><line nr="35" mi="0" ci="3" mb="0" cb="0"/><line nr="36" mi="0" ci="7" mb="0" cb="2"/><line nr="37" mi="0" ci="6" mb="0" cb="2"/><line nr="38" mi="0" ci="7" mb="0" cb="0"/><line nr="40" mi="0" ci="4" mb="0" cb="0"/><line nr="43" mi="0" ci="4" mb="0" cb="0"/><line nr="45" mi="0" ci="1" mb="0" cb="0"/><line nr="57" mi="0" ci="7" mb="0" cb="0"/><line nr="58" mi="0" ci="8" mb="0" cb="0"/><line nr="76" mi="0" ci="7" mb="0" cb="2"/><line nr="77" mi="0" ci="6" mb="0" cb="0"/><line nr="79" mi="0" ci="2" mb="0" cb="0"/><line nr="90" mi="0" ci="13" mb="0" cb="6"/><line nr="94" mi="0" ci="6" mb="0" cb="0"/><line nr="95" mi="0" ci="4" mb="0" cb="0"/><line nr="96" mi="0" ci="7" mb="0" cb="0"/><line nr="98" mi="0" ci="7" mb="0" cb="0"/><counter type="INSTRUCTION" missed="0" covered="109"/><counter type="BRANCH" missed="0" covered="14"/><counter type="LINE" missed="0" covered="19"/><counter type="COMPLEXITY" missed="0" covered="11"/><counter type="METHOD" missed="0" covered="4"/><counter type="CLASS" missed="0" covered="1"/></sourcefile><sourcefile name="CompactDataOutput.java"><line nr="34" mi="0" ci="3" mb="0" cb="0"/><line nr="35" mi="0" ci="1" mb="0" cb="0"/><line nr="48" mi="0" ci="4" mb="0" cb="2"/><line nr="49" mi="0" ci="4" mb="0" cb="0"/><line nr="51" mi="0" ci="7" mb="0" cb="0"/><line nr="52" mi="0" ci="5" mb="0" cb="0"/><line nr="54" mi="0" ci="1" mb="0" cb="0"/><line nr="66" mi="0" ci="4" mb="0" cb="0"/><line nr="67" mi="0" ci="2" mb="0" cb="0"/><line nr="68" mi="0" ci="2" mb="0" cb="0"/><line nr="69" mi="0" ci="16" mb="0" cb="2"/><line nr="70" mi="0" ci="2" mb="0" cb="2"/><line nr="71" mi="0" ci="6" mb="0" cb="0"/><line nr="73" mi="0" ci="4" mb="0" cb="2"/><line nr="74" mi="0" ci="3" mb="0" cb="0"/><line nr="75" mi="0" ci="2" mb="0" cb="0"/><line nr="76" mi="0" ci="2" mb="0" cb="0"/><line nr="79" mi="0" ci="2" mb="0" cb="2"/><line nr="80" mi="0" ci="3" mb="0" cb="0"/><line nr="82" mi="0" ci="1" mb="0" cb="0"/><counter type="INSTRUCTION" missed="0" covered="74"/><counter type="BRANCH" missed="0" covered="10"/><counter type="LINE" missed="0" covered="20"/><counter type="COMPLEXITY" missed="0" covered="8"/><counter type="METHOD" missed="0" covered="3"/><counter type="CLASS" missed="0" covered="1"/></sourcefile><sourcefile name="CompactDataInput.java"><line nr="34" mi="0" ci="3" mb="0" cb="0"/><line nr="35" mi="0" ci="1" mb="0" cb="0"/><line nr="45" mi="0" ci="5" mb="0" cb="0"/><line nr="46" mi="0" ci="4" mb="0" cb="2"/><line nr="47" mi="0" ci="2" mb="0" cb="0"/><line nr="49" mi="0" ci="9" mb="0" cb="0"/><line nr="60" mi="0" ci="4" mb="0" cb="0"/><line nr="61" mi="0" ci="2" mb="0" cb="0"/><line nr="62" mi="0" ci="8" mb="0" cb="2"/><line nr="63" mi="0" ci="4" mb="0" cb="2"/><line nr="64" mi="0" ci="3" mb="0" cb="0"/><line nr="66" mi="0" ci="10" mb="0" cb="2"/><line nr="67" mi="0" ci="4" mb="0" cb="0"/><line nr="69" mi="0" ci="2" mb="0" cb="0"/><counter type="INSTRUCTION" missed="0" covered="61"/><counter type="BRANCH" missed="0" covered="8"/><counter type="LINE" missed="0" covered="14"/><counter type="COMPLEXITY" missed="0" covered="7"/><counter type="METHOD" missed="0" covered="3"/><counter type="CLASS" missed="0" covered="1"/></sourcefile><counter type="INSTRUCTION" missed="0" covered="244"/><counter type="BRANCH" missed="0" covered="32"/><counter type="LINE" missed="0" covered="53"/><counter type="COMPLEXITY" missed="0" covered="26"/><counter type="METHOD" missed="0" covered="10"/><counter type="CLASS" missed="0" covered="3"/></package><counter type="INSTRUCTION" missed="412" covered="14208"/><counter type="BRANCH" missed="104" covered="1321"/><counter type="LINE" missed="123" covered="3359"/><counter type="COMPLEXITY" missed="124" covered="1335"/><counter type="METHOD" missed="20" covered="705"/><counter type="CLASS" missed="2" covered="140"/></group><group name="org.jacoco.report"><package name="org/jacoco/report/html"><class name="org/jacoco/report/html/HTMLFormatter" sourcefilename="HTMLFormatter.java"><method name="&lt;init&gt;" desc="()V" line="52"><counter type="INSTRUCTION" missed="0" covered="17"/><counter type="LINE" missed="0" covered="6"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="setLanguageNames" desc="(Lorg/jacoco/report/ILanguageNames;)V" line="82"><counter type="INSTRUCTION" missed="0" covered="4"/><counter type="LINE" missed="0" covered="2"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="setLocale" desc="(Ljava/util/Locale;)V" line="93"><counter type="INSTRUCTION" missed="0" covered="4"/><counter type="LINE" missed="0" covered="2"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="setFooterText" desc="(Ljava/lang/String;)V" line="103"><counter type="INSTRUCTION" missed="0" covered="4"/><counter type="LINE" missed="0" covered="2"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="setOutputEncoding" desc="(Ljava/lang/String;)V" line="113"><counter type="INSTRUCTION" missed="0" covered="4"/><counter type="LINE" missed="0" covered="2"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="getLanguageNames" desc="()Lorg/jacoco/report/ILanguageNames;" line="119"><counter type="INSTRUCTION" missed="0" covered="3"/><counter type="LINE" missed="0" covered="1"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="getResources" desc="()Lorg/jacoco/report/internal/html/resources/Resources;" line="123"><counter type="INSTRUCTION" missed="0" covered="3"/><counter type="LINE" missed="0" covered="1"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="getTable" desc="()Lorg/jacoco/report/internal/html/table/Table;" line="127"><counter type="INSTRUCTION" missed="0" covered="10"/><counter type="BRANCH" missed="0" covered="2"/><counter type="LINE" missed="0" covered="3"/><counter type="COMPLEXITY" missed="0" covered="2"/><counter type="METHOD" missed="0" covered="1"/></method><method name="createTable" desc="()Lorg/jacoco/report/internal/html/table/Table;" line="134"><counter type="INSTRUCTION" missed="0" covered="78"/><counter type="LINE" missed="0" covered="11"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="addMissedTotalColumns" desc="(Lorg/jacoco/report/internal/html/table/Table;Ljava/lang/String;Lorg/jacoco/core/analysis/ICoverageNode$CounterEntity;)V" line="153"><counter type="INSTRUCTION" missed="0" covered="19"/><counter type="LINE" missed="0" covered="3"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="getFooterText" desc="()Ljava/lang/String;" line="160"><counter type="INSTRUCTION" missed="0" covered="3"/><counter type="LINE" missed="0" covered="1"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="getSessionsPage" desc="()Lorg/jacoco/report/internal/html/ILinkable;" line="164"><counter type="INSTRUCTION" missed="0" covered="3"/><counter type="LINE" missed="0" covered="1"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="getOutputEncoding" desc="()Ljava/lang/String;" line="168"><counter type="INSTRUCTION" missed="0" covered="3"/><counter type="LINE" missed="0" covered="1"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="getIndexUpdate" desc="()Lorg/jacoco/report/internal/html/index/IIndexUpdate;" line="172"><counter type="INSTRUCTION" missed="0" covered="3"/><counter type="LINE" missed="0" covered="1"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="getLocale" desc="()Ljava/util/Locale;" line="176"><counter type="INSTRUCTION" missed="0" covered="3"/><counter type="LINE" missed="0" covered="1"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="createVisitor" desc="(Lorg/jacoco/report/IMultiReportOutput;)Lorg/jacoco/report/IReportVisitor;" line="190"><counter type="INSTRUCTION" missed="0" covered="27"/><counter type="LINE" missed="0" covered="5"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><counter type="INSTRUCTION" missed="0" covered="188"/><counter type="BRANCH" missed="0" covered="2"/><counter type="LINE" missed="0" covered="43"/><counter type="COMPLEXITY" missed="0" covered="17"/><counter type="METHOD" missed="0" covered="16"/><counter type="CLASS" missed="0" covered="1"/></class><class name="org/jacoco/report/html/HTMLFormatter$1" sourcefilename="HTMLFormatter.java"><method name="&lt;init&gt;" desc="(Lorg/jacoco/report/html/HTMLFormatter;Lorg/jacoco/report/internal/ReportOutputFolder;Lorg/jacoco/report/IMultiReportOutput;)V" line="230"><counter type="INSTRUCTION" missed="0" covered="12"/><counter type="LINE" missed="0" covered="1"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="visitInfo" desc="(Ljava/util/List;Ljava/util/Collection;)V" line="204"><counter type="INSTRUCTION" missed="0" covered="7"/><counter type="LINE" missed="0" covered="3"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="visitBundle" desc="(Lorg/jacoco/core/analysis/IBundleCoverage;Lorg/jacoco/report/ISourceFileLocator;)V" line="210"><counter type="INSTRUCTION" missed="0" covered="17"/><counter type="LINE" missed="0" covered="4"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="visitGroup" desc="(Ljava/lang/String;)Lorg/jacoco/report/IReportGroupVisitor;" line="218"><counter type="INSTRUCTION" missed="0" covered="19"/><counter type="LINE" missed="0" covered="3"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="createSessionsPage" desc="(Lorg/jacoco/report/internal/html/page/ReportPage;)V" line="226"><counter type="INSTRUCTION" missed="0" covered="20"/><counter type="LINE" missed="0" covered="2"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="visitEnd" desc="()V" line="231"><counter type="INSTRUCTION" missed="0" covered="14"/><counter type="BRANCH" missed="0" covered="2"/><counter type="LINE" missed="0" covered="5"/><counter type="COMPLEXITY" missed="0" covered="2"/><counter type="METHOD" missed="0" covered="1"/></method><counter type="INSTRUCTION" missed="0" covered="89"/><counter type="BRANCH" missed="0" covered="2"/><counter type="LINE" missed="0" covered="18"/><counter type="COMPLEXITY" missed="0" covered="7"/><counter type="METHOD" missed="0" covered="6"/><counter type="CLASS" missed="0" covered="1"/></class><sourcefile name="HTMLFormatter.java"><line nr="52" mi="0" ci="5" mb="0" cb="0"/><line nr="54" mi="0" ci="3" mb="0" cb="0"/><line nr="56" mi="0" ci="3" mb="0" cb="0"/><line nr="58" mi="0" ci="3" mb="0" cb="0"/><line nr="71" mi="0" ci="2" mb="0" cb="0"/><line nr="72" mi="0" ci="1" mb="0" cb="0"/><line nr="82" mi="0" ci="3" mb="0" cb="0"/><line nr="83" mi="0" ci="1" mb="0" cb="0"/><line nr="93" mi="0" ci="3" mb="0" cb="0"/><line nr="94" mi="0" ci="1" mb="0" cb="0"/><line nr="103" mi="0" ci="3" mb="0" cb="0"/><line nr="104" mi="0" ci="1" mb="0" cb="0"/><line nr="113" mi="0" ci="3" mb="0" cb="0"/><line nr="114" mi="0" ci="1" mb="0" cb="0"/><line nr="119" mi="0" ci="3" mb="0" cb="0"/><line nr="123" mi="0" ci="3" mb="0" cb="0"/><line nr="127" mi="0" ci="3" mb="0" cb="2"/><line nr="128" mi="0" ci="4" mb="0" cb="0"/><line nr="130" mi="0" ci="3" mb="0" cb="0"/><line nr="134" mi="0" ci="4" mb="0" cb="0"/><line nr="135" mi="0" ci="8" mb="0" cb="0"/><line nr="136" mi="0" ci="11" mb="0" cb="0"/><line nr="138" mi="0" ci="11" mb="0" cb="0"/><line nr="140" mi="0" ci="11" mb="0" cb="0"/><line nr="142" mi="0" ci="11" mb="0" cb="0"/><line nr="144" mi="0" ci="5" mb="0" cb="0"/><line nr="145" mi="0" ci="5" mb="0" cb="0"/><line nr="146" mi="0" ci="5" mb="0" cb="0"/><line nr="147" mi="0" ci="5" mb="0" cb="0"/><line nr="148" mi="0" ci="2" mb="0" cb="0"/><line nr="153" mi="0" ci="9" mb="0" cb="0"/><line nr="155" mi="0" ci="9" mb="0" cb="0"/><line nr="157" mi="0" ci="1" mb="0" cb="0"/><line nr="160" mi="0" ci="3" mb="0" cb="0"/><line nr="164" mi="0" ci="3" mb="0" cb="0"/><line nr="168" mi="0" ci="3" mb="0" cb="0"/><line nr="172" mi="0" ci="3" mb="0" cb="0"/><line nr="176" mi="0" ci="3" mb="0" cb="0"/><line nr="190" mi="0" ci="5" mb="0" cb="0"/><line nr="191" mi="0" ci="6" mb="0" cb="0"/><line nr="192" mi="0" ci="3" mb="0" cb="0"/><line nr="193" mi="0" ci="6" mb="0" cb="0"/><line nr="194" mi="0" ci="7" mb="0" cb="0"/><line nr="204" mi="0" ci="3" mb="0" cb="0"/><line nr="205" mi="0" ci="3" mb="0" cb="0"/><line nr="206" mi="0" ci="1" mb="0" cb="0"/><line nr="210" mi="0" ci="11" mb="0" cb="0"/><line nr="212" mi="0" ci="3" mb="0" cb="0"/><line nr="213" mi="0" ci="2" mb="0" cb="0"/><line nr="214" mi="0" ci="1" mb="0" cb="0"/><line nr="218" mi="0" ci="11" mb="0" cb="0"/><line nr="220" mi="0" ci="5" mb="0" cb="0"/><line nr="221" mi="0" ci="3" mb="0" cb="0"/><line nr="226" mi="0" ci="19" mb="0" cb="0"/><line nr="228" mi="0" ci="1" mb="0" cb="0"/><line nr="230" mi="0" ci="12" mb="0" cb="0"/><line nr="231" mi="0" ci="3" mb="0" cb="2"/><line nr="232" mi="0" ci="3" mb="0" cb="0"/><line nr="234" mi="0" ci="4" mb="0" cb="0"/><line nr="235" mi="0" ci="3" mb="0" cb="0"/><line nr="236" mi="0" ci="1" mb="0" cb="0"/><counter type="INSTRUCTION" missed="0" covered="277"/><counter type="BRANCH" missed="0" covered="4"/><counter type="LINE" missed="0" covered="61"/><counter type="COMPLEXITY" missed="0" covered="24"/><counter type="METHOD" missed="0" covered="22"/><counter type="CLASS" missed="0" covered="2"/></sourcefile><counter type="INSTRUCTION" missed="0" covered="277"/><counter type="BRANCH" missed="0" covered="4"/><counter type="LINE" missed="0" covered="61"/><counter type="COMPLEXITY" missed="0" covered="24"/><counter type="METHOD" missed="0" covered="22"/><counter type="CLASS" missed="0" covered="2"/></package><package name="org/jacoco/report/internal/xml"><class name="org/jacoco/report/internal/xml/ReportElement" sourcefilename="ReportElement.java"><method name="&lt;init&gt;" desc="(Ljava/lang/String;Ljava/io/OutputStream;Ljava/lang/String;)V" line="48"><counter type="INSTRUCTION" missed="0" covered="13"/><counter type="LINE" missed="0" covered="3"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="&lt;init&gt;" desc="(Ljava/lang/String;Lorg/jacoco/report/internal/xml/ReportElement;)V" line="54"><counter type="INSTRUCTION" missed="0" covered="5"/><counter type="LINE" missed="0" covered="2"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="element" desc="(Ljava/lang/String;)Lorg/jacoco/report/internal/xml/ReportElement;" line="59"><counter type="INSTRUCTION" missed="0" covered="6"/><counter type="LINE" missed="0" covered="1"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="namedElement" desc="(Ljava/lang/String;Ljava/lang/String;)Lorg/jacoco/report/internal/xml/ReportElement;" line="64"><counter type="INSTRUCTION" missed="0" covered="10"/><counter type="LINE" missed="0" covered="3"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="sessioninfo" desc="(Lorg/jacoco/core/data/SessionInfo;)V" line="78"><counter type="INSTRUCTION" missed="0" covered="20"/><counter type="LINE" missed="0" covered="5"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="group" desc="(Ljava/lang/String;)Lorg/jacoco/report/internal/xml/ReportElement;" line="94"><counter type="INSTRUCTION" missed="0" covered="5"/><counter type="LINE" missed="0" covered="1"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="packageElement" desc="(Ljava/lang/String;)Lorg/jacoco/report/internal/xml/ReportElement;" line="107"><counter type="INSTRUCTION" missed="0" covered="5"/><counter type="LINE" missed="0" covered="1"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="classElement" desc="(Lorg/jacoco/core/analysis/IClassCoverage;)Lorg/jacoco/report/internal/xml/ReportElement;" line="121"><counter type="INSTRUCTION" missed="0" covered="13"/><counter type="LINE" missed="0" covered="3"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="method" desc="(Lorg/jacoco/core/analysis/IMethodCoverage;)Lorg/jacoco/report/internal/xml/ReportElement;" line="137"><counter type="INSTRUCTION" missed="0" covered="23"/><counter type="BRANCH" missed="1" covered="1"/><counter type="LINE" missed="0" covered="6"/><counter type="COMPLEXITY" missed="1" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="sourcefile" desc="(Ljava/lang/String;)Lorg/jacoco/report/internal/xml/ReportElement;" line="157"><counter type="INSTRUCTION" missed="0" covered="5"/><counter type="LINE" missed="0" covered="1"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="line" desc="(ILorg/jacoco/core/analysis/ILine;)V" line="172"><counter type="INSTRUCTION" missed="0" covered="21"/><counter type="LINE" missed="0" covered="5"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="counter" desc="(Lorg/jacoco/core/analysis/ICoverageNode$CounterEntity;Lorg/jacoco/core/analysis/ICounter;)V" line="192"><counter type="INSTRUCTION" missed="0" covered="15"/><counter type="LINE" missed="0" covered="4"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="counterAttributes" desc="(Lorg/jacoco/report/internal/xml/XMLElement;Ljava/lang/String;Ljava/lang/String;Lorg/jacoco/core/analysis/ICounter;)V" line="200"><counter type="INSTRUCTION" missed="0" covered="11"/><counter type="LINE" missed="0" covered="3"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><counter type="INSTRUCTION" missed="0" covered="152"/><counter type="BRANCH" missed="1" covered="1"/><counter type="LINE" missed="0" covered="38"/><counter type="COMPLEXITY" missed="1" covered="13"/><counter type="METHOD" missed="0" covered="13"/><counter type="CLASS" missed="0" covered="1"/></class><class name="org/jacoco/report/internal/xml/XMLElement" sourcefilename="XMLElement.java"><method name="&lt;init&gt;" desc="(Ljava/io/Writer;Ljava/lang/String;Z)V" line="53"><counter type="INSTRUCTION" missed="0" covered="21"/><counter type="LINE" missed="0" covered="8"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="&lt;init&gt;" desc="(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;ZLjava/lang/String;Ljava/io/OutputStream;)V" line="84"><counter type="INSTRUCTION" missed="0" covered="64"/><counter type="BRANCH" missed="0" covered="4"/><counter type="LINE" missed="0" covered="9"/><counter type="COMPLEXITY" missed="0" covered="3"/><counter type="METHOD" missed="0" covered="1"/></method><method name="&lt;init&gt;" desc="(Ljava/lang/String;Lorg/jacoco/report/internal/xml/XMLElement;)V" line="111"><counter type="INSTRUCTION" missed="0" covered="18"/><counter type="LINE" missed="0" covered="5"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="addChildElement" desc="(Lorg/jacoco/report/internal/xml/XMLElement;)V" line="118"><counter type="INSTRUCTION" missed="0" covered="28"/><counter type="BRANCH" missed="0" covered="4"/><counter type="LINE" missed="0" covered="7"/><counter type="COMPLEXITY" missed="0" covered="3"/><counter type="METHOD" missed="0" covered="1"/></method><method name="finishOpenTag" desc="()V" line="129"><counter type="INSTRUCTION" missed="0" covered="12"/><counter type="BRANCH" missed="0" covered="2"/><counter type="LINE" missed="0" covered="4"/><counter type="COMPLEXITY" missed="0" covered="2"/><counter type="METHOD" missed="0" covered="1"/></method><method name="quote" desc="(Ljava/lang/String;)V" line="136"><counter type="INSTRUCTION" missed="0" covered="41"/><counter type="BRANCH" missed="0" covered="7"/><counter type="LINE" missed="0" covered="14"/><counter type="COMPLEXITY" missed="0" covered="6"/><counter type="METHOD" missed="0" covered="1"/></method><method name="attr" desc="(Ljava/lang/String;Ljava/lang/String;)V" line="175"><counter type="INSTRUCTION" missed="0" covered="46"/><counter type="BRANCH" missed="0" covered="6"/><counter type="LINE" missed="0" covered="11"/><counter type="COMPLEXITY" missed="0" covered="4"/><counter type="METHOD" missed="0" covered="1"/></method><method name="attr" desc="(Ljava/lang/String;I)V" line="205"><counter type="INSTRUCTION" missed="0" covered="6"/><counter type="LINE" missed="0" covered="2"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="attr" desc="(Ljava/lang/String;J)V" line="223"><counter type="INSTRUCTION" missed="0" covered="6"/><counter type="LINE" missed="0" covered="2"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="text" desc="(Ljava/lang/String;)V" line="237"><counter type="INSTRUCTION" missed="0" covered="28"/><counter type="BRANCH" missed="0" covered="4"/><counter type="LINE" missed="0" covered="7"/><counter type="COMPLEXITY" missed="0" covered="3"/><counter type="METHOD" missed="0" covered="1"/></method><method name="element" desc="(Ljava/lang/String;)Lorg/jacoco/report/internal/xml/XMLElement;" line="258"><counter type="INSTRUCTION" missed="0" covered="6"/><counter type="LINE" missed="0" covered="1"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="close" desc="()V" line="268"><counter type="INSTRUCTION" missed="0" covered="47"/><counter type="BRANCH" missed="0" covered="8"/><counter type="LINE" missed="0" covered="14"/><counter type="COMPLEXITY" missed="0" covered="5"/><counter type="METHOD" missed="0" covered="1"/></method><counter type="INSTRUCTION" missed="0" covered="323"/><counter type="BRANCH" missed="0" covered="35"/><counter type="LINE" missed="0" covered="84"/><counter type="COMPLEXITY" missed="0" covered="31"/><counter type="METHOD" missed="0" covered="12"/><counter type="CLASS" missed="0" covered="1"/></class><class name="org/jacoco/report/internal/xml/XMLCoverageWriter" sourcefilename="XMLCoverageWriter.java"><method name="writeBundle" desc="(Lorg/jacoco/core/analysis/IBundleCoverage;Lorg/jacoco/report/internal/xml/ReportElement;)V" line="45"><counter type="INSTRUCTION" missed="0" covered="19"/><counter type="BRANCH" missed="0" covered="2"/><counter type="LINE" missed="0" covered="4"/><counter type="COMPLEXITY" missed="0" covered="2"/><counter type="METHOD" missed="0" covered="1"/></method><method name="writePackage" desc="(Lorg/jacoco/core/analysis/IPackageCoverage;Lorg/jacoco/report/internal/xml/ReportElement;)V" line="53"><counter type="INSTRUCTION" missed="0" covered="39"/><counter type="BRANCH" missed="0" covered="4"/><counter type="LINE" missed="0" covered="7"/><counter type="COMPLEXITY" missed="0" covered="3"/><counter type="METHOD" missed="0" covered="1"/></method><method name="writeClass" desc="(Lorg/jacoco/core/analysis/IClassCoverage;Lorg/jacoco/report/internal/xml/ReportElement;)V" line="65"><counter type="INSTRUCTION" missed="0" covered="23"/><counter type="BRANCH" missed="0" covered="2"/><counter type="LINE" missed="0" covered="5"/><counter type="COMPLEXITY" missed="0" covered="2"/><counter type="METHOD" missed="0" covered="1"/></method><method name="writeMethod" desc="(Lorg/jacoco/core/analysis/IMethodCoverage;Lorg/jacoco/report/internal/xml/ReportElement;)V" line="74"><counter type="INSTRUCTION" missed="0" covered="8"/><counter type="LINE" missed="0" covered="3"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="writeSourceFile" desc="(Lorg/jacoco/core/analysis/ISourceFileCoverage;Lorg/jacoco/report/internal/xml/ReportElement;)V" line="80"><counter type="INSTRUCTION" missed="0" covered="12"/><counter type="LINE" missed="0" covered="4"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="writeCounters" desc="(Lorg/jacoco/core/analysis/ICoverageNode;Lorg/jacoco/report/internal/xml/ReportElement;)V" line="97"><counter type="INSTRUCTION" missed="0" covered="28"/><counter type="BRANCH" missed="0" covered="4"/><counter type="LINE" missed="0" covered="5"/><counter type="COMPLEXITY" missed="0" covered="3"/><counter type="METHOD" missed="0" covered="1"/></method><method name="writeLines" desc="(Lorg/jacoco/core/analysis/ISourceNode;Lorg/jacoco/report/internal/xml/ReportElement;)V" line="107"><counter type="INSTRUCTION" missed="0" covered="23"/><counter type="BRANCH" missed="0" covered="4"/><counter type="LINE" missed="0" covered="6"/><counter type="COMPLEXITY" missed="0" covered="3"/><counter type="METHOD" missed="0" covered="1"/></method><counter type="INSTRUCTION" missed="0" covered="152"/><counter type="BRANCH" missed="0" covered="16"/><counter type="LINE" missed="0" covered="34"/><counter type="COMPLEXITY" missed="0" covered="15"/><counter type="METHOD" missed="0" covered="7"/><counter type="CLASS" missed="0" covered="1"/></class><class name="org/jacoco/report/internal/xml/XMLGroupVisitor" sourcefilename="XMLGroupVisitor.java"><method name="&lt;init&gt;" desc="(Lorg/jacoco/report/internal/xml/ReportElement;Ljava/lang/String;)V" line="44"><counter type="INSTRUCTION" missed="0" covered="7"/><counter type="LINE" missed="0" covered="3"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="handleBundle" desc="(Lorg/jacoco/core/analysis/IBundleCoverage;Lorg/jacoco/report/ISourceFileLocator;)V" line="51"><counter type="INSTRUCTION" missed="0" covered="10"/><counter type="LINE" missed="0" covered="3"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="handleGroup" desc="(Ljava/lang/String;)Lorg/jacoco/report/internal/AbstractGroupVisitor;" line="58"><counter type="INSTRUCTION" missed="0" covered="11"/><counter type="LINE" missed="0" covered="2"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="handleEnd" desc="()V" line="64"><counter type="INSTRUCTION" missed="0" covered="6"/><counter type="LINE" missed="0" covered="2"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><counter type="INSTRUCTION" missed="0" covered="34"/><counter type="LINE" missed="0" covered="10"/><counter type="COMPLEXITY" missed="0" covered="4"/><counter type="METHOD" missed="0" covered="4"/><counter type="CLASS" missed="0" covered="1"/></class><sourcefile name="XMLGroupVisitor.java"><line nr="44" mi="0" ci="3" mb="0" cb="0"/><line nr="45" mi="0" ci="3" mb="0" cb="0"/><line nr="46" mi="0" ci="1" mb="0" cb="0"/><line nr="51" mi="0" ci="6" mb="0" cb="0"/><line nr="52" mi="0" ci="3" mb="0" cb="0"/><line nr="53" mi="0" ci="1" mb="0" cb="0"/><line nr="58" mi="0" ci="5" mb="0" cb="0"/><line nr="59" mi="0" ci="6" mb="0" cb="0"/><line nr="64" mi="0" ci="5" mb="0" cb="0"/><line nr="65" mi="0" ci="1" mb="0" cb="0"/><counter type="INSTRUCTION" missed="0" covered="34"/><counter type="LINE" missed="0" covered="10"/><counter type="COMPLEXITY" missed="0" covered="4"/><counter type="METHOD" missed="0" covered="4"/><counter type="CLASS" missed="0" covered="1"/></sourcefile><sourcefile name="ReportElement.java"><line nr="48" mi="0" ci="8" mb="0" cb="0"/><line nr="49" mi="0" ci="4" mb="0" cb="0"/><line nr="50" mi="0" ci="1" mb="0" cb="0"/><line nr="54" mi="0" ci="4" mb="0" cb="0"/><line nr="55" mi="0" ci="1" mb="0" cb="0"/><line nr="59" mi="0" ci="6" mb="0" cb="0"/><line nr="64" mi="0" ci="4" mb="0" cb="0"/><line nr="65" mi="0" ci="4" mb="0" cb="0"/><line nr="66" mi="0" ci="2" mb="0" cb="0"/><line nr="78" mi="0" ci="4" mb="0" cb="0"/><line nr="79" mi="0" ci="5" mb="0" cb="0"/><line nr="80" mi="0" ci="5" mb="0" cb="0"/><line nr="81" mi="0" ci="5" mb="0" cb="0"/><line nr="82" mi="0" ci="1" mb="0" cb="0"/><line nr="94" mi="0" ci="5" mb="0" cb="0"/><line nr="107" mi="0" ci="5" mb="0" cb="0"/><line nr="121" mi="0" ci="6" mb="0" cb="0"/><line nr="122" mi="0" ci="5" mb="0" cb="0"/><line nr="123" mi="0" ci="2" mb="0" cb="0"/><line nr="137" mi="0" ci="6" mb="0" cb="0"/><line nr="139" mi="0" ci="5" mb="0" cb="0"/><line nr="140" mi="0" ci="3" mb="0" cb="0"/><line nr="141" mi="0" ci="3" mb="1" cb="1"/><line nr="142" mi="0" ci="4" mb="0" cb="0"/><line nr="144" mi="0" ci="2" mb="0" cb="0"/><line nr="157" mi="0" ci="5" mb="0" cb="0"/><line nr="172" mi="0" ci="4" mb="0" cb="0"/><line nr="173" mi="0" ci="4" mb="0" cb="0"/><line nr="174" mi="0" ci="6" mb="0" cb="0"/><line nr="175" mi="0" ci="6" mb="0" cb="0"/><line nr="176" mi="0" ci="1" mb="0" cb="0"/><line nr="192" mi="0" ci="4" mb="0" cb="0"/><line nr="193" mi="0" ci="5" mb="0" cb="0"/><line nr="194" mi="0" ci="5" mb="0" cb="0"/><line nr="195" mi="0" ci="1" mb="0" cb="0"/><line nr="200" mi="0" ci="5" mb="0" cb="0"/><line nr="201" mi="0" ci="5" mb="0" cb="0"/><line nr="202" mi="0" ci="1" mb="0" cb="0"/><counter type="INSTRUCTION" missed="0" covered="152"/><counter type="BRANCH" missed="1" covered="1"/><counter type="LINE" missed="0" covered="38"/><counter type="COMPLEXITY" missed="1" covered="13"/><counter type="METHOD" missed="0" covered="13"/><counter type="CLASS" missed="0" covered="1"/></sourcefile><sourcefile name="XMLCoverageWriter.java"><line nr="45" mi="0" ci="11" mb="0" cb="2"/><line nr="46" mi="0" ci="4" mb="0" cb="0"/><line nr="48" mi="0" ci="3" mb="0" cb="0"/><line nr="49" mi="0" ci="1" mb="0" cb="0"/><line nr="53" mi="0" ci="5" mb="0" cb="0"/><line nr="54" mi="0" ci="11" mb="0" cb="2"/><line nr="55" mi="0" ci="4" mb="0" cb="0"/><line nr="57" mi="0" ci="11" mb="0" cb="2"/><line nr="58" mi="0" ci="4" mb="0" cb="0"/><line nr="60" mi="0" ci="3" mb="0" cb="0"/><line nr="61" mi="0" ci="1" mb="0" cb="0"/><line nr="65" mi="0" ci="4" mb="0" cb="0"/><line nr="66" mi="0" ci="11" mb="0" cb="2"/><line nr="67" mi="0" ci="4" mb="0" cb="0"/><line nr="69" mi="0" ci="3" mb="0" cb="0"/><line nr="70" mi="0" ci="1" mb="0" cb="0"/><line nr="74" mi="0" ci="4" mb="0" cb="0"/><line nr="75" mi="0" ci="3" mb="0" cb="0"/><line nr="76" mi="0" ci="1" mb="0" cb="0"/><line nr="80" mi="0" ci="5" mb="0" cb="0"/><line nr="81" mi="0" ci="3" mb="0" cb="0"/><line nr="82" mi="0" ci="3" mb="0" cb="0"/><line nr="83" mi="0" ci="1" mb="0" cb="0"/><line nr="97" mi="0" ci="16" mb="0" cb="2"/><line nr="98" mi="0" ci="4" mb="0" cb="0"/><line nr="99" mi="0" ci="3" mb="0" cb="2"/><line nr="100" mi="0" ci="4" mb="0" cb="0"/><line nr="103" mi="0" ci="1" mb="0" cb="0"/><line nr="107" mi="0" ci="3" mb="0" cb="0"/><line nr="108" mi="0" ci="8" mb="0" cb="2"/><line nr="109" mi="0" ci="4" mb="0" cb="0"/><line nr="110" mi="0" ci="3" mb="0" cb="2"/><line nr="111" mi="0" ci="4" mb="0" cb="0"/><line nr="114" mi="0" ci="1" mb="0" cb="0"/><counter type="INSTRUCTION" missed="0" covered="152"/><counter type="BRANCH" missed="0" covered="16"/><counter type="LINE" missed="0" covered="34"/><counter type="COMPLEXITY" missed="0" covered="15"/><counter type="METHOD" missed="0" covered="7"/><counter type="CLASS" missed="0" covered="1"/></sourcefile><sourcefile name="XMLElement.java"><line nr="53" mi="0" ci="2" mb="0" cb="0"/><line nr="54" mi="0" ci="3" mb="0" cb="0"/><line nr="55" mi="0" ci="3" mb="0" cb="0"/><line nr="56" mi="0" ci="3" mb="0" cb="0"/><line nr="57" mi="0" ci="3" mb="0" cb="0"/><line nr="58" mi="0" ci="3" mb="0" cb="0"/><line nr="59" mi="0" ci="3" mb="0" cb="0"/><line nr="60" mi="0" ci="1" mb="0" cb="0"/><line nr="84" mi="0" ci="9" mb="0" cb="0"/><line nr="85" mi="0" ci="2" mb="0" cb="2"/><line nr="86" mi="0" ci="12" mb="0" cb="0"/><line nr="88" mi="0" ci="11" mb="0" cb="0"/><line nr="90" mi="0" ci="2" mb="0" cb="2"/><line nr="91" mi="0" ci="19" mb="0" cb="0"/><line nr="93" mi="0" ci="4" mb="0" cb="0"/><line nr="94" mi="0" ci="4" mb="0" cb="0"/><line nr="95" mi="0" ci="1" mb="0" cb="0"/><line nr="111" mi="0" ci="6" mb="0" cb="0"/><line nr="112" mi="0" ci="3" mb="0" cb="0"/><line nr="113" mi="0" ci="4" mb="0" cb="0"/><line nr="114" mi="0" ci="4" mb="0" cb="0"/><line nr="115" mi="0" ci="1" mb="0" cb="0"/><line nr="118" mi="0" ci="3" mb="0" cb="2"/><line nr="119" mi="0" ci="13" mb="0" cb="0"/><line nr="121" mi="0" ci="2" mb="0" cb="0"/><line nr="122" mi="0" ci="3" mb="0" cb="2"/><line nr="123" mi="0" ci="3" mb="0" cb="0"/><line nr="125" mi="0" ci="3" mb="0" cb="0"/><line nr="126" mi="0" ci="1" mb="0" cb="0"/><line nr="129" mi="0" ci="3" mb="0" cb="2"/><line nr="130" mi="0" ci="5" mb="0" cb="0"/><line nr="131" mi="0" ci="3" mb="0" cb="0"/><line nr="133" mi="0" ci="1" mb="0" cb="0"/><line nr="136" mi="0" ci="3" mb="0" cb="0"/><line nr="137" mi="0" ci="7" mb="0" cb="2"/><line nr="138" mi="0" ci="4" mb="0" cb="0"/><line nr="139" mi="0" ci="2" mb="0" cb="5"/><line nr="141" mi="0" ci="4" mb="0" cb="0"/><line nr="142" mi="0" ci="1" mb="0" cb="0"/><line nr="144" mi="0" ci="4" mb="0" cb="0"/><line nr="145" mi="0" ci="1" mb="0" cb="0"/><line nr="147" mi="0" ci="4" mb="0" cb="0"/><line nr="148" mi="0" ci="1" mb="0" cb="0"/><line nr="150" mi="0" ci="4" mb="0" cb="0"/><line nr="151" mi="0" ci="1" mb="0" cb="0"/><line nr="153" mi="0" ci="4" mb="0" cb="0"/><line nr="157" mi="0" ci="1" mb="0" cb="0"/><line nr="175" mi="0" ci="2" mb="0" cb="2"/><line nr="176" mi="0" ci="1" mb="0" cb="0"/><line nr="178" mi="0" ci="6" mb="0" cb="4"/><line nr="179" mi="0" ci="13" mb="0" cb="0"/><line nr="182" mi="0" ci="4" mb="0" cb="0"/><line nr="183" mi="0" ci="4" mb="0" cb="0"/><line nr="184" mi="0" ci="4" mb="0" cb="0"/><line nr="185" mi="0" ci="4" mb="0" cb="0"/><line nr="186" mi="0" ci="3" mb="0" cb="0"/><line nr="187" mi="0" ci="4" mb="0" cb="0"/><line nr="188" mi="0" ci="1" mb="0" cb="0"/><line nr="205" mi="0" ci="5" mb="0" cb="0"/><line nr="206" mi="0" ci="1" mb="0" cb="0"/><line nr="223" mi="0" ci="5" mb="0" cb="0"/><line nr="224" mi="0" ci="1" mb="0" cb="0"/><line nr="237" mi="0" ci="3" mb="0" cb="2"/><line nr="238" mi="0" ci="13" mb="0" cb="0"/><line nr="240" mi="0" ci="2" mb="0" cb="0"/><line nr="241" mi="0" ci="3" mb="0" cb="2"/><line nr="242" mi="0" ci="3" mb="0" cb="0"/><line nr="244" mi="0" ci="3" mb="0" cb="0"/><line nr="245" mi="0" ci="1" mb="0" cb="0"/><line nr="258" mi="0" ci="6" mb="0" cb="0"/><line nr="268" mi="0" ci="3" mb="0" cb="2"/><line nr="269" mi="0" ci="3" mb="0" cb="2"/><line nr="270" mi="0" ci="3" mb="0" cb="0"/><line nr="272" mi="0" ci="3" mb="0" cb="2"/><line nr="273" mi="0" ci="4" mb="0" cb="0"/><line nr="274" mi="0" ci="4" mb="0" cb="0"/><line nr="275" mi="0" ci="6" mb="0" cb="0"/><line nr="277" mi="0" ci="4" mb="0" cb="0"/><line nr="279" mi="0" ci="4" mb="0" cb="0"/><line nr="280" mi="0" ci="3" mb="0" cb="0"/><line nr="281" mi="0" ci="3" mb="0" cb="0"/><line nr="282" mi="0" ci="3" mb="0" cb="2"/><line nr="283" mi="0" ci="3" mb="0" cb="0"/><line nr="286" mi="0" ci="1" mb="0" cb="0"/><counter type="INSTRUCTION" missed="0" covered="323"/><counter type="BRANCH" missed="0" covered="35"/><counter type="LINE" missed="0" covered="84"/><counter type="COMPLEXITY" missed="0" covered="31"/><counter type="METHOD" missed="0" covered="12"/><counter type="CLASS" missed="0" covered="1"/></sourcefile><counter type="INSTRUCTION" missed="0" covered="661"/><counter type="BRANCH" missed="1" covered="52"/><counter type="LINE" missed="0" covered="166"/><counter type="COMPLEXITY" missed="1" covered="63"/><counter type="METHOD" missed="0" covered="36"/><counter type="CLASS" missed="0" covered="4"/></package><package name="org/jacoco/report/csv"><class name="org/jacoco/report/csv/CSVGroupHandler" sourcefilename="CSVGroupHandler.java"><method name="&lt;init&gt;" desc="(Lorg/jacoco/report/csv/ClassRowWriter;)V" line="33"><counter type="INSTRUCTION" missed="0" covered="5"/><counter type="LINE" missed="0" covered="2"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="&lt;init&gt;" desc="(Lorg/jacoco/report/csv/ClassRowWriter;Ljava/lang/String;)V" line="37"><counter type="INSTRUCTION" missed="0" covered="9"/><counter type="LINE" missed="0" covered="4"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="visitBundle" desc="(Lorg/jacoco/core/analysis/IBundleCoverage;Lorg/jacoco/report/ISourceFileLocator;)V" line="44"><counter type="INSTRUCTION" missed="0" covered="42"/><counter type="BRANCH" missed="0" covered="6"/><counter type="LINE" missed="0" covered="8"/><counter type="COMPLEXITY" missed="0" covered="4"/><counter type="METHOD" missed="0" covered="1"/></method><method name="visitGroup" desc="(Ljava/lang/String;)Lorg/jacoco/report/IReportGroupVisitor;" line="57"><counter type="INSTRUCTION" missed="0" covered="9"/><counter type="LINE" missed="0" covered="1"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="appendName" desc="(Ljava/lang/String;)Ljava/lang/String;" line="61"><counter type="INSTRUCTION" missed="0" covered="17"/><counter type="BRANCH" missed="0" covered="2"/><counter type="LINE" missed="0" covered="1"/><counter type="COMPLEXITY" missed="0" covered="2"/><counter type="METHOD" missed="0" covered="1"/></method><counter type="INSTRUCTION" missed="0" covered="82"/><counter type="BRANCH" missed="0" covered="8"/><counter type="LINE" missed="0" covered="16"/><counter type="COMPLEXITY" missed="0" covered="9"/><counter type="METHOD" missed="0" covered="5"/><counter type="CLASS" missed="0" covered="1"/></class><class name="org/jacoco/report/csv/DelimitedWriter" sourcefilename="DelimitedWriter.java"><method name="&lt;init&gt;" desc="(Ljava/io/Writer;)V" line="52"><counter type="INSTRUCTION" missed="0" covered="5"/><counter type="LINE" missed="0" covered="2"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="&lt;init&gt;" desc="(Ljava/io/Writer;C)V" line="43"><counter type="INSTRUCTION" missed="0" covered="12"/><counter type="LINE" missed="0" covered="5"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="write" desc="([Ljava/lang/String;)V" line="78"><counter type="INSTRUCTION" missed="0" covered="20"/><counter type="BRANCH" missed="0" covered="2"/><counter type="LINE" missed="0" covered="3"/><counter type="COMPLEXITY" missed="0" covered="2"/><counter type="METHOD" missed="0" covered="1"/></method><method name="write" desc="(Ljava/lang/String;)V" line="94"><counter type="INSTRUCTION" missed="0" covered="21"/><counter type="BRANCH" missed="0" covered="2"/><counter type="LINE" missed="0" covered="5"/><counter type="COMPLEXITY" missed="0" covered="2"/><counter type="METHOD" missed="0" covered="1"/></method><method name="write" desc="(I)V" line="110"><counter type="INSTRUCTION" missed="0" covered="5"/><counter type="LINE" missed="0" covered="2"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="write" desc="([I)V" line="122"><counter type="INSTRUCTION" missed="0" covered="21"/><counter type="BRANCH" missed="0" covered="2"/><counter type="LINE" missed="0" covered="3"/><counter type="COMPLEXITY" missed="0" covered="2"/><counter type="METHOD" missed="0" covered="1"/></method><method name="nextLine" desc="()V" line="135"><counter type="INSTRUCTION" missed="0" covered="8"/><counter type="LINE" missed="0" covered="3"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="close" desc="()V" line="147"><counter type="INSTRUCTION" missed="0" covered="4"/><counter type="LINE" missed="0" covered="2"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="escape" desc="(Ljava/lang/String;)Ljava/lang/String;" line="160"><counter type="INSTRUCTION" missed="0" covered="31"/><counter type="BRANCH" missed="0" covered="4"/><counter type="LINE" missed="0" covered="5"/><counter type="COMPLEXITY" missed="0" covered="3"/><counter type="METHOD" missed="0" covered="1"/></method><method name="&lt;clinit&gt;" desc="()V" line="40"><counter type="INSTRUCTION" missed="0" covered="4"/><counter type="LINE" missed="0" covered="1"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><counter type="INSTRUCTION" missed="0" covered="131"/><counter type="BRANCH" missed="0" covered="10"/><counter type="LINE" missed="0" covered="31"/><counter type="COMPLEXITY" missed="0" covered="15"/><counter type="METHOD" missed="0" covered="10"/><counter type="CLASS" missed="0" covered="1"/></class><class name="org/jacoco/report/csv/ClassRowWriter" sourcefilename="ClassRowWriter.java"><method name="&lt;init&gt;" desc="(Lorg/jacoco/report/csv/DelimitedWriter;Lorg/jacoco/report/ILanguageNames;)V" line="48"><counter type="INSTRUCTION" missed="0" covered="11"/><counter type="LINE" missed="0" covered="5"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="writeHeader" desc="()V" line="55"><counter type="INSTRUCTION" missed="0" covered="61"/><counter type="BRANCH" missed="0" covered="2"/><counter type="LINE" missed="0" covered="6"/><counter type="COMPLEXITY" missed="0" covered="2"/><counter type="METHOD" missed="0" covered="1"/></method><method name="writeRow" desc="(Ljava/lang/String;Ljava/lang/String;Lorg/jacoco/core/analysis/IClassCoverage;)V" line="77"><counter type="INSTRUCTION" missed="0" covered="61"/><counter type="BRANCH" missed="0" covered="2"/><counter type="LINE" missed="0" covered="10"/><counter type="COMPLEXITY" missed="0" covered="2"/><counter type="METHOD" missed="0" covered="1"/></method><method name="&lt;clinit&gt;" desc="()V" line="28"><counter type="INSTRUCTION" missed="0" covered="24"/><counter type="LINE" missed="0" covered="1"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><counter type="INSTRUCTION" missed="0" covered="157"/><counter type="BRANCH" missed="0" covered="4"/><counter type="LINE" missed="0" covered="22"/><counter type="COMPLEXITY" missed="0" covered="6"/><counter type="METHOD" missed="0" covered="4"/><counter type="CLASS" missed="0" covered="1"/></class><class name="org/jacoco/report/csv/CSVFormatter" sourcefilename="CSVFormatter.java"><method name="&lt;init&gt;" desc="()V" line="31"><counter type="INSTRUCTION" missed="0" covered="11"/><counter type="LINE" missed="0" covered="3"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="setLanguageNames" desc="(Lorg/jacoco/report/ILanguageNames;)V" line="45"><counter type="INSTRUCTION" missed="0" covered="4"/><counter type="LINE" missed="0" covered="2"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="getLanguageNames" desc="()Lorg/jacoco/report/ILanguageNames;" line="54"><counter type="INSTRUCTION" missed="0" covered="3"/><counter type="LINE" missed="0" covered="1"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="setOutputEncoding" desc="(Ljava/lang/String;)V" line="64"><counter type="INSTRUCTION" missed="0" covered="4"/><counter type="LINE" missed="0" covered="2"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="createVisitor" desc="(Ljava/io/OutputStream;)Lorg/jacoco/report/IReportVisitor;" line="78"><counter type="INSTRUCTION" missed="0" covered="24"/><counter type="LINE" missed="0" covered="3"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><counter type="INSTRUCTION" missed="0" covered="46"/><counter type="LINE" missed="0" covered="11"/><counter type="COMPLEXITY" missed="0" covered="5"/><counter type="METHOD" missed="0" covered="5"/><counter type="CLASS" missed="0" covered="1"/></class><class name="org/jacoco/report/csv/CSVFormatter$1Visitor" sourcefilename="CSVFormatter.java"><method name="&lt;init&gt;" desc="(Lorg/jacoco/report/csv/CSVFormatter;Lorg/jacoco/report/csv/ClassRowWriter;Lorg/jacoco/report/csv/DelimitedWriter;)V" line="83"><counter type="INSTRUCTION" missed="0" covered="13"/><counter type="LINE" missed="0" covered="3"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="visitInfo" desc="(Ljava/util/List;Ljava/util/Collection;)V" line="91"><counter type="INSTRUCTION" missed="0" covered="1"/><counter type="LINE" missed="0" covered="1"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="visitEnd" desc="()V" line="94"><counter type="INSTRUCTION" missed="0" covered="4"/><counter type="LINE" missed="0" covered="2"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><counter type="INSTRUCTION" missed="0" covered="18"/><counter type="LINE" missed="0" covered="6"/><counter type="COMPLEXITY" missed="0" covered="3"/><counter type="METHOD" missed="0" covered="3"/><counter type="CLASS" missed="0" covered="1"/></class><sourcefile name="ClassRowWriter.java"><line nr="28" mi="0" ci="24" mb="0" cb="0"/><line nr="48" mi="0" ci="2" mb="0" cb="0"/><line nr="49" mi="0" ci="3" mb="0" cb="0"/><line nr="50" mi="0" ci="3" mb="0" cb="0"/><line nr="51" mi="0" ci="2" mb="0" cb="0"/><line nr="52" mi="0" ci="1" mb="0" cb="0"/><line nr="55" mi="0" ci="17" mb="0" cb="0"/><line nr="56" mi="0" ci="16" mb="0" cb="2"/><line nr="57" mi="0" ci="12" mb="0" cb="0"/><line nr="58" mi="0" ci="12" mb="0" cb="0"/><line nr="60" mi="0" ci="3" mb="0" cb="0"/><line nr="61" mi="0" ci="1" mb="0" cb="0"/><line nr="77" mi="0" ci="4" mb="0" cb="0"/><line nr="78" mi="0" ci="7" mb="0" cb="0"/><line nr="79" mi="0" ci="12" mb="0" cb="0"/><line nr="82" mi="0" ci="4" mb="0" cb="0"/><line nr="84" mi="0" ci="16" mb="0" cb="2"/><line nr="85" mi="0" ci="4" mb="0" cb="0"/><line nr="86" mi="0" ci="5" mb="0" cb="0"/><line nr="87" mi="0" ci="5" mb="0" cb="0"/><line nr="90" mi="0" ci="3" mb="0" cb="0"/><line nr="91" mi="0" ci="1" mb="0" cb="0"/><counter type="INSTRUCTION" missed="0" covered="157"/><counter type="BRANCH" missed="0" covered="4"/><counter type="LINE" missed="0" covered="22"/><counter type="COMPLEXITY" missed="0" covered="6"/><counter type="METHOD" missed="0" covered="4"/><counter type="CLASS" missed="0" covered="1"/></sourcefile><sourcefile name="CSVGroupHandler.java"><line nr="33" mi="0" ci="4" mb="0" cb="0"/><line nr="34" mi="0" ci="1" mb="0" cb="0"/><line nr="37" mi="0" ci="2" mb="0" cb="0"/><line nr="38" mi="0" ci="3" mb="0" cb="0"/><line nr="39" mi="0" ci="3" mb="0" cb="0"/><line nr="40" mi="0" ci="1" mb="0" cb="0"/><line nr="44" mi="0" ci="5" mb="0" cb="0"/><line nr="45" mi="0" ci="11" mb="0" cb="2"/><line nr="46" mi="0" ci="3" mb="0" cb="0"/><line nr="47" mi="0" ci="11" mb="0" cb="2"/><line nr="48" mi="0" ci="3" mb="0" cb="2"/><line nr="49" mi="0" ci="7" mb="0" cb="0"/><line nr="52" mi="0" ci="1" mb="0" cb="0"/><line nr="53" mi="0" ci="1" mb="0" cb="0"/><line nr="57" mi="0" ci="9" mb="0" cb="0"/><line nr="61" mi="0" ci="17" mb="0" cb="2"/><counter type="INSTRUCTION" missed="0" covered="82"/><counter type="BRANCH" missed="0" covered="8"/><counter type="LINE" missed="0" covered="16"/><counter type="COMPLEXITY" missed="0" covered="9"/><counter type="METHOD" missed="0" covered="5"/><counter type="CLASS" missed="0" covered="1"/></sourcefile><sourcefile name="CSVFormatter.java"><line nr="31" mi="0" ci="2" mb="0" cb="0"/><line nr="33" mi="0" ci="5" mb="0" cb="0"/><line nr="35" mi="0" ci="4" mb="0" cb="0"/><line nr="45" mi="0" ci="3" mb="0" cb="0"/><line nr="46" mi="0" ci="1" mb="0" cb="0"/><line nr="54" mi="0" ci="3" mb="0" cb="0"/><line nr="64" mi="0" ci="3" mb="0" cb="0"/><line nr="65" mi="0" ci="1" mb="0" cb="0"/><line nr="78" mi="0" ci="10" mb="0" cb="0"/><line nr="80" mi="0" ci="7" mb="0" cb="0"/><line nr="83" mi="0" ci="9" mb="0" cb="0"/><line nr="84" mi="0" ci="3" mb="0" cb="0"/><line nr="85" mi="0" ci="1" mb="0" cb="0"/><line nr="91" mi="0" ci="1" mb="0" cb="0"/><line nr="94" mi="0" ci="3" mb="0" cb="0"/><line nr="95" mi="0" ci="1" mb="0" cb="0"/><line nr="97" mi="0" ci="7" mb="0" cb="0"/><counter type="INSTRUCTION" missed="0" covered="64"/><counter type="LINE" missed="0" covered="17"/><counter type="COMPLEXITY" missed="0" covered="8"/><counter type="METHOD" missed="0" covered="8"/><counter type="CLASS" missed="0" covered="2"/></sourcefile><sourcefile name="DelimitedWriter.java"><line nr="40" mi="0" ci="4" mb="0" cb="0"/><line nr="43" mi="0" ci="3" mb="0" cb="0"/><line nr="52" mi="0" ci="4" mb="0" cb="0"/><line nr="53" mi="0" ci="1" mb="0" cb="0"/><line nr="63" mi="0" ci="2" mb="0" cb="0"/><line nr="64" mi="0" ci="3" mb="0" cb="0"/><line nr="65" mi="0" ci="3" mb="0" cb="0"/><line nr="66" mi="0" ci="1" mb="0" cb="0"/><line nr="78" mi="0" ci="16" mb="0" cb="2"/><line nr="79" mi="0" ci="3" mb="0" cb="0"/><line nr="81" mi="0" ci="1" mb="0" cb="0"/><line nr="94" mi="0" ci="3" mb="0" cb="2"/><line nr="95" mi="0" ci="5" mb="0" cb="0"/><line nr="97" mi="0" ci="6" mb="0" cb="0"/><line nr="98" mi="0" ci="6" mb="0" cb="0"/><line nr="99" mi="0" ci="1" mb="0" cb="0"/><line nr="110" mi="0" ci="4" mb="0" cb="0"/><line nr="111" mi="0" ci="1" mb="0" cb="0"/><line nr="122" mi="0" ci="16" mb="0" cb="2"/><line nr="123" mi="0" ci="4" mb="0" cb="0"/><line nr="125" mi="0" ci="1" mb="0" cb="0"/><line nr="135" mi="0" ci="4" mb="0" cb="0"/><line nr="136" mi="0" ci="3" mb="0" cb="0"/><line nr="137" mi="0" ci="1" mb="0" cb="0"/><line nr="147" mi="0" ci="3" mb="0" cb="0"/><line nr="148" mi="0" ci="1" mb="0" cb="0"/><line nr="160" mi="0" ci="2" mb="0" cb="0"/><line nr="164" mi="0" ci="11" mb="0" cb="4"/><line nr="165" mi="0" ci="5" mb="0" cb="0"/><line nr="166" mi="0" ci="11" mb="0" cb="0"/><line nr="169" mi="0" ci="2" mb="0" cb="0"/><counter type="INSTRUCTION" missed="0" covered="131"/><counter type="BRANCH" missed="0" covered="10"/><counter type="LINE" missed="0" covered="31"/><counter type="COMPLEXITY" missed="0" covered="15"/><counter type="METHOD" missed="0" covered="10"/><counter type="CLASS" missed="0" covered="1"/></sourcefile><counter type="INSTRUCTION" missed="0" covered="434"/><counter type="BRANCH" missed="0" covered="22"/><counter type="LINE" missed="0" covered="86"/><counter type="COMPLEXITY" missed="0" covered="38"/><counter type="METHOD" missed="0" covered="27"/><counter type="CLASS" missed="0" covered="5"/></package><package name="org/jacoco/report"><class name="org/jacoco/report/MultiSourceFileLocator" sourcefilename="MultiSourceFileLocator.java"><method name="&lt;init&gt;" desc="(I)V" line="38"><counter type="INSTRUCTION" missed="0" covered="11"/><counter type="LINE" missed="0" covered="4"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="add" desc="(Lorg/jacoco/report/ISourceFileLocator;)V" line="51"><counter type="INSTRUCTION" missed="0" covered="6"/><counter type="LINE" missed="0" covered="2"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="getSourceFile" desc="(Ljava/lang/String;Ljava/lang/String;)Ljava/io/Reader;" line="56"><counter type="INSTRUCTION" missed="0" covered="23"/><counter type="BRANCH" missed="0" covered="4"/><counter type="LINE" missed="0" covered="6"/><counter type="COMPLEXITY" missed="0" covered="3"/><counter type="METHOD" missed="0" covered="1"/></method><method name="getTabWidth" desc="()I" line="66"><counter type="INSTRUCTION" missed="0" covered="3"/><counter type="LINE" missed="0" covered="1"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><counter type="INSTRUCTION" missed="0" covered="43"/><counter type="BRANCH" missed="0" covered="4"/><counter type="LINE" missed="0" covered="13"/><counter type="COMPLEXITY" missed="0" covered="6"/><counter type="METHOD" missed="0" covered="4"/><counter type="CLASS" missed="0" covered="1"/></class><class name="org/jacoco/report/ZipMultiReportOutput$1" sourcefilename="ZipMultiReportOutput.java"/><class name="org/jacoco/report/IReportGroupVisitor" sourcefilename="IReportGroupVisitor.java"/><class name="org/jacoco/report/ZipMultiReportOutput" sourcefilename="ZipMultiReportOutput.java"><method name="&lt;init&gt;" desc="(Ljava/util/zip/ZipOutputStream;)V" line="36"><counter type="INSTRUCTION" missed="0" covered="6"/><counter type="LINE" missed="0" covered="3"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="&lt;init&gt;" desc="(Ljava/io/OutputStream;)V" line="47"><counter type="INSTRUCTION" missed="0" covered="7"/><counter type="LINE" missed="0" covered="2"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="createFile" desc="(Ljava/lang/String;)Ljava/io/OutputStream;" line="51"><counter type="INSTRUCTION" missed="0" covered="25"/><counter type="BRANCH" missed="0" covered="2"/><counter type="LINE" missed="0" covered="6"/><counter type="COMPLEXITY" missed="0" covered="2"/><counter type="METHOD" missed="0" covered="1"/></method><method name="close" desc="()V" line="61"><counter type="INSTRUCTION" missed="0" covered="4"/><counter type="LINE" missed="0" covered="2"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><counter type="INSTRUCTION" missed="0" covered="42"/><counter type="BRANCH" missed="0" covered="2"/><counter type="LINE" missed="0" covered="13"/><counter type="COMPLEXITY" missed="0" covered="5"/><counter type="METHOD" missed="0" covered="4"/><counter type="CLASS" missed="0" covered="1"/></class><class name="org/jacoco/report/IMultiReportOutput" sourcefilename="IMultiReportOutput.java"/><class name="org/jacoco/report/FileMultiReportOutput" sourcefilename="FileMultiReportOutput.java"><method name="&lt;init&gt;" desc="(Ljava/io/File;)V" line="37"><counter type="INSTRUCTION" missed="0" covered="6"/><counter type="LINE" missed="0" covered="3"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="createFile" desc="(Ljava/lang/String;)Ljava/io/OutputStream;" line="42"><counter type="INSTRUCTION" missed="0" covered="36"/><counter type="BRANCH" missed="0" covered="2"/><counter type="LINE" missed="0" covered="6"/><counter type="COMPLEXITY" missed="0" covered="2"/><counter type="METHOD" missed="0" covered="1"/></method><method name="close" desc="()V" line="53"><counter type="INSTRUCTION" missed="0" covered="1"/><counter type="LINE" missed="0" covered="1"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><counter type="INSTRUCTION" missed="0" covered="43"/><counter type="BRANCH" missed="0" covered="2"/><counter type="LINE" missed="0" covered="10"/><counter type="COMPLEXITY" missed="0" covered="4"/><counter type="METHOD" missed="0" covered="3"/><counter type="CLASS" missed="0" covered="1"/></class><class name="org/jacoco/report/DirectorySourceFileLocator" sourcefilename="DirectorySourceFileLocator.java"><method name="&lt;init&gt;" desc="(Ljava/io/File;Ljava/lang/String;I)V" line="42"><counter type="INSTRUCTION" missed="0" covered="8"/><counter type="LINE" missed="0" covered="3"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="getSourceStream" desc="(Ljava/lang/String;)Ljava/io/InputStream;" line="49"><counter type="INSTRUCTION" missed="0" covered="17"/><counter type="BRANCH" missed="0" covered="2"/><counter type="LINE" missed="0" covered="4"/><counter type="COMPLEXITY" missed="0" covered="2"/><counter type="METHOD" missed="0" covered="1"/></method><counter type="INSTRUCTION" missed="0" covered="25"/><counter type="BRANCH" missed="0" covered="2"/><counter type="LINE" missed="0" covered="7"/><counter type="COMPLEXITY" missed="0" covered="3"/><counter type="METHOD" missed="0" covered="2"/><counter type="CLASS" missed="0" covered="1"/></class><class name="org/jacoco/report/ILanguageNames" sourcefilename="ILanguageNames.java"/><class name="org/jacoco/report/JavaNames" sourcefilename="JavaNames.java"><method name="&lt;init&gt;" desc="()V" line="20"><counter type="INSTRUCTION" missed="0" covered="3"/><counter type="LINE" missed="0" covered="1"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="getPackageName" desc="(Ljava/lang/String;)Ljava/lang/String;" line="23"><counter type="INSTRUCTION" missed="0" covered="10"/><counter type="BRANCH" missed="0" covered="2"/><counter type="LINE" missed="0" covered="3"/><counter type="COMPLEXITY" missed="0" covered="2"/><counter type="METHOD" missed="0" covered="1"/></method><method name="getClassName" desc="(Ljava/lang/String;)Ljava/lang/String;" line="30"><counter type="INSTRUCTION" missed="0" covered="20"/><counter type="BRANCH" missed="0" covered="2"/><counter type="LINE" missed="0" covered="3"/><counter type="COMPLEXITY" missed="0" covered="2"/><counter type="METHOD" missed="0" covered="1"/></method><method name="isAnonymous" desc="(Ljava/lang/String;)Z" line="36"><counter type="INSTRUCTION" missed="0" covered="30"/><counter type="BRANCH" missed="0" covered="6"/><counter type="LINE" missed="0" covered="8"/><counter type="COMPLEXITY" missed="0" covered="4"/><counter type="METHOD" missed="0" covered="1"/></method><method name="getClassName" desc="(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;[Ljava/lang/String;)Ljava/lang/String;" line="52"><counter type="INSTRUCTION" missed="0" covered="55"/><counter type="BRANCH" missed="0" covered="10"/><counter type="LINE" missed="0" covered="12"/><counter type="COMPLEXITY" missed="0" covered="6"/><counter type="METHOD" missed="0" covered="1"/></method><method name="getQualifiedClassName" desc="(Ljava/lang/String;)Ljava/lang/String;" line="75"><counter type="INSTRUCTION" missed="0" covered="8"/><counter type="LINE" missed="0" covered="1"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="getMethodName" desc="(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;" line="81"><counter type="INSTRUCTION" missed="0" covered="7"/><counter type="LINE" missed="0" covered="1"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="getQualifiedMethodName" desc="(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;" line="87"><counter type="INSTRUCTION" missed="0" covered="18"/><counter type="LINE" missed="0" covered="1"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="getMethodName" desc="(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Z)Ljava/lang/String;" line="94"><counter type="INSTRUCTION" missed="0" covered="88"/><counter type="BRANCH" missed="0" covered="12"/><counter type="LINE" missed="0" covered="20"/><counter type="COMPLEXITY" missed="0" covered="7"/><counter type="METHOD" missed="0" covered="1"/></method><method name="getShortTypeName" desc="(Lorg/objectweb/asm/Type;)Ljava/lang/String;" line="127"><counter type="INSTRUCTION" missed="0" covered="23"/><counter type="BRANCH" missed="0" covered="2"/><counter type="LINE" missed="0" covered="4"/><counter type="COMPLEXITY" missed="0" covered="2"/><counter type="METHOD" missed="0" covered="1"/></method><counter type="INSTRUCTION" missed="0" covered="262"/><counter type="BRANCH" missed="0" covered="34"/><counter type="LINE" missed="0" covered="54"/><counter type="COMPLEXITY" missed="0" covered="27"/><counter type="METHOD" missed="0" covered="10"/><counter type="CLASS" missed="0" covered="1"/></class><class name="org/jacoco/report/ISourceFileLocator" sourcefilename="ISourceFileLocator.java"/><class name="org/jacoco/report/MultiReportVisitor" sourcefilename="MultiReportVisitor.java"><method name="&lt;init&gt;" desc="(Ljava/util/List;)V" line="40"><counter type="INSTRUCTION" missed="0" covered="7"/><counter type="LINE" missed="0" covered="3"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="visitInfo" desc="(Ljava/util/List;Ljava/util/Collection;)V" line="46"><counter type="INSTRUCTION" missed="0" covered="17"/><counter type="BRANCH" missed="0" covered="2"/><counter type="LINE" missed="0" covered="3"/><counter type="COMPLEXITY" missed="0" covered="2"/><counter type="METHOD" missed="0" covered="1"/></method><method name="visitEnd" desc="()V" line="52"><counter type="INSTRUCTION" missed="0" covered="15"/><counter type="BRANCH" missed="0" covered="2"/><counter type="LINE" missed="0" covered="3"/><counter type="COMPLEXITY" missed="0" covered="2"/><counter type="METHOD" missed="0" covered="1"/></method><counter type="INSTRUCTION" missed="0" covered="39"/><counter type="BRANCH" missed="0" covered="4"/><counter type="LINE" missed="0" covered="9"/><counter type="COMPLEXITY" missed="0" covered="5"/><counter type="METHOD" missed="0" covered="3"/><counter type="CLASS" missed="0" covered="1"/></class><class name="org/jacoco/report/InputStreamSourceFileLocator" sourcefilename="InputStreamSourceFileLocator.java"><method name="&lt;init&gt;" desc="(Ljava/lang/String;I)V" line="41"><counter type="INSTRUCTION" missed="0" covered="9"/><counter type="LINE" missed="0" covered="4"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="getSourceFile" desc="(Ljava/lang/String;Ljava/lang/String;)Ljava/io/Reader;" line="49"><counter type="INSTRUCTION" missed="0" covered="40"/><counter type="BRANCH" missed="0" covered="6"/><counter type="LINE" missed="0" covered="8"/><counter type="COMPLEXITY" missed="0" covered="4"/><counter type="METHOD" missed="0" covered="1"/></method><method name="getTabWidth" desc="()I" line="67"><counter type="INSTRUCTION" missed="0" covered="3"/><counter type="LINE" missed="0" covered="1"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><counter type="INSTRUCTION" missed="0" covered="52"/><counter type="BRANCH" missed="0" covered="6"/><counter type="LINE" missed="0" covered="13"/><counter type="COMPLEXITY" missed="0" covered="6"/><counter type="METHOD" missed="0" covered="3"/><counter type="CLASS" missed="0" covered="1"/></class><class name="org/jacoco/report/ZipMultiReportOutput$EntryOutput" sourcefilename="ZipMultiReportOutput.java"><method name="&lt;init&gt;" desc="(Lorg/jacoco/report/ZipMultiReportOutput;)V" line="64"><counter type="INSTRUCTION" missed="0" covered="9"/><counter type="LINE" missed="0" covered="2"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="write" desc="([BII)V" line="71"><counter type="INSTRUCTION" missed="0" covered="10"/><counter type="LINE" missed="0" covered="3"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="write" desc="([B)V" line="77"><counter type="INSTRUCTION" missed="0" covered="8"/><counter type="LINE" missed="0" covered="3"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="write" desc="(I)V" line="83"><counter type="INSTRUCTION" missed="0" covered="8"/><counter type="LINE" missed="0" covered="3"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="flush" desc="()V" line="89"><counter type="INSTRUCTION" missed="0" covered="7"/><counter type="LINE" missed="0" covered="3"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="close" desc="()V" line="95"><counter type="INSTRUCTION" missed="0" covered="11"/><counter type="BRANCH" missed="0" covered="2"/><counter type="LINE" missed="0" covered="4"/><counter type="COMPLEXITY" missed="0" covered="2"/><counter type="METHOD" missed="0" covered="1"/></method><method name="ensureNotClosed" desc="()V" line="102"><counter type="INSTRUCTION" missed="0" covered="9"/><counter type="BRANCH" missed="0" covered="2"/><counter type="LINE" missed="0" covered="3"/><counter type="COMPLEXITY" missed="0" covered="2"/><counter type="METHOD" missed="0" covered="1"/></method><counter type="INSTRUCTION" missed="0" covered="62"/><counter type="BRANCH" missed="0" covered="4"/><counter type="LINE" missed="0" covered="21"/><counter type="COMPLEXITY" missed="0" covered="9"/><counter type="METHOD" missed="0" covered="7"/><counter type="CLASS" missed="0" covered="1"/></class><class name="org/jacoco/report/MultiGroupVisitor" sourcefilename="MultiReportVisitor.java"><method name="&lt;init&gt;" desc="(Ljava/util/List;)V" line="63"><counter type="INSTRUCTION" missed="0" covered="6"/><counter type="LINE" missed="0" covered="3"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="visitBundle" desc="(Lorg/jacoco/core/analysis/IBundleCoverage;Lorg/jacoco/report/ISourceFileLocator;)V" line="69"><counter type="INSTRUCTION" missed="0" covered="17"/><counter type="BRANCH" missed="0" covered="2"/><counter type="LINE" missed="0" covered="3"/><counter type="COMPLEXITY" missed="0" covered="2"/><counter type="METHOD" missed="0" covered="1"/></method><method name="visitGroup" desc="(Ljava/lang/String;)Lorg/jacoco/report/IReportGroupVisitor;" line="76"><counter type="INSTRUCTION" missed="0" covered="27"/><counter type="BRANCH" missed="0" covered="2"/><counter type="LINE" missed="0" covered="4"/><counter type="COMPLEXITY" missed="0" covered="2"/><counter type="METHOD" missed="0" covered="1"/></method><counter type="INSTRUCTION" missed="0" covered="50"/><counter type="BRANCH" missed="0" covered="4"/><counter type="LINE" missed="0" covered="10"/><counter type="COMPLEXITY" missed="0" covered="5"/><counter type="METHOD" missed="0" covered="3"/><counter type="CLASS" missed="0" covered="1"/></class><class name="org/jacoco/report/IReportVisitor" sourcefilename="IReportVisitor.java"/><sourcefile name="ILanguageNames.java"/><sourcefile name="MultiReportVisitor.java"><line nr="40" mi="0" ci="3" mb="0" cb="0"/><line nr="41" mi="0" ci="3" mb="0" cb="0"/><line nr="42" mi="0" ci="1" mb="0" cb="0"/><line nr="46" mi="0" ci="11" mb="0" cb="2"/><line nr="47" mi="0" ci="5" mb="0" cb="0"/><line nr="49" mi="0" ci="1" mb="0" cb="0"/><line nr="52" mi="0" ci="11" mb="0" cb="2"/><line nr="53" mi="0" ci="3" mb="0" cb="0"/><line nr="55" mi="0" ci="1" mb="0" cb="0"/><line nr="63" mi="0" ci="2" mb="0" cb="0"/><line nr="64" mi="0" ci="3" mb="0" cb="0"/><line nr="65" mi="0" ci="1" mb="0" cb="0"/><line nr="69" mi="0" ci="11" mb="0" cb="2"/><line nr="70" mi="0" ci="5" mb="0" cb="0"/><line nr="72" mi="0" ci="1" mb="0" cb="0"/><line nr="76" mi="0" ci="4" mb="0" cb="0"/><line nr="77" mi="0" ci="11" mb="0" cb="2"/><line nr="78" mi="0" ci="7" mb="0" cb="0"/><line nr="80" mi="0" ci="5" mb="0" cb="0"/><counter type="INSTRUCTION" missed="0" covered="89"/><counter type="BRANCH" missed="0" covered="8"/><counter type="LINE" missed="0" covered="19"/><counter type="COMPLEXITY" missed="0" covered="10"/><counter type="METHOD" missed="0" covered="6"/><counter type="CLASS" missed="0" covered="2"/></sourcefile><sourcefile name="ISourceFileLocator.java"/><sourcefile name="MultiSourceFileLocator.java"><line nr="38" mi="0" ci="2" mb="0" cb="0"/><line nr="39" mi="0" ci="3" mb="0" cb="0"/><line nr="40" mi="0" ci="5" mb="0" cb="0"/><line nr="41" mi="0" ci="1" mb="0" cb="0"/><line nr="51" mi="0" ci="5" mb="0" cb="0"/><line nr="52" mi="0" ci="1" mb="0" cb="0"/><line nr="56" mi="0" ci="11" mb="0" cb="2"/><line nr="57" mi="0" ci="5" mb="0" cb="0"/><line nr="58" mi="0" ci="2" mb="0" cb="2"/><line nr="59" mi="0" ci="2" mb="0" cb="0"/><line nr="61" mi="0" ci="1" mb="0" cb="0"/><line nr="62" mi="0" ci="2" mb="0" cb="0"/><line nr="66" mi="0" ci="3" mb="0" cb="0"/><counter type="INSTRUCTION" missed="0" covered="43"/><counter type="BRANCH" missed="0" covered="4"/><counter type="LINE" missed="0" covered="13"/><counter type="COMPLEXITY" missed="0" covered="6"/><counter type="METHOD" missed="0" covered="4"/><counter type="CLASS" missed="0" covered="1"/></sourcefile><sourcefile name="IReportGroupVisitor.java"/><sourcefile name="JavaNames.java"><line nr="20" mi="0" ci="3" mb="0" cb="0"/><line nr="23" mi="0" ci="3" mb="0" cb="2"/><line nr="24" mi="0" ci="2" mb="0" cb="0"/><line nr="26" mi="0" ci="5" mb="0" cb="0"/><line nr="30" mi="0" ci="4" mb="0" cb="0"/><line nr="31" mi="0" ci="11" mb="0" cb="2"/><line nr="32" mi="0" ci="5" mb="0" cb="0"/><line nr="36" mi="0" ci="4" mb="0" cb="0"/><line nr="37" mi="0" ci="3" mb="0" cb="2"/><line nr="38" mi="0" ci="2" mb="0" cb="0"/><line nr="40" mi="0" ci="4" mb="0" cb="0"/><line nr="41" mi="0" ci="4" mb="0" cb="2"/><line nr="43" mi="0" ci="2" mb="0" cb="0"/><line nr="46" mi="0" ci="4" mb="0" cb="0"/><line nr="47" mi="0" ci="7" mb="0" cb="2"/><line nr="52" mi="0" ci="4" mb="0" cb="2"/><line nr="54" mi="0" ci="5" mb="0" cb="4"/><line nr="55" mi="0" ci="5" mb="0" cb="0"/><line nr="56" mi="0" ci="2" mb="0" cb="2"/><line nr="57" mi="0" ci="3" mb="0" cb="0"/><line nr="59" mi="0" ci="2" mb="0" cb="0"/><line nr="62" mi="0" ci="2" mb="0" cb="2"/><line nr="63" mi="0" ci="4" mb="0" cb="0"/><line nr="64" mi="0" ci="7" mb="0" cb="0"/><line nr="66" mi="0" ci="14" mb="0" cb="0"/><line nr="68" mi="0" ci="3" mb="0" cb="0"/><line nr="71" mi="0" ci="4" mb="0" cb="0"/><line nr="75" mi="0" ci="8" mb="0" cb="0"/><line nr="81" mi="0" ci="7" mb="0" cb="0"/><line nr="87" mi="0" ci="18" mb="0" cb="0"/><line nr="94" mi="0" ci="4" mb="0" cb="2"/><line nr="95" mi="0" ci="2" mb="0" cb="0"/><line nr="97" mi="0" ci="4" mb="0" cb="0"/><line nr="98" mi="0" ci="4" mb="0" cb="2"/><line nr="99" mi="0" ci="4" mb="0" cb="2"/><line nr="100" mi="0" ci="2" mb="0" cb="0"/><line nr="102" mi="0" ci="7" mb="0" cb="0"/><line nr="105" mi="0" ci="4" mb="0" cb="0"/><line nr="107" mi="0" ci="4" mb="0" cb="0"/><line nr="108" mi="0" ci="3" mb="0" cb="0"/><line nr="109" mi="0" ci="2" mb="0" cb="0"/><line nr="110" mi="0" ci="16" mb="0" cb="2"/><line nr="111" mi="0" ci="2" mb="0" cb="2"/><line nr="112" mi="0" ci="5" mb="0" cb="0"/><line nr="114" mi="0" ci="2" mb="0" cb="0"/><line nr="116" mi="0" ci="2" mb="0" cb="2"/><line nr="117" mi="0" ci="8" mb="0" cb="0"/><line nr="119" mi="0" ci="6" mb="0" cb="0"/><line nr="122" mi="0" ci="4" mb="0" cb="0"/><line nr="123" mi="0" ci="3" mb="0" cb="0"/><line nr="127" mi="0" ci="3" mb="0" cb="0"/><line nr="128" mi="0" ci="4" mb="0" cb="0"/><line nr="129" mi="0" ci="11" mb="0" cb="2"/><line nr="130" mi="0" ci="5" mb="0" cb="0"/><counter type="INSTRUCTION" missed="0" covered="262"/><counter type="BRANCH" missed="0" covered="34"/><counter type="LINE" missed="0" covered="54"/><counter type="COMPLEXITY" missed="0" covered="27"/><counter type="METHOD" missed="0" covered="10"/><counter type="CLASS" missed="0" covered="1"/></sourcefile><sourcefile name="FileMultiReportOutput.java"><line nr="37" mi="0" ci="2" mb="0" cb="0"/><line nr="38" mi="0" ci="3" mb="0" cb="0"/><line nr="39" mi="0" ci="1" mb="0" cb="0"/><line nr="42" mi="0" ci="7" mb="0" cb="0"/><line nr="43" mi="0" ci="3" mb="0" cb="0"/><line nr="44" mi="0" ci="3" mb="0" cb="0"/><line nr="45" mi="0" ci="3" mb="0" cb="2"/><line nr="46" mi="0" ci="12" mb="0" cb="0"/><line nr="48" mi="0" ci="8" mb="0" cb="0"/><line nr="53" mi="0" ci="1" mb="0" cb="0"/><counter type="INSTRUCTION" missed="0" covered="43"/><counter type="BRANCH" missed="0" covered="2"/><counter type="LINE" missed="0" covered="10"/><counter type="COMPLEXITY" missed="0" covered="4"/><counter type="METHOD" missed="0" covered="3"/><counter type="CLASS" missed="0" covered="1"/></sourcefile><sourcefile name="IMultiReportOutput.java"/><sourcefile name="IReportVisitor.java"/><sourcefile name="DirectorySourceFileLocator.java"><line nr="42" mi="0" ci="4" mb="0" cb="0"/><line nr="43" mi="0" ci="3" mb="0" cb="0"/><line nr="44" mi="0" ci="1" mb="0" cb="0"/><line nr="49" mi="0" ci="7" mb="0" cb="0"/><line nr="50" mi="0" ci="3" mb="0" cb="2"/><line nr="51" mi="0" ci="5" mb="0" cb="0"/><line nr="53" mi="0" ci="2" mb="0" cb="0"/><counter type="INSTRUCTION" missed="0" covered="25"/><counter type="BRANCH" missed="0" covered="2"/><counter type="LINE" missed="0" covered="7"/><counter type="COMPLEXITY" missed="0" covered="3"/><counter type="METHOD" missed="0" covered="2"/><counter type="CLASS" missed="0" covered="1"/></sourcefile><sourcefile name="ZipMultiReportOutput.java"><line nr="36" mi="0" ci="2" mb="0" cb="0"/><line nr="37" mi="0" ci="3" mb="0" cb="0"/><line nr="38" mi="0" ci="1" mb="0" cb="0"/><line nr="47" mi="0" ci="6" mb="0" cb="0"/><line nr="48" mi="0" ci="1" mb="0" cb="0"/><line nr="51" mi="0" ci="3" mb="0" cb="2"/><line nr="52" mi="0" ci="3" mb="0" cb="0"/><line nr="54" mi="0" ci="5" mb="0" cb="0"/><line nr="55" mi="0" ci="4" mb="0" cb="0"/><line nr="56" mi="0" ci="7" mb="0" cb="0"/><line nr="57" mi="0" ci="3" mb="0" cb="0"/><line nr="61" mi="0" ci="3" mb="0" cb="0"/><line nr="62" mi="0" ci="1" mb="0" cb="0"/><line nr="64" mi="0" ci="5" mb="0" cb="0"/><line nr="66" mi="0" ci="4" mb="0" cb="0"/><line nr="71" mi="0" ci="2" mb="0" cb="0"/><line nr="72" mi="0" ci="7" mb="0" cb="0"/><line nr="73" mi="0" ci="1" mb="0" cb="0"/><line nr="77" mi="0" ci="2" mb="0" cb="0"/><line nr="78" mi="0" ci="5" mb="0" cb="0"/><line nr="79" mi="0" ci="1" mb="0" cb="0"/><line nr="83" mi="0" ci="2" mb="0" cb="0"/><line nr="84" mi="0" ci="5" mb="0" cb="0"/><line nr="85" mi="0" ci="1" mb="0" cb="0"/><line nr="89" mi="0" ci="2" mb="0" cb="0"/><line nr="90" mi="0" ci="4" mb="0" cb="0"/><line nr="91" mi="0" ci="1" mb="0" cb="0"/><line nr="95" mi="0" ci="3" mb="0" cb="2"/><line nr="96" mi="0" ci="3" mb="0" cb="0"/><line nr="97" mi="0" ci="4" mb="0" cb="0"/><line nr="99" mi="0" ci="1" mb="0" cb="0"/><line nr="102" mi="0" ci="3" mb="0" cb="2"/><line nr="103" mi="0" ci="5" mb="0" cb="0"/><line nr="105" mi="0" ci="1" mb="0" cb="0"/><counter type="INSTRUCTION" missed="0" covered="104"/><counter type="BRANCH" missed="0" covered="6"/><counter type="LINE" missed="0" covered="34"/><counter type="COMPLEXITY" missed="0" covered="14"/><counter type="METHOD" missed="0" covered="11"/><counter type="CLASS" missed="0" covered="2"/></sourcefile><sourcefile name="InputStreamSourceFileLocator.java"><line nr="41" mi="0" ci="2" mb="0" cb="0"/><line nr="42" mi="0" ci="3" mb="0" cb="0"/><line nr="43" mi="0" ci="3" mb="0" cb="0"/><line nr="44" mi="0" ci="1" mb="0" cb="0"/><line nr="49" mi="0" ci="3" mb="0" cb="2"/><line nr="50" mi="0" ci="14" mb="0" cb="0"/><line nr="52" mi="0" ci="4" mb="0" cb="0"/><line nr="55" mi="0" ci="2" mb="0" cb="2"/><line nr="56" mi="0" ci="2" mb="0" cb="0"/><line nr="59" mi="0" ci="3" mb="0" cb="2"/><line nr="60" mi="0" ci="5" mb="0" cb="0"/><line nr="62" mi="0" ci="7" mb="0" cb="0"/><line nr="67" mi="0" ci="3" mb="0" cb="0"/><counter type="INSTRUCTION" missed="0" covered="52"/><counter type="BRANCH" missed="0" covered="6"/><counter type="LINE" missed="0" covered="13"/><counter type="COMPLEXITY" missed="0" covered="6"/><counter type="METHOD" missed="0" covered="3"/><counter type="CLASS" missed="0" covered="1"/></sourcefile><counter type="INSTRUCTION" missed="0" covered="618"/><counter type="BRANCH" missed="0" covered="62"/><counter type="LINE" missed="0" covered="150"/><counter type="COMPLEXITY" missed="0" covered="70"/><counter type="METHOD" missed="0" covered="39"/><counter type="CLASS" missed="0" covered="9"/></package><package name="org/jacoco/report/internal/html/index"><class name="org/jacoco/report/internal/html/index/ElementIndex" sourcefilename="ElementIndex.java"><method name="&lt;init&gt;" desc="(Lorg/jacoco/report/internal/ReportOutputFolder;)V" line="29"><counter type="INSTRUCTION" missed="0" covered="11"/><counter type="LINE" missed="0" covered="4"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="getLinkToClass" desc="(J)Ljava/lang/String;" line="50"><counter type="INSTRUCTION" missed="0" covered="7"/><counter type="LINE" missed="0" covered="1"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="addClass" desc="(Lorg/jacoco/report/internal/html/ILinkable;J)V" line="56"><counter type="INSTRUCTION" missed="0" covered="11"/><counter type="LINE" missed="0" covered="2"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><counter type="INSTRUCTION" missed="0" covered="29"/><counter type="LINE" missed="0" covered="7"/><counter type="COMPLEXITY" missed="0" covered="3"/><counter type="METHOD" missed="0" covered="3"/><counter type="CLASS" missed="0" covered="1"/></class><class name="org/jacoco/report/internal/html/index/IIndexUpdate" sourcefilename="IIndexUpdate.java"/><sourcefile name="IIndexUpdate.java"/><sourcefile name="ElementIndex.java"><line nr="29" mi="0" ci="5" mb="0" cb="0"/><line nr="37" mi="0" ci="2" mb="0" cb="0"/><line nr="38" mi="0" ci="3" mb="0" cb="0"/><line nr="39" mi="0" ci="1" mb="0" cb="0"/><line nr="50" mi="0" ci="7" mb="0" cb="0"/><line nr="56" mi="0" ci="10" mb="0" cb="0"/><line nr="57" mi="0" ci="1" mb="0" cb="0"/><counter type="INSTRUCTION" missed="0" covered="29"/><counter type="LINE" missed="0" covered="7"/><counter type="COMPLEXITY" missed="0" covered="3"/><counter type="METHOD" missed="0" covered="3"/><counter type="CLASS" missed="0" covered="1"/></sourcefile><counter type="INSTRUCTION" missed="0" covered="29"/><counter type="LINE" missed="0" covered="7"/><counter type="COMPLEXITY" missed="0" covered="3"/><counter type="METHOD" missed="0" covered="3"/><counter type="CLASS" missed="0" covered="1"/></package><package name="org/jacoco/report/internal/html"><class name="org/jacoco/report/internal/html/IHTMLReportContext" sourcefilename="IHTMLReportContext.java"/><class name="org/jacoco/report/internal/html/HTMLGroupVisitor" sourcefilename="HTMLGroupVisitor.java"><method name="&lt;init&gt;" desc="(Lorg/jacoco/report/internal/html/page/ReportPage;Lorg/jacoco/report/internal/ReportOutputFolder;Lorg/jacoco/report/internal/html/IHTMLReportContext;Ljava/lang/String;)V" line="53"><counter type="INSTRUCTION" missed="0" covered="20"/><counter type="LINE" missed="0" covered="5"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="getPage" desc="()Lorg/jacoco/report/internal/html/page/NodePage;" line="65"><counter type="INSTRUCTION" missed="0" covered="3"/><counter type="LINE" missed="0" covered="1"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="handleBundle" desc="(Lorg/jacoco/core/analysis/IBundleCoverage;Lorg/jacoco/report/ISourceFileLocator;)V" line="71"><counter type="INSTRUCTION" missed="0" covered="22"/><counter type="LINE" missed="0" covered="4"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="handleGroup" desc="(Ljava/lang/String;)Lorg/jacoco/report/internal/AbstractGroupVisitor;" line="80"><counter type="INSTRUCTION" missed="0" covered="20"/><counter type="LINE" missed="0" covered="3"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="handleEnd" desc="()V" line="88"><counter type="INSTRUCTION" missed="0" covered="4"/><counter type="LINE" missed="0" covered="2"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><counter type="INSTRUCTION" missed="0" covered="69"/><counter type="LINE" missed="0" covered="15"/><counter type="COMPLEXITY" missed="0" covered="5"/><counter type="METHOD" missed="0" covered="5"/><counter type="CLASS" missed="0" covered="1"/></class><class name="org/jacoco/report/internal/html/HTMLElement" sourcefilename="HTMLElement.java"><method name="&lt;init&gt;" desc="(Ljava/io/OutputStream;Ljava/lang/String;)V" line="43"><counter type="INSTRUCTION" missed="0" covered="13"/><counter type="LINE" missed="0" covered="3"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="&lt;init&gt;" desc="(Ljava/lang/String;Lorg/jacoco/report/internal/html/HTMLElement;)V" line="49"><counter type="INSTRUCTION" missed="0" covered="5"/><counter type="LINE" missed="0" covered="2"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="element" desc="(Ljava/lang/String;)Lorg/jacoco/report/internal/html/HTMLElement;" line="54"><counter type="INSTRUCTION" missed="0" covered="6"/><counter type="LINE" missed="0" covered="1"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="classattr" desc="(Ljava/lang/String;)V" line="58"><counter type="INSTRUCTION" missed="0" covered="5"/><counter type="LINE" missed="0" covered="2"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="head" desc="()Lorg/jacoco/report/internal/html/HTMLElement;" line="69"><counter type="INSTRUCTION" missed="0" covered="4"/><counter type="LINE" missed="0" covered="1"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="body" desc="()Lorg/jacoco/report/internal/html/HTMLElement;" line="80"><counter type="INSTRUCTION" missed="0" covered="4"/><counter type="LINE" missed="0" covered="1"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="meta" desc="(Ljava/lang/String;Ljava/lang/String;)Lorg/jacoco/report/internal/html/HTMLElement;" line="96"><counter type="INSTRUCTION" missed="0" covered="14"/><counter type="LINE" missed="0" covered="4"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="link" desc="(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Lorg/jacoco/report/internal/html/HTMLElement;" line="117"><counter type="INSTRUCTION" missed="0" covered="18"/><counter type="LINE" missed="0" covered="5"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="title" desc="()Lorg/jacoco/report/internal/html/HTMLElement;" line="132"><counter type="INSTRUCTION" missed="0" covered="4"/><counter type="LINE" missed="0" covered="1"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="h1" desc="()Lorg/jacoco/report/internal/html/HTMLElement;" line="143"><counter type="INSTRUCTION" missed="0" covered="4"/><counter type="LINE" missed="0" covered="1"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="p" desc="()Lorg/jacoco/report/internal/html/HTMLElement;" line="154"><counter type="INSTRUCTION" missed="0" covered="4"/><counter type="LINE" missed="0" covered="1"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="span" desc="()Lorg/jacoco/report/internal/html/HTMLElement;" line="165"><counter type="INSTRUCTION" missed="0" covered="4"/><counter type="LINE" missed="0" covered="1"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="span" desc="(Ljava/lang/String;)Lorg/jacoco/report/internal/html/HTMLElement;" line="178"><counter type="INSTRUCTION" missed="0" covered="8"/><counter type="LINE" missed="0" covered="3"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="span" desc="(Ljava/lang/String;Ljava/lang/String;)Lorg/jacoco/report/internal/html/HTMLElement;" line="196"><counter type="INSTRUCTION" missed="0" covered="10"/><counter type="LINE" missed="0" covered="3"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="div" desc="(Ljava/lang/String;)Lorg/jacoco/report/internal/html/HTMLElement;" line="211"><counter type="INSTRUCTION" missed="0" covered="9"/><counter type="LINE" missed="0" covered="3"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="code" desc="()Lorg/jacoco/report/internal/html/HTMLElement;" line="224"><counter type="INSTRUCTION" missed="0" covered="4"/><counter type="LINE" missed="0" covered="1"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="pre" desc="(Ljava/lang/String;)Lorg/jacoco/report/internal/html/HTMLElement;" line="237"><counter type="INSTRUCTION" missed="0" covered="9"/><counter type="LINE" missed="0" covered="3"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="a" desc="(Ljava/lang/String;)Lorg/jacoco/report/internal/html/HTMLElement;" line="252"><counter type="INSTRUCTION" missed="0" covered="10"/><counter type="LINE" missed="0" covered="3"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="a" desc="(Ljava/lang/String;Ljava/lang/String;)Lorg/jacoco/report/internal/html/HTMLElement;" line="270"><counter type="INSTRUCTION" missed="0" covered="9"/><counter type="LINE" missed="0" covered="3"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="a" desc="(Lorg/jacoco/report/internal/html/ILinkable;Lorg/jacoco/report/internal/ReportOutputFolder;)Lorg/jacoco/report/internal/html/HTMLElement;" line="289"><counter type="INSTRUCTION" missed="0" covered="24"/><counter type="BRANCH" missed="0" covered="2"/><counter type="LINE" missed="0" covered="6"/><counter type="COMPLEXITY" missed="0" covered="2"/><counter type="METHOD" missed="0" covered="1"/></method><method name="table" desc="(Ljava/lang/String;)Lorg/jacoco/report/internal/html/HTMLElement;" line="309"><counter type="INSTRUCTION" missed="0" covered="13"/><counter type="LINE" missed="0" covered="4"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="thead" desc="()Lorg/jacoco/report/internal/html/HTMLElement;" line="323"><counter type="INSTRUCTION" missed="0" covered="4"/><counter type="LINE" missed="0" covered="1"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="tfoot" desc="()Lorg/jacoco/report/internal/html/HTMLElement;" line="334"><counter type="INSTRUCTION" missed="0" covered="4"/><counter type="LINE" missed="0" covered="1"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="tbody" desc="()Lorg/jacoco/report/internal/html/HTMLElement;" line="345"><counter type="INSTRUCTION" missed="0" covered="4"/><counter type="LINE" missed="0" covered="1"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="tr" desc="()Lorg/jacoco/report/internal/html/HTMLElement;" line="356"><counter type="INSTRUCTION" missed="0" covered="4"/><counter type="LINE" missed="0" covered="1"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="td" desc="()Lorg/jacoco/report/internal/html/HTMLElement;" line="367"><counter type="INSTRUCTION" missed="0" covered="4"/><counter type="LINE" missed="0" covered="1"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="td" desc="(Ljava/lang/String;)Lorg/jacoco/report/internal/html/HTMLElement;" line="380"><counter type="INSTRUCTION" missed="0" covered="8"/><counter type="LINE" missed="0" covered="3"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="img" desc="(Ljava/lang/String;IILjava/lang/String;)V" line="401"><counter type="INSTRUCTION" missed="0" covered="27"/><counter type="LINE" missed="0" covered="8"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="script" desc="(Ljava/lang/String;)V" line="419"><counter type="INSTRUCTION" missed="0" covered="18"/><counter type="LINE" missed="0" covered="6"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><counter type="INSTRUCTION" missed="0" covered="254"/><counter type="BRANCH" missed="0" covered="2"/><counter type="LINE" missed="0" covered="74"/><counter type="COMPLEXITY" missed="0" covered="30"/><counter type="METHOD" missed="0" covered="29"/><counter type="CLASS" missed="0" covered="1"/></class><class name="org/jacoco/report/internal/html/ILinkable" sourcefilename="ILinkable.java"/><sourcefile name="IHTMLReportContext.java"/><sourcefile name="HTMLElement.java"><line nr="43" mi="0" ci="8" mb="0" cb="0"/><line nr="44" mi="0" ci="4" mb="0" cb="0"/><line nr="45" mi="0" ci="1" mb="0" cb="0"/><line nr="49" mi="0" ci="4" mb="0" cb="0"/><line nr="50" mi="0" ci="1" mb="0" cb="0"/><line nr="54" mi="0" ci="6" mb="0" cb="0"/><line nr="58" mi="0" ci="4" mb="0" cb="0"/><line nr="59" mi="0" ci="1" mb="0" cb="0"/><line nr="69" mi="0" ci="4" mb="0" cb="0"/><line nr="80" mi="0" ci="4" mb="0" cb="0"/><line nr="96" mi="0" ci="4" mb="0" cb="0"/><line nr="97" mi="0" ci="4" mb="0" cb="0"/><line nr="98" mi="0" ci="4" mb="0" cb="0"/><line nr="99" mi="0" ci="2" mb="0" cb="0"/><line nr="117" mi="0" ci="4" mb="0" cb="0"/><line nr="118" mi="0" ci="4" mb="0" cb="0"/><line nr="119" mi="0" ci="4" mb="0" cb="0"/><line nr="120" mi="0" ci="4" mb="0" cb="0"/><line nr="121" mi="0" ci="2" mb="0" cb="0"/><line nr="132" mi="0" ci="4" mb="0" cb="0"/><line nr="143" mi="0" ci="4" mb="0" cb="0"/><line nr="154" mi="0" ci="4" mb="0" cb="0"/><line nr="165" mi="0" ci="4" mb="0" cb="0"/><line nr="178" mi="0" ci="3" mb="0" cb="0"/><line nr="179" mi="0" ci="3" mb="0" cb="0"/><line nr="180" mi="0" ci="2" mb="0" cb="0"/><line nr="196" mi="0" ci="4" mb="0" cb="0"/><line nr="197" mi="0" ci="4" mb="0" cb="0"/><line nr="198" mi="0" ci="2" mb="0" cb="0"/><line nr="211" mi="0" ci="4" mb="0" cb="0"/><line nr="212" mi="0" ci="3" mb="0" cb="0"/><line nr="213" mi="0" ci="2" mb="0" cb="0"/><line nr="224" mi="0" ci="4" mb="0" cb="0"/><line nr="237" mi="0" ci="4" mb="0" cb="0"/><line nr="238" mi="0" ci="3" mb="0" cb="0"/><line nr="239" mi="0" ci="2" mb="0" cb="0"/><line nr="252" mi="0" ci="4" mb="0" cb="0"/><line nr="253" mi="0" ci="4" mb="0" cb="0"/><line nr="254" mi="0" ci="2" mb="0" cb="0"/><line nr="270" mi="0" ci="4" mb="0" cb="0"/><line nr="271" mi="0" ci="3" mb="0" cb="0"/><line nr="272" mi="0" ci="2" mb="0" cb="0"/><line nr="289" mi="0" ci="4" mb="0" cb="0"/><line nr="290" mi="0" ci="2" mb="0" cb="2"/><line nr="291" mi="0" ci="6" mb="0" cb="0"/><line nr="293" mi="0" ci="6" mb="0" cb="0"/><line nr="295" mi="0" ci="4" mb="0" cb="0"/><line nr="296" mi="0" ci="2" mb="0" cb="0"/><line nr="309" mi="0" ci="4" mb="0" cb="0"/><line nr="310" mi="0" ci="3" mb="0" cb="0"/><line nr="311" mi="0" ci="4" mb="0" cb="0"/><line nr="312" mi="0" ci="2" mb="0" cb="0"/><line nr="323" mi="0" ci="4" mb="0" cb="0"/><line nr="334" mi="0" ci="4" mb="0" cb="0"/><line nr="345" mi="0" ci="4" mb="0" cb="0"/><line nr="356" mi="0" ci="4" mb="0" cb="0"/><line nr="367" mi="0" ci="4" mb="0" cb="0"/><line nr="380" mi="0" ci="3" mb="0" cb="0"/><line nr="381" mi="0" ci="3" mb="0" cb="0"/><line nr="382" mi="0" ci="2" mb="0" cb="0"/><line nr="401" mi="0" ci="4" mb="0" cb="0"/><line nr="402" mi="0" ci="4" mb="0" cb="0"/><line nr="403" mi="0" ci="4" mb="0" cb="0"/><line nr="404" mi="0" ci="4" mb="0" cb="0"/><line nr="405" mi="0" ci="4" mb="0" cb="0"/><line nr="406" mi="0" ci="4" mb="0" cb="0"/><line nr="407" mi="0" ci="2" mb="0" cb="0"/><line nr="408" mi="0" ci="1" mb="0" cb="0"/><line nr="419" mi="0" ci="4" mb="0" cb="0"/><line nr="420" mi="0" ci="4" mb="0" cb="0"/><line nr="421" mi="0" ci="4" mb="0" cb="0"/><line nr="423" mi="0" ci="3" mb="0" cb="0"/><line nr="424" mi="0" ci="2" mb="0" cb="0"/><line nr="425" mi="0" ci="1" mb="0" cb="0"/><counter type="INSTRUCTION" missed="0" covered="254"/><counter type="BRANCH" missed="0" covered="2"/><counter type="LINE" missed="0" covered="74"/><counter type="COMPLEXITY" missed="0" covered="30"/><counter type="METHOD" missed="0" covered="29"/><counter type="CLASS" missed="0" covered="1"/></sourcefile><sourcefile name="HTMLGroupVisitor.java"><line nr="53" mi="0" ci="3" mb="0" cb="0"/><line nr="54" mi="0" ci="3" mb="0" cb="0"/><line nr="55" mi="0" ci="3" mb="0" cb="0"/><line nr="56" mi="0" ci="10" mb="0" cb="0"/><line nr="57" mi="0" ci="1" mb="0" cb="0"/><line nr="65" mi="0" ci="3" mb="0" cb="0"/><line nr="71" mi="0" ci="15" mb="0" cb="0"/><line nr="73" mi="0" ci="2" mb="0" cb="0"/><line nr="74" mi="0" ci="4" mb="0" cb="0"/><line nr="75" mi="0" ci="1" mb="0" cb="0"/><line nr="80" mi="0" ci="13" mb="0" cb="0"/><line nr="82" mi="0" ci="5" mb="0" cb="0"/><line nr="83" mi="0" ci="2" mb="0" cb="0"/><line nr="88" mi="0" ci="3" mb="0" cb="0"/><line nr="89" mi="0" ci="1" mb="0" cb="0"/><counter type="INSTRUCTION" missed="0" covered="69"/><counter type="LINE" missed="0" covered="15"/><counter type="COMPLEXITY" missed="0" covered="5"/><counter type="METHOD" missed="0" covered="5"/><counter type="CLASS" missed="0" covered="1"/></sourcefile><sourcefile name="ILinkable.java"/><counter type="INSTRUCTION" missed="0" covered="323"/><counter type="BRANCH" missed="0" covered="2"/><counter type="LINE" missed="0" covered="89"/><counter type="COMPLEXITY" missed="0" covered="35"/><counter type="METHOD" missed="0" covered="34"/><counter type="CLASS" missed="0" covered="2"/></package><package name="org/jacoco/report/xml"><class name="org/jacoco/report/xml/XMLFormatter" sourcefilename="XMLFormatter.java"><method name="&lt;init&gt;" desc="()V" line="33"><counter type="INSTRUCTION" missed="0" covered="6"/><counter type="LINE" missed="0" covered="2"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="setOutputEncoding" desc="(Ljava/lang/String;)V" line="44"><counter type="INSTRUCTION" missed="0" covered="4"/><counter type="LINE" missed="0" covered="2"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="createVisitor" desc="(Ljava/io/OutputStream;)Lorg/jacoco/report/IReportVisitor;" line="98"><counter type="INSTRUCTION" missed="0" covered="6"/><counter type="LINE" missed="0" covered="1"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><counter type="INSTRUCTION" missed="0" covered="16"/><counter type="LINE" missed="0" covered="5"/><counter type="COMPLEXITY" missed="0" covered="3"/><counter type="METHOD" missed="0" covered="3"/><counter type="CLASS" missed="0" covered="1"/></class><class name="org/jacoco/report/xml/XMLFormatter$1RootVisitor" sourcefilename="XMLFormatter.java"><method name="&lt;init&gt;" desc="(Lorg/jacoco/report/xml/XMLFormatter;Ljava/io/OutputStream;)V" line="58"><counter type="INSTRUCTION" missed="0" covered="9"/><counter type="LINE" missed="0" covered="1"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="visitInfo" desc="(Ljava/util/List;Ljava/util/Collection;)V" line="67"><counter type="INSTRUCTION" missed="0" covered="4"/><counter type="LINE" missed="0" covered="2"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="visitBundle" desc="(Lorg/jacoco/core/analysis/IBundleCoverage;Lorg/jacoco/report/ISourceFileLocator;)V" line="72"><counter type="INSTRUCTION" missed="0" covered="9"/><counter type="LINE" missed="0" covered="3"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="visitGroup" desc="(Ljava/lang/String;)Lorg/jacoco/report/IReportGroupVisitor;" line="78"><counter type="INSTRUCTION" missed="0" covered="14"/><counter type="LINE" missed="0" covered="3"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="createRootElement" desc="(Ljava/lang/String;)V" line="85"><counter type="INSTRUCTION" missed="0" covered="28"/><counter type="BRANCH" missed="0" covered="2"/><counter type="LINE" missed="0" covered="4"/><counter type="COMPLEXITY" missed="0" covered="2"/><counter type="METHOD" missed="0" covered="1"/></method><method name="visitEnd" desc="()V" line="92"><counter type="INSTRUCTION" missed="0" covered="10"/><counter type="BRANCH" missed="0" covered="2"/><counter type="LINE" missed="0" covered="4"/><counter type="COMPLEXITY" missed="0" covered="2"/><counter type="METHOD" missed="0" covered="1"/></method><counter type="INSTRUCTION" missed="0" covered="74"/><counter type="BRANCH" missed="0" covered="4"/><counter type="LINE" missed="0" covered="17"/><counter type="COMPLEXITY" missed="0" covered="8"/><counter type="METHOD" missed="0" covered="6"/><counter type="CLASS" missed="0" covered="1"/></class><sourcefile name="XMLFormatter.java"><line nr="33" mi="0" ci="2" mb="0" cb="0"/><line nr="35" mi="0" ci="4" mb="0" cb="0"/><line nr="44" mi="0" ci="3" mb="0" cb="0"/><line nr="45" mi="0" ci="1" mb="0" cb="0"/><line nr="58" mi="0" ci="9" mb="0" cb="0"/><line nr="67" mi="0" ci="3" mb="0" cb="0"/><line nr="68" mi="0" ci="1" mb="0" cb="0"/><line nr="72" mi="0" ci="4" mb="0" cb="0"/><line nr="73" mi="0" ci="4" mb="0" cb="0"/><line nr="74" mi="0" ci="1" mb="0" cb="0"/><line nr="78" mi="0" ci="3" mb="0" cb="0"/><line nr="79" mi="0" ci="8" mb="0" cb="0"/><line nr="80" mi="0" ci="3" mb="0" cb="0"/><line nr="85" mi="0" ci="11" mb="0" cb="0"/><line nr="86" mi="0" ci="11" mb="0" cb="2"/><line nr="87" mi="0" ci="5" mb="0" cb="0"/><line nr="89" mi="0" ci="1" mb="0" cb="0"/><line nr="92" mi="0" ci="3" mb="0" cb="2"/><line nr="93" mi="0" ci="3" mb="0" cb="0"/><line nr="95" mi="0" ci="3" mb="0" cb="0"/><line nr="96" mi="0" ci="1" mb="0" cb="0"/><line nr="98" mi="0" ci="6" mb="0" cb="0"/><counter type="INSTRUCTION" missed="0" covered="90"/><counter type="BRANCH" missed="0" covered="4"/><counter type="LINE" missed="0" covered="22"/><counter type="COMPLEXITY" missed="0" covered="11"/><counter type="METHOD" missed="0" covered="9"/><counter type="CLASS" missed="0" covered="2"/></sourcefile><counter type="INSTRUCTION" missed="0" covered="90"/><counter type="BRANCH" missed="0" covered="4"/><counter type="LINE" missed="0" covered="22"/><counter type="COMPLEXITY" missed="0" covered="11"/><counter type="METHOD" missed="0" covered="9"/><counter type="CLASS" missed="0" covered="2"/></package><package name="org/jacoco/report/internal/html/table"><class name="org/jacoco/report/internal/html/table/PercentageColumn" sourcefilename="PercentageColumn.java"><method name="&lt;init&gt;" desc="(Lorg/jacoco/core/analysis/ICoverageNode$CounterEntity;Ljava/util/Locale;)V" line="53"><counter type="INSTRUCTION" missed="0" covered="18"/><counter type="LINE" missed="0" covered="5"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="init" desc="(Ljava/util/List;Lorg/jacoco/core/analysis/ICoverageNode;)Z" line="62"><counter type="INSTRUCTION" missed="0" covered="2"/><counter type="LINE" missed="0" covered="1"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="footer" desc="(Lorg/jacoco/report/internal/html/HTMLElement;Lorg/jacoco/core/analysis/ICoverageNode;Lorg/jacoco/report/internal/html/resources/Resources;Lorg/jacoco/report/internal/ReportOutputFolder;)V" line="68"><counter type="INSTRUCTION" missed="0" covered="5"/><counter type="LINE" missed="0" covered="2"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="item" desc="(Lorg/jacoco/report/internal/html/HTMLElement;Lorg/jacoco/report/internal/html/table/ITableItem;Lorg/jacoco/report/internal/html/resources/Resources;Lorg/jacoco/report/internal/ReportOutputFolder;)V" line="74"><counter type="INSTRUCTION" missed="0" covered="6"/><counter type="LINE" missed="0" covered="2"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="cell" desc="(Lorg/jacoco/report/internal/html/HTMLElement;Lorg/jacoco/core/analysis/ICoverageNode;)V" line="79"><counter type="INSTRUCTION" missed="0" covered="21"/><counter type="BRANCH" missed="0" covered="2"/><counter type="LINE" missed="0" covered="6"/><counter type="COMPLEXITY" missed="0" covered="2"/><counter type="METHOD" missed="0" covered="1"/></method><method name="format" desc="(D)Ljava/lang/String;" line="95"><counter type="INSTRUCTION" missed="0" covered="9"/><counter type="LINE" missed="0" covered="1"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="getComparator" desc="()Ljava/util/Comparator;" line="100"><counter type="INSTRUCTION" missed="0" covered="3"/><counter type="LINE" missed="0" covered="1"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><counter type="INSTRUCTION" missed="0" covered="64"/><counter type="BRANCH" missed="0" covered="2"/><counter type="LINE" missed="0" covered="18"/><counter type="COMPLEXITY" missed="0" covered="8"/><counter type="METHOD" missed="0" covered="7"/><counter type="CLASS" missed="0" covered="1"/></class><class name="org/jacoco/report/internal/html/table/SortIndex$Entry" sourcefilename="SortIndex.java"><method name="&lt;init&gt;" desc="(Lorg/jacoco/report/internal/html/table/SortIndex;ILjava/lang/Object;)V" line="37"><counter type="INSTRUCTION" missed="0" covered="12"/><counter type="LINE" missed="0" covered="4"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="compareTo" desc="(Lorg/jacoco/report/internal/html/table/SortIndex$Entry;)I" line="43"><counter type="INSTRUCTION" missed="0" covered="9"/><counter type="LINE" missed="0" covered="1"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><counter type="INSTRUCTION" missed="0" covered="21"/><counter type="LINE" missed="0" covered="5"/><counter type="COMPLEXITY" missed="0" covered="2"/><counter type="METHOD" missed="0" covered="2"/><counter type="CLASS" missed="0" covered="1"/></class><class name="org/jacoco/report/internal/html/table/IColumnRenderer" sourcefilename="IColumnRenderer.java"/><class name="org/jacoco/report/internal/html/table/BarColumn" sourcefilename="BarColumn.java"><method name="&lt;init&gt;" desc="(Lorg/jacoco/core/analysis/ICoverageNode$CounterEntity;Ljava/util/Locale;)V" line="55"><counter type="INSTRUCTION" missed="0" covered="24"/><counter type="LINE" missed="0" covered="5"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="init" desc="(Ljava/util/List;Lorg/jacoco/core/analysis/ICoverageNode;)Z" line="65"><counter type="INSTRUCTION" missed="0" covered="30"/><counter type="BRANCH" missed="0" covered="4"/><counter type="LINE" missed="0" covered="7"/><counter type="COMPLEXITY" missed="0" covered="3"/><counter type="METHOD" missed="0" covered="1"/></method><method name="footer" desc="(Lorg/jacoco/report/internal/html/HTMLElement;Lorg/jacoco/core/analysis/ICoverageNode;Lorg/jacoco/report/internal/html/resources/Resources;Lorg/jacoco/report/internal/ReportOutputFolder;)V" line="78"><counter type="INSTRUCTION" missed="0" covered="25"/><counter type="LINE" missed="0" covered="5"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="item" desc="(Lorg/jacoco/report/internal/html/HTMLElement;Lorg/jacoco/report/internal/html/table/ITableItem;Lorg/jacoco/report/internal/html/resources/Resources;Lorg/jacoco/report/internal/ReportOutputFolder;)V" line="87"><counter type="INSTRUCTION" missed="0" covered="30"/><counter type="BRANCH" missed="0" covered="2"/><counter type="LINE" missed="0" covered="7"/><counter type="COMPLEXITY" missed="0" covered="2"/><counter type="METHOD" missed="0" covered="1"/></method><method name="bar" desc="(Lorg/jacoco/report/internal/html/HTMLElement;ILjava/lang/String;Lorg/jacoco/report/internal/html/resources/Resources;Lorg/jacoco/report/internal/ReportOutputFolder;)V" line="99"><counter type="INSTRUCTION" missed="0" covered="23"/><counter type="BRANCH" missed="0" covered="2"/><counter type="LINE" missed="0" covered="4"/><counter type="COMPLEXITY" missed="0" covered="2"/><counter type="METHOD" missed="0" covered="1"/></method><method name="getComparator" desc="()Ljava/util/Comparator;" line="107"><counter type="INSTRUCTION" missed="0" covered="3"/><counter type="LINE" missed="0" covered="1"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><counter type="INSTRUCTION" missed="0" covered="135"/><counter type="BRANCH" missed="0" covered="8"/><counter type="LINE" missed="0" covered="29"/><counter type="COMPLEXITY" missed="0" covered="10"/><counter type="METHOD" missed="0" covered="6"/><counter type="CLASS" missed="0" covered="1"/></class><class name="org/jacoco/report/internal/html/table/CounterColumn" sourcefilename="CounterColumn.java"><method name="newTotal" desc="(Lorg/jacoco/core/analysis/ICoverageNode$CounterEntity;Ljava/util/Locale;)Lorg/jacoco/report/internal/html/table/CounterColumn;" line="47"><counter type="INSTRUCTION" missed="0" covered="10"/><counter type="LINE" missed="0" covered="1"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="newMissed" desc="(Lorg/jacoco/core/analysis/ICoverageNode$CounterEntity;Ljava/util/Locale;)Lorg/jacoco/report/internal/html/table/CounterColumn;" line="67"><counter type="INSTRUCTION" missed="0" covered="10"/><counter type="LINE" missed="0" covered="1"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="newCovered" desc="(Lorg/jacoco/core/analysis/ICoverageNode$CounterEntity;Ljava/util/Locale;)Lorg/jacoco/report/internal/html/table/CounterColumn;" line="87"><counter type="INSTRUCTION" missed="0" covered="10"/><counter type="LINE" missed="0" covered="1"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="&lt;init&gt;" desc="(Lorg/jacoco/core/analysis/ICoverageNode$CounterEntity;Ljava/util/Locale;Ljava/util/Comparator;)V" line="114"><counter type="INSTRUCTION" missed="0" covered="16"/><counter type="LINE" missed="0" covered="5"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="init" desc="(Ljava/util/List;Lorg/jacoco/core/analysis/ICoverageNode;)Z" line="122"><counter type="INSTRUCTION" missed="0" covered="22"/><counter type="BRANCH" missed="0" covered="4"/><counter type="LINE" missed="0" covered="4"/><counter type="COMPLEXITY" missed="0" covered="3"/><counter type="METHOD" missed="0" covered="1"/></method><method name="footer" desc="(Lorg/jacoco/report/internal/html/HTMLElement;Lorg/jacoco/core/analysis/ICoverageNode;Lorg/jacoco/report/internal/html/resources/Resources;Lorg/jacoco/report/internal/ReportOutputFolder;)V" line="133"><counter type="INSTRUCTION" missed="0" covered="5"/><counter type="LINE" missed="0" covered="2"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="item" desc="(Lorg/jacoco/report/internal/html/HTMLElement;Lorg/jacoco/report/internal/html/table/ITableItem;Lorg/jacoco/report/internal/html/resources/Resources;Lorg/jacoco/report/internal/ReportOutputFolder;)V" line="139"><counter type="INSTRUCTION" missed="0" covered="6"/><counter type="LINE" missed="0" covered="2"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="cell" desc="(Lorg/jacoco/report/internal/html/HTMLElement;Lorg/jacoco/core/analysis/ICoverageNode;)V" line="144"><counter type="INSTRUCTION" missed="0" covered="15"/><counter type="LINE" missed="0" covered="3"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="getComparator" desc="()Ljava/util/Comparator;" line="149"><counter type="INSTRUCTION" missed="0" covered="3"/><counter type="LINE" missed="0" covered="1"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><counter type="INSTRUCTION" missed="0" covered="97"/><counter type="BRANCH" missed="0" covered="4"/><counter type="LINE" missed="0" covered="20"/><counter type="COMPLEXITY" missed="0" covered="11"/><counter type="METHOD" missed="0" covered="9"/><counter type="CLASS" missed="0" covered="1"/></class><class name="org/jacoco/report/internal/html/table/SortIndex" sourcefilename="SortIndex.java"><method name="&lt;init&gt;" desc="(Ljava/util/Comparator;)V" line="48"><counter type="INSTRUCTION" missed="0" covered="11"/><counter type="LINE" missed="0" covered="4"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="init" desc="(Ljava/util/List;)V" line="69"><counter type="INSTRUCTION" missed="0" covered="67"/><counter type="BRANCH" missed="0" covered="8"/><counter type="LINE" missed="0" covered="13"/><counter type="COMPLEXITY" missed="0" covered="5"/><counter type="METHOD" missed="0" covered="1"/></method><method name="getPosition" desc="(I)I" line="94"><counter type="INSTRUCTION" missed="0" covered="5"/><counter type="LINE" missed="0" covered="1"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><counter type="INSTRUCTION" missed="0" covered="83"/><counter type="BRANCH" missed="0" covered="8"/><counter type="LINE" missed="0" covered="18"/><counter type="COMPLEXITY" missed="0" covered="7"/><counter type="METHOD" missed="0" covered="3"/><counter type="CLASS" missed="0" covered="1"/></class><class name="org/jacoco/report/internal/html/table/CounterColumn$1" sourcefilename="CounterColumn.java"><method name="&lt;init&gt;" desc="(Lorg/jacoco/core/analysis/ICoverageNode$CounterEntity;Ljava/util/Locale;Ljava/util/Comparator;)V" line="50"><counter type="INSTRUCTION" missed="0" covered="6"/><counter type="LINE" missed="0" covered="1"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="getValue" desc="(Lorg/jacoco/core/analysis/ICounter;)I" line="51"><counter type="INSTRUCTION" missed="0" covered="3"/><counter type="LINE" missed="0" covered="1"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><counter type="INSTRUCTION" missed="0" covered="9"/><counter type="LINE" missed="0" covered="2"/><counter type="COMPLEXITY" missed="0" covered="2"/><counter type="METHOD" missed="0" covered="2"/><counter type="CLASS" missed="0" covered="1"/></class><class name="org/jacoco/report/internal/html/table/CounterColumn$2" sourcefilename="CounterColumn.java"><method name="&lt;init&gt;" desc="(Lorg/jacoco/core/analysis/ICoverageNode$CounterEntity;Ljava/util/Locale;Ljava/util/Comparator;)V" line="70"><counter type="INSTRUCTION" missed="0" covered="6"/><counter type="LINE" missed="0" covered="1"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="getValue" desc="(Lorg/jacoco/core/analysis/ICounter;)I" line="71"><counter type="INSTRUCTION" missed="0" covered="3"/><counter type="LINE" missed="0" covered="1"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><counter type="INSTRUCTION" missed="0" covered="9"/><counter type="LINE" missed="0" covered="2"/><counter type="COMPLEXITY" missed="0" covered="2"/><counter type="METHOD" missed="0" covered="2"/><counter type="CLASS" missed="0" covered="1"/></class><class name="org/jacoco/report/internal/html/table/CounterColumn$3" sourcefilename="CounterColumn.java"><method name="&lt;init&gt;" desc="(Lorg/jacoco/core/analysis/ICoverageNode$CounterEntity;Ljava/util/Locale;Ljava/util/Comparator;)V" line="90"><counter type="INSTRUCTION" missed="0" covered="6"/><counter type="LINE" missed="0" covered="1"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="getValue" desc="(Lorg/jacoco/core/analysis/ICounter;)I" line="91"><counter type="INSTRUCTION" missed="0" covered="3"/><counter type="LINE" missed="0" covered="1"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><counter type="INSTRUCTION" missed="0" covered="9"/><counter type="LINE" missed="0" covered="2"/><counter type="COMPLEXITY" missed="0" covered="2"/><counter type="METHOD" missed="0" covered="2"/><counter type="CLASS" missed="0" covered="1"/></class><class name="org/jacoco/report/internal/html/table/TableItemComparator" sourcefilename="TableItemComparator.java"><method name="&lt;init&gt;" desc="(Ljava/util/Comparator;)V" line="26"><counter type="INSTRUCTION" missed="0" covered="6"/><counter type="LINE" missed="0" covered="3"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="compare" desc="(Lorg/jacoco/report/internal/html/table/ITableItem;Lorg/jacoco/report/internal/html/table/ITableItem;)I" line="31"><counter type="INSTRUCTION" missed="0" covered="8"/><counter type="LINE" missed="0" covered="1"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><counter type="INSTRUCTION" missed="0" covered="14"/><counter type="LINE" missed="0" covered="4"/><counter type="COMPLEXITY" missed="0" covered="2"/><counter type="METHOD" missed="0" covered="2"/><counter type="CLASS" missed="0" covered="1"/></class><class name="org/jacoco/report/internal/html/table/Table" sourcefilename="Table.java"><method name="&lt;init&gt;" desc="()V" line="39"><counter type="INSTRUCTION" missed="0" covered="8"/><counter type="LINE" missed="0" covered="3"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="add" desc="(Ljava/lang/String;Ljava/lang/String;Lorg/jacoco/report/internal/html/table/IColumnRenderer;Z)V" line="60"><counter type="INSTRUCTION" missed="0" covered="29"/><counter type="BRANCH" missed="0" covered="4"/><counter type="LINE" missed="0" covered="6"/><counter type="COMPLEXITY" missed="0" covered="3"/><counter type="METHOD" missed="0" covered="1"/></method><method name="render" desc="(Lorg/jacoco/report/internal/html/HTMLElement;Ljava/util/List;Lorg/jacoco/core/analysis/ICoverageNode;Lorg/jacoco/report/internal/html/resources/Resources;Lorg/jacoco/report/internal/ReportOutputFolder;)V" line="92"><counter type="INSTRUCTION" missed="0" covered="30"/><counter type="LINE" missed="0" covered="7"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="header" desc="(Lorg/jacoco/report/internal/html/HTMLElement;Ljava/util/List;Lorg/jacoco/core/analysis/ICoverageNode;)V" line="103"><counter type="INSTRUCTION" missed="0" covered="22"/><counter type="BRANCH" missed="0" covered="2"/><counter type="LINE" missed="0" covered="4"/><counter type="COMPLEXITY" missed="0" covered="2"/><counter type="METHOD" missed="0" covered="1"/></method><method name="footer" desc="(Lorg/jacoco/report/internal/html/HTMLElement;Lorg/jacoco/core/analysis/ICoverageNode;Lorg/jacoco/report/internal/html/resources/Resources;Lorg/jacoco/report/internal/ReportOutputFolder;)V" line="112"><counter type="INSTRUCTION" missed="0" covered="23"/><counter type="BRANCH" missed="0" covered="2"/><counter type="LINE" missed="0" covered="4"/><counter type="COMPLEXITY" missed="0" covered="2"/><counter type="METHOD" missed="0" covered="1"/></method><method name="body" desc="(Lorg/jacoco/report/internal/html/HTMLElement;Ljava/util/List;Lorg/jacoco/report/internal/html/resources/Resources;Lorg/jacoco/report/internal/ReportOutputFolder;)V" line="121"><counter type="INSTRUCTION" missed="0" covered="40"/><counter type="BRANCH" missed="0" covered="4"/><counter type="LINE" missed="0" covered="9"/><counter type="COMPLEXITY" missed="0" covered="3"/><counter type="METHOD" missed="0" covered="1"/></method><method name="sort" desc="(Ljava/util/List;)Ljava/util/List;" line="134"><counter type="INSTRUCTION" missed="0" covered="16"/><counter type="BRANCH" missed="0" covered="2"/><counter type="LINE" missed="0" covered="5"/><counter type="COMPLEXITY" missed="0" covered="2"/><counter type="METHOD" missed="0" covered="1"/></method><counter type="INSTRUCTION" missed="0" covered="168"/><counter type="BRANCH" missed="0" covered="14"/><counter type="LINE" missed="0" covered="38"/><counter type="COMPLEXITY" missed="0" covered="14"/><counter type="METHOD" missed="0" covered="7"/><counter type="CLASS" missed="0" covered="1"/></class><class name="org/jacoco/report/internal/html/table/LabelColumn$1" sourcefilename="LabelColumn.java"><method name="&lt;init&gt;" desc="()V" line="31"><counter type="INSTRUCTION" missed="0" covered="3"/><counter type="LINE" missed="0" covered="1"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="compare" desc="(Lorg/jacoco/report/internal/html/table/ITableItem;Lorg/jacoco/report/internal/html/table/ITableItem;)I" line="32"><counter type="INSTRUCTION" missed="0" covered="6"/><counter type="LINE" missed="0" covered="1"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><counter type="INSTRUCTION" missed="0" covered="9"/><counter type="LINE" missed="0" covered="2"/><counter type="COMPLEXITY" missed="0" covered="2"/><counter type="METHOD" missed="0" covered="2"/><counter type="CLASS" missed="0" covered="1"/></class><class name="org/jacoco/report/internal/html/table/ITableItem" sourcefilename="ITableItem.java"/><class name="org/jacoco/report/internal/html/table/LabelColumn" sourcefilename="LabelColumn.java"><method name="&lt;init&gt;" desc="()V" line="28"><counter type="INSTRUCTION" missed="0" covered="3"/><counter type="LINE" missed="0" covered="1"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="init" desc="(Ljava/util/List;Lorg/jacoco/core/analysis/ICoverageNode;)Z" line="38"><counter type="INSTRUCTION" missed="0" covered="2"/><counter type="LINE" missed="0" covered="1"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="footer" desc="(Lorg/jacoco/report/internal/html/HTMLElement;Lorg/jacoco/core/analysis/ICoverageNode;Lorg/jacoco/report/internal/html/resources/Resources;Lorg/jacoco/report/internal/ReportOutputFolder;)V" line="44"><counter type="INSTRUCTION" missed="0" covered="4"/><counter type="LINE" missed="0" covered="2"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="item" desc="(Lorg/jacoco/report/internal/html/HTMLElement;Lorg/jacoco/report/internal/html/table/ITableItem;Lorg/jacoco/report/internal/html/resources/Resources;Lorg/jacoco/report/internal/ReportOutputFolder;)V" line="50"><counter type="INSTRUCTION" missed="0" covered="6"/><counter type="LINE" missed="0" covered="2"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="getComparator" desc="()Ljava/util/Comparator;" line="54"><counter type="INSTRUCTION" missed="0" covered="2"/><counter type="LINE" missed="0" covered="1"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="&lt;clinit&gt;" desc="()V" line="30"><counter type="INSTRUCTION" missed="0" covered="5"/><counter type="LINE" missed="0" covered="1"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><counter type="INSTRUCTION" missed="0" covered="22"/><counter type="LINE" missed="0" covered="8"/><counter type="COMPLEXITY" missed="0" covered="6"/><counter type="METHOD" missed="0" covered="6"/><counter type="CLASS" missed="0" covered="1"/></class><class name="org/jacoco/report/internal/html/table/Table$Column" sourcefilename="Table.java"><method name="&lt;init&gt;" desc="(ILjava/lang/String;Ljava/lang/String;Lorg/jacoco/report/internal/html/table/IColumnRenderer;Z)V" line="153"><counter type="INSTRUCTION" missed="0" covered="46"/><counter type="BRANCH" missed="0" covered="2"/><counter type="LINE" missed="0" covered="8"/><counter type="COMPLEXITY" missed="0" covered="2"/><counter type="METHOD" missed="0" covered="1"/></method><method name="init" desc="(Lorg/jacoco/report/internal/html/HTMLElement;Ljava/util/List;Lorg/jacoco/core/analysis/ICoverageNode;)V" line="166"><counter type="INSTRUCTION" missed="0" covered="34"/><counter type="BRANCH" missed="0" covered="2"/><counter type="LINE" missed="0" covered="8"/><counter type="COMPLEXITY" missed="0" covered="2"/><counter type="METHOD" missed="0" covered="1"/></method><method name="footer" desc="(Lorg/jacoco/report/internal/html/HTMLElement;Lorg/jacoco/core/analysis/ICoverageNode;Lorg/jacoco/report/internal/html/resources/Resources;Lorg/jacoco/report/internal/ReportOutputFolder;)V" line="179"><counter type="INSTRUCTION" missed="0" covered="14"/><counter type="BRANCH" missed="0" covered="2"/><counter type="LINE" missed="0" covered="3"/><counter type="COMPLEXITY" missed="0" covered="2"/><counter type="METHOD" missed="0" covered="1"/></method><method name="body" desc="(Lorg/jacoco/report/internal/html/HTMLElement;ILorg/jacoco/report/internal/html/table/ITableItem;Lorg/jacoco/report/internal/html/resources/Resources;Lorg/jacoco/report/internal/ReportOutputFolder;)V" line="187"><counter type="INSTRUCTION" missed="0" covered="32"/><counter type="BRANCH" missed="0" covered="2"/><counter type="LINE" missed="0" covered="5"/><counter type="COMPLEXITY" missed="0" covered="2"/><counter type="METHOD" missed="0" covered="1"/></method><counter type="INSTRUCTION" missed="0" covered="126"/><counter type="BRANCH" missed="0" covered="8"/><counter type="LINE" missed="0" covered="24"/><counter type="COMPLEXITY" missed="0" covered="8"/><counter type="METHOD" missed="0" covered="4"/><counter type="CLASS" missed="0" covered="1"/></class><sourcefile name="LabelColumn.java"><line nr="28" mi="0" ci="3" mb="0" cb="0"/><line nr="30" mi="0" ci="5" mb="0" cb="0"/><line nr="31" mi="0" ci="3" mb="0" cb="0"/><line nr="32" mi="0" ci="6" mb="0" cb="0"/><line nr="38" mi="0" ci="2" mb="0" cb="0"/><line nr="44" mi="0" ci="3" mb="0" cb="0"/><line nr="45" mi="0" ci="1" mb="0" cb="0"/><line nr="50" mi="0" ci="5" mb="0" cb="0"/><line nr="51" mi="0" ci="1" mb="0" cb="0"/><line nr="54" mi="0" ci="2" mb="0" cb="0"/><counter type="INSTRUCTION" missed="0" covered="31"/><counter type="LINE" missed="0" covered="10"/><counter type="COMPLEXITY" missed="0" covered="8"/><counter type="METHOD" missed="0" covered="8"/><counter type="CLASS" missed="0" covered="2"/></sourcefile><sourcefile name="Table.java"><line nr="39" mi="0" ci="2" mb="0" cb="0"/><line nr="40" mi="0" ci="5" mb="0" cb="0"/><line nr="41" mi="0" ci="1" mb="0" cb="0"/><line nr="60" mi="0" ci="14" mb="0" cb="0"/><line nr="62" mi="0" ci="2" mb="0" cb="2"/><line nr="63" mi="0" ci="3" mb="0" cb="2"/><line nr="64" mi="0" ci="5" mb="0" cb="0"/><line nr="67" mi="0" ci="4" mb="0" cb="0"/><line nr="69" mi="0" ci="1" mb="0" cb="0"/><line nr="92" mi="0" ci="4" mb="0" cb="0"/><line nr="93" mi="0" ci="4" mb="0" cb="0"/><line nr="94" mi="0" ci="4" mb="0" cb="0"/><line nr="95" mi="0" ci="5" mb="0" cb="0"/><line nr="96" mi="0" ci="6" mb="0" cb="0"/><line nr="97" mi="0" ci="6" mb="0" cb="0"/><line nr="98" mi="0" ci="1" mb="0" cb="0"/><line nr="103" mi="0" ci="4" mb="0" cb="0"/><line nr="104" mi="0" ci="11" mb="0" cb="2"/><line nr="105" mi="0" ci="6" mb="0" cb="0"/><line nr="107" mi="0" ci="1" mb="0" cb="0"/><line nr="112" mi="0" ci="4" mb="0" cb="0"/><line nr="113" mi="0" ci="11" mb="0" cb="2"/><line nr="114" mi="0" ci="7" mb="0" cb="0"/><line nr="116" mi="0" ci="1" mb="0" cb="0"/><line nr="121" mi="0" ci="3" mb="0" cb="0"/><line nr="122" mi="0" ci="2" mb="0" cb="0"/><line nr="123" mi="0" ci="10" mb="0" cb="2"/><line nr="124" mi="0" ci="3" mb="0" cb="0"/><line nr="125" mi="0" ci="11" mb="0" cb="2"/><line nr="126" mi="0" ci="8" mb="0" cb="0"/><line nr="128" mi="0" ci="1" mb="0" cb="0"/><line nr="129" mi="0" ci="1" mb="0" cb="0"/><line nr="130" mi="0" ci="1" mb="0" cb="0"/><line nr="134" mi="0" ci="3" mb="0" cb="2"/><line nr="135" mi="0" ci="5" mb="0" cb="0"/><line nr="136" mi="0" ci="4" mb="0" cb="0"/><line nr="137" mi="0" ci="2" mb="0" cb="0"/><line nr="139" mi="0" ci="2" mb="0" cb="0"/><line nr="153" mi="0" ci="2" mb="0" cb="0"/><line nr="154" mi="0" ci="6" mb="0" cb="0"/><line nr="155" mi="0" ci="3" mb="0" cb="0"/><line nr="156" mi="0" ci="3" mb="0" cb="0"/><line nr="157" mi="0" ci="7" mb="0" cb="0"/><line nr="158" mi="0" ci="3" mb="0" cb="0"/><line nr="159" mi="0" ci="21" mb="0" cb="2"/><line nr="162" mi="0" ci="1" mb="0" cb="0"/><line nr="166" mi="0" ci="7" mb="0" cb="0"/><line nr="167" mi="0" ci="3" mb="0" cb="2"/><line nr="168" mi="0" ci="4" mb="0" cb="0"/><line nr="169" mi="0" ci="5" mb="0" cb="0"/><line nr="170" mi="0" ci="6" mb="0" cb="0"/><line nr="171" mi="0" ci="4" mb="0" cb="0"/><line nr="172" mi="0" ci="4" mb="0" cb="0"/><line nr="174" mi="0" ci="1" mb="0" cb="0"/><line nr="179" mi="0" ci="3" mb="0" cb="2"/><line nr="180" mi="0" ci="10" mb="0" cb="0"/><line nr="182" mi="0" ci="1" mb="0" cb="0"/><line nr="187" mi="0" ci="3" mb="0" cb="2"/><line nr="188" mi="0" ci="5" mb="0" cb="0"/><line nr="189" mi="0" ci="16" mb="0" cb="0"/><line nr="191" mi="0" ci="7" mb="0" cb="0"/><line nr="193" mi="0" ci="1" mb="0" cb="0"/><counter type="INSTRUCTION" missed="0" covered="294"/><counter type="BRANCH" missed="0" covered="22"/><counter type="LINE" missed="0" covered="62"/><counter type="COMPLEXITY" missed="0" covered="22"/><counter type="METHOD" missed="0" covered="11"/><counter type="CLASS" missed="0" covered="2"/></sourcefile><sourcefile name="CounterColumn.java"><line nr="47" mi="0" ci="10" mb="0" cb="0"/><line nr="50" mi="0" ci="6" mb="0" cb="0"/><line nr="51" mi="0" ci="3" mb="0" cb="0"/><line nr="67" mi="0" ci="10" mb="0" cb="0"/><line nr="70" mi="0" ci="6" mb="0" cb="0"/><line nr="71" mi="0" ci="3" mb="0" cb="0"/><line nr="87" mi="0" ci="10" mb="0" cb="0"/><line nr="90" mi="0" ci="6" mb="0" cb="0"/><line nr="91" mi="0" ci="3" mb="0" cb="0"/><line nr="114" mi="0" ci="2" mb="0" cb="0"/><line nr="115" mi="0" ci="3" mb="0" cb="0"/><line nr="116" mi="0" ci="4" mb="0" cb="0"/><line nr="117" mi="0" ci="6" mb="0" cb="0"/><line nr="118" mi="0" ci="1" mb="0" cb="0"/><line nr="122" mi="0" ci="10" mb="0" cb="2"/><line nr="123" mi="0" ci="7" mb="0" cb="2"/><line nr="124" mi="0" ci="3" mb="0" cb="0"/><line nr="127" mi="0" ci="2" mb="0" cb="0"/><line nr="133" mi="0" ci="4" mb="0" cb="0"/><line nr="134" mi="0" ci="1" mb="0" cb="0"/><line nr="139" mi="0" ci="5" mb="0" cb="0"/><line nr="140" mi="0" ci="1" mb="0" cb="0"/><line nr="144" mi="0" ci="7" mb="0" cb="0"/><line nr="145" mi="0" ci="7" mb="0" cb="0"/><line nr="146" mi="0" ci="1" mb="0" cb="0"/><line nr="149" mi="0" ci="3" mb="0" cb="0"/><counter type="INSTRUCTION" missed="0" covered="124"/><counter type="BRANCH" missed="0" covered="4"/><counter type="LINE" missed="0" covered="26"/><counter type="COMPLEXITY" missed="0" covered="17"/><counter type="METHOD" missed="0" covered="15"/><counter type="CLASS" missed="0" covered="4"/></sourcefile><sourcefile name="BarColumn.java"><line nr="55" mi="0" ci="2" mb="0" cb="0"/><line nr="56" mi="0" ci="3" mb="0" cb="0"/><line nr="57" mi="0" ci="4" mb="0" cb="0"/><line nr="58" mi="0" ci="14" mb="0" cb="0"/><line nr="61" mi="0" ci="1" mb="0" cb="0"/><line nr="65" mi="0" ci="3" mb="0" cb="0"/><line nr="66" mi="0" ci="10" mb="0" cb="2"/><line nr="67" mi="0" ci="7" mb="0" cb="0"/><line nr="68" mi="0" ci="4" mb="0" cb="2"/><line nr="69" mi="0" ci="3" mb="0" cb="0"/><line nr="71" mi="0" ci="1" mb="0" cb="0"/><line nr="72" mi="0" ci="2" mb="0" cb="0"/><line nr="78" mi="0" ci="5" mb="0" cb="0"/><line nr="79" mi="0" ci="8" mb="0" cb="0"/><line nr="80" mi="0" ci="3" mb="0" cb="0"/><line nr="81" mi="0" ci="8" mb="0" cb="0"/><line nr="82" mi="0" ci="1" mb="0" cb="0"/><line nr="87" mi="0" ci="3" mb="0" cb="2"/><line nr="88" mi="0" ci="6" mb="0" cb="0"/><line nr="89" mi="0" ci="3" mb="0" cb="0"/><line nr="90" mi="0" ci="7" mb="0" cb="0"/><line nr="91" mi="0" ci="3" mb="0" cb="0"/><line nr="92" mi="0" ci="7" mb="0" cb="0"/><line nr="94" mi="0" ci="1" mb="0" cb="0"/><line nr="99" mi="0" ci="7" mb="0" cb="0"/><line nr="100" mi="0" ci="2" mb="0" cb="2"/><line nr="101" mi="0" ci="13" mb="0" cb="0"/><line nr="104" mi="0" ci="1" mb="0" cb="0"/><line nr="107" mi="0" ci="3" mb="0" cb="0"/><counter type="INSTRUCTION" missed="0" covered="135"/><counter type="BRANCH" missed="0" covered="8"/><counter type="LINE" missed="0" covered="29"/><counter type="COMPLEXITY" missed="0" covered="10"/><counter type="METHOD" missed="0" covered="6"/><counter type="CLASS" missed="0" covered="1"/></sourcefile><sourcefile name="SortIndex.java"><line nr="37" mi="0" ci="5" mb="0" cb="0"/><line nr="38" mi="0" ci="3" mb="0" cb="0"/><line nr="39" mi="0" ci="3" mb="0" cb="0"/><line nr="40" mi="0" ci="1" mb="0" cb="0"/><line nr="43" mi="0" ci="9" mb="0" cb="0"/><line nr="48" mi="0" ci="5" mb="0" cb="0"/><line nr="58" mi="0" ci="2" mb="0" cb="0"/><line nr="59" mi="0" ci="3" mb="0" cb="0"/><line nr="60" mi="0" ci="1" mb="0" cb="0"/><line nr="69" mi="0" ci="3" mb="0" cb="0"/><line nr="70" mi="0" ci="2" mb="0" cb="0"/><line nr="71" mi="0" ci="9" mb="0" cb="2"/><line nr="72" mi="0" ci="8" mb="0" cb="0"/><line nr="73" mi="0" ci="5" mb="0" cb="0"/><line nr="74" mi="0" ci="1" mb="0" cb="0"/><line nr="75" mi="0" ci="3" mb="0" cb="0"/><line nr="76" mi="0" ci="9" mb="0" cb="4"/><line nr="77" mi="0" ci="5" mb="0" cb="0"/><line nr="79" mi="0" ci="2" mb="0" cb="0"/><line nr="80" mi="0" ci="11" mb="0" cb="2"/><line nr="81" mi="0" ci="8" mb="0" cb="0"/><line nr="83" mi="0" ci="1" mb="0" cb="0"/><line nr="94" mi="0" ci="5" mb="0" cb="0"/><counter type="INSTRUCTION" missed="0" covered="104"/><counter type="BRANCH" missed="0" covered="8"/><counter type="LINE" missed="0" covered="23"/><counter type="COMPLEXITY" missed="0" covered="9"/><counter type="METHOD" missed="0" covered="5"/><counter type="CLASS" missed="0" covered="2"/></sourcefile><sourcefile name="TableItemComparator.java"><line nr="26" mi="0" ci="2" mb="0" cb="0"/><line nr="27" mi="0" ci="3" mb="0" cb="0"/><line nr="28" mi="0" ci="1" mb="0" cb="0"/><line nr="31" mi="0" ci="8" mb="0" cb="0"/><counter type="INSTRUCTION" missed="0" covered="14"/><counter type="LINE" missed="0" covered="4"/><counter type="COMPLEXITY" missed="0" covered="2"/><counter type="METHOD" missed="0" covered="2"/><counter type="CLASS" missed="0" covered="1"/></sourcefile><sourcefile name="ITableItem.java"/><sourcefile name="IColumnRenderer.java"/><sourcefile name="PercentageColumn.java"><line nr="53" mi="0" ci="2" mb="0" cb="0"/><line nr="54" mi="0" ci="3" mb="0" cb="0"/><line nr="55" mi="0" ci="4" mb="0" cb="0"/><line nr="56" mi="0" ci="8" mb="0" cb="0"/><line nr="58" mi="0" ci="1" mb="0" cb="0"/><line nr="62" mi="0" ci="2" mb="0" cb="0"/><line nr="68" mi="0" ci="4" mb="0" cb="0"/><line nr="69" mi="0" ci="1" mb="0" cb="0"/><line nr="74" mi="0" ci="5" mb="0" cb="0"/><line nr="75" mi="0" ci="1" mb="0" cb="0"/><line nr="79" mi="0" ci="5" mb="0" cb="0"/><line nr="80" mi="0" ci="3" mb="0" cb="0"/><line nr="81" mi="0" ci="2" mb="0" cb="2"/><line nr="82" mi="0" ci="4" mb="0" cb="0"/><line nr="84" mi="0" ci="6" mb="0" cb="0"/><line nr="86" mi="0" ci="1" mb="0" cb="0"/><line nr="95" mi="0" ci="9" mb="0" cb="0"/><line nr="100" mi="0" ci="3" mb="0" cb="0"/><counter type="INSTRUCTION" missed="0" covered="64"/><counter type="BRANCH" missed="0" covered="2"/><counter type="LINE" missed="0" covered="18"/><counter type="COMPLEXITY" missed="0" covered="8"/><counter type="METHOD" missed="0" covered="7"/><counter type="CLASS" missed="0" covered="1"/></sourcefile><counter type="INSTRUCTION" missed="0" covered="766"/><counter type="BRANCH" missed="0" covered="44"/><counter type="LINE" missed="0" covered="172"/><counter type="COMPLEXITY" missed="0" covered="76"/><counter type="METHOD" missed="0" covered="54"/><counter type="CLASS" missed="0" covered="13"/></package><package name="org/jacoco/report/internal"><class name="org/jacoco/report/internal/ReportOutputFolder" sourcefilename="ReportOutputFolder.java"><method name="&lt;init&gt;" desc="(Lorg/jacoco/report/IMultiReportOutput;)V" line="46"><counter type="INSTRUCTION" missed="0" covered="6"/><counter type="LINE" missed="0" covered="2"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="&lt;init&gt;" desc="(Lorg/jacoco/report/IMultiReportOutput;Lorg/jacoco/report/internal/ReportOutputFolder;Ljava/lang/String;)V" line="35"><counter type="INSTRUCTION" missed="0" covered="22"/><counter type="LINE" missed="0" covered="7"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="subFolder" desc="(Ljava/lang/String;)Lorg/jacoco/report/internal/ReportOutputFolder;" line="71"><counter type="INSTRUCTION" missed="0" covered="40"/><counter type="BRANCH" missed="0" covered="2"/><counter type="LINE" missed="0" covered="7"/><counter type="COMPLEXITY" missed="0" covered="2"/><counter type="METHOD" missed="0" covered="1"/></method><method name="createFile" desc="(Ljava/lang/String;)Ljava/io/OutputStream;" line="92"><counter type="INSTRUCTION" missed="0" covered="15"/><counter type="LINE" missed="0" covered="1"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="getLink" desc="(Lorg/jacoco/report/internal/ReportOutputFolder;Ljava/lang/String;)Ljava/lang/String;" line="107"><counter type="INSTRUCTION" missed="0" covered="41"/><counter type="BRANCH" missed="0" covered="4"/><counter type="LINE" missed="0" covered="5"/><counter type="COMPLEXITY" missed="0" covered="3"/><counter type="METHOD" missed="0" covered="1"/></method><method name="isAncestorOf" desc="(Lorg/jacoco/report/internal/ReportOutputFolder;)Z" line="117"><counter type="INSTRUCTION" missed="0" covered="15"/><counter type="BRANCH" missed="0" covered="4"/><counter type="LINE" missed="0" covered="3"/><counter type="COMPLEXITY" missed="0" covered="3"/><counter type="METHOD" missed="0" covered="1"/></method><method name="normalize" desc="(Ljava/lang/String;)Ljava/lang/String;" line="124"><counter type="INSTRUCTION" missed="0" covered="5"/><counter type="LINE" missed="0" covered="1"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><counter type="INSTRUCTION" missed="0" covered="144"/><counter type="BRANCH" missed="0" covered="10"/><counter type="LINE" missed="0" covered="26"/><counter type="COMPLEXITY" missed="0" covered="12"/><counter type="METHOD" missed="0" covered="7"/><counter type="CLASS" missed="0" covered="1"/></class><class name="org/jacoco/report/internal/AbstractGroupVisitor" sourcefilename="AbstractGroupVisitor.java"><method name="&lt;init&gt;" desc="(Ljava/lang/String;)V" line="40"><counter type="INSTRUCTION" missed="0" covered="10"/><counter type="LINE" missed="0" covered="3"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="visitBundle" desc="(Lorg/jacoco/core/analysis/IBundleCoverage;Lorg/jacoco/report/ISourceFileLocator;)V" line="46"><counter type="INSTRUCTION" missed="0" covered="11"/><counter type="LINE" missed="0" covered="4"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="visitGroup" desc="(Ljava/lang/String;)Lorg/jacoco/report/IReportGroupVisitor;" line="66"><counter type="INSTRUCTION" missed="0" covered="10"/><counter type="LINE" missed="0" covered="3"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="visitEnd" desc="()V" line="90"><counter type="INSTRUCTION" missed="0" covered="5"/><counter type="LINE" missed="0" covered="3"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="finalizeLastChild" desc="()V" line="103"><counter type="INSTRUCTION" missed="0" covered="16"/><counter type="BRANCH" missed="0" covered="2"/><counter type="LINE" missed="0" covered="5"/><counter type="COMPLEXITY" missed="0" covered="2"/><counter type="METHOD" missed="0" covered="1"/></method><counter type="INSTRUCTION" missed="0" covered="52"/><counter type="BRANCH" missed="0" covered="2"/><counter type="LINE" missed="0" covered="18"/><counter type="COMPLEXITY" missed="0" covered="6"/><counter type="METHOD" missed="0" covered="5"/><counter type="CLASS" missed="0" covered="1"/></class><class name="org/jacoco/report/internal/NormalizedFileNames" sourcefilename="NormalizedFileNames.java"><method name="&lt;init&gt;" desc="()V" line="37"><counter type="INSTRUCTION" missed="0" covered="13"/><counter type="LINE" missed="0" covered="3"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="getFileName" desc="(Ljava/lang/String;)Ljava/lang/String;" line="54"><counter type="INSTRUCTION" missed="0" covered="26"/><counter type="BRANCH" missed="0" covered="2"/><counter type="LINE" missed="0" covered="7"/><counter type="COMPLEXITY" missed="0" covered="2"/><counter type="METHOD" missed="0" covered="1"/></method><method name="replaceIllegalChars" desc="(Ljava/lang/String;)Ljava/lang/String;" line="65"><counter type="INSTRUCTION" missed="0" covered="42"/><counter type="BRANCH" missed="0" covered="6"/><counter type="LINE" missed="0" covered="9"/><counter type="COMPLEXITY" missed="0" covered="4"/><counter type="METHOD" missed="0" covered="1"/></method><method name="ensureUniqueness" desc="(Ljava/lang/String;)Ljava/lang/String;" line="80"><counter type="INSTRUCTION" missed="0" covered="37"/><counter type="BRANCH" missed="0" covered="2"/><counter type="LINE" missed="0" covered="8"/><counter type="COMPLEXITY" missed="0" covered="2"/><counter type="METHOD" missed="0" covered="1"/></method><method name="&lt;clinit&gt;" desc="()V" line="39"><counter type="INSTRUCTION" missed="0" covered="27"/><counter type="BRANCH" missed="0" covered="2"/><counter type="LINE" missed="0" covered="5"/><counter type="COMPLEXITY" missed="0" covered="2"/><counter type="METHOD" missed="0" covered="1"/></method><counter type="INSTRUCTION" missed="0" covered="145"/><counter type="BRANCH" missed="0" covered="12"/><counter type="LINE" missed="0" covered="32"/><counter type="COMPLEXITY" missed="0" covered="11"/><counter type="METHOD" missed="0" covered="5"/><counter type="CLASS" missed="0" covered="1"/></class><sourcefile name="NormalizedFileNames.java"><line nr="37" mi="0" ci="2" mb="0" cb="0"/><line nr="39" mi="0" ci="4" mb="0" cb="0"/><line nr="42" mi="0" ci="2" mb="0" cb="0"/><line nr="44" mi="0" ci="17" mb="0" cb="2"/><line nr="45" mi="0" ci="3" mb="0" cb="0"/><line nr="47" mi="0" ci="1" mb="0" cb="0"/><line nr="49" mi="0" ci="5" mb="0" cb="0"/><line nr="51" mi="0" ci="6" mb="0" cb="0"/><line nr="54" mi="0" ci="6" mb="0" cb="0"/><line nr="55" mi="0" ci="2" mb="0" cb="2"/><line nr="56" mi="0" ci="2" mb="0" cb="0"/><line nr="58" mi="0" ci="4" mb="0" cb="0"/><line nr="59" mi="0" ci="4" mb="0" cb="0"/><line nr="60" mi="0" ci="6" mb="0" cb="0"/><line nr="61" mi="0" ci="2" mb="0" cb="0"/><line nr="65" mi="0" ci="6" mb="0" cb="0"/><line nr="66" mi="0" ci="2" mb="0" cb="0"/><line nr="67" mi="0" ci="8" mb="0" cb="2"/><line nr="68" mi="0" ci="4" mb="0" cb="0"/><line nr="69" mi="0" ci="4" mb="0" cb="2"/><line nr="70" mi="0" ci="5" mb="0" cb="0"/><line nr="72" mi="0" ci="4" mb="0" cb="0"/><line nr="73" mi="0" ci="2" mb="0" cb="0"/><line nr="76" mi="0" ci="7" mb="0" cb="2"/><line nr="80" mi="0" ci="2" mb="0" cb="0"/><line nr="81" mi="0" ci="4" mb="0" cb="0"/><line nr="82" mi="0" ci="2" mb="0" cb="0"/><line nr="83" mi="0" ci="5" mb="0" cb="2"/><line nr="84" mi="0" ci="12" mb="0" cb="0"/><line nr="85" mi="0" ci="5" mb="0" cb="0"/><line nr="87" mi="0" ci="5" mb="0" cb="0"/><line nr="88" mi="0" ci="2" mb="0" cb="0"/><counter type="INSTRUCTION" missed="0" covered="145"/><counter type="BRANCH" missed="0" covered="12"/><counter type="LINE" missed="0" covered="32"/><counter type="COMPLEXITY" missed="0" covered="11"/><counter type="METHOD" missed="0" covered="5"/><counter type="CLASS" missed="0" covered="1"/></sourcefile><sourcefile name="ReportOutputFolder.java"><line nr="35" mi="0" ci="5" mb="0" cb="0"/><line nr="46" mi="0" ci="5" mb="0" cb="0"/><line nr="47" mi="0" ci="1" mb="0" cb="0"/><line nr="56" mi="0" ci="2" mb="0" cb="0"/><line nr="57" mi="0" ci="3" mb="0" cb="0"/><line nr="58" mi="0" ci="3" mb="0" cb="0"/><line nr="59" mi="0" ci="3" mb="0" cb="0"/><line nr="60" mi="0" ci="5" mb="0" cb="0"/><line nr="61" mi="0" ci="1" mb="0" cb="0"/><line nr="71" mi="0" ci="4" mb="0" cb="0"/><line nr="72" mi="0" ci="6" mb="0" cb="0"/><line nr="73" mi="0" ci="2" mb="0" cb="2"/><line nr="74" mi="0" ci="2" mb="0" cb="0"/><line nr="76" mi="0" ci="18" mb="0" cb="0"/><line nr="78" mi="0" ci="6" mb="0" cb="0"/><line nr="79" mi="0" ci="2" mb="0" cb="0"/><line nr="92" mi="0" ci="15" mb="0" cb="0"/><line nr="107" mi="0" ci="4" mb="0" cb="2"/><line nr="108" mi="0" ci="16" mb="0" cb="0"/><line nr="110" mi="0" ci="3" mb="0" cb="2"/><line nr="111" mi="0" ci="5" mb="0" cb="0"/><line nr="113" mi="0" ci="13" mb="0" cb="0"/><line nr="117" mi="0" ci="3" mb="0" cb="2"/><line nr="118" mi="0" ci="2" mb="0" cb="0"/><line nr="120" mi="0" ci="10" mb="0" cb="2"/><line nr="124" mi="0" ci="5" mb="0" cb="0"/><counter type="INSTRUCTION" missed="0" covered="144"/><counter type="BRANCH" missed="0" covered="10"/><counter type="LINE" missed="0" covered="26"/><counter type="COMPLEXITY" missed="0" covered="12"/><counter type="METHOD" missed="0" covered="7"/><counter type="CLASS" missed="0" covered="1"/></sourcefile><sourcefile name="AbstractGroupVisitor.java"><line nr="40" mi="0" ci="2" mb="0" cb="0"/><line nr="41" mi="0" ci="7" mb="0" cb="0"/><line nr="42" mi="0" ci="1" mb="0" cb="0"/><line nr="46" mi="0" ci="2" mb="0" cb="0"/><line nr="47" mi="0" ci="4" mb="0" cb="0"/><line nr="48" mi="0" ci="4" mb="0" cb="0"/><line nr="49" mi="0" ci="1" mb="0" cb="0"/><line nr="66" mi="0" ci="2" mb="0" cb="0"/><line nr="67" mi="0" ci="5" mb="0" cb="0"/><line nr="68" mi="0" ci="3" mb="0" cb="0"/><line nr="90" mi="0" ci="2" mb="0" cb="0"/><line nr="91" mi="0" ci="2" mb="0" cb="0"/><line nr="92" mi="0" ci="1" mb="0" cb="0"/><line nr="103" mi="0" ci="3" mb="0" cb="2"/><line nr="104" mi="0" ci="3" mb="0" cb="0"/><line nr="105" mi="0" ci="6" mb="0" cb="0"/><line nr="106" mi="0" ci="3" mb="0" cb="0"/><line nr="108" mi="0" ci="1" mb="0" cb="0"/><counter type="INSTRUCTION" missed="0" covered="52"/><counter type="BRANCH" missed="0" covered="2"/><counter type="LINE" missed="0" covered="18"/><counter type="COMPLEXITY" missed="0" covered="6"/><counter type="METHOD" missed="0" covered="5"/><counter type="CLASS" missed="0" covered="1"/></sourcefile><counter type="INSTRUCTION" missed="0" covered="341"/><counter type="BRANCH" missed="0" covered="24"/><counter type="LINE" missed="0" covered="76"/><counter type="COMPLEXITY" missed="0" covered="29"/><counter type="METHOD" missed="0" covered="17"/><counter type="CLASS" missed="0" covered="3"/></package><package name="org/jacoco/report/internal/html/page"><class name="org/jacoco/report/internal/html/page/SourceHighlighter" sourcefilename="SourceHighlighter.java"><method name="&lt;init&gt;" desc="(Ljava/util/Locale;)V" line="41"><counter type="INSTRUCTION" missed="0" covered="9"/><counter type="LINE" missed="0" covered="4"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="setLanguage" desc="(Ljava/lang/String;)V" line="54"><counter type="INSTRUCTION" missed="0" covered="4"/><counter type="LINE" missed="0" covered="2"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="render" desc="(Lorg/jacoco/report/internal/html/HTMLElement;Lorg/jacoco/core/analysis/ISourceNode;Ljava/io/Reader;)V" line="71"><counter type="INSTRUCTION" missed="0" covered="37"/><counter type="BRANCH" missed="0" covered="2"/><counter type="LINE" missed="0" covered="7"/><counter type="COMPLEXITY" missed="0" covered="2"/><counter type="METHOD" missed="0" covered="1"/></method><method name="renderCodeLine" desc="(Lorg/jacoco/report/internal/html/HTMLElement;Ljava/lang/String;Lorg/jacoco/core/analysis/ILine;I)V" line="84"><counter type="INSTRUCTION" missed="0" covered="11"/><counter type="LINE" missed="0" covered="3"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="highlight" desc="(Lorg/jacoco/report/internal/html/HTMLElement;Lorg/jacoco/core/analysis/ILine;I)Lorg/jacoco/report/internal/html/HTMLElement;" line="91"><counter type="INSTRUCTION" missed="0" covered="62"/><counter type="BRANCH" missed="0" covered="8"/><counter type="LINE" missed="0" covered="15"/><counter type="COMPLEXITY" missed="0" covered="7"/><counter type="METHOD" missed="0" covered="1"/></method><method name="span" desc="(Lorg/jacoco/report/internal/html/HTMLElement;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Lorg/jacoco/core/analysis/ICounter;)Lorg/jacoco/report/internal/html/HTMLElement;" line="125"><counter type="INSTRUCTION" missed="0" covered="41"/><counter type="LINE" missed="0" covered="5"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><counter type="INSTRUCTION" missed="0" covered="164"/><counter type="BRANCH" missed="0" covered="10"/><counter type="LINE" missed="0" covered="36"/><counter type="COMPLEXITY" missed="0" covered="13"/><counter type="METHOD" missed="0" covered="6"/><counter type="CLASS" missed="0" covered="1"/></class><class name="org/jacoco/report/internal/html/page/ClassPage" sourcefilename="ClassPage.java"><method name="&lt;init&gt;" desc="(Lorg/jacoco/core/analysis/IClassCoverage;Lorg/jacoco/report/internal/html/page/ReportPage;Lorg/jacoco/report/internal/html/ILinkable;Lorg/jacoco/report/internal/ReportOutputFolder;Lorg/jacoco/report/internal/html/IHTMLReportContext;)V" line="49"><counter type="INSTRUCTION" missed="0" covered="16"/><counter type="LINE" missed="0" covered="4"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="getOnload" desc="()Ljava/lang/String;" line="56"><counter type="INSTRUCTION" missed="0" covered="2"/><counter type="LINE" missed="0" covered="1"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="render" desc="()V" line="61"><counter type="INSTRUCTION" missed="0" covered="41"/><counter type="BRANCH" missed="0" covered="2"/><counter type="LINE" missed="0" covered="6"/><counter type="COMPLEXITY" missed="0" covered="2"/><counter type="METHOD" missed="0" covered="1"/></method><method name="getFileName" desc="()Ljava/lang/String;" line="72"><counter type="INSTRUCTION" missed="0" covered="29"/><counter type="BRANCH" missed="0" covered="2"/><counter type="LINE" missed="0" covered="4"/><counter type="COMPLEXITY" missed="0" covered="2"/><counter type="METHOD" missed="0" covered="1"/></method><method name="getLinkLabel" desc="()Ljava/lang/String;" line="80"><counter type="INSTRUCTION" missed="0" covered="21"/><counter type="LINE" missed="0" covered="1"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="content" desc="(Lorg/jacoco/report/internal/html/HTMLElement;)V" line="87"><counter type="INSTRUCTION" missed="0" covered="74"/><counter type="BRANCH" missed="0" covered="10"/><counter type="LINE" missed="0" covered="14"/><counter type="COMPLEXITY" missed="0" covered="6"/><counter type="METHOD" missed="0" covered="1"/></method><counter type="INSTRUCTION" missed="0" covered="183"/><counter type="BRANCH" missed="0" covered="14"/><counter type="LINE" missed="0" covered="30"/><counter type="COMPLEXITY" missed="0" covered="13"/><counter type="METHOD" missed="0" covered="6"/><counter type="CLASS" missed="0" covered="1"/></class><class name="org/jacoco/report/internal/html/page/BundlePage" sourcefilename="BundlePage.java"><method name="&lt;init&gt;" desc="(Lorg/jacoco/core/analysis/IBundleCoverage;Lorg/jacoco/report/internal/html/page/ReportPage;Lorg/jacoco/report/ISourceFileLocator;Lorg/jacoco/report/internal/ReportOutputFolder;Lorg/jacoco/report/internal/html/IHTMLReportContext;)V" line="52"><counter type="INSTRUCTION" missed="0" covered="14"/><counter type="LINE" missed="0" covered="4"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="render" desc="()V" line="59"><counter type="INSTRUCTION" missed="0" covered="8"/><counter type="LINE" missed="0" covered="4"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="renderPackages" desc="()V" line="66"><counter type="INSTRUCTION" missed="2" covered="48"/><counter type="BRANCH" missed="1" covered="5"/><counter type="LINE" missed="0" covered="10"/><counter type="COMPLEXITY" missed="1" covered="3"/><counter type="METHOD" missed="0" covered="1"/></method><method name="getOnload" desc="()Ljava/lang/String;" line="82"><counter type="INSTRUCTION" missed="0" covered="2"/><counter type="LINE" missed="0" covered="1"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="getFileName" desc="()Ljava/lang/String;" line="87"><counter type="INSTRUCTION" missed="0" covered="2"/><counter type="LINE" missed="0" covered="1"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="content" desc="(Lorg/jacoco/report/internal/html/HTMLElement;)V" line="92"><counter type="INSTRUCTION" missed="0" covered="23"/><counter type="BRANCH" missed="0" covered="4"/><counter type="LINE" missed="0" covered="6"/><counter type="COMPLEXITY" missed="0" covered="3"/><counter type="METHOD" missed="0" covered="1"/></method><counter type="INSTRUCTION" missed="2" covered="97"/><counter type="BRANCH" missed="1" covered="9"/><counter type="LINE" missed="0" covered="26"/><counter type="COMPLEXITY" missed="1" covered="10"/><counter type="METHOD" missed="0" covered="6"/><counter type="CLASS" missed="0" covered="1"/></class><class name="org/jacoco/report/internal/html/page/SessionsPage" sourcefilename="SessionsPage.java"><method name="&lt;init&gt;" desc="(Ljava/util/List;Ljava/util/Collection;Lorg/jacoco/report/internal/html/index/ElementIndex;Lorg/jacoco/report/internal/html/page/ReportPage;Lorg/jacoco/report/internal/ReportOutputFolder;Lorg/jacoco/report/internal/html/IHTMLReportContext;)V" line="76"><counter type="INSTRUCTION" missed="0" covered="36"/><counter type="LINE" missed="0" covered="8"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="content" desc="(Lorg/jacoco/report/internal/html/HTMLElement;)V" line="93"><counter type="INSTRUCTION" missed="0" covered="33"/><counter type="BRANCH" missed="0" covered="4"/><counter type="LINE" missed="0" covered="9"/><counter type="COMPLEXITY" missed="0" covered="3"/><counter type="METHOD" missed="0" covered="1"/></method><method name="sessionTable" desc="(Lorg/jacoco/report/internal/html/HTMLElement;)V" line="108"><counter type="INSTRUCTION" missed="0" covered="68"/><counter type="BRANCH" missed="0" covered="2"/><counter type="LINE" missed="0" covered="13"/><counter type="COMPLEXITY" missed="0" covered="2"/><counter type="METHOD" missed="0" covered="1"/></method><method name="executionDataTable" desc="(Lorg/jacoco/report/internal/html/HTMLElement;)V" line="125"><counter type="INSTRUCTION" missed="0" covered="82"/><counter type="BRANCH" missed="0" covered="4"/><counter type="LINE" missed="0" covered="17"/><counter type="COMPLEXITY" missed="0" covered="3"/><counter type="METHOD" missed="0" covered="1"/></method><method name="getFileName" desc="()Ljava/lang/String;" line="150"><counter type="INSTRUCTION" missed="0" covered="2"/><counter type="LINE" missed="0" covered="1"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="getLinkStyle" desc="()Ljava/lang/String;" line="154"><counter type="INSTRUCTION" missed="0" covered="2"/><counter type="LINE" missed="0" covered="1"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="getLinkLabel" desc="()Ljava/lang/String;" line="158"><counter type="INSTRUCTION" missed="0" covered="2"/><counter type="LINE" missed="0" covered="1"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><counter type="INSTRUCTION" missed="0" covered="225"/><counter type="BRANCH" missed="0" covered="10"/><counter type="LINE" missed="0" covered="50"/><counter type="COMPLEXITY" missed="0" covered="12"/><counter type="METHOD" missed="0" covered="7"/><counter type="CLASS" missed="0" covered="1"/></class><class name="org/jacoco/report/internal/html/page/SourceFileItem" sourcefilename="SourceFileItem.java"><method name="&lt;init&gt;" desc="(Lorg/jacoco/core/analysis/ISourceFileCoverage;)V" line="29"><counter type="INSTRUCTION" missed="0" covered="6"/><counter type="LINE" missed="0" covered="3"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="getLinkLabel" desc="()Ljava/lang/String;" line="34"><counter type="INSTRUCTION" missed="0" covered="4"/><counter type="LINE" missed="0" covered="1"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="getLinkStyle" desc="()Ljava/lang/String;" line="38"><counter type="INSTRUCTION" missed="0" covered="2"/><counter type="LINE" missed="0" covered="1"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="getLink" desc="(Lorg/jacoco/report/internal/ReportOutputFolder;)Ljava/lang/String;" line="42"><counter type="INSTRUCTION" missed="0" covered="2"/><counter type="LINE" missed="0" covered="1"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="getNode" desc="()Lorg/jacoco/core/analysis/ICoverageNode;" line="46"><counter type="INSTRUCTION" missed="3" covered="0"/><counter type="LINE" missed="1" covered="0"/><counter type="COMPLEXITY" missed="1" covered="0"/><counter type="METHOD" missed="1" covered="0"/></method><counter type="INSTRUCTION" missed="3" covered="14"/><counter type="LINE" missed="1" covered="6"/><counter type="COMPLEXITY" missed="1" covered="4"/><counter type="METHOD" missed="1" covered="4"/><counter type="CLASS" missed="0" covered="1"/></class><class name="org/jacoco/report/internal/html/page/SessionsPage$1" sourcefilename="SessionsPage.java"><method name="&lt;init&gt;" desc="(Lorg/jacoco/report/internal/html/page/SessionsPage;Lorg/jacoco/report/ILanguageNames;)V" line="84"><counter type="INSTRUCTION" missed="0" covered="9"/><counter type="LINE" missed="0" covered="1"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="compare" desc="(Lorg/jacoco/core/data/ExecutionData;Lorg/jacoco/core/data/ExecutionData;)I" line="85"><counter type="INSTRUCTION" missed="0" covered="12"/><counter type="LINE" missed="0" covered="1"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><counter type="INSTRUCTION" missed="0" covered="21"/><counter type="LINE" missed="0" covered="2"/><counter type="COMPLEXITY" missed="0" covered="2"/><counter type="METHOD" missed="0" covered="2"/><counter type="CLASS" missed="0" covered="1"/></class><class name="org/jacoco/report/internal/html/page/SourceFilePage" sourcefilename="SourceFilePage.java"><method name="&lt;init&gt;" desc="(Lorg/jacoco/core/analysis/ISourceNode;Ljava/io/Reader;ILorg/jacoco/report/internal/html/page/ReportPage;Lorg/jacoco/report/internal/ReportOutputFolder;Lorg/jacoco/report/internal/html/IHTMLReportContext;)V" line="56"><counter type="INSTRUCTION" missed="0" covered="13"/><counter type="LINE" missed="0" covered="4"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="content" desc="(Lorg/jacoco/report/internal/html/HTMLElement;)V" line="63"><counter type="INSTRUCTION" missed="0" covered="19"/><counter type="LINE" missed="0" covered="4"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="head" desc="(Lorg/jacoco/report/internal/html/HTMLElement;)V" line="70"><counter type="INSTRUCTION" missed="0" covered="25"/><counter type="LINE" missed="0" covered="4"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="getOnload" desc="()Ljava/lang/String;" line="79"><counter type="INSTRUCTION" missed="0" covered="11"/><counter type="LINE" missed="0" covered="1"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="getFileName" desc="()Ljava/lang/String;" line="85"><counter type="INSTRUCTION" missed="0" covered="12"/><counter type="LINE" missed="0" covered="1"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><counter type="INSTRUCTION" missed="0" covered="80"/><counter type="LINE" missed="0" covered="14"/><counter type="COMPLEXITY" missed="0" covered="5"/><counter type="METHOD" missed="0" covered="5"/><counter type="CLASS" missed="0" covered="1"/></class><class name="org/jacoco/report/internal/html/page/ReportPage" sourcefilename="ReportPage.java"><method name="&lt;init&gt;" desc="(Lorg/jacoco/report/internal/html/page/ReportPage;Lorg/jacoco/report/internal/ReportOutputFolder;Lorg/jacoco/report/internal/html/IHTMLReportContext;)V" line="51"><counter type="INSTRUCTION" missed="0" covered="12"/><counter type="LINE" missed="0" covered="5"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="isRootPage" desc="()Z" line="63"><counter type="INSTRUCTION" missed="0" covered="7"/><counter type="BRANCH" missed="0" covered="2"/><counter type="LINE" missed="0" covered="1"/><counter type="COMPLEXITY" missed="0" covered="2"/><counter type="METHOD" missed="0" covered="1"/></method><method name="render" desc="()V" line="74"><counter type="INSTRUCTION" missed="0" covered="30"/><counter type="LINE" missed="0" covered="6"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="head" desc="(Lorg/jacoco/report/internal/html/HTMLElement;)V" line="91"><counter type="INSTRUCTION" missed="0" covered="35"/><counter type="LINE" missed="0" covered="5"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="body" desc="(Lorg/jacoco/report/internal/html/HTMLElement;)V" line="102"><counter type="INSTRUCTION" missed="0" covered="35"/><counter type="LINE" missed="0" covered="9"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="getOnload" desc="()Ljava/lang/String;" line="118"><counter type="INSTRUCTION" missed="0" covered="2"/><counter type="LINE" missed="0" covered="1"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="infoLinks" desc="(Lorg/jacoco/report/internal/html/HTMLElement;)V" line="130"><counter type="INSTRUCTION" missed="0" covered="9"/><counter type="LINE" missed="0" covered="2"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="breadcrumb" desc="(Lorg/jacoco/report/internal/html/HTMLElement;Lorg/jacoco/report/internal/ReportOutputFolder;)V" line="135"><counter type="INSTRUCTION" missed="0" covered="13"/><counter type="LINE" missed="0" covered="3"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="breadcrumbParent" desc="(Lorg/jacoco/report/internal/html/page/ReportPage;Lorg/jacoco/report/internal/html/HTMLElement;Lorg/jacoco/report/internal/ReportOutputFolder;)V" line="142"><counter type="INSTRUCTION" missed="0" covered="16"/><counter type="BRANCH" missed="0" covered="2"/><counter type="LINE" missed="0" covered="5"/><counter type="COMPLEXITY" missed="0" covered="2"/><counter type="METHOD" missed="0" covered="1"/></method><method name="footer" desc="(Lorg/jacoco/report/internal/html/HTMLElement;)V" line="150"><counter type="INSTRUCTION" missed="0" covered="28"/><counter type="LINE" missed="0" covered="8"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="getLink" desc="(Lorg/jacoco/report/internal/ReportOutputFolder;)Ljava/lang/String;" line="179"><counter type="INSTRUCTION" missed="0" covered="7"/><counter type="LINE" missed="0" covered="1"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><counter type="INSTRUCTION" missed="0" covered="194"/><counter type="BRANCH" missed="0" covered="4"/><counter type="LINE" missed="0" covered="46"/><counter type="COMPLEXITY" missed="0" covered="13"/><counter type="METHOD" missed="0" covered="11"/><counter type="CLASS" missed="0" covered="1"/></class><class name="org/jacoco/report/internal/html/page/NodePage" sourcefilename="NodePage.java"><method name="&lt;init&gt;" desc="(Lorg/jacoco/core/analysis/ICoverageNode;Lorg/jacoco/report/internal/html/page/ReportPage;Lorg/jacoco/report/internal/ReportOutputFolder;Lorg/jacoco/report/internal/html/IHTMLReportContext;)V" line="47"><counter type="INSTRUCTION" missed="0" covered="9"/><counter type="LINE" missed="0" covered="3"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="getLinkStyle" desc="()Ljava/lang/String;" line="54"><counter type="INSTRUCTION" missed="0" covered="10"/><counter type="BRANCH" missed="0" covered="2"/><counter type="LINE" missed="0" covered="3"/><counter type="COMPLEXITY" missed="0" covered="2"/><counter type="METHOD" missed="0" covered="1"/></method><method name="getLinkLabel" desc="()Ljava/lang/String;" line="62"><counter type="INSTRUCTION" missed="0" covered="4"/><counter type="LINE" missed="0" covered="1"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="getNode" desc="()Lorg/jacoco/core/analysis/ICoverageNode;" line="68"><counter type="INSTRUCTION" missed="0" covered="3"/><counter type="LINE" missed="0" covered="1"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><counter type="INSTRUCTION" missed="0" covered="26"/><counter type="BRANCH" missed="0" covered="2"/><counter type="LINE" missed="0" covered="8"/><counter type="COMPLEXITY" missed="0" covered="5"/><counter type="METHOD" missed="0" covered="4"/><counter type="CLASS" missed="0" covered="1"/></class><class name="org/jacoco/report/internal/html/page/TablePage" sourcefilename="TablePage.java"><method name="&lt;init&gt;" desc="(Lorg/jacoco/core/analysis/ICoverageNode;Lorg/jacoco/report/internal/html/page/ReportPage;Lorg/jacoco/report/internal/ReportOutputFolder;Lorg/jacoco/report/internal/html/IHTMLReportContext;)V" line="35"><counter type="INSTRUCTION" missed="0" covered="12"/><counter type="LINE" missed="0" covered="3"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="addItem" desc="(Lorg/jacoco/report/internal/html/table/ITableItem;)V" line="62"><counter type="INSTRUCTION" missed="0" covered="6"/><counter type="LINE" missed="0" covered="2"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="head" desc="(Lorg/jacoco/report/internal/html/HTMLElement;)V" line="67"><counter type="INSTRUCTION" missed="0" covered="13"/><counter type="LINE" missed="0" covered="3"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="content" desc="(Lorg/jacoco/report/internal/html/HTMLElement;)V" line="74"><counter type="INSTRUCTION" missed="0" covered="18"/><counter type="LINE" missed="0" covered="3"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><counter type="INSTRUCTION" missed="0" covered="49"/><counter type="LINE" missed="0" covered="11"/><counter type="COMPLEXITY" missed="0" covered="4"/><counter type="METHOD" missed="0" covered="4"/><counter type="CLASS" missed="0" covered="1"/></class><class name="org/jacoco/report/internal/html/page/MethodItem" sourcefilename="MethodItem.java"><method name="&lt;init&gt;" desc="(Lorg/jacoco/core/analysis/IMethodCoverage;Ljava/lang/String;Lorg/jacoco/report/internal/html/ILinkable;)V" line="35"><counter type="INSTRUCTION" missed="0" covered="12"/><counter type="LINE" missed="0" covered="5"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="getLinkLabel" desc="()Ljava/lang/String;" line="42"><counter type="INSTRUCTION" missed="0" covered="3"/><counter type="LINE" missed="0" covered="1"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="getLinkStyle" desc="()Ljava/lang/String;" line="46"><counter type="INSTRUCTION" missed="0" covered="2"/><counter type="LINE" missed="0" covered="1"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="getLink" desc="(Lorg/jacoco/report/internal/ReportOutputFolder;)Ljava/lang/String;" line="50"><counter type="INSTRUCTION" missed="0" covered="30"/><counter type="BRANCH" missed="0" covered="4"/><counter type="LINE" missed="0" covered="5"/><counter type="COMPLEXITY" missed="0" covered="3"/><counter type="METHOD" missed="0" covered="1"/></method><method name="getNode" desc="()Lorg/jacoco/core/analysis/ICoverageNode;" line="59"><counter type="INSTRUCTION" missed="0" covered="3"/><counter type="LINE" missed="0" covered="1"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><counter type="INSTRUCTION" missed="0" covered="50"/><counter type="BRANCH" missed="0" covered="4"/><counter type="LINE" missed="0" covered="13"/><counter type="COMPLEXITY" missed="0" covered="7"/><counter type="METHOD" missed="0" covered="5"/><counter type="CLASS" missed="0" covered="1"/></class><class name="org/jacoco/report/internal/html/page/PackagePage" sourcefilename="PackagePage.java"><method name="&lt;init&gt;" desc="(Lorg/jacoco/core/analysis/IPackageCoverage;Lorg/jacoco/report/internal/html/page/ReportPage;Lorg/jacoco/report/ISourceFileLocator;Lorg/jacoco/report/internal/ReportOutputFolder;Lorg/jacoco/report/internal/html/IHTMLReportContext;)V" line="52"><counter type="INSTRUCTION" missed="0" covered="27"/><counter type="BRANCH" missed="0" covered="2"/><counter type="LINE" missed="0" covered="4"/><counter type="COMPLEXITY" missed="0" covered="2"/><counter type="METHOD" missed="0" covered="1"/></method><method name="render" desc="()V" line="60"><counter type="INSTRUCTION" missed="0" covered="11"/><counter type="BRANCH" missed="0" covered="2"/><counter type="LINE" missed="0" covered="5"/><counter type="COMPLEXITY" missed="0" covered="2"/><counter type="METHOD" missed="0" covered="1"/></method><method name="renderClasses" desc="()V" line="68"><counter type="INSTRUCTION" missed="0" covered="41"/><counter type="BRANCH" missed="0" covered="4"/><counter type="LINE" missed="0" covered="9"/><counter type="COMPLEXITY" missed="0" covered="3"/><counter type="METHOD" missed="0" covered="1"/></method><method name="getOnload" desc="()Ljava/lang/String;" line="83"><counter type="INSTRUCTION" missed="0" covered="2"/><counter type="LINE" missed="0" covered="1"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="getFileName" desc="()Ljava/lang/String;" line="88"><counter type="INSTRUCTION" missed="0" covered="2"/><counter type="LINE" missed="0" covered="1"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="getLinkLabel" desc="()Ljava/lang/String;" line="93"><counter type="INSTRUCTION" missed="0" covered="9"/><counter type="LINE" missed="0" covered="1"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="infoLinks" desc="(Lorg/jacoco/report/internal/html/HTMLElement;)V" line="98"><counter type="INSTRUCTION" missed="0" covered="19"/><counter type="BRANCH" missed="0" covered="2"/><counter type="LINE" missed="0" covered="5"/><counter type="COMPLEXITY" missed="0" covered="2"/><counter type="METHOD" missed="0" covered="1"/></method><counter type="INSTRUCTION" missed="0" covered="111"/><counter type="BRANCH" missed="0" covered="10"/><counter type="LINE" missed="0" covered="26"/><counter type="COMPLEXITY" missed="0" covered="12"/><counter type="METHOD" missed="0" covered="7"/><counter type="CLASS" missed="0" covered="1"/></class><class name="org/jacoco/report/internal/html/page/GroupPage" sourcefilename="GroupPage.java"><method name="&lt;init&gt;" desc="(Lorg/jacoco/core/analysis/ICoverageNode;Lorg/jacoco/report/internal/html/page/ReportPage;Lorg/jacoco/report/internal/ReportOutputFolder;Lorg/jacoco/report/internal/html/IHTMLReportContext;)V" line="39"><counter type="INSTRUCTION" missed="0" covered="7"/><counter type="LINE" missed="0" covered="2"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="getOnload" desc="()Ljava/lang/String;" line="44"><counter type="INSTRUCTION" missed="0" covered="2"/><counter type="LINE" missed="0" covered="1"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="getFileName" desc="()Ljava/lang/String;" line="49"><counter type="INSTRUCTION" missed="0" covered="2"/><counter type="LINE" missed="0" covered="1"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><counter type="INSTRUCTION" missed="0" covered="11"/><counter type="LINE" missed="0" covered="4"/><counter type="COMPLEXITY" missed="0" covered="3"/><counter type="METHOD" missed="0" covered="3"/><counter type="CLASS" missed="0" covered="1"/></class><class name="org/jacoco/report/internal/html/page/PackageSourcePage" sourcefilename="PackageSourcePage.java"><method name="&lt;init&gt;" desc="(Lorg/jacoco/core/analysis/IPackageCoverage;Lorg/jacoco/report/internal/html/page/ReportPage;Lorg/jacoco/report/ISourceFileLocator;Lorg/jacoco/report/internal/ReportOutputFolder;Lorg/jacoco/report/internal/html/IHTMLReportContext;Lorg/jacoco/report/internal/html/ILinkable;)V" line="59"><counter type="INSTRUCTION" missed="0" covered="18"/><counter type="LINE" missed="0" covered="5"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="render" desc="()V" line="67"><counter type="INSTRUCTION" missed="0" covered="5"/><counter type="LINE" missed="0" covered="3"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="getSourceFilePage" desc="(Ljava/lang/String;)Lorg/jacoco/report/internal/html/ILinkable;" line="77"><counter type="INSTRUCTION" missed="0" covered="6"/><counter type="LINE" missed="0" covered="1"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="renderSourceFilePages" desc="()V" line="81"><counter type="INSTRUCTION" missed="0" covered="67"/><counter type="BRANCH" missed="0" covered="6"/><counter type="LINE" missed="0" covered="14"/><counter type="COMPLEXITY" missed="0" covered="4"/><counter type="METHOD" missed="0" covered="1"/></method><method name="getOnload" desc="()Ljava/lang/String;" line="104"><counter type="INSTRUCTION" missed="0" covered="2"/><counter type="LINE" missed="0" covered="1"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="getFileName" desc="()Ljava/lang/String;" line="109"><counter type="INSTRUCTION" missed="0" covered="2"/><counter type="LINE" missed="0" covered="1"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="getLinkLabel" desc="()Ljava/lang/String;" line="114"><counter type="INSTRUCTION" missed="0" covered="9"/><counter type="LINE" missed="0" covered="1"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="infoLinks" desc="(Lorg/jacoco/report/internal/html/HTMLElement;)V" line="119"><counter type="INSTRUCTION" missed="0" covered="16"/><counter type="LINE" missed="0" covered="4"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><counter type="INSTRUCTION" missed="0" covered="125"/><counter type="BRANCH" missed="0" covered="6"/><counter type="LINE" missed="0" covered="30"/><counter type="COMPLEXITY" missed="0" covered="11"/><counter type="METHOD" missed="0" covered="8"/><counter type="CLASS" missed="0" covered="1"/></class><sourcefile name="MethodItem.java"><line nr="35" mi="0" ci="2" mb="0" cb="0"/><line nr="36" mi="0" ci="3" mb="0" cb="0"/><line nr="37" mi="0" ci="3" mb="0" cb="0"/><line nr="38" mi="0" ci="3" mb="0" cb="0"/><line nr="39" mi="0" ci="1" mb="0" cb="0"/><line nr="42" mi="0" ci="3" mb="0" cb="0"/><line nr="46" mi="0" ci="2" mb="0" cb="0"/><line nr="50" mi="0" ci="3" mb="0" cb="2"/><line nr="51" mi="0" ci="2" mb="0" cb="0"/><line nr="53" mi="0" ci="5" mb="0" cb="0"/><line nr="54" mi="0" ci="4" mb="0" cb="0"/><line nr="55" mi="0" ci="16" mb="0" cb="2"/><line nr="59" mi="0" ci="3" mb="0" cb="0"/><counter type="INSTRUCTION" missed="0" covered="50"/><counter type="BRANCH" missed="0" covered="4"/><counter type="LINE" missed="0" covered="13"/><counter type="COMPLEXITY" missed="0" covered="7"/><counter type="METHOD" missed="0" covered="5"/><counter type="CLASS" missed="0" covered="1"/></sourcefile><sourcefile name="BundlePage.java"><line nr="52" mi="0" ci="7" mb="0" cb="0"/><line nr="53" mi="0" ci="3" mb="0" cb="0"/><line nr="54" mi="0" ci="3" mb="0" cb="0"/><line nr="55" mi="0" ci="1" mb="0" cb="0"/><line nr="59" mi="0" ci="2" mb="0" cb="0"/><line nr="60" mi="0" ci="2" mb="0" cb="0"/><line nr="62" mi="0" ci="3" mb="0" cb="0"/><line nr="63" mi="0" ci="1" mb="0" cb="0"/><line nr="66" mi="0" ci="12" mb="0" cb="2"/><line nr="67" mi="0" ci="3" mb="0" cb="2"/><line nr="68" mi="0" ci="1" mb="0" cb="0"/><line nr="70" mi="0" ci="3" mb="0" cb="0"/><line nr="71" mi="2" ci="8" mb="1" cb="1"/><line nr="73" mi="0" ci="14" mb="0" cb="0"/><line nr="75" mi="0" ci="2" mb="0" cb="0"/><line nr="76" mi="0" ci="3" mb="0" cb="0"/><line nr="77" mi="0" ci="1" mb="0" cb="0"/><line nr="78" mi="0" ci="1" mb="0" cb="0"/><line nr="82" mi="0" ci="2" mb="0" cb="0"/><line nr="87" mi="0" ci="2" mb="0" cb="0"/><line nr="92" mi="0" ci="5" mb="0" cb="2"/><line nr="93" mi="0" ci="5" mb="0" cb="0"/><line nr="94" mi="0" ci="4" mb="0" cb="2"/><line nr="95" mi="0" ci="5" mb="0" cb="0"/><line nr="98" mi="0" ci="3" mb="0" cb="0"/><line nr="100" mi="0" ci="1" mb="0" cb="0"/><counter type="INSTRUCTION" missed="2" covered="97"/><counter type="BRANCH" missed="1" covered="9"/><counter type="LINE" missed="0" covered="26"/><counter type="COMPLEXITY" missed="1" covered="10"/><counter type="METHOD" missed="0" covered="6"/><counter type="CLASS" missed="0" covered="1"/></sourcefile><sourcefile name="TablePage.java"><line nr="35" mi="0" ci="5" mb="0" cb="0"/><line nr="51" mi="0" ci="6" mb="0" cb="0"/><line nr="52" mi="0" ci="1" mb="0" cb="0"/><line nr="62" mi="0" ci="5" mb="0" cb="0"/><line nr="63" mi="0" ci="1" mb="0" cb="0"/><line nr="67" mi="0" ci="3" mb="0" cb="0"/><line nr="68" mi="0" ci="9" mb="0" cb="0"/><line nr="70" mi="0" ci="1" mb="0" cb="0"/><line nr="74" mi="0" ci="14" mb="0" cb="0"/><line nr="77" mi="0" ci="3" mb="0" cb="0"/><line nr="78" mi="0" ci="1" mb="0" cb="0"/><counter type="INSTRUCTION" missed="0" covered="49"/><counter type="LINE" missed="0" covered="11"/><counter type="COMPLEXITY" missed="0" covered="4"/><counter type="METHOD" missed="0" covered="4"/><counter type="CLASS" missed="0" covered="1"/></sourcefile><sourcefile name="NodePage.java"><line nr="47" mi="0" ci="5" mb="0" cb="0"/><line nr="48" mi="0" ci="3" mb="0" cb="0"/><line nr="49" mi="0" ci="1" mb="0" cb="0"/><line nr="54" mi="0" ci="3" mb="0" cb="2"/><line nr="55" mi="0" ci="2" mb="0" cb="0"/><line nr="57" mi="0" ci="5" mb="0" cb="0"/><line nr="62" mi="0" ci="4" mb="0" cb="0"/><line nr="68" mi="0" ci="3" mb="0" cb="0"/><counter type="INSTRUCTION" missed="0" covered="26"/><counter type="BRANCH" missed="0" covered="2"/><counter type="LINE" missed="0" covered="8"/><counter type="COMPLEXITY" missed="0" covered="5"/><counter type="METHOD" missed="0" covered="4"/><counter type="CLASS" missed="0" covered="1"/></sourcefile><sourcefile name="ReportPage.java"><line nr="51" mi="0" ci="2" mb="0" cb="0"/><line nr="52" mi="0" ci="3" mb="0" cb="0"/><line nr="53" mi="0" ci="3" mb="0" cb="0"/><line nr="54" mi="0" ci="3" mb="0" cb="0"/><line nr="55" mi="0" ci="1" mb="0" cb="0"/><line nr="63" mi="0" ci="7" mb="0" cb="2"/><line nr="74" mi="0" ci="12" mb="0" cb="0"/><line nr="76" mi="0" ci="7" mb="0" cb="0"/><line nr="77" mi="0" ci="4" mb="0" cb="0"/><line nr="78" mi="0" ci="4" mb="0" cb="0"/><line nr="79" mi="0" ci="2" mb="0" cb="0"/><line nr="80" mi="0" ci="1" mb="0" cb="0"/><line nr="91" mi="0" ci="5" mb="0" cb="0"/><line nr="92" mi="0" ci="12" mb="0" cb="0"/><line nr="95" mi="0" ci="12" mb="0" cb="0"/><line nr="98" mi="0" ci="5" mb="0" cb="0"/><line nr="99" mi="0" ci="1" mb="0" cb="0"/><line nr="102" mi="0" ci="5" mb="0" cb="0"/><line nr="103" mi="0" ci="4" mb="0" cb="0"/><line nr="104" mi="0" ci="4" mb="0" cb="0"/><line nr="105" mi="0" ci="5" mb="0" cb="0"/><line nr="106" mi="0" ci="5" mb="0" cb="0"/><line nr="107" mi="0" ci="5" mb="0" cb="0"/><line nr="108" mi="0" ci="3" mb="0" cb="0"/><line nr="109" mi="0" ci="3" mb="0" cb="0"/><line nr="110" mi="0" ci="1" mb="0" cb="0"/><line nr="118" mi="0" ci="2" mb="0" cb="0"/><line nr="130" mi="0" ci="8" mb="0" cb="0"/><line nr="131" mi="0" ci="1" mb="0" cb="0"/><line nr="135" mi="0" ci="5" mb="0" cb="0"/><line nr="136" mi="0" ci="7" mb="0" cb="0"/><line nr="137" mi="0" ci="1" mb="0" cb="0"/><line nr="142" mi="0" ci="2" mb="0" cb="2"/><line nr="143" mi="0" ci="5" mb="0" cb="0"/><line nr="144" mi="0" ci="5" mb="0" cb="0"/><line nr="145" mi="0" ci="3" mb="0" cb="0"/><line nr="147" mi="0" ci="1" mb="0" cb="0"/><line nr="150" mi="0" ci="4" mb="0" cb="0"/><line nr="151" mi="0" ci="4" mb="0" cb="0"/><line nr="152" mi="0" ci="3" mb="0" cb="0"/><line nr="153" mi="0" ci="5" mb="0" cb="0"/><line nr="154" mi="0" ci="3" mb="0" cb="0"/><line nr="155" mi="0" ci="3" mb="0" cb="0"/><line nr="156" mi="0" ci="5" mb="0" cb="0"/><line nr="157" mi="0" ci="1" mb="0" cb="0"/><line nr="179" mi="0" ci="7" mb="0" cb="0"/><counter type="INSTRUCTION" missed="0" covered="194"/><counter type="BRANCH" missed="0" covered="4"/><counter type="LINE" missed="0" covered="46"/><counter type="COMPLEXITY" missed="0" covered="13"/><counter type="METHOD" missed="0" covered="11"/><counter type="CLASS" missed="0" covered="1"/></sourcefile><sourcefile name="PackagePage.java"><line nr="52" mi="0" ci="6" mb="0" cb="0"/><line nr="53" mi="0" ci="11" mb="0" cb="0"/><line nr="55" mi="0" ci="9" mb="0" cb="2"/><line nr="56" mi="0" ci="1" mb="0" cb="0"/><line nr="60" mi="0" ci="3" mb="0" cb="2"/><line nr="61" mi="0" ci="3" mb="0" cb="0"/><line nr="63" mi="0" ci="2" mb="0" cb="0"/><line nr="64" mi="0" ci="2" mb="0" cb="0"/><line nr="65" mi="0" ci="1" mb="0" cb="0"/><line nr="68" mi="0" ci="13" mb="0" cb="2"/><line nr="69" mi="0" ci="3" mb="0" cb="2"/><line nr="70" mi="0" ci="1" mb="0" cb="0"/><line nr="72" mi="0" ci="6" mb="0" cb="0"/><line nr="74" mi="0" ci="11" mb="0" cb="0"/><line nr="76" mi="0" ci="2" mb="0" cb="0"/><line nr="77" mi="0" ci="3" mb="0" cb="0"/><line nr="78" mi="0" ci="1" mb="0" cb="0"/><line nr="79" mi="0" ci="1" mb="0" cb="0"/><line nr="83" mi="0" ci="2" mb="0" cb="0"/><line nr="88" mi="0" ci="2" mb="0" cb="0"/><line nr="93" mi="0" ci="9" mb="0" cb="0"/><line nr="98" mi="0" ci="3" mb="0" cb="2"/><line nr="99" mi="0" ci="6" mb="0" cb="0"/><line nr="100" mi="0" ci="6" mb="0" cb="0"/><line nr="102" mi="0" ci="3" mb="0" cb="0"/><line nr="103" mi="0" ci="1" mb="0" cb="0"/><counter type="INSTRUCTION" missed="0" covered="111"/><counter type="BRANCH" missed="0" covered="10"/><counter type="LINE" missed="0" covered="26"/><counter type="COMPLEXITY" missed="0" covered="12"/><counter type="METHOD" missed="0" covered="7"/><counter type="CLASS" missed="0" covered="1"/></sourcefile><sourcefile name="SourceHighlighter.java"><line nr="41" mi="0" ci="2" mb="0" cb="0"/><line nr="42" mi="0" ci="3" mb="0" cb="0"/><line nr="43" mi="0" ci="3" mb="0" cb="0"/><line nr="44" mi="0" ci="1" mb="0" cb="0"/><line nr="54" mi="0" ci="3" mb="0" cb="0"/><line nr="55" mi="0" ci="1" mb="0" cb="0"/><line nr="71" mi="0" ci="14" mb="0" cb="0"/><line nr="73" mi="0" ci="5" mb="0" cb="0"/><line nr="75" mi="0" ci="2" mb="0" cb="0"/><line nr="76" mi="0" ci="5" mb="0" cb="2"/><line nr="77" mi="0" ci="1" mb="0" cb="0"/><line nr="78" mi="0" ci="9" mb="0" cb="0"/><line nr="80" mi="0" ci="1" mb="0" cb="0"/><line nr="84" mi="0" ci="7" mb="0" cb="0"/><line nr="85" mi="0" ci="3" mb="0" cb="0"/><line nr="86" mi="0" ci="1" mb="0" cb="0"/><line nr="91" mi="0" ci="3" mb="0" cb="4"/><line nr="93" mi="0" ci="2" mb="0" cb="0"/><line nr="94" mi="0" ci="1" mb="0" cb="0"/><line nr="96" mi="0" ci="2" mb="0" cb="0"/><line nr="97" mi="0" ci="1" mb="0" cb="0"/><line nr="99" mi="0" ci="2" mb="0" cb="0"/><line nr="100" mi="0" ci="1" mb="0" cb="0"/><line nr="102" mi="0" ci="2" mb="0" cb="0"/><line nr="105" mi="0" ci="10" mb="0" cb="0"/><line nr="106" mi="0" ci="3" mb="0" cb="0"/><line nr="107" mi="0" ci="3" mb="0" cb="4"/><line nr="109" mi="0" ci="9" mb="0" cb="0"/><line nr="112" mi="0" ci="9" mb="0" cb="0"/><line nr="115" mi="0" ci="9" mb="0" cb="0"/><line nr="118" mi="0" ci="5" mb="0" cb="0"/><line nr="125" mi="0" ci="14" mb="0" cb="0"/><line nr="126" mi="0" ci="4" mb="0" cb="0"/><line nr="127" mi="0" ci="4" mb="0" cb="0"/><line nr="128" mi="0" ci="17" mb="0" cb="0"/><line nr="129" mi="0" ci="2" mb="0" cb="0"/><counter type="INSTRUCTION" missed="0" covered="164"/><counter type="BRANCH" missed="0" covered="10"/><counter type="LINE" missed="0" covered="36"/><counter type="COMPLEXITY" missed="0" covered="13"/><counter type="METHOD" missed="0" covered="6"/><counter type="CLASS" missed="0" covered="1"/></sourcefile><sourcefile name="PackageSourcePage.java"><line nr="59" mi="0" ci="6" mb="0" cb="0"/><line nr="60" mi="0" ci="3" mb="0" cb="0"/><line nr="61" mi="0" ci="3" mb="0" cb="0"/><line nr="62" mi="0" ci="5" mb="0" cb="0"/><line nr="63" mi="0" ci="1" mb="0" cb="0"/><line nr="67" mi="0" ci="2" mb="0" cb="0"/><line nr="68" mi="0" ci="2" mb="0" cb="0"/><line nr="69" mi="0" ci="1" mb="0" cb="0"/><line nr="77" mi="0" ci="6" mb="0" cb="0"/><line nr="81" mi="0" ci="5" mb="0" cb="0"/><line nr="82" mi="0" ci="13" mb="0" cb="2"/><line nr="83" mi="0" ci="3" mb="0" cb="2"/><line nr="84" mi="0" ci="1" mb="0" cb="0"/><line nr="86" mi="0" ci="3" mb="0" cb="0"/><line nr="87" mi="0" ci="6" mb="0" cb="0"/><line nr="89" mi="0" ci="2" mb="0" cb="2"/><line nr="90" mi="0" ci="7" mb="0" cb="0"/><line nr="92" mi="0" ci="14" mb="0" cb="0"/><line nr="94" mi="0" ci="2" mb="0" cb="0"/><line nr="95" mi="0" ci="6" mb="0" cb="0"/><line nr="96" mi="0" ci="3" mb="0" cb="0"/><line nr="99" mi="0" ci="1" mb="0" cb="0"/><line nr="100" mi="0" ci="1" mb="0" cb="0"/><line nr="104" mi="0" ci="2" mb="0" cb="0"/><line nr="109" mi="0" ci="2" mb="0" cb="0"/><line nr="114" mi="0" ci="9" mb="0" cb="0"/><line nr="119" mi="0" ci="6" mb="0" cb="0"/><line nr="120" mi="0" ci="6" mb="0" cb="0"/><line nr="121" mi="0" ci="3" mb="0" cb="0"/><line nr="122" mi="0" ci="1" mb="0" cb="0"/><counter type="INSTRUCTION" missed="0" covered="125"/><counter type="BRANCH" missed="0" covered="6"/><counter type="LINE" missed="0" covered="30"/><counter type="COMPLEXITY" missed="0" covered="11"/><counter type="METHOD" missed="0" covered="8"/><counter type="CLASS" missed="0" covered="1"/></sourcefile><sourcefile name="SourceFilePage.java"><line nr="56" mi="0" ci="6" mb="0" cb="0"/><line nr="57" mi="0" ci="3" mb="0" cb="0"/><line nr="58" mi="0" ci="3" mb="0" cb="0"/><line nr="59" mi="0" ci="1" mb="0" cb="0"/><line nr="63" mi="0" ci="7" mb="0" cb="0"/><line nr="64" mi="0" ci="8" mb="0" cb="0"/><line nr="65" mi="0" ci="3" mb="0" cb="0"/><line nr="66" mi="0" ci="1" mb="0" cb="0"/><line nr="70" mi="0" ci="3" mb="0" cb="0"/><line nr="71" mi="0" ci="12" mb="0" cb="0"/><line nr="73" mi="0" ci="9" mb="0" cb="0"/><line nr="75" mi="0" ci="1" mb="0" cb="0"/><line nr="79" mi="0" ci="11" mb="0" cb="0"/><line nr="85" mi="0" ci="12" mb="0" cb="0"/><counter type="INSTRUCTION" missed="0" covered="80"/><counter type="LINE" missed="0" covered="14"/><counter type="COMPLEXITY" missed="0" covered="5"/><counter type="METHOD" missed="0" covered="5"/><counter type="CLASS" missed="0" covered="1"/></sourcefile><sourcefile name="SessionsPage.java"><line nr="76" mi="0" ci="5" mb="0" cb="0"/><line nr="77" mi="0" ci="3" mb="0" cb="0"/><line nr="78" mi="0" ci="6" mb="0" cb="0"/><line nr="79" mi="0" ci="3" mb="0" cb="0"/><line nr="80" mi="0" ci="7" mb="0" cb="0"/><line nr="82" mi="0" ci="3" mb="0" cb="0"/><line nr="83" mi="0" ci="8" mb="0" cb="0"/><line nr="84" mi="0" ci="9" mb="0" cb="0"/><line nr="85" mi="0" ci="12" mb="0" cb="0"/><line nr="89" mi="0" ci="1" mb="0" cb="0"/><line nr="93" mi="0" ci="4" mb="0" cb="2"/><line nr="94" mi="0" ci="5" mb="0" cb="0"/><line nr="96" mi="0" ci="4" mb="0" cb="0"/><line nr="97" mi="0" ci="3" mb="0" cb="0"/><line nr="99" mi="0" ci="4" mb="0" cb="2"/><line nr="100" mi="0" ci="5" mb="0" cb="0"/><line nr="102" mi="0" ci="4" mb="0" cb="0"/><line nr="103" mi="0" ci="3" mb="0" cb="0"/><line nr="105" mi="0" ci="1" mb="0" cb="0"/><line nr="108" mi="0" ci="4" mb="0" cb="0"/><line nr="110" mi="0" ci="4" mb="0" cb="0"/><line nr="111" mi="0" ci="4" mb="0" cb="0"/><line nr="112" mi="0" ci="4" mb="0" cb="0"/><line nr="113" mi="0" ci="4" mb="0" cb="0"/><line nr="115" mi="0" ci="3" mb="0" cb="0"/><line nr="116" mi="0" ci="11" mb="0" cb="2"/><line nr="117" mi="0" ci="3" mb="0" cb="0"/><line nr="118" mi="0" ci="7" mb="0" cb="0"/><line nr="119" mi="0" ci="11" mb="0" cb="0"/><line nr="120" mi="0" ci="11" mb="0" cb="0"/><line nr="121" mi="0" ci="1" mb="0" cb="0"/><line nr="122" mi="0" ci="1" mb="0" cb="0"/><line nr="125" mi="0" ci="4" mb="0" cb="0"/><line nr="127" mi="0" ci="4" mb="0" cb="0"/><line nr="128" mi="0" ci="4" mb="0" cb="0"/><line nr="129" mi="0" ci="4" mb="0" cb="0"/><line nr="131" mi="0" ci="3" mb="0" cb="0"/><line nr="132" mi="0" ci="4" mb="0" cb="0"/><line nr="133" mi="0" ci="11" mb="0" cb="2"/><line nr="134" mi="0" ci="3" mb="0" cb="0"/><line nr="135" mi="0" ci="6" mb="0" cb="0"/><line nr="136" mi="0" ci="5" mb="0" cb="0"/><line nr="138" mi="0" ci="2" mb="0" cb="2"/><line nr="139" mi="0" ci="7" mb="0" cb="0"/><line nr="141" mi="0" ci="7" mb="0" cb="0"/><line nr="143" mi="0" ci="11" mb="0" cb="0"/><line nr="144" mi="0" ci="5" mb="0" cb="0"/><line nr="145" mi="0" ci="1" mb="0" cb="0"/><line nr="146" mi="0" ci="1" mb="0" cb="0"/><line nr="150" mi="0" ci="2" mb="0" cb="0"/><line nr="154" mi="0" ci="2" mb="0" cb="0"/><line nr="158" mi="0" ci="2" mb="0" cb="0"/><counter type="INSTRUCTION" missed="0" covered="246"/><counter type="BRANCH" missed="0" covered="10"/><counter type="LINE" missed="0" covered="52"/><counter type="COMPLEXITY" missed="0" covered="14"/><counter type="METHOD" missed="0" covered="9"/><counter type="CLASS" missed="0" covered="2"/></sourcefile><sourcefile name="SourceFileItem.java"><line nr="29" mi="0" ci="2" mb="0" cb="0"/><line nr="30" mi="0" ci="3" mb="0" cb="0"/><line nr="31" mi="0" ci="1" mb="0" cb="0"/><line nr="34" mi="0" ci="4" mb="0" cb="0"/><line nr="38" mi="0" ci="2" mb="0" cb="0"/><line nr="42" mi="0" ci="2" mb="0" cb="0"/><line nr="46" mi="3" ci="0" mb="0" cb="0"/><counter type="INSTRUCTION" missed="3" covered="14"/><counter type="LINE" missed="1" covered="6"/><counter type="COMPLEXITY" missed="1" covered="4"/><counter type="METHOD" missed="1" covered="4"/><counter type="CLASS" missed="0" covered="1"/></sourcefile><sourcefile name="ClassPage.java"><line nr="49" mi="0" ci="6" mb="0" cb="0"/><line nr="50" mi="0" ci="3" mb="0" cb="0"/><line nr="51" mi="0" ci="6" mb="0" cb="0"/><line nr="52" mi="0" ci="1" mb="0" cb="0"/><line nr="56" mi="0" ci="2" mb="0" cb="0"/><line nr="61" mi="0" ci="13" mb="0" cb="2"/><line nr="62" mi="0" ci="15" mb="0" cb="0"/><line nr="65" mi="0" ci="9" mb="0" cb="0"/><line nr="66" mi="0" ci="1" mb="0" cb="0"/><line nr="67" mi="0" ci="2" mb="0" cb="0"/><line nr="68" mi="0" ci="1" mb="0" cb="0"/><line nr="72" mi="0" ci="5" mb="0" cb="0"/><line nr="73" mi="0" ci="4" mb="0" cb="0"/><line nr="74" mi="0" ci="11" mb="0" cb="2"/><line nr="75" mi="0" ci="9" mb="0" cb="0"/><line nr="80" mi="0" ci="21" mb="0" cb="0"/><line nr="87" mi="0" ci="5" mb="0" cb="2"/><line nr="88" mi="0" ci="4" mb="0" cb="0"/><line nr="92" mi="0" ci="6" mb="0" cb="2"/><line nr="93" mi="0" ci="4" mb="0" cb="0"/><line nr="97" mi="0" ci="5" mb="0" cb="0"/><line nr="98" mi="0" ci="2" mb="0" cb="2"/><line nr="99" mi="0" ci="5" mb="0" cb="0"/><line nr="102" mi="0" ci="3" mb="0" cb="2"/><line nr="104" mi="0" ci="6" mb="0" cb="2"/><line nr="105" mi="0" ci="15" mb="0" cb="0"/><line nr="107" mi="0" ci="2" mb="0" cb="0"/><line nr="109" mi="0" ci="13" mb="0" cb="0"/><line nr="113" mi="0" ci="3" mb="0" cb="0"/><line nr="114" mi="0" ci="1" mb="0" cb="0"/><counter type="INSTRUCTION" missed="0" covered="183"/><counter type="BRANCH" missed="0" covered="14"/><counter type="LINE" missed="0" covered="30"/><counter type="COMPLEXITY" missed="0" covered="13"/><counter type="METHOD" missed="0" covered="6"/><counter type="CLASS" missed="0" covered="1"/></sourcefile><sourcefile name="GroupPage.java"><line nr="39" mi="0" ci="6" mb="0" cb="0"/><line nr="40" mi="0" ci="1" mb="0" cb="0"/><line nr="44" mi="0" ci="2" mb="0" cb="0"/><line nr="49" mi="0" ci="2" mb="0" cb="0"/><counter type="INSTRUCTION" missed="0" covered="11"/><counter type="LINE" missed="0" covered="4"/><counter type="COMPLEXITY" missed="0" covered="3"/><counter type="METHOD" missed="0" covered="3"/><counter type="CLASS" missed="0" covered="1"/></sourcefile><counter type="INSTRUCTION" missed="5" covered="1350"/><counter type="BRANCH" missed="1" covered="69"/><counter type="LINE" missed="1" covered="302"/><counter type="COMPLEXITY" missed="2" covered="114"/><counter type="METHOD" missed="1" covered="78"/><counter type="CLASS" missed="0" covered="14"/></package><package name="org/jacoco/report/check"><class name="org/jacoco/report/check/Rule" sourcefilename="Rule.java"><method name="&lt;init&gt;" desc="()V" line="38"><counter type="INSTRUCTION" missed="0" covered="17"/><counter type="LINE" missed="0" covered="6"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="getElement" desc="()Lorg/jacoco/core/analysis/ICoverageNode$ElementType;" line="49"><counter type="INSTRUCTION" missed="0" covered="3"/><counter type="LINE" missed="0" covered="1"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="setElement" desc="(Lorg/jacoco/core/analysis/ICoverageNode$ElementType;)V" line="57"><counter type="INSTRUCTION" missed="0" covered="4"/><counter type="LINE" missed="0" covered="2"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="getIncludes" desc="()Ljava/lang/String;" line="64"><counter type="INSTRUCTION" missed="0" covered="3"/><counter type="LINE" missed="0" covered="1"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="setIncludes" desc="(Ljava/lang/String;)V" line="72"><counter type="INSTRUCTION" missed="0" covered="10"/><counter type="LINE" missed="0" covered="3"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="getExcludes" desc="()Ljava/lang/String;" line="80"><counter type="INSTRUCTION" missed="0" covered="3"/><counter type="LINE" missed="0" covered="1"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="setExcludes" desc="(Ljava/lang/String;)V" line="89"><counter type="INSTRUCTION" missed="0" covered="10"/><counter type="LINE" missed="0" covered="3"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="getLimits" desc="()Ljava/util/List;" line="97"><counter type="INSTRUCTION" missed="0" covered="3"/><counter type="LINE" missed="0" covered="1"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="setLimits" desc="(Ljava/util/List;)V" line="105"><counter type="INSTRUCTION" missed="0" covered="4"/><counter type="LINE" missed="0" covered="2"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="createLimit" desc="()Lorg/jacoco/report/check/Limit;" line="114"><counter type="INSTRUCTION" missed="0" covered="11"/><counter type="LINE" missed="0" covered="3"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="matches" desc="(Ljava/lang/String;)Z" line="120"><counter type="INSTRUCTION" missed="0" covered="14"/><counter type="BRANCH" missed="0" covered="4"/><counter type="LINE" missed="0" covered="1"/><counter type="COMPLEXITY" missed="0" covered="3"/><counter type="METHOD" missed="0" covered="1"/></method><counter type="INSTRUCTION" missed="0" covered="82"/><counter type="BRANCH" missed="0" covered="4"/><counter type="LINE" missed="0" covered="24"/><counter type="COMPLEXITY" missed="0" covered="13"/><counter type="METHOD" missed="0" covered="11"/><counter type="CLASS" missed="0" covered="1"/></class><class name="org/jacoco/report/check/BundleChecker" sourcefilename="BundleChecker.java"><method name="&lt;init&gt;" desc="(Ljava/util/Collection;Lorg/jacoco/report/ILanguageNames;Lorg/jacoco/report/check/IViolationsOutput;)V" line="47"><counter type="INSTRUCTION" missed="0" covered="125"/><counter type="BRANCH" missed="0" covered="22"/><counter type="LINE" missed="0" covered="25"/><counter type="COMPLEXITY" missed="0" covered="14"/><counter type="METHOD" missed="0" covered="1"/></method><method name="checkBundle" desc="(Lorg/jacoco/core/analysis/IBundleCoverage;)V" line="82"><counter type="INSTRUCTION" missed="0" covered="29"/><counter type="BRANCH" missed="0" covered="4"/><counter type="LINE" missed="0" covered="6"/><counter type="COMPLEXITY" missed="0" covered="3"/><counter type="METHOD" missed="0" covered="1"/></method><method name="check" desc="(Lorg/jacoco/core/analysis/IPackageCoverage;)V" line="92"><counter type="INSTRUCTION" missed="0" covered="50"/><counter type="BRANCH" missed="0" covered="8"/><counter type="LINE" missed="0" covered="9"/><counter type="COMPLEXITY" missed="0" covered="5"/><counter type="METHOD" missed="0" covered="1"/></method><method name="check" desc="(Lorg/jacoco/core/analysis/IClassCoverage;)V" line="108"><counter type="INSTRUCTION" missed="0" covered="34"/><counter type="BRANCH" missed="0" covered="4"/><counter type="LINE" missed="0" covered="6"/><counter type="COMPLEXITY" missed="0" covered="3"/><counter type="METHOD" missed="0" covered="1"/></method><method name="check" desc="(Lorg/jacoco/core/analysis/ISourceFileCoverage;)V" line="119"><counter type="INSTRUCTION" missed="0" covered="21"/><counter type="LINE" missed="0" covered="3"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="check" desc="(Lorg/jacoco/core/analysis/IMethodCoverage;Ljava/lang/String;)V" line="125"><counter type="INSTRUCTION" missed="0" covered="19"/><counter type="LINE" missed="0" covered="3"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="checkRules" desc="(Lorg/jacoco/core/analysis/ICoverageNode;Ljava/util/Collection;Ljava/lang/String;Ljava/lang/String;)V" line="133"><counter type="INSTRUCTION" missed="0" covered="35"/><counter type="BRANCH" missed="0" covered="6"/><counter type="LINE" missed="0" covered="5"/><counter type="COMPLEXITY" missed="0" covered="4"/><counter type="METHOD" missed="0" covered="1"/></method><method name="checkLimit" desc="(Lorg/jacoco/core/analysis/ICoverageNode;Ljava/lang/String;Ljava/lang/String;Lorg/jacoco/report/check/Rule;Lorg/jacoco/report/check/Limit;)V" line="144"><counter type="INSTRUCTION" missed="0" covered="29"/><counter type="BRANCH" missed="0" covered="2"/><counter type="LINE" missed="0" covered="4"/><counter type="COMPLEXITY" missed="0" covered="2"/><counter type="METHOD" missed="0" covered="1"/></method><counter type="INSTRUCTION" missed="0" covered="342"/><counter type="BRANCH" missed="0" covered="46"/><counter type="LINE" missed="0" covered="61"/><counter type="COMPLEXITY" missed="0" covered="33"/><counter type="METHOD" missed="0" covered="8"/><counter type="CLASS" missed="0" covered="1"/></class><class name="org/jacoco/report/check/RulesChecker$1" sourcefilename="RulesChecker.java"><method name="&lt;init&gt;" desc="(Lorg/jacoco/report/check/RulesChecker;Lorg/jacoco/report/check/BundleChecker;)V" line="94"><counter type="INSTRUCTION" missed="0" covered="9"/><counter type="LINE" missed="0" covered="1"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="visitGroup" desc="(Ljava/lang/String;)Lorg/jacoco/report/IReportGroupVisitor;" line="81"><counter type="INSTRUCTION" missed="0" covered="2"/><counter type="LINE" missed="0" covered="1"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="visitBundle" desc="(Lorg/jacoco/core/analysis/IBundleCoverage;Lorg/jacoco/report/ISourceFileLocator;)V" line="86"><counter type="INSTRUCTION" missed="0" covered="5"/><counter type="LINE" missed="0" covered="2"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="visitInfo" desc="(Ljava/util/List;Ljava/util/Collection;)V" line="92"><counter type="INSTRUCTION" missed="0" covered="1"/><counter type="LINE" missed="0" covered="1"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="visitEnd" desc="()V" line="95"><counter type="INSTRUCTION" missed="0" covered="1"/><counter type="LINE" missed="0" covered="1"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><counter type="INSTRUCTION" missed="0" covered="18"/><counter type="LINE" missed="0" covered="6"/><counter type="COMPLEXITY" missed="0" covered="5"/><counter type="METHOD" missed="0" covered="5"/><counter type="CLASS" missed="0" covered="1"/></class><class name="org/jacoco/report/check/BundleChecker$1" sourcefilename="BundleChecker.java"><method name="&lt;clinit&gt;" desc="()V" line="56"><counter type="INSTRUCTION" missed="5" covered="35"/><counter type="LINE" missed="0" covered="1"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><counter type="INSTRUCTION" missed="5" covered="35"/><counter type="LINE" missed="0" covered="1"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/><counter type="CLASS" missed="0" covered="1"/></class><class name="org/jacoco/report/check/IViolationsOutput" sourcefilename="IViolationsOutput.java"/><class name="org/jacoco/report/check/RulesChecker" sourcefilename="RulesChecker.java"><method name="&lt;init&gt;" desc="()V" line="41"><counter type="INSTRUCTION" missed="0" covered="13"/><counter type="LINE" missed="0" covered="4"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="setRules" desc="(Ljava/util/List;)V" line="53"><counter type="INSTRUCTION" missed="0" covered="4"/><counter type="LINE" missed="0" covered="2"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="setLanguageNames" desc="(Lorg/jacoco/report/ILanguageNames;)V" line="64"><counter type="INSTRUCTION" missed="0" covered="4"/><counter type="LINE" missed="0" covered="2"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="createVisitor" desc="(Lorg/jacoco/report/check/IViolationsOutput;)Lorg/jacoco/report/IReportVisitor;" line="75"><counter type="INSTRUCTION" missed="0" covered="15"/><counter type="LINE" missed="0" covered="2"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><counter type="INSTRUCTION" missed="0" covered="36"/><counter type="LINE" missed="0" covered="10"/><counter type="COMPLEXITY" missed="0" covered="4"/><counter type="METHOD" missed="0" covered="4"/><counter type="CLASS" missed="0" covered="1"/></class><class name="org/jacoco/report/check/Limit" sourcefilename="Limit.java"><method name="&lt;init&gt;" desc="()V" line="69"><counter type="INSTRUCTION" missed="0" covered="9"/><counter type="LINE" missed="0" covered="4"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="getEntity" desc="()Lorg/jacoco/core/analysis/ICoverageNode$CounterEntity;" line="78"><counter type="INSTRUCTION" missed="0" covered="3"/><counter type="LINE" missed="0" covered="1"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="setCounter" desc="(Ljava/lang/String;)V" line="89"><counter type="INSTRUCTION" missed="0" covered="5"/><counter type="LINE" missed="0" covered="2"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="getValue" desc="()Lorg/jacoco/core/analysis/ICounter$CounterValue;" line="96"><counter type="INSTRUCTION" missed="0" covered="3"/><counter type="LINE" missed="0" covered="1"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="setValue" desc="(Ljava/lang/String;)V" line="107"><counter type="INSTRUCTION" missed="0" covered="5"/><counter type="LINE" missed="0" covered="2"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="getMinimum" desc="()Ljava/lang/String;" line="115"><counter type="INSTRUCTION" missed="0" covered="9"/><counter type="BRANCH" missed="0" covered="2"/><counter type="LINE" missed="0" covered="1"/><counter type="COMPLEXITY" missed="0" covered="2"/><counter type="METHOD" missed="0" covered="1"/></method><method name="setMinimum" desc="(Ljava/lang/String;)V" line="130"><counter type="INSTRUCTION" missed="0" covered="5"/><counter type="LINE" missed="0" covered="2"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="getMaximum" desc="()Ljava/lang/String;" line="138"><counter type="INSTRUCTION" missed="0" covered="9"/><counter type="BRANCH" missed="0" covered="2"/><counter type="LINE" missed="0" covered="1"/><counter type="COMPLEXITY" missed="0" covered="2"/><counter type="METHOD" missed="0" covered="1"/></method><method name="setMaximum" desc="(Ljava/lang/String;)V" line="153"><counter type="INSTRUCTION" missed="0" covered="5"/><counter type="LINE" missed="0" covered="2"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="parseValue" desc="(Ljava/lang/String;)Ljava/math/BigDecimal;" line="157"><counter type="INSTRUCTION" missed="0" covered="31"/><counter type="BRANCH" missed="0" covered="4"/><counter type="LINE" missed="0" covered="7"/><counter type="COMPLEXITY" missed="0" covered="3"/><counter type="METHOD" missed="0" covered="1"/></method><method name="check" desc="(Lorg/jacoco/core/analysis/ICoverageNode;)Ljava/lang/String;" line="172"><counter type="INSTRUCTION" missed="0" covered="57"/><counter type="BRANCH" missed="0" covered="12"/><counter type="LINE" missed="0" covered="12"/><counter type="COMPLEXITY" missed="0" covered="7"/><counter type="METHOD" missed="0" covered="1"/></method><method name="message" desc="(Ljava/lang/String;Ljava/math/BigDecimal;Ljava/math/BigDecimal;Ljava/math/RoundingMode;)Ljava/lang/String;" line="192"><counter type="INSTRUCTION" missed="0" covered="39"/><counter type="LINE" missed="0" covered="2"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="checkRatioLimit" desc="()Ljava/lang/String;" line="199"><counter type="INSTRUCTION" missed="0" covered="32"/><counter type="BRANCH" missed="0" covered="8"/><counter type="LINE" missed="0" covered="8"/><counter type="COMPLEXITY" missed="0" covered="5"/><counter type="METHOD" missed="0" covered="1"/></method><method name="checkRatioLimit" desc="(Ljava/lang/String;Ljava/math/BigDecimal;)Ljava/lang/String;" line="214"><counter type="INSTRUCTION" missed="0" covered="25"/><counter type="BRANCH" missed="0" covered="6"/><counter type="LINE" missed="0" covered="3"/><counter type="COMPLEXITY" missed="0" covered="4"/><counter type="METHOD" missed="0" covered="1"/></method><method name="&lt;clinit&gt;" desc="()V" line="34"><counter type="INSTRUCTION" missed="0" covered="70"/><counter type="LINE" missed="0" covered="16"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><counter type="INSTRUCTION" missed="0" covered="307"/><counter type="BRANCH" missed="0" covered="34"/><counter type="LINE" missed="0" covered="64"/><counter type="COMPLEXITY" missed="0" covered="32"/><counter type="METHOD" missed="0" covered="15"/><counter type="CLASS" missed="0" covered="1"/></class><sourcefile name="IViolationsOutput.java"/><sourcefile name="BundleChecker.java"><line nr="47" mi="0" ci="2" mb="0" cb="0"/><line nr="48" mi="0" ci="3" mb="0" cb="0"/><line nr="49" mi="0" ci="3" mb="0" cb="0"/><line nr="50" mi="0" ci="5" mb="0" cb="0"/><line nr="51" mi="0" ci="5" mb="0" cb="0"/><line nr="52" mi="0" ci="5" mb="0" cb="0"/><line nr="53" mi="0" ci="5" mb="0" cb="0"/><line nr="54" mi="0" ci="5" mb="0" cb="0"/><line nr="55" mi="0" ci="10" mb="0" cb="2"/><line nr="56" mi="5" ci="41" mb="0" cb="6"/><line nr="58" mi="0" ci="5" mb="0" cb="0"/><line nr="59" mi="0" ci="1" mb="0" cb="0"/><line nr="61" mi="0" ci="5" mb="0" cb="0"/><line nr="62" mi="0" ci="1" mb="0" cb="0"/><line nr="64" mi="0" ci="5" mb="0" cb="0"/><line nr="65" mi="0" ci="1" mb="0" cb="0"/><line nr="67" mi="0" ci="5" mb="0" cb="0"/><line nr="68" mi="0" ci="1" mb="0" cb="0"/><line nr="70" mi="0" ci="5" mb="0" cb="0"/><line nr="71" mi="0" ci="1" mb="0" cb="0"/><line nr="74" mi="0" ci="9" mb="0" cb="2"/><line nr="75" mi="0" ci="12" mb="0" cb="4"/><line nr="76" mi="0" ci="9" mb="0" cb="2"/><line nr="77" mi="0" ci="15" mb="0" cb="6"/><line nr="79" mi="0" ci="1" mb="0" cb="0"/><line nr="82" mi="0" ci="3" mb="0" cb="0"/><line nr="83" mi="0" ci="7" mb="0" cb="0"/><line nr="84" mi="0" ci="3" mb="0" cb="2"/><line nr="85" mi="0" ci="11" mb="0" cb="2"/><line nr="86" mi="0" ci="4" mb="0" cb="0"/><line nr="89" mi="0" ci="1" mb="0" cb="0"/><line nr="92" mi="0" ci="6" mb="0" cb="0"/><line nr="93" mi="0" ci="7" mb="0" cb="0"/><line nr="94" mi="0" ci="3" mb="0" cb="2"/><line nr="95" mi="0" ci="11" mb="0" cb="2"/><line nr="96" mi="0" ci="4" mb="0" cb="0"/><line nr="99" mi="0" ci="3" mb="0" cb="2"/><line nr="101" mi="0" ci="11" mb="0" cb="2"/><line nr="102" mi="0" ci="4" mb="0" cb="0"/><line nr="105" mi="0" ci="1" mb="0" cb="0"/><line nr="108" mi="0" ci="6" mb="0" cb="0"/><line nr="110" mi="0" ci="7" mb="0" cb="0"/><line nr="111" mi="0" ci="3" mb="0" cb="2"/><line nr="112" mi="0" ci="11" mb="0" cb="2"/><line nr="113" mi="0" ci="6" mb="0" cb="0"/><line nr="116" mi="0" ci="1" mb="0" cb="0"/><line nr="119" mi="0" ci="13" mb="0" cb="0"/><line nr="121" mi="0" ci="7" mb="0" cb="0"/><line nr="122" mi="0" ci="1" mb="0" cb="0"/><line nr="125" mi="0" ci="11" mb="0" cb="0"/><line nr="127" mi="0" ci="7" mb="0" cb="0"/><line nr="128" mi="0" ci="1" mb="0" cb="0"/><line nr="133" mi="0" ci="10" mb="0" cb="2"/><line nr="134" mi="0" ci="4" mb="0" cb="2"/><line nr="135" mi="0" ci="11" mb="0" cb="2"/><line nr="136" mi="0" ci="9" mb="0" cb="0"/><line nr="140" mi="0" ci="1" mb="0" cb="0"/><line nr="144" mi="0" ci="4" mb="0" cb="0"/><line nr="145" mi="0" ci="2" mb="0" cb="2"/><line nr="146" mi="0" ci="22" mb="0" cb="0"/><line nr="150" mi="0" ci="1" mb="0" cb="0"/><counter type="INSTRUCTION" missed="5" covered="377"/><counter type="BRANCH" missed="0" covered="46"/><counter type="LINE" missed="0" covered="61"/><counter type="COMPLEXITY" missed="0" covered="34"/><counter type="METHOD" missed="0" covered="9"/><counter type="CLASS" missed="0" covered="2"/></sourcefile><sourcefile name="RulesChecker.java"><line nr="41" mi="0" ci="2" mb="0" cb="0"/><line nr="42" mi="0" ci="5" mb="0" cb="0"/><line nr="43" mi="0" ci="5" mb="0" cb="0"/><line nr="44" mi="0" ci="1" mb="0" cb="0"/><line nr="53" mi="0" ci="3" mb="0" cb="0"/><line nr="54" mi="0" ci="1" mb="0" cb="0"/><line nr="64" mi="0" ci="3" mb="0" cb="0"/><line nr="65" mi="0" ci="1" mb="0" cb="0"/><line nr="75" mi="0" ci="9" mb="0" cb="0"/><line nr="77" mi="0" ci="6" mb="0" cb="0"/><line nr="81" mi="0" ci="2" mb="0" cb="0"/><line nr="86" mi="0" ci="4" mb="0" cb="0"/><line nr="87" mi="0" ci="1" mb="0" cb="0"/><line nr="92" mi="0" ci="1" mb="0" cb="0"/><line nr="94" mi="0" ci="9" mb="0" cb="0"/><line nr="95" mi="0" ci="1" mb="0" cb="0"/><counter type="INSTRUCTION" missed="0" covered="54"/><counter type="LINE" missed="0" covered="16"/><counter type="COMPLEXITY" missed="0" covered="9"/><counter type="METHOD" missed="0" covered="9"/><counter type="CLASS" missed="0" covered="2"/></sourcefile><sourcefile name="Rule.java"><line nr="38" mi="0" ci="2" mb="0" cb="0"/><line nr="39" mi="0" ci="3" mb="0" cb="0"/><line nr="40" mi="0" ci="5" mb="0" cb="0"/><line nr="41" mi="0" ci="3" mb="0" cb="0"/><line nr="42" mi="0" ci="3" mb="0" cb="0"/><line nr="43" mi="0" ci="1" mb="0" cb="0"/><line nr="49" mi="0" ci="3" mb="0" cb="0"/><line nr="57" mi="0" ci="3" mb="0" cb="0"/><line nr="58" mi="0" ci="1" mb="0" cb="0"/><line nr="64" mi="0" ci="3" mb="0" cb="0"/><line nr="72" mi="0" ci="3" mb="0" cb="0"/><line nr="73" mi="0" ci="6" mb="0" cb="0"/><line nr="74" mi="0" ci="1" mb="0" cb="0"/><line nr="80" mi="0" ci="3" mb="0" cb="0"/><line nr="89" mi="0" ci="3" mb="0" cb="0"/><line nr="90" mi="0" ci="6" mb="0" cb="0"/><line nr="91" mi="0" ci="1" mb="0" cb="0"/><line nr="97" mi="0" ci="3" mb="0" cb="0"/><line nr="105" mi="0" ci="3" mb="0" cb="0"/><line nr="106" mi="0" ci="1" mb="0" cb="0"/><line nr="114" mi="0" ci="4" mb="0" cb="0"/><line nr="115" mi="0" ci="5" mb="0" cb="0"/><line nr="116" mi="0" ci="2" mb="0" cb="0"/><line nr="120" mi="0" ci="14" mb="0" cb="4"/><counter type="INSTRUCTION" missed="0" covered="82"/><counter type="BRANCH" missed="0" covered="4"/><counter type="LINE" missed="0" covered="24"/><counter type="COMPLEXITY" missed="0" covered="13"/><counter type="METHOD" missed="0" covered="11"/><counter type="CLASS" missed="0" covered="1"/></sourcefile><sourcefile name="Limit.java"><line nr="34" mi="0" ci="4" mb="0" cb="0"/><line nr="35" mi="0" ci="5" mb="0" cb="0"/><line nr="36" mi="0" ci="5" mb="0" cb="0"/><line nr="37" mi="0" ci="5" mb="0" cb="0"/><line nr="38" mi="0" ci="5" mb="0" cb="0"/><line nr="39" mi="0" ci="5" mb="0" cb="0"/><line nr="40" mi="0" ci="3" mb="0" cb="0"/><line nr="42" mi="0" ci="4" mb="0" cb="0"/><line nr="43" mi="0" ci="5" mb="0" cb="0"/><line nr="44" mi="0" ci="5" mb="0" cb="0"/><line nr="45" mi="0" ci="5" mb="0" cb="0"/><line nr="46" mi="0" ci="5" mb="0" cb="0"/><line nr="47" mi="0" ci="5" mb="0" cb="0"/><line nr="48" mi="0" ci="5" mb="0" cb="0"/><line nr="49" mi="0" ci="3" mb="0" cb="0"/><line nr="50" mi="0" ci="1" mb="0" cb="0"/><line nr="69" mi="0" ci="2" mb="0" cb="0"/><line nr="70" mi="0" ci="3" mb="0" cb="0"/><line nr="71" mi="0" ci="3" mb="0" cb="0"/><line nr="72" mi="0" ci="1" mb="0" cb="0"/><line nr="78" mi="0" ci="3" mb="0" cb="0"/><line nr="89" mi="0" ci="4" mb="0" cb="0"/><line nr="90" mi="0" ci="1" mb="0" cb="0"/><line nr="96" mi="0" ci="3" mb="0" cb="0"/><line nr="107" mi="0" ci="4" mb="0" cb="0"/><line nr="108" mi="0" ci="1" mb="0" cb="0"/><line nr="115" mi="0" ci="9" mb="0" cb="2"/><line nr="130" mi="0" ci="4" mb="0" cb="0"/><line nr="131" mi="0" ci="1" mb="0" cb="0"/><line nr="138" mi="0" ci="9" mb="0" cb="2"/><line nr="153" mi="0" ci="4" mb="0" cb="0"/><line nr="154" mi="0" ci="1" mb="0" cb="0"/><line nr="157" mi="0" ci="2" mb="0" cb="2"/><line nr="158" mi="0" ci="2" mb="0" cb="0"/><line nr="161" mi="0" ci="3" mb="0" cb="0"/><line nr="162" mi="0" ci="4" mb="0" cb="2"/><line nr="163" mi="0" ci="8" mb="0" cb="0"/><line nr="165" mi="0" ci="7" mb="0" cb="0"/><line nr="168" mi="0" ci="5" mb="0" cb="0"/><line nr="172" mi="0" ci="3" mb="0" cb="0"/><line nr="173" mi="0" ci="2" mb="0" cb="2"/><line nr="174" mi="0" ci="2" mb="0" cb="0"/><line nr="176" mi="0" ci="8" mb="0" cb="0"/><line nr="177" mi="0" ci="3" mb="0" cb="2"/><line nr="178" mi="0" ci="2" mb="0" cb="0"/><line nr="180" mi="0" ci="3" mb="0" cb="0"/><line nr="181" mi="0" ci="8" mb="0" cb="4"/><line nr="182" mi="0" ci="8" mb="0" cb="0"/><line nr="184" mi="0" ci="8" mb="0" cb="4"/><line nr="185" mi="0" ci="8" mb="0" cb="0"/><line nr="187" mi="0" ci="2" mb="0" cb="0"/><line nr="192" mi="0" ci="6" mb="0" cb="0"/><line nr="193" mi="0" ci="33" mb="0" cb="0"/><line nr="199" mi="0" ci="10" mb="0" cb="4"/><line nr="201" mi="0" ci="6" mb="0" cb="0"/><line nr="202" mi="0" ci="2" mb="0" cb="2"/><line nr="203" mi="0" ci="2" mb="0" cb="0"/><line nr="205" mi="0" ci="6" mb="0" cb="0"/><line nr="206" mi="0" ci="2" mb="0" cb="2"/><line nr="207" mi="0" ci="2" mb="0" cb="0"/><line nr="210" mi="0" ci="2" mb="0" cb="0"/><line nr="214" mi="0" ci="10" mb="0" cb="6"/><line nr="216" mi="0" ci="13" mb="0" cb="0"/><line nr="220" mi="0" ci="2" mb="0" cb="0"/><counter type="INSTRUCTION" missed="0" covered="307"/><counter type="BRANCH" missed="0" covered="34"/><counter type="LINE" missed="0" covered="64"/><counter type="COMPLEXITY" missed="0" covered="32"/><counter type="METHOD" missed="0" covered="15"/><counter type="CLASS" missed="0" covered="1"/></sourcefile><counter type="INSTRUCTION" missed="5" covered="820"/><counter type="BRANCH" missed="0" covered="84"/><counter type="LINE" missed="0" covered="165"/><counter type="COMPLEXITY" missed="0" covered="88"/><counter type="METHOD" missed="0" covered="44"/><counter type="CLASS" missed="0" covered="6"/></package><package name="org/jacoco/report/internal/html/resources"><class name="org/jacoco/report/internal/html/resources/Resources$1" sourcefilename="Resources.java"><method name="&lt;clinit&gt;" desc="()V" line="79"><counter type="INSTRUCTION" missed="6" covered="41"/><counter type="LINE" missed="0" covered="1"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><counter type="INSTRUCTION" missed="6" covered="41"/><counter type="LINE" missed="0" covered="1"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/><counter type="CLASS" missed="0" covered="1"/></class><class name="org/jacoco/report/internal/html/resources/Styles" sourcefilename="Styles.java"><method name="combine" desc="([Ljava/lang/String;)Ljava/lang/String;" line="109"><counter type="INSTRUCTION" missed="0" covered="41"/><counter type="BRANCH" missed="0" covered="8"/><counter type="LINE" missed="0" covered="7"/><counter type="COMPLEXITY" missed="0" covered="5"/><counter type="METHOD" missed="0" covered="1"/></method><counter type="INSTRUCTION" missed="0" covered="41"/><counter type="BRANCH" missed="0" covered="8"/><counter type="LINE" missed="0" covered="7"/><counter type="COMPLEXITY" missed="0" covered="5"/><counter type="METHOD" missed="0" covered="1"/><counter type="CLASS" missed="0" covered="1"/></class><class name="org/jacoco/report/internal/html/resources/Resources" sourcefilename="Resources.java"><method name="&lt;init&gt;" desc="(Lorg/jacoco/report/internal/ReportOutputFolder;)V" line="54"><counter type="INSTRUCTION" missed="0" covered="8"/><counter type="LINE" missed="0" covered="3"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="getLink" desc="(Lorg/jacoco/report/internal/ReportOutputFolder;Ljava/lang/String;)Ljava/lang/String;" line="68"><counter type="INSTRUCTION" missed="0" covered="6"/><counter type="LINE" missed="0" covered="1"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="getElementStyle" desc="(Lorg/jacoco/core/analysis/ICoverageNode$ElementType;)Ljava/lang/String;" line="79"><counter type="INSTRUCTION" missed="12" covered="17"/><counter type="BRANCH" missed="1" covered="6"/><counter type="LINE" missed="1" covered="7"/><counter type="COMPLEXITY" missed="1" covered="6"/><counter type="METHOD" missed="0" covered="1"/></method><method name="copyResources" desc="()V" line="103"><counter type="INSTRUCTION" missed="0" covered="61"/><counter type="LINE" missed="0" covered="21"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="copyResource" desc="(Ljava/lang/String;)V" line="126"><counter type="INSTRUCTION" missed="0" covered="30"/><counter type="BRANCH" missed="0" covered="2"/><counter type="LINE" missed="0" covered="8"/><counter type="COMPLEXITY" missed="0" covered="2"/><counter type="METHOD" missed="0" covered="1"/></method><counter type="INSTRUCTION" missed="12" covered="122"/><counter type="BRANCH" missed="1" covered="8"/><counter type="LINE" missed="1" covered="40"/><counter type="COMPLEXITY" missed="1" covered="11"/><counter type="METHOD" missed="0" covered="5"/><counter type="CLASS" missed="0" covered="1"/></class><sourcefile name="Resources.java"><line nr="54" mi="0" ci="2" mb="0" cb="0"/><line nr="55" mi="0" ci="5" mb="0" cb="0"/><line nr="56" mi="0" ci="1" mb="0" cb="0"/><line nr="68" mi="0" ci="6" mb="0" cb="0"/><line nr="79" mi="6" ci="46" mb="1" cb="6"/><line nr="81" mi="0" ci="2" mb="0" cb="0"/><line nr="83" mi="0" ci="2" mb="0" cb="0"/><line nr="85" mi="0" ci="2" mb="0" cb="0"/><line nr="87" mi="0" ci="2" mb="0" cb="0"/><line nr="89" mi="0" ci="2" mb="0" cb="0"/><line nr="91" mi="0" ci="2" mb="0" cb="0"/><line nr="93" mi="12" ci="0" mb="0" cb="0"/><line nr="103" mi="0" ci="3" mb="0" cb="0"/><line nr="104" mi="0" ci="3" mb="0" cb="0"/><line nr="105" mi="0" ci="3" mb="0" cb="0"/><line nr="106" mi="0" ci="3" mb="0" cb="0"/><line nr="107" mi="0" ci="3" mb="0" cb="0"/><line nr="108" mi="0" ci="3" mb="0" cb="0"/><line nr="109" mi="0" ci="3" mb="0" cb="0"/><line nr="110" mi="0" ci="3" mb="0" cb="0"/><line nr="111" mi="0" ci="3" mb="0" cb="0"/><line nr="112" mi="0" ci="3" mb="0" cb="0"/><line nr="113" mi="0" ci="3" mb="0" cb="0"/><line nr="114" mi="0" ci="3" mb="0" cb="0"/><line nr="115" mi="0" ci="3" mb="0" cb="0"/><line nr="116" mi="0" ci="3" mb="0" cb="0"/><line nr="117" mi="0" ci="3" mb="0" cb="0"/><line nr="118" mi="0" ci="3" mb="0" cb="0"/><line nr="119" mi="0" ci="3" mb="0" cb="0"/><line nr="120" mi="0" ci="3" mb="0" cb="0"/><line nr="121" mi="0" ci="3" mb="0" cb="0"/><line nr="122" mi="0" ci="3" mb="0" cb="0"/><line nr="123" mi="0" ci="1" mb="0" cb="0"/><line nr="126" mi="0" ci="4" mb="0" cb="0"/><line nr="127" mi="0" ci="5" mb="0" cb="0"/><line nr="128" mi="0" ci="3" mb="0" cb="0"/><line nr="130" mi="0" ci="7" mb="0" cb="2"/><line nr="131" mi="0" ci="6" mb="0" cb="0"/><line nr="133" mi="0" ci="2" mb="0" cb="0"/><line nr="134" mi="0" ci="2" mb="0" cb="0"/><line nr="135" mi="0" ci="1" mb="0" cb="0"/><counter type="INSTRUCTION" missed="18" covered="163"/><counter type="BRANCH" missed="1" covered="8"/><counter type="LINE" missed="1" covered="40"/><counter type="COMPLEXITY" missed="1" covered="12"/><counter type="METHOD" missed="0" covered="6"/><counter type="CLASS" missed="0" covered="2"/></sourcefile><sourcefile name="Styles.java"><line nr="109" mi="0" ci="4" mb="0" cb="0"/><line nr="110" mi="0" ci="16" mb="0" cb="2"/><line nr="111" mi="0" ci="2" mb="0" cb="2"/><line nr="112" mi="0" ci="3" mb="0" cb="2"/><line nr="113" mi="0" ci="4" mb="0" cb="0"/><line nr="115" mi="0" ci="4" mb="0" cb="0"/><line nr="118" mi="0" ci="8" mb="0" cb="2"/><counter type="INSTRUCTION" missed="0" covered="41"/><counter type="BRANCH" missed="0" covered="8"/><counter type="LINE" missed="0" covered="7"/><counter type="COMPLEXITY" missed="0" covered="5"/><counter type="METHOD" missed="0" covered="1"/><counter type="CLASS" missed="0" covered="1"/></sourcefile><counter type="INSTRUCTION" missed="18" covered="204"/><counter type="BRANCH" missed="1" covered="16"/><counter type="LINE" missed="1" covered="47"/><counter type="COMPLEXITY" missed="1" covered="17"/><counter type="METHOD" missed="0" covered="7"/><counter type="CLASS" missed="0" covered="3"/></package><counter type="INSTRUCTION" missed="28" covered="5913"/><counter type="BRANCH" missed="3" covered="383"/><counter type="LINE" missed="2" covered="1343"/><counter type="COMPLEXITY" missed="4" covered="568"/><counter type="METHOD" missed="1" covered="370"/><counter type="CLASS" missed="0" covered="64"/></group><group name="org.jacoco.agent"><package name="org/jacoco/agent"><class name="org/jacoco/agent/AgentJar" sourcefilename="AgentJar.java"><method name="getResource" desc="()Ljava/net/URL;" line="45"><counter type="INSTRUCTION" missed="5" covered="8"/><counter type="BRANCH" missed="1" covered="1"/><counter type="LINE" missed="1" covered="3"/><counter type="COMPLEXITY" missed="1" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="getResourceAsStream" desc="()Ljava/io/InputStream;" line="58"><counter type="INSTRUCTION" missed="5" covered="8"/><counter type="BRANCH" missed="1" covered="1"/><counter type="LINE" missed="1" covered="3"/><counter type="COMPLEXITY" missed="1" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="extractToTempLocation" desc="()Ljava/io/File;" line="75"><counter type="INSTRUCTION" missed="0" covered="10"/><counter type="LINE" missed="0" covered="4"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="extractTo" desc="(Ljava/io/File;)V" line="92"><counter type="INSTRUCTION" missed="0" covered="30"/><counter type="BRANCH" missed="0" covered="2"/><counter type="LINE" missed="0" covered="9"/><counter type="COMPLEXITY" missed="0" covered="2"/><counter type="METHOD" missed="0" covered="1"/></method><method name="safeClose" desc="(Ljava/io/Closeable;)V" line="119"><counter type="INSTRUCTION" missed="1" covered="6"/><counter type="BRANCH" missed="0" covered="2"/><counter type="LINE" missed="1" covered="4"/><counter type="COMPLEXITY" missed="0" covered="2"/><counter type="METHOD" missed="0" covered="1"/></method><method name="&lt;clinit&gt;" desc="()V" line="126"><counter type="INSTRUCTION" missed="0" covered="10"/><counter type="LINE" missed="0" covered="1"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><counter type="INSTRUCTION" missed="11" covered="72"/><counter type="BRANCH" missed="2" covered="6"/><counter type="LINE" missed="3" covered="24"/><counter type="COMPLEXITY" missed="2" covered="8"/><counter type="METHOD" missed="0" covered="6"/><counter type="CLASS" missed="0" covered="1"/></class><sourcefile name="AgentJar.java"><line nr="45" mi="0" ci="4" mb="0" cb="0"/><line nr="46" mi="0" ci="2" mb="1" cb="1"/><line nr="47" mi="5" ci="0" mb="0" cb="0"/><line nr="49" mi="0" ci="2" mb="0" cb="0"/><line nr="58" mi="0" ci="4" mb="0" cb="0"/><line nr="59" mi="0" ci="2" mb="1" cb="1"/><line nr="60" mi="5" ci="0" mb="0" cb="0"/><line nr="62" mi="0" ci="2" mb="0" cb="0"/><line nr="75" mi="0" ci="4" mb="0" cb="0"/><line nr="76" mi="0" ci="2" mb="0" cb="0"/><line nr="78" mi="0" ci="2" mb="0" cb="0"/><line nr="80" mi="0" ci="2" mb="0" cb="0"/><line nr="92" mi="0" ci="2" mb="0" cb="0"/><line nr="93" mi="0" ci="2" mb="0" cb="0"/><line nr="97" mi="0" ci="5" mb="0" cb="0"/><line nr="99" mi="0" ci="3" mb="0" cb="0"/><line nr="102" mi="0" ci="7" mb="0" cb="2"/><line nr="103" mi="0" ci="6" mb="0" cb="0"/><line nr="106" mi="0" ci="2" mb="0" cb="0"/><line nr="107" mi="0" ci="2" mb="0" cb="0"/><line nr="109" mi="0" ci="1" mb="0" cb="0"/><line nr="119" mi="0" ci="2" mb="0" cb="2"/><line nr="120" mi="0" ci="2" mb="0" cb="0"/><line nr="122" mi="1" ci="0" mb="0" cb="0"/><line nr="123" mi="0" ci="1" mb="0" cb="0"/><line nr="124" mi="0" ci="1" mb="0" cb="0"/><line nr="126" mi="0" ci="10" mb="0" cb="0"/><counter type="INSTRUCTION" missed="11" covered="72"/><counter type="BRANCH" missed="2" covered="6"/><counter type="LINE" missed="3" covered="24"/><counter type="COMPLEXITY" missed="2" covered="8"/><counter type="METHOD" missed="0" covered="6"/><counter type="CLASS" missed="0" covered="1"/></sourcefile><counter type="INSTRUCTION" missed="11" covered="72"/><counter type="BRANCH" missed="2" covered="6"/><counter type="LINE" missed="3" covered="24"/><counter type="COMPLEXITY" missed="2" covered="8"/><counter type="METHOD" missed="0" covered="6"/><counter type="CLASS" missed="0" covered="1"/></package><counter type="INSTRUCTION" missed="11" covered="72"/><counter type="BRANCH" missed="2" covered="6"/><counter type="LINE" missed="3" covered="24"/><counter type="COMPLEXITY" missed="2" covered="8"/><counter type="METHOD" missed="0" covered="6"/><counter type="CLASS" missed="0" covered="1"/></group><group name="org.jacoco.agent.rt"><package name="org/jacoco/agent/rt/internal"><class name="org/jacoco/agent/rt/internal/ClassFileDumper" sourcefilename="ClassFileDumper.java"><method name="&lt;init&gt;" desc="(Ljava/lang/String;)V" line="36"><counter type="INSTRUCTION" missed="0" covered="15"/><counter type="BRANCH" missed="0" covered="2"/><counter type="LINE" missed="0" covered="5"/><counter type="COMPLEXITY" missed="0" covered="2"/><counter type="METHOD" missed="0" covered="1"/></method><method name="dump" desc="(Ljava/lang/String;[B)V" line="56"><counter type="INSTRUCTION" missed="0" covered="67"/><counter type="BRANCH" missed="0" covered="4"/><counter type="LINE" missed="0" covered="14"/><counter type="COMPLEXITY" missed="0" covered="3"/><counter type="METHOD" missed="0" covered="1"/></method><counter type="INSTRUCTION" missed="0" covered="82"/><counter type="BRANCH" missed="0" covered="6"/><counter type="LINE" missed="0" covered="19"/><counter type="COMPLEXITY" missed="0" covered="5"/><counter type="METHOD" missed="0" covered="2"/><counter type="CLASS" missed="0" covered="1"/></class><class name="org/jacoco/agent/rt/internal/CoverageTransformer" sourcefilename="CoverageTransformer.java"><method name="&lt;init&gt;" desc="(Lorg/jacoco/core/runtime/IRuntime;Lorg/jacoco/core/runtime/AgentOptions;Lorg/jacoco/agent/rt/internal/IExceptionLogger;)V" line="64"><counter type="INSTRUCTION" missed="0" covered="50"/><counter type="LINE" missed="0" covered="10"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="transform" desc="(Ljava/lang/ClassLoader;Ljava/lang/String;Ljava/lang/Class;Ljava/security/ProtectionDomain;[B)[B" line="82"><counter type="INSTRUCTION" missed="6" covered="34"/><counter type="BRANCH" missed="0" covered="4"/><counter type="LINE" missed="1" covered="10"/><counter type="COMPLEXITY" missed="0" covered="3"/><counter type="METHOD" missed="0" covered="1"/></method><method name="filter" desc="(Ljava/lang/ClassLoader;Ljava/lang/String;Ljava/security/ProtectionDomain;)Z" line="116"><counter type="INSTRUCTION" missed="0" covered="43"/><counter type="BRANCH" missed="0" covered="16"/><counter type="LINE" missed="0" covered="8"/><counter type="COMPLEXITY" missed="0" covered="9"/><counter type="METHOD" missed="0" covered="1"/></method><method name="hasSourceLocation" desc="(Ljava/security/ProtectionDomain;)Z" line="146"><counter type="INSTRUCTION" missed="0" covered="18"/><counter type="BRANCH" missed="0" covered="6"/><counter type="LINE" missed="0" covered="6"/><counter type="COMPLEXITY" missed="0" covered="4"/><counter type="METHOD" missed="0" covered="1"/></method><method name="toVMName" desc="(Ljava/lang/String;)Ljava/lang/String;" line="157"><counter type="INSTRUCTION" missed="0" covered="5"/><counter type="LINE" missed="0" covered="1"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="&lt;clinit&gt;" desc="()V" line="33"><counter type="INSTRUCTION" missed="0" covered="12"/><counter type="LINE" missed="0" covered="3"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><counter type="INSTRUCTION" missed="6" covered="162"/><counter type="BRANCH" missed="0" covered="26"/><counter type="LINE" missed="1" covered="38"/><counter type="COMPLEXITY" missed="0" covered="19"/><counter type="METHOD" missed="0" covered="6"/><counter type="CLASS" missed="0" covered="1"/></class><class name="org/jacoco/agent/rt/internal/Agent" sourcefilename="Agent.java"><method name="getInstance" desc="(Lorg/jacoco/core/runtime/AgentOptions;)Lorg/jacoco/agent/rt/internal/Agent;" line="52"><counter type="INSTRUCTION" missed="20" covered="0"/><counter type="BRANCH" missed="2" covered="0"/><counter type="LINE" missed="6" covered="0"/><counter type="COMPLEXITY" missed="2" covered="0"/><counter type="METHOD" missed="1" covered="0"/></method><method name="getInstance" desc="()Lorg/jacoco/agent/rt/internal/Agent;" line="76"><counter type="INSTRUCTION" missed="9" covered="0"/><counter type="BRANCH" missed="2" covered="0"/><counter type="LINE" missed="3" covered="0"/><counter type="COMPLEXITY" missed="2" covered="0"/><counter type="METHOD" missed="1" covered="0"/></method><method name="&lt;init&gt;" desc="(Lorg/jacoco/core/runtime/AgentOptions;Lorg/jacoco/agent/rt/internal/IExceptionLogger;)V" line="100"><counter type="INSTRUCTION" missed="0" covered="14"/><counter type="LINE" missed="0" covered="5"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="getData" desc="()Lorg/jacoco/core/runtime/RuntimeData;" line="112"><counter type="INSTRUCTION" missed="0" covered="3"/><counter type="LINE" missed="0" covered="1"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="startup" desc="()V" line="123"><counter type="INSTRUCTION" missed="0" covered="43"/><counter type="BRANCH" missed="0" covered="4"/><counter type="LINE" missed="0" covered="13"/><counter type="COMPLEXITY" missed="0" covered="3"/><counter type="METHOD" missed="0" covered="1"/></method><method name="shutdown" desc="()V" line="144"><counter type="INSTRUCTION" missed="0" covered="25"/><counter type="BRANCH" missed="0" covered="4"/><counter type="LINE" missed="0" covered="9"/><counter type="COMPLEXITY" missed="0" covered="3"/><counter type="METHOD" missed="0" covered="1"/></method><method name="createAgentOutput" desc="()Lorg/jacoco/agent/rt/internal/output/IAgentOutput;" line="162"><counter type="INSTRUCTION" missed="5" covered="29"/><counter type="BRANCH" missed="1" covered="4"/><counter type="LINE" missed="1" covered="6"/><counter type="COMPLEXITY" missed="1" covered="4"/><counter type="METHOD" missed="0" covered="1"/></method><method name="createSessionId" desc="()Ljava/lang/String;" line="180"><counter type="INSTRUCTION" missed="3" covered="15"/><counter type="LINE" missed="2" covered="3"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="getVersion" desc="()Ljava/lang/String;" line="192"><counter type="INSTRUCTION" missed="0" covered="2"/><counter type="LINE" missed="0" covered="1"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="getSessionId" desc="()Ljava/lang/String;" line="196"><counter type="INSTRUCTION" missed="0" covered="4"/><counter type="LINE" missed="0" covered="1"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="setSessionId" desc="(Ljava/lang/String;)V" line="200"><counter type="INSTRUCTION" missed="0" covered="5"/><counter type="LINE" missed="0" covered="2"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="reset" desc="()V" line="204"><counter type="INSTRUCTION" missed="0" covered="4"/><counter type="LINE" missed="0" covered="2"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="getExecutionData" desc="(Z)[B" line="208"><counter type="INSTRUCTION" missed="6" covered="19"/><counter type="LINE" missed="2" covered="5"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="dump" desc="(Z)V" line="220"><counter type="INSTRUCTION" missed="0" covered="5"/><counter type="LINE" missed="0" covered="2"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><counter type="INSTRUCTION" missed="43" covered="168"/><counter type="BRANCH" missed="5" covered="12"/><counter type="LINE" missed="14" covered="50"/><counter type="COMPLEXITY" missed="5" covered="19"/><counter type="METHOD" missed="2" covered="12"/><counter type="CLASS" missed="0" covered="1"/></class><class name="org/jacoco/agent/rt/internal/IExceptionLogger" sourcefilename="IExceptionLogger.java"><method name="&lt;clinit&gt;" desc="()V" line="24"><counter type="INSTRUCTION" missed="5" covered="0"/><counter type="LINE" missed="1" covered="0"/><counter type="COMPLEXITY" missed="1" covered="0"/><counter type="METHOD" missed="1" covered="0"/></method><counter type="INSTRUCTION" missed="5" covered="0"/><counter type="LINE" missed="1" covered="0"/><counter type="COMPLEXITY" missed="1" covered="0"/><counter type="METHOD" missed="1" covered="0"/><counter type="CLASS" missed="1" covered="0"/></class><class name="org/jacoco/agent/rt/internal/Agent$1" sourcefilename="Agent.java"><method name="&lt;init&gt;" desc="(Lorg/jacoco/agent/rt/internal/Agent;)V" line="57"><counter type="INSTRUCTION" missed="6" covered="0"/><counter type="LINE" missed="1" covered="0"/><counter type="COMPLEXITY" missed="1" covered="0"/><counter type="METHOD" missed="1" covered="0"/></method><method name="run" desc="()V" line="58"><counter type="INSTRUCTION" missed="4" covered="0"/><counter type="LINE" missed="2" covered="0"/><counter type="COMPLEXITY" missed="1" covered="0"/><counter type="METHOD" missed="1" covered="0"/></method><counter type="INSTRUCTION" missed="10" covered="0"/><counter type="LINE" missed="3" covered="0"/><counter type="COMPLEXITY" missed="2" covered="0"/><counter type="METHOD" missed="2" covered="0"/><counter type="CLASS" missed="1" covered="0"/></class><class name="org/jacoco/agent/rt/internal/AgentModule$1" sourcefilename="AgentModule.java"><method name="&lt;init&gt;" desc="(Lorg/jacoco/agent/rt/internal/AgentModule;)V" line="65"><counter type="INSTRUCTION" missed="0" covered="6"/><counter type="LINE" missed="0" covered="1"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="loadClass" desc="(Ljava/lang/String;Z)Ljava/lang/Class;" line="67"><counter type="INSTRUCTION" missed="6" covered="39"/><counter type="BRANCH" missed="0" covered="2"/><counter type="LINE" missed="2" covered="6"/><counter type="COMPLEXITY" missed="0" covered="2"/><counter type="METHOD" missed="0" covered="1"/></method><counter type="INSTRUCTION" missed="6" covered="45"/><counter type="BRANCH" missed="0" covered="2"/><counter type="LINE" missed="2" covered="7"/><counter type="COMPLEXITY" missed="0" covered="3"/><counter type="METHOD" missed="0" covered="2"/><counter type="CLASS" missed="0" covered="1"/></class><class name="org/jacoco/agent/rt/internal/Agent$2" sourcefilename="Agent.java"><method name="&lt;clinit&gt;" desc="()V" line="163"><counter type="INSTRUCTION" missed="4" covered="29"/><counter type="LINE" missed="0" covered="1"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><counter type="INSTRUCTION" missed="4" covered="29"/><counter type="LINE" missed="0" covered="1"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/><counter type="CLASS" missed="0" covered="1"/></class><class name="org/jacoco/agent/rt/internal/Offline" sourcefilename="Offline.java"><method name="getRuntimeData" desc="()Lorg/jacoco/core/runtime/RuntimeData;" line="35"><counter type="INSTRUCTION" missed="23" covered="0"/><counter type="BRANCH" missed="2" covered="0"/><counter type="LINE" missed="7" covered="0"/><counter type="COMPLEXITY" missed="2" covered="0"/><counter type="METHOD" missed="1" covered="0"/></method><method name="getProbes" desc="(JLjava/lang/String;I)[Z" line="60"><counter type="INSTRUCTION" missed="8" covered="0"/><counter type="LINE" missed="1" covered="0"/><counter type="COMPLEXITY" missed="1" covered="0"/><counter type="METHOD" missed="1" covered="0"/></method><counter type="INSTRUCTION" missed="31" covered="0"/><counter type="BRANCH" missed="2" covered="0"/><counter type="LINE" missed="8" covered="0"/><counter type="COMPLEXITY" missed="3" covered="0"/><counter type="METHOD" missed="2" covered="0"/><counter type="CLASS" missed="1" covered="0"/></class><class name="org/jacoco/agent/rt/internal/ConfigLoader" sourcefilename="ConfigLoader.java"><method name="load" desc="(Ljava/lang/String;Ljava/util/Properties;)Ljava/util/Properties;" line="36"><counter type="INSTRUCTION" missed="0" covered="15"/><counter type="LINE" missed="0" covered="5"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="loadResource" desc="(Ljava/lang/String;Ljava/util/Properties;)V" line="45"><counter type="INSTRUCTION" missed="6" covered="11"/><counter type="BRANCH" missed="0" covered="2"/><counter type="LINE" missed="2" covered="5"/><counter type="COMPLEXITY" missed="0" covered="2"/><counter type="METHOD" missed="0" covered="1"/></method><method name="loadSystemProperties" desc="(Ljava/util/Properties;Ljava/util/Properties;)V" line="57"><counter type="INSTRUCTION" missed="0" covered="30"/><counter type="BRANCH" missed="0" covered="4"/><counter type="LINE" missed="0" covered="6"/><counter type="COMPLEXITY" missed="0" covered="3"/><counter type="METHOD" missed="0" covered="1"/></method><method name="substSystemProperties" desc="(Ljava/util/Properties;Ljava/util/Properties;)V" line="68"><counter type="INSTRUCTION" missed="0" covered="69"/><counter type="BRANCH" missed="0" covered="6"/><counter type="LINE" missed="0" covered="15"/><counter type="COMPLEXITY" missed="0" covered="4"/><counter type="METHOD" missed="0" covered="1"/></method><method name="&lt;clinit&gt;" desc="()V" line="32"><counter type="INSTRUCTION" missed="0" covered="4"/><counter type="LINE" missed="0" covered="1"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><counter type="INSTRUCTION" missed="6" covered="129"/><counter type="BRANCH" missed="0" covered="12"/><counter type="LINE" missed="2" covered="32"/><counter type="COMPLEXITY" missed="0" covered="11"/><counter type="METHOD" missed="0" covered="5"/><counter type="CLASS" missed="0" covered="1"/></class><class name="org/jacoco/agent/rt/internal/PreMain" sourcefilename="PreMain.java"><method name="premain" desc="(Ljava/lang/String;Ljava/lang/instrument/Instrumentation;)V" line="45"><counter type="INSTRUCTION" missed="24" covered="0"/><counter type="LINE" missed="6" covered="0"/><counter type="COMPLEXITY" missed="1" covered="0"/><counter type="METHOD" missed="1" covered="0"/></method><method name="createRuntime" desc="(Ljava/lang/instrument/Instrumentation;)Lorg/jacoco/core/runtime/IRuntime;" line="58"><counter type="INSTRUCTION" missed="43" covered="0"/><counter type="BRANCH" missed="2" covered="0"/><counter type="LINE" missed="6" covered="0"/><counter type="COMPLEXITY" missed="2" covered="0"/><counter type="METHOD" missed="1" covered="0"/></method><counter type="INSTRUCTION" missed="67" covered="0"/><counter type="BRANCH" missed="2" covered="0"/><counter type="LINE" missed="12" covered="0"/><counter type="COMPLEXITY" missed="3" covered="0"/><counter type="METHOD" missed="2" covered="0"/><counter type="CLASS" missed="1" covered="0"/></class><class name="org/jacoco/agent/rt/internal/IExceptionLogger$1" sourcefilename="IExceptionLogger.java"><method name="&lt;init&gt;" desc="()V" line="25"><counter type="INSTRUCTION" missed="3" covered="0"/><counter type="LINE" missed="1" covered="0"/><counter type="COMPLEXITY" missed="1" covered="0"/><counter type="METHOD" missed="1" covered="0"/></method><method name="logExeption" desc="(Ljava/lang/Exception;)V" line="26"><counter type="INSTRUCTION" missed="3" covered="0"/><counter type="LINE" missed="2" covered="0"/><counter type="COMPLEXITY" missed="1" covered="0"/><counter type="METHOD" missed="1" covered="0"/></method><counter type="INSTRUCTION" missed="6" covered="0"/><counter type="LINE" missed="3" covered="0"/><counter type="COMPLEXITY" missed="2" covered="0"/><counter type="METHOD" missed="2" covered="0"/><counter type="CLASS" missed="1" covered="0"/></class><class name="org/jacoco/agent/rt/internal/JmxRegistration" sourcefilename="JmxRegistration.java"><method name="&lt;init&gt;" desc="(Lorg/jacoco/agent/rt/IAgent;)V" line="35"><counter type="INSTRUCTION" missed="0" covered="23"/><counter type="LINE" missed="0" covered="5"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="call" desc="()Ljava/lang/Void;" line="45"><counter type="INSTRUCTION" missed="0" covered="7"/><counter type="LINE" missed="0" covered="2"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><counter type="INSTRUCTION" missed="0" covered="30"/><counter type="LINE" missed="0" covered="7"/><counter type="COMPLEXITY" missed="0" covered="2"/><counter type="METHOD" missed="0" covered="2"/><counter type="CLASS" missed="0" covered="1"/></class><class name="org/jacoco/agent/rt/internal/AgentModule" sourcefilename="AgentModule.java"><method name="isSupported" desc="()Z" line="46"><counter type="INSTRUCTION" missed="5" covered="3"/><counter type="LINE" missed="3" covered="2"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="&lt;init&gt;" desc="()V" line="53"><counter type="INSTRUCTION" missed="0" covered="14"/><counter type="LINE" missed="0" covered="4"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="openPackage" desc="(Ljava/lang/instrument/Instrumentation;Ljava/lang/Class;)V" line="99"><counter type="INSTRUCTION" missed="85" covered="0"/><counter type="LINE" missed="4" covered="0"/><counter type="COMPLEXITY" missed="1" covered="0"/><counter type="METHOD" missed="1" covered="0"/></method><method name="loadClassInModule" desc="(Ljava/lang/Class;)Ljava/lang/Class;" line="140"><counter type="INSTRUCTION" missed="0" covered="9"/><counter type="LINE" missed="0" covered="2"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="addToScopeWithInnerClasses" desc="(Ljava/lang/Class;)V" line="145"><counter type="INSTRUCTION" missed="0" covered="27"/><counter type="BRANCH" missed="0" covered="2"/><counter type="LINE" missed="0" covered="4"/><counter type="COMPLEXITY" missed="0" covered="2"/><counter type="METHOD" missed="0" covered="1"/></method><method name="getModuleClass" desc="()Ljava/lang/Class;" line="152"><counter type="INSTRUCTION" missed="3" covered="0"/><counter type="LINE" missed="1" covered="0"/><counter type="COMPLEXITY" missed="1" covered="0"/><counter type="METHOD" missed="1" covered="0"/></method><counter type="INSTRUCTION" missed="93" covered="53"/><counter type="BRANCH" missed="0" covered="2"/><counter type="LINE" missed="8" covered="12"/><counter type="COMPLEXITY" missed="2" covered="5"/><counter type="METHOD" missed="2" covered="4"/><counter type="CLASS" missed="0" covered="1"/></class><sourcefile name="IExceptionLogger.java"><line nr="24" mi="5" ci="0" mb="0" cb="0"/><line nr="25" mi="3" ci="0" mb="0" cb="0"/><line nr="26" mi="2" ci="0" mb="0" cb="0"/><line nr="27" mi="1" ci="0" mb="0" cb="0"/><counter type="INSTRUCTION" missed="11" covered="0"/><counter type="LINE" missed="4" covered="0"/><counter type="COMPLEXITY" missed="3" covered="0"/><counter type="METHOD" missed="3" covered="0"/><counter type="CLASS" missed="2" covered="0"/></sourcefile><sourcefile name="Offline.java"><line nr="35" mi="2" ci="0" mb="2" cb="0"/><line nr="36" mi="4" ci="0" mb="0" cb="0"/><line nr="39" mi="7" ci="0" mb="0" cb="0"/><line nr="40" mi="1" ci="0" mb="0" cb="0"/><line nr="41" mi="6" ci="0" mb="0" cb="0"/><line nr="42" mi="1" ci="0" mb="0" cb="0"/><line nr="44" mi="2" ci="0" mb="0" cb="0"/><line nr="60" mi="8" ci="0" mb="0" cb="0"/><counter type="INSTRUCTION" missed="31" covered="0"/><counter type="BRANCH" missed="2" covered="0"/><counter type="LINE" missed="8" covered="0"/><counter type="COMPLEXITY" missed="3" covered="0"/><counter type="METHOD" missed="2" covered="0"/><counter type="CLASS" missed="1" covered="0"/></sourcefile><sourcefile name="AgentModule.java"><line nr="46" mi="2" ci="0" mb="0" cb="0"/><line nr="47" mi="0" ci="1" mb="0" cb="0"/><line nr="48" mi="0" ci="2" mb="0" cb="0"/><line nr="49" mi="1" ci="0" mb="0" cb="0"/><line nr="50" mi="2" ci="0" mb="0" cb="0"/><line nr="53" mi="0" ci="5" mb="0" cb="0"/><line nr="62" mi="0" ci="2" mb="0" cb="0"/><line nr="63" mi="0" ci="6" mb="0" cb="0"/><line nr="65" mi="0" ci="6" mb="0" cb="0"/><line nr="67" mi="0" ci="6" mb="0" cb="2"/><line nr="68" mi="0" ci="5" mb="0" cb="0"/><line nr="70" mi="0" ci="14" mb="0" cb="0"/><line nr="74" mi="0" ci="3" mb="0" cb="0"/><line nr="75" mi="1" ci="0" mb="0" cb="0"/><line nr="76" mi="5" ci="0" mb="0" cb="0"/><line nr="77" mi="0" ci="1" mb="0" cb="0"/><line nr="78" mi="0" ci="10" mb="0" cb="0"/><line nr="82" mi="0" ci="1" mb="0" cb="0"/><line nr="99" mi="10" ci="0" mb="0" cb="0"/><line nr="103" mi="11" ci="0" mb="0" cb="0"/><line nr="107" mi="63" ci="0" mb="0" cb="0"/><line nr="123" mi="1" ci="0" mb="0" cb="0"/><line nr="140" mi="0" ci="3" mb="0" cb="0"/><line nr="141" mi="0" ci="6" mb="0" cb="0"/><line nr="145" mi="0" ci="6" mb="0" cb="0"/><line nr="146" mi="0" ci="17" mb="0" cb="2"/><line nr="147" mi="0" ci="3" mb="0" cb="0"/><line nr="149" mi="0" ci="1" mb="0" cb="0"/><line nr="152" mi="3" ci="0" mb="0" cb="0"/><counter type="INSTRUCTION" missed="99" covered="98"/><counter type="BRANCH" missed="0" covered="4"/><counter type="LINE" missed="10" covered="19"/><counter type="COMPLEXITY" missed="2" covered="8"/><counter type="METHOD" missed="2" covered="6"/><counter type="CLASS" missed="0" covered="2"/></sourcefile><sourcefile name="PreMain.java"><line nr="45" mi="5" ci="0" mb="0" cb="0"/><line nr="47" mi="3" ci="0" mb="0" cb="0"/><line nr="49" mi="3" ci="0" mb="0" cb="0"/><line nr="50" mi="4" ci="0" mb="0" cb="0"/><line nr="51" mi="8" ci="0" mb="0" cb="0"/><line nr="53" mi="1" ci="0" mb="0" cb="0"/><line nr="58" mi="2" ci="0" mb="2" cb="0"/><line nr="59" mi="4" ci="0" mb="0" cb="0"/><line nr="60" mi="4" ci="0" mb="0" cb="0"/><line nr="61" mi="4" ci="0" mb="0" cb="0"/><line nr="63" mi="25" ci="0" mb="0" cb="0"/><line nr="67" mi="4" ci="0" mb="0" cb="0"/><counter type="INSTRUCTION" missed="67" covered="0"/><counter type="BRANCH" missed="2" covered="0"/><counter type="LINE" missed="12" covered="0"/><counter type="COMPLEXITY" missed="3" covered="0"/><counter type="METHOD" missed="2" covered="0"/><counter type="CLASS" missed="1" covered="0"/></sourcefile><sourcefile name="Agent.java"><line nr="52" mi="2" ci="0" mb="2" cb="0"/><line nr="53" mi="6" ci="0" mb="0" cb="0"/><line nr="54" mi="2" ci="0" mb="0" cb="0"/><line nr="55" mi="6" ci="0" mb="0" cb="0"/><line nr="57" mi="6" ci="0" mb="0" cb="0"/><line nr="58" mi="3" ci="0" mb="0" cb="0"/><line nr="59" mi="1" ci="0" mb="0" cb="0"/><line nr="61" mi="2" ci="0" mb="0" cb="0"/><line nr="63" mi="2" ci="0" mb="0" cb="0"/><line nr="76" mi="2" ci="0" mb="2" cb="0"/><line nr="77" mi="5" ci="0" mb="0" cb="0"/><line nr="79" mi="2" ci="0" mb="0" cb="0"/><line nr="100" mi="0" ci="2" mb="0" cb="0"/><line nr="101" mi="0" ci="3" mb="0" cb="0"/><line nr="102" mi="0" ci="3" mb="0" cb="0"/><line nr="103" mi="0" ci="5" mb="0" cb="0"/><line nr="104" mi="0" ci="1" mb="0" cb="0"/><line nr="112" mi="0" ci="3" mb="0" cb="0"/><line nr="123" mi="0" ci="4" mb="0" cb="0"/><line nr="124" mi="0" ci="2" mb="0" cb="2"/><line nr="125" mi="0" ci="3" mb="0" cb="0"/><line nr="127" mi="0" ci="4" mb="0" cb="0"/><line nr="128" mi="0" ci="4" mb="0" cb="0"/><line nr="129" mi="0" ci="7" mb="0" cb="0"/><line nr="130" mi="0" ci="4" mb="0" cb="2"/><line nr="131" mi="0" ci="6" mb="0" cb="0"/><line nr="133" mi="0" ci="1" mb="0" cb="0"/><line nr="134" mi="0" ci="4" mb="0" cb="0"/><line nr="135" mi="0" ci="2" mb="0" cb="0"/><line nr="136" mi="0" ci="1" mb="0" cb="0"/><line nr="137" mi="0" ci="1" mb="0" cb="0"/><line nr="144" mi="0" ci="4" mb="0" cb="2"/><line nr="145" mi="0" ci="4" mb="0" cb="0"/><line nr="147" mi="0" ci="3" mb="0" cb="0"/><line nr="148" mi="0" ci="3" mb="0" cb="2"/><line nr="149" mi="0" ci="4" mb="0" cb="0"/><line nr="151" mi="0" ci="1" mb="0" cb="0"/><line nr="152" mi="0" ci="4" mb="0" cb="0"/><line nr="153" mi="0" ci="1" mb="0" cb="0"/><line nr="154" mi="0" ci="1" mb="0" cb="0"/><line nr="162" mi="0" ci="4" mb="0" cb="0"/><line nr="163" mi="4" ci="34" mb="1" cb="4"/><line nr="165" mi="0" ci="4" mb="0" cb="0"/><line nr="167" mi="0" ci="6" mb="0" cb="0"/><line nr="169" mi="0" ci="6" mb="0" cb="0"/><line nr="171" mi="0" ci="4" mb="0" cb="0"/><line nr="173" mi="5" ci="0" mb="0" cb="0"/><line nr="180" mi="0" ci="3" mb="0" cb="0"/><line nr="181" mi="1" ci="0" mb="0" cb="0"/><line nr="184" mi="2" ci="0" mb="0" cb="0"/><line nr="185" mi="0" ci="1" mb="0" cb="0"/><line nr="186" mi="0" ci="11" mb="0" cb="0"/><line nr="192" mi="0" ci="2" mb="0" cb="0"/><line nr="196" mi="0" ci="4" mb="0" cb="0"/><line nr="200" mi="0" ci="4" mb="0" cb="0"/><line nr="201" mi="0" ci="1" mb="0" cb="0"/><line nr="204" mi="0" ci="3" mb="0" cb="0"/><line nr="205" mi="0" ci="1" mb="0" cb="0"/><line nr="208" mi="0" ci="4" mb="0" cb="0"/><line nr="210" mi="0" ci="5" mb="0" cb="0"/><line nr="211" mi="0" ci="6" mb="0" cb="0"/><line nr="212" mi="1" ci="0" mb="0" cb="0"/><line nr="214" mi="5" ci="0" mb="0" cb="0"/><line nr="215" mi="0" ci="1" mb="0" cb="0"/><line nr="216" mi="0" ci="3" mb="0" cb="0"/><line nr="220" mi="0" ci="4" mb="0" cb="0"/><line nr="221" mi="0" ci="1" mb="0" cb="0"/><counter type="INSTRUCTION" missed="57" covered="197"/><counter type="BRANCH" missed="5" covered="12"/><counter type="LINE" missed="17" covered="50"/><counter type="COMPLEXITY" missed="7" covered="20"/><counter type="METHOD" missed="4" covered="13"/><counter type="CLASS" missed="1" covered="2"/></sourcefile><sourcefile name="JmxRegistration.java"><line nr="35" mi="0" ci="2" mb="0" cb="0"/><line nr="36" mi="0" ci="3" mb="0" cb="0"/><line nr="37" mi="0" ci="6" mb="0" cb="0"/><line nr="38" mi="0" ci="11" mb="0" cb="0"/><line nr="39" mi="0" ci="1" mb="0" cb="0"/><line nr="45" mi="0" ci="5" mb="0" cb="0"/><line nr="46" mi="0" ci="2" mb="0" cb="0"/><counter type="INSTRUCTION" missed="0" covered="30"/><counter type="LINE" missed="0" covered="7"/><counter type="COMPLEXITY" missed="0" covered="2"/><counter type="METHOD" missed="0" covered="2"/><counter type="CLASS" missed="0" covered="1"/></sourcefile><sourcefile name="CoverageTransformer.java"><line nr="33" mi="0" ci="3" mb="0" cb="0"/><line nr="34" mi="0" ci="8" mb="0" cb="0"/><line nr="35" mi="0" ci="1" mb="0" cb="0"/><line nr="64" mi="0" ci="2" mb="0" cb="0"/><line nr="65" mi="0" ci="6" mb="0" cb="0"/><line nr="66" mi="0" ci="3" mb="0" cb="0"/><line nr="68" mi="0" ci="8" mb="0" cb="0"/><line nr="69" mi="0" ci="8" mb="0" cb="0"/><line nr="70" mi="0" ci="7" mb="0" cb="0"/><line nr="71" mi="0" ci="7" mb="0" cb="0"/><line nr="72" mi="0" ci="4" mb="0" cb="0"/><line nr="73" mi="0" ci="4" mb="0" cb="0"/><line nr="74" mi="0" ci="1" mb="0" cb="0"/><line nr="82" mi="0" ci="2" mb="0" cb="2"/><line nr="83" mi="0" ci="2" mb="0" cb="0"/><line nr="86" mi="0" ci="6" mb="0" cb="2"/><line nr="87" mi="0" ci="2" mb="0" cb="0"/><line nr="91" mi="0" ci="5" mb="0" cb="0"/><line nr="92" mi="6" ci="0" mb="0" cb="0"/><line nr="93" mi="0" ci="1" mb="0" cb="0"/><line nr="94" mi="0" ci="6" mb="0" cb="0"/><line nr="96" mi="0" ci="4" mb="0" cb="0"/><line nr="98" mi="0" ci="4" mb="0" cb="0"/><line nr="99" mi="0" ci="2" mb="0" cb="0"/><line nr="116" mi="0" ci="2" mb="0" cb="2"/><line nr="117" mi="0" ci="3" mb="0" cb="2"/><line nr="118" mi="0" ci="2" mb="0" cb="0"/><line nr="121" mi="0" ci="7" mb="0" cb="4"/><line nr="123" mi="0" ci="2" mb="0" cb="0"/><line nr="125" mi="0" ci="7" mb="0" cb="2"/><line nr="126" mi="0" ci="2" mb="0" cb="0"/><line nr="130" mi="0" ci="18" mb="0" cb="6"/><line nr="146" mi="0" ci="2" mb="0" cb="2"/><line nr="147" mi="0" ci="2" mb="0" cb="0"/><line nr="149" mi="0" ci="3" mb="0" cb="0"/><line nr="150" mi="0" ci="2" mb="0" cb="2"/><line nr="151" mi="0" ci="2" mb="0" cb="0"/><line nr="153" mi="0" ci="7" mb="0" cb="2"/><line nr="157" mi="0" ci="5" mb="0" cb="0"/><counter type="INSTRUCTION" missed="6" covered="162"/><counter type="BRANCH" missed="0" covered="26"/><counter type="LINE" missed="1" covered="38"/><counter type="COMPLEXITY" missed="0" covered="19"/><counter type="METHOD" missed="0" covered="6"/><counter type="CLASS" missed="0" covered="1"/></sourcefile><sourcefile name="ConfigLoader.java"><line nr="32" mi="0" ci="4" mb="0" cb="0"/><line nr="36" mi="0" ci="4" mb="0" cb="0"/><line nr="37" mi="0" ci="3" mb="0" cb="0"/><line nr="38" mi="0" ci="3" mb="0" cb="0"/><line nr="39" mi="0" ci="3" mb="0" cb="0"/><line nr="40" mi="0" ci="2" mb="0" cb="0"/><line nr="45" mi="0" ci="4" mb="0" cb="0"/><line nr="46" mi="0" ci="2" mb="0" cb="2"/><line nr="48" mi="0" ci="3" mb="0" cb="0"/><line nr="49" mi="1" ci="0" mb="0" cb="0"/><line nr="50" mi="5" ci="0" mb="0" cb="0"/><line nr="51" mi="0" ci="1" mb="0" cb="0"/><line nr="53" mi="0" ci="1" mb="0" cb="0"/><line nr="57" mi="0" ci="11" mb="0" cb="2"/><line nr="58" mi="0" ci="4" mb="0" cb="0"/><line nr="59" mi="0" ci="4" mb="0" cb="2"/><line nr="60" mi="0" ci="9" mb="0" cb="0"/><line nr="63" mi="0" ci="1" mb="0" cb="0"/><line nr="64" mi="0" ci="1" mb="0" cb="0"/><line nr="68" mi="0" ci="11" mb="0" cb="2"/><line nr="69" mi="0" ci="4" mb="0" cb="0"/><line nr="70" mi="0" ci="4" mb="0" cb="0"/><line nr="71" mi="0" ci="4" mb="0" cb="0"/><line nr="72" mi="0" ci="2" mb="0" cb="0"/><line nr="73" mi="0" ci="3" mb="0" cb="2"/><line nr="74" mi="0" ci="8" mb="0" cb="0"/><line nr="75" mi="0" ci="6" mb="0" cb="0"/><line nr="76" mi="0" ci="10" mb="0" cb="2"/><line nr="77" mi="0" ci="3" mb="0" cb="0"/><line nr="78" mi="0" ci="1" mb="0" cb="0"/><line nr="79" mi="0" ci="6" mb="0" cb="0"/><line nr="80" mi="0" ci="5" mb="0" cb="0"/><line nr="81" mi="0" ci="1" mb="0" cb="0"/><line nr="82" mi="0" ci="1" mb="0" cb="0"/><counter type="INSTRUCTION" missed="6" covered="129"/><counter type="BRANCH" missed="0" covered="12"/><counter type="LINE" missed="2" covered="32"/><counter type="COMPLEXITY" missed="0" covered="11"/><counter type="METHOD" missed="0" covered="5"/><counter type="CLASS" missed="0" covered="1"/></sourcefile><sourcefile name="ClassFileDumper.java"><line nr="36" mi="0" ci="2" mb="0" cb="0"/><line nr="37" mi="0" ci="2" mb="0" cb="2"/><line nr="38" mi="0" ci="4" mb="0" cb="0"/><line nr="40" mi="0" ci="6" mb="0" cb="0"/><line nr="42" mi="0" ci="1" mb="0" cb="0"/><line nr="56" mi="0" ci="3" mb="0" cb="2"/><line nr="59" mi="0" ci="4" mb="0" cb="0"/><line nr="60" mi="0" ci="3" mb="0" cb="2"/><line nr="61" mi="0" ci="10" mb="0" cb="0"/><line nr="62" mi="0" ci="7" mb="0" cb="0"/><line nr="64" mi="0" ci="3" mb="0" cb="0"/><line nr="65" mi="0" ci="2" mb="0" cb="0"/><line nr="67" mi="0" ci="3" mb="0" cb="0"/><line nr="68" mi="0" ci="4" mb="0" cb="0"/><line nr="69" mi="0" ci="17" mb="0" cb="0"/><line nr="71" mi="0" ci="5" mb="0" cb="0"/><line nr="72" mi="0" ci="3" mb="0" cb="0"/><line nr="73" mi="0" ci="2" mb="0" cb="0"/><line nr="75" mi="0" ci="1" mb="0" cb="0"/><counter type="INSTRUCTION" missed="0" covered="82"/><counter type="BRANCH" missed="0" covered="6"/><counter type="LINE" missed="0" covered="19"/><counter type="COMPLEXITY" missed="0" covered="5"/><counter type="METHOD" missed="0" covered="2"/><counter type="CLASS" missed="0" covered="1"/></sourcefile><counter type="INSTRUCTION" missed="277" covered="698"/><counter type="BRANCH" missed="9" covered="60"/><counter type="LINE" missed="54" covered="165"/><counter type="COMPLEXITY" missed="18" covered="65"/><counter type="METHOD" missed="13" covered="34"/><counter type="CLASS" missed="5" covered="8"/></package><package name="org/jacoco/agent/rt"><class name="org/jacoco/agent/rt/RT" sourcefilename="RT.java"><method name="getAgent" desc="()Lorg/jacoco/agent/rt/IAgent;" line="33"><counter type="INSTRUCTION" missed="2" covered="0"/><counter type="LINE" missed="1" covered="0"/><counter type="COMPLEXITY" missed="1" covered="0"/><counter type="METHOD" missed="1" covered="0"/></method><counter type="INSTRUCTION" missed="2" covered="0"/><counter type="LINE" missed="1" covered="0"/><counter type="COMPLEXITY" missed="1" covered="0"/><counter type="METHOD" missed="1" covered="0"/><counter type="CLASS" missed="1" covered="0"/></class><class name="org/jacoco/agent/rt/IAgent" sourcefilename="IAgent.java"/><sourcefile name="RT.java"><line nr="33" mi="2" ci="0" mb="0" cb="0"/><counter type="INSTRUCTION" missed="2" covered="0"/><counter type="LINE" missed="1" covered="0"/><counter type="COMPLEXITY" missed="1" covered="0"/><counter type="METHOD" missed="1" covered="0"/><counter type="CLASS" missed="1" covered="0"/></sourcefile><sourcefile name="IAgent.java"/><counter type="INSTRUCTION" missed="2" covered="0"/><counter type="LINE" missed="1" covered="0"/><counter type="COMPLEXITY" missed="1" covered="0"/><counter type="METHOD" missed="1" covered="0"/><counter type="CLASS" missed="1" covered="0"/></package><package name="com/vladium/emma/rt"><class name="com/vladium/emma/rt/RT" sourcefilename="RT.java"><method name="dumpCoverageData" desc="(Ljava/io/File;ZZ)V" line="50"><counter type="INSTRUCTION" missed="14" covered="0"/><counter type="LINE" missed="4" covered="0"/><counter type="COMPLEXITY" missed="1" covered="0"/><counter type="METHOD" missed="1" covered="0"/></method><method name="dumpCoverageData" desc="(Ljava/io/File;Z)V" line="72"><counter type="INSTRUCTION" missed="5" covered="0"/><counter type="LINE" missed="2" covered="0"/><counter type="COMPLEXITY" missed="1" covered="0"/><counter type="METHOD" missed="1" covered="0"/></method><counter type="INSTRUCTION" missed="19" covered="0"/><counter type="LINE" missed="6" covered="0"/><counter type="COMPLEXITY" missed="2" covered="0"/><counter type="METHOD" missed="2" covered="0"/><counter type="CLASS" missed="1" covered="0"/></class><sourcefile name="RT.java"><line nr="50" mi="6" ci="0" mb="0" cb="0"/><line nr="52" mi="5" ci="0" mb="0" cb="0"/><line nr="55" mi="2" ci="0" mb="0" cb="0"/><line nr="57" mi="1" ci="0" mb="0" cb="0"/><line nr="72" mi="4" ci="0" mb="0" cb="0"/><line nr="73" mi="1" ci="0" mb="0" cb="0"/><counter type="INSTRUCTION" missed="19" covered="0"/><counter type="LINE" missed="6" covered="0"/><counter type="COMPLEXITY" missed="2" covered="0"/><counter type="METHOD" missed="2" covered="0"/><counter type="CLASS" missed="1" covered="0"/></sourcefile><counter type="INSTRUCTION" missed="19" covered="0"/><counter type="LINE" missed="6" covered="0"/><counter type="COMPLEXITY" missed="2" covered="0"/><counter type="METHOD" missed="2" covered="0"/><counter type="CLASS" missed="1" covered="0"/></package><package name="org/jacoco/agent/rt/internal/output"><class name="org/jacoco/agent/rt/internal/output/TcpServerOutput$1" sourcefilename="TcpServerOutput.java"><method name="&lt;init&gt;" desc="(Lorg/jacoco/agent/rt/internal/output/TcpServerOutput;Lorg/jacoco/core/runtime/RuntimeData;)V" line="56"><counter type="INSTRUCTION" missed="0" covered="9"/><counter type="LINE" missed="0" covered="1"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="run" desc="()V" line="57"><counter type="INSTRUCTION" missed="0" covered="49"/><counter type="BRANCH" missed="0" covered="4"/><counter type="LINE" missed="0" covered="11"/><counter type="COMPLEXITY" missed="0" covered="3"/><counter type="METHOD" missed="0" covered="1"/></method><counter type="INSTRUCTION" missed="0" covered="58"/><counter type="BRANCH" missed="0" covered="4"/><counter type="LINE" missed="0" covered="12"/><counter type="COMPLEXITY" missed="0" covered="4"/><counter type="METHOD" missed="0" covered="2"/><counter type="CLASS" missed="0" covered="1"/></class><class name="org/jacoco/agent/rt/internal/output/TcpClientOutput$1" sourcefilename="TcpClientOutput.java"><method name="&lt;init&gt;" desc="(Lorg/jacoco/agent/rt/internal/output/TcpClientOutput;)V" line="54"><counter type="INSTRUCTION" missed="0" covered="6"/><counter type="LINE" missed="0" covered="1"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="run" desc="()V" line="56"><counter type="INSTRUCTION" missed="0" covered="12"/><counter type="LINE" missed="0" covered="5"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><counter type="INSTRUCTION" missed="0" covered="18"/><counter type="LINE" missed="0" covered="6"/><counter type="COMPLEXITY" missed="0" covered="2"/><counter type="METHOD" missed="0" covered="2"/><counter type="CLASS" missed="0" covered="1"/></class><class name="org/jacoco/agent/rt/internal/output/TcpClientOutput" sourcefilename="TcpClientOutput.java"><method name="&lt;init&gt;" desc="(Lorg/jacoco/agent/rt/internal/IExceptionLogger;)V" line="44"><counter type="INSTRUCTION" missed="0" covered="6"/><counter type="LINE" missed="0" covered="3"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="startup" desc="(Lorg/jacoco/core/runtime/AgentOptions;Lorg/jacoco/core/runtime/RuntimeData;)V" line="50"><counter type="INSTRUCTION" missed="0" covered="37"/><counter type="LINE" missed="0" covered="8"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="shutdown" desc="()V" line="68"><counter type="INSTRUCTION" missed="0" covered="7"/><counter type="LINE" missed="0" covered="3"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="writeExecutionData" desc="(Z)V" line="73"><counter type="INSTRUCTION" missed="0" covered="5"/><counter type="LINE" missed="0" covered="2"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="createSocket" desc="(Lorg/jacoco/core/runtime/AgentOptions;)Ljava/net/Socket;" line="86"><counter type="INSTRUCTION" missed="8" covered="0"/><counter type="LINE" missed="1" covered="0"/><counter type="COMPLEXITY" missed="1" covered="0"/><counter type="METHOD" missed="1" covered="0"/></method><counter type="INSTRUCTION" missed="8" covered="55"/><counter type="LINE" missed="1" covered="16"/><counter type="COMPLEXITY" missed="1" covered="4"/><counter type="METHOD" missed="1" covered="4"/><counter type="CLASS" missed="0" covered="1"/></class><class name="org/jacoco/agent/rt/internal/output/IAgentOutput" sourcefilename="IAgentOutput.java"/><class name="org/jacoco/agent/rt/internal/output/FileOutput" sourcefilename="FileOutput.java"><method name="&lt;init&gt;" desc="()V" line="35"><counter type="INSTRUCTION" missed="0" covered="3"/><counter type="LINE" missed="0" covered="1"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="startup" desc="(Lorg/jacoco/core/runtime/AgentOptions;Lorg/jacoco/core/runtime/RuntimeData;)V" line="49"><counter type="INSTRUCTION" missed="0" covered="28"/><counter type="BRANCH" missed="1" covered="1"/><counter type="LINE" missed="0" covered="8"/><counter type="COMPLEXITY" missed="1" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="writeExecutionData" desc="(Z)V" line="61"><counter type="INSTRUCTION" missed="0" covered="17"/><counter type="LINE" missed="0" covered="5"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="shutdown" desc="()V" line="72"><counter type="INSTRUCTION" missed="0" covered="1"/><counter type="LINE" missed="0" covered="1"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="openFile" desc="()Ljava/io/OutputStream;" line="75"><counter type="INSTRUCTION" missed="15" covered="18"/><counter type="BRANCH" missed="2" covered="0"/><counter type="LINE" missed="7" covered="5"/><counter type="COMPLEXITY" missed="1" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><counter type="INSTRUCTION" missed="15" covered="67"/><counter type="BRANCH" missed="3" covered="1"/><counter type="LINE" missed="7" covered="20"/><counter type="COMPLEXITY" missed="2" covered="5"/><counter type="METHOD" missed="0" covered="5"/><counter type="CLASS" missed="0" covered="1"/></class><class name="org/jacoco/agent/rt/internal/output/TcpConnection" sourcefilename="TcpConnection.java"><method name="&lt;init&gt;" desc="(Ljava/net/Socket;Lorg/jacoco/core/runtime/RuntimeData;)V" line="39"><counter type="INSTRUCTION" missed="0" covered="12"/><counter type="LINE" missed="0" covered="5"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="init" desc="()V" line="46"><counter type="INSTRUCTION" missed="0" covered="24"/><counter type="LINE" missed="0" covered="5"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="run" desc="()V" line="60"><counter type="INSTRUCTION" missed="3" covered="12"/><counter type="BRANCH" missed="2" covered="2"/><counter type="LINE" missed="1" covered="5"/><counter type="COMPLEXITY" missed="2" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="writeExecutionData" desc="(Z)V" line="82"><counter type="INSTRUCTION" missed="0" covered="12"/><counter type="BRANCH" missed="1" covered="3"/><counter type="LINE" missed="0" covered="3"/><counter type="COMPLEXITY" missed="1" covered="2"/><counter type="METHOD" missed="0" covered="1"/></method><method name="close" desc="()V" line="93"><counter type="INSTRUCTION" missed="0" covered="8"/><counter type="BRANCH" missed="0" covered="2"/><counter type="LINE" missed="0" covered="3"/><counter type="COMPLEXITY" missed="0" covered="2"/><counter type="METHOD" missed="0" covered="1"/></method><method name="visitDumpCommand" desc="(ZZ)V" line="102"><counter type="INSTRUCTION" missed="0" covered="20"/><counter type="BRANCH" missed="0" covered="4"/><counter type="LINE" missed="0" covered="6"/><counter type="COMPLEXITY" missed="0" covered="3"/><counter type="METHOD" missed="0" covered="1"/></method><counter type="INSTRUCTION" missed="3" covered="88"/><counter type="BRANCH" missed="3" covered="11"/><counter type="LINE" missed="1" covered="27"/><counter type="COMPLEXITY" missed="3" covered="10"/><counter type="METHOD" missed="0" covered="6"/><counter type="CLASS" missed="0" covered="1"/></class><class name="org/jacoco/agent/rt/internal/output/NoneOutput" sourcefilename="NoneOutput.java"><method name="&lt;init&gt;" desc="()V" line="21"><counter type="INSTRUCTION" missed="0" covered="3"/><counter type="LINE" missed="0" covered="1"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="startup" desc="(Lorg/jacoco/core/runtime/AgentOptions;Lorg/jacoco/core/runtime/RuntimeData;)V" line="26"><counter type="INSTRUCTION" missed="1" covered="0"/><counter type="LINE" missed="1" covered="0"/><counter type="COMPLEXITY" missed="1" covered="0"/><counter type="METHOD" missed="1" covered="0"/></method><method name="writeExecutionData" desc="(Z)V" line="30"><counter type="INSTRUCTION" missed="1" covered="0"/><counter type="LINE" missed="1" covered="0"/><counter type="COMPLEXITY" missed="1" covered="0"/><counter type="METHOD" missed="1" covered="0"/></method><method name="shutdown" desc="()V" line="34"><counter type="INSTRUCTION" missed="1" covered="0"/><counter type="LINE" missed="1" covered="0"/><counter type="COMPLEXITY" missed="1" covered="0"/><counter type="METHOD" missed="1" covered="0"/></method><counter type="INSTRUCTION" missed="3" covered="3"/><counter type="LINE" missed="3" covered="1"/><counter type="COMPLEXITY" missed="3" covered="1"/><counter type="METHOD" missed="3" covered="1"/><counter type="CLASS" missed="0" covered="1"/></class><class name="org/jacoco/agent/rt/internal/output/TcpServerOutput" sourcefilename="TcpServerOutput.java"><method name="&lt;init&gt;" desc="(Lorg/jacoco/agent/rt/internal/IExceptionLogger;)V" line="48"><counter type="INSTRUCTION" missed="0" covered="6"/><counter type="LINE" missed="0" covered="3"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="startup" desc="(Lorg/jacoco/core/runtime/AgentOptions;Lorg/jacoco/core/runtime/RuntimeData;)V" line="54"><counter type="INSTRUCTION" missed="0" covered="29"/><counter type="LINE" missed="0" covered="6"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="shutdown" desc="()V" line="81"><counter type="INSTRUCTION" missed="0" covered="21"/><counter type="BRANCH" missed="0" covered="2"/><counter type="LINE" missed="0" covered="7"/><counter type="COMPLEXITY" missed="0" covered="2"/><counter type="METHOD" missed="0" covered="1"/></method><method name="writeExecutionData" desc="(Z)V" line="91"><counter type="INSTRUCTION" missed="0" covered="8"/><counter type="BRANCH" missed="1" covered="1"/><counter type="LINE" missed="0" covered="3"/><counter type="COMPLEXITY" missed="1" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="createServerSocket" desc="(Lorg/jacoco/core/runtime/AgentOptions;)Ljava/net/ServerSocket;" line="106"><counter type="INSTRUCTION" missed="13" covered="0"/><counter type="LINE" missed="2" covered="0"/><counter type="COMPLEXITY" missed="1" covered="0"/><counter type="METHOD" missed="1" covered="0"/></method><method name="getInetAddress" desc="(Ljava/lang/String;)Ljava/net/InetAddress;" line="120"><counter type="INSTRUCTION" missed="0" covered="9"/><counter type="BRANCH" missed="0" covered="2"/><counter type="LINE" missed="0" covered="3"/><counter type="COMPLEXITY" missed="0" covered="2"/><counter type="METHOD" missed="0" covered="1"/></method><counter type="INSTRUCTION" missed="13" covered="73"/><counter type="BRANCH" missed="1" covered="5"/><counter type="LINE" missed="2" covered="22"/><counter type="COMPLEXITY" missed="2" covered="7"/><counter type="METHOD" missed="1" covered="5"/><counter type="CLASS" missed="0" covered="1"/></class><sourcefile name="IAgentOutput.java"/><sourcefile name="FileOutput.java"><line nr="35" mi="0" ci="3" mb="0" cb="0"/><line nr="49" mi="0" ci="3" mb="0" cb="0"/><line nr="50" mi="0" ci="8" mb="0" cb="0"/><line nr="51" mi="0" ci="4" mb="0" cb="0"/><line nr="52" mi="0" ci="4" mb="0" cb="0"/><line nr="53" mi="0" ci="2" mb="1" cb="1"/><line nr="54" mi="0" ci="3" mb="0" cb="0"/><line nr="57" mi="0" ci="3" mb="0" cb="0"/><line nr="58" mi="0" ci="1" mb="0" cb="0"/><line nr="61" mi="0" ci="3" mb="0" cb="0"/><line nr="63" mi="0" ci="5" mb="0" cb="0"/><line nr="64" mi="0" ci="6" mb="0" cb="0"/><line nr="66" mi="0" ci="2" mb="0" cb="0"/><line nr="68" mi="0" ci="1" mb="0" cb="0"/><line nr="72" mi="0" ci="1" mb="0" cb="0"/><line nr="75" mi="0" ci="8" mb="0" cb="0"/><line nr="77" mi="0" ci="3" mb="0" cb="0"/><line nr="78" mi="0" ci="2" mb="0" cb="0"/><line nr="83" mi="0" ci="3" mb="0" cb="0"/><line nr="84" mi="0" ci="2" mb="0" cb="0"/><line nr="85" mi="1" ci="0" mb="0" cb="0"/><line nr="89" mi="4" ci="0" mb="2" cb="0"/><line nr="90" mi="2" ci="0" mb="0" cb="0"/><line nr="94" mi="2" ci="0" mb="0" cb="0"/><line nr="95" mi="1" ci="0" mb="0" cb="0"/><line nr="96" mi="4" ci="0" mb="0" cb="0"/><line nr="97" mi="1" ci="0" mb="0" cb="0"/><counter type="INSTRUCTION" missed="15" covered="67"/><counter type="BRANCH" missed="3" covered="1"/><counter type="LINE" missed="7" covered="20"/><counter type="COMPLEXITY" missed="2" covered="5"/><counter type="METHOD" missed="0" covered="5"/><counter type="CLASS" missed="0" covered="1"/></sourcefile><sourcefile name="TcpServerOutput.java"><line nr="48" mi="0" ci="2" mb="0" cb="0"/><line nr="49" mi="0" ci="3" mb="0" cb="0"/><line nr="50" mi="0" ci="1" mb="0" cb="0"/><line nr="54" mi="0" ci="5" mb="0" cb="0"/><line nr="55" mi="0" ci="10" mb="0" cb="0"/><line nr="56" mi="0" ci="9" mb="0" cb="0"/><line nr="57" mi="0" ci="5" mb="0" cb="2"/><line nr="59" mi="0" ci="6" mb="0" cb="0"/><line nr="60" mi="0" ci="13" mb="0" cb="0"/><line nr="62" mi="0" ci="3" mb="0" cb="0"/><line nr="63" mi="0" ci="4" mb="0" cb="0"/><line nr="64" mi="0" ci="4" mb="0" cb="0"/><line nr="65" mi="0" ci="1" mb="0" cb="0"/><line nr="68" mi="0" ci="5" mb="0" cb="2"/><line nr="69" mi="0" ci="5" mb="0" cb="0"/><line nr="71" mi="0" ci="2" mb="0" cb="0"/><line nr="73" mi="0" ci="1" mb="0" cb="0"/><line nr="75" mi="0" ci="6" mb="0" cb="0"/><line nr="76" mi="0" ci="4" mb="0" cb="0"/><line nr="77" mi="0" ci="3" mb="0" cb="0"/><line nr="78" mi="0" ci="1" mb="0" cb="0"/><line nr="81" mi="0" ci="3" mb="0" cb="0"/><line nr="82" mi="0" ci="5" mb="0" cb="0"/><line nr="83" mi="0" ci="3" mb="0" cb="2"/><line nr="84" mi="0" ci="3" mb="0" cb="0"/><line nr="86" mi="0" ci="3" mb="0" cb="0"/><line nr="87" mi="0" ci="3" mb="0" cb="0"/><line nr="88" mi="0" ci="1" mb="0" cb="0"/><line nr="91" mi="0" ci="3" mb="1" cb="1"/><line nr="92" mi="0" ci="4" mb="0" cb="0"/><line nr="94" mi="0" ci="1" mb="0" cb="0"/><line nr="106" mi="5" ci="0" mb="0" cb="0"/><line nr="107" mi="8" ci="0" mb="0" cb="0"/><line nr="120" mi="0" ci="4" mb="0" cb="2"/><line nr="121" mi="0" ci="2" mb="0" cb="0"/><line nr="123" mi="0" ci="3" mb="0" cb="0"/><counter type="INSTRUCTION" missed="13" covered="131"/><counter type="BRANCH" missed="1" covered="9"/><counter type="LINE" missed="2" covered="34"/><counter type="COMPLEXITY" missed="2" covered="11"/><counter type="METHOD" missed="1" covered="7"/><counter type="CLASS" missed="0" covered="2"/></sourcefile><sourcefile name="TcpConnection.java"><line nr="39" mi="0" ci="2" mb="0" cb="0"/><line nr="40" mi="0" ci="3" mb="0" cb="0"/><line nr="41" mi="0" ci="3" mb="0" cb="0"/><line nr="42" mi="0" ci="3" mb="0" cb="0"/><line nr="43" mi="0" ci="1" mb="0" cb="0"/><line nr="46" mi="0" ci="8" mb="0" cb="0"/><line nr="47" mi="0" ci="8" mb="0" cb="0"/><line nr="48" mi="0" ci="4" mb="0" cb="0"/><line nr="49" mi="0" ci="3" mb="0" cb="0"/><line nr="50" mi="0" ci="1" mb="0" cb="0"/><line nr="60" mi="1" ci="4" mb="1" cb="1"/><line nr="62" mi="0" ci="1" mb="0" cb="0"/><line nr="65" mi="0" ci="4" mb="1" cb="1"/><line nr="66" mi="2" ci="0" mb="0" cb="0"/><line nr="69" mi="0" ci="2" mb="0" cb="0"/><line nr="71" mi="0" ci="1" mb="0" cb="0"/><line nr="82" mi="0" ci="7" mb="1" cb="3"/><line nr="83" mi="0" ci="4" mb="0" cb="0"/><line nr="85" mi="0" ci="1" mb="0" cb="0"/><line nr="93" mi="0" ci="4" mb="0" cb="2"/><line nr="94" mi="0" ci="3" mb="0" cb="0"/><line nr="96" mi="0" ci="1" mb="0" cb="0"/><line nr="102" mi="0" ci="2" mb="0" cb="2"/><line nr="103" mi="0" ci="9" mb="0" cb="0"/><line nr="105" mi="0" ci="2" mb="0" cb="2"/><line nr="106" mi="0" ci="3" mb="0" cb="0"/><line nr="109" mi="0" ci="3" mb="0" cb="0"/><line nr="110" mi="0" ci="1" mb="0" cb="0"/><counter type="INSTRUCTION" missed="3" covered="88"/><counter type="BRANCH" missed="3" covered="11"/><counter type="LINE" missed="1" covered="27"/><counter type="COMPLEXITY" missed="3" covered="10"/><counter type="METHOD" missed="0" covered="6"/><counter type="CLASS" missed="0" covered="1"/></sourcefile><sourcefile name="NoneOutput.java"><line nr="21" mi="0" ci="3" mb="0" cb="0"/><line nr="26" mi="1" ci="0" mb="0" cb="0"/><line nr="30" mi="1" ci="0" mb="0" cb="0"/><line nr="34" mi="1" ci="0" mb="0" cb="0"/><counter type="INSTRUCTION" missed="3" covered="3"/><counter type="LINE" missed="3" covered="1"/><counter type="COMPLEXITY" missed="3" covered="1"/><counter type="METHOD" missed="3" covered="1"/><counter type="CLASS" missed="0" covered="1"/></sourcefile><sourcefile name="TcpClientOutput.java"><line nr="44" mi="0" ci="2" mb="0" cb="0"/><line nr="45" mi="0" ci="3" mb="0" cb="0"/><line nr="46" mi="0" ci="1" mb="0" cb="0"/><line nr="50" mi="0" ci="4" mb="0" cb="0"/><line nr="51" mi="0" ci="7" mb="0" cb="0"/><line nr="52" mi="0" ci="3" mb="0" cb="0"/><line nr="53" mi="0" ci="9" mb="0" cb="0"/><line nr="54" mi="0" ci="6" mb="0" cb="0"/><line nr="56" mi="0" ci="4" mb="0" cb="0"/><line nr="57" mi="0" ci="1" mb="0" cb="0"/><line nr="58" mi="0" ci="5" mb="0" cb="0"/><line nr="59" mi="0" ci="1" mb="0" cb="0"/><line nr="60" mi="0" ci="1" mb="0" cb="0"/><line nr="62" mi="0" ci="6" mb="0" cb="0"/><line nr="63" mi="0" ci="4" mb="0" cb="0"/><line nr="64" mi="0" ci="3" mb="0" cb="0"/><line nr="65" mi="0" ci="1" mb="0" cb="0"/><line nr="68" mi="0" ci="3" mb="0" cb="0"/><line nr="69" mi="0" ci="3" mb="0" cb="0"/><line nr="70" mi="0" ci="1" mb="0" cb="0"/><line nr="73" mi="0" ci="4" mb="0" cb="0"/><line nr="74" mi="0" ci="1" mb="0" cb="0"/><line nr="86" mi="8" ci="0" mb="0" cb="0"/><counter type="INSTRUCTION" missed="8" covered="73"/><counter type="LINE" missed="1" covered="22"/><counter type="COMPLEXITY" missed="1" covered="6"/><counter type="METHOD" missed="1" covered="6"/><counter type="CLASS" missed="0" covered="2"/></sourcefile><counter type="INSTRUCTION" missed="42" covered="362"/><counter type="BRANCH" missed="7" covered="21"/><counter type="LINE" missed="14" covered="104"/><counter type="COMPLEXITY" missed="11" covered="33"/><counter type="METHOD" missed="5" covered="25"/><counter type="CLASS" missed="0" covered="7"/></package><counter type="INSTRUCTION" missed="340" covered="1060"/><counter type="BRANCH" missed="16" covered="81"/><counter type="LINE" missed="75" covered="269"/><counter type="COMPLEXITY" missed="32" covered="98"/><counter type="METHOD" missed="21" covered="59"/><counter type="CLASS" missed="7" covered="15"/></group><group name="org.jacoco.ant"><package name="org/jacoco/ant"><class name="org/jacoco/ant/ReportTask$SourceFilesElement" sourcefilename="ReportTask.java"><method name="&lt;init&gt;" desc="()V" line="66"><counter type="INSTRUCTION" missed="0" covered="9"/><counter type="LINE" missed="0" covered="3"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="setEncoding" desc="(Ljava/lang/String;)V" line="80"><counter type="INSTRUCTION" missed="0" covered="4"/><counter type="LINE" missed="0" covered="2"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="setTabwidth" desc="(I)V" line="90"><counter type="INSTRUCTION" missed="0" covered="11"/><counter type="BRANCH" missed="0" covered="2"/><counter type="LINE" missed="0" covered="4"/><counter type="COMPLEXITY" missed="0" covered="2"/><counter type="METHOD" missed="0" covered="1"/></method><counter type="INSTRUCTION" missed="0" covered="24"/><counter type="BRANCH" missed="0" covered="2"/><counter type="LINE" missed="0" covered="9"/><counter type="COMPLEXITY" missed="0" covered="4"/><counter type="METHOD" missed="0" covered="3"/><counter type="CLASS" missed="0" covered="1"/></class><class name="org/jacoco/ant/InstrumentTask" sourcefilename="InstrumentTask.java"><method name="&lt;init&gt;" desc="()V" line="35"><counter type="INSTRUCTION" missed="0" covered="11"/><counter type="LINE" missed="0" covered="3"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="setDestdir" desc="(Ljava/io/File;)V" line="50"><counter type="INSTRUCTION" missed="0" covered="4"/><counter type="LINE" missed="0" covered="2"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="setRemovesignatures" desc="(Z)V" line="60"><counter type="INSTRUCTION" missed="0" covered="4"/><counter type="LINE" missed="0" covered="2"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="addConfigured" desc="(Lorg/apache/tools/ant/types/ResourceCollection;)V" line="70"><counter type="INSTRUCTION" missed="0" covered="5"/><counter type="LINE" missed="0" covered="2"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="execute" desc="()V" line="75"><counter type="INSTRUCTION" missed="0" covered="64"/><counter type="BRANCH" missed="0" covered="6"/><counter type="LINE" missed="0" covered="14"/><counter type="COMPLEXITY" missed="0" covered="4"/><counter type="METHOD" missed="0" covered="1"/></method><method name="instrument" desc="(Lorg/jacoco/core/instr/Instrumenter;Lorg/apache/tools/ant/types/Resource;)I" line="97"><counter type="INSTRUCTION" missed="0" covered="56"/><counter type="LINE" missed="0" covered="12"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><counter type="INSTRUCTION" missed="0" covered="144"/><counter type="BRANCH" missed="0" covered="6"/><counter type="LINE" missed="0" covered="35"/><counter type="COMPLEXITY" missed="0" covered="9"/><counter type="METHOD" missed="0" covered="6"/><counter type="CLASS" missed="0" covered="1"/></class><class name="org/jacoco/ant/DumpTask$1" sourcefilename="DumpTask.java"><method name="&lt;init&gt;" desc="(Lorg/jacoco/ant/DumpTask;)V" line="139"><counter type="INSTRUCTION" missed="0" covered="6"/><counter type="LINE" missed="0" covered="1"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="onConnecting" desc="(Ljava/net/InetAddress;I)V" line="134"><counter type="INSTRUCTION" missed="0" covered="17"/><counter type="LINE" missed="0" covered="2"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="onConnectionFailure" desc="(Ljava/io/IOException;)V" line="140"><counter type="INSTRUCTION" missed="6" covered="0"/><counter type="LINE" missed="2" covered="0"/><counter type="COMPLEXITY" missed="1" covered="0"/><counter type="METHOD" missed="1" covered="0"/></method><counter type="INSTRUCTION" missed="6" covered="23"/><counter type="LINE" missed="2" covered="3"/><counter type="COMPLEXITY" missed="1" covered="2"/><counter type="METHOD" missed="1" covered="2"/><counter type="CLASS" missed="0" covered="1"/></class><class name="org/jacoco/ant/CoverageTask$JavaLikeTaskEnhancer" sourcefilename="CoverageTask.java"><method name="&lt;init&gt;" desc="(Lorg/jacoco/ant/CoverageTask;Ljava/lang/String;)V" line="133"><counter type="INSTRUCTION" missed="0" covered="9"/><counter type="LINE" missed="0" covered="3"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="supportsTask" desc="(Ljava/lang/String;)Z" line="138"><counter type="INSTRUCTION" missed="0" covered="5"/><counter type="LINE" missed="0" covered="1"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="enhanceTask" desc="(Lorg/apache/tools/ant/Task;)V" line="142"><counter type="INSTRUCTION" missed="0" covered="28"/><counter type="BRANCH" missed="0" covered="2"/><counter type="LINE" missed="0" covered="6"/><counter type="COMPLEXITY" missed="0" covered="2"/><counter type="METHOD" missed="0" covered="1"/></method><method name="addJvmArgs" desc="(Lorg/apache/tools/ant/Task;)V" line="158"><counter type="INSTRUCTION" missed="0" covered="29"/><counter type="LINE" missed="0" covered="8"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><counter type="INSTRUCTION" missed="0" covered="71"/><counter type="BRANCH" missed="0" covered="2"/><counter type="LINE" missed="0" covered="18"/><counter type="COMPLEXITY" missed="0" covered="5"/><counter type="METHOD" missed="0" covered="4"/><counter type="CLASS" missed="0" covered="1"/></class><class name="org/jacoco/ant/ReportTask$1" sourcefilename="ReportTask.java"/><class name="org/jacoco/ant/ReportTask$CSVFormatterElement" sourcefilename="ReportTask.java"><method name="&lt;init&gt;" desc="(Lorg/jacoco/ant/ReportTask;)V" line="262"><counter type="INSTRUCTION" missed="0" covered="11"/><counter type="LINE" missed="0" covered="2"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="setDestfile" desc="(Ljava/io/File;)V" line="275"><counter type="INSTRUCTION" missed="0" covered="4"/><counter type="LINE" missed="0" covered="2"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="createVisitor" desc="()Lorg/jacoco/report/IReportVisitor;" line="280"><counter type="INSTRUCTION" missed="0" covered="27"/><counter type="BRANCH" missed="0" covered="2"/><counter type="LINE" missed="0" covered="5"/><counter type="COMPLEXITY" missed="0" covered="2"/><counter type="METHOD" missed="0" covered="1"/></method><method name="setEncoding" desc="(Ljava/lang/String;)V" line="297"><counter type="INSTRUCTION" missed="0" covered="4"/><counter type="LINE" missed="0" covered="2"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><counter type="INSTRUCTION" missed="0" covered="46"/><counter type="BRANCH" missed="0" covered="2"/><counter type="LINE" missed="0" covered="11"/><counter type="COMPLEXITY" missed="0" covered="5"/><counter type="METHOD" missed="0" covered="4"/><counter type="CLASS" missed="0" covered="1"/></class><class name="org/jacoco/ant/CoverageTask$TestNGTaskEnhancer" sourcefilename="CoverageTask.java"><method name="&lt;init&gt;" desc="(Lorg/jacoco/ant/CoverageTask;Ljava/lang/String;)V" line="114"><counter type="INSTRUCTION" missed="0" covered="8"/><counter type="LINE" missed="0" covered="3"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="enhanceTask" desc="(Lorg/apache/tools/ant/Task;)V" line="120"><counter type="INSTRUCTION" missed="4" covered="0"/><counter type="LINE" missed="2" covered="0"/><counter type="COMPLEXITY" missed="1" covered="0"/><counter type="METHOD" missed="1" covered="0"/></method><counter type="INSTRUCTION" missed="4" covered="8"/><counter type="LINE" missed="2" covered="3"/><counter type="COMPLEXITY" missed="1" covered="1"/><counter type="METHOD" missed="1" covered="1"/><counter type="CLASS" missed="0" covered="1"/></class><class name="org/jacoco/ant/AntResourcesLocator" sourcefilename="AntResourcesLocator.java"><method name="&lt;init&gt;" desc="(Ljava/lang/String;I)V" line="39"><counter type="INSTRUCTION" missed="0" covered="21"/><counter type="LINE" missed="0" covered="6"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="add" desc="(Lorg/apache/tools/ant/types/Resource;)V" line="53"><counter type="INSTRUCTION" missed="0" covered="26"/><counter type="BRANCH" missed="0" covered="2"/><counter type="LINE" missed="0" covered="7"/><counter type="COMPLEXITY" missed="0" covered="2"/><counter type="METHOD" missed="0" covered="1"/></method><method name="addAll" desc="(Ljava/util/Iterator;)V" line="64"><counter type="INSTRUCTION" missed="0" covered="10"/><counter type="BRANCH" missed="0" covered="2"/><counter type="LINE" missed="0" covered="3"/><counter type="COMPLEXITY" missed="0" covered="2"/><counter type="METHOD" missed="0" covered="1"/></method><method name="isEmpty" desc="()Z" line="75"><counter type="INSTRUCTION" missed="0" covered="3"/><counter type="LINE" missed="0" covered="1"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><counter type="INSTRUCTION" missed="0" covered="60"/><counter type="BRANCH" missed="0" covered="4"/><counter type="LINE" missed="0" covered="17"/><counter type="COMPLEXITY" missed="0" covered="6"/><counter type="METHOD" missed="0" covered="4"/><counter type="CLASS" missed="0" covered="1"/></class><class name="org/jacoco/ant/CoverageTask" sourcefilename="CoverageTask.java"><method name="&lt;init&gt;" desc="()V" line="40"><counter type="INSTRUCTION" missed="0" covered="35"/><counter type="LINE" missed="0" covered="6"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="addTask" desc="(Lorg/apache/tools/ant/Task;)V" line="58"><counter type="INSTRUCTION" missed="0" covered="57"/><counter type="BRANCH" missed="0" covered="6"/><counter type="LINE" missed="0" covered="12"/><counter type="COMPLEXITY" missed="0" covered="4"/><counter type="METHOD" missed="0" covered="1"/></method><method name="findEnhancerForTask" desc="(Ljava/lang/String;)Lorg/jacoco/ant/CoverageTask$TaskEnhancer;" line="85"><counter type="INSTRUCTION" missed="0" covered="20"/><counter type="BRANCH" missed="0" covered="4"/><counter type="LINE" missed="0" covered="4"/><counter type="COMPLEXITY" missed="0" covered="3"/><counter type="METHOD" missed="0" covered="1"/></method><method name="execute" desc="()V" line="99"><counter type="INSTRUCTION" missed="0" covered="14"/><counter type="BRANCH" missed="0" covered="2"/><counter type="LINE" missed="0" covered="4"/><counter type="COMPLEXITY" missed="0" covered="2"/><counter type="METHOD" missed="0" covered="1"/></method><counter type="INSTRUCTION" missed="0" covered="126"/><counter type="BRANCH" missed="0" covered="12"/><counter type="LINE" missed="0" covered="26"/><counter type="COMPLEXITY" missed="0" covered="10"/><counter type="METHOD" missed="0" covered="4"/><counter type="CLASS" missed="0" covered="1"/></class><class name="org/jacoco/ant/ReportTask$GroupElement" sourcefilename="ReportTask.java"><method name="&lt;init&gt;" desc="()V" line="101"><counter type="INSTRUCTION" missed="0" covered="18"/><counter type="LINE" missed="0" covered="4"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="setName" desc="(Ljava/lang/String;)V" line="118"><counter type="INSTRUCTION" missed="0" covered="4"/><counter type="LINE" missed="0" covered="2"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="createGroup" desc="()Lorg/jacoco/ant/ReportTask$GroupElement;" line="127"><counter type="INSTRUCTION" missed="0" covered="11"/><counter type="LINE" missed="0" covered="3"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="createClassfiles" desc="()Lorg/apache/tools/ant/types/resources/Union;" line="138"><counter type="INSTRUCTION" missed="0" covered="3"/><counter type="LINE" missed="0" covered="1"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="createSourcefiles" desc="()Lorg/jacoco/ant/ReportTask$SourceFilesElement;" line="147"><counter type="INSTRUCTION" missed="0" covered="3"/><counter type="LINE" missed="0" covered="1"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><counter type="INSTRUCTION" missed="0" covered="39"/><counter type="LINE" missed="0" covered="11"/><counter type="COMPLEXITY" missed="0" covered="5"/><counter type="METHOD" missed="0" covered="5"/><counter type="CLASS" missed="0" covered="1"/></class><class name="org/jacoco/ant/MergeTask" sourcefilename="MergeTask.java"><method name="&lt;init&gt;" desc="()V" line="33"><counter type="INSTRUCTION" missed="0" covered="8"/><counter type="LINE" missed="0" covered="2"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="setDestfile" desc="(Ljava/io/File;)V" line="46"><counter type="INSTRUCTION" missed="0" covered="4"/><counter type="LINE" missed="0" covered="2"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="addConfigured" desc="(Lorg/apache/tools/ant/types/ResourceCollection;)V" line="56"><counter type="INSTRUCTION" missed="0" covered="5"/><counter type="LINE" missed="0" covered="2"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="execute" desc="()V" line="61"><counter type="INSTRUCTION" missed="0" covered="21"/><counter type="BRANCH" missed="0" covered="2"/><counter type="LINE" missed="0" covered="6"/><counter type="COMPLEXITY" missed="0" covered="2"/><counter type="METHOD" missed="0" covered="1"/></method><method name="load" desc="(Lorg/jacoco/core/tools/ExecFileLoader;)V" line="73"><counter type="INSTRUCTION" missed="0" covered="53"/><counter type="BRANCH" missed="0" covered="4"/><counter type="LINE" missed="0" covered="14"/><counter type="COMPLEXITY" missed="0" covered="3"/><counter type="METHOD" missed="0" covered="1"/></method><method name="save" desc="(Lorg/jacoco/core/tools/ExecFileLoader;)V" line="97"><counter type="INSTRUCTION" missed="0" covered="37"/><counter type="LINE" missed="0" covered="6"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><counter type="INSTRUCTION" missed="0" covered="128"/><counter type="BRANCH" missed="0" covered="6"/><counter type="LINE" missed="0" covered="32"/><counter type="COMPLEXITY" missed="0" covered="9"/><counter type="METHOD" missed="0" covered="6"/><counter type="CLASS" missed="0" covered="1"/></class><class name="org/jacoco/ant/AntFilesLocator" sourcefilename="AntFilesLocator.java"><method name="&lt;init&gt;" desc="(Ljava/lang/String;I)V" line="32"><counter type="INSTRUCTION" missed="0" covered="10"/><counter type="LINE" missed="0" covered="3"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="add" desc="(Lorg/apache/tools/ant/types/Resource;)V" line="43"><counter type="INSTRUCTION" missed="0" covered="11"/><counter type="LINE" missed="0" covered="2"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="getSourceStream" desc="(Ljava/lang/String;)Ljava/io/InputStream;" line="49"><counter type="INSTRUCTION" missed="0" covered="13"/><counter type="BRANCH" missed="0" covered="2"/><counter type="LINE" missed="0" covered="4"/><counter type="COMPLEXITY" missed="0" covered="2"/><counter type="METHOD" missed="0" covered="1"/></method><counter type="INSTRUCTION" missed="0" covered="34"/><counter type="BRANCH" missed="0" covered="2"/><counter type="LINE" missed="0" covered="9"/><counter type="COMPLEXITY" missed="0" covered="4"/><counter type="METHOD" missed="0" covered="3"/><counter type="CLASS" missed="0" covered="1"/></class><class name="org/jacoco/ant/ReportTask$CheckFormatterElement" sourcefilename="ReportTask.java"><method name="&lt;init&gt;" desc="(Lorg/jacoco/ant/ReportTask;)V" line="348"><counter type="INSTRUCTION" missed="0" covered="22"/><counter type="LINE" missed="0" covered="5"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="createRule" desc="()Lorg/jacoco/report/check/Rule;" line="362"><counter type="INSTRUCTION" missed="0" covered="11"/><counter type="LINE" missed="0" covered="3"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="setFailOnViolation" desc="(Z)V" line="375"><counter type="INSTRUCTION" missed="0" covered="4"/><counter type="LINE" missed="0" covered="2"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="setViolationsProperty" desc="(Ljava/lang/String;)V" line="385"><counter type="INSTRUCTION" missed="0" covered="4"/><counter type="LINE" missed="0" covered="2"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="createVisitor" desc="()Lorg/jacoco/report/IReportVisitor;" line="390"><counter type="INSTRUCTION" missed="0" covered="12"/><counter type="LINE" missed="0" covered="3"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="onViolation" desc="(Lorg/jacoco/core/analysis/ICoverageNode;Lorg/jacoco/report/check/Rule;Lorg/jacoco/report/check/Limit;Ljava/lang/String;)V" line="397"><counter type="INSTRUCTION" missed="0" covered="43"/><counter type="BRANCH" missed="0" covered="4"/><counter type="LINE" missed="0" covered="7"/><counter type="COMPLEXITY" missed="0" covered="3"/><counter type="METHOD" missed="0" covered="1"/></method><method name="finish" desc="()V" line="409"><counter type="INSTRUCTION" missed="0" covered="15"/><counter type="BRANCH" missed="0" covered="4"/><counter type="LINE" missed="0" covered="3"/><counter type="COMPLEXITY" missed="0" covered="3"/><counter type="METHOD" missed="0" covered="1"/></method><counter type="INSTRUCTION" missed="0" covered="111"/><counter type="BRANCH" missed="0" covered="8"/><counter type="LINE" missed="0" covered="25"/><counter type="COMPLEXITY" missed="0" covered="11"/><counter type="METHOD" missed="0" covered="7"/><counter type="CLASS" missed="0" covered="1"/></class><class name="org/jacoco/ant/ReportTask$HTMLFormatterElement" sourcefilename="ReportTask.java"><method name="&lt;init&gt;" desc="(Lorg/jacoco/ant/ReportTask;)V" line="166"><counter type="INSTRUCTION" missed="0" covered="17"/><counter type="LINE" missed="0" covered="4"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="setDestdir" desc="(Ljava/io/File;)V" line="185"><counter type="INSTRUCTION" missed="0" covered="4"/><counter type="LINE" missed="0" covered="2"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="setDestfile" desc="(Ljava/io/File;)V" line="195"><counter type="INSTRUCTION" missed="0" covered="4"/><counter type="LINE" missed="0" covered="2"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="setFooter" desc="(Ljava/lang/String;)V" line="206"><counter type="INSTRUCTION" missed="0" covered="4"/><counter type="LINE" missed="0" covered="2"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="setEncoding" desc="(Ljava/lang/String;)V" line="216"><counter type="INSTRUCTION" missed="0" covered="4"/><counter type="LINE" missed="0" covered="2"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="setLocale" desc="(Ljava/lang/String;)V" line="227"><counter type="INSTRUCTION" missed="0" covered="5"/><counter type="LINE" missed="0" covered="2"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="createVisitor" desc="()Lorg/jacoco/report/IReportVisitor;" line="233"><counter type="INSTRUCTION" missed="0" covered="63"/><counter type="BRANCH" missed="0" covered="6"/><counter type="LINE" missed="0" covered="14"/><counter type="COMPLEXITY" missed="0" covered="4"/><counter type="METHOD" missed="0" covered="1"/></method><counter type="INSTRUCTION" missed="0" covered="101"/><counter type="BRANCH" missed="0" covered="6"/><counter type="LINE" missed="0" covered="28"/><counter type="COMPLEXITY" missed="0" covered="10"/><counter type="METHOD" missed="0" covered="7"/><counter type="CLASS" missed="0" covered="1"/></class><class name="org/jacoco/ant/CoverageTask$TaskEnhancer" sourcefilename="CoverageTask.java"/><class name="org/jacoco/ant/ReportTask$FormatterElement" sourcefilename="ReportTask.java"><method name="&lt;init&gt;" desc="(Lorg/jacoco/ant/ReportTask;)V" line="155"><counter type="INSTRUCTION" missed="0" covered="6"/><counter type="LINE" missed="0" covered="1"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="finish" desc="()V" line="160"><counter type="INSTRUCTION" missed="0" covered="1"/><counter type="LINE" missed="0" covered="1"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><counter type="INSTRUCTION" missed="0" covered="7"/><counter type="LINE" missed="0" covered="2"/><counter type="COMPLEXITY" missed="0" covered="2"/><counter type="METHOD" missed="0" covered="2"/><counter type="CLASS" missed="0" covered="1"/></class><class name="org/jacoco/ant/ReportTask" sourcefilename="ReportTask.java"><method name="&lt;init&gt;" desc="()V" line="60"><counter type="INSTRUCTION" missed="0" covered="18"/><counter type="LINE" missed="0" covered="4"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="createExecutiondata" desc="()Lorg/apache/tools/ant/types/resources/Union;" line="433"><counter type="INSTRUCTION" missed="0" covered="3"/><counter type="LINE" missed="0" covered="1"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="createStructure" desc="()Lorg/jacoco/ant/ReportTask$GroupElement;" line="442"><counter type="INSTRUCTION" missed="0" covered="3"/><counter type="LINE" missed="0" covered="1"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="createHtml" desc="()Lorg/jacoco/ant/ReportTask$HTMLFormatterElement;" line="451"><counter type="INSTRUCTION" missed="0" covered="12"/><counter type="LINE" missed="0" covered="3"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="createCsv" desc="()Lorg/jacoco/ant/ReportTask$CSVFormatterElement;" line="462"><counter type="INSTRUCTION" missed="0" covered="12"/><counter type="LINE" missed="0" covered="3"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="createCheck" desc="()Lorg/jacoco/ant/ReportTask$CheckFormatterElement;" line="473"><counter type="INSTRUCTION" missed="0" covered="12"/><counter type="LINE" missed="0" covered="3"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="createXml" desc="()Lorg/jacoco/ant/ReportTask$XMLFormatterElement;" line="484"><counter type="INSTRUCTION" missed="0" covered="12"/><counter type="LINE" missed="0" covered="3"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="execute" desc="()V" line="491"><counter type="INSTRUCTION" missed="0" covered="45"/><counter type="BRANCH" missed="0" covered="2"/><counter type="LINE" missed="0" covered="11"/><counter type="COMPLEXITY" missed="0" covered="2"/><counter type="METHOD" missed="0" covered="1"/></method><method name="loadExecutionData" desc="()V" line="508"><counter type="INSTRUCTION" missed="0" covered="61"/><counter type="BRANCH" missed="0" covered="2"/><counter type="LINE" missed="0" covered="15"/><counter type="COMPLEXITY" missed="0" covered="2"/><counter type="METHOD" missed="0" covered="1"/></method><method name="createVisitor" desc="()Lorg/jacoco/report/IReportVisitor;" line="531"><counter type="INSTRUCTION" missed="0" covered="26"/><counter type="BRANCH" missed="0" covered="2"/><counter type="LINE" missed="0" covered="4"/><counter type="COMPLEXITY" missed="0" covered="2"/><counter type="METHOD" missed="0" covered="1"/></method><method name="createReport" desc="(Lorg/jacoco/report/IReportGroupVisitor;Lorg/jacoco/ant/ReportTask$GroupElement;)V" line="540"><counter type="INSTRUCTION" missed="0" covered="66"/><counter type="BRANCH" missed="0" covered="8"/><counter type="LINE" missed="0" covered="15"/><counter type="COMPLEXITY" missed="0" covered="5"/><counter type="METHOD" missed="0" covered="1"/></method><method name="createBundle" desc="(Lorg/jacoco/ant/ReportTask$GroupElement;)Lorg/jacoco/core/analysis/IBundleCoverage;" line="565"><counter type="INSTRUCTION" missed="0" covered="59"/><counter type="BRANCH" missed="1" covered="5"/><counter type="LINE" missed="0" covered="13"/><counter type="COMPLEXITY" missed="1" covered="3"/><counter type="METHOD" missed="0" covered="1"/></method><method name="logBundleInfo" desc="(Lorg/jacoco/core/analysis/IBundleCoverage;Ljava/util/Collection;)V" line="584"><counter type="INSTRUCTION" missed="0" covered="57"/><counter type="BRANCH" missed="0" covered="4"/><counter type="LINE" missed="0" covered="6"/><counter type="COMPLEXITY" missed="0" covered="3"/><counter type="METHOD" missed="0" covered="1"/></method><method name="checkForMissingDebugInformation" desc="(Lorg/jacoco/core/analysis/ICoverageNode;)V" line="599"><counter type="INSTRUCTION" missed="0" covered="20"/><counter type="BRANCH" missed="0" covered="4"/><counter type="LINE" missed="0" covered="3"/><counter type="COMPLEXITY" missed="0" covered="3"/><counter type="METHOD" missed="0" covered="1"/></method><method name="parseLocale" desc="(Ljava/lang/String;)Ljava/util/Locale;" line="616"><counter type="INSTRUCTION" missed="0" covered="37"/><counter type="BRANCH" missed="0" covered="6"/><counter type="LINE" missed="0" covered="5"/><counter type="COMPLEXITY" missed="0" covered="4"/><counter type="METHOD" missed="0" covered="1"/></method><counter type="INSTRUCTION" missed="0" covered="443"/><counter type="BRANCH" missed="1" covered="33"/><counter type="LINE" missed="0" covered="90"/><counter type="COMPLEXITY" missed="1" covered="31"/><counter type="METHOD" missed="0" covered="15"/><counter type="CLASS" missed="0" covered="1"/></class><class name="org/jacoco/ant/DumpTask" sourcefilename="DumpTask.java"><method name="&lt;init&gt;" desc="()V" line="31"><counter type="INSTRUCTION" missed="0" covered="24"/><counter type="LINE" missed="0" covered="8"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="setDestfile" desc="(Ljava/io/File;)V" line="50"><counter type="INSTRUCTION" missed="0" covered="4"/><counter type="LINE" missed="0" covered="2"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="setAddress" desc="(Ljava/lang/String;)V" line="60"><counter type="INSTRUCTION" missed="0" covered="4"/><counter type="LINE" missed="0" covered="2"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="setPort" desc="(I)V" line="70"><counter type="INSTRUCTION" missed="0" covered="4"/><counter type="LINE" missed="0" covered="2"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="setRetryCount" desc="(I)V" line="81"><counter type="INSTRUCTION" missed="0" covered="4"/><counter type="LINE" missed="0" covered="2"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="setAppend" desc="(Z)V" line="93"><counter type="INSTRUCTION" missed="4" covered="0"/><counter type="LINE" missed="2" covered="0"/><counter type="COMPLEXITY" missed="1" covered="0"/><counter type="METHOD" missed="1" covered="0"/></method><method name="setDump" desc="(Z)V" line="104"><counter type="INSTRUCTION" missed="0" covered="4"/><counter type="LINE" missed="0" covered="2"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="setReset" desc="(Z)V" line="115"><counter type="INSTRUCTION" missed="0" covered="4"/><counter type="LINE" missed="0" covered="2"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="execute" desc="()V" line="121"><counter type="INSTRUCTION" missed="0" covered="79"/><counter type="BRANCH" missed="0" covered="8"/><counter type="LINE" missed="0" covered="16"/><counter type="COMPLEXITY" missed="0" covered="5"/><counter type="METHOD" missed="0" covered="1"/></method><counter type="INSTRUCTION" missed="4" covered="127"/><counter type="BRANCH" missed="0" covered="8"/><counter type="LINE" missed="2" covered="36"/><counter type="COMPLEXITY" missed="1" covered="12"/><counter type="METHOD" missed="1" covered="8"/><counter type="CLASS" missed="0" covered="1"/></class><class name="org/jacoco/ant/ReportTask$XMLFormatterElement" sourcefilename="ReportTask.java"><method name="&lt;init&gt;" desc="(Lorg/jacoco/ant/ReportTask;)V" line="305"><counter type="INSTRUCTION" missed="0" covered="11"/><counter type="LINE" missed="0" covered="2"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="setDestfile" desc="(Ljava/io/File;)V" line="318"><counter type="INSTRUCTION" missed="0" covered="4"/><counter type="LINE" missed="0" covered="2"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="setEncoding" desc="(Ljava/lang/String;)V" line="328"><counter type="INSTRUCTION" missed="0" covered="4"/><counter type="LINE" missed="0" covered="2"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="createVisitor" desc="()Lorg/jacoco/report/IReportVisitor;" line="333"><counter type="INSTRUCTION" missed="0" covered="27"/><counter type="BRANCH" missed="0" covered="2"/><counter type="LINE" missed="0" covered="5"/><counter type="COMPLEXITY" missed="0" covered="2"/><counter type="METHOD" missed="0" covered="1"/></method><counter type="INSTRUCTION" missed="0" covered="46"/><counter type="BRANCH" missed="0" covered="2"/><counter type="LINE" missed="0" covered="11"/><counter type="COMPLEXITY" missed="0" covered="5"/><counter type="METHOD" missed="0" covered="4"/><counter type="CLASS" missed="0" covered="1"/></class><class name="org/jacoco/ant/AgentTask" sourcefilename="AgentTask.java"><method name="&lt;init&gt;" desc="()V" line="21"><counter type="INSTRUCTION" missed="0" covered="3"/><counter type="LINE" missed="0" covered="1"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="setProperty" desc="(Ljava/lang/String;)V" line="32"><counter type="INSTRUCTION" missed="0" covered="4"/><counter type="LINE" missed="0" covered="2"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="execute" desc="()V" line="43"><counter type="INSTRUCTION" missed="0" covered="29"/><counter type="BRANCH" missed="0" covered="6"/><counter type="LINE" missed="0" covered="5"/><counter type="COMPLEXITY" missed="0" covered="4"/><counter type="METHOD" missed="0" covered="1"/></method><counter type="INSTRUCTION" missed="0" covered="36"/><counter type="BRANCH" missed="0" covered="6"/><counter type="LINE" missed="0" covered="8"/><counter type="COMPLEXITY" missed="0" covered="6"/><counter type="METHOD" missed="0" covered="3"/><counter type="CLASS" missed="0" covered="1"/></class><class name="org/jacoco/ant/AbstractCoverageTask" sourcefilename="AbstractCoverageTask.java"><method name="&lt;init&gt;" desc="()V" line="39"><counter type="INSTRUCTION" missed="0" covered="17"/><counter type="LINE" missed="0" covered="5"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="isEnabled" desc="()Z" line="49"><counter type="INSTRUCTION" missed="0" covered="3"/><counter type="LINE" missed="0" covered="1"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="setEnabled" desc="(Z)V" line="59"><counter type="INSTRUCTION" missed="0" covered="4"/><counter type="LINE" missed="0" covered="2"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="setDestfile" desc="(Ljava/io/File;)V" line="70"><counter type="INSTRUCTION" missed="0" covered="4"/><counter type="LINE" missed="0" covered="2"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="setAppend" desc="(Z)V" line="81"><counter type="INSTRUCTION" missed="0" covered="5"/><counter type="LINE" missed="0" covered="2"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="setIncludes" desc="(Ljava/lang/String;)V" line="92"><counter type="INSTRUCTION" missed="0" covered="5"/><counter type="LINE" missed="0" covered="2"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="setExcludes" desc="(Ljava/lang/String;)V" line="103"><counter type="INSTRUCTION" missed="0" covered="5"/><counter type="LINE" missed="0" covered="2"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="setExclClassLoader" desc="(Ljava/lang/String;)V" line="115"><counter type="INSTRUCTION" missed="0" covered="5"/><counter type="LINE" missed="0" covered="2"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="setInclBootstrapClasses" desc="(Z)V" line="126"><counter type="INSTRUCTION" missed="0" covered="5"/><counter type="LINE" missed="0" covered="2"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="setInclNoLocationClasses" desc="(Z)V" line="137"><counter type="INSTRUCTION" missed="0" covered="5"/><counter type="LINE" missed="0" covered="2"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="setSessionId" desc="(Ljava/lang/String;)V" line="147"><counter type="INSTRUCTION" missed="0" covered="5"/><counter type="LINE" missed="0" covered="2"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="setDumpOnExit" desc="(Z)V" line="157"><counter type="INSTRUCTION" missed="0" covered="5"/><counter type="LINE" missed="0" covered="2"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="setOutput" desc="(Ljava/lang/String;)V" line="167"><counter type="INSTRUCTION" missed="0" covered="5"/><counter type="LINE" missed="0" covered="2"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="setAddress" desc="(Ljava/lang/String;)V" line="179"><counter type="INSTRUCTION" missed="0" covered="5"/><counter type="LINE" missed="0" covered="2"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="setPort" desc="(I)V" line="190"><counter type="INSTRUCTION" missed="0" covered="5"/><counter type="LINE" missed="0" covered="2"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="setClassdumpdir" desc="(Ljava/io/File;)V" line="201"><counter type="INSTRUCTION" missed="0" covered="6"/><counter type="LINE" missed="0" covered="2"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="setJmx" desc="(Z)V" line="211"><counter type="INSTRUCTION" missed="0" covered="5"/><counter type="LINE" missed="0" covered="2"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="getLaunchingArgument" desc="()Ljava/lang/String;" line="221"><counter type="INSTRUCTION" missed="0" covered="6"/><counter type="LINE" missed="0" covered="1"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="prepareAgentOptions" desc="()Lorg/jacoco/core/runtime/AgentOptions;" line="225"><counter type="INSTRUCTION" missed="0" covered="15"/><counter type="BRANCH" missed="0" covered="2"/><counter type="LINE" missed="0" covered="3"/><counter type="COMPLEXITY" missed="0" covered="2"/><counter type="METHOD" missed="0" covered="1"/></method><method name="getAgentFile" desc="()Ljava/io/File;" line="233"><counter type="INSTRUCTION" missed="9" covered="25"/><counter type="BRANCH" missed="0" covered="2"/><counter type="LINE" missed="2" covered="7"/><counter type="COMPLEXITY" missed="0" covered="2"/><counter type="METHOD" missed="0" covered="1"/></method><counter type="INSTRUCTION" missed="9" covered="140"/><counter type="BRANCH" missed="0" covered="4"/><counter type="LINE" missed="2" covered="47"/><counter type="COMPLEXITY" missed="0" covered="22"/><counter type="METHOD" missed="0" covered="20"/><counter type="CLASS" missed="0" covered="1"/></class><sourcefile name="MergeTask.java"><line nr="33" mi="0" ci="2" mb="0" cb="0"/><line nr="37" mi="0" ci="6" mb="0" cb="0"/><line nr="46" mi="0" ci="3" mb="0" cb="0"/><line nr="47" mi="0" ci="1" mb="0" cb="0"/><line nr="56" mi="0" ci="4" mb="0" cb="0"/><line nr="57" mi="0" ci="1" mb="0" cb="0"/><line nr="61" mi="0" ci="3" mb="0" cb="2"/><line nr="62" mi="0" ci="7" mb="0" cb="0"/><line nr="66" mi="0" ci="4" mb="0" cb="0"/><line nr="68" mi="0" ci="3" mb="0" cb="0"/><line nr="69" mi="0" ci="3" mb="0" cb="0"/><line nr="70" mi="0" ci="1" mb="0" cb="0"/><line nr="73" mi="0" ci="4" mb="0" cb="0"/><line nr="74" mi="0" ci="3" mb="0" cb="2"/><line nr="75" mi="0" ci="4" mb="0" cb="0"/><line nr="77" mi="0" ci="3" mb="0" cb="2"/><line nr="78" mi="0" ci="1" mb="0" cb="0"/><line nr="81" mi="0" ci="10" mb="0" cb="0"/><line nr="83" mi="0" ci="2" mb="0" cb="0"/><line nr="85" mi="0" ci="3" mb="0" cb="0"/><line nr="86" mi="0" ci="3" mb="0" cb="0"/><line nr="87" mi="0" ci="1" mb="0" cb="0"/><line nr="88" mi="0" ci="15" mb="0" cb="0"/><line nr="91" mi="0" ci="2" mb="0" cb="0"/><line nr="93" mi="0" ci="1" mb="0" cb="0"/><line nr="94" mi="0" ci="1" mb="0" cb="0"/><line nr="97" mi="0" ci="12" mb="0" cb="0"/><line nr="100" mi="0" ci="5" mb="0" cb="0"/><line nr="101" mi="0" ci="1" mb="0" cb="0"/><line nr="102" mi="0" ci="17" mb="0" cb="0"/><line nr="104" mi="0" ci="1" mb="0" cb="0"/><line nr="105" mi="0" ci="1" mb="0" cb="0"/><counter type="INSTRUCTION" missed="0" covered="128"/><counter type="BRANCH" missed="0" covered="6"/><counter type="LINE" missed="0" covered="32"/><counter type="COMPLEXITY" missed="0" covered="9"/><counter type="METHOD" missed="0" covered="6"/><counter type="CLASS" missed="0" covered="1"/></sourcefile><sourcefile name="AbstractCoverageTask.java"><line nr="39" mi="0" ci="2" mb="0" cb="0"/><line nr="40" mi="0" ci="5" mb="0" cb="0"/><line nr="41" mi="0" ci="6" mb="0" cb="0"/><line nr="42" mi="0" ci="3" mb="0" cb="0"/><line nr="43" mi="0" ci="1" mb="0" cb="0"/><line nr="49" mi="0" ci="3" mb="0" cb="0"/><line nr="59" mi="0" ci="3" mb="0" cb="0"/><line nr="60" mi="0" ci="1" mb="0" cb="0"/><line nr="70" mi="0" ci="3" mb="0" cb="0"/><line nr="71" mi="0" ci="1" mb="0" cb="0"/><line nr="81" mi="0" ci="4" mb="0" cb="0"/><line nr="82" mi="0" ci="1" mb="0" cb="0"/><line nr="92" mi="0" ci="4" mb="0" cb="0"/><line nr="93" mi="0" ci="1" mb="0" cb="0"/><line nr="103" mi="0" ci="4" mb="0" cb="0"/><line nr="104" mi="0" ci="1" mb="0" cb="0"/><line nr="115" mi="0" ci="4" mb="0" cb="0"/><line nr="116" mi="0" ci="1" mb="0" cb="0"/><line nr="126" mi="0" ci="4" mb="0" cb="0"/><line nr="127" mi="0" ci="1" mb="0" cb="0"/><line nr="137" mi="0" ci="4" mb="0" cb="0"/><line nr="138" mi="0" ci="1" mb="0" cb="0"/><line nr="147" mi="0" ci="4" mb="0" cb="0"/><line nr="148" mi="0" ci="1" mb="0" cb="0"/><line nr="157" mi="0" ci="4" mb="0" cb="0"/><line nr="158" mi="0" ci="1" mb="0" cb="0"/><line nr="167" mi="0" ci="4" mb="0" cb="0"/><line nr="168" mi="0" ci="1" mb="0" cb="0"/><line nr="179" mi="0" ci="4" mb="0" cb="0"/><line nr="180" mi="0" ci="1" mb="0" cb="0"/><line nr="190" mi="0" ci="4" mb="0" cb="0"/><line nr="191" mi="0" ci="1" mb="0" cb="0"/><line nr="201" mi="0" ci="5" mb="0" cb="0"/><line nr="202" mi="0" ci="1" mb="0" cb="0"/><line nr="211" mi="0" ci="4" mb="0" cb="0"/><line nr="212" mi="0" ci="1" mb="0" cb="0"/><line nr="221" mi="0" ci="6" mb="0" cb="0"/><line nr="225" mi="0" ci="6" mb="0" cb="2"/><line nr="226" mi="0" ci="6" mb="0" cb="0"/><line nr="228" mi="0" ci="3" mb="0" cb="0"/><line nr="233" mi="0" ci="2" mb="0" cb="0"/><line nr="234" mi="0" ci="5" mb="0" cb="0"/><line nr="236" mi="0" ci="2" mb="0" cb="2"/><line nr="237" mi="0" ci="6" mb="0" cb="0"/><line nr="239" mi="0" ci="2" mb="0" cb="0"/><line nr="240" mi="0" ci="6" mb="0" cb="0"/><line nr="244" mi="0" ci="2" mb="0" cb="0"/><line nr="245" mi="1" ci="0" mb="0" cb="0"/><line nr="246" mi="8" ci="0" mb="0" cb="0"/><counter type="INSTRUCTION" missed="9" covered="140"/><counter type="BRANCH" missed="0" covered="4"/><counter type="LINE" missed="2" covered="47"/><counter type="COMPLEXITY" missed="0" covered="22"/><counter type="METHOD" missed="0" covered="20"/><counter type="CLASS" missed="0" covered="1"/></sourcefile><sourcefile name="AntResourcesLocator.java"><line nr="39" mi="0" ci="3" mb="0" cb="0"/><line nr="40" mi="0" ci="3" mb="0" cb="0"/><line nr="41" mi="0" ci="7" mb="0" cb="0"/><line nr="42" mi="0" ci="3" mb="0" cb="0"/><line nr="43" mi="0" ci="4" mb="0" cb="0"/><line nr="44" mi="0" ci="1" mb="0" cb="0"/><line nr="53" mi="0" ci="3" mb="0" cb="0"/><line nr="54" mi="0" ci="3" mb="0" cb="2"/><line nr="55" mi="0" ci="3" mb="0" cb="0"/><line nr="56" mi="0" ci="11" mb="0" cb="0"/><line nr="58" mi="0" ci="1" mb="0" cb="0"/><line nr="59" mi="0" ci="4" mb="0" cb="0"/><line nr="61" mi="0" ci="1" mb="0" cb="0"/><line nr="64" mi="0" ci="3" mb="0" cb="2"/><line nr="65" mi="0" ci="6" mb="0" cb="0"/><line nr="67" mi="0" ci="1" mb="0" cb="0"/><line nr="75" mi="0" ci="3" mb="0" cb="0"/><counter type="INSTRUCTION" missed="0" covered="60"/><counter type="BRANCH" missed="0" covered="4"/><counter type="LINE" missed="0" covered="17"/><counter type="COMPLEXITY" missed="0" covered="6"/><counter type="METHOD" missed="0" covered="4"/><counter type="CLASS" missed="0" covered="1"/></sourcefile><sourcefile name="CoverageTask.java"><line nr="40" mi="0" ci="5" mb="0" cb="0"/><line nr="47" mi="0" ci="2" mb="0" cb="0"/><line nr="48" mi="0" ci="9" mb="0" cb="0"/><line nr="49" mi="0" ci="9" mb="0" cb="0"/><line nr="50" mi="0" ci="9" mb="0" cb="0"/><line nr="51" mi="0" ci="1" mb="0" cb="0"/><line nr="58" mi="0" ci="3" mb="0" cb="2"/><line nr="59" mi="0" ci="7" mb="0" cb="0"/><line nr="64" mi="0" ci="3" mb="0" cb="0"/><line nr="66" mi="0" ci="3" mb="0" cb="0"/><line nr="68" mi="0" ci="4" mb="0" cb="0"/><line nr="69" mi="0" ci="2" mb="0" cb="2"/><line nr="70" mi="0" ci="14" mb="0" cb="0"/><line nr="76" mi="0" ci="3" mb="0" cb="2"/><line nr="77" mi="0" ci="12" mb="0" cb="0"/><line nr="78" mi="0" ci="3" mb="0" cb="0"/><line nr="81" mi="0" ci="2" mb="0" cb="0"/><line nr="82" mi="0" ci="1" mb="0" cb="0"/><line nr="85" mi="0" ci="11" mb="0" cb="2"/><line nr="86" mi="0" ci="4" mb="0" cb="2"/><line nr="87" mi="0" ci="3" mb="0" cb="0"/><line nr="91" mi="0" ci="2" mb="0" cb="0"/><line nr="99" mi="0" ci="3" mb="0" cb="2"/><line nr="100" mi="0" ci="7" mb="0" cb="0"/><line nr="105" mi="0" ci="3" mb="0" cb="0"/><line nr="106" mi="0" ci="1" mb="0" cb="0"/><line nr="114" mi="0" ci="3" mb="0" cb="0"/><line nr="115" mi="0" ci="4" mb="0" cb="0"/><line nr="116" mi="0" ci="1" mb="0" cb="0"/><line nr="120" mi="3" ci="0" mb="0" cb="0"/><line nr="121" mi="1" ci="0" mb="0" cb="0"/><line nr="133" mi="0" ci="5" mb="0" cb="0"/><line nr="134" mi="0" ci="3" mb="0" cb="0"/><line nr="135" mi="0" ci="1" mb="0" cb="0"/><line nr="138" mi="0" ci="5" mb="0" cb="0"/><line nr="142" mi="0" ci="3" mb="0" cb="0"/><line nr="145" mi="0" ci="10" mb="0" cb="0"/><line nr="148" mi="0" ci="3" mb="0" cb="2"/><line nr="149" mi="0" ci="8" mb="0" cb="0"/><line nr="154" mi="0" ci="3" mb="0" cb="0"/><line nr="155" mi="0" ci="1" mb="0" cb="0"/><line nr="158" mi="0" ci="5" mb="0" cb="0"/><line nr="159" mi="0" ci="3" mb="0" cb="0"/><line nr="160" mi="0" ci="3" mb="0" cb="0"/><line nr="162" mi="0" ci="3" mb="0" cb="0"/><line nr="164" mi="0" ci="6" mb="0" cb="0"/><line nr="167" mi="0" ci="4" mb="0" cb="0"/><line nr="170" mi="0" ci="4" mb="0" cb="0"/><line nr="171" mi="0" ci="1" mb="0" cb="0"/><counter type="INSTRUCTION" missed="4" covered="205"/><counter type="BRANCH" missed="0" covered="14"/><counter type="LINE" missed="2" covered="47"/><counter type="COMPLEXITY" missed="1" covered="16"/><counter type="METHOD" missed="1" covered="9"/><counter type="CLASS" missed="0" covered="3"/></sourcefile><sourcefile name="AntFilesLocator.java"><line nr="32" mi="0" ci="4" mb="0" cb="0"/><line nr="33" mi="0" ci="5" mb="0" cb="0"/><line nr="34" mi="0" ci="1" mb="0" cb="0"/><line nr="43" mi="0" ci="10" mb="0" cb="0"/><line nr="44" mi="0" ci="1" mb="0" cb="0"/><line nr="49" mi="0" ci="6" mb="0" cb="0"/><line nr="50" mi="0" ci="2" mb="0" cb="2"/><line nr="51" mi="0" ci="2" mb="0" cb="0"/><line nr="53" mi="0" ci="3" mb="0" cb="0"/><counter type="INSTRUCTION" missed="0" covered="34"/><counter type="BRANCH" missed="0" covered="2"/><counter type="LINE" missed="0" covered="9"/><counter type="COMPLEXITY" missed="0" covered="4"/><counter type="METHOD" missed="0" covered="3"/><counter type="CLASS" missed="0" covered="1"/></sourcefile><sourcefile name="ReportTask.java"><line nr="60" mi="0" ci="2" mb="0" cb="0"/><line nr="66" mi="0" ci="2" mb="0" cb="0"/><line nr="68" mi="0" ci="3" mb="0" cb="0"/><line nr="70" mi="0" ci="4" mb="0" cb="0"/><line nr="80" mi="0" ci="3" mb="0" cb="0"/><line nr="81" mi="0" ci="1" mb="0" cb="0"/><line nr="90" mi="0" ci="2" mb="0" cb="2"/><line nr="91" mi="0" ci="5" mb="0" cb="0"/><line nr="93" mi="0" ci="3" mb="0" cb="0"/><line nr="94" mi="0" ci="1" mb="0" cb="0"/><line nr="101" mi="0" ci="2" mb="0" cb="0"/><line nr="103" mi="0" ci="5" mb="0" cb="0"/><line nr="105" mi="0" ci="5" mb="0" cb="0"/><line nr="107" mi="0" ci="6" mb="0" cb="0"/><line nr="118" mi="0" ci="3" mb="0" cb="0"/><line nr="119" mi="0" ci="1" mb="0" cb="0"/><line nr="127" mi="0" ci="4" mb="0" cb="0"/><line nr="128" mi="0" ci="5" mb="0" cb="0"/><line nr="129" mi="0" ci="2" mb="0" cb="0"/><line nr="138" mi="0" ci="3" mb="0" cb="0"/><line nr="147" mi="0" ci="3" mb="0" cb="0"/><line nr="155" mi="0" ci="6" mb="0" cb="0"/><line nr="160" mi="0" ci="1" mb="0" cb="0"/><line nr="166" mi="0" ci="7" mb="0" cb="0"/><line nr="172" mi="0" ci="3" mb="0" cb="0"/><line nr="174" mi="0" ci="3" mb="0" cb="0"/><line nr="176" mi="0" ci="4" mb="0" cb="0"/><line nr="185" mi="0" ci="3" mb="0" cb="0"/><line nr="186" mi="0" ci="1" mb="0" cb="0"/><line nr="195" mi="0" ci="3" mb="0" cb="0"/><line nr="196" mi="0" ci="1" mb="0" cb="0"/><line nr="206" mi="0" ci="3" mb="0" cb="0"/><line nr="207" mi="0" ci="1" mb="0" cb="0"/><line nr="216" mi="0" ci="3" mb="0" cb="0"/><line nr="217" mi="0" ci="1" mb="0" cb="0"/><line nr="227" mi="0" ci="4" mb="0" cb="0"/><line nr="228" mi="0" ci="1" mb="0" cb="0"/><line nr="233" mi="0" ci="3" mb="0" cb="2"/><line nr="234" mi="0" ci="3" mb="0" cb="2"/><line nr="235" mi="0" ci="8" mb="0" cb="0"/><line nr="239" mi="0" ci="6" mb="0" cb="0"/><line nr="240" mi="0" ci="5" mb="0" cb="0"/><line nr="242" mi="0" ci="1" mb="0" cb="0"/><line nr="243" mi="0" ci="3" mb="0" cb="2"/><line nr="244" mi="0" ci="8" mb="0" cb="0"/><line nr="248" mi="0" ci="6" mb="0" cb="0"/><line nr="250" mi="0" ci="4" mb="0" cb="0"/><line nr="251" mi="0" ci="4" mb="0" cb="0"/><line nr="252" mi="0" ci="4" mb="0" cb="0"/><line nr="253" mi="0" ci="4" mb="0" cb="0"/><line nr="254" mi="0" ci="4" mb="0" cb="0"/><line nr="262" mi="0" ci="7" mb="0" cb="0"/><line nr="266" mi="0" ci="4" mb="0" cb="0"/><line nr="275" mi="0" ci="3" mb="0" cb="0"/><line nr="276" mi="0" ci="1" mb="0" cb="0"/><line nr="280" mi="0" ci="3" mb="0" cb="2"/><line nr="281" mi="0" ci="8" mb="0" cb="0"/><line nr="285" mi="0" ci="4" mb="0" cb="0"/><line nr="286" mi="0" ci="4" mb="0" cb="0"/><line nr="287" mi="0" ci="8" mb="0" cb="0"/><line nr="297" mi="0" ci="3" mb="0" cb="0"/><line nr="298" mi="0" ci="1" mb="0" cb="0"/><line nr="305" mi="0" ci="7" mb="0" cb="0"/><line nr="309" mi="0" ci="4" mb="0" cb="0"/><line nr="318" mi="0" ci="3" mb="0" cb="0"/><line nr="319" mi="0" ci="1" mb="0" cb="0"/><line nr="328" mi="0" ci="3" mb="0" cb="0"/><line nr="329" mi="0" ci="1" mb="0" cb="0"/><line nr="333" mi="0" ci="3" mb="0" cb="2"/><line nr="334" mi="0" ci="8" mb="0" cb="0"/><line nr="338" mi="0" ci="4" mb="0" cb="0"/><line nr="339" mi="0" ci="4" mb="0" cb="0"/><line nr="340" mi="0" ci="8" mb="0" cb="0"/><line nr="348" mi="0" ci="7" mb="0" cb="0"/><line nr="351" mi="0" ci="5" mb="0" cb="0"/><line nr="352" mi="0" ci="3" mb="0" cb="0"/><line nr="353" mi="0" ci="3" mb="0" cb="0"/><line nr="354" mi="0" ci="4" mb="0" cb="0"/><line nr="362" mi="0" ci="4" mb="0" cb="0"/><line nr="363" mi="0" ci="5" mb="0" cb="0"/><line nr="364" mi="0" ci="2" mb="0" cb="0"/><line nr="375" mi="0" ci="3" mb="0" cb="0"/><line nr="376" mi="0" ci="1" mb="0" cb="0"/><line nr="385" mi="0" ci="3" mb="0" cb="0"/><line nr="386" mi="0" ci="1" mb="0" cb="0"/><line nr="390" mi="0" ci="4" mb="0" cb="0"/><line nr="391" mi="0" ci="4" mb="0" cb="0"/><line nr="392" mi="0" ci="4" mb="0" cb="0"/><line nr="397" mi="0" ci="5" mb="0" cb="0"/><line nr="398" mi="0" ci="3" mb="0" cb="0"/><line nr="399" mi="0" ci="3" mb="0" cb="2"/><line nr="400" mi="0" ci="7" mb="0" cb="0"/><line nr="401" mi="0" ci="17" mb="0" cb="2"/><line nr="403" mi="0" ci="7" mb="0" cb="0"/><line nr="405" mi="0" ci="1" mb="0" cb="0"/><line nr="409" mi="0" ci="6" mb="0" cb="4"/><line nr="410" mi="0" ci="8" mb="0" cb="0"/><line nr="414" mi="0" ci="1" mb="0" cb="0"/><line nr="417" mi="0" ci="5" mb="0" cb="0"/><line nr="423" mi="0" ci="5" mb="0" cb="0"/><line nr="425" mi="0" ci="6" mb="0" cb="0"/><line nr="433" mi="0" ci="3" mb="0" cb="0"/><line nr="442" mi="0" ci="3" mb="0" cb="0"/><line nr="451" mi="0" ci="5" mb="0" cb="0"/><line nr="452" mi="0" ci="5" mb="0" cb="0"/><line nr="453" mi="0" ci="2" mb="0" cb="0"/><line nr="462" mi="0" ci="5" mb="0" cb="0"/><line nr="463" mi="0" ci="5" mb="0" cb="0"/><line nr="464" mi="0" ci="2" mb="0" cb="0"/><line nr="473" mi="0" ci="5" mb="0" cb="0"/><line nr="474" mi="0" ci="5" mb="0" cb="0"/><line nr="475" mi="0" ci="2" mb="0" cb="0"/><line nr="484" mi="0" ci="5" mb="0" cb="0"/><line nr="485" mi="0" ci="5" mb="0" cb="0"/><line nr="486" mi="0" ci="2" mb="0" cb="0"/><line nr="491" mi="0" ci="2" mb="0" cb="0"/><line nr="493" mi="0" ci="3" mb="0" cb="0"/><line nr="494" mi="0" ci="8" mb="0" cb="0"/><line nr="496" mi="0" ci="5" mb="0" cb="0"/><line nr="497" mi="0" ci="2" mb="0" cb="0"/><line nr="498" mi="0" ci="11" mb="0" cb="2"/><line nr="499" mi="0" ci="3" mb="0" cb="0"/><line nr="501" mi="0" ci="1" mb="0" cb="0"/><line nr="502" mi="0" ci="8" mb="0" cb="0"/><line nr="504" mi="0" ci="1" mb="0" cb="0"/><line nr="505" mi="0" ci="1" mb="0" cb="0"/><line nr="508" mi="0" ci="4" mb="0" cb="0"/><line nr="509" mi="0" ci="4" mb="0" cb="0"/><line nr="510" mi="0" ci="3" mb="0" cb="2"/><line nr="511" mi="0" ci="4" mb="0" cb="0"/><line nr="512" mi="0" ci="10" mb="0" cb="0"/><line nr="513" mi="0" ci="2" mb="0" cb="0"/><line nr="515" mi="0" ci="3" mb="0" cb="0"/><line nr="516" mi="0" ci="3" mb="0" cb="0"/><line nr="517" mi="0" ci="1" mb="0" cb="0"/><line nr="518" mi="0" ci="15" mb="0" cb="0"/><line nr="523" mi="0" ci="2" mb="0" cb="0"/><line nr="525" mi="0" ci="1" mb="0" cb="0"/><line nr="526" mi="0" ci="4" mb="0" cb="0"/><line nr="527" mi="0" ci="4" mb="0" cb="0"/><line nr="528" mi="0" ci="1" mb="0" cb="0"/><line nr="531" mi="0" ci="4" mb="0" cb="0"/><line nr="532" mi="0" ci="11" mb="0" cb="2"/><line nr="533" mi="0" ci="6" mb="0" cb="0"/><line nr="535" mi="0" ci="5" mb="0" cb="0"/><line nr="540" mi="0" ci="3" mb="0" cb="2"/><line nr="541" mi="0" ci="7" mb="0" cb="0"/><line nr="544" mi="0" ci="4" mb="0" cb="2"/><line nr="545" mi="0" ci="4" mb="0" cb="0"/><line nr="546" mi="0" ci="3" mb="0" cb="0"/><line nr="547" mi="0" ci="8" mb="0" cb="0"/><line nr="549" mi="0" ci="4" mb="0" cb="0"/><line nr="550" mi="0" ci="3" mb="0" cb="2"/><line nr="551" mi="0" ci="3" mb="0" cb="0"/><line nr="553" mi="0" ci="4" mb="0" cb="0"/><line nr="554" mi="0" ci="1" mb="0" cb="0"/><line nr="555" mi="0" ci="5" mb="0" cb="0"/><line nr="557" mi="0" ci="11" mb="0" cb="2"/><line nr="558" mi="0" ci="5" mb="0" cb="0"/><line nr="561" mi="0" ci="1" mb="0" cb="0"/><line nr="565" mi="0" ci="4" mb="0" cb="0"/><line nr="566" mi="0" ci="7" mb="0" cb="0"/><line nr="567" mi="0" ci="7" mb="0" cb="2"/><line nr="568" mi="0" ci="4" mb="0" cb="0"/><line nr="569" mi="0" ci="6" mb="1" cb="3"/><line nr="570" mi="0" ci="7" mb="0" cb="0"/><line nr="572" mi="0" ci="3" mb="0" cb="0"/><line nr="573" mi="0" ci="6" mb="0" cb="0"/><line nr="574" mi="0" ci="2" mb="0" cb="0"/><line nr="576" mi="0" ci="1" mb="0" cb="0"/><line nr="577" mi="0" ci="5" mb="0" cb="0"/><line nr="578" mi="0" ci="5" mb="0" cb="0"/><line nr="579" mi="0" ci="2" mb="0" cb="0"/><line nr="584" mi="0" ci="18" mb="0" cb="0"/><line nr="586" mi="0" ci="3" mb="0" cb="2"/><line nr="587" mi="0" ci="12" mb="0" cb="0"/><line nr="591" mi="0" ci="10" mb="0" cb="2"/><line nr="592" mi="0" ci="13" mb="0" cb="0"/><line nr="596" mi="0" ci="1" mb="0" cb="0"/><line nr="599" mi="0" ci="7" mb="0" cb="4"/><line nr="600" mi="0" ci="12" mb="0" cb="0"/><line nr="604" mi="0" ci="1" mb="0" cb="0"/><line nr="616" mi="0" ci="6" mb="0" cb="0"/><line nr="617" mi="0" ci="8" mb="0" cb="2"/><line nr="618" mi="0" ci="8" mb="0" cb="2"/><line nr="619" mi="0" ci="8" mb="0" cb="2"/><line nr="620" mi="0" ci="7" mb="0" cb="0"/><counter type="INSTRUCTION" missed="0" covered="817"/><counter type="BRANCH" missed="1" covered="53"/><counter type="LINE" missed="0" covered="187"/><counter type="COMPLEXITY" missed="1" covered="73"/><counter type="METHOD" missed="0" covered="47"/><counter type="CLASS" missed="0" covered="8"/></sourcefile><sourcefile name="InstrumentTask.java"><line nr="35" mi="0" ci="2" mb="0" cb="0"/><line nr="39" mi="0" ci="5" mb="0" cb="0"/><line nr="41" mi="0" ci="4" mb="0" cb="0"/><line nr="50" mi="0" ci="3" mb="0" cb="0"/><line nr="51" mi="0" ci="1" mb="0" cb="0"/><line nr="60" mi="0" ci="3" mb="0" cb="0"/><line nr="61" mi="0" ci="1" mb="0" cb="0"/><line nr="70" mi="0" ci="4" mb="0" cb="0"/><line nr="71" mi="0" ci="1" mb="0" cb="0"/><line nr="75" mi="0" ci="3" mb="0" cb="2"/><line nr="76" mi="0" ci="7" mb="0" cb="0"/><line nr="79" mi="0" ci="2" mb="0" cb="0"/><line nr="80" mi="0" ci="7" mb="0" cb="0"/><line nr="82" mi="0" ci="4" mb="0" cb="0"/><line nr="83" mi="0" ci="4" mb="0" cb="0"/><line nr="84" mi="0" ci="3" mb="0" cb="2"/><line nr="85" mi="0" ci="4" mb="0" cb="0"/><line nr="86" mi="0" ci="3" mb="0" cb="2"/><line nr="87" mi="0" ci="1" mb="0" cb="0"/><line nr="89" mi="0" ci="7" mb="0" cb="0"/><line nr="90" mi="0" ci="1" mb="0" cb="0"/><line nr="91" mi="0" ci="17" mb="0" cb="0"/><line nr="93" mi="0" ci="1" mb="0" cb="0"/><line nr="97" mi="0" ci="8" mb="0" cb="0"/><line nr="98" mi="0" ci="4" mb="0" cb="0"/><line nr="100" mi="0" ci="2" mb="0" cb="0"/><line nr="101" mi="0" ci="2" mb="0" cb="0"/><line nr="103" mi="0" ci="3" mb="0" cb="0"/><line nr="104" mi="0" ci="5" mb="0" cb="0"/><line nr="105" mi="0" ci="7" mb="0" cb="0"/><line nr="108" mi="0" ci="2" mb="0" cb="0"/><line nr="109" mi="0" ci="4" mb="0" cb="0"/><line nr="111" mi="0" ci="1" mb="0" cb="0"/><line nr="112" mi="0" ci="3" mb="0" cb="0"/><line nr="113" mi="0" ci="15" mb="0" cb="0"/><counter type="INSTRUCTION" missed="0" covered="144"/><counter type="BRANCH" missed="0" covered="6"/><counter type="LINE" missed="0" covered="35"/><counter type="COMPLEXITY" missed="0" covered="9"/><counter type="METHOD" missed="0" covered="6"/><counter type="CLASS" missed="0" covered="1"/></sourcefile><sourcefile name="DumpTask.java"><line nr="31" mi="0" ci="2" mb="0" cb="0"/><line nr="33" mi="0" ci="3" mb="0" cb="0"/><line nr="34" mi="0" ci="3" mb="0" cb="0"/><line nr="35" mi="0" ci="3" mb="0" cb="0"/><line nr="36" mi="0" ci="3" mb="0" cb="0"/><line nr="37" mi="0" ci="3" mb="0" cb="0"/><line nr="38" mi="0" ci="3" mb="0" cb="0"/><line nr="39" mi="0" ci="4" mb="0" cb="0"/><line nr="50" mi="0" ci="3" mb="0" cb="0"/><line nr="51" mi="0" ci="1" mb="0" cb="0"/><line nr="60" mi="0" ci="3" mb="0" cb="0"/><line nr="61" mi="0" ci="1" mb="0" cb="0"/><line nr="70" mi="0" ci="3" mb="0" cb="0"/><line nr="71" mi="0" ci="1" mb="0" cb="0"/><line nr="81" mi="0" ci="3" mb="0" cb="0"/><line nr="82" mi="0" ci="1" mb="0" cb="0"/><line nr="93" mi="3" ci="0" mb="0" cb="0"/><line nr="94" mi="1" ci="0" mb="0" cb="0"/><line nr="104" mi="0" ci="3" mb="0" cb="0"/><line nr="105" mi="0" ci="1" mb="0" cb="0"/><line nr="115" mi="0" ci="3" mb="0" cb="0"/><line nr="116" mi="0" ci="1" mb="0" cb="0"/><line nr="121" mi="0" ci="3" mb="0" cb="2"/><line nr="122" mi="0" ci="7" mb="0" cb="0"/><line nr="124" mi="0" ci="6" mb="0" cb="4"/><line nr="125" mi="0" ci="7" mb="0" cb="0"/><line nr="130" mi="0" ci="5" mb="0" cb="0"/><line nr="134" mi="0" ci="16" mb="0" cb="0"/><line nr="136" mi="0" ci="1" mb="0" cb="0"/><line nr="139" mi="0" ci="6" mb="0" cb="0"/><line nr="140" mi="5" ci="0" mb="0" cb="0"/><line nr="141" mi="1" ci="0" mb="0" cb="0"/><line nr="143" mi="0" ci="4" mb="0" cb="0"/><line nr="144" mi="0" ci="4" mb="0" cb="0"/><line nr="145" mi="0" ci="4" mb="0" cb="0"/><line nr="148" mi="0" ci="7" mb="0" cb="0"/><line nr="149" mi="0" ci="3" mb="0" cb="2"/><line nr="150" mi="0" ci="12" mb="0" cb="0"/><line nr="152" mi="0" ci="6" mb="0" cb="0"/><line nr="154" mi="0" ci="1" mb="0" cb="0"/><line nr="155" mi="0" ci="8" mb="0" cb="0"/><line nr="157" mi="0" ci="1" mb="0" cb="0"/><line nr="158" mi="0" ci="1" mb="0" cb="0"/><counter type="INSTRUCTION" missed="10" covered="150"/><counter type="BRANCH" missed="0" covered="8"/><counter type="LINE" missed="4" covered="39"/><counter type="COMPLEXITY" missed="2" covered="14"/><counter type="METHOD" missed="2" covered="10"/><counter type="CLASS" missed="0" covered="2"/></sourcefile><sourcefile name="AgentTask.java"><line nr="21" mi="0" ci="3" mb="0" cb="0"/><line nr="32" mi="0" ci="3" mb="0" cb="0"/><line nr="33" mi="0" ci="1" mb="0" cb="0"/><line nr="43" mi="0" ci="7" mb="0" cb="4"/><line nr="44" mi="0" ci="7" mb="0" cb="0"/><line nr="46" mi="0" ci="8" mb="0" cb="2"/><line nr="48" mi="0" ci="6" mb="0" cb="0"/><line nr="49" mi="0" ci="1" mb="0" cb="0"/><counter type="INSTRUCTION" missed="0" covered="36"/><counter type="BRANCH" missed="0" covered="6"/><counter type="LINE" missed="0" covered="8"/><counter type="COMPLEXITY" missed="0" covered="6"/><counter type="METHOD" missed="0" covered="3"/><counter type="CLASS" missed="0" covered="1"/></sourcefile><counter type="INSTRUCTION" missed="23" covered="1714"/><counter type="BRANCH" missed="1" covered="103"/><counter type="LINE" missed="8" covered="421"/><counter type="COMPLEXITY" missed="4" covered="159"/><counter type="METHOD" missed="3" covered="108"/><counter type="CLASS" missed="0" covered="19"/></package><counter type="INSTRUCTION" missed="23" covered="1714"/><counter type="BRANCH" missed="1" covered="103"/><counter type="LINE" missed="8" covered="421"/><counter type="COMPLEXITY" missed="4" covered="159"/><counter type="METHOD" missed="3" covered="108"/><counter type="CLASS" missed="0" covered="19"/></group><group name="org.jacoco.cli"><package name="org/jacoco/cli/internal"><class name="org/jacoco/cli/internal/CommandHandler$1" sourcefilename="CommandHandler.java"><method name="&lt;init&gt;" desc="(Ljava/lang/String;Ljava/lang/String;ZZZLjava/lang/Class;Z)V" line="44"><counter type="INSTRUCTION" missed="0" covered="10"/><counter type="LINE" missed="0" covered="1"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><counter type="INSTRUCTION" missed="0" covered="10"/><counter type="LINE" missed="0" covered="1"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/><counter type="CLASS" missed="0" covered="1"/></class><class name="org/jacoco/cli/internal/CommandHandler$2" sourcefilename="CommandHandler.java"><method name="&lt;init&gt;" desc="(Lorg/jacoco/cli/internal/CommandHandler;Lorg/kohsuke/args4j/spi/Parameters;)V" line="79"><counter type="INSTRUCTION" missed="0" covered="9"/><counter type="LINE" missed="0" covered="1"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="get" desc="(I)Ljava/lang/String;" line="71"><counter type="INSTRUCTION" missed="5" covered="7"/><counter type="LINE" missed="2" covered="1"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="size" desc="()I" line="80"><counter type="INSTRUCTION" missed="0" covered="6"/><counter type="LINE" missed="0" covered="1"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><counter type="INSTRUCTION" missed="5" covered="22"/><counter type="LINE" missed="2" covered="3"/><counter type="COMPLEXITY" missed="0" covered="3"/><counter type="METHOD" missed="0" covered="3"/><counter type="CLASS" missed="0" covered="1"/></class><class name="org/jacoco/cli/internal/Main$1" sourcefilename="Main.java"><method name="&lt;init&gt;" desc="()V" line="39"><counter type="INSTRUCTION" missed="0" covered="3"/><counter type="LINE" missed="0" covered="1"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="write" desc="([CII)V" line="32"><counter type="INSTRUCTION" missed="0" covered="1"/><counter type="LINE" missed="0" covered="1"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="flush" desc="()V" line="36"><counter type="INSTRUCTION" missed="1" covered="0"/><counter type="LINE" missed="1" covered="0"/><counter type="COMPLEXITY" missed="1" covered="0"/><counter type="METHOD" missed="1" covered="0"/></method><method name="close" desc="()V" line="40"><counter type="INSTRUCTION" missed="1" covered="0"/><counter type="LINE" missed="1" covered="0"/><counter type="COMPLEXITY" missed="1" covered="0"/><counter type="METHOD" missed="1" covered="0"/></method><counter type="INSTRUCTION" missed="2" covered="4"/><counter type="LINE" missed="2" covered="2"/><counter type="COMPLEXITY" missed="2" covered="2"/><counter type="METHOD" missed="2" covered="2"/><counter type="CLASS" missed="0" covered="1"/></class><class name="org/jacoco/cli/internal/CommandParser" sourcefilename="CommandParser.java"><method name="&lt;init&gt;" desc="(Lorg/jacoco/cli/internal/Command;)V" line="26"><counter type="INSTRUCTION" missed="0" covered="7"/><counter type="LINE" missed="0" covered="3"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="getCommand" desc="()Lorg/jacoco/cli/internal/Command;" line="31"><counter type="INSTRUCTION" missed="0" covered="3"/><counter type="LINE" missed="0" covered="1"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><counter type="INSTRUCTION" missed="0" covered="10"/><counter type="LINE" missed="0" covered="4"/><counter type="COMPLEXITY" missed="0" covered="2"/><counter type="METHOD" missed="0" covered="2"/><counter type="CLASS" missed="0" covered="1"/></class><class name="org/jacoco/cli/internal/Command" sourcefilename="Command.java"><method name="&lt;init&gt;" desc="()V" line="23"><counter type="INSTRUCTION" missed="0" covered="9"/><counter type="LINE" missed="0" covered="3"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="name" desc="()Ljava/lang/String;" line="51"><counter type="INSTRUCTION" missed="0" covered="5"/><counter type="LINE" missed="0" covered="1"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="usage" desc="(Lorg/jacoco/cli/internal/CommandParser;)Ljava/lang/String;" line="60"><counter type="INSTRUCTION" missed="0" covered="20"/><counter type="LINE" missed="0" covered="3"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="printHelp" desc="(Ljava/io/PrintWriter;)V" line="86"><counter type="INSTRUCTION" missed="0" covered="29"/><counter type="LINE" missed="0" covered="6"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><counter type="INSTRUCTION" missed="0" covered="63"/><counter type="LINE" missed="0" covered="13"/><counter type="COMPLEXITY" missed="0" covered="4"/><counter type="METHOD" missed="0" covered="4"/><counter type="CLASS" missed="0" covered="1"/></class><class name="org/jacoco/cli/internal/XmlDocumentation" sourcefilename="XmlDocumentation.java"><method name="writeCommand" desc="(Lorg/jacoco/cli/internal/Command;Lorg/jacoco/report/internal/xml/XMLElement;)V" line="34"><counter type="INSTRUCTION" missed="0" covered="36"/><counter type="LINE" missed="0" covered="8"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="writeOptions" desc="(Lorg/jacoco/report/internal/xml/XMLElement;Ljava/util/List;)V" line="46"><counter type="INSTRUCTION" missed="0" covered="44"/><counter type="BRANCH" missed="0" covered="2"/><counter type="LINE" missed="0" covered="8"/><counter type="COMPLEXITY" missed="0" covered="2"/><counter type="METHOD" missed="0" covered="1"/></method><method name="main" desc="([Ljava/lang/String;)V" line="65"><counter type="INSTRUCTION" missed="0" covered="41"/><counter type="BRANCH" missed="0" covered="2"/><counter type="LINE" missed="0" covered="7"/><counter type="COMPLEXITY" missed="0" covered="2"/><counter type="METHOD" missed="0" covered="1"/></method><counter type="INSTRUCTION" missed="0" covered="121"/><counter type="BRANCH" missed="0" covered="4"/><counter type="LINE" missed="0" covered="23"/><counter type="COMPLEXITY" missed="0" covered="5"/><counter type="METHOD" missed="0" covered="3"/><counter type="CLASS" missed="0" covered="1"/></class><class name="org/jacoco/cli/internal/CommandHandler" sourcefilename="CommandHandler.java"><method name="&lt;init&gt;" desc="(Lorg/kohsuke/args4j/CmdLineParser;Lorg/kohsuke/args4j/OptionDef;Lorg/kohsuke/args4j/spi/Setter;)V" line="41"><counter type="INSTRUCTION" missed="0" covered="19"/><counter type="LINE" missed="0" covered="2"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="parseArguments" desc="(Lorg/kohsuke/args4j/spi/Parameters;)I" line="50"><counter type="INSTRUCTION" missed="0" covered="51"/><counter type="BRANCH" missed="0" covered="4"/><counter type="LINE" missed="0" covered="7"/><counter type="COMPLEXITY" missed="0" covered="3"/><counter type="METHOD" missed="0" covered="1"/></method><method name="parseSubArguments" desc="(Lorg/jacoco/cli/internal/Command;Lorg/kohsuke/args4j/spi/Parameters;)V" line="66"><counter type="INSTRUCTION" missed="0" covered="13"/><counter type="LINE" missed="0" covered="3"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="getDefaultMetaVariable" desc="()Ljava/lang/String;" line="87"><counter type="INSTRUCTION" missed="2" covered="0"/><counter type="LINE" missed="1" covered="0"/><counter type="COMPLEXITY" missed="1" covered="0"/><counter type="METHOD" missed="1" covered="0"/></method><counter type="INSTRUCTION" missed="2" covered="83"/><counter type="BRANCH" missed="0" covered="4"/><counter type="LINE" missed="1" covered="12"/><counter type="COMPLEXITY" missed="1" covered="5"/><counter type="METHOD" missed="1" covered="3"/><counter type="CLASS" missed="0" covered="1"/></class><class name="org/jacoco/cli/internal/Main" sourcefilename="Main.java"><method name="&lt;init&gt;" desc="([Ljava/lang/String;)V" line="45"><counter type="INSTRUCTION" missed="0" covered="6"/><counter type="LINE" missed="0" covered="3"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="description" desc="()Ljava/lang/String;" line="54"><counter type="INSTRUCTION" missed="0" covered="2"/><counter type="LINE" missed="0" covered="1"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="usage" desc="(Lorg/jacoco/cli/internal/CommandParser;)Ljava/lang/String;" line="59"><counter type="INSTRUCTION" missed="0" covered="2"/><counter type="LINE" missed="0" covered="1"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="execute" desc="(Ljava/io/PrintWriter;Ljava/io/PrintWriter;)I" line="66"><counter type="INSTRUCTION" missed="0" covered="55"/><counter type="BRANCH" missed="0" covered="6"/><counter type="LINE" missed="0" covered="17"/><counter type="COMPLEXITY" missed="0" covered="4"/><counter type="METHOD" missed="0" covered="1"/></method><method name="main" desc="([Ljava/lang/String;)V" line="103"><counter type="INSTRUCTION" missed="23" covered="0"/><counter type="LINE" missed="5" covered="0"/><counter type="COMPLEXITY" missed="1" covered="0"/><counter type="METHOD" missed="1" covered="0"/></method><method name="&lt;clinit&gt;" desc="()V" line="27"><counter type="INSTRUCTION" missed="0" covered="8"/><counter type="LINE" missed="0" covered="1"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><counter type="INSTRUCTION" missed="23" covered="73"/><counter type="BRANCH" missed="0" covered="6"/><counter type="LINE" missed="5" covered="23"/><counter type="COMPLEXITY" missed="1" covered="8"/><counter type="METHOD" missed="1" covered="5"/><counter type="CLASS" missed="0" covered="1"/></class><sourcefile name="Command.java"><line nr="23" mi="0" ci="2" mb="0" cb="0"/><line nr="34" mi="0" ci="3" mb="0" cb="0"/><line nr="40" mi="0" ci="4" mb="0" cb="0"/><line nr="51" mi="0" ci="5" mb="0" cb="0"/><line nr="60" mi="0" ci="4" mb="0" cb="0"/><line nr="61" mi="0" ci="4" mb="0" cb="0"/><line nr="62" mi="0" ci="12" mb="0" cb="0"/><line nr="86" mi="0" ci="5" mb="0" cb="0"/><line nr="87" mi="0" ci="4" mb="0" cb="0"/><line nr="88" mi="0" ci="2" mb="0" cb="0"/><line nr="89" mi="0" ci="13" mb="0" cb="0"/><line nr="90" mi="0" ci="4" mb="0" cb="0"/><line nr="91" mi="0" ci="1" mb="0" cb="0"/><counter type="INSTRUCTION" missed="0" covered="63"/><counter type="LINE" missed="0" covered="13"/><counter type="COMPLEXITY" missed="0" covered="4"/><counter type="METHOD" missed="0" covered="4"/><counter type="CLASS" missed="0" covered="1"/></sourcefile><sourcefile name="CommandParser.java"><line nr="26" mi="0" ci="3" mb="0" cb="0"/><line nr="27" mi="0" ci="3" mb="0" cb="0"/><line nr="28" mi="0" ci="1" mb="0" cb="0"/><line nr="31" mi="0" ci="3" mb="0" cb="0"/><counter type="INSTRUCTION" missed="0" covered="10"/><counter type="LINE" missed="0" covered="4"/><counter type="COMPLEXITY" missed="0" covered="2"/><counter type="METHOD" missed="0" covered="2"/><counter type="CLASS" missed="0" covered="1"/></sourcefile><sourcefile name="CommandHandler.java"><line nr="41" mi="0" ci="18" mb="0" cb="0"/><line nr="44" mi="0" ci="10" mb="0" cb="0"/><line nr="46" mi="0" ci="1" mb="0" cb="0"/><line nr="50" mi="0" ci="4" mb="0" cb="0"/><line nr="52" mi="0" ci="10" mb="0" cb="2"/><line nr="53" mi="0" ci="5" mb="0" cb="2"/><line nr="54" mi="0" ci="4" mb="0" cb="0"/><line nr="55" mi="0" ci="4" mb="0" cb="0"/><line nr="56" mi="0" ci="4" mb="0" cb="0"/><line nr="60" mi="0" ci="20" mb="0" cb="0"/><line nr="66" mi="0" ci="5" mb="0" cb="0"/><line nr="67" mi="0" ci="7" mb="0" cb="0"/><line nr="71" mi="0" ci="7" mb="0" cb="0"/><line nr="72" mi="1" ci="0" mb="0" cb="0"/><line nr="74" mi="4" ci="0" mb="0" cb="0"/><line nr="79" mi="0" ci="9" mb="0" cb="0"/><line nr="80" mi="0" ci="6" mb="0" cb="0"/><line nr="83" mi="0" ci="1" mb="0" cb="0"/><line nr="87" mi="2" ci="0" mb="0" cb="0"/><counter type="INSTRUCTION" missed="7" covered="115"/><counter type="BRANCH" missed="0" covered="4"/><counter type="LINE" missed="3" covered="16"/><counter type="COMPLEXITY" missed="1" covered="9"/><counter type="METHOD" missed="1" covered="7"/><counter type="CLASS" missed="0" covered="3"/></sourcefile><sourcefile name="XmlDocumentation.java"><line nr="34" mi="0" ci="5" mb="0" cb="0"/><line nr="35" mi="0" ci="4" mb="0" cb="0"/><line nr="36" mi="0" ci="5" mb="0" cb="0"/><line nr="37" mi="0" ci="7" mb="0" cb="0"/><line nr="38" mi="0" ci="6" mb="0" cb="0"/><line nr="39" mi="0" ci="4" mb="0" cb="0"/><line nr="40" mi="0" ci="4" mb="0" cb="0"/><line nr="41" mi="0" ci="1" mb="0" cb="0"/><line nr="46" mi="0" ci="10" mb="0" cb="2"/><line nr="47" mi="0" ci="4" mb="0" cb="0"/><line nr="48" mi="0" ci="7" mb="0" cb="0"/><line nr="49" mi="0" ci="7" mb="0" cb="0"/><line nr="51" mi="0" ci="7" mb="0" cb="0"/><line nr="52" mi="0" ci="7" mb="0" cb="0"/><line nr="53" mi="0" ci="1" mb="0" cb="0"/><line nr="54" mi="0" ci="1" mb="0" cb="0"/><line nr="65" mi="0" ci="7" mb="0" cb="0"/><line nr="66" mi="0" ci="4" mb="0" cb="0"/><line nr="68" mi="0" ci="13" mb="0" cb="0"/><line nr="71" mi="0" ci="10" mb="0" cb="2"/><line nr="72" mi="0" ci="4" mb="0" cb="0"/><line nr="75" mi="0" ci="2" mb="0" cb="0"/><line nr="76" mi="0" ci="1" mb="0" cb="0"/><counter type="INSTRUCTION" missed="0" covered="121"/><counter type="BRANCH" missed="0" covered="4"/><counter type="LINE" missed="0" covered="23"/><counter type="COMPLEXITY" missed="0" covered="5"/><counter type="METHOD" missed="0" covered="3"/><counter type="CLASS" missed="0" covered="1"/></sourcefile><sourcefile name="Main.java"><line nr="27" mi="0" ci="8" mb="0" cb="0"/><line nr="32" mi="0" ci="1" mb="0" cb="0"/><line nr="36" mi="1" ci="0" mb="0" cb="0"/><line nr="39" mi="0" ci="3" mb="0" cb="0"/><line nr="40" mi="1" ci="0" mb="0" cb="0"/><line nr="45" mi="0" ci="2" mb="0" cb="0"/><line nr="46" mi="0" ci="3" mb="0" cb="0"/><line nr="47" mi="0" ci="1" mb="0" cb="0"/><line nr="54" mi="0" ci="2" mb="0" cb="0"/><line nr="59" mi="0" ci="2" mb="0" cb="0"/><line nr="66" mi="0" ci="5" mb="0" cb="0"/><line nr="68" mi="0" ci="4" mb="0" cb="0"/><line nr="69" mi="0" ci="1" mb="0" cb="0"/><line nr="70" mi="0" ci="6" mb="0" cb="0"/><line nr="71" mi="0" ci="2" mb="0" cb="0"/><line nr="72" mi="0" ci="4" mb="0" cb="0"/><line nr="73" mi="0" ci="2" mb="0" cb="0"/><line nr="74" mi="0" ci="1" mb="0" cb="0"/><line nr="76" mi="0" ci="3" mb="0" cb="2"/><line nr="77" mi="0" ci="3" mb="0" cb="0"/><line nr="78" mi="0" ci="2" mb="0" cb="0"/><line nr="81" mi="0" ci="4" mb="0" cb="2"/><line nr="82" mi="0" ci="4" mb="0" cb="0"/><line nr="83" mi="0" ci="2" mb="0" cb="0"/><line nr="86" mi="0" ci="4" mb="0" cb="2"/><line nr="87" mi="0" ci="2" mb="0" cb="0"/><line nr="90" mi="0" ci="6" mb="0" cb="0"/><line nr="103" mi="6" ci="0" mb="0" cb="0"/><line nr="104" mi="6" ci="0" mb="0" cb="0"/><line nr="105" mi="8" ci="0" mb="0" cb="0"/><line nr="106" mi="2" ci="0" mb="0" cb="0"/><line nr="107" mi="1" ci="0" mb="0" cb="0"/><counter type="INSTRUCTION" missed="25" covered="77"/><counter type="BRANCH" missed="0" covered="6"/><counter type="LINE" missed="7" covered="25"/><counter type="COMPLEXITY" missed="3" covered="10"/><counter type="METHOD" missed="3" covered="7"/><counter type="CLASS" missed="0" covered="2"/></sourcefile><counter type="INSTRUCTION" missed="32" covered="386"/><counter type="BRANCH" missed="0" covered="14"/><counter type="LINE" missed="10" covered="81"/><counter type="COMPLEXITY" missed="4" covered="30"/><counter type="METHOD" missed="4" covered="23"/><counter type="CLASS" missed="0" covered="8"/></package><package name="org/jacoco/cli/internal/commands"><class name="org/jacoco/cli/internal/commands/Merge" sourcefilename="Merge.java"><method name="&lt;init&gt;" desc="()V" line="29"><counter type="INSTRUCTION" missed="0" covered="8"/><counter type="LINE" missed="0" covered="2"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="description" desc="()Ljava/lang/String;" line="39"><counter type="INSTRUCTION" missed="0" covered="2"/><counter type="LINE" missed="0" covered="1"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="execute" desc="(Ljava/io/PrintWriter;Ljava/io/PrintWriter;)I" line="45"><counter type="INSTRUCTION" missed="0" covered="23"/><counter type="LINE" missed="0" covered="4"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="loadExecutionData" desc="(Ljava/io/PrintWriter;)Lorg/jacoco/core/tools/ExecFileLoader;" line="54"><counter type="INSTRUCTION" missed="0" covered="40"/><counter type="BRANCH" missed="0" covered="4"/><counter type="LINE" missed="0" covered="7"/><counter type="COMPLEXITY" missed="0" covered="3"/><counter type="METHOD" missed="0" covered="1"/></method><counter type="INSTRUCTION" missed="0" covered="73"/><counter type="BRANCH" missed="0" covered="4"/><counter type="LINE" missed="0" covered="14"/><counter type="COMPLEXITY" missed="0" covered="6"/><counter type="METHOD" missed="0" covered="4"/><counter type="CLASS" missed="0" covered="1"/></class><class name="org/jacoco/cli/internal/commands/ExecInfo$2" sourcefilename="ExecInfo.java"><method name="&lt;init&gt;" desc="(Lorg/jacoco/cli/internal/commands/ExecInfo;Ljava/io/PrintWriter;)V" line="72"><counter type="INSTRUCTION" missed="0" covered="9"/><counter type="LINE" missed="0" covered="1"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="visitClassExecution" desc="(Lorg/jacoco/core/data/ExecutionData;)V" line="73"><counter type="INSTRUCTION" missed="0" covered="35"/><counter type="LINE" missed="0" covered="2"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><counter type="INSTRUCTION" missed="0" covered="44"/><counter type="LINE" missed="0" covered="3"/><counter type="COMPLEXITY" missed="0" covered="2"/><counter type="METHOD" missed="0" covered="2"/><counter type="CLASS" missed="0" covered="1"/></class><class name="org/jacoco/cli/internal/commands/ExecInfo$1" sourcefilename="ExecInfo.java"><method name="&lt;init&gt;" desc="(Lorg/jacoco/cli/internal/commands/ExecInfo;Ljava/io/PrintWriter;)V" line="65"><counter type="INSTRUCTION" missed="0" covered="9"/><counter type="LINE" missed="0" covered="1"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="visitSessionInfo" desc="(Lorg/jacoco/core/data/SessionInfo;)V" line="66"><counter type="INSTRUCTION" missed="0" covered="29"/><counter type="LINE" missed="0" covered="2"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><counter type="INSTRUCTION" missed="0" covered="38"/><counter type="LINE" missed="0" covered="3"/><counter type="COMPLEXITY" missed="0" covered="2"/><counter type="METHOD" missed="0" covered="2"/><counter type="CLASS" missed="0" covered="1"/></class><class name="org/jacoco/cli/internal/commands/Dump$1" sourcefilename="Dump.java"><method name="&lt;init&gt;" desc="(Lorg/jacoco/cli/internal/commands/Dump;Ljava/io/PrintWriter;Ljava/io/PrintWriter;)V" line="63"><counter type="INSTRUCTION" missed="0" covered="12"/><counter type="LINE" missed="0" covered="1"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="onConnecting" desc="(Ljava/net/InetAddress;I)V" line="58"><counter type="INSTRUCTION" missed="0" covered="17"/><counter type="LINE" missed="0" covered="2"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="onConnectionFailure" desc="(Ljava/io/IOException;)V" line="64"><counter type="INSTRUCTION" missed="0" covered="13"/><counter type="LINE" missed="0" covered="2"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><counter type="INSTRUCTION" missed="0" covered="42"/><counter type="LINE" missed="0" covered="5"/><counter type="COMPLEXITY" missed="0" covered="3"/><counter type="METHOD" missed="0" covered="3"/><counter type="CLASS" missed="0" covered="1"/></class><class name="org/jacoco/cli/internal/commands/ExecInfo" sourcefilename="ExecInfo.java"><method name="&lt;init&gt;" desc="()V" line="34"><counter type="INSTRUCTION" missed="0" covered="8"/><counter type="LINE" missed="0" covered="2"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="description" desc="()Ljava/lang/String;" line="41"><counter type="INSTRUCTION" missed="0" covered="2"/><counter type="LINE" missed="0" covered="1"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="execute" desc="(Ljava/io/PrintWriter;Ljava/io/PrintWriter;)I" line="47"><counter type="INSTRUCTION" missed="0" covered="26"/><counter type="BRANCH" missed="0" covered="4"/><counter type="LINE" missed="0" covered="5"/><counter type="COMPLEXITY" missed="0" covered="3"/><counter type="METHOD" missed="0" covered="1"/></method><method name="dump" desc="(Ljava/io/File;Ljava/io/PrintWriter;)V" line="59"><counter type="INSTRUCTION" missed="0" covered="45"/><counter type="LINE" missed="0" covered="10"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="getHitCount" desc="([Z)I" line="86"><counter type="INSTRUCTION" missed="0" covered="23"/><counter type="BRANCH" missed="0" covered="4"/><counter type="LINE" missed="0" covered="5"/><counter type="COMPLEXITY" missed="0" covered="3"/><counter type="METHOD" missed="0" covered="1"/></method><counter type="INSTRUCTION" missed="0" covered="104"/><counter type="BRANCH" missed="0" covered="8"/><counter type="LINE" missed="0" covered="23"/><counter type="COMPLEXITY" missed="0" covered="9"/><counter type="METHOD" missed="0" covered="5"/><counter type="CLASS" missed="0" covered="1"/></class><class name="org/jacoco/cli/internal/commands/Version" sourcefilename="Version.java"><method name="&lt;init&gt;" desc="()V" line="24"><counter type="INSTRUCTION" missed="0" covered="3"/><counter type="LINE" missed="0" covered="1"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="description" desc="()Ljava/lang/String;" line="28"><counter type="INSTRUCTION" missed="0" covered="2"/><counter type="LINE" missed="0" covered="1"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="execute" desc="(Ljava/io/PrintWriter;Ljava/io/PrintWriter;)I" line="34"><counter type="INSTRUCTION" missed="0" covered="5"/><counter type="LINE" missed="0" covered="2"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><counter type="INSTRUCTION" missed="0" covered="10"/><counter type="LINE" missed="0" covered="4"/><counter type="COMPLEXITY" missed="0" covered="3"/><counter type="METHOD" missed="0" covered="3"/><counter type="CLASS" missed="0" covered="1"/></class><class name="org/jacoco/cli/internal/commands/Instrument" sourcefilename="Instrument.java"><method name="&lt;init&gt;" desc="()V" line="35"><counter type="INSTRUCTION" missed="0" covered="8"/><counter type="LINE" missed="0" covered="2"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="description" desc="()Ljava/lang/String;" line="47"><counter type="INSTRUCTION" missed="0" covered="2"/><counter type="LINE" missed="0" covered="1"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="execute" desc="(Ljava/io/PrintWriter;Ljava/io/PrintWriter;)I" line="53"><counter type="INSTRUCTION" missed="0" covered="66"/><counter type="BRANCH" missed="0" covered="4"/><counter type="LINE" missed="0" covered="9"/><counter type="COMPLEXITY" missed="0" covered="3"/><counter type="METHOD" missed="0" covered="1"/></method><method name="instrumentRecursive" desc="(Ljava/io/File;Ljava/io/File;)I" line="71"><counter type="INSTRUCTION" missed="0" covered="44"/><counter type="BRANCH" missed="0" covered="4"/><counter type="LINE" missed="0" covered="6"/><counter type="COMPLEXITY" missed="0" covered="3"/><counter type="METHOD" missed="0" covered="1"/></method><method name="instrument" desc="(Ljava/io/File;Ljava/io/File;)I" line="84"><counter type="INSTRUCTION" missed="0" covered="34"/><counter type="LINE" missed="0" covered="9"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><counter type="INSTRUCTION" missed="0" covered="154"/><counter type="BRANCH" missed="0" covered="8"/><counter type="LINE" missed="0" covered="27"/><counter type="COMPLEXITY" missed="0" covered="9"/><counter type="METHOD" missed="0" covered="5"/><counter type="CLASS" missed="0" covered="1"/></class><class name="org/jacoco/cli/internal/commands/ClassInfo$Printer" sourcefilename="ClassInfo.java"><method name="&lt;init&gt;" desc="(Lorg/jacoco/cli/internal/commands/ClassInfo;Ljava/io/PrintWriter;)V" line="69"><counter type="INSTRUCTION" missed="0" covered="12"/><counter type="LINE" missed="0" covered="4"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="visitCoverage" desc="(Lorg/jacoco/core/analysis/IClassCoverage;)V" line="75"><counter type="INSTRUCTION" missed="0" covered="40"/><counter type="BRANCH" missed="0" covered="4"/><counter type="LINE" missed="0" covered="7"/><counter type="COMPLEXITY" missed="0" covered="3"/><counter type="METHOD" missed="0" covered="1"/></method><method name="printMethod" desc="(Lorg/jacoco/core/analysis/IMethodCoverage;Z)V" line="88"><counter type="INSTRUCTION" missed="0" covered="40"/><counter type="BRANCH" missed="0" covered="4"/><counter type="LINE" missed="0" covered="6"/><counter type="COMPLEXITY" missed="0" covered="3"/><counter type="METHOD" missed="0" covered="1"/></method><method name="printLine" desc="(Lorg/jacoco/core/analysis/ILine;ILjava/lang/String;)V" line="99"><counter type="INSTRUCTION" missed="0" covered="34"/><counter type="BRANCH" missed="0" covered="2"/><counter type="LINE" missed="0" covered="3"/><counter type="COMPLEXITY" missed="0" covered="2"/><counter type="METHOD" missed="0" covered="1"/></method><method name="printDetails" desc="(Ljava/lang/String;Lorg/jacoco/core/analysis/ICoverageNode;)V" line="109"><counter type="INSTRUCTION" missed="0" covered="47"/><counter type="LINE" missed="0" covered="2"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="total" desc="(Lorg/jacoco/core/analysis/ICounter;)Ljava/lang/String;" line="118"><counter type="INSTRUCTION" missed="0" covered="4"/><counter type="LINE" missed="0" covered="1"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><counter type="INSTRUCTION" missed="0" covered="177"/><counter type="BRANCH" missed="0" covered="10"/><counter type="LINE" missed="0" covered="23"/><counter type="COMPLEXITY" missed="0" covered="11"/><counter type="METHOD" missed="0" covered="6"/><counter type="CLASS" missed="0" covered="1"/></class><class name="org/jacoco/cli/internal/commands/Report" sourcefilename="Report.java"><method name="&lt;init&gt;" desc="()V" line="46"><counter type="INSTRUCTION" missed="0" covered="24"/><counter type="LINE" missed="0" covered="6"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="description" desc="()Ljava/lang/String;" line="77"><counter type="INSTRUCTION" missed="0" covered="2"/><counter type="LINE" missed="0" covered="1"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="execute" desc="(Ljava/io/PrintWriter;Ljava/io/PrintWriter;)I" line="83"><counter type="INSTRUCTION" missed="0" covered="17"/><counter type="LINE" missed="0" covered="4"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="loadExecutionData" desc="(Ljava/io/PrintWriter;)Lorg/jacoco/core/tools/ExecFileLoader;" line="92"><counter type="INSTRUCTION" missed="0" covered="40"/><counter type="BRANCH" missed="0" covered="4"/><counter type="LINE" missed="0" covered="7"/><counter type="COMPLEXITY" missed="0" covered="3"/><counter type="METHOD" missed="0" covered="1"/></method><method name="analyze" desc="(Lorg/jacoco/core/data/ExecutionDataStore;Ljava/io/PrintWriter;)Lorg/jacoco/core/analysis/IBundleCoverage;" line="107"><counter type="INSTRUCTION" missed="0" covered="36"/><counter type="BRANCH" missed="0" covered="2"/><counter type="LINE" missed="0" covered="6"/><counter type="COMPLEXITY" missed="0" covered="2"/><counter type="METHOD" missed="0" covered="1"/></method><method name="printNoMatchWarning" desc="(Ljava/util/Collection;Ljava/io/PrintWriter;)V" line="118"><counter type="INSTRUCTION" missed="0" covered="32"/><counter type="BRANCH" missed="0" covered="4"/><counter type="LINE" missed="0" covered="6"/><counter type="COMPLEXITY" missed="0" covered="3"/><counter type="METHOD" missed="0" covered="1"/></method><method name="writeReports" desc="(Lorg/jacoco/core/analysis/IBundleCoverage;Lorg/jacoco/core/tools/ExecFileLoader;Ljava/io/PrintWriter;)V" line="134"><counter type="INSTRUCTION" missed="0" covered="32"/><counter type="LINE" missed="0" covered="6"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="createReportVisitor" desc="()Lorg/jacoco/report/IReportVisitor;" line="144"><counter type="INSTRUCTION" missed="0" covered="60"/><counter type="BRANCH" missed="0" covered="6"/><counter type="LINE" missed="0" covered="11"/><counter type="COMPLEXITY" missed="0" covered="4"/><counter type="METHOD" missed="0" covered="1"/></method><method name="getSourceLocator" desc="()Lorg/jacoco/report/ISourceFileLocator;" line="166"><counter type="INSTRUCTION" missed="0" covered="30"/><counter type="BRANCH" missed="0" covered="2"/><counter type="LINE" missed="0" covered="4"/><counter type="COMPLEXITY" missed="0" covered="2"/><counter type="METHOD" missed="0" covered="1"/></method><counter type="INSTRUCTION" missed="0" covered="273"/><counter type="BRANCH" missed="0" covered="18"/><counter type="LINE" missed="0" covered="51"/><counter type="COMPLEXITY" missed="0" covered="18"/><counter type="METHOD" missed="0" covered="9"/><counter type="CLASS" missed="0" covered="1"/></class><class name="org/jacoco/cli/internal/commands/Dump" sourcefilename="Dump.java"><method name="&lt;init&gt;" desc="()V" line="29"><counter type="INSTRUCTION" missed="0" covered="15"/><counter type="LINE" missed="0" covered="5"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="description" desc="()Ljava/lang/String;" line="48"><counter type="INSTRUCTION" missed="0" covered="2"/><counter type="LINE" missed="0" covered="1"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="execute" desc="(Ljava/io/PrintWriter;Ljava/io/PrintWriter;)I" line="54"><counter type="INSTRUCTION" missed="0" covered="41"/><counter type="LINE" missed="0" covered="7"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><counter type="INSTRUCTION" missed="0" covered="58"/><counter type="LINE" missed="0" covered="13"/><counter type="COMPLEXITY" missed="0" covered="3"/><counter type="METHOD" missed="0" covered="3"/><counter type="CLASS" missed="0" covered="1"/></class><class name="org/jacoco/cli/internal/commands/ClassInfo" sourcefilename="ClassInfo.java"><method name="&lt;init&gt;" desc="()V" line="37"><counter type="INSTRUCTION" missed="0" covered="11"/><counter type="LINE" missed="0" covered="4"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="description" desc="()Ljava/lang/String;" line="47"><counter type="INSTRUCTION" missed="0" covered="2"/><counter type="LINE" missed="0" covered="1"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="execute" desc="(Ljava/io/PrintWriter;Ljava/io/PrintWriter;)I" line="53"><counter type="INSTRUCTION" missed="0" covered="38"/><counter type="BRANCH" missed="0" covered="4"/><counter type="LINE" missed="0" covered="6"/><counter type="COMPLEXITY" missed="0" covered="3"/><counter type="METHOD" missed="0" covered="1"/></method><counter type="INSTRUCTION" missed="0" covered="51"/><counter type="BRANCH" missed="0" covered="4"/><counter type="LINE" missed="0" covered="11"/><counter type="COMPLEXITY" missed="0" covered="5"/><counter type="METHOD" missed="0" covered="3"/><counter type="CLASS" missed="0" covered="1"/></class><class name="org/jacoco/cli/internal/commands/AllCommands" sourcefilename="AllCommands.java"><method name="get" desc="()Ljava/util/List;" line="32"><counter type="INSTRUCTION" missed="0" covered="46"/><counter type="LINE" missed="0" covered="1"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="names" desc="()Ljava/lang/String;" line="40"><counter type="INSTRUCTION" missed="0" covered="30"/><counter type="BRANCH" missed="0" covered="4"/><counter type="LINE" missed="0" covered="6"/><counter type="COMPLEXITY" missed="0" covered="3"/><counter type="METHOD" missed="0" covered="1"/></method><counter type="INSTRUCTION" missed="0" covered="76"/><counter type="BRANCH" missed="0" covered="4"/><counter type="LINE" missed="0" covered="7"/><counter type="COMPLEXITY" missed="0" covered="4"/><counter type="METHOD" missed="0" covered="2"/><counter type="CLASS" missed="0" covered="1"/></class><sourcefile name="Instrument.java"><line nr="35" mi="0" ci="2" mb="0" cb="0"/><line nr="41" mi="0" ci="6" mb="0" cb="0"/><line nr="47" mi="0" ci="2" mb="0" cb="0"/><line nr="53" mi="0" ci="4" mb="0" cb="0"/><line nr="54" mi="0" ci="8" mb="0" cb="0"/><line nr="56" mi="0" ci="2" mb="0" cb="0"/><line nr="57" mi="0" ci="11" mb="0" cb="2"/><line nr="58" mi="0" ci="3" mb="0" cb="2"/><line nr="59" mi="0" ci="13" mb="0" cb="0"/><line nr="61" mi="0" ci="8" mb="0" cb="0"/><line nr="64" mi="0" ci="15" mb="0" cb="0"/><line nr="66" mi="0" ci="2" mb="0" cb="0"/><line nr="71" mi="0" ci="2" mb="0" cb="0"/><line nr="72" mi="0" ci="3" mb="0" cb="2"/><line nr="73" mi="0" ci="18" mb="0" cb="2"/><line nr="74" mi="0" ci="12" mb="0" cb="0"/><line nr="78" mi="0" ci="7" mb="0" cb="0"/><line nr="80" mi="0" ci="2" mb="0" cb="0"/><line nr="84" mi="0" ci="4" mb="0" cb="0"/><line nr="85" mi="0" ci="5" mb="0" cb="0"/><line nr="87" mi="0" ci="5" mb="0" cb="0"/><line nr="89" mi="0" ci="8" mb="0" cb="0"/><line nr="92" mi="0" ci="2" mb="0" cb="0"/><line nr="94" mi="0" ci="1" mb="0" cb="0"/><line nr="95" mi="0" ci="3" mb="0" cb="0"/><line nr="96" mi="0" ci="2" mb="0" cb="0"/><line nr="98" mi="0" ci="4" mb="0" cb="0"/><counter type="INSTRUCTION" missed="0" covered="154"/><counter type="BRANCH" missed="0" covered="8"/><counter type="LINE" missed="0" covered="27"/><counter type="COMPLEXITY" missed="0" covered="9"/><counter type="METHOD" missed="0" covered="5"/><counter type="CLASS" missed="0" covered="1"/></sourcefile><sourcefile name="ClassInfo.java"><line nr="37" mi="0" ci="2" mb="0" cb="0"/><line nr="40" mi="0" ci="5" mb="0" cb="0"/><line nr="43" mi="0" ci="3" mb="0" cb="0"/><line nr="47" mi="0" ci="2" mb="0" cb="0"/><line nr="53" mi="0" ci="4" mb="0" cb="2"/><line nr="54" mi="0" ci="4" mb="0" cb="0"/><line nr="56" mi="0" ci="12" mb="0" cb="0"/><line nr="58" mi="0" ci="11" mb="0" cb="2"/><line nr="59" mi="0" ci="5" mb="0" cb="0"/><line nr="62" mi="0" ci="2" mb="0" cb="0"/><line nr="65" mi="0" ci="1" mb="0" cb="0"/><line nr="69" mi="0" ci="5" mb="0" cb="0"/><line nr="70" mi="0" ci="3" mb="0" cb="0"/><line nr="71" mi="0" ci="3" mb="0" cb="0"/><line nr="72" mi="0" ci="1" mb="0" cb="0"/><line nr="75" mi="0" ci="16" mb="0" cb="0"/><line nr="77" mi="0" ci="4" mb="0" cb="0"/><line nr="78" mi="0" ci="4" mb="0" cb="2"/><line nr="79" mi="0" ci="4" mb="0" cb="0"/><line nr="80" mi="0" ci="3" mb="0" cb="2"/><line nr="81" mi="0" ci="8" mb="0" cb="0"/><line nr="84" mi="0" ci="1" mb="0" cb="0"/><line nr="88" mi="0" ci="15" mb="0" cb="0"/><line nr="90" mi="0" ci="4" mb="0" cb="0"/><line nr="91" mi="0" ci="7" mb="0" cb="2"/><line nr="92" mi="0" ci="2" mb="0" cb="0"/><line nr="93" mi="0" ci="11" mb="0" cb="2"/><line nr="95" mi="0" ci="1" mb="0" cb="0"/><line nr="99" mi="0" ci="3" mb="0" cb="2"/><line nr="100" mi="0" ci="30" mb="0" cb="0"/><line nr="105" mi="0" ci="1" mb="0" cb="0"/><line nr="109" mi="0" ci="46" mb="0" cb="0"/><line nr="115" mi="0" ci="1" mb="0" cb="0"/><line nr="118" mi="0" ci="4" mb="0" cb="0"/><counter type="INSTRUCTION" missed="0" covered="228"/><counter type="BRANCH" missed="0" covered="14"/><counter type="LINE" missed="0" covered="34"/><counter type="COMPLEXITY" missed="0" covered="16"/><counter type="METHOD" missed="0" covered="9"/><counter type="CLASS" missed="0" covered="2"/></sourcefile><sourcefile name="Dump.java"><line nr="29" mi="0" ci="2" mb="0" cb="0"/><line nr="32" mi="0" ci="3" mb="0" cb="0"/><line nr="35" mi="0" ci="3" mb="0" cb="0"/><line nr="41" mi="0" ci="3" mb="0" cb="0"/><line nr="44" mi="0" ci="4" mb="0" cb="0"/><line nr="48" mi="0" ci="2" mb="0" cb="0"/><line nr="54" mi="0" ci="7" mb="0" cb="0"/><line nr="58" mi="0" ci="16" mb="0" cb="0"/><line nr="60" mi="0" ci="1" mb="0" cb="0"/><line nr="63" mi="0" ci="12" mb="0" cb="0"/><line nr="64" mi="0" ci="12" mb="0" cb="0"/><line nr="65" mi="0" ci="1" mb="0" cb="0"/><line nr="67" mi="0" ci="4" mb="0" cb="0"/><line nr="68" mi="0" ci="4" mb="0" cb="0"/><line nr="70" mi="0" ci="7" mb="0" cb="0"/><line nr="71" mi="0" ci="12" mb="0" cb="0"/><line nr="73" mi="0" ci="5" mb="0" cb="0"/><line nr="75" mi="0" ci="2" mb="0" cb="0"/><counter type="INSTRUCTION" missed="0" covered="100"/><counter type="LINE" missed="0" covered="18"/><counter type="COMPLEXITY" missed="0" covered="6"/><counter type="METHOD" missed="0" covered="6"/><counter type="CLASS" missed="0" covered="2"/></sourcefile><sourcefile name="Report.java"><line nr="46" mi="0" ci="2" mb="0" cb="0"/><line nr="49" mi="0" ci="5" mb="0" cb="0"/><line nr="52" mi="0" ci="5" mb="0" cb="0"/><line nr="55" mi="0" ci="5" mb="0" cb="0"/><line nr="58" mi="0" ci="3" mb="0" cb="0"/><line nr="61" mi="0" ci="4" mb="0" cb="0"/><line nr="77" mi="0" ci="2" mb="0" cb="0"/><line nr="83" mi="0" ci="4" mb="0" cb="0"/><line nr="84" mi="0" ci="6" mb="0" cb="0"/><line nr="86" mi="0" ci="5" mb="0" cb="0"/><line nr="87" mi="0" ci="2" mb="0" cb="0"/><line nr="92" mi="0" ci="4" mb="0" cb="0"/><line nr="93" mi="0" ci="4" mb="0" cb="2"/><line nr="94" mi="0" ci="4" mb="0" cb="0"/><line nr="96" mi="0" ci="11" mb="0" cb="2"/><line nr="97" mi="0" ci="11" mb="0" cb="0"/><line nr="99" mi="0" ci="4" mb="0" cb="0"/><line nr="102" mi="0" ci="2" mb="0" cb="0"/><line nr="107" mi="0" ci="4" mb="0" cb="0"/><line nr="108" mi="0" ci="6" mb="0" cb="0"/><line nr="109" mi="0" ci="11" mb="0" cb="2"/><line nr="110" mi="0" ci="5" mb="0" cb="0"/><line nr="112" mi="0" ci="5" mb="0" cb="0"/><line nr="113" mi="0" ci="5" mb="0" cb="0"/><line nr="118" mi="0" ci="3" mb="0" cb="2"/><line nr="119" mi="0" ci="3" mb="0" cb="0"/><line nr="121" mi="0" ci="3" mb="0" cb="0"/><line nr="123" mi="0" ci="10" mb="0" cb="2"/><line nr="124" mi="0" ci="12" mb="0" cb="0"/><line nr="129" mi="0" ci="1" mb="0" cb="0"/><line nr="134" mi="0" ci="13" mb="0" cb="0"/><line nr="136" mi="0" ci="3" mb="0" cb="0"/><line nr="137" mi="0" ci="8" mb="0" cb="0"/><line nr="139" mi="0" ci="5" mb="0" cb="0"/><line nr="140" mi="0" ci="2" mb="0" cb="0"/><line nr="141" mi="0" ci="1" mb="0" cb="0"/><line nr="144" mi="0" ci="4" mb="0" cb="0"/><line nr="146" mi="0" ci="3" mb="0" cb="2"/><line nr="147" mi="0" ci="4" mb="0" cb="0"/><line nr="148" mi="0" ci="10" mb="0" cb="0"/><line nr="151" mi="0" ci="3" mb="0" cb="2"/><line nr="152" mi="0" ci="4" mb="0" cb="0"/><line nr="153" mi="0" ci="10" mb="0" cb="0"/><line nr="156" mi="0" ci="3" mb="0" cb="2"/><line nr="157" mi="0" ci="4" mb="0" cb="0"/><line nr="158" mi="0" ci="10" mb="0" cb="0"/><line nr="162" mi="0" ci="5" mb="0" cb="0"/><line nr="166" mi="0" ci="6" mb="0" cb="0"/><line nr="168" mi="0" ci="11" mb="0" cb="2"/><line nr="169" mi="0" ci="11" mb="0" cb="0"/><line nr="171" mi="0" ci="2" mb="0" cb="0"/><counter type="INSTRUCTION" missed="0" covered="273"/><counter type="BRANCH" missed="0" covered="18"/><counter type="LINE" missed="0" covered="51"/><counter type="COMPLEXITY" missed="0" covered="18"/><counter type="METHOD" missed="0" covered="9"/><counter type="CLASS" missed="0" covered="1"/></sourcefile><sourcefile name="ExecInfo.java"><line nr="34" mi="0" ci="2" mb="0" cb="0"/><line nr="37" mi="0" ci="6" mb="0" cb="0"/><line nr="41" mi="0" ci="2" mb="0" cb="0"/><line nr="47" mi="0" ci="4" mb="0" cb="2"/><line nr="48" mi="0" ci="4" mb="0" cb="0"/><line nr="50" mi="0" ci="11" mb="0" cb="2"/><line nr="51" mi="0" ci="5" mb="0" cb="0"/><line nr="54" mi="0" ci="2" mb="0" cb="0"/><line nr="59" mi="0" ci="10" mb="0" cb="0"/><line nr="60" mi="0" ci="3" mb="0" cb="0"/><line nr="62" mi="0" ci="5" mb="0" cb="0"/><line nr="63" mi="0" ci="5" mb="0" cb="0"/><line nr="64" mi="0" ci="7" mb="0" cb="0"/><line nr="65" mi="0" ci="9" mb="0" cb="0"/><line nr="66" mi="0" ci="28" mb="0" cb="0"/><line nr="69" mi="0" ci="1" mb="0" cb="0"/><line nr="71" mi="0" ci="7" mb="0" cb="0"/><line nr="72" mi="0" ci="9" mb="0" cb="0"/><line nr="73" mi="0" ci="34" mb="0" cb="0"/><line nr="78" mi="0" ci="1" mb="0" cb="0"/><line nr="80" mi="0" ci="3" mb="0" cb="0"/><line nr="81" mi="0" ci="2" mb="0" cb="0"/><line nr="82" mi="0" ci="2" mb="0" cb="0"/><line nr="83" mi="0" ci="1" mb="0" cb="0"/><line nr="86" mi="0" ci="2" mb="0" cb="0"/><line nr="87" mi="0" ci="16" mb="0" cb="2"/><line nr="88" mi="0" ci="2" mb="0" cb="2"/><line nr="89" mi="0" ci="1" mb="0" cb="0"/><line nr="92" mi="0" ci="2" mb="0" cb="0"/><counter type="INSTRUCTION" missed="0" covered="186"/><counter type="BRANCH" missed="0" covered="8"/><counter type="LINE" missed="0" covered="29"/><counter type="COMPLEXITY" missed="0" covered="13"/><counter type="METHOD" missed="0" covered="9"/><counter type="CLASS" missed="0" covered="3"/></sourcefile><sourcefile name="Version.java"><line nr="24" mi="0" ci="3" mb="0" cb="0"/><line nr="28" mi="0" ci="2" mb="0" cb="0"/><line nr="34" mi="0" ci="3" mb="0" cb="0"/><line nr="35" mi="0" ci="2" mb="0" cb="0"/><counter type="INSTRUCTION" missed="0" covered="10"/><counter type="LINE" missed="0" covered="4"/><counter type="COMPLEXITY" missed="0" covered="3"/><counter type="METHOD" missed="0" covered="3"/><counter type="CLASS" missed="0" covered="1"/></sourcefile><sourcefile name="Merge.java"><line nr="29" mi="0" ci="2" mb="0" cb="0"/><line nr="32" mi="0" ci="6" mb="0" cb="0"/><line nr="39" mi="0" ci="2" mb="0" cb="0"/><line nr="45" mi="0" ci="4" mb="0" cb="0"/><line nr="46" mi="0" ci="12" mb="0" cb="0"/><line nr="48" mi="0" ci="5" mb="0" cb="0"/><line nr="49" mi="0" ci="2" mb="0" cb="0"/><line nr="54" mi="0" ci="4" mb="0" cb="0"/><line nr="55" mi="0" ci="4" mb="0" cb="2"/><line nr="56" mi="0" ci="4" mb="0" cb="0"/><line nr="58" mi="0" ci="11" mb="0" cb="2"/><line nr="59" mi="0" ci="11" mb="0" cb="0"/><line nr="61" mi="0" ci="4" mb="0" cb="0"/><line nr="64" mi="0" ci="2" mb="0" cb="0"/><counter type="INSTRUCTION" missed="0" covered="73"/><counter type="BRANCH" missed="0" covered="4"/><counter type="LINE" missed="0" covered="14"/><counter type="COMPLEXITY" missed="0" covered="6"/><counter type="METHOD" missed="0" covered="4"/><counter type="CLASS" missed="0" covered="1"/></sourcefile><sourcefile name="AllCommands.java"><line nr="32" mi="0" ci="46" mb="0" cb="0"/><line nr="40" mi="0" ci="4" mb="0" cb="0"/><line nr="41" mi="0" ci="10" mb="0" cb="2"/><line nr="42" mi="0" ci="3" mb="0" cb="2"/><line nr="43" mi="0" ci="4" mb="0" cb="0"/><line nr="45" mi="0" ci="6" mb="0" cb="0"/><line nr="47" mi="0" ci="3" mb="0" cb="0"/><counter type="INSTRUCTION" missed="0" covered="76"/><counter type="BRANCH" missed="0" covered="4"/><counter type="LINE" missed="0" covered="7"/><counter type="COMPLEXITY" missed="0" covered="4"/><counter type="METHOD" missed="0" covered="2"/><counter type="CLASS" missed="0" covered="1"/></sourcefile><counter type="INSTRUCTION" missed="0" covered="1100"/><counter type="BRANCH" missed="0" covered="56"/><counter type="LINE" missed="0" covered="184"/><counter type="COMPLEXITY" missed="0" covered="75"/><counter type="METHOD" missed="0" covered="47"/><counter type="CLASS" missed="0" covered="12"/></package><counter type="INSTRUCTION" missed="32" covered="1486"/><counter type="BRANCH" missed="0" covered="70"/><counter type="LINE" missed="10" covered="265"/><counter type="COMPLEXITY" missed="4" covered="105"/><counter type="METHOD" missed="4" covered="70"/><counter type="CLASS" missed="0" covered="20"/></group><group name="org.jacoco.examples"><package name="org/jacoco/examples"><class name="org/jacoco/examples/CoreTutorial$MemoryClassLoader" sourcefilename="CoreTutorial.java"><method name="&lt;init&gt;" desc="()V" line="61"><counter type="INSTRUCTION" missed="0" covered="8"/><counter type="LINE" missed="0" covered="2"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="addDefinition" desc="(Ljava/lang/String;[B)V" line="74"><counter type="INSTRUCTION" missed="0" covered="7"/><counter type="LINE" missed="0" covered="2"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="loadClass" desc="(Ljava/lang/String;Z)Ljava/lang/Class;" line="80"><counter type="INSTRUCTION" missed="0" covered="21"/><counter type="BRANCH" missed="0" covered="2"/><counter type="LINE" missed="0" covered="4"/><counter type="COMPLEXITY" missed="0" covered="2"/><counter type="METHOD" missed="0" covered="1"/></method><counter type="INSTRUCTION" missed="0" covered="36"/><counter type="BRANCH" missed="0" covered="2"/><counter type="LINE" missed="0" covered="8"/><counter type="COMPLEXITY" missed="0" covered="4"/><counter type="METHOD" missed="0" covered="3"/><counter type="CLASS" missed="0" covered="1"/></class><class name="org/jacoco/examples/ExecDump" sourcefilename="ExecDump.java"><method name="&lt;init&gt;" desc="(Ljava/io/PrintStream;)V" line="40"><counter type="INSTRUCTION" missed="0" covered="6"/><counter type="LINE" missed="0" covered="3"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="execute" desc="([Ljava/lang/String;)V" line="53"><counter type="INSTRUCTION" missed="0" covered="20"/><counter type="BRANCH" missed="0" covered="2"/><counter type="LINE" missed="0" covered="3"/><counter type="COMPLEXITY" missed="0" covered="2"/><counter type="METHOD" missed="0" covered="1"/></method><method name="dump" desc="(Ljava/lang/String;)V" line="59"><counter type="INSTRUCTION" missed="0" covered="46"/><counter type="LINE" missed="0" covered="10"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="getHitCount" desc="([Z)I" line="86"><counter type="INSTRUCTION" missed="0" covered="23"/><counter type="BRANCH" missed="0" covered="4"/><counter type="LINE" missed="0" covered="5"/><counter type="COMPLEXITY" missed="0" covered="3"/><counter type="METHOD" missed="0" covered="1"/></method><method name="main" desc="([Ljava/lang/String;)V" line="104"><counter type="INSTRUCTION" missed="7" covered="0"/><counter type="LINE" missed="2" covered="0"/><counter type="COMPLEXITY" missed="1" covered="0"/><counter type="METHOD" missed="1" covered="0"/></method><counter type="INSTRUCTION" missed="7" covered="95"/><counter type="BRANCH" missed="0" covered="6"/><counter type="LINE" missed="2" covered="21"/><counter type="COMPLEXITY" missed="1" covered="7"/><counter type="METHOD" missed="1" covered="4"/><counter type="CLASS" missed="0" covered="1"/></class><class name="org/jacoco/examples/MBeanClient$IProxy" sourcefilename="MBeanClient.java"/><class name="org/jacoco/examples/ExecutionDataServer" sourcefilename="ExecutionDataServer.java"><method name="main" desc="([Ljava/lang/String;)V" line="49"><counter type="INSTRUCTION" missed="29" covered="0"/><counter type="LINE" missed="5" covered="0"/><counter type="COMPLEXITY" missed="1" covered="0"/><counter type="METHOD" missed="1" covered="0"/></method><counter type="INSTRUCTION" missed="29" covered="0"/><counter type="LINE" missed="5" covered="0"/><counter type="COMPLEXITY" missed="1" covered="0"/><counter type="METHOD" missed="1" covered="0"/><counter type="CLASS" missed="1" covered="0"/></class><class name="org/jacoco/examples/MBeanClient" sourcefilename="MBeanClient.java"><method name="main" desc="([Ljava/lang/String;)V" line="43"><counter type="INSTRUCTION" missed="61" covered="0"/><counter type="LINE" missed="12" covered="0"/><counter type="COMPLEXITY" missed="1" covered="0"/><counter type="METHOD" missed="1" covered="0"/></method><counter type="INSTRUCTION" missed="61" covered="0"/><counter type="LINE" missed="12" covered="0"/><counter type="COMPLEXITY" missed="1" covered="0"/><counter type="METHOD" missed="1" covered="0"/><counter type="CLASS" missed="1" covered="0"/></class><class name="org/jacoco/examples/ExecutionDataServer$Handler" sourcefilename="ExecutionDataServer.java"><method name="&lt;init&gt;" desc="(Ljava/net/Socket;Lorg/jacoco/core/data/ExecutionDataWriter;)V" line="69"><counter type="INSTRUCTION" missed="30" covered="0"/><counter type="LINE" missed="8" covered="0"/><counter type="COMPLEXITY" missed="1" covered="0"/><counter type="METHOD" missed="1" covered="0"/></method><method name="run" desc="()V" line="83"><counter type="INSTRUCTION" missed="24" covered="0"/><counter type="BRANCH" missed="2" covered="0"/><counter type="LINE" missed="9" covered="0"/><counter type="COMPLEXITY" missed="2" covered="0"/><counter type="METHOD" missed="1" covered="0"/></method><method name="visitSessionInfo" desc="(Lorg/jacoco/core/data/SessionInfo;)V" line="95"><counter type="INSTRUCTION" missed="24" covered="0"/><counter type="LINE" missed="5" covered="0"/><counter type="COMPLEXITY" missed="1" covered="0"/><counter type="METHOD" missed="1" covered="0"/></method><method name="visitClassExecution" desc="(Lorg/jacoco/core/data/ExecutionData;)V" line="103"><counter type="INSTRUCTION" missed="13" covered="0"/><counter type="LINE" missed="4" covered="0"/><counter type="COMPLEXITY" missed="1" covered="0"/><counter type="METHOD" missed="1" covered="0"/></method><counter type="INSTRUCTION" missed="91" covered="0"/><counter type="BRANCH" missed="2" covered="0"/><counter type="LINE" missed="26" covered="0"/><counter type="COMPLEXITY" missed="5" covered="0"/><counter type="METHOD" missed="4" covered="0"/><counter type="CLASS" missed="1" covered="0"/></class><class name="org/jacoco/examples/ReportGenerator" sourcefilename="ReportGenerator.java"><method name="&lt;init&gt;" desc="(Ljava/io/File;)V" line="51"><counter type="INSTRUCTION" missed="35" covered="0"/><counter type="LINE" missed="7" covered="0"/><counter type="COMPLEXITY" missed="1" covered="0"/><counter type="METHOD" missed="1" covered="0"/></method><method name="create" desc="()V" line="68"><counter type="INSTRUCTION" missed="9" covered="0"/><counter type="LINE" missed="4" covered="0"/><counter type="COMPLEXITY" missed="1" covered="0"/><counter type="METHOD" missed="1" covered="0"/></method><method name="createReport" desc="(Lorg/jacoco/core/analysis/IBundleCoverage;)V" line="87"><counter type="INSTRUCTION" missed="35" covered="0"/><counter type="LINE" missed="6" covered="0"/><counter type="COMPLEXITY" missed="1" covered="0"/><counter type="METHOD" missed="1" covered="0"/></method><method name="loadExecutionData" desc="()V" line="109"><counter type="INSTRUCTION" missed="11" covered="0"/><counter type="LINE" missed="3" covered="0"/><counter type="COMPLEXITY" missed="1" covered="0"/><counter type="METHOD" missed="1" covered="0"/></method><method name="analyzeStructure" desc="()Lorg/jacoco/core/analysis/IBundleCoverage;" line="114"><counter type="INSTRUCTION" missed="22" covered="0"/><counter type="LINE" missed="4" covered="0"/><counter type="COMPLEXITY" missed="1" covered="0"/><counter type="METHOD" missed="1" covered="0"/></method><method name="main" desc="([Ljava/lang/String;)V" line="132"><counter type="INSTRUCTION" missed="21" covered="0"/><counter type="BRANCH" missed="2" covered="0"/><counter type="LINE" missed="4" covered="0"/><counter type="COMPLEXITY" missed="2" covered="0"/><counter type="METHOD" missed="1" covered="0"/></method><counter type="INSTRUCTION" missed="133" covered="0"/><counter type="BRANCH" missed="2" covered="0"/><counter type="LINE" missed="28" covered="0"/><counter type="COMPLEXITY" missed="7" covered="0"/><counter type="METHOD" missed="6" covered="0"/><counter type="CLASS" missed="1" covered="0"/></class><class name="org/jacoco/examples/CoreTutorial" sourcefilename="CoreTutorial.java"><method name="&lt;init&gt;" desc="(Ljava/io/PrintStream;)V" line="97"><counter type="INSTRUCTION" missed="0" covered="6"/><counter type="LINE" missed="0" covered="3"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="execute" desc="()V" line="108"><counter type="INSTRUCTION" missed="0" covered="163"/><counter type="BRANCH" missed="0" covered="4"/><counter type="LINE" missed="0" covered="32"/><counter type="COMPLEXITY" missed="0" covered="3"/><counter type="METHOD" missed="0" covered="1"/></method><method name="getTargetClass" desc="(Ljava/lang/String;)Ljava/io/InputStream;" line="169"><counter type="INSTRUCTION" missed="0" covered="19"/><counter type="LINE" missed="0" covered="2"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="printCounter" desc="(Ljava/lang/String;Lorg/jacoco/core/analysis/ICounter;)V" line="174"><counter type="INSTRUCTION" missed="0" covered="28"/><counter type="LINE" missed="0" covered="4"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="getColor" desc="(I)Ljava/lang/String;" line="180"><counter type="INSTRUCTION" missed="0" covered="10"/><counter type="BRANCH" missed="0" covered="4"/><counter type="LINE" missed="0" covered="5"/><counter type="COMPLEXITY" missed="0" covered="4"/><counter type="METHOD" missed="0" covered="1"/></method><method name="main" desc="([Ljava/lang/String;)V" line="200"><counter type="INSTRUCTION" missed="6" covered="0"/><counter type="LINE" missed="2" covered="0"/><counter type="COMPLEXITY" missed="1" covered="0"/><counter type="METHOD" missed="1" covered="0"/></method><counter type="INSTRUCTION" missed="6" covered="226"/><counter type="BRANCH" missed="0" covered="8"/><counter type="LINE" missed="2" covered="46"/><counter type="COMPLEXITY" missed="1" covered="10"/><counter type="METHOD" missed="1" covered="5"/><counter type="CLASS" missed="0" covered="1"/></class><class name="org/jacoco/examples/CoreTutorial$TestTarget" sourcefilename="CoreTutorial.java"><method name="&lt;init&gt;" desc="()V" line="41"><counter type="INSTRUCTION" missed="3" covered="0"/><counter type="LINE" missed="1" covered="0"/><counter type="COMPLEXITY" missed="1" covered="0"/><counter type="METHOD" missed="1" covered="0"/></method><method name="run" desc="()V" line="44"><counter type="INSTRUCTION" missed="5" covered="0"/><counter type="LINE" missed="2" covered="0"/><counter type="COMPLEXITY" missed="1" covered="0"/><counter type="METHOD" missed="1" covered="0"/></method><method name="isPrime" desc="(I)Z" line="48"><counter type="INSTRUCTION" missed="17" covered="0"/><counter type="BRANCH" missed="4" covered="0"/><counter type="LINE" missed="4" covered="0"/><counter type="COMPLEXITY" missed="3" covered="0"/><counter type="METHOD" missed="1" covered="0"/></method><counter type="INSTRUCTION" missed="25" covered="0"/><counter type="BRANCH" missed="4" covered="0"/><counter type="LINE" missed="7" covered="0"/><counter type="COMPLEXITY" missed="5" covered="0"/><counter type="METHOD" missed="3" covered="0"/><counter type="CLASS" missed="1" covered="0"/></class><class name="org/jacoco/examples/ExecutionDataClient" sourcefilename="ExecutionDataClient.java"><method name="main" desc="([Ljava/lang/String;)V" line="44"><counter type="INSTRUCTION" missed="52" covered="0"/><counter type="BRANCH" missed="2" covered="0"/><counter type="LINE" missed="13" covered="0"/><counter type="COMPLEXITY" missed="2" covered="0"/><counter type="METHOD" missed="1" covered="0"/></method><counter type="INSTRUCTION" missed="52" covered="0"/><counter type="BRANCH" missed="2" covered="0"/><counter type="LINE" missed="13" covered="0"/><counter type="COMPLEXITY" missed="2" covered="0"/><counter type="METHOD" missed="1" covered="0"/><counter type="CLASS" missed="1" covered="0"/></class><class name="org/jacoco/examples/ClassInfo" sourcefilename="ClassInfo.java"><method name="&lt;init&gt;" desc="(Ljava/io/PrintStream;)V" line="39"><counter type="INSTRUCTION" missed="0" covered="15"/><counter type="LINE" missed="0" covered="4"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="execute" desc="([Ljava/lang/String;)V" line="53"><counter type="INSTRUCTION" missed="0" covered="25"/><counter type="BRANCH" missed="0" covered="2"/><counter type="LINE" missed="0" covered="3"/><counter type="COMPLEXITY" missed="0" covered="2"/><counter type="METHOD" missed="0" covered="1"/></method><method name="visitCoverage" desc="(Lorg/jacoco/core/analysis/IClassCoverage;)V" line="59"><counter type="INSTRUCTION" missed="0" covered="96"/><counter type="LINE" missed="0" covered="8"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="main" desc="([Ljava/lang/String;)V" line="82"><counter type="INSTRUCTION" missed="7" covered="0"/><counter type="LINE" missed="2" covered="0"/><counter type="COMPLEXITY" missed="1" covered="0"/><counter type="METHOD" missed="1" covered="0"/></method><counter type="INSTRUCTION" missed="7" covered="136"/><counter type="BRANCH" missed="0" covered="2"/><counter type="LINE" missed="2" covered="15"/><counter type="COMPLEXITY" missed="1" covered="4"/><counter type="METHOD" missed="1" covered="3"/><counter type="CLASS" missed="0" covered="1"/></class><class name="org/jacoco/examples/ExecDump$2" sourcefilename="ExecDump.java"><method name="&lt;init&gt;" desc="(Lorg/jacoco/examples/ExecDump;)V" line="72"><counter type="INSTRUCTION" missed="0" covered="6"/><counter type="LINE" missed="0" covered="1"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="visitClassExecution" desc="(Lorg/jacoco/core/data/ExecutionData;)V" line="73"><counter type="INSTRUCTION" missed="0" covered="36"/><counter type="LINE" missed="0" covered="2"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><counter type="INSTRUCTION" missed="0" covered="42"/><counter type="LINE" missed="0" covered="3"/><counter type="COMPLEXITY" missed="0" covered="2"/><counter type="METHOD" missed="0" covered="2"/><counter type="CLASS" missed="0" covered="1"/></class><class name="org/jacoco/examples/ExecDump$1" sourcefilename="ExecDump.java"><method name="&lt;init&gt;" desc="(Lorg/jacoco/examples/ExecDump;)V" line="65"><counter type="INSTRUCTION" missed="0" covered="6"/><counter type="LINE" missed="0" covered="1"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="visitSessionInfo" desc="(Lorg/jacoco/core/data/SessionInfo;)V" line="66"><counter type="INSTRUCTION" missed="0" covered="30"/><counter type="LINE" missed="0" covered="2"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><counter type="INSTRUCTION" missed="0" covered="36"/><counter type="LINE" missed="0" covered="3"/><counter type="COMPLEXITY" missed="0" covered="2"/><counter type="METHOD" missed="0" covered="2"/><counter type="CLASS" missed="0" covered="1"/></class><sourcefile name="MBeanClient.java"><line nr="43" mi="5" ci="0" mb="0" cb="0"/><line nr="44" mi="4" ci="0" mb="0" cb="0"/><line nr="45" mi="3" ci="0" mb="0" cb="0"/><line nr="48" mi="10" ci="0" mb="0" cb="0"/><line nr="54" mi="11" ci="0" mb="0" cb="0"/><line nr="55" mi="11" ci="0" mb="0" cb="0"/><line nr="58" mi="4" ci="0" mb="0" cb="0"/><line nr="59" mi="5" ci="0" mb="0" cb="0"/><line nr="60" mi="3" ci="0" mb="0" cb="0"/><line nr="61" mi="2" ci="0" mb="0" cb="0"/><line nr="64" mi="2" ci="0" mb="0" cb="0"/><line nr="65" mi="1" ci="0" mb="0" cb="0"/><counter type="INSTRUCTION" missed="61" covered="0"/><counter type="LINE" missed="12" covered="0"/><counter type="COMPLEXITY" missed="1" covered="0"/><counter type="METHOD" missed="1" covered="0"/><counter type="CLASS" missed="1" covered="0"/></sourcefile><sourcefile name="ExecDump.java"><line nr="40" mi="0" ci="2" mb="0" cb="0"/><line nr="41" mi="0" ci="3" mb="0" cb="0"/><line nr="42" mi="0" ci="1" mb="0" cb="0"/><line nr="53" mi="0" ci="16" mb="0" cb="2"/><line nr="54" mi="0" ci="3" mb="0" cb="0"/><line nr="56" mi="0" ci="1" mb="0" cb="0"/><line nr="59" mi="0" ci="11" mb="0" cb="0"/><line nr="60" mi="0" ci="4" mb="0" cb="0"/><line nr="62" mi="0" ci="5" mb="0" cb="0"/><line nr="63" mi="0" ci="5" mb="0" cb="0"/><line nr="64" mi="0" ci="6" mb="0" cb="0"/><line nr="65" mi="0" ci="6" mb="0" cb="0"/><line nr="66" mi="0" ci="29" mb="0" cb="0"/><line nr="69" mi="0" ci="1" mb="0" cb="0"/><line nr="71" mi="0" ci="6" mb="0" cb="0"/><line nr="72" mi="0" ci="6" mb="0" cb="0"/><line nr="73" mi="0" ci="35" mb="0" cb="0"/><line nr="78" mi="0" ci="1" mb="0" cb="0"/><line nr="80" mi="0" ci="3" mb="0" cb="0"/><line nr="81" mi="0" ci="2" mb="0" cb="0"/><line nr="82" mi="0" ci="3" mb="0" cb="0"/><line nr="83" mi="0" ci="1" mb="0" cb="0"/><line nr="86" mi="0" ci="2" mb="0" cb="0"/><line nr="87" mi="0" ci="16" mb="0" cb="2"/><line nr="88" mi="0" ci="2" mb="0" cb="2"/><line nr="89" mi="0" ci="1" mb="0" cb="0"/><line nr="92" mi="0" ci="2" mb="0" cb="0"/><line nr="104" mi="6" ci="0" mb="0" cb="0"/><line nr="105" mi="1" ci="0" mb="0" cb="0"/><counter type="INSTRUCTION" missed="7" covered="173"/><counter type="BRANCH" missed="0" covered="6"/><counter type="LINE" missed="2" covered="27"/><counter type="COMPLEXITY" missed="1" covered="11"/><counter type="METHOD" missed="1" covered="8"/><counter type="CLASS" missed="0" covered="3"/></sourcefile><sourcefile name="ExecutionDataClient.java"><line nr="44" mi="5" ci="0" mb="0" cb="0"/><line nr="45" mi="5" ci="0" mb="0" cb="0"/><line nr="49" mi="7" ci="0" mb="0" cb="0"/><line nr="50" mi="6" ci="0" mb="0" cb="0"/><line nr="52" mi="6" ci="0" mb="0" cb="0"/><line nr="54" mi="3" ci="0" mb="0" cb="0"/><line nr="55" mi="3" ci="0" mb="0" cb="0"/><line nr="58" mi="4" ci="0" mb="0" cb="0"/><line nr="59" mi="3" ci="0" mb="2" cb="0"/><line nr="60" mi="5" ci="0" mb="0" cb="0"/><line nr="63" mi="2" ci="0" mb="0" cb="0"/><line nr="64" mi="2" ci="0" mb="0" cb="0"/><line nr="65" mi="1" ci="0" mb="0" cb="0"/><counter type="INSTRUCTION" missed="52" covered="0"/><counter type="BRANCH" missed="2" covered="0"/><counter type="LINE" missed="13" covered="0"/><counter type="COMPLEXITY" missed="2" covered="0"/><counter type="METHOD" missed="1" covered="0"/><counter type="CLASS" missed="1" covered="0"/></sourcefile><sourcefile name="CoreTutorial.java"><line nr="41" mi="3" ci="0" mb="0" cb="0"/><line nr="44" mi="4" ci="0" mb="0" cb="0"/><line nr="45" mi="1" ci="0" mb="0" cb="0"/><line nr="48" mi="9" ci="0" mb="2" cb="0"/><line nr="49" mi="4" ci="0" mb="2" cb="0"/><line nr="50" mi="2" ci="0" mb="0" cb="0"/><line nr="53" mi="2" ci="0" mb="0" cb="0"/><line nr="61" mi="0" ci="2" mb="0" cb="0"/><line nr="63" mi="0" ci="6" mb="0" cb="0"/><line nr="74" mi="0" ci="6" mb="0" cb="0"/><line nr="75" mi="0" ci="1" mb="0" cb="0"/><line nr="80" mi="0" ci="6" mb="0" cb="0"/><line nr="81" mi="0" ci="2" mb="0" cb="2"/><line nr="82" mi="0" ci="8" mb="0" cb="0"/><line nr="84" mi="0" ci="5" mb="0" cb="0"/><line nr="97" mi="0" ci="2" mb="0" cb="0"/><line nr="98" mi="0" ci="3" mb="0" cb="0"/><line nr="99" mi="0" ci="1" mb="0" cb="0"/><line nr="108" mi="0" ci="3" mb="0" cb="0"/><line nr="112" mi="0" ci="4" mb="0" cb="0"/><line nr="116" mi="0" ci="5" mb="0" cb="0"/><line nr="117" mi="0" ci="4" mb="0" cb="0"/><line nr="118" mi="0" ci="5" mb="0" cb="0"/><line nr="119" mi="0" ci="2" mb="0" cb="0"/><line nr="123" mi="0" ci="4" mb="0" cb="0"/><line nr="124" mi="0" ci="3" mb="0" cb="0"/><line nr="128" mi="0" ci="4" mb="0" cb="0"/><line nr="129" mi="0" ci="4" mb="0" cb="0"/><line nr="130" mi="0" ci="4" mb="0" cb="0"/><line nr="133" mi="0" ci="4" mb="0" cb="0"/><line nr="134" mi="0" ci="2" mb="0" cb="0"/><line nr="138" mi="0" ci="4" mb="0" cb="0"/><line nr="139" mi="0" ci="4" mb="0" cb="0"/><line nr="140" mi="0" ci="5" mb="0" cb="0"/><line nr="141" mi="0" ci="2" mb="0" cb="0"/><line nr="145" mi="0" ci="4" mb="0" cb="0"/><line nr="146" mi="0" ci="6" mb="0" cb="0"/><line nr="147" mi="0" ci="4" mb="0" cb="0"/><line nr="148" mi="0" ci="4" mb="0" cb="0"/><line nr="149" mi="0" ci="2" mb="0" cb="0"/><line nr="152" mi="0" ci="11" mb="0" cb="2"/><line nr="153" mi="0" ci="12" mb="0" cb="0"/><line nr="155" mi="0" ci="5" mb="0" cb="0"/><line nr="156" mi="0" ci="5" mb="0" cb="0"/><line nr="157" mi="0" ci="5" mb="0" cb="0"/><line nr="158" mi="0" ci="5" mb="0" cb="0"/><line nr="159" mi="0" ci="5" mb="0" cb="0"/><line nr="161" mi="0" ci="10" mb="0" cb="2"/><line nr="162" mi="0" ci="21" mb="0" cb="0"/><line nr="166" mi="0" ci="1" mb="0" cb="0"/><line nr="169" mi="0" ci="14" mb="0" cb="0"/><line nr="170" mi="0" ci="5" mb="0" cb="0"/><line nr="174" mi="0" ci="4" mb="0" cb="0"/><line nr="175" mi="0" ci="4" mb="0" cb="0"/><line nr="176" mi="0" ci="19" mb="0" cb="0"/><line nr="177" mi="0" ci="1" mb="0" cb="0"/><line nr="180" mi="0" ci="2" mb="0" cb="4"/><line nr="182" mi="0" ci="2" mb="0" cb="0"/><line nr="184" mi="0" ci="2" mb="0" cb="0"/><line nr="186" mi="0" ci="2" mb="0" cb="0"/><line nr="188" mi="0" ci="2" mb="0" cb="0"/><line nr="200" mi="5" ci="0" mb="0" cb="0"/><line nr="201" mi="1" ci="0" mb="0" cb="0"/><counter type="INSTRUCTION" missed="31" covered="262"/><counter type="BRANCH" missed="4" covered="10"/><counter type="LINE" missed="9" covered="54"/><counter type="COMPLEXITY" missed="6" covered="14"/><counter type="METHOD" missed="4" covered="8"/><counter type="CLASS" missed="1" covered="2"/></sourcefile><sourcefile name="ClassInfo.java"><line nr="39" mi="0" ci="2" mb="0" cb="0"/><line nr="40" mi="0" ci="3" mb="0" cb="0"/><line nr="41" mi="0" ci="9" mb="0" cb="0"/><line nr="42" mi="0" ci="1" mb="0" cb="0"/><line nr="53" mi="0" ci="16" mb="0" cb="2"/><line nr="54" mi="0" ci="8" mb="0" cb="0"/><line nr="56" mi="0" ci="1" mb="0" cb="0"/><line nr="59" mi="0" ci="12" mb="0" cb="0"/><line nr="60" mi="0" ci="13" mb="0" cb="0"/><line nr="61" mi="0" ci="14" mb="0" cb="0"/><line nr="63" mi="0" ci="14" mb="0" cb="0"/><line nr="65" mi="0" ci="14" mb="0" cb="0"/><line nr="67" mi="0" ci="14" mb="0" cb="0"/><line nr="69" mi="0" ci="14" mb="0" cb="0"/><line nr="71" mi="0" ci="1" mb="0" cb="0"/><line nr="82" mi="6" ci="0" mb="0" cb="0"/><line nr="83" mi="1" ci="0" mb="0" cb="0"/><counter type="INSTRUCTION" missed="7" covered="136"/><counter type="BRANCH" missed="0" covered="2"/><counter type="LINE" missed="2" covered="15"/><counter type="COMPLEXITY" missed="1" covered="4"/><counter type="METHOD" missed="1" covered="3"/><counter type="CLASS" missed="0" covered="1"/></sourcefile><sourcefile name="ExecutionDataServer.java"><line nr="49" mi="8" ci="0" mb="0" cb="0"/><line nr="51" mi="8" ci="0" mb="0" cb="0"/><line nr="54" mi="7" ci="0" mb="0" cb="0"/><line nr="55" mi="5" ci="0" mb="0" cb="0"/><line nr="56" mi="1" ci="0" mb="0" cb="0"/><line nr="69" mi="2" ci="0" mb="0" cb="0"/><line nr="70" mi="3" ci="0" mb="0" cb="0"/><line nr="71" mi="3" ci="0" mb="0" cb="0"/><line nr="74" mi="6" ci="0" mb="0" cb="0"/><line nr="76" mi="7" ci="0" mb="0" cb="0"/><line nr="77" mi="4" ci="0" mb="0" cb="0"/><line nr="78" mi="4" ci="0" mb="0" cb="0"/><line nr="79" mi="1" ci="0" mb="0" cb="0"/><line nr="83" mi="5" ci="0" mb="2" cb="0"/><line nr="85" mi="3" ci="0" mb="0" cb="0"/><line nr="86" mi="5" ci="0" mb="0" cb="0"/><line nr="87" mi="3" ci="0" mb="0" cb="0"/><line nr="88" mi="3" ci="0" mb="0" cb="0"/><line nr="89" mi="1" ci="0" mb="0" cb="0"/><line nr="90" mi="2" ci="0" mb="0" cb="0"/><line nr="91" mi="1" ci="0" mb="0" cb="0"/><line nr="92" mi="1" ci="0" mb="0" cb="0"/><line nr="95" mi="11" ci="0" mb="0" cb="0"/><line nr="97" mi="5" ci="0" mb="0" cb="0"/><line nr="98" mi="4" ci="0" mb="0" cb="0"/><line nr="99" mi="3" ci="0" mb="0" cb="0"/><line nr="100" mi="1" ci="0" mb="0" cb="0"/><line nr="103" mi="5" ci="0" mb="0" cb="0"/><line nr="104" mi="4" ci="0" mb="0" cb="0"/><line nr="105" mi="3" ci="0" mb="0" cb="0"/><line nr="106" mi="1" ci="0" mb="0" cb="0"/><counter type="INSTRUCTION" missed="120" covered="0"/><counter type="BRANCH" missed="2" covered="0"/><counter type="LINE" missed="31" covered="0"/><counter type="COMPLEXITY" missed="6" covered="0"/><counter type="METHOD" missed="5" covered="0"/><counter type="CLASS" missed="2" covered="0"/></sourcefile><sourcefile name="ReportGenerator.java"><line nr="51" mi="2" ci="0" mb="0" cb="0"/><line nr="52" mi="4" ci="0" mb="0" cb="0"/><line nr="53" mi="7" ci="0" mb="0" cb="0"/><line nr="54" mi="7" ci="0" mb="0" cb="0"/><line nr="55" mi="7" ci="0" mb="0" cb="0"/><line nr="56" mi="7" ci="0" mb="0" cb="0"/><line nr="57" mi="1" ci="0" mb="0" cb="0"/><line nr="68" mi="2" ci="0" mb="0" cb="0"/><line nr="76" mi="3" ci="0" mb="0" cb="0"/><line nr="78" mi="3" ci="0" mb="0" cb="0"/><line nr="80" mi="1" ci="0" mb="0" cb="0"/><line nr="87" mi="4" ci="0" mb="0" cb="0"/><line nr="88" mi="8" ci="0" mb="0" cb="0"/><line nr="94" mi="10" ci="0" mb="0" cb="0"/><line nr="99" mi="10" ci="0" mb="0" cb="0"/><line nr="104" mi="2" ci="0" mb="0" cb="0"/><line nr="106" mi="1" ci="0" mb="0" cb="0"/><line nr="109" mi="5" ci="0" mb="0" cb="0"/><line nr="110" mi="5" ci="0" mb="0" cb="0"/><line nr="111" mi="1" ci="0" mb="0" cb="0"/><line nr="114" mi="4" ci="0" mb="0" cb="0"/><line nr="115" mi="8" ci="0" mb="0" cb="0"/><line nr="118" mi="5" ci="0" mb="0" cb="0"/><line nr="120" mi="5" ci="0" mb="0" cb="0"/><line nr="132" mi="8" ci="0" mb="2" cb="0"/><line nr="133" mi="10" ci="0" mb="0" cb="0"/><line nr="135" mi="2" ci="0" mb="0" cb="0"/><line nr="137" mi="1" ci="0" mb="0" cb="0"/><counter type="INSTRUCTION" missed="133" covered="0"/><counter type="BRANCH" missed="2" covered="0"/><counter type="LINE" missed="28" covered="0"/><counter type="COMPLEXITY" missed="7" covered="0"/><counter type="METHOD" missed="6" covered="0"/><counter type="CLASS" missed="1" covered="0"/></sourcefile><counter type="INSTRUCTION" missed="411" covered="571"/><counter type="BRANCH" missed="10" covered="18"/><counter type="LINE" missed="97" covered="96"/><counter type="COMPLEXITY" missed="24" covered="29"/><counter type="METHOD" missed="19" covered="19"/><counter type="CLASS" missed="6" covered="6"/></package><counter type="INSTRUCTION" missed="411" covered="571"/><counter type="BRANCH" missed="10" covered="18"/><counter type="LINE" missed="97" covered="96"/><counter type="COMPLEXITY" missed="24" covered="29"/><counter type="METHOD" missed="19" covered="19"/><counter type="CLASS" missed="6" covered="6"/></group><group name="jacoco-maven-plugin"><package name="org/jacoco/maven"><class name="org/jacoco/maven/ReportAggregateMojo" sourcefilename="ReportAggregateMojo.java"><method name="&lt;init&gt;" desc="()V" line="57"><counter type="INSTRUCTION" missed="0" covered="3"/><counter type="LINE" missed="0" covered="1"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="canGenerateReportRegardingDataFiles" desc="()Z" line="102"><counter type="INSTRUCTION" missed="0" covered="2"/><counter type="LINE" missed="0" covered="1"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="canGenerateReportRegardingClassesDirectory" desc="()Z" line="107"><counter type="INSTRUCTION" missed="0" covered="2"/><counter type="LINE" missed="0" covered="1"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="loadExecutionData" desc="(Lorg/jacoco/maven/ReportSupport;)V" line="113"><counter type="INSTRUCTION" missed="0" covered="64"/><counter type="BRANCH" missed="0" covered="4"/><counter type="LINE" missed="0" covered="8"/><counter type="COMPLEXITY" missed="0" covered="3"/><counter type="METHOD" missed="0" covered="1"/></method><method name="loadExecutionData" desc="(Lorg/jacoco/maven/ReportSupport;Lorg/jacoco/maven/FileFilter;Ljava/io/File;)V" line="129"><counter type="INSTRUCTION" missed="0" covered="17"/><counter type="BRANCH" missed="0" covered="2"/><counter type="LINE" missed="0" covered="4"/><counter type="COMPLEXITY" missed="0" covered="2"/><counter type="METHOD" missed="0" covered="1"/></method><method name="getOutputDirectory" desc="()Ljava/io/File;" line="136"><counter type="INSTRUCTION" missed="0" covered="3"/><counter type="LINE" missed="0" covered="1"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="createReport" desc="(Lorg/jacoco/report/IReportGroupVisitor;Lorg/jacoco/maven/ReportSupport;)V" line="142"><counter type="INSTRUCTION" missed="0" covered="46"/><counter type="BRANCH" missed="0" covered="4"/><counter type="LINE" missed="0" covered="7"/><counter type="COMPLEXITY" missed="0" covered="3"/><counter type="METHOD" missed="0" covered="1"/></method><method name="processProject" desc="(Lorg/jacoco/maven/ReportSupport;Lorg/jacoco/report/IReportGroupVisitor;Lorg/apache/maven/project/MavenProject;)V" line="156"><counter type="INSTRUCTION" missed="0" covered="13"/><counter type="LINE" missed="0" covered="3"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="getReportOutputDirectory" desc="()Ljava/io/File;" line="161"><counter type="INSTRUCTION" missed="3" covered="0"/><counter type="LINE" missed="1" covered="0"/><counter type="COMPLEXITY" missed="1" covered="0"/><counter type="METHOD" missed="1" covered="0"/></method><method name="setReportOutputDirectory" desc="(Ljava/io/File;)V" line="165"><counter type="INSTRUCTION" missed="3" covered="16"/><counter type="BRANCH" missed="2" covered="2"/><counter type="LINE" missed="1" covered="4"/><counter type="COMPLEXITY" missed="2" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="getOutputName" desc="()Ljava/lang/String;" line="175"><counter type="INSTRUCTION" missed="0" covered="2"/><counter type="LINE" missed="0" covered="1"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="getName" desc="(Ljava/util/Locale;)Ljava/lang/String;" line="179"><counter type="INSTRUCTION" missed="0" covered="2"/><counter type="LINE" missed="0" covered="1"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="findDependencies" desc="([Ljava/lang/String;)Ljava/util/List;" line="183"><counter type="INSTRUCTION" missed="0" covered="39"/><counter type="BRANCH" missed="0" covered="6"/><counter type="LINE" missed="0" covered="10"/><counter type="COMPLEXITY" missed="0" covered="4"/><counter type="METHOD" missed="0" covered="1"/></method><method name="findProjectFromReactor" desc="(Lorg/apache/maven/model/Dependency;)Lorg/apache/maven/project/MavenProject;" line="207"><counter type="INSTRUCTION" missed="6" covered="43"/><counter type="BRANCH" missed="0" covered="8"/><counter type="LINE" missed="2" covered="12"/><counter type="COMPLEXITY" missed="0" covered="5"/><counter type="METHOD" missed="0" covered="1"/></method><counter type="INSTRUCTION" missed="12" covered="252"/><counter type="BRANCH" missed="2" covered="26"/><counter type="LINE" missed="4" covered="54"/><counter type="COMPLEXITY" missed="3" covered="25"/><counter type="METHOD" missed="1" covered="13"/><counter type="CLASS" missed="0" covered="1"/></class><class name="org/jacoco/maven/ReportITMojo" sourcefilename="ReportITMojo.java"><method name="&lt;init&gt;" desc="()V" line="36"><counter type="INSTRUCTION" missed="0" covered="3"/><counter type="LINE" missed="0" covered="1"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="canGenerateReportRegardingDataFiles" desc="()Z" line="56"><counter type="INSTRUCTION" missed="0" covered="4"/><counter type="LINE" missed="0" covered="1"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="canGenerateReportRegardingClassesDirectory" desc="()Z" line="61"><counter type="INSTRUCTION" missed="0" covered="9"/><counter type="LINE" missed="0" covered="1"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="loadExecutionData" desc="(Lorg/jacoco/maven/ReportSupport;)V" line="66"><counter type="INSTRUCTION" missed="0" covered="5"/><counter type="LINE" missed="0" covered="2"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="getOutputDirectory" desc="()Ljava/io/File;" line="71"><counter type="INSTRUCTION" missed="0" covered="3"/><counter type="LINE" missed="0" covered="1"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="createReport" desc="(Lorg/jacoco/report/IReportGroupVisitor;Lorg/jacoco/maven/ReportSupport;)V" line="77"><counter type="INSTRUCTION" missed="0" covered="14"/><counter type="LINE" missed="0" covered="3"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="getReportOutputDirectory" desc="()Ljava/io/File;" line="82"><counter type="INSTRUCTION" missed="3" covered="0"/><counter type="LINE" missed="1" covered="0"/><counter type="COMPLEXITY" missed="1" covered="0"/><counter type="METHOD" missed="1" covered="0"/></method><method name="setReportOutputDirectory" desc="(Ljava/io/File;)V" line="86"><counter type="INSTRUCTION" missed="3" covered="16"/><counter type="BRANCH" missed="2" covered="2"/><counter type="LINE" missed="1" covered="4"/><counter type="COMPLEXITY" missed="2" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="getOutputName" desc="()Ljava/lang/String;" line="95"><counter type="INSTRUCTION" missed="0" covered="2"/><counter type="LINE" missed="0" covered="1"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="getName" desc="(Ljava/util/Locale;)Ljava/lang/String;" line="99"><counter type="INSTRUCTION" missed="0" covered="2"/><counter type="LINE" missed="0" covered="1"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><counter type="INSTRUCTION" missed="6" covered="58"/><counter type="BRANCH" missed="2" covered="2"/><counter type="LINE" missed="2" covered="15"/><counter type="COMPLEXITY" missed="3" covered="9"/><counter type="METHOD" missed="1" covered="9"/><counter type="CLASS" missed="0" covered="1"/></class><class name="org/jacoco/maven/DumpMojo" sourcefilename="DumpMojo.java"><method name="&lt;init&gt;" desc="()V" line="43"><counter type="INSTRUCTION" missed="0" covered="3"/><counter type="LINE" missed="0" covered="1"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="executeMojo" desc="()V" line="94"><counter type="INSTRUCTION" missed="7" covered="48"/><counter type="BRANCH" missed="1" covered="1"/><counter type="LINE" missed="2" covered="11"/><counter type="COMPLEXITY" missed="1" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><counter type="INSTRUCTION" missed="7" covered="51"/><counter type="BRANCH" missed="1" covered="1"/><counter type="LINE" missed="2" covered="12"/><counter type="COMPLEXITY" missed="1" covered="2"/><counter type="METHOD" missed="0" covered="2"/><counter type="CLASS" missed="0" covered="1"/></class><class name="org/jacoco/maven/RestoreMojo" sourcefilename="RestoreMojo.java"><method name="&lt;init&gt;" desc="()V" line="30"><counter type="INSTRUCTION" missed="0" covered="3"/><counter type="LINE" missed="0" covered="1"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="executeMojo" desc="()V" line="35"><counter type="INSTRUCTION" missed="7" covered="22"/><counter type="LINE" missed="2" covered="7"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><counter type="INSTRUCTION" missed="7" covered="25"/><counter type="LINE" missed="2" covered="8"/><counter type="COMPLEXITY" missed="0" covered="2"/><counter type="METHOD" missed="0" covered="2"/><counter type="CLASS" missed="0" covered="1"/></class><class name="org/jacoco/maven/AbstractJacocoMojo" sourcefilename="AbstractJacocoMojo.java"><method name="&lt;init&gt;" desc="()V" line="24"><counter type="INSTRUCTION" missed="0" covered="3"/><counter type="LINE" missed="0" covered="1"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="execute" desc="()V" line="40"><counter type="INSTRUCTION" missed="0" covered="13"/><counter type="BRANCH" missed="0" covered="2"/><counter type="LINE" missed="0" covered="6"/><counter type="COMPLEXITY" missed="0" covered="2"/><counter type="METHOD" missed="0" covered="1"/></method><method name="skipMojo" desc="()V" line="67"><counter type="INSTRUCTION" missed="1" covered="0"/><counter type="LINE" missed="1" covered="0"/><counter type="COMPLEXITY" missed="1" covered="0"/><counter type="METHOD" missed="1" covered="0"/></method><method name="getProject" desc="()Lorg/apache/maven/project/MavenProject;" line="73"><counter type="INSTRUCTION" missed="0" covered="3"/><counter type="LINE" missed="0" covered="1"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><counter type="INSTRUCTION" missed="1" covered="19"/><counter type="BRANCH" missed="0" covered="2"/><counter type="LINE" missed="1" covered="8"/><counter type="COMPLEXITY" missed="1" covered="4"/><counter type="METHOD" missed="1" covered="3"/><counter type="CLASS" missed="0" covered="1"/></class><class name="org/jacoco/maven/CheckMojo" sourcefilename="CheckMojo.java"><method name="&lt;init&gt;" desc="()V" line="38"><counter type="INSTRUCTION" missed="0" covered="3"/><counter type="LINE" missed="0" covered="1"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="canCheckCoverage" desc="()Z" line="149"><counter type="INSTRUCTION" missed="27" covered="17"/><counter type="BRANCH" missed="2" covered="2"/><counter type="LINE" missed="4" covered="5"/><counter type="COMPLEXITY" missed="2" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="executeMojo" desc="()V" line="166"><counter type="INSTRUCTION" missed="1" covered="6"/><counter type="BRANCH" missed="1" covered="1"/><counter type="LINE" missed="1" covered="3"/><counter type="COMPLEXITY" missed="1" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="executeCheck" desc="()V" line="173"><counter type="INSTRUCTION" missed="15" covered="74"/><counter type="BRANCH" missed="0" covered="6"/><counter type="LINE" missed="3" covered="18"/><counter type="COMPLEXITY" missed="0" covered="4"/><counter type="METHOD" missed="0" covered="1"/></method><method name="onViolation" desc="(Lorg/jacoco/core/analysis/ICoverageNode;Lorg/jacoco/report/check/Rule;Lorg/jacoco/report/check/Limit;Ljava/lang/String;)V" line="205"><counter type="INSTRUCTION" missed="0" covered="8"/><counter type="LINE" missed="0" covered="3"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><counter type="INSTRUCTION" missed="43" covered="108"/><counter type="BRANCH" missed="3" covered="9"/><counter type="LINE" missed="8" covered="30"/><counter type="COMPLEXITY" missed="3" covered="8"/><counter type="METHOD" missed="0" covered="5"/><counter type="CLASS" missed="0" covered="1"/></class><class name="org/jacoco/maven/ReportSupport$SourceFileCollection" sourcefilename="ReportSupport.java"><method name="&lt;init&gt;" desc="(Lorg/jacoco/maven/ReportSupport;Lorg/apache/maven/project/MavenProject;Ljava/lang/String;)V" line="216"><counter type="INSTRUCTION" missed="0" covered="13"/><counter type="LINE" missed="0" covered="4"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="getSourceFile" desc="(Ljava/lang/String;Ljava/lang/String;)Ljava/io/Reader;" line="224"><counter type="INSTRUCTION" missed="3" covered="50"/><counter type="BRANCH" missed="3" covered="5"/><counter type="LINE" missed="2" covered="7"/><counter type="COMPLEXITY" missed="3" covered="2"/><counter type="METHOD" missed="0" covered="1"/></method><method name="getTabWidth" desc="()I" line="240"><counter type="INSTRUCTION" missed="0" covered="2"/><counter type="LINE" missed="0" covered="1"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><counter type="INSTRUCTION" missed="3" covered="65"/><counter type="BRANCH" missed="3" covered="5"/><counter type="LINE" missed="2" covered="12"/><counter type="COMPLEXITY" missed="3" covered="4"/><counter type="METHOD" missed="0" covered="3"/><counter type="CLASS" missed="0" covered="1"/></class><class name="org/jacoco/maven/FileFilter" sourcefilename="FileFilter.java"><method name="&lt;init&gt;" desc="(Ljava/util/List;Ljava/util/List;)V" line="43"><counter type="INSTRUCTION" missed="0" covered="9"/><counter type="LINE" missed="0" covered="4"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="getFileNames" desc="(Ljava/io/File;)Ljava/util/List;" line="58"><counter type="INSTRUCTION" missed="0" covered="8"/><counter type="LINE" missed="0" covered="1"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="getFiles" desc="(Ljava/io/File;)Ljava/util/List;" line="72"><counter type="INSTRUCTION" missed="0" covered="7"/><counter type="LINE" missed="0" covered="1"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="getIncludes" desc="()Ljava/lang/String;" line="81"><counter type="INSTRUCTION" missed="0" covered="6"/><counter type="LINE" missed="0" covered="1"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="getExcludes" desc="()Ljava/lang/String;" line="90"><counter type="INSTRUCTION" missed="0" covered="6"/><counter type="LINE" missed="0" covered="1"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="buildPattern" desc="(Ljava/util/List;Ljava/lang/String;)Ljava/lang/String;" line="95"><counter type="INSTRUCTION" missed="0" covered="14"/><counter type="BRANCH" missed="1" covered="3"/><counter type="LINE" missed="0" covered="4"/><counter type="COMPLEXITY" missed="1" covered="2"/><counter type="METHOD" missed="0" covered="1"/></method><counter type="INSTRUCTION" missed="0" covered="50"/><counter type="BRANCH" missed="1" covered="3"/><counter type="LINE" missed="0" covered="12"/><counter type="COMPLEXITY" missed="1" covered="7"/><counter type="METHOD" missed="0" covered="6"/><counter type="CLASS" missed="0" covered="1"/></class><class name="org/jacoco/maven/AgentMojo" sourcefilename="AgentMojo.java"><method name="&lt;init&gt;" desc="()V" line="89"><counter type="INSTRUCTION" missed="0" covered="3"/><counter type="LINE" missed="0" covered="1"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="getDestFile" desc="()Ljava/io/File;" line="102"><counter type="INSTRUCTION" missed="0" covered="3"/><counter type="LINE" missed="0" covered="1"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><counter type="INSTRUCTION" missed="0" covered="6"/><counter type="LINE" missed="0" covered="2"/><counter type="COMPLEXITY" missed="0" covered="2"/><counter type="METHOD" missed="0" covered="2"/><counter type="CLASS" missed="0" covered="1"/></class><class name="org/jacoco/maven/ReportFormat" sourcefilename="ReportFormat.java"><method name="&lt;clinit&gt;" desc="()V" line="29"><counter type="INSTRUCTION" missed="0" covered="21"/><counter type="LINE" missed="0" covered="4"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><counter type="INSTRUCTION" missed="0" covered="21"/><counter type="LINE" missed="0" covered="4"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/><counter type="CLASS" missed="0" covered="1"/></class><class name="org/jacoco/maven/ReportFormat$1" sourcefilename="ReportFormat.java"><method name="&lt;init&gt;" desc="(Ljava/lang/String;I)V" line="34"><counter type="INSTRUCTION" missed="0" covered="6"/><counter type="LINE" missed="0" covered="1"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="createVisitor" desc="(Lorg/jacoco/maven/AbstractReportMojo;Ljava/util/Locale;)Lorg/jacoco/report/IReportVisitor;" line="38"><counter type="INSTRUCTION" missed="4" covered="22"/><counter type="BRANCH" missed="1" covered="1"/><counter type="LINE" missed="1" covered="6"/><counter type="COMPLEXITY" missed="1" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><counter type="INSTRUCTION" missed="4" covered="28"/><counter type="BRANCH" missed="1" covered="1"/><counter type="LINE" missed="1" covered="7"/><counter type="COMPLEXITY" missed="1" covered="2"/><counter type="METHOD" missed="0" covered="2"/><counter type="CLASS" missed="0" covered="1"/></class><class name="org/jacoco/maven/AbstractAgentMojo" sourcefilename="AbstractAgentMojo.java"><method name="&lt;init&gt;" desc="()V" line="29"><counter type="INSTRUCTION" missed="0" covered="3"/><counter type="LINE" missed="0" covered="1"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="executeMojo" desc="()V" line="159"><counter type="INSTRUCTION" missed="0" covered="37"/><counter type="LINE" missed="0" covered="8"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="skipMojo" desc="()V" line="170"><counter type="INSTRUCTION" missed="0" covered="30"/><counter type="BRANCH" missed="0" covered="2"/><counter type="LINE" missed="0" covered="7"/><counter type="COMPLEXITY" missed="0" covered="2"/><counter type="METHOD" missed="0" covered="1"/></method><method name="getAgentJarFile" desc="()Ljava/io/File;" line="180"><counter type="INSTRUCTION" missed="0" covered="9"/><counter type="LINE" missed="0" covered="3"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="createAgentOptions" desc="()Lorg/jacoco/core/runtime/AgentOptions;" line="186"><counter type="INSTRUCTION" missed="0" covered="123"/><counter type="BRANCH" missed="2" covered="28"/><counter type="LINE" missed="0" covered="33"/><counter type="COMPLEXITY" missed="2" covered="14"/><counter type="METHOD" missed="0" covered="1"/></method><method name="getEffectivePropertyName" desc="()Ljava/lang/String;" line="235"><counter type="INSTRUCTION" missed="2" covered="11"/><counter type="BRANCH" missed="1" covered="3"/><counter type="LINE" missed="1" covered="4"/><counter type="COMPLEXITY" missed="1" covered="2"/><counter type="METHOD" missed="0" covered="1"/></method><method name="isPropertyNameSpecified" desc="()Z" line="245"><counter type="INSTRUCTION" missed="0" covered="12"/><counter type="BRANCH" missed="1" covered="3"/><counter type="LINE" missed="0" covered="1"/><counter type="COMPLEXITY" missed="1" covered="2"/><counter type="METHOD" missed="0" covered="1"/></method><method name="isEclipseTestPluginPackaging" desc="()Z" line="249"><counter type="INSTRUCTION" missed="0" covered="6"/><counter type="LINE" missed="0" covered="1"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><counter type="INSTRUCTION" missed="2" covered="231"/><counter type="BRANCH" missed="4" covered="36"/><counter type="LINE" missed="1" covered="58"/><counter type="COMPLEXITY" missed="4" covered="24"/><counter type="METHOD" missed="0" covered="8"/><counter type="CLASS" missed="0" covered="1"/></class><class name="org/jacoco/maven/ReportFormat$2" sourcefilename="ReportFormat.java"><method name="&lt;init&gt;" desc="(Ljava/lang/String;I)V" line="52"><counter type="INSTRUCTION" missed="0" covered="6"/><counter type="LINE" missed="0" covered="1"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="createVisitor" desc="(Lorg/jacoco/maven/AbstractReportMojo;Ljava/util/Locale;)Lorg/jacoco/report/IReportVisitor;" line="56"><counter type="INSTRUCTION" missed="0" covered="20"/><counter type="LINE" missed="0" covered="4"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><counter type="INSTRUCTION" missed="0" covered="26"/><counter type="LINE" missed="0" covered="5"/><counter type="COMPLEXITY" missed="0" covered="2"/><counter type="METHOD" missed="0" covered="2"/><counter type="CLASS" missed="0" covered="1"/></class><class name="org/jacoco/maven/ReportFormat$3" sourcefilename="ReportFormat.java"><method name="&lt;init&gt;" desc="(Ljava/lang/String;I)V" line="66"><counter type="INSTRUCTION" missed="0" covered="6"/><counter type="LINE" missed="0" covered="1"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="createVisitor" desc="(Lorg/jacoco/maven/AbstractReportMojo;Ljava/util/Locale;)Lorg/jacoco/report/IReportVisitor;" line="70"><counter type="INSTRUCTION" missed="0" covered="20"/><counter type="LINE" missed="0" covered="4"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><counter type="INSTRUCTION" missed="0" covered="26"/><counter type="LINE" missed="0" covered="5"/><counter type="COMPLEXITY" missed="0" covered="2"/><counter type="METHOD" missed="0" covered="2"/><counter type="CLASS" missed="0" covered="1"/></class><class name="org/jacoco/maven/AgentITMojo" sourcefilename="AgentITMojo.java"><method name="&lt;init&gt;" desc="()V" line="34"><counter type="INSTRUCTION" missed="0" covered="3"/><counter type="LINE" missed="0" covered="1"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="getDestFile" desc="()Ljava/io/File;" line="47"><counter type="INSTRUCTION" missed="0" covered="3"/><counter type="LINE" missed="0" covered="1"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><counter type="INSTRUCTION" missed="0" covered="6"/><counter type="LINE" missed="0" covered="2"/><counter type="COMPLEXITY" missed="0" covered="2"/><counter type="METHOD" missed="0" covered="2"/><counter type="CLASS" missed="0" covered="1"/></class><class name="org/jacoco/maven/ReportSupport$NoSourceLocator" sourcefilename="ReportSupport.java"><method name="&lt;init&gt;" desc="(Lorg/jacoco/maven/ReportSupport;)V" line="198"><counter type="INSTRUCTION" missed="0" covered="6"/><counter type="LINE" missed="0" covered="1"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="getSourceFile" desc="(Ljava/lang/String;Ljava/lang/String;)Ljava/io/Reader;" line="202"><counter type="INSTRUCTION" missed="2" covered="0"/><counter type="LINE" missed="1" covered="0"/><counter type="COMPLEXITY" missed="1" covered="0"/><counter type="METHOD" missed="1" covered="0"/></method><method name="getTabWidth" desc="()I" line="206"><counter type="INSTRUCTION" missed="2" covered="0"/><counter type="LINE" missed="1" covered="0"/><counter type="COMPLEXITY" missed="1" covered="0"/><counter type="METHOD" missed="1" covered="0"/></method><counter type="INSTRUCTION" missed="4" covered="6"/><counter type="LINE" missed="2" covered="1"/><counter type="COMPLEXITY" missed="2" covered="1"/><counter type="METHOD" missed="2" covered="1"/><counter type="CLASS" missed="0" covered="1"/></class><class name="org/jacoco/maven/AbstractReportMojo" sourcefilename="AbstractReportMojo.java"><method name="&lt;init&gt;" desc="()V" line="35"><counter type="INSTRUCTION" missed="0" covered="3"/><counter type="LINE" missed="0" covered="1"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="getDescription" desc="(Ljava/util/Locale;)Ljava/lang/String;" line="102"><counter type="INSTRUCTION" missed="0" covered="11"/><counter type="LINE" missed="0" covered="1"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="isExternalReport" desc="()Z" line="106"><counter type="INSTRUCTION" missed="0" covered="2"/><counter type="LINE" missed="0" covered="1"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="getCategoryName" desc="()Ljava/lang/String;" line="110"><counter type="INSTRUCTION" missed="0" covered="2"/><counter type="LINE" missed="0" covered="1"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="getIncludes" desc="()Ljava/util/List;" line="119"><counter type="INSTRUCTION" missed="0" covered="3"/><counter type="LINE" missed="0" covered="1"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="getExcludes" desc="()Ljava/util/List;" line="128"><counter type="INSTRUCTION" missed="0" covered="3"/><counter type="LINE" missed="0" covered="1"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="canGenerateReport" desc="()Z" line="132"><counter type="INSTRUCTION" missed="0" covered="29"/><counter type="BRANCH" missed="0" covered="6"/><counter type="LINE" missed="0" covered="10"/><counter type="COMPLEXITY" missed="0" covered="4"/><counter type="METHOD" missed="0" covered="1"/></method><method name="generate" desc="(Lorg/codehaus/doxia/sink/Sink;Ljava/util/Locale;)V" line="159"><counter type="INSTRUCTION" missed="6" covered="0"/><counter type="LINE" missed="2" covered="0"/><counter type="COMPLEXITY" missed="1" covered="0"/><counter type="METHOD" missed="1" covered="0"/></method><method name="generate" desc="(Lorg/apache/maven/doxia/sink/Sink;Lorg/apache/maven/doxia/sink/SinkFactory;Ljava/util/Locale;)V" line="165"><counter type="INSTRUCTION" missed="1" covered="7"/><counter type="BRANCH" missed="1" covered="1"/><counter type="LINE" missed="1" covered="3"/><counter type="COMPLEXITY" missed="1" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="execute" desc="()V" line="176"><counter type="INSTRUCTION" missed="0" covered="27"/><counter type="BRANCH" missed="0" covered="2"/><counter type="LINE" missed="0" covered="8"/><counter type="COMPLEXITY" missed="0" covered="2"/><counter type="METHOD" missed="0" covered="1"/></method><method name="executeReport" desc="(Ljava/util/Locale;)V" line="190"><counter type="INSTRUCTION" missed="0" covered="39"/><counter type="LINE" missed="0" covered="11"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="addFormatters" desc="(Lorg/jacoco/maven/ReportSupport;Ljava/util/Locale;)V" line="204"><counter type="INSTRUCTION" missed="0" covered="23"/><counter type="BRANCH" missed="0" covered="2"/><counter type="LINE" missed="0" covered="5"/><counter type="COMPLEXITY" missed="0" covered="2"/><counter type="METHOD" missed="0" covered="1"/></method><counter type="INSTRUCTION" missed="7" covered="149"/><counter type="BRANCH" missed="1" covered="11"/><counter type="LINE" missed="3" covered="43"/><counter type="COMPLEXITY" missed="2" covered="16"/><counter type="METHOD" missed="1" covered="11"/><counter type="CLASS" missed="0" covered="1"/></class><class name="org/jacoco/maven/DumpMojo$1" sourcefilename="DumpMojo.java"><method name="&lt;init&gt;" desc="(Lorg/jacoco/maven/DumpMojo;)V" line="94"><counter type="INSTRUCTION" missed="0" covered="6"/><counter type="LINE" missed="0" covered="1"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="onConnecting" desc="(Ljava/net/InetAddress;I)V" line="98"><counter type="INSTRUCTION" missed="0" covered="18"/><counter type="LINE" missed="0" covered="3"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="onConnectionFailure" desc="(Ljava/io/IOException;)V" line="104"><counter type="INSTRUCTION" missed="0" covered="7"/><counter type="LINE" missed="0" covered="2"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><counter type="INSTRUCTION" missed="0" covered="31"/><counter type="LINE" missed="0" covered="6"/><counter type="COMPLEXITY" missed="0" covered="3"/><counter type="METHOD" missed="0" covered="3"/><counter type="CLASS" missed="0" covered="1"/></class><class name="org/jacoco/maven/InstrumentMojo" sourcefilename="InstrumentMojo.java"><method name="&lt;init&gt;" desc="()V" line="47"><counter type="INSTRUCTION" missed="0" covered="3"/><counter type="LINE" missed="0" covered="1"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="executeMojo" desc="()V" line="69"><counter type="INSTRUCTION" missed="14" covered="108"/><counter type="BRANCH" missed="1" covered="5"/><counter type="LINE" missed="4" covered="26"/><counter type="COMPLEXITY" missed="1" covered="3"/><counter type="METHOD" missed="0" covered="1"/></method><counter type="INSTRUCTION" missed="14" covered="111"/><counter type="BRANCH" missed="1" covered="5"/><counter type="LINE" missed="4" covered="27"/><counter type="COMPLEXITY" missed="1" covered="4"/><counter type="METHOD" missed="0" covered="2"/><counter type="CLASS" missed="0" covered="1"/></class><class name="org/jacoco/maven/ReportMojo" sourcefilename="ReportMojo.java"><method name="&lt;init&gt;" desc="()V" line="31"><counter type="INSTRUCTION" missed="0" covered="3"/><counter type="LINE" missed="0" covered="1"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="canGenerateReportRegardingDataFiles" desc="()Z" line="51"><counter type="INSTRUCTION" missed="0" covered="4"/><counter type="LINE" missed="0" covered="1"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="canGenerateReportRegardingClassesDirectory" desc="()Z" line="56"><counter type="INSTRUCTION" missed="0" covered="9"/><counter type="LINE" missed="0" covered="1"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="loadExecutionData" desc="(Lorg/jacoco/maven/ReportSupport;)V" line="61"><counter type="INSTRUCTION" missed="0" covered="5"/><counter type="LINE" missed="0" covered="2"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="getOutputDirectory" desc="()Ljava/io/File;" line="66"><counter type="INSTRUCTION" missed="0" covered="3"/><counter type="LINE" missed="0" covered="1"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="createReport" desc="(Lorg/jacoco/report/IReportGroupVisitor;Lorg/jacoco/maven/ReportSupport;)V" line="72"><counter type="INSTRUCTION" missed="0" covered="14"/><counter type="LINE" missed="0" covered="3"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="getReportOutputDirectory" desc="()Ljava/io/File;" line="77"><counter type="INSTRUCTION" missed="3" covered="0"/><counter type="LINE" missed="1" covered="0"/><counter type="COMPLEXITY" missed="1" covered="0"/><counter type="METHOD" missed="1" covered="0"/></method><method name="setReportOutputDirectory" desc="(Ljava/io/File;)V" line="81"><counter type="INSTRUCTION" missed="3" covered="16"/><counter type="BRANCH" missed="2" covered="2"/><counter type="LINE" missed="1" covered="4"/><counter type="COMPLEXITY" missed="2" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="getOutputName" desc="()Ljava/lang/String;" line="90"><counter type="INSTRUCTION" missed="0" covered="2"/><counter type="LINE" missed="0" covered="1"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="getName" desc="(Ljava/util/Locale;)Ljava/lang/String;" line="94"><counter type="INSTRUCTION" missed="0" covered="2"/><counter type="LINE" missed="0" covered="1"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><counter type="INSTRUCTION" missed="6" covered="58"/><counter type="BRANCH" missed="2" covered="2"/><counter type="LINE" missed="2" covered="15"/><counter type="COMPLEXITY" missed="3" covered="9"/><counter type="METHOD" missed="1" covered="9"/><counter type="CLASS" missed="0" covered="1"/></class><class name="org/jacoco/maven/ReportSupport" sourcefilename="ReportSupport.java"><method name="&lt;init&gt;" desc="(Lorg/apache/maven/plugin/logging/Log;)V" line="67"><counter type="INSTRUCTION" missed="0" covered="16"/><counter type="LINE" missed="0" covered="5"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="loadExecutionData" desc="(Ljava/io/File;)V" line="82"><counter type="INSTRUCTION" missed="0" covered="16"/><counter type="LINE" missed="0" covered="3"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="addVisitor" desc="(Lorg/jacoco/report/IReportVisitor;)V" line="87"><counter type="INSTRUCTION" missed="0" covered="6"/><counter type="LINE" missed="0" covered="2"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="addRulesChecker" desc="(Ljava/util/List;Lorg/jacoco/report/check/IViolationsOutput;)V" line="92"><counter type="INSTRUCTION" missed="0" covered="15"/><counter type="LINE" missed="0" covered="4"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="initRootVisitor" desc="()Lorg/jacoco/report/IReportVisitor;" line="98"><counter type="INSTRUCTION" missed="0" covered="18"/><counter type="LINE" missed="0" covered="4"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="processProject" desc="(Lorg/jacoco/report/IReportGroupVisitor;Lorg/apache/maven/project/MavenProject;Ljava/util/List;Ljava/util/List;)V" line="122"><counter type="INSTRUCTION" missed="0" covered="14"/><counter type="LINE" missed="0" covered="2"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="processProject" desc="(Lorg/jacoco/report/IReportGroupVisitor;Ljava/lang/String;Lorg/apache/maven/project/MavenProject;Ljava/util/List;Ljava/util/List;Ljava/lang/String;)V" line="149"><counter type="INSTRUCTION" missed="0" covered="14"/><counter type="LINE" missed="0" covered="2"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="processProject" desc="(Lorg/jacoco/report/IReportGroupVisitor;Ljava/lang/String;Lorg/apache/maven/project/MavenProject;Ljava/util/List;Ljava/util/List;Lorg/jacoco/report/ISourceFileLocator;)V" line="157"><counter type="INSTRUCTION" missed="0" covered="59"/><counter type="BRANCH" missed="0" covered="4"/><counter type="LINE" missed="0" covered="14"/><counter type="COMPLEXITY" missed="0" covered="3"/><counter type="METHOD" missed="0" covered="1"/></method><method name="logBundleInfo" desc="(Lorg/jacoco/core/analysis/IBundleCoverage;Ljava/util/Collection;)V" line="178"><counter type="INSTRUCTION" missed="0" covered="69"/><counter type="BRANCH" missed="0" covered="8"/><counter type="LINE" missed="0" covered="14"/><counter type="COMPLEXITY" missed="0" covered="5"/><counter type="METHOD" missed="0" covered="1"/></method><method name="getCompileSourceRoots" desc="(Lorg/apache/maven/project/MavenProject;)Ljava/util/List;" line="246"><counter type="INSTRUCTION" missed="0" covered="24"/><counter type="BRANCH" missed="0" covered="2"/><counter type="LINE" missed="0" covered="5"/><counter type="COMPLEXITY" missed="0" covered="2"/><counter type="METHOD" missed="0" covered="1"/></method><method name="resolvePath" desc="(Lorg/apache/maven/project/MavenProject;Ljava/lang/String;)Ljava/io/File;" line="255"><counter type="INSTRUCTION" missed="7" covered="10"/><counter type="BRANCH" missed="1" covered="1"/><counter type="LINE" missed="1" covered="3"/><counter type="COMPLEXITY" missed="1" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><counter type="INSTRUCTION" missed="7" covered="261"/><counter type="BRANCH" missed="1" covered="15"/><counter type="LINE" missed="1" covered="58"/><counter type="COMPLEXITY" missed="1" covered="18"/><counter type="METHOD" missed="0" covered="11"/><counter type="CLASS" missed="0" covered="1"/></class><class name="org/jacoco/maven/RuleConfiguration" sourcefilename="RuleConfiguration.java"><method name="&lt;init&gt;" desc="()V" line="35"><counter type="INSTRUCTION" missed="0" covered="8"/><counter type="LINE" missed="0" covered="3"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="setElement" desc="(Ljava/lang/String;)V" line="45"><counter type="INSTRUCTION" missed="0" covered="6"/><counter type="LINE" missed="0" covered="2"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="setIncludes" desc="(Ljava/util/List;)V" line="53"><counter type="INSTRUCTION" missed="0" covered="8"/><counter type="LINE" missed="0" covered="2"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="setExcludes" desc="(Ljava/util/List;)V" line="62"><counter type="INSTRUCTION" missed="8" covered="0"/><counter type="LINE" missed="2" covered="0"/><counter type="COMPLEXITY" missed="1" covered="0"/><counter type="METHOD" missed="1" covered="0"/></method><method name="setLimits" desc="(Ljava/util/List;)V" line="70"><counter type="INSTRUCTION" missed="0" covered="5"/><counter type="LINE" missed="0" covered="2"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><counter type="INSTRUCTION" missed="8" covered="27"/><counter type="LINE" missed="2" covered="9"/><counter type="COMPLEXITY" missed="1" covered="4"/><counter type="METHOD" missed="1" covered="4"/><counter type="CLASS" missed="0" covered="1"/></class><class name="org/jacoco/maven/MergeMojo" sourcefilename="MergeMojo.java"><method name="&lt;init&gt;" desc="()V" line="34"><counter type="INSTRUCTION" missed="0" covered="3"/><counter type="LINE" missed="0" covered="1"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="executeMojo" desc="()V" line="66"><counter type="INSTRUCTION" missed="1" covered="6"/><counter type="BRANCH" missed="1" covered="1"/><counter type="LINE" missed="1" covered="3"/><counter type="COMPLEXITY" missed="1" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="canMergeReports" desc="()Z" line="73"><counter type="INSTRUCTION" missed="6" covered="9"/><counter type="BRANCH" missed="2" covered="2"/><counter type="LINE" missed="2" covered="2"/><counter type="COMPLEXITY" missed="2" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="executeMerge" desc="()V" line="81"><counter type="INSTRUCTION" missed="0" covered="11"/><counter type="LINE" missed="0" covered="4"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="load" desc="(Lorg/jacoco/core/tools/ExecFileLoader;)V" line="89"><counter type="INSTRUCTION" missed="16" covered="61"/><counter type="BRANCH" missed="1" covered="5"/><counter type="LINE" missed="4" covered="12"/><counter type="COMPLEXITY" missed="1" covered="3"/><counter type="METHOD" missed="0" covered="1"/></method><method name="save" desc="(Lorg/jacoco/core/tools/ExecFileLoader;)V" line="112"><counter type="INSTRUCTION" missed="21" covered="25"/><counter type="BRANCH" missed="1" covered="1"/><counter type="LINE" missed="5" covered="6"/><counter type="COMPLEXITY" missed="1" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><counter type="INSTRUCTION" missed="44" covered="115"/><counter type="BRANCH" missed="5" covered="9"/><counter type="LINE" missed="12" covered="28"/><counter type="COMPLEXITY" missed="5" covered="8"/><counter type="METHOD" missed="0" covered="6"/><counter type="CLASS" missed="0" covered="1"/></class><sourcefile name="CheckMojo.java"><line nr="38" mi="0" ci="3" mb="0" cb="0"/><line nr="149" mi="0" ci="4" mb="1" cb="1"/><line nr="150" mi="12" ci="0" mb="0" cb="0"/><line nr="151" mi="2" ci="0" mb="0" cb="0"/><line nr="153" mi="0" ci="3" mb="0" cb="0"/><line nr="154" mi="0" ci="5" mb="0" cb="0"/><line nr="155" mi="0" ci="3" mb="1" cb="1"/><line nr="156" mi="11" ci="0" mb="0" cb="0"/><line nr="159" mi="2" ci="0" mb="0" cb="0"/><line nr="161" mi="0" ci="2" mb="0" cb="0"/><line nr="166" mi="0" ci="3" mb="1" cb="1"/><line nr="167" mi="1" ci="0" mb="0" cb="0"/><line nr="169" mi="0" ci="2" mb="0" cb="0"/><line nr="170" mi="0" ci="1" mb="0" cb="0"/><line nr="173" mi="0" ci="3" mb="0" cb="0"/><line nr="175" mi="0" ci="6" mb="0" cb="0"/><line nr="177" mi="0" ci="4" mb="0" cb="0"/><line nr="178" mi="0" ci="11" mb="0" cb="2"/><line nr="179" mi="0" ci="5" mb="0" cb="0"/><line nr="180" mi="0" ci="1" mb="0" cb="0"/><line nr="181" mi="0" ci="4" mb="0" cb="0"/><line nr="184" mi="0" ci="3" mb="0" cb="0"/><line nr="185" mi="0" ci="4" mb="0" cb="0"/><line nr="186" mi="0" ci="9" mb="0" cb="0"/><line nr="187" mi="0" ci="2" mb="0" cb="0"/><line nr="188" mi="1" ci="0" mb="0" cb="0"/><line nr="189" mi="8" ci="0" mb="0" cb="0"/><line nr="190" mi="6" ci="0" mb="0" cb="0"/><line nr="191" mi="0" ci="1" mb="0" cb="0"/><line nr="192" mi="0" ci="3" mb="0" cb="2"/><line nr="193" mi="0" ci="3" mb="0" cb="2"/><line nr="194" mi="0" ci="5" mb="0" cb="0"/><line nr="196" mi="0" ci="5" mb="0" cb="0"/><line nr="199" mi="0" ci="4" mb="0" cb="0"/><line nr="201" mi="0" ci="1" mb="0" cb="0"/><line nr="205" mi="0" ci="4" mb="0" cb="0"/><line nr="206" mi="0" ci="3" mb="0" cb="0"/><line nr="207" mi="0" ci="1" mb="0" cb="0"/><counter type="INSTRUCTION" missed="43" covered="108"/><counter type="BRANCH" missed="3" covered="9"/><counter type="LINE" missed="8" covered="30"/><counter type="COMPLEXITY" missed="3" covered="8"/><counter type="METHOD" missed="0" covered="5"/><counter type="CLASS" missed="0" covered="1"/></sourcefile><sourcefile name="RestoreMojo.java"><line nr="30" mi="0" ci="3" mb="0" cb="0"/><line nr="35" mi="0" ci="3" mb="0" cb="0"/><line nr="36" mi="0" ci="6" mb="0" cb="0"/><line nr="38" mi="0" ci="3" mb="0" cb="0"/><line nr="39" mi="0" ci="5" mb="0" cb="0"/><line nr="41" mi="0" ci="3" mb="0" cb="0"/><line nr="42" mi="1" ci="0" mb="0" cb="0"/><line nr="43" mi="6" ci="0" mb="0" cb="0"/><line nr="44" mi="0" ci="1" mb="0" cb="0"/><line nr="45" mi="0" ci="1" mb="0" cb="0"/><counter type="INSTRUCTION" missed="7" covered="25"/><counter type="LINE" missed="2" covered="8"/><counter type="COMPLEXITY" missed="0" covered="2"/><counter type="METHOD" missed="0" covered="2"/><counter type="CLASS" missed="0" covered="1"/></sourcefile><sourcefile name="AbstractReportMojo.java"><line nr="35" mi="0" ci="3" mb="0" cb="0"/><line nr="102" mi="0" ci="11" mb="0" cb="0"/><line nr="106" mi="0" ci="2" mb="0" cb="0"/><line nr="110" mi="0" ci="2" mb="0" cb="0"/><line nr="119" mi="0" ci="3" mb="0" cb="0"/><line nr="128" mi="0" ci="3" mb="0" cb="0"/><line nr="132" mi="0" ci="3" mb="0" cb="2"/><line nr="133" mi="0" ci="4" mb="0" cb="0"/><line nr="135" mi="0" ci="2" mb="0" cb="0"/><line nr="137" mi="0" ci="3" mb="0" cb="2"/><line nr="138" mi="0" ci="4" mb="0" cb="0"/><line nr="140" mi="0" ci="2" mb="0" cb="0"/><line nr="142" mi="0" ci="3" mb="0" cb="2"/><line nr="143" mi="0" ci="4" mb="0" cb="0"/><line nr="145" mi="0" ci="2" mb="0" cb="0"/><line nr="147" mi="0" ci="2" mb="0" cb="0"/><line nr="159" mi="5" ci="0" mb="0" cb="0"/><line nr="160" mi="1" ci="0" mb="0" cb="0"/><line nr="165" mi="0" ci="3" mb="1" cb="1"/><line nr="166" mi="1" ci="0" mb="0" cb="0"/><line nr="168" mi="0" ci="3" mb="0" cb="0"/><line nr="169" mi="0" ci="1" mb="0" cb="0"/><line nr="176" mi="0" ci="3" mb="0" cb="2"/><line nr="177" mi="0" ci="1" mb="0" cb="0"/><line nr="180" mi="0" ci="3" mb="0" cb="0"/><line nr="181" mi="0" ci="1" mb="0" cb="0"/><line nr="182" mi="0" ci="9" mb="0" cb="0"/><line nr="183" mi="0" ci="8" mb="0" cb="0"/><line nr="184" mi="0" ci="1" mb="0" cb="0"/><line nr="185" mi="0" ci="1" mb="0" cb="0"/><line nr="190" mi="0" ci="6" mb="0" cb="0"/><line nr="191" mi="0" ci="3" mb="0" cb="0"/><line nr="192" mi="0" ci="4" mb="0" cb="0"/><line nr="193" mi="0" ci="3" mb="0" cb="0"/><line nr="194" mi="0" ci="4" mb="0" cb="0"/><line nr="195" mi="0" ci="2" mb="0" cb="0"/><line nr="196" mi="0" ci="1" mb="0" cb="0"/><line nr="197" mi="0" ci="8" mb="0" cb="0"/><line nr="198" mi="0" ci="6" mb="0" cb="0"/><line nr="199" mi="0" ci="1" mb="0" cb="0"/><line nr="200" mi="0" ci="1" mb="0" cb="0"/><line nr="204" mi="0" ci="4" mb="0" cb="0"/><line nr="205" mi="0" ci="11" mb="0" cb="2"/><line nr="206" mi="0" ci="6" mb="0" cb="0"/><line nr="207" mi="0" ci="1" mb="0" cb="0"/><line nr="208" mi="0" ci="1" mb="0" cb="0"/><counter type="INSTRUCTION" missed="7" covered="149"/><counter type="BRANCH" missed="1" covered="11"/><counter type="LINE" missed="3" covered="43"/><counter type="COMPLEXITY" missed="2" covered="16"/><counter type="METHOD" missed="1" covered="11"/><counter type="CLASS" missed="0" covered="1"/></sourcefile><sourcefile name="ReportAggregateMojo.java"><line nr="57" mi="0" ci="3" mb="0" cb="0"/><line nr="102" mi="0" ci="2" mb="0" cb="0"/><line nr="107" mi="0" ci="2" mb="0" cb="0"/><line nr="113" mi="0" ci="3" mb="0" cb="2"/><line nr="114" mi="0" ci="9" mb="0" cb="0"/><line nr="117" mi="0" ci="8" mb="0" cb="0"/><line nr="119" mi="0" ci="7" mb="0" cb="0"/><line nr="120" mi="0" ci="29" mb="0" cb="2"/><line nr="123" mi="0" ci="6" mb="0" cb="0"/><line nr="124" mi="0" ci="1" mb="0" cb="0"/><line nr="125" mi="0" ci="1" mb="0" cb="0"/><line nr="129" mi="0" ci="12" mb="0" cb="2"/><line nr="130" mi="0" ci="3" mb="0" cb="0"/><line nr="131" mi="0" ci="1" mb="0" cb="0"/><line nr="132" mi="0" ci="1" mb="0" cb="0"/><line nr="136" mi="0" ci="3" mb="0" cb="0"/><line nr="142" mi="0" ci="5" mb="0" cb="0"/><line nr="143" mi="0" ci="3" mb="0" cb="2"/><line nr="144" mi="0" ci="6" mb="0" cb="0"/><line nr="146" mi="0" ci="25" mb="0" cb="2"/><line nr="149" mi="0" ci="5" mb="0" cb="0"/><line nr="150" mi="0" ci="1" mb="0" cb="0"/><line nr="151" mi="0" ci="1" mb="0" cb="0"/><line nr="156" mi="0" ci="7" mb="0" cb="0"/><line nr="157" mi="0" ci="5" mb="0" cb="0"/><line nr="158" mi="0" ci="1" mb="0" cb="0"/><line nr="161" mi="3" ci="0" mb="0" cb="0"/><line nr="165" mi="0" ci="3" mb="1" cb="1"/><line nr="166" mi="0" ci="4" mb="1" cb="1"/><line nr="167" mi="0" ci="8" mb="0" cb="0"/><line nr="170" mi="3" ci="0" mb="0" cb="0"/><line nr="172" mi="0" ci="1" mb="0" cb="0"/><line nr="175" mi="0" ci="2" mb="0" cb="0"/><line nr="179" mi="0" ci="2" mb="0" cb="0"/><line nr="183" mi="0" ci="4" mb="0" cb="0"/><line nr="184" mi="0" ci="3" mb="0" cb="0"/><line nr="185" mi="0" ci="11" mb="0" cb="2"/><line nr="186" mi="0" ci="3" mb="0" cb="0"/><line nr="187" mi="0" ci="5" mb="0" cb="2"/><line nr="188" mi="0" ci="4" mb="0" cb="0"/><line nr="189" mi="0" ci="2" mb="0" cb="2"/><line nr="190" mi="0" ci="4" mb="0" cb="0"/><line nr="193" mi="0" ci="1" mb="0" cb="0"/><line nr="194" mi="0" ci="2" mb="0" cb="0"/><line nr="207" mi="0" ci="1" mb="0" cb="0"/><line nr="208" mi="0" ci="3" mb="0" cb="0"/><line nr="209" mi="1" ci="0" mb="0" cb="0"/><line nr="210" mi="5" ci="0" mb="0" cb="0"/><line nr="211" mi="0" ci="1" mb="0" cb="0"/><line nr="213" mi="0" ci="11" mb="0" cb="2"/><line nr="214" mi="0" ci="3" mb="0" cb="0"/><line nr="215" mi="0" ci="3" mb="0" cb="0"/><line nr="216" mi="0" ci="7" mb="0" cb="2"/><line nr="217" mi="0" ci="7" mb="0" cb="2"/><line nr="218" mi="0" ci="2" mb="0" cb="2"/><line nr="219" mi="0" ci="2" mb="0" cb="0"/><line nr="221" mi="0" ci="1" mb="0" cb="0"/><line nr="222" mi="0" ci="2" mb="0" cb="0"/><counter type="INSTRUCTION" missed="12" covered="252"/><counter type="BRANCH" missed="2" covered="26"/><counter type="LINE" missed="4" covered="54"/><counter type="COMPLEXITY" missed="3" covered="25"/><counter type="METHOD" missed="1" covered="13"/><counter type="CLASS" missed="0" covered="1"/></sourcefile><sourcefile name="ReportFormat.java"><line nr="29" mi="0" ci="3" mb="0" cb="0"/><line nr="34" mi="0" ci="12" mb="0" cb="0"/><line nr="38" mi="0" ci="4" mb="0" cb="0"/><line nr="39" mi="0" ci="4" mb="0" cb="0"/><line nr="40" mi="0" ci="3" mb="0" cb="0"/><line nr="41" mi="0" ci="3" mb="1" cb="1"/><line nr="42" mi="4" ci="0" mb="0" cb="0"/><line nr="44" mi="0" ci="6" mb="0" cb="0"/><line nr="45" mi="0" ci="2" mb="0" cb="0"/><line nr="52" mi="0" ci="12" mb="0" cb="0"/><line nr="56" mi="0" ci="4" mb="0" cb="0"/><line nr="57" mi="0" ci="4" mb="0" cb="0"/><line nr="58" mi="0" ci="8" mb="0" cb="0"/><line nr="59" mi="0" ci="4" mb="0" cb="0"/><line nr="66" mi="0" ci="12" mb="0" cb="0"/><line nr="70" mi="0" ci="4" mb="0" cb="0"/><line nr="71" mi="0" ci="4" mb="0" cb="0"/><line nr="72" mi="0" ci="8" mb="0" cb="0"/><line nr="73" mi="0" ci="4" mb="0" cb="0"/><counter type="INSTRUCTION" missed="4" covered="101"/><counter type="BRANCH" missed="1" covered="1"/><counter type="LINE" missed="1" covered="18"/><counter type="COMPLEXITY" missed="1" covered="7"/><counter type="METHOD" missed="0" covered="7"/><counter type="CLASS" missed="0" covered="4"/></sourcefile><sourcefile name="FileFilter.java"><line nr="43" mi="0" ci="2" mb="0" cb="0"/><line nr="44" mi="0" ci="3" mb="0" cb="0"/><line nr="45" mi="0" ci="3" mb="0" cb="0"/><line nr="46" mi="0" ci="1" mb="0" cb="0"/><line nr="58" mi="0" ci="8" mb="0" cb="0"/><line nr="72" mi="0" ci="7" mb="0" cb="0"/><line nr="81" mi="0" ci="6" mb="0" cb="0"/><line nr="90" mi="0" ci="6" mb="0" cb="0"/><line nr="95" mi="0" ci="2" mb="0" cb="0"/><line nr="96" mi="0" ci="5" mb="1" cb="3"/><line nr="97" mi="0" ci="5" mb="0" cb="0"/><line nr="99" mi="0" ci="2" mb="0" cb="0"/><counter type="INSTRUCTION" missed="0" covered="50"/><counter type="BRANCH" missed="1" covered="3"/><counter type="LINE" missed="0" covered="12"/><counter type="COMPLEXITY" missed="1" covered="7"/><counter type="METHOD" missed="0" covered="6"/><counter type="CLASS" missed="0" covered="1"/></sourcefile><sourcefile name="ReportITMojo.java"><line nr="36" mi="0" ci="3" mb="0" cb="0"/><line nr="56" mi="0" ci="4" mb="0" cb="0"/><line nr="61" mi="0" ci="9" mb="0" cb="0"/><line nr="66" mi="0" ci="4" mb="0" cb="0"/><line nr="67" mi="0" ci="1" mb="0" cb="0"/><line nr="71" mi="0" ci="3" mb="0" cb="0"/><line nr="77" mi="0" ci="10" mb="0" cb="0"/><line nr="78" mi="0" ci="3" mb="0" cb="0"/><line nr="79" mi="0" ci="1" mb="0" cb="0"/><line nr="82" mi="3" ci="0" mb="0" cb="0"/><line nr="86" mi="0" ci="3" mb="1" cb="1"/><line nr="87" mi="0" ci="4" mb="1" cb="1"/><line nr="88" mi="0" ci="8" mb="0" cb="0"/><line nr="90" mi="3" ci="0" mb="0" cb="0"/><line nr="92" mi="0" ci="1" mb="0" cb="0"/><line nr="95" mi="0" ci="2" mb="0" cb="0"/><line nr="99" mi="0" ci="2" mb="0" cb="0"/><counter type="INSTRUCTION" missed="6" covered="58"/><counter type="BRANCH" missed="2" covered="2"/><counter type="LINE" missed="2" covered="15"/><counter type="COMPLEXITY" missed="3" covered="9"/><counter type="METHOD" missed="1" covered="9"/><counter type="CLASS" missed="0" covered="1"/></sourcefile><sourcefile name="DumpMojo.java"><line nr="43" mi="0" ci="3" mb="0" cb="0"/><line nr="94" mi="0" ci="11" mb="0" cb="0"/><line nr="98" mi="0" ci="15" mb="0" cb="0"/><line nr="99" mi="0" ci="2" mb="0" cb="0"/><line nr="100" mi="0" ci="1" mb="0" cb="0"/><line nr="104" mi="0" ci="6" mb="0" cb="0"/><line nr="105" mi="0" ci="1" mb="0" cb="0"/><line nr="107" mi="0" ci="4" mb="0" cb="0"/><line nr="108" mi="0" ci="4" mb="0" cb="0"/><line nr="109" mi="0" ci="4" mb="0" cb="0"/><line nr="112" mi="0" ci="7" mb="0" cb="0"/><line nr="113" mi="0" ci="3" mb="1" cb="1"/><line nr="114" mi="0" ci="11" mb="0" cb="0"/><line nr="115" mi="0" ci="2" mb="0" cb="0"/><line nr="116" mi="0" ci="6" mb="0" cb="0"/><line nr="118" mi="1" ci="0" mb="0" cb="0"/><line nr="119" mi="6" ci="0" mb="0" cb="0"/><line nr="120" mi="0" ci="1" mb="0" cb="0"/><line nr="121" mi="0" ci="1" mb="0" cb="0"/><counter type="INSTRUCTION" missed="7" covered="82"/><counter type="BRANCH" missed="1" covered="1"/><counter type="LINE" missed="2" covered="17"/><counter type="COMPLEXITY" missed="1" covered="5"/><counter type="METHOD" missed="0" covered="5"/><counter type="CLASS" missed="0" covered="2"/></sourcefile><sourcefile name="AbstractAgentMojo.java"><line nr="29" mi="0" ci="3" mb="0" cb="0"/><line nr="159" mi="0" ci="3" mb="0" cb="0"/><line nr="160" mi="0" ci="4" mb="0" cb="0"/><line nr="161" mi="0" ci="4" mb="0" cb="0"/><line nr="162" mi="0" ci="4" mb="0" cb="0"/><line nr="163" mi="0" ci="3" mb="0" cb="0"/><line nr="164" mi="0" ci="13" mb="0" cb="0"/><line nr="165" mi="0" ci="5" mb="0" cb="0"/><line nr="166" mi="0" ci="1" mb="0" cb="0"/><line nr="170" mi="0" ci="3" mb="0" cb="0"/><line nr="171" mi="0" ci="4" mb="0" cb="0"/><line nr="172" mi="0" ci="4" mb="0" cb="0"/><line nr="173" mi="0" ci="2" mb="0" cb="2"/><line nr="174" mi="0" ci="11" mb="0" cb="0"/><line nr="175" mi="0" ci="5" mb="0" cb="0"/><line nr="177" mi="0" ci="1" mb="0" cb="0"/><line nr="180" mi="0" ci="3" mb="0" cb="0"/><line nr="181" mi="0" ci="3" mb="0" cb="0"/><line nr="182" mi="0" ci="3" mb="0" cb="0"/><line nr="186" mi="0" ci="4" mb="0" cb="0"/><line nr="187" mi="0" ci="5" mb="0" cb="0"/><line nr="188" mi="0" ci="3" mb="0" cb="2"/><line nr="189" mi="0" ci="5" mb="0" cb="0"/><line nr="191" mi="0" ci="7" mb="1" cb="3"/><line nr="192" mi="0" ci="3" mb="0" cb="0"/><line nr="193" mi="0" ci="4" mb="0" cb="0"/><line nr="195" mi="0" ci="7" mb="1" cb="3"/><line nr="196" mi="0" ci="3" mb="0" cb="0"/><line nr="197" mi="0" ci="4" mb="0" cb="0"/><line nr="199" mi="0" ci="3" mb="0" cb="2"/><line nr="200" mi="0" ci="4" mb="0" cb="0"/><line nr="202" mi="0" ci="3" mb="0" cb="2"/><line nr="203" mi="0" ci="4" mb="0" cb="0"/><line nr="204" mi="0" ci="1" mb="0" cb="0"/><line nr="206" mi="0" ci="3" mb="0" cb="2"/><line nr="207" mi="0" ci="4" mb="0" cb="0"/><line nr="208" mi="0" ci="1" mb="0" cb="0"/><line nr="210" mi="0" ci="3" mb="0" cb="2"/><line nr="211" mi="0" ci="4" mb="0" cb="0"/><line nr="213" mi="0" ci="3" mb="0" cb="2"/><line nr="214" mi="0" ci="5" mb="0" cb="0"/><line nr="216" mi="0" ci="3" mb="0" cb="2"/><line nr="217" mi="0" ci="4" mb="0" cb="0"/><line nr="219" mi="0" ci="3" mb="0" cb="2"/><line nr="220" mi="0" ci="4" mb="0" cb="0"/><line nr="222" mi="0" ci="3" mb="0" cb="2"/><line nr="223" mi="0" ci="5" mb="0" cb="0"/><line nr="225" mi="0" ci="3" mb="0" cb="2"/><line nr="226" mi="0" ci="5" mb="0" cb="0"/><line nr="228" mi="0" ci="3" mb="0" cb="2"/><line nr="229" mi="0" ci="5" mb="0" cb="0"/><line nr="231" mi="0" ci="2" mb="0" cb="0"/><line nr="235" mi="0" ci="3" mb="0" cb="2"/><line nr="236" mi="0" ci="3" mb="0" cb="0"/><line nr="238" mi="0" ci="3" mb="1" cb="1"/><line nr="239" mi="2" ci="0" mb="0" cb="0"/><line nr="241" mi="0" ci="2" mb="0" cb="0"/><line nr="245" mi="0" ci="12" mb="1" cb="3"/><line nr="249" mi="0" ci="6" mb="0" cb="0"/><counter type="INSTRUCTION" missed="2" covered="231"/><counter type="BRANCH" missed="4" covered="36"/><counter type="LINE" missed="1" covered="58"/><counter type="COMPLEXITY" missed="4" covered="24"/><counter type="METHOD" missed="0" covered="8"/><counter type="CLASS" missed="0" covered="1"/></sourcefile><sourcefile name="MergeMojo.java"><line nr="34" mi="0" ci="3" mb="0" cb="0"/><line nr="66" mi="0" ci="3" mb="1" cb="1"/><line nr="67" mi="1" ci="0" mb="0" cb="0"/><line nr="69" mi="0" ci="2" mb="0" cb="0"/><line nr="70" mi="0" ci="1" mb="0" cb="0"/><line nr="73" mi="0" ci="7" mb="2" cb="2"/><line nr="74" mi="4" ci="0" mb="0" cb="0"/><line nr="75" mi="2" ci="0" mb="0" cb="0"/><line nr="77" mi="0" ci="2" mb="0" cb="0"/><line nr="81" mi="0" ci="4" mb="0" cb="0"/><line nr="83" mi="0" ci="3" mb="0" cb="0"/><line nr="84" mi="0" ci="3" mb="0" cb="0"/><line nr="85" mi="0" ci="1" mb="0" cb="0"/><line nr="89" mi="0" ci="4" mb="0" cb="0"/><line nr="90" mi="0" ci="11" mb="0" cb="2"/><line nr="91" mi="0" ci="16" mb="0" cb="2"/><line nr="92" mi="0" ci="2" mb="0" cb="0"/><line nr="93" mi="0" ci="7" mb="0" cb="0"/><line nr="95" mi="0" ci="3" mb="1" cb="1"/><line nr="96" mi="1" ci="0" mb="0" cb="0"/><line nr="99" mi="0" ci="9" mb="0" cb="0"/><line nr="100" mi="0" ci="3" mb="0" cb="0"/><line nr="101" mi="0" ci="3" mb="0" cb="0"/><line nr="102" mi="1" ci="0" mb="0" cb="0"/><line nr="103" mi="8" ci="0" mb="0" cb="0"/><line nr="104" mi="6" ci="0" mb="0" cb="0"/><line nr="105" mi="0" ci="1" mb="0" cb="0"/><line nr="107" mi="0" ci="1" mb="0" cb="0"/><line nr="108" mi="0" ci="1" mb="0" cb="0"/><line nr="112" mi="0" ci="5" mb="1" cb="1"/><line nr="113" mi="4" ci="0" mb="0" cb="0"/><line nr="114" mi="1" ci="0" mb="0" cb="0"/><line nr="116" mi="0" ci="10" mb="0" cb="0"/><line nr="117" mi="0" ci="3" mb="0" cb="0"/><line nr="119" mi="0" ci="5" mb="0" cb="0"/><line nr="120" mi="1" ci="0" mb="0" cb="0"/><line nr="121" mi="9" ci="0" mb="0" cb="0"/><line nr="122" mi="6" ci="0" mb="0" cb="0"/><line nr="124" mi="0" ci="1" mb="0" cb="0"/><line nr="125" mi="0" ci="1" mb="0" cb="0"/><counter type="INSTRUCTION" missed="44" covered="115"/><counter type="BRANCH" missed="5" covered="9"/><counter type="LINE" missed="12" covered="28"/><counter type="COMPLEXITY" missed="5" covered="8"/><counter type="METHOD" missed="0" covered="6"/><counter type="CLASS" missed="0" covered="1"/></sourcefile><sourcefile name="InstrumentMojo.java"><line nr="47" mi="0" ci="3" mb="0" cb="0"/><line nr="69" mi="0" ci="3" mb="0" cb="0"/><line nr="70" mi="0" ci="6" mb="0" cb="0"/><line nr="72" mi="0" ci="3" mb="0" cb="0"/><line nr="73" mi="0" ci="3" mb="0" cb="0"/><line nr="74" mi="0" ci="5" mb="0" cb="0"/><line nr="75" mi="0" ci="3" mb="0" cb="2"/><line nr="76" mi="0" ci="11" mb="0" cb="0"/><line nr="79" mi="0" ci="1" mb="0" cb="0"/><line nr="84" mi="0" ci="8" mb="0" cb="0"/><line nr="85" mi="0" ci="2" mb="0" cb="0"/><line nr="86" mi="1" ci="0" mb="0" cb="0"/><line nr="87" mi="6" ci="0" mb="0" cb="0"/><line nr="89" mi="0" ci="1" mb="0" cb="0"/><line nr="91" mi="0" ci="7" mb="0" cb="0"/><line nr="93" mi="0" ci="10" mb="0" cb="2"/><line nr="94" mi="0" ci="4" mb="1" cb="1"/><line nr="95" mi="0" ci="6" mb="0" cb="0"/><line nr="96" mi="0" ci="6" mb="0" cb="0"/><line nr="97" mi="0" ci="2" mb="0" cb="0"/><line nr="98" mi="0" ci="2" mb="0" cb="0"/><line nr="100" mi="0" ci="3" mb="0" cb="0"/><line nr="101" mi="0" ci="5" mb="0" cb="0"/><line nr="102" mi="0" ci="5" mb="0" cb="0"/><line nr="103" mi="0" ci="6" mb="0" cb="0"/><line nr="104" mi="1" ci="0" mb="0" cb="0"/><line nr="105" mi="6" ci="0" mb="0" cb="0"/><line nr="108" mi="0" ci="2" mb="0" cb="0"/><line nr="109" mi="0" ci="2" mb="0" cb="0"/><line nr="112" mi="0" ci="1" mb="0" cb="0"/><line nr="113" mi="0" ci="1" mb="0" cb="0"/><counter type="INSTRUCTION" missed="14" covered="111"/><counter type="BRANCH" missed="1" covered="5"/><counter type="LINE" missed="4" covered="27"/><counter type="COMPLEXITY" missed="1" covered="4"/><counter type="METHOD" missed="0" covered="2"/><counter type="CLASS" missed="0" covered="1"/></sourcefile><sourcefile name="RuleConfiguration.java"><line nr="35" mi="0" ci="2" mb="0" cb="0"/><line nr="36" mi="0" ci="5" mb="0" cb="0"/><line nr="37" mi="0" ci="1" mb="0" cb="0"/><line nr="45" mi="0" ci="5" mb="0" cb="0"/><line nr="46" mi="0" ci="1" mb="0" cb="0"/><line nr="53" mi="0" ci="7" mb="0" cb="0"/><line nr="54" mi="0" ci="1" mb="0" cb="0"/><line nr="62" mi="7" ci="0" mb="0" cb="0"/><line nr="63" mi="1" ci="0" mb="0" cb="0"/><line nr="70" mi="0" ci="4" mb="0" cb="0"/><line nr="71" mi="0" ci="1" mb="0" cb="0"/><counter type="INSTRUCTION" missed="8" covered="27"/><counter type="LINE" missed="2" covered="9"/><counter type="COMPLEXITY" missed="1" covered="4"/><counter type="METHOD" missed="1" covered="4"/><counter type="CLASS" missed="0" covered="1"/></sourcefile><sourcefile name="AbstractJacocoMojo.java"><line nr="24" mi="0" ci="3" mb="0" cb="0"/><line nr="40" mi="0" ci="3" mb="0" cb="2"/><line nr="41" mi="0" ci="4" mb="0" cb="0"/><line nr="43" mi="0" ci="2" mb="0" cb="0"/><line nr="44" mi="0" ci="1" mb="0" cb="0"/><line nr="46" mi="0" ci="2" mb="0" cb="0"/><line nr="47" mi="0" ci="1" mb="0" cb="0"/><line nr="67" mi="1" ci="0" mb="0" cb="0"/><line nr="73" mi="0" ci="3" mb="0" cb="0"/><counter type="INSTRUCTION" missed="1" covered="19"/><counter type="BRANCH" missed="0" covered="2"/><counter type="LINE" missed="1" covered="8"/><counter type="COMPLEXITY" missed="1" covered="4"/><counter type="METHOD" missed="1" covered="3"/><counter type="CLASS" missed="0" covered="1"/></sourcefile><sourcefile name="AgentMojo.java"><line nr="89" mi="0" ci="3" mb="0" cb="0"/><line nr="102" mi="0" ci="3" mb="0" cb="0"/><counter type="INSTRUCTION" missed="0" covered="6"/><counter type="LINE" missed="0" covered="2"/><counter type="COMPLEXITY" missed="0" covered="2"/><counter type="METHOD" missed="0" covered="2"/><counter type="CLASS" missed="0" covered="1"/></sourcefile><sourcefile name="AgentITMojo.java"><line nr="34" mi="0" ci="3" mb="0" cb="0"/><line nr="47" mi="0" ci="3" mb="0" cb="0"/><counter type="INSTRUCTION" missed="0" covered="6"/><counter type="LINE" missed="0" covered="2"/><counter type="COMPLEXITY" missed="0" covered="2"/><counter type="METHOD" missed="0" covered="2"/><counter type="CLASS" missed="0" covered="1"/></sourcefile><sourcefile name="ReportMojo.java"><line nr="31" mi="0" ci="3" mb="0" cb="0"/><line nr="51" mi="0" ci="4" mb="0" cb="0"/><line nr="56" mi="0" ci="9" mb="0" cb="0"/><line nr="61" mi="0" ci="4" mb="0" cb="0"/><line nr="62" mi="0" ci="1" mb="0" cb="0"/><line nr="66" mi="0" ci="3" mb="0" cb="0"/><line nr="72" mi="0" ci="10" mb="0" cb="0"/><line nr="73" mi="0" ci="3" mb="0" cb="0"/><line nr="74" mi="0" ci="1" mb="0" cb="0"/><line nr="77" mi="3" ci="0" mb="0" cb="0"/><line nr="81" mi="0" ci="3" mb="1" cb="1"/><line nr="82" mi="0" ci="4" mb="1" cb="1"/><line nr="83" mi="0" ci="8" mb="0" cb="0"/><line nr="85" mi="3" ci="0" mb="0" cb="0"/><line nr="87" mi="0" ci="1" mb="0" cb="0"/><line nr="90" mi="0" ci="2" mb="0" cb="0"/><line nr="94" mi="0" ci="2" mb="0" cb="0"/><counter type="INSTRUCTION" missed="6" covered="58"/><counter type="BRANCH" missed="2" covered="2"/><counter type="LINE" missed="2" covered="15"/><counter type="COMPLEXITY" missed="3" covered="9"/><counter type="METHOD" missed="1" covered="9"/><counter type="CLASS" missed="0" covered="1"/></sourcefile><sourcefile name="ReportSupport.java"><line nr="67" mi="0" ci="2" mb="0" cb="0"/><line nr="68" mi="0" ci="3" mb="0" cb="0"/><line nr="69" mi="0" ci="5" mb="0" cb="0"/><line nr="70" mi="0" ci="5" mb="0" cb="0"/><line nr="71" mi="0" ci="1" mb="0" cb="0"/><line nr="82" mi="0" ci="11" mb="0" cb="0"/><line nr="83" mi="0" ci="4" mb="0" cb="0"/><line nr="84" mi="0" ci="1" mb="0" cb="0"/><line nr="87" mi="0" ci="5" mb="0" cb="0"/><line nr="88" mi="0" ci="1" mb="0" cb="0"/><line nr="92" mi="0" ci="4" mb="0" cb="0"/><line nr="93" mi="0" ci="3" mb="0" cb="0"/><line nr="94" mi="0" ci="7" mb="0" cb="0"/><line nr="95" mi="0" ci="1" mb="0" cb="0"/><line nr="98" mi="0" ci="6" mb="0" cb="0"/><line nr="99" mi="0" ci="8" mb="0" cb="0"/><line nr="100" mi="0" ci="2" mb="0" cb="0"/><line nr="101" mi="0" ci="2" mb="0" cb="0"/><line nr="122" mi="0" ci="13" mb="0" cb="0"/><line nr="124" mi="0" ci="1" mb="0" cb="0"/><line nr="149" mi="0" ci="13" mb="0" cb="0"/><line nr="151" mi="0" ci="1" mb="0" cb="0"/><line nr="157" mi="0" ci="4" mb="0" cb="0"/><line nr="158" mi="0" ci="3" mb="0" cb="0"/><line nr="159" mi="0" ci="4" mb="0" cb="0"/><line nr="161" mi="0" ci="3" mb="0" cb="2"/><line nr="162" mi="0" ci="4" mb="0" cb="0"/><line nr="163" mi="0" ci="4" mb="0" cb="0"/><line nr="164" mi="0" ci="6" mb="0" cb="0"/><line nr="165" mi="0" ci="12" mb="0" cb="2"/><line nr="166" mi="0" ci="4" mb="0" cb="0"/><line nr="167" mi="0" ci="1" mb="0" cb="0"/><line nr="170" mi="0" ci="4" mb="0" cb="0"/><line nr="171" mi="0" ci="5" mb="0" cb="0"/><line nr="173" mi="0" ci="4" mb="0" cb="0"/><line nr="174" mi="0" ci="1" mb="0" cb="0"/><line nr="178" mi="0" ci="10" mb="0" cb="0"/><line nr="179" mi="0" ci="5" mb="0" cb="0"/><line nr="180" mi="0" ci="4" mb="0" cb="0"/><line nr="181" mi="0" ci="3" mb="0" cb="2"/><line nr="182" mi="0" ci="10" mb="0" cb="0"/><line nr="185" mi="0" ci="2" mb="0" cb="0"/><line nr="186" mi="0" ci="10" mb="0" cb="2"/><line nr="187" mi="0" ci="10" mb="0" cb="0"/><line nr="188" mi="0" ci="2" mb="0" cb="0"/><line nr="189" mi="0" ci="1" mb="0" cb="0"/><line nr="191" mi="0" ci="4" mb="0" cb="2"/><line nr="192" mi="0" ci="3" mb="0" cb="2"/><line nr="193" mi="0" ci="4" mb="0" cb="0"/><line nr="196" mi="0" ci="1" mb="0" cb="0"/><line nr="198" mi="0" ci="6" mb="0" cb="0"/><line nr="202" mi="2" ci="0" mb="0" cb="0"/><line nr="206" mi="2" ci="0" mb="0" cb="0"/><line nr="216" mi="0" ci="5" mb="0" cb="0"/><line nr="217" mi="0" ci="4" mb="0" cb="0"/><line nr="218" mi="0" ci="3" mb="0" cb="0"/><line nr="219" mi="0" ci="1" mb="0" cb="0"/><line nr="224" mi="0" ci="3" mb="0" cb="2"/><line nr="225" mi="0" ci="12" mb="0" cb="0"/><line nr="227" mi="0" ci="2" mb="0" cb="0"/><line nr="229" mi="0" ci="11" mb="1" cb="1"/><line nr="230" mi="0" ci="6" mb="0" cb="0"/><line nr="231" mi="0" ci="6" mb="2" cb="2"/><line nr="232" mi="0" ci="10" mb="0" cb="0"/><line nr="235" mi="1" ci="0" mb="0" cb="0"/><line nr="236" mi="2" ci="0" mb="0" cb="0"/><line nr="240" mi="0" ci="2" mb="0" cb="0"/><line nr="246" mi="0" ci="4" mb="0" cb="0"/><line nr="247" mi="0" ci="10" mb="0" cb="2"/><line nr="248" mi="0" ci="7" mb="0" cb="0"/><line nr="249" mi="0" ci="1" mb="0" cb="0"/><line nr="250" mi="0" ci="2" mb="0" cb="0"/><line nr="255" mi="0" ci="5" mb="0" cb="0"/><line nr="256" mi="0" ci="3" mb="1" cb="1"/><line nr="257" mi="7" ci="0" mb="0" cb="0"/><line nr="259" mi="0" ci="2" mb="0" cb="0"/><counter type="INSTRUCTION" missed="14" covered="332"/><counter type="BRANCH" missed="4" covered="20"/><counter type="LINE" missed="5" covered="71"/><counter type="COMPLEXITY" missed="6" covered="23"/><counter type="METHOD" missed="2" covered="15"/><counter type="CLASS" missed="0" covered="3"/></sourcefile><counter type="INSTRUCTION" missed="175" covered="1730"/><counter type="BRANCH" missed="27" covered="127"/><counter type="LINE" missed="49" covered="417"/><counter type="COMPLEXITY" missed="35" covered="159"/><counter type="METHOD" missed="8" covered="109"/><counter type="CLASS" missed="0" covered="23"/></package><counter type="INSTRUCTION" missed="175" covered="1730"/><counter type="BRANCH" missed="27" covered="127"/><counter type="LINE" missed="49" covered="417"/><counter type="COMPLEXITY" missed="35" covered="159"/><counter type="METHOD" missed="8" covered="109"/><counter type="CLASS" missed="0" covered="23"/></group><counter type="INSTRUCTION" missed="1432" covered="26754"/><counter type="BRANCH" missed="163" covered="2109"/><counter type="LINE" missed="367" covered="6194"/><counter type="COMPLEXITY" missed="229" covered="2461"/><counter type="METHOD" missed="76" covered="1446"/><counter type="CLASS" missed="15" covered="288"/></report>
    \ No newline at end of file
    diff --git a/jacoco/trunk/coverage/org.jacoco.agent.rt/com.vladium.emma.rt/RT.html b/jacoco/trunk/coverage/org.jacoco.agent.rt/com.vladium.emma.rt/RT.html
    new file mode 100644
    index 00000000000..93552ba4dc2
    --- /dev/null
    +++ b/jacoco/trunk/coverage/org.jacoco.agent.rt/com.vladium.emma.rt/RT.html
    @@ -0,0 +1 @@
    +<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="en"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../../jacoco-resources/report.gif" type="image/gif"/><title>RT</title><script type="text/javascript" src="../../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../../index.html" class="el_report">JaCoCo</a> &gt; <a href="../index.html" class="el_bundle">org.jacoco.agent.rt</a> &gt; <a href="index.html" class="el_package">com.vladium.emma.rt</a> &gt; <span class="el_class">RT</span></div><h1>RT</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">19 of 19</td><td class="ctr2">0%</td><td class="bar">0 of 0</td><td class="ctr2">n/a</td><td class="ctr1">2</td><td class="ctr2">2</td><td class="ctr1">6</td><td class="ctr2">6</td><td class="ctr1">2</td><td class="ctr2">2</td></tr></tfoot><tbody><tr><td id="a1"><a href="RT.java.html#L50" class="el_method">dumpCoverageData(File, boolean, boolean)</a></td><td class="bar" id="b0"><img src="../../jacoco-resources/redbar.gif" width="120" height="10" title="14" alt="14"/></td><td class="ctr2" id="c0">0%</td><td class="bar" id="d0"/><td class="ctr2" id="e0">n/a</td><td class="ctr1" id="f0">1</td><td class="ctr2" id="g0">1</td><td class="ctr1" id="h0">4</td><td class="ctr2" id="i0">4</td><td class="ctr1" id="j0">1</td><td class="ctr2" id="k0">1</td></tr><tr><td id="a0"><a href="RT.java.html#L72" class="el_method">dumpCoverageData(File, boolean)</a></td><td class="bar" id="b1"><img src="../../jacoco-resources/redbar.gif" width="42" height="10" title="5" alt="5"/></td><td class="ctr2" id="c1">0%</td><td class="bar" id="d1"/><td class="ctr2" id="e1">n/a</td><td class="ctr1" id="f1">1</td><td class="ctr2" id="g1">1</td><td class="ctr1" id="h1">2</td><td class="ctr2" id="i1">2</td><td class="ctr1" id="j1">1</td><td class="ctr2" id="k1">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.12.202403270442</span>Code Coverage Report for JaCoCo 0.8.12-SNAPSHOT</div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/trunk/coverage/org.jacoco.agent.rt/com.vladium.emma.rt/RT.java.html b/jacoco/trunk/coverage/org.jacoco.agent.rt/com.vladium.emma.rt/RT.java.html
    new file mode 100644
    index 00000000000..843dc7be7d8
    --- /dev/null
    +++ b/jacoco/trunk/coverage/org.jacoco.agent.rt/com.vladium.emma.rt/RT.java.html
    @@ -0,0 +1,76 @@
    +<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="en"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../../jacoco-resources/report.gif" type="image/gif"/><title>RT.java</title><link rel="stylesheet" href="../../jacoco-resources/prettify.css" type="text/css"/><script type="text/javascript" src="../../jacoco-resources/prettify.js"></script></head><body onload="window['PR_TAB_WIDTH']=4;prettyPrint()"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../../index.html" class="el_report">JaCoCo</a> &gt; <a href="../index.html" class="el_bundle">org.jacoco.agent.rt</a> &gt; <a href="index.source.html" class="el_package">com.vladium.emma.rt</a> &gt; <span class="el_source">RT.java</span></div><h1>RT.java</h1><pre class="source lang-java linenums">/*******************************************************************************
    + * Copyright (c) 2009, 2024 Mountainminds GmbH &amp; Co. KG and Contributors
    + * This program and the accompanying materials are made available under
    + * the terms of the Eclipse Public License 2.0 which is available at
    + * http://www.eclipse.org/legal/epl-2.0
    + *
    + * SPDX-License-Identifier: EPL-2.0
    + *
    + * Contributors:
    + *    Marc R. Hoffmann - initial API and implementation
    + *
    + *******************************************************************************/
    +package com.vladium.emma.rt;
    +
    +import java.io.File;
    +import java.io.FileOutputStream;
    +import java.io.IOException;
    +import java.io.OutputStream;
    +
    +/**
    + * Compatibility layer for the EMMA runtime which allows to trigger dumps
    + * through EMMA APIs. Note that even this class emulates an EMMA API the files
    + * written are in JaCoCo execution data format.
    + *
    + * @deprecated Use {@link org.jacoco.agent.rt.IAgent} instead.
    + */
    +@Deprecated
    +public final class RT {
    +
    +	private RT() {
    +	}
    +
    +	/**
    +	 * Writes the current execution data to the given file in JaCoCo execution
    +	 * data format.
    +	 *
    +	 * @param outFile
    +	 *            file to write execution data to
    +	 * @param merge
    +	 *            if &lt;code&gt;true&lt;/code&gt;, execution data is appended to an
    +	 *            existing file
    +	 * @param stopDataCollection
    +	 *            ignored
    +	 * @throws IOException
    +	 *             in case of problems with the file output
    +	 */
    +	@SuppressWarnings(&quot;unused&quot;)
    +	public static void dumpCoverageData(final File outFile, final boolean merge,
    +			final boolean stopDataCollection) throws IOException {
    +<span class="nc" id="L50">		final OutputStream out = new FileOutputStream(outFile, merge);</span>
    +		try {
    +<span class="nc" id="L52">			out.write(</span>
    +					org.jacoco.agent.rt.RT.getAgent().getExecutionData(false));
    +		} finally {
    +<span class="nc" id="L55">			out.close();</span>
    +		}
    +<span class="nc" id="L57">	}</span>
    +
    +	/**
    +	 * Writes the current execution data to the given file in JaCoCo execution
    +	 * data format. If the file already exists new data is appended.
    +	 *
    +	 * @param outFile
    +	 *            file to write execution data to
    +	 * @param stopDataCollection
    +	 *            ignored
    +	 * @throws IOException
    +	 *             in case of problems with the file output
    +	 */
    +	public static synchronized void dumpCoverageData(final File outFile,
    +			final boolean stopDataCollection) throws IOException {
    +<span class="nc" id="L72">		dumpCoverageData(outFile, true, stopDataCollection);</span>
    +<span class="nc" id="L73">	}</span>
    +
    +}
    +</pre><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.12.202403270442</span>Code Coverage Report for JaCoCo 0.8.12-SNAPSHOT</div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/trunk/coverage/org.jacoco.agent.rt/com.vladium.emma.rt/index.html b/jacoco/trunk/coverage/org.jacoco.agent.rt/com.vladium.emma.rt/index.html
    new file mode 100644
    index 00000000000..58baf0e8a23
    --- /dev/null
    +++ b/jacoco/trunk/coverage/org.jacoco.agent.rt/com.vladium.emma.rt/index.html
    @@ -0,0 +1 @@
    +<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="en"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../../jacoco-resources/report.gif" type="image/gif"/><title>com.vladium.emma.rt</title><script type="text/javascript" src="../../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb', 'coveragetable'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="index.source.html" class="el_source">Source Files</a><a href="../../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../../index.html" class="el_report">JaCoCo</a> &gt; <a href="../index.html" class="el_bundle">org.jacoco.agent.rt</a> &gt; <span class="el_package">com.vladium.emma.rt</span></div><h1>com.vladium.emma.rt</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td><td class="sortable ctr1" id="l" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="m" onclick="toggleSort(this)">Classes</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">19 of 19</td><td class="ctr2">0%</td><td class="bar">0 of 0</td><td class="ctr2">n/a</td><td class="ctr1">2</td><td class="ctr2">2</td><td class="ctr1">6</td><td class="ctr2">6</td><td class="ctr1">2</td><td class="ctr2">2</td><td class="ctr1">1</td><td class="ctr2">1</td></tr></tfoot><tbody><tr><td id="a0"><a href="RT.html" class="el_class">RT</a></td><td class="bar" id="b0"><img src="../../jacoco-resources/redbar.gif" width="120" height="10" title="19" alt="19"/></td><td class="ctr2" id="c0">0%</td><td class="bar" id="d0"/><td class="ctr2" id="e0">n/a</td><td class="ctr1" id="f0">2</td><td class="ctr2" id="g0">2</td><td class="ctr1" id="h0">6</td><td class="ctr2" id="i0">6</td><td class="ctr1" id="j0">2</td><td class="ctr2" id="k0">2</td><td class="ctr1" id="l0">1</td><td class="ctr2" id="m0">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.12.202403270442</span>Code Coverage Report for JaCoCo 0.8.12-SNAPSHOT</div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/trunk/coverage/org.jacoco.agent.rt/com.vladium.emma.rt/index.source.html b/jacoco/trunk/coverage/org.jacoco.agent.rt/com.vladium.emma.rt/index.source.html
    new file mode 100644
    index 00000000000..2afdc581794
    --- /dev/null
    +++ b/jacoco/trunk/coverage/org.jacoco.agent.rt/com.vladium.emma.rt/index.source.html
    @@ -0,0 +1 @@
    +<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="en"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../../jacoco-resources/report.gif" type="image/gif"/><title>com.vladium.emma.rt</title><script type="text/javascript" src="../../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb', 'coveragetable'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="index.html" class="el_class">Classes</a><a href="../../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../../index.html" class="el_report">JaCoCo</a> &gt; <a href="../index.html" class="el_bundle">org.jacoco.agent.rt</a> &gt; <span class="el_package">com.vladium.emma.rt</span></div><h1>com.vladium.emma.rt</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td><td class="sortable ctr1" id="l" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="m" onclick="toggleSort(this)">Classes</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">19 of 19</td><td class="ctr2">0%</td><td class="bar">0 of 0</td><td class="ctr2">n/a</td><td class="ctr1">2</td><td class="ctr2">2</td><td class="ctr1">6</td><td class="ctr2">6</td><td class="ctr1">2</td><td class="ctr2">2</td><td class="ctr1">1</td><td class="ctr2">1</td></tr></tfoot><tbody><tr><td id="a0"><a href="RT.java.html" class="el_source">RT.java</a></td><td class="bar" id="b0"><img src="../../jacoco-resources/redbar.gif" width="120" height="10" title="19" alt="19"/></td><td class="ctr2" id="c0">0%</td><td class="bar" id="d0"/><td class="ctr2" id="e0">n/a</td><td class="ctr1" id="f0">2</td><td class="ctr2" id="g0">2</td><td class="ctr1" id="h0">6</td><td class="ctr2" id="i0">6</td><td class="ctr1" id="j0">2</td><td class="ctr2" id="k0">2</td><td class="ctr1" id="l0">1</td><td class="ctr2" id="m0">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.12.202403270442</span>Code Coverage Report for JaCoCo 0.8.12-SNAPSHOT</div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/trunk/coverage/org.jacoco.agent.rt/index.html b/jacoco/trunk/coverage/org.jacoco.agent.rt/index.html
    new file mode 100644
    index 00000000000..c2b5326f048
    --- /dev/null
    +++ b/jacoco/trunk/coverage/org.jacoco.agent.rt/index.html
    @@ -0,0 +1 @@
    +<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="en"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>org.jacoco.agent.rt</title><script type="text/javascript" src="../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb', 'coveragetable'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">JaCoCo</a> &gt; <span class="el_bundle">org.jacoco.agent.rt</span></div><h1>org.jacoco.agent.rt</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td><td class="sortable ctr1" id="l" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="m" onclick="toggleSort(this)">Classes</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">340 of 1,400</td><td class="ctr2">75%</td><td class="bar">16 of 97</td><td class="ctr2">83%</td><td class="ctr1">32</td><td class="ctr2">130</td><td class="ctr1">75</td><td class="ctr2">344</td><td class="ctr1">21</td><td class="ctr2">80</td><td class="ctr1">7</td><td class="ctr2">22</td></tr></tfoot><tbody><tr><td id="a2"><a href="org.jacoco.agent.rt.internal/index.html" class="el_package">org.jacoco.agent.rt.internal</a></td><td class="bar" id="b0"><img src="../jacoco-resources/redbar.gif" width="34" height="10" title="277" alt="277"/><img src="../jacoco-resources/greenbar.gif" width="85" height="10" title="698" alt="698"/></td><td class="ctr2" id="c1">71%</td><td class="bar" id="d0"><img src="../jacoco-resources/redbar.gif" width="15" height="10" title="9" alt="9"/><img src="../jacoco-resources/greenbar.gif" width="104" height="10" title="60" alt="60"/></td><td class="ctr2" id="e0">86%</td><td class="ctr1" id="f0">18</td><td class="ctr2" id="g0">83</td><td class="ctr1" id="h0">54</td><td class="ctr2" id="i0">219</td><td class="ctr1" id="j0">13</td><td class="ctr2" id="k0">47</td><td class="ctr1" id="l0">5</td><td class="ctr2" id="m0">13</td></tr><tr><td id="a3"><a href="org.jacoco.agent.rt.internal.output/index.html" class="el_package">org.jacoco.agent.rt.internal.output</a></td><td class="bar" id="b1"><img src="../jacoco-resources/redbar.gif" width="5" height="10" title="42" alt="42"/><img src="../jacoco-resources/greenbar.gif" width="44" height="10" title="362" alt="362"/></td><td class="ctr2" id="c0">89%</td><td class="bar" id="d1"><img src="../jacoco-resources/redbar.gif" width="12" height="10" title="7" alt="7"/><img src="../jacoco-resources/greenbar.gif" width="36" height="10" title="21" alt="21"/></td><td class="ctr2" id="e1">75%</td><td class="ctr1" id="f1">11</td><td class="ctr2" id="g1">44</td><td class="ctr1" id="h1">14</td><td class="ctr2" id="i1">118</td><td class="ctr1" id="j1">5</td><td class="ctr2" id="k1">30</td><td class="ctr1" id="l3">0</td><td class="ctr2" id="m1">7</td></tr><tr><td id="a0"><a href="com.vladium.emma.rt/index.html" class="el_package">com.vladium.emma.rt</a></td><td class="bar" id="b2"><img src="../jacoco-resources/redbar.gif" width="2" height="10" title="19" alt="19"/></td><td class="ctr2" id="c2">0%</td><td class="bar" id="d2"/><td class="ctr2" id="e2">n/a</td><td class="ctr1" id="f2">2</td><td class="ctr2" id="g2">2</td><td class="ctr1" id="h2">6</td><td class="ctr2" id="i2">6</td><td class="ctr1" id="j2">2</td><td class="ctr2" id="k2">2</td><td class="ctr1" id="l1">1</td><td class="ctr2" id="m2">1</td></tr><tr><td id="a1"><a href="org.jacoco.agent.rt/index.html" class="el_package">org.jacoco.agent.rt</a></td><td class="bar" id="b3"/><td class="ctr2" id="c3">0%</td><td class="bar" id="d3"/><td class="ctr2" id="e3">n/a</td><td class="ctr1" id="f3">1</td><td class="ctr2" id="g3">1</td><td class="ctr1" id="h3">1</td><td class="ctr2" id="i3">1</td><td class="ctr1" id="j3">1</td><td class="ctr2" id="k3">1</td><td class="ctr1" id="l2">1</td><td class="ctr2" id="m3">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.12.202403270442</span>Code Coverage Report for JaCoCo 0.8.12-SNAPSHOT</div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/trunk/coverage/org.jacoco.agent.rt/org.jacoco.agent.rt.internal.output/FileOutput.html b/jacoco/trunk/coverage/org.jacoco.agent.rt/org.jacoco.agent.rt.internal.output/FileOutput.html
    new file mode 100644
    index 00000000000..fb6a7d72b3e
    --- /dev/null
    +++ b/jacoco/trunk/coverage/org.jacoco.agent.rt/org.jacoco.agent.rt.internal.output/FileOutput.html
    @@ -0,0 +1 @@
    +<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="en"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../../jacoco-resources/report.gif" type="image/gif"/><title>FileOutput</title><script type="text/javascript" src="../../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../../index.html" class="el_report">JaCoCo</a> &gt; <a href="../index.html" class="el_bundle">org.jacoco.agent.rt</a> &gt; <a href="index.html" class="el_package">org.jacoco.agent.rt.internal.output</a> &gt; <span class="el_class">FileOutput</span></div><h1>FileOutput</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">15 of 82</td><td class="ctr2">81%</td><td class="bar">3 of 4</td><td class="ctr2">25%</td><td class="ctr1">2</td><td class="ctr2">7</td><td class="ctr1">7</td><td class="ctr2">27</td><td class="ctr1">0</td><td class="ctr2">5</td></tr></tfoot><tbody><tr><td id="a1"><a href="FileOutput.java.html#L75" class="el_method">openFile()</a></td><td class="bar" id="b0"><img src="../../jacoco-resources/redbar.gif" width="54" height="10" title="15" alt="15"/><img src="../../jacoco-resources/greenbar.gif" width="65" height="10" title="18" alt="18"/></td><td class="ctr2" id="c4">54%</td><td class="bar" id="d0"><img src="../../jacoco-resources/redbar.gif" width="120" height="10" title="2" alt="2"/></td><td class="ctr2" id="e1">0%</td><td class="ctr1" id="f0">1</td><td class="ctr2" id="g0">2</td><td class="ctr1" id="h0">7</td><td class="ctr2" id="i0">12</td><td class="ctr1" id="j0">0</td><td class="ctr2" id="k0">1</td></tr><tr><td id="a3"><a href="FileOutput.java.html#L49" class="el_method">startup(AgentOptions, RuntimeData)</a></td><td class="bar" id="b1"><img src="../../jacoco-resources/greenbar.gif" width="101" height="10" title="28" alt="28"/></td><td class="ctr2" id="c0">100%</td><td class="bar" id="d1"><img src="../../jacoco-resources/redbar.gif" width="60" height="10" title="1" alt="1"/><img src="../../jacoco-resources/greenbar.gif" width="60" height="10" title="1" alt="1"/></td><td class="ctr2" id="e0">50%</td><td class="ctr1" id="f1">1</td><td class="ctr2" id="g1">2</td><td class="ctr1" id="h1">0</td><td class="ctr2" id="i1">8</td><td class="ctr1" id="j1">0</td><td class="ctr2" id="k1">1</td></tr><tr><td id="a4"><a href="FileOutput.java.html#L61" class="el_method">writeExecutionData(boolean)</a></td><td class="bar" id="b2"><img src="../../jacoco-resources/greenbar.gif" width="61" height="10" title="17" alt="17"/></td><td class="ctr2" id="c1">100%</td><td class="bar" id="d2"/><td class="ctr2" id="e2">n/a</td><td class="ctr1" id="f2">0</td><td class="ctr2" id="g2">1</td><td class="ctr1" id="h2">0</td><td class="ctr2" id="i2">5</td><td class="ctr1" id="j2">0</td><td class="ctr2" id="k2">1</td></tr><tr><td id="a0"><a href="FileOutput.java.html#L35" class="el_method">FileOutput()</a></td><td class="bar" id="b3"><img src="../../jacoco-resources/greenbar.gif" width="10" height="10" title="3" alt="3"/></td><td class="ctr2" id="c2">100%</td><td class="bar" id="d3"/><td class="ctr2" id="e3">n/a</td><td class="ctr1" id="f3">0</td><td class="ctr2" id="g3">1</td><td class="ctr1" id="h3">0</td><td class="ctr2" id="i3">1</td><td class="ctr1" id="j3">0</td><td class="ctr2" id="k3">1</td></tr><tr><td id="a2"><a href="FileOutput.java.html#L72" class="el_method">shutdown()</a></td><td class="bar" id="b4"><img src="../../jacoco-resources/greenbar.gif" width="3" height="10" title="1" alt="1"/></td><td class="ctr2" id="c3">100%</td><td class="bar" id="d4"/><td class="ctr2" id="e4">n/a</td><td class="ctr1" id="f4">0</td><td class="ctr2" id="g4">1</td><td class="ctr1" id="h4">0</td><td class="ctr2" id="i4">1</td><td class="ctr1" id="j4">0</td><td class="ctr2" id="k4">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.12.202403270442</span>Code Coverage Report for JaCoCo 0.8.12-SNAPSHOT</div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/trunk/coverage/org.jacoco.agent.rt/org.jacoco.agent.rt.internal.output/FileOutput.java.html b/jacoco/trunk/coverage/org.jacoco.agent.rt/org.jacoco.agent.rt.internal.output/FileOutput.java.html
    new file mode 100644
    index 00000000000..15e4bd2a15a
    --- /dev/null
    +++ b/jacoco/trunk/coverage/org.jacoco.agent.rt/org.jacoco.agent.rt.internal.output/FileOutput.java.html
    @@ -0,0 +1,102 @@
    +<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="en"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../../jacoco-resources/report.gif" type="image/gif"/><title>FileOutput.java</title><link rel="stylesheet" href="../../jacoco-resources/prettify.css" type="text/css"/><script type="text/javascript" src="../../jacoco-resources/prettify.js"></script></head><body onload="window['PR_TAB_WIDTH']=4;prettyPrint()"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../../index.html" class="el_report">JaCoCo</a> &gt; <a href="../index.html" class="el_bundle">org.jacoco.agent.rt</a> &gt; <a href="index.source.html" class="el_package">org.jacoco.agent.rt.internal.output</a> &gt; <span class="el_source">FileOutput.java</span></div><h1>FileOutput.java</h1><pre class="source lang-java linenums">/*******************************************************************************
    + * Copyright (c) 2009, 2024 Mountainminds GmbH &amp; Co. KG and Contributors
    + * This program and the accompanying materials are made available under
    + * the terms of the Eclipse Public License 2.0 which is available at
    + * http://www.eclipse.org/legal/epl-2.0
    + *
    + * SPDX-License-Identifier: EPL-2.0
    + *
    + * Contributors:
    + *    Brock Janiczak - initial API and implementation
    + *
    + *******************************************************************************/
    +package org.jacoco.agent.rt.internal.output;
    +
    +import java.io.File;
    +import java.io.FileOutputStream;
    +import java.io.IOException;
    +import java.io.InterruptedIOException;
    +import java.io.OutputStream;
    +import java.nio.channels.FileChannel;
    +import java.nio.channels.OverlappingFileLockException;
    +
    +import org.jacoco.core.data.ExecutionDataWriter;
    +import org.jacoco.core.runtime.AgentOptions;
    +import org.jacoco.core.runtime.RuntimeData;
    +
    +/**
    + * Local only agent output that will write coverage data to the filesystem. This
    + * controller uses the following agent options:
    + * &lt;ul&gt;
    + * &lt;li&gt;destfile&lt;/li&gt;
    + * &lt;li&gt;append&lt;/li&gt;
    + * &lt;/ul&gt;
    + */
    +<span class="fc" id="L35">public class FileOutput implements IAgentOutput {</span>
    +
    +	private static final int LOCK_RETRY_COUNT = 30;
    +
    +	private static final long LOCK_RETRY_WAIT_TIME_MS = 100;
    +
    +	private RuntimeData data;
    +
    +	private File destFile;
    +
    +	private boolean append;
    +
    +	public final void startup(final AgentOptions options,
    +			final RuntimeData data) throws IOException {
    +<span class="fc" id="L49">		this.data = data;</span>
    +<span class="fc" id="L50">		this.destFile = new File(options.getDestfile()).getAbsoluteFile();</span>
    +<span class="fc" id="L51">		this.append = options.getAppend();</span>
    +<span class="fc" id="L52">		final File folder = destFile.getParentFile();</span>
    +<span class="pc bpc" id="L53" title="1 of 2 branches missed.">		if (folder != null) {</span>
    +<span class="fc" id="L54">			folder.mkdirs();</span>
    +		}
    +		// Make sure we can write to the file:
    +<span class="fc" id="L57">		openFile().close();</span>
    +<span class="fc" id="L58">	}</span>
    +
    +	public void writeExecutionData(final boolean reset) throws IOException {
    +<span class="fc" id="L61">		final OutputStream output = openFile();</span>
    +		try {
    +<span class="fc" id="L63">			final ExecutionDataWriter writer = new ExecutionDataWriter(output);</span>
    +<span class="fc" id="L64">			data.collect(writer, writer, reset);</span>
    +		} finally {
    +<span class="fc" id="L66">			output.close();</span>
    +		}
    +<span class="fc" id="L68">	}</span>
    +
    +	public void shutdown() throws IOException {
    +		// Nothing to do
    +<span class="fc" id="L72">	}</span>
    +
    +	private OutputStream openFile() throws IOException {
    +<span class="fc" id="L75">		final FileOutputStream file = new FileOutputStream(destFile, append);</span>
    +		// Avoid concurrent writes from different agents running in parallel:
    +<span class="fc" id="L77">		final FileChannel fc = file.getChannel();</span>
    +<span class="fc" id="L78">		int retries = 0;</span>
    +		while (true) {
    +			try {
    +				// An agent from another JVM might have a lock. In this case
    +				// this method blocks until the lock is freed.
    +<span class="fc" id="L83">				fc.lock();</span>
    +<span class="fc" id="L84">				return file;</span>
    +<span class="nc" id="L85">			} catch (final OverlappingFileLockException e) {</span>
    +				// In the case of multiple class loaders there can be multiple
    +				// JaCoCo runtimes even in the same VM. In this case we get an
    +				// OverlappingFileLockException and retry lock acquisition:
    +<span class="nc bnc" id="L89" title="All 2 branches missed.">				if (retries++ &gt; LOCK_RETRY_COUNT) {</span>
    +<span class="nc" id="L90">					throw e;</span>
    +				}
    +			}
    +			try {
    +<span class="nc" id="L94">				Thread.sleep(LOCK_RETRY_WAIT_TIME_MS);</span>
    +<span class="nc" id="L95">			} catch (final InterruptedException e) {</span>
    +<span class="nc" id="L96">				throw new InterruptedIOException();</span>
    +<span class="nc" id="L97">			}</span>
    +		}
    +	}
    +
    +}
    +</pre><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.12.202403270442</span>Code Coverage Report for JaCoCo 0.8.12-SNAPSHOT</div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/trunk/coverage/org.jacoco.agent.rt/org.jacoco.agent.rt.internal.output/NoneOutput.html b/jacoco/trunk/coverage/org.jacoco.agent.rt/org.jacoco.agent.rt.internal.output/NoneOutput.html
    new file mode 100644
    index 00000000000..7060c35360a
    --- /dev/null
    +++ b/jacoco/trunk/coverage/org.jacoco.agent.rt/org.jacoco.agent.rt.internal.output/NoneOutput.html
    @@ -0,0 +1 @@
    +<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="en"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../../jacoco-resources/report.gif" type="image/gif"/><title>NoneOutput</title><script type="text/javascript" src="../../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../../index.html" class="el_report">JaCoCo</a> &gt; <a href="../index.html" class="el_bundle">org.jacoco.agent.rt</a> &gt; <a href="index.html" class="el_package">org.jacoco.agent.rt.internal.output</a> &gt; <span class="el_class">NoneOutput</span></div><h1>NoneOutput</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">3 of 6</td><td class="ctr2">50%</td><td class="bar">0 of 0</td><td class="ctr2">n/a</td><td class="ctr1">3</td><td class="ctr2">4</td><td class="ctr1">3</td><td class="ctr2">4</td><td class="ctr1">3</td><td class="ctr2">4</td></tr></tfoot><tbody><tr><td id="a2"><a href="NoneOutput.java.html#L26" class="el_method">startup(AgentOptions, RuntimeData)</a></td><td class="bar" id="b0"><img src="../../jacoco-resources/redbar.gif" width="40" height="10" title="1" alt="1"/></td><td class="ctr2" id="c1">0%</td><td class="bar" id="d0"/><td class="ctr2" id="e0">n/a</td><td class="ctr1" id="f0">1</td><td class="ctr2" id="g0">1</td><td class="ctr1" id="h0">1</td><td class="ctr2" id="i0">1</td><td class="ctr1" id="j0">1</td><td class="ctr2" id="k0">1</td></tr><tr><td id="a3"><a href="NoneOutput.java.html#L30" class="el_method">writeExecutionData(boolean)</a></td><td class="bar" id="b1"><img src="../../jacoco-resources/redbar.gif" width="40" height="10" title="1" alt="1"/></td><td class="ctr2" id="c2">0%</td><td class="bar" id="d1"/><td class="ctr2" id="e1">n/a</td><td class="ctr1" id="f1">1</td><td class="ctr2" id="g1">1</td><td class="ctr1" id="h1">1</td><td class="ctr2" id="i1">1</td><td class="ctr1" id="j1">1</td><td class="ctr2" id="k1">1</td></tr><tr><td id="a1"><a href="NoneOutput.java.html#L34" class="el_method">shutdown()</a></td><td class="bar" id="b2"><img src="../../jacoco-resources/redbar.gif" width="40" height="10" title="1" alt="1"/></td><td class="ctr2" id="c3">0%</td><td class="bar" id="d2"/><td class="ctr2" id="e2">n/a</td><td class="ctr1" id="f2">1</td><td class="ctr2" id="g2">1</td><td class="ctr1" id="h2">1</td><td class="ctr2" id="i2">1</td><td class="ctr1" id="j2">1</td><td class="ctr2" id="k2">1</td></tr><tr><td id="a0"><a href="NoneOutput.java.html#L21" class="el_method">NoneOutput()</a></td><td class="bar" id="b3"><img src="../../jacoco-resources/greenbar.gif" width="120" height="10" title="3" alt="3"/></td><td class="ctr2" id="c0">100%</td><td class="bar" id="d3"/><td class="ctr2" id="e3">n/a</td><td class="ctr1" id="f3">0</td><td class="ctr2" id="g3">1</td><td class="ctr1" id="h3">0</td><td class="ctr2" id="i3">1</td><td class="ctr1" id="j3">0</td><td class="ctr2" id="k3">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.12.202403270442</span>Code Coverage Report for JaCoCo 0.8.12-SNAPSHOT</div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/trunk/coverage/org.jacoco.agent.rt/org.jacoco.agent.rt.internal.output/NoneOutput.java.html b/jacoco/trunk/coverage/org.jacoco.agent.rt/org.jacoco.agent.rt.internal.output/NoneOutput.java.html
    new file mode 100644
    index 00000000000..b52cc7b3a1e
    --- /dev/null
    +++ b/jacoco/trunk/coverage/org.jacoco.agent.rt/org.jacoco.agent.rt.internal.output/NoneOutput.java.html
    @@ -0,0 +1,37 @@
    +<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="en"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../../jacoco-resources/report.gif" type="image/gif"/><title>NoneOutput.java</title><link rel="stylesheet" href="../../jacoco-resources/prettify.css" type="text/css"/><script type="text/javascript" src="../../jacoco-resources/prettify.js"></script></head><body onload="window['PR_TAB_WIDTH']=4;prettyPrint()"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../../index.html" class="el_report">JaCoCo</a> &gt; <a href="../index.html" class="el_bundle">org.jacoco.agent.rt</a> &gt; <a href="index.source.html" class="el_package">org.jacoco.agent.rt.internal.output</a> &gt; <span class="el_source">NoneOutput.java</span></div><h1>NoneOutput.java</h1><pre class="source lang-java linenums">/*******************************************************************************
    + * Copyright (c) 2009, 2024 Mountainminds GmbH &amp; Co. KG and Contributors
    + * This program and the accompanying materials are made available under
    + * the terms of the Eclipse Public License 2.0 which is available at
    + * http://www.eclipse.org/legal/epl-2.0
    + *
    + * SPDX-License-Identifier: EPL-2.0
    + *
    + * Contributors:
    + *    Mandrikov Evgeny - initial API and implementation
    + *
    + *******************************************************************************/
    +package org.jacoco.agent.rt.internal.output;
    +
    +import org.jacoco.core.runtime.AgentOptions;
    +import org.jacoco.core.runtime.RuntimeData;
    +
    +/**
    + * Output that does nothing.
    + */
    +<span class="fc" id="L21">public class NoneOutput implements IAgentOutput {</span>
    +
    +	public final void startup(final AgentOptions options,
    +			final RuntimeData data) {
    +		// Nothing to do
    +<span class="nc" id="L26">	}</span>
    +
    +	public void writeExecutionData(final boolean reset) {
    +		// Nothing to do
    +<span class="nc" id="L30">	}</span>
    +
    +	public void shutdown() {
    +		// Nothing to do
    +<span class="nc" id="L34">	}</span>
    +
    +}
    +</pre><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.12.202403270442</span>Code Coverage Report for JaCoCo 0.8.12-SNAPSHOT</div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/trunk/coverage/org.jacoco.agent.rt/org.jacoco.agent.rt.internal.output/TcpClientOutput$1.html b/jacoco/trunk/coverage/org.jacoco.agent.rt/org.jacoco.agent.rt.internal.output/TcpClientOutput$1.html
    new file mode 100644
    index 00000000000..8a67568dfa6
    --- /dev/null
    +++ b/jacoco/trunk/coverage/org.jacoco.agent.rt/org.jacoco.agent.rt.internal.output/TcpClientOutput$1.html
    @@ -0,0 +1 @@
    +<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="en"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../../jacoco-resources/report.gif" type="image/gif"/><title>TcpClientOutput.new Runnable() {...}</title><script type="text/javascript" src="../../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../../index.html" class="el_report">JaCoCo</a> &gt; <a href="../index.html" class="el_bundle">org.jacoco.agent.rt</a> &gt; <a href="index.html" class="el_package">org.jacoco.agent.rt.internal.output</a> &gt; <span class="el_class">TcpClientOutput.new Runnable() {...}</span></div><h1>TcpClientOutput.new Runnable() {...}</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">0 of 18</td><td class="ctr2">100%</td><td class="bar">0 of 0</td><td class="ctr2">n/a</td><td class="ctr1">0</td><td class="ctr2">2</td><td class="ctr1">0</td><td class="ctr2">6</td><td class="ctr1">0</td><td class="ctr2">2</td></tr></tfoot><tbody><tr><td id="a0"><a href="TcpClientOutput.java.html#L56" class="el_method">run()</a></td><td class="bar" id="b0"><img src="../../jacoco-resources/greenbar.gif" width="120" height="10" title="12" alt="12"/></td><td class="ctr2" id="c0">100%</td><td class="bar" id="d0"/><td class="ctr2" id="e0">n/a</td><td class="ctr1" id="f0">0</td><td class="ctr2" id="g0">1</td><td class="ctr1" id="h0">0</td><td class="ctr2" id="i0">5</td><td class="ctr1" id="j0">0</td><td class="ctr2" id="k0">1</td></tr><tr><td id="a1"><a href="TcpClientOutput.java.html#L54" class="el_method">{...}</a></td><td class="bar" id="b1"><img src="../../jacoco-resources/greenbar.gif" width="60" height="10" title="6" alt="6"/></td><td class="ctr2" id="c1">100%</td><td class="bar" id="d1"/><td class="ctr2" id="e1">n/a</td><td class="ctr1" id="f1">0</td><td class="ctr2" id="g1">1</td><td class="ctr1" id="h1">0</td><td class="ctr2" id="i1">1</td><td class="ctr1" id="j1">0</td><td class="ctr2" id="k1">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.12.202403270442</span>Code Coverage Report for JaCoCo 0.8.12-SNAPSHOT</div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/trunk/coverage/org.jacoco.agent.rt/org.jacoco.agent.rt.internal.output/TcpClientOutput.html b/jacoco/trunk/coverage/org.jacoco.agent.rt/org.jacoco.agent.rt.internal.output/TcpClientOutput.html
    new file mode 100644
    index 00000000000..8d5fa0bf0e5
    --- /dev/null
    +++ b/jacoco/trunk/coverage/org.jacoco.agent.rt/org.jacoco.agent.rt.internal.output/TcpClientOutput.html
    @@ -0,0 +1 @@
    +<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="en"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../../jacoco-resources/report.gif" type="image/gif"/><title>TcpClientOutput</title><script type="text/javascript" src="../../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../../index.html" class="el_report">JaCoCo</a> &gt; <a href="../index.html" class="el_bundle">org.jacoco.agent.rt</a> &gt; <a href="index.html" class="el_package">org.jacoco.agent.rt.internal.output</a> &gt; <span class="el_class">TcpClientOutput</span></div><h1>TcpClientOutput</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">8 of 63</td><td class="ctr2">87%</td><td class="bar">0 of 0</td><td class="ctr2">n/a</td><td class="ctr1">1</td><td class="ctr2">5</td><td class="ctr1">1</td><td class="ctr2">17</td><td class="ctr1">1</td><td class="ctr2">5</td></tr></tfoot><tbody><tr><td id="a0"><a href="TcpClientOutput.java.html#L86" class="el_method">createSocket(AgentOptions)</a></td><td class="bar" id="b0"><img src="../../jacoco-resources/redbar.gif" width="25" height="10" title="8" alt="8"/></td><td class="ctr2" id="c4">0%</td><td class="bar" id="d0"/><td class="ctr2" id="e0">n/a</td><td class="ctr1" id="f0">1</td><td class="ctr2" id="g0">1</td><td class="ctr1" id="h0">1</td><td class="ctr2" id="i4">1</td><td class="ctr1" id="j0">1</td><td class="ctr2" id="k0">1</td></tr><tr><td id="a2"><a href="TcpClientOutput.java.html#L50" class="el_method">startup(AgentOptions, RuntimeData)</a></td><td class="bar" id="b1"><img src="../../jacoco-resources/greenbar.gif" width="120" height="10" title="37" alt="37"/></td><td class="ctr2" id="c0">100%</td><td class="bar" id="d1"/><td class="ctr2" id="e1">n/a</td><td class="ctr1" id="f1">0</td><td class="ctr2" id="g1">1</td><td class="ctr1" id="h1">0</td><td class="ctr2" id="i0">8</td><td class="ctr1" id="j1">0</td><td class="ctr2" id="k1">1</td></tr><tr><td id="a1"><a href="TcpClientOutput.java.html#L68" class="el_method">shutdown()</a></td><td class="bar" id="b2"><img src="../../jacoco-resources/greenbar.gif" width="22" height="10" title="7" alt="7"/></td><td class="ctr2" id="c1">100%</td><td class="bar" id="d2"/><td class="ctr2" id="e2">n/a</td><td class="ctr1" id="f2">0</td><td class="ctr2" id="g2">1</td><td class="ctr1" id="h2">0</td><td class="ctr2" id="i1">3</td><td class="ctr1" id="j2">0</td><td class="ctr2" id="k2">1</td></tr><tr><td id="a3"><a href="TcpClientOutput.java.html#L44" class="el_method">TcpClientOutput(IExceptionLogger)</a></td><td class="bar" id="b3"><img src="../../jacoco-resources/greenbar.gif" width="19" height="10" title="6" alt="6"/></td><td class="ctr2" id="c2">100%</td><td class="bar" id="d3"/><td class="ctr2" id="e3">n/a</td><td class="ctr1" id="f3">0</td><td class="ctr2" id="g3">1</td><td class="ctr1" id="h3">0</td><td class="ctr2" id="i2">3</td><td class="ctr1" id="j3">0</td><td class="ctr2" id="k3">1</td></tr><tr><td id="a4"><a href="TcpClientOutput.java.html#L73" class="el_method">writeExecutionData(boolean)</a></td><td class="bar" id="b4"><img src="../../jacoco-resources/greenbar.gif" width="16" height="10" title="5" alt="5"/></td><td class="ctr2" id="c3">100%</td><td class="bar" id="d4"/><td class="ctr2" id="e4">n/a</td><td class="ctr1" id="f4">0</td><td class="ctr2" id="g4">1</td><td class="ctr1" id="h4">0</td><td class="ctr2" id="i3">2</td><td class="ctr1" id="j4">0</td><td class="ctr2" id="k4">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.12.202403270442</span>Code Coverage Report for JaCoCo 0.8.12-SNAPSHOT</div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/trunk/coverage/org.jacoco.agent.rt/org.jacoco.agent.rt.internal.output/TcpClientOutput.java.html b/jacoco/trunk/coverage/org.jacoco.agent.rt/org.jacoco.agent.rt.internal.output/TcpClientOutput.java.html
    new file mode 100644
    index 00000000000..f8586d307c4
    --- /dev/null
    +++ b/jacoco/trunk/coverage/org.jacoco.agent.rt/org.jacoco.agent.rt.internal.output/TcpClientOutput.java.html
    @@ -0,0 +1,90 @@
    +<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="en"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../../jacoco-resources/report.gif" type="image/gif"/><title>TcpClientOutput.java</title><link rel="stylesheet" href="../../jacoco-resources/prettify.css" type="text/css"/><script type="text/javascript" src="../../jacoco-resources/prettify.js"></script></head><body onload="window['PR_TAB_WIDTH']=4;prettyPrint()"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../../index.html" class="el_report">JaCoCo</a> &gt; <a href="../index.html" class="el_bundle">org.jacoco.agent.rt</a> &gt; <a href="index.source.html" class="el_package">org.jacoco.agent.rt.internal.output</a> &gt; <span class="el_source">TcpClientOutput.java</span></div><h1>TcpClientOutput.java</h1><pre class="source lang-java linenums">/*******************************************************************************
    + * Copyright (c) 2009, 2024 Mountainminds GmbH &amp; Co. KG and Contributors
    + * This program and the accompanying materials are made available under
    + * the terms of the Eclipse Public License 2.0 which is available at
    + * http://www.eclipse.org/legal/epl-2.0
    + *
    + * SPDX-License-Identifier: EPL-2.0
    + *
    + * Contributors:
    + *    Marc R. Hoffmann - initial API and implementation
    + *
    + *******************************************************************************/
    +package org.jacoco.agent.rt.internal.output;
    +
    +import java.io.IOException;
    +import java.net.Socket;
    +
    +import org.jacoco.agent.rt.internal.IExceptionLogger;
    +import org.jacoco.core.runtime.AgentOptions;
    +import org.jacoco.core.runtime.RuntimeData;
    +
    +/**
    + * Output that connects to a TCP port. This controller uses the following agent
    + * options:
    + * &lt;ul&gt;
    + * &lt;li&gt;address&lt;/li&gt;
    + * &lt;li&gt;port&lt;/li&gt;
    + * &lt;/ul&gt;
    + */
    +public class TcpClientOutput implements IAgentOutput {
    +
    +	private final IExceptionLogger logger;
    +
    +	private TcpConnection connection;
    +
    +	private Thread worker;
    +
    +	/**
    +	 * New controller instance.
    +	 *
    +	 * @param logger
    +	 *            logger to use in case of exceptions is spawned threads
    +	 */
    +<span class="fc" id="L44">	public TcpClientOutput(final IExceptionLogger logger) {</span>
    +<span class="fc" id="L45">		this.logger = logger;</span>
    +<span class="fc" id="L46">	}</span>
    +
    +	public void startup(final AgentOptions options, final RuntimeData data)
    +			throws IOException {
    +<span class="fc" id="L50">		final Socket socket = createSocket(options);</span>
    +<span class="fc" id="L51">		connection = new TcpConnection(socket, data);</span>
    +<span class="fc" id="L52">		connection.init();</span>
    +<span class="fc" id="L53">		worker = new Thread(new Runnable() {</span>
    +<span class="fc" id="L54">			public void run() {</span>
    +				try {
    +<span class="fc" id="L56">					connection.run();</span>
    +<span class="fc" id="L57">				} catch (final IOException e) {</span>
    +<span class="fc" id="L58">					logger.logExeption(e);</span>
    +<span class="fc" id="L59">				}</span>
    +<span class="fc" id="L60">			}</span>
    +		});
    +<span class="fc" id="L62">		worker.setName(getClass().getName());</span>
    +<span class="fc" id="L63">		worker.setDaemon(true);</span>
    +<span class="fc" id="L64">		worker.start();</span>
    +<span class="fc" id="L65">	}</span>
    +
    +	public void shutdown() throws Exception {
    +<span class="fc" id="L68">		connection.close();</span>
    +<span class="fc" id="L69">		worker.join();</span>
    +<span class="fc" id="L70">	}</span>
    +
    +	public void writeExecutionData(final boolean reset) throws IOException {
    +<span class="fc" id="L73">		connection.writeExecutionData(reset);</span>
    +<span class="fc" id="L74">	}</span>
    +
    +	/**
    +	 * Open a socket based on the given configuration.
    +	 *
    +	 * @param options
    +	 *            address and port configuration
    +	 * @return opened socket
    +	 * @throws IOException
    +	 */
    +	protected Socket createSocket(final AgentOptions options)
    +			throws IOException {
    +<span class="nc" id="L86">		return new Socket(options.getAddress(), options.getPort());</span>
    +	}
    +
    +}
    +</pre><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.12.202403270442</span>Code Coverage Report for JaCoCo 0.8.12-SNAPSHOT</div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/trunk/coverage/org.jacoco.agent.rt/org.jacoco.agent.rt.internal.output/TcpConnection.html b/jacoco/trunk/coverage/org.jacoco.agent.rt/org.jacoco.agent.rt.internal.output/TcpConnection.html
    new file mode 100644
    index 00000000000..5b1199c36a6
    --- /dev/null
    +++ b/jacoco/trunk/coverage/org.jacoco.agent.rt/org.jacoco.agent.rt.internal.output/TcpConnection.html
    @@ -0,0 +1 @@
    +<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="en"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../../jacoco-resources/report.gif" type="image/gif"/><title>TcpConnection</title><script type="text/javascript" src="../../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../../index.html" class="el_report">JaCoCo</a> &gt; <a href="../index.html" class="el_bundle">org.jacoco.agent.rt</a> &gt; <a href="index.html" class="el_package">org.jacoco.agent.rt.internal.output</a> &gt; <span class="el_class">TcpConnection</span></div><h1>TcpConnection</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">3 of 91</td><td class="ctr2">96%</td><td class="bar">3 of 14</td><td class="ctr2">78%</td><td class="ctr1">3</td><td class="ctr2">13</td><td class="ctr1">1</td><td class="ctr2">28</td><td class="ctr1">0</td><td class="ctr2">6</td></tr></tfoot><tbody><tr><td id="a2"><a href="TcpConnection.java.html#L60" class="el_method">run()</a></td><td class="bar" id="b0"><img src="../../jacoco-resources/redbar.gif" width="15" height="10" title="3" alt="3"/><img src="../../jacoco-resources/greenbar.gif" width="60" height="10" title="12" alt="12"/></td><td class="ctr2" id="c5">80%</td><td class="bar" id="d0"><img src="../../jacoco-resources/redbar.gif" width="60" height="10" title="2" alt="2"/><img src="../../jacoco-resources/greenbar.gif" width="60" height="10" title="2" alt="2"/></td><td class="ctr2" id="e3">50%</td><td class="ctr1" id="f0">2</td><td class="ctr2" id="g0">3</td><td class="ctr1" id="h0">1</td><td class="ctr2" id="i0">6</td><td class="ctr1" id="j0">0</td><td class="ctr2" id="k0">1</td></tr><tr><td id="a1"><a href="TcpConnection.java.html#L46" class="el_method">init()</a></td><td class="bar" id="b1"><img src="../../jacoco-resources/greenbar.gif" width="120" height="10" title="24" alt="24"/></td><td class="ctr2" id="c0">100%</td><td class="bar" id="d4"/><td class="ctr2" id="e4">n/a</td><td class="ctr1" id="f2">0</td><td class="ctr2" id="g4">1</td><td class="ctr1" id="h1">0</td><td class="ctr2" id="i2">5</td><td class="ctr1" id="j1">0</td><td class="ctr2" id="k1">1</td></tr><tr><td id="a4"><a href="TcpConnection.java.html#L102" class="el_method">visitDumpCommand(boolean, boolean)</a></td><td class="bar" id="b2"><img src="../../jacoco-resources/greenbar.gif" width="100" height="10" title="20" alt="20"/></td><td class="ctr2" id="c1">100%</td><td class="bar" id="d2"><img src="../../jacoco-resources/greenbar.gif" width="120" height="10" title="4" alt="4"/></td><td class="ctr2" id="e0">100%</td><td class="ctr1" id="f3">0</td><td class="ctr2" id="g1">3</td><td class="ctr1" id="h2">0</td><td class="ctr2" id="i1">6</td><td class="ctr1" id="j2">0</td><td class="ctr2" id="k2">1</td></tr><tr><td id="a3"><a href="TcpConnection.java.html#L39" class="el_method">TcpConnection(Socket, RuntimeData)</a></td><td class="bar" id="b3"><img src="../../jacoco-resources/greenbar.gif" width="60" height="10" title="12" alt="12"/></td><td class="ctr2" id="c2">100%</td><td class="bar" id="d5"/><td class="ctr2" id="e5">n/a</td><td class="ctr1" id="f4">0</td><td class="ctr2" id="g5">1</td><td class="ctr1" id="h3">0</td><td class="ctr2" id="i3">5</td><td class="ctr1" id="j3">0</td><td class="ctr2" id="k3">1</td></tr><tr><td id="a5"><a href="TcpConnection.java.html#L82" class="el_method">writeExecutionData(boolean)</a></td><td class="bar" id="b4"><img src="../../jacoco-resources/greenbar.gif" width="60" height="10" title="12" alt="12"/></td><td class="ctr2" id="c3">100%</td><td class="bar" id="d1"><img src="../../jacoco-resources/redbar.gif" width="30" height="10" title="1" alt="1"/><img src="../../jacoco-resources/greenbar.gif" width="90" height="10" title="3" alt="3"/></td><td class="ctr2" id="e2">75%</td><td class="ctr1" id="f1">1</td><td class="ctr2" id="g2">3</td><td class="ctr1" id="h4">0</td><td class="ctr2" id="i4">3</td><td class="ctr1" id="j4">0</td><td class="ctr2" id="k4">1</td></tr><tr><td id="a0"><a href="TcpConnection.java.html#L93" class="el_method">close()</a></td><td class="bar" id="b5"><img src="../../jacoco-resources/greenbar.gif" width="40" height="10" title="8" alt="8"/></td><td class="ctr2" id="c4">100%</td><td class="bar" id="d3"><img src="../../jacoco-resources/greenbar.gif" width="60" height="10" title="2" alt="2"/></td><td class="ctr2" id="e1">100%</td><td class="ctr1" id="f5">0</td><td class="ctr2" id="g3">2</td><td class="ctr1" id="h5">0</td><td class="ctr2" id="i5">3</td><td class="ctr1" id="j5">0</td><td class="ctr2" id="k5">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.12.202403270442</span>Code Coverage Report for JaCoCo 0.8.12-SNAPSHOT</div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/trunk/coverage/org.jacoco.agent.rt/org.jacoco.agent.rt.internal.output/TcpConnection.java.html b/jacoco/trunk/coverage/org.jacoco.agent.rt/org.jacoco.agent.rt.internal.output/TcpConnection.java.html
    new file mode 100644
    index 00000000000..4105e7ae628
    --- /dev/null
    +++ b/jacoco/trunk/coverage/org.jacoco.agent.rt/org.jacoco.agent.rt.internal.output/TcpConnection.java.html
    @@ -0,0 +1,113 @@
    +<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="en"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../../jacoco-resources/report.gif" type="image/gif"/><title>TcpConnection.java</title><link rel="stylesheet" href="../../jacoco-resources/prettify.css" type="text/css"/><script type="text/javascript" src="../../jacoco-resources/prettify.js"></script></head><body onload="window['PR_TAB_WIDTH']=4;prettyPrint()"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../../index.html" class="el_report">JaCoCo</a> &gt; <a href="../index.html" class="el_bundle">org.jacoco.agent.rt</a> &gt; <a href="index.source.html" class="el_package">org.jacoco.agent.rt.internal.output</a> &gt; <span class="el_source">TcpConnection.java</span></div><h1>TcpConnection.java</h1><pre class="source lang-java linenums">/*******************************************************************************
    + * Copyright (c) 2009, 2024 Mountainminds GmbH &amp; Co. KG and Contributors
    + * This program and the accompanying materials are made available under
    + * the terms of the Eclipse Public License 2.0 which is available at
    + * http://www.eclipse.org/legal/epl-2.0
    + *
    + * SPDX-License-Identifier: EPL-2.0
    + *
    + * Contributors:
    + *    Marc R. Hoffmann - initial API and implementation
    + *
    + *******************************************************************************/
    +package org.jacoco.agent.rt.internal.output;
    +
    +import java.io.IOException;
    +import java.net.Socket;
    +import java.net.SocketException;
    +
    +import org.jacoco.core.runtime.IRemoteCommandVisitor;
    +import org.jacoco.core.runtime.RemoteControlReader;
    +import org.jacoco.core.runtime.RemoteControlWriter;
    +import org.jacoco.core.runtime.RuntimeData;
    +
    +/**
    + * Handler for a single socket based remote connection.
    + */
    +class TcpConnection implements IRemoteCommandVisitor {
    +
    +	private final RuntimeData data;
    +
    +	private final Socket socket;
    +
    +	private RemoteControlWriter writer;
    +
    +	private RemoteControlReader reader;
    +
    +	private boolean initialized;
    +
    +<span class="fc" id="L39">	public TcpConnection(final Socket socket, final RuntimeData data) {</span>
    +<span class="fc" id="L40">		this.socket = socket;</span>
    +<span class="fc" id="L41">		this.data = data;</span>
    +<span class="fc" id="L42">		this.initialized = false;</span>
    +<span class="fc" id="L43">	}</span>
    +
    +	public void init() throws IOException {
    +<span class="fc" id="L46">		this.writer = new RemoteControlWriter(socket.getOutputStream());</span>
    +<span class="fc" id="L47">		this.reader = new RemoteControlReader(socket.getInputStream());</span>
    +<span class="fc" id="L48">		this.reader.setRemoteCommandVisitor(this);</span>
    +<span class="fc" id="L49">		this.initialized = true;</span>
    +<span class="fc" id="L50">	}</span>
    +
    +	/**
    +	 * Processes all requests for this session until the socket is closed.
    +	 *
    +	 * @throws IOException
    +	 *             in case of problems whith the connection
    +	 */
    +	public void run() throws IOException {
    +		try {
    +<span class="pc bpc" id="L60" title="1 of 2 branches missed.">			while (reader.read()) {</span>
    +			}
    +<span class="fc" id="L62">		} catch (final SocketException e) {</span>
    +			// If the local socket is closed while polling for commands the
    +			// SocketException is expected.
    +<span class="pc bpc" id="L65" title="1 of 2 branches missed.">			if (!socket.isClosed()) {</span>
    +<span class="nc" id="L66">				throw e;</span>
    +			}
    +		} finally {
    +<span class="fc" id="L69">			close();</span>
    +		}
    +<span class="fc" id="L71">	}</span>
    +
    +	/**
    +	 * Dumps the current execution data if the connection is already initialized
    +	 * and the underlying socket is still open.
    +	 *
    +	 * @param reset
    +	 *            if &lt;code&gt;true&lt;/code&gt; execution data is cleared afterwards
    +	 * @throws IOException
    +	 */
    +	public void writeExecutionData(final boolean reset) throws IOException {
    +<span class="pc bpc" id="L82" title="1 of 4 branches missed.">		if (initialized &amp;&amp; !socket.isClosed()) {</span>
    +<span class="fc" id="L83">			visitDumpCommand(true, reset);</span>
    +		}
    +<span class="fc" id="L85">	}</span>
    +
    +	/**
    +	 * Closes the underlying socket if not closed yet.
    +	 *
    +	 * @throws IOException
    +	 */
    +	public void close() throws IOException {
    +<span class="fc bfc" id="L93" title="All 2 branches covered.">		if (!socket.isClosed()) {</span>
    +<span class="fc" id="L94">			socket.close();</span>
    +		}
    +<span class="fc" id="L96">	}</span>
    +
    +	// === IRemoteCommandVisitor ===
    +
    +	public void visitDumpCommand(final boolean dump, final boolean reset)
    +			throws IOException {
    +<span class="fc bfc" id="L102" title="All 2 branches covered.">		if (dump) {</span>
    +<span class="fc" id="L103">			data.collect(writer, writer, reset);</span>
    +		} else {
    +<span class="fc bfc" id="L105" title="All 2 branches covered.">			if (reset) {</span>
    +<span class="fc" id="L106">				data.reset();</span>
    +			}
    +		}
    +<span class="fc" id="L109">		writer.sendCmdOk();</span>
    +<span class="fc" id="L110">	}</span>
    +
    +}
    +</pre><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.12.202403270442</span>Code Coverage Report for JaCoCo 0.8.12-SNAPSHOT</div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/trunk/coverage/org.jacoco.agent.rt/org.jacoco.agent.rt.internal.output/TcpServerOutput$1.html b/jacoco/trunk/coverage/org.jacoco.agent.rt/org.jacoco.agent.rt.internal.output/TcpServerOutput$1.html
    new file mode 100644
    index 00000000000..b80d905d8ee
    --- /dev/null
    +++ b/jacoco/trunk/coverage/org.jacoco.agent.rt/org.jacoco.agent.rt.internal.output/TcpServerOutput$1.html
    @@ -0,0 +1 @@
    +<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="en"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../../jacoco-resources/report.gif" type="image/gif"/><title>TcpServerOutput.new Runnable() {...}</title><script type="text/javascript" src="../../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../../index.html" class="el_report">JaCoCo</a> &gt; <a href="../index.html" class="el_bundle">org.jacoco.agent.rt</a> &gt; <a href="index.html" class="el_package">org.jacoco.agent.rt.internal.output</a> &gt; <span class="el_class">TcpServerOutput.new Runnable() {...}</span></div><h1>TcpServerOutput.new Runnable() {...}</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">0 of 58</td><td class="ctr2">100%</td><td class="bar">0 of 4</td><td class="ctr2">100%</td><td class="ctr1">0</td><td class="ctr2">4</td><td class="ctr1">0</td><td class="ctr2">12</td><td class="ctr1">0</td><td class="ctr2">2</td></tr></tfoot><tbody><tr><td id="a0"><a href="TcpServerOutput.java.html#L57" class="el_method">run()</a></td><td class="bar" id="b0"><img src="../../jacoco-resources/greenbar.gif" width="120" height="10" title="49" alt="49"/></td><td class="ctr2" id="c0">100%</td><td class="bar" id="d0"><img src="../../jacoco-resources/greenbar.gif" width="120" height="10" title="4" alt="4"/></td><td class="ctr2" id="e0">100%</td><td class="ctr1" id="f0">0</td><td class="ctr2" id="g0">3</td><td class="ctr1" id="h0">0</td><td class="ctr2" id="i0">11</td><td class="ctr1" id="j0">0</td><td class="ctr2" id="k0">1</td></tr><tr><td id="a1"><a href="TcpServerOutput.java.html#L56" class="el_method">{...}</a></td><td class="bar" id="b1"><img src="../../jacoco-resources/greenbar.gif" width="22" height="10" title="9" alt="9"/></td><td class="ctr2" id="c1">100%</td><td class="bar" id="d1"/><td class="ctr2" id="e1">n/a</td><td class="ctr1" id="f1">0</td><td class="ctr2" id="g1">1</td><td class="ctr1" id="h1">0</td><td class="ctr2" id="i1">1</td><td class="ctr1" id="j1">0</td><td class="ctr2" id="k1">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.12.202403270442</span>Code Coverage Report for JaCoCo 0.8.12-SNAPSHOT</div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/trunk/coverage/org.jacoco.agent.rt/org.jacoco.agent.rt.internal.output/TcpServerOutput.html b/jacoco/trunk/coverage/org.jacoco.agent.rt/org.jacoco.agent.rt.internal.output/TcpServerOutput.html
    new file mode 100644
    index 00000000000..aecbf976f5f
    --- /dev/null
    +++ b/jacoco/trunk/coverage/org.jacoco.agent.rt/org.jacoco.agent.rt.internal.output/TcpServerOutput.html
    @@ -0,0 +1 @@
    +<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="en"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../../jacoco-resources/report.gif" type="image/gif"/><title>TcpServerOutput</title><script type="text/javascript" src="../../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../../index.html" class="el_report">JaCoCo</a> &gt; <a href="../index.html" class="el_bundle">org.jacoco.agent.rt</a> &gt; <a href="index.html" class="el_package">org.jacoco.agent.rt.internal.output</a> &gt; <span class="el_class">TcpServerOutput</span></div><h1>TcpServerOutput</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">13 of 86</td><td class="ctr2">84%</td><td class="bar">1 of 6</td><td class="ctr2">83%</td><td class="ctr1">2</td><td class="ctr2">9</td><td class="ctr1">2</td><td class="ctr2">24</td><td class="ctr1">1</td><td class="ctr2">6</td></tr></tfoot><tbody><tr><td id="a0"><a href="TcpServerOutput.java.html#L106" class="el_method">createServerSocket(AgentOptions)</a></td><td class="bar" id="b0"><img src="../../jacoco-resources/redbar.gif" width="53" height="10" title="13" alt="13"/></td><td class="ctr2" id="c5">0%</td><td class="bar" id="d3"/><td class="ctr2" id="e3">n/a</td><td class="ctr1" id="f0">1</td><td class="ctr2" id="g3">1</td><td class="ctr1" id="h0">2</td><td class="ctr2" id="i5">2</td><td class="ctr1" id="j0">1</td><td class="ctr2" id="k0">1</td></tr><tr><td id="a3"><a href="TcpServerOutput.java.html#L54" class="el_method">startup(AgentOptions, RuntimeData)</a></td><td class="bar" id="b1"><img src="../../jacoco-resources/greenbar.gif" width="120" height="10" title="29" alt="29"/></td><td class="ctr2" id="c0">100%</td><td class="bar" id="d4"/><td class="ctr2" id="e4">n/a</td><td class="ctr1" id="f2">0</td><td class="ctr2" id="g4">1</td><td class="ctr1" id="h1">0</td><td class="ctr2" id="i1">6</td><td class="ctr1" id="j1">0</td><td class="ctr2" id="k1">1</td></tr><tr><td id="a2"><a href="TcpServerOutput.java.html#L81" class="el_method">shutdown()</a></td><td class="bar" id="b2"><img src="../../jacoco-resources/greenbar.gif" width="86" height="10" title="21" alt="21"/></td><td class="ctr2" id="c1">100%</td><td class="bar" id="d1"><img src="../../jacoco-resources/greenbar.gif" width="120" height="10" title="2" alt="2"/></td><td class="ctr2" id="e0">100%</td><td class="ctr1" id="f3">0</td><td class="ctr2" id="g0">2</td><td class="ctr1" id="h2">0</td><td class="ctr2" id="i0">7</td><td class="ctr1" id="j2">0</td><td class="ctr2" id="k2">1</td></tr><tr><td id="a1"><a href="TcpServerOutput.java.html#L120" class="el_method">getInetAddress(String)</a></td><td class="bar" id="b3"><img src="../../jacoco-resources/greenbar.gif" width="37" height="10" title="9" alt="9"/></td><td class="ctr2" id="c2">100%</td><td class="bar" id="d2"><img src="../../jacoco-resources/greenbar.gif" width="120" height="10" title="2" alt="2"/></td><td class="ctr2" id="e1">100%</td><td class="ctr1" id="f4">0</td><td class="ctr2" id="g1">2</td><td class="ctr1" id="h3">0</td><td class="ctr2" id="i2">3</td><td class="ctr1" id="j3">0</td><td class="ctr2" id="k3">1</td></tr><tr><td id="a5"><a href="TcpServerOutput.java.html#L91" class="el_method">writeExecutionData(boolean)</a></td><td class="bar" id="b4"><img src="../../jacoco-resources/greenbar.gif" width="33" height="10" title="8" alt="8"/></td><td class="ctr2" id="c3">100%</td><td class="bar" id="d0"><img src="../../jacoco-resources/redbar.gif" width="60" height="10" title="1" alt="1"/><img src="../../jacoco-resources/greenbar.gif" width="60" height="10" title="1" alt="1"/></td><td class="ctr2" id="e2">50%</td><td class="ctr1" id="f1">1</td><td class="ctr2" id="g2">2</td><td class="ctr1" id="h4">0</td><td class="ctr2" id="i3">3</td><td class="ctr1" id="j4">0</td><td class="ctr2" id="k4">1</td></tr><tr><td id="a4"><a href="TcpServerOutput.java.html#L48" class="el_method">TcpServerOutput(IExceptionLogger)</a></td><td class="bar" id="b5"><img src="../../jacoco-resources/greenbar.gif" width="24" height="10" title="6" alt="6"/></td><td class="ctr2" id="c4">100%</td><td class="bar" id="d5"/><td class="ctr2" id="e5">n/a</td><td class="ctr1" id="f5">0</td><td class="ctr2" id="g5">1</td><td class="ctr1" id="h5">0</td><td class="ctr2" id="i4">3</td><td class="ctr1" id="j5">0</td><td class="ctr2" id="k5">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.12.202403270442</span>Code Coverage Report for JaCoCo 0.8.12-SNAPSHOT</div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/trunk/coverage/org.jacoco.agent.rt/org.jacoco.agent.rt.internal.output/TcpServerOutput.java.html b/jacoco/trunk/coverage/org.jacoco.agent.rt/org.jacoco.agent.rt.internal.output/TcpServerOutput.java.html
    new file mode 100644
    index 00000000000..d7ac75f6e2f
    --- /dev/null
    +++ b/jacoco/trunk/coverage/org.jacoco.agent.rt/org.jacoco.agent.rt.internal.output/TcpServerOutput.java.html
    @@ -0,0 +1,128 @@
    +<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="en"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../../jacoco-resources/report.gif" type="image/gif"/><title>TcpServerOutput.java</title><link rel="stylesheet" href="../../jacoco-resources/prettify.css" type="text/css"/><script type="text/javascript" src="../../jacoco-resources/prettify.js"></script></head><body onload="window['PR_TAB_WIDTH']=4;prettyPrint()"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../../index.html" class="el_report">JaCoCo</a> &gt; <a href="../index.html" class="el_bundle">org.jacoco.agent.rt</a> &gt; <a href="index.source.html" class="el_package">org.jacoco.agent.rt.internal.output</a> &gt; <span class="el_source">TcpServerOutput.java</span></div><h1>TcpServerOutput.java</h1><pre class="source lang-java linenums">/*******************************************************************************
    + * Copyright (c) 2009, 2024 Mountainminds GmbH &amp; Co. KG and Contributors
    + * This program and the accompanying materials are made available under
    + * the terms of the Eclipse Public License 2.0 which is available at
    + * http://www.eclipse.org/legal/epl-2.0
    + *
    + * SPDX-License-Identifier: EPL-2.0
    + *
    + * Contributors:
    + *    Marc R. Hoffmann - initial API and implementation
    + *
    + *******************************************************************************/
    +package org.jacoco.agent.rt.internal.output;
    +
    +import java.io.IOException;
    +import java.net.InetAddress;
    +import java.net.ServerSocket;
    +import java.net.UnknownHostException;
    +
    +import org.jacoco.agent.rt.internal.IExceptionLogger;
    +import org.jacoco.core.runtime.AgentOptions;
    +import org.jacoco.core.runtime.RuntimeData;
    +
    +/**
    + * Output that opens TCP server socket. This controller uses the following agent
    + * options:
    + * &lt;ul&gt;
    + * &lt;li&gt;address&lt;/li&gt;
    + * &lt;li&gt;port&lt;/li&gt;
    + * &lt;/ul&gt;
    + */
    +public class TcpServerOutput implements IAgentOutput {
    +
    +	private TcpConnection connection;
    +
    +	private final IExceptionLogger logger;
    +
    +	private ServerSocket serverSocket;
    +
    +	private Thread worker;
    +
    +	/**
    +	 * New controller instance.
    +	 *
    +	 * @param logger
    +	 *            logger to use in case of exceptions is spawned threads
    +	 */
    +<span class="fc" id="L48">	public TcpServerOutput(final IExceptionLogger logger) {</span>
    +<span class="fc" id="L49">		this.logger = logger;</span>
    +<span class="fc" id="L50">	}</span>
    +
    +	public void startup(final AgentOptions options, final RuntimeData data)
    +			throws IOException {
    +<span class="fc" id="L54">		serverSocket = createServerSocket(options);</span>
    +<span class="fc" id="L55">		worker = new Thread(new Runnable() {</span>
    +<span class="fc" id="L56">			public void run() {</span>
    +<span class="fc bfc" id="L57" title="All 2 branches covered.">				while (!serverSocket.isClosed()) {</span>
    +					try {
    +<span class="fc" id="L59">						synchronized (serverSocket) {</span>
    +<span class="fc" id="L60">							connection = new TcpConnection(</span>
    +									serverSocket.accept(), data);
    +<span class="fc" id="L62">						}</span>
    +<span class="fc" id="L63">						connection.init();</span>
    +<span class="fc" id="L64">						connection.run();</span>
    +<span class="fc" id="L65">					} catch (final IOException e) {</span>
    +						// If the serverSocket is closed while accepting
    +						// connections a SocketException is expected.
    +<span class="fc bfc" id="L68" title="All 2 branches covered.">						if (!serverSocket.isClosed()) {</span>
    +<span class="fc" id="L69">							logger.logExeption(e);</span>
    +						}
    +<span class="fc" id="L71">					}</span>
    +				}
    +<span class="fc" id="L73">			}</span>
    +		});
    +<span class="fc" id="L75">		worker.setName(getClass().getName());</span>
    +<span class="fc" id="L76">		worker.setDaemon(true);</span>
    +<span class="fc" id="L77">		worker.start();</span>
    +<span class="fc" id="L78">	}</span>
    +
    +	public void shutdown() throws Exception {
    +<span class="fc" id="L81">		serverSocket.close();</span>
    +<span class="fc" id="L82">		synchronized (serverSocket) {</span>
    +<span class="fc bfc" id="L83" title="All 2 branches covered.">			if (connection != null) {</span>
    +<span class="fc" id="L84">				connection.close();</span>
    +			}
    +<span class="fc" id="L86">		}</span>
    +<span class="fc" id="L87">		worker.join();</span>
    +<span class="fc" id="L88">	}</span>
    +
    +	public void writeExecutionData(final boolean reset) throws IOException {
    +<span class="pc bpc" id="L91" title="1 of 2 branches missed.">		if (connection != null) {</span>
    +<span class="fc" id="L92">			connection.writeExecutionData(reset);</span>
    +		}
    +<span class="fc" id="L94">	}</span>
    +
    +	/**
    +	 * Open a server socket based on the given configuration.
    +	 *
    +	 * @param options
    +	 *            address and port configuration
    +	 * @return opened server socket
    +	 * @throws IOException
    +	 */
    +	protected ServerSocket createServerSocket(final AgentOptions options)
    +			throws IOException {
    +<span class="nc" id="L106">		final InetAddress inetAddr = getInetAddress(options.getAddress());</span>
    +<span class="nc" id="L107">		return new ServerSocket(options.getPort(), 1, inetAddr);</span>
    +	}
    +
    +	/**
    +	 * Returns the {@link InetAddress} object to open the server socket on.
    +	 *
    +	 * @param address
    +	 *            address specified as a string
    +	 * @return address to open the server socket
    +	 * @throws UnknownHostException
    +	 */
    +	protected InetAddress getInetAddress(final String address)
    +			throws UnknownHostException {
    +<span class="fc bfc" id="L120" title="All 2 branches covered.">		if (&quot;*&quot;.equals(address)) {</span>
    +<span class="fc" id="L121">			return null;</span>
    +		} else {
    +<span class="fc" id="L123">			return InetAddress.getByName(address);</span>
    +		}
    +	}
    +
    +}
    +</pre><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.12.202403270442</span>Code Coverage Report for JaCoCo 0.8.12-SNAPSHOT</div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/trunk/coverage/org.jacoco.agent.rt/org.jacoco.agent.rt.internal.output/index.html b/jacoco/trunk/coverage/org.jacoco.agent.rt/org.jacoco.agent.rt.internal.output/index.html
    new file mode 100644
    index 00000000000..a7ed4b4275e
    --- /dev/null
    +++ b/jacoco/trunk/coverage/org.jacoco.agent.rt/org.jacoco.agent.rt.internal.output/index.html
    @@ -0,0 +1 @@
    +<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="en"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../../jacoco-resources/report.gif" type="image/gif"/><title>org.jacoco.agent.rt.internal.output</title><script type="text/javascript" src="../../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb', 'coveragetable'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="index.source.html" class="el_source">Source Files</a><a href="../../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../../index.html" class="el_report">JaCoCo</a> &gt; <a href="../index.html" class="el_bundle">org.jacoco.agent.rt</a> &gt; <span class="el_package">org.jacoco.agent.rt.internal.output</span></div><h1>org.jacoco.agent.rt.internal.output</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td><td class="sortable ctr1" id="l" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="m" onclick="toggleSort(this)">Classes</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">42 of 404</td><td class="ctr2">89%</td><td class="bar">7 of 28</td><td class="ctr2">75%</td><td class="ctr1">11</td><td class="ctr2">44</td><td class="ctr1">14</td><td class="ctr2">118</td><td class="ctr1">5</td><td class="ctr2">30</td><td class="ctr1">0</td><td class="ctr2">7</td></tr></tfoot><tbody><tr><td id="a0"><a href="FileOutput.html" class="el_class">FileOutput</a></td><td class="bar" id="b0"><img src="../../jacoco-resources/redbar.gif" width="19" height="10" title="15" alt="15"/><img src="../../jacoco-resources/greenbar.gif" width="88" height="10" title="67" alt="67"/></td><td class="ctr2" id="c5">81%</td><td class="bar" id="d1"><img src="../../jacoco-resources/redbar.gif" width="25" height="10" title="3" alt="3"/><img src="../../jacoco-resources/greenbar.gif" width="8" height="10" title="1" alt="1"/></td><td class="ctr2" id="e3">25%</td><td class="ctr1" id="f2">2</td><td class="ctr2" id="g2">7</td><td class="ctr1" id="h0">7</td><td class="ctr2" id="i1">27</td><td class="ctr1" id="j3">0</td><td class="ctr2" id="k2">5</td><td class="ctr1" id="l0">0</td><td class="ctr2" id="m0">1</td></tr><tr><td id="a5"><a href="TcpServerOutput.html" class="el_class">TcpServerOutput</a></td><td class="bar" id="b1"><img src="../../jacoco-resources/redbar.gif" width="17" height="10" title="13" alt="13"/><img src="../../jacoco-resources/greenbar.gif" width="96" height="10" title="73" alt="73"/></td><td class="ctr2" id="c4">84%</td><td class="bar" id="d2"><img src="../../jacoco-resources/redbar.gif" width="8" height="10" title="1" alt="1"/><img src="../../jacoco-resources/greenbar.gif" width="42" height="10" title="5" alt="5"/></td><td class="ctr2" id="e1">83%</td><td class="ctr1" id="f3">2</td><td class="ctr2" id="g1">9</td><td class="ctr1" id="h2">2</td><td class="ctr2" id="i2">24</td><td class="ctr1" id="j1">1</td><td class="ctr2" id="k0">6</td><td class="ctr1" id="l1">0</td><td class="ctr2" id="m1">1</td></tr><tr><td id="a2"><a href="TcpClientOutput.html" class="el_class">TcpClientOutput</a></td><td class="bar" id="b2"><img src="../../jacoco-resources/redbar.gif" width="10" height="10" title="8" alt="8"/><img src="../../jacoco-resources/greenbar.gif" width="72" height="10" title="55" alt="55"/></td><td class="ctr2" id="c3">87%</td><td class="bar" id="d4"/><td class="ctr2" id="e4">n/a</td><td class="ctr1" id="f4">1</td><td class="ctr2" id="g3">5</td><td class="ctr1" id="h3">1</td><td class="ctr2" id="i3">17</td><td class="ctr1" id="j2">1</td><td class="ctr2" id="k3">5</td><td class="ctr1" id="l2">0</td><td class="ctr2" id="m2">1</td></tr><tr><td id="a4"><a href="TcpConnection.html" class="el_class">TcpConnection</a></td><td class="bar" id="b3"><img src="../../jacoco-resources/redbar.gif" width="3" height="10" title="3" alt="3"/><img src="../../jacoco-resources/greenbar.gif" width="116" height="10" title="88" alt="88"/></td><td class="ctr2" id="c2">96%</td><td class="bar" id="d0"><img src="../../jacoco-resources/redbar.gif" width="25" height="10" title="3" alt="3"/><img src="../../jacoco-resources/greenbar.gif" width="94" height="10" title="11" alt="11"/></td><td class="ctr2" id="e2">78%</td><td class="ctr1" id="f0">3</td><td class="ctr2" id="g0">13</td><td class="ctr1" id="h4">1</td><td class="ctr2" id="i0">28</td><td class="ctr1" id="j4">0</td><td class="ctr2" id="k1">6</td><td class="ctr1" id="l3">0</td><td class="ctr2" id="m3">1</td></tr><tr><td id="a1"><a href="NoneOutput.html" class="el_class">NoneOutput</a></td><td class="bar" id="b4"><img src="../../jacoco-resources/redbar.gif" width="3" height="10" title="3" alt="3"/><img src="../../jacoco-resources/greenbar.gif" width="3" height="10" title="3" alt="3"/></td><td class="ctr2" id="c6">50%</td><td class="bar" id="d5"/><td class="ctr2" id="e5">n/a</td><td class="ctr1" id="f1">3</td><td class="ctr2" id="g4">4</td><td class="ctr1" id="h1">3</td><td class="ctr2" id="i6">4</td><td class="ctr1" id="j0">3</td><td class="ctr2" id="k4">4</td><td class="ctr1" id="l4">0</td><td class="ctr2" id="m4">1</td></tr><tr><td id="a6"><a href="TcpServerOutput$1.html" class="el_class">TcpServerOutput.new Runnable() {...}</a></td><td class="bar" id="b5"><img src="../../jacoco-resources/greenbar.gif" width="76" height="10" title="58" alt="58"/></td><td class="ctr2" id="c0">100%</td><td class="bar" id="d3"><img src="../../jacoco-resources/greenbar.gif" width="34" height="10" title="4" alt="4"/></td><td class="ctr2" id="e0">100%</td><td class="ctr1" id="f5">0</td><td class="ctr2" id="g5">4</td><td class="ctr1" id="h5">0</td><td class="ctr2" id="i4">12</td><td class="ctr1" id="j5">0</td><td class="ctr2" id="k5">2</td><td class="ctr1" id="l5">0</td><td class="ctr2" id="m5">1</td></tr><tr><td id="a3"><a href="TcpClientOutput$1.html" class="el_class">TcpClientOutput.new Runnable() {...}</a></td><td class="bar" id="b6"><img src="../../jacoco-resources/greenbar.gif" width="23" height="10" title="18" alt="18"/></td><td class="ctr2" id="c1">100%</td><td class="bar" id="d6"/><td class="ctr2" id="e6">n/a</td><td class="ctr1" id="f6">0</td><td class="ctr2" id="g6">2</td><td class="ctr1" id="h6">0</td><td class="ctr2" id="i5">6</td><td class="ctr1" id="j6">0</td><td class="ctr2" id="k6">2</td><td class="ctr1" id="l6">0</td><td class="ctr2" id="m6">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.12.202403270442</span>Code Coverage Report for JaCoCo 0.8.12-SNAPSHOT</div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/trunk/coverage/org.jacoco.agent.rt/org.jacoco.agent.rt.internal.output/index.source.html b/jacoco/trunk/coverage/org.jacoco.agent.rt/org.jacoco.agent.rt.internal.output/index.source.html
    new file mode 100644
    index 00000000000..5111858aad4
    --- /dev/null
    +++ b/jacoco/trunk/coverage/org.jacoco.agent.rt/org.jacoco.agent.rt.internal.output/index.source.html
    @@ -0,0 +1 @@
    +<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="en"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../../jacoco-resources/report.gif" type="image/gif"/><title>org.jacoco.agent.rt.internal.output</title><script type="text/javascript" src="../../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb', 'coveragetable'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="index.html" class="el_class">Classes</a><a href="../../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../../index.html" class="el_report">JaCoCo</a> &gt; <a href="../index.html" class="el_bundle">org.jacoco.agent.rt</a> &gt; <span class="el_package">org.jacoco.agent.rt.internal.output</span></div><h1>org.jacoco.agent.rt.internal.output</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td><td class="sortable ctr1" id="l" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="m" onclick="toggleSort(this)">Classes</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">42 of 404</td><td class="ctr2">89%</td><td class="bar">7 of 28</td><td class="ctr2">75%</td><td class="ctr1">11</td><td class="ctr2">44</td><td class="ctr1">14</td><td class="ctr2">118</td><td class="ctr1">5</td><td class="ctr2">30</td><td class="ctr1">0</td><td class="ctr2">7</td></tr></tfoot><tbody><tr><td id="a0"><a href="FileOutput.java.html" class="el_source">FileOutput.java</a></td><td class="bar" id="b0"><img src="../../jacoco-resources/redbar.gif" width="12" height="10" title="15" alt="15"/><img src="../../jacoco-resources/greenbar.gif" width="55" height="10" title="67" alt="67"/></td><td class="ctr2" id="c3">81%</td><td class="bar" id="d1"><img src="../../jacoco-resources/redbar.gif" width="25" height="10" title="3" alt="3"/><img src="../../jacoco-resources/greenbar.gif" width="8" height="10" title="1" alt="1"/></td><td class="ctr2" id="e2">25%</td><td class="ctr1" id="f2">2</td><td class="ctr2" id="g2">7</td><td class="ctr1" id="h0">7</td><td class="ctr2" id="i2">27</td><td class="ctr1" id="j3">0</td><td class="ctr2" id="k3">5</td><td class="ctr1" id="l0">0</td><td class="ctr2" id="m2">1</td></tr><tr><td id="a4"><a href="TcpServerOutput.java.html" class="el_source">TcpServerOutput.java</a></td><td class="bar" id="b1"><img src="../../jacoco-resources/redbar.gif" width="10" height="10" title="13" alt="13"/><img src="../../jacoco-resources/greenbar.gif" width="109" height="10" title="131" alt="131"/></td><td class="ctr2" id="c1">90%</td><td class="bar" id="d2"><img src="../../jacoco-resources/redbar.gif" width="8" height="10" title="1" alt="1"/><img src="../../jacoco-resources/greenbar.gif" width="77" height="10" title="9" alt="9"/></td><td class="ctr2" id="e0">90%</td><td class="ctr1" id="f3">2</td><td class="ctr2" id="g0">13</td><td class="ctr1" id="h2">2</td><td class="ctr2" id="i0">36</td><td class="ctr1" id="j1">1</td><td class="ctr2" id="k0">8</td><td class="ctr1" id="l1">0</td><td class="ctr2" id="m0">2</td></tr><tr><td id="a2"><a href="TcpClientOutput.java.html" class="el_source">TcpClientOutput.java</a></td><td class="bar" id="b2"><img src="../../jacoco-resources/redbar.gif" width="6" height="10" title="8" alt="8"/><img src="../../jacoco-resources/greenbar.gif" width="60" height="10" title="73" alt="73"/></td><td class="ctr2" id="c2">90%</td><td class="bar" id="d3"/><td class="ctr2" id="e3">n/a</td><td class="ctr1" id="f4">1</td><td class="ctr2" id="g3">7</td><td class="ctr1" id="h3">1</td><td class="ctr2" id="i3">23</td><td class="ctr1" id="j2">1</td><td class="ctr2" id="k1">7</td><td class="ctr1" id="l2">0</td><td class="ctr2" id="m1">2</td></tr><tr><td id="a3"><a href="TcpConnection.java.html" class="el_source">TcpConnection.java</a></td><td class="bar" id="b3"><img src="../../jacoco-resources/redbar.gif" width="2" height="10" title="3" alt="3"/><img src="../../jacoco-resources/greenbar.gif" width="73" height="10" title="88" alt="88"/></td><td class="ctr2" id="c0">96%</td><td class="bar" id="d0"><img src="../../jacoco-resources/redbar.gif" width="25" height="10" title="3" alt="3"/><img src="../../jacoco-resources/greenbar.gif" width="94" height="10" title="11" alt="11"/></td><td class="ctr2" id="e1">78%</td><td class="ctr1" id="f0">3</td><td class="ctr2" id="g1">13</td><td class="ctr1" id="h4">1</td><td class="ctr2" id="i1">28</td><td class="ctr1" id="j4">0</td><td class="ctr2" id="k2">6</td><td class="ctr1" id="l3">0</td><td class="ctr2" id="m3">1</td></tr><tr><td id="a1"><a href="NoneOutput.java.html" class="el_source">NoneOutput.java</a></td><td class="bar" id="b4"><img src="../../jacoco-resources/redbar.gif" width="2" height="10" title="3" alt="3"/><img src="../../jacoco-resources/greenbar.gif" width="2" height="10" title="3" alt="3"/></td><td class="ctr2" id="c4">50%</td><td class="bar" id="d4"/><td class="ctr2" id="e4">n/a</td><td class="ctr1" id="f1">3</td><td class="ctr2" id="g4">4</td><td class="ctr1" id="h1">3</td><td class="ctr2" id="i4">4</td><td class="ctr1" id="j0">3</td><td class="ctr2" id="k4">4</td><td class="ctr1" id="l4">0</td><td class="ctr2" id="m4">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.12.202403270442</span>Code Coverage Report for JaCoCo 0.8.12-SNAPSHOT</div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/trunk/coverage/org.jacoco.agent.rt/org.jacoco.agent.rt.internal/Agent$1.html b/jacoco/trunk/coverage/org.jacoco.agent.rt/org.jacoco.agent.rt.internal/Agent$1.html
    new file mode 100644
    index 00000000000..3261387fe58
    --- /dev/null
    +++ b/jacoco/trunk/coverage/org.jacoco.agent.rt/org.jacoco.agent.rt.internal/Agent$1.html
    @@ -0,0 +1 @@
    +<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="en"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../../jacoco-resources/report.gif" type="image/gif"/><title>Agent.new Thread() {...}</title><script type="text/javascript" src="../../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../../index.html" class="el_report">JaCoCo</a> &gt; <a href="../index.html" class="el_bundle">org.jacoco.agent.rt</a> &gt; <a href="index.html" class="el_package">org.jacoco.agent.rt.internal</a> &gt; <span class="el_class">Agent.new Thread() {...}</span></div><h1>Agent.new Thread() {...}</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">10 of 10</td><td class="ctr2">0%</td><td class="bar">0 of 0</td><td class="ctr2">n/a</td><td class="ctr1">2</td><td class="ctr2">2</td><td class="ctr1">3</td><td class="ctr2">3</td><td class="ctr1">2</td><td class="ctr2">2</td></tr></tfoot><tbody><tr><td id="a1"><a href="Agent.java.html#L57" class="el_method">{...}</a></td><td class="bar" id="b0"><img src="../../jacoco-resources/redbar.gif" width="120" height="10" title="6" alt="6"/></td><td class="ctr2" id="c0">0%</td><td class="bar" id="d0"/><td class="ctr2" id="e0">n/a</td><td class="ctr1" id="f0">1</td><td class="ctr2" id="g0">1</td><td class="ctr1" id="h1">1</td><td class="ctr2" id="i1">1</td><td class="ctr1" id="j0">1</td><td class="ctr2" id="k0">1</td></tr><tr><td id="a0"><a href="Agent.java.html#L58" class="el_method">run()</a></td><td class="bar" id="b1"><img src="../../jacoco-resources/redbar.gif" width="80" height="10" title="4" alt="4"/></td><td class="ctr2" id="c1">0%</td><td class="bar" id="d1"/><td class="ctr2" id="e1">n/a</td><td class="ctr1" id="f1">1</td><td class="ctr2" id="g1">1</td><td class="ctr1" id="h0">2</td><td class="ctr2" id="i0">2</td><td class="ctr1" id="j1">1</td><td class="ctr2" id="k1">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.12.202403270442</span>Code Coverage Report for JaCoCo 0.8.12-SNAPSHOT</div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/trunk/coverage/org.jacoco.agent.rt/org.jacoco.agent.rt.internal/Agent$2.html b/jacoco/trunk/coverage/org.jacoco.agent.rt/org.jacoco.agent.rt.internal/Agent$2.html
    new file mode 100644
    index 00000000000..5c2ffe35146
    --- /dev/null
    +++ b/jacoco/trunk/coverage/org.jacoco.agent.rt/org.jacoco.agent.rt.internal/Agent$2.html
    @@ -0,0 +1 @@
    +<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="en"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../../jacoco-resources/report.gif" type="image/gif"/><title>Agent.new Object() {...}</title><script type="text/javascript" src="../../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../../index.html" class="el_report">JaCoCo</a> &gt; <a href="../index.html" class="el_bundle">org.jacoco.agent.rt</a> &gt; <a href="index.html" class="el_package">org.jacoco.agent.rt.internal</a> &gt; <span class="el_class">Agent.new Object() {...}</span></div><h1>Agent.new Object() {...}</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">4 of 33</td><td class="ctr2">87%</td><td class="bar">0 of 0</td><td class="ctr2">n/a</td><td class="ctr1">0</td><td class="ctr2">1</td><td class="ctr1">0</td><td class="ctr2">1</td><td class="ctr1">0</td><td class="ctr2">1</td></tr></tfoot><tbody><tr><td id="a0"><a href="Agent.java.html#L163" class="el_method">static {...}</a></td><td class="bar" id="b0"><img src="../../jacoco-resources/redbar.gif" width="14" height="10" title="4" alt="4"/><img src="../../jacoco-resources/greenbar.gif" width="105" height="10" title="29" alt="29"/></td><td class="ctr2" id="c0">87%</td><td class="bar" id="d0"/><td class="ctr2" id="e0">n/a</td><td class="ctr1" id="f0">0</td><td class="ctr2" id="g0">1</td><td class="ctr1" id="h0">0</td><td class="ctr2" id="i0">1</td><td class="ctr1" id="j0">0</td><td class="ctr2" id="k0">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.12.202403270442</span>Code Coverage Report for JaCoCo 0.8.12-SNAPSHOT</div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/trunk/coverage/org.jacoco.agent.rt/org.jacoco.agent.rt.internal/Agent.html b/jacoco/trunk/coverage/org.jacoco.agent.rt/org.jacoco.agent.rt.internal/Agent.html
    new file mode 100644
    index 00000000000..a2a0599f5c1
    --- /dev/null
    +++ b/jacoco/trunk/coverage/org.jacoco.agent.rt/org.jacoco.agent.rt.internal/Agent.html
    @@ -0,0 +1 @@
    +<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="en"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../../jacoco-resources/report.gif" type="image/gif"/><title>Agent</title><script type="text/javascript" src="../../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../../index.html" class="el_report">JaCoCo</a> &gt; <a href="../index.html" class="el_bundle">org.jacoco.agent.rt</a> &gt; <a href="index.html" class="el_package">org.jacoco.agent.rt.internal</a> &gt; <span class="el_class">Agent</span></div><h1>Agent</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">43 of 211</td><td class="ctr2">79%</td><td class="bar">5 of 17</td><td class="ctr2">70%</td><td class="ctr1">5</td><td class="ctr2">24</td><td class="ctr1">14</td><td class="ctr2">64</td><td class="ctr1">2</td><td class="ctr2">14</td></tr></tfoot><tbody><tr><td id="a7"><a href="Agent.java.html#L52" class="el_method">getInstance(AgentOptions)</a></td><td class="bar" id="b0"><img src="../../jacoco-resources/redbar.gif" width="55" height="10" title="20" alt="20"/></td><td class="ctr2" id="c12">0%</td><td class="bar" id="d0"><img src="../../jacoco-resources/redbar.gif" width="48" height="10" title="2" alt="2"/></td><td class="ctr2" id="e3">0%</td><td class="ctr1" id="f0">2</td><td class="ctr2" id="g3">2</td><td class="ctr1" id="h0">6</td><td class="ctr2" id="i4">6</td><td class="ctr1" id="j0">1</td><td class="ctr2" id="k0">1</td></tr><tr><td id="a6"><a href="Agent.java.html#L76" class="el_method">getInstance()</a></td><td class="bar" id="b1"><img src="../../jacoco-resources/redbar.gif" width="25" height="10" title="9" alt="9"/></td><td class="ctr2" id="c13">0%</td><td class="bar" id="d1"><img src="../../jacoco-resources/redbar.gif" width="48" height="10" title="2" alt="2"/></td><td class="ctr2" id="e4">0%</td><td class="ctr1" id="f1">2</td><td class="ctr2" id="g4">2</td><td class="ctr1" id="h1">3</td><td class="ctr2" id="i7">3</td><td class="ctr1" id="j1">1</td><td class="ctr2" id="k1">1</td></tr><tr><td id="a5"><a href="Agent.java.html#L208" class="el_method">getExecutionData(boolean)</a></td><td class="bar" id="b2"><img src="../../jacoco-resources/redbar.gif" width="16" height="10" title="6" alt="6"/><img src="../../jacoco-resources/greenbar.gif" width="53" height="10" title="19" alt="19"/></td><td class="ctr2" id="c11">76%</td><td class="bar" id="d5"/><td class="ctr2" id="e5">n/a</td><td class="ctr1" id="f3">0</td><td class="ctr2" id="g5">1</td><td class="ctr1" id="h2">2</td><td class="ctr2" id="i2">7</td><td class="ctr1" id="j2">0</td><td class="ctr2" id="k2">1</td></tr><tr><td id="a1"><a href="Agent.java.html#L162" class="el_method">createAgentOutput()</a></td><td class="bar" id="b3"><img src="../../jacoco-resources/redbar.gif" width="13" height="10" title="5" alt="5"/><img src="../../jacoco-resources/greenbar.gif" width="80" height="10" title="29" alt="29"/></td><td class="ctr2" id="c9">85%</td><td class="bar" id="d2"><img src="../../jacoco-resources/redbar.gif" width="24" height="10" title="1" alt="1"/><img src="../../jacoco-resources/greenbar.gif" width="96" height="10" title="4" alt="4"/></td><td class="ctr2" id="e2">80%</td><td class="ctr1" id="f2">1</td><td class="ctr2" id="g0">5</td><td class="ctr1" id="h4">1</td><td class="ctr2" id="i3">7</td><td class="ctr1" id="j3">0</td><td class="ctr2" id="k3">1</td></tr><tr><td id="a2"><a href="Agent.java.html#L180" class="el_method">createSessionId()</a></td><td class="bar" id="b4"><img src="../../jacoco-resources/redbar.gif" width="8" height="10" title="3" alt="3"/><img src="../../jacoco-resources/greenbar.gif" width="41" height="10" title="15" alt="15"/></td><td class="ctr2" id="c10">83%</td><td class="bar" id="d6"/><td class="ctr2" id="e6">n/a</td><td class="ctr1" id="f4">0</td><td class="ctr2" id="g6">1</td><td class="ctr1" id="h3">2</td><td class="ctr2" id="i5">5</td><td class="ctr1" id="j4">0</td><td class="ctr2" id="k4">1</td></tr><tr><td id="a13"><a href="Agent.java.html#L123" class="el_method">startup()</a></td><td class="bar" id="b5"><img src="../../jacoco-resources/greenbar.gif" width="120" height="10" title="43" alt="43"/></td><td class="ctr2" id="c0">100%</td><td class="bar" id="d3"><img src="../../jacoco-resources/greenbar.gif" width="96" height="10" title="4" alt="4"/></td><td class="ctr2" id="e0">100%</td><td class="ctr1" id="f5">0</td><td class="ctr2" id="g1">3</td><td class="ctr1" id="h5">0</td><td class="ctr2" id="i0">13</td><td class="ctr1" id="j5">0</td><td class="ctr2" id="k5">1</td></tr><tr><td id="a12"><a href="Agent.java.html#L144" class="el_method">shutdown()</a></td><td class="bar" id="b6"><img src="../../jacoco-resources/greenbar.gif" width="69" height="10" title="25" alt="25"/></td><td class="ctr2" id="c1">100%</td><td class="bar" id="d4"><img src="../../jacoco-resources/greenbar.gif" width="96" height="10" title="4" alt="4"/></td><td class="ctr2" id="e1">100%</td><td class="ctr1" id="f6">0</td><td class="ctr2" id="g2">3</td><td class="ctr1" id="h6">0</td><td class="ctr2" id="i1">9</td><td class="ctr1" id="j6">0</td><td class="ctr2" id="k6">1</td></tr><tr><td id="a0"><a href="Agent.java.html#L100" class="el_method">Agent(AgentOptions, IExceptionLogger)</a></td><td class="bar" id="b7"><img src="../../jacoco-resources/greenbar.gif" width="39" height="10" title="14" alt="14"/></td><td class="ctr2" id="c2">100%</td><td class="bar" id="d7"/><td class="ctr2" id="e7">n/a</td><td class="ctr1" id="f7">0</td><td class="ctr2" id="g7">1</td><td class="ctr1" id="h7">0</td><td class="ctr2" id="i6">5</td><td class="ctr1" id="j7">0</td><td class="ctr2" id="k7">1</td></tr><tr><td id="a11"><a href="Agent.java.html#L200" class="el_method">setSessionId(String)</a></td><td class="bar" id="b8"><img src="../../jacoco-resources/greenbar.gif" width="13" height="10" title="5" alt="5"/></td><td class="ctr2" id="c3">100%</td><td class="bar" id="d8"/><td class="ctr2" id="e8">n/a</td><td class="ctr1" id="f8">0</td><td class="ctr2" id="g8">1</td><td class="ctr1" id="h8">0</td><td class="ctr2" id="i8">2</td><td class="ctr1" id="j8">0</td><td class="ctr2" id="k8">1</td></tr><tr><td id="a3"><a href="Agent.java.html#L220" class="el_method">dump(boolean)</a></td><td class="bar" id="b9"><img src="../../jacoco-resources/greenbar.gif" width="13" height="10" title="5" alt="5"/></td><td class="ctr2" id="c4">100%</td><td class="bar" id="d9"/><td class="ctr2" id="e9">n/a</td><td class="ctr1" id="f9">0</td><td class="ctr2" id="g9">1</td><td class="ctr1" id="h9">0</td><td class="ctr2" id="i9">2</td><td class="ctr1" id="j9">0</td><td class="ctr2" id="k9">1</td></tr><tr><td id="a8"><a href="Agent.java.html#L196" class="el_method">getSessionId()</a></td><td class="bar" id="b10"><img src="../../jacoco-resources/greenbar.gif" width="11" height="10" title="4" alt="4"/></td><td class="ctr2" id="c5">100%</td><td class="bar" id="d10"/><td class="ctr2" id="e10">n/a</td><td class="ctr1" id="f10">0</td><td class="ctr2" id="g10">1</td><td class="ctr1" id="h10">0</td><td class="ctr2" id="i11">1</td><td class="ctr1" id="j10">0</td><td class="ctr2" id="k10">1</td></tr><tr><td id="a10"><a href="Agent.java.html#L204" class="el_method">reset()</a></td><td class="bar" id="b11"><img src="../../jacoco-resources/greenbar.gif" width="11" height="10" title="4" alt="4"/></td><td class="ctr2" id="c6">100%</td><td class="bar" id="d11"/><td class="ctr2" id="e11">n/a</td><td class="ctr1" id="f11">0</td><td class="ctr2" id="g11">1</td><td class="ctr1" id="h11">0</td><td class="ctr2" id="i10">2</td><td class="ctr1" id="j11">0</td><td class="ctr2" id="k11">1</td></tr><tr><td id="a4"><a href="Agent.java.html#L112" class="el_method">getData()</a></td><td class="bar" id="b12"><img src="../../jacoco-resources/greenbar.gif" width="8" height="10" title="3" alt="3"/></td><td class="ctr2" id="c7">100%</td><td class="bar" id="d12"/><td class="ctr2" id="e12">n/a</td><td class="ctr1" id="f12">0</td><td class="ctr2" id="g12">1</td><td class="ctr1" id="h12">0</td><td class="ctr2" id="i12">1</td><td class="ctr1" id="j12">0</td><td class="ctr2" id="k12">1</td></tr><tr><td id="a9"><a href="Agent.java.html#L192" class="el_method">getVersion()</a></td><td class="bar" id="b13"><img src="../../jacoco-resources/greenbar.gif" width="5" height="10" title="2" alt="2"/></td><td class="ctr2" id="c8">100%</td><td class="bar" id="d13"/><td class="ctr2" id="e13">n/a</td><td class="ctr1" id="f13">0</td><td class="ctr2" id="g13">1</td><td class="ctr1" id="h13">0</td><td class="ctr2" id="i13">1</td><td class="ctr1" id="j13">0</td><td class="ctr2" id="k13">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.12.202403270442</span>Code Coverage Report for JaCoCo 0.8.12-SNAPSHOT</div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/trunk/coverage/org.jacoco.agent.rt/org.jacoco.agent.rt.internal/Agent.java.html b/jacoco/trunk/coverage/org.jacoco.agent.rt/org.jacoco.agent.rt.internal/Agent.java.html
    new file mode 100644
    index 00000000000..f42be9e14df
    --- /dev/null
    +++ b/jacoco/trunk/coverage/org.jacoco.agent.rt/org.jacoco.agent.rt.internal/Agent.java.html
    @@ -0,0 +1,224 @@
    +<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="en"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../../jacoco-resources/report.gif" type="image/gif"/><title>Agent.java</title><link rel="stylesheet" href="../../jacoco-resources/prettify.css" type="text/css"/><script type="text/javascript" src="../../jacoco-resources/prettify.js"></script></head><body onload="window['PR_TAB_WIDTH']=4;prettyPrint()"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../../index.html" class="el_report">JaCoCo</a> &gt; <a href="../index.html" class="el_bundle">org.jacoco.agent.rt</a> &gt; <a href="index.source.html" class="el_package">org.jacoco.agent.rt.internal</a> &gt; <span class="el_source">Agent.java</span></div><h1>Agent.java</h1><pre class="source lang-java linenums">/*******************************************************************************
    + * Copyright (c) 2009, 2024 Mountainminds GmbH &amp; Co. KG and Contributors
    + * This program and the accompanying materials are made available under
    + * the terms of the Eclipse Public License 2.0 which is available at
    + * http://www.eclipse.org/legal/epl-2.0
    + *
    + * SPDX-License-Identifier: EPL-2.0
    + *
    + * Contributors:
    + *    Marc R. Hoffmann - initial API and implementation
    + *
    + *******************************************************************************/
    +package org.jacoco.agent.rt.internal;
    +
    +import java.io.ByteArrayOutputStream;
    +import java.io.IOException;
    +import java.net.InetAddress;
    +import java.util.concurrent.Callable;
    +
    +import org.jacoco.agent.rt.IAgent;
    +import org.jacoco.agent.rt.internal.output.FileOutput;
    +import org.jacoco.agent.rt.internal.output.IAgentOutput;
    +import org.jacoco.agent.rt.internal.output.NoneOutput;
    +import org.jacoco.agent.rt.internal.output.TcpClientOutput;
    +import org.jacoco.agent.rt.internal.output.TcpServerOutput;
    +import org.jacoco.core.JaCoCo;
    +import org.jacoco.core.data.ExecutionDataWriter;
    +import org.jacoco.core.runtime.AbstractRuntime;
    +import org.jacoco.core.runtime.AgentOptions;
    +import org.jacoco.core.runtime.AgentOptions.OutputMode;
    +import org.jacoco.core.runtime.RuntimeData;
    +
    +/**
    + * The agent manages the life cycle of JaCoCo runtime.
    + */
    +public class Agent implements IAgent {
    +
    +	private static Agent singleton;
    +
    +	/**
    +	 * Returns a global instance which is already started. If the method is
    +	 * called the first time the instance is created with the given options.
    +	 *
    +	 * @param options
    +	 *            options to configure the instance
    +	 * @return global instance
    +	 * @throws Exception
    +	 *             in case something cannot be initialized
    +	 */
    +	public static synchronized Agent getInstance(final AgentOptions options)
    +			throws Exception {
    +<span class="nc bnc" id="L52" title="All 2 branches missed.">		if (singleton == null) {</span>
    +<span class="nc" id="L53">			final Agent agent = new Agent(options, IExceptionLogger.SYSTEM_ERR);</span>
    +<span class="nc" id="L54">			agent.startup();</span>
    +<span class="nc" id="L55">			Runtime.getRuntime().addShutdownHook(new Thread() {</span>
    +				@Override
    +<span class="nc" id="L57">				public void run() {</span>
    +<span class="nc" id="L58">					agent.shutdown();</span>
    +<span class="nc" id="L59">				}</span>
    +			});
    +<span class="nc" id="L61">			singleton = agent;</span>
    +		}
    +<span class="nc" id="L63">		return singleton;</span>
    +	}
    +
    +	/**
    +	 * Returns a global instance which is already started. If a agent has not
    +	 * been initialized before this method will fail.
    +	 *
    +	 * @return global instance
    +	 * @throws IllegalStateException
    +	 *             if no Agent has been started yet
    +	 */
    +	public static synchronized Agent getInstance()
    +			throws IllegalStateException {
    +<span class="nc bnc" id="L76" title="All 2 branches missed.">		if (singleton == null) {</span>
    +<span class="nc" id="L77">			throw new IllegalStateException(&quot;JaCoCo agent not started.&quot;);</span>
    +		}
    +<span class="nc" id="L79">		return singleton;</span>
    +	}
    +
    +	private final AgentOptions options;
    +
    +	private final IExceptionLogger logger;
    +
    +	private final RuntimeData data;
    +
    +	private IAgentOutput output;
    +
    +	private Callable&lt;Void&gt; jmxRegistration;
    +
    +	/**
    +	 * Creates a new agent with the given agent options.
    +	 *
    +	 * @param options
    +	 *            agent options
    +	 * @param logger
    +	 *            logger used by this agent
    +	 */
    +<span class="fc" id="L100">	Agent(final AgentOptions options, final IExceptionLogger logger) {</span>
    +<span class="fc" id="L101">		this.options = options;</span>
    +<span class="fc" id="L102">		this.logger = logger;</span>
    +<span class="fc" id="L103">		this.data = new RuntimeData();</span>
    +<span class="fc" id="L104">	}</span>
    +
    +	/**
    +	 * Returns the runtime data object created by this agent
    +	 *
    +	 * @return runtime data for this agent instance
    +	 */
    +	public RuntimeData getData() {
    +<span class="fc" id="L112">		return data;</span>
    +	}
    +
    +	/**
    +	 * Initializes this agent.
    +	 *
    +	 * @throws Exception
    +	 *             in case something cannot be initialized
    +	 */
    +	public void startup() throws Exception {
    +		try {
    +<span class="fc" id="L123">			String sessionId = options.getSessionId();</span>
    +<span class="fc bfc" id="L124" title="All 2 branches covered.">			if (sessionId == null) {</span>
    +<span class="fc" id="L125">				sessionId = createSessionId();</span>
    +			}
    +<span class="fc" id="L127">			data.setSessionId(sessionId);</span>
    +<span class="fc" id="L128">			output = createAgentOutput();</span>
    +<span class="fc" id="L129">			output.startup(options, data);</span>
    +<span class="fc bfc" id="L130" title="All 2 branches covered.">			if (options.getJmx()) {</span>
    +<span class="fc" id="L131">				jmxRegistration = new JmxRegistration(this);</span>
    +			}
    +<span class="fc" id="L133">		} catch (final Exception e) {</span>
    +<span class="fc" id="L134">			logger.logExeption(e);</span>
    +<span class="fc" id="L135">			throw e;</span>
    +<span class="fc" id="L136">		}</span>
    +<span class="fc" id="L137">	}</span>
    +
    +	/**
    +	 * Shutdown the agent again.
    +	 */
    +	public void shutdown() {
    +		try {
    +<span class="fc bfc" id="L144" title="All 2 branches covered.">			if (options.getDumpOnExit()) {</span>
    +<span class="fc" id="L145">				output.writeExecutionData(false);</span>
    +			}
    +<span class="fc" id="L147">			output.shutdown();</span>
    +<span class="fc bfc" id="L148" title="All 2 branches covered.">			if (jmxRegistration != null) {</span>
    +<span class="fc" id="L149">				jmxRegistration.call();</span>
    +			}
    +<span class="fc" id="L151">		} catch (final Exception e) {</span>
    +<span class="fc" id="L152">			logger.logExeption(e);</span>
    +<span class="fc" id="L153">		}</span>
    +<span class="fc" id="L154">	}</span>
    +
    +	/**
    +	 * Create output implementation as given by the agent options.
    +	 *
    +	 * @return configured controller implementation
    +	 */
    +	IAgentOutput createAgentOutput() {
    +<span class="fc" id="L162">		final OutputMode controllerType = options.getOutput();</span>
    +<span class="pc bpc" id="L163" title="1 of 5 branches missed.">		switch (controllerType) {</span>
    +		case file:
    +<span class="fc" id="L165">			return new FileOutput();</span>
    +		case tcpserver:
    +<span class="fc" id="L167">			return new TcpServerOutput(logger);</span>
    +		case tcpclient:
    +<span class="fc" id="L169">			return new TcpClientOutput(logger);</span>
    +		case none:
    +<span class="fc" id="L171">			return new NoneOutput();</span>
    +		default:
    +<span class="nc" id="L173">			throw new AssertionError(controllerType);</span>
    +		}
    +	}
    +
    +	private String createSessionId() {
    +		String host;
    +		try {
    +<span class="fc" id="L180">			host = InetAddress.getLocalHost().getHostName();</span>
    +<span class="nc" id="L181">		} catch (final Exception e) {</span>
    +			// Also catch platform specific exceptions (like on Android) to
    +			// avoid bailing out here
    +<span class="nc" id="L184">			host = &quot;unknownhost&quot;;</span>
    +<span class="fc" id="L185">		}</span>
    +<span class="fc" id="L186">		return host + &quot;-&quot; + AbstractRuntime.createRandomId();</span>
    +	}
    +
    +	// === IAgent Implementation ===
    +
    +	public String getVersion() {
    +<span class="fc" id="L192">		return JaCoCo.VERSION;</span>
    +	}
    +
    +	public String getSessionId() {
    +<span class="fc" id="L196">		return data.getSessionId();</span>
    +	}
    +
    +	public void setSessionId(final String id) {
    +<span class="fc" id="L200">		data.setSessionId(id);</span>
    +<span class="fc" id="L201">	}</span>
    +
    +	public void reset() {
    +<span class="fc" id="L204">		data.reset();</span>
    +<span class="fc" id="L205">	}</span>
    +
    +	public byte[] getExecutionData(final boolean reset) {
    +<span class="fc" id="L208">		final ByteArrayOutputStream buffer = new ByteArrayOutputStream();</span>
    +		try {
    +<span class="fc" id="L210">			final ExecutionDataWriter writer = new ExecutionDataWriter(buffer);</span>
    +<span class="fc" id="L211">			data.collect(writer, writer, reset);</span>
    +<span class="nc" id="L212">		} catch (final IOException e) {</span>
    +			// Must not happen with ByteArrayOutputStream
    +<span class="nc" id="L214">			throw new AssertionError(e);</span>
    +<span class="fc" id="L215">		}</span>
    +<span class="fc" id="L216">		return buffer.toByteArray();</span>
    +	}
    +
    +	public void dump(final boolean reset) throws IOException {
    +<span class="fc" id="L220">		output.writeExecutionData(reset);</span>
    +<span class="fc" id="L221">	}</span>
    +
    +}
    +</pre><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.12.202403270442</span>Code Coverage Report for JaCoCo 0.8.12-SNAPSHOT</div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/trunk/coverage/org.jacoco.agent.rt/org.jacoco.agent.rt.internal/AgentModule$1.html b/jacoco/trunk/coverage/org.jacoco.agent.rt/org.jacoco.agent.rt.internal/AgentModule$1.html
    new file mode 100644
    index 00000000000..dc3cd1dbb83
    --- /dev/null
    +++ b/jacoco/trunk/coverage/org.jacoco.agent.rt/org.jacoco.agent.rt.internal/AgentModule$1.html
    @@ -0,0 +1 @@
    +<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="en"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../../jacoco-resources/report.gif" type="image/gif"/><title>AgentModule.new ClassLoader() {...}</title><script type="text/javascript" src="../../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../../index.html" class="el_report">JaCoCo</a> &gt; <a href="../index.html" class="el_bundle">org.jacoco.agent.rt</a> &gt; <a href="index.html" class="el_package">org.jacoco.agent.rt.internal</a> &gt; <span class="el_class">AgentModule.new ClassLoader() {...}</span></div><h1>AgentModule.new ClassLoader() {...}</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">6 of 51</td><td class="ctr2">88%</td><td class="bar">0 of 2</td><td class="ctr2">100%</td><td class="ctr1">0</td><td class="ctr2">3</td><td class="ctr1">2</td><td class="ctr2">9</td><td class="ctr1">0</td><td class="ctr2">2</td></tr></tfoot><tbody><tr><td id="a0"><a href="AgentModule.java.html#L67" class="el_method">loadClass(String, boolean)</a></td><td class="bar" id="b0"><img src="../../jacoco-resources/redbar.gif" width="16" height="10" title="6" alt="6"/><img src="../../jacoco-resources/greenbar.gif" width="104" height="10" title="39" alt="39"/></td><td class="ctr2" id="c1">86%</td><td class="bar" id="d0"><img src="../../jacoco-resources/greenbar.gif" width="120" height="10" title="2" alt="2"/></td><td class="ctr2" id="e0">100%</td><td class="ctr1" id="f0">0</td><td class="ctr2" id="g0">2</td><td class="ctr1" id="h0">2</td><td class="ctr2" id="i0">8</td><td class="ctr1" id="j0">0</td><td class="ctr2" id="k0">1</td></tr><tr><td id="a1"><a href="AgentModule.java.html#L65" class="el_method">{...}</a></td><td class="bar" id="b1"><img src="../../jacoco-resources/greenbar.gif" width="16" height="10" title="6" alt="6"/></td><td class="ctr2" id="c0">100%</td><td class="bar" id="d1"/><td class="ctr2" id="e1">n/a</td><td class="ctr1" id="f1">0</td><td class="ctr2" id="g1">1</td><td class="ctr1" id="h1">0</td><td class="ctr2" id="i1">1</td><td class="ctr1" id="j1">0</td><td class="ctr2" id="k1">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.12.202403270442</span>Code Coverage Report for JaCoCo 0.8.12-SNAPSHOT</div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/trunk/coverage/org.jacoco.agent.rt/org.jacoco.agent.rt.internal/AgentModule.html b/jacoco/trunk/coverage/org.jacoco.agent.rt/org.jacoco.agent.rt.internal/AgentModule.html
    new file mode 100644
    index 00000000000..c2d18b9a56d
    --- /dev/null
    +++ b/jacoco/trunk/coverage/org.jacoco.agent.rt/org.jacoco.agent.rt.internal/AgentModule.html
    @@ -0,0 +1 @@
    +<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="en"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../../jacoco-resources/report.gif" type="image/gif"/><title>AgentModule</title><script type="text/javascript" src="../../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../../index.html" class="el_report">JaCoCo</a> &gt; <a href="../index.html" class="el_bundle">org.jacoco.agent.rt</a> &gt; <a href="index.html" class="el_package">org.jacoco.agent.rt.internal</a> &gt; <span class="el_class">AgentModule</span></div><h1>AgentModule</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">93 of 146</td><td class="ctr2">36%</td><td class="bar">0 of 2</td><td class="ctr2">100%</td><td class="ctr1">2</td><td class="ctr2">7</td><td class="ctr1">8</td><td class="ctr2">20</td><td class="ctr1">2</td><td class="ctr2">6</td></tr></tfoot><tbody><tr><td id="a5"><a href="AgentModule.java.html#L99" class="el_method">openPackage(Instrumentation, Class)</a></td><td class="bar" id="b0"><img src="../../jacoco-resources/redbar.gif" width="120" height="10" title="85" alt="85"/></td><td class="ctr2" id="c4">0%</td><td class="bar" id="d1"/><td class="ctr2" id="e1">n/a</td><td class="ctr1" id="f0">1</td><td class="ctr2" id="g1">1</td><td class="ctr1" id="h0">4</td><td class="ctr2" id="i1">4</td><td class="ctr1" id="j0">1</td><td class="ctr2" id="k0">1</td></tr><tr><td id="a3"><a href="AgentModule.java.html#L46" class="el_method">isSupported()</a></td><td class="bar" id="b1"><img src="../../jacoco-resources/redbar.gif" width="7" height="10" title="5" alt="5"/><img src="../../jacoco-resources/greenbar.gif" width="4" height="10" title="3" alt="3"/></td><td class="ctr2" id="c3">37%</td><td class="bar" id="d2"/><td class="ctr2" id="e2">n/a</td><td class="ctr1" id="f2">0</td><td class="ctr2" id="g2">1</td><td class="ctr1" id="h1">3</td><td class="ctr2" id="i0">5</td><td class="ctr1" id="j2">0</td><td class="ctr2" id="k1">1</td></tr><tr><td id="a2"><a href="AgentModule.java.html#L152" class="el_method">getModuleClass()</a></td><td class="bar" id="b2"><img src="../../jacoco-resources/redbar.gif" width="4" height="10" title="3" alt="3"/></td><td class="ctr2" id="c5">0%</td><td class="bar" id="d3"/><td class="ctr2" id="e3">n/a</td><td class="ctr1" id="f1">1</td><td class="ctr2" id="g3">1</td><td class="ctr1" id="h2">1</td><td class="ctr2" id="i5">1</td><td class="ctr1" id="j1">1</td><td class="ctr2" id="k2">1</td></tr><tr><td id="a0"><a href="AgentModule.java.html#L145" class="el_method">addToScopeWithInnerClasses(Class)</a></td><td class="bar" id="b3"><img src="../../jacoco-resources/greenbar.gif" width="38" height="10" title="27" alt="27"/></td><td class="ctr2" id="c0">100%</td><td class="bar" id="d0"><img src="../../jacoco-resources/greenbar.gif" width="120" height="10" title="2" alt="2"/></td><td class="ctr2" id="e0">100%</td><td class="ctr1" id="f3">0</td><td class="ctr2" id="g0">2</td><td class="ctr1" id="h3">0</td><td class="ctr2" id="i2">4</td><td class="ctr1" id="j3">0</td><td class="ctr2" id="k3">1</td></tr><tr><td id="a1"><a href="AgentModule.java.html#L53" class="el_method">AgentModule()</a></td><td class="bar" id="b4"><img src="../../jacoco-resources/greenbar.gif" width="19" height="10" title="14" alt="14"/></td><td class="ctr2" id="c1">100%</td><td class="bar" id="d4"/><td class="ctr2" id="e4">n/a</td><td class="ctr1" id="f4">0</td><td class="ctr2" id="g4">1</td><td class="ctr1" id="h4">0</td><td class="ctr2" id="i3">4</td><td class="ctr1" id="j4">0</td><td class="ctr2" id="k4">1</td></tr><tr><td id="a4"><a href="AgentModule.java.html#L140" class="el_method">loadClassInModule(Class)</a></td><td class="bar" id="b5"><img src="../../jacoco-resources/greenbar.gif" width="12" height="10" title="9" alt="9"/></td><td class="ctr2" id="c2">100%</td><td class="bar" id="d5"/><td class="ctr2" id="e5">n/a</td><td class="ctr1" id="f5">0</td><td class="ctr2" id="g5">1</td><td class="ctr1" id="h5">0</td><td class="ctr2" id="i4">2</td><td class="ctr1" id="j5">0</td><td class="ctr2" id="k5">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.12.202403270442</span>Code Coverage Report for JaCoCo 0.8.12-SNAPSHOT</div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/trunk/coverage/org.jacoco.agent.rt/org.jacoco.agent.rt.internal/AgentModule.java.html b/jacoco/trunk/coverage/org.jacoco.agent.rt/org.jacoco.agent.rt.internal/AgentModule.java.html
    new file mode 100644
    index 00000000000..08979eda432
    --- /dev/null
    +++ b/jacoco/trunk/coverage/org.jacoco.agent.rt/org.jacoco.agent.rt.internal/AgentModule.java.html
    @@ -0,0 +1,156 @@
    +<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="en"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../../jacoco-resources/report.gif" type="image/gif"/><title>AgentModule.java</title><link rel="stylesheet" href="../../jacoco-resources/prettify.css" type="text/css"/><script type="text/javascript" src="../../jacoco-resources/prettify.js"></script></head><body onload="window['PR_TAB_WIDTH']=4;prettyPrint()"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../../index.html" class="el_report">JaCoCo</a> &gt; <a href="../index.html" class="el_bundle">org.jacoco.agent.rt</a> &gt; <a href="index.source.html" class="el_package">org.jacoco.agent.rt.internal</a> &gt; <span class="el_source">AgentModule.java</span></div><h1>AgentModule.java</h1><pre class="source lang-java linenums">/*******************************************************************************
    + * Copyright (c) 2009, 2024 Mountainminds GmbH &amp; Co. KG and Contributors
    + * This program and the accompanying materials are made available under
    + * the terms of the Eclipse Public License 2.0 which is available at
    + * http://www.eclipse.org/legal/epl-2.0
    + *
    + * SPDX-License-Identifier: EPL-2.0
    + *
    + * Contributors:
    + *    Evgeny Mandrikov - initial API and implementation
    + *    Marc R. Hoffmann - move to separate class
    + *
    + *******************************************************************************/
    +package org.jacoco.agent.rt.internal;
    +
    +import java.io.IOException;
    +import java.io.InputStream;
    +import java.lang.instrument.Instrumentation;
    +import java.util.Collections;
    +import java.util.HashSet;
    +import java.util.Map;
    +import java.util.Set;
    +
    +import org.jacoco.core.internal.InputStreams;
    +
    +/**
    + * An isolated class loader and distinct module to encapsulate JaCoCo runtime
    + * classes. This isolated environment allows to specifically open JDK packages
    + * to the agent runtime without changing package accessibility for the
    + * application under test.
    + * &lt;p&gt;
    + * The implementation uses the property that the &lt;a href=
    + * &quot;https://docs.oracle.com/javase/specs/jvms/se11/html/jvms-5.html#jvms-5.3.6&quot;&gt;
    + * unnamed module is distinct from all run-time modules (including unnamed
    + * modules) bound to other class loaders&lt;/a&gt;.
    + */
    +public class AgentModule {
    +
    +	/**
    +	 * Checks whether Java modules are supported by the current Java runtime.
    +	 *
    +	 * @return &lt;code&gt;true&lt;/code&gt; is modules are supported
    +	 */
    +	public static boolean isSupported() {
    +		try {
    +<span class="nc" id="L46">			getModuleClass();</span>
    +<span class="fc" id="L47">		} catch (final ClassNotFoundException e) {</span>
    +<span class="fc" id="L48">			return false;</span>
    +<span class="nc" id="L49">		}</span>
    +<span class="nc" id="L50">		return true;</span>
    +	}
    +
    +<span class="fc" id="L53">	private final Set&lt;String&gt; scope = new HashSet&lt;String&gt;();</span>
    +	private final ClassLoader classLoader;
    +
    +	/**
    +	 * Creates a new isolated module.
    +	 *
    +	 * @throws Exception
    +	 *             if it cannot be created
    +	 */
    +<span class="fc" id="L62">	public AgentModule() throws Exception {</span>
    +<span class="fc" id="L63">		classLoader = new ClassLoader() {</span>
    +			@Override
    +<span class="fc" id="L65">			protected Class&lt;?&gt; loadClass(final String name,</span>
    +					final boolean resolve) throws ClassNotFoundException {
    +<span class="fc bfc" id="L67" title="All 2 branches covered.">				if (!scope.contains(name)) {</span>
    +<span class="fc" id="L68">					return super.loadClass(name, resolve);</span>
    +				}
    +<span class="fc" id="L70">				final InputStream resourceAsStream = getResourceAsStream(</span>
    +						name.replace('.', '/') + &quot;.class&quot;);
    +				final byte[] bytes;
    +				try {
    +<span class="fc" id="L74">					bytes = InputStreams.readFully(resourceAsStream);</span>
    +<span class="nc" id="L75">				} catch (final IOException e) {</span>
    +<span class="nc" id="L76">					throw new RuntimeException(e);</span>
    +<span class="fc" id="L77">				}</span>
    +<span class="fc" id="L78">				return defineClass(name, bytes, 0, bytes.length,</span>
    +						AgentModule.class.getProtectionDomain());
    +			}
    +		};
    +<span class="fc" id="L82">	}</span>
    +
    +	/**
    +	 * Opens the package of the provided class to the module created in this
    +	 * {@link #AgentModule()} instance.
    +	 *
    +	 * @param instrumentation
    +	 *            service provided to the agent by the Java runtime
    +	 * @param classInPackage
    +	 *            example class of the package to open
    +	 * @throws Exception
    +	 *             if package cannot be opened
    +	 */
    +	public void openPackage(final Instrumentation instrumentation,
    +			final Class&lt;?&gt; classInPackage) throws Exception {
    +
    +		// module of the package to open
    +<span class="nc" id="L99">		final Object module = Class.class.getMethod(&quot;getModule&quot;)</span>
    +				.invoke(classInPackage);
    +
    +		// unnamed module of our classloader
    +<span class="nc" id="L103">		final Object unnamedModule = ClassLoader.class</span>
    +				.getMethod(&quot;getUnnamedModule&quot;).invoke(classLoader);
    +
    +		// Open package java.lang to the unnamed module of our class loader
    +<span class="nc" id="L107">		Instrumentation.class.getMethod(&quot;redefineModule&quot;, //</span>
    +				getModuleClass(), //
    +				Set.class, //
    +				Map.class, //
    +				Map.class, //
    +				Set.class, //
    +				Map.class //
    +		).invoke(instrumentation, // instance
    +				module, // module
    +				Collections.emptySet(), // extraReads
    +				Collections.emptyMap(), // extraExports
    +				Collections.singletonMap(classInPackage.getPackage().getName(),
    +						Collections.singleton(unnamedModule)), // extraOpens
    +				Collections.emptySet(), // extraUses
    +				Collections.emptyMap() // extraProvides
    +		);
    +<span class="nc" id="L123">	}</span>
    +
    +	/**
    +	 * Loads a copy of the given class in the isolated classloader. Also any
    +	 * inner classes are loader from the isolated classloader.
    +	 *
    +	 * @param &lt;T&gt;
    +	 *            type of the class to load
    +	 * @param original
    +	 *            original class definition which is used as source
    +	 * @return class object from the isolated class loader
    +	 * @throws Exception
    +	 *             if the class cannot be loaded
    +	 */
    +	@SuppressWarnings(&quot;unchecked&quot;)
    +	public &lt;T&gt; Class&lt;T&gt; loadClassInModule(final Class&lt;T&gt; original)
    +			throws Exception {
    +<span class="fc" id="L140">		addToScopeWithInnerClasses(original);</span>
    +<span class="fc" id="L141">		return (Class&lt;T&gt;) classLoader.loadClass(original.getName());</span>
    +	}
    +
    +	private void addToScopeWithInnerClasses(final Class&lt;?&gt; c) {
    +<span class="fc" id="L145">		scope.add(c.getName());</span>
    +<span class="fc bfc" id="L146" title="All 2 branches covered.">		for (final Class&lt;?&gt; i : c.getDeclaredClasses()) {</span>
    +<span class="fc" id="L147">			addToScopeWithInnerClasses(i);</span>
    +		}
    +<span class="fc" id="L149">	}</span>
    +
    +	private static Class&lt;?&gt; getModuleClass() throws ClassNotFoundException {
    +<span class="nc" id="L152">		return Class.forName(&quot;java.lang.Module&quot;);</span>
    +	}
    +
    +}
    +</pre><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.12.202403270442</span>Code Coverage Report for JaCoCo 0.8.12-SNAPSHOT</div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/trunk/coverage/org.jacoco.agent.rt/org.jacoco.agent.rt.internal/ClassFileDumper.html b/jacoco/trunk/coverage/org.jacoco.agent.rt/org.jacoco.agent.rt.internal/ClassFileDumper.html
    new file mode 100644
    index 00000000000..0d39ae79722
    --- /dev/null
    +++ b/jacoco/trunk/coverage/org.jacoco.agent.rt/org.jacoco.agent.rt.internal/ClassFileDumper.html
    @@ -0,0 +1 @@
    +<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="en"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../../jacoco-resources/report.gif" type="image/gif"/><title>ClassFileDumper</title><script type="text/javascript" src="../../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../../index.html" class="el_report">JaCoCo</a> &gt; <a href="../index.html" class="el_bundle">org.jacoco.agent.rt</a> &gt; <a href="index.html" class="el_package">org.jacoco.agent.rt.internal</a> &gt; <span class="el_class">ClassFileDumper</span></div><h1>ClassFileDumper</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">0 of 82</td><td class="ctr2">100%</td><td class="bar">0 of 6</td><td class="ctr2">100%</td><td class="ctr1">0</td><td class="ctr2">5</td><td class="ctr1">0</td><td class="ctr2">19</td><td class="ctr1">0</td><td class="ctr2">2</td></tr></tfoot><tbody><tr><td id="a1"><a href="ClassFileDumper.java.html#L56" class="el_method">dump(String, byte[])</a></td><td class="bar" id="b0"><img src="../../jacoco-resources/greenbar.gif" width="120" height="10" title="67" alt="67"/></td><td class="ctr2" id="c0">100%</td><td class="bar" id="d0"><img src="../../jacoco-resources/greenbar.gif" width="120" height="10" title="4" alt="4"/></td><td class="ctr2" id="e0">100%</td><td class="ctr1" id="f0">0</td><td class="ctr2" id="g0">3</td><td class="ctr1" id="h0">0</td><td class="ctr2" id="i0">14</td><td class="ctr1" id="j0">0</td><td class="ctr2" id="k0">1</td></tr><tr><td id="a0"><a href="ClassFileDumper.java.html#L36" class="el_method">ClassFileDumper(String)</a></td><td class="bar" id="b1"><img src="../../jacoco-resources/greenbar.gif" width="26" height="10" title="15" alt="15"/></td><td class="ctr2" id="c1">100%</td><td class="bar" id="d1"><img src="../../jacoco-resources/greenbar.gif" width="60" height="10" title="2" alt="2"/></td><td class="ctr2" id="e1">100%</td><td class="ctr1" id="f1">0</td><td class="ctr2" id="g1">2</td><td class="ctr1" id="h1">0</td><td class="ctr2" id="i1">5</td><td class="ctr1" id="j1">0</td><td class="ctr2" id="k1">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.12.202403270442</span>Code Coverage Report for JaCoCo 0.8.12-SNAPSHOT</div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/trunk/coverage/org.jacoco.agent.rt/org.jacoco.agent.rt.internal/ClassFileDumper.java.html b/jacoco/trunk/coverage/org.jacoco.agent.rt/org.jacoco.agent.rt.internal/ClassFileDumper.java.html
    new file mode 100644
    index 00000000000..e64a15b3908
    --- /dev/null
    +++ b/jacoco/trunk/coverage/org.jacoco.agent.rt/org.jacoco.agent.rt.internal/ClassFileDumper.java.html
    @@ -0,0 +1,78 @@
    +<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="en"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../../jacoco-resources/report.gif" type="image/gif"/><title>ClassFileDumper.java</title><link rel="stylesheet" href="../../jacoco-resources/prettify.css" type="text/css"/><script type="text/javascript" src="../../jacoco-resources/prettify.js"></script></head><body onload="window['PR_TAB_WIDTH']=4;prettyPrint()"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../../index.html" class="el_report">JaCoCo</a> &gt; <a href="../index.html" class="el_bundle">org.jacoco.agent.rt</a> &gt; <a href="index.source.html" class="el_package">org.jacoco.agent.rt.internal</a> &gt; <span class="el_source">ClassFileDumper.java</span></div><h1>ClassFileDumper.java</h1><pre class="source lang-java linenums">/*******************************************************************************
    + * Copyright (c) 2009, 2024 Mountainminds GmbH &amp; Co. KG and Contributors
    + * This program and the accompanying materials are made available under
    + * the terms of the Eclipse Public License 2.0 which is available at
    + * http://www.eclipse.org/legal/epl-2.0
    + *
    + * SPDX-License-Identifier: EPL-2.0
    + *
    + * Contributors:
    + *    Marc R. Hoffmann - initial API and implementation
    + *
    + *******************************************************************************/
    +package org.jacoco.agent.rt.internal;
    +
    +import java.io.File;
    +import java.io.FileOutputStream;
    +import java.io.IOException;
    +import java.io.OutputStream;
    +
    +import org.jacoco.core.internal.data.CRC64;
    +
    +/**
    + * Internal dumper for class files.
    + */
    +class ClassFileDumper {
    +
    +	private final File location;
    +
    +	/**
    +	 * Create a new dumper for the given location.
    +	 *
    +	 * @param location
    +	 *            relative path to dump directory. &lt;code&gt;null&lt;/code&gt; if no dumps
    +	 *            should be written
    +	 */
    +<span class="fc" id="L36">	ClassFileDumper(final String location) {</span>
    +<span class="fc bfc" id="L37" title="All 2 branches covered.">		if (location == null) {</span>
    +<span class="fc" id="L38">			this.location = null;</span>
    +		} else {
    +<span class="fc" id="L40">			this.location = new File(location);</span>
    +		}
    +<span class="fc" id="L42">	}</span>
    +
    +	/**
    +	 * Dumps the given binary content under the given name if a non-
    +	 * &lt;code&gt;null&lt;/code&gt; location has been specified.
    +	 *
    +	 * @param name
    +	 *            qualified class name in VM notation
    +	 * @param contents
    +	 *            binary contents
    +	 * @throws IOException
    +	 *             in case of problems while dumping the file
    +	 */
    +	void dump(final String name, final byte[] contents) throws IOException {
    +<span class="fc bfc" id="L56" title="All 2 branches covered.">		if (location != null) {</span>
    +			final File outputdir;
    +			final String localname;
    +<span class="fc" id="L59">			final int pkgpos = name.lastIndexOf('/');</span>
    +<span class="fc bfc" id="L60" title="All 2 branches covered.">			if (pkgpos != -1) {</span>
    +<span class="fc" id="L61">				outputdir = new File(location, name.substring(0, pkgpos));</span>
    +<span class="fc" id="L62">				localname = name.substring(pkgpos + 1);</span>
    +			} else {
    +<span class="fc" id="L64">				outputdir = location;</span>
    +<span class="fc" id="L65">				localname = name;</span>
    +			}
    +<span class="fc" id="L67">			outputdir.mkdirs();</span>
    +<span class="fc" id="L68">			final Long id = Long.valueOf(CRC64.classId(contents));</span>
    +<span class="fc" id="L69">			final File file = new File(outputdir,</span>
    +					String.format(&quot;%s.%016x.class&quot;, localname, id));
    +<span class="fc" id="L71">			final OutputStream out = new FileOutputStream(file);</span>
    +<span class="fc" id="L72">			out.write(contents);</span>
    +<span class="fc" id="L73">			out.close();</span>
    +		}
    +<span class="fc" id="L75">	}</span>
    +
    +}
    +</pre><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.12.202403270442</span>Code Coverage Report for JaCoCo 0.8.12-SNAPSHOT</div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/trunk/coverage/org.jacoco.agent.rt/org.jacoco.agent.rt.internal/ConfigLoader.html b/jacoco/trunk/coverage/org.jacoco.agent.rt/org.jacoco.agent.rt.internal/ConfigLoader.html
    new file mode 100644
    index 00000000000..28638f680b8
    --- /dev/null
    +++ b/jacoco/trunk/coverage/org.jacoco.agent.rt/org.jacoco.agent.rt.internal/ConfigLoader.html
    @@ -0,0 +1 @@
    +<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="en"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../../jacoco-resources/report.gif" type="image/gif"/><title>ConfigLoader</title><script type="text/javascript" src="../../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../../index.html" class="el_report">JaCoCo</a> &gt; <a href="../index.html" class="el_bundle">org.jacoco.agent.rt</a> &gt; <a href="index.html" class="el_package">org.jacoco.agent.rt.internal</a> &gt; <span class="el_class">ConfigLoader</span></div><h1>ConfigLoader</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">6 of 135</td><td class="ctr2">95%</td><td class="bar">0 of 12</td><td class="ctr2">100%</td><td class="ctr1">0</td><td class="ctr2">11</td><td class="ctr1">2</td><td class="ctr2">34</td><td class="ctr1">0</td><td class="ctr2">5</td></tr></tfoot><tbody><tr><td id="a1"><a href="ConfigLoader.java.html#L45" class="el_method">loadResource(String, Properties)</a></td><td class="bar" id="b0"><img src="../../jacoco-resources/redbar.gif" width="10" height="10" title="6" alt="6"/><img src="../../jacoco-resources/greenbar.gif" width="19" height="10" title="11" alt="11"/></td><td class="ctr2" id="c4">64%</td><td class="bar" id="d2"><img src="../../jacoco-resources/greenbar.gif" width="40" height="10" title="2" alt="2"/></td><td class="ctr2" id="e0">100%</td><td class="ctr1" id="f0">0</td><td class="ctr2" id="g2">2</td><td class="ctr1" id="h0">2</td><td class="ctr2" id="i1">7</td><td class="ctr1" id="j0">0</td><td class="ctr2" id="k0">1</td></tr><tr><td id="a4"><a href="ConfigLoader.java.html#L68" class="el_method">substSystemProperties(Properties, Properties)</a></td><td class="bar" id="b1"><img src="../../jacoco-resources/greenbar.gif" width="120" height="10" title="69" alt="69"/></td><td class="ctr2" id="c0">100%</td><td class="bar" id="d0"><img src="../../jacoco-resources/greenbar.gif" width="120" height="10" title="6" alt="6"/></td><td class="ctr2" id="e1">100%</td><td class="ctr1" id="f1">0</td><td class="ctr2" id="g0">4</td><td class="ctr1" id="h1">0</td><td class="ctr2" id="i0">15</td><td class="ctr1" id="j1">0</td><td class="ctr2" id="k1">1</td></tr><tr><td id="a2"><a href="ConfigLoader.java.html#L57" class="el_method">loadSystemProperties(Properties, Properties)</a></td><td class="bar" id="b2"><img src="../../jacoco-resources/greenbar.gif" width="52" height="10" title="30" alt="30"/></td><td class="ctr2" id="c1">100%</td><td class="bar" id="d1"><img src="../../jacoco-resources/greenbar.gif" width="80" height="10" title="4" alt="4"/></td><td class="ctr2" id="e2">100%</td><td class="ctr1" id="f2">0</td><td class="ctr2" id="g1">3</td><td class="ctr1" id="h2">0</td><td class="ctr2" id="i2">6</td><td class="ctr1" id="j2">0</td><td class="ctr2" id="k2">1</td></tr><tr><td id="a0"><a href="ConfigLoader.java.html#L36" class="el_method">load(String, Properties)</a></td><td class="bar" id="b3"><img src="../../jacoco-resources/greenbar.gif" width="26" height="10" title="15" alt="15"/></td><td class="ctr2" id="c2">100%</td><td class="bar" id="d3"/><td class="ctr2" id="e3">n/a</td><td class="ctr1" id="f3">0</td><td class="ctr2" id="g3">1</td><td class="ctr1" id="h3">0</td><td class="ctr2" id="i3">5</td><td class="ctr1" id="j3">0</td><td class="ctr2" id="k3">1</td></tr><tr><td id="a3"><a href="ConfigLoader.java.html#L32" class="el_method">static {...}</a></td><td class="bar" id="b4"><img src="../../jacoco-resources/greenbar.gif" width="6" height="10" title="4" alt="4"/></td><td class="ctr2" id="c3">100%</td><td class="bar" id="d4"/><td class="ctr2" id="e4">n/a</td><td class="ctr1" id="f4">0</td><td class="ctr2" id="g4">1</td><td class="ctr1" id="h4">0</td><td class="ctr2" id="i4">1</td><td class="ctr1" id="j4">0</td><td class="ctr2" id="k4">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.12.202403270442</span>Code Coverage Report for JaCoCo 0.8.12-SNAPSHOT</div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/trunk/coverage/org.jacoco.agent.rt/org.jacoco.agent.rt.internal/ConfigLoader.java.html b/jacoco/trunk/coverage/org.jacoco.agent.rt/org.jacoco.agent.rt.internal/ConfigLoader.java.html
    new file mode 100644
    index 00000000000..14fb0235ad7
    --- /dev/null
    +++ b/jacoco/trunk/coverage/org.jacoco.agent.rt/org.jacoco.agent.rt.internal/ConfigLoader.java.html
    @@ -0,0 +1,88 @@
    +<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="en"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../../jacoco-resources/report.gif" type="image/gif"/><title>ConfigLoader.java</title><link rel="stylesheet" href="../../jacoco-resources/prettify.css" type="text/css"/><script type="text/javascript" src="../../jacoco-resources/prettify.js"></script></head><body onload="window['PR_TAB_WIDTH']=4;prettyPrint()"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../../index.html" class="el_report">JaCoCo</a> &gt; <a href="../index.html" class="el_bundle">org.jacoco.agent.rt</a> &gt; <a href="index.source.html" class="el_package">org.jacoco.agent.rt.internal</a> &gt; <span class="el_source">ConfigLoader.java</span></div><h1>ConfigLoader.java</h1><pre class="source lang-java linenums">/*******************************************************************************
    + * Copyright (c) 2009, 2024 Mountainminds GmbH &amp; Co. KG and Contributors
    + * This program and the accompanying materials are made available under
    + * the terms of the Eclipse Public License 2.0 which is available at
    + * http://www.eclipse.org/legal/epl-2.0
    + *
    + * SPDX-License-Identifier: EPL-2.0
    + *
    + * Contributors:
    + *    Marc R. Hoffmann - initial API and implementation
    + *
    + *******************************************************************************/
    +package org.jacoco.agent.rt.internal;
    +
    +import java.io.IOException;
    +import java.io.InputStream;
    +import java.util.Map;
    +import java.util.Properties;
    +import java.util.regex.Matcher;
    +import java.util.regex.Pattern;
    +
    +/**
    + * Internal utility to load runtime configuration from a classpath resource and
    + * from system properties. System property keys are prefixed with
    + * &lt;code&gt;jacoco.&lt;/code&gt;. If the same property is defined twice the system
    + * property takes precedence.
    + */
    +final class ConfigLoader {
    +
    +	private static final String SYS_PREFIX = &quot;jacoco-agent.&quot;;
    +
    +<span class="fc" id="L32">	private static final Pattern SUBST_PATTERN = Pattern</span>
    +			.compile(&quot;\\$\\{([^\\}]+)\\}&quot;);
    +
    +	static Properties load(final String resource, final Properties system) {
    +<span class="fc" id="L36">		final Properties result = new Properties();</span>
    +<span class="fc" id="L37">		loadResource(resource, result);</span>
    +<span class="fc" id="L38">		loadSystemProperties(system, result);</span>
    +<span class="fc" id="L39">		substSystemProperties(result, system);</span>
    +<span class="fc" id="L40">		return result;</span>
    +	}
    +
    +	private static void loadResource(final String resource,
    +			final Properties result) {
    +<span class="fc" id="L45">		final InputStream file = Offline.class.getResourceAsStream(resource);</span>
    +<span class="fc bfc" id="L46" title="All 2 branches covered.">		if (file != null) {</span>
    +			try {
    +<span class="fc" id="L48">				result.load(file);</span>
    +<span class="nc" id="L49">			} catch (final IOException e) {</span>
    +<span class="nc" id="L50">				throw new RuntimeException(e);</span>
    +<span class="fc" id="L51">			}</span>
    +		}
    +<span class="fc" id="L53">	}</span>
    +
    +	private static void loadSystemProperties(final Properties system,
    +			final Properties result) {
    +<span class="fc bfc" id="L57" title="All 2 branches covered.">		for (final Map.Entry&lt;Object, Object&gt; entry : system.entrySet()) {</span>
    +<span class="fc" id="L58">			final String keystr = entry.getKey().toString();</span>
    +<span class="fc bfc" id="L59" title="All 2 branches covered.">			if (keystr.startsWith(SYS_PREFIX)) {</span>
    +<span class="fc" id="L60">				result.put(keystr.substring(SYS_PREFIX.length()),</span>
    +						entry.getValue());
    +			}
    +<span class="fc" id="L63">		}</span>
    +<span class="fc" id="L64">	}</span>
    +
    +	private static void substSystemProperties(final Properties result,
    +			final Properties system) {
    +<span class="fc bfc" id="L68" title="All 2 branches covered.">		for (final Map.Entry&lt;Object, Object&gt; entry : result.entrySet()) {</span>
    +<span class="fc" id="L69">			final String oldValue = (String) entry.getValue();</span>
    +<span class="fc" id="L70">			final StringBuilder newValue = new StringBuilder();</span>
    +<span class="fc" id="L71">			final Matcher m = SUBST_PATTERN.matcher(oldValue);</span>
    +<span class="fc" id="L72">			int pos = 0;</span>
    +<span class="fc bfc" id="L73" title="All 2 branches covered.">			while (m.find()) {</span>
    +<span class="fc" id="L74">				newValue.append(oldValue.substring(pos, m.start()));</span>
    +<span class="fc" id="L75">				final String sub = system.getProperty(m.group(1));</span>
    +<span class="fc bfc" id="L76" title="All 2 branches covered.">				newValue.append(sub == null ? m.group(0) : sub);</span>
    +<span class="fc" id="L77">				pos = m.end();</span>
    +<span class="fc" id="L78">			}</span>
    +<span class="fc" id="L79">			newValue.append(oldValue.substring(pos));</span>
    +<span class="fc" id="L80">			entry.setValue(newValue.toString());</span>
    +<span class="fc" id="L81">		}</span>
    +<span class="fc" id="L82">	}</span>
    +
    +	private ConfigLoader() {
    +	}
    +
    +}
    +</pre><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.12.202403270442</span>Code Coverage Report for JaCoCo 0.8.12-SNAPSHOT</div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/trunk/coverage/org.jacoco.agent.rt/org.jacoco.agent.rt.internal/CoverageTransformer.html b/jacoco/trunk/coverage/org.jacoco.agent.rt/org.jacoco.agent.rt.internal/CoverageTransformer.html
    new file mode 100644
    index 00000000000..b28b0dfbcec
    --- /dev/null
    +++ b/jacoco/trunk/coverage/org.jacoco.agent.rt/org.jacoco.agent.rt.internal/CoverageTransformer.html
    @@ -0,0 +1 @@
    +<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="en"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../../jacoco-resources/report.gif" type="image/gif"/><title>CoverageTransformer</title><script type="text/javascript" src="../../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../../index.html" class="el_report">JaCoCo</a> &gt; <a href="../index.html" class="el_bundle">org.jacoco.agent.rt</a> &gt; <a href="index.html" class="el_package">org.jacoco.agent.rt.internal</a> &gt; <span class="el_class">CoverageTransformer</span></div><h1>CoverageTransformer</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">6 of 168</td><td class="ctr2">96%</td><td class="bar">0 of 26</td><td class="ctr2">100%</td><td class="ctr1">0</td><td class="ctr2">19</td><td class="ctr1">1</td><td class="ctr2">39</td><td class="ctr1">0</td><td class="ctr2">6</td></tr></tfoot><tbody><tr><td id="a5"><a href="CoverageTransformer.java.html#L82" class="el_method">transform(ClassLoader, String, Class, ProtectionDomain, byte[])</a></td><td class="bar" id="b0"><img src="../../jacoco-resources/redbar.gif" width="14" height="10" title="6" alt="6"/><img src="../../jacoco-resources/greenbar.gif" width="81" height="10" title="34" alt="34"/></td><td class="ctr2" id="c5">85%</td><td class="bar" id="d2"><img src="../../jacoco-resources/greenbar.gif" width="30" height="10" title="4" alt="4"/></td><td class="ctr2" id="e0">100%</td><td class="ctr1" id="f0">0</td><td class="ctr2" id="g2">3</td><td class="ctr1" id="h0">1</td><td class="ctr2" id="i0">11</td><td class="ctr1" id="j0">0</td><td class="ctr2" id="k0">1</td></tr><tr><td id="a0"><a href="CoverageTransformer.java.html#L64" class="el_method">CoverageTransformer(IRuntime, AgentOptions, IExceptionLogger)</a></td><td class="bar" id="b1"><img src="../../jacoco-resources/greenbar.gif" width="120" height="10" title="50" alt="50"/></td><td class="ctr2" id="c0">100%</td><td class="bar" id="d3"/><td class="ctr2" id="e3">n/a</td><td class="ctr1" id="f1">0</td><td class="ctr2" id="g3">1</td><td class="ctr1" id="h1">0</td><td class="ctr2" id="i1">10</td><td class="ctr1" id="j1">0</td><td class="ctr2" id="k1">1</td></tr><tr><td id="a1"><a href="CoverageTransformer.java.html#L116" class="el_method">filter(ClassLoader, String, ProtectionDomain)</a></td><td class="bar" id="b2"><img src="../../jacoco-resources/greenbar.gif" width="103" height="10" title="43" alt="43"/></td><td class="ctr2" id="c1">100%</td><td class="bar" id="d0"><img src="../../jacoco-resources/greenbar.gif" width="120" height="10" title="16" alt="16"/></td><td class="ctr2" id="e1">100%</td><td class="ctr1" id="f2">0</td><td class="ctr2" id="g0">9</td><td class="ctr1" id="h2">0</td><td class="ctr2" id="i2">8</td><td class="ctr1" id="j2">0</td><td class="ctr2" id="k2">1</td></tr><tr><td id="a2"><a href="CoverageTransformer.java.html#L146" class="el_method">hasSourceLocation(ProtectionDomain)</a></td><td class="bar" id="b3"><img src="../../jacoco-resources/greenbar.gif" width="43" height="10" title="18" alt="18"/></td><td class="ctr2" id="c2">100%</td><td class="bar" id="d1"><img src="../../jacoco-resources/greenbar.gif" width="45" height="10" title="6" alt="6"/></td><td class="ctr2" id="e2">100%</td><td class="ctr1" id="f3">0</td><td class="ctr2" id="g1">4</td><td class="ctr1" id="h3">0</td><td class="ctr2" id="i3">6</td><td class="ctr1" id="j3">0</td><td class="ctr2" id="k3">1</td></tr><tr><td id="a3"><a href="CoverageTransformer.java.html#L33" class="el_method">static {...}</a></td><td class="bar" id="b4"><img src="../../jacoco-resources/greenbar.gif" width="28" height="10" title="12" alt="12"/></td><td class="ctr2" id="c3">100%</td><td class="bar" id="d4"/><td class="ctr2" id="e4">n/a</td><td class="ctr1" id="f4">0</td><td class="ctr2" id="g4">1</td><td class="ctr1" id="h4">0</td><td class="ctr2" id="i4">3</td><td class="ctr1" id="j4">0</td><td class="ctr2" id="k4">1</td></tr><tr><td id="a4"><a href="CoverageTransformer.java.html#L157" class="el_method">toVMName(String)</a></td><td class="bar" id="b5"><img src="../../jacoco-resources/greenbar.gif" width="12" height="10" title="5" alt="5"/></td><td class="ctr2" id="c4">100%</td><td class="bar" id="d5"/><td class="ctr2" id="e5">n/a</td><td class="ctr1" id="f5">0</td><td class="ctr2" id="g5">1</td><td class="ctr1" id="h5">0</td><td class="ctr2" id="i5">1</td><td class="ctr1" id="j5">0</td><td class="ctr2" id="k5">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.12.202403270442</span>Code Coverage Report for JaCoCo 0.8.12-SNAPSHOT</div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/trunk/coverage/org.jacoco.agent.rt/org.jacoco.agent.rt.internal/CoverageTransformer.java.html b/jacoco/trunk/coverage/org.jacoco.agent.rt/org.jacoco.agent.rt.internal/CoverageTransformer.java.html
    new file mode 100644
    index 00000000000..d7e26bddd80
    --- /dev/null
    +++ b/jacoco/trunk/coverage/org.jacoco.agent.rt/org.jacoco.agent.rt.internal/CoverageTransformer.java.html
    @@ -0,0 +1,161 @@
    +<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="en"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../../jacoco-resources/report.gif" type="image/gif"/><title>CoverageTransformer.java</title><link rel="stylesheet" href="../../jacoco-resources/prettify.css" type="text/css"/><script type="text/javascript" src="../../jacoco-resources/prettify.js"></script></head><body onload="window['PR_TAB_WIDTH']=4;prettyPrint()"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../../index.html" class="el_report">JaCoCo</a> &gt; <a href="../index.html" class="el_bundle">org.jacoco.agent.rt</a> &gt; <a href="index.source.html" class="el_package">org.jacoco.agent.rt.internal</a> &gt; <span class="el_source">CoverageTransformer.java</span></div><h1>CoverageTransformer.java</h1><pre class="source lang-java linenums">/*******************************************************************************
    + * Copyright (c) 2009, 2024 Mountainminds GmbH &amp; Co. KG and Contributors
    + * This program and the accompanying materials are made available under
    + * the terms of the Eclipse Public License 2.0 which is available at
    + * http://www.eclipse.org/legal/epl-2.0
    + *
    + * SPDX-License-Identifier: EPL-2.0
    + *
    + * Contributors:
    + *    Marc R. Hoffmann - initial API and implementation
    + *
    + *******************************************************************************/
    +package org.jacoco.agent.rt.internal;
    +
    +import java.lang.instrument.ClassFileTransformer;
    +import java.lang.instrument.IllegalClassFormatException;
    +import java.security.CodeSource;
    +import java.security.ProtectionDomain;
    +
    +import org.jacoco.core.instr.Instrumenter;
    +import org.jacoco.core.runtime.AgentOptions;
    +import org.jacoco.core.runtime.IRuntime;
    +import org.jacoco.core.runtime.WildcardMatcher;
    +
    +/**
    + * Class file transformer to instrument classes for code coverage analysis.
    + */
    +public class CoverageTransformer implements ClassFileTransformer {
    +
    +	private static final String AGENT_PREFIX;
    +
    +	static {
    +<span class="fc" id="L33">		final String name = CoverageTransformer.class.getName();</span>
    +<span class="fc" id="L34">		AGENT_PREFIX = toVMName(name.substring(0, name.lastIndexOf('.')));</span>
    +<span class="fc" id="L35">	}</span>
    +
    +	private final Instrumenter instrumenter;
    +
    +	private final IExceptionLogger logger;
    +
    +	private final WildcardMatcher includes;
    +
    +	private final WildcardMatcher excludes;
    +
    +	private final WildcardMatcher exclClassloader;
    +
    +	private final ClassFileDumper classFileDumper;
    +
    +	private final boolean inclBootstrapClasses;
    +
    +	private final boolean inclNoLocationClasses;
    +
    +	/**
    +	 * New transformer with the given delegates.
    +	 *
    +	 * @param runtime
    +	 *            coverage runtime
    +	 * @param options
    +	 *            configuration options for the generator
    +	 * @param logger
    +	 *            logger for exceptions during instrumentation
    +	 */
    +	public CoverageTransformer(final IRuntime runtime,
    +<span class="fc" id="L64">			final AgentOptions options, final IExceptionLogger logger) {</span>
    +<span class="fc" id="L65">		this.instrumenter = new Instrumenter(runtime);</span>
    +<span class="fc" id="L66">		this.logger = logger;</span>
    +		// Class names will be reported in VM notation:
    +<span class="fc" id="L68">		includes = new WildcardMatcher(toVMName(options.getIncludes()));</span>
    +<span class="fc" id="L69">		excludes = new WildcardMatcher(toVMName(options.getExcludes()));</span>
    +<span class="fc" id="L70">		exclClassloader = new WildcardMatcher(options.getExclClassloader());</span>
    +<span class="fc" id="L71">		classFileDumper = new ClassFileDumper(options.getClassDumpDir());</span>
    +<span class="fc" id="L72">		inclBootstrapClasses = options.getInclBootstrapClasses();</span>
    +<span class="fc" id="L73">		inclNoLocationClasses = options.getInclNoLocationClasses();</span>
    +<span class="fc" id="L74">	}</span>
    +
    +	public byte[] transform(final ClassLoader loader, final String classname,
    +			final Class&lt;?&gt; classBeingRedefined,
    +			final ProtectionDomain protectionDomain,
    +			final byte[] classfileBuffer) throws IllegalClassFormatException {
    +
    +		// We do not support class retransformation:
    +<span class="fc bfc" id="L82" title="All 2 branches covered.">		if (classBeingRedefined != null) {</span>
    +<span class="fc" id="L83">			return null;</span>
    +		}
    +
    +<span class="fc bfc" id="L86" title="All 2 branches covered.">		if (!filter(loader, classname, protectionDomain)) {</span>
    +<span class="fc" id="L87">			return null;</span>
    +		}
    +
    +		try {
    +<span class="fc" id="L91">			classFileDumper.dump(classname, classfileBuffer);</span>
    +<span class="nc" id="L92">			return instrumenter.instrument(classfileBuffer, classname);</span>
    +<span class="fc" id="L93">		} catch (final Exception ex) {</span>
    +<span class="fc" id="L94">			final IllegalClassFormatException wrapper = new IllegalClassFormatException(</span>
    +					ex.getMessage());
    +<span class="fc" id="L96">			wrapper.initCause(ex);</span>
    +			// Report this, as the exception is ignored by the JVM:
    +<span class="fc" id="L98">			logger.logExeption(wrapper);</span>
    +<span class="fc" id="L99">			throw wrapper;</span>
    +		}
    +	}
    +
    +	/**
    +	 * Checks whether this class should be instrumented.
    +	 *
    +	 * @param loader
    +	 *            loader for the class
    +	 * @param classname
    +	 *            VM name of the class to check
    +	 * @param protectionDomain
    +	 *            protection domain for the class
    +	 * @return &lt;code&gt;true&lt;/code&gt; if the class should be instrumented
    +	 */
    +	boolean filter(final ClassLoader loader, final String classname,
    +			final ProtectionDomain protectionDomain) {
    +<span class="fc bfc" id="L116" title="All 2 branches covered.">		if (loader == null) {</span>
    +<span class="fc bfc" id="L117" title="All 2 branches covered.">			if (!inclBootstrapClasses) {</span>
    +<span class="fc" id="L118">				return false;</span>
    +			}
    +		} else {
    +<span class="fc bfc" id="L121" title="All 4 branches covered.">			if (!inclNoLocationClasses</span>
    +					&amp;&amp; !hasSourceLocation(protectionDomain)) {
    +<span class="fc" id="L123">				return false;</span>
    +			}
    +<span class="fc bfc" id="L125" title="All 2 branches covered.">			if (exclClassloader.matches(loader.getClass().getName())) {</span>
    +<span class="fc" id="L126">				return false;</span>
    +			}
    +		}
    +
    +<span class="fc bfc" id="L130" title="All 6 branches covered.">		return !classname.startsWith(AGENT_PREFIX) &amp;&amp;</span>
    +
    +				includes.matches(classname) &amp;&amp;
    +
    +				!excludes.matches(classname);
    +	}
    +
    +	/**
    +	 * Checks whether this protection domain is associated with a source
    +	 * location.
    +	 *
    +	 * @param protectionDomain
    +	 *            protection domain to check (or &lt;code&gt;null&lt;/code&gt;)
    +	 * @return &lt;code&gt;true&lt;/code&gt; if a source location is defined
    +	 */
    +	private boolean hasSourceLocation(final ProtectionDomain protectionDomain) {
    +<span class="fc bfc" id="L146" title="All 2 branches covered.">		if (protectionDomain == null) {</span>
    +<span class="fc" id="L147">			return false;</span>
    +		}
    +<span class="fc" id="L149">		final CodeSource codeSource = protectionDomain.getCodeSource();</span>
    +<span class="fc bfc" id="L150" title="All 2 branches covered.">		if (codeSource == null) {</span>
    +<span class="fc" id="L151">			return false;</span>
    +		}
    +<span class="fc bfc" id="L153" title="All 2 branches covered.">		return codeSource.getLocation() != null;</span>
    +	}
    +
    +	private static String toVMName(final String srcName) {
    +<span class="fc" id="L157">		return srcName.replace('.', '/');</span>
    +	}
    +
    +}
    +</pre><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.12.202403270442</span>Code Coverage Report for JaCoCo 0.8.12-SNAPSHOT</div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/trunk/coverage/org.jacoco.agent.rt/org.jacoco.agent.rt.internal/IExceptionLogger$1.html b/jacoco/trunk/coverage/org.jacoco.agent.rt/org.jacoco.agent.rt.internal/IExceptionLogger$1.html
    new file mode 100644
    index 00000000000..6c5c0225416
    --- /dev/null
    +++ b/jacoco/trunk/coverage/org.jacoco.agent.rt/org.jacoco.agent.rt.internal/IExceptionLogger$1.html
    @@ -0,0 +1 @@
    +<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="en"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../../jacoco-resources/report.gif" type="image/gif"/><title>IExceptionLogger.new IExceptionLogger() {...}</title><script type="text/javascript" src="../../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../../index.html" class="el_report">JaCoCo</a> &gt; <a href="../index.html" class="el_bundle">org.jacoco.agent.rt</a> &gt; <a href="index.html" class="el_package">org.jacoco.agent.rt.internal</a> &gt; <span class="el_class">IExceptionLogger.new IExceptionLogger() {...}</span></div><h1>IExceptionLogger.new IExceptionLogger() {...}</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">6 of 6</td><td class="ctr2">0%</td><td class="bar">0 of 0</td><td class="ctr2">n/a</td><td class="ctr1">2</td><td class="ctr2">2</td><td class="ctr1">3</td><td class="ctr2">3</td><td class="ctr1">2</td><td class="ctr2">2</td></tr></tfoot><tbody><tr><td id="a1"><a href="IExceptionLogger.java.html#L25" class="el_method">{...}</a></td><td class="bar" id="b0"><img src="../../jacoco-resources/redbar.gif" width="120" height="10" title="3" alt="3"/></td><td class="ctr2" id="c0">0%</td><td class="bar" id="d0"/><td class="ctr2" id="e0">n/a</td><td class="ctr1" id="f0">1</td><td class="ctr2" id="g0">1</td><td class="ctr1" id="h1">1</td><td class="ctr2" id="i1">1</td><td class="ctr1" id="j0">1</td><td class="ctr2" id="k0">1</td></tr><tr><td id="a0"><a href="IExceptionLogger.java.html#L26" class="el_method">logExeption(Exception)</a></td><td class="bar" id="b1"><img src="../../jacoco-resources/redbar.gif" width="120" height="10" title="3" alt="3"/></td><td class="ctr2" id="c1">0%</td><td class="bar" id="d1"/><td class="ctr2" id="e1">n/a</td><td class="ctr1" id="f1">1</td><td class="ctr2" id="g1">1</td><td class="ctr1" id="h0">2</td><td class="ctr2" id="i0">2</td><td class="ctr1" id="j1">1</td><td class="ctr2" id="k1">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.12.202403270442</span>Code Coverage Report for JaCoCo 0.8.12-SNAPSHOT</div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/trunk/coverage/org.jacoco.agent.rt/org.jacoco.agent.rt.internal/IExceptionLogger.html b/jacoco/trunk/coverage/org.jacoco.agent.rt/org.jacoco.agent.rt.internal/IExceptionLogger.html
    new file mode 100644
    index 00000000000..0345a6a85fb
    --- /dev/null
    +++ b/jacoco/trunk/coverage/org.jacoco.agent.rt/org.jacoco.agent.rt.internal/IExceptionLogger.html
    @@ -0,0 +1 @@
    +<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="en"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../../jacoco-resources/report.gif" type="image/gif"/><title>IExceptionLogger</title><script type="text/javascript" src="../../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../../index.html" class="el_report">JaCoCo</a> &gt; <a href="../index.html" class="el_bundle">org.jacoco.agent.rt</a> &gt; <a href="index.html" class="el_package">org.jacoco.agent.rt.internal</a> &gt; <span class="el_class">IExceptionLogger</span></div><h1>IExceptionLogger</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">5 of 5</td><td class="ctr2">0%</td><td class="bar">0 of 0</td><td class="ctr2">n/a</td><td class="ctr1">1</td><td class="ctr2">1</td><td class="ctr1">1</td><td class="ctr2">1</td><td class="ctr1">1</td><td class="ctr2">1</td></tr></tfoot><tbody><tr><td id="a0"><a href="IExceptionLogger.java.html#L24" class="el_method">static {...}</a></td><td class="bar" id="b0"><img src="../../jacoco-resources/redbar.gif" width="120" height="10" title="5" alt="5"/></td><td class="ctr2" id="c0">0%</td><td class="bar" id="d0"/><td class="ctr2" id="e0">n/a</td><td class="ctr1" id="f0">1</td><td class="ctr2" id="g0">1</td><td class="ctr1" id="h0">1</td><td class="ctr2" id="i0">1</td><td class="ctr1" id="j0">1</td><td class="ctr2" id="k0">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.12.202403270442</span>Code Coverage Report for JaCoCo 0.8.12-SNAPSHOT</div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/trunk/coverage/org.jacoco.agent.rt/org.jacoco.agent.rt.internal/IExceptionLogger.java.html b/jacoco/trunk/coverage/org.jacoco.agent.rt/org.jacoco.agent.rt.internal/IExceptionLogger.java.html
    new file mode 100644
    index 00000000000..b28cfeb5cf6
    --- /dev/null
    +++ b/jacoco/trunk/coverage/org.jacoco.agent.rt/org.jacoco.agent.rt.internal/IExceptionLogger.java.html
    @@ -0,0 +1,39 @@
    +<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="en"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../../jacoco-resources/report.gif" type="image/gif"/><title>IExceptionLogger.java</title><link rel="stylesheet" href="../../jacoco-resources/prettify.css" type="text/css"/><script type="text/javascript" src="../../jacoco-resources/prettify.js"></script></head><body onload="window['PR_TAB_WIDTH']=4;prettyPrint()"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../../index.html" class="el_report">JaCoCo</a> &gt; <a href="../index.html" class="el_bundle">org.jacoco.agent.rt</a> &gt; <a href="index.source.html" class="el_package">org.jacoco.agent.rt.internal</a> &gt; <span class="el_source">IExceptionLogger.java</span></div><h1>IExceptionLogger.java</h1><pre class="source lang-java linenums">/*******************************************************************************
    + * Copyright (c) 2009, 2024 Mountainminds GmbH &amp; Co. KG and Contributors
    + * This program and the accompanying materials are made available under
    + * the terms of the Eclipse Public License 2.0 which is available at
    + * http://www.eclipse.org/legal/epl-2.0
    + *
    + * SPDX-License-Identifier: EPL-2.0
    + *
    + * Contributors:
    + *    Marc R. Hoffmann - initial API and implementation
    + *
    + *******************************************************************************/
    +package org.jacoco.agent.rt.internal;
    +
    +/**
    + * At several places exception might occur that should be reported. For
    + * testability these exceptions are emitted against this interface.
    + */
    +public interface IExceptionLogger {
    +
    +	/**
    +	 * Default implementation which dumps the stack trace to System.err.
    +	 */
    +<span class="nc" id="L24">	IExceptionLogger SYSTEM_ERR = new IExceptionLogger() {</span>
    +<span class="nc" id="L25">		public void logExeption(final Exception ex) {</span>
    +<span class="nc" id="L26">			ex.printStackTrace();</span>
    +<span class="nc" id="L27">		}</span>
    +	};
    +
    +	/**
    +	 * Logs the given exception.
    +	 *
    +	 * @param ex
    +	 *            exception to log
    +	 */
    +	void logExeption(Exception ex);
    +
    +}
    +</pre><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.12.202403270442</span>Code Coverage Report for JaCoCo 0.8.12-SNAPSHOT</div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/trunk/coverage/org.jacoco.agent.rt/org.jacoco.agent.rt.internal/JmxRegistration.html b/jacoco/trunk/coverage/org.jacoco.agent.rt/org.jacoco.agent.rt.internal/JmxRegistration.html
    new file mode 100644
    index 00000000000..00db105ee8b
    --- /dev/null
    +++ b/jacoco/trunk/coverage/org.jacoco.agent.rt/org.jacoco.agent.rt.internal/JmxRegistration.html
    @@ -0,0 +1 @@
    +<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="en"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../../jacoco-resources/report.gif" type="image/gif"/><title>JmxRegistration</title><script type="text/javascript" src="../../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../../index.html" class="el_report">JaCoCo</a> &gt; <a href="../index.html" class="el_bundle">org.jacoco.agent.rt</a> &gt; <a href="index.html" class="el_package">org.jacoco.agent.rt.internal</a> &gt; <span class="el_class">JmxRegistration</span></div><h1>JmxRegistration</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">0 of 30</td><td class="ctr2">100%</td><td class="bar">0 of 0</td><td class="ctr2">n/a</td><td class="ctr1">0</td><td class="ctr2">2</td><td class="ctr1">0</td><td class="ctr2">7</td><td class="ctr1">0</td><td class="ctr2">2</td></tr></tfoot><tbody><tr><td id="a1"><a href="JmxRegistration.java.html#L35" class="el_method">JmxRegistration(IAgent)</a></td><td class="bar" id="b0"><img src="../../jacoco-resources/greenbar.gif" width="120" height="10" title="23" alt="23"/></td><td class="ctr2" id="c0">100%</td><td class="bar" id="d0"/><td class="ctr2" id="e0">n/a</td><td class="ctr1" id="f0">0</td><td class="ctr2" id="g0">1</td><td class="ctr1" id="h0">0</td><td class="ctr2" id="i0">5</td><td class="ctr1" id="j0">0</td><td class="ctr2" id="k0">1</td></tr><tr><td id="a0"><a href="JmxRegistration.java.html#L45" class="el_method">call()</a></td><td class="bar" id="b1"><img src="../../jacoco-resources/greenbar.gif" width="36" height="10" title="7" alt="7"/></td><td class="ctr2" id="c1">100%</td><td class="bar" id="d1"/><td class="ctr2" id="e1">n/a</td><td class="ctr1" id="f1">0</td><td class="ctr2" id="g1">1</td><td class="ctr1" id="h1">0</td><td class="ctr2" id="i1">2</td><td class="ctr1" id="j1">0</td><td class="ctr2" id="k1">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.12.202403270442</span>Code Coverage Report for JaCoCo 0.8.12-SNAPSHOT</div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/trunk/coverage/org.jacoco.agent.rt/org.jacoco.agent.rt.internal/JmxRegistration.java.html b/jacoco/trunk/coverage/org.jacoco.agent.rt/org.jacoco.agent.rt.internal/JmxRegistration.java.html
    new file mode 100644
    index 00000000000..d6aefffc792
    --- /dev/null
    +++ b/jacoco/trunk/coverage/org.jacoco.agent.rt/org.jacoco.agent.rt.internal/JmxRegistration.java.html
    @@ -0,0 +1,50 @@
    +<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="en"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../../jacoco-resources/report.gif" type="image/gif"/><title>JmxRegistration.java</title><link rel="stylesheet" href="../../jacoco-resources/prettify.css" type="text/css"/><script type="text/javascript" src="../../jacoco-resources/prettify.js"></script></head><body onload="window['PR_TAB_WIDTH']=4;prettyPrint()"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../../index.html" class="el_report">JaCoCo</a> &gt; <a href="../index.html" class="el_bundle">org.jacoco.agent.rt</a> &gt; <a href="index.source.html" class="el_package">org.jacoco.agent.rt.internal</a> &gt; <span class="el_source">JmxRegistration.java</span></div><h1>JmxRegistration.java</h1><pre class="source lang-java linenums">/*******************************************************************************
    + * Copyright (c) 2009, 2024 Mountainminds GmbH &amp; Co. KG and Contributors
    + * This program and the accompanying materials are made available under
    + * the terms of the Eclipse Public License 2.0 which is available at
    + * http://www.eclipse.org/legal/epl-2.0
    + *
    + * SPDX-License-Identifier: EPL-2.0
    + *
    + * Contributors:
    + *    Marc R. Hoffmann - initial API and implementation
    + *
    + *******************************************************************************/
    +package org.jacoco.agent.rt.internal;
    +
    +import java.lang.management.ManagementFactory;
    +import java.util.concurrent.Callable;
    +
    +import javax.management.MBeanServer;
    +import javax.management.ObjectName;
    +import javax.management.StandardMBean;
    +
    +import org.jacoco.agent.rt.IAgent;
    +
    +/**
    + * Access to JMX APIs are encapsulated in this class to allow the JaCoCo runtime
    + * on platforms without JMX support (e.g Android).
    + */
    +class JmxRegistration implements Callable&lt;Void&gt; {
    +
    +	private static final String JMX_NAME = &quot;org.jacoco:type=Runtime&quot;;
    +
    +	private final MBeanServer server;
    +	private final ObjectName name;
    +
    +<span class="fc" id="L35">	JmxRegistration(final IAgent agent) throws Exception {</span>
    +<span class="fc" id="L36">		server = ManagementFactory.getPlatformMBeanServer();</span>
    +<span class="fc" id="L37">		name = new ObjectName(JMX_NAME);</span>
    +<span class="fc" id="L38">		server.registerMBean(new StandardMBean(agent, IAgent.class), name);</span>
    +<span class="fc" id="L39">	}</span>
    +
    +	/**
    +	 * De-register the agent again.
    +	 */
    +	public Void call() throws Exception {
    +<span class="fc" id="L45">		server.unregisterMBean(name);</span>
    +<span class="fc" id="L46">		return null;</span>
    +	}
    +
    +}
    +</pre><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.12.202403270442</span>Code Coverage Report for JaCoCo 0.8.12-SNAPSHOT</div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/trunk/coverage/org.jacoco.agent.rt/org.jacoco.agent.rt.internal/Offline.html b/jacoco/trunk/coverage/org.jacoco.agent.rt/org.jacoco.agent.rt.internal/Offline.html
    new file mode 100644
    index 00000000000..778ae69f189
    --- /dev/null
    +++ b/jacoco/trunk/coverage/org.jacoco.agent.rt/org.jacoco.agent.rt.internal/Offline.html
    @@ -0,0 +1 @@
    +<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="en"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../../jacoco-resources/report.gif" type="image/gif"/><title>Offline</title><script type="text/javascript" src="../../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../../index.html" class="el_report">JaCoCo</a> &gt; <a href="../index.html" class="el_bundle">org.jacoco.agent.rt</a> &gt; <a href="index.html" class="el_package">org.jacoco.agent.rt.internal</a> &gt; <span class="el_class">Offline</span></div><h1>Offline</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">31 of 31</td><td class="ctr2">0%</td><td class="bar">2 of 2</td><td class="ctr2">0%</td><td class="ctr1">3</td><td class="ctr2">3</td><td class="ctr1">8</td><td class="ctr2">8</td><td class="ctr1">2</td><td class="ctr2">2</td></tr></tfoot><tbody><tr><td id="a1"><a href="Offline.java.html#L35" class="el_method">getRuntimeData()</a></td><td class="bar" id="b0"><img src="../../jacoco-resources/redbar.gif" width="120" height="10" title="23" alt="23"/></td><td class="ctr2" id="c0">0%</td><td class="bar" id="d0"><img src="../../jacoco-resources/redbar.gif" width="120" height="10" title="2" alt="2"/></td><td class="ctr2" id="e0">0%</td><td class="ctr1" id="f0">2</td><td class="ctr2" id="g0">2</td><td class="ctr1" id="h0">7</td><td class="ctr2" id="i0">7</td><td class="ctr1" id="j0">1</td><td class="ctr2" id="k0">1</td></tr><tr><td id="a0"><a href="Offline.java.html#L60" class="el_method">getProbes(long, String, int)</a></td><td class="bar" id="b1"><img src="../../jacoco-resources/redbar.gif" width="41" height="10" title="8" alt="8"/></td><td class="ctr2" id="c1">0%</td><td class="bar" id="d1"/><td class="ctr2" id="e1">n/a</td><td class="ctr1" id="f1">1</td><td class="ctr2" id="g1">1</td><td class="ctr1" id="h1">1</td><td class="ctr2" id="i1">1</td><td class="ctr1" id="j1">1</td><td class="ctr2" id="k1">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.12.202403270442</span>Code Coverage Report for JaCoCo 0.8.12-SNAPSHOT</div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/trunk/coverage/org.jacoco.agent.rt/org.jacoco.agent.rt.internal/Offline.java.html b/jacoco/trunk/coverage/org.jacoco.agent.rt/org.jacoco.agent.rt.internal/Offline.java.html
    new file mode 100644
    index 00000000000..7d07d75ed7e
    --- /dev/null
    +++ b/jacoco/trunk/coverage/org.jacoco.agent.rt/org.jacoco.agent.rt.internal/Offline.java.html
    @@ -0,0 +1,66 @@
    +<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="en"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../../jacoco-resources/report.gif" type="image/gif"/><title>Offline.java</title><link rel="stylesheet" href="../../jacoco-resources/prettify.css" type="text/css"/><script type="text/javascript" src="../../jacoco-resources/prettify.js"></script></head><body onload="window['PR_TAB_WIDTH']=4;prettyPrint()"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../../index.html" class="el_report">JaCoCo</a> &gt; <a href="../index.html" class="el_bundle">org.jacoco.agent.rt</a> &gt; <a href="index.source.html" class="el_package">org.jacoco.agent.rt.internal</a> &gt; <span class="el_source">Offline.java</span></div><h1>Offline.java</h1><pre class="source lang-java linenums">/*******************************************************************************
    + * Copyright (c) 2009, 2024 Mountainminds GmbH &amp; Co. KG and Contributors
    + * This program and the accompanying materials are made available under
    + * the terms of the Eclipse Public License 2.0 which is available at
    + * http://www.eclipse.org/legal/epl-2.0
    + *
    + * SPDX-License-Identifier: EPL-2.0
    + *
    + * Contributors:
    + *    Marc R. Hoffmann - initial API and implementation
    + *
    + *******************************************************************************/
    +package org.jacoco.agent.rt.internal;
    +
    +import java.util.Properties;
    +
    +import org.jacoco.core.runtime.AgentOptions;
    +import org.jacoco.core.runtime.RuntimeData;
    +
    +/**
    + * The API for classes instrumented in &quot;offline&quot; mode. The agent configuration
    + * is provided through system properties prefixed with &lt;code&gt;jacoco.&lt;/code&gt;.
    + */
    +public final class Offline {
    +
    +	private static final String CONFIG_RESOURCE = &quot;/jacoco-agent.properties&quot;;
    +
    +	private Offline() {
    +		// no instances
    +	}
    +
    +	private static RuntimeData data;
    +
    +	private static synchronized RuntimeData getRuntimeData() {
    +<span class="nc bnc" id="L35" title="All 2 branches missed.">		if (data == null) {</span>
    +<span class="nc" id="L36">			final Properties config = ConfigLoader.load(CONFIG_RESOURCE,</span>
    +					System.getProperties());
    +			try {
    +<span class="nc" id="L39">				data = Agent.getInstance(new AgentOptions(config)).getData();</span>
    +<span class="nc" id="L40">			} catch (final Exception e) {</span>
    +<span class="nc" id="L41">				throw new RuntimeException(&quot;Failed to initialize JaCoCo.&quot;, e);</span>
    +<span class="nc" id="L42">			}</span>
    +		}
    +<span class="nc" id="L44">		return data;</span>
    +	}
    +
    +	/**
    +	 * API for offline instrumented classes.
    +	 *
    +	 * @param classid
    +	 *            class identifier
    +	 * @param classname
    +	 *            VM class name
    +	 * @param probecount
    +	 *            probe count for this class
    +	 * @return probe array instance for this class
    +	 */
    +	public static boolean[] getProbes(final long classid,
    +			final String classname, final int probecount) {
    +<span class="nc" id="L60">		return getRuntimeData()</span>
    +				.getExecutionData(Long.valueOf(classid), classname, probecount)
    +				.getProbes();
    +	}
    +
    +}
    +</pre><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.12.202403270442</span>Code Coverage Report for JaCoCo 0.8.12-SNAPSHOT</div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/trunk/coverage/org.jacoco.agent.rt/org.jacoco.agent.rt.internal/PreMain.html b/jacoco/trunk/coverage/org.jacoco.agent.rt/org.jacoco.agent.rt.internal/PreMain.html
    new file mode 100644
    index 00000000000..db7bdec11a8
    --- /dev/null
    +++ b/jacoco/trunk/coverage/org.jacoco.agent.rt/org.jacoco.agent.rt.internal/PreMain.html
    @@ -0,0 +1 @@
    +<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="en"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../../jacoco-resources/report.gif" type="image/gif"/><title>PreMain</title><script type="text/javascript" src="../../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../../index.html" class="el_report">JaCoCo</a> &gt; <a href="../index.html" class="el_bundle">org.jacoco.agent.rt</a> &gt; <a href="index.html" class="el_package">org.jacoco.agent.rt.internal</a> &gt; <span class="el_class">PreMain</span></div><h1>PreMain</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">67 of 67</td><td class="ctr2">0%</td><td class="bar">2 of 2</td><td class="ctr2">0%</td><td class="ctr1">3</td><td class="ctr2">3</td><td class="ctr1">12</td><td class="ctr2">12</td><td class="ctr1">2</td><td class="ctr2">2</td></tr></tfoot><tbody><tr><td id="a0"><a href="PreMain.java.html#L58" class="el_method">createRuntime(Instrumentation)</a></td><td class="bar" id="b0"><img src="../../jacoco-resources/redbar.gif" width="120" height="10" title="43" alt="43"/></td><td class="ctr2" id="c0">0%</td><td class="bar" id="d0"><img src="../../jacoco-resources/redbar.gif" width="120" height="10" title="2" alt="2"/></td><td class="ctr2" id="e0">0%</td><td class="ctr1" id="f0">2</td><td class="ctr2" id="g0">2</td><td class="ctr1" id="h0">6</td><td class="ctr2" id="i0">6</td><td class="ctr1" id="j0">1</td><td class="ctr2" id="k0">1</td></tr><tr><td id="a1"><a href="PreMain.java.html#L45" class="el_method">premain(String, Instrumentation)</a></td><td class="bar" id="b1"><img src="../../jacoco-resources/redbar.gif" width="66" height="10" title="24" alt="24"/></td><td class="ctr2" id="c1">0%</td><td class="bar" id="d1"/><td class="ctr2" id="e1">n/a</td><td class="ctr1" id="f1">1</td><td class="ctr2" id="g1">1</td><td class="ctr1" id="h1">6</td><td class="ctr2" id="i1">6</td><td class="ctr1" id="j1">1</td><td class="ctr2" id="k1">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.12.202403270442</span>Code Coverage Report for JaCoCo 0.8.12-SNAPSHOT</div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/trunk/coverage/org.jacoco.agent.rt/org.jacoco.agent.rt.internal/PreMain.java.html b/jacoco/trunk/coverage/org.jacoco.agent.rt/org.jacoco.agent.rt.internal/PreMain.java.html
    new file mode 100644
    index 00000000000..4ab7b9986f4
    --- /dev/null
    +++ b/jacoco/trunk/coverage/org.jacoco.agent.rt/org.jacoco.agent.rt.internal/PreMain.java.html
    @@ -0,0 +1,72 @@
    +<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="en"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../../jacoco-resources/report.gif" type="image/gif"/><title>PreMain.java</title><link rel="stylesheet" href="../../jacoco-resources/prettify.css" type="text/css"/><script type="text/javascript" src="../../jacoco-resources/prettify.js"></script></head><body onload="window['PR_TAB_WIDTH']=4;prettyPrint()"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../../index.html" class="el_report">JaCoCo</a> &gt; <a href="../index.html" class="el_bundle">org.jacoco.agent.rt</a> &gt; <a href="index.source.html" class="el_package">org.jacoco.agent.rt.internal</a> &gt; <span class="el_source">PreMain.java</span></div><h1>PreMain.java</h1><pre class="source lang-java linenums">/*******************************************************************************
    + * Copyright (c) 2009, 2024 Mountainminds GmbH &amp; Co. KG and Contributors
    + * This program and the accompanying materials are made available under
    + * the terms of the Eclipse Public License 2.0 which is available at
    + * http://www.eclipse.org/legal/epl-2.0
    + *
    + * SPDX-License-Identifier: EPL-2.0
    + *
    + * Contributors:
    + *    Marc R. Hoffmann - initial API and implementation
    + *
    + *******************************************************************************/
    +package org.jacoco.agent.rt.internal;
    +
    +import java.lang.instrument.Instrumentation;
    +
    +import org.jacoco.core.runtime.AgentOptions;
    +import org.jacoco.core.runtime.IRuntime;
    +import org.jacoco.core.runtime.InjectedClassRuntime;
    +import org.jacoco.core.runtime.ModifiedSystemClassRuntime;
    +
    +/**
    + * The agent which is referred as the &lt;code&gt;Premain-Class&lt;/code&gt;. The agent
    + * configuration is provided with the agent parameters in the command line.
    + */
    +public final class PreMain {
    +
    +	private PreMain() {
    +		// no instances
    +	}
    +
    +	/**
    +	 * This method is called by the JVM to initialize Java agents.
    +	 *
    +	 * @param options
    +	 *            agent options
    +	 * @param inst
    +	 *            instrumentation callback provided by the JVM
    +	 * @throws Exception
    +	 *             in case initialization fails
    +	 */
    +	public static void premain(final String options, final Instrumentation inst)
    +			throws Exception {
    +
    +<span class="nc" id="L45">		final AgentOptions agentOptions = new AgentOptions(options);</span>
    +
    +<span class="nc" id="L47">		final Agent agent = Agent.getInstance(agentOptions);</span>
    +
    +<span class="nc" id="L49">		final IRuntime runtime = createRuntime(inst);</span>
    +<span class="nc" id="L50">		runtime.startup(agent.getData());</span>
    +<span class="nc" id="L51">		inst.addTransformer(new CoverageTransformer(runtime, agentOptions,</span>
    +				IExceptionLogger.SYSTEM_ERR));
    +<span class="nc" id="L53">	}</span>
    +
    +	private static IRuntime createRuntime(final Instrumentation inst)
    +			throws Exception {
    +
    +<span class="nc bnc" id="L58" title="All 2 branches missed.">		if (AgentModule.isSupported()) {</span>
    +<span class="nc" id="L59">			final AgentModule module = new AgentModule();</span>
    +<span class="nc" id="L60">			module.openPackage(inst, Object.class);</span>
    +<span class="nc" id="L61">			final Class&lt;InjectedClassRuntime&gt; clazz = module</span>
    +					.loadClassInModule(InjectedClassRuntime.class);
    +<span class="nc" id="L63">			return clazz.getConstructor(Class.class, String.class)</span>
    +					.newInstance(Object.class, &quot;$JaCoCo&quot;);
    +		}
    +
    +<span class="nc" id="L67">		return ModifiedSystemClassRuntime.createFor(inst,</span>
    +				&quot;java/lang/UnknownError&quot;);
    +	}
    +
    +}
    +</pre><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.12.202403270442</span>Code Coverage Report for JaCoCo 0.8.12-SNAPSHOT</div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/trunk/coverage/org.jacoco.agent.rt/org.jacoco.agent.rt.internal/index.html b/jacoco/trunk/coverage/org.jacoco.agent.rt/org.jacoco.agent.rt.internal/index.html
    new file mode 100644
    index 00000000000..3fae4dd8624
    --- /dev/null
    +++ b/jacoco/trunk/coverage/org.jacoco.agent.rt/org.jacoco.agent.rt.internal/index.html
    @@ -0,0 +1 @@
    +<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="en"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../../jacoco-resources/report.gif" type="image/gif"/><title>org.jacoco.agent.rt.internal</title><script type="text/javascript" src="../../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb', 'coveragetable'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="index.source.html" class="el_source">Source Files</a><a href="../../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../../index.html" class="el_report">JaCoCo</a> &gt; <a href="../index.html" class="el_bundle">org.jacoco.agent.rt</a> &gt; <span class="el_package">org.jacoco.agent.rt.internal</span></div><h1>org.jacoco.agent.rt.internal</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td><td class="sortable ctr1" id="l" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="m" onclick="toggleSort(this)">Classes</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">277 of 975</td><td class="ctr2">71%</td><td class="bar">9 of 69</td><td class="ctr2">86%</td><td class="ctr1">18</td><td class="ctr2">83</td><td class="ctr1">54</td><td class="ctr2">219</td><td class="ctr1">13</td><td class="ctr2">47</td><td class="ctr1">5</td><td class="ctr2">13</td></tr></tfoot><tbody><tr><td id="a3"><a href="AgentModule.html" class="el_class">AgentModule</a></td><td class="bar" id="b0"><img src="../../jacoco-resources/redbar.gif" width="52" height="10" title="93" alt="93"/><img src="../../jacoco-resources/greenbar.gif" width="30" height="10" title="53" alt="53"/></td><td class="ctr2" id="c7">36%</td><td class="bar" id="d6"><img src="../../jacoco-resources/greenbar.gif" width="9" height="10" title="2" alt="2"/></td><td class="ctr2" id="e0">100%</td><td class="ctr1" id="f3">2</td><td class="ctr2" id="g3">7</td><td class="ctr1" id="h2">8</td><td class="ctr2" id="i3">20</td><td class="ctr1" id="j0">2</td><td class="ctr2" id="k1">6</td><td class="ctr1" id="l5">0</td><td class="ctr2" id="m0">1</td></tr><tr><td id="a12"><a href="PreMain.html" class="el_class">PreMain</a></td><td class="bar" id="b1"><img src="../../jacoco-resources/redbar.gif" width="38" height="10" title="67" alt="67"/></td><td class="ctr2" id="c8">0%</td><td class="bar" id="d1"><img src="../../jacoco-resources/redbar.gif" width="9" height="10" title="2" alt="2"/></td><td class="ctr2" id="e6">0%</td><td class="ctr1" id="f1">3</td><td class="ctr2" id="g5">3</td><td class="ctr1" id="h1">12</td><td class="ctr2" id="i5">12</td><td class="ctr1" id="j1">2</td><td class="ctr2" id="k4">2</td><td class="ctr1" id="l0">1</td><td class="ctr2" id="m1">1</td></tr><tr><td id="a0"><a href="Agent.html" class="el_class">Agent</a></td><td class="bar" id="b2"><img src="../../jacoco-resources/redbar.gif" width="24" height="10" title="43" alt="43"/><img src="../../jacoco-resources/greenbar.gif" width="95" height="10" title="168" alt="168"/></td><td class="ctr2" id="c6">79%</td><td class="bar" id="d0"><img src="../../jacoco-resources/redbar.gif" width="23" height="10" title="5" alt="5"/><img src="../../jacoco-resources/greenbar.gif" width="55" height="10" title="12" alt="12"/></td><td class="ctr2" id="e5">70%</td><td class="ctr1" id="f0">5</td><td class="ctr2" id="g0">24</td><td class="ctr1" id="h0">14</td><td class="ctr2" id="i0">64</td><td class="ctr1" id="j2">2</td><td class="ctr2" id="k0">14</td><td class="ctr1" id="l6">0</td><td class="ctr2" id="m2">1</td></tr><tr><td id="a11"><a href="Offline.html" class="el_class">Offline</a></td><td class="bar" id="b3"><img src="../../jacoco-resources/redbar.gif" width="17" height="10" title="31" alt="31"/></td><td class="ctr2" id="c9">0%</td><td class="bar" id="d2"><img src="../../jacoco-resources/redbar.gif" width="9" height="10" title="2" alt="2"/></td><td class="ctr2" id="e7">0%</td><td class="ctr1" id="f2">3</td><td class="ctr2" id="g6">3</td><td class="ctr1" id="h3">8</td><td class="ctr2" id="i7">8</td><td class="ctr1" id="j3">2</td><td class="ctr2" id="k5">2</td><td class="ctr1" id="l1">1</td><td class="ctr2" id="m3">1</td></tr><tr><td id="a2"><a href="Agent$1.html" class="el_class">Agent.new Thread() {...}</a></td><td class="bar" id="b4"><img src="../../jacoco-resources/redbar.gif" width="5" height="10" title="10" alt="10"/></td><td class="ctr2" id="c10">0%</td><td class="bar" id="d8"/><td class="ctr2" id="e8">n/a</td><td class="ctr1" id="f4">2</td><td class="ctr2" id="g8">2</td><td class="ctr1" id="h4">3</td><td class="ctr2" id="i9">3</td><td class="ctr1" id="j4">2</td><td class="ctr2" id="k6">2</td><td class="ctr1" id="l2">1</td><td class="ctr2" id="m4">1</td></tr><tr><td id="a7"><a href="CoverageTransformer.html" class="el_class">CoverageTransformer</a></td><td class="bar" id="b5"><img src="../../jacoco-resources/redbar.gif" width="3" height="10" title="6" alt="6"/><img src="../../jacoco-resources/greenbar.gif" width="92" height="10" title="162" alt="162"/></td><td class="ctr2" id="c2">96%</td><td class="bar" id="d3"><img src="../../jacoco-resources/greenbar.gif" width="120" height="10" title="26" alt="26"/></td><td class="ctr2" id="e1">100%</td><td class="ctr1" id="f7">0</td><td class="ctr2" id="g1">19</td><td class="ctr1" id="h8">1</td><td class="ctr2" id="i1">39</td><td class="ctr1" id="j7">0</td><td class="ctr2" id="k2">6</td><td class="ctr1" id="l7">0</td><td class="ctr2" id="m5">1</td></tr><tr><td id="a6"><a href="ConfigLoader.html" class="el_class">ConfigLoader</a></td><td class="bar" id="b6"><img src="../../jacoco-resources/redbar.gif" width="3" height="10" title="6" alt="6"/><img src="../../jacoco-resources/greenbar.gif" width="73" height="10" title="129" alt="129"/></td><td class="ctr2" id="c3">95%</td><td class="bar" id="d4"><img src="../../jacoco-resources/greenbar.gif" width="55" height="10" title="12" alt="12"/></td><td class="ctr2" id="e2">100%</td><td class="ctr1" id="f8">0</td><td class="ctr2" id="g2">11</td><td class="ctr1" id="h6">2</td><td class="ctr2" id="i2">34</td><td class="ctr1" id="j8">0</td><td class="ctr2" id="k3">5</td><td class="ctr1" id="l8">0</td><td class="ctr2" id="m6">1</td></tr><tr><td id="a4"><a href="AgentModule$1.html" class="el_class">AgentModule.new ClassLoader() {...}</a></td><td class="bar" id="b7"><img src="../../jacoco-resources/redbar.gif" width="3" height="10" title="6" alt="6"/><img src="../../jacoco-resources/greenbar.gif" width="25" height="10" title="45" alt="45"/></td><td class="ctr2" id="c4">88%</td><td class="bar" id="d7"><img src="../../jacoco-resources/greenbar.gif" width="9" height="10" title="2" alt="2"/></td><td class="ctr2" id="e3">100%</td><td class="ctr1" id="f9">0</td><td class="ctr2" id="g7">3</td><td class="ctr1" id="h7">2</td><td class="ctr2" id="i6">9</td><td class="ctr1" id="j9">0</td><td class="ctr2" id="k7">2</td><td class="ctr1" id="l9">0</td><td class="ctr2" id="m7">1</td></tr><tr><td id="a9"><a href="IExceptionLogger$1.html" class="el_class">IExceptionLogger.new IExceptionLogger() {...}</a></td><td class="bar" id="b8"><img src="../../jacoco-resources/redbar.gif" width="3" height="10" title="6" alt="6"/></td><td class="ctr2" id="c11">0%</td><td class="bar" id="d9"/><td class="ctr2" id="e9">n/a</td><td class="ctr1" id="f5">2</td><td class="ctr2" id="g9">2</td><td class="ctr1" id="h5">3</td><td class="ctr2" id="i10">3</td><td class="ctr1" id="j5">2</td><td class="ctr2" id="k8">2</td><td class="ctr1" id="l3">1</td><td class="ctr2" id="m8">1</td></tr><tr><td id="a8"><a href="IExceptionLogger.html" class="el_class">IExceptionLogger</a></td><td class="bar" id="b9"><img src="../../jacoco-resources/redbar.gif" width="2" height="10" title="5" alt="5"/></td><td class="ctr2" id="c12">0%</td><td class="bar" id="d10"/><td class="ctr2" id="e10">n/a</td><td class="ctr1" id="f6">1</td><td class="ctr2" id="g11">1</td><td class="ctr1" id="h9">1</td><td class="ctr2" id="i11">1</td><td class="ctr1" id="j6">1</td><td class="ctr2" id="k11">1</td><td class="ctr1" id="l4">1</td><td class="ctr2" id="m9">1</td></tr><tr><td id="a1"><a href="Agent$2.html" class="el_class">Agent.new Object() {...}</a></td><td class="bar" id="b10"><img src="../../jacoco-resources/redbar.gif" width="2" height="10" title="4" alt="4"/><img src="../../jacoco-resources/greenbar.gif" width="16" height="10" title="29" alt="29"/></td><td class="ctr2" id="c5">87%</td><td class="bar" id="d11"/><td class="ctr2" id="e11">n/a</td><td class="ctr1" id="f10">0</td><td class="ctr2" id="g12">1</td><td class="ctr1" id="h10">0</td><td class="ctr2" id="i12">1</td><td class="ctr1" id="j10">0</td><td class="ctr2" id="k12">1</td><td class="ctr1" id="l10">0</td><td class="ctr2" id="m10">1</td></tr><tr><td id="a5"><a href="ClassFileDumper.html" class="el_class">ClassFileDumper</a></td><td class="bar" id="b11"><img src="../../jacoco-resources/greenbar.gif" width="46" height="10" title="82" alt="82"/></td><td class="ctr2" id="c0">100%</td><td class="bar" id="d5"><img src="../../jacoco-resources/greenbar.gif" width="27" height="10" title="6" alt="6"/></td><td class="ctr2" id="e4">100%</td><td class="ctr1" id="f11">0</td><td class="ctr2" id="g4">5</td><td class="ctr1" id="h11">0</td><td class="ctr2" id="i4">19</td><td class="ctr1" id="j11">0</td><td class="ctr2" id="k9">2</td><td class="ctr1" id="l11">0</td><td class="ctr2" id="m11">1</td></tr><tr><td id="a10"><a href="JmxRegistration.html" class="el_class">JmxRegistration</a></td><td class="bar" id="b12"><img src="../../jacoco-resources/greenbar.gif" width="17" height="10" title="30" alt="30"/></td><td class="ctr2" id="c1">100%</td><td class="bar" id="d12"/><td class="ctr2" id="e12">n/a</td><td class="ctr1" id="f12">0</td><td class="ctr2" id="g10">2</td><td class="ctr1" id="h12">0</td><td class="ctr2" id="i8">7</td><td class="ctr1" id="j12">0</td><td class="ctr2" id="k10">2</td><td class="ctr1" id="l12">0</td><td class="ctr2" id="m12">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.12.202403270442</span>Code Coverage Report for JaCoCo 0.8.12-SNAPSHOT</div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/trunk/coverage/org.jacoco.agent.rt/org.jacoco.agent.rt.internal/index.source.html b/jacoco/trunk/coverage/org.jacoco.agent.rt/org.jacoco.agent.rt.internal/index.source.html
    new file mode 100644
    index 00000000000..474e2658913
    --- /dev/null
    +++ b/jacoco/trunk/coverage/org.jacoco.agent.rt/org.jacoco.agent.rt.internal/index.source.html
    @@ -0,0 +1 @@
    +<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="en"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../../jacoco-resources/report.gif" type="image/gif"/><title>org.jacoco.agent.rt.internal</title><script type="text/javascript" src="../../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb', 'coveragetable'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="index.html" class="el_class">Classes</a><a href="../../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../../index.html" class="el_report">JaCoCo</a> &gt; <a href="../index.html" class="el_bundle">org.jacoco.agent.rt</a> &gt; <span class="el_package">org.jacoco.agent.rt.internal</span></div><h1>org.jacoco.agent.rt.internal</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td><td class="sortable ctr1" id="l" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="m" onclick="toggleSort(this)">Classes</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">277 of 975</td><td class="ctr2">71%</td><td class="bar">9 of 69</td><td class="ctr2">86%</td><td class="ctr1">18</td><td class="ctr2">83</td><td class="ctr1">54</td><td class="ctr2">219</td><td class="ctr1">13</td><td class="ctr2">47</td><td class="ctr1">5</td><td class="ctr2">13</td></tr></tfoot><tbody><tr><td id="a1"><a href="AgentModule.java.html" class="el_source">AgentModule.java</a></td><td class="bar" id="b0"><img src="../../jacoco-resources/redbar.gif" width="46" height="10" title="99" alt="99"/><img src="../../jacoco-resources/greenbar.gif" width="46" height="10" title="98" alt="98"/></td><td class="ctr2" id="c5">49%</td><td class="bar" id="d6"><img src="../../jacoco-resources/greenbar.gif" width="18" height="10" title="4" alt="4"/></td><td class="ctr2" id="e0">100%</td><td class="ctr1" id="f4">2</td><td class="ctr2" id="g3">10</td><td class="ctr1" id="h2">10</td><td class="ctr2" id="i3">29</td><td class="ctr1" id="j2">2</td><td class="ctr2" id="k1">8</td><td class="ctr1" id="l4">0</td><td class="ctr2" id="m1">2</td></tr><tr><td id="a8"><a href="PreMain.java.html" class="el_source">PreMain.java</a></td><td class="bar" id="b1"><img src="../../jacoco-resources/redbar.gif" width="31" height="10" title="67" alt="67"/></td><td class="ctr2" id="c6">0%</td><td class="bar" id="d1"><img src="../../jacoco-resources/redbar.gif" width="9" height="10" title="2" alt="2"/></td><td class="ctr2" id="e5">0%</td><td class="ctr1" id="f1">3</td><td class="ctr2" id="g5">3</td><td class="ctr1" id="h1">12</td><td class="ctr2" id="i5">12</td><td class="ctr1" id="j3">2</td><td class="ctr2" id="k5">2</td><td class="ctr1" id="l1">1</td><td class="ctr2" id="m3">1</td></tr><tr><td id="a0"><a href="Agent.java.html" class="el_source">Agent.java</a></td><td class="bar" id="b2"><img src="../../jacoco-resources/redbar.gif" width="26" height="10" title="57" alt="57"/><img src="../../jacoco-resources/greenbar.gif" width="93" height="10" title="197" alt="197"/></td><td class="ctr2" id="c4">77%</td><td class="bar" id="d0"><img src="../../jacoco-resources/redbar.gif" width="23" height="10" title="5" alt="5"/><img src="../../jacoco-resources/greenbar.gif" width="55" height="10" title="12" alt="12"/></td><td class="ctr2" id="e4">70%</td><td class="ctr1" id="f0">7</td><td class="ctr2" id="g0">27</td><td class="ctr1" id="h0">17</td><td class="ctr2" id="i0">67</td><td class="ctr1" id="j0">4</td><td class="ctr2" id="k0">17</td><td class="ctr1" id="l2">1</td><td class="ctr2" id="m0">3</td></tr><tr><td id="a7"><a href="Offline.java.html" class="el_source">Offline.java</a></td><td class="bar" id="b3"><img src="../../jacoco-resources/redbar.gif" width="14" height="10" title="31" alt="31"/></td><td class="ctr2" id="c7">0%</td><td class="bar" id="d2"><img src="../../jacoco-resources/redbar.gif" width="9" height="10" title="2" alt="2"/></td><td class="ctr2" id="e6">0%</td><td class="ctr1" id="f2">3</td><td class="ctr2" id="g6">3</td><td class="ctr1" id="h3">8</td><td class="ctr2" id="i6">8</td><td class="ctr1" id="j4">2</td><td class="ctr2" id="k6">2</td><td class="ctr1" id="l3">1</td><td class="ctr2" id="m4">1</td></tr><tr><td id="a5"><a href="IExceptionLogger.java.html" class="el_source">IExceptionLogger.java</a></td><td class="bar" id="b4"><img src="../../jacoco-resources/redbar.gif" width="5" height="10" title="11" alt="11"/></td><td class="ctr2" id="c8">0%</td><td class="bar" id="d7"/><td class="ctr2" id="e7">n/a</td><td class="ctr1" id="f3">3</td><td class="ctr2" id="g7">3</td><td class="ctr1" id="h4">4</td><td class="ctr2" id="i8">4</td><td class="ctr1" id="j1">3</td><td class="ctr2" id="k4">3</td><td class="ctr1" id="l0">2</td><td class="ctr2" id="m2">2</td></tr><tr><td id="a4"><a href="CoverageTransformer.java.html" class="el_source">CoverageTransformer.java</a></td><td class="bar" id="b5"><img src="../../jacoco-resources/redbar.gif" width="2" height="10" title="6" alt="6"/><img src="../../jacoco-resources/greenbar.gif" width="76" height="10" title="162" alt="162"/></td><td class="ctr2" id="c2">96%</td><td class="bar" id="d3"><img src="../../jacoco-resources/greenbar.gif" width="120" height="10" title="26" alt="26"/></td><td class="ctr2" id="e1">100%</td><td class="ctr1" id="f5">0</td><td class="ctr2" id="g1">19</td><td class="ctr1" id="h6">1</td><td class="ctr2" id="i1">39</td><td class="ctr1" id="j5">0</td><td class="ctr2" id="k2">6</td><td class="ctr1" id="l5">0</td><td class="ctr2" id="m5">1</td></tr><tr><td id="a3"><a href="ConfigLoader.java.html" class="el_source">ConfigLoader.java</a></td><td class="bar" id="b6"><img src="../../jacoco-resources/redbar.gif" width="2" height="10" title="6" alt="6"/><img src="../../jacoco-resources/greenbar.gif" width="60" height="10" title="129" alt="129"/></td><td class="ctr2" id="c3">95%</td><td class="bar" id="d4"><img src="../../jacoco-resources/greenbar.gif" width="55" height="10" title="12" alt="12"/></td><td class="ctr2" id="e2">100%</td><td class="ctr1" id="f6">0</td><td class="ctr2" id="g2">11</td><td class="ctr1" id="h5">2</td><td class="ctr2" id="i2">34</td><td class="ctr1" id="j6">0</td><td class="ctr2" id="k3">5</td><td class="ctr1" id="l6">0</td><td class="ctr2" id="m6">1</td></tr><tr><td id="a2"><a href="ClassFileDumper.java.html" class="el_source">ClassFileDumper.java</a></td><td class="bar" id="b7"><img src="../../jacoco-resources/greenbar.gif" width="38" height="10" title="82" alt="82"/></td><td class="ctr2" id="c0">100%</td><td class="bar" id="d5"><img src="../../jacoco-resources/greenbar.gif" width="27" height="10" title="6" alt="6"/></td><td class="ctr2" id="e3">100%</td><td class="ctr1" id="f7">0</td><td class="ctr2" id="g4">5</td><td class="ctr1" id="h7">0</td><td class="ctr2" id="i4">19</td><td class="ctr1" id="j7">0</td><td class="ctr2" id="k7">2</td><td class="ctr1" id="l7">0</td><td class="ctr2" id="m7">1</td></tr><tr><td id="a6"><a href="JmxRegistration.java.html" class="el_source">JmxRegistration.java</a></td><td class="bar" id="b8"><img src="../../jacoco-resources/greenbar.gif" width="14" height="10" title="30" alt="30"/></td><td class="ctr2" id="c1">100%</td><td class="bar" id="d8"/><td class="ctr2" id="e8">n/a</td><td class="ctr1" id="f8">0</td><td class="ctr2" id="g8">2</td><td class="ctr1" id="h8">0</td><td class="ctr2" id="i7">7</td><td class="ctr1" id="j8">0</td><td class="ctr2" id="k8">2</td><td class="ctr1" id="l8">0</td><td class="ctr2" id="m8">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.12.202403270442</span>Code Coverage Report for JaCoCo 0.8.12-SNAPSHOT</div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/trunk/coverage/org.jacoco.agent.rt/org.jacoco.agent.rt/RT.html b/jacoco/trunk/coverage/org.jacoco.agent.rt/org.jacoco.agent.rt/RT.html
    new file mode 100644
    index 00000000000..bee07fe43d2
    --- /dev/null
    +++ b/jacoco/trunk/coverage/org.jacoco.agent.rt/org.jacoco.agent.rt/RT.html
    @@ -0,0 +1 @@
    +<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="en"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../../jacoco-resources/report.gif" type="image/gif"/><title>RT</title><script type="text/javascript" src="../../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../../index.html" class="el_report">JaCoCo</a> &gt; <a href="../index.html" class="el_bundle">org.jacoco.agent.rt</a> &gt; <a href="index.html" class="el_package">org.jacoco.agent.rt</a> &gt; <span class="el_class">RT</span></div><h1>RT</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">2 of 2</td><td class="ctr2">0%</td><td class="bar">0 of 0</td><td class="ctr2">n/a</td><td class="ctr1">1</td><td class="ctr2">1</td><td class="ctr1">1</td><td class="ctr2">1</td><td class="ctr1">1</td><td class="ctr2">1</td></tr></tfoot><tbody><tr><td id="a0"><a href="RT.java.html#L33" class="el_method">getAgent()</a></td><td class="bar" id="b0"><img src="../../jacoco-resources/redbar.gif" width="120" height="10" title="2" alt="2"/></td><td class="ctr2" id="c0">0%</td><td class="bar" id="d0"/><td class="ctr2" id="e0">n/a</td><td class="ctr1" id="f0">1</td><td class="ctr2" id="g0">1</td><td class="ctr1" id="h0">1</td><td class="ctr2" id="i0">1</td><td class="ctr1" id="j0">1</td><td class="ctr2" id="k0">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.12.202403270442</span>Code Coverage Report for JaCoCo 0.8.12-SNAPSHOT</div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/trunk/coverage/org.jacoco.agent.rt/org.jacoco.agent.rt/RT.java.html b/jacoco/trunk/coverage/org.jacoco.agent.rt/org.jacoco.agent.rt/RT.java.html
    new file mode 100644
    index 00000000000..f3778e9dc1b
    --- /dev/null
    +++ b/jacoco/trunk/coverage/org.jacoco.agent.rt/org.jacoco.agent.rt/RT.java.html
    @@ -0,0 +1,37 @@
    +<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="en"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../../jacoco-resources/report.gif" type="image/gif"/><title>RT.java</title><link rel="stylesheet" href="../../jacoco-resources/prettify.css" type="text/css"/><script type="text/javascript" src="../../jacoco-resources/prettify.js"></script></head><body onload="window['PR_TAB_WIDTH']=4;prettyPrint()"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../../index.html" class="el_report">JaCoCo</a> &gt; <a href="../index.html" class="el_bundle">org.jacoco.agent.rt</a> &gt; <a href="index.source.html" class="el_package">org.jacoco.agent.rt</a> &gt; <span class="el_source">RT.java</span></div><h1>RT.java</h1><pre class="source lang-java linenums">/*******************************************************************************
    + * Copyright (c) 2009, 2024 Mountainminds GmbH &amp; Co. KG and Contributors
    + * This program and the accompanying materials are made available under
    + * the terms of the Eclipse Public License 2.0 which is available at
    + * http://www.eclipse.org/legal/epl-2.0
    + *
    + * SPDX-License-Identifier: EPL-2.0
    + *
    + * Contributors:
    + *    Marc R. Hoffmann - initial API and implementation
    + *
    + *******************************************************************************/
    +package org.jacoco.agent.rt;
    +
    +import org.jacoco.agent.rt.internal.Agent;
    +
    +/**
    + * Entry point to access the JaCoCo agent runtime.
    + */
    +public final class RT {
    +
    +	private RT() {
    +	}
    +
    +	/**
    +	 * Returns the agent instance of the JaCoCo runtime in this JVM.
    +	 *
    +	 * @return agent instance
    +	 * @throws IllegalStateException
    +	 *             if no Agent has been started yet
    +	 */
    +	public static IAgent getAgent() throws IllegalStateException {
    +<span class="nc" id="L33">		return Agent.getInstance();</span>
    +	}
    +
    +}
    +</pre><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.12.202403270442</span>Code Coverage Report for JaCoCo 0.8.12-SNAPSHOT</div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/trunk/coverage/org.jacoco.agent.rt/org.jacoco.agent.rt/index.html b/jacoco/trunk/coverage/org.jacoco.agent.rt/org.jacoco.agent.rt/index.html
    new file mode 100644
    index 00000000000..0691a065af9
    --- /dev/null
    +++ b/jacoco/trunk/coverage/org.jacoco.agent.rt/org.jacoco.agent.rt/index.html
    @@ -0,0 +1 @@
    +<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="en"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../../jacoco-resources/report.gif" type="image/gif"/><title>org.jacoco.agent.rt</title><script type="text/javascript" src="../../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb', 'coveragetable'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="index.source.html" class="el_source">Source Files</a><a href="../../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../../index.html" class="el_report">JaCoCo</a> &gt; <a href="../index.html" class="el_bundle">org.jacoco.agent.rt</a> &gt; <span class="el_package">org.jacoco.agent.rt</span></div><h1>org.jacoco.agent.rt</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td><td class="sortable ctr1" id="l" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="m" onclick="toggleSort(this)">Classes</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">2 of 2</td><td class="ctr2">0%</td><td class="bar">0 of 0</td><td class="ctr2">n/a</td><td class="ctr1">1</td><td class="ctr2">1</td><td class="ctr1">1</td><td class="ctr2">1</td><td class="ctr1">1</td><td class="ctr2">1</td><td class="ctr1">1</td><td class="ctr2">1</td></tr></tfoot><tbody><tr><td id="a0"><a href="RT.html" class="el_class">RT</a></td><td class="bar" id="b0"><img src="../../jacoco-resources/redbar.gif" width="120" height="10" title="2" alt="2"/></td><td class="ctr2" id="c0">0%</td><td class="bar" id="d0"/><td class="ctr2" id="e0">n/a</td><td class="ctr1" id="f0">1</td><td class="ctr2" id="g0">1</td><td class="ctr1" id="h0">1</td><td class="ctr2" id="i0">1</td><td class="ctr1" id="j0">1</td><td class="ctr2" id="k0">1</td><td class="ctr1" id="l0">1</td><td class="ctr2" id="m0">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.12.202403270442</span>Code Coverage Report for JaCoCo 0.8.12-SNAPSHOT</div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/trunk/coverage/org.jacoco.agent.rt/org.jacoco.agent.rt/index.source.html b/jacoco/trunk/coverage/org.jacoco.agent.rt/org.jacoco.agent.rt/index.source.html
    new file mode 100644
    index 00000000000..f4f6a118643
    --- /dev/null
    +++ b/jacoco/trunk/coverage/org.jacoco.agent.rt/org.jacoco.agent.rt/index.source.html
    @@ -0,0 +1 @@
    +<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="en"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../../jacoco-resources/report.gif" type="image/gif"/><title>org.jacoco.agent.rt</title><script type="text/javascript" src="../../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb', 'coveragetable'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="index.html" class="el_class">Classes</a><a href="../../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../../index.html" class="el_report">JaCoCo</a> &gt; <a href="../index.html" class="el_bundle">org.jacoco.agent.rt</a> &gt; <span class="el_package">org.jacoco.agent.rt</span></div><h1>org.jacoco.agent.rt</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td><td class="sortable ctr1" id="l" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="m" onclick="toggleSort(this)">Classes</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">2 of 2</td><td class="ctr2">0%</td><td class="bar">0 of 0</td><td class="ctr2">n/a</td><td class="ctr1">1</td><td class="ctr2">1</td><td class="ctr1">1</td><td class="ctr2">1</td><td class="ctr1">1</td><td class="ctr2">1</td><td class="ctr1">1</td><td class="ctr2">1</td></tr></tfoot><tbody><tr><td id="a0"><a href="RT.java.html" class="el_source">RT.java</a></td><td class="bar" id="b0"><img src="../../jacoco-resources/redbar.gif" width="120" height="10" title="2" alt="2"/></td><td class="ctr2" id="c0">0%</td><td class="bar" id="d0"/><td class="ctr2" id="e0">n/a</td><td class="ctr1" id="f0">1</td><td class="ctr2" id="g0">1</td><td class="ctr1" id="h0">1</td><td class="ctr2" id="i0">1</td><td class="ctr1" id="j0">1</td><td class="ctr2" id="k0">1</td><td class="ctr1" id="l0">1</td><td class="ctr2" id="m0">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.12.202403270442</span>Code Coverage Report for JaCoCo 0.8.12-SNAPSHOT</div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/trunk/coverage/org.jacoco.agent/index.html b/jacoco/trunk/coverage/org.jacoco.agent/index.html
    new file mode 100644
    index 00000000000..d15b56feb3e
    --- /dev/null
    +++ b/jacoco/trunk/coverage/org.jacoco.agent/index.html
    @@ -0,0 +1 @@
    +<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="en"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>org.jacoco.agent</title><script type="text/javascript" src="../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb', 'coveragetable'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">JaCoCo</a> &gt; <span class="el_bundle">org.jacoco.agent</span></div><h1>org.jacoco.agent</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td><td class="sortable ctr1" id="l" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="m" onclick="toggleSort(this)">Classes</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">11 of 83</td><td class="ctr2">86%</td><td class="bar">2 of 8</td><td class="ctr2">75%</td><td class="ctr1">2</td><td class="ctr2">10</td><td class="ctr1">3</td><td class="ctr2">27</td><td class="ctr1">0</td><td class="ctr2">6</td><td class="ctr1">0</td><td class="ctr2">1</td></tr></tfoot><tbody><tr><td id="a0"><a href="org.jacoco.agent/index.html" class="el_package">org.jacoco.agent</a></td><td class="bar" id="b0"><img src="../jacoco-resources/redbar.gif" width="15" height="10" title="11" alt="11"/><img src="../jacoco-resources/greenbar.gif" width="104" height="10" title="72" alt="72"/></td><td class="ctr2" id="c0">86%</td><td class="bar" id="d0"><img src="../jacoco-resources/redbar.gif" width="30" height="10" title="2" alt="2"/><img src="../jacoco-resources/greenbar.gif" width="90" height="10" title="6" alt="6"/></td><td class="ctr2" id="e0">75%</td><td class="ctr1" id="f0">2</td><td class="ctr2" id="g0">10</td><td class="ctr1" id="h0">3</td><td class="ctr2" id="i0">27</td><td class="ctr1" id="j0">0</td><td class="ctr2" id="k0">6</td><td class="ctr1" id="l0">0</td><td class="ctr2" id="m0">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.12.202403270442</span>Code Coverage Report for JaCoCo 0.8.12-SNAPSHOT</div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/trunk/coverage/org.jacoco.agent/org.jacoco.agent/AgentJar.html b/jacoco/trunk/coverage/org.jacoco.agent/org.jacoco.agent/AgentJar.html
    new file mode 100644
    index 00000000000..7ff2f2f09c2
    --- /dev/null
    +++ b/jacoco/trunk/coverage/org.jacoco.agent/org.jacoco.agent/AgentJar.html
    @@ -0,0 +1 @@
    +<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="en"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../../jacoco-resources/report.gif" type="image/gif"/><title>AgentJar</title><script type="text/javascript" src="../../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../../index.html" class="el_report">JaCoCo</a> &gt; <a href="../index.html" class="el_bundle">org.jacoco.agent</a> &gt; <a href="index.html" class="el_package">org.jacoco.agent</a> &gt; <span class="el_class">AgentJar</span></div><h1>AgentJar</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">11 of 83</td><td class="ctr2">86%</td><td class="bar">2 of 8</td><td class="ctr2">75%</td><td class="ctr1">2</td><td class="ctr2">10</td><td class="ctr1">3</td><td class="ctr2">27</td><td class="ctr1">0</td><td class="ctr2">6</td></tr></tfoot><tbody><tr><td id="a2"><a href="AgentJar.java.html#L45" class="el_method">getResource()</a></td><td class="bar" id="b0"><img src="../../jacoco-resources/redbar.gif" width="20" height="10" title="5" alt="5"/><img src="../../jacoco-resources/greenbar.gif" width="32" height="10" title="8" alt="8"/></td><td class="ctr2" id="c4">61%</td><td class="bar" id="d0"><img src="../../jacoco-resources/redbar.gif" width="60" height="10" title="1" alt="1"/><img src="../../jacoco-resources/greenbar.gif" width="60" height="10" title="1" alt="1"/></td><td class="ctr2" id="e2">50%</td><td class="ctr1" id="f0">1</td><td class="ctr2" id="g0">2</td><td class="ctr1" id="h0">1</td><td class="ctr2" id="i2">4</td><td class="ctr1" id="j0">0</td><td class="ctr2" id="k0">1</td></tr><tr><td id="a3"><a href="AgentJar.java.html#L58" class="el_method">getResourceAsStream()</a></td><td class="bar" id="b1"><img src="../../jacoco-resources/redbar.gif" width="20" height="10" title="5" alt="5"/><img src="../../jacoco-resources/greenbar.gif" width="32" height="10" title="8" alt="8"/></td><td class="ctr2" id="c5">61%</td><td class="bar" id="d1"><img src="../../jacoco-resources/redbar.gif" width="60" height="10" title="1" alt="1"/><img src="../../jacoco-resources/greenbar.gif" width="60" height="10" title="1" alt="1"/></td><td class="ctr2" id="e3">50%</td><td class="ctr1" id="f1">1</td><td class="ctr2" id="g1">2</td><td class="ctr1" id="h1">1</td><td class="ctr2" id="i3">4</td><td class="ctr1" id="j1">0</td><td class="ctr2" id="k1">1</td></tr><tr><td id="a4"><a href="AgentJar.java.html#L119" class="el_method">safeClose(Closeable)</a></td><td class="bar" id="b2"><img src="../../jacoco-resources/redbar.gif" width="4" height="10" title="1" alt="1"/><img src="../../jacoco-resources/greenbar.gif" width="24" height="10" title="6" alt="6"/></td><td class="ctr2" id="c3">85%</td><td class="bar" id="d2"><img src="../../jacoco-resources/greenbar.gif" width="120" height="10" title="2" alt="2"/></td><td class="ctr2" id="e0">100%</td><td class="ctr1" id="f2">0</td><td class="ctr2" id="g2">2</td><td class="ctr1" id="h2">1</td><td class="ctr2" id="i1">5</td><td class="ctr1" id="j2">0</td><td class="ctr2" id="k2">1</td></tr><tr><td id="a0"><a href="AgentJar.java.html#L92" class="el_method">extractTo(File)</a></td><td class="bar" id="b3"><img src="../../jacoco-resources/greenbar.gif" width="120" height="10" title="30" alt="30"/></td><td class="ctr2" id="c0">100%</td><td class="bar" id="d3"><img src="../../jacoco-resources/greenbar.gif" width="120" height="10" title="2" alt="2"/></td><td class="ctr2" id="e1">100%</td><td class="ctr1" id="f3">0</td><td class="ctr2" id="g3">2</td><td class="ctr1" id="h3">0</td><td class="ctr2" id="i0">9</td><td class="ctr1" id="j3">0</td><td class="ctr2" id="k3">1</td></tr><tr><td id="a1"><a href="AgentJar.java.html#L75" class="el_method">extractToTempLocation()</a></td><td class="bar" id="b4"><img src="../../jacoco-resources/greenbar.gif" width="40" height="10" title="10" alt="10"/></td><td class="ctr2" id="c1">100%</td><td class="bar" id="d4"/><td class="ctr2" id="e4">n/a</td><td class="ctr1" id="f4">0</td><td class="ctr2" id="g4">1</td><td class="ctr1" id="h4">0</td><td class="ctr2" id="i4">4</td><td class="ctr1" id="j4">0</td><td class="ctr2" id="k4">1</td></tr><tr><td id="a5"><a href="AgentJar.java.html#L126" class="el_method">static {...}</a></td><td class="bar" id="b5"><img src="../../jacoco-resources/greenbar.gif" width="40" height="10" title="10" alt="10"/></td><td class="ctr2" id="c2">100%</td><td class="bar" id="d5"/><td class="ctr2" id="e5">n/a</td><td class="ctr1" id="f5">0</td><td class="ctr2" id="g5">1</td><td class="ctr1" id="h5">0</td><td class="ctr2" id="i5">1</td><td class="ctr1" id="j5">0</td><td class="ctr2" id="k5">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.12.202403270442</span>Code Coverage Report for JaCoCo 0.8.12-SNAPSHOT</div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/trunk/coverage/org.jacoco.agent/org.jacoco.agent/AgentJar.java.html b/jacoco/trunk/coverage/org.jacoco.agent/org.jacoco.agent/AgentJar.java.html
    new file mode 100644
    index 00000000000..af0f5fbdda3
    --- /dev/null
    +++ b/jacoco/trunk/coverage/org.jacoco.agent/org.jacoco.agent/AgentJar.java.html
    @@ -0,0 +1,131 @@
    +<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="en"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../../jacoco-resources/report.gif" type="image/gif"/><title>AgentJar.java</title><link rel="stylesheet" href="../../jacoco-resources/prettify.css" type="text/css"/><script type="text/javascript" src="../../jacoco-resources/prettify.js"></script></head><body onload="window['PR_TAB_WIDTH']=4;prettyPrint()"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../../index.html" class="el_report">JaCoCo</a> &gt; <a href="../index.html" class="el_bundle">org.jacoco.agent</a> &gt; <a href="index.source.html" class="el_package">org.jacoco.agent</a> &gt; <span class="el_source">AgentJar.java</span></div><h1>AgentJar.java</h1><pre class="source lang-java linenums">/*******************************************************************************
    + * Copyright (c) 2009, 2024 Mountainminds GmbH &amp; Co. KG and Contributors
    + * This program and the accompanying materials are made available under
    + * the terms of the Eclipse Public License 2.0 which is available at
    + * http://www.eclipse.org/legal/epl-2.0
    + *
    + * SPDX-License-Identifier: EPL-2.0
    + *
    + * Contributors:
    + *    Marc R. Hoffmann - initial API and implementation
    + *
    + *******************************************************************************/
    +package org.jacoco.agent;
    +
    +import java.io.Closeable;
    +import java.io.File;
    +import java.io.FileOutputStream;
    +import java.io.IOException;
    +import java.io.InputStream;
    +import java.io.OutputStream;
    +import java.net.URL;
    +
    +/**
    + * API to access the agent JAR file as a resource. While the agent is a JAR file
    + * it is considered as a plain resource that must be configured for the
    + * application under test (target JVM). The agent JAR does not provide any
    + * public Java API.
    + */
    +public final class AgentJar {
    +
    +	/**
    +	 * Name of the agent JAR file resource within this bundle.
    +	 */
    +	private static final String RESOURCE = &quot;/jacocoagent.jar&quot;;
    +
    +	private AgentJar() {
    +	}
    +
    +	/**
    +	 * Returns a URL pointing to the JAR file.
    +	 *
    +	 * @return URL of the JAR file
    +	 */
    +	public static URL getResource() {
    +<span class="fc" id="L45">		final URL url = AgentJar.class.getResource(RESOURCE);</span>
    +<span class="pc bpc" id="L46" title="1 of 2 branches missed.">		if (url == null) {</span>
    +<span class="nc" id="L47">			throw new AssertionError(ERRORMSG);</span>
    +		}
    +<span class="fc" id="L49">		return url;</span>
    +	}
    +
    +	/**
    +	 * Returns the content of the JAR file as a stream.
    +	 *
    +	 * @return content of the JAR file
    +	 */
    +	public static InputStream getResourceAsStream() {
    +<span class="fc" id="L58">		final InputStream stream = AgentJar.class.getResourceAsStream(RESOURCE);</span>
    +<span class="pc bpc" id="L59" title="1 of 2 branches missed.">		if (stream == null) {</span>
    +<span class="nc" id="L60">			throw new AssertionError(ERRORMSG);</span>
    +		}
    +<span class="fc" id="L62">		return stream;</span>
    +	}
    +
    +	/**
    +	 * Extract the JaCoCo agent JAR and put it into a temporary location. This
    +	 * file should be deleted on exit, but may not if the VM is terminated
    +	 *
    +	 * @return Location of the Agent Jar file in the local file system. The file
    +	 *         should exist and be readable.
    +	 * @throws IOException
    +	 *             Unable to unpack agent jar
    +	 */
    +	public static File extractToTempLocation() throws IOException {
    +<span class="fc" id="L75">		final File agentJar = File.createTempFile(&quot;jacocoagent&quot;, &quot;.jar&quot;);</span>
    +<span class="fc" id="L76">		agentJar.deleteOnExit();</span>
    +
    +<span class="fc" id="L78">		extractTo(agentJar);</span>
    +
    +<span class="fc" id="L80">		return agentJar;</span>
    +	}
    +
    +	/**
    +	 * Extract the JaCoCo agent JAR and put it into the specified location.
    +	 *
    +	 * @param destination
    +	 *            Location to write JaCoCo Agent Jar to. Must be writeable
    +	 * @throws IOException
    +	 *             Unable to unpack agent jar
    +	 */
    +	public static void extractTo(File destination) throws IOException {
    +<span class="fc" id="L92">		InputStream inputJarStream = getResourceAsStream();</span>
    +<span class="fc" id="L93">		OutputStream outputJarStream = null;</span>
    +
    +		try {
    +
    +<span class="fc" id="L97">			outputJarStream = new FileOutputStream(destination);</span>
    +
    +<span class="fc" id="L99">			final byte[] buffer = new byte[8192];</span>
    +
    +			int bytesRead;
    +<span class="fc bfc" id="L102" title="All 2 branches covered.">			while ((bytesRead = inputJarStream.read(buffer)) != -1) {</span>
    +<span class="fc" id="L103">				outputJarStream.write(buffer, 0, bytesRead);</span>
    +			}
    +		} finally {
    +<span class="fc" id="L106">			safeClose(inputJarStream);</span>
    +<span class="fc" id="L107">			safeClose(outputJarStream);</span>
    +		}
    +<span class="fc" id="L109">	}</span>
    +
    +	/**
    +	 * Close a stream ignoring any error
    +	 *
    +	 * @param closeable
    +	 *            stream to be closed
    +	 */
    +	private static void safeClose(Closeable closeable) {
    +		try {
    +<span class="fc bfc" id="L119" title="All 2 branches covered.">			if (closeable != null) {</span>
    +<span class="fc" id="L120">				closeable.close();</span>
    +			}
    +<span class="nc" id="L122">		} catch (IOException e) {</span>
    +<span class="fc" id="L123">		}</span>
    +<span class="fc" id="L124">	}</span>
    +
    +<span class="fc" id="L126">	private static final String ERRORMSG = String</span>
    +			.format(&quot;The resource %s has not been found. Please see &quot;
    +					+ &quot;/org.jacoco.agent/README.TXT for details.&quot;, RESOURCE);
    +
    +}
    +</pre><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.12.202403270442</span>Code Coverage Report for JaCoCo 0.8.12-SNAPSHOT</div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/trunk/coverage/org.jacoco.agent/org.jacoco.agent/index.html b/jacoco/trunk/coverage/org.jacoco.agent/org.jacoco.agent/index.html
    new file mode 100644
    index 00000000000..eab32fe5469
    --- /dev/null
    +++ b/jacoco/trunk/coverage/org.jacoco.agent/org.jacoco.agent/index.html
    @@ -0,0 +1 @@
    +<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="en"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../../jacoco-resources/report.gif" type="image/gif"/><title>org.jacoco.agent</title><script type="text/javascript" src="../../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb', 'coveragetable'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="index.source.html" class="el_source">Source Files</a><a href="../../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../../index.html" class="el_report">JaCoCo</a> &gt; <a href="../index.html" class="el_bundle">org.jacoco.agent</a> &gt; <span class="el_package">org.jacoco.agent</span></div><h1>org.jacoco.agent</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td><td class="sortable ctr1" id="l" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="m" onclick="toggleSort(this)">Classes</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">11 of 83</td><td class="ctr2">86%</td><td class="bar">2 of 8</td><td class="ctr2">75%</td><td class="ctr1">2</td><td class="ctr2">10</td><td class="ctr1">3</td><td class="ctr2">27</td><td class="ctr1">0</td><td class="ctr2">6</td><td class="ctr1">0</td><td class="ctr2">1</td></tr></tfoot><tbody><tr><td id="a0"><a href="AgentJar.html" class="el_class">AgentJar</a></td><td class="bar" id="b0"><img src="../../jacoco-resources/redbar.gif" width="15" height="10" title="11" alt="11"/><img src="../../jacoco-resources/greenbar.gif" width="104" height="10" title="72" alt="72"/></td><td class="ctr2" id="c0">86%</td><td class="bar" id="d0"><img src="../../jacoco-resources/redbar.gif" width="30" height="10" title="2" alt="2"/><img src="../../jacoco-resources/greenbar.gif" width="90" height="10" title="6" alt="6"/></td><td class="ctr2" id="e0">75%</td><td class="ctr1" id="f0">2</td><td class="ctr2" id="g0">10</td><td class="ctr1" id="h0">3</td><td class="ctr2" id="i0">27</td><td class="ctr1" id="j0">0</td><td class="ctr2" id="k0">6</td><td class="ctr1" id="l0">0</td><td class="ctr2" id="m0">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.12.202403270442</span>Code Coverage Report for JaCoCo 0.8.12-SNAPSHOT</div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/trunk/coverage/org.jacoco.agent/org.jacoco.agent/index.source.html b/jacoco/trunk/coverage/org.jacoco.agent/org.jacoco.agent/index.source.html
    new file mode 100644
    index 00000000000..120d8640ece
    --- /dev/null
    +++ b/jacoco/trunk/coverage/org.jacoco.agent/org.jacoco.agent/index.source.html
    @@ -0,0 +1 @@
    +<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="en"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../../jacoco-resources/report.gif" type="image/gif"/><title>org.jacoco.agent</title><script type="text/javascript" src="../../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb', 'coveragetable'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="index.html" class="el_class">Classes</a><a href="../../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../../index.html" class="el_report">JaCoCo</a> &gt; <a href="../index.html" class="el_bundle">org.jacoco.agent</a> &gt; <span class="el_package">org.jacoco.agent</span></div><h1>org.jacoco.agent</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td><td class="sortable ctr1" id="l" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="m" onclick="toggleSort(this)">Classes</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">11 of 83</td><td class="ctr2">86%</td><td class="bar">2 of 8</td><td class="ctr2">75%</td><td class="ctr1">2</td><td class="ctr2">10</td><td class="ctr1">3</td><td class="ctr2">27</td><td class="ctr1">0</td><td class="ctr2">6</td><td class="ctr1">0</td><td class="ctr2">1</td></tr></tfoot><tbody><tr><td id="a0"><a href="AgentJar.java.html" class="el_source">AgentJar.java</a></td><td class="bar" id="b0"><img src="../../jacoco-resources/redbar.gif" width="15" height="10" title="11" alt="11"/><img src="../../jacoco-resources/greenbar.gif" width="104" height="10" title="72" alt="72"/></td><td class="ctr2" id="c0">86%</td><td class="bar" id="d0"><img src="../../jacoco-resources/redbar.gif" width="30" height="10" title="2" alt="2"/><img src="../../jacoco-resources/greenbar.gif" width="90" height="10" title="6" alt="6"/></td><td class="ctr2" id="e0">75%</td><td class="ctr1" id="f0">2</td><td class="ctr2" id="g0">10</td><td class="ctr1" id="h0">3</td><td class="ctr2" id="i0">27</td><td class="ctr1" id="j0">0</td><td class="ctr2" id="k0">6</td><td class="ctr1" id="l0">0</td><td class="ctr2" id="m0">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.12.202403270442</span>Code Coverage Report for JaCoCo 0.8.12-SNAPSHOT</div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/trunk/coverage/org.jacoco.ant/index.html b/jacoco/trunk/coverage/org.jacoco.ant/index.html
    new file mode 100644
    index 00000000000..05f47f0791a
    --- /dev/null
    +++ b/jacoco/trunk/coverage/org.jacoco.ant/index.html
    @@ -0,0 +1 @@
    +<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="en"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>org.jacoco.ant</title><script type="text/javascript" src="../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb', 'coveragetable'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">JaCoCo</a> &gt; <span class="el_bundle">org.jacoco.ant</span></div><h1>org.jacoco.ant</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td><td class="sortable ctr1" id="l" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="m" onclick="toggleSort(this)">Classes</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">23 of 1,737</td><td class="ctr2">98%</td><td class="bar">1 of 104</td><td class="ctr2">99%</td><td class="ctr1">4</td><td class="ctr2">163</td><td class="ctr1">8</td><td class="ctr2">429</td><td class="ctr1">3</td><td class="ctr2">111</td><td class="ctr1">0</td><td class="ctr2">19</td></tr></tfoot><tbody><tr><td id="a0"><a href="org.jacoco.ant/index.html" class="el_package">org.jacoco.ant</a></td><td class="bar" id="b0"><img src="../jacoco-resources/redbar.gif" width="1" height="10" title="23" alt="23"/><img src="../jacoco-resources/greenbar.gif" width="118" height="10" title="1,714" alt="1,714"/></td><td class="ctr2" id="c0">98%</td><td class="bar" id="d0"><img src="../jacoco-resources/redbar.gif" width="1" height="10" title="1" alt="1"/><img src="../jacoco-resources/greenbar.gif" width="118" height="10" title="103" alt="103"/></td><td class="ctr2" id="e0">99%</td><td class="ctr1" id="f0">4</td><td class="ctr2" id="g0">163</td><td class="ctr1" id="h0">8</td><td class="ctr2" id="i0">429</td><td class="ctr1" id="j0">3</td><td class="ctr2" id="k0">111</td><td class="ctr1" id="l0">0</td><td class="ctr2" id="m0">19</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.12.202403270442</span>Code Coverage Report for JaCoCo 0.8.12-SNAPSHOT</div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/trunk/coverage/org.jacoco.ant/org.jacoco.ant/AbstractCoverageTask.html b/jacoco/trunk/coverage/org.jacoco.ant/org.jacoco.ant/AbstractCoverageTask.html
    new file mode 100644
    index 00000000000..0583c232a8c
    --- /dev/null
    +++ b/jacoco/trunk/coverage/org.jacoco.ant/org.jacoco.ant/AbstractCoverageTask.html
    @@ -0,0 +1 @@
    +<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="en"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../../jacoco-resources/report.gif" type="image/gif"/><title>AbstractCoverageTask</title><script type="text/javascript" src="../../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../../index.html" class="el_report">JaCoCo</a> &gt; <a href="../index.html" class="el_bundle">org.jacoco.ant</a> &gt; <a href="index.html" class="el_package">org.jacoco.ant</a> &gt; <span class="el_class">AbstractCoverageTask</span></div><h1>AbstractCoverageTask</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">9 of 149</td><td class="ctr2">93%</td><td class="bar">0 of 4</td><td class="ctr2">100%</td><td class="ctr1">0</td><td class="ctr2">22</td><td class="ctr1">2</td><td class="ctr2">49</td><td class="ctr1">0</td><td class="ctr2">20</td></tr></tfoot><tbody><tr><td id="a1"><a href="AbstractCoverageTask.java.html#L233" class="el_method">getAgentFile()</a></td><td class="bar" id="b0"><img src="../../jacoco-resources/redbar.gif" width="31" height="10" title="9" alt="9"/><img src="../../jacoco-resources/greenbar.gif" width="88" height="10" title="25" alt="25"/></td><td class="ctr2" id="c19">73%</td><td class="bar" id="d0"><img src="../../jacoco-resources/greenbar.gif" width="120" height="10" title="2" alt="2"/></td><td class="ctr2" id="e0">100%</td><td class="ctr1" id="f0">0</td><td class="ctr2" id="g0">2</td><td class="ctr1" id="h0">2</td><td class="ctr2" id="i0">9</td><td class="ctr1" id="j0">0</td><td class="ctr2" id="k0">1</td></tr><tr><td id="a0"><a href="AbstractCoverageTask.java.html#L39" class="el_method">AbstractCoverageTask()</a></td><td class="bar" id="b1"><img src="../../jacoco-resources/greenbar.gif" width="60" height="10" title="17" alt="17"/></td><td class="ctr2" id="c0">100%</td><td class="bar" id="d2"/><td class="ctr2" id="e2">n/a</td><td class="ctr1" id="f1">0</td><td class="ctr2" id="g2">1</td><td class="ctr1" id="h1">0</td><td class="ctr2" id="i1">5</td><td class="ctr1" id="j1">0</td><td class="ctr2" id="k1">1</td></tr><tr><td id="a4"><a href="AbstractCoverageTask.java.html#L225" class="el_method">prepareAgentOptions()</a></td><td class="bar" id="b2"><img src="../../jacoco-resources/greenbar.gif" width="52" height="10" title="15" alt="15"/></td><td class="ctr2" id="c1">100%</td><td class="bar" id="d1"><img src="../../jacoco-resources/greenbar.gif" width="120" height="10" title="2" alt="2"/></td><td class="ctr2" id="e1">100%</td><td class="ctr1" id="f2">0</td><td class="ctr2" id="g1">2</td><td class="ctr1" id="h2">0</td><td class="ctr2" id="i2">3</td><td class="ctr1" id="j2">0</td><td class="ctr2" id="k2">1</td></tr><tr><td id="a7"><a href="AbstractCoverageTask.java.html#L201" class="el_method">setClassdumpdir(File)</a></td><td class="bar" id="b3"><img src="../../jacoco-resources/greenbar.gif" width="21" height="10" title="6" alt="6"/></td><td class="ctr2" id="c2">100%</td><td class="bar" id="d3"/><td class="ctr2" id="e3">n/a</td><td class="ctr1" id="f3">0</td><td class="ctr2" id="g3">1</td><td class="ctr1" id="h3">0</td><td class="ctr2" id="i3">2</td><td class="ctr1" id="j3">0</td><td class="ctr2" id="k3">1</td></tr><tr><td id="a2"><a href="AbstractCoverageTask.java.html#L221" class="el_method">getLaunchingArgument()</a></td><td class="bar" id="b4"><img src="../../jacoco-resources/greenbar.gif" width="21" height="10" title="6" alt="6"/></td><td class="ctr2" id="c3">100%</td><td class="bar" id="d4"/><td class="ctr2" id="e4">n/a</td><td class="ctr1" id="f4">0</td><td class="ctr2" id="g4">1</td><td class="ctr1" id="h4">0</td><td class="ctr2" id="i18">1</td><td class="ctr1" id="j4">0</td><td class="ctr2" id="k4">1</td></tr><tr><td id="a6"><a href="AbstractCoverageTask.java.html#L81" class="el_method">setAppend(boolean)</a></td><td class="bar" id="b5"><img src="../../jacoco-resources/greenbar.gif" width="17" height="10" title="5" alt="5"/></td><td class="ctr2" id="c4">100%</td><td class="bar" id="d5"/><td class="ctr2" id="e5">n/a</td><td class="ctr1" id="f5">0</td><td class="ctr2" id="g5">1</td><td class="ctr1" id="h5">0</td><td class="ctr2" id="i4">2</td><td class="ctr1" id="j5">0</td><td class="ctr2" id="k5">1</td></tr><tr><td id="a15"><a href="AbstractCoverageTask.java.html#L92" class="el_method">setIncludes(String)</a></td><td class="bar" id="b6"><img src="../../jacoco-resources/greenbar.gif" width="17" height="10" title="5" alt="5"/></td><td class="ctr2" id="c5">100%</td><td class="bar" id="d6"/><td class="ctr2" id="e6">n/a</td><td class="ctr1" id="f6">0</td><td class="ctr2" id="g6">1</td><td class="ctr1" id="h6">0</td><td class="ctr2" id="i5">2</td><td class="ctr1" id="j6">0</td><td class="ctr2" id="k6">1</td></tr><tr><td id="a12"><a href="AbstractCoverageTask.java.html#L103" class="el_method">setExcludes(String)</a></td><td class="bar" id="b7"><img src="../../jacoco-resources/greenbar.gif" width="17" height="10" title="5" alt="5"/></td><td class="ctr2" id="c6">100%</td><td class="bar" id="d7"/><td class="ctr2" id="e7">n/a</td><td class="ctr1" id="f7">0</td><td class="ctr2" id="g7">1</td><td class="ctr1" id="h7">0</td><td class="ctr2" id="i6">2</td><td class="ctr1" id="j7">0</td><td class="ctr2" id="k7">1</td></tr><tr><td id="a11"><a href="AbstractCoverageTask.java.html#L115" class="el_method">setExclClassLoader(String)</a></td><td class="bar" id="b8"><img src="../../jacoco-resources/greenbar.gif" width="17" height="10" title="5" alt="5"/></td><td class="ctr2" id="c7">100%</td><td class="bar" id="d8"/><td class="ctr2" id="e8">n/a</td><td class="ctr1" id="f8">0</td><td class="ctr2" id="g8">1</td><td class="ctr1" id="h8">0</td><td class="ctr2" id="i7">2</td><td class="ctr1" id="j8">0</td><td class="ctr2" id="k8">1</td></tr><tr><td id="a13"><a href="AbstractCoverageTask.java.html#L126" class="el_method">setInclBootstrapClasses(boolean)</a></td><td class="bar" id="b9"><img src="../../jacoco-resources/greenbar.gif" width="17" height="10" title="5" alt="5"/></td><td class="ctr2" id="c8">100%</td><td class="bar" id="d9"/><td class="ctr2" id="e9">n/a</td><td class="ctr1" id="f9">0</td><td class="ctr2" id="g9">1</td><td class="ctr1" id="h9">0</td><td class="ctr2" id="i8">2</td><td class="ctr1" id="j9">0</td><td class="ctr2" id="k9">1</td></tr><tr><td id="a14"><a href="AbstractCoverageTask.java.html#L137" class="el_method">setInclNoLocationClasses(boolean)</a></td><td class="bar" id="b10"><img src="../../jacoco-resources/greenbar.gif" width="17" height="10" title="5" alt="5"/></td><td class="ctr2" id="c9">100%</td><td class="bar" id="d10"/><td class="ctr2" id="e10">n/a</td><td class="ctr1" id="f10">0</td><td class="ctr2" id="g10">1</td><td class="ctr1" id="h10">0</td><td class="ctr2" id="i9">2</td><td class="ctr1" id="j10">0</td><td class="ctr2" id="k10">1</td></tr><tr><td id="a19"><a href="AbstractCoverageTask.java.html#L147" class="el_method">setSessionId(String)</a></td><td class="bar" id="b11"><img src="../../jacoco-resources/greenbar.gif" width="17" height="10" title="5" alt="5"/></td><td class="ctr2" id="c10">100%</td><td class="bar" id="d11"/><td class="ctr2" id="e11">n/a</td><td class="ctr1" id="f11">0</td><td class="ctr2" id="g11">1</td><td class="ctr1" id="h11">0</td><td class="ctr2" id="i10">2</td><td class="ctr1" id="j11">0</td><td class="ctr2" id="k11">1</td></tr><tr><td id="a9"><a href="AbstractCoverageTask.java.html#L157" class="el_method">setDumpOnExit(boolean)</a></td><td class="bar" id="b12"><img src="../../jacoco-resources/greenbar.gif" width="17" height="10" title="5" alt="5"/></td><td class="ctr2" id="c11">100%</td><td class="bar" id="d12"/><td class="ctr2" id="e12">n/a</td><td class="ctr1" id="f12">0</td><td class="ctr2" id="g12">1</td><td class="ctr1" id="h12">0</td><td class="ctr2" id="i11">2</td><td class="ctr1" id="j12">0</td><td class="ctr2" id="k12">1</td></tr><tr><td id="a17"><a href="AbstractCoverageTask.java.html#L167" class="el_method">setOutput(String)</a></td><td class="bar" id="b13"><img src="../../jacoco-resources/greenbar.gif" width="17" height="10" title="5" alt="5"/></td><td class="ctr2" id="c12">100%</td><td class="bar" id="d13"/><td class="ctr2" id="e13">n/a</td><td class="ctr1" id="f13">0</td><td class="ctr2" id="g13">1</td><td class="ctr1" id="h13">0</td><td class="ctr2" id="i12">2</td><td class="ctr1" id="j13">0</td><td class="ctr2" id="k13">1</td></tr><tr><td id="a5"><a href="AbstractCoverageTask.java.html#L179" class="el_method">setAddress(String)</a></td><td class="bar" id="b14"><img src="../../jacoco-resources/greenbar.gif" width="17" height="10" title="5" alt="5"/></td><td class="ctr2" id="c13">100%</td><td class="bar" id="d14"/><td class="ctr2" id="e14">n/a</td><td class="ctr1" id="f14">0</td><td class="ctr2" id="g14">1</td><td class="ctr1" id="h14">0</td><td class="ctr2" id="i13">2</td><td class="ctr1" id="j14">0</td><td class="ctr2" id="k14">1</td></tr><tr><td id="a18"><a href="AbstractCoverageTask.java.html#L190" class="el_method">setPort(int)</a></td><td class="bar" id="b15"><img src="../../jacoco-resources/greenbar.gif" width="17" height="10" title="5" alt="5"/></td><td class="ctr2" id="c14">100%</td><td class="bar" id="d15"/><td class="ctr2" id="e15">n/a</td><td class="ctr1" id="f15">0</td><td class="ctr2" id="g15">1</td><td class="ctr1" id="h15">0</td><td class="ctr2" id="i14">2</td><td class="ctr1" id="j15">0</td><td class="ctr2" id="k15">1</td></tr><tr><td id="a16"><a href="AbstractCoverageTask.java.html#L211" class="el_method">setJmx(boolean)</a></td><td class="bar" id="b16"><img src="../../jacoco-resources/greenbar.gif" width="17" height="10" title="5" alt="5"/></td><td class="ctr2" id="c15">100%</td><td class="bar" id="d16"/><td class="ctr2" id="e16">n/a</td><td class="ctr1" id="f16">0</td><td class="ctr2" id="g16">1</td><td class="ctr1" id="h16">0</td><td class="ctr2" id="i15">2</td><td class="ctr1" id="j16">0</td><td class="ctr2" id="k16">1</td></tr><tr><td id="a10"><a href="AbstractCoverageTask.java.html#L59" class="el_method">setEnabled(boolean)</a></td><td class="bar" id="b17"><img src="../../jacoco-resources/greenbar.gif" width="14" height="10" title="4" alt="4"/></td><td class="ctr2" id="c16">100%</td><td class="bar" id="d17"/><td class="ctr2" id="e17">n/a</td><td class="ctr1" id="f17">0</td><td class="ctr2" id="g17">1</td><td class="ctr1" id="h17">0</td><td class="ctr2" id="i16">2</td><td class="ctr1" id="j17">0</td><td class="ctr2" id="k17">1</td></tr><tr><td id="a8"><a href="AbstractCoverageTask.java.html#L70" class="el_method">setDestfile(File)</a></td><td class="bar" id="b18"><img src="../../jacoco-resources/greenbar.gif" width="14" height="10" title="4" alt="4"/></td><td class="ctr2" id="c17">100%</td><td class="bar" id="d18"/><td class="ctr2" id="e18">n/a</td><td class="ctr1" id="f18">0</td><td class="ctr2" id="g18">1</td><td class="ctr1" id="h18">0</td><td class="ctr2" id="i17">2</td><td class="ctr1" id="j18">0</td><td class="ctr2" id="k18">1</td></tr><tr><td id="a3"><a href="AbstractCoverageTask.java.html#L49" class="el_method">isEnabled()</a></td><td class="bar" id="b19"><img src="../../jacoco-resources/greenbar.gif" width="10" height="10" title="3" alt="3"/></td><td class="ctr2" id="c18">100%</td><td class="bar" id="d19"/><td class="ctr2" id="e19">n/a</td><td class="ctr1" id="f19">0</td><td class="ctr2" id="g19">1</td><td class="ctr1" id="h19">0</td><td class="ctr2" id="i19">1</td><td class="ctr1" id="j19">0</td><td class="ctr2" id="k19">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.12.202403270442</span>Code Coverage Report for JaCoCo 0.8.12-SNAPSHOT</div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/trunk/coverage/org.jacoco.ant/org.jacoco.ant/AbstractCoverageTask.java.html b/jacoco/trunk/coverage/org.jacoco.ant/org.jacoco.ant/AbstractCoverageTask.java.html
    new file mode 100644
    index 00000000000..0f67c8539e7
    --- /dev/null
    +++ b/jacoco/trunk/coverage/org.jacoco.ant/org.jacoco.ant/AbstractCoverageTask.java.html
    @@ -0,0 +1,252 @@
    +<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="en"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../../jacoco-resources/report.gif" type="image/gif"/><title>AbstractCoverageTask.java</title><link rel="stylesheet" href="../../jacoco-resources/prettify.css" type="text/css"/><script type="text/javascript" src="../../jacoco-resources/prettify.js"></script></head><body onload="window['PR_TAB_WIDTH']=4;prettyPrint()"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../../index.html" class="el_report">JaCoCo</a> &gt; <a href="../index.html" class="el_bundle">org.jacoco.ant</a> &gt; <a href="index.source.html" class="el_package">org.jacoco.ant</a> &gt; <span class="el_source">AbstractCoverageTask.java</span></div><h1>AbstractCoverageTask.java</h1><pre class="source lang-java linenums">/*******************************************************************************
    + * Copyright (c) 2009, 2024 Mountainminds GmbH &amp; Co. KG and Contributors
    + * This program and the accompanying materials are made available under
    + * the terms of the Eclipse Public License 2.0 which is available at
    + * http://www.eclipse.org/legal/epl-2.0
    + *
    + * SPDX-License-Identifier: EPL-2.0
    + *
    + * Contributors:
    + *    Brock Janiczak - initial API and implementation
    + *
    + *******************************************************************************/
    +package org.jacoco.ant;
    +
    +import java.io.File;
    +import java.io.IOException;
    +
    +import org.apache.tools.ant.BuildException;
    +import org.apache.tools.ant.Task;
    +import org.jacoco.agent.AgentJar;
    +import org.jacoco.core.runtime.AgentOptions;
    +import org.jacoco.core.runtime.AgentOptions.OutputMode;
    +
    +/**
    + * Base class for all coverage tasks that require agent options
    + */
    +public class AbstractCoverageTask extends Task {
    +
    +	private final AgentOptions agentOptions;
    +
    +	private File destfile;
    +
    +	private boolean enabled;
    +
    +	/**
    +	 * Create default agent options
    +	 */
    +	protected AbstractCoverageTask() {
    +<span class="fc" id="L39">		super();</span>
    +<span class="fc" id="L40">		agentOptions = new AgentOptions();</span>
    +<span class="fc" id="L41">		destfile = new File(AgentOptions.DEFAULT_DESTFILE);</span>
    +<span class="fc" id="L42">		enabled = true;</span>
    +<span class="fc" id="L43">	}</span>
    +
    +	/**
    +	 * @return Whether or not the current task is enabled
    +	 */
    +	public boolean isEnabled() {
    +<span class="fc" id="L49">		return enabled;</span>
    +	}
    +
    +	/**
    +	 * Sets whether or not the current task is enabled
    +	 *
    +	 * @param enabled
    +	 *            Enablement state of the task
    +	 */
    +	public void setEnabled(final boolean enabled) {
    +<span class="fc" id="L59">		this.enabled = enabled;</span>
    +<span class="fc" id="L60">	}</span>
    +
    +	/**
    +	 * Sets the location to write coverage execution data to. Default is
    +	 * &lt;code&gt;jacoco.exec&lt;/code&gt;.
    +	 *
    +	 * @param file
    +	 *            Location to write coverage execution data to
    +	 */
    +	public void setDestfile(final File file) {
    +<span class="fc" id="L70">		destfile = file;</span>
    +<span class="fc" id="L71">	}</span>
    +
    +	/**
    +	 * Append execution coverage data if a coverage file is already present.
    +	 * Default is &lt;code&gt;true&lt;/code&gt;
    +	 *
    +	 * @param append
    +	 *            &lt;code&gt;true&lt;/code&gt; to append execution data to an existing file
    +	 */
    +	public void setAppend(final boolean append) {
    +<span class="fc" id="L81">		agentOptions.setAppend(append);</span>
    +<span class="fc" id="L82">	}</span>
    +
    +	/**
    +	 * List of wildcard patterns classes to include for instrumentation. Default
    +	 * is &lt;code&gt;*&lt;/code&gt;
    +	 *
    +	 * @param includes
    +	 *            Wildcard pattern of included classes
    +	 */
    +	public void setIncludes(final String includes) {
    +<span class="fc" id="L92">		agentOptions.setIncludes(includes);</span>
    +<span class="fc" id="L93">	}</span>
    +
    +	/**
    +	 * List of wildcard patterns classes to exclude from instrumentation.
    +	 * Default is the empty string, no classes excluded
    +	 *
    +	 * @param excludes
    +	 *            Wildcard pattern of excluded classes
    +	 */
    +	public void setExcludes(final String excludes) {
    +<span class="fc" id="L103">		agentOptions.setExcludes(excludes);</span>
    +<span class="fc" id="L104">	}</span>
    +
    +	/**
    +	 * List of wildcard patterns for classloaders that JaCoCo will not
    +	 * instrument classes from. Default is
    +	 * &lt;code&gt;sun.reflect.DelegatingClassLoader&lt;/code&gt;
    +	 *
    +	 * @param exclClassLoader
    +	 *            Wildcard pattern of class loaders to exclude
    +	 */
    +	public void setExclClassLoader(final String exclClassLoader) {
    +<span class="fc" id="L115">		agentOptions.setExclClassloader(exclClassLoader);</span>
    +<span class="fc" id="L116">	}</span>
    +
    +	/**
    +	 * Sets whether classes from the bootstrap classloader should be
    +	 * instrumented.
    +	 *
    +	 * @param include
    +	 *            &lt;code&gt;true&lt;/code&gt; if bootstrap classes should be instrumented
    +	 */
    +	public void setInclBootstrapClasses(final boolean include) {
    +<span class="fc" id="L126">		agentOptions.setInclBootstrapClasses(include);</span>
    +<span class="fc" id="L127">	}</span>
    +
    +	/**
    +	 * Sets whether classes without source location should be instrumented.
    +	 *
    +	 * @param include
    +	 *            &lt;code&gt;true&lt;/code&gt; if classes without source location should be
    +	 *            instrumented
    +	 */
    +	public void setInclNoLocationClasses(final boolean include) {
    +<span class="fc" id="L137">		agentOptions.setInclNoLocationClasses(include);</span>
    +<span class="fc" id="L138">	}</span>
    +
    +	/**
    +	 * Sets the session identifier. Default is a auto-generated id
    +	 *
    +	 * @param id
    +	 *            session identifier
    +	 */
    +	public void setSessionId(final String id) {
    +<span class="fc" id="L147">		agentOptions.setSessionId(id);</span>
    +<span class="fc" id="L148">	}</span>
    +
    +	/**
    +	 * Dump coverage data on VM termination. Default is &lt;code&gt;true&lt;/code&gt;
    +	 *
    +	 * @param dumpOnExit
    +	 *            &lt;code&gt;true&lt;/code&gt; to write coverage data on VM termination
    +	 */
    +	public void setDumpOnExit(final boolean dumpOnExit) {
    +<span class="fc" id="L157">		agentOptions.setDumpOnExit(dumpOnExit);</span>
    +<span class="fc" id="L158">	}</span>
    +
    +	/**
    +	 * Sets the output method. Default is &lt;code&gt;file&lt;/code&gt;
    +	 *
    +	 * @param output
    +	 *            Output method
    +	 */
    +	public void setOutput(final String output) {
    +<span class="fc" id="L167">		agentOptions.setOutput(output);</span>
    +<span class="fc" id="L168">	}</span>
    +
    +	/**
    +	 * Sets the IP address or hostname to bind to when output method is tcp
    +	 * server or connect to when the output method is tcp client. Default is
    +	 * &lt;code&gt;localhost&lt;/code&gt;
    +	 *
    +	 * @param address
    +	 *            Address to bind or connect to
    +	 */
    +	public void setAddress(final String address) {
    +<span class="fc" id="L179">		agentOptions.setAddress(address);</span>
    +<span class="fc" id="L180">	}</span>
    +
    +	/**
    +	 * Sets the Port to bind to when the output method is tcp server or connect
    +	 * to when the output method is tcp client. Default is &lt;code&gt;6300&lt;/code&gt;
    +	 *
    +	 * @param port
    +	 *            port to bind to or connect to
    +	 */
    +	public void setPort(final int port) {
    +<span class="fc" id="L190">		agentOptions.setPort(port);</span>
    +<span class="fc" id="L191">	}</span>
    +
    +	/**
    +	 * Sets the directory where all class files seen by the agent should be
    +	 * dumped to.
    +	 *
    +	 * @param dir
    +	 *            dump output location
    +	 */
    +	public void setClassdumpdir(final File dir) {
    +<span class="fc" id="L201">		agentOptions.setClassDumpDir(dir.getAbsolutePath());</span>
    +<span class="fc" id="L202">	}</span>
    +
    +	/**
    +	 * Sets whether the agent should expose functionality via JMX.
    +	 *
    +	 * @param jmx
    +	 *            &lt;code&gt;true&lt;/code&gt; if JMX should be enabled
    +	 */
    +	public void setJmx(final boolean jmx) {
    +<span class="fc" id="L211">		agentOptions.setJmx(jmx);</span>
    +<span class="fc" id="L212">	}</span>
    +
    +	/**
    +	 * Creates JVM argument to launch with the specified JaCoCo agent jar and
    +	 * the current options
    +	 *
    +	 * @return JVM Argument to pass to new VM
    +	 */
    +	protected String getLaunchingArgument() {
    +<span class="fc" id="L221">		return prepareAgentOptions().getVMArgument(getAgentFile());</span>
    +	}
    +
    +	private AgentOptions prepareAgentOptions() {
    +<span class="fc bfc" id="L225" title="All 2 branches covered.">		if (OutputMode.file.equals(agentOptions.getOutput())) {</span>
    +<span class="fc" id="L226">			agentOptions.setDestfile(destfile.getAbsolutePath());</span>
    +		}
    +<span class="fc" id="L228">		return agentOptions;</span>
    +	}
    +
    +	private File getAgentFile() {
    +		try {
    +<span class="fc" id="L233">			File agentFile = null;</span>
    +<span class="fc" id="L234">			final String agentFileLocation = getProject()</span>
    +					.getProperty(&quot;_jacoco.agentFile&quot;);
    +<span class="fc bfc" id="L236" title="All 2 branches covered.">			if (agentFileLocation != null) {</span>
    +<span class="fc" id="L237">				agentFile = new File(agentFileLocation);</span>
    +			} else {
    +<span class="fc" id="L239">				agentFile = AgentJar.extractToTempLocation();</span>
    +<span class="fc" id="L240">				getProject().setProperty(&quot;_jacoco.agentFile&quot;,</span>
    +						agentFile.toString());
    +			}
    +
    +<span class="fc" id="L244">			return agentFile;</span>
    +<span class="nc" id="L245">		} catch (final IOException e) {</span>
    +<span class="nc" id="L246">			throw new BuildException(&quot;Unable to extract agent jar&quot;, e,</span>
    +					getLocation());
    +		}
    +	}
    +
    +}
    +</pre><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.12.202403270442</span>Code Coverage Report for JaCoCo 0.8.12-SNAPSHOT</div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/trunk/coverage/org.jacoco.ant/org.jacoco.ant/AgentTask.html b/jacoco/trunk/coverage/org.jacoco.ant/org.jacoco.ant/AgentTask.html
    new file mode 100644
    index 00000000000..6c509defe96
    --- /dev/null
    +++ b/jacoco/trunk/coverage/org.jacoco.ant/org.jacoco.ant/AgentTask.html
    @@ -0,0 +1 @@
    +<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="en"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../../jacoco-resources/report.gif" type="image/gif"/><title>AgentTask</title><script type="text/javascript" src="../../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../../index.html" class="el_report">JaCoCo</a> &gt; <a href="../index.html" class="el_bundle">org.jacoco.ant</a> &gt; <a href="index.html" class="el_package">org.jacoco.ant</a> &gt; <span class="el_class">AgentTask</span></div><h1>AgentTask</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">0 of 36</td><td class="ctr2">100%</td><td class="bar">0 of 6</td><td class="ctr2">100%</td><td class="ctr1">0</td><td class="ctr2">6</td><td class="ctr1">0</td><td class="ctr2">8</td><td class="ctr1">0</td><td class="ctr2">3</td></tr></tfoot><tbody><tr><td id="a1"><a href="AgentTask.java.html#L43" class="el_method">execute()</a></td><td class="bar" id="b0"><img src="../../jacoco-resources/greenbar.gif" width="120" height="10" title="29" alt="29"/></td><td class="ctr2" id="c0">100%</td><td class="bar" id="d0"><img src="../../jacoco-resources/greenbar.gif" width="120" height="10" title="6" alt="6"/></td><td class="ctr2" id="e0">100%</td><td class="ctr1" id="f0">0</td><td class="ctr2" id="g0">4</td><td class="ctr1" id="h0">0</td><td class="ctr2" id="i0">5</td><td class="ctr1" id="j0">0</td><td class="ctr2" id="k0">1</td></tr><tr><td id="a2"><a href="AgentTask.java.html#L32" class="el_method">setProperty(String)</a></td><td class="bar" id="b1"><img src="../../jacoco-resources/greenbar.gif" width="16" height="10" title="4" alt="4"/></td><td class="ctr2" id="c1">100%</td><td class="bar" id="d1"/><td class="ctr2" id="e1">n/a</td><td class="ctr1" id="f1">0</td><td class="ctr2" id="g1">1</td><td class="ctr1" id="h1">0</td><td class="ctr2" id="i1">2</td><td class="ctr1" id="j1">0</td><td class="ctr2" id="k1">1</td></tr><tr><td id="a0"><a href="AgentTask.java.html#L21" class="el_method">AgentTask()</a></td><td class="bar" id="b2"><img src="../../jacoco-resources/greenbar.gif" width="12" height="10" title="3" alt="3"/></td><td class="ctr2" id="c2">100%</td><td class="bar" id="d2"/><td class="ctr2" id="e2">n/a</td><td class="ctr1" id="f2">0</td><td class="ctr2" id="g2">1</td><td class="ctr1" id="h2">0</td><td class="ctr2" id="i2">1</td><td class="ctr1" id="j2">0</td><td class="ctr2" id="k2">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.12.202403270442</span>Code Coverage Report for JaCoCo 0.8.12-SNAPSHOT</div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/trunk/coverage/org.jacoco.ant/org.jacoco.ant/AgentTask.java.html b/jacoco/trunk/coverage/org.jacoco.ant/org.jacoco.ant/AgentTask.java.html
    new file mode 100644
    index 00000000000..2b0b4e232de
    --- /dev/null
    +++ b/jacoco/trunk/coverage/org.jacoco.ant/org.jacoco.ant/AgentTask.java.html
    @@ -0,0 +1,51 @@
    +<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="en"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../../jacoco-resources/report.gif" type="image/gif"/><title>AgentTask.java</title><link rel="stylesheet" href="../../jacoco-resources/prettify.css" type="text/css"/><script type="text/javascript" src="../../jacoco-resources/prettify.js"></script></head><body onload="window['PR_TAB_WIDTH']=4;prettyPrint()"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../../index.html" class="el_report">JaCoCo</a> &gt; <a href="../index.html" class="el_bundle">org.jacoco.ant</a> &gt; <a href="index.source.html" class="el_package">org.jacoco.ant</a> &gt; <span class="el_source">AgentTask.java</span></div><h1>AgentTask.java</h1><pre class="source lang-java linenums">/*******************************************************************************
    + * Copyright (c) 2009, 2024 Mountainminds GmbH &amp; Co. KG and Contributors
    + * This program and the accompanying materials are made available under
    + * the terms of the Eclipse Public License 2.0 which is available at
    + * http://www.eclipse.org/legal/epl-2.0
    + *
    + * SPDX-License-Identifier: EPL-2.0
    + *
    + * Contributors:
    + *    Brock Janiczak - initial API and implementation
    + *
    + *******************************************************************************/
    +package org.jacoco.ant;
    +
    +import org.apache.tools.ant.BuildException;
    +
    +/**
    + * Ant task that will unpack the coverage agent jar and generate the JVM options
    + * required to use it
    + */
    +<span class="fc" id="L21">public class AgentTask extends AbstractCoverageTask {</span>
    +
    +	private String property;
    +
    +	/**
    +	 * Sets the name of the property to hold the agent JVM options
    +	 *
    +	 * @param property
    +	 *            Name of the property to be populated
    +	 */
    +	public void setProperty(final String property) {
    +<span class="fc" id="L32">		this.property = property;</span>
    +<span class="fc" id="L33">	}</span>
    +
    +	/**
    +	 * Unpacks a private copy of the JaCoCo agent and populates
    +	 * &lt;code&gt;property&lt;/code&gt; with the JVM arguments required to use it. The
    +	 * value set into the property is only valid for the lifetime of the current
    +	 * JVM. The agent jar will be removed on termination of the JVM.
    +	 */
    +	@Override
    +	public void execute() throws BuildException {
    +<span class="fc bfc" id="L43" title="All 4 branches covered.">		if (property == null || property.length() == 0) {</span>
    +<span class="fc" id="L44">			throw new BuildException(&quot;Property is mandatory&quot;, getLocation());</span>
    +		}
    +<span class="fc bfc" id="L46" title="All 2 branches covered.">		final String jvmArg = isEnabled() ? getLaunchingArgument() : &quot;&quot;;</span>
    +
    +<span class="fc" id="L48">		getProject().setNewProperty(property, jvmArg);</span>
    +<span class="fc" id="L49">	}</span>
    +}
    +</pre><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.12.202403270442</span>Code Coverage Report for JaCoCo 0.8.12-SNAPSHOT</div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/trunk/coverage/org.jacoco.ant/org.jacoco.ant/AntFilesLocator.html b/jacoco/trunk/coverage/org.jacoco.ant/org.jacoco.ant/AntFilesLocator.html
    new file mode 100644
    index 00000000000..2604b55bb23
    --- /dev/null
    +++ b/jacoco/trunk/coverage/org.jacoco.ant/org.jacoco.ant/AntFilesLocator.html
    @@ -0,0 +1 @@
    +<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="en"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../../jacoco-resources/report.gif" type="image/gif"/><title>AntFilesLocator</title><script type="text/javascript" src="../../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../../index.html" class="el_report">JaCoCo</a> &gt; <a href="../index.html" class="el_bundle">org.jacoco.ant</a> &gt; <a href="index.html" class="el_package">org.jacoco.ant</a> &gt; <span class="el_class">AntFilesLocator</span></div><h1>AntFilesLocator</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">0 of 34</td><td class="ctr2">100%</td><td class="bar">0 of 2</td><td class="ctr2">100%</td><td class="ctr1">0</td><td class="ctr2">4</td><td class="ctr1">0</td><td class="ctr2">9</td><td class="ctr1">0</td><td class="ctr2">3</td></tr></tfoot><tbody><tr><td id="a2"><a href="AntFilesLocator.java.html#L49" class="el_method">getSourceStream(String)</a></td><td class="bar" id="b0"><img src="../../jacoco-resources/greenbar.gif" width="120" height="10" title="13" alt="13"/></td><td class="ctr2" id="c0">100%</td><td class="bar" id="d0"><img src="../../jacoco-resources/greenbar.gif" width="120" height="10" title="2" alt="2"/></td><td class="ctr2" id="e0">100%</td><td class="ctr1" id="f0">0</td><td class="ctr2" id="g0">2</td><td class="ctr1" id="h0">0</td><td class="ctr2" id="i0">4</td><td class="ctr1" id="j0">0</td><td class="ctr2" id="k0">1</td></tr><tr><td id="a0"><a href="AntFilesLocator.java.html#L43" class="el_method">add(Resource)</a></td><td class="bar" id="b1"><img src="../../jacoco-resources/greenbar.gif" width="101" height="10" title="11" alt="11"/></td><td class="ctr2" id="c1">100%</td><td class="bar" id="d1"/><td class="ctr2" id="e1">n/a</td><td class="ctr1" id="f1">0</td><td class="ctr2" id="g1">1</td><td class="ctr1" id="h1">0</td><td class="ctr2" id="i2">2</td><td class="ctr1" id="j1">0</td><td class="ctr2" id="k1">1</td></tr><tr><td id="a1"><a href="AntFilesLocator.java.html#L32" class="el_method">AntFilesLocator(String, int)</a></td><td class="bar" id="b2"><img src="../../jacoco-resources/greenbar.gif" width="92" height="10" title="10" alt="10"/></td><td class="ctr2" id="c2">100%</td><td class="bar" id="d2"/><td class="ctr2" id="e2">n/a</td><td class="ctr1" id="f2">0</td><td class="ctr2" id="g2">1</td><td class="ctr1" id="h2">0</td><td class="ctr2" id="i1">3</td><td class="ctr1" id="j2">0</td><td class="ctr2" id="k2">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.12.202403270442</span>Code Coverage Report for JaCoCo 0.8.12-SNAPSHOT</div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/trunk/coverage/org.jacoco.ant/org.jacoco.ant/AntFilesLocator.java.html b/jacoco/trunk/coverage/org.jacoco.ant/org.jacoco.ant/AntFilesLocator.java.html
    new file mode 100644
    index 00000000000..803d4d57f12
    --- /dev/null
    +++ b/jacoco/trunk/coverage/org.jacoco.ant/org.jacoco.ant/AntFilesLocator.java.html
    @@ -0,0 +1,58 @@
    +<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="en"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../../jacoco-resources/report.gif" type="image/gif"/><title>AntFilesLocator.java</title><link rel="stylesheet" href="../../jacoco-resources/prettify.css" type="text/css"/><script type="text/javascript" src="../../jacoco-resources/prettify.js"></script></head><body onload="window['PR_TAB_WIDTH']=4;prettyPrint()"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../../index.html" class="el_report">JaCoCo</a> &gt; <a href="../index.html" class="el_bundle">org.jacoco.ant</a> &gt; <a href="index.source.html" class="el_package">org.jacoco.ant</a> &gt; <span class="el_source">AntFilesLocator.java</span></div><h1>AntFilesLocator.java</h1><pre class="source lang-java linenums">/*******************************************************************************
    + * Copyright (c) 2009, 2024 Mountainminds GmbH &amp; Co. KG and Contributors
    + * This program and the accompanying materials are made available under
    + * the terms of the Eclipse Public License 2.0 which is available at
    + * http://www.eclipse.org/legal/epl-2.0
    + *
    + * SPDX-License-Identifier: EPL-2.0
    + *
    + * Contributors:
    + *    Marc R. Hoffmann - initial API and implementation
    + *
    + *******************************************************************************/
    +package org.jacoco.ant;
    +
    +import java.io.File;
    +import java.io.IOException;
    +import java.io.InputStream;
    +import java.util.HashMap;
    +import java.util.Map;
    +
    +import org.apache.tools.ant.types.Resource;
    +import org.jacoco.report.InputStreamSourceFileLocator;
    +
    +/**
    + * Source locator based on Ant file resources.
    + */
    +class AntFilesLocator extends InputStreamSourceFileLocator {
    +
    +	private final Map&lt;String, Resource&gt; resources;
    +
    +	public AntFilesLocator(final String encoding, final int tabWidth) {
    +<span class="fc" id="L32">		super(encoding, tabWidth);</span>
    +<span class="fc" id="L33">		this.resources = new HashMap&lt;String, Resource&gt;();</span>
    +<span class="fc" id="L34">	}</span>
    +
    +	/**
    +	 * Adds the given file resource as a potential source file.
    +	 *
    +	 * @param file
    +	 *            file resource to add
    +	 */
    +	void add(final Resource file) {
    +<span class="fc" id="L43">		resources.put(file.getName().replace(File.separatorChar, '/'), file);</span>
    +<span class="fc" id="L44">	}</span>
    +
    +	@Override
    +	protected InputStream getSourceStream(final String path)
    +			throws IOException {
    +<span class="fc" id="L49">		final Resource file = resources.get(path);</span>
    +<span class="fc bfc" id="L50" title="All 2 branches covered.">		if (file == null) {</span>
    +<span class="fc" id="L51">			return null;</span>
    +		} else {
    +<span class="fc" id="L53">			return file.getInputStream();</span>
    +		}
    +	}
    +
    +}
    +</pre><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.12.202403270442</span>Code Coverage Report for JaCoCo 0.8.12-SNAPSHOT</div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/trunk/coverage/org.jacoco.ant/org.jacoco.ant/AntResourcesLocator.html b/jacoco/trunk/coverage/org.jacoco.ant/org.jacoco.ant/AntResourcesLocator.html
    new file mode 100644
    index 00000000000..019e488a5d2
    --- /dev/null
    +++ b/jacoco/trunk/coverage/org.jacoco.ant/org.jacoco.ant/AntResourcesLocator.html
    @@ -0,0 +1 @@
    +<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="en"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../../jacoco-resources/report.gif" type="image/gif"/><title>AntResourcesLocator</title><script type="text/javascript" src="../../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../../index.html" class="el_report">JaCoCo</a> &gt; <a href="../index.html" class="el_bundle">org.jacoco.ant</a> &gt; <a href="index.html" class="el_package">org.jacoco.ant</a> &gt; <span class="el_class">AntResourcesLocator</span></div><h1>AntResourcesLocator</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">0 of 60</td><td class="ctr2">100%</td><td class="bar">0 of 4</td><td class="ctr2">100%</td><td class="ctr1">0</td><td class="ctr2">6</td><td class="ctr1">0</td><td class="ctr2">17</td><td class="ctr1">0</td><td class="ctr2">4</td></tr></tfoot><tbody><tr><td id="a0"><a href="AntResourcesLocator.java.html#L53" class="el_method">add(Resource)</a></td><td class="bar" id="b0"><img src="../../jacoco-resources/greenbar.gif" width="120" height="10" title="26" alt="26"/></td><td class="ctr2" id="c0">100%</td><td class="bar" id="d0"><img src="../../jacoco-resources/greenbar.gif" width="120" height="10" title="2" alt="2"/></td><td class="ctr2" id="e0">100%</td><td class="ctr1" id="f0">0</td><td class="ctr2" id="g0">2</td><td class="ctr1" id="h0">0</td><td class="ctr2" id="i0">7</td><td class="ctr1" id="j0">0</td><td class="ctr2" id="k0">1</td></tr><tr><td id="a2"><a href="AntResourcesLocator.java.html#L39" class="el_method">AntResourcesLocator(String, int)</a></td><td class="bar" id="b1"><img src="../../jacoco-resources/greenbar.gif" width="96" height="10" title="21" alt="21"/></td><td class="ctr2" id="c1">100%</td><td class="bar" id="d2"/><td class="ctr2" id="e2">n/a</td><td class="ctr1" id="f1">0</td><td class="ctr2" id="g2">1</td><td class="ctr1" id="h1">0</td><td class="ctr2" id="i1">6</td><td class="ctr1" id="j1">0</td><td class="ctr2" id="k1">1</td></tr><tr><td id="a1"><a href="AntResourcesLocator.java.html#L64" class="el_method">addAll(Iterator)</a></td><td class="bar" id="b2"><img src="../../jacoco-resources/greenbar.gif" width="46" height="10" title="10" alt="10"/></td><td class="ctr2" id="c2">100%</td><td class="bar" id="d1"><img src="../../jacoco-resources/greenbar.gif" width="120" height="10" title="2" alt="2"/></td><td class="ctr2" id="e1">100%</td><td class="ctr1" id="f2">0</td><td class="ctr2" id="g1">2</td><td class="ctr1" id="h2">0</td><td class="ctr2" id="i2">3</td><td class="ctr1" id="j2">0</td><td class="ctr2" id="k2">1</td></tr><tr><td id="a3"><a href="AntResourcesLocator.java.html#L75" class="el_method">isEmpty()</a></td><td class="bar" id="b3"><img src="../../jacoco-resources/greenbar.gif" width="13" height="10" title="3" alt="3"/></td><td class="ctr2" id="c3">100%</td><td class="bar" id="d3"/><td class="ctr2" id="e3">n/a</td><td class="ctr1" id="f3">0</td><td class="ctr2" id="g3">1</td><td class="ctr1" id="h3">0</td><td class="ctr2" id="i3">1</td><td class="ctr1" id="j3">0</td><td class="ctr2" id="k3">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.12.202403270442</span>Code Coverage Report for JaCoCo 0.8.12-SNAPSHOT</div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/trunk/coverage/org.jacoco.ant/org.jacoco.ant/AntResourcesLocator.java.html b/jacoco/trunk/coverage/org.jacoco.ant/org.jacoco.ant/AntResourcesLocator.java.html
    new file mode 100644
    index 00000000000..dc31a6d63eb
    --- /dev/null
    +++ b/jacoco/trunk/coverage/org.jacoco.ant/org.jacoco.ant/AntResourcesLocator.java.html
    @@ -0,0 +1,79 @@
    +<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="en"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../../jacoco-resources/report.gif" type="image/gif"/><title>AntResourcesLocator.java</title><link rel="stylesheet" href="../../jacoco-resources/prettify.css" type="text/css"/><script type="text/javascript" src="../../jacoco-resources/prettify.js"></script></head><body onload="window['PR_TAB_WIDTH']=4;prettyPrint()"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../../index.html" class="el_report">JaCoCo</a> &gt; <a href="../index.html" class="el_bundle">org.jacoco.ant</a> &gt; <a href="index.source.html" class="el_package">org.jacoco.ant</a> &gt; <span class="el_source">AntResourcesLocator.java</span></div><h1>AntResourcesLocator.java</h1><pre class="source lang-java linenums">/*******************************************************************************
    + * Copyright (c) 2009, 2024 Mountainminds GmbH &amp; Co. KG and Contributors
    + * This program and the accompanying materials are made available under
    + * the terms of the Eclipse Public License 2.0 which is available at
    + * http://www.eclipse.org/legal/epl-2.0
    + *
    + * SPDX-License-Identifier: EPL-2.0
    + *
    + * Contributors:
    + *    Marc R. Hoffmann - initial API and implementation
    + *    Dominik Stadler - source folder support
    + *
    + *******************************************************************************/
    +package org.jacoco.ant;
    +
    +import java.util.Iterator;
    +
    +import org.apache.tools.ant.types.Resource;
    +import org.apache.tools.ant.types.resources.FileResource;
    +import org.jacoco.report.DirectorySourceFileLocator;
    +import org.jacoco.report.MultiSourceFileLocator;
    +
    +/**
    + * Source file locator based on Ant resources. The locator supports files as
    + * well as directories. The lookup is first performed on files (matching the
    + * local file name) and afterwards on directories, by the order the directory
    + * resources have been added. The directories are considered as source folders
    + * that are searched for source files with the fully qualified name (package and
    + * local name).
    + */
    +class AntResourcesLocator extends MultiSourceFileLocator {
    +
    +	private final String encoding;
    +	private final AntFilesLocator filesLocator;
    +
    +	private boolean empty;
    +
    +	AntResourcesLocator(final String encoding, final int tabWidth) {
    +<span class="fc" id="L39">		super(tabWidth);</span>
    +<span class="fc" id="L40">		this.encoding = encoding;</span>
    +<span class="fc" id="L41">		this.filesLocator = new AntFilesLocator(encoding, tabWidth);</span>
    +<span class="fc" id="L42">		this.empty = true;</span>
    +<span class="fc" id="L43">		super.add(filesLocator);</span>
    +<span class="fc" id="L44">	}</span>
    +
    +	/**
    +	 * Adds the given file or directory resource to the locator.
    +	 *
    +	 * @param resource
    +	 *            resource to add
    +	 */
    +	void add(final Resource resource) {
    +<span class="fc" id="L53">		empty = false;</span>
    +<span class="fc bfc" id="L54" title="All 2 branches covered.">		if (resource.isDirectory()) {</span>
    +<span class="fc" id="L55">			final FileResource dir = (FileResource) resource;</span>
    +<span class="fc" id="L56">			super.add(new DirectorySourceFileLocator(dir.getFile(), encoding,</span>
    +					getTabWidth()));
    +<span class="fc" id="L58">		} else {</span>
    +<span class="fc" id="L59">			filesLocator.add(resource);</span>
    +		}
    +<span class="fc" id="L61">	}</span>
    +
    +	void addAll(final Iterator&lt;?&gt; iterator) {
    +<span class="fc bfc" id="L64" title="All 2 branches covered.">		while (iterator.hasNext()) {</span>
    +<span class="fc" id="L65">			add((Resource) iterator.next());</span>
    +		}
    +<span class="fc" id="L67">	}</span>
    +
    +	/**
    +	 * Checks, whether resources have been added.
    +	 *
    +	 * @return &lt;code&gt;true&lt;/code&gt;, if no resources have been added
    +	 */
    +	boolean isEmpty() {
    +<span class="fc" id="L75">		return empty;</span>
    +	}
    +
    +}
    +</pre><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.12.202403270442</span>Code Coverage Report for JaCoCo 0.8.12-SNAPSHOT</div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/trunk/coverage/org.jacoco.ant/org.jacoco.ant/CoverageTask$JavaLikeTaskEnhancer.html b/jacoco/trunk/coverage/org.jacoco.ant/org.jacoco.ant/CoverageTask$JavaLikeTaskEnhancer.html
    new file mode 100644
    index 00000000000..62d1b8d362c
    --- /dev/null
    +++ b/jacoco/trunk/coverage/org.jacoco.ant/org.jacoco.ant/CoverageTask$JavaLikeTaskEnhancer.html
    @@ -0,0 +1 @@
    +<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="en"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../../jacoco-resources/report.gif" type="image/gif"/><title>CoverageTask.JavaLikeTaskEnhancer</title><script type="text/javascript" src="../../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../../index.html" class="el_report">JaCoCo</a> &gt; <a href="../index.html" class="el_bundle">org.jacoco.ant</a> &gt; <a href="index.html" class="el_package">org.jacoco.ant</a> &gt; <span class="el_class">CoverageTask.JavaLikeTaskEnhancer</span></div><h1>CoverageTask.JavaLikeTaskEnhancer</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">0 of 71</td><td class="ctr2">100%</td><td class="bar">0 of 2</td><td class="ctr2">100%</td><td class="ctr1">0</td><td class="ctr2">5</td><td class="ctr1">0</td><td class="ctr2">18</td><td class="ctr1">0</td><td class="ctr2">4</td></tr></tfoot><tbody><tr><td id="a0"><a href="CoverageTask.java.html#L158" class="el_method">addJvmArgs(Task)</a></td><td class="bar" id="b0"><img src="../../jacoco-resources/greenbar.gif" width="120" height="10" title="29" alt="29"/></td><td class="ctr2" id="c0">100%</td><td class="bar" id="d1"/><td class="ctr2" id="e1">n/a</td><td class="ctr1" id="f0">0</td><td class="ctr2" id="g1">1</td><td class="ctr1" id="h0">0</td><td class="ctr2" id="i0">8</td><td class="ctr1" id="j0">0</td><td class="ctr2" id="k0">1</td></tr><tr><td id="a2"><a href="CoverageTask.java.html#L142" class="el_method">enhanceTask(Task)</a></td><td class="bar" id="b1"><img src="../../jacoco-resources/greenbar.gif" width="115" height="10" title="28" alt="28"/></td><td class="ctr2" id="c1">100%</td><td class="bar" id="d0"><img src="../../jacoco-resources/greenbar.gif" width="120" height="10" title="2" alt="2"/></td><td class="ctr2" id="e0">100%</td><td class="ctr1" id="f1">0</td><td class="ctr2" id="g0">2</td><td class="ctr1" id="h1">0</td><td class="ctr2" id="i1">6</td><td class="ctr1" id="j1">0</td><td class="ctr2" id="k1">1</td></tr><tr><td id="a1"><a href="CoverageTask.java.html#L133" class="el_method">CoverageTask.JavaLikeTaskEnhancer(CoverageTask, String)</a></td><td class="bar" id="b2"><img src="../../jacoco-resources/greenbar.gif" width="37" height="10" title="9" alt="9"/></td><td class="ctr2" id="c2">100%</td><td class="bar" id="d2"/><td class="ctr2" id="e2">n/a</td><td class="ctr1" id="f2">0</td><td class="ctr2" id="g2">1</td><td class="ctr1" id="h2">0</td><td class="ctr2" id="i2">3</td><td class="ctr1" id="j2">0</td><td class="ctr2" id="k2">1</td></tr><tr><td id="a3"><a href="CoverageTask.java.html#L138" class="el_method">supportsTask(String)</a></td><td class="bar" id="b3"><img src="../../jacoco-resources/greenbar.gif" width="20" height="10" title="5" alt="5"/></td><td class="ctr2" id="c3">100%</td><td class="bar" id="d3"/><td class="ctr2" id="e3">n/a</td><td class="ctr1" id="f3">0</td><td class="ctr2" id="g3">1</td><td class="ctr1" id="h3">0</td><td class="ctr2" id="i3">1</td><td class="ctr1" id="j3">0</td><td class="ctr2" id="k3">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.12.202403270442</span>Code Coverage Report for JaCoCo 0.8.12-SNAPSHOT</div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/trunk/coverage/org.jacoco.ant/org.jacoco.ant/CoverageTask$TestNGTaskEnhancer.html b/jacoco/trunk/coverage/org.jacoco.ant/org.jacoco.ant/CoverageTask$TestNGTaskEnhancer.html
    new file mode 100644
    index 00000000000..da35f07a268
    --- /dev/null
    +++ b/jacoco/trunk/coverage/org.jacoco.ant/org.jacoco.ant/CoverageTask$TestNGTaskEnhancer.html
    @@ -0,0 +1 @@
    +<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="en"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../../jacoco-resources/report.gif" type="image/gif"/><title>CoverageTask.TestNGTaskEnhancer</title><script type="text/javascript" src="../../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../../index.html" class="el_report">JaCoCo</a> &gt; <a href="../index.html" class="el_bundle">org.jacoco.ant</a> &gt; <a href="index.html" class="el_package">org.jacoco.ant</a> &gt; <span class="el_class">CoverageTask.TestNGTaskEnhancer</span></div><h1>CoverageTask.TestNGTaskEnhancer</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">4 of 12</td><td class="ctr2">66%</td><td class="bar">0 of 0</td><td class="ctr2">n/a</td><td class="ctr1">1</td><td class="ctr2">2</td><td class="ctr1">2</td><td class="ctr2">5</td><td class="ctr1">1</td><td class="ctr2">2</td></tr></tfoot><tbody><tr><td id="a1"><a href="CoverageTask.java.html#L120" class="el_method">enhanceTask(Task)</a></td><td class="bar" id="b0"><img src="../../jacoco-resources/redbar.gif" width="60" height="10" title="4" alt="4"/></td><td class="ctr2" id="c1">0%</td><td class="bar" id="d0"/><td class="ctr2" id="e0">n/a</td><td class="ctr1" id="f0">1</td><td class="ctr2" id="g0">1</td><td class="ctr1" id="h0">2</td><td class="ctr2" id="i1">2</td><td class="ctr1" id="j0">1</td><td class="ctr2" id="k0">1</td></tr><tr><td id="a0"><a href="CoverageTask.java.html#L114" class="el_method">CoverageTask.TestNGTaskEnhancer(CoverageTask, String)</a></td><td class="bar" id="b1"><img src="../../jacoco-resources/greenbar.gif" width="120" height="10" title="8" alt="8"/></td><td class="ctr2" id="c0">100%</td><td class="bar" id="d1"/><td class="ctr2" id="e1">n/a</td><td class="ctr1" id="f1">0</td><td class="ctr2" id="g1">1</td><td class="ctr1" id="h1">0</td><td class="ctr2" id="i0">3</td><td class="ctr1" id="j1">0</td><td class="ctr2" id="k1">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.12.202403270442</span>Code Coverage Report for JaCoCo 0.8.12-SNAPSHOT</div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/trunk/coverage/org.jacoco.ant/org.jacoco.ant/CoverageTask.html b/jacoco/trunk/coverage/org.jacoco.ant/org.jacoco.ant/CoverageTask.html
    new file mode 100644
    index 00000000000..4913306b225
    --- /dev/null
    +++ b/jacoco/trunk/coverage/org.jacoco.ant/org.jacoco.ant/CoverageTask.html
    @@ -0,0 +1 @@
    +<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="en"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../../jacoco-resources/report.gif" type="image/gif"/><title>CoverageTask</title><script type="text/javascript" src="../../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../../index.html" class="el_report">JaCoCo</a> &gt; <a href="../index.html" class="el_bundle">org.jacoco.ant</a> &gt; <a href="index.html" class="el_package">org.jacoco.ant</a> &gt; <span class="el_class">CoverageTask</span></div><h1>CoverageTask</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">0 of 126</td><td class="ctr2">100%</td><td class="bar">0 of 12</td><td class="ctr2">100%</td><td class="ctr1">0</td><td class="ctr2">10</td><td class="ctr1">0</td><td class="ctr2">26</td><td class="ctr1">0</td><td class="ctr2">4</td></tr></tfoot><tbody><tr><td id="a0"><a href="CoverageTask.java.html#L58" class="el_method">addTask(Task)</a></td><td class="bar" id="b0"><img src="../../jacoco-resources/greenbar.gif" width="120" height="10" title="57" alt="57"/></td><td class="ctr2" id="c0">100%</td><td class="bar" id="d0"><img src="../../jacoco-resources/greenbar.gif" width="120" height="10" title="6" alt="6"/></td><td class="ctr2" id="e0">100%</td><td class="ctr1" id="f0">0</td><td class="ctr2" id="g0">4</td><td class="ctr1" id="h0">0</td><td class="ctr2" id="i0">12</td><td class="ctr1" id="j0">0</td><td class="ctr2" id="k0">1</td></tr><tr><td id="a1"><a href="CoverageTask.java.html#L40" class="el_method">CoverageTask()</a></td><td class="bar" id="b1"><img src="../../jacoco-resources/greenbar.gif" width="73" height="10" title="35" alt="35"/></td><td class="ctr2" id="c1">100%</td><td class="bar" id="d3"/><td class="ctr2" id="e3">n/a</td><td class="ctr1" id="f1">0</td><td class="ctr2" id="g3">1</td><td class="ctr1" id="h1">0</td><td class="ctr2" id="i1">6</td><td class="ctr1" id="j1">0</td><td class="ctr2" id="k1">1</td></tr><tr><td id="a3"><a href="CoverageTask.java.html#L85" class="el_method">findEnhancerForTask(String)</a></td><td class="bar" id="b2"><img src="../../jacoco-resources/greenbar.gif" width="42" height="10" title="20" alt="20"/></td><td class="ctr2" id="c2">100%</td><td class="bar" id="d1"><img src="../../jacoco-resources/greenbar.gif" width="80" height="10" title="4" alt="4"/></td><td class="ctr2" id="e1">100%</td><td class="ctr1" id="f2">0</td><td class="ctr2" id="g1">3</td><td class="ctr1" id="h2">0</td><td class="ctr2" id="i2">4</td><td class="ctr1" id="j2">0</td><td class="ctr2" id="k2">1</td></tr><tr><td id="a2"><a href="CoverageTask.java.html#L99" class="el_method">execute()</a></td><td class="bar" id="b3"><img src="../../jacoco-resources/greenbar.gif" width="29" height="10" title="14" alt="14"/></td><td class="ctr2" id="c3">100%</td><td class="bar" id="d2"><img src="../../jacoco-resources/greenbar.gif" width="40" height="10" title="2" alt="2"/></td><td class="ctr2" id="e2">100%</td><td class="ctr1" id="f3">0</td><td class="ctr2" id="g2">2</td><td class="ctr1" id="h3">0</td><td class="ctr2" id="i3">4</td><td class="ctr1" id="j3">0</td><td class="ctr2" id="k3">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.12.202403270442</span>Code Coverage Report for JaCoCo 0.8.12-SNAPSHOT</div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/trunk/coverage/org.jacoco.ant/org.jacoco.ant/CoverageTask.java.html b/jacoco/trunk/coverage/org.jacoco.ant/org.jacoco.ant/CoverageTask.java.html
    new file mode 100644
    index 00000000000..7ea33c13d9f
    --- /dev/null
    +++ b/jacoco/trunk/coverage/org.jacoco.ant/org.jacoco.ant/CoverageTask.java.html
    @@ -0,0 +1,201 @@
    +<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="en"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../../jacoco-resources/report.gif" type="image/gif"/><title>CoverageTask.java</title><link rel="stylesheet" href="../../jacoco-resources/prettify.css" type="text/css"/><script type="text/javascript" src="../../jacoco-resources/prettify.js"></script></head><body onload="window['PR_TAB_WIDTH']=4;prettyPrint()"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../../index.html" class="el_report">JaCoCo</a> &gt; <a href="../index.html" class="el_bundle">org.jacoco.ant</a> &gt; <a href="index.source.html" class="el_package">org.jacoco.ant</a> &gt; <span class="el_source">CoverageTask.java</span></div><h1>CoverageTask.java</h1><pre class="source lang-java linenums">/*******************************************************************************
    + * Copyright (c) 2009, 2024 Mountainminds GmbH &amp; Co. KG and Contributors
    + * This program and the accompanying materials are made available under
    + * the terms of the Eclipse Public License 2.0 which is available at
    + * http://www.eclipse.org/legal/epl-2.0
    + *
    + * SPDX-License-Identifier: EPL-2.0
    + *
    + * Contributors:
    + *    Evgeny Mandrikov - TestNG support
    + *    Brock Janiczak - initial API and implementation
    + *
    + *******************************************************************************/
    +package org.jacoco.ant;
    +
    +import static java.lang.String.format;
    +
    +import java.util.ArrayList;
    +import java.util.Collection;
    +
    +import org.apache.tools.ant.BuildException;
    +import org.apache.tools.ant.Project;
    +import org.apache.tools.ant.RuntimeConfigurable;
    +import org.apache.tools.ant.Task;
    +import org.apache.tools.ant.TaskContainer;
    +import org.apache.tools.ant.UnknownElement;
    +
    +/**
    + * Container task to run Java/JUnit tasks with the JaCoCo agent jar. Coverage
    + * will only be applied if all of the following are true:
    + * &lt;ul&gt;
    + * &lt;li&gt;Exactly one sub task may be present&lt;/li&gt;
    + * &lt;li&gt;Task must be either Java or JUnit&lt;/li&gt;
    + * &lt;li&gt;Task must be using a forked VM (so vm args can be passed)&lt;/li&gt;
    + * &lt;/ul&gt;
    + */
    +public class CoverageTask extends AbstractCoverageTask
    +		implements TaskContainer {
    +
    +<span class="fc" id="L40">	private final Collection&lt;TaskEnhancer&gt; taskEnhancers = new ArrayList&lt;TaskEnhancer&gt;();</span>
    +	private Task childTask;
    +
    +	/**
    +	 * Creates a new default coverage task
    +	 */
    +	public CoverageTask() {
    +<span class="fc" id="L47">		super();</span>
    +<span class="fc" id="L48">		taskEnhancers.add(new JavaLikeTaskEnhancer(&quot;java&quot;));</span>
    +<span class="fc" id="L49">		taskEnhancers.add(new JavaLikeTaskEnhancer(&quot;junit&quot;));</span>
    +<span class="fc" id="L50">		taskEnhancers.add(new TestNGTaskEnhancer(&quot;testng&quot;));</span>
    +<span class="fc" id="L51">	}</span>
    +
    +	/**
    +	 * Add child task to this container and reconfigure it to run with coverage
    +	 * enabled
    +	 */
    +	public void addTask(final Task task) {
    +<span class="fc bfc" id="L58" title="All 2 branches covered.">		if (childTask != null) {</span>
    +<span class="fc" id="L59">			throw new BuildException(</span>
    +					&quot;Only one child task can be supplied to the coverge task&quot;,
    +					getLocation());
    +		}
    +
    +<span class="fc" id="L64">		this.childTask = task;</span>
    +
    +<span class="fc" id="L66">		final String subTaskTypeName = task.getTaskType();</span>
    +
    +<span class="fc" id="L68">		final TaskEnhancer enhancer = findEnhancerForTask(subTaskTypeName);</span>
    +<span class="fc bfc" id="L69" title="All 2 branches covered.">		if (enhancer == null) {</span>
    +<span class="fc" id="L70">			throw new BuildException(</span>
    +					format(&quot;%s is not a valid child of the coverage task&quot;,
    +							subTaskTypeName),
    +					getLocation());
    +		}
    +
    +<span class="fc bfc" id="L76" title="All 2 branches covered.">		if (isEnabled()) {</span>
    +<span class="fc" id="L77">			log(format(&quot;Enhancing %s with coverage&quot;, childTask.getTaskName()));</span>
    +<span class="fc" id="L78">			enhancer.enhanceTask(task);</span>
    +		}
    +
    +<span class="fc" id="L81">		task.maybeConfigure();</span>
    +<span class="fc" id="L82">	}</span>
    +
    +	private TaskEnhancer findEnhancerForTask(final String taskName) {
    +<span class="fc bfc" id="L85" title="All 2 branches covered.">		for (final TaskEnhancer enhancer : taskEnhancers) {</span>
    +<span class="fc bfc" id="L86" title="All 2 branches covered.">			if (enhancer.supportsTask(taskName)) {</span>
    +<span class="fc" id="L87">				return enhancer;</span>
    +			}
    +		}
    +
    +<span class="fc" id="L91">		return null;</span>
    +	}
    +
    +	/**
    +	 * Executes subtask and performs any required cleanup
    +	 */
    +	@Override
    +	public void execute() throws BuildException {
    +<span class="fc bfc" id="L99" title="All 2 branches covered.">		if (childTask == null) {</span>
    +<span class="fc" id="L100">			throw new BuildException(</span>
    +					&quot;A child task must be supplied for the coverage task&quot;,
    +					getLocation());
    +		}
    +
    +<span class="fc" id="L105">		childTask.execute();</span>
    +<span class="fc" id="L106">	}</span>
    +
    +	/**
    +	 * Task enhancer for TestNG. TestNG task always run in a forked VM and has
    +	 * nested jvmargs elements
    +	 */
    +	private class TestNGTaskEnhancer extends JavaLikeTaskEnhancer {
    +
    +<span class="fc" id="L114">		public TestNGTaskEnhancer(final String supportedTaskName) {</span>
    +<span class="fc" id="L115">			super(supportedTaskName);</span>
    +<span class="fc" id="L116">		}</span>
    +
    +		@Override
    +		public void enhanceTask(final Task task) {
    +<span class="nc" id="L120">			addJvmArgs(task);</span>
    +<span class="nc" id="L121">		}</span>
    +
    +	}
    +
    +	/**
    +	 * Basic task enhancer that can handle all 'java like' tasks. That is, tasks
    +	 * that have a top level fork attribute and nested jvmargs elements
    +	 */
    +	private class JavaLikeTaskEnhancer implements TaskEnhancer {
    +
    +		private final String supportedTaskName;
    +
    +<span class="fc" id="L133">		public JavaLikeTaskEnhancer(final String supportedTaskName) {</span>
    +<span class="fc" id="L134">			this.supportedTaskName = supportedTaskName;</span>
    +<span class="fc" id="L135">		}</span>
    +
    +		public boolean supportsTask(final String taskname) {
    +<span class="fc" id="L138">			return taskname.equals(supportedTaskName);</span>
    +		}
    +
    +		public void enhanceTask(final Task task) {
    +<span class="fc" id="L142">			final RuntimeConfigurable configurableWrapper = task</span>
    +					.getRuntimeConfigurableWrapper();
    +
    +<span class="fc" id="L145">			final String forkValue = getProject().replaceProperties(</span>
    +					(String) configurableWrapper.getAttributeMap().get(&quot;fork&quot;));
    +
    +<span class="fc bfc" id="L148" title="All 2 branches covered.">			if (!Project.toBoolean(forkValue)) {</span>
    +<span class="fc" id="L149">				throw new BuildException(</span>
    +						&quot;Coverage can only be applied on a forked VM&quot;,
    +						getLocation());
    +			}
    +
    +<span class="fc" id="L154">			addJvmArgs(task);</span>
    +<span class="fc" id="L155">		}</span>
    +
    +		public void addJvmArgs(final Task task) {
    +<span class="fc" id="L158">			final UnknownElement el = new UnknownElement(&quot;jvmarg&quot;);</span>
    +<span class="fc" id="L159">			el.setTaskName(&quot;jvmarg&quot;);</span>
    +<span class="fc" id="L160">			el.setQName(&quot;jvmarg&quot;);</span>
    +
    +<span class="fc" id="L162">			final RuntimeConfigurable runtimeConfigurableWrapper = el</span>
    +					.getRuntimeConfigurableWrapper();
    +<span class="fc" id="L164">			runtimeConfigurableWrapper.setAttribute(&quot;value&quot;,</span>
    +					getLaunchingArgument());
    +
    +<span class="fc" id="L167">			task.getRuntimeConfigurableWrapper()</span>
    +					.addChild(runtimeConfigurableWrapper);
    +
    +<span class="fc" id="L170">			((UnknownElement) task).addChild(el);</span>
    +<span class="fc" id="L171">		}</span>
    +	}
    +
    +	/**
    +	 * The task enhancer is responsible for potentially reconfiguring a task to
    +	 * support running with code coverage enabled
    +	 */
    +	private interface TaskEnhancer {
    +		/**
    +		 * @param taskname
    +		 *            Task type to enhance
    +		 * @return &lt;code&gt;true&lt;/code&gt; if this enhancer is capable of enhancing
    +		 *         the requested task type
    +		 */
    +		boolean supportsTask(String taskname);
    +
    +		/**
    +		 * Attempt to enhance the supplied task with coverage information. This
    +		 * operation may fail if the task is being executed in the current VM
    +		 *
    +		 * @param task
    +		 *            Task instance to enhance (usually an
    +		 *            {@link UnknownElement})
    +		 * @throws BuildException
    +		 *             Thrown if this enhancer can handle this type of task, but
    +		 *             this instance can not be enhanced for some reason.
    +		 */
    +		void enhanceTask(Task task) throws BuildException;
    +	}
    +}
    +</pre><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.12.202403270442</span>Code Coverage Report for JaCoCo 0.8.12-SNAPSHOT</div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/trunk/coverage/org.jacoco.ant/org.jacoco.ant/DumpTask$1.html b/jacoco/trunk/coverage/org.jacoco.ant/org.jacoco.ant/DumpTask$1.html
    new file mode 100644
    index 00000000000..57f50f03cf5
    --- /dev/null
    +++ b/jacoco/trunk/coverage/org.jacoco.ant/org.jacoco.ant/DumpTask$1.html
    @@ -0,0 +1 @@
    +<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="en"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../../jacoco-resources/report.gif" type="image/gif"/><title>DumpTask.new ExecDumpClient() {...}</title><script type="text/javascript" src="../../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../../index.html" class="el_report">JaCoCo</a> &gt; <a href="../index.html" class="el_bundle">org.jacoco.ant</a> &gt; <a href="index.html" class="el_package">org.jacoco.ant</a> &gt; <span class="el_class">DumpTask.new ExecDumpClient() {...}</span></div><h1>DumpTask.new ExecDumpClient() {...}</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">6 of 29</td><td class="ctr2">79%</td><td class="bar">0 of 0</td><td class="ctr2">n/a</td><td class="ctr1">1</td><td class="ctr2">3</td><td class="ctr1">2</td><td class="ctr2">5</td><td class="ctr1">1</td><td class="ctr2">3</td></tr></tfoot><tbody><tr><td id="a1"><a href="DumpTask.java.html#L140" class="el_method">onConnectionFailure(IOException)</a></td><td class="bar" id="b0"><img src="../../jacoco-resources/redbar.gif" width="42" height="10" title="6" alt="6"/></td><td class="ctr2" id="c2">0%</td><td class="bar" id="d0"/><td class="ctr2" id="e0">n/a</td><td class="ctr1" id="f0">1</td><td class="ctr2" id="g0">1</td><td class="ctr1" id="h0">2</td><td class="ctr2" id="i0">2</td><td class="ctr1" id="j0">1</td><td class="ctr2" id="k0">1</td></tr><tr><td id="a0"><a href="DumpTask.java.html#L134" class="el_method">onConnecting(InetAddress, int)</a></td><td class="bar" id="b1"><img src="../../jacoco-resources/greenbar.gif" width="120" height="10" title="17" alt="17"/></td><td class="ctr2" id="c0">100%</td><td class="bar" id="d1"/><td class="ctr2" id="e1">n/a</td><td class="ctr1" id="f1">0</td><td class="ctr2" id="g1">1</td><td class="ctr1" id="h1">0</td><td class="ctr2" id="i1">2</td><td class="ctr1" id="j1">0</td><td class="ctr2" id="k1">1</td></tr><tr><td id="a2"><a href="DumpTask.java.html#L139" class="el_method">{...}</a></td><td class="bar" id="b2"><img src="../../jacoco-resources/greenbar.gif" width="42" height="10" title="6" alt="6"/></td><td class="ctr2" id="c1">100%</td><td class="bar" id="d2"/><td class="ctr2" id="e2">n/a</td><td class="ctr1" id="f2">0</td><td class="ctr2" id="g2">1</td><td class="ctr1" id="h2">0</td><td class="ctr2" id="i2">1</td><td class="ctr1" id="j2">0</td><td class="ctr2" id="k2">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.12.202403270442</span>Code Coverage Report for JaCoCo 0.8.12-SNAPSHOT</div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/trunk/coverage/org.jacoco.ant/org.jacoco.ant/DumpTask.html b/jacoco/trunk/coverage/org.jacoco.ant/org.jacoco.ant/DumpTask.html
    new file mode 100644
    index 00000000000..f7872299217
    --- /dev/null
    +++ b/jacoco/trunk/coverage/org.jacoco.ant/org.jacoco.ant/DumpTask.html
    @@ -0,0 +1 @@
    +<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="en"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../../jacoco-resources/report.gif" type="image/gif"/><title>DumpTask</title><script type="text/javascript" src="../../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../../index.html" class="el_report">JaCoCo</a> &gt; <a href="../index.html" class="el_bundle">org.jacoco.ant</a> &gt; <a href="index.html" class="el_package">org.jacoco.ant</a> &gt; <span class="el_class">DumpTask</span></div><h1>DumpTask</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">4 of 131</td><td class="ctr2">96%</td><td class="bar">0 of 8</td><td class="ctr2">100%</td><td class="ctr1">1</td><td class="ctr2">13</td><td class="ctr1">2</td><td class="ctr2">38</td><td class="ctr1">1</td><td class="ctr2">9</td></tr></tfoot><tbody><tr><td id="a3"><a href="DumpTask.java.html#L93" class="el_method">setAppend(boolean)</a></td><td class="bar" id="b0"><img src="../../jacoco-resources/redbar.gif" width="6" height="10" title="4" alt="4"/></td><td class="ctr2" id="c8">0%</td><td class="bar" id="d1"/><td class="ctr2" id="e1">n/a</td><td class="ctr1" id="f0">1</td><td class="ctr2" id="g1">1</td><td class="ctr1" id="h0">2</td><td class="ctr2" id="i2">2</td><td class="ctr1" id="j0">1</td><td class="ctr2" id="k0">1</td></tr><tr><td id="a1"><a href="DumpTask.java.html#L121" class="el_method">execute()</a></td><td class="bar" id="b1"><img src="../../jacoco-resources/greenbar.gif" width="120" height="10" title="79" alt="79"/></td><td class="ctr2" id="c0">100%</td><td class="bar" id="d0"><img src="../../jacoco-resources/greenbar.gif" width="120" height="10" title="8" alt="8"/></td><td class="ctr2" id="e0">100%</td><td class="ctr1" id="f1">0</td><td class="ctr2" id="g0">5</td><td class="ctr1" id="h1">0</td><td class="ctr2" id="i0">16</td><td class="ctr1" id="j1">0</td><td class="ctr2" id="k1">1</td></tr><tr><td id="a0"><a href="DumpTask.java.html#L31" class="el_method">DumpTask()</a></td><td class="bar" id="b2"><img src="../../jacoco-resources/greenbar.gif" width="36" height="10" title="24" alt="24"/></td><td class="ctr2" id="c1">100%</td><td class="bar" id="d2"/><td class="ctr2" id="e2">n/a</td><td class="ctr1" id="f2">0</td><td class="ctr2" id="g2">1</td><td class="ctr1" id="h2">0</td><td class="ctr2" id="i1">8</td><td class="ctr1" id="j2">0</td><td class="ctr2" id="k2">1</td></tr><tr><td id="a4"><a href="DumpTask.java.html#L50" class="el_method">setDestfile(File)</a></td><td class="bar" id="b3"><img src="../../jacoco-resources/greenbar.gif" width="6" height="10" title="4" alt="4"/></td><td class="ctr2" id="c2">100%</td><td class="bar" id="d3"/><td class="ctr2" id="e3">n/a</td><td class="ctr1" id="f3">0</td><td class="ctr2" id="g3">1</td><td class="ctr1" id="h3">0</td><td class="ctr2" id="i3">2</td><td class="ctr1" id="j3">0</td><td class="ctr2" id="k3">1</td></tr><tr><td id="a2"><a href="DumpTask.java.html#L60" class="el_method">setAddress(String)</a></td><td class="bar" id="b4"><img src="../../jacoco-resources/greenbar.gif" width="6" height="10" title="4" alt="4"/></td><td class="ctr2" id="c3">100%</td><td class="bar" id="d4"/><td class="ctr2" id="e4">n/a</td><td class="ctr1" id="f4">0</td><td class="ctr2" id="g4">1</td><td class="ctr1" id="h4">0</td><td class="ctr2" id="i4">2</td><td class="ctr1" id="j4">0</td><td class="ctr2" id="k4">1</td></tr><tr><td id="a6"><a href="DumpTask.java.html#L70" class="el_method">setPort(int)</a></td><td class="bar" id="b5"><img src="../../jacoco-resources/greenbar.gif" width="6" height="10" title="4" alt="4"/></td><td class="ctr2" id="c4">100%</td><td class="bar" id="d5"/><td class="ctr2" id="e5">n/a</td><td class="ctr1" id="f5">0</td><td class="ctr2" id="g5">1</td><td class="ctr1" id="h5">0</td><td class="ctr2" id="i5">2</td><td class="ctr1" id="j5">0</td><td class="ctr2" id="k5">1</td></tr><tr><td id="a8"><a href="DumpTask.java.html#L81" class="el_method">setRetryCount(int)</a></td><td class="bar" id="b6"><img src="../../jacoco-resources/greenbar.gif" width="6" height="10" title="4" alt="4"/></td><td class="ctr2" id="c5">100%</td><td class="bar" id="d6"/><td class="ctr2" id="e6">n/a</td><td class="ctr1" id="f6">0</td><td class="ctr2" id="g6">1</td><td class="ctr1" id="h6">0</td><td class="ctr2" id="i6">2</td><td class="ctr1" id="j6">0</td><td class="ctr2" id="k6">1</td></tr><tr><td id="a5"><a href="DumpTask.java.html#L104" class="el_method">setDump(boolean)</a></td><td class="bar" id="b7"><img src="../../jacoco-resources/greenbar.gif" width="6" height="10" title="4" alt="4"/></td><td class="ctr2" id="c6">100%</td><td class="bar" id="d7"/><td class="ctr2" id="e7">n/a</td><td class="ctr1" id="f7">0</td><td class="ctr2" id="g7">1</td><td class="ctr1" id="h7">0</td><td class="ctr2" id="i7">2</td><td class="ctr1" id="j7">0</td><td class="ctr2" id="k7">1</td></tr><tr><td id="a7"><a href="DumpTask.java.html#L115" class="el_method">setReset(boolean)</a></td><td class="bar" id="b8"><img src="../../jacoco-resources/greenbar.gif" width="6" height="10" title="4" alt="4"/></td><td class="ctr2" id="c7">100%</td><td class="bar" id="d8"/><td class="ctr2" id="e8">n/a</td><td class="ctr1" id="f8">0</td><td class="ctr2" id="g8">1</td><td class="ctr1" id="h8">0</td><td class="ctr2" id="i8">2</td><td class="ctr1" id="j8">0</td><td class="ctr2" id="k8">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.12.202403270442</span>Code Coverage Report for JaCoCo 0.8.12-SNAPSHOT</div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/trunk/coverage/org.jacoco.ant/org.jacoco.ant/DumpTask.java.html b/jacoco/trunk/coverage/org.jacoco.ant/org.jacoco.ant/DumpTask.java.html
    new file mode 100644
    index 00000000000..6753782896b
    --- /dev/null
    +++ b/jacoco/trunk/coverage/org.jacoco.ant/org.jacoco.ant/DumpTask.java.html
    @@ -0,0 +1,161 @@
    +<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="en"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../../jacoco-resources/report.gif" type="image/gif"/><title>DumpTask.java</title><link rel="stylesheet" href="../../jacoco-resources/prettify.css" type="text/css"/><script type="text/javascript" src="../../jacoco-resources/prettify.js"></script></head><body onload="window['PR_TAB_WIDTH']=4;prettyPrint()"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../../index.html" class="el_report">JaCoCo</a> &gt; <a href="../index.html" class="el_bundle">org.jacoco.ant</a> &gt; <a href="index.source.html" class="el_package">org.jacoco.ant</a> &gt; <span class="el_source">DumpTask.java</span></div><h1>DumpTask.java</h1><pre class="source lang-java linenums">/*******************************************************************************
    + * Copyright (c) 2009, 2024 Mountainminds GmbH &amp; Co. KG and Contributors
    + * This program and the accompanying materials are made available under
    + * the terms of the Eclipse Public License 2.0 which is available at
    + * http://www.eclipse.org/legal/epl-2.0
    + *
    + * SPDX-License-Identifier: EPL-2.0
    + *
    + * Contributors:
    + *    Brock Janiczak - initial API and implementation
    + *
    + *******************************************************************************/
    +package org.jacoco.ant;
    +
    +import static java.lang.String.format;
    +
    +import java.io.File;
    +import java.io.IOException;
    +import java.net.InetAddress;
    +
    +import org.apache.tools.ant.BuildException;
    +import org.apache.tools.ant.Task;
    +import org.jacoco.core.runtime.AgentOptions;
    +import org.jacoco.core.tools.ExecDumpClient;
    +import org.jacoco.core.tools.ExecFileLoader;
    +
    +/**
    + * Ant task for remotely controlling an application that is running with the
    + * tcpserver output mode
    + */
    +<span class="fc" id="L31">public class DumpTask extends Task {</span>
    +
    +<span class="fc" id="L33">	private boolean dump = true;</span>
    +<span class="fc" id="L34">	private boolean reset = false;</span>
    +<span class="fc" id="L35">	private File destfile = null;</span>
    +<span class="fc" id="L36">	private String address = AgentOptions.DEFAULT_ADDRESS;</span>
    +<span class="fc" id="L37">	private int port = AgentOptions.DEFAULT_PORT;</span>
    +<span class="fc" id="L38">	private int retryCount = 10;</span>
    +<span class="fc" id="L39">	private boolean append = true;</span>
    +
    +	/**
    +	 * Sets the location of the execution data file to write. This parameter is
    +	 * required when dump is &lt;code&gt;true&lt;/code&gt;. Default is
    +	 * &lt;code&gt;jacoco.exec&lt;/code&gt;
    +	 *
    +	 * @param destfile
    +	 *            Location to write execution data to
    +	 */
    +	public void setDestfile(final File destfile) {
    +<span class="fc" id="L50">		this.destfile = destfile;</span>
    +<span class="fc" id="L51">	}</span>
    +
    +	/**
    +	 * IP Address or hostname to connect to. Defaults to &lt;code&gt;localhost&lt;/code&gt;
    +	 *
    +	 * @param address
    +	 *            IP Address or hostname to connect to
    +	 */
    +	public void setAddress(final String address) {
    +<span class="fc" id="L60">		this.address = address;</span>
    +<span class="fc" id="L61">	}</span>
    +
    +	/**
    +	 * Port number to connect to. Default is &lt;code&gt;6300&lt;/code&gt;
    +	 *
    +	 * @param port
    +	 *            Port to connect to
    +	 */
    +	public void setPort(final int port) {
    +<span class="fc" id="L70">		this.port = port;</span>
    +<span class="fc" id="L71">	}</span>
    +
    +	/**
    +	 * Number of retries which the goal will attempt to establish a connection.
    +	 * This can be used to wait until the target JVM is successfully launched.
    +	 *
    +	 * @param retryCount
    +	 *            number of retries
    +	 */
    +	public void setRetryCount(final int retryCount) {
    +<span class="fc" id="L81">		this.retryCount = retryCount;</span>
    +<span class="fc" id="L82">	}</span>
    +
    +	/**
    +	 * &lt;code&gt;true&lt;/code&gt; if the destination file it to be appended to.
    +	 * &lt;code&gt;false&lt;/code&gt; if the file is to be overwritten
    +	 *
    +	 * @param append
    +	 *            &lt;code&gt;true&lt;/code&gt; if the destination file should be appended
    +	 *            to
    +	 */
    +	public void setAppend(final boolean append) {
    +<span class="nc" id="L93">		this.append = append;</span>
    +<span class="nc" id="L94">	}</span>
    +
    +	/**
    +	 * Sets whether execution data should be downloaded from the remote host.
    +	 * Defaults to &lt;code&gt;true&lt;/code&gt;
    +	 *
    +	 * @param dump
    +	 *            &lt;code&gt;true&lt;/code&gt; to download execution data
    +	 */
    +	public void setDump(final boolean dump) {
    +<span class="fc" id="L104">		this.dump = dump;</span>
    +<span class="fc" id="L105">	}</span>
    +
    +	/**
    +	 * Sets whether a reset command should be sent after the execution data has
    +	 * been dumped. Defaults to &lt;code&gt;false&lt;/code&gt;
    +	 *
    +	 * @param reset
    +	 *            &lt;code&gt;true&lt;/code&gt; to reset execution data
    +	 */
    +	public void setReset(final boolean reset) {
    +<span class="fc" id="L115">		this.reset = reset;</span>
    +<span class="fc" id="L116">	}</span>
    +
    +	@Override
    +	public void execute() throws BuildException {
    +
    +<span class="fc bfc" id="L121" title="All 2 branches covered.">		if (port &lt;= 0) {</span>
    +<span class="fc" id="L122">			throw new BuildException(&quot;Invalid port value&quot;, getLocation());</span>
    +		}
    +<span class="fc bfc" id="L124" title="All 4 branches covered.">		if (dump &amp;&amp; destfile == null) {</span>
    +<span class="fc" id="L125">			throw new BuildException(</span>
    +					&quot;Destination file is required when dumping execution data&quot;,
    +					getLocation());
    +		}
    +
    +<span class="fc" id="L130">		final ExecDumpClient client = new ExecDumpClient() {</span>
    +			@Override
    +			protected void onConnecting(final InetAddress address,
    +					final int port) {
    +<span class="fc" id="L134">				log(format(&quot;Connecting to %s:%s&quot;, address,</span>
    +						Integer.valueOf(port)));
    +<span class="fc" id="L136">			}</span>
    +
    +			@Override
    +<span class="fc" id="L139">			protected void onConnectionFailure(final IOException exception) {</span>
    +<span class="nc" id="L140">				log(exception.getMessage());</span>
    +<span class="nc" id="L141">			}</span>
    +		};
    +<span class="fc" id="L143">		client.setDump(dump);</span>
    +<span class="fc" id="L144">		client.setReset(reset);</span>
    +<span class="fc" id="L145">		client.setRetryCount(retryCount);</span>
    +
    +		try {
    +<span class="fc" id="L148">			final ExecFileLoader loader = client.dump(address, port);</span>
    +<span class="fc bfc" id="L149" title="All 2 branches covered.">			if (dump) {</span>
    +<span class="fc" id="L150">				log(format(&quot;Dumping execution data to %s&quot;,</span>
    +						destfile.getAbsolutePath()));
    +<span class="fc" id="L152">				loader.save(destfile, append);</span>
    +			}
    +<span class="fc" id="L154">		} catch (final IOException e) {</span>
    +<span class="fc" id="L155">			throw new BuildException(&quot;Unable to dump coverage data&quot;, e,</span>
    +					getLocation());
    +<span class="fc" id="L157">		}</span>
    +<span class="fc" id="L158">	}</span>
    +
    +}
    +</pre><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.12.202403270442</span>Code Coverage Report for JaCoCo 0.8.12-SNAPSHOT</div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/trunk/coverage/org.jacoco.ant/org.jacoco.ant/InstrumentTask.html b/jacoco/trunk/coverage/org.jacoco.ant/org.jacoco.ant/InstrumentTask.html
    new file mode 100644
    index 00000000000..86cd8b90992
    --- /dev/null
    +++ b/jacoco/trunk/coverage/org.jacoco.ant/org.jacoco.ant/InstrumentTask.html
    @@ -0,0 +1 @@
    +<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="en"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../../jacoco-resources/report.gif" type="image/gif"/><title>InstrumentTask</title><script type="text/javascript" src="../../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../../index.html" class="el_report">JaCoCo</a> &gt; <a href="../index.html" class="el_bundle">org.jacoco.ant</a> &gt; <a href="index.html" class="el_package">org.jacoco.ant</a> &gt; <span class="el_class">InstrumentTask</span></div><h1>InstrumentTask</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">0 of 144</td><td class="ctr2">100%</td><td class="bar">0 of 6</td><td class="ctr2">100%</td><td class="ctr1">0</td><td class="ctr2">9</td><td class="ctr1">0</td><td class="ctr2">35</td><td class="ctr1">0</td><td class="ctr2">6</td></tr></tfoot><tbody><tr><td id="a1"><a href="InstrumentTask.java.html#L75" class="el_method">execute()</a></td><td class="bar" id="b0"><img src="../../jacoco-resources/greenbar.gif" width="120" height="10" title="64" alt="64"/></td><td class="ctr2" id="c0">100%</td><td class="bar" id="d0"><img src="../../jacoco-resources/greenbar.gif" width="120" height="10" title="6" alt="6"/></td><td class="ctr2" id="e0">100%</td><td class="ctr1" id="f0">0</td><td class="ctr2" id="g0">4</td><td class="ctr1" id="h0">0</td><td class="ctr2" id="i0">14</td><td class="ctr1" id="j0">0</td><td class="ctr2" id="k0">1</td></tr><tr><td id="a2"><a href="InstrumentTask.java.html#L97" class="el_method">instrument(Instrumenter, Resource)</a></td><td class="bar" id="b1"><img src="../../jacoco-resources/greenbar.gif" width="105" height="10" title="56" alt="56"/></td><td class="ctr2" id="c1">100%</td><td class="bar" id="d1"/><td class="ctr2" id="e1">n/a</td><td class="ctr1" id="f1">0</td><td class="ctr2" id="g1">1</td><td class="ctr1" id="h1">0</td><td class="ctr2" id="i1">12</td><td class="ctr1" id="j1">0</td><td class="ctr2" id="k1">1</td></tr><tr><td id="a3"><a href="InstrumentTask.java.html#L35" class="el_method">InstrumentTask()</a></td><td class="bar" id="b2"><img src="../../jacoco-resources/greenbar.gif" width="20" height="10" title="11" alt="11"/></td><td class="ctr2" id="c2">100%</td><td class="bar" id="d2"/><td class="ctr2" id="e2">n/a</td><td class="ctr1" id="f2">0</td><td class="ctr2" id="g2">1</td><td class="ctr1" id="h2">0</td><td class="ctr2" id="i2">3</td><td class="ctr1" id="j2">0</td><td class="ctr2" id="k2">1</td></tr><tr><td id="a0"><a href="InstrumentTask.java.html#L70" class="el_method">addConfigured(ResourceCollection)</a></td><td class="bar" id="b3"><img src="../../jacoco-resources/greenbar.gif" width="9" height="10" title="5" alt="5"/></td><td class="ctr2" id="c3">100%</td><td class="bar" id="d3"/><td class="ctr2" id="e3">n/a</td><td class="ctr1" id="f3">0</td><td class="ctr2" id="g3">1</td><td class="ctr1" id="h3">0</td><td class="ctr2" id="i3">2</td><td class="ctr1" id="j3">0</td><td class="ctr2" id="k3">1</td></tr><tr><td id="a4"><a href="InstrumentTask.java.html#L50" class="el_method">setDestdir(File)</a></td><td class="bar" id="b4"><img src="../../jacoco-resources/greenbar.gif" width="7" height="10" title="4" alt="4"/></td><td class="ctr2" id="c4">100%</td><td class="bar" id="d4"/><td class="ctr2" id="e4">n/a</td><td class="ctr1" id="f4">0</td><td class="ctr2" id="g4">1</td><td class="ctr1" id="h4">0</td><td class="ctr2" id="i4">2</td><td class="ctr1" id="j4">0</td><td class="ctr2" id="k4">1</td></tr><tr><td id="a5"><a href="InstrumentTask.java.html#L60" class="el_method">setRemovesignatures(boolean)</a></td><td class="bar" id="b5"><img src="../../jacoco-resources/greenbar.gif" width="7" height="10" title="4" alt="4"/></td><td class="ctr2" id="c5">100%</td><td class="bar" id="d5"/><td class="ctr2" id="e5">n/a</td><td class="ctr1" id="f5">0</td><td class="ctr2" id="g5">1</td><td class="ctr1" id="h5">0</td><td class="ctr2" id="i5">2</td><td class="ctr1" id="j5">0</td><td class="ctr2" id="k5">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.12.202403270442</span>Code Coverage Report for JaCoCo 0.8.12-SNAPSHOT</div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/trunk/coverage/org.jacoco.ant/org.jacoco.ant/InstrumentTask.java.html b/jacoco/trunk/coverage/org.jacoco.ant/org.jacoco.ant/InstrumentTask.java.html
    new file mode 100644
    index 00000000000..1c12d203381
    --- /dev/null
    +++ b/jacoco/trunk/coverage/org.jacoco.ant/org.jacoco.ant/InstrumentTask.java.html
    @@ -0,0 +1,119 @@
    +<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="en"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../../jacoco-resources/report.gif" type="image/gif"/><title>InstrumentTask.java</title><link rel="stylesheet" href="../../jacoco-resources/prettify.css" type="text/css"/><script type="text/javascript" src="../../jacoco-resources/prettify.js"></script></head><body onload="window['PR_TAB_WIDTH']=4;prettyPrint()"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../../index.html" class="el_report">JaCoCo</a> &gt; <a href="../index.html" class="el_bundle">org.jacoco.ant</a> &gt; <a href="index.source.html" class="el_package">org.jacoco.ant</a> &gt; <span class="el_source">InstrumentTask.java</span></div><h1>InstrumentTask.java</h1><pre class="source lang-java linenums">/*******************************************************************************
    + * Copyright (c) 2009, 2024 Mountainminds GmbH &amp; Co. KG and Contributors
    + * This program and the accompanying materials are made available under
    + * the terms of the Eclipse Public License 2.0 which is available at
    + * http://www.eclipse.org/legal/epl-2.0
    + *
    + * SPDX-License-Identifier: EPL-2.0
    + *
    + * Contributors:
    + *    Brock Janiczak - initial API and implementation
    + *
    + *******************************************************************************/
    +package org.jacoco.ant;
    +
    +import static java.lang.String.format;
    +
    +import java.io.File;
    +import java.io.FileOutputStream;
    +import java.io.InputStream;
    +import java.io.OutputStream;
    +import java.util.Iterator;
    +
    +import org.apache.tools.ant.BuildException;
    +import org.apache.tools.ant.Task;
    +import org.apache.tools.ant.types.Resource;
    +import org.apache.tools.ant.types.ResourceCollection;
    +import org.apache.tools.ant.types.resources.Union;
    +import org.apache.tools.ant.util.FileUtils;
    +import org.jacoco.core.instr.Instrumenter;
    +import org.jacoco.core.runtime.OfflineInstrumentationAccessGenerator;
    +
    +/**
    + * Task for offline instrumentation of class files.
    + */
    +<span class="fc" id="L35">public class InstrumentTask extends Task {</span>
    +
    +	private File destdir;
    +
    +<span class="fc" id="L39">	private final Union files = new Union();</span>
    +
    +<span class="fc" id="L41">	private boolean removesignatures = true;</span>
    +
    +	/**
    +	 * Sets the location of the instrumented classes.
    +	 *
    +	 * @param destdir
    +	 *            destination folder for instrumented classes
    +	 */
    +	public void setDestdir(final File destdir) {
    +<span class="fc" id="L50">		this.destdir = destdir;</span>
    +<span class="fc" id="L51">	}</span>
    +
    +	/**
    +	 * Sets whether signatures should be removed from JAR files.
    +	 *
    +	 * @param removesignatures
    +	 *            &lt;code&gt;true&lt;/code&gt; if signatures should be removed
    +	 */
    +	public void setRemovesignatures(final boolean removesignatures) {
    +<span class="fc" id="L60">		this.removesignatures = removesignatures;</span>
    +<span class="fc" id="L61">	}</span>
    +
    +	/**
    +	 * This task accepts any number of class file resources.
    +	 *
    +	 * @param resources
    +	 *            Execution data resources
    +	 */
    +	public void addConfigured(final ResourceCollection resources) {
    +<span class="fc" id="L70">		files.add(resources);</span>
    +<span class="fc" id="L71">	}</span>
    +
    +	@Override
    +	public void execute() throws BuildException {
    +<span class="fc bfc" id="L75" title="All 2 branches covered.">		if (destdir == null) {</span>
    +<span class="fc" id="L76">			throw new BuildException(&quot;Destination directory must be supplied&quot;,</span>
    +					getLocation());
    +		}
    +<span class="fc" id="L79">		int total = 0;</span>
    +<span class="fc" id="L80">		final Instrumenter instrumenter = new Instrumenter(</span>
    +				new OfflineInstrumentationAccessGenerator());
    +<span class="fc" id="L82">		instrumenter.setRemoveSignatures(removesignatures);</span>
    +<span class="fc" id="L83">		final Iterator&lt;?&gt; resourceIterator = files.iterator();</span>
    +<span class="fc bfc" id="L84" title="All 2 branches covered.">		while (resourceIterator.hasNext()) {</span>
    +<span class="fc" id="L85">			final Resource resource = (Resource) resourceIterator.next();</span>
    +<span class="fc bfc" id="L86" title="All 2 branches covered.">			if (resource.isDirectory()) {</span>
    +<span class="fc" id="L87">				continue;</span>
    +			}
    +<span class="fc" id="L89">			total += instrument(instrumenter, resource);</span>
    +<span class="fc" id="L90">		}</span>
    +<span class="fc" id="L91">		log(format(&quot;Instrumented %s classes to %s&quot;, Integer.valueOf(total),</span>
    +				destdir.getAbsolutePath()));
    +<span class="fc" id="L93">	}</span>
    +
    +	private int instrument(final Instrumenter instrumenter,
    +			final Resource resource) {
    +<span class="fc" id="L97">		final File file = new File(destdir, resource.getName());</span>
    +<span class="fc" id="L98">		file.getParentFile().mkdirs();</span>
    +		try {
    +<span class="fc" id="L100">			InputStream input = null;</span>
    +<span class="fc" id="L101">			OutputStream output = null;</span>
    +			try {
    +<span class="fc" id="L103">				input = resource.getInputStream();</span>
    +<span class="fc" id="L104">				output = new FileOutputStream(file);</span>
    +<span class="fc" id="L105">				return instrumenter.instrumentAll(input, output,</span>
    +						resource.getName());
    +			} finally {
    +<span class="fc" id="L108">				FileUtils.close(input);</span>
    +<span class="fc" id="L109">				FileUtils.close(output);</span>
    +			}
    +<span class="fc" id="L111">		} catch (final Exception e) {</span>
    +<span class="fc" id="L112">			file.delete();</span>
    +<span class="fc" id="L113">			throw new BuildException(</span>
    +					format(&quot;Error while instrumenting %s&quot;, resource), e,
    +					getLocation());
    +		}
    +	}
    +}
    +</pre><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.12.202403270442</span>Code Coverage Report for JaCoCo 0.8.12-SNAPSHOT</div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/trunk/coverage/org.jacoco.ant/org.jacoco.ant/MergeTask.html b/jacoco/trunk/coverage/org.jacoco.ant/org.jacoco.ant/MergeTask.html
    new file mode 100644
    index 00000000000..5c23d030412
    --- /dev/null
    +++ b/jacoco/trunk/coverage/org.jacoco.ant/org.jacoco.ant/MergeTask.html
    @@ -0,0 +1 @@
    +<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="en"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../../jacoco-resources/report.gif" type="image/gif"/><title>MergeTask</title><script type="text/javascript" src="../../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../../index.html" class="el_report">JaCoCo</a> &gt; <a href="../index.html" class="el_bundle">org.jacoco.ant</a> &gt; <a href="index.html" class="el_package">org.jacoco.ant</a> &gt; <span class="el_class">MergeTask</span></div><h1>MergeTask</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">0 of 128</td><td class="ctr2">100%</td><td class="bar">0 of 6</td><td class="ctr2">100%</td><td class="ctr1">0</td><td class="ctr2">9</td><td class="ctr1">0</td><td class="ctr2">32</td><td class="ctr1">0</td><td class="ctr2">6</td></tr></tfoot><tbody><tr><td id="a2"><a href="MergeTask.java.html#L73" class="el_method">load(ExecFileLoader)</a></td><td class="bar" id="b0"><img src="../../jacoco-resources/greenbar.gif" width="120" height="10" title="53" alt="53"/></td><td class="ctr2" id="c0">100%</td><td class="bar" id="d0"><img src="../../jacoco-resources/greenbar.gif" width="120" height="10" title="4" alt="4"/></td><td class="ctr2" id="e0">100%</td><td class="ctr1" id="f0">0</td><td class="ctr2" id="g0">3</td><td class="ctr1" id="h0">0</td><td class="ctr2" id="i0">14</td><td class="ctr1" id="j0">0</td><td class="ctr2" id="k0">1</td></tr><tr><td id="a4"><a href="MergeTask.java.html#L97" class="el_method">save(ExecFileLoader)</a></td><td class="bar" id="b1"><img src="../../jacoco-resources/greenbar.gif" width="83" height="10" title="37" alt="37"/></td><td class="ctr2" id="c1">100%</td><td class="bar" id="d2"/><td class="ctr2" id="e2">n/a</td><td class="ctr1" id="f1">0</td><td class="ctr2" id="g2">1</td><td class="ctr1" id="h1">0</td><td class="ctr2" id="i1">6</td><td class="ctr1" id="j1">0</td><td class="ctr2" id="k1">1</td></tr><tr><td id="a1"><a href="MergeTask.java.html#L61" class="el_method">execute()</a></td><td class="bar" id="b2"><img src="../../jacoco-resources/greenbar.gif" width="47" height="10" title="21" alt="21"/></td><td class="ctr2" id="c2">100%</td><td class="bar" id="d1"><img src="../../jacoco-resources/greenbar.gif" width="60" height="10" title="2" alt="2"/></td><td class="ctr2" id="e1">100%</td><td class="ctr1" id="f2">0</td><td class="ctr2" id="g1">2</td><td class="ctr1" id="h2">0</td><td class="ctr2" id="i2">6</td><td class="ctr1" id="j2">0</td><td class="ctr2" id="k2">1</td></tr><tr><td id="a3"><a href="MergeTask.java.html#L33" class="el_method">MergeTask()</a></td><td class="bar" id="b3"><img src="../../jacoco-resources/greenbar.gif" width="18" height="10" title="8" alt="8"/></td><td class="ctr2" id="c3">100%</td><td class="bar" id="d3"/><td class="ctr2" id="e3">n/a</td><td class="ctr1" id="f3">0</td><td class="ctr2" id="g3">1</td><td class="ctr1" id="h3">0</td><td class="ctr2" id="i3">2</td><td class="ctr1" id="j3">0</td><td class="ctr2" id="k3">1</td></tr><tr><td id="a0"><a href="MergeTask.java.html#L56" class="el_method">addConfigured(ResourceCollection)</a></td><td class="bar" id="b4"><img src="../../jacoco-resources/greenbar.gif" width="11" height="10" title="5" alt="5"/></td><td class="ctr2" id="c4">100%</td><td class="bar" id="d4"/><td class="ctr2" id="e4">n/a</td><td class="ctr1" id="f4">0</td><td class="ctr2" id="g4">1</td><td class="ctr1" id="h4">0</td><td class="ctr2" id="i4">2</td><td class="ctr1" id="j4">0</td><td class="ctr2" id="k4">1</td></tr><tr><td id="a5"><a href="MergeTask.java.html#L46" class="el_method">setDestfile(File)</a></td><td class="bar" id="b5"><img src="../../jacoco-resources/greenbar.gif" width="9" height="10" title="4" alt="4"/></td><td class="ctr2" id="c5">100%</td><td class="bar" id="d5"/><td class="ctr2" id="e5">n/a</td><td class="ctr1" id="f5">0</td><td class="ctr2" id="g5">1</td><td class="ctr1" id="h5">0</td><td class="ctr2" id="i5">2</td><td class="ctr1" id="j5">0</td><td class="ctr2" id="k5">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.12.202403270442</span>Code Coverage Report for JaCoCo 0.8.12-SNAPSHOT</div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/trunk/coverage/org.jacoco.ant/org.jacoco.ant/MergeTask.java.html b/jacoco/trunk/coverage/org.jacoco.ant/org.jacoco.ant/MergeTask.java.html
    new file mode 100644
    index 00000000000..fead8b165c0
    --- /dev/null
    +++ b/jacoco/trunk/coverage/org.jacoco.ant/org.jacoco.ant/MergeTask.java.html
    @@ -0,0 +1,108 @@
    +<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="en"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../../jacoco-resources/report.gif" type="image/gif"/><title>MergeTask.java</title><link rel="stylesheet" href="../../jacoco-resources/prettify.css" type="text/css"/><script type="text/javascript" src="../../jacoco-resources/prettify.js"></script></head><body onload="window['PR_TAB_WIDTH']=4;prettyPrint()"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../../index.html" class="el_report">JaCoCo</a> &gt; <a href="../index.html" class="el_bundle">org.jacoco.ant</a> &gt; <a href="index.source.html" class="el_package">org.jacoco.ant</a> &gt; <span class="el_source">MergeTask.java</span></div><h1>MergeTask.java</h1><pre class="source lang-java linenums">/*******************************************************************************
    + * Copyright (c) 2009, 2024 Mountainminds GmbH &amp; Co. KG and Contributors
    + * This program and the accompanying materials are made available under
    + * the terms of the Eclipse Public License 2.0 which is available at
    + * http://www.eclipse.org/legal/epl-2.0
    + *
    + * SPDX-License-Identifier: EPL-2.0
    + *
    + * Contributors:
    + *    Brock Janiczak - initial API and implementation
    + *
    + *******************************************************************************/
    +package org.jacoco.ant;
    +
    +import static java.lang.String.format;
    +
    +import java.io.File;
    +import java.io.IOException;
    +import java.io.InputStream;
    +import java.util.Iterator;
    +
    +import org.apache.tools.ant.BuildException;
    +import org.apache.tools.ant.Task;
    +import org.apache.tools.ant.types.Resource;
    +import org.apache.tools.ant.types.ResourceCollection;
    +import org.apache.tools.ant.types.resources.Union;
    +import org.apache.tools.ant.util.FileUtils;
    +import org.jacoco.core.tools.ExecFileLoader;
    +
    +/**
    + * Task for merging a set of execution data files (*.exec) into a single file
    + */
    +<span class="fc" id="L33">public class MergeTask extends Task {</span>
    +
    +	private File destfile;
    +
    +<span class="fc" id="L37">	private final Union files = new Union();</span>
    +
    +	/**
    +	 * Sets the location of the merged data store
    +	 *
    +	 * @param destfile
    +	 *            Destination data store location
    +	 */
    +	public void setDestfile(final File destfile) {
    +<span class="fc" id="L46">		this.destfile = destfile;</span>
    +<span class="fc" id="L47">	}</span>
    +
    +	/**
    +	 * This task accepts any number of execution data resources.
    +	 *
    +	 * @param resources
    +	 *            Execution data resources
    +	 */
    +	public void addConfigured(final ResourceCollection resources) {
    +<span class="fc" id="L56">		files.add(resources);</span>
    +<span class="fc" id="L57">	}</span>
    +
    +	@Override
    +	public void execute() throws BuildException {
    +<span class="fc bfc" id="L61" title="All 2 branches covered.">		if (destfile == null) {</span>
    +<span class="fc" id="L62">			throw new BuildException(&quot;Destination file must be supplied&quot;,</span>
    +					getLocation());
    +		}
    +
    +<span class="fc" id="L66">		final ExecFileLoader loader = new ExecFileLoader();</span>
    +
    +<span class="fc" id="L68">		load(loader);</span>
    +<span class="fc" id="L69">		save(loader);</span>
    +<span class="fc" id="L70">	}</span>
    +
    +	private void load(final ExecFileLoader loader) {
    +<span class="fc" id="L73">		final Iterator&lt;?&gt; resourceIterator = files.iterator();</span>
    +<span class="fc bfc" id="L74" title="All 2 branches covered.">		while (resourceIterator.hasNext()) {</span>
    +<span class="fc" id="L75">			final Resource resource = (Resource) resourceIterator.next();</span>
    +
    +<span class="fc bfc" id="L77" title="All 2 branches covered.">			if (resource.isDirectory()) {</span>
    +<span class="fc" id="L78">				continue;</span>
    +			}
    +
    +<span class="fc" id="L81">			log(format(&quot;Loading execution data file %s&quot;, resource));</span>
    +
    +<span class="fc" id="L83">			InputStream resourceStream = null;</span>
    +			try {
    +<span class="fc" id="L85">				resourceStream = resource.getInputStream();</span>
    +<span class="fc" id="L86">				loader.load(resourceStream);</span>
    +<span class="fc" id="L87">			} catch (final IOException e) {</span>
    +<span class="fc" id="L88">				throw new BuildException(format(&quot;Unable to read %s&quot;, resource),</span>
    +						e, getLocation());
    +			} finally {
    +<span class="fc" id="L91">				FileUtils.close(resourceStream);</span>
    +			}
    +<span class="fc" id="L93">		}</span>
    +<span class="fc" id="L94">	}</span>
    +
    +	private void save(final ExecFileLoader loader) {
    +<span class="fc" id="L97">		log(format(&quot;Writing merged execution data to %s&quot;,</span>
    +				destfile.getAbsolutePath()));
    +		try {
    +<span class="fc" id="L100">			loader.save(destfile, false);</span>
    +<span class="fc" id="L101">		} catch (final IOException e) {</span>
    +<span class="fc" id="L102">			throw new BuildException(format(&quot;Unable to write merged file %s&quot;,</span>
    +					destfile.getAbsolutePath()), e, getLocation());
    +<span class="fc" id="L104">		}</span>
    +<span class="fc" id="L105">	}</span>
    +
    +}
    +</pre><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.12.202403270442</span>Code Coverage Report for JaCoCo 0.8.12-SNAPSHOT</div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/trunk/coverage/org.jacoco.ant/org.jacoco.ant/ReportTask$CSVFormatterElement.html b/jacoco/trunk/coverage/org.jacoco.ant/org.jacoco.ant/ReportTask$CSVFormatterElement.html
    new file mode 100644
    index 00000000000..6d854e8ffd9
    --- /dev/null
    +++ b/jacoco/trunk/coverage/org.jacoco.ant/org.jacoco.ant/ReportTask$CSVFormatterElement.html
    @@ -0,0 +1 @@
    +<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="en"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../../jacoco-resources/report.gif" type="image/gif"/><title>ReportTask.CSVFormatterElement</title><script type="text/javascript" src="../../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../../index.html" class="el_report">JaCoCo</a> &gt; <a href="../index.html" class="el_bundle">org.jacoco.ant</a> &gt; <a href="index.html" class="el_package">org.jacoco.ant</a> &gt; <span class="el_class">ReportTask.CSVFormatterElement</span></div><h1>ReportTask.CSVFormatterElement</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">0 of 46</td><td class="ctr2">100%</td><td class="bar">0 of 2</td><td class="ctr2">100%</td><td class="ctr1">0</td><td class="ctr2">5</td><td class="ctr1">0</td><td class="ctr2">11</td><td class="ctr1">0</td><td class="ctr2">4</td></tr></tfoot><tbody><tr><td id="a0"><a href="ReportTask.java.html#L280" class="el_method">createVisitor()</a></td><td class="bar" id="b0"><img src="../../jacoco-resources/greenbar.gif" width="120" height="10" title="27" alt="27"/></td><td class="ctr2" id="c0">100%</td><td class="bar" id="d0"><img src="../../jacoco-resources/greenbar.gif" width="120" height="10" title="2" alt="2"/></td><td class="ctr2" id="e0">100%</td><td class="ctr1" id="f0">0</td><td class="ctr2" id="g0">2</td><td class="ctr1" id="h0">0</td><td class="ctr2" id="i0">5</td><td class="ctr1" id="j0">0</td><td class="ctr2" id="k0">1</td></tr><tr><td id="a1"><a href="ReportTask.java.html#L262" class="el_method">ReportTask.CSVFormatterElement(ReportTask)</a></td><td class="bar" id="b1"><img src="../../jacoco-resources/greenbar.gif" width="48" height="10" title="11" alt="11"/></td><td class="ctr2" id="c1">100%</td><td class="bar" id="d1"/><td class="ctr2" id="e1">n/a</td><td class="ctr1" id="f1">0</td><td class="ctr2" id="g1">1</td><td class="ctr1" id="h1">0</td><td class="ctr2" id="i1">2</td><td class="ctr1" id="j1">0</td><td class="ctr2" id="k1">1</td></tr><tr><td id="a2"><a href="ReportTask.java.html#L275" class="el_method">setDestfile(File)</a></td><td class="bar" id="b2"><img src="../../jacoco-resources/greenbar.gif" width="17" height="10" title="4" alt="4"/></td><td class="ctr2" id="c2">100%</td><td class="bar" id="d2"/><td class="ctr2" id="e2">n/a</td><td class="ctr1" id="f2">0</td><td class="ctr2" id="g2">1</td><td class="ctr1" id="h2">0</td><td class="ctr2" id="i2">2</td><td class="ctr1" id="j2">0</td><td class="ctr2" id="k2">1</td></tr><tr><td id="a3"><a href="ReportTask.java.html#L297" class="el_method">setEncoding(String)</a></td><td class="bar" id="b3"><img src="../../jacoco-resources/greenbar.gif" width="17" height="10" title="4" alt="4"/></td><td class="ctr2" id="c3">100%</td><td class="bar" id="d3"/><td class="ctr2" id="e3">n/a</td><td class="ctr1" id="f3">0</td><td class="ctr2" id="g3">1</td><td class="ctr1" id="h3">0</td><td class="ctr2" id="i3">2</td><td class="ctr1" id="j3">0</td><td class="ctr2" id="k3">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.12.202403270442</span>Code Coverage Report for JaCoCo 0.8.12-SNAPSHOT</div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/trunk/coverage/org.jacoco.ant/org.jacoco.ant/ReportTask$CheckFormatterElement.html b/jacoco/trunk/coverage/org.jacoco.ant/org.jacoco.ant/ReportTask$CheckFormatterElement.html
    new file mode 100644
    index 00000000000..3d21f07bb22
    --- /dev/null
    +++ b/jacoco/trunk/coverage/org.jacoco.ant/org.jacoco.ant/ReportTask$CheckFormatterElement.html
    @@ -0,0 +1 @@
    +<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="en"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../../jacoco-resources/report.gif" type="image/gif"/><title>ReportTask.CheckFormatterElement</title><script type="text/javascript" src="../../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../../index.html" class="el_report">JaCoCo</a> &gt; <a href="../index.html" class="el_bundle">org.jacoco.ant</a> &gt; <a href="index.html" class="el_package">org.jacoco.ant</a> &gt; <span class="el_class">ReportTask.CheckFormatterElement</span></div><h1>ReportTask.CheckFormatterElement</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">0 of 111</td><td class="ctr2">100%</td><td class="bar">0 of 8</td><td class="ctr2">100%</td><td class="ctr1">0</td><td class="ctr2">11</td><td class="ctr1">0</td><td class="ctr2">25</td><td class="ctr1">0</td><td class="ctr2">7</td></tr></tfoot><tbody><tr><td id="a3"><a href="ReportTask.java.html#L397" class="el_method">onViolation(ICoverageNode, Rule, Limit, String)</a></td><td class="bar" id="b0"><img src="../../jacoco-resources/greenbar.gif" width="120" height="10" title="43" alt="43"/></td><td class="ctr2" id="c0">100%</td><td class="bar" id="d0"><img src="../../jacoco-resources/greenbar.gif" width="120" height="10" title="4" alt="4"/></td><td class="ctr2" id="e0">100%</td><td class="ctr1" id="f0">0</td><td class="ctr2" id="g0">3</td><td class="ctr1" id="h0">0</td><td class="ctr2" id="i0">7</td><td class="ctr1" id="j0">0</td><td class="ctr2" id="k0">1</td></tr><tr><td id="a4"><a href="ReportTask.java.html#L348" class="el_method">ReportTask.CheckFormatterElement(ReportTask)</a></td><td class="bar" id="b1"><img src="../../jacoco-resources/greenbar.gif" width="61" height="10" title="22" alt="22"/></td><td class="ctr2" id="c1">100%</td><td class="bar" id="d2"/><td class="ctr2" id="e2">n/a</td><td class="ctr1" id="f1">0</td><td class="ctr2" id="g2">1</td><td class="ctr1" id="h1">0</td><td class="ctr2" id="i1">5</td><td class="ctr1" id="j1">0</td><td class="ctr2" id="k1">1</td></tr><tr><td id="a2"><a href="ReportTask.java.html#L409" class="el_method">finish()</a></td><td class="bar" id="b2"><img src="../../jacoco-resources/greenbar.gif" width="41" height="10" title="15" alt="15"/></td><td class="ctr2" id="c2">100%</td><td class="bar" id="d1"><img src="../../jacoco-resources/greenbar.gif" width="120" height="10" title="4" alt="4"/></td><td class="ctr2" id="e1">100%</td><td class="ctr1" id="f2">0</td><td class="ctr2" id="g1">3</td><td class="ctr1" id="h2">0</td><td class="ctr2" id="i2">3</td><td class="ctr1" id="j2">0</td><td class="ctr2" id="k2">1</td></tr><tr><td id="a1"><a href="ReportTask.java.html#L390" class="el_method">createVisitor()</a></td><td class="bar" id="b3"><img src="../../jacoco-resources/greenbar.gif" width="33" height="10" title="12" alt="12"/></td><td class="ctr2" id="c3">100%</td><td class="bar" id="d3"/><td class="ctr2" id="e3">n/a</td><td class="ctr1" id="f3">0</td><td class="ctr2" id="g3">1</td><td class="ctr1" id="h3">0</td><td class="ctr2" id="i3">3</td><td class="ctr1" id="j3">0</td><td class="ctr2" id="k3">1</td></tr><tr><td id="a0"><a href="ReportTask.java.html#L362" class="el_method">createRule()</a></td><td class="bar" id="b4"><img src="../../jacoco-resources/greenbar.gif" width="30" height="10" title="11" alt="11"/></td><td class="ctr2" id="c4">100%</td><td class="bar" id="d4"/><td class="ctr2" id="e4">n/a</td><td class="ctr1" id="f4">0</td><td class="ctr2" id="g4">1</td><td class="ctr1" id="h4">0</td><td class="ctr2" id="i4">3</td><td class="ctr1" id="j4">0</td><td class="ctr2" id="k4">1</td></tr><tr><td id="a5"><a href="ReportTask.java.html#L375" class="el_method">setFailOnViolation(boolean)</a></td><td class="bar" id="b5"><img src="../../jacoco-resources/greenbar.gif" width="11" height="10" title="4" alt="4"/></td><td class="ctr2" id="c5">100%</td><td class="bar" id="d5"/><td class="ctr2" id="e5">n/a</td><td class="ctr1" id="f5">0</td><td class="ctr2" id="g5">1</td><td class="ctr1" id="h5">0</td><td class="ctr2" id="i5">2</td><td class="ctr1" id="j5">0</td><td class="ctr2" id="k5">1</td></tr><tr><td id="a6"><a href="ReportTask.java.html#L385" class="el_method">setViolationsProperty(String)</a></td><td class="bar" id="b6"><img src="../../jacoco-resources/greenbar.gif" width="11" height="10" title="4" alt="4"/></td><td class="ctr2" id="c6">100%</td><td class="bar" id="d6"/><td class="ctr2" id="e6">n/a</td><td class="ctr1" id="f6">0</td><td class="ctr2" id="g6">1</td><td class="ctr1" id="h6">0</td><td class="ctr2" id="i6">2</td><td class="ctr1" id="j6">0</td><td class="ctr2" id="k6">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.12.202403270442</span>Code Coverage Report for JaCoCo 0.8.12-SNAPSHOT</div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/trunk/coverage/org.jacoco.ant/org.jacoco.ant/ReportTask$FormatterElement.html b/jacoco/trunk/coverage/org.jacoco.ant/org.jacoco.ant/ReportTask$FormatterElement.html
    new file mode 100644
    index 00000000000..c2cac11397a
    --- /dev/null
    +++ b/jacoco/trunk/coverage/org.jacoco.ant/org.jacoco.ant/ReportTask$FormatterElement.html
    @@ -0,0 +1 @@
    +<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="en"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../../jacoco-resources/report.gif" type="image/gif"/><title>ReportTask.FormatterElement</title><script type="text/javascript" src="../../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../../index.html" class="el_report">JaCoCo</a> &gt; <a href="../index.html" class="el_bundle">org.jacoco.ant</a> &gt; <a href="index.html" class="el_package">org.jacoco.ant</a> &gt; <span class="el_class">ReportTask.FormatterElement</span></div><h1>ReportTask.FormatterElement</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">0 of 7</td><td class="ctr2">100%</td><td class="bar">0 of 0</td><td class="ctr2">n/a</td><td class="ctr1">0</td><td class="ctr2">2</td><td class="ctr1">0</td><td class="ctr2">2</td><td class="ctr1">0</td><td class="ctr2">2</td></tr></tfoot><tbody><tr><td id="a1"><a href="ReportTask.java.html#L155" class="el_method">ReportTask.FormatterElement(ReportTask)</a></td><td class="bar" id="b0"><img src="../../jacoco-resources/greenbar.gif" width="120" height="10" title="6" alt="6"/></td><td class="ctr2" id="c0">100%</td><td class="bar" id="d0"/><td class="ctr2" id="e0">n/a</td><td class="ctr1" id="f0">0</td><td class="ctr2" id="g0">1</td><td class="ctr1" id="h0">0</td><td class="ctr2" id="i0">1</td><td class="ctr1" id="j0">0</td><td class="ctr2" id="k0">1</td></tr><tr><td id="a0"><a href="ReportTask.java.html#L160" class="el_method">finish()</a></td><td class="bar" id="b1"><img src="../../jacoco-resources/greenbar.gif" width="20" height="10" title="1" alt="1"/></td><td class="ctr2" id="c1">100%</td><td class="bar" id="d1"/><td class="ctr2" id="e1">n/a</td><td class="ctr1" id="f1">0</td><td class="ctr2" id="g1">1</td><td class="ctr1" id="h1">0</td><td class="ctr2" id="i1">1</td><td class="ctr1" id="j1">0</td><td class="ctr2" id="k1">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.12.202403270442</span>Code Coverage Report for JaCoCo 0.8.12-SNAPSHOT</div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/trunk/coverage/org.jacoco.ant/org.jacoco.ant/ReportTask$GroupElement.html b/jacoco/trunk/coverage/org.jacoco.ant/org.jacoco.ant/ReportTask$GroupElement.html
    new file mode 100644
    index 00000000000..8209cd8feb8
    --- /dev/null
    +++ b/jacoco/trunk/coverage/org.jacoco.ant/org.jacoco.ant/ReportTask$GroupElement.html
    @@ -0,0 +1 @@
    +<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="en"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../../jacoco-resources/report.gif" type="image/gif"/><title>ReportTask.GroupElement</title><script type="text/javascript" src="../../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../../index.html" class="el_report">JaCoCo</a> &gt; <a href="../index.html" class="el_bundle">org.jacoco.ant</a> &gt; <a href="index.html" class="el_package">org.jacoco.ant</a> &gt; <span class="el_class">ReportTask.GroupElement</span></div><h1>ReportTask.GroupElement</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">0 of 39</td><td class="ctr2">100%</td><td class="bar">0 of 0</td><td class="ctr2">n/a</td><td class="ctr1">0</td><td class="ctr2">5</td><td class="ctr1">0</td><td class="ctr2">11</td><td class="ctr1">0</td><td class="ctr2">5</td></tr></tfoot><tbody><tr><td id="a3"><a href="ReportTask.java.html#L101" class="el_method">ReportTask.GroupElement()</a></td><td class="bar" id="b0"><img src="../../jacoco-resources/greenbar.gif" width="120" height="10" title="18" alt="18"/></td><td class="ctr2" id="c0">100%</td><td class="bar" id="d0"/><td class="ctr2" id="e0">n/a</td><td class="ctr1" id="f0">0</td><td class="ctr2" id="g0">1</td><td class="ctr1" id="h0">0</td><td class="ctr2" id="i0">4</td><td class="ctr1" id="j0">0</td><td class="ctr2" id="k0">1</td></tr><tr><td id="a1"><a href="ReportTask.java.html#L127" class="el_method">createGroup()</a></td><td class="bar" id="b1"><img src="../../jacoco-resources/greenbar.gif" width="73" height="10" title="11" alt="11"/></td><td class="ctr2" id="c1">100%</td><td class="bar" id="d1"/><td class="ctr2" id="e1">n/a</td><td class="ctr1" id="f1">0</td><td class="ctr2" id="g1">1</td><td class="ctr1" id="h1">0</td><td class="ctr2" id="i1">3</td><td class="ctr1" id="j1">0</td><td class="ctr2" id="k1">1</td></tr><tr><td id="a4"><a href="ReportTask.java.html#L118" class="el_method">setName(String)</a></td><td class="bar" id="b2"><img src="../../jacoco-resources/greenbar.gif" width="26" height="10" title="4" alt="4"/></td><td class="ctr2" id="c2">100%</td><td class="bar" id="d2"/><td class="ctr2" id="e2">n/a</td><td class="ctr1" id="f2">0</td><td class="ctr2" id="g2">1</td><td class="ctr1" id="h2">0</td><td class="ctr2" id="i2">2</td><td class="ctr1" id="j2">0</td><td class="ctr2" id="k2">1</td></tr><tr><td id="a0"><a href="ReportTask.java.html#L138" class="el_method">createClassfiles()</a></td><td class="bar" id="b3"><img src="../../jacoco-resources/greenbar.gif" width="20" height="10" title="3" alt="3"/></td><td class="ctr2" id="c3">100%</td><td class="bar" id="d3"/><td class="ctr2" id="e3">n/a</td><td class="ctr1" id="f3">0</td><td class="ctr2" id="g3">1</td><td class="ctr1" id="h3">0</td><td class="ctr2" id="i3">1</td><td class="ctr1" id="j3">0</td><td class="ctr2" id="k3">1</td></tr><tr><td id="a2"><a href="ReportTask.java.html#L147" class="el_method">createSourcefiles()</a></td><td class="bar" id="b4"><img src="../../jacoco-resources/greenbar.gif" width="20" height="10" title="3" alt="3"/></td><td class="ctr2" id="c4">100%</td><td class="bar" id="d4"/><td class="ctr2" id="e4">n/a</td><td class="ctr1" id="f4">0</td><td class="ctr2" id="g4">1</td><td class="ctr1" id="h4">0</td><td class="ctr2" id="i4">1</td><td class="ctr1" id="j4">0</td><td class="ctr2" id="k4">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.12.202403270442</span>Code Coverage Report for JaCoCo 0.8.12-SNAPSHOT</div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/trunk/coverage/org.jacoco.ant/org.jacoco.ant/ReportTask$HTMLFormatterElement.html b/jacoco/trunk/coverage/org.jacoco.ant/org.jacoco.ant/ReportTask$HTMLFormatterElement.html
    new file mode 100644
    index 00000000000..634db01cd16
    --- /dev/null
    +++ b/jacoco/trunk/coverage/org.jacoco.ant/org.jacoco.ant/ReportTask$HTMLFormatterElement.html
    @@ -0,0 +1 @@
    +<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="en"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../../jacoco-resources/report.gif" type="image/gif"/><title>ReportTask.HTMLFormatterElement</title><script type="text/javascript" src="../../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../../index.html" class="el_report">JaCoCo</a> &gt; <a href="../index.html" class="el_bundle">org.jacoco.ant</a> &gt; <a href="index.html" class="el_package">org.jacoco.ant</a> &gt; <span class="el_class">ReportTask.HTMLFormatterElement</span></div><h1>ReportTask.HTMLFormatterElement</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">0 of 101</td><td class="ctr2">100%</td><td class="bar">0 of 6</td><td class="ctr2">100%</td><td class="ctr1">0</td><td class="ctr2">10</td><td class="ctr1">0</td><td class="ctr2">28</td><td class="ctr1">0</td><td class="ctr2">7</td></tr></tfoot><tbody><tr><td id="a0"><a href="ReportTask.java.html#L233" class="el_method">createVisitor()</a></td><td class="bar" id="b0"><img src="../../jacoco-resources/greenbar.gif" width="120" height="10" title="63" alt="63"/></td><td class="ctr2" id="c0">100%</td><td class="bar" id="d0"><img src="../../jacoco-resources/greenbar.gif" width="120" height="10" title="6" alt="6"/></td><td class="ctr2" id="e0">100%</td><td class="ctr1" id="f0">0</td><td class="ctr2" id="g0">4</td><td class="ctr1" id="h0">0</td><td class="ctr2" id="i0">14</td><td class="ctr1" id="j0">0</td><td class="ctr2" id="k0">1</td></tr><tr><td id="a1"><a href="ReportTask.java.html#L166" class="el_method">ReportTask.HTMLFormatterElement(ReportTask)</a></td><td class="bar" id="b1"><img src="../../jacoco-resources/greenbar.gif" width="32" height="10" title="17" alt="17"/></td><td class="ctr2" id="c1">100%</td><td class="bar" id="d1"/><td class="ctr2" id="e1">n/a</td><td class="ctr1" id="f1">0</td><td class="ctr2" id="g1">1</td><td class="ctr1" id="h1">0</td><td class="ctr2" id="i1">4</td><td class="ctr1" id="j1">0</td><td class="ctr2" id="k1">1</td></tr><tr><td id="a6"><a href="ReportTask.java.html#L227" class="el_method">setLocale(String)</a></td><td class="bar" id="b2"><img src="../../jacoco-resources/greenbar.gif" width="9" height="10" title="5" alt="5"/></td><td class="ctr2" id="c2">100%</td><td class="bar" id="d2"/><td class="ctr2" id="e2">n/a</td><td class="ctr1" id="f2">0</td><td class="ctr2" id="g2">1</td><td class="ctr1" id="h2">0</td><td class="ctr2" id="i2">2</td><td class="ctr1" id="j2">0</td><td class="ctr2" id="k2">1</td></tr><tr><td id="a2"><a href="ReportTask.java.html#L185" class="el_method">setDestdir(File)</a></td><td class="bar" id="b3"><img src="../../jacoco-resources/greenbar.gif" width="7" height="10" title="4" alt="4"/></td><td class="ctr2" id="c3">100%</td><td class="bar" id="d3"/><td class="ctr2" id="e3">n/a</td><td class="ctr1" id="f3">0</td><td class="ctr2" id="g3">1</td><td class="ctr1" id="h3">0</td><td class="ctr2" id="i3">2</td><td class="ctr1" id="j3">0</td><td class="ctr2" id="k3">1</td></tr><tr><td id="a3"><a href="ReportTask.java.html#L195" class="el_method">setDestfile(File)</a></td><td class="bar" id="b4"><img src="../../jacoco-resources/greenbar.gif" width="7" height="10" title="4" alt="4"/></td><td class="ctr2" id="c4">100%</td><td class="bar" id="d4"/><td class="ctr2" id="e4">n/a</td><td class="ctr1" id="f4">0</td><td class="ctr2" id="g4">1</td><td class="ctr1" id="h4">0</td><td class="ctr2" id="i4">2</td><td class="ctr1" id="j4">0</td><td class="ctr2" id="k4">1</td></tr><tr><td id="a5"><a href="ReportTask.java.html#L206" class="el_method">setFooter(String)</a></td><td class="bar" id="b5"><img src="../../jacoco-resources/greenbar.gif" width="7" height="10" title="4" alt="4"/></td><td class="ctr2" id="c5">100%</td><td class="bar" id="d5"/><td class="ctr2" id="e5">n/a</td><td class="ctr1" id="f5">0</td><td class="ctr2" id="g5">1</td><td class="ctr1" id="h5">0</td><td class="ctr2" id="i5">2</td><td class="ctr1" id="j5">0</td><td class="ctr2" id="k5">1</td></tr><tr><td id="a4"><a href="ReportTask.java.html#L216" class="el_method">setEncoding(String)</a></td><td class="bar" id="b6"><img src="../../jacoco-resources/greenbar.gif" width="7" height="10" title="4" alt="4"/></td><td class="ctr2" id="c6">100%</td><td class="bar" id="d6"/><td class="ctr2" id="e6">n/a</td><td class="ctr1" id="f6">0</td><td class="ctr2" id="g6">1</td><td class="ctr1" id="h6">0</td><td class="ctr2" id="i6">2</td><td class="ctr1" id="j6">0</td><td class="ctr2" id="k6">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.12.202403270442</span>Code Coverage Report for JaCoCo 0.8.12-SNAPSHOT</div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/trunk/coverage/org.jacoco.ant/org.jacoco.ant/ReportTask$SourceFilesElement.html b/jacoco/trunk/coverage/org.jacoco.ant/org.jacoco.ant/ReportTask$SourceFilesElement.html
    new file mode 100644
    index 00000000000..f05b315e42a
    --- /dev/null
    +++ b/jacoco/trunk/coverage/org.jacoco.ant/org.jacoco.ant/ReportTask$SourceFilesElement.html
    @@ -0,0 +1 @@
    +<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="en"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../../jacoco-resources/report.gif" type="image/gif"/><title>ReportTask.SourceFilesElement</title><script type="text/javascript" src="../../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../../index.html" class="el_report">JaCoCo</a> &gt; <a href="../index.html" class="el_bundle">org.jacoco.ant</a> &gt; <a href="index.html" class="el_package">org.jacoco.ant</a> &gt; <span class="el_class">ReportTask.SourceFilesElement</span></div><h1>ReportTask.SourceFilesElement</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">0 of 24</td><td class="ctr2">100%</td><td class="bar">0 of 2</td><td class="ctr2">100%</td><td class="ctr1">0</td><td class="ctr2">4</td><td class="ctr1">0</td><td class="ctr2">9</td><td class="ctr1">0</td><td class="ctr2">3</td></tr></tfoot><tbody><tr><td id="a2"><a href="ReportTask.java.html#L90" class="el_method">setTabwidth(int)</a></td><td class="bar" id="b0"><img src="../../jacoco-resources/greenbar.gif" width="120" height="10" title="11" alt="11"/></td><td class="ctr2" id="c0">100%</td><td class="bar" id="d0"><img src="../../jacoco-resources/greenbar.gif" width="120" height="10" title="2" alt="2"/></td><td class="ctr2" id="e0">100%</td><td class="ctr1" id="f0">0</td><td class="ctr2" id="g0">2</td><td class="ctr1" id="h0">0</td><td class="ctr2" id="i0">4</td><td class="ctr1" id="j0">0</td><td class="ctr2" id="k0">1</td></tr><tr><td id="a0"><a href="ReportTask.java.html#L66" class="el_method">ReportTask.SourceFilesElement()</a></td><td class="bar" id="b1"><img src="../../jacoco-resources/greenbar.gif" width="98" height="10" title="9" alt="9"/></td><td class="ctr2" id="c1">100%</td><td class="bar" id="d1"/><td class="ctr2" id="e1">n/a</td><td class="ctr1" id="f1">0</td><td class="ctr2" id="g1">1</td><td class="ctr1" id="h1">0</td><td class="ctr2" id="i1">3</td><td class="ctr1" id="j1">0</td><td class="ctr2" id="k1">1</td></tr><tr><td id="a1"><a href="ReportTask.java.html#L80" class="el_method">setEncoding(String)</a></td><td class="bar" id="b2"><img src="../../jacoco-resources/greenbar.gif" width="43" height="10" title="4" alt="4"/></td><td class="ctr2" id="c2">100%</td><td class="bar" id="d2"/><td class="ctr2" id="e2">n/a</td><td class="ctr1" id="f2">0</td><td class="ctr2" id="g2">1</td><td class="ctr1" id="h2">0</td><td class="ctr2" id="i2">2</td><td class="ctr1" id="j2">0</td><td class="ctr2" id="k2">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.12.202403270442</span>Code Coverage Report for JaCoCo 0.8.12-SNAPSHOT</div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/trunk/coverage/org.jacoco.ant/org.jacoco.ant/ReportTask$XMLFormatterElement.html b/jacoco/trunk/coverage/org.jacoco.ant/org.jacoco.ant/ReportTask$XMLFormatterElement.html
    new file mode 100644
    index 00000000000..b0747f2d45e
    --- /dev/null
    +++ b/jacoco/trunk/coverage/org.jacoco.ant/org.jacoco.ant/ReportTask$XMLFormatterElement.html
    @@ -0,0 +1 @@
    +<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="en"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../../jacoco-resources/report.gif" type="image/gif"/><title>ReportTask.XMLFormatterElement</title><script type="text/javascript" src="../../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../../index.html" class="el_report">JaCoCo</a> &gt; <a href="../index.html" class="el_bundle">org.jacoco.ant</a> &gt; <a href="index.html" class="el_package">org.jacoco.ant</a> &gt; <span class="el_class">ReportTask.XMLFormatterElement</span></div><h1>ReportTask.XMLFormatterElement</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">0 of 46</td><td class="ctr2">100%</td><td class="bar">0 of 2</td><td class="ctr2">100%</td><td class="ctr1">0</td><td class="ctr2">5</td><td class="ctr1">0</td><td class="ctr2">11</td><td class="ctr1">0</td><td class="ctr2">4</td></tr></tfoot><tbody><tr><td id="a0"><a href="ReportTask.java.html#L333" class="el_method">createVisitor()</a></td><td class="bar" id="b0"><img src="../../jacoco-resources/greenbar.gif" width="120" height="10" title="27" alt="27"/></td><td class="ctr2" id="c0">100%</td><td class="bar" id="d0"><img src="../../jacoco-resources/greenbar.gif" width="120" height="10" title="2" alt="2"/></td><td class="ctr2" id="e0">100%</td><td class="ctr1" id="f0">0</td><td class="ctr2" id="g0">2</td><td class="ctr1" id="h0">0</td><td class="ctr2" id="i0">5</td><td class="ctr1" id="j0">0</td><td class="ctr2" id="k0">1</td></tr><tr><td id="a1"><a href="ReportTask.java.html#L305" class="el_method">ReportTask.XMLFormatterElement(ReportTask)</a></td><td class="bar" id="b1"><img src="../../jacoco-resources/greenbar.gif" width="48" height="10" title="11" alt="11"/></td><td class="ctr2" id="c1">100%</td><td class="bar" id="d1"/><td class="ctr2" id="e1">n/a</td><td class="ctr1" id="f1">0</td><td class="ctr2" id="g1">1</td><td class="ctr1" id="h1">0</td><td class="ctr2" id="i1">2</td><td class="ctr1" id="j1">0</td><td class="ctr2" id="k1">1</td></tr><tr><td id="a2"><a href="ReportTask.java.html#L318" class="el_method">setDestfile(File)</a></td><td class="bar" id="b2"><img src="../../jacoco-resources/greenbar.gif" width="17" height="10" title="4" alt="4"/></td><td class="ctr2" id="c2">100%</td><td class="bar" id="d2"/><td class="ctr2" id="e2">n/a</td><td class="ctr1" id="f2">0</td><td class="ctr2" id="g2">1</td><td class="ctr1" id="h2">0</td><td class="ctr2" id="i2">2</td><td class="ctr1" id="j2">0</td><td class="ctr2" id="k2">1</td></tr><tr><td id="a3"><a href="ReportTask.java.html#L328" class="el_method">setEncoding(String)</a></td><td class="bar" id="b3"><img src="../../jacoco-resources/greenbar.gif" width="17" height="10" title="4" alt="4"/></td><td class="ctr2" id="c3">100%</td><td class="bar" id="d3"/><td class="ctr2" id="e3">n/a</td><td class="ctr1" id="f3">0</td><td class="ctr2" id="g3">1</td><td class="ctr1" id="h3">0</td><td class="ctr2" id="i3">2</td><td class="ctr1" id="j3">0</td><td class="ctr2" id="k3">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.12.202403270442</span>Code Coverage Report for JaCoCo 0.8.12-SNAPSHOT</div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/trunk/coverage/org.jacoco.ant/org.jacoco.ant/ReportTask.html b/jacoco/trunk/coverage/org.jacoco.ant/org.jacoco.ant/ReportTask.html
    new file mode 100644
    index 00000000000..f3a3702e85f
    --- /dev/null
    +++ b/jacoco/trunk/coverage/org.jacoco.ant/org.jacoco.ant/ReportTask.html
    @@ -0,0 +1 @@
    +<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="en"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../../jacoco-resources/report.gif" type="image/gif"/><title>ReportTask</title><script type="text/javascript" src="../../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../../index.html" class="el_report">JaCoCo</a> &gt; <a href="../index.html" class="el_bundle">org.jacoco.ant</a> &gt; <a href="index.html" class="el_package">org.jacoco.ant</a> &gt; <span class="el_class">ReportTask</span></div><h1>ReportTask</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">0 of 443</td><td class="ctr2">100%</td><td class="bar">1 of 34</td><td class="ctr2">97%</td><td class="ctr1">1</td><td class="ctr2">32</td><td class="ctr1">0</td><td class="ctr2">90</td><td class="ctr1">0</td><td class="ctr2">15</td></tr></tfoot><tbody><tr><td id="a6"><a href="ReportTask.java.html#L540" class="el_method">createReport(IReportGroupVisitor, ReportTask.GroupElement)</a></td><td class="bar" id="b0"><img src="../../jacoco-resources/greenbar.gif" width="120" height="10" title="66" alt="66"/></td><td class="ctr2" id="c0">100%</td><td class="bar" id="d1"><img src="../../jacoco-resources/greenbar.gif" width="120" height="10" title="8" alt="8"/></td><td class="ctr2" id="e0">100%</td><td class="ctr1" id="f1">0</td><td class="ctr2" id="g0">5</td><td class="ctr1" id="h0">0</td><td class="ctr2" id="i0">15</td><td class="ctr1" id="j0">0</td><td class="ctr2" id="k0">1</td></tr><tr><td id="a11"><a href="ReportTask.java.html#L508" class="el_method">loadExecutionData()</a></td><td class="bar" id="b1"><img src="../../jacoco-resources/greenbar.gif" width="110" height="10" title="61" alt="61"/></td><td class="ctr2" id="c1">100%</td><td class="bar" id="d5"><img src="../../jacoco-resources/greenbar.gif" width="30" height="10" title="2" alt="2"/></td><td class="ctr2" id="e1">100%</td><td class="ctr1" id="f2">0</td><td class="ctr2" id="g5">2</td><td class="ctr1" id="h1">0</td><td class="ctr2" id="i1">15</td><td class="ctr1" id="j1">0</td><td class="ctr2" id="k1">1</td></tr><tr><td id="a1"><a href="ReportTask.java.html#L565" class="el_method">createBundle(ReportTask.GroupElement)</a></td><td class="bar" id="b2"><img src="../../jacoco-resources/greenbar.gif" width="107" height="10" title="59" alt="59"/></td><td class="ctr2" id="c2">100%</td><td class="bar" id="d0"><img src="../../jacoco-resources/redbar.gif" width="15" height="10" title="1" alt="1"/><img src="../../jacoco-resources/greenbar.gif" width="75" height="10" title="5" alt="5"/></td><td class="ctr2" id="e7">83%</td><td class="ctr1" id="f0">1</td><td class="ctr2" id="g1">4</td><td class="ctr1" id="h2">0</td><td class="ctr2" id="i2">13</td><td class="ctr1" id="j2">0</td><td class="ctr2" id="k2">1</td></tr><tr><td id="a12"><a href="ReportTask.java.html#L584" class="el_method">logBundleInfo(IBundleCoverage, Collection)</a></td><td class="bar" id="b3"><img src="../../jacoco-resources/greenbar.gif" width="103" height="10" title="57" alt="57"/></td><td class="ctr2" id="c3">100%</td><td class="bar" id="d3"><img src="../../jacoco-resources/greenbar.gif" width="60" height="10" title="4" alt="4"/></td><td class="ctr2" id="e2">100%</td><td class="ctr1" id="f3">0</td><td class="ctr2" id="g3">3</td><td class="ctr1" id="h3">0</td><td class="ctr2" id="i4">6</td><td class="ctr1" id="j3">0</td><td class="ctr2" id="k3">1</td></tr><tr><td id="a10"><a href="ReportTask.java.html#L491" class="el_method">execute()</a></td><td class="bar" id="b4"><img src="../../jacoco-resources/greenbar.gif" width="81" height="10" title="45" alt="45"/></td><td class="ctr2" id="c4">100%</td><td class="bar" id="d6"><img src="../../jacoco-resources/greenbar.gif" width="30" height="10" title="2" alt="2"/></td><td class="ctr2" id="e3">100%</td><td class="ctr1" id="f4">0</td><td class="ctr2" id="g6">2</td><td class="ctr1" id="h4">0</td><td class="ctr2" id="i3">11</td><td class="ctr1" id="j4">0</td><td class="ctr2" id="k4">1</td></tr><tr><td id="a13"><a href="ReportTask.java.html#L616" class="el_method">parseLocale(String)</a></td><td class="bar" id="b5"><img src="../../jacoco-resources/greenbar.gif" width="67" height="10" title="37" alt="37"/></td><td class="ctr2" id="c5">100%</td><td class="bar" id="d2"><img src="../../jacoco-resources/greenbar.gif" width="90" height="10" title="6" alt="6"/></td><td class="ctr2" id="e4">100%</td><td class="ctr1" id="f5">0</td><td class="ctr2" id="g2">4</td><td class="ctr1" id="h5">0</td><td class="ctr2" id="i5">5</td><td class="ctr1" id="j5">0</td><td class="ctr2" id="k5">1</td></tr><tr><td id="a8"><a href="ReportTask.java.html#L531" class="el_method">createVisitor()</a></td><td class="bar" id="b6"><img src="../../jacoco-resources/greenbar.gif" width="47" height="10" title="26" alt="26"/></td><td class="ctr2" id="c6">100%</td><td class="bar" id="d7"><img src="../../jacoco-resources/greenbar.gif" width="30" height="10" title="2" alt="2"/></td><td class="ctr2" id="e5">100%</td><td class="ctr1" id="f6">0</td><td class="ctr2" id="g7">2</td><td class="ctr1" id="h6">0</td><td class="ctr2" id="i6">4</td><td class="ctr1" id="j6">0</td><td class="ctr2" id="k6">1</td></tr><tr><td id="a0"><a href="ReportTask.java.html#L599" class="el_method">checkForMissingDebugInformation(ICoverageNode)</a></td><td class="bar" id="b7"><img src="../../jacoco-resources/greenbar.gif" width="36" height="10" title="20" alt="20"/></td><td class="ctr2" id="c7">100%</td><td class="bar" id="d4"><img src="../../jacoco-resources/greenbar.gif" width="60" height="10" title="4" alt="4"/></td><td class="ctr2" id="e6">100%</td><td class="ctr1" id="f7">0</td><td class="ctr2" id="g4">3</td><td class="ctr1" id="h7">0</td><td class="ctr2" id="i8">3</td><td class="ctr1" id="j7">0</td><td class="ctr2" id="k7">1</td></tr><tr><td id="a14"><a href="ReportTask.java.html#L60" class="el_method">ReportTask()</a></td><td class="bar" id="b8"><img src="../../jacoco-resources/greenbar.gif" width="32" height="10" title="18" alt="18"/></td><td class="ctr2" id="c8">100%</td><td class="bar" id="d8"/><td class="ctr2" id="e8">n/a</td><td class="ctr1" id="f8">0</td><td class="ctr2" id="g8">1</td><td class="ctr1" id="h8">0</td><td class="ctr2" id="i7">4</td><td class="ctr1" id="j8">0</td><td class="ctr2" id="k8">1</td></tr><tr><td id="a5"><a href="ReportTask.java.html#L451" class="el_method">createHtml()</a></td><td class="bar" id="b9"><img src="../../jacoco-resources/greenbar.gif" width="21" height="10" title="12" alt="12"/></td><td class="ctr2" id="c9">100%</td><td class="bar" id="d9"/><td class="ctr2" id="e9">n/a</td><td class="ctr1" id="f9">0</td><td class="ctr2" id="g9">1</td><td class="ctr1" id="h9">0</td><td class="ctr2" id="i9">3</td><td class="ctr1" id="j9">0</td><td class="ctr2" id="k9">1</td></tr><tr><td id="a3"><a href="ReportTask.java.html#L462" class="el_method">createCsv()</a></td><td class="bar" id="b10"><img src="../../jacoco-resources/greenbar.gif" width="21" height="10" title="12" alt="12"/></td><td class="ctr2" id="c10">100%</td><td class="bar" id="d10"/><td class="ctr2" id="e10">n/a</td><td class="ctr1" id="f10">0</td><td class="ctr2" id="g10">1</td><td class="ctr1" id="h10">0</td><td class="ctr2" id="i10">3</td><td class="ctr1" id="j10">0</td><td class="ctr2" id="k10">1</td></tr><tr><td id="a2"><a href="ReportTask.java.html#L473" class="el_method">createCheck()</a></td><td class="bar" id="b11"><img src="../../jacoco-resources/greenbar.gif" width="21" height="10" title="12" alt="12"/></td><td class="ctr2" id="c11">100%</td><td class="bar" id="d11"/><td class="ctr2" id="e11">n/a</td><td class="ctr1" id="f11">0</td><td class="ctr2" id="g11">1</td><td class="ctr1" id="h11">0</td><td class="ctr2" id="i11">3</td><td class="ctr1" id="j11">0</td><td class="ctr2" id="k11">1</td></tr><tr><td id="a9"><a href="ReportTask.java.html#L484" class="el_method">createXml()</a></td><td class="bar" id="b12"><img src="../../jacoco-resources/greenbar.gif" width="21" height="10" title="12" alt="12"/></td><td class="ctr2" id="c12">100%</td><td class="bar" id="d12"/><td class="ctr2" id="e12">n/a</td><td class="ctr1" id="f12">0</td><td class="ctr2" id="g12">1</td><td class="ctr1" id="h12">0</td><td class="ctr2" id="i12">3</td><td class="ctr1" id="j12">0</td><td class="ctr2" id="k12">1</td></tr><tr><td id="a4"><a href="ReportTask.java.html#L433" class="el_method">createExecutiondata()</a></td><td class="bar" id="b13"><img src="../../jacoco-resources/greenbar.gif" width="5" height="10" title="3" alt="3"/></td><td class="ctr2" id="c13">100%</td><td class="bar" id="d13"/><td class="ctr2" id="e13">n/a</td><td class="ctr1" id="f13">0</td><td class="ctr2" id="g13">1</td><td class="ctr1" id="h13">0</td><td class="ctr2" id="i13">1</td><td class="ctr1" id="j13">0</td><td class="ctr2" id="k13">1</td></tr><tr><td id="a7"><a href="ReportTask.java.html#L442" class="el_method">createStructure()</a></td><td class="bar" id="b14"><img src="../../jacoco-resources/greenbar.gif" width="5" height="10" title="3" alt="3"/></td><td class="ctr2" id="c14">100%</td><td class="bar" id="d14"/><td class="ctr2" id="e14">n/a</td><td class="ctr1" id="f14">0</td><td class="ctr2" id="g14">1</td><td class="ctr1" id="h14">0</td><td class="ctr2" id="i14">1</td><td class="ctr1" id="j14">0</td><td class="ctr2" id="k14">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.12.202403270442</span>Code Coverage Report for JaCoCo 0.8.12-SNAPSHOT</div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/trunk/coverage/org.jacoco.ant/org.jacoco.ant/ReportTask.java.html b/jacoco/trunk/coverage/org.jacoco.ant/org.jacoco.ant/ReportTask.java.html
    new file mode 100644
    index 00000000000..18f48ac42a3
    --- /dev/null
    +++ b/jacoco/trunk/coverage/org.jacoco.ant/org.jacoco.ant/ReportTask.java.html
    @@ -0,0 +1,624 @@
    +<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="en"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../../jacoco-resources/report.gif" type="image/gif"/><title>ReportTask.java</title><link rel="stylesheet" href="../../jacoco-resources/prettify.css" type="text/css"/><script type="text/javascript" src="../../jacoco-resources/prettify.js"></script></head><body onload="window['PR_TAB_WIDTH']=4;prettyPrint()"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../../index.html" class="el_report">JaCoCo</a> &gt; <a href="../index.html" class="el_bundle">org.jacoco.ant</a> &gt; <a href="index.source.html" class="el_package">org.jacoco.ant</a> &gt; <span class="el_source">ReportTask.java</span></div><h1>ReportTask.java</h1><pre class="source lang-java linenums">/*******************************************************************************
    + * Copyright (c) 2009, 2024 Mountainminds GmbH &amp; Co. KG and Contributors
    + * This program and the accompanying materials are made available under
    + * the terms of the Eclipse Public License 2.0 which is available at
    + * http://www.eclipse.org/legal/epl-2.0
    + *
    + * SPDX-License-Identifier: EPL-2.0
    + *
    + * Contributors:
    + *    Marc R. Hoffmann - initial API and implementation
    + *
    + *******************************************************************************/
    +package org.jacoco.ant;
    +
    +import static java.lang.String.format;
    +
    +import java.io.File;
    +import java.io.FileOutputStream;
    +import java.io.IOException;
    +import java.io.InputStream;
    +import java.util.ArrayList;
    +import java.util.Collection;
    +import java.util.Iterator;
    +import java.util.List;
    +import java.util.Locale;
    +import java.util.StringTokenizer;
    +
    +import org.apache.tools.ant.BuildException;
    +import org.apache.tools.ant.Project;
    +import org.apache.tools.ant.Task;
    +import org.apache.tools.ant.types.Resource;
    +import org.apache.tools.ant.types.resources.FileResource;
    +import org.apache.tools.ant.types.resources.Union;
    +import org.apache.tools.ant.util.FileUtils;
    +import org.jacoco.core.analysis.Analyzer;
    +import org.jacoco.core.analysis.CoverageBuilder;
    +import org.jacoco.core.analysis.IBundleCoverage;
    +import org.jacoco.core.analysis.IClassCoverage;
    +import org.jacoco.core.analysis.ICoverageNode;
    +import org.jacoco.core.data.ExecutionDataStore;
    +import org.jacoco.core.data.SessionInfoStore;
    +import org.jacoco.core.tools.ExecFileLoader;
    +import org.jacoco.report.FileMultiReportOutput;
    +import org.jacoco.report.IMultiReportOutput;
    +import org.jacoco.report.IReportGroupVisitor;
    +import org.jacoco.report.IReportVisitor;
    +import org.jacoco.report.MultiReportVisitor;
    +import org.jacoco.report.ZipMultiReportOutput;
    +import org.jacoco.report.check.IViolationsOutput;
    +import org.jacoco.report.check.Limit;
    +import org.jacoco.report.check.Rule;
    +import org.jacoco.report.check.RulesChecker;
    +import org.jacoco.report.csv.CSVFormatter;
    +import org.jacoco.report.html.HTMLFormatter;
    +import org.jacoco.report.xml.XMLFormatter;
    +
    +/**
    + * Task for coverage report generation.
    + */
    +<span class="fc" id="L60">public class ReportTask extends Task {</span>
    +
    +	/**
    +	 * The source files are specified in a resource collection with additional
    +	 * attributes.
    +	 */
    +<span class="fc" id="L66">	public static class SourceFilesElement extends Union {</span>
    +
    +<span class="fc" id="L68">		String encoding = null;</span>
    +
    +<span class="fc" id="L70">		int tabWidth = 4;</span>
    +
    +		/**
    +		 * Defines the optional source file encoding. If not set the platform
    +		 * default is used.
    +		 *
    +		 * @param encoding
    +		 *            source file encoding
    +		 */
    +		public void setEncoding(final String encoding) {
    +<span class="fc" id="L80">			this.encoding = encoding;</span>
    +<span class="fc" id="L81">		}</span>
    +
    +		/**
    +		 * Sets the tab stop width for the source pages. Default value is 4.
    +		 *
    +		 * @param tabWidth
    +		 *            number of characters per tab stop
    +		 */
    +		public void setTabwidth(final int tabWidth) {
    +<span class="fc bfc" id="L90" title="All 2 branches covered.">			if (tabWidth &lt;= 0) {</span>
    +<span class="fc" id="L91">				throw new BuildException(&quot;Tab width must be greater than 0&quot;);</span>
    +			}
    +<span class="fc" id="L93">			this.tabWidth = tabWidth;</span>
    +<span class="fc" id="L94">		}</span>
    +
    +	}
    +
    +	/**
    +	 * Container element for class file groups.
    +	 */
    +<span class="fc" id="L101">	public static class GroupElement {</span>
    +
    +<span class="fc" id="L103">		private final List&lt;GroupElement&gt; children = new ArrayList&lt;GroupElement&gt;();</span>
    +
    +<span class="fc" id="L105">		private final Union classfiles = new Union();</span>
    +
    +<span class="fc" id="L107">		private final SourceFilesElement sourcefiles = new SourceFilesElement();</span>
    +
    +		private String name;
    +
    +		/**
    +		 * Sets the name of the group.
    +		 *
    +		 * @param name
    +		 *            name of the group
    +		 */
    +		public void setName(final String name) {
    +<span class="fc" id="L118">			this.name = name;</span>
    +<span class="fc" id="L119">		}</span>
    +
    +		/**
    +		 * Creates a new child group.
    +		 *
    +		 * @return new child group
    +		 */
    +		public GroupElement createGroup() {
    +<span class="fc" id="L127">			final GroupElement group = new GroupElement();</span>
    +<span class="fc" id="L128">			children.add(group);</span>
    +<span class="fc" id="L129">			return group;</span>
    +		}
    +
    +		/**
    +		 * Returns the nested resource collection for class files.
    +		 *
    +		 * @return resource collection for class files
    +		 */
    +		public Union createClassfiles() {
    +<span class="fc" id="L138">			return classfiles;</span>
    +		}
    +
    +		/**
    +		 * Returns the nested resource collection for source files.
    +		 *
    +		 * @return resource collection for source files
    +		 */
    +		public SourceFilesElement createSourcefiles() {
    +<span class="fc" id="L147">			return sourcefiles;</span>
    +		}
    +
    +	}
    +
    +	/**
    +	 * Interface for child elements that define formatters.
    +	 */
    +<span class="fc" id="L155">	private abstract class FormatterElement {</span>
    +
    +		abstract IReportVisitor createVisitor() throws IOException;
    +
    +		void finish() {
    +<span class="fc" id="L160">		}</span>
    +	}
    +
    +	/**
    +	 * Formatter element for HTML reports.
    +	 */
    +<span class="fc" id="L166">	public class HTMLFormatterElement extends FormatterElement {</span>
    +
    +		private File destdir;
    +
    +		private File destfile;
    +
    +<span class="fc" id="L172">		private String footer = &quot;&quot;;</span>
    +
    +<span class="fc" id="L174">		private String encoding = &quot;UTF-8&quot;;</span>
    +
    +<span class="fc" id="L176">		private Locale locale = Locale.getDefault();</span>
    +
    +		/**
    +		 * Sets the output directory for the report.
    +		 *
    +		 * @param destdir
    +		 *            output directory
    +		 */
    +		public void setDestdir(final File destdir) {
    +<span class="fc" id="L185">			this.destdir = destdir;</span>
    +<span class="fc" id="L186">		}</span>
    +
    +		/**
    +		 * Sets the Zip output file for the report.
    +		 *
    +		 * @param destfile
    +		 *            Zip output file
    +		 */
    +		public void setDestfile(final File destfile) {
    +<span class="fc" id="L195">			this.destfile = destfile;</span>
    +<span class="fc" id="L196">		}</span>
    +
    +		/**
    +		 * Sets an optional footer text that will be displayed on every report
    +		 * page.
    +		 *
    +		 * @param text
    +		 *            footer text
    +		 */
    +		public void setFooter(final String text) {
    +<span class="fc" id="L206">			this.footer = text;</span>
    +<span class="fc" id="L207">		}</span>
    +
    +		/**
    +		 * Sets the output encoding for generated HTML files. Default is UTF-8.
    +		 *
    +		 * @param encoding
    +		 *            output encoding
    +		 */
    +		public void setEncoding(final String encoding) {
    +<span class="fc" id="L216">			this.encoding = encoding;</span>
    +<span class="fc" id="L217">		}</span>
    +
    +		/**
    +		 * Sets the locale for generated text output. By default the platform
    +		 * locale is used.
    +		 *
    +		 * @param locale
    +		 *            text locale
    +		 */
    +		public void setLocale(final String locale) {
    +<span class="fc" id="L227">			this.locale = parseLocale(locale);</span>
    +<span class="fc" id="L228">		}</span>
    +
    +		@Override
    +		public IReportVisitor createVisitor() throws IOException {
    +			final IMultiReportOutput output;
    +<span class="fc bfc" id="L233" title="All 2 branches covered.">			if (destfile != null) {</span>
    +<span class="fc bfc" id="L234" title="All 2 branches covered.">				if (destdir != null) {</span>
    +<span class="fc" id="L235">					throw new BuildException(</span>
    +							&quot;Either destination directory or file must be supplied, not both&quot;,
    +							getLocation());
    +				}
    +<span class="fc" id="L239">				final FileOutputStream stream = new FileOutputStream(destfile);</span>
    +<span class="fc" id="L240">				output = new ZipMultiReportOutput(stream);</span>
    +
    +<span class="fc" id="L242">			} else {</span>
    +<span class="fc bfc" id="L243" title="All 2 branches covered.">				if (destdir == null) {</span>
    +<span class="fc" id="L244">					throw new BuildException(</span>
    +							&quot;Destination directory or file must be supplied for html report&quot;,
    +							getLocation());
    +				}
    +<span class="fc" id="L248">				output = new FileMultiReportOutput(destdir);</span>
    +			}
    +<span class="fc" id="L250">			final HTMLFormatter formatter = new HTMLFormatter();</span>
    +<span class="fc" id="L251">			formatter.setFooterText(footer);</span>
    +<span class="fc" id="L252">			formatter.setOutputEncoding(encoding);</span>
    +<span class="fc" id="L253">			formatter.setLocale(locale);</span>
    +<span class="fc" id="L254">			return formatter.createVisitor(output);</span>
    +		}
    +
    +	}
    +
    +	/**
    +	 * Formatter element for CSV reports.
    +	 */
    +<span class="fc" id="L262">	public class CSVFormatterElement extends FormatterElement {</span>
    +
    +		private File destfile;
    +
    +<span class="fc" id="L266">		private String encoding = &quot;UTF-8&quot;;</span>
    +
    +		/**
    +		 * Sets the output file for the report.
    +		 *
    +		 * @param destfile
    +		 *            output file
    +		 */
    +		public void setDestfile(final File destfile) {
    +<span class="fc" id="L275">			this.destfile = destfile;</span>
    +<span class="fc" id="L276">		}</span>
    +
    +		@Override
    +		public IReportVisitor createVisitor() throws IOException {
    +<span class="fc bfc" id="L280" title="All 2 branches covered.">			if (destfile == null) {</span>
    +<span class="fc" id="L281">				throw new BuildException(</span>
    +						&quot;Destination file must be supplied for csv report&quot;,
    +						getLocation());
    +			}
    +<span class="fc" id="L285">			final CSVFormatter formatter = new CSVFormatter();</span>
    +<span class="fc" id="L286">			formatter.setOutputEncoding(encoding);</span>
    +<span class="fc" id="L287">			return formatter.createVisitor(new FileOutputStream(destfile));</span>
    +		}
    +
    +		/**
    +		 * Sets the output encoding for generated XML file. Default is UTF-8.
    +		 *
    +		 * @param encoding
    +		 *            output encoding
    +		 */
    +		public void setEncoding(final String encoding) {
    +<span class="fc" id="L297">			this.encoding = encoding;</span>
    +<span class="fc" id="L298">		}</span>
    +
    +	}
    +
    +	/**
    +	 * Formatter element for XML reports.
    +	 */
    +<span class="fc" id="L305">	public class XMLFormatterElement extends FormatterElement {</span>
    +
    +		private File destfile;
    +
    +<span class="fc" id="L309">		private String encoding = &quot;UTF-8&quot;;</span>
    +
    +		/**
    +		 * Sets the output file for the report.
    +		 *
    +		 * @param destfile
    +		 *            output file
    +		 */
    +		public void setDestfile(final File destfile) {
    +<span class="fc" id="L318">			this.destfile = destfile;</span>
    +<span class="fc" id="L319">		}</span>
    +
    +		/**
    +		 * Sets the output encoding for generated XML file. Default is UTF-8.
    +		 *
    +		 * @param encoding
    +		 *            output encoding
    +		 */
    +		public void setEncoding(final String encoding) {
    +<span class="fc" id="L328">			this.encoding = encoding;</span>
    +<span class="fc" id="L329">		}</span>
    +
    +		@Override
    +		public IReportVisitor createVisitor() throws IOException {
    +<span class="fc bfc" id="L333" title="All 2 branches covered.">			if (destfile == null) {</span>
    +<span class="fc" id="L334">				throw new BuildException(</span>
    +						&quot;Destination file must be supplied for xml report&quot;,
    +						getLocation());
    +			}
    +<span class="fc" id="L338">			final XMLFormatter formatter = new XMLFormatter();</span>
    +<span class="fc" id="L339">			formatter.setOutputEncoding(encoding);</span>
    +<span class="fc" id="L340">			return formatter.createVisitor(new FileOutputStream(destfile));</span>
    +		}
    +
    +	}
    +
    +	/**
    +	 * Formatter element for coverage checks.
    +	 */
    +<span class="fc" id="L348">	public class CheckFormatterElement extends FormatterElement</span>
    +			implements IViolationsOutput {
    +
    +<span class="fc" id="L351">		private final List&lt;Rule&gt; rules = new ArrayList&lt;Rule&gt;();</span>
    +<span class="fc" id="L352">		private boolean violations = false;</span>
    +<span class="fc" id="L353">		private boolean failOnViolation = true;</span>
    +<span class="fc" id="L354">		private String violationsPropery = null;</span>
    +
    +		/**
    +		 * Creates and adds a new rule.
    +		 *
    +		 * @return new rule
    +		 */
    +		public Rule createRule() {
    +<span class="fc" id="L362">			final Rule rule = new Rule();</span>
    +<span class="fc" id="L363">			rules.add(rule);</span>
    +<span class="fc" id="L364">			return rule;</span>
    +		}
    +
    +		/**
    +		 * Sets whether the build should fail in case of a violation. Default is
    +		 * &lt;code&gt;true&lt;/code&gt;.
    +		 *
    +		 * @param flag
    +		 *            if &lt;code&gt;true&lt;/code&gt; the build fails on violation
    +		 */
    +		public void setFailOnViolation(final boolean flag) {
    +<span class="fc" id="L375">			this.failOnViolation = flag;</span>
    +<span class="fc" id="L376">		}</span>
    +
    +		/**
    +		 * Sets the name of a property to append the violation messages to.
    +		 *
    +		 * @param property
    +		 *            name of a property
    +		 */
    +		public void setViolationsProperty(final String property) {
    +<span class="fc" id="L385">			this.violationsPropery = property;</span>
    +<span class="fc" id="L386">		}</span>
    +
    +		@Override
    +		public IReportVisitor createVisitor() throws IOException {
    +<span class="fc" id="L390">			final RulesChecker formatter = new RulesChecker();</span>
    +<span class="fc" id="L391">			formatter.setRules(rules);</span>
    +<span class="fc" id="L392">			return formatter.createVisitor(this);</span>
    +		}
    +
    +		public void onViolation(final ICoverageNode node, final Rule rule,
    +				final Limit limit, final String message) {
    +<span class="fc" id="L397">			log(message, Project.MSG_ERR);</span>
    +<span class="fc" id="L398">			violations = true;</span>
    +<span class="fc bfc" id="L399" title="All 2 branches covered.">			if (violationsPropery != null) {</span>
    +<span class="fc" id="L400">				final String old = getProject().getProperty(violationsPropery);</span>
    +<span class="fc bfc" id="L401" title="All 2 branches covered.">				final String value = old == null ? message</span>
    +						: String.format(&quot;%s\n%s&quot;, old, message);
    +<span class="fc" id="L403">				getProject().setProperty(violationsPropery, value);</span>
    +			}
    +<span class="fc" id="L405">		}</span>
    +
    +		@Override
    +		void finish() {
    +<span class="fc bfc" id="L409" title="All 4 branches covered.">			if (violations &amp;&amp; failOnViolation) {</span>
    +<span class="fc" id="L410">				throw new BuildException(</span>
    +						&quot;Coverage check failed due to violated rules.&quot;,
    +						getLocation());
    +			}
    +<span class="fc" id="L414">		}</span>
    +	}
    +
    +<span class="fc" id="L417">	private final Union executiondataElement = new Union();</span>
    +
    +	private SessionInfoStore sessionInfoStore;
    +
    +	private ExecutionDataStore executionDataStore;
    +
    +<span class="fc" id="L423">	private final GroupElement structure = new GroupElement();</span>
    +
    +<span class="fc" id="L425">	private final List&lt;FormatterElement&gt; formatters = new ArrayList&lt;FormatterElement&gt;();</span>
    +
    +	/**
    +	 * Returns the nested resource collection for execution data files.
    +	 *
    +	 * @return resource collection for execution files
    +	 */
    +	public Union createExecutiondata() {
    +<span class="fc" id="L433">		return executiondataElement;</span>
    +	}
    +
    +	/**
    +	 * Returns the root group element that defines the report structure.
    +	 *
    +	 * @return root group element
    +	 */
    +	public GroupElement createStructure() {
    +<span class="fc" id="L442">		return structure;</span>
    +	}
    +
    +	/**
    +	 * Creates a new HTML report element.
    +	 *
    +	 * @return HTML report element
    +	 */
    +	public HTMLFormatterElement createHtml() {
    +<span class="fc" id="L451">		final HTMLFormatterElement element = new HTMLFormatterElement();</span>
    +<span class="fc" id="L452">		formatters.add(element);</span>
    +<span class="fc" id="L453">		return element;</span>
    +	}
    +
    +	/**
    +	 * Creates a new CSV report element.
    +	 *
    +	 * @return CSV report element
    +	 */
    +	public CSVFormatterElement createCsv() {
    +<span class="fc" id="L462">		final CSVFormatterElement element = new CSVFormatterElement();</span>
    +<span class="fc" id="L463">		formatters.add(element);</span>
    +<span class="fc" id="L464">		return element;</span>
    +	}
    +
    +	/**
    +	 * Creates a new coverage check element.
    +	 *
    +	 * @return coverage check element
    +	 */
    +	public CheckFormatterElement createCheck() {
    +<span class="fc" id="L473">		final CheckFormatterElement element = new CheckFormatterElement();</span>
    +<span class="fc" id="L474">		formatters.add(element);</span>
    +<span class="fc" id="L475">		return element;</span>
    +	}
    +
    +	/**
    +	 * Creates a new XML report element.
    +	 *
    +	 * @return CSV report element
    +	 */
    +	public XMLFormatterElement createXml() {
    +<span class="fc" id="L484">		final XMLFormatterElement element = new XMLFormatterElement();</span>
    +<span class="fc" id="L485">		formatters.add(element);</span>
    +<span class="fc" id="L486">		return element;</span>
    +	}
    +
    +	@Override
    +	public void execute() throws BuildException {
    +<span class="fc" id="L491">		loadExecutionData();</span>
    +		try {
    +<span class="fc" id="L493">			final IReportVisitor visitor = createVisitor();</span>
    +<span class="fc" id="L494">			visitor.visitInfo(sessionInfoStore.getInfos(),</span>
    +					executionDataStore.getContents());
    +<span class="fc" id="L496">			createReport(visitor, structure);</span>
    +<span class="fc" id="L497">			visitor.visitEnd();</span>
    +<span class="fc bfc" id="L498" title="All 2 branches covered.">			for (final FormatterElement f : formatters) {</span>
    +<span class="fc" id="L499">				f.finish();</span>
    +			}
    +<span class="fc" id="L501">		} catch (final IOException e) {</span>
    +<span class="fc" id="L502">			throw new BuildException(&quot;Error while creating report&quot;, e,</span>
    +					getLocation());
    +<span class="fc" id="L504">		}</span>
    +<span class="fc" id="L505">	}</span>
    +
    +	private void loadExecutionData() {
    +<span class="fc" id="L508">		final ExecFileLoader loader = new ExecFileLoader();</span>
    +<span class="fc" id="L509">		for (final Iterator&lt;?&gt; i = executiondataElement.iterator(); i</span>
    +<span class="fc bfc" id="L510" title="All 2 branches covered.">				.hasNext();) {</span>
    +<span class="fc" id="L511">			final Resource resource = (Resource) i.next();</span>
    +<span class="fc" id="L512">			log(format(&quot;Loading execution data file %s&quot;, resource));</span>
    +<span class="fc" id="L513">			InputStream in = null;</span>
    +			try {
    +<span class="fc" id="L515">				in = resource.getInputStream();</span>
    +<span class="fc" id="L516">				loader.load(in);</span>
    +<span class="fc" id="L517">			} catch (final IOException e) {</span>
    +<span class="fc" id="L518">				throw new BuildException(</span>
    +						format(&quot;Unable to read execution data file %s&quot;,
    +								resource),
    +						e, getLocation());
    +			} finally {
    +<span class="fc" id="L523">				FileUtils.close(in);</span>
    +			}
    +<span class="fc" id="L525">		}</span>
    +<span class="fc" id="L526">		sessionInfoStore = loader.getSessionInfoStore();</span>
    +<span class="fc" id="L527">		executionDataStore = loader.getExecutionDataStore();</span>
    +<span class="fc" id="L528">	}</span>
    +
    +	private IReportVisitor createVisitor() throws IOException {
    +<span class="fc" id="L531">		final List&lt;IReportVisitor&gt; visitors = new ArrayList&lt;IReportVisitor&gt;();</span>
    +<span class="fc bfc" id="L532" title="All 2 branches covered.">		for (final FormatterElement f : formatters) {</span>
    +<span class="fc" id="L533">			visitors.add(f.createVisitor());</span>
    +		}
    +<span class="fc" id="L535">		return new MultiReportVisitor(visitors);</span>
    +	}
    +
    +	private void createReport(final IReportGroupVisitor visitor,
    +			final GroupElement group) throws IOException {
    +<span class="fc bfc" id="L540" title="All 2 branches covered.">		if (group.name == null) {</span>
    +<span class="fc" id="L541">			throw new BuildException(&quot;Group name must be supplied&quot;,</span>
    +					getLocation());
    +		}
    +<span class="fc bfc" id="L544" title="All 2 branches covered.">		if (group.children.isEmpty()) {</span>
    +<span class="fc" id="L545">			final IBundleCoverage bundle = createBundle(group);</span>
    +<span class="fc" id="L546">			final SourceFilesElement sourcefiles = group.sourcefiles;</span>
    +<span class="fc" id="L547">			final AntResourcesLocator locator = new AntResourcesLocator(</span>
    +					sourcefiles.encoding, sourcefiles.tabWidth);
    +<span class="fc" id="L549">			locator.addAll(sourcefiles.iterator());</span>
    +<span class="fc bfc" id="L550" title="All 2 branches covered.">			if (!locator.isEmpty()) {</span>
    +<span class="fc" id="L551">				checkForMissingDebugInformation(bundle);</span>
    +			}
    +<span class="fc" id="L553">			visitor.visitBundle(bundle, locator);</span>
    +<span class="fc" id="L554">		} else {</span>
    +<span class="fc" id="L555">			final IReportGroupVisitor groupVisitor = visitor</span>
    +					.visitGroup(group.name);
    +<span class="fc bfc" id="L557" title="All 2 branches covered.">			for (final GroupElement child : group.children) {</span>
    +<span class="fc" id="L558">				createReport(groupVisitor, child);</span>
    +			}
    +		}
    +<span class="fc" id="L561">	}</span>
    +
    +	private IBundleCoverage createBundle(final GroupElement group)
    +			throws IOException {
    +<span class="fc" id="L565">		final CoverageBuilder builder = new CoverageBuilder();</span>
    +<span class="fc" id="L566">		final Analyzer analyzer = new Analyzer(executionDataStore, builder);</span>
    +<span class="fc bfc" id="L567" title="All 2 branches covered.">		for (final Iterator&lt;?&gt; i = group.classfiles.iterator(); i.hasNext();) {</span>
    +<span class="fc" id="L568">			final Resource resource = (Resource) i.next();</span>
    +<span class="pc bpc" id="L569" title="1 of 4 branches missed.">			if (resource.isDirectory() &amp;&amp; resource instanceof FileResource) {</span>
    +<span class="fc" id="L570">				analyzer.analyzeAll(((FileResource) resource).getFile());</span>
    +			} else {
    +<span class="fc" id="L572">				final InputStream in = resource.getInputStream();</span>
    +<span class="fc" id="L573">				analyzer.analyzeAll(in, resource.getName());</span>
    +<span class="fc" id="L574">				in.close();</span>
    +			}
    +<span class="fc" id="L576">		}</span>
    +<span class="fc" id="L577">		final IBundleCoverage bundle = builder.getBundle(group.name);</span>
    +<span class="fc" id="L578">		logBundleInfo(bundle, builder.getNoMatchClasses());</span>
    +<span class="fc" id="L579">		return bundle;</span>
    +	}
    +
    +	private void logBundleInfo(final IBundleCoverage bundle,
    +			final Collection&lt;IClassCoverage&gt; nomatch) {
    +<span class="fc" id="L584">		log(format(&quot;Writing bundle '%s' with %s classes&quot;, bundle.getName(),</span>
    +				Integer.valueOf(bundle.getClassCounter().getTotalCount())));
    +<span class="fc bfc" id="L586" title="All 2 branches covered.">		if (!nomatch.isEmpty()) {</span>
    +<span class="fc" id="L587">			log(format(</span>
    +					&quot;Classes in bundle '%s' do not match with execution data. &quot;
    +							+ &quot;For report generation the same class files must be used as at runtime.&quot;,
    +					bundle.getName()), Project.MSG_WARN);
    +<span class="fc bfc" id="L591" title="All 2 branches covered.">			for (final IClassCoverage c : nomatch) {</span>
    +<span class="fc" id="L592">				log(format(&quot;Execution data for class %s does not match.&quot;,</span>
    +						c.getName()), Project.MSG_WARN);
    +			}
    +		}
    +<span class="fc" id="L596">	}</span>
    +
    +	private void checkForMissingDebugInformation(final ICoverageNode node) {
    +<span class="fc bfc" id="L599" title="All 4 branches covered.">		if (node.containsCode() &amp;&amp; node.getLineCounter().getTotalCount() == 0) {</span>
    +<span class="fc" id="L600">			log(format(</span>
    +					&quot;To enable source code annotation class files for bundle '%s' have to be compiled with debug information.&quot;,
    +					node.getName()), Project.MSG_WARN);
    +		}
    +<span class="fc" id="L604">	}</span>
    +
    +	/**
    +	 * Splits a given underscore &quot;_&quot; separated string and creates a Locale. This
    +	 * method is implemented as the method Locale.forLanguageTag() was not
    +	 * available in Java 5.
    +	 *
    +	 * @param locale
    +	 *            String representation of a Locate
    +	 * @return Locale instance
    +	 */
    +	static Locale parseLocale(final String locale) {
    +<span class="fc" id="L616">		final StringTokenizer st = new StringTokenizer(locale, &quot;_&quot;);</span>
    +<span class="fc bfc" id="L617" title="All 2 branches covered.">		final String language = st.hasMoreTokens() ? st.nextToken() : &quot;&quot;;</span>
    +<span class="fc bfc" id="L618" title="All 2 branches covered.">		final String country = st.hasMoreTokens() ? st.nextToken() : &quot;&quot;;</span>
    +<span class="fc bfc" id="L619" title="All 2 branches covered.">		final String variant = st.hasMoreTokens() ? st.nextToken() : &quot;&quot;;</span>
    +<span class="fc" id="L620">		return new Locale(language, country, variant);</span>
    +	}
    +
    +}
    +</pre><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.12.202403270442</span>Code Coverage Report for JaCoCo 0.8.12-SNAPSHOT</div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/trunk/coverage/org.jacoco.ant/org.jacoco.ant/index.html b/jacoco/trunk/coverage/org.jacoco.ant/org.jacoco.ant/index.html
    new file mode 100644
    index 00000000000..c916b80e5bf
    --- /dev/null
    +++ b/jacoco/trunk/coverage/org.jacoco.ant/org.jacoco.ant/index.html
    @@ -0,0 +1 @@
    +<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="en"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../../jacoco-resources/report.gif" type="image/gif"/><title>org.jacoco.ant</title><script type="text/javascript" src="../../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb', 'coveragetable'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="index.source.html" class="el_source">Source Files</a><a href="../../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../../index.html" class="el_report">JaCoCo</a> &gt; <a href="../index.html" class="el_bundle">org.jacoco.ant</a> &gt; <span class="el_package">org.jacoco.ant</span></div><h1>org.jacoco.ant</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td><td class="sortable ctr1" id="l" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="m" onclick="toggleSort(this)">Classes</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">23 of 1,737</td><td class="ctr2">98%</td><td class="bar">1 of 104</td><td class="ctr2">99%</td><td class="ctr1">4</td><td class="ctr2">163</td><td class="ctr1">8</td><td class="ctr2">429</td><td class="ctr1">3</td><td class="ctr2">111</td><td class="ctr1">0</td><td class="ctr2">19</td></tr></tfoot><tbody><tr><td id="a0"><a href="AbstractCoverageTask.html" class="el_class">AbstractCoverageTask</a></td><td class="bar" id="b0"><img src="../../jacoco-resources/redbar.gif" width="2" height="10" title="9" alt="9"/><img src="../../jacoco-resources/greenbar.gif" width="37" height="10" title="140" alt="140"/></td><td class="ctr2" id="c16">93%</td><td class="bar" id="d8"><img src="../../jacoco-resources/greenbar.gif" width="14" height="10" title="4" alt="4"/></td><td class="ctr2" id="e0">100%</td><td class="ctr1" id="f4">0</td><td class="ctr2" id="g1">22</td><td class="ctr1" id="h0">2</td><td class="ctr2" id="i1">49</td><td class="ctr1" id="j3">0</td><td class="ctr2" id="k0">20</td><td class="ctr1" id="l0">0</td><td class="ctr2" id="m0">1</td></tr><tr><td id="a8"><a href="DumpTask$1.html" class="el_class">DumpTask.new ExecDumpClient() {...}</a></td><td class="bar" id="b1"><img src="../../jacoco-resources/redbar.gif" width="1" height="10" title="6" alt="6"/><img src="../../jacoco-resources/greenbar.gif" width="6" height="10" title="23" alt="23"/></td><td class="ctr2" id="c17">79%</td><td class="bar" id="d15"/><td class="ctr2" id="e15">n/a</td><td class="ctr1" id="f0">1</td><td class="ctr2" id="g16">3</td><td class="ctr1" id="h1">2</td><td class="ctr2" id="i16">5</td><td class="ctr1" id="j0">1</td><td class="ctr2" id="k13">3</td><td class="ctr1" id="l1">0</td><td class="ctr2" id="m1">1</td></tr><tr><td id="a7"><a href="DumpTask.html" class="el_class">DumpTask</a></td><td class="bar" id="b2"><img src="../../jacoco-resources/redbar.gif" width="1" height="10" title="4" alt="4"/><img src="../../jacoco-resources/greenbar.gif" width="34" height="10" title="127" alt="127"/></td><td class="ctr2" id="c15">96%</td><td class="bar" id="d2"><img src="../../jacoco-resources/greenbar.gif" width="28" height="10" title="8" alt="8"/></td><td class="ctr2" id="e1">100%</td><td class="ctr1" id="f1">1</td><td class="ctr2" id="g2">13</td><td class="ctr1" id="h2">2</td><td class="ctr2" id="i2">38</td><td class="ctr1" id="j1">1</td><td class="ctr2" id="k2">9</td><td class="ctr1" id="l2">0</td><td class="ctr2" id="m2">1</td></tr><tr><td id="a6"><a href="CoverageTask$TestNGTaskEnhancer.html" class="el_class">CoverageTask.TestNGTaskEnhancer</a></td><td class="bar" id="b3"><img src="../../jacoco-resources/redbar.gif" width="1" height="10" title="4" alt="4"/><img src="../../jacoco-resources/greenbar.gif" width="2" height="10" title="8" alt="8"/></td><td class="ctr2" id="c18">66%</td><td class="bar" id="d16"/><td class="ctr2" id="e16">n/a</td><td class="ctr1" id="f2">1</td><td class="ctr2" id="g17">2</td><td class="ctr1" id="h3">2</td><td class="ctr2" id="i17">5</td><td class="ctr1" id="j2">1</td><td class="ctr2" id="k17">2</td><td class="ctr1" id="l3">0</td><td class="ctr2" id="m3">1</td></tr><tr><td id="a11"><a href="ReportTask.html" class="el_class">ReportTask</a></td><td class="bar" id="b4"><img src="../../jacoco-resources/greenbar.gif" width="120" height="10" title="443" alt="443"/></td><td class="ctr2" id="c0">100%</td><td class="bar" id="d0"><img src="../../jacoco-resources/redbar.gif" width="3" height="10" title="1" alt="1"/><img src="../../jacoco-resources/greenbar.gif" width="116" height="10" title="33" alt="33"/></td><td class="ctr2" id="e14">97%</td><td class="ctr1" id="f3">1</td><td class="ctr2" id="g0">32</td><td class="ctr1" id="h4">0</td><td class="ctr2" id="i0">90</td><td class="ctr1" id="j4">0</td><td class="ctr2" id="k1">15</td><td class="ctr1" id="l4">0</td><td class="ctr2" id="m4">1</td></tr><tr><td id="a9"><a href="InstrumentTask.html" class="el_class">InstrumentTask</a></td><td class="bar" id="b5"><img src="../../jacoco-resources/greenbar.gif" width="39" height="10" title="144" alt="144"/></td><td class="ctr2" id="c1">100%</td><td class="bar" id="d4"><img src="../../jacoco-resources/greenbar.gif" width="21" height="10" title="6" alt="6"/></td><td class="ctr2" id="e2">100%</td><td class="ctr1" id="f5">0</td><td class="ctr2" id="g6">9</td><td class="ctr1" id="h5">0</td><td class="ctr2" id="i3">35</td><td class="ctr1" id="j5">0</td><td class="ctr2" id="k5">6</td><td class="ctr1" id="l5">0</td><td class="ctr2" id="m5">1</td></tr><tr><td id="a10"><a href="MergeTask.html" class="el_class">MergeTask</a></td><td class="bar" id="b6"><img src="../../jacoco-resources/greenbar.gif" width="34" height="10" title="128" alt="128"/></td><td class="ctr2" id="c2">100%</td><td class="bar" id="d5"><img src="../../jacoco-resources/greenbar.gif" width="21" height="10" title="6" alt="6"/></td><td class="ctr2" id="e3">100%</td><td class="ctr1" id="f6">0</td><td class="ctr2" id="g7">9</td><td class="ctr1" id="h6">0</td><td class="ctr2" id="i4">32</td><td class="ctr1" id="j6">0</td><td class="ctr2" id="k6">6</td><td class="ctr1" id="l6">0</td><td class="ctr2" id="m6">1</td></tr><tr><td id="a4"><a href="CoverageTask.html" class="el_class">CoverageTask</a></td><td class="bar" id="b7"><img src="../../jacoco-resources/greenbar.gif" width="34" height="10" title="126" alt="126"/></td><td class="ctr2" id="c3">100%</td><td class="bar" id="d1"><img src="../../jacoco-resources/greenbar.gif" width="42" height="10" title="12" alt="12"/></td><td class="ctr2" id="e4">100%</td><td class="ctr1" id="f7">0</td><td class="ctr2" id="g4">10</td><td class="ctr1" id="h7">0</td><td class="ctr2" id="i6">26</td><td class="ctr1" id="j7">0</td><td class="ctr2" id="k8">4</td><td class="ctr1" id="l7">0</td><td class="ctr2" id="m7">1</td></tr><tr><td id="a12"><a href="ReportTask$CheckFormatterElement.html" class="el_class">ReportTask.CheckFormatterElement</a></td><td class="bar" id="b8"><img src="../../jacoco-resources/greenbar.gif" width="30" height="10" title="111" alt="111"/></td><td class="ctr2" id="c4">100%</td><td class="bar" id="d3"><img src="../../jacoco-resources/greenbar.gif" width="28" height="10" title="8" alt="8"/></td><td class="ctr2" id="e5">100%</td><td class="ctr1" id="f8">0</td><td class="ctr2" id="g3">11</td><td class="ctr1" id="h8">0</td><td class="ctr2" id="i7">25</td><td class="ctr1" id="j8">0</td><td class="ctr2" id="k3">7</td><td class="ctr1" id="l8">0</td><td class="ctr2" id="m8">1</td></tr><tr><td id="a16"><a href="ReportTask$HTMLFormatterElement.html" class="el_class">ReportTask.HTMLFormatterElement</a></td><td class="bar" id="b9"><img src="../../jacoco-resources/greenbar.gif" width="27" height="10" title="101" alt="101"/></td><td class="ctr2" id="c5">100%</td><td class="bar" id="d6"><img src="../../jacoco-resources/greenbar.gif" width="21" height="10" title="6" alt="6"/></td><td class="ctr2" id="e6">100%</td><td class="ctr1" id="f9">0</td><td class="ctr2" id="g5">10</td><td class="ctr1" id="h9">0</td><td class="ctr2" id="i5">28</td><td class="ctr1" id="j9">0</td><td class="ctr2" id="k4">7</td><td class="ctr1" id="l9">0</td><td class="ctr2" id="m9">1</td></tr><tr><td id="a5"><a href="CoverageTask$JavaLikeTaskEnhancer.html" class="el_class">CoverageTask.JavaLikeTaskEnhancer</a></td><td class="bar" id="b10"><img src="../../jacoco-resources/greenbar.gif" width="19" height="10" title="71" alt="71"/></td><td class="ctr2" id="c6">100%</td><td class="bar" id="d10"><img src="../../jacoco-resources/greenbar.gif" width="7" height="10" title="2" alt="2"/></td><td class="ctr2" id="e7">100%</td><td class="ctr1" id="f10">0</td><td class="ctr2" id="g10">5</td><td class="ctr1" id="h10">0</td><td class="ctr2" id="i8">18</td><td class="ctr1" id="j10">0</td><td class="ctr2" id="k9">4</td><td class="ctr1" id="l10">0</td><td class="ctr2" id="m10">1</td></tr><tr><td id="a3"><a href="AntResourcesLocator.html" class="el_class">AntResourcesLocator</a></td><td class="bar" id="b11"><img src="../../jacoco-resources/greenbar.gif" width="16" height="10" title="60" alt="60"/></td><td class="ctr2" id="c7">100%</td><td class="bar" id="d9"><img src="../../jacoco-resources/greenbar.gif" width="14" height="10" title="4" alt="4"/></td><td class="ctr2" id="e8">100%</td><td class="ctr1" id="f11">0</td><td class="ctr2" id="g8">6</td><td class="ctr1" id="h11">0</td><td class="ctr2" id="i9">17</td><td class="ctr1" id="j11">0</td><td class="ctr2" id="k10">4</td><td class="ctr1" id="l11">0</td><td class="ctr2" id="m11">1</td></tr><tr><td id="a13"><a href="ReportTask$CSVFormatterElement.html" class="el_class">ReportTask.CSVFormatterElement</a></td><td class="bar" id="b12"><img src="../../jacoco-resources/greenbar.gif" width="12" height="10" title="46" alt="46"/></td><td class="ctr2" id="c8">100%</td><td class="bar" id="d11"><img src="../../jacoco-resources/greenbar.gif" width="7" height="10" title="2" alt="2"/></td><td class="ctr2" id="e9">100%</td><td class="ctr1" id="f12">0</td><td class="ctr2" id="g11">5</td><td class="ctr1" id="h12">0</td><td class="ctr2" id="i10">11</td><td class="ctr1" id="j12">0</td><td class="ctr2" id="k11">4</td><td class="ctr1" id="l12">0</td><td class="ctr2" id="m12">1</td></tr><tr><td id="a18"><a href="ReportTask$XMLFormatterElement.html" class="el_class">ReportTask.XMLFormatterElement</a></td><td class="bar" id="b13"><img src="../../jacoco-resources/greenbar.gif" width="12" height="10" title="46" alt="46"/></td><td class="ctr2" id="c9">100%</td><td class="bar" id="d12"><img src="../../jacoco-resources/greenbar.gif" width="7" height="10" title="2" alt="2"/></td><td class="ctr2" id="e10">100%</td><td class="ctr1" id="f13">0</td><td class="ctr2" id="g12">5</td><td class="ctr1" id="h13">0</td><td class="ctr2" id="i11">11</td><td class="ctr1" id="j13">0</td><td class="ctr2" id="k12">4</td><td class="ctr1" id="l13">0</td><td class="ctr2" id="m13">1</td></tr><tr><td id="a15"><a href="ReportTask$GroupElement.html" class="el_class">ReportTask.GroupElement</a></td><td class="bar" id="b14"><img src="../../jacoco-resources/greenbar.gif" width="10" height="10" title="39" alt="39"/></td><td class="ctr2" id="c10">100%</td><td class="bar" id="d17"/><td class="ctr2" id="e17">n/a</td><td class="ctr1" id="f14">0</td><td class="ctr2" id="g13">5</td><td class="ctr1" id="h14">0</td><td class="ctr2" id="i12">11</td><td class="ctr1" id="j14">0</td><td class="ctr2" id="k7">5</td><td class="ctr1" id="l14">0</td><td class="ctr2" id="m14">1</td></tr><tr><td id="a1"><a href="AgentTask.html" class="el_class">AgentTask</a></td><td class="bar" id="b15"><img src="../../jacoco-resources/greenbar.gif" width="9" height="10" title="36" alt="36"/></td><td class="ctr2" id="c11">100%</td><td class="bar" id="d7"><img src="../../jacoco-resources/greenbar.gif" width="21" height="10" title="6" alt="6"/></td><td class="ctr2" id="e11">100%</td><td class="ctr1" id="f15">0</td><td class="ctr2" id="g9">6</td><td class="ctr1" id="h15">0</td><td class="ctr2" id="i15">8</td><td class="ctr1" id="j15">0</td><td class="ctr2" id="k14">3</td><td class="ctr1" id="l15">0</td><td class="ctr2" id="m15">1</td></tr><tr><td id="a2"><a href="AntFilesLocator.html" class="el_class">AntFilesLocator</a></td><td class="bar" id="b16"><img src="../../jacoco-resources/greenbar.gif" width="9" height="10" title="34" alt="34"/></td><td class="ctr2" id="c12">100%</td><td class="bar" id="d13"><img src="../../jacoco-resources/greenbar.gif" width="7" height="10" title="2" alt="2"/></td><td class="ctr2" id="e12">100%</td><td class="ctr1" id="f16">0</td><td class="ctr2" id="g14">4</td><td class="ctr1" id="h16">0</td><td class="ctr2" id="i13">9</td><td class="ctr1" id="j16">0</td><td class="ctr2" id="k15">3</td><td class="ctr1" id="l16">0</td><td class="ctr2" id="m16">1</td></tr><tr><td id="a17"><a href="ReportTask$SourceFilesElement.html" class="el_class">ReportTask.SourceFilesElement</a></td><td class="bar" id="b17"><img src="../../jacoco-resources/greenbar.gif" width="6" height="10" title="24" alt="24"/></td><td class="ctr2" id="c13">100%</td><td class="bar" id="d14"><img src="../../jacoco-resources/greenbar.gif" width="7" height="10" title="2" alt="2"/></td><td class="ctr2" id="e13">100%</td><td class="ctr1" id="f17">0</td><td class="ctr2" id="g15">4</td><td class="ctr1" id="h17">0</td><td class="ctr2" id="i14">9</td><td class="ctr1" id="j17">0</td><td class="ctr2" id="k16">3</td><td class="ctr1" id="l17">0</td><td class="ctr2" id="m17">1</td></tr><tr><td id="a14"><a href="ReportTask$FormatterElement.html" class="el_class">ReportTask.FormatterElement</a></td><td class="bar" id="b18"><img src="../../jacoco-resources/greenbar.gif" width="1" height="10" title="7" alt="7"/></td><td class="ctr2" id="c14">100%</td><td class="bar" id="d18"/><td class="ctr2" id="e18">n/a</td><td class="ctr1" id="f18">0</td><td class="ctr2" id="g18">2</td><td class="ctr1" id="h18">0</td><td class="ctr2" id="i18">2</td><td class="ctr1" id="j18">0</td><td class="ctr2" id="k18">2</td><td class="ctr1" id="l18">0</td><td class="ctr2" id="m18">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.12.202403270442</span>Code Coverage Report for JaCoCo 0.8.12-SNAPSHOT</div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/trunk/coverage/org.jacoco.ant/org.jacoco.ant/index.source.html b/jacoco/trunk/coverage/org.jacoco.ant/org.jacoco.ant/index.source.html
    new file mode 100644
    index 00000000000..2006b1fbc80
    --- /dev/null
    +++ b/jacoco/trunk/coverage/org.jacoco.ant/org.jacoco.ant/index.source.html
    @@ -0,0 +1 @@
    +<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="en"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../../jacoco-resources/report.gif" type="image/gif"/><title>org.jacoco.ant</title><script type="text/javascript" src="../../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb', 'coveragetable'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="index.html" class="el_class">Classes</a><a href="../../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../../index.html" class="el_report">JaCoCo</a> &gt; <a href="../index.html" class="el_bundle">org.jacoco.ant</a> &gt; <span class="el_package">org.jacoco.ant</span></div><h1>org.jacoco.ant</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td><td class="sortable ctr1" id="l" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="m" onclick="toggleSort(this)">Classes</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">23 of 1,737</td><td class="ctr2">98%</td><td class="bar">1 of 104</td><td class="ctr2">99%</td><td class="ctr1">4</td><td class="ctr2">163</td><td class="ctr1">8</td><td class="ctr2">429</td><td class="ctr1">3</td><td class="ctr2">111</td><td class="ctr1">0</td><td class="ctr2">19</td></tr></tfoot><tbody><tr><td id="a5"><a href="DumpTask.java.html" class="el_source">DumpTask.java</a></td><td class="bar" id="b0"><img src="../../jacoco-resources/redbar.gif" width="1" height="10" title="10" alt="10"/><img src="../../jacoco-resources/greenbar.gif" width="22" height="10" title="150" alt="150"/></td><td class="ctr2" id="c8">93%</td><td class="bar" id="d2"><img src="../../jacoco-resources/greenbar.gif" width="17" height="10" title="8" alt="8"/></td><td class="ctr2" id="e0">100%</td><td class="ctr1" id="f0">2</td><td class="ctr2" id="g3">16</td><td class="ctr1" id="h0">4</td><td class="ctr2" id="i3">43</td><td class="ctr1" id="j0">2</td><td class="ctr2" id="k2">12</td><td class="ctr1" id="l0">0</td><td class="ctr2" id="m2">2</td></tr><tr><td id="a0"><a href="AbstractCoverageTask.java.html" class="el_source">AbstractCoverageTask.java</a></td><td class="bar" id="b1"><img src="../../jacoco-resources/redbar.gif" width="1" height="10" title="9" alt="9"/><img src="../../jacoco-resources/greenbar.gif" width="20" height="10" title="140" alt="140"/></td><td class="ctr2" id="c7">93%</td><td class="bar" id="d6"><img src="../../jacoco-resources/greenbar.gif" width="8" height="10" title="4" alt="4"/></td><td class="ctr2" id="e1">100%</td><td class="ctr1" id="f3">0</td><td class="ctr2" id="g1">22</td><td class="ctr1" id="h1">2</td><td class="ctr2" id="i1">49</td><td class="ctr1" id="j2">0</td><td class="ctr2" id="k1">20</td><td class="ctr1" id="l1">0</td><td class="ctr2" id="m3">1</td></tr><tr><td id="a4"><a href="CoverageTask.java.html" class="el_source">CoverageTask.java</a></td><td class="bar" id="b2"><img src="../../jacoco-resources/greenbar.gif" width="30" height="10" title="205" alt="205"/></td><td class="ctr2" id="c6">98%</td><td class="bar" id="d1"><img src="../../jacoco-resources/greenbar.gif" width="31" height="10" title="14" alt="14"/></td><td class="ctr2" id="e2">100%</td><td class="ctr1" id="f1">1</td><td class="ctr2" id="g2">17</td><td class="ctr1" id="h2">2</td><td class="ctr2" id="i2">49</td><td class="ctr1" id="j1">1</td><td class="ctr2" id="k3">10</td><td class="ctr1" id="l2">0</td><td class="ctr2" id="m1">3</td></tr><tr><td id="a8"><a href="ReportTask.java.html" class="el_source">ReportTask.java</a></td><td class="bar" id="b3"><img src="../../jacoco-resources/greenbar.gif" width="120" height="10" title="817" alt="817"/></td><td class="ctr2" id="c0">100%</td><td class="bar" id="d0"><img src="../../jacoco-resources/redbar.gif" width="2" height="10" title="1" alt="1"/><img src="../../jacoco-resources/greenbar.gif" width="117" height="10" title="53" alt="53"/></td><td class="ctr2" id="e8">98%</td><td class="ctr1" id="f2">1</td><td class="ctr2" id="g0">74</td><td class="ctr1" id="h3">0</td><td class="ctr2" id="i0">187</td><td class="ctr1" id="j3">0</td><td class="ctr2" id="k0">47</td><td class="ctr1" id="l3">0</td><td class="ctr2" id="m0">8</td></tr><tr><td id="a6"><a href="InstrumentTask.java.html" class="el_source">InstrumentTask.java</a></td><td class="bar" id="b4"><img src="../../jacoco-resources/greenbar.gif" width="21" height="10" title="144" alt="144"/></td><td class="ctr2" id="c1">100%</td><td class="bar" id="d3"><img src="../../jacoco-resources/greenbar.gif" width="13" height="10" title="6" alt="6"/></td><td class="ctr2" id="e3">100%</td><td class="ctr1" id="f4">0</td><td class="ctr2" id="g4">9</td><td class="ctr1" id="h4">0</td><td class="ctr2" id="i4">35</td><td class="ctr1" id="j4">0</td><td class="ctr2" id="k4">6</td><td class="ctr1" id="l4">0</td><td class="ctr2" id="m4">1</td></tr><tr><td id="a7"><a href="MergeTask.java.html" class="el_source">MergeTask.java</a></td><td class="bar" id="b5"><img src="../../jacoco-resources/greenbar.gif" width="18" height="10" title="128" alt="128"/></td><td class="ctr2" id="c2">100%</td><td class="bar" id="d4"><img src="../../jacoco-resources/greenbar.gif" width="13" height="10" title="6" alt="6"/></td><td class="ctr2" id="e4">100%</td><td class="ctr1" id="f5">0</td><td class="ctr2" id="g5">9</td><td class="ctr1" id="h5">0</td><td class="ctr2" id="i5">32</td><td class="ctr1" id="j5">0</td><td class="ctr2" id="k5">6</td><td class="ctr1" id="l5">0</td><td class="ctr2" id="m5">1</td></tr><tr><td id="a3"><a href="AntResourcesLocator.java.html" class="el_source">AntResourcesLocator.java</a></td><td class="bar" id="b6"><img src="../../jacoco-resources/greenbar.gif" width="8" height="10" title="60" alt="60"/></td><td class="ctr2" id="c3">100%</td><td class="bar" id="d7"><img src="../../jacoco-resources/greenbar.gif" width="8" height="10" title="4" alt="4"/></td><td class="ctr2" id="e5">100%</td><td class="ctr1" id="f6">0</td><td class="ctr2" id="g6">6</td><td class="ctr1" id="h6">0</td><td class="ctr2" id="i6">17</td><td class="ctr1" id="j6">0</td><td class="ctr2" id="k6">4</td><td class="ctr1" id="l6">0</td><td class="ctr2" id="m6">1</td></tr><tr><td id="a1"><a href="AgentTask.java.html" class="el_source">AgentTask.java</a></td><td class="bar" id="b7"><img src="../../jacoco-resources/greenbar.gif" width="5" height="10" title="36" alt="36"/></td><td class="ctr2" id="c4">100%</td><td class="bar" id="d5"><img src="../../jacoco-resources/greenbar.gif" width="13" height="10" title="6" alt="6"/></td><td class="ctr2" id="e6">100%</td><td class="ctr1" id="f7">0</td><td class="ctr2" id="g7">6</td><td class="ctr1" id="h7">0</td><td class="ctr2" id="i8">8</td><td class="ctr1" id="j7">0</td><td class="ctr2" id="k7">3</td><td class="ctr1" id="l7">0</td><td class="ctr2" id="m7">1</td></tr><tr><td id="a2"><a href="AntFilesLocator.java.html" class="el_source">AntFilesLocator.java</a></td><td class="bar" id="b8"><img src="../../jacoco-resources/greenbar.gif" width="4" height="10" title="34" alt="34"/></td><td class="ctr2" id="c5">100%</td><td class="bar" id="d8"><img src="../../jacoco-resources/greenbar.gif" width="4" height="10" title="2" alt="2"/></td><td class="ctr2" id="e7">100%</td><td class="ctr1" id="f8">0</td><td class="ctr2" id="g8">4</td><td class="ctr1" id="h8">0</td><td class="ctr2" id="i7">9</td><td class="ctr1" id="j8">0</td><td class="ctr2" id="k8">3</td><td class="ctr1" id="l8">0</td><td class="ctr2" id="m8">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.12.202403270442</span>Code Coverage Report for JaCoCo 0.8.12-SNAPSHOT</div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/trunk/coverage/org.jacoco.cli/index.html b/jacoco/trunk/coverage/org.jacoco.cli/index.html
    new file mode 100644
    index 00000000000..44a88c0c8b0
    --- /dev/null
    +++ b/jacoco/trunk/coverage/org.jacoco.cli/index.html
    @@ -0,0 +1 @@
    +<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="en"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>org.jacoco.cli</title><script type="text/javascript" src="../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb', 'coveragetable'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">JaCoCo</a> &gt; <span class="el_bundle">org.jacoco.cli</span></div><h1>org.jacoco.cli</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td><td class="sortable ctr1" id="l" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="m" onclick="toggleSort(this)">Classes</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">32 of 1,518</td><td class="ctr2">97%</td><td class="bar">0 of 70</td><td class="ctr2">100%</td><td class="ctr1">4</td><td class="ctr2">109</td><td class="ctr1">10</td><td class="ctr2">275</td><td class="ctr1">4</td><td class="ctr2">74</td><td class="ctr1">0</td><td class="ctr2">20</td></tr></tfoot><tbody><tr><td id="a0"><a href="org.jacoco.cli.internal/index.html" class="el_package">org.jacoco.cli.internal</a></td><td class="bar" id="b0"><img src="../jacoco-resources/redbar.gif" width="3" height="10" title="32" alt="32"/><img src="../jacoco-resources/greenbar.gif" width="42" height="10" title="386" alt="386"/></td><td class="ctr2" id="c1">92%</td><td class="bar" id="d1"><img src="../jacoco-resources/greenbar.gif" width="30" height="10" title="14" alt="14"/></td><td class="ctr2" id="e0">100%</td><td class="ctr1" id="f0">4</td><td class="ctr2" id="g1">34</td><td class="ctr1" id="h0">10</td><td class="ctr2" id="i1">91</td><td class="ctr1" id="j0">4</td><td class="ctr2" id="k1">27</td><td class="ctr1" id="l0">0</td><td class="ctr2" id="m1">8</td></tr><tr><td id="a1"><a href="org.jacoco.cli.internal.commands/index.html" class="el_package">org.jacoco.cli.internal.commands</a></td><td class="bar" id="b1"><img src="../jacoco-resources/greenbar.gif" width="120" height="10" title="1,100" alt="1,100"/></td><td class="ctr2" id="c0">100%</td><td class="bar" id="d0"><img src="../jacoco-resources/greenbar.gif" width="120" height="10" title="56" alt="56"/></td><td class="ctr2" id="e1">100%</td><td class="ctr1" id="f1">0</td><td class="ctr2" id="g0">75</td><td class="ctr1" id="h1">0</td><td class="ctr2" id="i0">184</td><td class="ctr1" id="j1">0</td><td class="ctr2" id="k0">47</td><td class="ctr1" id="l1">0</td><td class="ctr2" id="m0">12</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.12.202403270442</span>Code Coverage Report for JaCoCo 0.8.12-SNAPSHOT</div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/trunk/coverage/org.jacoco.cli/org.jacoco.cli.internal.commands/AllCommands.html b/jacoco/trunk/coverage/org.jacoco.cli/org.jacoco.cli.internal.commands/AllCommands.html
    new file mode 100644
    index 00000000000..8f8eb12ee01
    --- /dev/null
    +++ b/jacoco/trunk/coverage/org.jacoco.cli/org.jacoco.cli.internal.commands/AllCommands.html
    @@ -0,0 +1 @@
    +<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="en"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../../jacoco-resources/report.gif" type="image/gif"/><title>AllCommands</title><script type="text/javascript" src="../../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../../index.html" class="el_report">JaCoCo</a> &gt; <a href="../index.html" class="el_bundle">org.jacoco.cli</a> &gt; <a href="index.html" class="el_package">org.jacoco.cli.internal.commands</a> &gt; <span class="el_class">AllCommands</span></div><h1>AllCommands</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">0 of 76</td><td class="ctr2">100%</td><td class="bar">0 of 4</td><td class="ctr2">100%</td><td class="ctr1">0</td><td class="ctr2">4</td><td class="ctr1">0</td><td class="ctr2">7</td><td class="ctr1">0</td><td class="ctr2">2</td></tr></tfoot><tbody><tr><td id="a0"><a href="AllCommands.java.html#L32" class="el_method">get()</a></td><td class="bar" id="b0"><img src="../../jacoco-resources/greenbar.gif" width="120" height="10" title="46" alt="46"/></td><td class="ctr2" id="c0">100%</td><td class="bar" id="d1"/><td class="ctr2" id="e1">n/a</td><td class="ctr1" id="f0">0</td><td class="ctr2" id="g1">1</td><td class="ctr1" id="h0">0</td><td class="ctr2" id="i1">1</td><td class="ctr1" id="j0">0</td><td class="ctr2" id="k0">1</td></tr><tr><td id="a1"><a href="AllCommands.java.html#L40" class="el_method">names()</a></td><td class="bar" id="b1"><img src="../../jacoco-resources/greenbar.gif" width="78" height="10" title="30" alt="30"/></td><td class="ctr2" id="c1">100%</td><td class="bar" id="d0"><img src="../../jacoco-resources/greenbar.gif" width="120" height="10" title="4" alt="4"/></td><td class="ctr2" id="e0">100%</td><td class="ctr1" id="f1">0</td><td class="ctr2" id="g0">3</td><td class="ctr1" id="h1">0</td><td class="ctr2" id="i0">6</td><td class="ctr1" id="j1">0</td><td class="ctr2" id="k1">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.12.202403270442</span>Code Coverage Report for JaCoCo 0.8.12-SNAPSHOT</div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/trunk/coverage/org.jacoco.cli/org.jacoco.cli.internal.commands/AllCommands.java.html b/jacoco/trunk/coverage/org.jacoco.cli/org.jacoco.cli.internal.commands/AllCommands.java.html
    new file mode 100644
    index 00000000000..18ae67f57e0
    --- /dev/null
    +++ b/jacoco/trunk/coverage/org.jacoco.cli/org.jacoco.cli.internal.commands/AllCommands.java.html
    @@ -0,0 +1,51 @@
    +<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="en"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../../jacoco-resources/report.gif" type="image/gif"/><title>AllCommands.java</title><link rel="stylesheet" href="../../jacoco-resources/prettify.css" type="text/css"/><script type="text/javascript" src="../../jacoco-resources/prettify.js"></script></head><body onload="window['PR_TAB_WIDTH']=4;prettyPrint()"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../../index.html" class="el_report">JaCoCo</a> &gt; <a href="../index.html" class="el_bundle">org.jacoco.cli</a> &gt; <a href="index.source.html" class="el_package">org.jacoco.cli.internal.commands</a> &gt; <span class="el_source">AllCommands.java</span></div><h1>AllCommands.java</h1><pre class="source lang-java linenums">/*******************************************************************************
    + * Copyright (c) 2009, 2024 Mountainminds GmbH &amp; Co. KG and Contributors
    + * This program and the accompanying materials are made available under
    + * the terms of the Eclipse Public License 2.0 which is available at
    + * http://www.eclipse.org/legal/epl-2.0
    + *
    + * SPDX-License-Identifier: EPL-2.0
    + *
    + * Contributors:
    + *    Marc R. Hoffmann - initial API and implementation
    + *
    + *******************************************************************************/
    +package org.jacoco.cli.internal.commands;
    +
    +import java.util.Arrays;
    +import java.util.List;
    +
    +import org.jacoco.cli.internal.Command;
    +
    +/**
    + * List of all available commands.
    + */
    +public final class AllCommands {
    +
    +	private AllCommands() {
    +	}
    +
    +	/**
    +	 * @return list of new instances of all available commands
    +	 */
    +	public static List&lt;Command&gt; get() {
    +<span class="fc" id="L32">		return Arrays.asList(new Dump(), new Instrument(), new Merge(),</span>
    +				new Report(), new ClassInfo(), new ExecInfo(), new Version());
    +	}
    +
    +	/**
    +	 * @return String containing all available command names
    +	 */
    +	public static String names() {
    +<span class="fc" id="L40">		final StringBuilder sb = new StringBuilder();</span>
    +<span class="fc bfc" id="L41" title="All 2 branches covered.">		for (final Command c : get()) {</span>
    +<span class="fc bfc" id="L42" title="All 2 branches covered.">			if (sb.length() &gt; 0) {</span>
    +<span class="fc" id="L43">				sb.append('|');</span>
    +			}
    +<span class="fc" id="L45">			sb.append(c.name());</span>
    +		}
    +<span class="fc" id="L47">		return sb.toString();</span>
    +	}
    +
    +}
    +</pre><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.12.202403270442</span>Code Coverage Report for JaCoCo 0.8.12-SNAPSHOT</div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/trunk/coverage/org.jacoco.cli/org.jacoco.cli.internal.commands/ClassInfo$Printer.html b/jacoco/trunk/coverage/org.jacoco.cli/org.jacoco.cli.internal.commands/ClassInfo$Printer.html
    new file mode 100644
    index 00000000000..8dd5cb20aa6
    --- /dev/null
    +++ b/jacoco/trunk/coverage/org.jacoco.cli/org.jacoco.cli.internal.commands/ClassInfo$Printer.html
    @@ -0,0 +1 @@
    +<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="en"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../../jacoco-resources/report.gif" type="image/gif"/><title>ClassInfo.Printer</title><script type="text/javascript" src="../../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../../index.html" class="el_report">JaCoCo</a> &gt; <a href="../index.html" class="el_bundle">org.jacoco.cli</a> &gt; <a href="index.html" class="el_package">org.jacoco.cli.internal.commands</a> &gt; <span class="el_class">ClassInfo.Printer</span></div><h1>ClassInfo.Printer</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">0 of 177</td><td class="ctr2">100%</td><td class="bar">0 of 10</td><td class="ctr2">100%</td><td class="ctr1">0</td><td class="ctr2">11</td><td class="ctr1">0</td><td class="ctr2">23</td><td class="ctr1">0</td><td class="ctr2">6</td></tr></tfoot><tbody><tr><td id="a1"><a href="ClassInfo.java.html#L109" class="el_method">printDetails(String, ICoverageNode)</a></td><td class="bar" id="b0"><img src="../../jacoco-resources/greenbar.gif" width="120" height="10" title="47" alt="47"/></td><td class="ctr2" id="c0">100%</td><td class="bar" id="d3"/><td class="ctr2" id="e3">n/a</td><td class="ctr1" id="f0">0</td><td class="ctr2" id="g3">1</td><td class="ctr1" id="h0">0</td><td class="ctr2" id="i4">2</td><td class="ctr1" id="j0">0</td><td class="ctr2" id="k0">1</td></tr><tr><td id="a5"><a href="ClassInfo.java.html#L75" class="el_method">visitCoverage(IClassCoverage)</a></td><td class="bar" id="b1"><img src="../../jacoco-resources/greenbar.gif" width="102" height="10" title="40" alt="40"/></td><td class="ctr2" id="c1">100%</td><td class="bar" id="d0"><img src="../../jacoco-resources/greenbar.gif" width="120" height="10" title="4" alt="4"/></td><td class="ctr2" id="e0">100%</td><td class="ctr1" id="f1">0</td><td class="ctr2" id="g0">3</td><td class="ctr1" id="h1">0</td><td class="ctr2" id="i0">7</td><td class="ctr1" id="j1">0</td><td class="ctr2" id="k1">1</td></tr><tr><td id="a3"><a href="ClassInfo.java.html#L88" class="el_method">printMethod(IMethodCoverage, boolean)</a></td><td class="bar" id="b2"><img src="../../jacoco-resources/greenbar.gif" width="102" height="10" title="40" alt="40"/></td><td class="ctr2" id="c2">100%</td><td class="bar" id="d1"><img src="../../jacoco-resources/greenbar.gif" width="120" height="10" title="4" alt="4"/></td><td class="ctr2" id="e1">100%</td><td class="ctr1" id="f2">0</td><td class="ctr2" id="g1">3</td><td class="ctr1" id="h2">0</td><td class="ctr2" id="i1">6</td><td class="ctr1" id="j2">0</td><td class="ctr2" id="k2">1</td></tr><tr><td id="a2"><a href="ClassInfo.java.html#L99" class="el_method">printLine(ILine, int, String)</a></td><td class="bar" id="b3"><img src="../../jacoco-resources/greenbar.gif" width="86" height="10" title="34" alt="34"/></td><td class="ctr2" id="c3">100%</td><td class="bar" id="d2"><img src="../../jacoco-resources/greenbar.gif" width="60" height="10" title="2" alt="2"/></td><td class="ctr2" id="e2">100%</td><td class="ctr1" id="f3">0</td><td class="ctr2" id="g2">2</td><td class="ctr1" id="h3">0</td><td class="ctr2" id="i3">3</td><td class="ctr1" id="j3">0</td><td class="ctr2" id="k3">1</td></tr><tr><td id="a0"><a href="ClassInfo.java.html#L69" class="el_method">ClassInfo.Printer(ClassInfo, PrintWriter)</a></td><td class="bar" id="b4"><img src="../../jacoco-resources/greenbar.gif" width="30" height="10" title="12" alt="12"/></td><td class="ctr2" id="c4">100%</td><td class="bar" id="d4"/><td class="ctr2" id="e4">n/a</td><td class="ctr1" id="f4">0</td><td class="ctr2" id="g4">1</td><td class="ctr1" id="h4">0</td><td class="ctr2" id="i2">4</td><td class="ctr1" id="j4">0</td><td class="ctr2" id="k4">1</td></tr><tr><td id="a4"><a href="ClassInfo.java.html#L118" class="el_method">total(ICounter)</a></td><td class="bar" id="b5"><img src="../../jacoco-resources/greenbar.gif" width="10" height="10" title="4" alt="4"/></td><td class="ctr2" id="c5">100%</td><td class="bar" id="d5"/><td class="ctr2" id="e5">n/a</td><td class="ctr1" id="f5">0</td><td class="ctr2" id="g5">1</td><td class="ctr1" id="h5">0</td><td class="ctr2" id="i5">1</td><td class="ctr1" id="j5">0</td><td class="ctr2" id="k5">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.12.202403270442</span>Code Coverage Report for JaCoCo 0.8.12-SNAPSHOT</div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/trunk/coverage/org.jacoco.cli/org.jacoco.cli.internal.commands/ClassInfo.html b/jacoco/trunk/coverage/org.jacoco.cli/org.jacoco.cli.internal.commands/ClassInfo.html
    new file mode 100644
    index 00000000000..0bd475e6d6f
    --- /dev/null
    +++ b/jacoco/trunk/coverage/org.jacoco.cli/org.jacoco.cli.internal.commands/ClassInfo.html
    @@ -0,0 +1 @@
    +<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="en"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../../jacoco-resources/report.gif" type="image/gif"/><title>ClassInfo</title><script type="text/javascript" src="../../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../../index.html" class="el_report">JaCoCo</a> &gt; <a href="../index.html" class="el_bundle">org.jacoco.cli</a> &gt; <a href="index.html" class="el_package">org.jacoco.cli.internal.commands</a> &gt; <span class="el_class">ClassInfo</span></div><h1>ClassInfo</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">0 of 51</td><td class="ctr2">100%</td><td class="bar">0 of 4</td><td class="ctr2">100%</td><td class="ctr1">0</td><td class="ctr2">5</td><td class="ctr1">0</td><td class="ctr2">11</td><td class="ctr1">0</td><td class="ctr2">3</td></tr></tfoot><tbody><tr><td id="a2"><a href="ClassInfo.java.html#L53" class="el_method">execute(PrintWriter, PrintWriter)</a></td><td class="bar" id="b0"><img src="../../jacoco-resources/greenbar.gif" width="120" height="10" title="38" alt="38"/></td><td class="ctr2" id="c0">100%</td><td class="bar" id="d0"><img src="../../jacoco-resources/greenbar.gif" width="120" height="10" title="4" alt="4"/></td><td class="ctr2" id="e0">100%</td><td class="ctr1" id="f0">0</td><td class="ctr2" id="g0">3</td><td class="ctr1" id="h0">0</td><td class="ctr2" id="i0">6</td><td class="ctr1" id="j0">0</td><td class="ctr2" id="k0">1</td></tr><tr><td id="a0"><a href="ClassInfo.java.html#L37" class="el_method">ClassInfo()</a></td><td class="bar" id="b1"><img src="../../jacoco-resources/greenbar.gif" width="34" height="10" title="11" alt="11"/></td><td class="ctr2" id="c1">100%</td><td class="bar" id="d1"/><td class="ctr2" id="e1">n/a</td><td class="ctr1" id="f1">0</td><td class="ctr2" id="g1">1</td><td class="ctr1" id="h1">0</td><td class="ctr2" id="i1">4</td><td class="ctr1" id="j1">0</td><td class="ctr2" id="k1">1</td></tr><tr><td id="a1"><a href="ClassInfo.java.html#L47" class="el_method">description()</a></td><td class="bar" id="b2"><img src="../../jacoco-resources/greenbar.gif" width="6" height="10" title="2" alt="2"/></td><td class="ctr2" id="c2">100%</td><td class="bar" id="d2"/><td class="ctr2" id="e2">n/a</td><td class="ctr1" id="f2">0</td><td class="ctr2" id="g2">1</td><td class="ctr1" id="h2">0</td><td class="ctr2" id="i2">1</td><td class="ctr1" id="j2">0</td><td class="ctr2" id="k2">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.12.202403270442</span>Code Coverage Report for JaCoCo 0.8.12-SNAPSHOT</div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/trunk/coverage/org.jacoco.cli/org.jacoco.cli.internal.commands/ClassInfo.java.html b/jacoco/trunk/coverage/org.jacoco.cli/org.jacoco.cli.internal.commands/ClassInfo.java.html
    new file mode 100644
    index 00000000000..bf60041728c
    --- /dev/null
    +++ b/jacoco/trunk/coverage/org.jacoco.cli/org.jacoco.cli.internal.commands/ClassInfo.java.html
    @@ -0,0 +1,124 @@
    +<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="en"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../../jacoco-resources/report.gif" type="image/gif"/><title>ClassInfo.java</title><link rel="stylesheet" href="../../jacoco-resources/prettify.css" type="text/css"/><script type="text/javascript" src="../../jacoco-resources/prettify.js"></script></head><body onload="window['PR_TAB_WIDTH']=4;prettyPrint()"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../../index.html" class="el_report">JaCoCo</a> &gt; <a href="../index.html" class="el_bundle">org.jacoco.cli</a> &gt; <a href="index.source.html" class="el_package">org.jacoco.cli.internal.commands</a> &gt; <span class="el_source">ClassInfo.java</span></div><h1>ClassInfo.java</h1><pre class="source lang-java linenums">/*******************************************************************************
    + * Copyright (c) 2009, 2024 Mountainminds GmbH &amp; Co. KG and Contributors
    + * This program and the accompanying materials are made available under
    + * the terms of the Eclipse Public License 2.0 which is available at
    + * http://www.eclipse.org/legal/epl-2.0
    + *
    + * SPDX-License-Identifier: EPL-2.0
    + *
    + * Contributors:
    + *    Marc R. Hoffmann - initial API and implementation
    + *
    + *******************************************************************************/
    +package org.jacoco.cli.internal.commands;
    +
    +import java.io.File;
    +import java.io.IOException;
    +import java.io.PrintWriter;
    +import java.util.ArrayList;
    +import java.util.Iterator;
    +import java.util.List;
    +
    +import org.jacoco.cli.internal.Command;
    +import org.jacoco.core.analysis.Analyzer;
    +import org.jacoco.core.analysis.IClassCoverage;
    +import org.jacoco.core.analysis.ICounter;
    +import org.jacoco.core.analysis.ICoverageNode;
    +import org.jacoco.core.analysis.ICoverageVisitor;
    +import org.jacoco.core.analysis.ILine;
    +import org.jacoco.core.analysis.IMethodCoverage;
    +import org.jacoco.core.data.ExecutionDataStore;
    +import org.kohsuke.args4j.Argument;
    +import org.kohsuke.args4j.Option;
    +
    +/**
    + * The &lt;code&gt;classinfo&lt;/code&gt; command.
    + */
    +<span class="fc" id="L37">public class ClassInfo extends Command {</span>
    +
    +	@Argument(usage = &quot;location of Java class files&quot;, metaVar = &quot;&lt;classlocations&gt;&quot;)
    +<span class="fc" id="L40">	List&lt;File&gt; classfiles = new ArrayList&lt;File&gt;();</span>
    +
    +	@Option(name = &quot;--verbose&quot;, usage = &quot;show method and line number details&quot;)
    +<span class="fc" id="L43">	boolean verbose = false;</span>
    +
    +	@Override
    +	public String description() {
    +<span class="fc" id="L47">		return &quot;Print information about Java class files at the provided location.&quot;;</span>
    +	}
    +
    +	@Override
    +	public int execute(final PrintWriter out, final PrintWriter err)
    +			throws IOException {
    +<span class="fc bfc" id="L53" title="All 2 branches covered.">		if (classfiles.isEmpty()) {</span>
    +<span class="fc" id="L54">			out.println(&quot;[WARN] No class files provided.&quot;);</span>
    +		} else {
    +<span class="fc" id="L56">			final Analyzer analyzer = new Analyzer(new ExecutionDataStore(),</span>
    +					new Printer(out));
    +<span class="fc bfc" id="L58" title="All 2 branches covered.">			for (final File file : classfiles) {</span>
    +<span class="fc" id="L59">				analyzer.analyzeAll(file);</span>
    +			}
    +		}
    +<span class="fc" id="L62">		return 0;</span>
    +	}
    +
    +<span class="fc" id="L65">	private class Printer implements ICoverageVisitor {</span>
    +
    +		private final PrintWriter out;
    +
    +<span class="fc" id="L69">		Printer(final PrintWriter out) {</span>
    +<span class="fc" id="L70">			this.out = out;</span>
    +<span class="fc" id="L71">			out.println(&quot;  INST   BRAN   LINE   METH   CXTY   ELEMENT&quot;);</span>
    +<span class="fc" id="L72">		}</span>
    +
    +		public void visitCoverage(final IClassCoverage coverage) {
    +<span class="fc" id="L75">			final String desc = String.format(&quot;class 0x%016x %s&quot;,</span>
    +					Long.valueOf(coverage.getId()), coverage.getName());
    +<span class="fc" id="L77">			printDetails(desc, coverage);</span>
    +<span class="fc bfc" id="L78" title="All 2 branches covered.">			if (verbose) {</span>
    +<span class="fc" id="L79">				for (final Iterator&lt;IMethodCoverage&gt; i = coverage.getMethods()</span>
    +<span class="fc bfc" id="L80" title="All 2 branches covered.">						.iterator(); i.hasNext();) {</span>
    +<span class="fc" id="L81">					printMethod(i.next(), i.hasNext());</span>
    +				}
    +			}
    +<span class="fc" id="L84">		}</span>
    +
    +		private void printMethod(final IMethodCoverage method,
    +				final boolean more) {
    +<span class="fc" id="L88">			final String desc = String.format(&quot;+- method %s%s&quot;,</span>
    +					method.getName(), method.getDesc());
    +<span class="fc" id="L90">			printDetails(desc, method);</span>
    +<span class="fc bfc" id="L91" title="All 2 branches covered.">			for (int nr = method.getFirstLine(); nr &lt;= method</span>
    +<span class="fc" id="L92">					.getLastLine(); nr++) {</span>
    +<span class="fc bfc" id="L93" title="All 2 branches covered.">				printLine(method.getLine(nr), nr, more ? &quot;| &quot; : &quot;  &quot;);</span>
    +			}
    +<span class="fc" id="L95">		}</span>
    +
    +		private void printLine(final ILine line, final int nr,
    +				final String indent) {
    +<span class="fc bfc" id="L99" title="All 2 branches covered.">			if (line.getStatus() != ICounter.EMPTY) {</span>
    +<span class="fc" id="L100">				out.printf(&quot;%6s %6s                        %s +- line %s%n&quot;,</span>
    +						total(line.getInstructionCounter()),
    +						total(line.getBranchCounter()), indent,
    +						Integer.valueOf(nr));
    +			}
    +<span class="fc" id="L105">		}</span>
    +
    +		private void printDetails(final String description,
    +				final ICoverageNode coverage) {
    +<span class="fc" id="L109">			out.printf(&quot;%6s %6s %6s %6s %6s   %s%n&quot;,</span>
    +					total(coverage.getInstructionCounter()),
    +					total(coverage.getBranchCounter()),
    +					total(coverage.getLineCounter()),
    +					total(coverage.getMethodCounter()),
    +					total(coverage.getComplexityCounter()), description);
    +<span class="fc" id="L115">		}</span>
    +
    +		private String total(final ICounter counter) {
    +<span class="fc" id="L118">			return String.valueOf(counter.getTotalCount());</span>
    +		}
    +
    +	}
    +
    +}
    +</pre><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.12.202403270442</span>Code Coverage Report for JaCoCo 0.8.12-SNAPSHOT</div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/trunk/coverage/org.jacoco.cli/org.jacoco.cli.internal.commands/Dump$1.html b/jacoco/trunk/coverage/org.jacoco.cli/org.jacoco.cli.internal.commands/Dump$1.html
    new file mode 100644
    index 00000000000..a413a246093
    --- /dev/null
    +++ b/jacoco/trunk/coverage/org.jacoco.cli/org.jacoco.cli.internal.commands/Dump$1.html
    @@ -0,0 +1 @@
    +<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="en"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../../jacoco-resources/report.gif" type="image/gif"/><title>Dump.new ExecDumpClient() {...}</title><script type="text/javascript" src="../../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../../index.html" class="el_report">JaCoCo</a> &gt; <a href="../index.html" class="el_bundle">org.jacoco.cli</a> &gt; <a href="index.html" class="el_package">org.jacoco.cli.internal.commands</a> &gt; <span class="el_class">Dump.new ExecDumpClient() {...}</span></div><h1>Dump.new ExecDumpClient() {...}</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">0 of 42</td><td class="ctr2">100%</td><td class="bar">0 of 0</td><td class="ctr2">n/a</td><td class="ctr1">0</td><td class="ctr2">3</td><td class="ctr1">0</td><td class="ctr2">5</td><td class="ctr1">0</td><td class="ctr2">3</td></tr></tfoot><tbody><tr><td id="a0"><a href="Dump.java.html#L58" class="el_method">onConnecting(InetAddress, int)</a></td><td class="bar" id="b0"><img src="../../jacoco-resources/greenbar.gif" width="120" height="10" title="17" alt="17"/></td><td class="ctr2" id="c0">100%</td><td class="bar" id="d0"/><td class="ctr2" id="e0">n/a</td><td class="ctr1" id="f0">0</td><td class="ctr2" id="g0">1</td><td class="ctr1" id="h0">0</td><td class="ctr2" id="i0">2</td><td class="ctr1" id="j0">0</td><td class="ctr2" id="k0">1</td></tr><tr><td id="a1"><a href="Dump.java.html#L64" class="el_method">onConnectionFailure(IOException)</a></td><td class="bar" id="b1"><img src="../../jacoco-resources/greenbar.gif" width="91" height="10" title="13" alt="13"/></td><td class="ctr2" id="c1">100%</td><td class="bar" id="d1"/><td class="ctr2" id="e1">n/a</td><td class="ctr1" id="f1">0</td><td class="ctr2" id="g1">1</td><td class="ctr1" id="h1">0</td><td class="ctr2" id="i1">2</td><td class="ctr1" id="j1">0</td><td class="ctr2" id="k1">1</td></tr><tr><td id="a2"><a href="Dump.java.html#L63" class="el_method">{...}</a></td><td class="bar" id="b2"><img src="../../jacoco-resources/greenbar.gif" width="84" height="10" title="12" alt="12"/></td><td class="ctr2" id="c2">100%</td><td class="bar" id="d2"/><td class="ctr2" id="e2">n/a</td><td class="ctr1" id="f2">0</td><td class="ctr2" id="g2">1</td><td class="ctr1" id="h2">0</td><td class="ctr2" id="i2">1</td><td class="ctr1" id="j2">0</td><td class="ctr2" id="k2">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.12.202403270442</span>Code Coverage Report for JaCoCo 0.8.12-SNAPSHOT</div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/trunk/coverage/org.jacoco.cli/org.jacoco.cli.internal.commands/Dump.html b/jacoco/trunk/coverage/org.jacoco.cli/org.jacoco.cli.internal.commands/Dump.html
    new file mode 100644
    index 00000000000..b0499718bea
    --- /dev/null
    +++ b/jacoco/trunk/coverage/org.jacoco.cli/org.jacoco.cli.internal.commands/Dump.html
    @@ -0,0 +1 @@
    +<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="en"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../../jacoco-resources/report.gif" type="image/gif"/><title>Dump</title><script type="text/javascript" src="../../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../../index.html" class="el_report">JaCoCo</a> &gt; <a href="../index.html" class="el_bundle">org.jacoco.cli</a> &gt; <a href="index.html" class="el_package">org.jacoco.cli.internal.commands</a> &gt; <span class="el_class">Dump</span></div><h1>Dump</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">0 of 58</td><td class="ctr2">100%</td><td class="bar">0 of 0</td><td class="ctr2">n/a</td><td class="ctr1">0</td><td class="ctr2">3</td><td class="ctr1">0</td><td class="ctr2">13</td><td class="ctr1">0</td><td class="ctr2">3</td></tr></tfoot><tbody><tr><td id="a2"><a href="Dump.java.html#L54" class="el_method">execute(PrintWriter, PrintWriter)</a></td><td class="bar" id="b0"><img src="../../jacoco-resources/greenbar.gif" width="120" height="10" title="41" alt="41"/></td><td class="ctr2" id="c0">100%</td><td class="bar" id="d0"/><td class="ctr2" id="e0">n/a</td><td class="ctr1" id="f0">0</td><td class="ctr2" id="g0">1</td><td class="ctr1" id="h0">0</td><td class="ctr2" id="i0">7</td><td class="ctr1" id="j0">0</td><td class="ctr2" id="k0">1</td></tr><tr><td id="a1"><a href="Dump.java.html#L29" class="el_method">Dump()</a></td><td class="bar" id="b1"><img src="../../jacoco-resources/greenbar.gif" width="43" height="10" title="15" alt="15"/></td><td class="ctr2" id="c1">100%</td><td class="bar" id="d1"/><td class="ctr2" id="e1">n/a</td><td class="ctr1" id="f1">0</td><td class="ctr2" id="g1">1</td><td class="ctr1" id="h1">0</td><td class="ctr2" id="i1">5</td><td class="ctr1" id="j1">0</td><td class="ctr2" id="k1">1</td></tr><tr><td id="a0"><a href="Dump.java.html#L48" class="el_method">description()</a></td><td class="bar" id="b2"><img src="../../jacoco-resources/greenbar.gif" width="5" height="10" title="2" alt="2"/></td><td class="ctr2" id="c2">100%</td><td class="bar" id="d2"/><td class="ctr2" id="e2">n/a</td><td class="ctr1" id="f2">0</td><td class="ctr2" id="g2">1</td><td class="ctr1" id="h2">0</td><td class="ctr2" id="i2">1</td><td class="ctr1" id="j2">0</td><td class="ctr2" id="k2">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.12.202403270442</span>Code Coverage Report for JaCoCo 0.8.12-SNAPSHOT</div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/trunk/coverage/org.jacoco.cli/org.jacoco.cli.internal.commands/Dump.java.html b/jacoco/trunk/coverage/org.jacoco.cli/org.jacoco.cli.internal.commands/Dump.java.html
    new file mode 100644
    index 00000000000..5e8dd360e0f
    --- /dev/null
    +++ b/jacoco/trunk/coverage/org.jacoco.cli/org.jacoco.cli.internal.commands/Dump.java.html
    @@ -0,0 +1,79 @@
    +<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="en"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../../jacoco-resources/report.gif" type="image/gif"/><title>Dump.java</title><link rel="stylesheet" href="../../jacoco-resources/prettify.css" type="text/css"/><script type="text/javascript" src="../../jacoco-resources/prettify.js"></script></head><body onload="window['PR_TAB_WIDTH']=4;prettyPrint()"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../../index.html" class="el_report">JaCoCo</a> &gt; <a href="../index.html" class="el_bundle">org.jacoco.cli</a> &gt; <a href="index.source.html" class="el_package">org.jacoco.cli.internal.commands</a> &gt; <span class="el_source">Dump.java</span></div><h1>Dump.java</h1><pre class="source lang-java linenums">/*******************************************************************************
    + * Copyright (c) 2009, 2024 Mountainminds GmbH &amp; Co. KG and Contributors
    + * This program and the accompanying materials are made available under
    + * the terms of the Eclipse Public License 2.0 which is available at
    + * http://www.eclipse.org/legal/epl-2.0
    + *
    + * SPDX-License-Identifier: EPL-2.0
    + *
    + * Contributors:
    + *    Marc R. Hoffmann - initial API and implementation
    + *
    + *******************************************************************************/
    +package org.jacoco.cli.internal.commands;
    +
    +import java.io.File;
    +import java.io.IOException;
    +import java.io.PrintWriter;
    +import java.net.InetAddress;
    +
    +import org.jacoco.cli.internal.Command;
    +import org.jacoco.core.runtime.AgentOptions;
    +import org.jacoco.core.tools.ExecDumpClient;
    +import org.jacoco.core.tools.ExecFileLoader;
    +import org.kohsuke.args4j.Option;
    +
    +/**
    + * The &lt;code&gt;dump&lt;/code&gt; command.
    + */
    +<span class="fc" id="L29">public class Dump extends Command {</span>
    +
    +	@Option(name = &quot;--address&quot;, usage = &quot;host name or ip address to connect to (default localhost)&quot;, metaVar = &quot;&lt;address&gt;&quot;)
    +<span class="fc" id="L32">	String address = AgentOptions.DEFAULT_ADDRESS;</span>
    +
    +	@Option(name = &quot;--port&quot;, usage = &quot;the port to connect to (default 6300)&quot;, metaVar = &quot;&lt;port&gt;&quot;)
    +<span class="fc" id="L35">	int port = AgentOptions.DEFAULT_PORT;</span>
    +
    +	@Option(name = &quot;--destfile&quot;, usage = &quot;file to write execution data to&quot;, metaVar = &quot;&lt;path&gt;&quot;, required = true)
    +	File destfile;
    +
    +	@Option(name = &quot;--reset&quot;, usage = &quot;reset execution data on test target after dump&quot;)
    +<span class="fc" id="L41">	boolean reset = false;</span>
    +
    +	@Option(name = &quot;--retry&quot;, usage = &quot;number of retries (default 10)&quot;, metaVar = &quot;&lt;count&gt;&quot;)
    +<span class="fc" id="L44">	int retrycount = 10;</span>
    +
    +	@Override
    +	public String description() {
    +<span class="fc" id="L48">		return &quot;Request execution data from a JaCoCo agent running in 'tcpserver' output mode.&quot;;</span>
    +	}
    +
    +	@Override
    +	public int execute(final PrintWriter out, final PrintWriter err)
    +			throws Exception {
    +<span class="fc" id="L54">		final ExecDumpClient client = new ExecDumpClient() {</span>
    +			@Override
    +			protected void onConnecting(final InetAddress address,
    +					final int port) {
    +<span class="fc" id="L58">				out.printf(&quot;[INFO] Connecting to %s:%s.%n&quot;, address,</span>
    +						Integer.valueOf(port));
    +<span class="fc" id="L60">			}</span>
    +
    +			@Override
    +<span class="fc" id="L63">			protected void onConnectionFailure(final IOException exception) {</span>
    +<span class="fc" id="L64">				err.printf(&quot;[WARN] %s.%n&quot;, exception.getMessage());</span>
    +<span class="fc" id="L65">			}</span>
    +		};
    +<span class="fc" id="L67">		client.setReset(reset);</span>
    +<span class="fc" id="L68">		client.setRetryCount(retrycount);</span>
    +
    +<span class="fc" id="L70">		final ExecFileLoader loader = client.dump(address, port);</span>
    +<span class="fc" id="L71">		out.printf(&quot;[INFO] Writing execution data to %s.%n&quot;,</span>
    +				destfile.getAbsolutePath());
    +<span class="fc" id="L73">		loader.save(destfile, true);</span>
    +
    +<span class="fc" id="L75">		return 0;</span>
    +	}
    +
    +}
    +</pre><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.12.202403270442</span>Code Coverage Report for JaCoCo 0.8.12-SNAPSHOT</div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/trunk/coverage/org.jacoco.cli/org.jacoco.cli.internal.commands/ExecInfo$1.html b/jacoco/trunk/coverage/org.jacoco.cli/org.jacoco.cli.internal.commands/ExecInfo$1.html
    new file mode 100644
    index 00000000000..b6fdf407166
    --- /dev/null
    +++ b/jacoco/trunk/coverage/org.jacoco.cli/org.jacoco.cli.internal.commands/ExecInfo$1.html
    @@ -0,0 +1 @@
    +<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="en"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../../jacoco-resources/report.gif" type="image/gif"/><title>ExecInfo.new ISessionInfoVisitor() {...}</title><script type="text/javascript" src="../../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../../index.html" class="el_report">JaCoCo</a> &gt; <a href="../index.html" class="el_bundle">org.jacoco.cli</a> &gt; <a href="index.html" class="el_package">org.jacoco.cli.internal.commands</a> &gt; <span class="el_class">ExecInfo.new ISessionInfoVisitor() {...}</span></div><h1>ExecInfo.new ISessionInfoVisitor() {...}</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">0 of 38</td><td class="ctr2">100%</td><td class="bar">0 of 0</td><td class="ctr2">n/a</td><td class="ctr1">0</td><td class="ctr2">2</td><td class="ctr1">0</td><td class="ctr2">3</td><td class="ctr1">0</td><td class="ctr2">2</td></tr></tfoot><tbody><tr><td id="a0"><a href="ExecInfo.java.html#L66" class="el_method">visitSessionInfo(SessionInfo)</a></td><td class="bar" id="b0"><img src="../../jacoco-resources/greenbar.gif" width="120" height="10" title="29" alt="29"/></td><td class="ctr2" id="c0">100%</td><td class="bar" id="d0"/><td class="ctr2" id="e0">n/a</td><td class="ctr1" id="f0">0</td><td class="ctr2" id="g0">1</td><td class="ctr1" id="h0">0</td><td class="ctr2" id="i0">2</td><td class="ctr1" id="j0">0</td><td class="ctr2" id="k0">1</td></tr><tr><td id="a1"><a href="ExecInfo.java.html#L65" class="el_method">{...}</a></td><td class="bar" id="b1"><img src="../../jacoco-resources/greenbar.gif" width="37" height="10" title="9" alt="9"/></td><td class="ctr2" id="c1">100%</td><td class="bar" id="d1"/><td class="ctr2" id="e1">n/a</td><td class="ctr1" id="f1">0</td><td class="ctr2" id="g1">1</td><td class="ctr1" id="h1">0</td><td class="ctr2" id="i1">1</td><td class="ctr1" id="j1">0</td><td class="ctr2" id="k1">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.12.202403270442</span>Code Coverage Report for JaCoCo 0.8.12-SNAPSHOT</div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/trunk/coverage/org.jacoco.cli/org.jacoco.cli.internal.commands/ExecInfo$2.html b/jacoco/trunk/coverage/org.jacoco.cli/org.jacoco.cli.internal.commands/ExecInfo$2.html
    new file mode 100644
    index 00000000000..3604e8aa190
    --- /dev/null
    +++ b/jacoco/trunk/coverage/org.jacoco.cli/org.jacoco.cli.internal.commands/ExecInfo$2.html
    @@ -0,0 +1 @@
    +<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="en"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../../jacoco-resources/report.gif" type="image/gif"/><title>ExecInfo.new IExecutionDataVisitor() {...}</title><script type="text/javascript" src="../../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../../index.html" class="el_report">JaCoCo</a> &gt; <a href="../index.html" class="el_bundle">org.jacoco.cli</a> &gt; <a href="index.html" class="el_package">org.jacoco.cli.internal.commands</a> &gt; <span class="el_class">ExecInfo.new IExecutionDataVisitor() {...}</span></div><h1>ExecInfo.new IExecutionDataVisitor() {...}</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">0 of 44</td><td class="ctr2">100%</td><td class="bar">0 of 0</td><td class="ctr2">n/a</td><td class="ctr1">0</td><td class="ctr2">2</td><td class="ctr1">0</td><td class="ctr2">3</td><td class="ctr1">0</td><td class="ctr2">2</td></tr></tfoot><tbody><tr><td id="a0"><a href="ExecInfo.java.html#L73" class="el_method">visitClassExecution(ExecutionData)</a></td><td class="bar" id="b0"><img src="../../jacoco-resources/greenbar.gif" width="120" height="10" title="35" alt="35"/></td><td class="ctr2" id="c0">100%</td><td class="bar" id="d0"/><td class="ctr2" id="e0">n/a</td><td class="ctr1" id="f0">0</td><td class="ctr2" id="g0">1</td><td class="ctr1" id="h0">0</td><td class="ctr2" id="i0">2</td><td class="ctr1" id="j0">0</td><td class="ctr2" id="k0">1</td></tr><tr><td id="a1"><a href="ExecInfo.java.html#L72" class="el_method">{...}</a></td><td class="bar" id="b1"><img src="../../jacoco-resources/greenbar.gif" width="30" height="10" title="9" alt="9"/></td><td class="ctr2" id="c1">100%</td><td class="bar" id="d1"/><td class="ctr2" id="e1">n/a</td><td class="ctr1" id="f1">0</td><td class="ctr2" id="g1">1</td><td class="ctr1" id="h1">0</td><td class="ctr2" id="i1">1</td><td class="ctr1" id="j1">0</td><td class="ctr2" id="k1">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.12.202403270442</span>Code Coverage Report for JaCoCo 0.8.12-SNAPSHOT</div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/trunk/coverage/org.jacoco.cli/org.jacoco.cli.internal.commands/ExecInfo.html b/jacoco/trunk/coverage/org.jacoco.cli/org.jacoco.cli.internal.commands/ExecInfo.html
    new file mode 100644
    index 00000000000..eb1d856b082
    --- /dev/null
    +++ b/jacoco/trunk/coverage/org.jacoco.cli/org.jacoco.cli.internal.commands/ExecInfo.html
    @@ -0,0 +1 @@
    +<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="en"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../../jacoco-resources/report.gif" type="image/gif"/><title>ExecInfo</title><script type="text/javascript" src="../../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../../index.html" class="el_report">JaCoCo</a> &gt; <a href="../index.html" class="el_bundle">org.jacoco.cli</a> &gt; <a href="index.html" class="el_package">org.jacoco.cli.internal.commands</a> &gt; <span class="el_class">ExecInfo</span></div><h1>ExecInfo</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">0 of 104</td><td class="ctr2">100%</td><td class="bar">0 of 8</td><td class="ctr2">100%</td><td class="ctr1">0</td><td class="ctr2">9</td><td class="ctr1">0</td><td class="ctr2">23</td><td class="ctr1">0</td><td class="ctr2">5</td></tr></tfoot><tbody><tr><td id="a1"><a href="ExecInfo.java.html#L59" class="el_method">dump(File, PrintWriter)</a></td><td class="bar" id="b0"><img src="../../jacoco-resources/greenbar.gif" width="120" height="10" title="45" alt="45"/></td><td class="ctr2" id="c0">100%</td><td class="bar" id="d2"/><td class="ctr2" id="e2">n/a</td><td class="ctr1" id="f0">0</td><td class="ctr2" id="g2">1</td><td class="ctr1" id="h0">0</td><td class="ctr2" id="i0">10</td><td class="ctr1" id="j0">0</td><td class="ctr2" id="k0">1</td></tr><tr><td id="a3"><a href="ExecInfo.java.html#L47" class="el_method">execute(PrintWriter, PrintWriter)</a></td><td class="bar" id="b1"><img src="../../jacoco-resources/greenbar.gif" width="69" height="10" title="26" alt="26"/></td><td class="ctr2" id="c1">100%</td><td class="bar" id="d0"><img src="../../jacoco-resources/greenbar.gif" width="120" height="10" title="4" alt="4"/></td><td class="ctr2" id="e0">100%</td><td class="ctr1" id="f1">0</td><td class="ctr2" id="g0">3</td><td class="ctr1" id="h1">0</td><td class="ctr2" id="i1">5</td><td class="ctr1" id="j1">0</td><td class="ctr2" id="k1">1</td></tr><tr><td id="a4"><a href="ExecInfo.java.html#L86" class="el_method">getHitCount(boolean[])</a></td><td class="bar" id="b2"><img src="../../jacoco-resources/greenbar.gif" width="61" height="10" title="23" alt="23"/></td><td class="ctr2" id="c2">100%</td><td class="bar" id="d1"><img src="../../jacoco-resources/greenbar.gif" width="120" height="10" title="4" alt="4"/></td><td class="ctr2" id="e1">100%</td><td class="ctr1" id="f2">0</td><td class="ctr2" id="g1">3</td><td class="ctr1" id="h2">0</td><td class="ctr2" id="i2">5</td><td class="ctr1" id="j2">0</td><td class="ctr2" id="k2">1</td></tr><tr><td id="a2"><a href="ExecInfo.java.html#L34" class="el_method">ExecInfo()</a></td><td class="bar" id="b3"><img src="../../jacoco-resources/greenbar.gif" width="21" height="10" title="8" alt="8"/></td><td class="ctr2" id="c3">100%</td><td class="bar" id="d3"/><td class="ctr2" id="e3">n/a</td><td class="ctr1" id="f3">0</td><td class="ctr2" id="g3">1</td><td class="ctr1" id="h3">0</td><td class="ctr2" id="i3">2</td><td class="ctr1" id="j3">0</td><td class="ctr2" id="k3">1</td></tr><tr><td id="a0"><a href="ExecInfo.java.html#L41" class="el_method">description()</a></td><td class="bar" id="b4"><img src="../../jacoco-resources/greenbar.gif" width="5" height="10" title="2" alt="2"/></td><td class="ctr2" id="c4">100%</td><td class="bar" id="d4"/><td class="ctr2" id="e4">n/a</td><td class="ctr1" id="f4">0</td><td class="ctr2" id="g4">1</td><td class="ctr1" id="h4">0</td><td class="ctr2" id="i4">1</td><td class="ctr1" id="j4">0</td><td class="ctr2" id="k4">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.12.202403270442</span>Code Coverage Report for JaCoCo 0.8.12-SNAPSHOT</div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/trunk/coverage/org.jacoco.cli/org.jacoco.cli.internal.commands/ExecInfo.java.html b/jacoco/trunk/coverage/org.jacoco.cli/org.jacoco.cli.internal.commands/ExecInfo.java.html
    new file mode 100644
    index 00000000000..6f17088f892
    --- /dev/null
    +++ b/jacoco/trunk/coverage/org.jacoco.cli/org.jacoco.cli.internal.commands/ExecInfo.java.html
    @@ -0,0 +1,96 @@
    +<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="en"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../../jacoco-resources/report.gif" type="image/gif"/><title>ExecInfo.java</title><link rel="stylesheet" href="../../jacoco-resources/prettify.css" type="text/css"/><script type="text/javascript" src="../../jacoco-resources/prettify.js"></script></head><body onload="window['PR_TAB_WIDTH']=4;prettyPrint()"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../../index.html" class="el_report">JaCoCo</a> &gt; <a href="../index.html" class="el_bundle">org.jacoco.cli</a> &gt; <a href="index.source.html" class="el_package">org.jacoco.cli.internal.commands</a> &gt; <span class="el_source">ExecInfo.java</span></div><h1>ExecInfo.java</h1><pre class="source lang-java linenums">/*******************************************************************************
    + * Copyright (c) 2009, 2024 Mountainminds GmbH &amp; Co. KG and Contributors
    + * This program and the accompanying materials are made available under
    + * the terms of the Eclipse Public License 2.0 which is available at
    + * http://www.eclipse.org/legal/epl-2.0
    + *
    + * SPDX-License-Identifier: EPL-2.0
    + *
    + * Contributors:
    + *    Marc R. Hoffmann - initial API and implementation
    + *
    + *******************************************************************************/
    +package org.jacoco.cli.internal.commands;
    +
    +import java.io.File;
    +import java.io.FileInputStream;
    +import java.io.IOException;
    +import java.io.PrintWriter;
    +import java.util.ArrayList;
    +import java.util.Date;
    +import java.util.List;
    +
    +import org.jacoco.cli.internal.Command;
    +import org.jacoco.core.data.ExecutionData;
    +import org.jacoco.core.data.ExecutionDataReader;
    +import org.jacoco.core.data.IExecutionDataVisitor;
    +import org.jacoco.core.data.ISessionInfoVisitor;
    +import org.jacoco.core.data.SessionInfo;
    +import org.kohsuke.args4j.Argument;
    +
    +/**
    + * The &lt;code&gt;execinfo&lt;/code&gt; command.
    + */
    +<span class="fc" id="L34">public class ExecInfo extends Command {</span>
    +
    +	@Argument(usage = &quot;list of JaCoCo *.exec files to read&quot;, metaVar = &quot;&lt;execfiles&gt;&quot;)
    +<span class="fc" id="L37">	List&lt;File&gt; execfiles = new ArrayList&lt;File&gt;();</span>
    +
    +	@Override
    +	public String description() {
    +<span class="fc" id="L41">		return &quot;Print exec file content in human readable format.&quot;;</span>
    +	}
    +
    +	@Override
    +	public int execute(final PrintWriter out, final PrintWriter err)
    +			throws IOException {
    +<span class="fc bfc" id="L47" title="All 2 branches covered.">		if (execfiles.isEmpty()) {</span>
    +<span class="fc" id="L48">			out.println(&quot;[WARN] No execution data files provided.&quot;);</span>
    +		} else {
    +<span class="fc bfc" id="L50" title="All 2 branches covered.">			for (final File file : execfiles) {</span>
    +<span class="fc" id="L51">				dump(file, out);</span>
    +			}
    +		}
    +<span class="fc" id="L54">		return 0;</span>
    +	}
    +
    +	private void dump(final File file, final PrintWriter out)
    +			throws IOException {
    +<span class="fc" id="L59">		out.printf(&quot;[INFO] Loading exec file %s.%n&quot;, file);</span>
    +<span class="fc" id="L60">		out.println(&quot;CLASS ID         HITS/PROBES   CLASS NAME&quot;);</span>
    +
    +<span class="fc" id="L62">		final FileInputStream in = new FileInputStream(file);</span>
    +<span class="fc" id="L63">		final ExecutionDataReader reader = new ExecutionDataReader(in);</span>
    +<span class="fc" id="L64">		reader.setSessionInfoVisitor(new ISessionInfoVisitor() {</span>
    +<span class="fc" id="L65">			public void visitSessionInfo(final SessionInfo info) {</span>
    +<span class="fc" id="L66">				out.printf(&quot;Session \&quot;%s\&quot;: %s - %s%n&quot;, info.getId(),</span>
    +						new Date(info.getStartTimeStamp()),
    +						new Date(info.getDumpTimeStamp()));
    +<span class="fc" id="L69">			}</span>
    +		});
    +<span class="fc" id="L71">		reader.setExecutionDataVisitor(new IExecutionDataVisitor() {</span>
    +<span class="fc" id="L72">			public void visitClassExecution(final ExecutionData data) {</span>
    +<span class="fc" id="L73">				out.printf(&quot;%016x  %3d of %3d   %s%n&quot;,</span>
    +						Long.valueOf(data.getId()),
    +						Integer.valueOf(getHitCount(data.getProbes())),
    +						Integer.valueOf(data.getProbes().length),
    +						data.getName());
    +<span class="fc" id="L78">			}</span>
    +		});
    +<span class="fc" id="L80">		reader.read();</span>
    +<span class="fc" id="L81">		in.close();</span>
    +<span class="fc" id="L82">		out.println();</span>
    +<span class="fc" id="L83">	}</span>
    +
    +	private int getHitCount(final boolean[] data) {
    +<span class="fc" id="L86">		int count = 0;</span>
    +<span class="fc bfc" id="L87" title="All 2 branches covered.">		for (final boolean hit : data) {</span>
    +<span class="fc bfc" id="L88" title="All 2 branches covered.">			if (hit) {</span>
    +<span class="fc" id="L89">				count++;</span>
    +			}
    +		}
    +<span class="fc" id="L92">		return count;</span>
    +	}
    +
    +}
    +</pre><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.12.202403270442</span>Code Coverage Report for JaCoCo 0.8.12-SNAPSHOT</div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/trunk/coverage/org.jacoco.cli/org.jacoco.cli.internal.commands/Instrument.html b/jacoco/trunk/coverage/org.jacoco.cli/org.jacoco.cli.internal.commands/Instrument.html
    new file mode 100644
    index 00000000000..37f02d608d4
    --- /dev/null
    +++ b/jacoco/trunk/coverage/org.jacoco.cli/org.jacoco.cli.internal.commands/Instrument.html
    @@ -0,0 +1 @@
    +<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="en"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../../jacoco-resources/report.gif" type="image/gif"/><title>Instrument</title><script type="text/javascript" src="../../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../../index.html" class="el_report">JaCoCo</a> &gt; <a href="../index.html" class="el_bundle">org.jacoco.cli</a> &gt; <a href="index.html" class="el_package">org.jacoco.cli.internal.commands</a> &gt; <span class="el_class">Instrument</span></div><h1>Instrument</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">0 of 154</td><td class="ctr2">100%</td><td class="bar">0 of 8</td><td class="ctr2">100%</td><td class="ctr1">0</td><td class="ctr2">9</td><td class="ctr1">0</td><td class="ctr2">27</td><td class="ctr1">0</td><td class="ctr2">5</td></tr></tfoot><tbody><tr><td id="a1"><a href="Instrument.java.html#L53" class="el_method">execute(PrintWriter, PrintWriter)</a></td><td class="bar" id="b0"><img src="../../jacoco-resources/greenbar.gif" width="120" height="10" title="66" alt="66"/></td><td class="ctr2" id="c0">100%</td><td class="bar" id="d0"><img src="../../jacoco-resources/greenbar.gif" width="120" height="10" title="4" alt="4"/></td><td class="ctr2" id="e0">100%</td><td class="ctr1" id="f0">0</td><td class="ctr2" id="g0">3</td><td class="ctr1" id="h0">0</td><td class="ctr2" id="i0">9</td><td class="ctr1" id="j0">0</td><td class="ctr2" id="k0">1</td></tr><tr><td id="a4"><a href="Instrument.java.html#L71" class="el_method">instrumentRecursive(File, File)</a></td><td class="bar" id="b1"><img src="../../jacoco-resources/greenbar.gif" width="80" height="10" title="44" alt="44"/></td><td class="ctr2" id="c1">100%</td><td class="bar" id="d1"><img src="../../jacoco-resources/greenbar.gif" width="120" height="10" title="4" alt="4"/></td><td class="ctr2" id="e1">100%</td><td class="ctr1" id="f1">0</td><td class="ctr2" id="g1">3</td><td class="ctr1" id="h1">0</td><td class="ctr2" id="i2">6</td><td class="ctr1" id="j1">0</td><td class="ctr2" id="k1">1</td></tr><tr><td id="a3"><a href="Instrument.java.html#L84" class="el_method">instrument(File, File)</a></td><td class="bar" id="b2"><img src="../../jacoco-resources/greenbar.gif" width="61" height="10" title="34" alt="34"/></td><td class="ctr2" id="c2">100%</td><td class="bar" id="d2"/><td class="ctr2" id="e2">n/a</td><td class="ctr1" id="f2">0</td><td class="ctr2" id="g2">1</td><td class="ctr1" id="h2">0</td><td class="ctr2" id="i1">9</td><td class="ctr1" id="j2">0</td><td class="ctr2" id="k2">1</td></tr><tr><td id="a2"><a href="Instrument.java.html#L35" class="el_method">Instrument()</a></td><td class="bar" id="b3"><img src="../../jacoco-resources/greenbar.gif" width="14" height="10" title="8" alt="8"/></td><td class="ctr2" id="c3">100%</td><td class="bar" id="d3"/><td class="ctr2" id="e3">n/a</td><td class="ctr1" id="f3">0</td><td class="ctr2" id="g3">1</td><td class="ctr1" id="h3">0</td><td class="ctr2" id="i3">2</td><td class="ctr1" id="j3">0</td><td class="ctr2" id="k3">1</td></tr><tr><td id="a0"><a href="Instrument.java.html#L47" class="el_method">description()</a></td><td class="bar" id="b4"><img src="../../jacoco-resources/greenbar.gif" width="3" height="10" title="2" alt="2"/></td><td class="ctr2" id="c4">100%</td><td class="bar" id="d4"/><td class="ctr2" id="e4">n/a</td><td class="ctr1" id="f4">0</td><td class="ctr2" id="g4">1</td><td class="ctr1" id="h4">0</td><td class="ctr2" id="i4">1</td><td class="ctr1" id="j4">0</td><td class="ctr2" id="k4">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.12.202403270442</span>Code Coverage Report for JaCoCo 0.8.12-SNAPSHOT</div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/trunk/coverage/org.jacoco.cli/org.jacoco.cli.internal.commands/Instrument.java.html b/jacoco/trunk/coverage/org.jacoco.cli/org.jacoco.cli.internal.commands/Instrument.java.html
    new file mode 100644
    index 00000000000..690247b1457
    --- /dev/null
    +++ b/jacoco/trunk/coverage/org.jacoco.cli/org.jacoco.cli.internal.commands/Instrument.java.html
    @@ -0,0 +1,103 @@
    +<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="en"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../../jacoco-resources/report.gif" type="image/gif"/><title>Instrument.java</title><link rel="stylesheet" href="../../jacoco-resources/prettify.css" type="text/css"/><script type="text/javascript" src="../../jacoco-resources/prettify.js"></script></head><body onload="window['PR_TAB_WIDTH']=4;prettyPrint()"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../../index.html" class="el_report">JaCoCo</a> &gt; <a href="../index.html" class="el_bundle">org.jacoco.cli</a> &gt; <a href="index.source.html" class="el_package">org.jacoco.cli.internal.commands</a> &gt; <span class="el_source">Instrument.java</span></div><h1>Instrument.java</h1><pre class="source lang-java linenums">/*******************************************************************************
    + * Copyright (c) 2009, 2024 Mountainminds GmbH &amp; Co. KG and Contributors
    + * This program and the accompanying materials are made available under
    + * the terms of the Eclipse Public License 2.0 which is available at
    + * http://www.eclipse.org/legal/epl-2.0
    + *
    + * SPDX-License-Identifier: EPL-2.0
    + *
    + * Contributors:
    + *    John Keeping - initial implementation
    + *    Marc R. Hoffmann - rework
    + *
    + *******************************************************************************/
    +package org.jacoco.cli.internal.commands;
    +
    +import java.io.File;
    +import java.io.FileInputStream;
    +import java.io.FileOutputStream;
    +import java.io.IOException;
    +import java.io.InputStream;
    +import java.io.OutputStream;
    +import java.io.PrintWriter;
    +import java.util.ArrayList;
    +import java.util.List;
    +
    +import org.jacoco.cli.internal.Command;
    +import org.jacoco.core.instr.Instrumenter;
    +import org.jacoco.core.runtime.OfflineInstrumentationAccessGenerator;
    +import org.kohsuke.args4j.Argument;
    +import org.kohsuke.args4j.Option;
    +
    +/**
    + * The &lt;code&gt;instrument&lt;/code&gt; command.
    + */
    +<span class="fc" id="L35">public class Instrument extends Command {</span>
    +
    +	@Option(name = &quot;--dest&quot;, usage = &quot;path to write instrumented Java classes to&quot;, metaVar = &quot;&lt;dir&gt;&quot;, required = true)
    +	File dest;
    +
    +	@Argument(usage = &quot;list of folder or files to instrument recusively&quot;, metaVar = &quot;&lt;sourcefiles&gt;&quot;)
    +<span class="fc" id="L41">	List&lt;File&gt; source = new ArrayList&lt;File&gt;();</span>
    +
    +	private Instrumenter instrumenter;
    +
    +	@Override
    +	public String description() {
    +<span class="fc" id="L47">		return &quot;Off-line instrumentation of Java class files and JAR files.&quot;;</span>
    +	}
    +
    +	@Override
    +	public int execute(final PrintWriter out, final PrintWriter err)
    +			throws IOException {
    +<span class="fc" id="L53">		final File absoluteDest = dest.getAbsoluteFile();</span>
    +<span class="fc" id="L54">		instrumenter = new Instrumenter(</span>
    +				new OfflineInstrumentationAccessGenerator());
    +<span class="fc" id="L56">		int total = 0;</span>
    +<span class="fc bfc" id="L57" title="All 2 branches covered.">		for (final File s : source) {</span>
    +<span class="fc bfc" id="L58" title="All 2 branches covered.">			if (s.isFile()) {</span>
    +<span class="fc" id="L59">				total += instrument(s, new File(absoluteDest, s.getName()));</span>
    +			} else {
    +<span class="fc" id="L61">				total += instrumentRecursive(s, absoluteDest);</span>
    +			}
    +		}
    +<span class="fc" id="L64">		out.printf(&quot;[INFO] %s classes instrumented to %s.%n&quot;,</span>
    +				Integer.valueOf(total), absoluteDest);
    +<span class="fc" id="L66">		return 0;</span>
    +	}
    +
    +	private int instrumentRecursive(final File src, final File dest)
    +			throws IOException {
    +<span class="fc" id="L71">		int total = 0;</span>
    +<span class="fc bfc" id="L72" title="All 2 branches covered.">		if (src.isDirectory()) {</span>
    +<span class="fc bfc" id="L73" title="All 2 branches covered.">			for (final File child : src.listFiles()) {</span>
    +<span class="fc" id="L74">				total += instrumentRecursive(child,</span>
    +						new File(dest, child.getName()));
    +			}
    +		} else {
    +<span class="fc" id="L78">			total += instrument(src, dest);</span>
    +		}
    +<span class="fc" id="L80">		return total;</span>
    +	}
    +
    +	private int instrument(final File src, final File dest) throws IOException {
    +<span class="fc" id="L84">		dest.getParentFile().mkdirs();</span>
    +<span class="fc" id="L85">		final InputStream input = new FileInputStream(src);</span>
    +		try {
    +<span class="fc" id="L87">			final OutputStream output = new FileOutputStream(dest);</span>
    +			try {
    +<span class="fc" id="L89">				return instrumenter.instrumentAll(input, output,</span>
    +						src.getAbsolutePath());
    +			} finally {
    +<span class="fc" id="L92">				output.close();</span>
    +			}
    +<span class="fc" id="L94">		} catch (final IOException e) {</span>
    +<span class="fc" id="L95">			dest.delete();</span>
    +<span class="fc" id="L96">			throw e;</span>
    +		} finally {
    +<span class="fc" id="L98">			input.close();</span>
    +		}
    +	}
    +
    +}
    +</pre><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.12.202403270442</span>Code Coverage Report for JaCoCo 0.8.12-SNAPSHOT</div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/trunk/coverage/org.jacoco.cli/org.jacoco.cli.internal.commands/Merge.html b/jacoco/trunk/coverage/org.jacoco.cli/org.jacoco.cli.internal.commands/Merge.html
    new file mode 100644
    index 00000000000..888ebac7b73
    --- /dev/null
    +++ b/jacoco/trunk/coverage/org.jacoco.cli/org.jacoco.cli.internal.commands/Merge.html
    @@ -0,0 +1 @@
    +<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="en"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../../jacoco-resources/report.gif" type="image/gif"/><title>Merge</title><script type="text/javascript" src="../../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../../index.html" class="el_report">JaCoCo</a> &gt; <a href="../index.html" class="el_bundle">org.jacoco.cli</a> &gt; <a href="index.html" class="el_package">org.jacoco.cli.internal.commands</a> &gt; <span class="el_class">Merge</span></div><h1>Merge</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">0 of 73</td><td class="ctr2">100%</td><td class="bar">0 of 4</td><td class="ctr2">100%</td><td class="ctr1">0</td><td class="ctr2">6</td><td class="ctr1">0</td><td class="ctr2">14</td><td class="ctr1">0</td><td class="ctr2">4</td></tr></tfoot><tbody><tr><td id="a2"><a href="Merge.java.html#L54" class="el_method">loadExecutionData(PrintWriter)</a></td><td class="bar" id="b0"><img src="../../jacoco-resources/greenbar.gif" width="120" height="10" title="40" alt="40"/></td><td class="ctr2" id="c0">100%</td><td class="bar" id="d0"><img src="../../jacoco-resources/greenbar.gif" width="120" height="10" title="4" alt="4"/></td><td class="ctr2" id="e0">100%</td><td class="ctr1" id="f0">0</td><td class="ctr2" id="g0">3</td><td class="ctr1" id="h0">0</td><td class="ctr2" id="i0">7</td><td class="ctr1" id="j0">0</td><td class="ctr2" id="k0">1</td></tr><tr><td id="a1"><a href="Merge.java.html#L45" class="el_method">execute(PrintWriter, PrintWriter)</a></td><td class="bar" id="b1"><img src="../../jacoco-resources/greenbar.gif" width="69" height="10" title="23" alt="23"/></td><td class="ctr2" id="c1">100%</td><td class="bar" id="d1"/><td class="ctr2" id="e1">n/a</td><td class="ctr1" id="f1">0</td><td class="ctr2" id="g1">1</td><td class="ctr1" id="h1">0</td><td class="ctr2" id="i1">4</td><td class="ctr1" id="j1">0</td><td class="ctr2" id="k1">1</td></tr><tr><td id="a3"><a href="Merge.java.html#L29" class="el_method">Merge()</a></td><td class="bar" id="b2"><img src="../../jacoco-resources/greenbar.gif" width="24" height="10" title="8" alt="8"/></td><td class="ctr2" id="c2">100%</td><td class="bar" id="d2"/><td class="ctr2" id="e2">n/a</td><td class="ctr1" id="f2">0</td><td class="ctr2" id="g2">1</td><td class="ctr1" id="h2">0</td><td class="ctr2" id="i2">2</td><td class="ctr1" id="j2">0</td><td class="ctr2" id="k2">1</td></tr><tr><td id="a0"><a href="Merge.java.html#L39" class="el_method">description()</a></td><td class="bar" id="b3"><img src="../../jacoco-resources/greenbar.gif" width="6" height="10" title="2" alt="2"/></td><td class="ctr2" id="c3">100%</td><td class="bar" id="d3"/><td class="ctr2" id="e3">n/a</td><td class="ctr1" id="f3">0</td><td class="ctr2" id="g3">1</td><td class="ctr1" id="h3">0</td><td class="ctr2" id="i3">1</td><td class="ctr1" id="j3">0</td><td class="ctr2" id="k3">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.12.202403270442</span>Code Coverage Report for JaCoCo 0.8.12-SNAPSHOT</div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/trunk/coverage/org.jacoco.cli/org.jacoco.cli.internal.commands/Merge.java.html b/jacoco/trunk/coverage/org.jacoco.cli/org.jacoco.cli.internal.commands/Merge.java.html
    new file mode 100644
    index 00000000000..1a879f7cb85
    --- /dev/null
    +++ b/jacoco/trunk/coverage/org.jacoco.cli/org.jacoco.cli.internal.commands/Merge.java.html
    @@ -0,0 +1,68 @@
    +<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="en"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../../jacoco-resources/report.gif" type="image/gif"/><title>Merge.java</title><link rel="stylesheet" href="../../jacoco-resources/prettify.css" type="text/css"/><script type="text/javascript" src="../../jacoco-resources/prettify.js"></script></head><body onload="window['PR_TAB_WIDTH']=4;prettyPrint()"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../../index.html" class="el_report">JaCoCo</a> &gt; <a href="../index.html" class="el_bundle">org.jacoco.cli</a> &gt; <a href="index.source.html" class="el_package">org.jacoco.cli.internal.commands</a> &gt; <span class="el_source">Merge.java</span></div><h1>Merge.java</h1><pre class="source lang-java linenums">/*******************************************************************************
    + * Copyright (c) 2009, 2024 Mountainminds GmbH &amp; Co. KG and Contributors
    + * This program and the accompanying materials are made available under
    + * the terms of the Eclipse Public License 2.0 which is available at
    + * http://www.eclipse.org/legal/epl-2.0
    + *
    + * SPDX-License-Identifier: EPL-2.0
    + *
    + * Contributors:
    + *    Marc R. Hoffmann - initial API and implementation
    + *
    + *******************************************************************************/
    +package org.jacoco.cli.internal.commands;
    +
    +import java.io.File;
    +import java.io.IOException;
    +import java.io.PrintWriter;
    +import java.util.ArrayList;
    +import java.util.List;
    +
    +import org.jacoco.cli.internal.Command;
    +import org.jacoco.core.tools.ExecFileLoader;
    +import org.kohsuke.args4j.Argument;
    +import org.kohsuke.args4j.Option;
    +
    +/**
    + * The &lt;code&gt;merge&lt;/code&gt; command.
    + */
    +<span class="fc" id="L29">public class Merge extends Command {</span>
    +
    +	@Argument(usage = &quot;list of JaCoCo *.exec files to read&quot;, metaVar = &quot;&lt;execfiles&gt;&quot;)
    +<span class="fc" id="L32">	List&lt;File&gt; execfiles = new ArrayList&lt;File&gt;();</span>
    +
    +	@Option(name = &quot;--destfile&quot;, usage = &quot;file to write merged execution data to&quot;, metaVar = &quot;&lt;path&gt;&quot;, required = true)
    +	File destfile;
    +
    +	@Override
    +	public String description() {
    +<span class="fc" id="L39">		return &quot;Merges multiple exec files into a new one.&quot;;</span>
    +	}
    +
    +	@Override
    +	public int execute(final PrintWriter out, final PrintWriter err)
    +			throws IOException {
    +<span class="fc" id="L45">		final ExecFileLoader loader = loadExecutionData(out);</span>
    +<span class="fc" id="L46">		out.printf(&quot;[INFO] Writing execution data to %s.%n&quot;,</span>
    +				destfile.getAbsolutePath());
    +<span class="fc" id="L48">		loader.save(destfile, true);</span>
    +<span class="fc" id="L49">		return 0;</span>
    +	}
    +
    +	private ExecFileLoader loadExecutionData(final PrintWriter out)
    +			throws IOException {
    +<span class="fc" id="L54">		final ExecFileLoader loader = new ExecFileLoader();</span>
    +<span class="fc bfc" id="L55" title="All 2 branches covered.">		if (execfiles.isEmpty()) {</span>
    +<span class="fc" id="L56">			out.println(&quot;[WARN] No execution data files provided.&quot;);</span>
    +		} else {
    +<span class="fc bfc" id="L58" title="All 2 branches covered.">			for (final File file : execfiles) {</span>
    +<span class="fc" id="L59">				out.printf(&quot;[INFO] Loading execution data file %s.%n&quot;,</span>
    +						file.getAbsolutePath());
    +<span class="fc" id="L61">				loader.load(file);</span>
    +			}
    +		}
    +<span class="fc" id="L64">		return loader;</span>
    +	}
    +
    +}
    +</pre><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.12.202403270442</span>Code Coverage Report for JaCoCo 0.8.12-SNAPSHOT</div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/trunk/coverage/org.jacoco.cli/org.jacoco.cli.internal.commands/Report.html b/jacoco/trunk/coverage/org.jacoco.cli/org.jacoco.cli.internal.commands/Report.html
    new file mode 100644
    index 00000000000..6629fcdfbd5
    --- /dev/null
    +++ b/jacoco/trunk/coverage/org.jacoco.cli/org.jacoco.cli.internal.commands/Report.html
    @@ -0,0 +1 @@
    +<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="en"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../../jacoco-resources/report.gif" type="image/gif"/><title>Report</title><script type="text/javascript" src="../../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../../index.html" class="el_report">JaCoCo</a> &gt; <a href="../index.html" class="el_bundle">org.jacoco.cli</a> &gt; <a href="index.html" class="el_package">org.jacoco.cli.internal.commands</a> &gt; <span class="el_class">Report</span></div><h1>Report</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">0 of 273</td><td class="ctr2">100%</td><td class="bar">0 of 18</td><td class="ctr2">100%</td><td class="ctr1">0</td><td class="ctr2">18</td><td class="ctr1">0</td><td class="ctr2">51</td><td class="ctr1">0</td><td class="ctr2">9</td></tr></tfoot><tbody><tr><td id="a1"><a href="Report.java.html#L144" class="el_method">createReportVisitor()</a></td><td class="bar" id="b0"><img src="../../jacoco-resources/greenbar.gif" width="120" height="10" title="60" alt="60"/></td><td class="ctr2" id="c0">100%</td><td class="bar" id="d0"><img src="../../jacoco-resources/greenbar.gif" width="120" height="10" title="6" alt="6"/></td><td class="ctr2" id="e0">100%</td><td class="ctr1" id="f0">0</td><td class="ctr2" id="g0">4</td><td class="ctr1" id="h0">0</td><td class="ctr2" id="i0">11</td><td class="ctr1" id="j0">0</td><td class="ctr2" id="k0">1</td></tr><tr><td id="a5"><a href="Report.java.html#L92" class="el_method">loadExecutionData(PrintWriter)</a></td><td class="bar" id="b1"><img src="../../jacoco-resources/greenbar.gif" width="80" height="10" title="40" alt="40"/></td><td class="ctr2" id="c1">100%</td><td class="bar" id="d1"><img src="../../jacoco-resources/greenbar.gif" width="80" height="10" title="4" alt="4"/></td><td class="ctr2" id="e1">100%</td><td class="ctr1" id="f1">0</td><td class="ctr2" id="g1">3</td><td class="ctr1" id="h1">0</td><td class="ctr2" id="i1">7</td><td class="ctr1" id="j1">0</td><td class="ctr2" id="k1">1</td></tr><tr><td id="a0"><a href="Report.java.html#L107" class="el_method">analyze(ExecutionDataStore, PrintWriter)</a></td><td class="bar" id="b2"><img src="../../jacoco-resources/greenbar.gif" width="72" height="10" title="36" alt="36"/></td><td class="ctr2" id="c2">100%</td><td class="bar" id="d3"><img src="../../jacoco-resources/greenbar.gif" width="40" height="10" title="2" alt="2"/></td><td class="ctr2" id="e2">100%</td><td class="ctr1" id="f2">0</td><td class="ctr2" id="g3">2</td><td class="ctr1" id="h2">0</td><td class="ctr2" id="i2">6</td><td class="ctr1" id="j2">0</td><td class="ctr2" id="k2">1</td></tr><tr><td id="a6"><a href="Report.java.html#L118" class="el_method">printNoMatchWarning(Collection, PrintWriter)</a></td><td class="bar" id="b3"><img src="../../jacoco-resources/greenbar.gif" width="64" height="10" title="32" alt="32"/></td><td class="ctr2" id="c3">100%</td><td class="bar" id="d2"><img src="../../jacoco-resources/greenbar.gif" width="80" height="10" title="4" alt="4"/></td><td class="ctr2" id="e3">100%</td><td class="ctr1" id="f3">0</td><td class="ctr2" id="g2">3</td><td class="ctr1" id="h3">0</td><td class="ctr2" id="i3">6</td><td class="ctr1" id="j3">0</td><td class="ctr2" id="k3">1</td></tr><tr><td id="a8"><a href="Report.java.html#L134" class="el_method">writeReports(IBundleCoverage, ExecFileLoader, PrintWriter)</a></td><td class="bar" id="b4"><img src="../../jacoco-resources/greenbar.gif" width="64" height="10" title="32" alt="32"/></td><td class="ctr2" id="c4">100%</td><td class="bar" id="d5"/><td class="ctr2" id="e5">n/a</td><td class="ctr1" id="f4">0</td><td class="ctr2" id="g5">1</td><td class="ctr1" id="h4">0</td><td class="ctr2" id="i4">6</td><td class="ctr1" id="j4">0</td><td class="ctr2" id="k4">1</td></tr><tr><td id="a4"><a href="Report.java.html#L166" class="el_method">getSourceLocator()</a></td><td class="bar" id="b5"><img src="../../jacoco-resources/greenbar.gif" width="60" height="10" title="30" alt="30"/></td><td class="ctr2" id="c5">100%</td><td class="bar" id="d4"><img src="../../jacoco-resources/greenbar.gif" width="40" height="10" title="2" alt="2"/></td><td class="ctr2" id="e4">100%</td><td class="ctr1" id="f5">0</td><td class="ctr2" id="g4">2</td><td class="ctr1" id="h5">0</td><td class="ctr2" id="i6">4</td><td class="ctr1" id="j5">0</td><td class="ctr2" id="k5">1</td></tr><tr><td id="a7"><a href="Report.java.html#L46" class="el_method">Report()</a></td><td class="bar" id="b6"><img src="../../jacoco-resources/greenbar.gif" width="48" height="10" title="24" alt="24"/></td><td class="ctr2" id="c6">100%</td><td class="bar" id="d6"/><td class="ctr2" id="e6">n/a</td><td class="ctr1" id="f6">0</td><td class="ctr2" id="g6">1</td><td class="ctr1" id="h6">0</td><td class="ctr2" id="i5">6</td><td class="ctr1" id="j6">0</td><td class="ctr2" id="k6">1</td></tr><tr><td id="a3"><a href="Report.java.html#L83" class="el_method">execute(PrintWriter, PrintWriter)</a></td><td class="bar" id="b7"><img src="../../jacoco-resources/greenbar.gif" width="34" height="10" title="17" alt="17"/></td><td class="ctr2" id="c7">100%</td><td class="bar" id="d7"/><td class="ctr2" id="e7">n/a</td><td class="ctr1" id="f7">0</td><td class="ctr2" id="g7">1</td><td class="ctr1" id="h7">0</td><td class="ctr2" id="i7">4</td><td class="ctr1" id="j7">0</td><td class="ctr2" id="k7">1</td></tr><tr><td id="a2"><a href="Report.java.html#L77" class="el_method">description()</a></td><td class="bar" id="b8"><img src="../../jacoco-resources/greenbar.gif" width="4" height="10" title="2" alt="2"/></td><td class="ctr2" id="c8">100%</td><td class="bar" id="d8"/><td class="ctr2" id="e8">n/a</td><td class="ctr1" id="f8">0</td><td class="ctr2" id="g8">1</td><td class="ctr1" id="h8">0</td><td class="ctr2" id="i8">1</td><td class="ctr1" id="j8">0</td><td class="ctr2" id="k8">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.12.202403270442</span>Code Coverage Report for JaCoCo 0.8.12-SNAPSHOT</div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/trunk/coverage/org.jacoco.cli/org.jacoco.cli.internal.commands/Report.java.html b/jacoco/trunk/coverage/org.jacoco.cli/org.jacoco.cli.internal.commands/Report.java.html
    new file mode 100644
    index 00000000000..457a3563111
    --- /dev/null
    +++ b/jacoco/trunk/coverage/org.jacoco.cli/org.jacoco.cli.internal.commands/Report.java.html
    @@ -0,0 +1,175 @@
    +<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="en"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../../jacoco-resources/report.gif" type="image/gif"/><title>Report.java</title><link rel="stylesheet" href="../../jacoco-resources/prettify.css" type="text/css"/><script type="text/javascript" src="../../jacoco-resources/prettify.js"></script></head><body onload="window['PR_TAB_WIDTH']=4;prettyPrint()"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../../index.html" class="el_report">JaCoCo</a> &gt; <a href="../index.html" class="el_bundle">org.jacoco.cli</a> &gt; <a href="index.source.html" class="el_package">org.jacoco.cli.internal.commands</a> &gt; <span class="el_source">Report.java</span></div><h1>Report.java</h1><pre class="source lang-java linenums">/*******************************************************************************
    + * Copyright (c) 2009, 2024 Mountainminds GmbH &amp; Co. KG and Contributors
    + * This program and the accompanying materials are made available under
    + * the terms of the Eclipse Public License 2.0 which is available at
    + * http://www.eclipse.org/legal/epl-2.0
    + *
    + * SPDX-License-Identifier: EPL-2.0
    + *
    + * Contributors:
    + *    John Keeping - initial implementation
    + *    Marc R. Hoffmann - rework
    + *
    + *******************************************************************************/
    +package org.jacoco.cli.internal.commands;
    +
    +import java.io.File;
    +import java.io.FileOutputStream;
    +import java.io.IOException;
    +import java.io.PrintWriter;
    +import java.util.ArrayList;
    +import java.util.Collection;
    +import java.util.List;
    +
    +import org.jacoco.cli.internal.Command;
    +import org.jacoco.core.analysis.Analyzer;
    +import org.jacoco.core.analysis.CoverageBuilder;
    +import org.jacoco.core.analysis.IBundleCoverage;
    +import org.jacoco.core.analysis.IClassCoverage;
    +import org.jacoco.core.data.ExecutionDataStore;
    +import org.jacoco.core.tools.ExecFileLoader;
    +import org.jacoco.report.DirectorySourceFileLocator;
    +import org.jacoco.report.FileMultiReportOutput;
    +import org.jacoco.report.IReportVisitor;
    +import org.jacoco.report.ISourceFileLocator;
    +import org.jacoco.report.MultiReportVisitor;
    +import org.jacoco.report.MultiSourceFileLocator;
    +import org.jacoco.report.csv.CSVFormatter;
    +import org.jacoco.report.html.HTMLFormatter;
    +import org.jacoco.report.xml.XMLFormatter;
    +import org.kohsuke.args4j.Argument;
    +import org.kohsuke.args4j.Option;
    +
    +/**
    + * The &lt;code&gt;report&lt;/code&gt; command.
    + */
    +<span class="fc" id="L46">public class Report extends Command {</span>
    +
    +	@Argument(usage = &quot;list of JaCoCo *.exec files to read&quot;, metaVar = &quot;&lt;execfiles&gt;&quot;)
    +<span class="fc" id="L49">	List&lt;File&gt; execfiles = new ArrayList&lt;File&gt;();</span>
    +
    +	@Option(name = &quot;--classfiles&quot;, usage = &quot;location of Java class files&quot;, metaVar = &quot;&lt;path&gt;&quot;, required = true)
    +<span class="fc" id="L52">	List&lt;File&gt; classfiles = new ArrayList&lt;File&gt;();</span>
    +
    +	@Option(name = &quot;--sourcefiles&quot;, usage = &quot;location of the source files&quot;, metaVar = &quot;&lt;path&gt;&quot;)
    +<span class="fc" id="L55">	List&lt;File&gt; sourcefiles = new ArrayList&lt;File&gt;();</span>
    +
    +	@Option(name = &quot;--tabwith&quot;, usage = &quot;tab stop width for the source pages (default 4)&quot;, metaVar = &quot;&lt;n&gt;&quot;)
    +<span class="fc" id="L58">	int tabwidth = 4;</span>
    +
    +	@Option(name = &quot;--name&quot;, usage = &quot;name used for this report&quot;, metaVar = &quot;&lt;name&gt;&quot;)
    +<span class="fc" id="L61">	String name = &quot;JaCoCo Coverage Report&quot;;</span>
    +
    +	@Option(name = &quot;--encoding&quot;, usage = &quot;source file encoding (by default platform encoding is used)&quot;, metaVar = &quot;&lt;charset&gt;&quot;)
    +	String encoding;
    +
    +	@Option(name = &quot;--xml&quot;, usage = &quot;output file for the XML report&quot;, metaVar = &quot;&lt;file&gt;&quot;)
    +	File xml;
    +
    +	@Option(name = &quot;--csv&quot;, usage = &quot;output file for the CSV report&quot;, metaVar = &quot;&lt;file&gt;&quot;)
    +	File csv;
    +
    +	@Option(name = &quot;--html&quot;, usage = &quot;output directory for the HTML report&quot;, metaVar = &quot;&lt;dir&gt;&quot;)
    +	File html;
    +
    +	@Override
    +	public String description() {
    +<span class="fc" id="L77">		return &quot;Generate reports in different formats by reading exec and Java class files.&quot;;</span>
    +	}
    +
    +	@Override
    +	public int execute(final PrintWriter out, final PrintWriter err)
    +			throws IOException {
    +<span class="fc" id="L83">		final ExecFileLoader loader = loadExecutionData(out);</span>
    +<span class="fc" id="L84">		final IBundleCoverage bundle = analyze(loader.getExecutionDataStore(),</span>
    +				out);
    +<span class="fc" id="L86">		writeReports(bundle, loader, out);</span>
    +<span class="fc" id="L87">		return 0;</span>
    +	}
    +
    +	private ExecFileLoader loadExecutionData(final PrintWriter out)
    +			throws IOException {
    +<span class="fc" id="L92">		final ExecFileLoader loader = new ExecFileLoader();</span>
    +<span class="fc bfc" id="L93" title="All 2 branches covered.">		if (execfiles.isEmpty()) {</span>
    +<span class="fc" id="L94">			out.println(&quot;[WARN] No execution data files provided.&quot;);</span>
    +		} else {
    +<span class="fc bfc" id="L96" title="All 2 branches covered.">			for (final File file : execfiles) {</span>
    +<span class="fc" id="L97">				out.printf(&quot;[INFO] Loading execution data file %s.%n&quot;,</span>
    +						file.getAbsolutePath());
    +<span class="fc" id="L99">				loader.load(file);</span>
    +			}
    +		}
    +<span class="fc" id="L102">		return loader;</span>
    +	}
    +
    +	private IBundleCoverage analyze(final ExecutionDataStore data,
    +			final PrintWriter out) throws IOException {
    +<span class="fc" id="L107">		final CoverageBuilder builder = new CoverageBuilder();</span>
    +<span class="fc" id="L108">		final Analyzer analyzer = new Analyzer(data, builder);</span>
    +<span class="fc bfc" id="L109" title="All 2 branches covered.">		for (final File f : classfiles) {</span>
    +<span class="fc" id="L110">			analyzer.analyzeAll(f);</span>
    +		}
    +<span class="fc" id="L112">		printNoMatchWarning(builder.getNoMatchClasses(), out);</span>
    +<span class="fc" id="L113">		return builder.getBundle(name);</span>
    +	}
    +
    +	private void printNoMatchWarning(final Collection&lt;IClassCoverage&gt; nomatch,
    +			final PrintWriter out) {
    +<span class="fc bfc" id="L118" title="All 2 branches covered.">		if (!nomatch.isEmpty()) {</span>
    +<span class="fc" id="L119">			out.println(</span>
    +					&quot;[WARN] Some classes do not match with execution data.&quot;);
    +<span class="fc" id="L121">			out.println(</span>
    +					&quot;[WARN] For report generation the same class files must be used as at runtime.&quot;);
    +<span class="fc bfc" id="L123" title="All 2 branches covered.">			for (final IClassCoverage c : nomatch) {</span>
    +<span class="fc" id="L124">				out.printf(</span>
    +						&quot;[WARN] Execution data for class %s does not match.%n&quot;,
    +						c.getName());
    +			}
    +		}
    +<span class="fc" id="L129">	}</span>
    +
    +	private void writeReports(final IBundleCoverage bundle,
    +			final ExecFileLoader loader, final PrintWriter out)
    +			throws IOException {
    +<span class="fc" id="L134">		out.printf(&quot;[INFO] Analyzing %s classes.%n&quot;,</span>
    +				Integer.valueOf(bundle.getClassCounter().getTotalCount()));
    +<span class="fc" id="L136">		final IReportVisitor visitor = createReportVisitor();</span>
    +<span class="fc" id="L137">		visitor.visitInfo(loader.getSessionInfoStore().getInfos(),</span>
    +				loader.getExecutionDataStore().getContents());
    +<span class="fc" id="L139">		visitor.visitBundle(bundle, getSourceLocator());</span>
    +<span class="fc" id="L140">		visitor.visitEnd();</span>
    +<span class="fc" id="L141">	}</span>
    +
    +	private IReportVisitor createReportVisitor() throws IOException {
    +<span class="fc" id="L144">		final List&lt;IReportVisitor&gt; visitors = new ArrayList&lt;IReportVisitor&gt;();</span>
    +
    +<span class="fc bfc" id="L146" title="All 2 branches covered.">		if (xml != null) {</span>
    +<span class="fc" id="L147">			final XMLFormatter formatter = new XMLFormatter();</span>
    +<span class="fc" id="L148">			visitors.add(formatter.createVisitor(new FileOutputStream(xml)));</span>
    +		}
    +
    +<span class="fc bfc" id="L151" title="All 2 branches covered.">		if (csv != null) {</span>
    +<span class="fc" id="L152">			final CSVFormatter formatter = new CSVFormatter();</span>
    +<span class="fc" id="L153">			visitors.add(formatter.createVisitor(new FileOutputStream(csv)));</span>
    +		}
    +
    +<span class="fc bfc" id="L156" title="All 2 branches covered.">		if (html != null) {</span>
    +<span class="fc" id="L157">			final HTMLFormatter formatter = new HTMLFormatter();</span>
    +<span class="fc" id="L158">			visitors.add(</span>
    +					formatter.createVisitor(new FileMultiReportOutput(html)));
    +		}
    +
    +<span class="fc" id="L162">		return new MultiReportVisitor(visitors);</span>
    +	}
    +
    +	private ISourceFileLocator getSourceLocator() {
    +<span class="fc" id="L166">		final MultiSourceFileLocator multi = new MultiSourceFileLocator(</span>
    +				tabwidth);
    +<span class="fc bfc" id="L168" title="All 2 branches covered.">		for (final File f : sourcefiles) {</span>
    +<span class="fc" id="L169">			multi.add(new DirectorySourceFileLocator(f, encoding, tabwidth));</span>
    +		}
    +<span class="fc" id="L171">		return multi;</span>
    +	}
    +
    +}
    +</pre><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.12.202403270442</span>Code Coverage Report for JaCoCo 0.8.12-SNAPSHOT</div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/trunk/coverage/org.jacoco.cli/org.jacoco.cli.internal.commands/Version.html b/jacoco/trunk/coverage/org.jacoco.cli/org.jacoco.cli.internal.commands/Version.html
    new file mode 100644
    index 00000000000..9fcc6863397
    --- /dev/null
    +++ b/jacoco/trunk/coverage/org.jacoco.cli/org.jacoco.cli.internal.commands/Version.html
    @@ -0,0 +1 @@
    +<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="en"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../../jacoco-resources/report.gif" type="image/gif"/><title>Version</title><script type="text/javascript" src="../../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../../index.html" class="el_report">JaCoCo</a> &gt; <a href="../index.html" class="el_bundle">org.jacoco.cli</a> &gt; <a href="index.html" class="el_package">org.jacoco.cli.internal.commands</a> &gt; <span class="el_class">Version</span></div><h1>Version</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">0 of 10</td><td class="ctr2">100%</td><td class="bar">0 of 0</td><td class="ctr2">n/a</td><td class="ctr1">0</td><td class="ctr2">3</td><td class="ctr1">0</td><td class="ctr2">4</td><td class="ctr1">0</td><td class="ctr2">3</td></tr></tfoot><tbody><tr><td id="a1"><a href="Version.java.html#L34" class="el_method">execute(PrintWriter, PrintWriter)</a></td><td class="bar" id="b0"><img src="../../jacoco-resources/greenbar.gif" width="120" height="10" title="5" alt="5"/></td><td class="ctr2" id="c0">100%</td><td class="bar" id="d0"/><td class="ctr2" id="e0">n/a</td><td class="ctr1" id="f0">0</td><td class="ctr2" id="g0">1</td><td class="ctr1" id="h0">0</td><td class="ctr2" id="i0">2</td><td class="ctr1" id="j0">0</td><td class="ctr2" id="k0">1</td></tr><tr><td id="a2"><a href="Version.java.html#L24" class="el_method">Version()</a></td><td class="bar" id="b1"><img src="../../jacoco-resources/greenbar.gif" width="72" height="10" title="3" alt="3"/></td><td class="ctr2" id="c1">100%</td><td class="bar" id="d1"/><td class="ctr2" id="e1">n/a</td><td class="ctr1" id="f1">0</td><td class="ctr2" id="g1">1</td><td class="ctr1" id="h1">0</td><td class="ctr2" id="i1">1</td><td class="ctr1" id="j1">0</td><td class="ctr2" id="k1">1</td></tr><tr><td id="a0"><a href="Version.java.html#L28" class="el_method">description()</a></td><td class="bar" id="b2"><img src="../../jacoco-resources/greenbar.gif" width="48" height="10" title="2" alt="2"/></td><td class="ctr2" id="c2">100%</td><td class="bar" id="d2"/><td class="ctr2" id="e2">n/a</td><td class="ctr1" id="f2">0</td><td class="ctr2" id="g2">1</td><td class="ctr1" id="h2">0</td><td class="ctr2" id="i2">1</td><td class="ctr1" id="j2">0</td><td class="ctr2" id="k2">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.12.202403270442</span>Code Coverage Report for JaCoCo 0.8.12-SNAPSHOT</div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/trunk/coverage/org.jacoco.cli/org.jacoco.cli.internal.commands/Version.java.html b/jacoco/trunk/coverage/org.jacoco.cli/org.jacoco.cli.internal.commands/Version.java.html
    new file mode 100644
    index 00000000000..003dfcf3c83
    --- /dev/null
    +++ b/jacoco/trunk/coverage/org.jacoco.cli/org.jacoco.cli.internal.commands/Version.java.html
    @@ -0,0 +1,39 @@
    +<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="en"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../../jacoco-resources/report.gif" type="image/gif"/><title>Version.java</title><link rel="stylesheet" href="../../jacoco-resources/prettify.css" type="text/css"/><script type="text/javascript" src="../../jacoco-resources/prettify.js"></script></head><body onload="window['PR_TAB_WIDTH']=4;prettyPrint()"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../../index.html" class="el_report">JaCoCo</a> &gt; <a href="../index.html" class="el_bundle">org.jacoco.cli</a> &gt; <a href="index.source.html" class="el_package">org.jacoco.cli.internal.commands</a> &gt; <span class="el_source">Version.java</span></div><h1>Version.java</h1><pre class="source lang-java linenums">/*******************************************************************************
    + * Copyright (c) 2009, 2024 Mountainminds GmbH &amp; Co. KG and Contributors
    + * This program and the accompanying materials are made available under
    + * the terms of the Eclipse Public License 2.0 which is available at
    + * http://www.eclipse.org/legal/epl-2.0
    + *
    + * SPDX-License-Identifier: EPL-2.0
    + *
    + * Contributors:
    + *    Marc R. Hoffmann - initial API and implementation
    + *
    + *******************************************************************************/
    +package org.jacoco.cli.internal.commands;
    +
    +import java.io.IOException;
    +import java.io.PrintWriter;
    +
    +import org.jacoco.cli.internal.Command;
    +import org.jacoco.core.JaCoCo;
    +
    +/**
    + * The &lt;code&gt;version&lt;/code&gt; command.
    + */
    +<span class="fc" id="L24">public class Version extends Command {</span>
    +
    +	@Override
    +	public String description() {
    +<span class="fc" id="L28">		return &quot;Print JaCoCo version information.&quot;;</span>
    +	}
    +
    +	@Override
    +	public int execute(final PrintWriter out, final PrintWriter err)
    +			throws IOException {
    +<span class="fc" id="L34">		out.println(JaCoCo.VERSION);</span>
    +<span class="fc" id="L35">		return 0;</span>
    +	}
    +
    +}
    +</pre><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.12.202403270442</span>Code Coverage Report for JaCoCo 0.8.12-SNAPSHOT</div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/trunk/coverage/org.jacoco.cli/org.jacoco.cli.internal.commands/index.html b/jacoco/trunk/coverage/org.jacoco.cli/org.jacoco.cli.internal.commands/index.html
    new file mode 100644
    index 00000000000..d59c35972f0
    --- /dev/null
    +++ b/jacoco/trunk/coverage/org.jacoco.cli/org.jacoco.cli.internal.commands/index.html
    @@ -0,0 +1 @@
    +<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="en"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../../jacoco-resources/report.gif" type="image/gif"/><title>org.jacoco.cli.internal.commands</title><script type="text/javascript" src="../../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb', 'coveragetable'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="index.source.html" class="el_source">Source Files</a><a href="../../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../../index.html" class="el_report">JaCoCo</a> &gt; <a href="../index.html" class="el_bundle">org.jacoco.cli</a> &gt; <span class="el_package">org.jacoco.cli.internal.commands</span></div><h1>org.jacoco.cli.internal.commands</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td><td class="sortable ctr1" id="l" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="m" onclick="toggleSort(this)">Classes</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">0 of 1,100</td><td class="ctr2">100%</td><td class="bar">0 of 56</td><td class="ctr2">100%</td><td class="ctr1">0</td><td class="ctr2">75</td><td class="ctr1">0</td><td class="ctr2">184</td><td class="ctr1">0</td><td class="ctr2">47</td><td class="ctr1">0</td><td class="ctr2">12</td></tr></tfoot><tbody><tr><td id="a10"><a href="Report.html" class="el_class">Report</a></td><td class="bar" id="b0"><img src="../../jacoco-resources/greenbar.gif" width="120" height="10" title="273" alt="273"/></td><td class="ctr2" id="c0">100%</td><td class="bar" id="d0"><img src="../../jacoco-resources/greenbar.gif" width="120" height="10" title="18" alt="18"/></td><td class="ctr2" id="e0">100%</td><td class="ctr1" id="f0">0</td><td class="ctr2" id="g0">18</td><td class="ctr1" id="h0">0</td><td class="ctr2" id="i0">51</td><td class="ctr1" id="j0">0</td><td class="ctr2" id="k0">9</td><td class="ctr1" id="l0">0</td><td class="ctr2" id="m0">1</td></tr><tr><td id="a2"><a href="ClassInfo$Printer.html" class="el_class">ClassInfo.Printer</a></td><td class="bar" id="b1"><img src="../../jacoco-resources/greenbar.gif" width="77" height="10" title="177" alt="177"/></td><td class="ctr2" id="c1">100%</td><td class="bar" id="d1"><img src="../../jacoco-resources/greenbar.gif" width="66" height="10" title="10" alt="10"/></td><td class="ctr2" id="e1">100%</td><td class="ctr1" id="f1">0</td><td class="ctr2" id="g1">11</td><td class="ctr1" id="h1">0</td><td class="ctr2" id="i2">23</td><td class="ctr1" id="j1">0</td><td class="ctr2" id="k1">6</td><td class="ctr1" id="l1">0</td><td class="ctr2" id="m1">1</td></tr><tr><td id="a8"><a href="Instrument.html" class="el_class">Instrument</a></td><td class="bar" id="b2"><img src="../../jacoco-resources/greenbar.gif" width="67" height="10" title="154" alt="154"/></td><td class="ctr2" id="c2">100%</td><td class="bar" id="d2"><img src="../../jacoco-resources/greenbar.gif" width="53" height="10" title="8" alt="8"/></td><td class="ctr2" id="e2">100%</td><td class="ctr1" id="f2">0</td><td class="ctr2" id="g2">9</td><td class="ctr1" id="h2">0</td><td class="ctr2" id="i1">27</td><td class="ctr1" id="j2">0</td><td class="ctr2" id="k2">5</td><td class="ctr1" id="l2">0</td><td class="ctr2" id="m2">1</td></tr><tr><td id="a5"><a href="ExecInfo.html" class="el_class">ExecInfo</a></td><td class="bar" id="b3"><img src="../../jacoco-resources/greenbar.gif" width="45" height="10" title="104" alt="104"/></td><td class="ctr2" id="c3">100%</td><td class="bar" id="d3"><img src="../../jacoco-resources/greenbar.gif" width="53" height="10" title="8" alt="8"/></td><td class="ctr2" id="e3">100%</td><td class="ctr1" id="f3">0</td><td class="ctr2" id="g3">9</td><td class="ctr1" id="h3">0</td><td class="ctr2" id="i3">23</td><td class="ctr1" id="j3">0</td><td class="ctr2" id="k3">5</td><td class="ctr1" id="l3">0</td><td class="ctr2" id="m3">1</td></tr><tr><td id="a0"><a href="AllCommands.html" class="el_class">AllCommands</a></td><td class="bar" id="b4"><img src="../../jacoco-resources/greenbar.gif" width="33" height="10" title="76" alt="76"/></td><td class="ctr2" id="c4">100%</td><td class="bar" id="d4"><img src="../../jacoco-resources/greenbar.gif" width="26" height="10" title="4" alt="4"/></td><td class="ctr2" id="e4">100%</td><td class="ctr1" id="f4">0</td><td class="ctr2" id="g6">4</td><td class="ctr1" id="h4">0</td><td class="ctr2" id="i7">7</td><td class="ctr1" id="j4">0</td><td class="ctr2" id="k9">2</td><td class="ctr1" id="l4">0</td><td class="ctr2" id="m4">1</td></tr><tr><td id="a9"><a href="Merge.html" class="el_class">Merge</a></td><td class="bar" id="b5"><img src="../../jacoco-resources/greenbar.gif" width="32" height="10" title="73" alt="73"/></td><td class="ctr2" id="c5">100%</td><td class="bar" id="d5"><img src="../../jacoco-resources/greenbar.gif" width="26" height="10" title="4" alt="4"/></td><td class="ctr2" id="e5">100%</td><td class="ctr1" id="f5">0</td><td class="ctr2" id="g4">6</td><td class="ctr1" id="h5">0</td><td class="ctr2" id="i4">14</td><td class="ctr1" id="j5">0</td><td class="ctr2" id="k4">4</td><td class="ctr1" id="l5">0</td><td class="ctr2" id="m5">1</td></tr><tr><td id="a3"><a href="Dump.html" class="el_class">Dump</a></td><td class="bar" id="b6"><img src="../../jacoco-resources/greenbar.gif" width="25" height="10" title="58" alt="58"/></td><td class="ctr2" id="c6">100%</td><td class="bar" id="d7"/><td class="ctr2" id="e7">n/a</td><td class="ctr1" id="f6">0</td><td class="ctr2" id="g7">3</td><td class="ctr1" id="h6">0</td><td class="ctr2" id="i5">13</td><td class="ctr1" id="j6">0</td><td class="ctr2" id="k5">3</td><td class="ctr1" id="l6">0</td><td class="ctr2" id="m6">1</td></tr><tr><td id="a1"><a href="ClassInfo.html" class="el_class">ClassInfo</a></td><td class="bar" id="b7"><img src="../../jacoco-resources/greenbar.gif" width="22" height="10" title="51" alt="51"/></td><td class="ctr2" id="c7">100%</td><td class="bar" id="d6"><img src="../../jacoco-resources/greenbar.gif" width="26" height="10" title="4" alt="4"/></td><td class="ctr2" id="e6">100%</td><td class="ctr1" id="f7">0</td><td class="ctr2" id="g5">5</td><td class="ctr1" id="h7">0</td><td class="ctr2" id="i6">11</td><td class="ctr1" id="j7">0</td><td class="ctr2" id="k6">3</td><td class="ctr1" id="l7">0</td><td class="ctr2" id="m7">1</td></tr><tr><td id="a6"><a href="ExecInfo$2.html" class="el_class">ExecInfo.new IExecutionDataVisitor() {...}</a></td><td class="bar" id="b8"><img src="../../jacoco-resources/greenbar.gif" width="19" height="10" title="44" alt="44"/></td><td class="ctr2" id="c8">100%</td><td class="bar" id="d8"/><td class="ctr2" id="e8">n/a</td><td class="ctr1" id="f8">0</td><td class="ctr2" id="g10">2</td><td class="ctr1" id="h8">0</td><td class="ctr2" id="i10">3</td><td class="ctr1" id="j8">0</td><td class="ctr2" id="k10">2</td><td class="ctr1" id="l8">0</td><td class="ctr2" id="m8">1</td></tr><tr><td id="a4"><a href="Dump$1.html" class="el_class">Dump.new ExecDumpClient() {...}</a></td><td class="bar" id="b9"><img src="../../jacoco-resources/greenbar.gif" width="18" height="10" title="42" alt="42"/></td><td class="ctr2" id="c9">100%</td><td class="bar" id="d9"/><td class="ctr2" id="e9">n/a</td><td class="ctr1" id="f9">0</td><td class="ctr2" id="g8">3</td><td class="ctr1" id="h9">0</td><td class="ctr2" id="i8">5</td><td class="ctr1" id="j9">0</td><td class="ctr2" id="k7">3</td><td class="ctr1" id="l9">0</td><td class="ctr2" id="m9">1</td></tr><tr><td id="a7"><a href="ExecInfo$1.html" class="el_class">ExecInfo.new ISessionInfoVisitor() {...}</a></td><td class="bar" id="b10"><img src="../../jacoco-resources/greenbar.gif" width="16" height="10" title="38" alt="38"/></td><td class="ctr2" id="c10">100%</td><td class="bar" id="d10"/><td class="ctr2" id="e10">n/a</td><td class="ctr1" id="f10">0</td><td class="ctr2" id="g11">2</td><td class="ctr1" id="h10">0</td><td class="ctr2" id="i11">3</td><td class="ctr1" id="j10">0</td><td class="ctr2" id="k11">2</td><td class="ctr1" id="l10">0</td><td class="ctr2" id="m10">1</td></tr><tr><td id="a11"><a href="Version.html" class="el_class">Version</a></td><td class="bar" id="b11"><img src="../../jacoco-resources/greenbar.gif" width="4" height="10" title="10" alt="10"/></td><td class="ctr2" id="c11">100%</td><td class="bar" id="d11"/><td class="ctr2" id="e11">n/a</td><td class="ctr1" id="f11">0</td><td class="ctr2" id="g9">3</td><td class="ctr1" id="h11">0</td><td class="ctr2" id="i9">4</td><td class="ctr1" id="j11">0</td><td class="ctr2" id="k8">3</td><td class="ctr1" id="l11">0</td><td class="ctr2" id="m11">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.12.202403270442</span>Code Coverage Report for JaCoCo 0.8.12-SNAPSHOT</div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/trunk/coverage/org.jacoco.cli/org.jacoco.cli.internal.commands/index.source.html b/jacoco/trunk/coverage/org.jacoco.cli/org.jacoco.cli.internal.commands/index.source.html
    new file mode 100644
    index 00000000000..c9915415e70
    --- /dev/null
    +++ b/jacoco/trunk/coverage/org.jacoco.cli/org.jacoco.cli.internal.commands/index.source.html
    @@ -0,0 +1 @@
    +<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="en"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../../jacoco-resources/report.gif" type="image/gif"/><title>org.jacoco.cli.internal.commands</title><script type="text/javascript" src="../../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb', 'coveragetable'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="index.html" class="el_class">Classes</a><a href="../../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../../index.html" class="el_report">JaCoCo</a> &gt; <a href="../index.html" class="el_bundle">org.jacoco.cli</a> &gt; <span class="el_package">org.jacoco.cli.internal.commands</span></div><h1>org.jacoco.cli.internal.commands</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td><td class="sortable ctr1" id="l" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="m" onclick="toggleSort(this)">Classes</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">0 of 1,100</td><td class="ctr2">100%</td><td class="bar">0 of 56</td><td class="ctr2">100%</td><td class="ctr1">0</td><td class="ctr2">75</td><td class="ctr1">0</td><td class="ctr2">184</td><td class="ctr1">0</td><td class="ctr2">47</td><td class="ctr1">0</td><td class="ctr2">12</td></tr></tfoot><tbody><tr><td id="a6"><a href="Report.java.html" class="el_source">Report.java</a></td><td class="bar" id="b0"><img src="../../jacoco-resources/greenbar.gif" width="120" height="10" title="273" alt="273"/></td><td class="ctr2" id="c0">100%</td><td class="bar" id="d0"><img src="../../jacoco-resources/greenbar.gif" width="120" height="10" title="18" alt="18"/></td><td class="ctr2" id="e0">100%</td><td class="ctr1" id="f0">0</td><td class="ctr2" id="g0">18</td><td class="ctr1" id="h0">0</td><td class="ctr2" id="i0">51</td><td class="ctr1" id="j0">0</td><td class="ctr2" id="k0">9</td><td class="ctr1" id="l0">0</td><td class="ctr2" id="m3">1</td></tr><tr><td id="a1"><a href="ClassInfo.java.html" class="el_source">ClassInfo.java</a></td><td class="bar" id="b1"><img src="../../jacoco-resources/greenbar.gif" width="100" height="10" title="228" alt="228"/></td><td class="ctr2" id="c1">100%</td><td class="bar" id="d1"><img src="../../jacoco-resources/greenbar.gif" width="93" height="10" title="14" alt="14"/></td><td class="ctr2" id="e1">100%</td><td class="ctr1" id="f1">0</td><td class="ctr2" id="g1">16</td><td class="ctr1" id="h1">0</td><td class="ctr2" id="i1">34</td><td class="ctr1" id="j1">0</td><td class="ctr2" id="k1">9</td><td class="ctr1" id="l1">0</td><td class="ctr2" id="m1">2</td></tr><tr><td id="a3"><a href="ExecInfo.java.html" class="el_source">ExecInfo.java</a></td><td class="bar" id="b2"><img src="../../jacoco-resources/greenbar.gif" width="81" height="10" title="186" alt="186"/></td><td class="ctr2" id="c2">100%</td><td class="bar" id="d2"><img src="../../jacoco-resources/greenbar.gif" width="53" height="10" title="8" alt="8"/></td><td class="ctr2" id="e2">100%</td><td class="ctr1" id="f2">0</td><td class="ctr2" id="g2">13</td><td class="ctr1" id="h2">0</td><td class="ctr2" id="i2">29</td><td class="ctr1" id="j2">0</td><td class="ctr2" id="k2">9</td><td class="ctr1" id="l2">0</td><td class="ctr2" id="m0">3</td></tr><tr><td id="a4"><a href="Instrument.java.html" class="el_source">Instrument.java</a></td><td class="bar" id="b3"><img src="../../jacoco-resources/greenbar.gif" width="67" height="10" title="154" alt="154"/></td><td class="ctr2" id="c3">100%</td><td class="bar" id="d3"><img src="../../jacoco-resources/greenbar.gif" width="53" height="10" title="8" alt="8"/></td><td class="ctr2" id="e3">100%</td><td class="ctr1" id="f3">0</td><td class="ctr2" id="g3">9</td><td class="ctr1" id="h3">0</td><td class="ctr2" id="i3">27</td><td class="ctr1" id="j3">0</td><td class="ctr2" id="k4">5</td><td class="ctr1" id="l3">0</td><td class="ctr2" id="m4">1</td></tr><tr><td id="a2"><a href="Dump.java.html" class="el_source">Dump.java</a></td><td class="bar" id="b4"><img src="../../jacoco-resources/greenbar.gif" width="43" height="10" title="100" alt="100"/></td><td class="ctr2" id="c4">100%</td><td class="bar" id="d6"/><td class="ctr2" id="e6">n/a</td><td class="ctr1" id="f4">0</td><td class="ctr2" id="g4">6</td><td class="ctr1" id="h4">0</td><td class="ctr2" id="i4">18</td><td class="ctr1" id="j4">0</td><td class="ctr2" id="k3">6</td><td class="ctr1" id="l4">0</td><td class="ctr2" id="m2">2</td></tr><tr><td id="a0"><a href="AllCommands.java.html" class="el_source">AllCommands.java</a></td><td class="bar" id="b5"><img src="../../jacoco-resources/greenbar.gif" width="33" height="10" title="76" alt="76"/></td><td class="ctr2" id="c5">100%</td><td class="bar" id="d4"><img src="../../jacoco-resources/greenbar.gif" width="26" height="10" title="4" alt="4"/></td><td class="ctr2" id="e4">100%</td><td class="ctr1" id="f5">0</td><td class="ctr2" id="g6">4</td><td class="ctr1" id="h5">0</td><td class="ctr2" id="i6">7</td><td class="ctr1" id="j5">0</td><td class="ctr2" id="k7">2</td><td class="ctr1" id="l5">0</td><td class="ctr2" id="m5">1</td></tr><tr><td id="a5"><a href="Merge.java.html" class="el_source">Merge.java</a></td><td class="bar" id="b6"><img src="../../jacoco-resources/greenbar.gif" width="32" height="10" title="73" alt="73"/></td><td class="ctr2" id="c6">100%</td><td class="bar" id="d5"><img src="../../jacoco-resources/greenbar.gif" width="26" height="10" title="4" alt="4"/></td><td class="ctr2" id="e5">100%</td><td class="ctr1" id="f6">0</td><td class="ctr2" id="g5">6</td><td class="ctr1" id="h6">0</td><td class="ctr2" id="i5">14</td><td class="ctr1" id="j6">0</td><td class="ctr2" id="k5">4</td><td class="ctr1" id="l6">0</td><td class="ctr2" id="m6">1</td></tr><tr><td id="a7"><a href="Version.java.html" class="el_source">Version.java</a></td><td class="bar" id="b7"><img src="../../jacoco-resources/greenbar.gif" width="4" height="10" title="10" alt="10"/></td><td class="ctr2" id="c7">100%</td><td class="bar" id="d7"/><td class="ctr2" id="e7">n/a</td><td class="ctr1" id="f7">0</td><td class="ctr2" id="g7">3</td><td class="ctr1" id="h7">0</td><td class="ctr2" id="i7">4</td><td class="ctr1" id="j7">0</td><td class="ctr2" id="k6">3</td><td class="ctr1" id="l7">0</td><td class="ctr2" id="m7">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.12.202403270442</span>Code Coverage Report for JaCoCo 0.8.12-SNAPSHOT</div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/trunk/coverage/org.jacoco.cli/org.jacoco.cli.internal/Command.html b/jacoco/trunk/coverage/org.jacoco.cli/org.jacoco.cli.internal/Command.html
    new file mode 100644
    index 00000000000..88049715824
    --- /dev/null
    +++ b/jacoco/trunk/coverage/org.jacoco.cli/org.jacoco.cli.internal/Command.html
    @@ -0,0 +1 @@
    +<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="en"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../../jacoco-resources/report.gif" type="image/gif"/><title>Command</title><script type="text/javascript" src="../../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../../index.html" class="el_report">JaCoCo</a> &gt; <a href="../index.html" class="el_bundle">org.jacoco.cli</a> &gt; <a href="index.html" class="el_package">org.jacoco.cli.internal</a> &gt; <span class="el_class">Command</span></div><h1>Command</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">0 of 63</td><td class="ctr2">100%</td><td class="bar">0 of 0</td><td class="ctr2">n/a</td><td class="ctr1">0</td><td class="ctr2">4</td><td class="ctr1">0</td><td class="ctr2">13</td><td class="ctr1">0</td><td class="ctr2">4</td></tr></tfoot><tbody><tr><td id="a2"><a href="Command.java.html#L86" class="el_method">printHelp(PrintWriter)</a></td><td class="bar" id="b0"><img src="../../jacoco-resources/greenbar.gif" width="120" height="10" title="29" alt="29"/></td><td class="ctr2" id="c0">100%</td><td class="bar" id="d0"/><td class="ctr2" id="e0">n/a</td><td class="ctr1" id="f0">0</td><td class="ctr2" id="g0">1</td><td class="ctr1" id="h0">0</td><td class="ctr2" id="i0">6</td><td class="ctr1" id="j0">0</td><td class="ctr2" id="k0">1</td></tr><tr><td id="a3"><a href="Command.java.html#L60" class="el_method">usage(CommandParser)</a></td><td class="bar" id="b1"><img src="../../jacoco-resources/greenbar.gif" width="82" height="10" title="20" alt="20"/></td><td class="ctr2" id="c1">100%</td><td class="bar" id="d1"/><td class="ctr2" id="e1">n/a</td><td class="ctr1" id="f1">0</td><td class="ctr2" id="g1">1</td><td class="ctr1" id="h1">0</td><td class="ctr2" id="i1">3</td><td class="ctr1" id="j1">0</td><td class="ctr2" id="k1">1</td></tr><tr><td id="a0"><a href="Command.java.html#L23" class="el_method">Command()</a></td><td class="bar" id="b2"><img src="../../jacoco-resources/greenbar.gif" width="37" height="10" title="9" alt="9"/></td><td class="ctr2" id="c2">100%</td><td class="bar" id="d2"/><td class="ctr2" id="e2">n/a</td><td class="ctr1" id="f2">0</td><td class="ctr2" id="g2">1</td><td class="ctr1" id="h2">0</td><td class="ctr2" id="i2">3</td><td class="ctr1" id="j2">0</td><td class="ctr2" id="k2">1</td></tr><tr><td id="a1"><a href="Command.java.html#L51" class="el_method">name()</a></td><td class="bar" id="b3"><img src="../../jacoco-resources/greenbar.gif" width="20" height="10" title="5" alt="5"/></td><td class="ctr2" id="c3">100%</td><td class="bar" id="d3"/><td class="ctr2" id="e3">n/a</td><td class="ctr1" id="f3">0</td><td class="ctr2" id="g3">1</td><td class="ctr1" id="h3">0</td><td class="ctr2" id="i3">1</td><td class="ctr1" id="j3">0</td><td class="ctr2" id="k3">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.12.202403270442</span>Code Coverage Report for JaCoCo 0.8.12-SNAPSHOT</div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/trunk/coverage/org.jacoco.cli/org.jacoco.cli.internal/Command.java.html b/jacoco/trunk/coverage/org.jacoco.cli/org.jacoco.cli.internal/Command.java.html
    new file mode 100644
    index 00000000000..e16d280412e
    --- /dev/null
    +++ b/jacoco/trunk/coverage/org.jacoco.cli/org.jacoco.cli.internal/Command.java.html
    @@ -0,0 +1,94 @@
    +<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="en"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../../jacoco-resources/report.gif" type="image/gif"/><title>Command.java</title><link rel="stylesheet" href="../../jacoco-resources/prettify.css" type="text/css"/><script type="text/javascript" src="../../jacoco-resources/prettify.js"></script></head><body onload="window['PR_TAB_WIDTH']=4;prettyPrint()"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../../index.html" class="el_report">JaCoCo</a> &gt; <a href="../index.html" class="el_bundle">org.jacoco.cli</a> &gt; <a href="index.source.html" class="el_package">org.jacoco.cli.internal</a> &gt; <span class="el_source">Command.java</span></div><h1>Command.java</h1><pre class="source lang-java linenums">/*******************************************************************************
    + * Copyright (c) 2009, 2024 Mountainminds GmbH &amp; Co. KG and Contributors
    + * This program and the accompanying materials are made available under
    + * the terms of the Eclipse Public License 2.0 which is available at
    + * http://www.eclipse.org/legal/epl-2.0
    + *
    + * SPDX-License-Identifier: EPL-2.0
    + *
    + * Contributors:
    + *    Marc R. Hoffmann - initial API and implementation
    + *
    + *******************************************************************************/
    +package org.jacoco.cli.internal;
    +
    +import java.io.PrintWriter;
    +import java.io.StringWriter;
    +
    +import org.kohsuke.args4j.Option;
    +
    +/**
    + * Common interface for all commands.
    + */
    +<span class="fc" id="L23">public abstract class Command {</span>
    +
    +	/**
    +	 * Common command line prefix.
    +	 */
    +	public static final String JAVACMD = &quot;java -jar jacococli.jar &quot;;
    +
    +	/**
    +	 * Flag whether help should be printed for this command.
    +	 */
    +	@Option(name = &quot;--help&quot;, usage = &quot;show help&quot;, help = true)
    +<span class="fc" id="L34">	public boolean help = false;</span>
    +
    +	/**
    +	 * Flag whether output to stdout should be suppressed.
    +	 */
    +	@Option(name = &quot;--quiet&quot;, usage = &quot;suppress all output on stdout&quot;)
    +<span class="fc" id="L40">	public boolean quiet = false;</span>
    +
    +	/**
    +	 * @return Short description of the command.
    +	 */
    +	public abstract String description();
    +
    +	/**
    +	 * @return name of the command
    +	 */
    +	public String name() {
    +<span class="fc" id="L51">		return getClass().getSimpleName().toLowerCase();</span>
    +	}
    +
    +	/**
    +	 * @param parser
    +	 *            parser for this command
    +	 * @return usage string displayed for help
    +	 */
    +	public String usage(final CommandParser parser) {
    +<span class="fc" id="L60">		final StringWriter writer = new StringWriter();</span>
    +<span class="fc" id="L61">		parser.printSingleLineUsage(writer, null);</span>
    +<span class="fc" id="L62">		return JAVACMD + name() + writer;</span>
    +	}
    +
    +	/**
    +	 * Executes the given command.
    +	 *
    +	 * @param out
    +	 *            std out
    +	 * @param err
    +	 *            std err
    +	 * @return exit code, should be 0 for normal operation
    +	 * @throws Exception
    +	 *             any exception that my occur during execution
    +	 */
    +	public abstract int execute(PrintWriter out, PrintWriter err)
    +			throws Exception;
    +
    +	/**
    +	 * Prints textual help for this command.
    +	 *
    +	 * @param writer
    +	 *            output destination
    +	 */
    +	protected void printHelp(final PrintWriter writer) {
    +<span class="fc" id="L86">		final CommandParser parser = new CommandParser(this);</span>
    +<span class="fc" id="L87">		writer.println(description());</span>
    +<span class="fc" id="L88">		writer.println();</span>
    +<span class="fc" id="L89">		writer.println(&quot;Usage: &quot; + parser.getCommand().usage(parser));</span>
    +<span class="fc" id="L90">		parser.printUsage(writer, null);</span>
    +<span class="fc" id="L91">	}</span>
    +
    +}
    +</pre><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.12.202403270442</span>Code Coverage Report for JaCoCo 0.8.12-SNAPSHOT</div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/trunk/coverage/org.jacoco.cli/org.jacoco.cli.internal/CommandHandler$1.html b/jacoco/trunk/coverage/org.jacoco.cli/org.jacoco.cli.internal/CommandHandler$1.html
    new file mode 100644
    index 00000000000..e3062158f59
    --- /dev/null
    +++ b/jacoco/trunk/coverage/org.jacoco.cli/org.jacoco.cli.internal/CommandHandler$1.html
    @@ -0,0 +1 @@
    +<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="en"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../../jacoco-resources/report.gif" type="image/gif"/><title>CommandHandler.new OptionDef() {...}</title><script type="text/javascript" src="../../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../../index.html" class="el_report">JaCoCo</a> &gt; <a href="../index.html" class="el_bundle">org.jacoco.cli</a> &gt; <a href="index.html" class="el_package">org.jacoco.cli.internal</a> &gt; <span class="el_class">CommandHandler.new OptionDef() {...}</span></div><h1>CommandHandler.new OptionDef() {...}</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">0 of 10</td><td class="ctr2">100%</td><td class="bar">0 of 0</td><td class="ctr2">n/a</td><td class="ctr1">0</td><td class="ctr2">1</td><td class="ctr1">0</td><td class="ctr2">1</td><td class="ctr1">0</td><td class="ctr2">1</td></tr></tfoot><tbody><tr><td id="a0"><a href="CommandHandler.java.html#L44" class="el_method">{...}</a></td><td class="bar" id="b0"><img src="../../jacoco-resources/greenbar.gif" width="120" height="10" title="10" alt="10"/></td><td class="ctr2" id="c0">100%</td><td class="bar" id="d0"/><td class="ctr2" id="e0">n/a</td><td class="ctr1" id="f0">0</td><td class="ctr2" id="g0">1</td><td class="ctr1" id="h0">0</td><td class="ctr2" id="i0">1</td><td class="ctr1" id="j0">0</td><td class="ctr2" id="k0">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.12.202403270442</span>Code Coverage Report for JaCoCo 0.8.12-SNAPSHOT</div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/trunk/coverage/org.jacoco.cli/org.jacoco.cli.internal/CommandHandler$2.html b/jacoco/trunk/coverage/org.jacoco.cli/org.jacoco.cli.internal/CommandHandler$2.html
    new file mode 100644
    index 00000000000..d4d07b293c7
    --- /dev/null
    +++ b/jacoco/trunk/coverage/org.jacoco.cli/org.jacoco.cli.internal/CommandHandler$2.html
    @@ -0,0 +1 @@
    +<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="en"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../../jacoco-resources/report.gif" type="image/gif"/><title>CommandHandler.new AbstractList() {...}</title><script type="text/javascript" src="../../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../../index.html" class="el_report">JaCoCo</a> &gt; <a href="../index.html" class="el_bundle">org.jacoco.cli</a> &gt; <a href="index.html" class="el_package">org.jacoco.cli.internal</a> &gt; <span class="el_class">CommandHandler.new AbstractList() {...}</span></div><h1>CommandHandler.new AbstractList() {...}</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">5 of 27</td><td class="ctr2">81%</td><td class="bar">0 of 0</td><td class="ctr2">n/a</td><td class="ctr1">0</td><td class="ctr2">3</td><td class="ctr1">2</td><td class="ctr2">5</td><td class="ctr1">0</td><td class="ctr2">3</td></tr></tfoot><tbody><tr><td id="a0"><a href="CommandHandler.java.html#L71" class="el_method">get(int)</a></td><td class="bar" id="b0"><img src="../../jacoco-resources/redbar.gif" width="50" height="10" title="5" alt="5"/><img src="../../jacoco-resources/greenbar.gif" width="70" height="10" title="7" alt="7"/></td><td class="ctr2" id="c2">58%</td><td class="bar" id="d0"/><td class="ctr2" id="e0">n/a</td><td class="ctr1" id="f0">0</td><td class="ctr2" id="g0">1</td><td class="ctr1" id="h0">2</td><td class="ctr2" id="i0">3</td><td class="ctr1" id="j0">0</td><td class="ctr2" id="k0">1</td></tr><tr><td id="a2"><a href="CommandHandler.java.html#L79" class="el_method">{...}</a></td><td class="bar" id="b1"><img src="../../jacoco-resources/greenbar.gif" width="90" height="10" title="9" alt="9"/></td><td class="ctr2" id="c0">100%</td><td class="bar" id="d1"/><td class="ctr2" id="e1">n/a</td><td class="ctr1" id="f1">0</td><td class="ctr2" id="g1">1</td><td class="ctr1" id="h1">0</td><td class="ctr2" id="i1">1</td><td class="ctr1" id="j1">0</td><td class="ctr2" id="k1">1</td></tr><tr><td id="a1"><a href="CommandHandler.java.html#L80" class="el_method">size()</a></td><td class="bar" id="b2"><img src="../../jacoco-resources/greenbar.gif" width="60" height="10" title="6" alt="6"/></td><td class="ctr2" id="c1">100%</td><td class="bar" id="d2"/><td class="ctr2" id="e2">n/a</td><td class="ctr1" id="f2">0</td><td class="ctr2" id="g2">1</td><td class="ctr1" id="h2">0</td><td class="ctr2" id="i2">1</td><td class="ctr1" id="j2">0</td><td class="ctr2" id="k2">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.12.202403270442</span>Code Coverage Report for JaCoCo 0.8.12-SNAPSHOT</div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/trunk/coverage/org.jacoco.cli/org.jacoco.cli.internal/CommandHandler.html b/jacoco/trunk/coverage/org.jacoco.cli/org.jacoco.cli.internal/CommandHandler.html
    new file mode 100644
    index 00000000000..a1590559e60
    --- /dev/null
    +++ b/jacoco/trunk/coverage/org.jacoco.cli/org.jacoco.cli.internal/CommandHandler.html
    @@ -0,0 +1 @@
    +<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="en"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../../jacoco-resources/report.gif" type="image/gif"/><title>CommandHandler</title><script type="text/javascript" src="../../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../../index.html" class="el_report">JaCoCo</a> &gt; <a href="../index.html" class="el_bundle">org.jacoco.cli</a> &gt; <a href="index.html" class="el_package">org.jacoco.cli.internal</a> &gt; <span class="el_class">CommandHandler</span></div><h1>CommandHandler</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">2 of 85</td><td class="ctr2">97%</td><td class="bar">0 of 4</td><td class="ctr2">100%</td><td class="ctr1">1</td><td class="ctr2">6</td><td class="ctr1">1</td><td class="ctr2">13</td><td class="ctr1">1</td><td class="ctr2">4</td></tr></tfoot><tbody><tr><td id="a1"><a href="CommandHandler.java.html#L87" class="el_method">getDefaultMetaVariable()</a></td><td class="bar" id="b0"><img src="../../jacoco-resources/redbar.gif" width="4" height="10" title="2" alt="2"/></td><td class="ctr2" id="c3">0%</td><td class="bar" id="d1"/><td class="ctr2" id="e1">n/a</td><td class="ctr1" id="f0">1</td><td class="ctr2" id="g1">1</td><td class="ctr1" id="h0">1</td><td class="ctr2" id="i3">1</td><td class="ctr1" id="j0">1</td><td class="ctr2" id="k0">1</td></tr><tr><td id="a2"><a href="CommandHandler.java.html#L50" class="el_method">parseArguments(Parameters)</a></td><td class="bar" id="b1"><img src="../../jacoco-resources/greenbar.gif" width="120" height="10" title="51" alt="51"/></td><td class="ctr2" id="c0">100%</td><td class="bar" id="d0"><img src="../../jacoco-resources/greenbar.gif" width="120" height="10" title="4" alt="4"/></td><td class="ctr2" id="e0">100%</td><td class="ctr1" id="f1">0</td><td class="ctr2" id="g0">3</td><td class="ctr1" id="h1">0</td><td class="ctr2" id="i0">7</td><td class="ctr1" id="j1">0</td><td class="ctr2" id="k1">1</td></tr><tr><td id="a0"><a href="CommandHandler.java.html#L41" class="el_method">CommandHandler(CmdLineParser, OptionDef, Setter)</a></td><td class="bar" id="b2"><img src="../../jacoco-resources/greenbar.gif" width="44" height="10" title="19" alt="19"/></td><td class="ctr2" id="c1">100%</td><td class="bar" id="d2"/><td class="ctr2" id="e2">n/a</td><td class="ctr1" id="f2">0</td><td class="ctr2" id="g2">1</td><td class="ctr1" id="h2">0</td><td class="ctr2" id="i2">2</td><td class="ctr1" id="j2">0</td><td class="ctr2" id="k2">1</td></tr><tr><td id="a3"><a href="CommandHandler.java.html#L66" class="el_method">parseSubArguments(Command, Parameters)</a></td><td class="bar" id="b3"><img src="../../jacoco-resources/greenbar.gif" width="30" height="10" title="13" alt="13"/></td><td class="ctr2" id="c2">100%</td><td class="bar" id="d3"/><td class="ctr2" id="e3">n/a</td><td class="ctr1" id="f3">0</td><td class="ctr2" id="g3">1</td><td class="ctr1" id="h3">0</td><td class="ctr2" id="i1">3</td><td class="ctr1" id="j3">0</td><td class="ctr2" id="k3">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.12.202403270442</span>Code Coverage Report for JaCoCo 0.8.12-SNAPSHOT</div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/trunk/coverage/org.jacoco.cli/org.jacoco.cli.internal/CommandHandler.java.html b/jacoco/trunk/coverage/org.jacoco.cli/org.jacoco.cli.internal/CommandHandler.java.html
    new file mode 100644
    index 00000000000..6b656d02a3b
    --- /dev/null
    +++ b/jacoco/trunk/coverage/org.jacoco.cli/org.jacoco.cli.internal/CommandHandler.java.html
    @@ -0,0 +1,91 @@
    +<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="en"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../../jacoco-resources/report.gif" type="image/gif"/><title>CommandHandler.java</title><link rel="stylesheet" href="../../jacoco-resources/prettify.css" type="text/css"/><script type="text/javascript" src="../../jacoco-resources/prettify.js"></script></head><body onload="window['PR_TAB_WIDTH']=4;prettyPrint()"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../../index.html" class="el_report">JaCoCo</a> &gt; <a href="../index.html" class="el_bundle">org.jacoco.cli</a> &gt; <a href="index.source.html" class="el_package">org.jacoco.cli.internal</a> &gt; <span class="el_source">CommandHandler.java</span></div><h1>CommandHandler.java</h1><pre class="source lang-java linenums">/*******************************************************************************
    + * Copyright (c) 2009, 2024 Mountainminds GmbH &amp; Co. KG and Contributors
    + * This program and the accompanying materials are made available under
    + * the terms of the Eclipse Public License 2.0 which is available at
    + * http://www.eclipse.org/legal/epl-2.0
    + *
    + * SPDX-License-Identifier: EPL-2.0
    + *
    + * Contributors:
    + *    Marc R. Hoffmann - initial API and implementation
    + *
    + *******************************************************************************/
    +package org.jacoco.cli.internal;
    +
    +import java.util.AbstractList;
    +
    +import org.jacoco.cli.internal.commands.AllCommands;
    +import org.kohsuke.args4j.CmdLineException;
    +import org.kohsuke.args4j.CmdLineParser;
    +import org.kohsuke.args4j.OptionDef;
    +import org.kohsuke.args4j.spi.Messages;
    +import org.kohsuke.args4j.spi.OptionHandler;
    +import org.kohsuke.args4j.spi.Parameters;
    +import org.kohsuke.args4j.spi.Setter;
    +
    +/**
    + * {@link OptionHandler} which uses {@link CommandParser} internally to provide
    + * help context also for sub-commands.
    + */
    +public class CommandHandler extends OptionHandler&lt;Command&gt; {
    +
    +	/**
    +	 * This constructor is required by the args4j framework.
    +	 *
    +	 * @param parser
    +	 * @param option
    +	 * @param setter
    +	 */
    +	public CommandHandler(final CmdLineParser parser, final OptionDef option,
    +			final Setter&lt;Object&gt; setter) {
    +<span class="fc" id="L41">		super(parser,</span>
    +				new OptionDef(AllCommands.names(), &quot;&lt;command&gt;&quot;,
    +						option.required(), option.help(), option.hidden(),
    +<span class="fc" id="L44">						CommandHandler.class, option.isMultiValued()) {</span>
    +				}, setter);
    +<span class="fc" id="L46">	}</span>
    +
    +	@Override
    +	public int parseArguments(final Parameters params) throws CmdLineException {
    +<span class="fc" id="L50">		final String subCmd = params.getParameter(0);</span>
    +
    +<span class="fc bfc" id="L52" title="All 2 branches covered.">		for (final Command c : AllCommands.get()) {</span>
    +<span class="fc bfc" id="L53" title="All 2 branches covered.">			if (c.name().equals(subCmd)) {</span>
    +<span class="fc" id="L54">				parseSubArguments(c, params);</span>
    +<span class="fc" id="L55">				setter.addValue(c);</span>
    +<span class="fc" id="L56">				return params.size(); // consume all the remaining tokens</span>
    +			}
    +		}
    +
    +<span class="fc" id="L60">		throw new CmdLineException(owner,</span>
    +				Messages.ILLEGAL_OPERAND.format(option.toString(), subCmd));
    +	}
    +
    +	private void parseSubArguments(final Command c, final Parameters params)
    +			throws CmdLineException {
    +<span class="fc" id="L66">		final CmdLineParser p = new CommandParser(c);</span>
    +<span class="fc" id="L67">		p.parseArgument(new AbstractList&lt;String&gt;() {</span>
    +			@Override
    +			public String get(final int index) {
    +				try {
    +<span class="fc" id="L71">					return params.getParameter(index + 1);</span>
    +<span class="nc" id="L72">				} catch (final CmdLineException e) {</span>
    +					// invalid index was accessed.
    +<span class="nc" id="L74">					throw new IndexOutOfBoundsException();</span>
    +				}
    +			}
    +
    +			@Override
    +<span class="fc" id="L79">			public int size() {</span>
    +<span class="fc" id="L80">				return params.size() - 1;</span>
    +			}
    +		});
    +<span class="fc" id="L83">	}</span>
    +
    +	@Override
    +	public String getDefaultMetaVariable() {
    +<span class="nc" id="L87">		return &quot;&lt;command&gt;&quot;;</span>
    +	}
    +
    +}
    +</pre><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.12.202403270442</span>Code Coverage Report for JaCoCo 0.8.12-SNAPSHOT</div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/trunk/coverage/org.jacoco.cli/org.jacoco.cli.internal/CommandParser.html b/jacoco/trunk/coverage/org.jacoco.cli/org.jacoco.cli.internal/CommandParser.html
    new file mode 100644
    index 00000000000..b3f4386b2be
    --- /dev/null
    +++ b/jacoco/trunk/coverage/org.jacoco.cli/org.jacoco.cli.internal/CommandParser.html
    @@ -0,0 +1 @@
    +<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="en"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../../jacoco-resources/report.gif" type="image/gif"/><title>CommandParser</title><script type="text/javascript" src="../../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../../index.html" class="el_report">JaCoCo</a> &gt; <a href="../index.html" class="el_bundle">org.jacoco.cli</a> &gt; <a href="index.html" class="el_package">org.jacoco.cli.internal</a> &gt; <span class="el_class">CommandParser</span></div><h1>CommandParser</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">0 of 10</td><td class="ctr2">100%</td><td class="bar">0 of 0</td><td class="ctr2">n/a</td><td class="ctr1">0</td><td class="ctr2">2</td><td class="ctr1">0</td><td class="ctr2">4</td><td class="ctr1">0</td><td class="ctr2">2</td></tr></tfoot><tbody><tr><td id="a0"><a href="CommandParser.java.html#L26" class="el_method">CommandParser(Command)</a></td><td class="bar" id="b0"><img src="../../jacoco-resources/greenbar.gif" width="120" height="10" title="7" alt="7"/></td><td class="ctr2" id="c0">100%</td><td class="bar" id="d0"/><td class="ctr2" id="e0">n/a</td><td class="ctr1" id="f0">0</td><td class="ctr2" id="g0">1</td><td class="ctr1" id="h0">0</td><td class="ctr2" id="i0">3</td><td class="ctr1" id="j0">0</td><td class="ctr2" id="k0">1</td></tr><tr><td id="a1"><a href="CommandParser.java.html#L31" class="el_method">getCommand()</a></td><td class="bar" id="b1"><img src="../../jacoco-resources/greenbar.gif" width="51" height="10" title="3" alt="3"/></td><td class="ctr2" id="c1">100%</td><td class="bar" id="d1"/><td class="ctr2" id="e1">n/a</td><td class="ctr1" id="f1">0</td><td class="ctr2" id="g1">1</td><td class="ctr1" id="h1">0</td><td class="ctr2" id="i1">1</td><td class="ctr1" id="j1">0</td><td class="ctr2" id="k1">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.12.202403270442</span>Code Coverage Report for JaCoCo 0.8.12-SNAPSHOT</div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/trunk/coverage/org.jacoco.cli/org.jacoco.cli.internal/CommandParser.java.html b/jacoco/trunk/coverage/org.jacoco.cli/org.jacoco.cli.internal/CommandParser.java.html
    new file mode 100644
    index 00000000000..1f221ca9034
    --- /dev/null
    +++ b/jacoco/trunk/coverage/org.jacoco.cli/org.jacoco.cli.internal/CommandParser.java.html
    @@ -0,0 +1,35 @@
    +<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="en"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../../jacoco-resources/report.gif" type="image/gif"/><title>CommandParser.java</title><link rel="stylesheet" href="../../jacoco-resources/prettify.css" type="text/css"/><script type="text/javascript" src="../../jacoco-resources/prettify.js"></script></head><body onload="window['PR_TAB_WIDTH']=4;prettyPrint()"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../../index.html" class="el_report">JaCoCo</a> &gt; <a href="../index.html" class="el_bundle">org.jacoco.cli</a> &gt; <a href="index.source.html" class="el_package">org.jacoco.cli.internal</a> &gt; <span class="el_source">CommandParser.java</span></div><h1>CommandParser.java</h1><pre class="source lang-java linenums">/*******************************************************************************
    + * Copyright (c) 2009, 2024 Mountainminds GmbH &amp; Co. KG and Contributors
    + * This program and the accompanying materials are made available under
    + * the terms of the Eclipse Public License 2.0 which is available at
    + * http://www.eclipse.org/legal/epl-2.0
    + *
    + * SPDX-License-Identifier: EPL-2.0
    + *
    + * Contributors:
    + *    Marc R. Hoffmann - initial API and implementation
    + *
    + *******************************************************************************/
    +package org.jacoco.cli.internal;
    +
    +import org.kohsuke.args4j.CmdLineParser;
    +
    +/**
    + * Parser which remembers the parsed command to have additional context
    + * information to produce help output.
    + */
    +public class CommandParser extends CmdLineParser {
    +
    +	private final Command command;
    +
    +	CommandParser(final Command command) {
    +<span class="fc" id="L26">		super(command);</span>
    +<span class="fc" id="L27">		this.command = command;</span>
    +<span class="fc" id="L28">	}</span>
    +
    +	Command getCommand() {
    +<span class="fc" id="L31">		return command;</span>
    +	}
    +
    +}
    +</pre><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.12.202403270442</span>Code Coverage Report for JaCoCo 0.8.12-SNAPSHOT</div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/trunk/coverage/org.jacoco.cli/org.jacoco.cli.internal/Main$1.html b/jacoco/trunk/coverage/org.jacoco.cli/org.jacoco.cli.internal/Main$1.html
    new file mode 100644
    index 00000000000..5098afebbde
    --- /dev/null
    +++ b/jacoco/trunk/coverage/org.jacoco.cli/org.jacoco.cli.internal/Main$1.html
    @@ -0,0 +1 @@
    +<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="en"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../../jacoco-resources/report.gif" type="image/gif"/><title>Main.new Writer() {...}</title><script type="text/javascript" src="../../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../../index.html" class="el_report">JaCoCo</a> &gt; <a href="../index.html" class="el_bundle">org.jacoco.cli</a> &gt; <a href="index.html" class="el_package">org.jacoco.cli.internal</a> &gt; <span class="el_class">Main.new Writer() {...}</span></div><h1>Main.new Writer() {...}</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">2 of 6</td><td class="ctr2">66%</td><td class="bar">0 of 0</td><td class="ctr2">n/a</td><td class="ctr1">2</td><td class="ctr2">4</td><td class="ctr1">2</td><td class="ctr2">4</td><td class="ctr1">2</td><td class="ctr2">4</td></tr></tfoot><tbody><tr><td id="a1"><a href="Main.java.html#L36" class="el_method">flush()</a></td><td class="bar" id="b0"><img src="../../jacoco-resources/redbar.gif" width="40" height="10" title="1" alt="1"/></td><td class="ctr2" id="c2">0%</td><td class="bar" id="d0"/><td class="ctr2" id="e0">n/a</td><td class="ctr1" id="f0">1</td><td class="ctr2" id="g0">1</td><td class="ctr1" id="h0">1</td><td class="ctr2" id="i0">1</td><td class="ctr1" id="j0">1</td><td class="ctr2" id="k0">1</td></tr><tr><td id="a0"><a href="Main.java.html#L40" class="el_method">close()</a></td><td class="bar" id="b1"><img src="../../jacoco-resources/redbar.gif" width="40" height="10" title="1" alt="1"/></td><td class="ctr2" id="c3">0%</td><td class="bar" id="d1"/><td class="ctr2" id="e1">n/a</td><td class="ctr1" id="f1">1</td><td class="ctr2" id="g1">1</td><td class="ctr1" id="h1">1</td><td class="ctr2" id="i1">1</td><td class="ctr1" id="j1">1</td><td class="ctr2" id="k1">1</td></tr><tr><td id="a3"><a href="Main.java.html#L39" class="el_method">{...}</a></td><td class="bar" id="b2"><img src="../../jacoco-resources/greenbar.gif" width="120" height="10" title="3" alt="3"/></td><td class="ctr2" id="c0">100%</td><td class="bar" id="d2"/><td class="ctr2" id="e2">n/a</td><td class="ctr1" id="f2">0</td><td class="ctr2" id="g2">1</td><td class="ctr1" id="h2">0</td><td class="ctr2" id="i2">1</td><td class="ctr1" id="j2">0</td><td class="ctr2" id="k2">1</td></tr><tr><td id="a2"><a href="Main.java.html#L32" class="el_method">write(char[], int, int)</a></td><td class="bar" id="b3"><img src="../../jacoco-resources/greenbar.gif" width="40" height="10" title="1" alt="1"/></td><td class="ctr2" id="c1">100%</td><td class="bar" id="d3"/><td class="ctr2" id="e3">n/a</td><td class="ctr1" id="f3">0</td><td class="ctr2" id="g3">1</td><td class="ctr1" id="h3">0</td><td class="ctr2" id="i3">1</td><td class="ctr1" id="j3">0</td><td class="ctr2" id="k3">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.12.202403270442</span>Code Coverage Report for JaCoCo 0.8.12-SNAPSHOT</div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/trunk/coverage/org.jacoco.cli/org.jacoco.cli.internal/Main.html b/jacoco/trunk/coverage/org.jacoco.cli/org.jacoco.cli.internal/Main.html
    new file mode 100644
    index 00000000000..4acb183b93b
    --- /dev/null
    +++ b/jacoco/trunk/coverage/org.jacoco.cli/org.jacoco.cli.internal/Main.html
    @@ -0,0 +1 @@
    +<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="en"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../../jacoco-resources/report.gif" type="image/gif"/><title>Main</title><script type="text/javascript" src="../../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../../index.html" class="el_report">JaCoCo</a> &gt; <a href="../index.html" class="el_bundle">org.jacoco.cli</a> &gt; <a href="index.html" class="el_package">org.jacoco.cli.internal</a> &gt; <span class="el_class">Main</span></div><h1>Main</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">23 of 96</td><td class="ctr2">76%</td><td class="bar">0 of 6</td><td class="ctr2">100%</td><td class="ctr1">1</td><td class="ctr2">9</td><td class="ctr1">5</td><td class="ctr2">28</td><td class="ctr1">1</td><td class="ctr2">6</td></tr></tfoot><tbody><tr><td id="a2"><a href="Main.java.html#L103" class="el_method">main(String[])</a></td><td class="bar" id="b0"><img src="../../jacoco-resources/redbar.gif" width="50" height="10" title="23" alt="23"/></td><td class="ctr2" id="c5">0%</td><td class="bar" id="d1"/><td class="ctr2" id="e1">n/a</td><td class="ctr1" id="f0">1</td><td class="ctr2" id="g1">1</td><td class="ctr1" id="h0">5</td><td class="ctr2" id="i1">5</td><td class="ctr1" id="j0">1</td><td class="ctr2" id="k0">1</td></tr><tr><td id="a1"><a href="Main.java.html#L66" class="el_method">execute(PrintWriter, PrintWriter)</a></td><td class="bar" id="b1"><img src="../../jacoco-resources/greenbar.gif" width="120" height="10" title="55" alt="55"/></td><td class="ctr2" id="c0">100%</td><td class="bar" id="d0"><img src="../../jacoco-resources/greenbar.gif" width="120" height="10" title="6" alt="6"/></td><td class="ctr2" id="e0">100%</td><td class="ctr1" id="f1">0</td><td class="ctr2" id="g0">4</td><td class="ctr1" id="h1">0</td><td class="ctr2" id="i0">17</td><td class="ctr1" id="j1">0</td><td class="ctr2" id="k1">1</td></tr><tr><td id="a4"><a href="Main.java.html#L27" class="el_method">static {...}</a></td><td class="bar" id="b2"><img src="../../jacoco-resources/greenbar.gif" width="17" height="10" title="8" alt="8"/></td><td class="ctr2" id="c1">100%</td><td class="bar" id="d2"/><td class="ctr2" id="e2">n/a</td><td class="ctr1" id="f2">0</td><td class="ctr2" id="g2">1</td><td class="ctr1" id="h2">0</td><td class="ctr2" id="i3">1</td><td class="ctr1" id="j2">0</td><td class="ctr2" id="k2">1</td></tr><tr><td id="a3"><a href="Main.java.html#L45" class="el_method">Main(String[])</a></td><td class="bar" id="b3"><img src="../../jacoco-resources/greenbar.gif" width="13" height="10" title="6" alt="6"/></td><td class="ctr2" id="c2">100%</td><td class="bar" id="d3"/><td class="ctr2" id="e3">n/a</td><td class="ctr1" id="f3">0</td><td class="ctr2" id="g3">1</td><td class="ctr1" id="h3">0</td><td class="ctr2" id="i2">3</td><td class="ctr1" id="j3">0</td><td class="ctr2" id="k3">1</td></tr><tr><td id="a0"><a href="Main.java.html#L54" class="el_method">description()</a></td><td class="bar" id="b4"><img src="../../jacoco-resources/greenbar.gif" width="4" height="10" title="2" alt="2"/></td><td class="ctr2" id="c3">100%</td><td class="bar" id="d4"/><td class="ctr2" id="e4">n/a</td><td class="ctr1" id="f4">0</td><td class="ctr2" id="g4">1</td><td class="ctr1" id="h4">0</td><td class="ctr2" id="i4">1</td><td class="ctr1" id="j4">0</td><td class="ctr2" id="k4">1</td></tr><tr><td id="a5"><a href="Main.java.html#L59" class="el_method">usage(CommandParser)</a></td><td class="bar" id="b5"><img src="../../jacoco-resources/greenbar.gif" width="4" height="10" title="2" alt="2"/></td><td class="ctr2" id="c4">100%</td><td class="bar" id="d5"/><td class="ctr2" id="e5">n/a</td><td class="ctr1" id="f5">0</td><td class="ctr2" id="g5">1</td><td class="ctr1" id="h5">0</td><td class="ctr2" id="i5">1</td><td class="ctr1" id="j5">0</td><td class="ctr2" id="k5">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.12.202403270442</span>Code Coverage Report for JaCoCo 0.8.12-SNAPSHOT</div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/trunk/coverage/org.jacoco.cli/org.jacoco.cli.internal/Main.java.html b/jacoco/trunk/coverage/org.jacoco.cli/org.jacoco.cli.internal/Main.java.html
    new file mode 100644
    index 00000000000..f8788034c89
    --- /dev/null
    +++ b/jacoco/trunk/coverage/org.jacoco.cli/org.jacoco.cli.internal/Main.java.html
    @@ -0,0 +1,110 @@
    +<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="en"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../../jacoco-resources/report.gif" type="image/gif"/><title>Main.java</title><link rel="stylesheet" href="../../jacoco-resources/prettify.css" type="text/css"/><script type="text/javascript" src="../../jacoco-resources/prettify.js"></script></head><body onload="window['PR_TAB_WIDTH']=4;prettyPrint()"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../../index.html" class="el_report">JaCoCo</a> &gt; <a href="../index.html" class="el_bundle">org.jacoco.cli</a> &gt; <a href="index.source.html" class="el_package">org.jacoco.cli.internal</a> &gt; <span class="el_source">Main.java</span></div><h1>Main.java</h1><pre class="source lang-java linenums">/*******************************************************************************
    + * Copyright (c) 2009, 2024 Mountainminds GmbH &amp; Co. KG and Contributors
    + * This program and the accompanying materials are made available under
    + * the terms of the Eclipse Public License 2.0 which is available at
    + * http://www.eclipse.org/legal/epl-2.0
    + *
    + * SPDX-License-Identifier: EPL-2.0
    + *
    + * Contributors:
    + *    Marc R. Hoffmann - initial API and implementation
    + *
    + *******************************************************************************/
    +package org.jacoco.cli.internal;
    +
    +import java.io.IOException;
    +import java.io.PrintWriter;
    +import java.io.Writer;
    +
    +import org.kohsuke.args4j.Argument;
    +import org.kohsuke.args4j.CmdLineException;
    +
    +/**
    + * Entry point for all command line operations.
    + */
    +public class Main extends Command {
    +
    +<span class="fc" id="L27">	private static final PrintWriter NUL = new PrintWriter(new Writer() {</span>
    +
    +		@Override
    +		public void write(final char[] arg0, final int arg1, final int arg2)
    +				throws IOException {
    +<span class="fc" id="L32">		}</span>
    +
    +		@Override
    +		public void flush() throws IOException {
    +<span class="nc" id="L36">		}</span>
    +
    +		@Override
    +<span class="fc" id="L39">		public void close() throws IOException {</span>
    +<span class="nc" id="L40">		}</span>
    +	});
    +
    +	private final String[] args;
    +
    +<span class="fc" id="L45">	Main(final String... args) {</span>
    +<span class="fc" id="L46">		this.args = args;</span>
    +<span class="fc" id="L47">	}</span>
    +
    +	@Argument(handler = CommandHandler.class, required = true)
    +	Command command;
    +
    +	@Override
    +	public String description() {
    +<span class="fc" id="L54">		return &quot;Command line interface for JaCoCo.&quot;;</span>
    +	}
    +
    +	@Override
    +	public String usage(final CommandParser parser) {
    +<span class="fc" id="L59">		return JAVACMD + &quot;--help | &lt;command&gt;&quot;;</span>
    +	}
    +
    +	@Override
    +	public int execute(PrintWriter out, final PrintWriter err)
    +			throws Exception {
    +
    +<span class="fc" id="L66">		final CommandParser mainParser = new CommandParser(this);</span>
    +		try {
    +<span class="fc" id="L68">			mainParser.parseArgument(args);</span>
    +<span class="fc" id="L69">		} catch (final CmdLineException e) {</span>
    +<span class="fc" id="L70">			((CommandParser) e.getParser()).getCommand().printHelp(err);</span>
    +<span class="fc" id="L71">			err.println();</span>
    +<span class="fc" id="L72">			err.println(e.getMessage());</span>
    +<span class="fc" id="L73">			return -1;</span>
    +<span class="fc" id="L74">		}</span>
    +
    +<span class="fc bfc" id="L76" title="All 2 branches covered.">		if (help) {</span>
    +<span class="fc" id="L77">			printHelp(out);</span>
    +<span class="fc" id="L78">			return 0;</span>
    +		}
    +
    +<span class="fc bfc" id="L81" title="All 2 branches covered.">		if (command.help) {</span>
    +<span class="fc" id="L82">			command.printHelp(out);</span>
    +<span class="fc" id="L83">			return 0;</span>
    +		}
    +
    +<span class="fc bfc" id="L86" title="All 2 branches covered.">		if (command.quiet) {</span>
    +<span class="fc" id="L87">			out = NUL;</span>
    +		}
    +
    +<span class="fc" id="L90">		return command.execute(out, err);</span>
    +	}
    +
    +	/**
    +	 * Main entry point for program invocations.
    +	 *
    +	 * @param args
    +	 *            program arguments
    +	 * @throws Exception
    +	 *             All internal exceptions are directly passed on to get printed
    +	 *             on the console
    +	 */
    +	public static void main(final String... args) throws Exception {
    +<span class="nc" id="L103">		final PrintWriter out = new PrintWriter(System.out, true);</span>
    +<span class="nc" id="L104">		final PrintWriter err = new PrintWriter(System.err, true);</span>
    +<span class="nc" id="L105">		final int returncode = new Main(args).execute(out, err);</span>
    +<span class="nc" id="L106">		System.exit(returncode);</span>
    +<span class="nc" id="L107">	}</span>
    +
    +}
    +</pre><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.12.202403270442</span>Code Coverage Report for JaCoCo 0.8.12-SNAPSHOT</div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/trunk/coverage/org.jacoco.cli/org.jacoco.cli.internal/XmlDocumentation.html b/jacoco/trunk/coverage/org.jacoco.cli/org.jacoco.cli.internal/XmlDocumentation.html
    new file mode 100644
    index 00000000000..0787374592b
    --- /dev/null
    +++ b/jacoco/trunk/coverage/org.jacoco.cli/org.jacoco.cli.internal/XmlDocumentation.html
    @@ -0,0 +1 @@
    +<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="en"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../../jacoco-resources/report.gif" type="image/gif"/><title>XmlDocumentation</title><script type="text/javascript" src="../../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../../index.html" class="el_report">JaCoCo</a> &gt; <a href="../index.html" class="el_bundle">org.jacoco.cli</a> &gt; <a href="index.html" class="el_package">org.jacoco.cli.internal</a> &gt; <span class="el_class">XmlDocumentation</span></div><h1>XmlDocumentation</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">0 of 121</td><td class="ctr2">100%</td><td class="bar">0 of 4</td><td class="ctr2">100%</td><td class="ctr1">0</td><td class="ctr2">5</td><td class="ctr1">0</td><td class="ctr2">23</td><td class="ctr1">0</td><td class="ctr2">3</td></tr></tfoot><tbody><tr><td id="a2"><a href="XmlDocumentation.java.html#L46" class="el_method">writeOptions(XMLElement, List)</a></td><td class="bar" id="b0"><img src="../../jacoco-resources/greenbar.gif" width="120" height="10" title="44" alt="44"/></td><td class="ctr2" id="c0">100%</td><td class="bar" id="d0"><img src="../../jacoco-resources/greenbar.gif" width="120" height="10" title="2" alt="2"/></td><td class="ctr2" id="e0">100%</td><td class="ctr1" id="f0">0</td><td class="ctr2" id="g0">2</td><td class="ctr1" id="h0">0</td><td class="ctr2" id="i0">8</td><td class="ctr1" id="j0">0</td><td class="ctr2" id="k0">1</td></tr><tr><td id="a0"><a href="XmlDocumentation.java.html#L65" class="el_method">main(String[])</a></td><td class="bar" id="b1"><img src="../../jacoco-resources/greenbar.gif" width="111" height="10" title="41" alt="41"/></td><td class="ctr2" id="c1">100%</td><td class="bar" id="d1"><img src="../../jacoco-resources/greenbar.gif" width="120" height="10" title="2" alt="2"/></td><td class="ctr2" id="e1">100%</td><td class="ctr1" id="f1">0</td><td class="ctr2" id="g1">2</td><td class="ctr1" id="h1">0</td><td class="ctr2" id="i2">7</td><td class="ctr1" id="j1">0</td><td class="ctr2" id="k1">1</td></tr><tr><td id="a1"><a href="XmlDocumentation.java.html#L34" class="el_method">writeCommand(Command, XMLElement)</a></td><td class="bar" id="b2"><img src="../../jacoco-resources/greenbar.gif" width="98" height="10" title="36" alt="36"/></td><td class="ctr2" id="c2">100%</td><td class="bar" id="d2"/><td class="ctr2" id="e2">n/a</td><td class="ctr1" id="f2">0</td><td class="ctr2" id="g2">1</td><td class="ctr1" id="h2">0</td><td class="ctr2" id="i1">8</td><td class="ctr1" id="j2">0</td><td class="ctr2" id="k2">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.12.202403270442</span>Code Coverage Report for JaCoCo 0.8.12-SNAPSHOT</div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/trunk/coverage/org.jacoco.cli/org.jacoco.cli.internal/XmlDocumentation.java.html b/jacoco/trunk/coverage/org.jacoco.cli/org.jacoco.cli.internal/XmlDocumentation.java.html
    new file mode 100644
    index 00000000000..1aff44819df
    --- /dev/null
    +++ b/jacoco/trunk/coverage/org.jacoco.cli/org.jacoco.cli.internal/XmlDocumentation.java.html
    @@ -0,0 +1,79 @@
    +<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="en"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../../jacoco-resources/report.gif" type="image/gif"/><title>XmlDocumentation.java</title><link rel="stylesheet" href="../../jacoco-resources/prettify.css" type="text/css"/><script type="text/javascript" src="../../jacoco-resources/prettify.js"></script></head><body onload="window['PR_TAB_WIDTH']=4;prettyPrint()"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../../index.html" class="el_report">JaCoCo</a> &gt; <a href="../index.html" class="el_bundle">org.jacoco.cli</a> &gt; <a href="index.source.html" class="el_package">org.jacoco.cli.internal</a> &gt; <span class="el_source">XmlDocumentation.java</span></div><h1>XmlDocumentation.java</h1><pre class="source lang-java linenums">/*******************************************************************************
    + * Copyright (c) 2009, 2024 Mountainminds GmbH &amp; Co. KG and Contributors
    + * This program and the accompanying materials are made available under
    + * the terms of the Eclipse Public License 2.0 which is available at
    + * http://www.eclipse.org/legal/epl-2.0
    + *
    + * SPDX-License-Identifier: EPL-2.0
    + *
    + * Contributors:
    + *    Marc R. Hoffmann - initial API and implementation
    + *
    + *******************************************************************************/
    +package org.jacoco.cli.internal;
    +
    +import java.io.File;
    +import java.io.FileOutputStream;
    +import java.io.IOException;
    +import java.util.List;
    +
    +import org.jacoco.cli.internal.commands.AllCommands;
    +import org.jacoco.report.internal.xml.XMLElement;
    +import org.kohsuke.args4j.spi.OptionHandler;
    +
    +/**
    + * Internal utility to dump all command descriptions as XML.
    + */
    +public final class XmlDocumentation {
    +
    +	private XmlDocumentation() {
    +	}
    +
    +	private static void writeCommand(final Command command,
    +			final XMLElement parent) throws IOException {
    +<span class="fc" id="L34">		final CommandParser parser = new CommandParser(command);</span>
    +<span class="fc" id="L35">		final XMLElement element = parent.element(&quot;command&quot;);</span>
    +<span class="fc" id="L36">		element.attr(&quot;name&quot;, command.name());</span>
    +<span class="fc" id="L37">		element.element(&quot;usage&quot;).text(command.usage(parser));</span>
    +<span class="fc" id="L38">		element.element(&quot;description&quot;).text(command.description());</span>
    +<span class="fc" id="L39">		writeOptions(element, parser.getArguments());</span>
    +<span class="fc" id="L40">		writeOptions(element, parser.getOptions());</span>
    +<span class="fc" id="L41">	}</span>
    +
    +	private static void writeOptions(final XMLElement parent,
    +			@SuppressWarnings(&quot;rawtypes&quot;) final List&lt;OptionHandler&gt; list)
    +			throws IOException {
    +<span class="fc bfc" id="L46" title="All 2 branches covered.">		for (final OptionHandler&lt;?&gt; o : list) {</span>
    +<span class="fc" id="L47">			final XMLElement optionNode = parent.element(&quot;option&quot;);</span>
    +<span class="fc" id="L48">			optionNode.attr(&quot;required&quot;, String.valueOf(o.option.required()));</span>
    +<span class="fc" id="L49">			optionNode.attr(&quot;multiple&quot;,</span>
    +					String.valueOf(o.setter.isMultiValued()));
    +<span class="fc" id="L51">			optionNode.element(&quot;usage&quot;).text(o.getNameAndMeta(null));</span>
    +<span class="fc" id="L52">			optionNode.element(&quot;description&quot;).text(o.option.usage());</span>
    +<span class="fc" id="L53">		}</span>
    +<span class="fc" id="L54">	}</span>
    +
    +	/**
    +	 * Called during the build process.
    +	 *
    +	 * @param args
    +	 *            exactly one argument expected with the target location
    +	 * @throws IOException
    +	 *             if XML document cannot be written
    +	 */
    +	public static void main(final String... args) throws IOException {
    +<span class="fc" id="L65">		final File file = new File(args[0]);</span>
    +<span class="fc" id="L66">		file.getParentFile().mkdirs();</span>
    +
    +<span class="fc" id="L68">		final XMLElement root = new XMLElement(&quot;documentation&quot;, null, null,</span>
    +				true, &quot;UTF-8&quot;, new FileOutputStream(file));
    +
    +<span class="fc bfc" id="L71" title="All 2 branches covered.">		for (final Command c : AllCommands.get()) {</span>
    +<span class="fc" id="L72">			writeCommand(c, root);</span>
    +		}
    +
    +<span class="fc" id="L75">		root.close();</span>
    +<span class="fc" id="L76">	}</span>
    +
    +}
    +</pre><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.12.202403270442</span>Code Coverage Report for JaCoCo 0.8.12-SNAPSHOT</div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/trunk/coverage/org.jacoco.cli/org.jacoco.cli.internal/index.html b/jacoco/trunk/coverage/org.jacoco.cli/org.jacoco.cli.internal/index.html
    new file mode 100644
    index 00000000000..7d1e4fbf141
    --- /dev/null
    +++ b/jacoco/trunk/coverage/org.jacoco.cli/org.jacoco.cli.internal/index.html
    @@ -0,0 +1 @@
    +<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="en"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../../jacoco-resources/report.gif" type="image/gif"/><title>org.jacoco.cli.internal</title><script type="text/javascript" src="../../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb', 'coveragetable'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="index.source.html" class="el_source">Source Files</a><a href="../../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../../index.html" class="el_report">JaCoCo</a> &gt; <a href="../index.html" class="el_bundle">org.jacoco.cli</a> &gt; <span class="el_package">org.jacoco.cli.internal</span></div><h1>org.jacoco.cli.internal</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td><td class="sortable ctr1" id="l" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="m" onclick="toggleSort(this)">Classes</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">32 of 418</td><td class="ctr2">92%</td><td class="bar">0 of 14</td><td class="ctr2">100%</td><td class="ctr1">4</td><td class="ctr2">34</td><td class="ctr1">10</td><td class="ctr2">91</td><td class="ctr1">4</td><td class="ctr2">27</td><td class="ctr1">0</td><td class="ctr2">8</td></tr></tfoot><tbody><tr><td id="a5"><a href="Main.html" class="el_class">Main</a></td><td class="bar" id="b0"><img src="../../jacoco-resources/redbar.gif" width="22" height="10" title="23" alt="23"/><img src="../../jacoco-resources/greenbar.gif" width="72" height="10" title="73" alt="73"/></td><td class="ctr2" id="c6">76%</td><td class="bar" id="d0"><img src="../../jacoco-resources/greenbar.gif" width="120" height="10" title="6" alt="6"/></td><td class="ctr2" id="e0">100%</td><td class="ctr1" id="f1">1</td><td class="ctr2" id="g0">9</td><td class="ctr1" id="h0">5</td><td class="ctr2" id="i0">28</td><td class="ctr1" id="j1">1</td><td class="ctr2" id="k0">6</td><td class="ctr1" id="l0">0</td><td class="ctr2" id="m0">1</td></tr><tr><td id="a2"><a href="CommandHandler$2.html" class="el_class">CommandHandler.new AbstractList() {...}</a></td><td class="bar" id="b1"><img src="../../jacoco-resources/redbar.gif" width="4" height="10" title="5" alt="5"/><img src="../../jacoco-resources/greenbar.gif" width="21" height="10" title="22" alt="22"/></td><td class="ctr2" id="c5">81%</td><td class="bar" id="d3"/><td class="ctr2" id="e3">n/a</td><td class="ctr1" id="f3">0</td><td class="ctr2" id="g5">3</td><td class="ctr1" id="h1">2</td><td class="ctr2" id="i4">5</td><td class="ctr1" id="j3">0</td><td class="ctr2" id="k4">3</td><td class="ctr1" id="l1">0</td><td class="ctr2" id="m1">1</td></tr><tr><td id="a1"><a href="CommandHandler.html" class="el_class">CommandHandler</a></td><td class="bar" id="b2"><img src="../../jacoco-resources/redbar.gif" width="1" height="10" title="2" alt="2"/><img src="../../jacoco-resources/greenbar.gif" width="82" height="10" title="83" alt="83"/></td><td class="ctr2" id="c4">97%</td><td class="bar" id="d1"><img src="../../jacoco-resources/greenbar.gif" width="80" height="10" title="4" alt="4"/></td><td class="ctr2" id="e1">100%</td><td class="ctr1" id="f2">1</td><td class="ctr2" id="g1">6</td><td class="ctr1" id="h3">1</td><td class="ctr2" id="i2">13</td><td class="ctr1" id="j2">1</td><td class="ctr2" id="k1">4</td><td class="ctr1" id="l2">0</td><td class="ctr2" id="m2">1</td></tr><tr><td id="a6"><a href="Main$1.html" class="el_class">Main.new Writer() {...}</a></td><td class="bar" id="b3"><img src="../../jacoco-resources/redbar.gif" width="1" height="10" title="2" alt="2"/><img src="../../jacoco-resources/greenbar.gif" width="3" height="10" title="4" alt="4"/></td><td class="ctr2" id="c7">66%</td><td class="bar" id="d4"/><td class="ctr2" id="e4">n/a</td><td class="ctr1" id="f0">2</td><td class="ctr2" id="g3">4</td><td class="ctr1" id="h2">2</td><td class="ctr2" id="i5">4</td><td class="ctr1" id="j0">2</td><td class="ctr2" id="k2">4</td><td class="ctr1" id="l3">0</td><td class="ctr2" id="m3">1</td></tr><tr><td id="a7"><a href="XmlDocumentation.html" class="el_class">XmlDocumentation</a></td><td class="bar" id="b4"><img src="../../jacoco-resources/greenbar.gif" width="120" height="10" title="121" alt="121"/></td><td class="ctr2" id="c0">100%</td><td class="bar" id="d2"><img src="../../jacoco-resources/greenbar.gif" width="80" height="10" title="4" alt="4"/></td><td class="ctr2" id="e2">100%</td><td class="ctr1" id="f4">0</td><td class="ctr2" id="g2">5</td><td class="ctr1" id="h4">0</td><td class="ctr2" id="i1">23</td><td class="ctr1" id="j4">0</td><td class="ctr2" id="k5">3</td><td class="ctr1" id="l4">0</td><td class="ctr2" id="m4">1</td></tr><tr><td id="a0"><a href="Command.html" class="el_class">Command</a></td><td class="bar" id="b5"><img src="../../jacoco-resources/greenbar.gif" width="62" height="10" title="63" alt="63"/></td><td class="ctr2" id="c1">100%</td><td class="bar" id="d5"/><td class="ctr2" id="e5">n/a</td><td class="ctr1" id="f5">0</td><td class="ctr2" id="g4">4</td><td class="ctr1" id="h5">0</td><td class="ctr2" id="i3">13</td><td class="ctr1" id="j5">0</td><td class="ctr2" id="k3">4</td><td class="ctr1" id="l5">0</td><td class="ctr2" id="m5">1</td></tr><tr><td id="a3"><a href="CommandHandler$1.html" class="el_class">CommandHandler.new OptionDef() {...}</a></td><td class="bar" id="b6"><img src="../../jacoco-resources/greenbar.gif" width="9" height="10" title="10" alt="10"/></td><td class="ctr2" id="c2">100%</td><td class="bar" id="d6"/><td class="ctr2" id="e6">n/a</td><td class="ctr1" id="f6">0</td><td class="ctr2" id="g7">1</td><td class="ctr1" id="h6">0</td><td class="ctr2" id="i7">1</td><td class="ctr1" id="j6">0</td><td class="ctr2" id="k7">1</td><td class="ctr1" id="l6">0</td><td class="ctr2" id="m6">1</td></tr><tr><td id="a4"><a href="CommandParser.html" class="el_class">CommandParser</a></td><td class="bar" id="b7"><img src="../../jacoco-resources/greenbar.gif" width="9" height="10" title="10" alt="10"/></td><td class="ctr2" id="c3">100%</td><td class="bar" id="d7"/><td class="ctr2" id="e7">n/a</td><td class="ctr1" id="f7">0</td><td class="ctr2" id="g6">2</td><td class="ctr1" id="h7">0</td><td class="ctr2" id="i6">4</td><td class="ctr1" id="j7">0</td><td class="ctr2" id="k6">2</td><td class="ctr1" id="l7">0</td><td class="ctr2" id="m7">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.12.202403270442</span>Code Coverage Report for JaCoCo 0.8.12-SNAPSHOT</div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/trunk/coverage/org.jacoco.cli/org.jacoco.cli.internal/index.source.html b/jacoco/trunk/coverage/org.jacoco.cli/org.jacoco.cli.internal/index.source.html
    new file mode 100644
    index 00000000000..73c4d581690
    --- /dev/null
    +++ b/jacoco/trunk/coverage/org.jacoco.cli/org.jacoco.cli.internal/index.source.html
    @@ -0,0 +1 @@
    +<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="en"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../../jacoco-resources/report.gif" type="image/gif"/><title>org.jacoco.cli.internal</title><script type="text/javascript" src="../../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb', 'coveragetable'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="index.html" class="el_class">Classes</a><a href="../../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../../index.html" class="el_report">JaCoCo</a> &gt; <a href="../index.html" class="el_bundle">org.jacoco.cli</a> &gt; <span class="el_package">org.jacoco.cli.internal</span></div><h1>org.jacoco.cli.internal</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td><td class="sortable ctr1" id="l" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="m" onclick="toggleSort(this)">Classes</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">32 of 418</td><td class="ctr2">92%</td><td class="bar">0 of 14</td><td class="ctr2">100%</td><td class="ctr1">4</td><td class="ctr2">34</td><td class="ctr1">10</td><td class="ctr2">91</td><td class="ctr1">4</td><td class="ctr2">27</td><td class="ctr1">0</td><td class="ctr2">8</td></tr></tfoot><tbody><tr><td id="a3"><a href="Main.java.html" class="el_source">Main.java</a></td><td class="bar" id="b0"><img src="../../jacoco-resources/redbar.gif" width="24" height="10" title="25" alt="25"/><img src="../../jacoco-resources/greenbar.gif" width="75" height="10" title="77" alt="77"/></td><td class="ctr2" id="c4">75%</td><td class="bar" id="d0"><img src="../../jacoco-resources/greenbar.gif" width="120" height="10" title="6" alt="6"/></td><td class="ctr2" id="e0">100%</td><td class="ctr1" id="f0">3</td><td class="ctr2" id="g0">13</td><td class="ctr1" id="h0">7</td><td class="ctr2" id="i0">32</td><td class="ctr1" id="j0">3</td><td class="ctr2" id="k0">10</td><td class="ctr1" id="l0">0</td><td class="ctr2" id="m1">2</td></tr><tr><td id="a1"><a href="CommandHandler.java.html" class="el_source">CommandHandler.java</a></td><td class="bar" id="b1"><img src="../../jacoco-resources/redbar.gif" width="6" height="10" title="7" alt="7"/><img src="../../jacoco-resources/greenbar.gif" width="113" height="10" title="115" alt="115"/></td><td class="ctr2" id="c3">94%</td><td class="bar" id="d1"><img src="../../jacoco-resources/greenbar.gif" width="80" height="10" title="4" alt="4"/></td><td class="ctr2" id="e1">100%</td><td class="ctr1" id="f1">1</td><td class="ctr2" id="g1">10</td><td class="ctr1" id="h1">3</td><td class="ctr2" id="i2">19</td><td class="ctr1" id="j1">1</td><td class="ctr2" id="k1">8</td><td class="ctr1" id="l1">0</td><td class="ctr2" id="m0">3</td></tr><tr><td id="a4"><a href="XmlDocumentation.java.html" class="el_source">XmlDocumentation.java</a></td><td class="bar" id="b2"><img src="../../jacoco-resources/greenbar.gif" width="119" height="10" title="121" alt="121"/></td><td class="ctr2" id="c0">100%</td><td class="bar" id="d2"><img src="../../jacoco-resources/greenbar.gif" width="80" height="10" title="4" alt="4"/></td><td class="ctr2" id="e2">100%</td><td class="ctr1" id="f2">0</td><td class="ctr2" id="g2">5</td><td class="ctr1" id="h2">0</td><td class="ctr2" id="i1">23</td><td class="ctr1" id="j2">0</td><td class="ctr2" id="k3">3</td><td class="ctr1" id="l2">0</td><td class="ctr2" id="m2">1</td></tr><tr><td id="a0"><a href="Command.java.html" class="el_source">Command.java</a></td><td class="bar" id="b3"><img src="../../jacoco-resources/greenbar.gif" width="61" height="10" title="63" alt="63"/></td><td class="ctr2" id="c1">100%</td><td class="bar" id="d3"/><td class="ctr2" id="e3">n/a</td><td class="ctr1" id="f3">0</td><td class="ctr2" id="g3">4</td><td class="ctr1" id="h3">0</td><td class="ctr2" id="i3">13</td><td class="ctr1" id="j3">0</td><td class="ctr2" id="k2">4</td><td class="ctr1" id="l3">0</td><td class="ctr2" id="m3">1</td></tr><tr><td id="a2"><a href="CommandParser.java.html" class="el_source">CommandParser.java</a></td><td class="bar" id="b4"><img src="../../jacoco-resources/greenbar.gif" width="9" height="10" title="10" alt="10"/></td><td class="ctr2" id="c2">100%</td><td class="bar" id="d4"/><td class="ctr2" id="e4">n/a</td><td class="ctr1" id="f4">0</td><td class="ctr2" id="g4">2</td><td class="ctr1" id="h4">0</td><td class="ctr2" id="i4">4</td><td class="ctr1" id="j4">0</td><td class="ctr2" id="k4">2</td><td class="ctr1" id="l4">0</td><td class="ctr2" id="m4">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.12.202403270442</span>Code Coverage Report for JaCoCo 0.8.12-SNAPSHOT</div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/trunk/coverage/org.jacoco.core/index.html b/jacoco/trunk/coverage/org.jacoco.core/index.html
    new file mode 100644
    index 00000000000..f9e3468f2a4
    --- /dev/null
    +++ b/jacoco/trunk/coverage/org.jacoco.core/index.html
    @@ -0,0 +1 @@
    +<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="en"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>org.jacoco.core</title><script type="text/javascript" src="../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb', 'coveragetable'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">JaCoCo</a> &gt; <span class="el_bundle">org.jacoco.core</span></div><h1>org.jacoco.core</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td><td class="sortable ctr1" id="l" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="m" onclick="toggleSort(this)">Classes</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">412 of 14,620</td><td class="ctr2">97%</td><td class="bar">104 of 1,425</td><td class="ctr2">92%</td><td class="ctr1">124</td><td class="ctr2">1,459</td><td class="ctr1">123</td><td class="ctr2">3,482</td><td class="ctr1">20</td><td class="ctr2">725</td><td class="ctr1">2</td><td class="ctr2">142</td></tr></tfoot><tbody><tr><td id="a10"><a href="org.jacoco.core.runtime/index.html" class="el_package">org.jacoco.core.runtime</a></td><td class="bar" id="b0"><img src="../jacoco-resources/redbar.gif" width="4" height="10" title="186" alt="186"/><img src="../jacoco-resources/greenbar.gif" width="35" height="10" title="1,511" alt="1,511"/></td><td class="ctr2" id="c11">89%</td><td class="bar" id="d1"><img src="../jacoco-resources/greenbar.gif" width="15" height="10" title="94" alt="94"/></td><td class="ctr2" id="e6">97%</td><td class="ctr1" id="f1">15</td><td class="ctr2" id="g2">161</td><td class="ctr1" id="h1">30</td><td class="ctr2" id="i3">386</td><td class="ctr1" id="j0">13</td><td class="ctr2" id="k2">111</td><td class="ctr1" id="l0">2</td><td class="ctr2" id="m2">17</td></tr><tr><td id="a6"><a href="org.jacoco.core.internal.analysis.filter/index.html" class="el_package">org.jacoco.core.internal.analysis.filter</a></td><td class="bar" id="b1"><img src="../jacoco-resources/redbar.gif" width="3" height="10" title="131" alt="131"/><img src="../jacoco-resources/greenbar.gif" width="116" height="10" title="4,907" alt="4,907"/></td><td class="ctr2" id="c8">97%</td><td class="bar" id="d0"><img src="../jacoco-resources/redbar.gif" width="15" height="10" title="97" alt="97"/><img src="../jacoco-resources/greenbar.gif" width="104" height="10" title="634" alt="634"/></td><td class="ctr2" id="e9">86%</td><td class="ctr1" id="f0">97</td><td class="ctr2" id="g0">509</td><td class="ctr1" id="h0">63</td><td class="ctr2" id="i0">1,216</td><td class="ctr1" id="j4">0</td><td class="ctr2" id="k1">142</td><td class="ctr1" id="l1">0</td><td class="ctr2" id="m0">51</td></tr><tr><td id="a5"><a href="org.jacoco.core.internal.analysis/index.html" class="el_package">org.jacoco.core.internal.analysis</a></td><td class="bar" id="b2"><img src="../jacoco-resources/greenbar.gif" width="53" height="10" title="2,258" alt="2,258"/></td><td class="ctr2" id="c6">98%</td><td class="bar" id="d2"><img src="../jacoco-resources/greenbar.gif" width="31" height="10" title="189" alt="189"/></td><td class="ctr2" id="e4">99%</td><td class="ctr1" id="f2">5</td><td class="ctr2" id="g1">240</td><td class="ctr1" id="h3">9</td><td class="ctr2" id="i1">522</td><td class="ctr1" id="j1">4</td><td class="ctr2" id="k0">143</td><td class="ctr1" id="l2">0</td><td class="ctr2" id="m1">21</td></tr><tr><td id="a4"><a href="org.jacoco.core.internal/index.html" class="el_package">org.jacoco.core.internal</a></td><td class="bar" id="b3"><img src="../jacoco-resources/greenbar.gif" width="5" height="10" title="237" alt="237"/></td><td class="ctr2" id="c10">90%</td><td class="bar" id="d10"><img src="../jacoco-resources/greenbar.gif" width="1" height="10" title="12" alt="12"/></td><td class="ctr2" id="e0">100%</td><td class="ctr1" id="f7">0</td><td class="ctr2" id="g10">18</td><td class="ctr1" id="h2">12</td><td class="ctr2" id="i9">63</td><td class="ctr1" id="j5">0</td><td class="ctr2" id="k9">11</td><td class="ctr1" id="l3">0</td><td class="ctr2" id="m7">4</td></tr><tr><td id="a1"><a href="org.jacoco.core.analysis/index.html" class="el_package">org.jacoco.core.analysis</a></td><td class="bar" id="b4"><img src="../jacoco-resources/greenbar.gif" width="25" height="10" title="1,059" alt="1,059"/></td><td class="ctr2" id="c5">98%</td><td class="bar" id="d4"><img src="../jacoco-resources/greenbar.gif" width="7" height="10" title="47" alt="47"/></td><td class="ctr2" id="e7">97%</td><td class="ctr1" id="f5">1</td><td class="ctr2" id="g6">81</td><td class="ctr1" id="h7">1</td><td class="ctr2" id="i5">209</td><td class="ctr1" id="j6">0</td><td class="ctr2" id="k5">53</td><td class="ctr1" id="l4">0</td><td class="ctr2" id="m4">11</td></tr><tr><td id="a3"><a href="org.jacoco.core.instr/index.html" class="el_package">org.jacoco.core.instr</a></td><td class="bar" id="b5"><img src="../jacoco-resources/greenbar.gif" width="9" height="10" title="396" alt="396"/></td><td class="ctr2" id="c7">97%</td><td class="bar" id="d5"><img src="../jacoco-resources/greenbar.gif" width="2" height="10" title="15" alt="15"/></td><td class="ctr2" id="e8">93%</td><td class="ctr1" id="f4">2</td><td class="ctr2" id="g7">28</td><td class="ctr1" id="h5">2</td><td class="ctr2" id="i7">100</td><td class="ctr1" id="j3">1</td><td class="ctr2" id="k7">18</td><td class="ctr1" id="l5">0</td><td class="ctr2" id="m9">2</td></tr><tr><td id="a11"><a href="org.jacoco.core.tools/index.html" class="el_package">org.jacoco.core.tools</a></td><td class="bar" id="b6"><img src="../jacoco-resources/greenbar.gif" width="4" height="10" title="208" alt="208"/></td><td class="ctr2" id="c9">96%</td><td class="bar" id="d6"/><td class="ctr2" id="e10">83%</td><td class="ctr1" id="f3">3</td><td class="ctr2" id="g9">21</td><td class="ctr1" id="h4">4</td><td class="ctr2" id="i8">70</td><td class="ctr1" id="j2">2</td><td class="ctr2" id="k8">18</td><td class="ctr1" id="l6">0</td><td class="ctr2" id="m10">2</td></tr><tr><td id="a2"><a href="org.jacoco.core.data/index.html" class="el_package">org.jacoco.core.data</a></td><td class="bar" id="b7"><img src="../jacoco-resources/greenbar.gif" width="18" height="10" title="793" alt="793"/></td><td class="ctr2" id="c4">99%</td><td class="bar" id="d8"><img src="../jacoco-resources/greenbar.gif" width="9" height="10" title="60" alt="60"/></td><td class="ctr2" id="e1">100%</td><td class="ctr1" id="f8">0</td><td class="ctr2" id="g5">83</td><td class="ctr1" id="h6">2</td><td class="ctr2" id="i6">193</td><td class="ctr1" id="j7">0</td><td class="ctr2" id="k6">52</td><td class="ctr1" id="l7">0</td><td class="ctr2" id="m6">7</td></tr><tr><td id="a9"><a href="org.jacoco.core.internal.instr/index.html" class="el_package">org.jacoco.core.internal.instr</a></td><td class="bar" id="b8"><img src="../jacoco-resources/greenbar.gif" width="37" height="10" title="1,590" alt="1,590"/></td><td class="ctr2" id="c0">100%</td><td class="bar" id="d3"><img src="../jacoco-resources/greenbar.gif" width="20" height="10" title="126" alt="126"/></td><td class="ctr2" id="e5">99%</td><td class="ctr1" id="f6">1</td><td class="ctr2" id="g3">157</td><td class="ctr1" id="h8">0</td><td class="ctr2" id="i2">388</td><td class="ctr1" id="j8">0</td><td class="ctr2" id="k3">86</td><td class="ctr1" id="l8">0</td><td class="ctr2" id="m3">13</td></tr><tr><td id="a8"><a href="org.jacoco.core.internal.flow/index.html" class="el_package">org.jacoco.core.internal.flow</a></td><td class="bar" id="b9"><img src="../jacoco-resources/greenbar.gif" width="23" height="10" title="980" alt="980"/></td><td class="ctr2" id="c1">100%</td><td class="bar" id="d7"><img src="../jacoco-resources/greenbar.gif" width="17" height="10" title="107" alt="107"/></td><td class="ctr2" id="e2">100%</td><td class="ctr1" id="f9">0</td><td class="ctr2" id="g4">134</td><td class="ctr1" id="h9">0</td><td class="ctr2" id="i4">275</td><td class="ctr1" id="j9">0</td><td class="ctr2" id="k4">80</td><td class="ctr1" id="l9">0</td><td class="ctr2" id="m5">10</td></tr><tr><td id="a7"><a href="org.jacoco.core.internal.data/index.html" class="el_package">org.jacoco.core.internal.data</a></td><td class="bar" id="b10"><img src="../jacoco-resources/greenbar.gif" width="5" height="10" title="244" alt="244"/></td><td class="ctr2" id="c2">100%</td><td class="bar" id="d9"><img src="../jacoco-resources/greenbar.gif" width="5" height="10" title="32" alt="32"/></td><td class="ctr2" id="e3">100%</td><td class="ctr1" id="f10">0</td><td class="ctr2" id="g8">26</td><td class="ctr1" id="h10">0</td><td class="ctr2" id="i10">53</td><td class="ctr1" id="j10">0</td><td class="ctr2" id="k10">10</td><td class="ctr1" id="l10">0</td><td class="ctr2" id="m8">3</td></tr><tr><td id="a0"><a href="org.jacoco.core/index.html" class="el_package">org.jacoco.core</a></td><td class="bar" id="b11"/><td class="ctr2" id="c3">100%</td><td class="bar" id="d11"/><td class="ctr2" id="e11">n/a</td><td class="ctr1" id="f11">0</td><td class="ctr2" id="g11">1</td><td class="ctr1" id="h11">0</td><td class="ctr2" id="i11">7</td><td class="ctr1" id="j11">0</td><td class="ctr2" id="k11">1</td><td class="ctr1" id="l11">0</td><td class="ctr2" id="m11">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.12.202403270442</span>Code Coverage Report for JaCoCo 0.8.12-SNAPSHOT</div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/trunk/coverage/org.jacoco.core/org.jacoco.core.analysis/Analyzer$1.html b/jacoco/trunk/coverage/org.jacoco.core/org.jacoco.core.analysis/Analyzer$1.html
    new file mode 100644
    index 00000000000..0dad1891b40
    --- /dev/null
    +++ b/jacoco/trunk/coverage/org.jacoco.core/org.jacoco.core.analysis/Analyzer$1.html
    @@ -0,0 +1 @@
    +<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="en"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../../jacoco-resources/report.gif" type="image/gif"/><title>Analyzer.new ClassAnalyzer() {...}</title><script type="text/javascript" src="../../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../../index.html" class="el_report">JaCoCo</a> &gt; <a href="../index.html" class="el_bundle">org.jacoco.core</a> &gt; <a href="index.html" class="el_package">org.jacoco.core.analysis</a> &gt; <span class="el_class">Analyzer.new ClassAnalyzer() {...}</span></div><h1>Analyzer.new ClassAnalyzer() {...}</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">0 of 21</td><td class="ctr2">100%</td><td class="bar">0 of 0</td><td class="ctr2">n/a</td><td class="ctr1">0</td><td class="ctr2">2</td><td class="ctr1">0</td><td class="ctr2">4</td><td class="ctr1">0</td><td class="ctr2">2</td></tr></tfoot><tbody><tr><td id="a1"><a href="Analyzer.java.html#L98" class="el_method">{...}</a></td><td class="bar" id="b0"><img src="../../jacoco-resources/greenbar.gif" width="120" height="10" title="12" alt="12"/></td><td class="ctr2" id="c0">100%</td><td class="bar" id="d0"/><td class="ctr2" id="e0">n/a</td><td class="ctr1" id="f0">0</td><td class="ctr2" id="g0">1</td><td class="ctr1" id="h0">0</td><td class="ctr2" id="i1">1</td><td class="ctr1" id="j0">0</td><td class="ctr2" id="k0">1</td></tr><tr><td id="a0"><a href="Analyzer.java.html#L99" class="el_method">visitEnd()</a></td><td class="bar" id="b1"><img src="../../jacoco-resources/greenbar.gif" width="90" height="10" title="9" alt="9"/></td><td class="ctr2" id="c1">100%</td><td class="bar" id="d1"/><td class="ctr2" id="e1">n/a</td><td class="ctr1" id="f1">0</td><td class="ctr2" id="g1">1</td><td class="ctr1" id="h1">0</td><td class="ctr2" id="i0">3</td><td class="ctr1" id="j1">0</td><td class="ctr2" id="k1">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.12.202403270442</span>Code Coverage Report for JaCoCo 0.8.12-SNAPSHOT</div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/trunk/coverage/org.jacoco.core/org.jacoco.core.analysis/Analyzer.html b/jacoco/trunk/coverage/org.jacoco.core/org.jacoco.core.analysis/Analyzer.html
    new file mode 100644
    index 00000000000..7bd1f13f247
    --- /dev/null
    +++ b/jacoco/trunk/coverage/org.jacoco.core/org.jacoco.core.analysis/Analyzer.html
    @@ -0,0 +1 @@
    +<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="en"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../../jacoco-resources/report.gif" type="image/gif"/><title>Analyzer</title><script type="text/javascript" src="../../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../../index.html" class="el_report">JaCoCo</a> &gt; <a href="../index.html" class="el_bundle">org.jacoco.core</a> &gt; <a href="index.html" class="el_package">org.jacoco.core.analysis</a> &gt; <span class="el_class">Analyzer</span></div><h1>Analyzer</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">0 of 326</td><td class="ctr2">100%</td><td class="bar">0 of 19</td><td class="ctr2">100%</td><td class="ctr1">0</td><td class="ctr2">24</td><td class="ctr1">0</td><td class="ctr2">79</td><td class="ctr1">0</td><td class="ctr2">13</td></tr></tfoot><tbody><tr><td id="a0"><a href="Analyzer.java.html#L220" class="el_method">analyzeAll(File)</a></td><td class="bar" id="b0"><img src="../../jacoco-resources/greenbar.gif" width="120" height="10" title="46" alt="46"/></td><td class="ctr2" id="c0">100%</td><td class="bar" id="d1"><img src="../../jacoco-resources/greenbar.gif" width="96" height="10" title="4" alt="4"/></td><td class="ctr2" id="e0">100%</td><td class="ctr1" id="f0">0</td><td class="ctr2" id="g1">3</td><td class="ctr1" id="h0">0</td><td class="ctr2" id="i3">8</td><td class="ctr1" id="j0">0</td><td class="ctr2" id="k0">1</td></tr><tr><td id="a11"><a href="Analyzer.java.html#L83" class="el_method">createAnalyzingVisitor(long, String)</a></td><td class="bar" id="b1"><img src="../../jacoco-resources/greenbar.gif" width="112" height="10" title="43" alt="43"/></td><td class="ctr2" id="c1">100%</td><td class="bar" id="d3"><img src="../../jacoco-resources/greenbar.gif" width="48" height="10" title="2" alt="2"/></td><td class="ctr2" id="e1">100%</td><td class="ctr1" id="f1">0</td><td class="ctr2" id="g3">2</td><td class="ctr1" id="h1">0</td><td class="ctr2" id="i1">9</td><td class="ctr1" id="j1">0</td><td class="ctr2" id="k1">1</td></tr><tr><td id="a1"><a href="Analyzer.java.html#L189" class="el_method">analyzeAll(InputStream, String)</a></td><td class="bar" id="b2"><img src="../../jacoco-resources/greenbar.gif" width="109" height="10" title="42" alt="42"/></td><td class="ctr2" id="c2">100%</td><td class="bar" id="d0"><img src="../../jacoco-resources/greenbar.gif" width="120" height="10" title="5" alt="5"/></td><td class="ctr2" id="e2">100%</td><td class="ctr1" id="f2">0</td><td class="ctr2" id="g0">5</td><td class="ctr1" id="h2">0</td><td class="ctr2" id="i0">11</td><td class="ctr1" id="j2">0</td><td class="ctr2" id="k2">1</td></tr><tr><td id="a10"><a href="Analyzer.java.html#L263" class="el_method">analyzeZip(InputStream, String)</a></td><td class="bar" id="b3"><img src="../../jacoco-resources/greenbar.gif" width="88" height="10" title="34" alt="34"/></td><td class="ctr2" id="c3">100%</td><td class="bar" id="d4"><img src="../../jacoco-resources/greenbar.gif" width="48" height="10" title="2" alt="2"/></td><td class="ctr2" id="e3">100%</td><td class="ctr1" id="f3">0</td><td class="ctr2" id="g4">2</td><td class="ctr1" id="h3">0</td><td class="ctr2" id="i5">5</td><td class="ctr1" id="j3">0</td><td class="ctr2" id="k3">1</td></tr><tr><td id="a3"><a href="Analyzer.java.html#L107" class="el_method">analyzeClass(byte[])</a></td><td class="bar" id="b4"><img src="../../jacoco-resources/greenbar.gif" width="75" height="10" title="29" alt="29"/></td><td class="ctr2" id="c4">100%</td><td class="bar" id="d2"><img src="../../jacoco-resources/greenbar.gif" width="96" height="10" title="4" alt="4"/></td><td class="ctr2" id="e4">100%</td><td class="ctr1" id="f4">0</td><td class="ctr2" id="g2">3</td><td class="ctr1" id="h4">0</td><td class="ctr2" id="i2">9</td><td class="ctr1" id="j4">0</td><td class="ctr2" id="k4">1</td></tr><tr><td id="a9"><a href="Analyzer.java.html#L163" class="el_method">analyzerError(String, Exception)</a></td><td class="bar" id="b5"><img src="../../jacoco-resources/greenbar.gif" width="67" height="10" title="26" alt="26"/></td><td class="ctr2" id="c5">100%</td><td class="bar" id="d6"/><td class="ctr2" id="e6">n/a</td><td class="ctr1" id="f5">0</td><td class="ctr2" id="g6">1</td><td class="ctr1" id="h5">0</td><td class="ctr2" id="i11">3</td><td class="ctr1" id="j5">0</td><td class="ctr2" id="k5">1</td></tr><tr><td id="a2"><a href="Analyzer.java.html#L252" class="el_method">analyzeAll(String, File)</a></td><td class="bar" id="b6"><img src="../../jacoco-resources/greenbar.gif" width="65" height="10" title="25" alt="25"/></td><td class="ctr2" id="c6">100%</td><td class="bar" id="d5"><img src="../../jacoco-resources/greenbar.gif" width="48" height="10" title="2" alt="2"/></td><td class="ctr2" id="e5">100%</td><td class="ctr1" id="f6">0</td><td class="ctr2" id="g5">2</td><td class="ctr1" id="h6">0</td><td class="ctr2" id="i6">5</td><td class="ctr1" id="j6">0</td><td class="ctr2" id="k6">1</td></tr><tr><td id="a6"><a href="Analyzer.java.html#L285" class="el_method">analyzeGzip(InputStream, String)</a></td><td class="bar" id="b7"><img src="../../jacoco-resources/greenbar.gif" width="44" height="10" title="17" alt="17"/></td><td class="ctr2" id="c7">100%</td><td class="bar" id="d7"/><td class="ctr2" id="e7">n/a</td><td class="ctr1" id="f7">0</td><td class="ctr2" id="g7">1</td><td class="ctr1" id="h7">0</td><td class="ctr2" id="i7">5</td><td class="ctr1" id="j7">0</td><td class="ctr2" id="k7">1</td></tr><tr><td id="a5"><a href="Analyzer.java.html#L154" class="el_method">analyzeClass(InputStream, String)</a></td><td class="bar" id="b8"><img src="../../jacoco-resources/greenbar.gif" width="39" height="10" title="15" alt="15"/></td><td class="ctr2" id="c8">100%</td><td class="bar" id="d8"/><td class="ctr2" id="e8">n/a</td><td class="ctr1" id="f8">0</td><td class="ctr2" id="g8">1</td><td class="ctr1" id="h8">0</td><td class="ctr2" id="i4">6</td><td class="ctr1" id="j8">0</td><td class="ctr2" id="k8">1</td></tr><tr><td id="a7"><a href="Analyzer.java.html#L296" class="el_method">analyzePack200(InputStream, String)</a></td><td class="bar" id="b9"><img src="../../jacoco-resources/greenbar.gif" width="39" height="10" title="15" alt="15"/></td><td class="ctr2" id="c9">100%</td><td class="bar" id="d9"/><td class="ctr2" id="e9">n/a</td><td class="ctr1" id="f9">0</td><td class="ctr2" id="g9">1</td><td class="ctr1" id="h9">0</td><td class="ctr2" id="i8">5</td><td class="ctr1" id="j9">0</td><td class="ctr2" id="k9">1</td></tr><tr><td id="a8"><a href="Analyzer.java.html#L66" class="el_method">Analyzer(ExecutionDataStore, ICoverageVisitor)</a></td><td class="bar" id="b10"><img src="../../jacoco-resources/greenbar.gif" width="36" height="10" title="14" alt="14"/></td><td class="ctr2" id="c10">100%</td><td class="bar" id="d10"/><td class="ctr2" id="e10">n/a</td><td class="ctr1" id="f10">0</td><td class="ctr2" id="g10">1</td><td class="ctr1" id="h10">0</td><td class="ctr2" id="i9">5</td><td class="ctr1" id="j10">0</td><td class="ctr2" id="k10">1</td></tr><tr><td id="a4"><a href="Analyzer.java.html#L133" class="el_method">analyzeClass(byte[], String)</a></td><td class="bar" id="b11"><img src="../../jacoco-resources/greenbar.gif" width="28" height="10" title="11" alt="11"/></td><td class="ctr2" id="c11">100%</td><td class="bar" id="d11"/><td class="ctr2" id="e11">n/a</td><td class="ctr1" id="f11">0</td><td class="ctr2" id="g11">1</td><td class="ctr1" id="h11">0</td><td class="ctr2" id="i10">5</td><td class="ctr1" id="j11">0</td><td class="ctr2" id="k11">1</td></tr><tr><td id="a12"><a href="Analyzer.java.html#L275" class="el_method">nextEntry(ZipInputStream, String)</a></td><td class="bar" id="b12"><img src="../../jacoco-resources/greenbar.gif" width="23" height="10" title="9" alt="9"/></td><td class="ctr2" id="c12">100%</td><td class="bar" id="d12"/><td class="ctr2" id="e12">n/a</td><td class="ctr1" id="f12">0</td><td class="ctr2" id="g12">1</td><td class="ctr1" id="h12">0</td><td class="ctr2" id="i12">3</td><td class="ctr1" id="j12">0</td><td class="ctr2" id="k12">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.12.202403270442</span>Code Coverage Report for JaCoCo 0.8.12-SNAPSHOT</div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/trunk/coverage/org.jacoco.core/org.jacoco.core.analysis/Analyzer.java.html b/jacoco/trunk/coverage/org.jacoco.core/org.jacoco.core.analysis/Analyzer.java.html
    new file mode 100644
    index 00000000000..84f7abf00a1
    --- /dev/null
    +++ b/jacoco/trunk/coverage/org.jacoco.core/org.jacoco.core.analysis/Analyzer.java.html
    @@ -0,0 +1,304 @@
    +<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="en"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../../jacoco-resources/report.gif" type="image/gif"/><title>Analyzer.java</title><link rel="stylesheet" href="../../jacoco-resources/prettify.css" type="text/css"/><script type="text/javascript" src="../../jacoco-resources/prettify.js"></script></head><body onload="window['PR_TAB_WIDTH']=4;prettyPrint()"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../../index.html" class="el_report">JaCoCo</a> &gt; <a href="../index.html" class="el_bundle">org.jacoco.core</a> &gt; <a href="index.source.html" class="el_package">org.jacoco.core.analysis</a> &gt; <span class="el_source">Analyzer.java</span></div><h1>Analyzer.java</h1><pre class="source lang-java linenums">/*******************************************************************************
    + * Copyright (c) 2009, 2024 Mountainminds GmbH &amp; Co. KG and Contributors
    + * This program and the accompanying materials are made available under
    + * the terms of the Eclipse Public License 2.0 which is available at
    + * http://www.eclipse.org/legal/epl-2.0
    + *
    + * SPDX-License-Identifier: EPL-2.0
    + *
    + * Contributors:
    + *    Marc R. Hoffmann - initial API and implementation
    + *
    + *******************************************************************************/
    +package org.jacoco.core.analysis;
    +
    +import java.io.File;
    +import java.io.FileInputStream;
    +import java.io.IOException;
    +import java.io.InputStream;
    +import java.util.StringTokenizer;
    +import java.util.zip.GZIPInputStream;
    +import java.util.zip.ZipEntry;
    +import java.util.zip.ZipInputStream;
    +
    +import org.jacoco.core.JaCoCo;
    +import org.jacoco.core.data.ExecutionData;
    +import org.jacoco.core.data.ExecutionDataStore;
    +import org.jacoco.core.internal.ContentTypeDetector;
    +import org.jacoco.core.internal.InputStreams;
    +import org.jacoco.core.internal.Pack200Streams;
    +import org.jacoco.core.internal.analysis.ClassAnalyzer;
    +import org.jacoco.core.internal.analysis.ClassCoverageImpl;
    +import org.jacoco.core.internal.analysis.StringPool;
    +import org.jacoco.core.internal.data.CRC64;
    +import org.jacoco.core.internal.flow.ClassProbesAdapter;
    +import org.jacoco.core.internal.instr.InstrSupport;
    +import org.objectweb.asm.ClassReader;
    +import org.objectweb.asm.ClassVisitor;
    +import org.objectweb.asm.Opcodes;
    +
    +/**
    + * An {@link Analyzer} instance processes a set of Java class files and
    + * calculates coverage data for them. For each class file the result is reported
    + * to a given {@link ICoverageVisitor} instance. In addition the
    + * {@link Analyzer} requires a {@link ExecutionDataStore} instance that holds
    + * the execution data for the classes to analyze. The {@link Analyzer} offers
    + * several methods to analyze classes from a variety of sources.
    + */
    +public class Analyzer {
    +
    +	private final ExecutionDataStore executionData;
    +
    +	private final ICoverageVisitor coverageVisitor;
    +
    +	private final StringPool stringPool;
    +
    +	/**
    +	 * Creates a new analyzer reporting to the given output.
    +	 *
    +	 * @param executionData
    +	 *            execution data
    +	 * @param coverageVisitor
    +	 *            the output instance that will coverage data for every analyzed
    +	 *            class
    +	 */
    +	public Analyzer(final ExecutionDataStore executionData,
    +<span class="fc" id="L66">			final ICoverageVisitor coverageVisitor) {</span>
    +<span class="fc" id="L67">		this.executionData = executionData;</span>
    +<span class="fc" id="L68">		this.coverageVisitor = coverageVisitor;</span>
    +<span class="fc" id="L69">		this.stringPool = new StringPool();</span>
    +<span class="fc" id="L70">	}</span>
    +
    +	/**
    +	 * Creates an ASM class visitor for analysis.
    +	 *
    +	 * @param classid
    +	 *            id of the class calculated with {@link CRC64}
    +	 * @param className
    +	 *            VM name of the class
    +	 * @return ASM visitor to write class definition to
    +	 */
    +	private ClassVisitor createAnalyzingVisitor(final long classid,
    +			final String className) {
    +<span class="fc" id="L83">		final ExecutionData data = executionData.get(classid);</span>
    +		final boolean[] probes;
    +		final boolean noMatch;
    +<span class="fc bfc" id="L86" title="All 2 branches covered.">		if (data == null) {</span>
    +<span class="fc" id="L87">			probes = null;</span>
    +<span class="fc" id="L88">			noMatch = executionData.contains(className);</span>
    +		} else {
    +<span class="fc" id="L90">			probes = data.getProbes();</span>
    +<span class="fc" id="L91">			noMatch = false;</span>
    +		}
    +<span class="fc" id="L93">		final ClassCoverageImpl coverage = new ClassCoverageImpl(className,</span>
    +				classid, noMatch);
    +<span class="fc" id="L95">		final ClassAnalyzer analyzer = new ClassAnalyzer(coverage, probes,</span>
    +				stringPool) {
    +			@Override
    +<span class="fc" id="L98">			public void visitEnd() {</span>
    +<span class="fc" id="L99">				super.visitEnd();</span>
    +<span class="fc" id="L100">				coverageVisitor.visitCoverage(coverage);</span>
    +<span class="fc" id="L101">			}</span>
    +		};
    +<span class="fc" id="L103">		return new ClassProbesAdapter(analyzer, false);</span>
    +	}
    +
    +	private void analyzeClass(final byte[] source) {
    +<span class="fc" id="L107">		final long classId = CRC64.classId(source);</span>
    +<span class="fc" id="L108">		final ClassReader reader = InstrSupport.classReaderFor(source);</span>
    +<span class="fc bfc" id="L109" title="All 2 branches covered.">		if ((reader.getAccess() &amp; Opcodes.ACC_MODULE) != 0) {</span>
    +<span class="fc" id="L110">			return;</span>
    +		}
    +<span class="fc bfc" id="L112" title="All 2 branches covered.">		if ((reader.getAccess() &amp; Opcodes.ACC_SYNTHETIC) != 0) {</span>
    +<span class="fc" id="L113">			return;</span>
    +		}
    +<span class="fc" id="L115">		final ClassVisitor visitor = createAnalyzingVisitor(classId,</span>
    +				reader.getClassName());
    +<span class="fc" id="L117">		reader.accept(visitor, 0);</span>
    +<span class="fc" id="L118">	}</span>
    +
    +	/**
    +	 * Analyzes the class definition from a given in-memory buffer.
    +	 *
    +	 * @param buffer
    +	 *            class definitions
    +	 * @param location
    +	 *            a location description used for exception messages
    +	 * @throws IOException
    +	 *             if the class can't be analyzed
    +	 */
    +	public void analyzeClass(final byte[] buffer, final String location)
    +			throws IOException {
    +		try {
    +<span class="fc" id="L133">			analyzeClass(buffer);</span>
    +<span class="fc" id="L134">		} catch (final RuntimeException cause) {</span>
    +<span class="fc" id="L135">			throw analyzerError(location, cause);</span>
    +<span class="fc" id="L136">		}</span>
    +<span class="fc" id="L137">	}</span>
    +
    +	/**
    +	 * Analyzes the class definition from a given input stream. The provided
    +	 * {@link InputStream} is not closed by this method.
    +	 *
    +	 * @param input
    +	 *            stream to read class definition from
    +	 * @param location
    +	 *            a location description used for exception messages
    +	 * @throws IOException
    +	 *             if the stream can't be read or the class can't be analyzed
    +	 */
    +	public void analyzeClass(final InputStream input, final String location)
    +			throws IOException {
    +		final byte[] buffer;
    +		try {
    +<span class="fc" id="L154">			buffer = InputStreams.readFully(input);</span>
    +<span class="fc" id="L155">		} catch (final IOException e) {</span>
    +<span class="fc" id="L156">			throw analyzerError(location, e);</span>
    +<span class="fc" id="L157">		}</span>
    +<span class="fc" id="L158">		analyzeClass(buffer, location);</span>
    +<span class="fc" id="L159">	}</span>
    +
    +	private IOException analyzerError(final String location,
    +			final Exception cause) {
    +<span class="fc" id="L163">		final IOException ex = new IOException(</span>
    +				String.format(&quot;Error while analyzing %s with JaCoCo %s/%s.&quot;,
    +						location, JaCoCo.VERSION, JaCoCo.COMMITID_SHORT));
    +<span class="fc" id="L166">		ex.initCause(cause);</span>
    +<span class="fc" id="L167">		return ex;</span>
    +	}
    +
    +	/**
    +	 * Analyzes all classes found in the given input stream. The input stream
    +	 * may either represent a single class file, a ZIP archive, a Pack200
    +	 * archive or a gzip stream that is searched recursively for class files.
    +	 * All other content types are ignored. The provided {@link InputStream} is
    +	 * not closed by this method.
    +	 *
    +	 * @param input
    +	 *            input data
    +	 * @param location
    +	 *            a location description used for exception messages
    +	 * @return number of class files found
    +	 * @throws IOException
    +	 *             if the stream can't be read or a class can't be analyzed
    +	 */
    +	public int analyzeAll(final InputStream input, final String location)
    +			throws IOException {
    +		final ContentTypeDetector detector;
    +		try {
    +<span class="fc" id="L189">			detector = new ContentTypeDetector(input);</span>
    +<span class="fc" id="L190">		} catch (final IOException e) {</span>
    +<span class="fc" id="L191">			throw analyzerError(location, e);</span>
    +<span class="fc" id="L192">		}</span>
    +<span class="fc bfc" id="L193" title="All 5 branches covered.">		switch (detector.getType()) {</span>
    +		case ContentTypeDetector.CLASSFILE:
    +<span class="fc" id="L195">			analyzeClass(detector.getInputStream(), location);</span>
    +<span class="fc" id="L196">			return 1;</span>
    +		case ContentTypeDetector.ZIPFILE:
    +<span class="fc" id="L198">			return analyzeZip(detector.getInputStream(), location);</span>
    +		case ContentTypeDetector.GZFILE:
    +<span class="fc" id="L200">			return analyzeGzip(detector.getInputStream(), location);</span>
    +		case ContentTypeDetector.PACK200FILE:
    +<span class="fc" id="L202">			return analyzePack200(detector.getInputStream(), location);</span>
    +		default:
    +<span class="fc" id="L204">			return 0;</span>
    +		}
    +	}
    +
    +	/**
    +	 * Analyzes all class files contained in the given file or folder. Class
    +	 * files as well as ZIP files are considered. Folders are searched
    +	 * recursively.
    +	 *
    +	 * @param file
    +	 *            file or folder to look for class files
    +	 * @return number of class files found
    +	 * @throws IOException
    +	 *             if the file can't be read or a class can't be analyzed
    +	 */
    +	public int analyzeAll(final File file) throws IOException {
    +<span class="fc" id="L220">		int count = 0;</span>
    +<span class="fc bfc" id="L221" title="All 2 branches covered.">		if (file.isDirectory()) {</span>
    +<span class="fc bfc" id="L222" title="All 2 branches covered.">			for (final File f : file.listFiles()) {</span>
    +<span class="fc" id="L223">				count += analyzeAll(f);</span>
    +			}
    +		} else {
    +<span class="fc" id="L226">			final InputStream in = new FileInputStream(file);</span>
    +			try {
    +<span class="fc" id="L228">				count += analyzeAll(in, file.getPath());</span>
    +			} finally {
    +<span class="fc" id="L230">				in.close();</span>
    +			}
    +		}
    +<span class="fc" id="L233">		return count;</span>
    +	}
    +
    +	/**
    +	 * Analyzes all classes from the given class path. Directories containing
    +	 * class files as well as archive files are considered.
    +	 *
    +	 * @param path
    +	 *            path definition
    +	 * @param basedir
    +	 *            optional base directory, if &lt;code&gt;null&lt;/code&gt; the current
    +	 *            working directory is used as the base for relative path
    +	 *            entries
    +	 * @return number of class files found
    +	 * @throws IOException
    +	 *             if a file can't be read or a class can't be analyzed
    +	 */
    +	public int analyzeAll(final String path, final File basedir)
    +			throws IOException {
    +<span class="fc" id="L252">		int count = 0;</span>
    +<span class="fc" id="L253">		final StringTokenizer st = new StringTokenizer(path,</span>
    +				File.pathSeparator);
    +<span class="fc bfc" id="L255" title="All 2 branches covered.">		while (st.hasMoreTokens()) {</span>
    +<span class="fc" id="L256">			count += analyzeAll(new File(basedir, st.nextToken()));</span>
    +		}
    +<span class="fc" id="L258">		return count;</span>
    +	}
    +
    +	private int analyzeZip(final InputStream input, final String location)
    +			throws IOException {
    +<span class="fc" id="L263">		final ZipInputStream zip = new ZipInputStream(input);</span>
    +		ZipEntry entry;
    +<span class="fc" id="L265">		int count = 0;</span>
    +<span class="fc bfc" id="L266" title="All 2 branches covered.">		while ((entry = nextEntry(zip, location)) != null) {</span>
    +<span class="fc" id="L267">			count += analyzeAll(zip, location + &quot;@&quot; + entry.getName());</span>
    +		}
    +<span class="fc" id="L269">		return count;</span>
    +	}
    +
    +	private ZipEntry nextEntry(final ZipInputStream input,
    +			final String location) throws IOException {
    +		try {
    +<span class="fc" id="L275">			return input.getNextEntry();</span>
    +<span class="fc" id="L276">		} catch (final IOException e) {</span>
    +<span class="fc" id="L277">			throw analyzerError(location, e);</span>
    +		}
    +	}
    +
    +	private int analyzeGzip(final InputStream input, final String location)
    +			throws IOException {
    +		GZIPInputStream gzipInputStream;
    +		try {
    +<span class="fc" id="L285">			gzipInputStream = new GZIPInputStream(input);</span>
    +<span class="fc" id="L286">		} catch (final IOException e) {</span>
    +<span class="fc" id="L287">			throw analyzerError(location, e);</span>
    +<span class="fc" id="L288">		}</span>
    +<span class="fc" id="L289">		return analyzeAll(gzipInputStream, location);</span>
    +	}
    +
    +	private int analyzePack200(final InputStream input, final String location)
    +			throws IOException {
    +		InputStream unpackedInput;
    +		try {
    +<span class="fc" id="L296">			unpackedInput = Pack200Streams.unpack(input);</span>
    +<span class="fc" id="L297">		} catch (final IOException e) {</span>
    +<span class="fc" id="L298">			throw analyzerError(location, e);</span>
    +<span class="fc" id="L299">		}</span>
    +<span class="fc" id="L300">		return analyzeAll(unpackedInput, location);</span>
    +	}
    +
    +}
    +</pre><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.12.202403270442</span>Code Coverage Report for JaCoCo 0.8.12-SNAPSHOT</div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/trunk/coverage/org.jacoco.core/org.jacoco.core.analysis/CounterComparator.html b/jacoco/trunk/coverage/org.jacoco.core/org.jacoco.core.analysis/CounterComparator.html
    new file mode 100644
    index 00000000000..508ff79f3c1
    --- /dev/null
    +++ b/jacoco/trunk/coverage/org.jacoco.core/org.jacoco.core.analysis/CounterComparator.html
    @@ -0,0 +1 @@
    +<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="en"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../../jacoco-resources/report.gif" type="image/gif"/><title>CounterComparator</title><script type="text/javascript" src="../../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../../index.html" class="el_report">JaCoCo</a> &gt; <a href="../index.html" class="el_bundle">org.jacoco.core</a> &gt; <a href="index.html" class="el_package">org.jacoco.core.analysis</a> &gt; <span class="el_class">CounterComparator</span></div><h1>CounterComparator</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">0 of 76</td><td class="ctr2">100%</td><td class="bar">0 of 4</td><td class="ctr2">100%</td><td class="ctr1">0</td><td class="ctr2">8</td><td class="ctr1">0</td><td class="ctr2">15</td><td class="ctr1">0</td><td class="ctr2">6</td></tr></tfoot><tbody><tr><td id="a5"><a href="CounterComparator.java.html#L32" class="el_method">static {...}</a></td><td class="bar" id="b0"><img src="../../jacoco-resources/greenbar.gif" width="120" height="10" title="26" alt="26"/></td><td class="ctr2" id="c0">100%</td><td class="bar" id="d2"/><td class="ctr2" id="e2">n/a</td><td class="ctr1" id="f0">0</td><td class="ctr2" id="g2">1</td><td class="ctr1" id="h0">0</td><td class="ctr2" id="i0">5</td><td class="ctr1" id="j0">0</td><td class="ctr2" id="k0">1</td></tr><tr><td id="a0"><a href="CounterComparator.java.html#L72" class="el_method">compare(ICounter, ICounter)</a></td><td class="bar" id="b1"><img src="../../jacoco-resources/greenbar.gif" width="83" height="10" title="18" alt="18"/></td><td class="ctr2" id="c1">100%</td><td class="bar" id="d0"><img src="../../jacoco-resources/greenbar.gif" width="120" height="10" title="2" alt="2"/></td><td class="ctr2" id="e0">100%</td><td class="ctr1" id="f1">0</td><td class="ctr2" id="g0">2</td><td class="ctr1" id="h1">0</td><td class="ctr2" id="i2">2</td><td class="ctr1" id="j1">0</td><td class="ctr2" id="k1">1</td></tr><tr><td id="a4"><a href="CounterComparator.java.html#L82" class="el_method">reverse()</a></td><td class="bar" id="b2"><img src="../../jacoco-resources/greenbar.gif" width="55" height="10" title="12" alt="12"/></td><td class="ctr2" id="c2">100%</td><td class="bar" id="d1"><img src="../../jacoco-resources/greenbar.gif" width="120" height="10" title="2" alt="2"/></td><td class="ctr2" id="e1">100%</td><td class="ctr1" id="f2">0</td><td class="ctr2" id="g1">2</td><td class="ctr1" id="h2">0</td><td class="ctr2" id="i4">1</td><td class="ctr1" id="j2">0</td><td class="ctr2" id="k2">1</td></tr><tr><td id="a2"><a href="CounterComparator.java.html#L66" class="el_method">CounterComparator(ICounter.CounterValue, boolean)</a></td><td class="bar" id="b3"><img src="../../jacoco-resources/greenbar.gif" width="41" height="10" title="9" alt="9"/></td><td class="ctr2" id="c3">100%</td><td class="bar" id="d3"/><td class="ctr2" id="e3">n/a</td><td class="ctr1" id="f3">0</td><td class="ctr2" id="g3">1</td><td class="ctr1" id="h3">0</td><td class="ctr2" id="i1">4</td><td class="ctr1" id="j3">0</td><td class="ctr2" id="k3">1</td></tr><tr><td id="a3"><a href="CounterComparator.java.html#L94" class="el_method">on(ICoverageNode.CounterEntity)</a></td><td class="bar" id="b4"><img src="../../jacoco-resources/greenbar.gif" width="27" height="10" title="6" alt="6"/></td><td class="ctr2" id="c4">100%</td><td class="bar" id="d4"/><td class="ctr2" id="e4">n/a</td><td class="ctr1" id="f4">0</td><td class="ctr2" id="g4">1</td><td class="ctr1" id="h4">0</td><td class="ctr2" id="i5">1</td><td class="ctr1" id="j4">0</td><td class="ctr2" id="k4">1</td></tr><tr><td id="a1"><a href="CounterComparator.java.html#L63" class="el_method">CounterComparator(ICounter.CounterValue)</a></td><td class="bar" id="b5"><img src="../../jacoco-resources/greenbar.gif" width="23" height="10" title="5" alt="5"/></td><td class="ctr2" id="c5">100%</td><td class="bar" id="d5"/><td class="ctr2" id="e5">n/a</td><td class="ctr1" id="f5">0</td><td class="ctr2" id="g5">1</td><td class="ctr1" id="h5">0</td><td class="ctr2" id="i3">2</td><td class="ctr1" id="j5">0</td><td class="ctr2" id="k5">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.12.202403270442</span>Code Coverage Report for JaCoCo 0.8.12-SNAPSHOT</div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/trunk/coverage/org.jacoco.core/org.jacoco.core.analysis/CounterComparator.java.html b/jacoco/trunk/coverage/org.jacoco.core/org.jacoco.core.analysis/CounterComparator.java.html
    new file mode 100644
    index 00000000000..72dcc2bff49
    --- /dev/null
    +++ b/jacoco/trunk/coverage/org.jacoco.core/org.jacoco.core.analysis/CounterComparator.java.html
    @@ -0,0 +1,98 @@
    +<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="en"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../../jacoco-resources/report.gif" type="image/gif"/><title>CounterComparator.java</title><link rel="stylesheet" href="../../jacoco-resources/prettify.css" type="text/css"/><script type="text/javascript" src="../../jacoco-resources/prettify.js"></script></head><body onload="window['PR_TAB_WIDTH']=4;prettyPrint()"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../../index.html" class="el_report">JaCoCo</a> &gt; <a href="../index.html" class="el_bundle">org.jacoco.core</a> &gt; <a href="index.source.html" class="el_package">org.jacoco.core.analysis</a> &gt; <span class="el_source">CounterComparator.java</span></div><h1>CounterComparator.java</h1><pre class="source lang-java linenums">/*******************************************************************************
    + * Copyright (c) 2009, 2024 Mountainminds GmbH &amp; Co. KG and Contributors
    + * This program and the accompanying materials are made available under
    + * the terms of the Eclipse Public License 2.0 which is available at
    + * http://www.eclipse.org/legal/epl-2.0
    + *
    + * SPDX-License-Identifier: EPL-2.0
    + *
    + * Contributors:
    + *    Marc R. Hoffmann - initial API and implementation
    + *
    + *******************************************************************************/
    +package org.jacoco.core.analysis;
    +
    +import java.io.Serializable;
    +import java.util.Comparator;
    +
    +import org.jacoco.core.analysis.ICounter.CounterValue;
    +import org.jacoco.core.analysis.ICoverageNode.CounterEntity;
    +
    +/**
    + * Collection of comparators to compare {@link ICounter} objects by different
    + * criteria.
    + */
    +public class CounterComparator implements Comparator&lt;ICounter&gt;, Serializable {
    +
    +	private static final long serialVersionUID = -3777463066252746748L;
    +
    +	/**
    +	 * Compares the absolute number of total items.
    +	 */
    +<span class="fc" id="L32">	public static final CounterComparator TOTALITEMS = new CounterComparator(</span>
    +			CounterValue.TOTALCOUNT);
    +
    +	/**
    +	 * Compares the absolute number of covered items.
    +	 */
    +<span class="fc" id="L38">	public static final CounterComparator COVEREDITEMS = new CounterComparator(</span>
    +			CounterValue.COVEREDCOUNT);
    +
    +	/**
    +	 * Compares the absolute number of missed items.
    +	 */
    +<span class="fc" id="L44">	public static final CounterComparator MISSEDITEMS = new CounterComparator(</span>
    +			CounterValue.MISSEDCOUNT);
    +
    +	/**
    +	 * Compares the ratio of covered items.
    +	 */
    +<span class="fc" id="L50">	public static final CounterComparator COVEREDRATIO = new CounterComparator(</span>
    +			CounterValue.COVEREDRATIO);
    +
    +	/**
    +	 * Compares the ratio of missed items.
    +	 */
    +<span class="fc" id="L56">	public static final CounterComparator MISSEDRATIO = new CounterComparator(</span>
    +			CounterValue.MISSEDRATIO);
    +
    +	private final CounterValue value;
    +	private final boolean reverse;
    +
    +	private CounterComparator(final CounterValue value) {
    +<span class="fc" id="L63">		this(value, false);</span>
    +<span class="fc" id="L64">	}</span>
    +
    +<span class="fc" id="L66">	private CounterComparator(final CounterValue value, final boolean reverse) {</span>
    +<span class="fc" id="L67">		this.value = value;</span>
    +<span class="fc" id="L68">		this.reverse = reverse;</span>
    +<span class="fc" id="L69">	}</span>
    +
    +	public int compare(final ICounter c1, final ICounter c2) {
    +<span class="fc" id="L72">		final int cmp = Double.compare(c1.getValue(value), c2.getValue(value));</span>
    +<span class="fc bfc" id="L73" title="All 2 branches covered.">		return reverse ? -cmp : cmp;</span>
    +	}
    +
    +	/**
    +	 * Creates a new version of this comparator that sorts in reverse order.
    +	 *
    +	 * @return reverse comparator
    +	 */
    +	public CounterComparator reverse() {
    +<span class="fc bfc" id="L82" title="All 2 branches covered.">		return new CounterComparator(value, !reverse);</span>
    +	}
    +
    +	/**
    +	 * Creates a new comparator for {@link ICoverageNode} counters of the given
    +	 * entity based on this counter sorting criteria.
    +	 *
    +	 * @param entity
    +	 *            counter entity to sort on
    +	 * @return comparator for {@link ICoverageNode} elements
    +	 */
    +	public NodeComparator on(final CounterEntity entity) {
    +<span class="fc" id="L94">		return new NodeComparator(this, entity);</span>
    +	}
    +
    +}
    +</pre><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.12.202403270442</span>Code Coverage Report for JaCoCo 0.8.12-SNAPSHOT</div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/trunk/coverage/org.jacoco.core/org.jacoco.core.analysis/CoverageBuilder.html b/jacoco/trunk/coverage/org.jacoco.core/org.jacoco.core.analysis/CoverageBuilder.html
    new file mode 100644
    index 00000000000..610601432eb
    --- /dev/null
    +++ b/jacoco/trunk/coverage/org.jacoco.core/org.jacoco.core.analysis/CoverageBuilder.html
    @@ -0,0 +1 @@
    +<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="en"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../../jacoco-resources/report.gif" type="image/gif"/><title>CoverageBuilder</title><script type="text/javascript" src="../../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../../index.html" class="el_report">JaCoCo</a> &gt; <a href="../index.html" class="el_bundle">org.jacoco.core</a> &gt; <a href="index.html" class="el_package">org.jacoco.core.analysis</a> &gt; <span class="el_class">CoverageBuilder</span></div><h1>CoverageBuilder</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">0 of 138</td><td class="ctr2">100%</td><td class="bar">0 of 12</td><td class="ctr2">100%</td><td class="ctr1">0</td><td class="ctr2">13</td><td class="ctr1">0</td><td class="ctr2">28</td><td class="ctr1">0</td><td class="ctr2">7</td></tr></tfoot><tbody><tr><td id="a6"><a href="CoverageBuilder.java.html#L102" class="el_method">visitCoverage(IClassCoverage)</a></td><td class="bar" id="b0"><img src="../../jacoco-resources/greenbar.gif" width="120" height="10" title="45" alt="45"/></td><td class="ctr2" id="c0">100%</td><td class="bar" id="d0"><img src="../../jacoco-resources/greenbar.gif" width="120" height="10" title="6" alt="6"/></td><td class="ctr2" id="e0">100%</td><td class="ctr1" id="f0">0</td><td class="ctr2" id="g0">4</td><td class="ctr1" id="h0">0</td><td class="ctr2" id="i0">10</td><td class="ctr1" id="j0">0</td><td class="ctr2" id="k0">1</td></tr><tr><td id="a4"><a href="CoverageBuilder.java.html#L121" class="el_method">getSourceFile(String, String)</a></td><td class="bar" id="b1"><img src="../../jacoco-resources/greenbar.gif" width="88" height="10" title="33" alt="33"/></td><td class="ctr2" id="c1">100%</td><td class="bar" id="d2"><img src="../../jacoco-resources/greenbar.gif" width="40" height="10" title="2" alt="2"/></td><td class="ctr2" id="e1">100%</td><td class="ctr1" id="f1">0</td><td class="ctr2" id="g2">2</td><td class="ctr1" id="h1">0</td><td class="ctr2" id="i1">6</td><td class="ctr1" id="j1">0</td><td class="ctr2" id="k1">1</td></tr><tr><td id="a3"><a href="CoverageBuilder.java.html#L90" class="el_method">getNoMatchClasses()</a></td><td class="bar" id="b2"><img src="../../jacoco-resources/greenbar.gif" width="69" height="10" title="26" alt="26"/></td><td class="ctr2" id="c2">100%</td><td class="bar" id="d1"><img src="../../jacoco-resources/greenbar.gif" width="80" height="10" title="4" alt="4"/></td><td class="ctr2" id="e2">100%</td><td class="ctr1" id="f2">0</td><td class="ctr2" id="g1">3</td><td class="ctr1" id="h2">0</td><td class="ctr2" id="i2">5</td><td class="ctr1" id="j2">0</td><td class="ctr2" id="k2">1</td></tr><tr><td id="a0"><a href="CoverageBuilder.java.html#L48" class="el_method">CoverageBuilder()</a></td><td class="bar" id="b3"><img src="../../jacoco-resources/greenbar.gif" width="34" height="10" title="13" alt="13"/></td><td class="ctr2" id="c3">100%</td><td class="bar" id="d3"/><td class="ctr2" id="e3">n/a</td><td class="ctr1" id="f3">0</td><td class="ctr2" id="g3">1</td><td class="ctr1" id="h3">0</td><td class="ctr2" id="i3">4</td><td class="ctr1" id="j3">0</td><td class="ctr2" id="k3">1</td></tr><tr><td id="a1"><a href="CoverageBuilder.java.html#L79" class="el_method">getBundle(String)</a></td><td class="bar" id="b4"><img src="../../jacoco-resources/greenbar.gif" width="29" height="10" title="11" alt="11"/></td><td class="ctr2" id="c4">100%</td><td class="bar" id="d4"/><td class="ctr2" id="e4">n/a</td><td class="ctr1" id="f4">0</td><td class="ctr2" id="g4">1</td><td class="ctr1" id="h4">0</td><td class="ctr2" id="i4">1</td><td class="ctr1" id="j4">0</td><td class="ctr2" id="k4">1</td></tr><tr><td id="a2"><a href="CoverageBuilder.java.html#L59" class="el_method">getClasses()</a></td><td class="bar" id="b5"><img src="../../jacoco-resources/greenbar.gif" width="13" height="10" title="5" alt="5"/></td><td class="ctr2" id="c5">100%</td><td class="bar" id="d5"/><td class="ctr2" id="e5">n/a</td><td class="ctr1" id="f5">0</td><td class="ctr2" id="g5">1</td><td class="ctr1" id="h5">0</td><td class="ctr2" id="i5">1</td><td class="ctr1" id="j5">0</td><td class="ctr2" id="k5">1</td></tr><tr><td id="a5"><a href="CoverageBuilder.java.html#L68" class="el_method">getSourceFiles()</a></td><td class="bar" id="b6"><img src="../../jacoco-resources/greenbar.gif" width="13" height="10" title="5" alt="5"/></td><td class="ctr2" id="c6">100%</td><td class="bar" id="d6"/><td class="ctr2" id="e6">n/a</td><td class="ctr1" id="f6">0</td><td class="ctr2" id="g6">1</td><td class="ctr1" id="h6">0</td><td class="ctr2" id="i6">1</td><td class="ctr1" id="j6">0</td><td class="ctr2" id="k6">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.12.202403270442</span>Code Coverage Report for JaCoCo 0.8.12-SNAPSHOT</div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/trunk/coverage/org.jacoco.core/org.jacoco.core.analysis/CoverageBuilder.java.html b/jacoco/trunk/coverage/org.jacoco.core/org.jacoco.core.analysis/CoverageBuilder.java.html
    new file mode 100644
    index 00000000000..b5e5371ed1f
    --- /dev/null
    +++ b/jacoco/trunk/coverage/org.jacoco.core/org.jacoco.core.analysis/CoverageBuilder.java.html
    @@ -0,0 +1,132 @@
    +<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="en"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../../jacoco-resources/report.gif" type="image/gif"/><title>CoverageBuilder.java</title><link rel="stylesheet" href="../../jacoco-resources/prettify.css" type="text/css"/><script type="text/javascript" src="../../jacoco-resources/prettify.js"></script></head><body onload="window['PR_TAB_WIDTH']=4;prettyPrint()"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../../index.html" class="el_report">JaCoCo</a> &gt; <a href="../index.html" class="el_bundle">org.jacoco.core</a> &gt; <a href="index.source.html" class="el_package">org.jacoco.core.analysis</a> &gt; <span class="el_source">CoverageBuilder.java</span></div><h1>CoverageBuilder.java</h1><pre class="source lang-java linenums">/*******************************************************************************
    + * Copyright (c) 2009, 2024 Mountainminds GmbH &amp; Co. KG and Contributors
    + * This program and the accompanying materials are made available under
    + * the terms of the Eclipse Public License 2.0 which is available at
    + * http://www.eclipse.org/legal/epl-2.0
    + *
    + * SPDX-License-Identifier: EPL-2.0
    + *
    + * Contributors:
    + *    Marc R. Hoffmann - initial API and implementation
    + *
    + *******************************************************************************/
    +package org.jacoco.core.analysis;
    +
    +import java.util.ArrayList;
    +import java.util.Collection;
    +import java.util.Collections;
    +import java.util.HashMap;
    +import java.util.Map;
    +
    +import org.jacoco.core.internal.analysis.BundleCoverageImpl;
    +import org.jacoco.core.internal.analysis.SourceFileCoverageImpl;
    +
    +/**
    + * Builder for hierarchical {@link ICoverageNode} structures from single
    + * {@link IClassCoverage} nodes. The nodes are feed into the builder through its
    + * {@link ICoverageVisitor} interface. Afterwards the aggregated data can be
    + * obtained with {@link #getClasses()}, {@link #getSourceFiles()} or
    + * {@link #getBundle(String)} in the following hierarchy:
    + *
    + * &lt;pre&gt;
    + * {@link IBundleCoverage}
    + * +-- {@link IPackageCoverage}*
    + *     +-- {@link IClassCoverage}*
    + *     +-- {@link ISourceFileCoverage}*
    + * &lt;/pre&gt;
    + */
    +public class CoverageBuilder implements ICoverageVisitor {
    +
    +	private final Map&lt;String, IClassCoverage&gt; classes;
    +
    +	private final Map&lt;String, ISourceFileCoverage&gt; sourcefiles;
    +
    +	/**
    +	 * Create a new builder.
    +	 *
    +	 */
    +<span class="fc" id="L48">	public CoverageBuilder() {</span>
    +<span class="fc" id="L49">		this.classes = new HashMap&lt;String, IClassCoverage&gt;();</span>
    +<span class="fc" id="L50">		this.sourcefiles = new HashMap&lt;String, ISourceFileCoverage&gt;();</span>
    +<span class="fc" id="L51">	}</span>
    +
    +	/**
    +	 * Returns all class nodes currently contained in this builder.
    +	 *
    +	 * @return all class nodes
    +	 */
    +	public Collection&lt;IClassCoverage&gt; getClasses() {
    +<span class="fc" id="L59">		return Collections.unmodifiableCollection(classes.values());</span>
    +	}
    +
    +	/**
    +	 * Returns all source file nodes currently contained in this builder.
    +	 *
    +	 * @return all source file nodes
    +	 */
    +	public Collection&lt;ISourceFileCoverage&gt; getSourceFiles() {
    +<span class="fc" id="L68">		return Collections.unmodifiableCollection(sourcefiles.values());</span>
    +	}
    +
    +	/**
    +	 * Creates a bundle from all nodes currently contained in this bundle.
    +	 *
    +	 * @param name
    +	 *            Name of the bundle
    +	 * @return bundle containing all classes and source files
    +	 */
    +	public IBundleCoverage getBundle(final String name) {
    +<span class="fc" id="L79">		return new BundleCoverageImpl(name, classes.values(),</span>
    +				sourcefiles.values());
    +	}
    +
    +	/**
    +	 * Returns all classes for which execution data does not match.
    +	 *
    +	 * @see IClassCoverage#isNoMatch()
    +	 * @return collection of classes with non-matching execution data
    +	 */
    +	public Collection&lt;IClassCoverage&gt; getNoMatchClasses() {
    +<span class="fc" id="L90">		final Collection&lt;IClassCoverage&gt; result = new ArrayList&lt;IClassCoverage&gt;();</span>
    +<span class="fc bfc" id="L91" title="All 2 branches covered.">		for (final IClassCoverage c : classes.values()) {</span>
    +<span class="fc bfc" id="L92" title="All 2 branches covered.">			if (c.isNoMatch()) {</span>
    +<span class="fc" id="L93">				result.add(c);</span>
    +			}
    +		}
    +<span class="fc" id="L96">		return result;</span>
    +	}
    +
    +	// === ICoverageVisitor ===
    +
    +	public void visitCoverage(final IClassCoverage coverage) {
    +<span class="fc" id="L102">		final String name = coverage.getName();</span>
    +<span class="fc" id="L103">		final IClassCoverage dup = classes.put(name, coverage);</span>
    +<span class="fc bfc" id="L104" title="All 2 branches covered.">		if (dup != null) {</span>
    +<span class="fc bfc" id="L105" title="All 2 branches covered.">			if (dup.getId() != coverage.getId()) {</span>
    +<span class="fc" id="L106">				throw new IllegalStateException(</span>
    +						&quot;Can't add different class with same name: &quot; + name);
    +			}
    +		} else {
    +<span class="fc" id="L110">			final String source = coverage.getSourceFileName();</span>
    +<span class="fc bfc" id="L111" title="All 2 branches covered.">			if (source != null) {</span>
    +<span class="fc" id="L112">				final SourceFileCoverageImpl sourceFile = getSourceFile(source,</span>
    +						coverage.getPackageName());
    +<span class="fc" id="L114">				sourceFile.increment(coverage);</span>
    +			}
    +		}
    +<span class="fc" id="L117">	}</span>
    +
    +	private SourceFileCoverageImpl getSourceFile(final String filename,
    +			final String packagename) {
    +<span class="fc" id="L121">		final String key = packagename + '/' + filename;</span>
    +<span class="fc" id="L122">		SourceFileCoverageImpl sourcefile = (SourceFileCoverageImpl) sourcefiles</span>
    +				.get(key);
    +<span class="fc bfc" id="L124" title="All 2 branches covered.">		if (sourcefile == null) {</span>
    +<span class="fc" id="L125">			sourcefile = new SourceFileCoverageImpl(filename, packagename);</span>
    +<span class="fc" id="L126">			sourcefiles.put(key, sourcefile);</span>
    +		}
    +<span class="fc" id="L128">		return sourcefile;</span>
    +	}
    +
    +}
    +</pre><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.12.202403270442</span>Code Coverage Report for JaCoCo 0.8.12-SNAPSHOT</div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/trunk/coverage/org.jacoco.core/org.jacoco.core.analysis/CoverageNodeImpl$1.html b/jacoco/trunk/coverage/org.jacoco.core/org.jacoco.core.analysis/CoverageNodeImpl$1.html
    new file mode 100644
    index 00000000000..42ee2a4229f
    --- /dev/null
    +++ b/jacoco/trunk/coverage/org.jacoco.core/org.jacoco.core.analysis/CoverageNodeImpl$1.html
    @@ -0,0 +1 @@
    +<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="en"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../../jacoco-resources/report.gif" type="image/gif"/><title>CoverageNodeImpl.new Object() {...}</title><script type="text/javascript" src="../../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../../index.html" class="el_report">JaCoCo</a> &gt; <a href="../index.html" class="el_bundle">org.jacoco.core</a> &gt; <a href="index.html" class="el_package">org.jacoco.core.analysis</a> &gt; <span class="el_class">CoverageNodeImpl.new Object() {...}</span></div><h1>CoverageNodeImpl.new Object() {...}</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">6 of 47</td><td class="ctr2">87%</td><td class="bar">0 of 0</td><td class="ctr2">n/a</td><td class="ctr1">0</td><td class="ctr2">1</td><td class="ctr1">0</td><td class="ctr2">1</td><td class="ctr1">0</td><td class="ctr2">1</td></tr></tfoot><tbody><tr><td id="a0"><a href="CoverageNodeImpl.java.html#L130" class="el_method">static {...}</a></td><td class="bar" id="b0"><img src="../../jacoco-resources/redbar.gif" width="15" height="10" title="6" alt="6"/><img src="../../jacoco-resources/greenbar.gif" width="104" height="10" title="41" alt="41"/></td><td class="ctr2" id="c0">87%</td><td class="bar" id="d0"/><td class="ctr2" id="e0">n/a</td><td class="ctr1" id="f0">0</td><td class="ctr2" id="g0">1</td><td class="ctr1" id="h0">0</td><td class="ctr2" id="i0">1</td><td class="ctr1" id="j0">0</td><td class="ctr2" id="k0">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.12.202403270442</span>Code Coverage Report for JaCoCo 0.8.12-SNAPSHOT</div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/trunk/coverage/org.jacoco.core/org.jacoco.core.analysis/CoverageNodeImpl.html b/jacoco/trunk/coverage/org.jacoco.core/org.jacoco.core.analysis/CoverageNodeImpl.html
    new file mode 100644
    index 00000000000..5976c942e56
    --- /dev/null
    +++ b/jacoco/trunk/coverage/org.jacoco.core/org.jacoco.core.analysis/CoverageNodeImpl.html
    @@ -0,0 +1 @@
    +<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="en"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../../jacoco-resources/report.gif" type="image/gif"/><title>CoverageNodeImpl</title><script type="text/javascript" src="../../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../../index.html" class="el_report">JaCoCo</a> &gt; <a href="../index.html" class="el_bundle">org.jacoco.core</a> &gt; <a href="index.html" class="el_package">org.jacoco.core.analysis</a> &gt; <span class="el_class">CoverageNodeImpl</span></div><h1>CoverageNodeImpl</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">5 of 204</td><td class="ctr2">97%</td><td class="bar">1 of 11</td><td class="ctr2">90%</td><td class="ctr1">1</td><td class="ctr2">23</td><td class="ctr1">1</td><td class="ctr2">48</td><td class="ctr1">0</td><td class="ctr2">15</td></tr></tfoot><tbody><tr><td id="a5"><a href="CoverageNodeImpl.java.html#L130" class="el_method">getCounter(ICoverageNode.CounterEntity)</a></td><td class="bar" id="b0"><img src="../../jacoco-resources/redbar.gif" width="13" height="10" title="5" alt="5"/><img src="../../jacoco-resources/greenbar.gif" width="64" height="10" title="23" alt="23"/></td><td class="ctr2" id="c14">82%</td><td class="bar" id="d0"><img src="../../jacoco-resources/redbar.gif" width="17" height="10" title="1" alt="1"/><img src="../../jacoco-resources/greenbar.gif" width="102" height="10" title="6" alt="6"/></td><td class="ctr2" id="e2">85%</td><td class="ctr1" id="f0">1</td><td class="ctr2" id="g0">7</td><td class="ctr1" id="h0">1</td><td class="ctr2" id="i1">8</td><td class="ctr1" id="j0">0</td><td class="ctr2" id="k0">1</td></tr><tr><td id="a13"><a href="CoverageNodeImpl.java.html#L72" class="el_method">increment(ICoverageNode)</a></td><td class="bar" id="b1"><img src="../../jacoco-resources/greenbar.gif" width="120" height="10" title="43" alt="43"/></td><td class="ctr2" id="c0">100%</td><td class="bar" id="d3"/><td class="ctr2" id="e3">n/a</td><td class="ctr1" id="f1">0</td><td class="ctr2" id="g3">1</td><td class="ctr1" id="h1">0</td><td class="ctr2" id="i3">7</td><td class="ctr1" id="j1">0</td><td class="ctr2" id="k1">1</td></tr><tr><td id="a11"><a href="CoverageNodeImpl.java.html#L152" class="el_method">getPlainCopy()</a></td><td class="bar" id="b2"><img src="../../jacoco-resources/greenbar.gif" width="111" height="10" title="40" alt="40"/></td><td class="ctr2" id="c1">100%</td><td class="bar" id="d4"/><td class="ctr2" id="e4">n/a</td><td class="ctr1" id="f2">0</td><td class="ctr2" id="g4">1</td><td class="ctr1" id="h2">0</td><td class="ctr2" id="i2">8</td><td class="ctr1" id="j2">0</td><td class="ctr2" id="k2">1</td></tr><tr><td id="a1"><a href="CoverageNodeImpl.java.html#L54" class="el_method">CoverageNodeImpl(ICoverageNode.ElementType, String)</a></td><td class="bar" id="b3"><img src="../../jacoco-resources/greenbar.gif" width="75" height="10" title="27" alt="27"/></td><td class="ctr2" id="c2">100%</td><td class="bar" id="d5"/><td class="ctr2" id="e5">n/a</td><td class="ctr1" id="f3">0</td><td class="ctr2" id="g5">1</td><td class="ctr1" id="h3">0</td><td class="ctr2" id="i0">10</td><td class="ctr1" id="j3">0</td><td class="ctr2" id="k3">1</td></tr><tr><td id="a14"><a href="CoverageNodeImpl.java.html#L164" class="el_method">toString()</a></td><td class="bar" id="b4"><img src="../../jacoco-resources/greenbar.gif" width="53" height="10" title="19" alt="19"/></td><td class="ctr2" id="c3">100%</td><td class="bar" id="d6"/><td class="ctr2" id="e6">n/a</td><td class="ctr1" id="f4">0</td><td class="ctr2" id="g6">1</td><td class="ctr1" id="h4">0</td><td class="ctr2" id="i4">3</td><td class="ctr1" id="j4">0</td><td class="ctr2" id="k4">1</td></tr><tr><td id="a12"><a href="CoverageNodeImpl.java.html#L90" class="el_method">increment(Collection)</a></td><td class="bar" id="b5"><img src="../../jacoco-resources/greenbar.gif" width="41" height="10" title="15" alt="15"/></td><td class="ctr2" id="c4">100%</td><td class="bar" id="d1"><img src="../../jacoco-resources/greenbar.gif" width="34" height="10" title="2" alt="2"/></td><td class="ctr2" id="e0">100%</td><td class="ctr1" id="f5">0</td><td class="ctr2" id="g1">2</td><td class="ctr1" id="h5">0</td><td class="ctr2" id="i5">3</td><td class="ctr1" id="j5">0</td><td class="ctr2" id="k5">1</td></tr><tr><td id="a0"><a href="CoverageNodeImpl.java.html#L148" class="el_method">containsCode()</a></td><td class="bar" id="b6"><img src="../../jacoco-resources/greenbar.gif" width="22" height="10" title="8" alt="8"/></td><td class="ctr2" id="c5">100%</td><td class="bar" id="d2"><img src="../../jacoco-resources/greenbar.gif" width="34" height="10" title="2" alt="2"/></td><td class="ctr2" id="e1">100%</td><td class="ctr1" id="f6">0</td><td class="ctr2" id="g2">2</td><td class="ctr1" id="h6">0</td><td class="ctr2" id="i6">1</td><td class="ctr1" id="j6">0</td><td class="ctr2" id="k6">1</td></tr><tr><td id="a6"><a href="CoverageNodeImpl.java.html#L98" class="el_method">getElementType()</a></td><td class="bar" id="b7"><img src="../../jacoco-resources/greenbar.gif" width="8" height="10" title="3" alt="3"/></td><td class="ctr2" id="c6">100%</td><td class="bar" id="d7"/><td class="ctr2" id="e7">n/a</td><td class="ctr1" id="f7">0</td><td class="ctr2" id="g7">1</td><td class="ctr1" id="h7">0</td><td class="ctr2" id="i7">1</td><td class="ctr1" id="j7">0</td><td class="ctr2" id="k7">1</td></tr><tr><td id="a10"><a href="CoverageNodeImpl.java.html#L102" class="el_method">getName()</a></td><td class="bar" id="b8"><img src="../../jacoco-resources/greenbar.gif" width="8" height="10" title="3" alt="3"/></td><td class="ctr2" id="c7">100%</td><td class="bar" id="d8"/><td class="ctr2" id="e8">n/a</td><td class="ctr1" id="f8">0</td><td class="ctr2" id="g8">1</td><td class="ctr1" id="h8">0</td><td class="ctr2" id="i8">1</td><td class="ctr1" id="j8">0</td><td class="ctr2" id="k8">1</td></tr><tr><td id="a7"><a href="CoverageNodeImpl.java.html#L106" class="el_method">getInstructionCounter()</a></td><td class="bar" id="b9"><img src="../../jacoco-resources/greenbar.gif" width="8" height="10" title="3" alt="3"/></td><td class="ctr2" id="c8">100%</td><td class="bar" id="d9"/><td class="ctr2" id="e9">n/a</td><td class="ctr1" id="f9">0</td><td class="ctr2" id="g9">1</td><td class="ctr1" id="h9">0</td><td class="ctr2" id="i9">1</td><td class="ctr1" id="j9">0</td><td class="ctr2" id="k9">1</td></tr><tr><td id="a2"><a href="CoverageNodeImpl.java.html#L110" class="el_method">getBranchCounter()</a></td><td class="bar" id="b10"><img src="../../jacoco-resources/greenbar.gif" width="8" height="10" title="3" alt="3"/></td><td class="ctr2" id="c9">100%</td><td class="bar" id="d10"/><td class="ctr2" id="e10">n/a</td><td class="ctr1" id="f10">0</td><td class="ctr2" id="g10">1</td><td class="ctr1" id="h10">0</td><td class="ctr2" id="i10">1</td><td class="ctr1" id="j10">0</td><td class="ctr2" id="k10">1</td></tr><tr><td id="a8"><a href="CoverageNodeImpl.java.html#L114" class="el_method">getLineCounter()</a></td><td class="bar" id="b11"><img src="../../jacoco-resources/greenbar.gif" width="8" height="10" title="3" alt="3"/></td><td class="ctr2" id="c10">100%</td><td class="bar" id="d11"/><td class="ctr2" id="e11">n/a</td><td class="ctr1" id="f11">0</td><td class="ctr2" id="g11">1</td><td class="ctr1" id="h11">0</td><td class="ctr2" id="i11">1</td><td class="ctr1" id="j11">0</td><td class="ctr2" id="k11">1</td></tr><tr><td id="a4"><a href="CoverageNodeImpl.java.html#L118" class="el_method">getComplexityCounter()</a></td><td class="bar" id="b12"><img src="../../jacoco-resources/greenbar.gif" width="8" height="10" title="3" alt="3"/></td><td class="ctr2" id="c11">100%</td><td class="bar" id="d12"/><td class="ctr2" id="e12">n/a</td><td class="ctr1" id="f12">0</td><td class="ctr2" id="g12">1</td><td class="ctr1" id="h12">0</td><td class="ctr2" id="i12">1</td><td class="ctr1" id="j12">0</td><td class="ctr2" id="k12">1</td></tr><tr><td id="a9"><a href="CoverageNodeImpl.java.html#L122" class="el_method">getMethodCounter()</a></td><td class="bar" id="b13"><img src="../../jacoco-resources/greenbar.gif" width="8" height="10" title="3" alt="3"/></td><td class="ctr2" id="c12">100%</td><td class="bar" id="d13"/><td class="ctr2" id="e13">n/a</td><td class="ctr1" id="f13">0</td><td class="ctr2" id="g13">1</td><td class="ctr1" id="h13">0</td><td class="ctr2" id="i13">1</td><td class="ctr1" id="j13">0</td><td class="ctr2" id="k13">1</td></tr><tr><td id="a3"><a href="CoverageNodeImpl.java.html#L126" class="el_method">getClassCounter()</a></td><td class="bar" id="b14"><img src="../../jacoco-resources/greenbar.gif" width="8" height="10" title="3" alt="3"/></td><td class="ctr2" id="c13">100%</td><td class="bar" id="d14"/><td class="ctr2" id="e14">n/a</td><td class="ctr1" id="f14">0</td><td class="ctr2" id="g14">1</td><td class="ctr1" id="h14">0</td><td class="ctr2" id="i14">1</td><td class="ctr1" id="j14">0</td><td class="ctr2" id="k14">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.12.202403270442</span>Code Coverage Report for JaCoCo 0.8.12-SNAPSHOT</div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/trunk/coverage/org.jacoco.core/org.jacoco.core.analysis/CoverageNodeImpl.java.html b/jacoco/trunk/coverage/org.jacoco.core/org.jacoco.core.analysis/CoverageNodeImpl.java.html
    new file mode 100644
    index 00000000000..4f66c5e6c4c
    --- /dev/null
    +++ b/jacoco/trunk/coverage/org.jacoco.core/org.jacoco.core.analysis/CoverageNodeImpl.java.html
    @@ -0,0 +1,170 @@
    +<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="en"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../../jacoco-resources/report.gif" type="image/gif"/><title>CoverageNodeImpl.java</title><link rel="stylesheet" href="../../jacoco-resources/prettify.css" type="text/css"/><script type="text/javascript" src="../../jacoco-resources/prettify.js"></script></head><body onload="window['PR_TAB_WIDTH']=4;prettyPrint()"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../../index.html" class="el_report">JaCoCo</a> &gt; <a href="../index.html" class="el_bundle">org.jacoco.core</a> &gt; <a href="index.source.html" class="el_package">org.jacoco.core.analysis</a> &gt; <span class="el_source">CoverageNodeImpl.java</span></div><h1>CoverageNodeImpl.java</h1><pre class="source lang-java linenums">/*******************************************************************************
    + * Copyright (c) 2009, 2024 Mountainminds GmbH &amp; Co. KG and Contributors
    + * This program and the accompanying materials are made available under
    + * the terms of the Eclipse Public License 2.0 which is available at
    + * http://www.eclipse.org/legal/epl-2.0
    + *
    + * SPDX-License-Identifier: EPL-2.0
    + *
    + * Contributors:
    + *    Marc R. Hoffmann - initial API and implementation
    + *
    + *******************************************************************************/
    +package org.jacoco.core.analysis;
    +
    +import java.util.Collection;
    +
    +import org.jacoco.core.internal.analysis.CounterImpl;
    +
    +/**
    + * Base implementation for coverage data nodes.
    + */
    +public class CoverageNodeImpl implements ICoverageNode {
    +
    +	private final ElementType elementType;
    +
    +	private final String name;
    +
    +	/** Counter for branches. */
    +	protected CounterImpl branchCounter;
    +
    +	/** Counter for instructions. */
    +	protected CounterImpl instructionCounter;
    +
    +	/** Counter for lines */
    +	protected CounterImpl lineCounter;
    +
    +	/** Counter for complexity. */
    +	protected CounterImpl complexityCounter;
    +
    +	/** Counter for methods. */
    +	protected CounterImpl methodCounter;
    +
    +	/** Counter for classes. */
    +	protected CounterImpl classCounter;
    +
    +	/**
    +	 * Creates a new coverage data node.
    +	 *
    +	 * @param elementType
    +	 *            type of the element represented by this instance
    +	 * @param name
    +	 *            name of this node
    +	 */
    +<span class="fc" id="L54">	public CoverageNodeImpl(final ElementType elementType, final String name) {</span>
    +<span class="fc" id="L55">		this.elementType = elementType;</span>
    +<span class="fc" id="L56">		this.name = name;</span>
    +<span class="fc" id="L57">		this.branchCounter = CounterImpl.COUNTER_0_0;</span>
    +<span class="fc" id="L58">		this.instructionCounter = CounterImpl.COUNTER_0_0;</span>
    +<span class="fc" id="L59">		this.complexityCounter = CounterImpl.COUNTER_0_0;</span>
    +<span class="fc" id="L60">		this.methodCounter = CounterImpl.COUNTER_0_0;</span>
    +<span class="fc" id="L61">		this.classCounter = CounterImpl.COUNTER_0_0;</span>
    +<span class="fc" id="L62">		this.lineCounter = CounterImpl.COUNTER_0_0;</span>
    +<span class="fc" id="L63">	}</span>
    +
    +	/**
    +	 * Increments the counters by the values given by another element.
    +	 *
    +	 * @param child
    +	 *            counters to add
    +	 */
    +	public void increment(final ICoverageNode child) {
    +<span class="fc" id="L72">		instructionCounter = instructionCounter</span>
    +				.increment(child.getInstructionCounter());
    +<span class="fc" id="L74">		branchCounter = branchCounter.increment(child.getBranchCounter());</span>
    +<span class="fc" id="L75">		lineCounter = lineCounter.increment(child.getLineCounter());</span>
    +<span class="fc" id="L76">		complexityCounter = complexityCounter</span>
    +				.increment(child.getComplexityCounter());
    +<span class="fc" id="L78">		methodCounter = methodCounter.increment(child.getMethodCounter());</span>
    +<span class="fc" id="L79">		classCounter = classCounter.increment(child.getClassCounter());</span>
    +<span class="fc" id="L80">	}</span>
    +
    +	/**
    +	 * Increments the counters by the values given by the collection of
    +	 * elements.
    +	 *
    +	 * @param children
    +	 *            list of nodes, which counters will be added to this node
    +	 */
    +	public void increment(final Collection&lt;? extends ICoverageNode&gt; children) {
    +<span class="fc bfc" id="L90" title="All 2 branches covered.">		for (final ICoverageNode child : children) {</span>
    +<span class="fc" id="L91">			increment(child);</span>
    +		}
    +<span class="fc" id="L93">	}</span>
    +
    +	// === ICoverageDataNode ===
    +
    +	public ElementType getElementType() {
    +<span class="fc" id="L98">		return elementType;</span>
    +	}
    +
    +	public String getName() {
    +<span class="fc" id="L102">		return name;</span>
    +	}
    +
    +	public ICounter getInstructionCounter() {
    +<span class="fc" id="L106">		return instructionCounter;</span>
    +	}
    +
    +	public ICounter getBranchCounter() {
    +<span class="fc" id="L110">		return branchCounter;</span>
    +	}
    +
    +	public ICounter getLineCounter() {
    +<span class="fc" id="L114">		return lineCounter;</span>
    +	}
    +
    +	public ICounter getComplexityCounter() {
    +<span class="fc" id="L118">		return complexityCounter;</span>
    +	}
    +
    +	public ICounter getMethodCounter() {
    +<span class="fc" id="L122">		return methodCounter;</span>
    +	}
    +
    +	public ICounter getClassCounter() {
    +<span class="fc" id="L126">		return classCounter;</span>
    +	}
    +
    +	public ICounter getCounter(final CounterEntity entity) {
    +<span class="pc bpc" id="L130" title="1 of 7 branches missed.">		switch (entity) {</span>
    +		case INSTRUCTION:
    +<span class="fc" id="L132">			return getInstructionCounter();</span>
    +		case BRANCH:
    +<span class="fc" id="L134">			return getBranchCounter();</span>
    +		case LINE:
    +<span class="fc" id="L136">			return getLineCounter();</span>
    +		case COMPLEXITY:
    +<span class="fc" id="L138">			return getComplexityCounter();</span>
    +		case METHOD:
    +<span class="fc" id="L140">			return getMethodCounter();</span>
    +		case CLASS:
    +<span class="fc" id="L142">			return getClassCounter();</span>
    +		}
    +<span class="nc" id="L144">		throw new AssertionError(entity);</span>
    +	}
    +
    +	public boolean containsCode() {
    +<span class="fc bfc" id="L148" title="All 2 branches covered.">		return getInstructionCounter().getTotalCount() != 0;</span>
    +	}
    +
    +	public ICoverageNode getPlainCopy() {
    +<span class="fc" id="L152">		final CoverageNodeImpl copy = new CoverageNodeImpl(elementType, name);</span>
    +<span class="fc" id="L153">		copy.instructionCounter = CounterImpl.getInstance(instructionCounter);</span>
    +<span class="fc" id="L154">		copy.branchCounter = CounterImpl.getInstance(branchCounter);</span>
    +<span class="fc" id="L155">		copy.lineCounter = CounterImpl.getInstance(lineCounter);</span>
    +<span class="fc" id="L156">		copy.complexityCounter = CounterImpl.getInstance(complexityCounter);</span>
    +<span class="fc" id="L157">		copy.methodCounter = CounterImpl.getInstance(methodCounter);</span>
    +<span class="fc" id="L158">		copy.classCounter = CounterImpl.getInstance(classCounter);</span>
    +<span class="fc" id="L159">		return copy;</span>
    +	}
    +
    +	@Override
    +	public String toString() {
    +<span class="fc" id="L164">		final StringBuilder sb = new StringBuilder();</span>
    +<span class="fc" id="L165">		sb.append(name).append(&quot; [&quot;).append(elementType).append(&quot;]&quot;);</span>
    +<span class="fc" id="L166">		return sb.toString();</span>
    +	}
    +
    +}
    +</pre><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.12.202403270442</span>Code Coverage Report for JaCoCo 0.8.12-SNAPSHOT</div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/trunk/coverage/org.jacoco.core/org.jacoco.core.analysis/ICounter$CounterValue.html b/jacoco/trunk/coverage/org.jacoco.core/org.jacoco.core.analysis/ICounter$CounterValue.html
    new file mode 100644
    index 00000000000..d9d18fc2606
    --- /dev/null
    +++ b/jacoco/trunk/coverage/org.jacoco.core/org.jacoco.core.analysis/ICounter$CounterValue.html
    @@ -0,0 +1 @@
    +<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="en"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../../jacoco-resources/report.gif" type="image/gif"/><title>ICounter.CounterValue</title><script type="text/javascript" src="../../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../../index.html" class="el_report">JaCoCo</a> &gt; <a href="../index.html" class="el_bundle">org.jacoco.core</a> &gt; <a href="index.html" class="el_package">org.jacoco.core.analysis</a> &gt; <span class="el_class">ICounter.CounterValue</span></div><h1>ICounter.CounterValue</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">0 of 54</td><td class="ctr2">100%</td><td class="bar">0 of 0</td><td class="ctr2">n/a</td><td class="ctr1">0</td><td class="ctr2">1</td><td class="ctr1">0</td><td class="ctr2">6</td><td class="ctr1">0</td><td class="ctr2">1</td></tr></tfoot><tbody><tr><td id="a0"><a href="ICounter.java.html#L24" class="el_method">static {...}</a></td><td class="bar" id="b0"><img src="../../jacoco-resources/greenbar.gif" width="120" height="10" title="54" alt="54"/></td><td class="ctr2" id="c0">100%</td><td class="bar" id="d0"/><td class="ctr2" id="e0">n/a</td><td class="ctr1" id="f0">0</td><td class="ctr2" id="g0">1</td><td class="ctr1" id="h0">0</td><td class="ctr2" id="i0">6</td><td class="ctr1" id="j0">0</td><td class="ctr2" id="k0">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.12.202403270442</span>Code Coverage Report for JaCoCo 0.8.12-SNAPSHOT</div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/trunk/coverage/org.jacoco.core/org.jacoco.core.analysis/ICounter.java.html b/jacoco/trunk/coverage/org.jacoco.core/org.jacoco.core.analysis/ICounter.java.html
    new file mode 100644
    index 00000000000..526ecd382e7
    --- /dev/null
    +++ b/jacoco/trunk/coverage/org.jacoco.core/org.jacoco.core.analysis/ICounter.java.html
    @@ -0,0 +1,121 @@
    +<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="en"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../../jacoco-resources/report.gif" type="image/gif"/><title>ICounter.java</title><link rel="stylesheet" href="../../jacoco-resources/prettify.css" type="text/css"/><script type="text/javascript" src="../../jacoco-resources/prettify.js"></script></head><body onload="window['PR_TAB_WIDTH']=4;prettyPrint()"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../../index.html" class="el_report">JaCoCo</a> &gt; <a href="../index.html" class="el_bundle">org.jacoco.core</a> &gt; <a href="index.source.html" class="el_package">org.jacoco.core.analysis</a> &gt; <span class="el_source">ICounter.java</span></div><h1>ICounter.java</h1><pre class="source lang-java linenums">/*******************************************************************************
    + * Copyright (c) 2009, 2024 Mountainminds GmbH &amp; Co. KG and Contributors
    + * This program and the accompanying materials are made available under
    + * the terms of the Eclipse Public License 2.0 which is available at
    + * http://www.eclipse.org/legal/epl-2.0
    + *
    + * SPDX-License-Identifier: EPL-2.0
    + *
    + * Contributors:
    + *    Marc R. Hoffmann - initial API and implementation
    + *
    + *******************************************************************************/
    +package org.jacoco.core.analysis;
    +
    +/**
    + * A counter holds the missed and the covered number of particular items like
    + * classes, methods, branches or instructions.
    + */
    +public interface ICounter {
    +
    +	/**
    +	 * Different values provided by a counter.
    +	 */
    +<span class="fc" id="L24">	enum CounterValue {</span>
    +
    +		/** Total number of items */
    +<span class="fc" id="L27">		TOTALCOUNT,</span>
    +
    +		/** Number of missed items */
    +<span class="fc" id="L30">		MISSEDCOUNT,</span>
    +
    +		/** Number of covered items */
    +<span class="fc" id="L33">		COVEREDCOUNT,</span>
    +
    +		/** Ratio of missed to total items */
    +<span class="fc" id="L36">		MISSEDRATIO,</span>
    +
    +		/** Ratio of covered to total items */
    +<span class="fc" id="L39">		COVEREDRATIO</span>
    +	}
    +
    +	/**
    +	 * Status flag for no items (value is 0x00).
    +	 */
    +	int EMPTY = 0x00;
    +
    +	/**
    +	 * Status flag when all items are not covered (value is 0x01).
    +	 */
    +	int NOT_COVERED = 0x01;
    +
    +	/**
    +	 * Status flag when all items are covered (value is 0x02).
    +	 */
    +	int FULLY_COVERED = 0x02;
    +
    +	/**
    +	 * Status flag when items are partly covered (value is 0x03).
    +	 */
    +	int PARTLY_COVERED = NOT_COVERED | FULLY_COVERED;
    +
    +	/**
    +	 * Returns the counter value of the given type.
    +	 *
    +	 * @param value
    +	 *            value type to return
    +	 * @return counter value
    +	 */
    +	double getValue(CounterValue value);
    +
    +	/**
    +	 * Returns the total count of items.
    +	 *
    +	 * @return total count of items
    +	 */
    +	int getTotalCount();
    +
    +	/**
    +	 * Returns the count of covered items.
    +	 *
    +	 * @return count of covered items
    +	 */
    +	int getCoveredCount();
    +
    +	/**
    +	 * Returns the count of missed items.
    +	 *
    +	 * @return count of missed items
    +	 */
    +	int getMissedCount();
    +
    +	/**
    +	 * Calculates the ratio of covered to total count items. If total count
    +	 * items is 0 this method returns NaN.
    +	 *
    +	 * @return ratio of covered to total count items
    +	 */
    +	double getCoveredRatio();
    +
    +	/**
    +	 * Calculates the ratio of missed to total count items. If total count items
    +	 * is 0 this method returns NaN.
    +	 *
    +	 * @return ratio of missed to total count items
    +	 */
    +	double getMissedRatio();
    +
    +	/**
    +	 * Returns the coverage status of this counter.
    +	 *
    +	 * @see ICounter#EMPTY
    +	 * @see ICounter#NOT_COVERED
    +	 * @see ICounter#PARTLY_COVERED
    +	 * @see ICounter#FULLY_COVERED
    +	 *
    +	 * @return status of this line
    +	 */
    +	int getStatus();
    +
    +}
    +</pre><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.12.202403270442</span>Code Coverage Report for JaCoCo 0.8.12-SNAPSHOT</div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/trunk/coverage/org.jacoco.core/org.jacoco.core.analysis/ICoverageNode$CounterEntity.html b/jacoco/trunk/coverage/org.jacoco.core/org.jacoco.core.analysis/ICoverageNode$CounterEntity.html
    new file mode 100644
    index 00000000000..c46cc9ef7b7
    --- /dev/null
    +++ b/jacoco/trunk/coverage/org.jacoco.core/org.jacoco.core.analysis/ICoverageNode$CounterEntity.html
    @@ -0,0 +1 @@
    +<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="en"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../../jacoco-resources/report.gif" type="image/gif"/><title>ICoverageNode.CounterEntity</title><script type="text/javascript" src="../../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../../index.html" class="el_report">JaCoCo</a> &gt; <a href="../index.html" class="el_bundle">org.jacoco.core</a> &gt; <a href="index.html" class="el_package">org.jacoco.core.analysis</a> &gt; <span class="el_class">ICoverageNode.CounterEntity</span></div><h1>ICoverageNode.CounterEntity</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">0 of 64</td><td class="ctr2">100%</td><td class="bar">0 of 0</td><td class="ctr2">n/a</td><td class="ctr1">0</td><td class="ctr2">1</td><td class="ctr1">0</td><td class="ctr2">7</td><td class="ctr1">0</td><td class="ctr2">1</td></tr></tfoot><tbody><tr><td id="a0"><a href="ICoverageNode.java.html#L49" class="el_method">static {...}</a></td><td class="bar" id="b0"><img src="../../jacoco-resources/greenbar.gif" width="120" height="10" title="64" alt="64"/></td><td class="ctr2" id="c0">100%</td><td class="bar" id="d0"/><td class="ctr2" id="e0">n/a</td><td class="ctr1" id="f0">0</td><td class="ctr2" id="g0">1</td><td class="ctr1" id="h0">0</td><td class="ctr2" id="i0">7</td><td class="ctr1" id="j0">0</td><td class="ctr2" id="k0">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.12.202403270442</span>Code Coverage Report for JaCoCo 0.8.12-SNAPSHOT</div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/trunk/coverage/org.jacoco.core/org.jacoco.core.analysis/ICoverageNode$ElementType.html b/jacoco/trunk/coverage/org.jacoco.core/org.jacoco.core.analysis/ICoverageNode$ElementType.html
    new file mode 100644
    index 00000000000..6526839f1db
    --- /dev/null
    +++ b/jacoco/trunk/coverage/org.jacoco.core/org.jacoco.core.analysis/ICoverageNode$ElementType.html
    @@ -0,0 +1 @@
    +<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="en"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../../jacoco-resources/report.gif" type="image/gif"/><title>ICoverageNode.ElementType</title><script type="text/javascript" src="../../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../../index.html" class="el_report">JaCoCo</a> &gt; <a href="../index.html" class="el_bundle">org.jacoco.core</a> &gt; <a href="index.html" class="el_package">org.jacoco.core.analysis</a> &gt; <span class="el_class">ICoverageNode.ElementType</span></div><h1>ICoverageNode.ElementType</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">0 of 64</td><td class="ctr2">100%</td><td class="bar">0 of 0</td><td class="ctr2">n/a</td><td class="ctr1">0</td><td class="ctr2">1</td><td class="ctr1">0</td><td class="ctr2">7</td><td class="ctr1">0</td><td class="ctr2">1</td></tr></tfoot><tbody><tr><td id="a0"><a href="ICoverageNode.java.html#L24" class="el_method">static {...}</a></td><td class="bar" id="b0"><img src="../../jacoco-resources/greenbar.gif" width="120" height="10" title="64" alt="64"/></td><td class="ctr2" id="c0">100%</td><td class="bar" id="d0"/><td class="ctr2" id="e0">n/a</td><td class="ctr1" id="f0">0</td><td class="ctr2" id="g0">1</td><td class="ctr1" id="h0">0</td><td class="ctr2" id="i0">7</td><td class="ctr1" id="j0">0</td><td class="ctr2" id="k0">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.12.202403270442</span>Code Coverage Report for JaCoCo 0.8.12-SNAPSHOT</div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/trunk/coverage/org.jacoco.core/org.jacoco.core.analysis/ICoverageNode.java.html b/jacoco/trunk/coverage/org.jacoco.core/org.jacoco.core.analysis/ICoverageNode.java.html
    new file mode 100644
    index 00000000000..ea82d2b052d
    --- /dev/null
    +++ b/jacoco/trunk/coverage/org.jacoco.core/org.jacoco.core.analysis/ICoverageNode.java.html
    @@ -0,0 +1,154 @@
    +<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="en"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../../jacoco-resources/report.gif" type="image/gif"/><title>ICoverageNode.java</title><link rel="stylesheet" href="../../jacoco-resources/prettify.css" type="text/css"/><script type="text/javascript" src="../../jacoco-resources/prettify.js"></script></head><body onload="window['PR_TAB_WIDTH']=4;prettyPrint()"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../../index.html" class="el_report">JaCoCo</a> &gt; <a href="../index.html" class="el_bundle">org.jacoco.core</a> &gt; <a href="index.source.html" class="el_package">org.jacoco.core.analysis</a> &gt; <span class="el_source">ICoverageNode.java</span></div><h1>ICoverageNode.java</h1><pre class="source lang-java linenums">/*******************************************************************************
    + * Copyright (c) 2009, 2024 Mountainminds GmbH &amp; Co. KG and Contributors
    + * This program and the accompanying materials are made available under
    + * the terms of the Eclipse Public License 2.0 which is available at
    + * http://www.eclipse.org/legal/epl-2.0
    + *
    + * SPDX-License-Identifier: EPL-2.0
    + *
    + * Contributors:
    + *    Marc R. Hoffmann - initial API and implementation
    + *
    + *******************************************************************************/
    +package org.jacoco.core.analysis;
    +
    +/**
    + * Interface for hierarchical coverage data nodes with different coverage
    + * counters.
    + */
    +public interface ICoverageNode {
    +
    +	/**
    +	 * Type of a Java element represented by a {@link ICoverageNode} instance.
    +	 */
    +<span class="fc" id="L24">	enum ElementType {</span>
    +
    +		/** Method */
    +<span class="fc" id="L27">		METHOD,</span>
    +
    +		/** Class */
    +<span class="fc" id="L30">		CLASS,</span>
    +
    +		/** Source File */
    +<span class="fc" id="L33">		SOURCEFILE,</span>
    +
    +		/** Java Package */
    +<span class="fc" id="L36">		PACKAGE,</span>
    +
    +		/** Bundle of Packages */
    +<span class="fc" id="L39">		BUNDLE,</span>
    +
    +		/** Logical Group of Bundles */
    +<span class="fc" id="L42">		GROUP,</span>
    +
    +	}
    +
    +	/**
    +	 * Different counter types supported by JaCoCo.
    +	 */
    +<span class="fc" id="L49">	enum CounterEntity {</span>
    +
    +		/** Counter for instructions */
    +<span class="fc" id="L52">		INSTRUCTION,</span>
    +
    +		/** Counter for branches */
    +<span class="fc" id="L55">		BRANCH,</span>
    +
    +		/** Counter for source lines */
    +<span class="fc" id="L58">		LINE,</span>
    +
    +		/** Counter for cyclomatic complexity */
    +<span class="fc" id="L61">		COMPLEXITY,</span>
    +
    +		/** Counter for methods */
    +<span class="fc" id="L64">		METHOD,</span>
    +
    +		/** Counter for classes */
    +<span class="fc" id="L67">		CLASS</span>
    +	}
    +
    +	/**
    +	 * Returns the type of element represented by this node.
    +	 *
    +	 * @return type of this node
    +	 */
    +	ElementType getElementType();
    +
    +	/**
    +	 * Returns the name of this node.
    +	 *
    +	 * @return name of this node
    +	 */
    +	String getName();
    +
    +	/**
    +	 * Returns the counter for byte code instructions.
    +	 *
    +	 * @return counter for instructions
    +	 */
    +	ICounter getInstructionCounter();
    +
    +	/**
    +	 * Returns the counter for branches.
    +	 *
    +	 * @return counter for branches
    +	 */
    +	ICounter getBranchCounter();
    +
    +	/**
    +	 * Returns the counter for lines.
    +	 *
    +	 * @return counter for lines
    +	 */
    +	ICounter getLineCounter();
    +
    +	/**
    +	 * Returns the counter for cyclomatic complexity.
    +	 *
    +	 * @return counter for complexity
    +	 */
    +	ICounter getComplexityCounter();
    +
    +	/**
    +	 * Returns the counter for methods.
    +	 *
    +	 * @return counter for methods
    +	 */
    +	ICounter getMethodCounter();
    +
    +	/**
    +	 * Returns the counter for classes.
    +	 *
    +	 * @return counter for classes
    +	 */
    +	ICounter getClassCounter();
    +
    +	/**
    +	 * Generic access to the counters.
    +	 *
    +	 * @param entity
    +	 *            entity we're we want to have the counter for
    +	 * @return counter for the given entity
    +	 */
    +	ICounter getCounter(CounterEntity entity);
    +
    +	/**
    +	 * Checks whether this node contains code relevant for code coverage.
    +	 *
    +	 * @return &lt;code&gt;true&lt;/code&gt; if this node contains code relevant for code
    +	 *         coverage
    +	 */
    +	boolean containsCode();
    +
    +	/**
    +	 * Creates a plain copy of this node. While {@link ICoverageNode}
    +	 * implementations may contain heavy data structures, the copy returned by
    +	 * this method is reduced to the counters only. This helps to save memory
    +	 * while processing huge structures.
    +	 *
    +	 * @return copy with counters only
    +	 */
    +	ICoverageNode getPlainCopy();
    +
    +}
    +</pre><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.12.202403270442</span>Code Coverage Report for JaCoCo 0.8.12-SNAPSHOT</div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/trunk/coverage/org.jacoco.core/org.jacoco.core.analysis/NodeComparator$1.html b/jacoco/trunk/coverage/org.jacoco.core/org.jacoco.core.analysis/NodeComparator$1.html
    new file mode 100644
    index 00000000000..506162c8a5c
    --- /dev/null
    +++ b/jacoco/trunk/coverage/org.jacoco.core/org.jacoco.core.analysis/NodeComparator$1.html
    @@ -0,0 +1 @@
    +<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="en"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../../jacoco-resources/report.gif" type="image/gif"/><title>NodeComparator.new NodeComparator() {...}</title><script type="text/javascript" src="../../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../../index.html" class="el_report">JaCoCo</a> &gt; <a href="../index.html" class="el_bundle">org.jacoco.core</a> &gt; <a href="index.html" class="el_package">org.jacoco.core.analysis</a> &gt; <span class="el_class">NodeComparator.new NodeComparator() {...}</span></div><h1>NodeComparator.new NodeComparator() {...}</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">0 of 30</td><td class="ctr2">100%</td><td class="bar">0 of 2</td><td class="ctr2">100%</td><td class="ctr1">0</td><td class="ctr2">3</td><td class="ctr1">0</td><td class="ctr2">3</td><td class="ctr1">0</td><td class="ctr2">2</td></tr></tfoot><tbody><tr><td id="a0"><a href="NodeComparator.java.html#L60" class="el_method">compare(ICoverageNode, ICoverageNode)</a></td><td class="bar" id="b0"><img src="../../jacoco-resources/greenbar.gif" width="120" height="10" title="16" alt="16"/></td><td class="ctr2" id="c0">100%</td><td class="bar" id="d0"><img src="../../jacoco-resources/greenbar.gif" width="120" height="10" title="2" alt="2"/></td><td class="ctr2" id="e0">100%</td><td class="ctr1" id="f0">0</td><td class="ctr2" id="g0">2</td><td class="ctr1" id="h0">0</td><td class="ctr2" id="i0">2</td><td class="ctr1" id="j0">0</td><td class="ctr2" id="k0">1</td></tr><tr><td id="a1"><a href="NodeComparator.java.html#L59" class="el_method">{...}</a></td><td class="bar" id="b1"><img src="../../jacoco-resources/greenbar.gif" width="105" height="10" title="14" alt="14"/></td><td class="ctr2" id="c1">100%</td><td class="bar" id="d1"/><td class="ctr2" id="e1">n/a</td><td class="ctr1" id="f1">0</td><td class="ctr2" id="g1">1</td><td class="ctr1" id="h1">0</td><td class="ctr2" id="i1">1</td><td class="ctr1" id="j1">0</td><td class="ctr2" id="k1">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.12.202403270442</span>Code Coverage Report for JaCoCo 0.8.12-SNAPSHOT</div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/trunk/coverage/org.jacoco.core/org.jacoco.core.analysis/NodeComparator.html b/jacoco/trunk/coverage/org.jacoco.core/org.jacoco.core.analysis/NodeComparator.html
    new file mode 100644
    index 00000000000..dba5ee73226
    --- /dev/null
    +++ b/jacoco/trunk/coverage/org.jacoco.core/org.jacoco.core.analysis/NodeComparator.html
    @@ -0,0 +1 @@
    +<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="en"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../../jacoco-resources/report.gif" type="image/gif"/><title>NodeComparator</title><script type="text/javascript" src="../../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../../index.html" class="el_report">JaCoCo</a> &gt; <a href="../index.html" class="el_bundle">org.jacoco.core</a> &gt; <a href="index.html" class="el_package">org.jacoco.core.analysis</a> &gt; <span class="el_class">NodeComparator</span></div><h1>NodeComparator</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">0 of 46</td><td class="ctr2">100%</td><td class="bar">0 of 0</td><td class="ctr2">n/a</td><td class="ctr1">0</td><td class="ctr2">4</td><td class="ctr1">0</td><td class="ctr2">12</td><td class="ctr1">0</td><td class="ctr2">4</td></tr></tfoot><tbody><tr><td id="a0"><a href="NodeComparator.java.html#L84" class="el_method">compare(ICoverageNode, ICoverageNode)</a></td><td class="bar" id="b0"><img src="../../jacoco-resources/greenbar.gif" width="120" height="10" title="16" alt="16"/></td><td class="ctr2" id="c0">100%</td><td class="bar" id="d0"/><td class="ctr2" id="e0">n/a</td><td class="ctr1" id="f0">0</td><td class="ctr2" id="g0">1</td><td class="ctr1" id="h0">0</td><td class="ctr2" id="i1">3</td><td class="ctr1" id="j0">0</td><td class="ctr2" id="k0">1</td></tr><tr><td id="a2"><a href="NodeComparator.java.html#L53" class="el_method">second(Comparator)</a></td><td class="bar" id="b1"><img src="../../jacoco-resources/greenbar.gif" width="82" height="10" title="11" alt="11"/></td><td class="ctr2" id="c1">100%</td><td class="bar" id="d1"/><td class="ctr2" id="e1">n/a</td><td class="ctr1" id="f1">0</td><td class="ctr2" id="g1">1</td><td class="ctr1" id="h1">0</td><td class="ctr2" id="i3">2</td><td class="ctr1" id="j1">0</td><td class="ctr2" id="k1">1</td></tr><tr><td id="a3"><a href="NodeComparator.java.html#L78" class="el_method">sort(Collection)</a></td><td class="bar" id="b2"><img src="../../jacoco-resources/greenbar.gif" width="75" height="10" title="10" alt="10"/></td><td class="ctr2" id="c2">100%</td><td class="bar" id="d2"/><td class="ctr2" id="e2">n/a</td><td class="ctr1" id="f2">0</td><td class="ctr2" id="g2">1</td><td class="ctr1" id="h2">0</td><td class="ctr2" id="i2">3</td><td class="ctr1" id="j2">0</td><td class="ctr2" id="k2">1</td></tr><tr><td id="a1"><a href="NodeComparator.java.html#L39" class="el_method">NodeComparator(Comparator, ICoverageNode.CounterEntity)</a></td><td class="bar" id="b3"><img src="../../jacoco-resources/greenbar.gif" width="67" height="10" title="9" alt="9"/></td><td class="ctr2" id="c3">100%</td><td class="bar" id="d3"/><td class="ctr2" id="e3">n/a</td><td class="ctr1" id="f3">0</td><td class="ctr2" id="g3">1</td><td class="ctr1" id="h3">0</td><td class="ctr2" id="i0">4</td><td class="ctr1" id="j3">0</td><td class="ctr2" id="k3">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.12.202403270442</span>Code Coverage Report for JaCoCo 0.8.12-SNAPSHOT</div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/trunk/coverage/org.jacoco.core/org.jacoco.core.analysis/NodeComparator.java.html b/jacoco/trunk/coverage/org.jacoco.core/org.jacoco.core.analysis/NodeComparator.java.html
    new file mode 100644
    index 00000000000..c67080e6f1e
    --- /dev/null
    +++ b/jacoco/trunk/coverage/org.jacoco.core/org.jacoco.core.analysis/NodeComparator.java.html
    @@ -0,0 +1,90 @@
    +<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="en"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../../jacoco-resources/report.gif" type="image/gif"/><title>NodeComparator.java</title><link rel="stylesheet" href="../../jacoco-resources/prettify.css" type="text/css"/><script type="text/javascript" src="../../jacoco-resources/prettify.js"></script></head><body onload="window['PR_TAB_WIDTH']=4;prettyPrint()"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../../index.html" class="el_report">JaCoCo</a> &gt; <a href="../index.html" class="el_bundle">org.jacoco.core</a> &gt; <a href="index.source.html" class="el_package">org.jacoco.core.analysis</a> &gt; <span class="el_source">NodeComparator.java</span></div><h1>NodeComparator.java</h1><pre class="source lang-java linenums">/*******************************************************************************
    + * Copyright (c) 2009, 2024 Mountainminds GmbH &amp; Co. KG and Contributors
    + * This program and the accompanying materials are made available under
    + * the terms of the Eclipse Public License 2.0 which is available at
    + * http://www.eclipse.org/legal/epl-2.0
    + *
    + * SPDX-License-Identifier: EPL-2.0
    + *
    + * Contributors:
    + *    Marc R. Hoffmann - initial API and implementation
    + *
    + *******************************************************************************/
    +package org.jacoco.core.analysis;
    +
    +import java.io.Serializable;
    +import java.util.ArrayList;
    +import java.util.Collection;
    +import java.util.Collections;
    +import java.util.Comparator;
    +import java.util.List;
    +
    +import org.jacoco.core.analysis.ICoverageNode.CounterEntity;
    +
    +/**
    + * Comparator to compare {@link ICoverageNode} objects by different counter
    + * criteria.
    + *
    + * @see CounterComparator#on(ICoverageNode.CounterEntity)
    + */
    +public class NodeComparator implements Comparator&lt;ICoverageNode&gt;, Serializable {
    +
    +	private static final long serialVersionUID = 8550521643608826519L;
    +
    +	private final Comparator&lt;ICounter&gt; counterComparator;
    +
    +	private final CounterEntity entity;
    +
    +	NodeComparator(final Comparator&lt;ICounter&gt; counterComparator,
    +<span class="fc" id="L39">			final CounterEntity entity) {</span>
    +<span class="fc" id="L40">		this.counterComparator = counterComparator;</span>
    +<span class="fc" id="L41">		this.entity = entity;</span>
    +<span class="fc" id="L42">	}</span>
    +
    +	/**
    +	 * Creates a new composite comparator with a second search criterion.
    +	 *
    +	 * @param second
    +	 *            second criterion comparator
    +	 *
    +	 * @return composite comparator
    +	 */
    +	public NodeComparator second(final Comparator&lt;ICoverageNode&gt; second) {
    +<span class="fc" id="L53">		final Comparator&lt;ICoverageNode&gt; first = this;</span>
    +<span class="fc" id="L54">		return new NodeComparator(null, null) {</span>
    +
    +			private static final long serialVersionUID = -5515272752138802838L;
    +
    +			@Override
    +<span class="fc" id="L59">			public int compare(final ICoverageNode o1, final ICoverageNode o2) {</span>
    +<span class="fc" id="L60">				final int result = first.compare(o1, o2);</span>
    +<span class="fc bfc" id="L61" title="All 2 branches covered.">				return result == 0 ? second.compare(o1, o2) : result;</span>
    +			}
    +		};
    +	}
    +
    +	/**
    +	 * Returns a sorted copy of the given collection of {@link ICoverageNode}
    +	 * elements.
    +	 *
    +	 * @param &lt;T&gt;
    +	 *            actual type of the elements
    +	 * @param summaries
    +	 *            collection to create a copy of
    +	 * @return sorted copy
    +	 */
    +	public &lt;T extends ICoverageNode&gt; List&lt;T&gt; sort(
    +			final Collection&lt;T&gt; summaries) {
    +<span class="fc" id="L78">		final List&lt;T&gt; result = new ArrayList&lt;T&gt;(summaries);</span>
    +<span class="fc" id="L79">		Collections.sort(result, this);</span>
    +<span class="fc" id="L80">		return result;</span>
    +	}
    +
    +	public int compare(final ICoverageNode n1, final ICoverageNode n2) {
    +<span class="fc" id="L84">		final ICounter c1 = n1.getCounter(entity);</span>
    +<span class="fc" id="L85">		final ICounter c2 = n2.getCounter(entity);</span>
    +<span class="fc" id="L86">		return counterComparator.compare(c1, c2);</span>
    +	}
    +
    +}
    +</pre><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.12.202403270442</span>Code Coverage Report for JaCoCo 0.8.12-SNAPSHOT</div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/trunk/coverage/org.jacoco.core/org.jacoco.core.analysis/index.html b/jacoco/trunk/coverage/org.jacoco.core/org.jacoco.core.analysis/index.html
    new file mode 100644
    index 00000000000..380e234076d
    --- /dev/null
    +++ b/jacoco/trunk/coverage/org.jacoco.core/org.jacoco.core.analysis/index.html
    @@ -0,0 +1 @@
    +<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="en"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../../jacoco-resources/report.gif" type="image/gif"/><title>org.jacoco.core.analysis</title><script type="text/javascript" src="../../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb', 'coveragetable'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="index.source.html" class="el_source">Source Files</a><a href="../../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../../index.html" class="el_report">JaCoCo</a> &gt; <a href="../index.html" class="el_bundle">org.jacoco.core</a> &gt; <span class="el_package">org.jacoco.core.analysis</span></div><h1>org.jacoco.core.analysis</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td><td class="sortable ctr1" id="l" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="m" onclick="toggleSort(this)">Classes</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">11 of 1,070</td><td class="ctr2">98%</td><td class="bar">1 of 48</td><td class="ctr2">97%</td><td class="ctr1">1</td><td class="ctr2">81</td><td class="ctr1">1</td><td class="ctr2">209</td><td class="ctr1">0</td><td class="ctr2">53</td><td class="ctr1">0</td><td class="ctr2">11</td></tr></tfoot><tbody><tr><td id="a5"><a href="CoverageNodeImpl$1.html" class="el_class">CoverageNodeImpl.new Object() {...}</a></td><td class="bar" id="b0"><img src="../../jacoco-resources/redbar.gif" width="2" height="10" title="6" alt="6"/><img src="../../jacoco-resources/greenbar.gif" width="15" height="10" title="41" alt="41"/></td><td class="ctr2" id="c10">87%</td><td class="bar" id="d5"/><td class="ctr2" id="e5">n/a</td><td class="ctr1" id="f1">0</td><td class="ctr2" id="g7">1</td><td class="ctr1" id="h1">0</td><td class="ctr2" id="i10">1</td><td class="ctr1" id="j0">0</td><td class="ctr2" id="k7">1</td><td class="ctr1" id="l0">0</td><td class="ctr2" id="m0">1</td></tr><tr><td id="a4"><a href="CoverageNodeImpl.html" class="el_class">CoverageNodeImpl</a></td><td class="bar" id="b1"><img src="../../jacoco-resources/redbar.gif" width="1" height="10" title="5" alt="5"/><img src="../../jacoco-resources/greenbar.gif" width="73" height="10" title="199" alt="199"/></td><td class="ctr2" id="c9">97%</td><td class="bar" id="d0"><img src="../../jacoco-resources/redbar.gif" width="6" height="10" title="1" alt="1"/><img src="../../jacoco-resources/greenbar.gif" width="63" height="10" title="10" alt="10"/></td><td class="ctr2" id="e4">90%</td><td class="ctr1" id="f0">1</td><td class="ctr2" id="g1">23</td><td class="ctr1" id="h0">1</td><td class="ctr2" id="i1">48</td><td class="ctr1" id="j1">0</td><td class="ctr2" id="k0">15</td><td class="ctr1" id="l1">0</td><td class="ctr2" id="m1">1</td></tr><tr><td id="a0"><a href="Analyzer.html" class="el_class">Analyzer</a></td><td class="bar" id="b2"><img src="../../jacoco-resources/greenbar.gif" width="120" height="10" title="326" alt="326"/></td><td class="ctr2" id="c0">100%</td><td class="bar" id="d1"><img src="../../jacoco-resources/greenbar.gif" width="120" height="10" title="19" alt="19"/></td><td class="ctr2" id="e0">100%</td><td class="ctr1" id="f2">0</td><td class="ctr2" id="g0">24</td><td class="ctr1" id="h2">0</td><td class="ctr2" id="i0">79</td><td class="ctr1" id="j2">0</td><td class="ctr2" id="k1">13</td><td class="ctr1" id="l2">0</td><td class="ctr2" id="m2">1</td></tr><tr><td id="a3"><a href="CoverageBuilder.html" class="el_class">CoverageBuilder</a></td><td class="bar" id="b3"><img src="../../jacoco-resources/greenbar.gif" width="50" height="10" title="138" alt="138"/></td><td class="ctr2" id="c1">100%</td><td class="bar" id="d2"><img src="../../jacoco-resources/greenbar.gif" width="75" height="10" title="12" alt="12"/></td><td class="ctr2" id="e1">100%</td><td class="ctr1" id="f3">0</td><td class="ctr2" id="g2">13</td><td class="ctr1" id="h3">0</td><td class="ctr2" id="i2">28</td><td class="ctr1" id="j3">0</td><td class="ctr2" id="k2">7</td><td class="ctr1" id="l3">0</td><td class="ctr2" id="m3">1</td></tr><tr><td id="a2"><a href="CounterComparator.html" class="el_class">CounterComparator</a></td><td class="bar" id="b4"><img src="../../jacoco-resources/greenbar.gif" width="27" height="10" title="76" alt="76"/></td><td class="ctr2" id="c2">100%</td><td class="bar" id="d3"><img src="../../jacoco-resources/greenbar.gif" width="25" height="10" title="4" alt="4"/></td><td class="ctr2" id="e2">100%</td><td class="ctr1" id="f4">0</td><td class="ctr2" id="g3">8</td><td class="ctr1" id="h4">0</td><td class="ctr2" id="i3">15</td><td class="ctr1" id="j4">0</td><td class="ctr2" id="k3">6</td><td class="ctr1" id="l4">0</td><td class="ctr2" id="m4">1</td></tr><tr><td id="a8"><a href="ICoverageNode$ElementType.html" class="el_class">ICoverageNode.ElementType</a></td><td class="bar" id="b5"><img src="../../jacoco-resources/greenbar.gif" width="23" height="10" title="64" alt="64"/></td><td class="ctr2" id="c3">100%</td><td class="bar" id="d6"/><td class="ctr2" id="e6">n/a</td><td class="ctr1" id="f5">0</td><td class="ctr2" id="g8">1</td><td class="ctr1" id="h5">0</td><td class="ctr2" id="i5">7</td><td class="ctr1" id="j5">0</td><td class="ctr2" id="k8">1</td><td class="ctr1" id="l5">0</td><td class="ctr2" id="m5">1</td></tr><tr><td id="a7"><a href="ICoverageNode$CounterEntity.html" class="el_class">ICoverageNode.CounterEntity</a></td><td class="bar" id="b6"><img src="../../jacoco-resources/greenbar.gif" width="23" height="10" title="64" alt="64"/></td><td class="ctr2" id="c4">100%</td><td class="bar" id="d7"/><td class="ctr2" id="e7">n/a</td><td class="ctr1" id="f6">0</td><td class="ctr2" id="g9">1</td><td class="ctr1" id="h6">0</td><td class="ctr2" id="i6">7</td><td class="ctr1" id="j6">0</td><td class="ctr2" id="k9">1</td><td class="ctr1" id="l6">0</td><td class="ctr2" id="m6">1</td></tr><tr><td id="a6"><a href="ICounter$CounterValue.html" class="el_class">ICounter.CounterValue</a></td><td class="bar" id="b7"><img src="../../jacoco-resources/greenbar.gif" width="19" height="10" title="54" alt="54"/></td><td class="ctr2" id="c5">100%</td><td class="bar" id="d8"/><td class="ctr2" id="e8">n/a</td><td class="ctr1" id="f7">0</td><td class="ctr2" id="g10">1</td><td class="ctr1" id="h7">0</td><td class="ctr2" id="i7">6</td><td class="ctr1" id="j7">0</td><td class="ctr2" id="k10">1</td><td class="ctr1" id="l7">0</td><td class="ctr2" id="m7">1</td></tr><tr><td id="a9"><a href="NodeComparator.html" class="el_class">NodeComparator</a></td><td class="bar" id="b8"><img src="../../jacoco-resources/greenbar.gif" width="16" height="10" title="46" alt="46"/></td><td class="ctr2" id="c6">100%</td><td class="bar" id="d9"/><td class="ctr2" id="e9">n/a</td><td class="ctr1" id="f8">0</td><td class="ctr2" id="g4">4</td><td class="ctr1" id="h8">0</td><td class="ctr2" id="i4">12</td><td class="ctr1" id="j8">0</td><td class="ctr2" id="k4">4</td><td class="ctr1" id="l8">0</td><td class="ctr2" id="m8">1</td></tr><tr><td id="a10"><a href="NodeComparator$1.html" class="el_class">NodeComparator.new NodeComparator() {...}</a></td><td class="bar" id="b9"><img src="../../jacoco-resources/greenbar.gif" width="11" height="10" title="30" alt="30"/></td><td class="ctr2" id="c7">100%</td><td class="bar" id="d4"><img src="../../jacoco-resources/greenbar.gif" width="12" height="10" title="2" alt="2"/></td><td class="ctr2" id="e3">100%</td><td class="ctr1" id="f9">0</td><td class="ctr2" id="g5">3</td><td class="ctr1" id="h9">0</td><td class="ctr2" id="i9">3</td><td class="ctr1" id="j9">0</td><td class="ctr2" id="k5">2</td><td class="ctr1" id="l9">0</td><td class="ctr2" id="m9">1</td></tr><tr><td id="a1"><a href="Analyzer$1.html" class="el_class">Analyzer.new ClassAnalyzer() {...}</a></td><td class="bar" id="b10"><img src="../../jacoco-resources/greenbar.gif" width="7" height="10" title="21" alt="21"/></td><td class="ctr2" id="c8">100%</td><td class="bar" id="d10"/><td class="ctr2" id="e10">n/a</td><td class="ctr1" id="f10">0</td><td class="ctr2" id="g6">2</td><td class="ctr1" id="h10">0</td><td class="ctr2" id="i8">4</td><td class="ctr1" id="j10">0</td><td class="ctr2" id="k6">2</td><td class="ctr1" id="l10">0</td><td class="ctr2" id="m10">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.12.202403270442</span>Code Coverage Report for JaCoCo 0.8.12-SNAPSHOT</div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/trunk/coverage/org.jacoco.core/org.jacoco.core.analysis/index.source.html b/jacoco/trunk/coverage/org.jacoco.core/org.jacoco.core.analysis/index.source.html
    new file mode 100644
    index 00000000000..64c37550870
    --- /dev/null
    +++ b/jacoco/trunk/coverage/org.jacoco.core/org.jacoco.core.analysis/index.source.html
    @@ -0,0 +1 @@
    +<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="en"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../../jacoco-resources/report.gif" type="image/gif"/><title>org.jacoco.core.analysis</title><script type="text/javascript" src="../../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb', 'coveragetable'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="index.html" class="el_class">Classes</a><a href="../../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../../index.html" class="el_report">JaCoCo</a> &gt; <a href="../index.html" class="el_bundle">org.jacoco.core</a> &gt; <span class="el_package">org.jacoco.core.analysis</span></div><h1>org.jacoco.core.analysis</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td><td class="sortable ctr1" id="l" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="m" onclick="toggleSort(this)">Classes</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">11 of 1,070</td><td class="ctr2">98%</td><td class="bar">1 of 48</td><td class="ctr2">97%</td><td class="ctr1">1</td><td class="ctr2">81</td><td class="ctr1">1</td><td class="ctr2">209</td><td class="ctr1">0</td><td class="ctr2">53</td><td class="ctr1">0</td><td class="ctr2">11</td></tr></tfoot><tbody><tr><td id="a3"><a href="CoverageNodeImpl.java.html" class="el_source">CoverageNodeImpl.java</a></td><td class="bar" id="b0"><img src="../../jacoco-resources/redbar.gif" width="3" height="10" title="11" alt="11"/><img src="../../jacoco-resources/greenbar.gif" width="82" height="10" title="240" alt="240"/></td><td class="ctr2" id="c6">95%</td><td class="bar" id="d0"><img src="../../jacoco-resources/redbar.gif" width="6" height="10" title="1" alt="1"/><img src="../../jacoco-resources/greenbar.gif" width="63" height="10" title="10" alt="10"/></td><td class="ctr2" id="e4">90%</td><td class="ctr1" id="f0">1</td><td class="ctr2" id="g1">24</td><td class="ctr1" id="h0">1</td><td class="ctr2" id="i1">48</td><td class="ctr1" id="j0">0</td><td class="ctr2" id="k0">16</td><td class="ctr1" id="l0">0</td><td class="ctr2" id="m0">2</td></tr><tr><td id="a0"><a href="Analyzer.java.html" class="el_source">Analyzer.java</a></td><td class="bar" id="b1"><img src="../../jacoco-resources/greenbar.gif" width="120" height="10" title="347" alt="347"/></td><td class="ctr2" id="c0">100%</td><td class="bar" id="d1"><img src="../../jacoco-resources/greenbar.gif" width="120" height="10" title="19" alt="19"/></td><td class="ctr2" id="e0">100%</td><td class="ctr1" id="f1">0</td><td class="ctr2" id="g0">26</td><td class="ctr1" id="h1">0</td><td class="ctr2" id="i0">83</td><td class="ctr1" id="j1">0</td><td class="ctr2" id="k1">15</td><td class="ctr1" id="l1">0</td><td class="ctr2" id="m1">2</td></tr><tr><td id="a2"><a href="CoverageBuilder.java.html" class="el_source">CoverageBuilder.java</a></td><td class="bar" id="b2"><img src="../../jacoco-resources/greenbar.gif" width="47" height="10" title="138" alt="138"/></td><td class="ctr2" id="c1">100%</td><td class="bar" id="d2"><img src="../../jacoco-resources/greenbar.gif" width="75" height="10" title="12" alt="12"/></td><td class="ctr2" id="e1">100%</td><td class="ctr1" id="f2">0</td><td class="ctr2" id="g2">13</td><td class="ctr1" id="h2">0</td><td class="ctr2" id="i2">28</td><td class="ctr1" id="j2">0</td><td class="ctr2" id="k2">7</td><td class="ctr1" id="l2">0</td><td class="ctr2" id="m4">1</td></tr><tr><td id="a5"><a href="ICoverageNode.java.html" class="el_source">ICoverageNode.java</a></td><td class="bar" id="b3"><img src="../../jacoco-resources/greenbar.gif" width="44" height="10" title="128" alt="128"/></td><td class="ctr2" id="c2">100%</td><td class="bar" id="d5"/><td class="ctr2" id="e5">n/a</td><td class="ctr1" id="f3">0</td><td class="ctr2" id="g5">2</td><td class="ctr1" id="h3">0</td><td class="ctr2" id="i5">14</td><td class="ctr1" id="j3">0</td><td class="ctr2" id="k5">2</td><td class="ctr1" id="l3">0</td><td class="ctr2" id="m2">2</td></tr><tr><td id="a1"><a href="CounterComparator.java.html" class="el_source">CounterComparator.java</a></td><td class="bar" id="b4"><img src="../../jacoco-resources/greenbar.gif" width="26" height="10" title="76" alt="76"/></td><td class="ctr2" id="c3">100%</td><td class="bar" id="d3"><img src="../../jacoco-resources/greenbar.gif" width="25" height="10" title="4" alt="4"/></td><td class="ctr2" id="e2">100%</td><td class="ctr1" id="f4">0</td><td class="ctr2" id="g3">8</td><td class="ctr1" id="h4">0</td><td class="ctr2" id="i3">15</td><td class="ctr1" id="j4">0</td><td class="ctr2" id="k3">6</td><td class="ctr1" id="l4">0</td><td class="ctr2" id="m5">1</td></tr><tr><td id="a6"><a href="NodeComparator.java.html" class="el_source">NodeComparator.java</a></td><td class="bar" id="b5"><img src="../../jacoco-resources/greenbar.gif" width="26" height="10" title="76" alt="76"/></td><td class="ctr2" id="c4">100%</td><td class="bar" id="d4"><img src="../../jacoco-resources/greenbar.gif" width="12" height="10" title="2" alt="2"/></td><td class="ctr2" id="e3">100%</td><td class="ctr1" id="f5">0</td><td class="ctr2" id="g4">7</td><td class="ctr1" id="h5">0</td><td class="ctr2" id="i4">15</td><td class="ctr1" id="j5">0</td><td class="ctr2" id="k4">6</td><td class="ctr1" id="l5">0</td><td class="ctr2" id="m3">2</td></tr><tr><td id="a4"><a href="ICounter.java.html" class="el_source">ICounter.java</a></td><td class="bar" id="b6"><img src="../../jacoco-resources/greenbar.gif" width="18" height="10" title="54" alt="54"/></td><td class="ctr2" id="c5">100%</td><td class="bar" id="d6"/><td class="ctr2" id="e6">n/a</td><td class="ctr1" id="f6">0</td><td class="ctr2" id="g6">1</td><td class="ctr1" id="h6">0</td><td class="ctr2" id="i6">6</td><td class="ctr1" id="j6">0</td><td class="ctr2" id="k6">1</td><td class="ctr1" id="l6">0</td><td class="ctr2" id="m6">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.12.202403270442</span>Code Coverage Report for JaCoCo 0.8.12-SNAPSHOT</div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/trunk/coverage/org.jacoco.core/org.jacoco.core.data/ExecutionData.html b/jacoco/trunk/coverage/org.jacoco.core/org.jacoco.core.data/ExecutionData.html
    new file mode 100644
    index 00000000000..fb6ced7be4d
    --- /dev/null
    +++ b/jacoco/trunk/coverage/org.jacoco.core/org.jacoco.core.data/ExecutionData.html
    @@ -0,0 +1 @@
    +<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="en"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../../jacoco-resources/report.gif" type="image/gif"/><title>ExecutionData</title><script type="text/javascript" src="../../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../../index.html" class="el_report">JaCoCo</a> &gt; <a href="../index.html" class="el_bundle">org.jacoco.core</a> &gt; <a href="index.html" class="el_package">org.jacoco.core.data</a> &gt; <span class="el_class">ExecutionData</span></div><h1>ExecutionData</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">0 of 188</td><td class="ctr2">100%</td><td class="bar">0 of 14</td><td class="ctr2">100%</td><td class="ctr1">0</td><td class="ctr2">18</td><td class="ctr1">0</td><td class="ctr2">35</td><td class="ctr1">0</td><td class="ctr2">11</td></tr></tfoot><tbody><tr><td id="a0"><a href="ExecutionData.java.html#L186" class="el_method">assertCompatibility(long, String, int)</a></td><td class="bar" id="b0"><img src="../../jacoco-resources/greenbar.gif" width="120" height="10" title="74" alt="74"/></td><td class="ctr2" id="c0">100%</td><td class="bar" id="d0"><img src="../../jacoco-resources/greenbar.gif" width="120" height="10" title="6" alt="6"/></td><td class="ctr2" id="e0">100%</td><td class="ctr1" id="f0">0</td><td class="ctr2" id="g0">4</td><td class="ctr1" id="h0">0</td><td class="ctr2" id="i0">7</td><td class="ctr1" id="j0">0</td><td class="ctr2" id="k0">1</td></tr><tr><td id="a8"><a href="ExecutionData.java.html#L160" class="el_method">merge(ExecutionData, boolean)</a></td><td class="bar" id="b1"><img src="../../jacoco-resources/greenbar.gif" width="50" height="10" title="31" alt="31"/></td><td class="ctr2" id="c1">100%</td><td class="bar" id="d1"><img src="../../jacoco-resources/greenbar.gif" width="80" height="10" title="4" alt="4"/></td><td class="ctr2" id="e1">100%</td><td class="ctr1" id="f1">0</td><td class="ctr2" id="g1">3</td><td class="ctr1" id="h1">0</td><td class="ctr2" id="i1">6</td><td class="ctr1" id="j1">0</td><td class="ctr2" id="k1">1</td></tr><tr><td id="a6"><a href="ExecutionData.java.html#L109" class="el_method">hasHits()</a></td><td class="bar" id="b2"><img src="../../jacoco-resources/greenbar.gif" width="37" height="10" title="23" alt="23"/></td><td class="ctr2" id="c2">100%</td><td class="bar" id="d2"><img src="../../jacoco-resources/greenbar.gif" width="80" height="10" title="4" alt="4"/></td><td class="ctr2" id="e2">100%</td><td class="ctr1" id="f2">0</td><td class="ctr2" id="g2">3</td><td class="ctr1" id="h2">0</td><td class="ctr2" id="i4">4</td><td class="ctr1" id="j2">0</td><td class="ctr2" id="k2">1</td></tr><tr><td id="a10"><a href="ExecutionData.java.html#L205" class="el_method">toString()</a></td><td class="bar" id="b3"><img src="../../jacoco-resources/greenbar.gif" width="25" height="10" title="16" alt="16"/></td><td class="ctr2" id="c3">100%</td><td class="bar" id="d3"/><td class="ctr2" id="e3">n/a</td><td class="ctr1" id="f3">0</td><td class="ctr2" id="g3">1</td><td class="ctr1" id="h3">0</td><td class="ctr2" id="i7">1</td><td class="ctr1" id="j3">0</td><td class="ctr2" id="k3">1</td></tr><tr><td id="a2"><a href="ExecutionData.java.html#L61" class="el_method">ExecutionData(long, String, int)</a></td><td class="bar" id="b4"><img src="../../jacoco-resources/greenbar.gif" width="21" height="10" title="13" alt="13"/></td><td class="ctr2" id="c4">100%</td><td class="bar" id="d4"/><td class="ctr2" id="e4">n/a</td><td class="ctr1" id="f4">0</td><td class="ctr2" id="g4">1</td><td class="ctr1" id="h4">0</td><td class="ctr2" id="i2">5</td><td class="ctr1" id="j4">0</td><td class="ctr2" id="k4">1</td></tr><tr><td id="a1"><a href="ExecutionData.java.html#L43" class="el_method">ExecutionData(long, String, boolean[])</a></td><td class="bar" id="b5"><img src="../../jacoco-resources/greenbar.gif" width="19" height="10" title="12" alt="12"/></td><td class="ctr2" id="c5">100%</td><td class="bar" id="d5"/><td class="ctr2" id="e5">n/a</td><td class="ctr1" id="f5">0</td><td class="ctr2" id="g5">1</td><td class="ctr1" id="h5">0</td><td class="ctr2" id="i3">5</td><td class="ctr1" id="j5">0</td><td class="ctr2" id="k5">1</td></tr><tr><td id="a9"><a href="ExecutionData.java.html#L100" class="el_method">reset()</a></td><td class="bar" id="b6"><img src="../../jacoco-resources/greenbar.gif" width="8" height="10" title="5" alt="5"/></td><td class="ctr2" id="c6">100%</td><td class="bar" id="d6"/><td class="ctr2" id="e6">n/a</td><td class="ctr1" id="f6">0</td><td class="ctr2" id="g6">1</td><td class="ctr1" id="h6">0</td><td class="ctr2" id="i5">2</td><td class="ctr1" id="j6">0</td><td class="ctr2" id="k6">1</td></tr><tr><td id="a7"><a href="ExecutionData.java.html#L133" class="el_method">merge(ExecutionData)</a></td><td class="bar" id="b7"><img src="../../jacoco-resources/greenbar.gif" width="8" height="10" title="5" alt="5"/></td><td class="ctr2" id="c7">100%</td><td class="bar" id="d7"/><td class="ctr2" id="e7">n/a</td><td class="ctr1" id="f7">0</td><td class="ctr2" id="g7">1</td><td class="ctr1" id="h7">0</td><td class="ctr2" id="i6">2</td><td class="ctr1" id="j7">0</td><td class="ctr2" id="k7">1</td></tr><tr><td id="a3"><a href="ExecutionData.java.html#L74" class="el_method">getId()</a></td><td class="bar" id="b8"><img src="../../jacoco-resources/greenbar.gif" width="4" height="10" title="3" alt="3"/></td><td class="ctr2" id="c8">100%</td><td class="bar" id="d8"/><td class="ctr2" id="e8">n/a</td><td class="ctr1" id="f8">0</td><td class="ctr2" id="g8">1</td><td class="ctr1" id="h8">0</td><td class="ctr2" id="i8">1</td><td class="ctr1" id="j8">0</td><td class="ctr2" id="k8">1</td></tr><tr><td id="a4"><a href="ExecutionData.java.html#L83" class="el_method">getName()</a></td><td class="bar" id="b9"><img src="../../jacoco-resources/greenbar.gif" width="4" height="10" title="3" alt="3"/></td><td class="ctr2" id="c9">100%</td><td class="bar" id="d9"/><td class="ctr2" id="e9">n/a</td><td class="ctr1" id="f9">0</td><td class="ctr2" id="g9">1</td><td class="ctr1" id="h9">0</td><td class="ctr2" id="i9">1</td><td class="ctr1" id="j9">0</td><td class="ctr2" id="k9">1</td></tr><tr><td id="a5"><a href="ExecutionData.java.html#L93" class="el_method">getProbes()</a></td><td class="bar" id="b10"><img src="../../jacoco-resources/greenbar.gif" width="4" height="10" title="3" alt="3"/></td><td class="ctr2" id="c10">100%</td><td class="bar" id="d10"/><td class="ctr2" id="e10">n/a</td><td class="ctr1" id="f10">0</td><td class="ctr2" id="g10">1</td><td class="ctr1" id="h10">0</td><td class="ctr2" id="i10">1</td><td class="ctr1" id="j10">0</td><td class="ctr2" id="k10">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.12.202403270442</span>Code Coverage Report for JaCoCo 0.8.12-SNAPSHOT</div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/trunk/coverage/org.jacoco.core/org.jacoco.core.data/ExecutionData.java.html b/jacoco/trunk/coverage/org.jacoco.core/org.jacoco.core.data/ExecutionData.java.html
    new file mode 100644
    index 00000000000..ce7a35941fb
    --- /dev/null
    +++ b/jacoco/trunk/coverage/org.jacoco.core/org.jacoco.core.data/ExecutionData.java.html
    @@ -0,0 +1,210 @@
    +<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="en"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../../jacoco-resources/report.gif" type="image/gif"/><title>ExecutionData.java</title><link rel="stylesheet" href="../../jacoco-resources/prettify.css" type="text/css"/><script type="text/javascript" src="../../jacoco-resources/prettify.js"></script></head><body onload="window['PR_TAB_WIDTH']=4;prettyPrint()"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../../index.html" class="el_report">JaCoCo</a> &gt; <a href="../index.html" class="el_bundle">org.jacoco.core</a> &gt; <a href="index.source.html" class="el_package">org.jacoco.core.data</a> &gt; <span class="el_source">ExecutionData.java</span></div><h1>ExecutionData.java</h1><pre class="source lang-java linenums">/*******************************************************************************
    + * Copyright (c) 2009, 2024 Mountainminds GmbH &amp; Co. KG and Contributors
    + * This program and the accompanying materials are made available under
    + * the terms of the Eclipse Public License 2.0 which is available at
    + * http://www.eclipse.org/legal/epl-2.0
    + *
    + * SPDX-License-Identifier: EPL-2.0
    + *
    + * Contributors:
    + *    Marc R. Hoffmann - initial API and implementation
    + *
    + *******************************************************************************/
    +package org.jacoco.core.data;
    +
    +import static java.lang.String.format;
    +
    +import java.util.Arrays;
    +
    +/**
    + * Execution data for a single Java class. While instances are immutable care
    + * has to be taken about the probe data array of type &lt;code&gt;boolean[]&lt;/code&gt;
    + * which can be modified.
    + */
    +public final class ExecutionData {
    +
    +	private final long id;
    +
    +	private final String name;
    +
    +	private final boolean[] probes;
    +
    +	/**
    +	 * Creates a new {@link ExecutionData} object with the given probe data.
    +	 *
    +	 * @param id
    +	 *            class identifier
    +	 * @param name
    +	 *            VM name
    +	 * @param probes
    +	 *            probe data
    +	 */
    +	public ExecutionData(final long id, final String name,
    +<span class="fc" id="L43">			final boolean[] probes) {</span>
    +<span class="fc" id="L44">		this.id = id;</span>
    +<span class="fc" id="L45">		this.name = name;</span>
    +<span class="fc" id="L46">		this.probes = probes;</span>
    +<span class="fc" id="L47">	}</span>
    +
    +	/**
    +	 * Creates a new {@link ExecutionData} object with the given probe data
    +	 * length. All probes are set to &lt;code&gt;false&lt;/code&gt;.
    +	 *
    +	 * @param id
    +	 *            class identifier
    +	 * @param name
    +	 *            VM name
    +	 * @param probeCount
    +	 *            probe count
    +	 */
    +	public ExecutionData(final long id, final String name,
    +<span class="fc" id="L61">			final int probeCount) {</span>
    +<span class="fc" id="L62">		this.id = id;</span>
    +<span class="fc" id="L63">		this.name = name;</span>
    +<span class="fc" id="L64">		this.probes = new boolean[probeCount];</span>
    +<span class="fc" id="L65">	}</span>
    +
    +	/**
    +	 * Return the unique identifier for this class. The identifier is the CRC64
    +	 * checksum of the raw class file definition.
    +	 *
    +	 * @return class identifier
    +	 */
    +	public long getId() {
    +<span class="fc" id="L74">		return id;</span>
    +	}
    +
    +	/**
    +	 * The VM name of the class.
    +	 *
    +	 * @return VM name
    +	 */
    +	public String getName() {
    +<span class="fc" id="L83">		return name;</span>
    +	}
    +
    +	/**
    +	 * Returns the execution data probes. A value of &lt;code&gt;true&lt;/code&gt; indicates
    +	 * that the corresponding probe was executed.
    +	 *
    +	 * @return probe data
    +	 */
    +	public boolean[] getProbes() {
    +<span class="fc" id="L93">		return probes;</span>
    +	}
    +
    +	/**
    +	 * Sets all probes to &lt;code&gt;false&lt;/code&gt;.
    +	 */
    +	public void reset() {
    +<span class="fc" id="L100">		Arrays.fill(probes, false);</span>
    +<span class="fc" id="L101">	}</span>
    +
    +	/**
    +	 * Checks whether any probe has been hit.
    +	 *
    +	 * @return &lt;code&gt;true&lt;/code&gt;, if at least one probe has been hit
    +	 */
    +	public boolean hasHits() {
    +<span class="fc bfc" id="L109" title="All 2 branches covered.">		for (final boolean p : probes) {</span>
    +<span class="fc bfc" id="L110" title="All 2 branches covered.">			if (p) {</span>
    +<span class="fc" id="L111">				return true;</span>
    +			}
    +		}
    +<span class="fc" id="L114">		return false;</span>
    +	}
    +
    +	/**
    +	 * Merges the given execution data into the probe data of this object. I.e.
    +	 * a probe entry in this object is marked as executed (&lt;code&gt;true&lt;/code&gt;) if
    +	 * this probe or the corresponding other probe was executed. So the result
    +	 * is
    +	 *
    +	 * &lt;pre&gt;
    +	 * A or B
    +	 * &lt;/pre&gt;
    +	 *
    +	 * The probe array of the other object is not modified.
    +	 *
    +	 * @param other
    +	 *            execution data to merge
    +	 */
    +	public void merge(final ExecutionData other) {
    +<span class="fc" id="L133">		merge(other, true);</span>
    +<span class="fc" id="L134">	}</span>
    +
    +	/**
    +	 * Merges the given execution data into the probe data of this object. A
    +	 * probe in this object is set to the value of &lt;code&gt;flag&lt;/code&gt; if the
    +	 * corresponding other probe was executed. For &lt;code&gt;flag==true&lt;/code&gt; this
    +	 * corresponds to
    +	 *
    +	 * &lt;pre&gt;
    +	 * A or B
    +	 * &lt;/pre&gt;
    +	 *
    +	 * For &lt;code&gt;flag==false&lt;/code&gt; this can be considered as a subtraction
    +	 *
    +	 * &lt;pre&gt;
    +	 * A and not B
    +	 * &lt;/pre&gt;
    +	 *
    +	 * The probe array of the other object is not modified.
    +	 *
    +	 * @param other
    +	 *            execution data to merge
    +	 * @param flag
    +	 *            merge mode
    +	 */
    +	public void merge(final ExecutionData other, final boolean flag) {
    +<span class="fc" id="L160">		assertCompatibility(other.getId(), other.getName(),</span>
    +				other.getProbes().length);
    +<span class="fc" id="L162">		final boolean[] otherData = other.getProbes();</span>
    +<span class="fc bfc" id="L163" title="All 2 branches covered.">		for (int i = 0; i &lt; probes.length; i++) {</span>
    +<span class="fc bfc" id="L164" title="All 2 branches covered.">			if (otherData[i]) {</span>
    +<span class="fc" id="L165">				probes[i] = flag;</span>
    +			}
    +		}
    +<span class="fc" id="L168">	}</span>
    +
    +	/**
    +	 * Asserts that this execution data object is compatible with the given
    +	 * parameters. The purpose of this check is to detect a very unlikely class
    +	 * id collision.
    +	 *
    +	 * @param id
    +	 *            other class id, must be the same
    +	 * @param name
    +	 *            other name, must be equal to this name
    +	 * @param probecount
    +	 *            probe data length, must be the same as for this data
    +	 * @throws IllegalStateException
    +	 *             if the given parameters do not match this instance
    +	 */
    +	public void assertCompatibility(final long id, final String name,
    +			final int probecount) throws IllegalStateException {
    +<span class="fc bfc" id="L186" title="All 2 branches covered.">		if (this.id != id) {</span>
    +<span class="fc" id="L187">			throw new IllegalStateException(</span>
    +					format(&quot;Different ids (%016x and %016x).&quot;,
    +							Long.valueOf(this.id), Long.valueOf(id)));
    +		}
    +<span class="fc bfc" id="L191" title="All 2 branches covered.">		if (!this.name.equals(name)) {</span>
    +<span class="fc" id="L192">			throw new IllegalStateException(</span>
    +					format(&quot;Different class names %s and %s for id %016x.&quot;,
    +							this.name, name, Long.valueOf(id)));
    +		}
    +<span class="fc bfc" id="L196" title="All 2 branches covered.">		if (this.probes.length != probecount) {</span>
    +<span class="fc" id="L197">			throw new IllegalStateException(format(</span>
    +					&quot;Incompatible execution data for class %s with id %016x.&quot;,
    +					name, Long.valueOf(id)));
    +		}
    +<span class="fc" id="L201">	}</span>
    +
    +	@Override
    +	public String toString() {
    +<span class="fc" id="L205">		return String.format(&quot;ExecutionData[name=%s, id=%016x]&quot;, name,</span>
    +				Long.valueOf(id));
    +	}
    +
    +}
    +</pre><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.12.202403270442</span>Code Coverage Report for JaCoCo 0.8.12-SNAPSHOT</div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/trunk/coverage/org.jacoco.core/org.jacoco.core.data/ExecutionDataReader.html b/jacoco/trunk/coverage/org.jacoco.core/org.jacoco.core.data/ExecutionDataReader.html
    new file mode 100644
    index 00000000000..afb0cfdacb1
    --- /dev/null
    +++ b/jacoco/trunk/coverage/org.jacoco.core/org.jacoco.core.data/ExecutionDataReader.html
    @@ -0,0 +1 @@
    +<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="en"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../../jacoco-resources/report.gif" type="image/gif"/><title>ExecutionDataReader</title><script type="text/javascript" src="../../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../../index.html" class="el_report">JaCoCo</a> &gt; <a href="../index.html" class="el_bundle">org.jacoco.core</a> &gt; <a href="index.html" class="el_package">org.jacoco.core.data</a> &gt; <span class="el_class">ExecutionDataReader</span></div><h1>ExecutionDataReader</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">0 of 168</td><td class="ctr2">100%</td><td class="bar">0 of 20</td><td class="ctr2">100%</td><td class="ctr1">0</td><td class="ctr2">19</td><td class="ctr1">0</td><td class="ctr2">47</td><td class="ctr1">0</td><td class="ctr2">8</td></tr></tfoot><tbody><tr><td id="a1"><a href="ExecutionDataReader.java.html#L84" class="el_method">read()</a></td><td class="bar" id="b0"><img src="../../jacoco-resources/greenbar.gif" width="120" height="10" title="32" alt="32"/></td><td class="ctr2" id="c0">100%</td><td class="bar" id="d0"><img src="../../jacoco-resources/greenbar.gif" width="120" height="10" title="8" alt="8"/></td><td class="ctr2" id="e0">100%</td><td class="ctr1" id="f0">0</td><td class="ctr2" id="g0">5</td><td class="ctr1" id="h0">0</td><td class="ctr2" id="i0">9</td><td class="ctr1" id="j0">0</td><td class="ctr2" id="k0">1</td></tr><tr><td id="a5"><a href="ExecutionDataReader.java.html#L135" class="el_method">readSessionInfo()</a></td><td class="bar" id="b1"><img src="../../jacoco-resources/greenbar.gif" width="112" height="10" title="30" alt="30"/></td><td class="ctr2" id="c1">100%</td><td class="bar" id="d3"><img src="../../jacoco-resources/greenbar.gif" width="30" height="10" title="2" alt="2"/></td><td class="ctr2" id="e1">100%</td><td class="ctr1" id="f1">0</td><td class="ctr2" id="g3">2</td><td class="ctr1" id="h1">0</td><td class="ctr2" id="i2">7</td><td class="ctr1" id="j1">0</td><td class="ctr2" id="k1">1</td></tr><tr><td id="a3"><a href="ExecutionDataReader.java.html#L145" class="el_method">readExecutionData()</a></td><td class="bar" id="b2"><img src="../../jacoco-resources/greenbar.gif" width="112" height="10" title="30" alt="30"/></td><td class="ctr2" id="c2">100%</td><td class="bar" id="d4"><img src="../../jacoco-resources/greenbar.gif" width="30" height="10" title="2" alt="2"/></td><td class="ctr2" id="e2">100%</td><td class="ctr1" id="f2">0</td><td class="ctr2" id="g4">2</td><td class="ctr1" id="h2">0</td><td class="ctr2" id="i3">7</td><td class="ctr1" id="j2">0</td><td class="ctr2" id="k2">1</td></tr><tr><td id="a2"><a href="ExecutionDataReader.java.html#L108" class="el_method">readBlock(byte)</a></td><td class="bar" id="b3"><img src="../../jacoco-resources/greenbar.gif" width="101" height="10" title="27" alt="27"/></td><td class="ctr2" id="c3">100%</td><td class="bar" id="d1"><img src="../../jacoco-resources/greenbar.gif" width="60" height="10" title="4" alt="4"/></td><td class="ctr2" id="e3">100%</td><td class="ctr1" id="f3">0</td><td class="ctr2" id="g1">4</td><td class="ctr1" id="h3">0</td><td class="ctr2" id="i1">8</td><td class="ctr1" id="j3">0</td><td class="ctr2" id="k3">1</td></tr><tr><td id="a4"><a href="ExecutionDataReader.java.html#L125" class="el_method">readHeader()</a></td><td class="bar" id="b4"><img src="../../jacoco-resources/greenbar.gif" width="86" height="10" title="23" alt="23"/></td><td class="ctr2" id="c4">100%</td><td class="bar" id="d2"><img src="../../jacoco-resources/greenbar.gif" width="60" height="10" title="4" alt="4"/></td><td class="ctr2" id="e4">100%</td><td class="ctr1" id="f4">0</td><td class="ctr2" id="g2">3</td><td class="ctr1" id="h4">0</td><td class="ctr2" id="i4">6</td><td class="ctr1" id="j4">0</td><td class="ctr2" id="k4">1</td></tr><tr><td id="a0"><a href="ExecutionDataReader.java.html#L30" class="el_method">ExecutionDataReader(InputStream)</a></td><td class="bar" id="b5"><img src="../../jacoco-resources/greenbar.gif" width="67" height="10" title="18" alt="18"/></td><td class="ctr2" id="c5">100%</td><td class="bar" id="d5"/><td class="ctr2" id="e5">n/a</td><td class="ctr1" id="f5">0</td><td class="ctr2" id="g5">1</td><td class="ctr1" id="h5">0</td><td class="ctr2" id="i5">6</td><td class="ctr1" id="j5">0</td><td class="ctr2" id="k5">1</td></tr><tr><td id="a7"><a href="ExecutionDataReader.java.html#L55" class="el_method">setSessionInfoVisitor(ISessionInfoVisitor)</a></td><td class="bar" id="b6"><img src="../../jacoco-resources/greenbar.gif" width="15" height="10" title="4" alt="4"/></td><td class="ctr2" id="c6">100%</td><td class="bar" id="d6"/><td class="ctr2" id="e6">n/a</td><td class="ctr1" id="f6">0</td><td class="ctr2" id="g6">1</td><td class="ctr1" id="h6">0</td><td class="ctr2" id="i6">2</td><td class="ctr1" id="j6">0</td><td class="ctr2" id="k6">1</td></tr><tr><td id="a6"><a href="ExecutionDataReader.java.html#L65" class="el_method">setExecutionDataVisitor(IExecutionDataVisitor)</a></td><td class="bar" id="b7"><img src="../../jacoco-resources/greenbar.gif" width="15" height="10" title="4" alt="4"/></td><td class="ctr2" id="c7">100%</td><td class="bar" id="d7"/><td class="ctr2" id="e7">n/a</td><td class="ctr1" id="f7">0</td><td class="ctr2" id="g7">1</td><td class="ctr1" id="h7">0</td><td class="ctr2" id="i7">2</td><td class="ctr1" id="j7">0</td><td class="ctr2" id="k7">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.12.202403270442</span>Code Coverage Report for JaCoCo 0.8.12-SNAPSHOT</div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/trunk/coverage/org.jacoco.core/org.jacoco.core.data/ExecutionDataReader.java.html b/jacoco/trunk/coverage/org.jacoco.core/org.jacoco.core.data/ExecutionDataReader.java.html
    new file mode 100644
    index 00000000000..cce6e966199
    --- /dev/null
    +++ b/jacoco/trunk/coverage/org.jacoco.core/org.jacoco.core.data/ExecutionDataReader.java.html
    @@ -0,0 +1,156 @@
    +<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="en"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../../jacoco-resources/report.gif" type="image/gif"/><title>ExecutionDataReader.java</title><link rel="stylesheet" href="../../jacoco-resources/prettify.css" type="text/css"/><script type="text/javascript" src="../../jacoco-resources/prettify.js"></script></head><body onload="window['PR_TAB_WIDTH']=4;prettyPrint()"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../../index.html" class="el_report">JaCoCo</a> &gt; <a href="../index.html" class="el_bundle">org.jacoco.core</a> &gt; <a href="index.source.html" class="el_package">org.jacoco.core.data</a> &gt; <span class="el_source">ExecutionDataReader.java</span></div><h1>ExecutionDataReader.java</h1><pre class="source lang-java linenums">/*******************************************************************************
    + * Copyright (c) 2009, 2024 Mountainminds GmbH &amp; Co. KG and Contributors
    + * This program and the accompanying materials are made available under
    + * the terms of the Eclipse Public License 2.0 which is available at
    + * http://www.eclipse.org/legal/epl-2.0
    + *
    + * SPDX-License-Identifier: EPL-2.0
    + *
    + * Contributors:
    + *    Marc R. Hoffmann - initial API and implementation
    + *
    + *******************************************************************************/
    +package org.jacoco.core.data;
    +
    +import static java.lang.String.format;
    +
    +import java.io.IOException;
    +import java.io.InputStream;
    +
    +import org.jacoco.core.internal.data.CompactDataInput;
    +
    +/**
    + * Deserialization of execution data from binary streams.
    + */
    +public class ExecutionDataReader {
    +
    +	/** Underlying data input */
    +	protected final CompactDataInput in;
    +
    +<span class="fc" id="L30">	private ISessionInfoVisitor sessionInfoVisitor = null;</span>
    +
    +<span class="fc" id="L32">	private IExecutionDataVisitor executionDataVisitor = null;</span>
    +
    +<span class="fc" id="L34">	private boolean firstBlock = true;</span>
    +
    +	/**
    +	 * Creates a new reader based on the given input stream input. Depending on
    +	 * the nature of the underlying stream input should be buffered as most data
    +	 * is read in single bytes.
    +	 *
    +	 * @param input
    +	 *            input stream to read execution data from
    +	 */
    +<span class="fc" id="L44">	public ExecutionDataReader(final InputStream input) {</span>
    +<span class="fc" id="L45">		this.in = new CompactDataInput(input);</span>
    +<span class="fc" id="L46">	}</span>
    +
    +	/**
    +	 * Sets an listener for session information.
    +	 *
    +	 * @param visitor
    +	 *            visitor to retrieve session info events
    +	 */
    +	public void setSessionInfoVisitor(final ISessionInfoVisitor visitor) {
    +<span class="fc" id="L55">		this.sessionInfoVisitor = visitor;</span>
    +<span class="fc" id="L56">	}</span>
    +
    +	/**
    +	 * Sets an listener for execution data.
    +	 *
    +	 * @param visitor
    +	 *            visitor to retrieve execution data events
    +	 */
    +	public void setExecutionDataVisitor(final IExecutionDataVisitor visitor) {
    +<span class="fc" id="L65">		this.executionDataVisitor = visitor;</span>
    +<span class="fc" id="L66">	}</span>
    +
    +	/**
    +	 * Reads all data and reports it to the corresponding visitors. The stream
    +	 * is read until its end or a command confirmation has been sent.
    +	 *
    +	 * @return &lt;code&gt;true&lt;/code&gt; if additional data can be expected after a
    +	 *         command has been executed. &lt;code&gt;false&lt;/code&gt; if the end of the
    +	 *         stream has been reached.
    +	 * @throws IOException
    +	 *             might be thrown by the underlying input stream
    +	 * @throws IncompatibleExecDataVersionException
    +	 *             incompatible data version from different JaCoCo release
    +	 */
    +	public boolean read()
    +			throws IOException, IncompatibleExecDataVersionException {
    +		byte type;
    +		do {
    +<span class="fc" id="L84">			int i = in.read();</span>
    +<span class="fc bfc" id="L85" title="All 2 branches covered.">			if (i == -1) {</span>
    +<span class="fc" id="L86">				return false; // EOF</span>
    +			}
    +<span class="fc" id="L88">			type = (byte) i;</span>
    +<span class="fc bfc" id="L89" title="All 4 branches covered.">			if (firstBlock &amp;&amp; type != ExecutionDataWriter.BLOCK_HEADER) {</span>
    +<span class="fc" id="L90">				throw new IOException(&quot;Invalid execution data file.&quot;);</span>
    +			}
    +<span class="fc" id="L92">			firstBlock = false;</span>
    +<span class="fc bfc" id="L93" title="All 2 branches covered.">		} while (readBlock(type));</span>
    +<span class="fc" id="L94">		return true;</span>
    +	}
    +
    +	/**
    +	 * Reads a block of data identified by the given id. Subclasses may
    +	 * overwrite this method to support additional block types.
    +	 *
    +	 * @param blocktype
    +	 *            block type
    +	 * @return &lt;code&gt;true&lt;/code&gt; if there are more blocks to read
    +	 * @throws IOException
    +	 *             might be thrown by the underlying input stream
    +	 */
    +	protected boolean readBlock(final byte blocktype) throws IOException {
    +<span class="fc bfc" id="L108" title="All 4 branches covered.">		switch (blocktype) {</span>
    +		case ExecutionDataWriter.BLOCK_HEADER:
    +<span class="fc" id="L110">			readHeader();</span>
    +<span class="fc" id="L111">			return true;</span>
    +		case ExecutionDataWriter.BLOCK_SESSIONINFO:
    +<span class="fc" id="L113">			readSessionInfo();</span>
    +<span class="fc" id="L114">			return true;</span>
    +		case ExecutionDataWriter.BLOCK_EXECUTIONDATA:
    +<span class="fc" id="L116">			readExecutionData();</span>
    +<span class="fc" id="L117">			return true;</span>
    +		default:
    +<span class="fc" id="L119">			throw new IOException(</span>
    +					format(&quot;Unknown block type %x.&quot;, Byte.valueOf(blocktype)));
    +		}
    +	}
    +
    +	private void readHeader() throws IOException {
    +<span class="fc bfc" id="L125" title="All 2 branches covered.">		if (in.readChar() != ExecutionDataWriter.MAGIC_NUMBER) {</span>
    +<span class="fc" id="L126">			throw new IOException(&quot;Invalid execution data file.&quot;);</span>
    +		}
    +<span class="fc" id="L128">		final char version = in.readChar();</span>
    +<span class="fc bfc" id="L129" title="All 2 branches covered.">		if (version != ExecutionDataWriter.FORMAT_VERSION) {</span>
    +<span class="fc" id="L130">			throw new IncompatibleExecDataVersionException(version);</span>
    +		}
    +<span class="fc" id="L132">	}</span>
    +
    +	private void readSessionInfo() throws IOException {
    +<span class="fc bfc" id="L135" title="All 2 branches covered.">		if (sessionInfoVisitor == null) {</span>
    +<span class="fc" id="L136">			throw new IOException(&quot;No session info visitor.&quot;);</span>
    +		}
    +<span class="fc" id="L138">		final String id = in.readUTF();</span>
    +<span class="fc" id="L139">		final long start = in.readLong();</span>
    +<span class="fc" id="L140">		final long dump = in.readLong();</span>
    +<span class="fc" id="L141">		sessionInfoVisitor.visitSessionInfo(new SessionInfo(id, start, dump));</span>
    +<span class="fc" id="L142">	}</span>
    +
    +	private void readExecutionData() throws IOException {
    +<span class="fc bfc" id="L145" title="All 2 branches covered.">		if (executionDataVisitor == null) {</span>
    +<span class="fc" id="L146">			throw new IOException(&quot;No execution data visitor.&quot;);</span>
    +		}
    +<span class="fc" id="L148">		final long id = in.readLong();</span>
    +<span class="fc" id="L149">		final String name = in.readUTF();</span>
    +<span class="fc" id="L150">		final boolean[] probes = in.readBooleanArray();</span>
    +<span class="fc" id="L151">		executionDataVisitor</span>
    +				.visitClassExecution(new ExecutionData(id, name, probes));
    +<span class="fc" id="L153">	}</span>
    +
    +}
    +</pre><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.12.202403270442</span>Code Coverage Report for JaCoCo 0.8.12-SNAPSHOT</div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/trunk/coverage/org.jacoco.core/org.jacoco.core.data/ExecutionDataStore.html b/jacoco/trunk/coverage/org.jacoco.core/org.jacoco.core.data/ExecutionDataStore.html
    new file mode 100644
    index 00000000000..e7616bb19fc
    --- /dev/null
    +++ b/jacoco/trunk/coverage/org.jacoco.core/org.jacoco.core.data/ExecutionDataStore.html
    @@ -0,0 +1 @@
    +<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="en"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../../jacoco-resources/report.gif" type="image/gif"/><title>ExecutionDataStore</title><script type="text/javascript" src="../../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../../index.html" class="el_report">JaCoCo</a> &gt; <a href="../index.html" class="el_bundle">org.jacoco.core</a> &gt; <a href="index.html" class="el_package">org.jacoco.core.data</a> &gt; <span class="el_class">ExecutionDataStore</span></div><h1>ExecutionDataStore</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">0 of 166</td><td class="ctr2">100%</td><td class="bar">0 of 12</td><td class="ctr2">100%</td><td class="ctr1">0</td><td class="ctr2">17</td><td class="ctr1">0</td><td class="ctr2">36</td><td class="ctr1">0</td><td class="ctr2">11</td></tr></tfoot><tbody><tr><td id="a4"><a href="ExecutionDataStore.java.html#L133" class="el_method">get(Long, String, int)</a></td><td class="bar" id="b0"><img src="../../jacoco-resources/greenbar.gif" width="120" height="10" title="36" alt="36"/></td><td class="ctr2" id="c0">100%</td><td class="bar" id="d0"><img src="../../jacoco-resources/greenbar.gif" width="120" height="10" title="2" alt="2"/></td><td class="ctr2" id="e0">100%</td><td class="ctr1" id="f0">0</td><td class="ctr2" id="g0">2</td><td class="ctr1" id="h0">0</td><td class="ctr2" id="i0">7</td><td class="ctr1" id="j0">0</td><td class="ctr2" id="k0">1</td></tr><tr><td id="a6"><a href="ExecutionDataStore.java.html#L49" class="el_method">put(ExecutionData)</a></td><td class="bar" id="b1"><img src="../../jacoco-resources/greenbar.gif" width="96" height="10" title="29" alt="29"/></td><td class="ctr2" id="c1">100%</td><td class="bar" id="d1"><img src="../../jacoco-resources/greenbar.gif" width="120" height="10" title="2" alt="2"/></td><td class="ctr2" id="e1">100%</td><td class="ctr1" id="f1">0</td><td class="ctr2" id="g1">2</td><td class="ctr1" id="h1">0</td><td class="ctr2" id="i1">7</td><td class="ctr1" id="j1">0</td><td class="ctr2" id="k1">1</td></tr><tr><td id="a8"><a href="ExecutionDataStore.java.html#L74" class="el_method">subtract(ExecutionData)</a></td><td class="bar" id="b2"><img src="../../jacoco-resources/greenbar.gif" width="56" height="10" title="17" alt="17"/></td><td class="ctr2" id="c2">100%</td><td class="bar" id="d2"><img src="../../jacoco-resources/greenbar.gif" width="120" height="10" title="2" alt="2"/></td><td class="ctr2" id="e2">100%</td><td class="ctr1" id="f2">0</td><td class="ctr2" id="g2">2</td><td class="ctr1" id="h2">0</td><td class="ctr2" id="i2">5</td><td class="ctr1" id="j2">0</td><td class="ctr2" id="k2">1</td></tr><tr><td id="a9"><a href="ExecutionDataStore.java.html#L89" class="el_method">subtract(ExecutionDataStore)</a></td><td class="bar" id="b3"><img src="../../jacoco-resources/greenbar.gif" width="53" height="10" title="16" alt="16"/></td><td class="ctr2" id="c3">100%</td><td class="bar" id="d3"><img src="../../jacoco-resources/greenbar.gif" width="120" height="10" title="2" alt="2"/></td><td class="ctr2" id="e3">100%</td><td class="ctr1" id="f3">0</td><td class="ctr2" id="g3">2</td><td class="ctr1" id="h3">0</td><td class="ctr2" id="i3">3</td><td class="ctr1" id="j3">0</td><td class="ctr2" id="k3">1</td></tr><tr><td id="a7"><a href="ExecutionDataStore.java.html#L149" class="el_method">reset()</a></td><td class="bar" id="b4"><img src="../../jacoco-resources/greenbar.gif" width="53" height="10" title="16" alt="16"/></td><td class="ctr2" id="c4">100%</td><td class="bar" id="d4"><img src="../../jacoco-resources/greenbar.gif" width="120" height="10" title="2" alt="2"/></td><td class="ctr2" id="e4">100%</td><td class="ctr1" id="f4">0</td><td class="ctr2" id="g4">2</td><td class="ctr1" id="h4">0</td><td class="ctr2" id="i4">3</td><td class="ctr1" id="j4">0</td><td class="ctr2" id="k4">1</td></tr><tr><td id="a0"><a href="ExecutionDataStore.java.html#L170" class="el_method">accept(IExecutionDataVisitor)</a></td><td class="bar" id="b5"><img src="../../jacoco-resources/greenbar.gif" width="53" height="10" title="16" alt="16"/></td><td class="ctr2" id="c5">100%</td><td class="bar" id="d5"><img src="../../jacoco-resources/greenbar.gif" width="120" height="10" title="2" alt="2"/></td><td class="ctr2" id="e5">100%</td><td class="ctr1" id="f5">0</td><td class="ctr2" id="g5">2</td><td class="ctr1" id="h5">0</td><td class="ctr2" id="i5">3</td><td class="ctr1" id="j5">0</td><td class="ctr2" id="k5">1</td></tr><tr><td id="a2"><a href="ExecutionDataStore.java.html#L30" class="el_method">ExecutionDataStore()</a></td><td class="bar" id="b6"><img src="../../jacoco-resources/greenbar.gif" width="43" height="10" title="13" alt="13"/></td><td class="ctr2" id="c6">100%</td><td class="bar" id="d6"/><td class="ctr2" id="e6">n/a</td><td class="ctr1" id="f6">0</td><td class="ctr2" id="g6">1</td><td class="ctr1" id="h6">0</td><td class="ctr2" id="i6">3</td><td class="ctr1" id="j6">0</td><td class="ctr2" id="k6">1</td></tr><tr><td id="a3"><a href="ExecutionDataStore.java.html#L103" class="el_method">get(long)</a></td><td class="bar" id="b7"><img src="../../jacoco-resources/greenbar.gif" width="23" height="10" title="7" alt="7"/></td><td class="ctr2" id="c7">100%</td><td class="bar" id="d7"/><td class="ctr2" id="e7">n/a</td><td class="ctr1" id="f7">0</td><td class="ctr2" id="g7">1</td><td class="ctr1" id="h7">0</td><td class="ctr2" id="i8">1</td><td class="ctr1" id="j7">0</td><td class="ctr2" id="k7">1</td></tr><tr><td id="a5"><a href="ExecutionDataStore.java.html#L160" class="el_method">getContents()</a></td><td class="bar" id="b8"><img src="../../jacoco-resources/greenbar.gif" width="23" height="10" title="7" alt="7"/></td><td class="ctr2" id="c8">100%</td><td class="bar" id="d8"/><td class="ctr2" id="e8">n/a</td><td class="ctr1" id="f8">0</td><td class="ctr2" id="g8">1</td><td class="ctr1" id="h8">0</td><td class="ctr2" id="i9">1</td><td class="ctr1" id="j8">0</td><td class="ctr2" id="k8">1</td></tr><tr><td id="a1"><a href="ExecutionDataStore.java.html#L116" class="el_method">contains(String)</a></td><td class="bar" id="b9"><img src="../../jacoco-resources/greenbar.gif" width="16" height="10" title="5" alt="5"/></td><td class="ctr2" id="c9">100%</td><td class="bar" id="d9"/><td class="ctr2" id="e9">n/a</td><td class="ctr1" id="f9">0</td><td class="ctr2" id="g9">1</td><td class="ctr1" id="h9">0</td><td class="ctr2" id="i10">1</td><td class="ctr1" id="j9">0</td><td class="ctr2" id="k9">1</td></tr><tr><td id="a10"><a href="ExecutionDataStore.java.html#L178" class="el_method">visitClassExecution(ExecutionData)</a></td><td class="bar" id="b10"><img src="../../jacoco-resources/greenbar.gif" width="13" height="10" title="4" alt="4"/></td><td class="ctr2" id="c10">100%</td><td class="bar" id="d10"/><td class="ctr2" id="e10">n/a</td><td class="ctr1" id="f10">0</td><td class="ctr2" id="g10">1</td><td class="ctr1" id="h10">0</td><td class="ctr2" id="i7">2</td><td class="ctr1" id="j10">0</td><td class="ctr2" id="k10">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.12.202403270442</span>Code Coverage Report for JaCoCo 0.8.12-SNAPSHOT</div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/trunk/coverage/org.jacoco.core/org.jacoco.core.data/ExecutionDataStore.java.html b/jacoco/trunk/coverage/org.jacoco.core/org.jacoco.core.data/ExecutionDataStore.java.html
    new file mode 100644
    index 00000000000..285d3be509c
    --- /dev/null
    +++ b/jacoco/trunk/coverage/org.jacoco.core/org.jacoco.core.data/ExecutionDataStore.java.html
    @@ -0,0 +1,181 @@
    +<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="en"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../../jacoco-resources/report.gif" type="image/gif"/><title>ExecutionDataStore.java</title><link rel="stylesheet" href="../../jacoco-resources/prettify.css" type="text/css"/><script type="text/javascript" src="../../jacoco-resources/prettify.js"></script></head><body onload="window['PR_TAB_WIDTH']=4;prettyPrint()"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../../index.html" class="el_report">JaCoCo</a> &gt; <a href="../index.html" class="el_bundle">org.jacoco.core</a> &gt; <a href="index.source.html" class="el_package">org.jacoco.core.data</a> &gt; <span class="el_source">ExecutionDataStore.java</span></div><h1>ExecutionDataStore.java</h1><pre class="source lang-java linenums">/*******************************************************************************
    + * Copyright (c) 2009, 2024 Mountainminds GmbH &amp; Co. KG and Contributors
    + * This program and the accompanying materials are made available under
    + * the terms of the Eclipse Public License 2.0 which is available at
    + * http://www.eclipse.org/legal/epl-2.0
    + *
    + * SPDX-License-Identifier: EPL-2.0
    + *
    + * Contributors:
    + *    Marc R. Hoffmann - initial API and implementation
    + *
    + *******************************************************************************/
    +package org.jacoco.core.data;
    +
    +import java.util.ArrayList;
    +import java.util.Collection;
    +import java.util.HashMap;
    +import java.util.HashSet;
    +import java.util.Map;
    +import java.util.Set;
    +
    +/**
    + * In-memory data store for execution data. The data can be added through its
    + * {@link IExecutionDataVisitor} interface. If execution data is provided
    + * multiple times for the same class the data is merged, i.e. a probe is marked
    + * as executed if it is reported as executed at least once. This allows to merge
    + * coverage date from multiple runs. A instance of this class is not thread
    + * safe.
    + */
    +<span class="fc" id="L30">public final class ExecutionDataStore implements IExecutionDataVisitor {</span>
    +
    +<span class="fc" id="L32">	private final Map&lt;Long, ExecutionData&gt; entries = new HashMap&lt;Long, ExecutionData&gt;();</span>
    +
    +<span class="fc" id="L34">	private final Set&lt;String&gt; names = new HashSet&lt;String&gt;();</span>
    +
    +	/**
    +	 * Adds the given {@link ExecutionData} object into the store. If there is
    +	 * already execution data with this same class id, this structure is merged
    +	 * with the given one.
    +	 *
    +	 * @param data
    +	 *            execution data to add or merge
    +	 * @throws IllegalStateException
    +	 *             if the given {@link ExecutionData} object is not compatible
    +	 *             to a corresponding one, that is already contained
    +	 * @see ExecutionData#assertCompatibility(long, String, int)
    +	 */
    +	public void put(final ExecutionData data) throws IllegalStateException {
    +<span class="fc" id="L49">		final Long id = Long.valueOf(data.getId());</span>
    +<span class="fc" id="L50">		final ExecutionData entry = entries.get(id);</span>
    +<span class="fc bfc" id="L51" title="All 2 branches covered.">		if (entry == null) {</span>
    +<span class="fc" id="L52">			entries.put(id, data);</span>
    +<span class="fc" id="L53">			names.add(data.getName());</span>
    +		} else {
    +<span class="fc" id="L55">			entry.merge(data);</span>
    +		}
    +<span class="fc" id="L57">	}</span>
    +
    +	/**
    +	 * Subtracts the probes in the given {@link ExecutionData} object from the
    +	 * store. I.e. for all set probes in the given data object the corresponding
    +	 * probes in this store will be unset. If there is no execution data with id
    +	 * of the given data object this operation will have no effect.
    +	 *
    +	 * @param data
    +	 *            execution data to subtract
    +	 * @throws IllegalStateException
    +	 *             if the given {@link ExecutionData} object is not compatible
    +	 *             to a corresponding one, that is already contained
    +	 * @see ExecutionData#assertCompatibility(long, String, int)
    +	 */
    +	public void subtract(final ExecutionData data)
    +			throws IllegalStateException {
    +<span class="fc" id="L74">		final Long id = Long.valueOf(data.getId());</span>
    +<span class="fc" id="L75">		final ExecutionData entry = entries.get(id);</span>
    +<span class="fc bfc" id="L76" title="All 2 branches covered.">		if (entry != null) {</span>
    +<span class="fc" id="L77">			entry.merge(data, false);</span>
    +		}
    +<span class="fc" id="L79">	}</span>
    +
    +	/**
    +	 * Subtracts all probes in the given execution data store from this store.
    +	 *
    +	 * @param store
    +	 *            execution data store to subtract
    +	 * @see #subtract(ExecutionData)
    +	 */
    +	public void subtract(final ExecutionDataStore store) {
    +<span class="fc bfc" id="L89" title="All 2 branches covered.">		for (final ExecutionData data : store.getContents()) {</span>
    +<span class="fc" id="L90">			subtract(data);</span>
    +		}
    +<span class="fc" id="L92">	}</span>
    +
    +	/**
    +	 * Returns the {@link ExecutionData} entry with the given id if it exists in
    +	 * this store.
    +	 *
    +	 * @param id
    +	 *            class id
    +	 * @return execution data or &lt;code&gt;null&lt;/code&gt;
    +	 */
    +	public ExecutionData get(final long id) {
    +<span class="fc" id="L103">		return entries.get(Long.valueOf(id));</span>
    +	}
    +
    +	/**
    +	 * Checks whether execution data for classes with the given name are
    +	 * contained in the store.
    +	 *
    +	 * @param name
    +	 *            VM name
    +	 * @return &lt;code&gt;true&lt;/code&gt; if at least one class with the name is
    +	 *         contained.
    +	 */
    +	public boolean contains(final String name) {
    +<span class="fc" id="L116">		return names.contains(name);</span>
    +	}
    +
    +	/**
    +	 * Returns the coverage data for the class with the given identifier. If
    +	 * there is no data available under the given id a new entry is created.
    +	 *
    +	 * @param id
    +	 *            class identifier
    +	 * @param name
    +	 *            VM name of the class
    +	 * @param probecount
    +	 *            probe data length
    +	 * @return execution data
    +	 */
    +	public ExecutionData get(final Long id, final String name,
    +			final int probecount) {
    +<span class="fc" id="L133">		ExecutionData entry = entries.get(id);</span>
    +<span class="fc bfc" id="L134" title="All 2 branches covered.">		if (entry == null) {</span>
    +<span class="fc" id="L135">			entry = new ExecutionData(id.longValue(), name, probecount);</span>
    +<span class="fc" id="L136">			entries.put(id, entry);</span>
    +<span class="fc" id="L137">			names.add(name);</span>
    +		} else {
    +<span class="fc" id="L139">			entry.assertCompatibility(id.longValue(), name, probecount);</span>
    +		}
    +<span class="fc" id="L141">		return entry;</span>
    +	}
    +
    +	/**
    +	 * Resets all execution data probes, i.e. marks them as not executed. The
    +	 * execution data objects itself are not removed.
    +	 */
    +	public void reset() {
    +<span class="fc bfc" id="L149" title="All 2 branches covered.">		for (final ExecutionData executionData : this.entries.values()) {</span>
    +<span class="fc" id="L150">			executionData.reset();</span>
    +		}
    +<span class="fc" id="L152">	}</span>
    +
    +	/**
    +	 * Returns a collection that represents current contents of the store.
    +	 *
    +	 * @return current contents
    +	 */
    +	public Collection&lt;ExecutionData&gt; getContents() {
    +<span class="fc" id="L160">		return new ArrayList&lt;ExecutionData&gt;(entries.values());</span>
    +	}
    +
    +	/**
    +	 * Writes the content of the store to the given visitor interface.
    +	 *
    +	 * @param visitor
    +	 *            interface to write content to
    +	 */
    +	public void accept(final IExecutionDataVisitor visitor) {
    +<span class="fc bfc" id="L170" title="All 2 branches covered.">		for (final ExecutionData data : getContents()) {</span>
    +<span class="fc" id="L171">			visitor.visitClassExecution(data);</span>
    +		}
    +<span class="fc" id="L173">	}</span>
    +
    +	// === IExecutionDataVisitor ===
    +
    +	public void visitClassExecution(final ExecutionData data) {
    +<span class="fc" id="L178">		put(data);</span>
    +<span class="fc" id="L179">	}</span>
    +}
    +</pre><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.12.202403270442</span>Code Coverage Report for JaCoCo 0.8.12-SNAPSHOT</div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/trunk/coverage/org.jacoco.core/org.jacoco.core.data/ExecutionDataWriter.html b/jacoco/trunk/coverage/org.jacoco.core/org.jacoco.core.data/ExecutionDataWriter.html
    new file mode 100644
    index 00000000000..b56995ae144
    --- /dev/null
    +++ b/jacoco/trunk/coverage/org.jacoco.core/org.jacoco.core.data/ExecutionDataWriter.html
    @@ -0,0 +1 @@
    +<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="en"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../../jacoco-resources/report.gif" type="image/gif"/><title>ExecutionDataWriter</title><script type="text/javascript" src="../../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../../index.html" class="el_report">JaCoCo</a> &gt; <a href="../index.html" class="el_bundle">org.jacoco.core</a> &gt; <a href="index.html" class="el_package">org.jacoco.core.data</a> &gt; <span class="el_class">ExecutionDataWriter</span></div><h1>ExecutionDataWriter</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">6 of 107</td><td class="ctr2">94%</td><td class="bar">0 of 2</td><td class="ctr2">100%</td><td class="ctr1">0</td><td class="ctr2">8</td><td class="ctr1">2</td><td class="ctr2">35</td><td class="ctr1">0</td><td class="ctr2">7</td></tr></tfoot><tbody><tr><td id="a2"><a href="ExecutionDataWriter.java.html#L121" class="el_method">getFileHeader()</a></td><td class="bar" id="b0"><img src="../../jacoco-resources/redbar.gif" width="24" height="10" title="6" alt="6"/><img src="../../jacoco-resources/greenbar.gif" width="52" height="10" title="13" alt="13"/></td><td class="ctr2" id="c6">68%</td><td class="bar" id="d1"/><td class="ctr2" id="e1">n/a</td><td class="ctr1" id="f0">0</td><td class="ctr2" id="g1">1</td><td class="ctr1" id="h0">2</td><td class="ctr2" id="i2">6</td><td class="ctr1" id="j0">0</td><td class="ctr2" id="k0">1</td></tr><tr><td id="a4"><a href="ExecutionDataWriter.java.html#L101" class="el_method">visitClassExecution(ExecutionData)</a></td><td class="bar" id="b1"><img src="../../jacoco-resources/greenbar.gif" width="120" height="10" title="30" alt="30"/></td><td class="ctr2" id="c0">100%</td><td class="bar" id="d0"><img src="../../jacoco-resources/greenbar.gif" width="120" height="10" title="2" alt="2"/></td><td class="ctr2" id="e0">100%</td><td class="ctr1" id="f1">0</td><td class="ctr2" id="g0">2</td><td class="ctr1" id="h1">0</td><td class="ctr2" id="i0">9</td><td class="ctr1" id="j1">0</td><td class="ctr2" id="k1">1</td></tr><tr><td id="a5"><a href="ExecutionDataWriter.java.html#L91" class="el_method">visitSessionInfo(SessionInfo)</a></td><td class="bar" id="b2"><img src="../../jacoco-resources/greenbar.gif" width="108" height="10" title="27" alt="27"/></td><td class="ctr2" id="c1">100%</td><td class="bar" id="d2"/><td class="ctr2" id="e2">n/a</td><td class="ctr1" id="f2">0</td><td class="ctr2" id="g2">1</td><td class="ctr1" id="h2">0</td><td class="ctr2" id="i1">8</td><td class="ctr1" id="j2">0</td><td class="ctr2" id="k2">1</td></tr><tr><td id="a6"><a href="ExecutionDataWriter.java.html#L74" class="el_method">writeHeader()</a></td><td class="bar" id="b3"><img src="../../jacoco-resources/greenbar.gif" width="52" height="10" title="13" alt="13"/></td><td class="ctr2" id="c2">100%</td><td class="bar" id="d3"/><td class="ctr2" id="e3">n/a</td><td class="ctr1" id="f3">0</td><td class="ctr2" id="g3">1</td><td class="ctr1" id="h3">0</td><td class="ctr2" id="i3">4</td><td class="ctr1" id="j3">0</td><td class="ctr2" id="k3">1</td></tr><tr><td id="a0"><a href="ExecutionDataWriter.java.html#L62" class="el_method">ExecutionDataWriter(OutputStream)</a></td><td class="bar" id="b4"><img src="../../jacoco-resources/greenbar.gif" width="44" height="10" title="11" alt="11"/></td><td class="ctr2" id="c3">100%</td><td class="bar" id="d4"/><td class="ctr2" id="e4">n/a</td><td class="ctr1" id="f4">0</td><td class="ctr2" id="g4">1</td><td class="ctr1" id="h4">0</td><td class="ctr2" id="i4">4</td><td class="ctr1" id="j4">0</td><td class="ctr2" id="k4">1</td></tr><tr><td id="a1"><a href="ExecutionDataWriter.java.html#L86" class="el_method">flush()</a></td><td class="bar" id="b5"><img src="../../jacoco-resources/greenbar.gif" width="16" height="10" title="4" alt="4"/></td><td class="ctr2" id="c4">100%</td><td class="bar" id="d5"/><td class="ctr2" id="e5">n/a</td><td class="ctr1" id="f5">0</td><td class="ctr2" id="g5">1</td><td class="ctr1" id="h5">0</td><td class="ctr2" id="i5">2</td><td class="ctr1" id="j5">0</td><td class="ctr2" id="k5">1</td></tr><tr><td id="a3"><a href="ExecutionDataWriter.java.html#L34" class="el_method">static {...}</a></td><td class="bar" id="b6"><img src="../../jacoco-resources/greenbar.gif" width="12" height="10" title="3" alt="3"/></td><td class="ctr2" id="c5">100%</td><td class="bar" id="d6"/><td class="ctr2" id="e6">n/a</td><td class="ctr1" id="f6">0</td><td class="ctr2" id="g6">1</td><td class="ctr1" id="h6">0</td><td class="ctr2" id="i6">2</td><td class="ctr1" id="j6">0</td><td class="ctr2" id="k6">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.12.202403270442</span>Code Coverage Report for JaCoCo 0.8.12-SNAPSHOT</div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/trunk/coverage/org.jacoco.core/org.jacoco.core.data/ExecutionDataWriter.java.html b/jacoco/trunk/coverage/org.jacoco.core/org.jacoco.core.data/ExecutionDataWriter.java.html
    new file mode 100644
    index 00000000000..4874996f850
    --- /dev/null
    +++ b/jacoco/trunk/coverage/org.jacoco.core/org.jacoco.core.data/ExecutionDataWriter.java.html
    @@ -0,0 +1,132 @@
    +<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="en"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../../jacoco-resources/report.gif" type="image/gif"/><title>ExecutionDataWriter.java</title><link rel="stylesheet" href="../../jacoco-resources/prettify.css" type="text/css"/><script type="text/javascript" src="../../jacoco-resources/prettify.js"></script></head><body onload="window['PR_TAB_WIDTH']=4;prettyPrint()"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../../index.html" class="el_report">JaCoCo</a> &gt; <a href="../index.html" class="el_bundle">org.jacoco.core</a> &gt; <a href="index.source.html" class="el_package">org.jacoco.core.data</a> &gt; <span class="el_source">ExecutionDataWriter.java</span></div><h1>ExecutionDataWriter.java</h1><pre class="source lang-java linenums">/*******************************************************************************
    + * Copyright (c) 2009, 2024 Mountainminds GmbH &amp; Co. KG and Contributors
    + * This program and the accompanying materials are made available under
    + * the terms of the Eclipse Public License 2.0 which is available at
    + * http://www.eclipse.org/legal/epl-2.0
    + *
    + * SPDX-License-Identifier: EPL-2.0
    + *
    + * Contributors:
    + *    Marc R. Hoffmann - initial API and implementation
    + *
    + *******************************************************************************/
    +package org.jacoco.core.data;
    +
    +import java.io.ByteArrayOutputStream;
    +import java.io.IOException;
    +import java.io.OutputStream;
    +
    +import org.jacoco.core.internal.data.CompactDataOutput;
    +
    +/**
    + * Serialization of execution data into binary streams.
    + */
    +public class ExecutionDataWriter
    +		implements ISessionInfoVisitor, IExecutionDataVisitor {
    +
    +	/**
    +	 * File format version, will be incremented for each incompatible change.
    +	 */
    +	public static final char FORMAT_VERSION;
    +
    +	static {
    +		// Runtime initialize to ensure javac does not inline the value.
    +<span class="fc" id="L34">		FORMAT_VERSION = 0x1007;</span>
    +<span class="fc" id="L35">	}</span>
    +
    +	/** Magic number in header for file format identification. */
    +	public static final char MAGIC_NUMBER = 0xC0C0;
    +
    +	/** Block identifier for file headers. */
    +	public static final byte BLOCK_HEADER = 0x01;
    +
    +	/** Block identifier for session information. */
    +	public static final byte BLOCK_SESSIONINFO = 0x10;
    +
    +	/** Block identifier for execution data of a single class. */
    +	public static final byte BLOCK_EXECUTIONDATA = 0x11;
    +
    +	/** Underlying data output */
    +	protected final CompactDataOutput out;
    +
    +	/**
    +	 * Creates a new writer based on the given output stream. Depending on the
    +	 * nature of the underlying stream output should be buffered as most data is
    +	 * written in single bytes.
    +	 *
    +	 * @param output
    +	 *            binary stream to write execution data to
    +	 * @throws IOException
    +	 *             if the header can't be written
    +	 */
    +<span class="fc" id="L62">	public ExecutionDataWriter(final OutputStream output) throws IOException {</span>
    +<span class="fc" id="L63">		this.out = new CompactDataOutput(output);</span>
    +<span class="fc" id="L64">		writeHeader();</span>
    +<span class="fc" id="L65">	}</span>
    +
    +	/**
    +	 * Writes an file header to identify the stream and its protocol version.
    +	 *
    +	 * @throws IOException
    +	 *             if the header can't be written
    +	 */
    +	private void writeHeader() throws IOException {
    +<span class="fc" id="L74">		out.writeByte(BLOCK_HEADER);</span>
    +<span class="fc" id="L75">		out.writeChar(MAGIC_NUMBER);</span>
    +<span class="fc" id="L76">		out.writeChar(FORMAT_VERSION);</span>
    +<span class="fc" id="L77">	}</span>
    +
    +	/**
    +	 * Flushes the underlying stream.
    +	 *
    +	 * @throws IOException
    +	 *             if the underlying stream can't be flushed
    +	 */
    +	public void flush() throws IOException {
    +<span class="fc" id="L86">		out.flush();</span>
    +<span class="fc" id="L87">	}</span>
    +
    +	public void visitSessionInfo(final SessionInfo info) {
    +		try {
    +<span class="fc" id="L91">			out.writeByte(BLOCK_SESSIONINFO);</span>
    +<span class="fc" id="L92">			out.writeUTF(info.getId());</span>
    +<span class="fc" id="L93">			out.writeLong(info.getStartTimeStamp());</span>
    +<span class="fc" id="L94">			out.writeLong(info.getDumpTimeStamp());</span>
    +<span class="fc" id="L95">		} catch (final IOException e) {</span>
    +<span class="fc" id="L96">			throw new RuntimeException(e);</span>
    +<span class="fc" id="L97">		}</span>
    +<span class="fc" id="L98">	}</span>
    +
    +	public void visitClassExecution(final ExecutionData data) {
    +<span class="fc bfc" id="L101" title="All 2 branches covered.">		if (data.hasHits()) {</span>
    +			try {
    +<span class="fc" id="L103">				out.writeByte(BLOCK_EXECUTIONDATA);</span>
    +<span class="fc" id="L104">				out.writeLong(data.getId());</span>
    +<span class="fc" id="L105">				out.writeUTF(data.getName());</span>
    +<span class="fc" id="L106">				out.writeBooleanArray(data.getProbes());</span>
    +<span class="fc" id="L107">			} catch (final IOException e) {</span>
    +<span class="fc" id="L108">				throw new RuntimeException(e);</span>
    +<span class="fc" id="L109">			}</span>
    +		}
    +<span class="fc" id="L111">	}</span>
    +
    +	/**
    +	 * Returns the first bytes of a file that represents a valid execution data
    +	 * file. In any case every execution data file starts with the three bytes
    +	 * &lt;code&gt;0x01 0xC0 0xC0&lt;/code&gt;.
    +	 *
    +	 * @return first bytes of a execution data file
    +	 */
    +	public static final byte[] getFileHeader() {
    +<span class="fc" id="L121">		final ByteArrayOutputStream buffer = new ByteArrayOutputStream();</span>
    +		try {
    +<span class="fc" id="L123">			new ExecutionDataWriter(buffer);</span>
    +<span class="nc" id="L124">		} catch (final IOException e) {</span>
    +			// Must not happen with ByteArrayOutputStream
    +<span class="nc" id="L126">			throw new AssertionError(e);</span>
    +<span class="fc" id="L127">		}</span>
    +<span class="fc" id="L128">		return buffer.toByteArray();</span>
    +	}
    +
    +}
    +</pre><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.12.202403270442</span>Code Coverage Report for JaCoCo 0.8.12-SNAPSHOT</div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/trunk/coverage/org.jacoco.core/org.jacoco.core.data/IncompatibleExecDataVersionException.html b/jacoco/trunk/coverage/org.jacoco.core/org.jacoco.core.data/IncompatibleExecDataVersionException.html
    new file mode 100644
    index 00000000000..85225ee88a7
    --- /dev/null
    +++ b/jacoco/trunk/coverage/org.jacoco.core/org.jacoco.core.data/IncompatibleExecDataVersionException.html
    @@ -0,0 +1 @@
    +<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="en"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../../jacoco-resources/report.gif" type="image/gif"/><title>IncompatibleExecDataVersionException</title><script type="text/javascript" src="../../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../../index.html" class="el_report">JaCoCo</a> &gt; <a href="../index.html" class="el_bundle">org.jacoco.core</a> &gt; <a href="index.html" class="el_package">org.jacoco.core.data</a> &gt; <span class="el_class">IncompatibleExecDataVersionException</span></div><h1>IncompatibleExecDataVersionException</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">0 of 25</td><td class="ctr2">100%</td><td class="bar">0 of 0</td><td class="ctr2">n/a</td><td class="ctr1">0</td><td class="ctr2">3</td><td class="ctr1">0</td><td class="ctr2">5</td><td class="ctr1">0</td><td class="ctr2">3</td></tr></tfoot><tbody><tr><td id="a2"><a href="IncompatibleExecDataVersionException.java.html#L33" class="el_method">IncompatibleExecDataVersionException(int)</a></td><td class="bar" id="b0"><img src="../../jacoco-resources/greenbar.gif" width="120" height="10" title="20" alt="20"/></td><td class="ctr2" id="c0">100%</td><td class="bar" id="d0"/><td class="ctr2" id="e0">n/a</td><td class="ctr1" id="f0">0</td><td class="ctr2" id="g0">1</td><td class="ctr1" id="h0">0</td><td class="ctr2" id="i0">3</td><td class="ctr1" id="j0">0</td><td class="ctr2" id="k0">1</td></tr><tr><td id="a0"><a href="IncompatibleExecDataVersionException.java.html#L56" class="el_method">getActualVersion()</a></td><td class="bar" id="b1"><img src="../../jacoco-resources/greenbar.gif" width="18" height="10" title="3" alt="3"/></td><td class="ctr2" id="c1">100%</td><td class="bar" id="d1"/><td class="ctr2" id="e1">n/a</td><td class="ctr1" id="f1">0</td><td class="ctr2" id="g1">1</td><td class="ctr1" id="h1">0</td><td class="ctr2" id="i1">1</td><td class="ctr1" id="j1">0</td><td class="ctr2" id="k1">1</td></tr><tr><td id="a1"><a href="IncompatibleExecDataVersionException.java.html#L47" class="el_method">getExpectedVersion()</a></td><td class="bar" id="b2"><img src="../../jacoco-resources/greenbar.gif" width="12" height="10" title="2" alt="2"/></td><td class="ctr2" id="c2">100%</td><td class="bar" id="d2"/><td class="ctr2" id="e2">n/a</td><td class="ctr1" id="f2">0</td><td class="ctr2" id="g2">1</td><td class="ctr1" id="h2">0</td><td class="ctr2" id="i2">1</td><td class="ctr1" id="j2">0</td><td class="ctr2" id="k2">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.12.202403270442</span>Code Coverage Report for JaCoCo 0.8.12-SNAPSHOT</div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/trunk/coverage/org.jacoco.core/org.jacoco.core.data/IncompatibleExecDataVersionException.java.html b/jacoco/trunk/coverage/org.jacoco.core/org.jacoco.core.data/IncompatibleExecDataVersionException.java.html
    new file mode 100644
    index 00000000000..597a656c01b
    --- /dev/null
    +++ b/jacoco/trunk/coverage/org.jacoco.core/org.jacoco.core.data/IncompatibleExecDataVersionException.java.html
    @@ -0,0 +1,60 @@
    +<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="en"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../../jacoco-resources/report.gif" type="image/gif"/><title>IncompatibleExecDataVersionException.java</title><link rel="stylesheet" href="../../jacoco-resources/prettify.css" type="text/css"/><script type="text/javascript" src="../../jacoco-resources/prettify.js"></script></head><body onload="window['PR_TAB_WIDTH']=4;prettyPrint()"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../../index.html" class="el_report">JaCoCo</a> &gt; <a href="../index.html" class="el_bundle">org.jacoco.core</a> &gt; <a href="index.source.html" class="el_package">org.jacoco.core.data</a> &gt; <span class="el_source">IncompatibleExecDataVersionException.java</span></div><h1>IncompatibleExecDataVersionException.java</h1><pre class="source lang-java linenums">/*******************************************************************************
    + * Copyright (c) 2009, 2024 Mountainminds GmbH &amp; Co. KG and Contributors
    + * This program and the accompanying materials are made available under
    + * the terms of the Eclipse Public License 2.0 which is available at
    + * http://www.eclipse.org/legal/epl-2.0
    + *
    + * SPDX-License-Identifier: EPL-2.0
    + *
    + * Contributors:
    + *    Marc R. Hoffmann, somechris - initial API and implementation
    + *
    + *******************************************************************************/
    +package org.jacoco.core.data;
    +
    +import java.io.IOException;
    +
    +/**
    + * Signals that execution data in an incompatible version was tried to read.
    + */
    +public class IncompatibleExecDataVersionException extends IOException {
    +
    +	private static final long serialVersionUID = 1L;
    +
    +	private final int actualVersion;
    +
    +	/**
    +	 * Creates a new exception to flag version mismatches in execution data.
    +	 *
    +	 * @param actualVersion
    +	 *            version found in the exec data
    +	 */
    +	public IncompatibleExecDataVersionException(final int actualVersion) {
    +<span class="fc" id="L33">		super(String.format(&quot;Cannot read execution data version 0x%x. &quot;</span>
    +				+ &quot;This version of JaCoCo uses execution data version 0x%x.&quot;,
    +				Integer.valueOf(actualVersion),
    +				Integer.valueOf(ExecutionDataWriter.FORMAT_VERSION)));
    +<span class="fc" id="L37">		this.actualVersion = actualVersion;</span>
    +<span class="fc" id="L38">	}</span>
    +
    +	/**
    +	 * Gets the version expected in the execution data which can be read by this
    +	 * version of JaCoCo.
    +	 *
    +	 * @return expected version in execution data
    +	 */
    +	public int getExpectedVersion() {
    +<span class="fc" id="L47">		return ExecutionDataWriter.FORMAT_VERSION;</span>
    +	}
    +
    +	/**
    +	 * Gets the actual version found in the execution data.
    +	 *
    +	 * @return actual version in execution data
    +	 */
    +	public int getActualVersion() {
    +<span class="fc" id="L56">		return actualVersion;</span>
    +	}
    +
    +}
    +</pre><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.12.202403270442</span>Code Coverage Report for JaCoCo 0.8.12-SNAPSHOT</div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/trunk/coverage/org.jacoco.core/org.jacoco.core.data/SessionInfo.html b/jacoco/trunk/coverage/org.jacoco.core/org.jacoco.core.data/SessionInfo.html
    new file mode 100644
    index 00000000000..ac0357d6a7c
    --- /dev/null
    +++ b/jacoco/trunk/coverage/org.jacoco.core/org.jacoco.core.data/SessionInfo.html
    @@ -0,0 +1 @@
    +<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="en"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../../jacoco-resources/report.gif" type="image/gif"/><title>SessionInfo</title><script type="text/javascript" src="../../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../../index.html" class="el_report">JaCoCo</a> &gt; <a href="../index.html" class="el_bundle">org.jacoco.core</a> &gt; <a href="index.html" class="el_package">org.jacoco.core.data</a> &gt; <span class="el_class">SessionInfo</span></div><h1>SessionInfo</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">0 of 57</td><td class="ctr2">100%</td><td class="bar">0 of 6</td><td class="ctr2">100%</td><td class="ctr1">0</td><td class="ctr2">9</td><td class="ctr1">0</td><td class="ctr2">16</td><td class="ctr1">0</td><td class="ctr2">6</td></tr></tfoot><tbody><tr><td id="a4"><a href="SessionInfo.java.html#L39" class="el_method">SessionInfo(String, long, long)</a></td><td class="bar" id="b0"><img src="../../jacoco-resources/greenbar.gif" width="120" height="10" title="18" alt="18"/></td><td class="ctr2" id="c0">100%</td><td class="bar" id="d1"><img src="../../jacoco-resources/greenbar.gif" width="60" height="10" title="2" alt="2"/></td><td class="ctr2" id="e0">100%</td><td class="ctr1" id="f0">0</td><td class="ctr2" id="g1">2</td><td class="ctr1" id="h0">0</td><td class="ctr2" id="i0">7</td><td class="ctr1" id="j0">0</td><td class="ctr2" id="k0">1</td></tr><tr><td id="a0"><a href="SessionInfo.java.html#L71" class="el_method">compareTo(SessionInfo)</a></td><td class="bar" id="b1"><img src="../../jacoco-resources/greenbar.gif" width="120" height="10" title="18" alt="18"/></td><td class="ctr2" id="c1">100%</td><td class="bar" id="d0"><img src="../../jacoco-resources/greenbar.gif" width="120" height="10" title="4" alt="4"/></td><td class="ctr2" id="e1">100%</td><td class="ctr1" id="f1">0</td><td class="ctr2" id="g0">3</td><td class="ctr1" id="h1">0</td><td class="ctr2" id="i1">5</td><td class="ctr1" id="j1">0</td><td class="ctr2" id="k1">1</td></tr><tr><td id="a5"><a href="SessionInfo.java.html#L82" class="el_method">toString()</a></td><td class="bar" id="b2"><img src="../../jacoco-resources/greenbar.gif" width="80" height="10" title="12" alt="12"/></td><td class="ctr2" id="c2">100%</td><td class="bar" id="d2"/><td class="ctr2" id="e2">n/a</td><td class="ctr1" id="f2">0</td><td class="ctr2" id="g2">1</td><td class="ctr1" id="h2">0</td><td class="ctr2" id="i2">1</td><td class="ctr1" id="j2">0</td><td class="ctr2" id="k2">1</td></tr><tr><td id="a2"><a href="SessionInfo.java.html#L52" class="el_method">getId()</a></td><td class="bar" id="b3"><img src="../../jacoco-resources/greenbar.gif" width="20" height="10" title="3" alt="3"/></td><td class="ctr2" id="c3">100%</td><td class="bar" id="d3"/><td class="ctr2" id="e3">n/a</td><td class="ctr1" id="f3">0</td><td class="ctr2" id="g3">1</td><td class="ctr1" id="h3">0</td><td class="ctr2" id="i3">1</td><td class="ctr1" id="j3">0</td><td class="ctr2" id="k3">1</td></tr><tr><td id="a3"><a href="SessionInfo.java.html#L60" class="el_method">getStartTimeStamp()</a></td><td class="bar" id="b4"><img src="../../jacoco-resources/greenbar.gif" width="20" height="10" title="3" alt="3"/></td><td class="ctr2" id="c4">100%</td><td class="bar" id="d4"/><td class="ctr2" id="e4">n/a</td><td class="ctr1" id="f4">0</td><td class="ctr2" id="g4">1</td><td class="ctr1" id="h4">0</td><td class="ctr2" id="i4">1</td><td class="ctr1" id="j4">0</td><td class="ctr2" id="k4">1</td></tr><tr><td id="a1"><a href="SessionInfo.java.html#L67" class="el_method">getDumpTimeStamp()</a></td><td class="bar" id="b5"><img src="../../jacoco-resources/greenbar.gif" width="20" height="10" title="3" alt="3"/></td><td class="ctr2" id="c5">100%</td><td class="bar" id="d5"/><td class="ctr2" id="e5">n/a</td><td class="ctr1" id="f5">0</td><td class="ctr2" id="g5">1</td><td class="ctr1" id="h5">0</td><td class="ctr2" id="i5">1</td><td class="ctr1" id="j5">0</td><td class="ctr2" id="k5">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.12.202403270442</span>Code Coverage Report for JaCoCo 0.8.12-SNAPSHOT</div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/trunk/coverage/org.jacoco.core/org.jacoco.core.data/SessionInfo.java.html b/jacoco/trunk/coverage/org.jacoco.core/org.jacoco.core.data/SessionInfo.java.html
    new file mode 100644
    index 00000000000..0d5f2c157bb
    --- /dev/null
    +++ b/jacoco/trunk/coverage/org.jacoco.core/org.jacoco.core.data/SessionInfo.java.html
    @@ -0,0 +1,85 @@
    +<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="en"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../../jacoco-resources/report.gif" type="image/gif"/><title>SessionInfo.java</title><link rel="stylesheet" href="../../jacoco-resources/prettify.css" type="text/css"/><script type="text/javascript" src="../../jacoco-resources/prettify.js"></script></head><body onload="window['PR_TAB_WIDTH']=4;prettyPrint()"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../../index.html" class="el_report">JaCoCo</a> &gt; <a href="../index.html" class="el_bundle">org.jacoco.core</a> &gt; <a href="index.source.html" class="el_package">org.jacoco.core.data</a> &gt; <span class="el_source">SessionInfo.java</span></div><h1>SessionInfo.java</h1><pre class="source lang-java linenums">/*******************************************************************************
    + * Copyright (c) 2009, 2024 Mountainminds GmbH &amp; Co. KG and Contributors
    + * This program and the accompanying materials are made available under
    + * the terms of the Eclipse Public License 2.0 which is available at
    + * http://www.eclipse.org/legal/epl-2.0
    + *
    + * SPDX-License-Identifier: EPL-2.0
    + *
    + * Contributors:
    + *    Marc R. Hoffmann - initial API and implementation
    + *
    + *******************************************************************************/
    +package org.jacoco.core.data;
    +
    +/**
    + * Data object describing a session which was the source of execution data.
    + * {@link SessionInfo} instances can be sorted by dump date through the
    + * {@link Comparable} interface.
    + */
    +public class SessionInfo implements Comparable&lt;SessionInfo&gt; {
    +
    +	private final String id;
    +
    +	private final long start;
    +
    +	private final long dump;
    +
    +	/**
    +	 * Create a immutable session info with the given data.
    +	 *
    +	 * @param id
    +	 *            arbitrary session identifier, must not be &lt;code&gt;null&lt;/code&gt;
    +	 * @param start
    +	 *            the epoc based time stamp when execution data recording has
    +	 *            been started
    +	 * @param dump
    +	 *            the epoc based time stamp when execution data was collected
    +	 */
    +<span class="fc" id="L39">	public SessionInfo(final String id, final long start, final long dump) {</span>
    +<span class="fc bfc" id="L40" title="All 2 branches covered.">		if (id == null) {</span>
    +<span class="fc" id="L41">			throw new IllegalArgumentException();</span>
    +		}
    +<span class="fc" id="L43">		this.id = id;</span>
    +<span class="fc" id="L44">		this.start = start;</span>
    +<span class="fc" id="L45">		this.dump = dump;</span>
    +<span class="fc" id="L46">	}</span>
    +
    +	/**
    +	 * @return identifier for this session
    +	 */
    +	public String getId() {
    +<span class="fc" id="L52">		return id;</span>
    +	}
    +
    +	/**
    +	 * @return the epoc based time stamp when execution data recording has been
    +	 *         started
    +	 */
    +	public long getStartTimeStamp() {
    +<span class="fc" id="L60">		return start;</span>
    +	}
    +
    +	/**
    +	 * @return the epoc based time stamp when execution data was collected
    +	 */
    +	public long getDumpTimeStamp() {
    +<span class="fc" id="L67">		return dump;</span>
    +	}
    +
    +	public int compareTo(final SessionInfo other) {
    +<span class="fc bfc" id="L71" title="All 2 branches covered.">		if (this.dump &lt; other.dump) {</span>
    +<span class="fc" id="L72">			return -1;</span>
    +		}
    +<span class="fc bfc" id="L74" title="All 2 branches covered.">		if (this.dump &gt; other.dump) {</span>
    +<span class="fc" id="L75">			return +1;</span>
    +		}
    +<span class="fc" id="L77">		return 0;</span>
    +	}
    +
    +	@Override
    +	public String toString() {
    +<span class="fc" id="L82">		return &quot;SessionInfo[&quot; + id + &quot;]&quot;;</span>
    +	}
    +}
    +</pre><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.12.202403270442</span>Code Coverage Report for JaCoCo 0.8.12-SNAPSHOT</div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/trunk/coverage/org.jacoco.core/org.jacoco.core.data/SessionInfoStore.html b/jacoco/trunk/coverage/org.jacoco.core/org.jacoco.core.data/SessionInfoStore.html
    new file mode 100644
    index 00000000000..7c37c7ed658
    --- /dev/null
    +++ b/jacoco/trunk/coverage/org.jacoco.core/org.jacoco.core.data/SessionInfoStore.html
    @@ -0,0 +1 @@
    +<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="en"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../../jacoco-resources/report.gif" type="image/gif"/><title>SessionInfoStore</title><script type="text/javascript" src="../../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../../index.html" class="el_report">JaCoCo</a> &gt; <a href="../index.html" class="el_bundle">org.jacoco.core</a> &gt; <a href="index.html" class="el_package">org.jacoco.core.data</a> &gt; <span class="el_class">SessionInfoStore</span></div><h1>SessionInfoStore</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">0 of 88</td><td class="ctr2">100%</td><td class="bar">0 of 6</td><td class="ctr2">100%</td><td class="ctr1">0</td><td class="ctr2">9</td><td class="ctr1">0</td><td class="ctr2">19</td><td class="ctr1">0</td><td class="ctr2">6</td></tr></tfoot><tbody><tr><td id="a2"><a href="SessionInfoStore.java.html#L65" class="el_method">getMerged(String)</a></td><td class="bar" id="b0"><img src="../../jacoco-resources/greenbar.gif" width="120" height="10" title="44" alt="44"/></td><td class="ctr2" id="c0">100%</td><td class="bar" id="d0"><img src="../../jacoco-resources/greenbar.gif" width="120" height="10" title="4" alt="4"/></td><td class="ctr2" id="e0">100%</td><td class="ctr1" id="f0">0</td><td class="ctr2" id="g0">3</td><td class="ctr1" id="h0">0</td><td class="ctr2" id="i0">8</td><td class="ctr1" id="j0">0</td><td class="ctr2" id="k0">1</td></tr><tr><td id="a0"><a href="SessionInfoStore.java.html#L85" class="el_method">accept(ISessionInfoVisitor)</a></td><td class="bar" id="b1"><img src="../../jacoco-resources/greenbar.gif" width="43" height="10" title="16" alt="16"/></td><td class="ctr2" id="c1">100%</td><td class="bar" id="d1"><img src="../../jacoco-resources/greenbar.gif" width="60" height="10" title="2" alt="2"/></td><td class="ctr2" id="e1">100%</td><td class="ctr1" id="f1">0</td><td class="ctr2" id="g1">2</td><td class="ctr1" id="h1">0</td><td class="ctr2" id="i1">3</td><td class="ctr1" id="j1">0</td><td class="ctr2" id="k1">1</td></tr><tr><td id="a1"><a href="SessionInfoStore.java.html#L47" class="el_method">getInfos()</a></td><td class="bar" id="b2"><img src="../../jacoco-resources/greenbar.gif" width="27" height="10" title="10" alt="10"/></td><td class="ctr2" id="c2">100%</td><td class="bar" id="d2"/><td class="ctr2" id="e2">n/a</td><td class="ctr1" id="f2">0</td><td class="ctr2" id="g2">1</td><td class="ctr1" id="h2">0</td><td class="ctr2" id="i2">3</td><td class="ctr1" id="j2">0</td><td class="ctr2" id="k2">1</td></tr><tr><td id="a4"><a href="SessionInfoStore.java.html#L26" class="el_method">SessionInfoStore()</a></td><td class="bar" id="b3"><img src="../../jacoco-resources/greenbar.gif" width="21" height="10" title="8" alt="8"/></td><td class="ctr2" id="c3">100%</td><td class="bar" id="d3"/><td class="ctr2" id="e3">n/a</td><td class="ctr1" id="f3">0</td><td class="ctr2" id="g3">1</td><td class="ctr1" id="h3">0</td><td class="ctr2" id="i3">2</td><td class="ctr1" id="j3">0</td><td class="ctr2" id="k3">1</td></tr><tr><td id="a5"><a href="SessionInfoStore.java.html#L93" class="el_method">visitSessionInfo(SessionInfo)</a></td><td class="bar" id="b4"><img src="../../jacoco-resources/greenbar.gif" width="16" height="10" title="6" alt="6"/></td><td class="ctr2" id="c4">100%</td><td class="bar" id="d4"/><td class="ctr2" id="e4">n/a</td><td class="ctr1" id="f4">0</td><td class="ctr2" id="g4">1</td><td class="ctr1" id="h4">0</td><td class="ctr2" id="i4">2</td><td class="ctr1" id="j4">0</td><td class="ctr2" id="k4">1</td></tr><tr><td id="a3"><a href="SessionInfoStore.java.html#L36" class="el_method">isEmpty()</a></td><td class="bar" id="b5"><img src="../../jacoco-resources/greenbar.gif" width="10" height="10" title="4" alt="4"/></td><td class="ctr2" id="c5">100%</td><td class="bar" id="d5"/><td class="ctr2" id="e5">n/a</td><td class="ctr1" id="f5">0</td><td class="ctr2" id="g5">1</td><td class="ctr1" id="h5">0</td><td class="ctr2" id="i5">1</td><td class="ctr1" id="j5">0</td><td class="ctr2" id="k5">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.12.202403270442</span>Code Coverage Report for JaCoCo 0.8.12-SNAPSHOT</div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/trunk/coverage/org.jacoco.core/org.jacoco.core.data/SessionInfoStore.java.html b/jacoco/trunk/coverage/org.jacoco.core/org.jacoco.core.data/SessionInfoStore.java.html
    new file mode 100644
    index 00000000000..d68aa559017
    --- /dev/null
    +++ b/jacoco/trunk/coverage/org.jacoco.core/org.jacoco.core.data/SessionInfoStore.java.html
    @@ -0,0 +1,97 @@
    +<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="en"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../../jacoco-resources/report.gif" type="image/gif"/><title>SessionInfoStore.java</title><link rel="stylesheet" href="../../jacoco-resources/prettify.css" type="text/css"/><script type="text/javascript" src="../../jacoco-resources/prettify.js"></script></head><body onload="window['PR_TAB_WIDTH']=4;prettyPrint()"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../../index.html" class="el_report">JaCoCo</a> &gt; <a href="../index.html" class="el_bundle">org.jacoco.core</a> &gt; <a href="index.source.html" class="el_package">org.jacoco.core.data</a> &gt; <span class="el_source">SessionInfoStore.java</span></div><h1>SessionInfoStore.java</h1><pre class="source lang-java linenums">/*******************************************************************************
    + * Copyright (c) 2009, 2024 Mountainminds GmbH &amp; Co. KG and Contributors
    + * This program and the accompanying materials are made available under
    + * the terms of the Eclipse Public License 2.0 which is available at
    + * http://www.eclipse.org/legal/epl-2.0
    + *
    + * SPDX-License-Identifier: EPL-2.0
    + *
    + * Contributors:
    + *    Marc R. Hoffmann - initial API and implementation
    + *
    + *******************************************************************************/
    +package org.jacoco.core.data;
    +
    +import static java.lang.Math.max;
    +import static java.lang.Math.min;
    +
    +import java.util.ArrayList;
    +import java.util.Collections;
    +import java.util.List;
    +
    +/**
    + * Container to collect and merge session {@link SessionInfo} objects. A
    + * instance of this class is not thread safe.
    + */
    +<span class="fc" id="L26">public class SessionInfoStore implements ISessionInfoVisitor {</span>
    +
    +<span class="fc" id="L28">	private final List&lt;SessionInfo&gt; infos = new ArrayList&lt;SessionInfo&gt;();</span>
    +
    +	/**
    +	 * Tests whether the store is empty.
    +	 *
    +	 * @return &lt;code&gt;true&lt;/code&gt; if the store is empty
    +	 */
    +	public boolean isEmpty() {
    +<span class="fc" id="L36">		return infos.isEmpty();</span>
    +	}
    +
    +	/**
    +	 * Returns all {@link SessionInfo} objects currently contained in the store.
    +	 * The info objects are ordered by its natural ordering (i.e. by the dump
    +	 * time stamp).
    +	 *
    +	 * @return list of stored {@link SessionInfo} objects
    +	 */
    +	public List&lt;SessionInfo&gt; getInfos() {
    +<span class="fc" id="L47">		final List&lt;SessionInfo&gt; copy = new ArrayList&lt;SessionInfo&gt;(infos);</span>
    +<span class="fc" id="L48">		Collections.sort(copy);</span>
    +<span class="fc" id="L49">		return copy;</span>
    +	}
    +
    +	/**
    +	 * Returns a new session info with the given id that contains a merged
    +	 * version from all contained version. The start timestamp is the minimum of
    +	 * all contained sessions, the dump timestamp the maximum of all contained
    +	 * sessions. If no session is currently contained both timestamps are set to
    +	 * &lt;code&gt;0&lt;/code&gt;.
    +	 *
    +	 * @param id
    +	 *            identifier for the merged session info
    +	 * @return new {@link SessionInfo} object
    +	 *
    +	 */
    +	public SessionInfo getMerged(final String id) {
    +<span class="fc bfc" id="L65" title="All 2 branches covered.">		if (infos.isEmpty()) {</span>
    +<span class="fc" id="L66">			return new SessionInfo(id, 0, 0);</span>
    +		}
    +<span class="fc" id="L68">		long start = Long.MAX_VALUE;</span>
    +<span class="fc" id="L69">		long dump = Long.MIN_VALUE;</span>
    +<span class="fc bfc" id="L70" title="All 2 branches covered.">		for (final SessionInfo i : infos) {</span>
    +<span class="fc" id="L71">			start = min(start, i.getStartTimeStamp());</span>
    +<span class="fc" id="L72">			dump = max(dump, i.getDumpTimeStamp());</span>
    +		}
    +<span class="fc" id="L74">		return new SessionInfo(id, start, dump);</span>
    +	}
    +
    +	/**
    +	 * Writes all contained {@link SessionInfo} objects into the given visitor.
    +	 * The info objects are emitted in chronological order by dump timestamp.
    +	 *
    +	 * @param visitor
    +	 *            visitor to emit {@link SessionInfo} objects to
    +	 */
    +	public void accept(final ISessionInfoVisitor visitor) {
    +<span class="fc bfc" id="L85" title="All 2 branches covered.">		for (final SessionInfo i : getInfos()) {</span>
    +<span class="fc" id="L86">			visitor.visitSessionInfo(i);</span>
    +		}
    +<span class="fc" id="L88">	}</span>
    +
    +	// === ISessionInfoVisitor ===
    +
    +	public void visitSessionInfo(final SessionInfo info) {
    +<span class="fc" id="L93">		infos.add(info);</span>
    +<span class="fc" id="L94">	}</span>
    +
    +}
    +</pre><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.12.202403270442</span>Code Coverage Report for JaCoCo 0.8.12-SNAPSHOT</div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/trunk/coverage/org.jacoco.core/org.jacoco.core.data/index.html b/jacoco/trunk/coverage/org.jacoco.core/org.jacoco.core.data/index.html
    new file mode 100644
    index 00000000000..09fea731d98
    --- /dev/null
    +++ b/jacoco/trunk/coverage/org.jacoco.core/org.jacoco.core.data/index.html
    @@ -0,0 +1 @@
    +<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="en"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../../jacoco-resources/report.gif" type="image/gif"/><title>org.jacoco.core.data</title><script type="text/javascript" src="../../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb', 'coveragetable'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="index.source.html" class="el_source">Source Files</a><a href="../../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../../index.html" class="el_report">JaCoCo</a> &gt; <a href="../index.html" class="el_bundle">org.jacoco.core</a> &gt; <span class="el_package">org.jacoco.core.data</span></div><h1>org.jacoco.core.data</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td><td class="sortable ctr1" id="l" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="m" onclick="toggleSort(this)">Classes</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">6 of 799</td><td class="ctr2">99%</td><td class="bar">0 of 60</td><td class="ctr2">100%</td><td class="ctr1">0</td><td class="ctr2">83</td><td class="ctr1">2</td><td class="ctr2">193</td><td class="ctr1">0</td><td class="ctr2">52</td><td class="ctr1">0</td><td class="ctr2">7</td></tr></tfoot><tbody><tr><td id="a3"><a href="ExecutionDataWriter.html" class="el_class">ExecutionDataWriter</a></td><td class="bar" id="b0"><img src="../../jacoco-resources/redbar.gif" width="3" height="10" title="6" alt="6"/><img src="../../jacoco-resources/greenbar.gif" width="64" height="10" title="101" alt="101"/></td><td class="ctr2" id="c6">94%</td><td class="bar" id="d5"><img src="../../jacoco-resources/greenbar.gif" width="12" height="10" title="2" alt="2"/></td><td class="ctr2" id="e0">100%</td><td class="ctr1" id="f0">0</td><td class="ctr2" id="g5">8</td><td class="ctr1" id="h0">2</td><td class="ctr2" id="i2">35</td><td class="ctr1" id="j0">0</td><td class="ctr2" id="k3">7</td><td class="ctr1" id="l0">0</td><td class="ctr2" id="m0">1</td></tr><tr><td id="a0"><a href="ExecutionData.html" class="el_class">ExecutionData</a></td><td class="bar" id="b1"><img src="../../jacoco-resources/greenbar.gif" width="120" height="10" title="188" alt="188"/></td><td class="ctr2" id="c0">100%</td><td class="bar" id="d1"><img src="../../jacoco-resources/greenbar.gif" width="84" height="10" title="14" alt="14"/></td><td class="ctr2" id="e1">100%</td><td class="ctr1" id="f1">0</td><td class="ctr2" id="g1">18</td><td class="ctr1" id="h1">0</td><td class="ctr2" id="i3">35</td><td class="ctr1" id="j1">0</td><td class="ctr2" id="k0">11</td><td class="ctr1" id="l1">0</td><td class="ctr2" id="m1">1</td></tr><tr><td id="a1"><a href="ExecutionDataReader.html" class="el_class">ExecutionDataReader</a></td><td class="bar" id="b2"><img src="../../jacoco-resources/greenbar.gif" width="107" height="10" title="168" alt="168"/></td><td class="ctr2" id="c1">100%</td><td class="bar" id="d0"><img src="../../jacoco-resources/greenbar.gif" width="120" height="10" title="20" alt="20"/></td><td class="ctr2" id="e2">100%</td><td class="ctr1" id="f2">0</td><td class="ctr2" id="g0">19</td><td class="ctr1" id="h2">0</td><td class="ctr2" id="i0">47</td><td class="ctr1" id="j2">0</td><td class="ctr2" id="k2">8</td><td class="ctr1" id="l2">0</td><td class="ctr2" id="m2">1</td></tr><tr><td id="a2"><a href="ExecutionDataStore.html" class="el_class">ExecutionDataStore</a></td><td class="bar" id="b3"><img src="../../jacoco-resources/greenbar.gif" width="105" height="10" title="166" alt="166"/></td><td class="ctr2" id="c2">100%</td><td class="bar" id="d2"><img src="../../jacoco-resources/greenbar.gif" width="72" height="10" title="12" alt="12"/></td><td class="ctr2" id="e3">100%</td><td class="ctr1" id="f3">0</td><td class="ctr2" id="g2">17</td><td class="ctr1" id="h3">0</td><td class="ctr2" id="i1">36</td><td class="ctr1" id="j3">0</td><td class="ctr2" id="k1">11</td><td class="ctr1" id="l3">0</td><td class="ctr2" id="m3">1</td></tr><tr><td id="a6"><a href="SessionInfoStore.html" class="el_class">SessionInfoStore</a></td><td class="bar" id="b4"><img src="../../jacoco-resources/greenbar.gif" width="56" height="10" title="88" alt="88"/></td><td class="ctr2" id="c3">100%</td><td class="bar" id="d3"><img src="../../jacoco-resources/greenbar.gif" width="36" height="10" title="6" alt="6"/></td><td class="ctr2" id="e4">100%</td><td class="ctr1" id="f4">0</td><td class="ctr2" id="g3">9</td><td class="ctr1" id="h4">0</td><td class="ctr2" id="i4">19</td><td class="ctr1" id="j4">0</td><td class="ctr2" id="k4">6</td><td class="ctr1" id="l4">0</td><td class="ctr2" id="m4">1</td></tr><tr><td id="a5"><a href="SessionInfo.html" class="el_class">SessionInfo</a></td><td class="bar" id="b5"><img src="../../jacoco-resources/greenbar.gif" width="36" height="10" title="57" alt="57"/></td><td class="ctr2" id="c4">100%</td><td class="bar" id="d4"><img src="../../jacoco-resources/greenbar.gif" width="36" height="10" title="6" alt="6"/></td><td class="ctr2" id="e5">100%</td><td class="ctr1" id="f5">0</td><td class="ctr2" id="g4">9</td><td class="ctr1" id="h5">0</td><td class="ctr2" id="i5">16</td><td class="ctr1" id="j5">0</td><td class="ctr2" id="k5">6</td><td class="ctr1" id="l5">0</td><td class="ctr2" id="m5">1</td></tr><tr><td id="a4"><a href="IncompatibleExecDataVersionException.html" class="el_class">IncompatibleExecDataVersionException</a></td><td class="bar" id="b6"><img src="../../jacoco-resources/greenbar.gif" width="15" height="10" title="25" alt="25"/></td><td class="ctr2" id="c5">100%</td><td class="bar" id="d6"/><td class="ctr2" id="e6">n/a</td><td class="ctr1" id="f6">0</td><td class="ctr2" id="g6">3</td><td class="ctr1" id="h6">0</td><td class="ctr2" id="i6">5</td><td class="ctr1" id="j6">0</td><td class="ctr2" id="k6">3</td><td class="ctr1" id="l6">0</td><td class="ctr2" id="m6">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.12.202403270442</span>Code Coverage Report for JaCoCo 0.8.12-SNAPSHOT</div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/trunk/coverage/org.jacoco.core/org.jacoco.core.data/index.source.html b/jacoco/trunk/coverage/org.jacoco.core/org.jacoco.core.data/index.source.html
    new file mode 100644
    index 00000000000..6b9f87fedbc
    --- /dev/null
    +++ b/jacoco/trunk/coverage/org.jacoco.core/org.jacoco.core.data/index.source.html
    @@ -0,0 +1 @@
    +<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="en"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../../jacoco-resources/report.gif" type="image/gif"/><title>org.jacoco.core.data</title><script type="text/javascript" src="../../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb', 'coveragetable'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="index.html" class="el_class">Classes</a><a href="../../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../../index.html" class="el_report">JaCoCo</a> &gt; <a href="../index.html" class="el_bundle">org.jacoco.core</a> &gt; <span class="el_package">org.jacoco.core.data</span></div><h1>org.jacoco.core.data</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td><td class="sortable ctr1" id="l" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="m" onclick="toggleSort(this)">Classes</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">6 of 799</td><td class="ctr2">99%</td><td class="bar">0 of 60</td><td class="ctr2">100%</td><td class="ctr1">0</td><td class="ctr2">83</td><td class="ctr1">2</td><td class="ctr2">193</td><td class="ctr1">0</td><td class="ctr2">52</td><td class="ctr1">0</td><td class="ctr2">7</td></tr></tfoot><tbody><tr><td id="a3"><a href="ExecutionDataWriter.java.html" class="el_source">ExecutionDataWriter.java</a></td><td class="bar" id="b0"><img src="../../jacoco-resources/redbar.gif" width="3" height="10" title="6" alt="6"/><img src="../../jacoco-resources/greenbar.gif" width="64" height="10" title="101" alt="101"/></td><td class="ctr2" id="c6">94%</td><td class="bar" id="d5"><img src="../../jacoco-resources/greenbar.gif" width="12" height="10" title="2" alt="2"/></td><td class="ctr2" id="e0">100%</td><td class="ctr1" id="f0">0</td><td class="ctr2" id="g5">8</td><td class="ctr1" id="h0">2</td><td class="ctr2" id="i2">35</td><td class="ctr1" id="j0">0</td><td class="ctr2" id="k3">7</td><td class="ctr1" id="l0">0</td><td class="ctr2" id="m0">1</td></tr><tr><td id="a0"><a href="ExecutionData.java.html" class="el_source">ExecutionData.java</a></td><td class="bar" id="b1"><img src="../../jacoco-resources/greenbar.gif" width="120" height="10" title="188" alt="188"/></td><td class="ctr2" id="c0">100%</td><td class="bar" id="d1"><img src="../../jacoco-resources/greenbar.gif" width="84" height="10" title="14" alt="14"/></td><td class="ctr2" id="e1">100%</td><td class="ctr1" id="f1">0</td><td class="ctr2" id="g1">18</td><td class="ctr1" id="h1">0</td><td class="ctr2" id="i3">35</td><td class="ctr1" id="j1">0</td><td class="ctr2" id="k0">11</td><td class="ctr1" id="l1">0</td><td class="ctr2" id="m1">1</td></tr><tr><td id="a1"><a href="ExecutionDataReader.java.html" class="el_source">ExecutionDataReader.java</a></td><td class="bar" id="b2"><img src="../../jacoco-resources/greenbar.gif" width="107" height="10" title="168" alt="168"/></td><td class="ctr2" id="c1">100%</td><td class="bar" id="d0"><img src="../../jacoco-resources/greenbar.gif" width="120" height="10" title="20" alt="20"/></td><td class="ctr2" id="e2">100%</td><td class="ctr1" id="f2">0</td><td class="ctr2" id="g0">19</td><td class="ctr1" id="h2">0</td><td class="ctr2" id="i0">47</td><td class="ctr1" id="j2">0</td><td class="ctr2" id="k2">8</td><td class="ctr1" id="l2">0</td><td class="ctr2" id="m2">1</td></tr><tr><td id="a2"><a href="ExecutionDataStore.java.html" class="el_source">ExecutionDataStore.java</a></td><td class="bar" id="b3"><img src="../../jacoco-resources/greenbar.gif" width="105" height="10" title="166" alt="166"/></td><td class="ctr2" id="c2">100%</td><td class="bar" id="d2"><img src="../../jacoco-resources/greenbar.gif" width="72" height="10" title="12" alt="12"/></td><td class="ctr2" id="e3">100%</td><td class="ctr1" id="f3">0</td><td class="ctr2" id="g2">17</td><td class="ctr1" id="h3">0</td><td class="ctr2" id="i1">36</td><td class="ctr1" id="j3">0</td><td class="ctr2" id="k1">11</td><td class="ctr1" id="l3">0</td><td class="ctr2" id="m3">1</td></tr><tr><td id="a6"><a href="SessionInfoStore.java.html" class="el_source">SessionInfoStore.java</a></td><td class="bar" id="b4"><img src="../../jacoco-resources/greenbar.gif" width="56" height="10" title="88" alt="88"/></td><td class="ctr2" id="c3">100%</td><td class="bar" id="d3"><img src="../../jacoco-resources/greenbar.gif" width="36" height="10" title="6" alt="6"/></td><td class="ctr2" id="e4">100%</td><td class="ctr1" id="f4">0</td><td class="ctr2" id="g3">9</td><td class="ctr1" id="h4">0</td><td class="ctr2" id="i4">19</td><td class="ctr1" id="j4">0</td><td class="ctr2" id="k4">6</td><td class="ctr1" id="l4">0</td><td class="ctr2" id="m4">1</td></tr><tr><td id="a5"><a href="SessionInfo.java.html" class="el_source">SessionInfo.java</a></td><td class="bar" id="b5"><img src="../../jacoco-resources/greenbar.gif" width="36" height="10" title="57" alt="57"/></td><td class="ctr2" id="c4">100%</td><td class="bar" id="d4"><img src="../../jacoco-resources/greenbar.gif" width="36" height="10" title="6" alt="6"/></td><td class="ctr2" id="e5">100%</td><td class="ctr1" id="f5">0</td><td class="ctr2" id="g4">9</td><td class="ctr1" id="h5">0</td><td class="ctr2" id="i5">16</td><td class="ctr1" id="j5">0</td><td class="ctr2" id="k5">6</td><td class="ctr1" id="l5">0</td><td class="ctr2" id="m5">1</td></tr><tr><td id="a4"><a href="IncompatibleExecDataVersionException.java.html" class="el_source">IncompatibleExecDataVersionException.java</a></td><td class="bar" id="b6"><img src="../../jacoco-resources/greenbar.gif" width="15" height="10" title="25" alt="25"/></td><td class="ctr2" id="c5">100%</td><td class="bar" id="d6"/><td class="ctr2" id="e6">n/a</td><td class="ctr1" id="f6">0</td><td class="ctr2" id="g6">3</td><td class="ctr1" id="h6">0</td><td class="ctr2" id="i6">5</td><td class="ctr1" id="j6">0</td><td class="ctr2" id="k6">3</td><td class="ctr1" id="l6">0</td><td class="ctr2" id="m6">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.12.202403270442</span>Code Coverage Report for JaCoCo 0.8.12-SNAPSHOT</div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/trunk/coverage/org.jacoco.core/org.jacoco.core.instr/Instrumenter$1.html b/jacoco/trunk/coverage/org.jacoco.core/org.jacoco.core.instr/Instrumenter$1.html
    new file mode 100644
    index 00000000000..1539148a484
    --- /dev/null
    +++ b/jacoco/trunk/coverage/org.jacoco.core/org.jacoco.core.instr/Instrumenter$1.html
    @@ -0,0 +1 @@
    +<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="en"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../../jacoco-resources/report.gif" type="image/gif"/><title>Instrumenter.new ClassWriter() {...}</title><script type="text/javascript" src="../../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../../index.html" class="el_report">JaCoCo</a> &gt; <a href="../index.html" class="el_bundle">org.jacoco.core</a> &gt; <a href="index.html" class="el_package">org.jacoco.core.instr</a> &gt; <span class="el_class">Instrumenter.new ClassWriter() {...}</span></div><h1>Instrumenter.new ClassWriter() {...}</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">4 of 12</td><td class="ctr2">66%</td><td class="bar">0 of 0</td><td class="ctr2">n/a</td><td class="ctr1">1</td><td class="ctr2">2</td><td class="ctr1">1</td><td class="ctr2">2</td><td class="ctr1">1</td><td class="ctr2">2</td></tr></tfoot><tbody><tr><td id="a0"><a href="Instrumenter.java.html#L82" class="el_method">getCommonSuperClass(String, String)</a></td><td class="bar" id="b0"><img src="../../jacoco-resources/redbar.gif" width="60" height="10" title="4" alt="4"/></td><td class="ctr2" id="c1">0%</td><td class="bar" id="d0"/><td class="ctr2" id="e0">n/a</td><td class="ctr1" id="f0">1</td><td class="ctr2" id="g0">1</td><td class="ctr1" id="h0">1</td><td class="ctr2" id="i0">1</td><td class="ctr1" id="j0">1</td><td class="ctr2" id="k0">1</td></tr><tr><td id="a1"><a href="Instrumenter.java.html#L80" class="el_method">{...}</a></td><td class="bar" id="b1"><img src="../../jacoco-resources/greenbar.gif" width="120" height="10" title="8" alt="8"/></td><td class="ctr2" id="c0">100%</td><td class="bar" id="d1"/><td class="ctr2" id="e1">n/a</td><td class="ctr1" id="f1">0</td><td class="ctr2" id="g1">1</td><td class="ctr1" id="h1">0</td><td class="ctr2" id="i1">1</td><td class="ctr1" id="j1">0</td><td class="ctr2" id="k1">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.12.202403270442</span>Code Coverage Report for JaCoCo 0.8.12-SNAPSHOT</div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/trunk/coverage/org.jacoco.core/org.jacoco.core.instr/Instrumenter.html b/jacoco/trunk/coverage/org.jacoco.core/org.jacoco.core.instr/Instrumenter.html
    new file mode 100644
    index 00000000000..1bde4d0f82a
    --- /dev/null
    +++ b/jacoco/trunk/coverage/org.jacoco.core/org.jacoco.core.instr/Instrumenter.html
    @@ -0,0 +1 @@
    +<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="en"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../../jacoco-resources/report.gif" type="image/gif"/><title>Instrumenter</title><script type="text/javascript" src="../../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../../index.html" class="el_report">JaCoCo</a> &gt; <a href="../index.html" class="el_bundle">org.jacoco.core</a> &gt; <a href="index.html" class="el_package">org.jacoco.core.instr</a> &gt; <span class="el_class">Instrumenter</span></div><h1>Instrumenter</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">6 of 394</td><td class="ctr2">98%</td><td class="bar">1 of 16</td><td class="ctr2">93%</td><td class="ctr1">1</td><td class="ctr2">26</td><td class="ctr1">1</td><td class="ctr2">98</td><td class="ctr1">0</td><td class="ctr2">16</td></tr></tfoot><tbody><tr><td id="a12"><a href="Instrumenter.java.html#L212" class="el_method">instrumentZip(InputStream, OutputStream, String)</a></td><td class="bar" id="b0"><img src="../../jacoco-resources/redbar.gif" width="6" height="10" title="6" alt="6"/><img src="../../jacoco-resources/greenbar.gif" width="113" height="10" title="97" alt="97"/></td><td class="ctr2" id="c15">94%</td><td class="bar" id="d0"><img src="../../jacoco-resources/redbar.gif" width="17" height="10" title="1" alt="1"/><img src="../../jacoco-resources/greenbar.gif" width="102" height="10" title="6" alt="6"/></td><td class="ctr2" id="e3">85%</td><td class="ctr1" id="f0">1</td><td class="ctr2" id="g0">5</td><td class="ctr1" id="h0">1</td><td class="ctr2" id="i0">27</td><td class="ctr1" id="j0">0</td><td class="ctr2" id="k0">1</td></tr><tr><td id="a7"><a href="Instrumenter.java.html#L190" class="el_method">instrumentAll(InputStream, OutputStream, String)</a></td><td class="bar" id="b1"><img src="../../jacoco-resources/greenbar.gif" width="60" height="10" title="52" alt="52"/></td><td class="ctr2" id="c0">100%</td><td class="bar" id="d1"><img src="../../jacoco-resources/greenbar.gif" width="85" height="10" title="5" alt="5"/></td><td class="ctr2" id="e0">100%</td><td class="ctr1" id="f1">0</td><td class="ctr2" id="g1">5</td><td class="ctr1" id="h1">0</td><td class="ctr2" id="i1">12</td><td class="ctr1" id="j1">0</td><td class="ctr2" id="k1">1</td></tr><tr><td id="a3"><a href="Instrumenter.java.html#L76" class="el_method">instrument(byte[])</a></td><td class="bar" id="b2"><img src="../../jacoco-resources/greenbar.gif" width="46" height="10" title="40" alt="40"/></td><td class="ctr2" id="c1">100%</td><td class="bar" id="d4"/><td class="ctr2" id="e4">n/a</td><td class="ctr1" id="f2">0</td><td class="ctr2" id="g4">1</td><td class="ctr1" id="h2">0</td><td class="ctr2" id="i2">8</td><td class="ctr1" id="j2">0</td><td class="ctr2" id="k2">1</td></tr><tr><td id="a10"><a href="Instrumenter.java.html#L278" class="el_method">instrumentGzip(InputStream, OutputStream, String)</a></td><td class="bar" id="b3"><img src="../../jacoco-resources/greenbar.gif" width="31" height="10" title="27" alt="27"/></td><td class="ctr2" id="c2">100%</td><td class="bar" id="d5"/><td class="ctr2" id="e5">n/a</td><td class="ctr1" id="f3">0</td><td class="ctr2" id="g5">1</td><td class="ctr1" id="h3">0</td><td class="ctr2" id="i3">8</td><td class="ctr1" id="j3">0</td><td class="ctr2" id="k3">1</td></tr><tr><td id="a9"><a href="Instrumenter.java.html#L161" class="el_method">instrumentError(String, Exception)</a></td><td class="bar" id="b4"><img src="../../jacoco-resources/greenbar.gif" width="30" height="10" title="26" alt="26"/></td><td class="ctr2" id="c3">100%</td><td class="bar" id="d6"/><td class="ctr2" id="e6">n/a</td><td class="ctr1" id="f4">0</td><td class="ctr2" id="g6">1</td><td class="ctr1" id="h4">0</td><td class="ctr2" id="i8">3</td><td class="ctr1" id="j4">0</td><td class="ctr2" id="k4">1</td></tr><tr><td id="a11"><a href="Instrumenter.java.html#L292" class="el_method">instrumentPack200(InputStream, OutputStream, String)</a></td><td class="bar" id="b5"><img src="../../jacoco-resources/greenbar.gif" width="30" height="10" title="26" alt="26"/></td><td class="ctr2" id="c4">100%</td><td class="bar" id="d7"/><td class="ctr2" id="e7">n/a</td><td class="ctr1" id="f5">0</td><td class="ctr2" id="g7">1</td><td class="ctr1" id="h5">0</td><td class="ctr2" id="i4">8</td><td class="ctr1" id="j5">0</td><td class="ctr2" id="k5">1</td></tr><tr><td id="a2"><a href="Instrumenter.java.html#L252" class="el_method">filterOrInstrument(InputStream, OutputStream, String, String)</a></td><td class="bar" id="b6"><img src="../../jacoco-resources/greenbar.gif" width="27" height="10" title="24" alt="24"/></td><td class="ctr2" id="c5">100%</td><td class="bar" id="d2"><img src="../../jacoco-resources/greenbar.gif" width="34" height="10" title="2" alt="2"/></td><td class="ctr2" id="e1">100%</td><td class="ctr1" id="f6">0</td><td class="ctr2" id="g2">2</td><td class="ctr1" id="h6">0</td><td class="ctr2" id="i9">3</td><td class="ctr1" id="j6">0</td><td class="ctr2" id="k6">1</td></tr><tr><td id="a0"><a href="Instrumenter.java.html#L304" class="el_method">copy(InputStream, OutputStream, String)</a></td><td class="bar" id="b7"><img src="../../jacoco-resources/greenbar.gif" width="22" height="10" title="19" alt="19"/></td><td class="ctr2" id="c6">100%</td><td class="bar" id="d3"><img src="../../jacoco-resources/greenbar.gif" width="34" height="10" title="2" alt="2"/></td><td class="ctr2" id="e2">100%</td><td class="ctr1" id="f7">0</td><td class="ctr2" id="g3">2</td><td class="ctr1" id="h7">0</td><td class="ctr2" id="i6">4</td><td class="ctr1" id="j7">0</td><td class="ctr2" id="k7">1</td></tr><tr><td id="a6"><a href="Instrumenter.java.html#L132" class="el_method">instrument(InputStream, String)</a></td><td class="bar" id="b8"><img src="../../jacoco-resources/greenbar.gif" width="17" height="10" title="15" alt="15"/></td><td class="ctr2" id="c7">100%</td><td class="bar" id="d8"/><td class="ctr2" id="e8">n/a</td><td class="ctr1" id="f8">0</td><td class="ctr2" id="g8">1</td><td class="ctr1" id="h8">0</td><td class="ctr2" id="i5">5</td><td class="ctr1" id="j8">0</td><td class="ctr2" id="k8">1</td></tr><tr><td id="a8"><a href="Instrumenter.java.html#L57" class="el_method">Instrumenter(IExecutionDataAccessorGenerator)</a></td><td class="bar" id="b9"><img src="../../jacoco-resources/greenbar.gif" width="12" height="10" title="11" alt="11"/></td><td class="ctr2" id="c8">100%</td><td class="bar" id="d9"/><td class="ctr2" id="e9">n/a</td><td class="ctr1" id="f9">0</td><td class="ctr2" id="g9">1</td><td class="ctr1" id="h9">0</td><td class="ctr2" id="i7">4</td><td class="ctr1" id="j9">0</td><td class="ctr2" id="k9">1</td></tr><tr><td id="a4"><a href="Instrumenter.java.html#L109" class="el_method">instrument(byte[], String)</a></td><td class="bar" id="b10"><img src="../../jacoco-resources/greenbar.gif" width="11" height="10" title="10" alt="10"/></td><td class="ctr2" id="c9">100%</td><td class="bar" id="d10"/><td class="ctr2" id="e10">n/a</td><td class="ctr1" id="f10">0</td><td class="ctr2" id="g10">1</td><td class="ctr1" id="h10">0</td><td class="ctr2" id="i10">3</td><td class="ctr1" id="j10">0</td><td class="ctr2" id="k10">1</td></tr><tr><td id="a1"><a href="Instrumenter.java.html#L260" class="el_method">crc(byte[])</a></td><td class="bar" id="b11"><img src="../../jacoco-resources/greenbar.gif" width="11" height="10" title="10" alt="10"/></td><td class="ctr2" id="c10">100%</td><td class="bar" id="d11"/><td class="ctr2" id="e11">n/a</td><td class="ctr1" id="f11">0</td><td class="ctr2" id="g11">1</td><td class="ctr1" id="h11">0</td><td class="ctr2" id="i11">3</td><td class="ctr1" id="j11">0</td><td class="ctr2" id="k11">1</td></tr><tr><td id="a14"><a href="Instrumenter.java.html#L314" class="el_method">read(InputStream, byte[], String)</a></td><td class="bar" id="b12"><img src="../../jacoco-resources/greenbar.gif" width="11" height="10" title="10" alt="10"/></td><td class="ctr2" id="c11">100%</td><td class="bar" id="d12"/><td class="ctr2" id="e12">n/a</td><td class="ctr1" id="f12">0</td><td class="ctr2" id="g12">1</td><td class="ctr1" id="h12">0</td><td class="ctr2" id="i12">3</td><td class="ctr1" id="j12">0</td><td class="ctr2" id="k12">1</td></tr><tr><td id="a13"><a href="Instrumenter.java.html#L268" class="el_method">nextEntry(ZipInputStream, String)</a></td><td class="bar" id="b13"><img src="../../jacoco-resources/greenbar.gif" width="10" height="10" title="9" alt="9"/></td><td class="ctr2" id="c12">100%</td><td class="bar" id="d13"/><td class="ctr2" id="e13">n/a</td><td class="ctr1" id="f13">0</td><td class="ctr2" id="g13">1</td><td class="ctr1" id="h13">0</td><td class="ctr2" id="i13">3</td><td class="ctr1" id="j13">0</td><td class="ctr2" id="k13">1</td></tr><tr><td id="a5"><a href="Instrumenter.java.html#L156" class="el_method">instrument(InputStream, OutputStream, String)</a></td><td class="bar" id="b14"><img src="../../jacoco-resources/greenbar.gif" width="8" height="10" title="7" alt="7"/></td><td class="ctr2" id="c13">100%</td><td class="bar" id="d14"/><td class="ctr2" id="e14">n/a</td><td class="ctr1" id="f14">0</td><td class="ctr2" id="g14">1</td><td class="ctr1" id="h14">0</td><td class="ctr2" id="i14">2</td><td class="ctr1" id="j14">0</td><td class="ctr2" id="k14">1</td></tr><tr><td id="a15"><a href="Instrumenter.java.html#L72" class="el_method">setRemoveSignatures(boolean)</a></td><td class="bar" id="b15"><img src="../../jacoco-resources/greenbar.gif" width="5" height="10" title="5" alt="5"/></td><td class="ctr2" id="c14">100%</td><td class="bar" id="d15"/><td class="ctr2" id="e15">n/a</td><td class="ctr1" id="f15">0</td><td class="ctr2" id="g15">1</td><td class="ctr1" id="h15">0</td><td class="ctr2" id="i15">2</td><td class="ctr1" id="j15">0</td><td class="ctr2" id="k15">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.12.202403270442</span>Code Coverage Report for JaCoCo 0.8.12-SNAPSHOT</div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/trunk/coverage/org.jacoco.core/org.jacoco.core.instr/Instrumenter.java.html b/jacoco/trunk/coverage/org.jacoco.core/org.jacoco.core.instr/Instrumenter.java.html
    new file mode 100644
    index 00000000000..630bbb5826c
    --- /dev/null
    +++ b/jacoco/trunk/coverage/org.jacoco.core/org.jacoco.core.instr/Instrumenter.java.html
    @@ -0,0 +1,321 @@
    +<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="en"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../../jacoco-resources/report.gif" type="image/gif"/><title>Instrumenter.java</title><link rel="stylesheet" href="../../jacoco-resources/prettify.css" type="text/css"/><script type="text/javascript" src="../../jacoco-resources/prettify.js"></script></head><body onload="window['PR_TAB_WIDTH']=4;prettyPrint()"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../../index.html" class="el_report">JaCoCo</a> &gt; <a href="../index.html" class="el_bundle">org.jacoco.core</a> &gt; <a href="index.source.html" class="el_package">org.jacoco.core.instr</a> &gt; <span class="el_source">Instrumenter.java</span></div><h1>Instrumenter.java</h1><pre class="source lang-java linenums">/*******************************************************************************
    + * Copyright (c) 2009, 2024 Mountainminds GmbH &amp; Co. KG and Contributors
    + * This program and the accompanying materials are made available under
    + * the terms of the Eclipse Public License 2.0 which is available at
    + * http://www.eclipse.org/legal/epl-2.0
    + *
    + * SPDX-License-Identifier: EPL-2.0
    + *
    + * Contributors:
    + *    Marc R. Hoffmann - initial API and implementation
    + *
    + *******************************************************************************/
    +package org.jacoco.core.instr;
    +
    +import java.io.ByteArrayOutputStream;
    +import java.io.IOException;
    +import java.io.InputStream;
    +import java.io.OutputStream;
    +import java.util.zip.CRC32;
    +import java.util.zip.GZIPInputStream;
    +import java.util.zip.GZIPOutputStream;
    +import java.util.zip.ZipEntry;
    +import java.util.zip.ZipInputStream;
    +import java.util.zip.ZipOutputStream;
    +
    +import org.jacoco.core.JaCoCo;
    +import org.jacoco.core.internal.ContentTypeDetector;
    +import org.jacoco.core.internal.InputStreams;
    +import org.jacoco.core.internal.Pack200Streams;
    +import org.jacoco.core.internal.data.CRC64;
    +import org.jacoco.core.internal.flow.ClassProbesAdapter;
    +import org.jacoco.core.internal.instr.ClassInstrumenter;
    +import org.jacoco.core.internal.instr.IProbeArrayStrategy;
    +import org.jacoco.core.internal.instr.InstrSupport;
    +import org.jacoco.core.internal.instr.ProbeArrayStrategyFactory;
    +import org.jacoco.core.internal.instr.SignatureRemover;
    +import org.jacoco.core.runtime.IExecutionDataAccessorGenerator;
    +import org.objectweb.asm.ClassReader;
    +import org.objectweb.asm.ClassVisitor;
    +import org.objectweb.asm.ClassWriter;
    +
    +/**
    + * Several APIs to instrument Java class definitions for coverage tracing.
    + */
    +public class Instrumenter {
    +
    +	private final IExecutionDataAccessorGenerator accessorGenerator;
    +
    +	private final SignatureRemover signatureRemover;
    +
    +	/**
    +	 * Creates a new instance based on the given runtime.
    +	 *
    +	 * @param runtime
    +	 *            runtime used by the instrumented classes
    +	 */
    +<span class="fc" id="L57">	public Instrumenter(final IExecutionDataAccessorGenerator runtime) {</span>
    +<span class="fc" id="L58">		this.accessorGenerator = runtime;</span>
    +<span class="fc" id="L59">		this.signatureRemover = new SignatureRemover();</span>
    +<span class="fc" id="L60">	}</span>
    +
    +	/**
    +	 * Determines whether signatures should be removed from JAR files. This is
    +	 * typically necessary as instrumentation modifies the class files and
    +	 * therefore invalidates existing JAR signatures. Default is
    +	 * &lt;code&gt;true&lt;/code&gt;.
    +	 *
    +	 * @param flag
    +	 *            &lt;code&gt;true&lt;/code&gt; if signatures should be removed
    +	 */
    +	public void setRemoveSignatures(final boolean flag) {
    +<span class="fc" id="L72">		signatureRemover.setActive(flag);</span>
    +<span class="fc" id="L73">	}</span>
    +
    +	private byte[] instrument(final byte[] source) {
    +<span class="fc" id="L76">		final long classId = CRC64.classId(source);</span>
    +<span class="fc" id="L77">		final ClassReader reader = InstrSupport.classReaderFor(source);</span>
    +<span class="fc" id="L78">		final ClassWriter writer = new ClassWriter(reader, 0) {</span>
    +			@Override
    +<span class="fc" id="L80">			protected String getCommonSuperClass(final String type1,</span>
    +					final String type2) {
    +<span class="nc" id="L82">				throw new IllegalStateException();</span>
    +			}
    +		};
    +<span class="fc" id="L85">		final IProbeArrayStrategy strategy = ProbeArrayStrategyFactory</span>
    +				.createFor(classId, reader, accessorGenerator);
    +<span class="fc" id="L87">		final int version = InstrSupport.getMajorVersion(reader);</span>
    +<span class="fc" id="L88">		final ClassVisitor visitor = new ClassProbesAdapter(</span>
    +				new ClassInstrumenter(strategy, writer),
    +				InstrSupport.needsFrames(version));
    +<span class="fc" id="L91">		reader.accept(visitor, ClassReader.EXPAND_FRAMES);</span>
    +<span class="fc" id="L92">		return writer.toByteArray();</span>
    +	}
    +
    +	/**
    +	 * Creates a instrumented version of the given class if possible.
    +	 *
    +	 * @param buffer
    +	 *            definition of the class
    +	 * @param name
    +	 *            a name used for exception messages
    +	 * @return instrumented definition
    +	 * @throws IOException
    +	 *             if the class can't be instrumented
    +	 */
    +	public byte[] instrument(final byte[] buffer, final String name)
    +			throws IOException {
    +		try {
    +<span class="fc" id="L109">			return instrument(buffer);</span>
    +<span class="fc" id="L110">		} catch (final RuntimeException e) {</span>
    +<span class="fc" id="L111">			throw instrumentError(name, e);</span>
    +		}
    +	}
    +
    +	/**
    +	 * Creates a instrumented version of the given class if possible. The
    +	 * provided {@link InputStream} is not closed by this method.
    +	 *
    +	 * @param input
    +	 *            stream to read class definition from
    +	 * @param name
    +	 *            a name used for exception messages
    +	 * @return instrumented definition
    +	 * @throws IOException
    +	 *             if reading data from the stream fails or the class can't be
    +	 *             instrumented
    +	 */
    +	public byte[] instrument(final InputStream input, final String name)
    +			throws IOException {
    +		final byte[] bytes;
    +		try {
    +<span class="fc" id="L132">			bytes = InputStreams.readFully(input);</span>
    +<span class="fc" id="L133">		} catch (final IOException e) {</span>
    +<span class="fc" id="L134">			throw instrumentError(name, e);</span>
    +<span class="fc" id="L135">		}</span>
    +<span class="fc" id="L136">		return instrument(bytes, name);</span>
    +	}
    +
    +	/**
    +	 * Creates a instrumented version of the given class file. The provided
    +	 * {@link InputStream} and {@link OutputStream} instances are not closed by
    +	 * this method.
    +	 *
    +	 * @param input
    +	 *            stream to read class definition from
    +	 * @param output
    +	 *            stream to write the instrumented version of the class to
    +	 * @param name
    +	 *            a name used for exception messages
    +	 * @throws IOException
    +	 *             if reading data from the stream fails or the class can't be
    +	 *             instrumented
    +	 */
    +	public void instrument(final InputStream input, final OutputStream output,
    +			final String name) throws IOException {
    +<span class="fc" id="L156">		output.write(instrument(input, name));</span>
    +<span class="fc" id="L157">	}</span>
    +
    +	private IOException instrumentError(final String name,
    +			final Exception cause) {
    +<span class="fc" id="L161">		final IOException ex = new IOException(</span>
    +				String.format(&quot;Error while instrumenting %s with JaCoCo %s/%s.&quot;,
    +						name, JaCoCo.VERSION, JaCoCo.COMMITID_SHORT));
    +<span class="fc" id="L164">		ex.initCause(cause);</span>
    +<span class="fc" id="L165">		return ex;</span>
    +	}
    +
    +	/**
    +	 * Creates a instrumented version of the given resource depending on its
    +	 * type. Class files and the content of archive files are instrumented. All
    +	 * other files are copied without modification. The provided
    +	 * {@link InputStream} and {@link OutputStream} instances are not closed by
    +	 * this method.
    +	 *
    +	 * @param input
    +	 *            stream to contents from
    +	 * @param output
    +	 *            stream to write the instrumented version of the contents
    +	 * @param name
    +	 *            a name used for exception messages
    +	 * @return number of instrumented classes
    +	 * @throws IOException
    +	 *             if reading data from the stream fails or a class can't be
    +	 *             instrumented
    +	 */
    +	public int instrumentAll(final InputStream input, final OutputStream output,
    +			final String name) throws IOException {
    +		final ContentTypeDetector detector;
    +		try {
    +<span class="fc" id="L190">			detector = new ContentTypeDetector(input);</span>
    +<span class="fc" id="L191">		} catch (final IOException e) {</span>
    +<span class="fc" id="L192">			throw instrumentError(name, e);</span>
    +<span class="fc" id="L193">		}</span>
    +<span class="fc bfc" id="L194" title="All 5 branches covered.">		switch (detector.getType()) {</span>
    +		case ContentTypeDetector.CLASSFILE:
    +<span class="fc" id="L196">			instrument(detector.getInputStream(), output, name);</span>
    +<span class="fc" id="L197">			return 1;</span>
    +		case ContentTypeDetector.ZIPFILE:
    +<span class="fc" id="L199">			return instrumentZip(detector.getInputStream(), output, name);</span>
    +		case ContentTypeDetector.GZFILE:
    +<span class="fc" id="L201">			return instrumentGzip(detector.getInputStream(), output, name);</span>
    +		case ContentTypeDetector.PACK200FILE:
    +<span class="fc" id="L203">			return instrumentPack200(detector.getInputStream(), output, name);</span>
    +		default:
    +<span class="fc" id="L205">			copy(detector.getInputStream(), output, name);</span>
    +<span class="fc" id="L206">			return 0;</span>
    +		}
    +	}
    +
    +	private int instrumentZip(final InputStream input,
    +			final OutputStream output, final String name) throws IOException {
    +<span class="fc" id="L212">		final ZipInputStream zipin = new ZipInputStream(input);</span>
    +<span class="fc" id="L213">		final ZipOutputStream zipout = new ZipOutputStream(output);</span>
    +		ZipEntry entry;
    +<span class="fc" id="L215">		int count = 0;</span>
    +<span class="fc bfc" id="L216" title="All 2 branches covered.">		while ((entry = nextEntry(zipin, name)) != null) {</span>
    +<span class="fc" id="L217">			final String entryName = entry.getName();</span>
    +<span class="fc bfc" id="L218" title="All 2 branches covered.">			if (signatureRemover.removeEntry(entryName)) {</span>
    +<span class="fc" id="L219">				continue;</span>
    +			}
    +
    +<span class="fc" id="L222">			final ZipEntry newEntry = new ZipEntry(entryName);</span>
    +<span class="fc" id="L223">			newEntry.setMethod(entry.getMethod());</span>
    +<span class="pc bpc" id="L224" title="1 of 3 branches missed.">			switch (entry.getMethod()) {</span>
    +			case ZipEntry.DEFLATED:
    +<span class="fc" id="L226">				zipout.putNextEntry(newEntry);</span>
    +<span class="fc" id="L227">				count += filterOrInstrument(zipin, zipout, name, entryName);</span>
    +<span class="fc" id="L228">				break;</span>
    +			case ZipEntry.STORED:
    +				// Uncompressed entries must be processed in-memory to calculate
    +				// mandatory entry size and CRC
    +<span class="fc" id="L232">				final ByteArrayOutputStream buffer = new ByteArrayOutputStream();</span>
    +<span class="fc" id="L233">				count += filterOrInstrument(zipin, buffer, name, entryName);</span>
    +<span class="fc" id="L234">				final byte[] bytes = buffer.toByteArray();</span>
    +<span class="fc" id="L235">				newEntry.setSize(bytes.length);</span>
    +<span class="fc" id="L236">				newEntry.setCompressedSize(bytes.length);</span>
    +<span class="fc" id="L237">				newEntry.setCrc(crc(bytes));</span>
    +<span class="fc" id="L238">				zipout.putNextEntry(newEntry);</span>
    +<span class="fc" id="L239">				zipout.write(bytes);</span>
    +<span class="fc" id="L240">				break;</span>
    +			default:
    +<span class="nc" id="L242">				throw new AssertionError(entry.getMethod());</span>
    +			}
    +<span class="fc" id="L244">			zipout.closeEntry();</span>
    +<span class="fc" id="L245">		}</span>
    +<span class="fc" id="L246">		zipout.finish();</span>
    +<span class="fc" id="L247">		return count;</span>
    +	}
    +
    +	private int filterOrInstrument(final InputStream in, final OutputStream out,
    +			final String name, final String entryName) throws IOException {
    +<span class="fc bfc" id="L252" title="All 2 branches covered.">		if (signatureRemover.filterEntry(entryName, in, out)) {</span>
    +<span class="fc" id="L253">			return 0;</span>
    +		} else {
    +<span class="fc" id="L255">			return instrumentAll(in, out, name + &quot;@&quot; + entryName);</span>
    +		}
    +	}
    +
    +	private static long crc(final byte[] data) {
    +<span class="fc" id="L260">		final CRC32 crc = new CRC32();</span>
    +<span class="fc" id="L261">		crc.update(data);</span>
    +<span class="fc" id="L262">		return crc.getValue();</span>
    +	}
    +
    +	private ZipEntry nextEntry(final ZipInputStream input,
    +			final String location) throws IOException {
    +		try {
    +<span class="fc" id="L268">			return input.getNextEntry();</span>
    +<span class="fc" id="L269">		} catch (final IOException e) {</span>
    +<span class="fc" id="L270">			throw instrumentError(location, e);</span>
    +		}
    +	}
    +
    +	private int instrumentGzip(final InputStream input,
    +			final OutputStream output, final String name) throws IOException {
    +		final GZIPInputStream gzipInputStream;
    +		try {
    +<span class="fc" id="L278">			gzipInputStream = new GZIPInputStream(input);</span>
    +<span class="fc" id="L279">		} catch (final IOException e) {</span>
    +<span class="fc" id="L280">			throw instrumentError(name, e);</span>
    +<span class="fc" id="L281">		}</span>
    +<span class="fc" id="L282">		final GZIPOutputStream gzout = new GZIPOutputStream(output);</span>
    +<span class="fc" id="L283">		final int count = instrumentAll(gzipInputStream, gzout, name);</span>
    +<span class="fc" id="L284">		gzout.finish();</span>
    +<span class="fc" id="L285">		return count;</span>
    +	}
    +
    +	private int instrumentPack200(final InputStream input,
    +			final OutputStream output, final String name) throws IOException {
    +		final InputStream unpackedInput;
    +		try {
    +<span class="fc" id="L292">			unpackedInput = Pack200Streams.unpack(input);</span>
    +<span class="fc" id="L293">		} catch (final IOException e) {</span>
    +<span class="fc" id="L294">			throw instrumentError(name, e);</span>
    +<span class="fc" id="L295">		}</span>
    +<span class="fc" id="L296">		final ByteArrayOutputStream buffer = new ByteArrayOutputStream();</span>
    +<span class="fc" id="L297">		final int count = instrumentAll(unpackedInput, buffer, name);</span>
    +<span class="fc" id="L298">		Pack200Streams.pack(buffer.toByteArray(), output);</span>
    +<span class="fc" id="L299">		return count;</span>
    +	}
    +
    +	private void copy(final InputStream input, final OutputStream output,
    +			final String name) throws IOException {
    +<span class="fc" id="L304">		final byte[] buffer = new byte[1024];</span>
    +		int len;
    +<span class="fc bfc" id="L306" title="All 2 branches covered.">		while ((len = read(input, buffer, name)) != -1) {</span>
    +<span class="fc" id="L307">			output.write(buffer, 0, len);</span>
    +		}
    +<span class="fc" id="L309">	}</span>
    +
    +	private int read(final InputStream input, final byte[] buffer,
    +			final String name) throws IOException {
    +		try {
    +<span class="fc" id="L314">			return input.read(buffer);</span>
    +<span class="fc" id="L315">		} catch (final IOException e) {</span>
    +<span class="fc" id="L316">			throw instrumentError(name, e);</span>
    +		}
    +	}
    +
    +}
    +</pre><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.12.202403270442</span>Code Coverage Report for JaCoCo 0.8.12-SNAPSHOT</div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/trunk/coverage/org.jacoco.core/org.jacoco.core.instr/index.html b/jacoco/trunk/coverage/org.jacoco.core/org.jacoco.core.instr/index.html
    new file mode 100644
    index 00000000000..ed14fc2319d
    --- /dev/null
    +++ b/jacoco/trunk/coverage/org.jacoco.core/org.jacoco.core.instr/index.html
    @@ -0,0 +1 @@
    +<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="en"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../../jacoco-resources/report.gif" type="image/gif"/><title>org.jacoco.core.instr</title><script type="text/javascript" src="../../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb', 'coveragetable'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="index.source.html" class="el_source">Source Files</a><a href="../../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../../index.html" class="el_report">JaCoCo</a> &gt; <a href="../index.html" class="el_bundle">org.jacoco.core</a> &gt; <span class="el_package">org.jacoco.core.instr</span></div><h1>org.jacoco.core.instr</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td><td class="sortable ctr1" id="l" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="m" onclick="toggleSort(this)">Classes</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">10 of 406</td><td class="ctr2">97%</td><td class="bar">1 of 16</td><td class="ctr2">93%</td><td class="ctr1">2</td><td class="ctr2">28</td><td class="ctr1">2</td><td class="ctr2">100</td><td class="ctr1">1</td><td class="ctr2">18</td><td class="ctr1">0</td><td class="ctr2">2</td></tr></tfoot><tbody><tr><td id="a0"><a href="Instrumenter.html" class="el_class">Instrumenter</a></td><td class="bar" id="b0"><img src="../../jacoco-resources/redbar.gif" width="1" height="10" title="6" alt="6"/><img src="../../jacoco-resources/greenbar.gif" width="118" height="10" title="388" alt="388"/></td><td class="ctr2" id="c0">98%</td><td class="bar" id="d0"><img src="../../jacoco-resources/redbar.gif" width="7" height="10" title="1" alt="1"/><img src="../../jacoco-resources/greenbar.gif" width="112" height="10" title="15" alt="15"/></td><td class="ctr2" id="e0">93%</td><td class="ctr1" id="f0">1</td><td class="ctr2" id="g0">26</td><td class="ctr1" id="h0">1</td><td class="ctr2" id="i0">98</td><td class="ctr1" id="j1">0</td><td class="ctr2" id="k0">16</td><td class="ctr1" id="l0">0</td><td class="ctr2" id="m0">1</td></tr><tr><td id="a1"><a href="Instrumenter$1.html" class="el_class">Instrumenter.new ClassWriter() {...}</a></td><td class="bar" id="b1"><img src="../../jacoco-resources/redbar.gif" width="1" height="10" title="4" alt="4"/><img src="../../jacoco-resources/greenbar.gif" width="2" height="10" title="8" alt="8"/></td><td class="ctr2" id="c1">66%</td><td class="bar" id="d1"/><td class="ctr2" id="e1">n/a</td><td class="ctr1" id="f1">1</td><td class="ctr2" id="g1">2</td><td class="ctr1" id="h1">1</td><td class="ctr2" id="i1">2</td><td class="ctr1" id="j0">1</td><td class="ctr2" id="k1">2</td><td class="ctr1" id="l1">0</td><td class="ctr2" id="m1">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.12.202403270442</span>Code Coverage Report for JaCoCo 0.8.12-SNAPSHOT</div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/trunk/coverage/org.jacoco.core/org.jacoco.core.instr/index.source.html b/jacoco/trunk/coverage/org.jacoco.core/org.jacoco.core.instr/index.source.html
    new file mode 100644
    index 00000000000..064ddd9562f
    --- /dev/null
    +++ b/jacoco/trunk/coverage/org.jacoco.core/org.jacoco.core.instr/index.source.html
    @@ -0,0 +1 @@
    +<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="en"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../../jacoco-resources/report.gif" type="image/gif"/><title>org.jacoco.core.instr</title><script type="text/javascript" src="../../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb', 'coveragetable'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="index.html" class="el_class">Classes</a><a href="../../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../../index.html" class="el_report">JaCoCo</a> &gt; <a href="../index.html" class="el_bundle">org.jacoco.core</a> &gt; <span class="el_package">org.jacoco.core.instr</span></div><h1>org.jacoco.core.instr</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td><td class="sortable ctr1" id="l" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="m" onclick="toggleSort(this)">Classes</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">10 of 406</td><td class="ctr2">97%</td><td class="bar">1 of 16</td><td class="ctr2">93%</td><td class="ctr1">2</td><td class="ctr2">28</td><td class="ctr1">2</td><td class="ctr2">100</td><td class="ctr1">1</td><td class="ctr2">18</td><td class="ctr1">0</td><td class="ctr2">2</td></tr></tfoot><tbody><tr><td id="a0"><a href="Instrumenter.java.html" class="el_source">Instrumenter.java</a></td><td class="bar" id="b0"><img src="../../jacoco-resources/redbar.gif" width="2" height="10" title="10" alt="10"/><img src="../../jacoco-resources/greenbar.gif" width="117" height="10" title="396" alt="396"/></td><td class="ctr2" id="c0">97%</td><td class="bar" id="d0"><img src="../../jacoco-resources/redbar.gif" width="7" height="10" title="1" alt="1"/><img src="../../jacoco-resources/greenbar.gif" width="112" height="10" title="15" alt="15"/></td><td class="ctr2" id="e0">93%</td><td class="ctr1" id="f0">2</td><td class="ctr2" id="g0">28</td><td class="ctr1" id="h0">2</td><td class="ctr2" id="i0">100</td><td class="ctr1" id="j0">1</td><td class="ctr2" id="k0">18</td><td class="ctr1" id="l0">0</td><td class="ctr2" id="m0">2</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.12.202403270442</span>Code Coverage Report for JaCoCo 0.8.12-SNAPSHOT</div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/trunk/coverage/org.jacoco.core/org.jacoco.core.internal.analysis.filter/AbstractMatcher.html b/jacoco/trunk/coverage/org.jacoco.core/org.jacoco.core.internal.analysis.filter/AbstractMatcher.html
    new file mode 100644
    index 00000000000..a49df04142a
    --- /dev/null
    +++ b/jacoco/trunk/coverage/org.jacoco.core/org.jacoco.core.internal.analysis.filter/AbstractMatcher.html
    @@ -0,0 +1 @@
    +<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="en"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../../jacoco-resources/report.gif" type="image/gif"/><title>AbstractMatcher</title><script type="text/javascript" src="../../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../../index.html" class="el_report">JaCoCo</a> &gt; <a href="../index.html" class="el_bundle">org.jacoco.core</a> &gt; <a href="index.html" class="el_package">org.jacoco.core.internal.analysis.filter</a> &gt; <span class="el_class">AbstractMatcher</span></div><h1>AbstractMatcher</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">0 of 217</td><td class="ctr2">100%</td><td class="bar">0 of 50</td><td class="ctr2">100%</td><td class="ctr1">0</td><td class="ctr2">36</td><td class="ctr1">0</td><td class="ctr2">64</td><td class="ctr1">0</td><td class="ctr2">11</td></tr></tfoot><tbody><tr><td id="a8"><a href="AbstractMatcher.java.html#L100" class="el_method">nextIsVar(int, String)</a></td><td class="bar" id="b0"><img src="../../jacoco-resources/greenbar.gif" width="120" height="10" title="35" alt="35"/></td><td class="ctr2" id="c0">100%</td><td class="bar" id="d3"><img src="../../jacoco-resources/greenbar.gif" width="90" height="10" title="6" alt="6"/></td><td class="ctr2" id="e0">100%</td><td class="ctr1" id="f0">0</td><td class="ctr2" id="g3">4</td><td class="ctr1" id="h0">0</td><td class="ctr2" id="i0">10</td><td class="ctr1" id="j0">0</td><td class="ctr2" id="k0">1</td></tr><tr><td id="a5"><a href="AbstractMatcher.java.html#L68" class="el_method">nextIsInvoke(int, String, String, String)</a></td><td class="bar" id="b1"><img src="../../jacoco-resources/greenbar.gif" width="106" height="10" title="31" alt="31"/></td><td class="ctr2" id="c1">100%</td><td class="bar" id="d0"><img src="../../jacoco-resources/greenbar.gif" width="120" height="10" title="8" alt="8"/></td><td class="ctr2" id="e1">100%</td><td class="ctr1" id="f1">0</td><td class="ctr2" id="g0">5</td><td class="ctr1" id="h1">0</td><td class="ctr2" id="i1">8</td><td class="ctr1" id="j1">0</td><td class="ctr2" id="k1">1</td></tr><tr><td id="a4"><a href="AbstractMatcher.java.html#L87" class="el_method">nextIsField(int, String, String, String)</a></td><td class="bar" id="b2"><img src="../../jacoco-resources/greenbar.gif" width="106" height="10" title="31" alt="31"/></td><td class="ctr2" id="c2">100%</td><td class="bar" id="d1"><img src="../../jacoco-resources/greenbar.gif" width="120" height="10" title="8" alt="8"/></td><td class="ctr2" id="e2">100%</td><td class="ctr1" id="f2">0</td><td class="ctr2" id="g1">5</td><td class="ctr1" id="h2">0</td><td class="ctr2" id="i2">8</td><td class="ctr1" id="j2">0</td><td class="ctr2" id="k2">1</td></tr><tr><td id="a1"><a href="AbstractMatcher.java.html#L37" class="el_method">firstIsALoad0(MethodNode)</a></td><td class="bar" id="b3"><img src="../../jacoco-resources/greenbar.gif" width="85" height="10" title="25" alt="25"/></td><td class="ctr2" id="c3">100%</td><td class="bar" id="d4"><img src="../../jacoco-resources/greenbar.gif" width="90" height="10" title="6" alt="6"/></td><td class="ctr2" id="e3">100%</td><td class="ctr1" id="f3">0</td><td class="ctr2" id="g4">4</td><td class="ctr1" id="h3">0</td><td class="ctr2" id="i5">6</td><td class="ctr1" id="j3">0</td><td class="ctr2" id="k3">1</td></tr><tr><td id="a10"><a href="AbstractMatcher.java.html#L171" class="el_method">skipNonOpcodes(AbstractInsnNode)</a></td><td class="bar" id="b4"><img src="../../jacoco-resources/greenbar.gif" width="68" height="10" title="20" alt="20"/></td><td class="ctr2" id="c4">100%</td><td class="bar" id="d2"><img src="../../jacoco-resources/greenbar.gif" width="120" height="10" title="8" alt="8"/></td><td class="ctr2" id="e4">100%</td><td class="ctr1" id="f4">0</td><td class="ctr2" id="g2">5</td><td class="ctr1" id="h4">0</td><td class="ctr2" id="i8">3</td><td class="ctr1" id="j4">0</td><td class="ctr2" id="k4">1</td></tr><tr><td id="a7"><a href="AbstractMatcher.java.html#L51" class="el_method">nextIsType(int, String)</a></td><td class="bar" id="b5"><img src="../../jacoco-resources/greenbar.gif" width="65" height="10" title="19" alt="19"/></td><td class="ctr2" id="c5">100%</td><td class="bar" id="d5"><img src="../../jacoco-resources/greenbar.gif" width="60" height="10" title="4" alt="4"/></td><td class="ctr2" id="e5">100%</td><td class="ctr1" id="f5">0</td><td class="ctr2" id="g5">3</td><td class="ctr1" id="h5">0</td><td class="ctr2" id="i3">7</td><td class="ctr1" id="j5">0</td><td class="ctr2" id="k5">1</td></tr><tr><td id="a6"><a href="AbstractMatcher.java.html#L119" class="el_method">nextIsSwitch()</a></td><td class="bar" id="b6"><img src="../../jacoco-resources/greenbar.gif" width="51" height="10" title="15" alt="15"/></td><td class="ctr2" id="c6">100%</td><td class="bar" id="d6"><img src="../../jacoco-resources/greenbar.gif" width="60" height="10" title="4" alt="4"/></td><td class="ctr2" id="e6">100%</td><td class="ctr1" id="f6">0</td><td class="ctr2" id="g6">3</td><td class="ctr1" id="h6">0</td><td class="ctr2" id="i4">7</td><td class="ctr1" id="j6">0</td><td class="ctr2" id="k6">1</td></tr><tr><td id="a3"><a href="AbstractMatcher.java.html#L137" class="el_method">nextIs(int)</a></td><td class="bar" id="b7"><img src="../../jacoco-resources/greenbar.gif" width="51" height="10" title="15" alt="15"/></td><td class="ctr2" id="c7">100%</td><td class="bar" id="d7"><img src="../../jacoco-resources/greenbar.gif" width="60" height="10" title="4" alt="4"/></td><td class="ctr2" id="e7">100%</td><td class="ctr1" id="f7">0</td><td class="ctr2" id="g7">3</td><td class="ctr1" id="h7">0</td><td class="ctr2" id="i6">6</td><td class="ctr1" id="j7">0</td><td class="ctr2" id="k7">1</td></tr><tr><td id="a2"><a href="AbstractMatcher.java.html#L150" class="el_method">next()</a></td><td class="bar" id="b8"><img src="../../jacoco-resources/greenbar.gif" width="41" height="10" title="12" alt="12"/></td><td class="ctr2" id="c8">100%</td><td class="bar" id="d8"><img src="../../jacoco-resources/greenbar.gif" width="30" height="10" title="2" alt="2"/></td><td class="ctr2" id="e8">100%</td><td class="ctr1" id="f8">0</td><td class="ctr2" id="g8">2</td><td class="ctr1" id="h8">0</td><td class="ctr2" id="i7">5</td><td class="ctr1" id="j8">0</td><td class="ctr2" id="k8">1</td></tr><tr><td id="a0"><a href="AbstractMatcher.java.html#L26" class="el_method">AbstractMatcher()</a></td><td class="bar" id="b9"><img src="../../jacoco-resources/greenbar.gif" width="27" height="10" title="8" alt="8"/></td><td class="ctr2" id="c9">100%</td><td class="bar" id="d9"/><td class="ctr2" id="e9">n/a</td><td class="ctr1" id="f9">0</td><td class="ctr2" id="g9">1</td><td class="ctr1" id="h9">0</td><td class="ctr2" id="i9">2</td><td class="ctr1" id="j9">0</td><td class="ctr2" id="k9">1</td></tr><tr><td id="a9"><a href="AbstractMatcher.java.html#L162" class="el_method">skipNonOpcodes()</a></td><td class="bar" id="b10"><img src="../../jacoco-resources/greenbar.gif" width="20" height="10" title="6" alt="6"/></td><td class="ctr2" id="c10">100%</td><td class="bar" id="d10"/><td class="ctr2" id="e10">n/a</td><td class="ctr1" id="f10">0</td><td class="ctr2" id="g10">1</td><td class="ctr1" id="h10">0</td><td class="ctr2" id="i10">2</td><td class="ctr1" id="j10">0</td><td class="ctr2" id="k10">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.12.202403270442</span>Code Coverage Report for JaCoCo 0.8.12-SNAPSHOT</div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/trunk/coverage/org.jacoco.core/org.jacoco.core.internal.analysis.filter/AbstractMatcher.java.html b/jacoco/trunk/coverage/org.jacoco.core/org.jacoco.core.internal.analysis.filter/AbstractMatcher.java.html
    new file mode 100644
    index 00000000000..ed7ea91ad69
    --- /dev/null
    +++ b/jacoco/trunk/coverage/org.jacoco.core/org.jacoco.core.internal.analysis.filter/AbstractMatcher.java.html
    @@ -0,0 +1,180 @@
    +<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="en"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../../jacoco-resources/report.gif" type="image/gif"/><title>AbstractMatcher.java</title><link rel="stylesheet" href="../../jacoco-resources/prettify.css" type="text/css"/><script type="text/javascript" src="../../jacoco-resources/prettify.js"></script></head><body onload="window['PR_TAB_WIDTH']=4;prettyPrint()"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../../index.html" class="el_report">JaCoCo</a> &gt; <a href="../index.html" class="el_bundle">org.jacoco.core</a> &gt; <a href="index.source.html" class="el_package">org.jacoco.core.internal.analysis.filter</a> &gt; <span class="el_source">AbstractMatcher.java</span></div><h1>AbstractMatcher.java</h1><pre class="source lang-java linenums">/*******************************************************************************
    + * Copyright (c) 2009, 2024 Mountainminds GmbH &amp; Co. KG and Contributors
    + * This program and the accompanying materials are made available under
    + * the terms of the Eclipse Public License 2.0 which is available at
    + * http://www.eclipse.org/legal/epl-2.0
    + *
    + * SPDX-License-Identifier: EPL-2.0
    + *
    + * Contributors:
    + *    Evgeny Mandrikov - initial API and implementation
    + *
    + *******************************************************************************/
    +package org.jacoco.core.internal.analysis.filter;
    +
    +import java.util.HashMap;
    +import java.util.Map;
    +
    +import org.objectweb.asm.Opcodes;
    +import org.objectweb.asm.tree.AbstractInsnNode;
    +import org.objectweb.asm.tree.FieldInsnNode;
    +import org.objectweb.asm.tree.MethodInsnNode;
    +import org.objectweb.asm.tree.MethodNode;
    +import org.objectweb.asm.tree.TypeInsnNode;
    +import org.objectweb.asm.tree.VarInsnNode;
    +
    +<span class="fc" id="L26">abstract class AbstractMatcher {</span>
    +
    +<span class="fc" id="L28">	final Map&lt;String, VarInsnNode&gt; vars = new HashMap&lt;String, VarInsnNode&gt;();</span>
    +
    +	AbstractInsnNode cursor;
    +
    +	/**
    +	 * Sets {@link #cursor} to first instruction of method if it is
    +	 * &lt;code&gt;ALOAD 0&lt;/code&gt;, otherwise sets it to &lt;code&gt;null&lt;/code&gt;.
    +	 */
    +	final void firstIsALoad0(final MethodNode methodNode) {
    +<span class="fc" id="L37">		cursor = methodNode.instructions.getFirst();</span>
    +<span class="fc" id="L38">		skipNonOpcodes();</span>
    +<span class="fc bfc" id="L39" title="All 6 branches covered.">		if (cursor != null &amp;&amp; cursor.getOpcode() == Opcodes.ALOAD</span>
    +				&amp;&amp; ((VarInsnNode) cursor).var == 0) {
    +<span class="fc" id="L41">			return;</span>
    +		}
    +<span class="fc" id="L43">		cursor = null;</span>
    +<span class="fc" id="L44">	}</span>
    +
    +	/**
    +	 * Moves {@link #cursor} to next instruction if it is {@link TypeInsnNode}
    +	 * with given opcode and operand, otherwise sets it to &lt;code&gt;null&lt;/code&gt;.
    +	 */
    +	final void nextIsType(final int opcode, final String desc) {
    +<span class="fc" id="L51">		nextIs(opcode);</span>
    +<span class="fc bfc" id="L52" title="All 2 branches covered.">		if (cursor == null) {</span>
    +<span class="fc" id="L53">			return;</span>
    +		}
    +<span class="fc bfc" id="L55" title="All 2 branches covered.">		if (((TypeInsnNode) cursor).desc.equals(desc)) {</span>
    +<span class="fc" id="L56">			return;</span>
    +		}
    +<span class="fc" id="L58">		cursor = null;</span>
    +<span class="fc" id="L59">	}</span>
    +
    +	/**
    +	 * Moves {@link #cursor} to next instruction if it is {@link MethodInsnNode}
    +	 * with given opcode, owner, name and descriptor, otherwise sets it to
    +	 * &lt;code&gt;null&lt;/code&gt;.
    +	 */
    +	final void nextIsInvoke(final int opcode, final String owner,
    +			final String name, final String descriptor) {
    +<span class="fc" id="L68">		nextIs(opcode);</span>
    +<span class="fc bfc" id="L69" title="All 2 branches covered.">		if (cursor == null) {</span>
    +<span class="fc" id="L70">			return;</span>
    +		}
    +<span class="fc" id="L72">		final MethodInsnNode m = (MethodInsnNode) cursor;</span>
    +<span class="fc bfc" id="L73" title="All 6 branches covered.">		if (owner.equals(m.owner) &amp;&amp; name.equals(m.name)</span>
    +				&amp;&amp; descriptor.equals(m.desc)) {
    +<span class="fc" id="L75">			return;</span>
    +		}
    +<span class="fc" id="L77">		cursor = null;</span>
    +<span class="fc" id="L78">	}</span>
    +
    +	/**
    +	 * Moves {@link #cursor} to next instruction if it is {@link FieldInsnNode}
    +	 * with given opcode, owner, name and descriptor, otherwise sets it to
    +	 * &lt;code&gt;null&lt;/code&gt;.
    +	 */
    +	final void nextIsField(final int opcode, final String owner,
    +			final String name, final String descriptor) {
    +<span class="fc" id="L87">		nextIs(opcode);</span>
    +<span class="fc bfc" id="L88" title="All 2 branches covered.">		if (cursor == null) {</span>
    +<span class="fc" id="L89">			return;</span>
    +		}
    +<span class="fc" id="L91">		final FieldInsnNode f = (FieldInsnNode) cursor;</span>
    +<span class="fc bfc" id="L92" title="All 6 branches covered.">		if (owner.equals(f.owner) &amp;&amp; name.equals(f.name)</span>
    +				&amp;&amp; descriptor.equals(f.desc)) {
    +<span class="fc" id="L94">			return;</span>
    +		}
    +<span class="fc" id="L96">		cursor = null;</span>
    +<span class="fc" id="L97">	}</span>
    +
    +	final void nextIsVar(final int opcode, final String name) {
    +<span class="fc" id="L100">		nextIs(opcode);</span>
    +<span class="fc bfc" id="L101" title="All 2 branches covered.">		if (cursor == null) {</span>
    +<span class="fc" id="L102">			return;</span>
    +		}
    +<span class="fc" id="L104">		final VarInsnNode actual = (VarInsnNode) cursor;</span>
    +<span class="fc" id="L105">		final VarInsnNode expected = vars.get(name);</span>
    +<span class="fc bfc" id="L106" title="All 2 branches covered.">		if (expected == null) {</span>
    +<span class="fc" id="L107">			vars.put(name, actual);</span>
    +<span class="fc bfc" id="L108" title="All 2 branches covered.">		} else if (expected.var != actual.var) {</span>
    +<span class="fc" id="L109">			cursor = null;</span>
    +		}
    +<span class="fc" id="L111">	}</span>
    +
    +	/**
    +	 * Moves {@link #cursor} to next instruction if it is
    +	 * &lt;code&gt;TABLESWITCH&lt;/code&gt; or &lt;code&gt;LOOKUPSWITCH&lt;/code&gt;, otherwise sets it
    +	 * to &lt;code&gt;null&lt;/code&gt;.
    +	 */
    +	final void nextIsSwitch() {
    +<span class="fc" id="L119">		next();</span>
    +<span class="fc bfc" id="L120" title="All 2 branches covered.">		if (cursor == null) {</span>
    +<span class="fc" id="L121">			return;</span>
    +		}
    +<span class="fc bfc" id="L123" title="All 2 branches covered.">		switch (cursor.getOpcode()) {</span>
    +		case Opcodes.TABLESWITCH:
    +		case Opcodes.LOOKUPSWITCH:
    +<span class="fc" id="L126">			return;</span>
    +		default:
    +<span class="fc" id="L128">			cursor = null;</span>
    +		}
    +<span class="fc" id="L130">	}</span>
    +
    +	/**
    +	 * Moves {@link #cursor} to next instruction if it has given opcode,
    +	 * otherwise sets it to &lt;code&gt;null&lt;/code&gt;.
    +	 */
    +	final void nextIs(final int opcode) {
    +<span class="fc" id="L137">		next();</span>
    +<span class="fc bfc" id="L138" title="All 2 branches covered.">		if (cursor == null) {</span>
    +<span class="fc" id="L139">			return;</span>
    +		}
    +<span class="fc bfc" id="L141" title="All 2 branches covered.">		if (cursor.getOpcode() != opcode) {</span>
    +<span class="fc" id="L142">			cursor = null;</span>
    +		}
    +<span class="fc" id="L144">	}</span>
    +
    +	/**
    +	 * Moves {@link #cursor} to next instruction.
    +	 */
    +	final void next() {
    +<span class="fc bfc" id="L150" title="All 2 branches covered.">		if (cursor == null) {</span>
    +<span class="fc" id="L151">			return;</span>
    +		}
    +<span class="fc" id="L153">		cursor = cursor.getNext();</span>
    +<span class="fc" id="L154">		skipNonOpcodes();</span>
    +<span class="fc" id="L155">	}</span>
    +
    +	/**
    +	 * Moves {@link #cursor} through {@link AbstractInsnNode#FRAME},
    +	 * {@link AbstractInsnNode#LABEL}, {@link AbstractInsnNode#LINE}.
    +	 */
    +	final void skipNonOpcodes() {
    +<span class="fc" id="L162">		cursor = skipNonOpcodes(cursor);</span>
    +<span class="fc" id="L163">	}</span>
    +
    +	/**
    +	 * Returns first instruction from given and following it that is not
    +	 * {@link AbstractInsnNode#FRAME}, {@link AbstractInsnNode#LABEL},
    +	 * {@link AbstractInsnNode#LINE}.
    +	 */
    +	static AbstractInsnNode skipNonOpcodes(AbstractInsnNode cursor) {
    +<span class="fc bfc" id="L171" title="All 8 branches covered.">		while (cursor != null &amp;&amp; (cursor.getType() == AbstractInsnNode.FRAME</span>
    +				|| cursor.getType() == AbstractInsnNode.LABEL
    +				|| cursor.getType() == AbstractInsnNode.LINE)) {
    +<span class="fc" id="L174">			cursor = cursor.getNext();</span>
    +		}
    +<span class="fc" id="L176">		return cursor;</span>
    +	}
    +
    +}
    +</pre><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.12.202403270442</span>Code Coverage Report for JaCoCo 0.8.12-SNAPSHOT</div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/trunk/coverage/org.jacoco.core/org.jacoco.core.internal.analysis.filter/AnnotationGeneratedFilter.html b/jacoco/trunk/coverage/org.jacoco.core/org.jacoco.core.internal.analysis.filter/AnnotationGeneratedFilter.html
    new file mode 100644
    index 00000000000..4b9f96a3edc
    --- /dev/null
    +++ b/jacoco/trunk/coverage/org.jacoco.core/org.jacoco.core.internal.analysis.filter/AnnotationGeneratedFilter.html
    @@ -0,0 +1 @@
    +<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="en"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../../jacoco-resources/report.gif" type="image/gif"/><title>AnnotationGeneratedFilter</title><script type="text/javascript" src="../../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../../index.html" class="el_report">JaCoCo</a> &gt; <a href="../index.html" class="el_bundle">org.jacoco.core</a> &gt; <a href="index.html" class="el_package">org.jacoco.core.internal.analysis.filter</a> &gt; <span class="el_class">AnnotationGeneratedFilter</span></div><h1>AnnotationGeneratedFilter</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">0 of 81</td><td class="ctr2">100%</td><td class="bar">0 of 14</td><td class="ctr2">100%</td><td class="ctr1">0</td><td class="ctr2">11</td><td class="ctr1">0</td><td class="ctr2">15</td><td class="ctr1">0</td><td class="ctr2">4</td></tr></tfoot><tbody><tr><td id="a1"><a href="AnnotationGeneratedFilter.java.html#L31" class="el_method">filter(MethodNode, IFilterContext, IFilterOutput)</a></td><td class="bar" id="b0"><img src="../../jacoco-resources/greenbar.gif" width="120" height="10" title="41" alt="41"/></td><td class="ctr2" id="c0">100%</td><td class="bar" id="d0"><img src="../../jacoco-resources/greenbar.gif" width="120" height="10" title="8" alt="8"/></td><td class="ctr2" id="e0">100%</td><td class="ctr1" id="f0">0</td><td class="ctr2" id="g0">5</td><td class="ctr1" id="h0">0</td><td class="ctr2" id="i0">7</td><td class="ctr1" id="j0">0</td><td class="ctr2" id="k0">1</td></tr><tr><td id="a3"><a href="AnnotationGeneratedFilter.java.html#L55" class="el_method">presentIn(List)</a></td><td class="bar" id="b1"><img src="../../jacoco-resources/greenbar.gif" width="61" height="10" title="21" alt="21"/></td><td class="ctr2" id="c1">100%</td><td class="bar" id="d1"><img src="../../jacoco-resources/greenbar.gif" width="90" height="10" title="6" alt="6"/></td><td class="ctr2" id="e1">100%</td><td class="ctr1" id="f1">0</td><td class="ctr2" id="g1">4</td><td class="ctr1" id="h1">0</td><td class="ctr2" id="i1">5</td><td class="ctr1" id="j1">0</td><td class="ctr2" id="k1">1</td></tr><tr><td id="a2"><a href="AnnotationGeneratedFilter.java.html#L48" class="el_method">matches(String)</a></td><td class="bar" id="b2"><img src="../../jacoco-resources/greenbar.gif" width="46" height="10" title="16" alt="16"/></td><td class="ctr2" id="c2">100%</td><td class="bar" id="d2"/><td class="ctr2" id="e2">n/a</td><td class="ctr1" id="f2">0</td><td class="ctr2" id="g2">1</td><td class="ctr1" id="h2">0</td><td class="ctr2" id="i2">2</td><td class="ctr1" id="j2">0</td><td class="ctr2" id="k2">1</td></tr><tr><td id="a0"><a href="AnnotationGeneratedFilter.java.html#L26" class="el_method">AnnotationGeneratedFilter()</a></td><td class="bar" id="b3"><img src="../../jacoco-resources/greenbar.gif" width="8" height="10" title="3" alt="3"/></td><td class="ctr2" id="c3">100%</td><td class="bar" id="d3"/><td class="ctr2" id="e3">n/a</td><td class="ctr1" id="f3">0</td><td class="ctr2" id="g3">1</td><td class="ctr1" id="h3">0</td><td class="ctr2" id="i3">1</td><td class="ctr1" id="j3">0</td><td class="ctr2" id="k3">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.12.202403270442</span>Code Coverage Report for JaCoCo 0.8.12-SNAPSHOT</div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/trunk/coverage/org.jacoco.core/org.jacoco.core.internal.analysis.filter/AnnotationGeneratedFilter.java.html b/jacoco/trunk/coverage/org.jacoco.core/org.jacoco.core.internal.analysis.filter/AnnotationGeneratedFilter.java.html
    new file mode 100644
    index 00000000000..0742d52e68f
    --- /dev/null
    +++ b/jacoco/trunk/coverage/org.jacoco.core/org.jacoco.core.internal.analysis.filter/AnnotationGeneratedFilter.java.html
    @@ -0,0 +1,66 @@
    +<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="en"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../../jacoco-resources/report.gif" type="image/gif"/><title>AnnotationGeneratedFilter.java</title><link rel="stylesheet" href="../../jacoco-resources/prettify.css" type="text/css"/><script type="text/javascript" src="../../jacoco-resources/prettify.js"></script></head><body onload="window['PR_TAB_WIDTH']=4;prettyPrint()"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../../index.html" class="el_report">JaCoCo</a> &gt; <a href="../index.html" class="el_bundle">org.jacoco.core</a> &gt; <a href="index.source.html" class="el_package">org.jacoco.core.internal.analysis.filter</a> &gt; <span class="el_source">AnnotationGeneratedFilter.java</span></div><h1>AnnotationGeneratedFilter.java</h1><pre class="source lang-java linenums">/*******************************************************************************
    + * Copyright (c) 2009, 2024 Mountainminds GmbH &amp; Co. KG and Contributors
    + * This program and the accompanying materials are made available under
    + * the terms of the Eclipse Public License 2.0 which is available at
    + * http://www.eclipse.org/legal/epl-2.0
    + *
    + * SPDX-License-Identifier: EPL-2.0
    + *
    + * Contributors:
    + *    Evgeny Mandrikov - initial API and implementation
    + *
    + *******************************************************************************/
    +package org.jacoco.core.internal.analysis.filter;
    +
    +import java.util.List;
    +
    +import org.objectweb.asm.tree.AnnotationNode;
    +import org.objectweb.asm.tree.MethodNode;
    +
    +/**
    + * Filters classes and methods annotated with
    + * {@link java.lang.annotation.RetentionPolicy#RUNTIME runtime visible} and
    + * {@link java.lang.annotation.RetentionPolicy#CLASS invisible} annotation whose
    + * simple name contains &lt;code&gt;Generated&lt;/code&gt;.
    + */
    +<span class="fc" id="L26">public final class AnnotationGeneratedFilter implements IFilter {</span>
    +
    +	public void filter(final MethodNode methodNode,
    +			final IFilterContext context, final IFilterOutput output) {
    +
    +<span class="fc bfc" id="L31" title="All 2 branches covered.">		for (String annotation : context.getClassAnnotations()) {</span>
    +<span class="fc bfc" id="L32" title="All 2 branches covered.">			if (matches(annotation)) {</span>
    +<span class="fc" id="L33">				output.ignore(methodNode.instructions.getFirst(),</span>
    +						methodNode.instructions.getLast());
    +<span class="fc" id="L35">				return;</span>
    +			}
    +		}
    +
    +<span class="fc bfc" id="L39" title="All 4 branches covered.">		if (presentIn(methodNode.invisibleAnnotations)</span>
    +				|| presentIn(methodNode.visibleAnnotations)) {
    +<span class="fc" id="L41">			output.ignore(methodNode.instructions.getFirst(),</span>
    +					methodNode.instructions.getLast());
    +		}
    +
    +<span class="fc" id="L45">	}</span>
    +
    +	private static boolean matches(final String annotation) {
    +<span class="fc" id="L48">		final String name = annotation</span>
    +				.substring(Math.max(annotation.lastIndexOf('/'),
    +						annotation.lastIndexOf('$')) + 1);
    +<span class="fc" id="L51">		return name.contains(&quot;Generated&quot;);</span>
    +	}
    +
    +	private static boolean presentIn(final List&lt;AnnotationNode&gt; annotations) {
    +<span class="fc bfc" id="L55" title="All 2 branches covered.">		if (annotations != null) {</span>
    +<span class="fc bfc" id="L56" title="All 2 branches covered.">			for (AnnotationNode annotation : annotations) {</span>
    +<span class="fc bfc" id="L57" title="All 2 branches covered.">				if (matches(annotation.desc)) {</span>
    +<span class="fc" id="L58">					return true;</span>
    +				}
    +			}
    +		}
    +<span class="fc" id="L62">		return false;</span>
    +	}
    +
    +}
    +</pre><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.12.202403270442</span>Code Coverage Report for JaCoCo 0.8.12-SNAPSHOT</div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/trunk/coverage/org.jacoco.core/org.jacoco.core.internal.analysis.filter/AssertFilter$Matcher.html b/jacoco/trunk/coverage/org.jacoco.core/org.jacoco.core.internal.analysis.filter/AssertFilter$Matcher.html
    new file mode 100644
    index 00000000000..739aa3067fe
    --- /dev/null
    +++ b/jacoco/trunk/coverage/org.jacoco.core/org.jacoco.core.internal.analysis.filter/AssertFilter$Matcher.html
    @@ -0,0 +1 @@
    +<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="en"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../../jacoco-resources/report.gif" type="image/gif"/><title>AssertFilter.Matcher</title><script type="text/javascript" src="../../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../../index.html" class="el_report">JaCoCo</a> &gt; <a href="../index.html" class="el_bundle">org.jacoco.core</a> &gt; <a href="index.html" class="el_package">org.jacoco.core.internal.analysis.filter</a> &gt; <span class="el_class">AssertFilter.Matcher</span></div><h1>AssertFilter.Matcher</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">0 of 58</td><td class="ctr2">100%</td><td class="bar">0 of 4</td><td class="ctr2">100%</td><td class="ctr1">0</td><td class="ctr2">4</td><td class="ctr1">0</td><td class="ctr2">16</td><td class="ctr1">0</td><td class="ctr2">2</td></tr></tfoot><tbody><tr><td id="a1"><a href="AssertFilter.java.html#L40" class="el_method">matchSet(String, AbstractInsnNode, IFilterOutput)</a></td><td class="bar" id="b0"><img src="../../jacoco-resources/greenbar.gif" width="120" height="10" title="36" alt="36"/></td><td class="ctr2" id="c0">100%</td><td class="bar" id="d0"><img src="../../jacoco-resources/greenbar.gif" width="120" height="10" title="2" alt="2"/></td><td class="ctr2" id="e0">100%</td><td class="ctr1" id="f0">0</td><td class="ctr2" id="g0">2</td><td class="ctr1" id="h0">0</td><td class="ctr2" id="i0">10</td><td class="ctr1" id="j0">0</td><td class="ctr2" id="k0">1</td></tr><tr><td id="a0"><a href="AssertFilter.java.html#L56" class="el_method">matchGet(String, AbstractInsnNode, IFilterOutput)</a></td><td class="bar" id="b1"><img src="../../jacoco-resources/greenbar.gif" width="73" height="10" title="22" alt="22"/></td><td class="ctr2" id="c1">100%</td><td class="bar" id="d1"><img src="../../jacoco-resources/greenbar.gif" width="120" height="10" title="2" alt="2"/></td><td class="ctr2" id="e1">100%</td><td class="ctr1" id="f1">0</td><td class="ctr2" id="g1">2</td><td class="ctr1" id="h1">0</td><td class="ctr2" id="i1">6</td><td class="ctr1" id="j1">0</td><td class="ctr2" id="k1">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.12.202403270442</span>Code Coverage Report for JaCoCo 0.8.12-SNAPSHOT</div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/trunk/coverage/org.jacoco.core/org.jacoco.core.internal.analysis.filter/AssertFilter.html b/jacoco/trunk/coverage/org.jacoco.core/org.jacoco.core.internal.analysis.filter/AssertFilter.html
    new file mode 100644
    index 00000000000..24c875cbc4c
    --- /dev/null
    +++ b/jacoco/trunk/coverage/org.jacoco.core/org.jacoco.core.internal.analysis.filter/AssertFilter.html
    @@ -0,0 +1 @@
    +<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="en"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../../jacoco-resources/report.gif" type="image/gif"/><title>AssertFilter</title><script type="text/javascript" src="../../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../../index.html" class="el_report">JaCoCo</a> &gt; <a href="../index.html" class="el_bundle">org.jacoco.core</a> &gt; <a href="index.html" class="el_package">org.jacoco.core.internal.analysis.filter</a> &gt; <span class="el_class">AssertFilter</span></div><h1>AssertFilter</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">0 of 50</td><td class="ctr2">100%</td><td class="bar">0 of 6</td><td class="ctr2">100%</td><td class="ctr1">0</td><td class="ctr2">5</td><td class="ctr1">0</td><td class="ctr2">9</td><td class="ctr1">0</td><td class="ctr2">2</td></tr></tfoot><tbody><tr><td id="a1"><a href="AssertFilter.java.html#L26" class="el_method">filter(MethodNode, IFilterContext, IFilterOutput)</a></td><td class="bar" id="b0"><img src="../../jacoco-resources/greenbar.gif" width="120" height="10" title="47" alt="47"/></td><td class="ctr2" id="c0">100%</td><td class="bar" id="d0"><img src="../../jacoco-resources/greenbar.gif" width="120" height="10" title="6" alt="6"/></td><td class="ctr2" id="e0">100%</td><td class="ctr1" id="f0">0</td><td class="ctr2" id="g0">4</td><td class="ctr1" id="h0">0</td><td class="ctr2" id="i0">7</td><td class="ctr1" id="j0">0</td><td class="ctr2" id="k0">1</td></tr><tr><td id="a0"><a href="AssertFilter.java.html#L22" class="el_method">AssertFilter()</a></td><td class="bar" id="b1"><img src="../../jacoco-resources/greenbar.gif" width="7" height="10" title="3" alt="3"/></td><td class="ctr2" id="c1">100%</td><td class="bar" id="d1"/><td class="ctr2" id="e1">n/a</td><td class="ctr1" id="f1">0</td><td class="ctr2" id="g1">1</td><td class="ctr1" id="h1">0</td><td class="ctr2" id="i1">2</td><td class="ctr1" id="j1">0</td><td class="ctr2" id="k1">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.12.202403270442</span>Code Coverage Report for JaCoCo 0.8.12-SNAPSHOT</div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/trunk/coverage/org.jacoco.core/org.jacoco.core.internal.analysis.filter/AssertFilter.java.html b/jacoco/trunk/coverage/org.jacoco.core/org.jacoco.core.internal.analysis.filter/AssertFilter.java.html
    new file mode 100644
    index 00000000000..cc28ea45f4e
    --- /dev/null
    +++ b/jacoco/trunk/coverage/org.jacoco.core/org.jacoco.core.internal.analysis.filter/AssertFilter.java.html
    @@ -0,0 +1,67 @@
    +<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="en"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../../jacoco-resources/report.gif" type="image/gif"/><title>AssertFilter.java</title><link rel="stylesheet" href="../../jacoco-resources/prettify.css" type="text/css"/><script type="text/javascript" src="../../jacoco-resources/prettify.js"></script></head><body onload="window['PR_TAB_WIDTH']=4;prettyPrint()"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../../index.html" class="el_report">JaCoCo</a> &gt; <a href="../index.html" class="el_bundle">org.jacoco.core</a> &gt; <a href="index.source.html" class="el_package">org.jacoco.core.internal.analysis.filter</a> &gt; <span class="el_source">AssertFilter.java</span></div><h1>AssertFilter.java</h1><pre class="source lang-java linenums">/*******************************************************************************
    + * Copyright (c) 2009, 2024 Mountainminds GmbH &amp; Co. KG and Contributors
    + * This program and the accompanying materials are made available under
    + * the terms of the Eclipse Public License 2.0 which is available at
    + * http://www.eclipse.org/legal/epl-2.0
    + *
    + * SPDX-License-Identifier: EPL-2.0
    + *
    + * Contributors:
    + *    Evgeny Mandrikov - initial API and implementation
    + *
    + *******************************************************************************/
    +package org.jacoco.core.internal.analysis.filter;
    +
    +import org.objectweb.asm.Opcodes;
    +import org.objectweb.asm.tree.AbstractInsnNode;
    +import org.objectweb.asm.tree.MethodNode;
    +
    +/**
    + * Filters code that is generated for an &lt;code&gt;assert&lt;/code&gt; statement.
    + */
    +<span class="fc" id="L22">final class AssertFilter implements IFilter {</span>
    +
    +	public void filter(final MethodNode methodNode,
    +			final IFilterContext context, final IFilterOutput output) {
    +<span class="fc" id="L26">		final Matcher matcher = new Matcher();</span>
    +<span class="fc bfc" id="L27" title="All 2 branches covered.">		if (&quot;&lt;clinit&gt;&quot;.equals(methodNode.name)) {</span>
    +<span class="fc bfc" id="L28" title="All 2 branches covered.">			for (final AbstractInsnNode i : methodNode.instructions) {</span>
    +<span class="fc" id="L29">				matcher.matchSet(context.getClassName(), i, output);</span>
    +			}
    +		}
    +<span class="fc bfc" id="L32" title="All 2 branches covered.">		for (final AbstractInsnNode i : methodNode.instructions) {</span>
    +<span class="fc" id="L33">			matcher.matchGet(context.getClassName(), i, output);</span>
    +		}
    +<span class="fc" id="L35">	}</span>
    +
    +<span class="fc" id="L37">	private static class Matcher extends AbstractMatcher {</span>
    +		public void matchSet(final String className,
    +				final AbstractInsnNode start, final IFilterOutput output) {
    +<span class="fc" id="L40">			cursor = start;</span>
    +<span class="fc" id="L41">			nextIsInvoke(Opcodes.INVOKEVIRTUAL, &quot;java/lang/Class&quot;,</span>
    +					&quot;desiredAssertionStatus&quot;, &quot;()Z&quot;);
    +<span class="fc" id="L43">			nextIs(Opcodes.IFNE);</span>
    +<span class="fc" id="L44">			nextIs(Opcodes.ICONST_1);</span>
    +<span class="fc" id="L45">			nextIs(Opcodes.GOTO);</span>
    +<span class="fc" id="L46">			nextIs(Opcodes.ICONST_0);</span>
    +<span class="fc" id="L47">			nextIsField(Opcodes.PUTSTATIC, className, &quot;$assertionsDisabled&quot;,</span>
    +					&quot;Z&quot;);
    +<span class="fc bfc" id="L49" title="All 2 branches covered.">			if (cursor != null) {</span>
    +<span class="fc" id="L50">				output.ignore(start, cursor);</span>
    +			}
    +<span class="fc" id="L52">		}</span>
    +
    +		public void matchGet(final String className,
    +				final AbstractInsnNode start, final IFilterOutput output) {
    +<span class="fc" id="L56">			cursor = start;</span>
    +<span class="fc" id="L57">			nextIsField(Opcodes.GETSTATIC, className, &quot;$assertionsDisabled&quot;,</span>
    +					&quot;Z&quot;);
    +<span class="fc" id="L59">			nextIs(Opcodes.IFNE);</span>
    +<span class="fc bfc" id="L60" title="All 2 branches covered.">			if (cursor != null) {</span>
    +<span class="fc" id="L61">				output.ignore(cursor, cursor);</span>
    +			}
    +<span class="fc" id="L63">		}</span>
    +	}
    +
    +}
    +</pre><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.12.202403270442</span>Code Coverage Report for JaCoCo 0.8.12-SNAPSHOT</div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/trunk/coverage/org.jacoco.core/org.jacoco.core.internal.analysis.filter/BridgeFilter.html b/jacoco/trunk/coverage/org.jacoco.core/org.jacoco.core.internal.analysis.filter/BridgeFilter.html
    new file mode 100644
    index 00000000000..ccfe588c486
    --- /dev/null
    +++ b/jacoco/trunk/coverage/org.jacoco.core/org.jacoco.core.internal.analysis.filter/BridgeFilter.html
    @@ -0,0 +1 @@
    +<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="en"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../../jacoco-resources/report.gif" type="image/gif"/><title>BridgeFilter</title><script type="text/javascript" src="../../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../../index.html" class="el_report">JaCoCo</a> &gt; <a href="../index.html" class="el_bundle">org.jacoco.core</a> &gt; <a href="index.html" class="el_package">org.jacoco.core.internal.analysis.filter</a> &gt; <span class="el_class">BridgeFilter</span></div><h1>BridgeFilter</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">0 of 18</td><td class="ctr2">100%</td><td class="bar">0 of 2</td><td class="ctr2">100%</td><td class="ctr1">0</td><td class="ctr2">3</td><td class="ctr1">0</td><td class="ctr2">5</td><td class="ctr1">0</td><td class="ctr2">2</td></tr></tfoot><tbody><tr><td id="a1"><a href="BridgeFilter.java.html#L25" class="el_method">filter(MethodNode, IFilterContext, IFilterOutput)</a></td><td class="bar" id="b0"><img src="../../jacoco-resources/greenbar.gif" width="120" height="10" title="15" alt="15"/></td><td class="ctr2" id="c0">100%</td><td class="bar" id="d0"><img src="../../jacoco-resources/greenbar.gif" width="120" height="10" title="2" alt="2"/></td><td class="ctr2" id="e0">100%</td><td class="ctr1" id="f0">0</td><td class="ctr2" id="g0">2</td><td class="ctr1" id="h0">0</td><td class="ctr2" id="i0">4</td><td class="ctr1" id="j0">0</td><td class="ctr2" id="k0">1</td></tr><tr><td id="a0"><a href="BridgeFilter.java.html#L21" class="el_method">BridgeFilter()</a></td><td class="bar" id="b1"><img src="../../jacoco-resources/greenbar.gif" width="24" height="10" title="3" alt="3"/></td><td class="ctr2" id="c1">100%</td><td class="bar" id="d1"/><td class="ctr2" id="e1">n/a</td><td class="ctr1" id="f1">0</td><td class="ctr2" id="g1">1</td><td class="ctr1" id="h1">0</td><td class="ctr2" id="i1">1</td><td class="ctr1" id="j1">0</td><td class="ctr2" id="k1">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.12.202403270442</span>Code Coverage Report for JaCoCo 0.8.12-SNAPSHOT</div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/trunk/coverage/org.jacoco.core/org.jacoco.core.internal.analysis.filter/BridgeFilter.java.html b/jacoco/trunk/coverage/org.jacoco.core/org.jacoco.core.internal.analysis.filter/BridgeFilter.java.html
    new file mode 100644
    index 00000000000..87ebe0e6c78
    --- /dev/null
    +++ b/jacoco/trunk/coverage/org.jacoco.core/org.jacoco.core.internal.analysis.filter/BridgeFilter.java.html
    @@ -0,0 +1,33 @@
    +<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="en"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../../jacoco-resources/report.gif" type="image/gif"/><title>BridgeFilter.java</title><link rel="stylesheet" href="../../jacoco-resources/prettify.css" type="text/css"/><script type="text/javascript" src="../../jacoco-resources/prettify.js"></script></head><body onload="window['PR_TAB_WIDTH']=4;prettyPrint()"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../../index.html" class="el_report">JaCoCo</a> &gt; <a href="../index.html" class="el_bundle">org.jacoco.core</a> &gt; <a href="index.source.html" class="el_package">org.jacoco.core.internal.analysis.filter</a> &gt; <span class="el_source">BridgeFilter.java</span></div><h1>BridgeFilter.java</h1><pre class="source lang-java linenums">/*******************************************************************************
    + * Copyright (c) 2009, 2024 Mountainminds GmbH &amp; Co. KG and Contributors
    + * This program and the accompanying materials are made available under
    + * the terms of the Eclipse Public License 2.0 which is available at
    + * http://www.eclipse.org/legal/epl-2.0
    + *
    + * SPDX-License-Identifier: EPL-2.0
    + *
    + * Contributors:
    + *    Evgeny Mandrikov - initial API and implementation
    + *
    + *******************************************************************************/
    +package org.jacoco.core.internal.analysis.filter;
    +
    +import org.objectweb.asm.Opcodes;
    +import org.objectweb.asm.tree.MethodNode;
    +
    +/**
    + * Filters bridge methods.
    + */
    +<span class="fc" id="L21">final class BridgeFilter implements IFilter {</span>
    +
    +	public void filter(final MethodNode methodNode,
    +			final IFilterContext context, final IFilterOutput output) {
    +<span class="fc bfc" id="L25" title="All 2 branches covered.">		if ((methodNode.access &amp; Opcodes.ACC_BRIDGE) == 0) {</span>
    +<span class="fc" id="L26">			return;</span>
    +		}
    +<span class="fc" id="L28">		output.ignore(methodNode.instructions.getFirst(),</span>
    +				methodNode.instructions.getLast());
    +<span class="fc" id="L30">	}</span>
    +
    +}
    +</pre><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.12.202403270442</span>Code Coverage Report for JaCoCo 0.8.12-SNAPSHOT</div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/trunk/coverage/org.jacoco.core/org.jacoco.core.internal.analysis.filter/EnumEmptyConstructorFilter$Matcher.html b/jacoco/trunk/coverage/org.jacoco.core/org.jacoco.core.internal.analysis.filter/EnumEmptyConstructorFilter$Matcher.html
    new file mode 100644
    index 00000000000..55b26b57484
    --- /dev/null
    +++ b/jacoco/trunk/coverage/org.jacoco.core/org.jacoco.core.internal.analysis.filter/EnumEmptyConstructorFilter$Matcher.html
    @@ -0,0 +1 @@
    +<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="en"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../../jacoco-resources/report.gif" type="image/gif"/><title>EnumEmptyConstructorFilter.Matcher</title><script type="text/javascript" src="../../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../../index.html" class="el_report">JaCoCo</a> &gt; <a href="../index.html" class="el_bundle">org.jacoco.core</a> &gt; <a href="index.html" class="el_package">org.jacoco.core.internal.analysis.filter</a> &gt; <span class="el_class">EnumEmptyConstructorFilter.Matcher</span></div><h1>EnumEmptyConstructorFilter.Matcher</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">0 of 25</td><td class="ctr2">100%</td><td class="bar">0 of 2</td><td class="ctr2">100%</td><td class="ctr1">0</td><td class="ctr2">2</td><td class="ctr1">0</td><td class="ctr2">6</td><td class="ctr1">0</td><td class="ctr2">1</td></tr></tfoot><tbody><tr><td id="a0"><a href="EnumEmptyConstructorFilter.java.html#L52" class="el_method">match(MethodNode)</a></td><td class="bar" id="b0"><img src="../../jacoco-resources/greenbar.gif" width="120" height="10" title="25" alt="25"/></td><td class="ctr2" id="c0">100%</td><td class="bar" id="d0"><img src="../../jacoco-resources/greenbar.gif" width="120" height="10" title="2" alt="2"/></td><td class="ctr2" id="e0">100%</td><td class="ctr1" id="f0">0</td><td class="ctr2" id="g0">2</td><td class="ctr1" id="h0">0</td><td class="ctr2" id="i0">6</td><td class="ctr1" id="j0">0</td><td class="ctr2" id="k0">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.12.202403270442</span>Code Coverage Report for JaCoCo 0.8.12-SNAPSHOT</div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/trunk/coverage/org.jacoco.core/org.jacoco.core.internal.analysis.filter/EnumEmptyConstructorFilter.html b/jacoco/trunk/coverage/org.jacoco.core/org.jacoco.core.internal.analysis.filter/EnumEmptyConstructorFilter.html
    new file mode 100644
    index 00000000000..8a97b5f97f5
    --- /dev/null
    +++ b/jacoco/trunk/coverage/org.jacoco.core/org.jacoco.core.internal.analysis.filter/EnumEmptyConstructorFilter.html
    @@ -0,0 +1 @@
    +<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="en"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../../jacoco-resources/report.gif" type="image/gif"/><title>EnumEmptyConstructorFilter</title><script type="text/javascript" src="../../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../../index.html" class="el_report">JaCoCo</a> &gt; <a href="../index.html" class="el_bundle">org.jacoco.core</a> &gt; <a href="index.html" class="el_package">org.jacoco.core.internal.analysis.filter</a> &gt; <span class="el_class">EnumEmptyConstructorFilter</span></div><h1>EnumEmptyConstructorFilter</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">0 of 34</td><td class="ctr2">100%</td><td class="bar">0 of 8</td><td class="ctr2">100%</td><td class="ctr1">0</td><td class="ctr2">6</td><td class="ctr1">0</td><td class="ctr2">5</td><td class="ctr1">0</td><td class="ctr2">2</td></tr></tfoot><tbody><tr><td id="a1"><a href="EnumEmptyConstructorFilter.java.html#L41" class="el_method">filter(MethodNode, IFilterContext, IFilterOutput)</a></td><td class="bar" id="b0"><img src="../../jacoco-resources/greenbar.gif" width="120" height="10" title="31" alt="31"/></td><td class="ctr2" id="c0">100%</td><td class="bar" id="d0"><img src="../../jacoco-resources/greenbar.gif" width="120" height="10" title="8" alt="8"/></td><td class="ctr2" id="e0">100%</td><td class="ctr1" id="f0">0</td><td class="ctr2" id="g0">5</td><td class="ctr1" id="h0">0</td><td class="ctr2" id="i0">3</td><td class="ctr1" id="j0">0</td><td class="ctr2" id="k0">1</td></tr><tr><td id="a0"><a href="EnumEmptyConstructorFilter.java.html#L32" class="el_method">EnumEmptyConstructorFilter()</a></td><td class="bar" id="b1"><img src="../../jacoco-resources/greenbar.gif" width="11" height="10" title="3" alt="3"/></td><td class="ctr2" id="c1">100%</td><td class="bar" id="d1"/><td class="ctr2" id="e1">n/a</td><td class="ctr1" id="f1">0</td><td class="ctr2" id="g1">1</td><td class="ctr1" id="h1">0</td><td class="ctr2" id="i1">2</td><td class="ctr1" id="j1">0</td><td class="ctr2" id="k1">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.12.202403270442</span>Code Coverage Report for JaCoCo 0.8.12-SNAPSHOT</div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/trunk/coverage/org.jacoco.core/org.jacoco.core.internal.analysis.filter/EnumEmptyConstructorFilter.java.html b/jacoco/trunk/coverage/org.jacoco.core/org.jacoco.core.internal.analysis.filter/EnumEmptyConstructorFilter.java.html
    new file mode 100644
    index 00000000000..85d63964598
    --- /dev/null
    +++ b/jacoco/trunk/coverage/org.jacoco.core/org.jacoco.core.internal.analysis.filter/EnumEmptyConstructorFilter.java.html
    @@ -0,0 +1,63 @@
    +<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="en"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../../jacoco-resources/report.gif" type="image/gif"/><title>EnumEmptyConstructorFilter.java</title><link rel="stylesheet" href="../../jacoco-resources/prettify.css" type="text/css"/><script type="text/javascript" src="../../jacoco-resources/prettify.js"></script></head><body onload="window['PR_TAB_WIDTH']=4;prettyPrint()"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../../index.html" class="el_report">JaCoCo</a> &gt; <a href="../index.html" class="el_bundle">org.jacoco.core</a> &gt; <a href="index.source.html" class="el_package">org.jacoco.core.internal.analysis.filter</a> &gt; <span class="el_source">EnumEmptyConstructorFilter.java</span></div><h1>EnumEmptyConstructorFilter.java</h1><pre class="source lang-java linenums">/*******************************************************************************
    + * Copyright (c) 2009, 2024 Mountainminds GmbH &amp; Co. KG and Contributors
    + * This program and the accompanying materials are made available under
    + * the terms of the Eclipse Public License 2.0 which is available at
    + * http://www.eclipse.org/legal/epl-2.0
    + *
    + * SPDX-License-Identifier: EPL-2.0
    + *
    + * Contributors:
    + *    Evgeny Mandrikov - initial API and implementation
    + *
    + *******************************************************************************/
    +package org.jacoco.core.internal.analysis.filter;
    +
    +import org.objectweb.asm.Opcodes;
    +import org.objectweb.asm.tree.MethodNode;
    +
    +/**
    + * Filters empty enum constructors.
    + *
    + * Constructor of enum is invoked from static initialization block to create
    + * instance of each enum constant. So it won't be executed if number of enum
    + * constants is zero. Such enums are sometimes used as alternative to classes
    + * with static utilities and private empty constructor. Implicit constructor of
    + * enum created by compiler doesn't have a synthetic flag and refers to a line
    + * of enum definition. Therefore in order to not have partial coverage of enum
    + * definition line in enums without enum constants and similarly to
    + * {@link PrivateEmptyNoArgConstructorFilter filter of private empty
    + * constructors} - empty constructor in enums without additional parameters
    + * should be filtered out even if it is not implicit.
    + */
    +<span class="fc" id="L32">public final class EnumEmptyConstructorFilter implements IFilter {</span>
    +
    +	private static final String CONSTRUCTOR_NAME = &quot;&lt;init&gt;&quot;;
    +	private static final String CONSTRUCTOR_DESC = &quot;(Ljava/lang/String;I)V&quot;;
    +
    +	private static final String ENUM_TYPE = &quot;java/lang/Enum&quot;;
    +
    +	public void filter(final MethodNode methodNode,
    +			final IFilterContext context, final IFilterOutput output) {
    +<span class="fc bfc" id="L41" title="All 8 branches covered.">		if (ENUM_TYPE.equals(context.getSuperClassName())</span>
    +				&amp;&amp; CONSTRUCTOR_NAME.equals(methodNode.name)
    +				&amp;&amp; CONSTRUCTOR_DESC.equals(methodNode.desc)
    +				&amp;&amp; new Matcher().match(methodNode)) {
    +<span class="fc" id="L45">			output.ignore(methodNode.instructions.getFirst(),</span>
    +					methodNode.instructions.getLast());
    +		}
    +<span class="fc" id="L48">	}</span>
    +
    +<span class="fc" id="L50">	private static class Matcher extends AbstractMatcher {</span>
    +		private boolean match(final MethodNode methodNode) {
    +<span class="fc" id="L52">			firstIsALoad0(methodNode);</span>
    +<span class="fc" id="L53">			nextIs(Opcodes.ALOAD);</span>
    +<span class="fc" id="L54">			nextIs(Opcodes.ILOAD);</span>
    +<span class="fc" id="L55">			nextIsInvoke(Opcodes.INVOKESPECIAL, ENUM_TYPE, CONSTRUCTOR_NAME,</span>
    +					CONSTRUCTOR_DESC);
    +<span class="fc" id="L57">			nextIs(Opcodes.RETURN);</span>
    +<span class="fc bfc" id="L58" title="All 2 branches covered.">			return cursor != null;</span>
    +		}
    +	}
    +
    +}
    +</pre><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.12.202403270442</span>Code Coverage Report for JaCoCo 0.8.12-SNAPSHOT</div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/trunk/coverage/org.jacoco.core/org.jacoco.core.internal.analysis.filter/EnumFilter.html b/jacoco/trunk/coverage/org.jacoco.core/org.jacoco.core.internal.analysis.filter/EnumFilter.html
    new file mode 100644
    index 00000000000..32955d7201f
    --- /dev/null
    +++ b/jacoco/trunk/coverage/org.jacoco.core/org.jacoco.core.internal.analysis.filter/EnumFilter.html
    @@ -0,0 +1 @@
    +<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="en"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../../jacoco-resources/report.gif" type="image/gif"/><title>EnumFilter</title><script type="text/javascript" src="../../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../../index.html" class="el_report">JaCoCo</a> &gt; <a href="../index.html" class="el_bundle">org.jacoco.core</a> &gt; <a href="index.html" class="el_package">org.jacoco.core.internal.analysis.filter</a> &gt; <span class="el_class">EnumFilter</span></div><h1>EnumFilter</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">0 of 67</td><td class="ctr2">100%</td><td class="bar">2 of 12</td><td class="ctr2">83%</td><td class="ctr1">2</td><td class="ctr2">9</td><td class="ctr1">0</td><td class="ctr2">10</td><td class="ctr1">0</td><td class="ctr2">3</td></tr></tfoot><tbody><tr><td id="a2"><a href="EnumFilter.java.html#L36" class="el_method">isMethodFiltered(String, String, String, String)</a></td><td class="bar" id="b0"><img src="../../jacoco-resources/greenbar.gif" width="120" height="10" title="44" alt="44"/></td><td class="ctr2" id="c0">100%</td><td class="bar" id="d0"><img src="../../jacoco-resources/redbar.gif" width="24" height="10" title="2" alt="2"/><img src="../../jacoco-resources/greenbar.gif" width="96" height="10" title="8" alt="8"/></td><td class="ctr2" id="e1">80%</td><td class="ctr1" id="f0">2</td><td class="ctr2" id="g0">6</td><td class="ctr1" id="h0">0</td><td class="ctr2" id="i0">6</td><td class="ctr1" id="j0">0</td><td class="ctr2" id="k0">1</td></tr><tr><td id="a1"><a href="EnumFilter.java.html#L25" class="el_method">filter(MethodNode, IFilterContext, IFilterOutput)</a></td><td class="bar" id="b1"><img src="../../jacoco-resources/greenbar.gif" width="54" height="10" title="20" alt="20"/></td><td class="ctr2" id="c1">100%</td><td class="bar" id="d1"><img src="../../jacoco-resources/greenbar.gif" width="24" height="10" title="2" alt="2"/></td><td class="ctr2" id="e0">100%</td><td class="ctr1" id="f1">0</td><td class="ctr2" id="g1">2</td><td class="ctr1" id="h1">0</td><td class="ctr2" id="i1">3</td><td class="ctr1" id="j1">0</td><td class="ctr2" id="k1">1</td></tr><tr><td id="a0"><a href="EnumFilter.java.html#L21" class="el_method">EnumFilter()</a></td><td class="bar" id="b2"><img src="../../jacoco-resources/greenbar.gif" width="8" height="10" title="3" alt="3"/></td><td class="ctr2" id="c2">100%</td><td class="bar" id="d2"/><td class="ctr2" id="e2">n/a</td><td class="ctr1" id="f2">0</td><td class="ctr2" id="g2">1</td><td class="ctr1" id="h2">0</td><td class="ctr2" id="i2">1</td><td class="ctr1" id="j2">0</td><td class="ctr2" id="k2">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.12.202403270442</span>Code Coverage Report for JaCoCo 0.8.12-SNAPSHOT</div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/trunk/coverage/org.jacoco.core/org.jacoco.core.internal.analysis.filter/EnumFilter.java.html b/jacoco/trunk/coverage/org.jacoco.core/org.jacoco.core.internal.analysis.filter/EnumFilter.java.html
    new file mode 100644
    index 00000000000..1f9570dcba7
    --- /dev/null
    +++ b/jacoco/trunk/coverage/org.jacoco.core/org.jacoco.core.internal.analysis.filter/EnumFilter.java.html
    @@ -0,0 +1,51 @@
    +<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="en"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../../jacoco-resources/report.gif" type="image/gif"/><title>EnumFilter.java</title><link rel="stylesheet" href="../../jacoco-resources/prettify.css" type="text/css"/><script type="text/javascript" src="../../jacoco-resources/prettify.js"></script></head><body onload="window['PR_TAB_WIDTH']=4;prettyPrint()"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../../index.html" class="el_report">JaCoCo</a> &gt; <a href="../index.html" class="el_bundle">org.jacoco.core</a> &gt; <a href="index.source.html" class="el_package">org.jacoco.core.internal.analysis.filter</a> &gt; <span class="el_source">EnumFilter.java</span></div><h1>EnumFilter.java</h1><pre class="source lang-java linenums">/*******************************************************************************
    + * Copyright (c) 2009, 2024 Mountainminds GmbH &amp; Co. KG and Contributors
    + * This program and the accompanying materials are made available under
    + * the terms of the Eclipse Public License 2.0 which is available at
    + * http://www.eclipse.org/legal/epl-2.0
    + *
    + * SPDX-License-Identifier: EPL-2.0
    + *
    + * Contributors:
    + *    Evgeny Mandrikov - initial API and implementation
    + *
    + *******************************************************************************/
    +package org.jacoco.core.internal.analysis.filter;
    +
    +import org.objectweb.asm.tree.MethodNode;
    +
    +/**
    + * Filters methods &lt;code&gt;values&lt;/code&gt; and &lt;code&gt;valueOf&lt;/code&gt; that compiler
    + * creates for enums.
    + */
    +<span class="fc" id="L21">public final class EnumFilter implements IFilter {</span>
    +
    +	public void filter(final MethodNode methodNode,
    +			final IFilterContext context, final IFilterOutput output) {
    +<span class="fc bfc" id="L25" title="All 2 branches covered.">		if (isMethodFiltered(context.getClassName(),</span>
    +				context.getSuperClassName(), methodNode.name,
    +				methodNode.desc)) {
    +<span class="fc" id="L28">			output.ignore(methodNode.instructions.getFirst(),</span>
    +					methodNode.instructions.getLast());
    +		}
    +<span class="fc" id="L31">	}</span>
    +
    +	private boolean isMethodFiltered(final String className,
    +			final String superClassName, final String methodName,
    +			final String methodDesc) {
    +<span class="fc bfc" id="L36" title="All 2 branches covered.">		if (&quot;java/lang/Enum&quot;.equals(superClassName)) {</span>
    +<span class="pc bpc" id="L37" title="1 of 4 branches missed.">			if (&quot;values&quot;.equals(methodName)</span>
    +					&amp;&amp; (&quot;()[L&quot; + className + &quot;;&quot;).equals(methodDesc)) {
    +<span class="fc" id="L39">				return true;</span>
    +			}
    +<span class="pc bpc" id="L41" title="1 of 4 branches missed.">			if (&quot;valueOf&quot;.equals(methodName)</span>
    +					&amp;&amp; (&quot;(Ljava/lang/String;)L&quot; + className + &quot;;&quot;)
    +							.equals(methodDesc)) {
    +<span class="fc" id="L44">				return true;</span>
    +			}
    +		}
    +<span class="fc" id="L47">		return false;</span>
    +	}
    +
    +}
    +</pre><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.12.202403270442</span>Code Coverage Report for JaCoCo 0.8.12-SNAPSHOT</div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/trunk/coverage/org.jacoco.core/org.jacoco.core.internal.analysis.filter/ExhaustiveSwitchFilter$Matcher.html b/jacoco/trunk/coverage/org.jacoco.core/org.jacoco.core.internal.analysis.filter/ExhaustiveSwitchFilter$Matcher.html
    new file mode 100644
    index 00000000000..ce53acbfcae
    --- /dev/null
    +++ b/jacoco/trunk/coverage/org.jacoco.core/org.jacoco.core.internal.analysis.filter/ExhaustiveSwitchFilter$Matcher.html
    @@ -0,0 +1 @@
    +<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="en"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../../jacoco-resources/report.gif" type="image/gif"/><title>ExhaustiveSwitchFilter.Matcher</title><script type="text/javascript" src="../../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../../index.html" class="el_report">JaCoCo</a> &gt; <a href="../index.html" class="el_bundle">org.jacoco.core</a> &gt; <a href="index.html" class="el_package">org.jacoco.core.internal.analysis.filter</a> &gt; <span class="el_class">ExhaustiveSwitchFilter.Matcher</span></div><h1>ExhaustiveSwitchFilter.Matcher</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">13 of 155</td><td class="ctr2">91%</td><td class="bar">8 of 28</td><td class="ctr2">71%</td><td class="ctr1">8</td><td class="ctr2">16</td><td class="ctr1">6</td><td class="ctr2">37</td><td class="ctr1">0</td><td class="ctr2">2</td></tr></tfoot><tbody><tr><td id="a0"><a href="ExhaustiveSwitchFilter.java.html#L50" class="el_method">match(AbstractInsnNode, int, IFilterOutput)</a></td><td class="bar" id="b0"><img src="../../jacoco-resources/redbar.gif" width="11" height="10" title="13" alt="13"/><img src="../../jacoco-resources/greenbar.gif" width="108" height="10" title="126" alt="126"/></td><td class="ctr2" id="c1">90%</td><td class="bar" id="d0"><img src="../../jacoco-resources/redbar.gif" width="32" height="10" title="6" alt="6"/><img src="../../jacoco-resources/greenbar.gif" width="87" height="10" title="16" alt="16"/></td><td class="ctr2" id="e0">72%</td><td class="ctr1" id="f0">6</td><td class="ctr2" id="g0">12</td><td class="ctr1" id="h0">6</td><td class="ctr2" id="i0">34</td><td class="ctr1" id="j0">0</td><td class="ctr2" id="k0">1</td></tr><tr><td id="a1"><a href="ExhaustiveSwitchFilter.java.html#L105" class="el_method">skipToLineNumberOrInstruction(AbstractInsnNode)</a></td><td class="bar" id="b1"><img src="../../jacoco-resources/greenbar.gif" width="13" height="10" title="16" alt="16"/></td><td class="ctr2" id="c0">100%</td><td class="bar" id="d1"><img src="../../jacoco-resources/redbar.gif" width="10" height="10" title="2" alt="2"/><img src="../../jacoco-resources/greenbar.gif" width="21" height="10" title="4" alt="4"/></td><td class="ctr2" id="e1">66%</td><td class="ctr1" id="f1">2</td><td class="ctr2" id="g1">4</td><td class="ctr1" id="h1">0</td><td class="ctr2" id="i1">3</td><td class="ctr1" id="j1">0</td><td class="ctr2" id="k1">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.12.202403270442</span>Code Coverage Report for JaCoCo 0.8.12-SNAPSHOT</div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/trunk/coverage/org.jacoco.core/org.jacoco.core.internal.analysis.filter/ExhaustiveSwitchFilter.html b/jacoco/trunk/coverage/org.jacoco.core/org.jacoco.core.internal.analysis.filter/ExhaustiveSwitchFilter.html
    new file mode 100644
    index 00000000000..30d05715ebe
    --- /dev/null
    +++ b/jacoco/trunk/coverage/org.jacoco.core/org.jacoco.core.internal.analysis.filter/ExhaustiveSwitchFilter.html
    @@ -0,0 +1 @@
    +<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="en"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../../jacoco-resources/report.gif" type="image/gif"/><title>ExhaustiveSwitchFilter</title><script type="text/javascript" src="../../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../../index.html" class="el_report">JaCoCo</a> &gt; <a href="../index.html" class="el_bundle">org.jacoco.core</a> &gt; <a href="index.html" class="el_package">org.jacoco.core.internal.analysis.filter</a> &gt; <span class="el_class">ExhaustiveSwitchFilter</span></div><h1>ExhaustiveSwitchFilter</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">0 of 36</td><td class="ctr2">100%</td><td class="bar">0 of 4</td><td class="ctr2">100%</td><td class="ctr1">0</td><td class="ctr2">4</td><td class="ctr1">0</td><td class="ctr2">9</td><td class="ctr1">0</td><td class="ctr2">2</td></tr></tfoot><tbody><tr><td id="a1"><a href="ExhaustiveSwitchFilter.java.html#L35" class="el_method">filter(MethodNode, IFilterContext, IFilterOutput)</a></td><td class="bar" id="b0"><img src="../../jacoco-resources/greenbar.gif" width="120" height="10" title="33" alt="33"/></td><td class="ctr2" id="c0">100%</td><td class="bar" id="d0"><img src="../../jacoco-resources/greenbar.gif" width="120" height="10" title="4" alt="4"/></td><td class="ctr2" id="e0">100%</td><td class="ctr1" id="f0">0</td><td class="ctr2" id="g0">3</td><td class="ctr1" id="h0">0</td><td class="ctr2" id="i0">7</td><td class="ctr1" id="j0">0</td><td class="ctr2" id="k0">1</td></tr><tr><td id="a0"><a href="ExhaustiveSwitchFilter.java.html#L31" class="el_method">ExhaustiveSwitchFilter()</a></td><td class="bar" id="b1"><img src="../../jacoco-resources/greenbar.gif" width="10" height="10" title="3" alt="3"/></td><td class="ctr2" id="c1">100%</td><td class="bar" id="d1"/><td class="ctr2" id="e1">n/a</td><td class="ctr1" id="f1">0</td><td class="ctr2" id="g1">1</td><td class="ctr1" id="h1">0</td><td class="ctr2" id="i1">2</td><td class="ctr1" id="j1">0</td><td class="ctr2" id="k1">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.12.202403270442</span>Code Coverage Report for JaCoCo 0.8.12-SNAPSHOT</div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/trunk/coverage/org.jacoco.core/org.jacoco.core.internal.analysis.filter/ExhaustiveSwitchFilter.java.html b/jacoco/trunk/coverage/org.jacoco.core/org.jacoco.core.internal.analysis.filter/ExhaustiveSwitchFilter.java.html
    new file mode 100644
    index 00000000000..08d8dad5126
    --- /dev/null
    +++ b/jacoco/trunk/coverage/org.jacoco.core/org.jacoco.core.internal.analysis.filter/ExhaustiveSwitchFilter.java.html
    @@ -0,0 +1,114 @@
    +<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="en"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../../jacoco-resources/report.gif" type="image/gif"/><title>ExhaustiveSwitchFilter.java</title><link rel="stylesheet" href="../../jacoco-resources/prettify.css" type="text/css"/><script type="text/javascript" src="../../jacoco-resources/prettify.js"></script></head><body onload="window['PR_TAB_WIDTH']=4;prettyPrint()"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../../index.html" class="el_report">JaCoCo</a> &gt; <a href="../index.html" class="el_bundle">org.jacoco.core</a> &gt; <a href="index.source.html" class="el_package">org.jacoco.core.internal.analysis.filter</a> &gt; <span class="el_source">ExhaustiveSwitchFilter.java</span></div><h1>ExhaustiveSwitchFilter.java</h1><pre class="source lang-java linenums">/*******************************************************************************
    + * Copyright (c) 2009, 2024 Mountainminds GmbH &amp; Co. KG and Contributors
    + * This program and the accompanying materials are made available under
    + * the terms of the Eclipse Public License 2.0 which is available at
    + * http://www.eclipse.org/legal/epl-2.0
    + *
    + * SPDX-License-Identifier: EPL-2.0
    + *
    + * Contributors:
    + *    Evgeny Mandrikov - initial API and implementation
    + *
    + *******************************************************************************/
    +package org.jacoco.core.internal.analysis.filter;
    +
    +import java.util.HashSet;
    +import java.util.List;
    +
    +import org.objectweb.asm.Opcodes;
    +import org.objectweb.asm.tree.AbstractInsnNode;
    +import org.objectweb.asm.tree.LabelNode;
    +import org.objectweb.asm.tree.LineNumberNode;
    +import org.objectweb.asm.tree.LookupSwitchInsnNode;
    +import org.objectweb.asm.tree.MethodNode;
    +import org.objectweb.asm.tree.TableSwitchInsnNode;
    +import org.objectweb.asm.tree.TypeInsnNode;
    +
    +/**
    + * Filters default branch generated by compilers for exhaustive switch
    + * expressions.
    + */
    +<span class="fc" id="L31">final class ExhaustiveSwitchFilter implements IFilter {</span>
    +
    +	public void filter(final MethodNode methodNode,
    +			final IFilterContext context, final IFilterOutput output) {
    +<span class="fc" id="L35">		final Matcher matcher = new Matcher();</span>
    +<span class="fc" id="L36">		int line = -1;</span>
    +<span class="fc bfc" id="L37" title="All 2 branches covered.">		for (final AbstractInsnNode i : methodNode.instructions) {</span>
    +<span class="fc bfc" id="L38" title="All 2 branches covered.">			if (i.getType() == AbstractInsnNode.LINE) {</span>
    +<span class="fc" id="L39">				line = ((LineNumberNode) i).line;</span>
    +			}
    +<span class="fc" id="L41">			matcher.match(i, line, output);</span>
    +		}
    +<span class="fc" id="L43">	}</span>
    +
    +<span class="fc" id="L45">	private static class Matcher extends AbstractMatcher {</span>
    +		public void match(final AbstractInsnNode start, final int line,
    +				final IFilterOutput output) {
    +			final LabelNode dflt;
    +			final List&lt;LabelNode&gt; labels;
    +<span class="fc bfc" id="L50" title="All 2 branches covered.">			if (start.getOpcode() == Opcodes.LOOKUPSWITCH) {</span>
    +<span class="fc" id="L51">				dflt = ((LookupSwitchInsnNode) start).dflt;</span>
    +<span class="fc" id="L52">				labels = ((LookupSwitchInsnNode) start).labels;</span>
    +<span class="pc bpc" id="L53" title="1 of 2 branches missed.">			} else if (start.getOpcode() == Opcodes.TABLESWITCH) {</span>
    +<span class="nc" id="L54">				dflt = ((TableSwitchInsnNode) start).dflt;</span>
    +<span class="nc" id="L55">				labels = ((TableSwitchInsnNode) start).labels;</span>
    +			} else {
    +<span class="fc" id="L57">				return;</span>
    +			}
    +
    +<span class="fc" id="L60">			cursor = skipToLineNumberOrInstruction(dflt);</span>
    +<span class="pc bpc" id="L61" title="1 of 2 branches missed.">			if (cursor == null) {</span>
    +<span class="nc" id="L62">				return;</span>
    +			}
    +<span class="fc bfc" id="L64" title="All 2 branches covered.">			if (cursor.getType() == AbstractInsnNode.LINE) {</span>
    +<span class="fc bfc" id="L65" title="All 2 branches covered.">				if (line != ((LineNumberNode) cursor).line) {</span>
    +<span class="fc" id="L66">					return;</span>
    +				}
    +<span class="fc" id="L68">				cursor = skipNonOpcodes(cursor);</span>
    +			}
    +<span class="pc bpc" id="L70" title="2 of 4 branches missed.">			if (cursor == null || cursor.getOpcode() != Opcodes.NEW) {</span>
    +<span class="nc" id="L71">				return;</span>
    +			}
    +<span class="fc bfc" id="L73" title="All 2 branches covered.">			if (&quot;java/lang/MatchException&quot;</span>
    +					.equals(((TypeInsnNode) cursor).desc)) {
    +				// since Java 21
    +<span class="fc" id="L76">				nextIs(Opcodes.DUP);</span>
    +<span class="fc" id="L77">				nextIs(Opcodes.ACONST_NULL);</span>
    +<span class="fc" id="L78">				nextIs(Opcodes.ACONST_NULL);</span>
    +<span class="fc" id="L79">				nextIsInvoke(Opcodes.INVOKESPECIAL, &quot;java/lang/MatchException&quot;,</span>
    +						&quot;&lt;init&gt;&quot;, &quot;(Ljava/lang/String;Ljava/lang/Throwable;)V&quot;);
    +<span class="pc bpc" id="L81" title="1 of 2 branches missed.">			} else if (&quot;java/lang/IncompatibleClassChangeError&quot;</span>
    +					.equals(((TypeInsnNode) cursor).desc)) {
    +				// prior to Java 21
    +<span class="fc" id="L84">				nextIs(Opcodes.DUP);</span>
    +<span class="fc" id="L85">				nextIsInvoke(Opcodes.INVOKESPECIAL,</span>
    +						&quot;java/lang/IncompatibleClassChangeError&quot;, &quot;&lt;init&gt;&quot;,
    +						&quot;()V&quot;);
    +			} else {
    +<span class="nc" id="L89">				return;</span>
    +			}
    +<span class="fc" id="L91">			nextIs(Opcodes.ATHROW);</span>
    +<span class="pc bpc" id="L92" title="1 of 2 branches missed.">			if (cursor == null) {</span>
    +<span class="nc" id="L93">				return;</span>
    +			}
    +<span class="fc" id="L95">			output.ignore(dflt, cursor);</span>
    +<span class="fc" id="L96">			final HashSet&lt;AbstractInsnNode&gt; replacements = new HashSet&lt;AbstractInsnNode&gt;();</span>
    +<span class="fc bfc" id="L97" title="All 2 branches covered.">			for (final AbstractInsnNode label : labels) {</span>
    +<span class="fc" id="L98">				replacements.add(skipNonOpcodes(label));</span>
    +			}
    +<span class="fc" id="L100">			output.replaceBranches(start, replacements);</span>
    +<span class="fc" id="L101">		}</span>
    +
    +		private static AbstractInsnNode skipToLineNumberOrInstruction(
    +				AbstractInsnNode cursor) {
    +<span class="pc bpc" id="L105" title="2 of 6 branches missed.">			while (cursor != null &amp;&amp; (cursor.getType() == AbstractInsnNode.FRAME</span>
    +					|| cursor.getType() == AbstractInsnNode.LABEL)) {
    +<span class="fc" id="L107">				cursor = cursor.getNext();</span>
    +			}
    +<span class="fc" id="L109">			return cursor;</span>
    +		}
    +	}
    +
    +}
    +</pre><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.12.202403270442</span>Code Coverage Report for JaCoCo 0.8.12-SNAPSHOT</div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/trunk/coverage/org.jacoco.core/org.jacoco.core.internal.analysis.filter/Filters.html b/jacoco/trunk/coverage/org.jacoco.core/org.jacoco.core.internal.analysis.filter/Filters.html
    new file mode 100644
    index 00000000000..1ffbd8dd62d
    --- /dev/null
    +++ b/jacoco/trunk/coverage/org.jacoco.core/org.jacoco.core.internal.analysis.filter/Filters.html
    @@ -0,0 +1 @@
    +<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="en"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../../jacoco-resources/report.gif" type="image/gif"/><title>Filters</title><script type="text/javascript" src="../../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../../index.html" class="el_report">JaCoCo</a> &gt; <a href="../index.html" class="el_bundle">org.jacoco.core</a> &gt; <a href="index.html" class="el_package">org.jacoco.core.internal.analysis.filter</a> &gt; <span class="el_class">Filters</span></div><h1>Filters</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">0 of 204</td><td class="ctr2">100%</td><td class="bar">0 of 2</td><td class="ctr2">100%</td><td class="ctr1">0</td><td class="ctr2">5</td><td class="ctr1">0</td><td class="ctr2">8</td><td class="ctr1">0</td><td class="ctr2">4</td></tr></tfoot><tbody><tr><td id="a0"><a href="Filters.java.html#L35" class="el_method">all()</a></td><td class="bar" id="b0"><img src="../../jacoco-resources/greenbar.gif" width="120" height="10" title="168" alt="168"/></td><td class="ctr2" id="c0">100%</td><td class="bar" id="d1"/><td class="ctr2" id="e1">n/a</td><td class="ctr1" id="f0">0</td><td class="ctr2" id="g1">1</td><td class="ctr1" id="h0">0</td><td class="ctr2" id="i2">1</td><td class="ctr1" id="j0">0</td><td class="ctr2" id="k0">1</td></tr><tr><td id="a1"><a href="Filters.java.html#L60" class="el_method">filter(MethodNode, IFilterContext, IFilterOutput)</a></td><td class="bar" id="b1"><img src="../../jacoco-resources/greenbar.gif" width="16" height="10" title="23" alt="23"/></td><td class="ctr2" id="c1">100%</td><td class="bar" id="d0"><img src="../../jacoco-resources/greenbar.gif" width="120" height="10" title="2" alt="2"/></td><td class="ctr2" id="e0">100%</td><td class="ctr1" id="f1">0</td><td class="ctr2" id="g0">2</td><td class="ctr1" id="h1">0</td><td class="ctr2" id="i0">3</td><td class="ctr1" id="j1">0</td><td class="ctr2" id="k1">1</td></tr><tr><td id="a3"><a href="Filters.java.html#L25" class="el_method">static {...}</a></td><td class="bar" id="b2"><img src="../../jacoco-resources/greenbar.gif" width="5" height="10" title="7" alt="7"/></td><td class="ctr2" id="c2">100%</td><td class="bar" id="d2"/><td class="ctr2" id="e2">n/a</td><td class="ctr1" id="f2">0</td><td class="ctr2" id="g2">1</td><td class="ctr1" id="h2">0</td><td class="ctr2" id="i3">1</td><td class="ctr1" id="j2">0</td><td class="ctr2" id="k2">1</td></tr><tr><td id="a2"><a href="Filters.java.html#L54" class="el_method">Filters(IFilter[])</a></td><td class="bar" id="b3"><img src="../../jacoco-resources/greenbar.gif" width="4" height="10" title="6" alt="6"/></td><td class="ctr2" id="c3">100%</td><td class="bar" id="d3"/><td class="ctr2" id="e3">n/a</td><td class="ctr1" id="f3">0</td><td class="ctr2" id="g3">1</td><td class="ctr1" id="h3">0</td><td class="ctr2" id="i1">3</td><td class="ctr1" id="j3">0</td><td class="ctr2" id="k3">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.12.202403270442</span>Code Coverage Report for JaCoCo 0.8.12-SNAPSHOT</div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/trunk/coverage/org.jacoco.core/org.jacoco.core.internal.analysis.filter/Filters.java.html b/jacoco/trunk/coverage/org.jacoco.core/org.jacoco.core.internal.analysis.filter/Filters.java.html
    new file mode 100644
    index 00000000000..1ec59c9e1df
    --- /dev/null
    +++ b/jacoco/trunk/coverage/org.jacoco.core/org.jacoco.core.internal.analysis.filter/Filters.java.html
    @@ -0,0 +1,66 @@
    +<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="en"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../../jacoco-resources/report.gif" type="image/gif"/><title>Filters.java</title><link rel="stylesheet" href="../../jacoco-resources/prettify.css" type="text/css"/><script type="text/javascript" src="../../jacoco-resources/prettify.js"></script></head><body onload="window['PR_TAB_WIDTH']=4;prettyPrint()"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../../index.html" class="el_report">JaCoCo</a> &gt; <a href="../index.html" class="el_bundle">org.jacoco.core</a> &gt; <a href="index.source.html" class="el_package">org.jacoco.core.internal.analysis.filter</a> &gt; <span class="el_source">Filters.java</span></div><h1>Filters.java</h1><pre class="source lang-java linenums">/*******************************************************************************
    + * Copyright (c) 2009, 2024 Mountainminds GmbH &amp; Co. KG and Contributors
    + * This program and the accompanying materials are made available under
    + * the terms of the Eclipse Public License 2.0 which is available at
    + * http://www.eclipse.org/legal/epl-2.0
    + *
    + * SPDX-License-Identifier: EPL-2.0
    + *
    + * Contributors:
    + *    Evgeny Mandrikov - initial API and implementation
    + *
    + *******************************************************************************/
    +package org.jacoco.core.internal.analysis.filter;
    +
    +import org.objectweb.asm.tree.MethodNode;
    +
    +/**
    + * Filter that combines other filters.
    + */
    +public final class Filters implements IFilter {
    +
    +	/**
    +	 * Filter that does nothing.
    +	 */
    +<span class="fc" id="L25">	public static final IFilter NONE = new Filters();</span>
    +
    +	private final IFilter[] filters;
    +
    +	/**
    +	 * Creates filter that combines all other filters.
    +	 *
    +	 * @return filter that combines all other filters
    +	 */
    +	public static IFilter all() {
    +<span class="fc" id="L35">		return new Filters(new EnumFilter(), new SyntheticFilter(),</span>
    +				new BridgeFilter(), new SynchronizedFilter(),
    +				new TryWithResourcesJavac11Filter(),
    +				new TryWithResourcesJavacFilter(),
    +				new TryWithResourcesEcjFilter(), new FinallyFilter(),
    +				new PrivateEmptyNoArgConstructorFilter(), new AssertFilter(),
    +				new StringSwitchJavacFilter(), new StringSwitchFilter(),
    +				new EnumEmptyConstructorFilter(), new RecordsFilter(),
    +				new ExhaustiveSwitchFilter(), //
    +				new RecordPatternFilter(), //
    +				new AnnotationGeneratedFilter(), new KotlinGeneratedFilter(),
    +				new KotlinLateinitFilter(), new KotlinWhenFilter(),
    +				new KotlinWhenStringFilter(),
    +				new KotlinUnsafeCastOperatorFilter(),
    +				new KotlinNotNullOperatorFilter(),
    +				new KotlinDefaultArgumentsFilter(), new KotlinInlineFilter(),
    +				new KotlinCoroutineFilter(), new KotlinDefaultMethodsFilter());
    +	}
    +
    +<span class="fc" id="L54">	private Filters(final IFilter... filters) {</span>
    +<span class="fc" id="L55">		this.filters = filters;</span>
    +<span class="fc" id="L56">	}</span>
    +
    +	public void filter(final MethodNode methodNode,
    +			final IFilterContext context, final IFilterOutput output) {
    +<span class="fc bfc" id="L60" title="All 2 branches covered.">		for (final IFilter filter : filters) {</span>
    +<span class="fc" id="L61">			filter.filter(methodNode, context, output);</span>
    +		}
    +<span class="fc" id="L63">	}</span>
    +
    +}
    +</pre><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.12.202403270442</span>Code Coverage Report for JaCoCo 0.8.12-SNAPSHOT</div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/trunk/coverage/org.jacoco.core/org.jacoco.core.internal.analysis.filter/FinallyFilter.html b/jacoco/trunk/coverage/org.jacoco.core/org.jacoco.core.internal.analysis.filter/FinallyFilter.html
    new file mode 100644
    index 00000000000..38e1e9308bf
    --- /dev/null
    +++ b/jacoco/trunk/coverage/org.jacoco.core/org.jacoco.core.internal.analysis.filter/FinallyFilter.html
    @@ -0,0 +1 @@
    +<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="en"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../../jacoco-resources/report.gif" type="image/gif"/><title>FinallyFilter</title><script type="text/javascript" src="../../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../../index.html" class="el_report">JaCoCo</a> &gt; <a href="../index.html" class="el_bundle">org.jacoco.core</a> &gt; <a href="index.html" class="el_package">org.jacoco.core.internal.analysis.filter</a> &gt; <span class="el_class">FinallyFilter</span></div><h1>FinallyFilter</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">8 of 307</td><td class="ctr2">97%</td><td class="bar">10 of 71</td><td class="ctr2">85%</td><td class="ctr1">10</td><td class="ctr2">43</td><td class="ctr1">5</td><td class="ctr2">78</td><td class="ctr1">0</td><td class="ctr2">7</td></tr></tfoot><tbody><tr><td id="a0"><a href="FinallyFilter.java.html#L83" class="el_method">filter(IFilterOutput, List, TryCatchBlockNode)</a></td><td class="bar" id="b0"><img src="../../jacoco-resources/redbar.gif" width="2" height="10" title="3" alt="3"/><img src="../../jacoco-resources/greenbar.gif" width="117" height="10" title="148" alt="148"/></td><td class="ctr2" id="c3">98%</td><td class="bar" id="d0"><img src="../../jacoco-resources/redbar.gif" width="13" height="10" title="4" alt="4"/><img src="../../jacoco-resources/greenbar.gif" width="106" height="10" title="31" alt="31"/></td><td class="ctr2" id="e2">88%</td><td class="ctr1" id="f0">4</td><td class="ctr2" id="g0">19</td><td class="ctr1" id="h0">2</td><td class="ctr2" id="i0">38</td><td class="ctr1" id="j0">0</td><td class="ctr2" id="k0">1</td></tr><tr><td id="a6"><a href="FinallyFilter.java.html#L197" class="el_method">size(AbstractInsnNode)</a></td><td class="bar" id="b1"><img src="../../jacoco-resources/redbar.gif" width="1" height="10" title="2" alt="2"/><img src="../../jacoco-resources/greenbar.gif" width="30" height="10" title="38" alt="38"/></td><td class="ctr2" id="c5">95%</td><td class="bar" id="d3"><img src="../../jacoco-resources/redbar.gif" width="3" height="10" title="1" alt="1"/><img src="../../jacoco-resources/greenbar.gif" width="30" height="10" title="9" alt="9"/></td><td class="ctr2" id="e1">90%</td><td class="ctr1" id="f3">1</td><td class="ctr2" id="g1">6</td><td class="ctr1" id="h1">1</td><td class="ctr2" id="i1">13</td><td class="ctr1" id="j1">0</td><td class="ctr2" id="k1">1</td></tr><tr><td id="a3"><a href="FinallyFilter.java.html#L182" class="el_method">isSame(int, AbstractInsnNode, AbstractInsnNode)</a></td><td class="bar" id="b2"><img src="../../jacoco-resources/redbar.gif" width="1" height="10" title="2" alt="2"/><img src="../../jacoco-resources/greenbar.gif" width="19" height="10" title="25" alt="25"/></td><td class="ctr2" id="c6">92%</td><td class="bar" id="d2"><img src="../../jacoco-resources/redbar.gif" width="6" height="10" title="2" alt="2"/><img src="../../jacoco-resources/greenbar.gif" width="13" height="10" title="4" alt="4"/></td><td class="ctr2" id="e5">66%</td><td class="ctr1" id="f1">2</td><td class="ctr2" id="g4">4</td><td class="ctr1" id="h2">1</td><td class="ctr2" id="i3">7</td><td class="ctr1" id="j2">0</td><td class="ctr2" id="k2">1</td></tr><tr><td id="a4"><a href="FinallyFilter.java.html#L160" class="el_method">merge(IFilterOutput, int, AbstractInsnNode, AbstractInsnNode)</a></td><td class="bar" id="b3"><img src="../../jacoco-resources/greenbar.gif" width="35" height="10" title="45" alt="45"/></td><td class="ctr2" id="c4">97%</td><td class="bar" id="d1"><img src="../../jacoco-resources/redbar.gif" width="6" height="10" title="2" alt="2"/><img src="../../jacoco-resources/greenbar.gif" width="20" height="10" title="6" alt="6"/></td><td class="ctr2" id="e4">75%</td><td class="ctr1" id="f2">2</td><td class="ctr2" id="g2">5</td><td class="ctr1" id="h3">1</td><td class="ctr2" id="i2">12</td><td class="ctr1" id="j3">0</td><td class="ctr2" id="k3">1</td></tr><tr><td id="a1"><a href="FinallyFilter.java.html#L73" class="el_method">filter(MethodNode, IFilterContext, IFilterOutput)</a></td><td class="bar" id="b4"><img src="../../jacoco-resources/greenbar.gif" width="16" height="10" title="21" alt="21"/></td><td class="ctr2" id="c0">100%</td><td class="bar" id="d5"><img src="../../jacoco-resources/greenbar.gif" width="13" height="10" title="4" alt="4"/></td><td class="ctr2" id="e0">100%</td><td class="ctr1" id="f5">0</td><td class="ctr2" id="g5">3</td><td class="ctr1" id="h4">0</td><td class="ctr2" id="i4">4</td><td class="ctr1" id="j4">0</td><td class="ctr2" id="k4">1</td></tr><tr><td id="a5"><a href="FinallyFilter.java.html#L221" class="el_method">next(AbstractInsnNode)</a></td><td class="bar" id="b5"><img src="../../jacoco-resources/greenbar.gif" width="15" height="10" title="19" alt="19"/></td><td class="ctr2" id="c1">100%</td><td class="bar" id="d4"><img src="../../jacoco-resources/redbar.gif" width="3" height="10" title="1" alt="1"/><img src="../../jacoco-resources/greenbar.gif" width="24" height="10" title="7" alt="7"/></td><td class="ctr2" id="e3">87%</td><td class="ctr1" id="f4">1</td><td class="ctr2" id="g3">5</td><td class="ctr1" id="h5">0</td><td class="ctr2" id="i5">3</td><td class="ctr1" id="j5">0</td><td class="ctr2" id="k5">1</td></tr><tr><td id="a2"><a href="FinallyFilter.java.html#L69" class="el_method">FinallyFilter()</a></td><td class="bar" id="b6"><img src="../../jacoco-resources/greenbar.gif" width="2" height="10" title="3" alt="3"/></td><td class="ctr2" id="c2">100%</td><td class="bar" id="d6"/><td class="ctr2" id="e6">n/a</td><td class="ctr1" id="f6">0</td><td class="ctr2" id="g6">1</td><td class="ctr1" id="h6">0</td><td class="ctr2" id="i6">1</td><td class="ctr1" id="j6">0</td><td class="ctr2" id="k6">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.12.202403270442</span>Code Coverage Report for JaCoCo 0.8.12-SNAPSHOT</div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/trunk/coverage/org.jacoco.core/org.jacoco.core.internal.analysis.filter/FinallyFilter.java.html b/jacoco/trunk/coverage/org.jacoco.core/org.jacoco.core.internal.analysis.filter/FinallyFilter.java.html
    new file mode 100644
    index 00000000000..6db5f31b567
    --- /dev/null
    +++ b/jacoco/trunk/coverage/org.jacoco.core/org.jacoco.core.internal.analysis.filter/FinallyFilter.java.html
    @@ -0,0 +1,229 @@
    +<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="en"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../../jacoco-resources/report.gif" type="image/gif"/><title>FinallyFilter.java</title><link rel="stylesheet" href="../../jacoco-resources/prettify.css" type="text/css"/><script type="text/javascript" src="../../jacoco-resources/prettify.js"></script></head><body onload="window['PR_TAB_WIDTH']=4;prettyPrint()"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../../index.html" class="el_report">JaCoCo</a> &gt; <a href="../index.html" class="el_bundle">org.jacoco.core</a> &gt; <a href="index.source.html" class="el_package">org.jacoco.core.internal.analysis.filter</a> &gt; <span class="el_source">FinallyFilter.java</span></div><h1>FinallyFilter.java</h1><pre class="source lang-java linenums">/*******************************************************************************
    + * Copyright (c) 2009, 2024 Mountainminds GmbH &amp; Co. KG and Contributors
    + * This program and the accompanying materials are made available under
    + * the terms of the Eclipse Public License 2.0 which is available at
    + * http://www.eclipse.org/legal/epl-2.0
    + *
    + * SPDX-License-Identifier: EPL-2.0
    + *
    + * Contributors:
    + *    Evgeny Mandrikov - initial API and implementation
    + *
    + *******************************************************************************/
    +package org.jacoco.core.internal.analysis.filter;
    +
    +import java.util.HashSet;
    +import java.util.List;
    +import java.util.Set;
    +
    +import org.objectweb.asm.Opcodes;
    +import org.objectweb.asm.tree.AbstractInsnNode;
    +import org.objectweb.asm.tree.JumpInsnNode;
    +import org.objectweb.asm.tree.MethodNode;
    +import org.objectweb.asm.tree.TryCatchBlockNode;
    +import org.objectweb.asm.tree.VarInsnNode;
    +
    +/**
    + * Filters duplicates of finally blocks that compiler generates.
    + *
    + * To understand algorithm of filtering, consider following example:
    + *
    + * &lt;pre&gt;
    + * try {
    + * 	if (x) {
    + * 		a();
    + * 		return; // 1
    + * 	}
    + * 	b(); // 2
    + * } catch (Exception e) {
    + * 	c(); // 3
    + * } finally {
    + * 	d(); // 4
    + * }
    + * &lt;/pre&gt;
    + *
    + * There are 4 &lt;b&gt;distinct&lt;/b&gt; points of exit out of these &quot;try/catch/finally&quot;
    + * blocks - three without exception, and one with Throwable if it is thrown
    + * prior to reaching first three points of exit.
    + *
    + * &quot;finally&quot; block must be executed just before these points, so there must be 4
    + * copies of its bytecode instructions.
    + *
    + * One of them handles Throwable (&quot;catch-any&quot;) and must cover all instructions
    + * of &quot;try/catch&quot; blocks. But must not cover instructions of other duplicates,
    + * because instructions of &quot;finally&quot; block also can cause Throwable to be
    + * thrown.
    + *
    + * Therefore there will be multiple {@link MethodNode#tryCatchBlocks} with
    + * {@link TryCatchBlockNode#type} null with same
    + * {@link TryCatchBlockNode#handler} for different non-intersecting bytecode
    + * regions ({@link TryCatchBlockNode#start}, {@link TryCatchBlockNode#end}).
    + *
    + * And each exit out of these regions, except one that handles Throwable, will
    + * contain duplicate of &quot;finally&quot; block.
    + *
    + * To determine exits out of these regions, they all must be processed together
    + * at once, because execution can branch from one region to another (like it is
    + * in given example due to &quot;if&quot; statement).
    + */
    +<span class="fc" id="L69">public final class FinallyFilter implements IFilter {</span>
    +
    +	public void filter(final MethodNode methodNode,
    +			final IFilterContext context, final IFilterOutput output) {
    +<span class="fc bfc" id="L73" title="All 2 branches covered.">		for (final TryCatchBlockNode tryCatchBlock : methodNode.tryCatchBlocks) {</span>
    +<span class="fc bfc" id="L74" title="All 2 branches covered.">			if (tryCatchBlock.type == null) {</span>
    +<span class="fc" id="L75">				filter(output, methodNode.tryCatchBlocks, tryCatchBlock);</span>
    +			}
    +		}
    +<span class="fc" id="L78">	}</span>
    +
    +	private static void filter(final IFilterOutput output,
    +			final List&lt;TryCatchBlockNode&gt; tryCatchBlocks,
    +			final TryCatchBlockNode catchAnyBlock) {
    +<span class="fc" id="L83">		final AbstractInsnNode e = next(catchAnyBlock.handler);</span>
    +<span class="fc" id="L84">		final int size = size(e);</span>
    +<span class="fc bfc" id="L85" title="All 2 branches covered.">		if (size &lt;= 0) {</span>
    +<span class="fc" id="L86">			return;</span>
    +		}
    +
    +		// Determine instructions inside regions
    +<span class="fc" id="L90">		final Set&lt;AbstractInsnNode&gt; inside = new HashSet&lt;AbstractInsnNode&gt;();</span>
    +<span class="fc bfc" id="L91" title="All 2 branches covered.">		for (final TryCatchBlockNode t : tryCatchBlocks) {</span>
    +<span class="fc bfc" id="L92" title="All 2 branches covered.">			if (t.handler == catchAnyBlock.handler) {</span>
    +<span class="fc" id="L93">				AbstractInsnNode i = t.start;</span>
    +<span class="fc bfc" id="L94" title="All 2 branches covered.">				while (i != t.end) {</span>
    +<span class="fc" id="L95">					inside.add(i);</span>
    +<span class="fc" id="L96">					i = i.getNext();</span>
    +				}
    +<span class="fc" id="L98">			}</span>
    +		}
    +
    +		// Find and merge duplicates at exits of regions
    +<span class="fc bfc" id="L102" title="All 2 branches covered.">		for (final TryCatchBlockNode t : tryCatchBlocks) {</span>
    +<span class="fc bfc" id="L103" title="All 2 branches covered.">			if (t.handler == catchAnyBlock.handler) {</span>
    +<span class="fc" id="L104">				boolean continues = false;</span>
    +<span class="fc" id="L105">				AbstractInsnNode i = t.start;</span>
    +
    +<span class="fc bfc" id="L107" title="All 2 branches covered.">				while (i != t.end) {</span>
    +<span class="fc bfc" id="L108" title="All 3 branches covered.">					switch (i.getType()) {</span>
    +					case AbstractInsnNode.FRAME:
    +					case AbstractInsnNode.LINE:
    +					case AbstractInsnNode.LABEL:
    +<span class="fc" id="L112">						break;</span>
    +					case AbstractInsnNode.JUMP_INSN:
    +<span class="fc" id="L114">						final AbstractInsnNode jumpTarget = next(</span>
    +								((JumpInsnNode) i).label);
    +<span class="fc bfc" id="L116" title="All 2 branches covered.">						if (!inside.contains(jumpTarget)) {</span>
    +<span class="fc" id="L117">							merge(output, size, e, jumpTarget);</span>
    +						}
    +<span class="fc bfc" id="L119" title="All 2 branches covered.">						continues = i.getOpcode() != Opcodes.GOTO;</span>
    +<span class="fc" id="L120">						break;</span>
    +					default:
    +<span class="pc bpc" id="L122" title="1 of 2 branches missed.">						switch (i.getOpcode()) {</span>
    +						case Opcodes.IRETURN:
    +						case Opcodes.LRETURN:
    +						case Opcodes.FRETURN:
    +						case Opcodes.DRETURN:
    +						case Opcodes.ARETURN:
    +						case Opcodes.RETURN:
    +						case Opcodes.ATHROW:
    +<span class="nc" id="L130">							continues = false;</span>
    +<span class="nc" id="L131">							break;</span>
    +						default:
    +<span class="fc" id="L133">							continues = true;</span>
    +							break;
    +						}
    +						break;
    +					}
    +<span class="fc" id="L138">					i = i.getNext();</span>
    +				}
    +
    +<span class="fc" id="L141">				i = next(i);</span>
    +<span class="pc bpc" id="L142" title="2 of 4 branches missed.">				if (continues &amp;&amp; !inside.contains(i)) {</span>
    +<span class="fc" id="L143">					merge(output, size, e, i);</span>
    +				}
    +			}
    +
    +<span class="fc bfc" id="L147" title="All 6 branches covered.">			if (t != catchAnyBlock &amp;&amp; t.start == catchAnyBlock.start</span>
    +					&amp;&amp; t.end == catchAnyBlock.end) {
    +<span class="fc" id="L149">				final AbstractInsnNode i = next(next(t.handler));</span>
    +<span class="pc bpc" id="L150" title="1 of 2 branches missed.">				if (!inside.contains(i)) {</span>
    +					// javac's empty catch - merge after ASTORE
    +<span class="fc" id="L152">					merge(output, size, e, i);</span>
    +				}
    +<span class="fc" id="L154">			}</span>
    +		}
    +<span class="fc" id="L156">	}</span>
    +
    +	private static void merge(final IFilterOutput output, final int size,
    +			AbstractInsnNode e, AbstractInsnNode n) {
    +<span class="pc bpc" id="L160" title="1 of 2 branches missed.">		if (!isSame(size, e, n)) {</span>
    +<span class="nc" id="L161">			return;</span>
    +		}
    +<span class="fc" id="L163">		output.ignore(e, e);</span>
    +<span class="fc" id="L164">		e = next(e);</span>
    +<span class="fc bfc" id="L165" title="All 2 branches covered.">		for (int i = 0; i &lt; size; i++) {</span>
    +<span class="fc" id="L166">			output.merge(e, n);</span>
    +<span class="fc" id="L167">			e = next(e);</span>
    +<span class="fc" id="L168">			n = next(n);</span>
    +		}
    +<span class="fc" id="L170">		output.ignore(e, next(e));</span>
    +
    +<span class="pc bpc" id="L172" title="1 of 4 branches missed.">		if (n != null &amp;&amp; n.getOpcode() == Opcodes.GOTO) {</span>
    +			// goto instructions at the end of non-executed duplicates
    +			// cause partial coverage of last line of finally block,
    +			// so should be ignored
    +<span class="fc" id="L176">			output.ignore(n, n);</span>
    +		}
    +<span class="fc" id="L178">	}</span>
    +
    +	private static boolean isSame(final int size, AbstractInsnNode e,
    +			AbstractInsnNode n) {
    +<span class="fc" id="L182">		e = next(e);</span>
    +<span class="fc bfc" id="L183" title="All 2 branches covered.">		for (int i = 0; i &lt; size; i++) {</span>
    +<span class="pc bpc" id="L184" title="2 of 4 branches missed.">			if (n == null || e.getOpcode() != n.getOpcode()) {</span>
    +<span class="nc" id="L185">				return false;</span>
    +			}
    +<span class="fc" id="L187">			e = next(e);</span>
    +<span class="fc" id="L188">			n = next(n);</span>
    +		}
    +<span class="fc" id="L190">		return true;</span>
    +	}
    +
    +	/**
    +	 * @return number of instructions inside given &quot;catch-any&quot; handler
    +	 */
    +	private static int size(AbstractInsnNode i) {
    +<span class="fc bfc" id="L197" title="All 2 branches covered.">		if (Opcodes.ASTORE != i.getOpcode()) {</span>
    +			// when always completes abruptly
    +<span class="fc" id="L199">			return 0;</span>
    +		}
    +<span class="fc" id="L201">		final int var = ((VarInsnNode) i).var;</span>
    +<span class="fc" id="L202">		int size = -1;</span>
    +		do {
    +<span class="fc" id="L204">			size++;</span>
    +<span class="fc" id="L205">			i = next(i);</span>
    +<span class="fc bfc" id="L206" title="All 2 branches covered.">			if (i == null) {</span>
    +				// when always completes abruptly
    +<span class="fc" id="L208">				return 0;</span>
    +			}
    +<span class="fc bfc" id="L210" title="All 4 branches covered.">		} while (!(Opcodes.ALOAD == i.getOpcode()</span>
    +				&amp;&amp; var == ((VarInsnNode) i).var));
    +<span class="fc" id="L212">		i = next(i);</span>
    +<span class="pc bpc" id="L213" title="1 of 2 branches missed.">		if (Opcodes.ATHROW != i.getOpcode()) {</span>
    +<span class="nc" id="L214">			return 0;</span>
    +		}
    +<span class="fc" id="L216">		return size;</span>
    +	}
    +
    +	private static AbstractInsnNode next(AbstractInsnNode i) {
    +		do {
    +<span class="fc" id="L221">			i = i.getNext();</span>
    +<span class="pc bpc" id="L222" title="1 of 8 branches missed.">		} while (i != null &amp;&amp; (AbstractInsnNode.FRAME == i.getType()</span>
    +				|| AbstractInsnNode.LABEL == i.getType()
    +				|| AbstractInsnNode.LINE == i.getType()));
    +<span class="fc" id="L225">		return i;</span>
    +	}
    +
    +}
    +</pre><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.12.202403270442</span>Code Coverage Report for JaCoCo 0.8.12-SNAPSHOT</div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/trunk/coverage/org.jacoco.core/org.jacoco.core.internal.analysis.filter/KotlinCoroutineFilter$Matcher.html b/jacoco/trunk/coverage/org.jacoco.core/org.jacoco.core.internal.analysis.filter/KotlinCoroutineFilter$Matcher.html
    new file mode 100644
    index 00000000000..44487bd97c0
    --- /dev/null
    +++ b/jacoco/trunk/coverage/org.jacoco.core/org.jacoco.core.internal.analysis.filter/KotlinCoroutineFilter$Matcher.html
    @@ -0,0 +1 @@
    +<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="en"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../../jacoco-resources/report.gif" type="image/gif"/><title>KotlinCoroutineFilter.Matcher</title><script type="text/javascript" src="../../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../../index.html" class="el_report">JaCoCo</a> &gt; <a href="../index.html" class="el_bundle">org.jacoco.core</a> &gt; <a href="index.html" class="el_package">org.jacoco.core.internal.analysis.filter</a> &gt; <span class="el_class">KotlinCoroutineFilter.Matcher</span></div><h1>KotlinCoroutineFilter.Matcher</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">11 of 452</td><td class="ctr2">97%</td><td class="bar">17 of 56</td><td class="ctr2">69%</td><td class="ctr1">17</td><td class="ctr2">32</td><td class="ctr1">9</td><td class="ctr2">116</td><td class="ctr1">0</td><td class="ctr2">4</td></tr></tfoot><tbody><tr><td id="a0"><a href="KotlinCoroutineFilter.java.html#L75" class="el_method">match(MethodNode, IFilterOutput)</a></td><td class="bar" id="b0"><img src="../../jacoco-resources/redbar.gif" width="3" height="10" title="8" alt="8"/><img src="../../jacoco-resources/greenbar.gif" width="116" height="10" title="263" alt="263"/></td><td class="ctr2" id="c2">97%</td><td class="bar" id="d0"><img src="../../jacoco-resources/redbar.gif" width="39" height="10" title="13" alt="13"/><img src="../../jacoco-resources/greenbar.gif" width="81" height="10" title="27" alt="27"/></td><td class="ctr2" id="e2">67%</td><td class="ctr1" id="f0">13</td><td class="ctr2" id="g0">21</td><td class="ctr1" id="h0">6</td><td class="ctr2" id="i0">63</td><td class="ctr1" id="j0">0</td><td class="ctr2" id="k0">1</td></tr><tr><td id="a2"><a href="KotlinCoroutineFilter.java.html#L197" class="el_method">nextIsCreateStateInstance()</a></td><td class="bar" id="b1"><img src="../../jacoco-resources/redbar.gif" width="1" height="10" title="3" alt="3"/><img src="../../jacoco-resources/greenbar.gif" width="42" height="10" title="96" alt="96"/></td><td class="ctr2" id="c3">96%</td><td class="bar" id="d1"><img src="../../jacoco-resources/redbar.gif" width="12" height="10" title="4" alt="4"/><img src="../../jacoco-resources/greenbar.gif" width="18" height="10" title="6" alt="6"/></td><td class="ctr2" id="e3">60%</td><td class="ctr1" id="f1">4</td><td class="ctr2" id="g1">6</td><td class="ctr1" id="h1">3</td><td class="ctr2" id="i1">31</td><td class="ctr1" id="j1">0</td><td class="ctr2" id="k1">1</td></tr><tr><td id="a1"><a href="KotlinCoroutineFilter.java.html#L58" class="el_method">matchOptimizedTailCall(MethodNode, IFilterOutput)</a></td><td class="bar" id="b2"><img src="../../jacoco-resources/greenbar.gif" width="19" height="10" title="43" alt="43"/></td><td class="ctr2" id="c0">100%</td><td class="bar" id="d2"><img src="../../jacoco-resources/greenbar.gif" width="12" height="10" title="4" alt="4"/></td><td class="ctr2" id="e0">100%</td><td class="ctr1" id="f2">0</td><td class="ctr2" id="g2">3</td><td class="ctr1" id="h2">0</td><td class="ctr2" id="i3">10</td><td class="ctr1" id="j2">0</td><td class="ctr2" id="k2">1</td></tr><tr><td id="a3"><a href="KotlinCoroutineFilter.java.html#L178" class="el_method">nextIsThrowOnFailure()</a></td><td class="bar" id="b3"><img src="../../jacoco-resources/greenbar.gif" width="17" height="10" title="39" alt="39"/></td><td class="ctr2" id="c1">100%</td><td class="bar" id="d3"><img src="../../jacoco-resources/greenbar.gif" width="6" height="10" title="2" alt="2"/></td><td class="ctr2" id="e1">100%</td><td class="ctr1" id="f3">0</td><td class="ctr2" id="g3">2</td><td class="ctr1" id="h3">0</td><td class="ctr2" id="i2">12</td><td class="ctr1" id="j3">0</td><td class="ctr2" id="k3">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.12.202403270442</span>Code Coverage Report for JaCoCo 0.8.12-SNAPSHOT</div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/trunk/coverage/org.jacoco.core/org.jacoco.core.internal.analysis.filter/KotlinCoroutineFilter.html b/jacoco/trunk/coverage/org.jacoco.core/org.jacoco.core.internal.analysis.filter/KotlinCoroutineFilter.html
    new file mode 100644
    index 00000000000..a0fca7e0d3e
    --- /dev/null
    +++ b/jacoco/trunk/coverage/org.jacoco.core/org.jacoco.core.internal.analysis.filter/KotlinCoroutineFilter.html
    @@ -0,0 +1 @@
    +<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="en"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../../jacoco-resources/report.gif" type="image/gif"/><title>KotlinCoroutineFilter</title><script type="text/javascript" src="../../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../../index.html" class="el_report">JaCoCo</a> &gt; <a href="../index.html" class="el_bundle">org.jacoco.core</a> &gt; <a href="index.html" class="el_package">org.jacoco.core.internal.analysis.filter</a> &gt; <span class="el_class">KotlinCoroutineFilter</span></div><h1>KotlinCoroutineFilter</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">1 of 53</td><td class="ctr2">98%</td><td class="bar">2 of 8</td><td class="ctr2">75%</td><td class="ctr1">2</td><td class="ctr2">7</td><td class="ctr1">0</td><td class="ctr2">12</td><td class="ctr1">0</td><td class="ctr2">3</td></tr></tfoot><tbody><tr><td id="a1"><a href="KotlinCoroutineFilter.java.html#L34" class="el_method">isImplementationOfSuspendFunction(MethodNode)</a></td><td class="bar" id="b0"><img src="../../jacoco-resources/redbar.gif" width="3" height="10" title="1" alt="1"/><img src="../../jacoco-resources/greenbar.gif" width="116" height="10" title="30" alt="30"/></td><td class="ctr2" id="c2">96%</td><td class="bar" id="d0"><img src="../../jacoco-resources/redbar.gif" width="40" height="10" title="2" alt="2"/><img src="../../jacoco-resources/greenbar.gif" width="80" height="10" title="4" alt="4"/></td><td class="ctr2" id="e1">66%</td><td class="ctr1" id="f0">2</td><td class="ctr2" id="g0">4</td><td class="ctr1" id="h0">0</td><td class="ctr2" id="i0">5</td><td class="ctr1" id="j0">0</td><td class="ctr2" id="k0">1</td></tr><tr><td id="a0"><a href="KotlinCoroutineFilter.java.html#L46" class="el_method">filter(MethodNode, IFilterContext, IFilterOutput)</a></td><td class="bar" id="b1"><img src="../../jacoco-resources/greenbar.gif" width="73" height="10" title="19" alt="19"/></td><td class="ctr2" id="c0">100%</td><td class="bar" id="d1"><img src="../../jacoco-resources/greenbar.gif" width="40" height="10" title="2" alt="2"/></td><td class="ctr2" id="e0">100%</td><td class="ctr1" id="f1">0</td><td class="ctr2" id="g1">2</td><td class="ctr1" id="h1">0</td><td class="ctr2" id="i1">5</td><td class="ctr1" id="j1">0</td><td class="ctr2" id="k1">1</td></tr><tr><td id="a2"><a href="KotlinCoroutineFilter.java.html#L30" class="el_method">KotlinCoroutineFilter()</a></td><td class="bar" id="b2"><img src="../../jacoco-resources/greenbar.gif" width="11" height="10" title="3" alt="3"/></td><td class="ctr2" id="c1">100%</td><td class="bar" id="d2"/><td class="ctr2" id="e2">n/a</td><td class="ctr1" id="f2">0</td><td class="ctr2" id="g2">1</td><td class="ctr1" id="h2">0</td><td class="ctr2" id="i2">2</td><td class="ctr1" id="j2">0</td><td class="ctr2" id="k2">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.12.202403270442</span>Code Coverage Report for JaCoCo 0.8.12-SNAPSHOT</div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/trunk/coverage/org.jacoco.core/org.jacoco.core.internal.analysis.filter/KotlinCoroutineFilter.java.html b/jacoco/trunk/coverage/org.jacoco.core/org.jacoco.core.internal.analysis.filter/KotlinCoroutineFilter.java.html
    new file mode 100644
    index 00000000000..8b9760ea05c
    --- /dev/null
    +++ b/jacoco/trunk/coverage/org.jacoco.core/org.jacoco.core.internal.analysis.filter/KotlinCoroutineFilter.java.html
    @@ -0,0 +1,247 @@
    +<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="en"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../../jacoco-resources/report.gif" type="image/gif"/><title>KotlinCoroutineFilter.java</title><link rel="stylesheet" href="../../jacoco-resources/prettify.css" type="text/css"/><script type="text/javascript" src="../../jacoco-resources/prettify.js"></script></head><body onload="window['PR_TAB_WIDTH']=4;prettyPrint()"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../../index.html" class="el_report">JaCoCo</a> &gt; <a href="../index.html" class="el_bundle">org.jacoco.core</a> &gt; <a href="index.source.html" class="el_package">org.jacoco.core.internal.analysis.filter</a> &gt; <span class="el_source">KotlinCoroutineFilter.java</span></div><h1>KotlinCoroutineFilter.java</h1><pre class="source lang-java linenums">/*******************************************************************************
    + * Copyright (c) 2009, 2024 Mountainminds GmbH &amp; Co. KG and Contributors
    + * This program and the accompanying materials are made available under
    + * the terms of the Eclipse Public License 2.0 which is available at
    + * http://www.eclipse.org/legal/epl-2.0
    + *
    + * SPDX-License-Identifier: EPL-2.0
    + *
    + * Contributors:
    + *    Evgeny Mandrikov - initial API and implementation
    + *
    + *******************************************************************************/
    +package org.jacoco.core.internal.analysis.filter;
    +
    +import java.util.ArrayList;
    +import java.util.List;
    +
    +import org.objectweb.asm.Opcodes;
    +import org.objectweb.asm.Type;
    +import org.objectweb.asm.tree.AbstractInsnNode;
    +import org.objectweb.asm.tree.JumpInsnNode;
    +import org.objectweb.asm.tree.LdcInsnNode;
    +import org.objectweb.asm.tree.MethodInsnNode;
    +import org.objectweb.asm.tree.MethodNode;
    +import org.objectweb.asm.tree.TableSwitchInsnNode;
    +
    +/**
    + * Filters branches that Kotlin compiler generates for coroutines.
    + */
    +<span class="fc" id="L30">public final class KotlinCoroutineFilter implements IFilter {</span>
    +
    +	static boolean isImplementationOfSuspendFunction(
    +			final MethodNode methodNode) {
    +<span class="fc bfc" id="L34" title="All 2 branches covered.">		if (methodNode.name.startsWith(&quot;access$&quot;)) {</span>
    +<span class="fc" id="L35">			return false;</span>
    +		}
    +<span class="fc" id="L37">		final Type methodType = Type.getMethodType(methodNode.desc);</span>
    +<span class="fc" id="L38">		final int lastArgument = methodType.getArgumentTypes().length - 1;</span>
    +<span class="pc bpc" id="L39" title="2 of 4 branches missed.">		return lastArgument &gt;= 0 &amp;&amp; &quot;kotlin.coroutines.Continuation&quot;.equals(</span>
    +				methodType.getArgumentTypes()[lastArgument].getClassName());
    +	}
    +
    +	public void filter(final MethodNode methodNode,
    +			final IFilterContext context, final IFilterOutput output) {
    +
    +<span class="fc bfc" id="L46" title="All 2 branches covered.">		if (!KotlinGeneratedFilter.isKotlinClass(context)) {</span>
    +<span class="fc" id="L47">			return;</span>
    +		}
    +
    +<span class="fc" id="L50">		new Matcher().match(methodNode, output);</span>
    +<span class="fc" id="L51">		new Matcher().matchOptimizedTailCall(methodNode, output);</span>
    +<span class="fc" id="L52">	}</span>
    +
    +<span class="fc" id="L54">	private static class Matcher extends AbstractMatcher {</span>
    +
    +		private void matchOptimizedTailCall(final MethodNode methodNode,
    +				final IFilterOutput output) {
    +<span class="fc bfc" id="L58" title="All 2 branches covered.">			for (final AbstractInsnNode i : methodNode.instructions) {</span>
    +<span class="fc" id="L59">				cursor = i;</span>
    +<span class="fc" id="L60">				nextIs(Opcodes.DUP);</span>
    +<span class="fc" id="L61">				nextIsInvoke(Opcodes.INVOKESTATIC,</span>
    +						&quot;kotlin/coroutines/intrinsics/IntrinsicsKt&quot;,
    +						&quot;getCOROUTINE_SUSPENDED&quot;, &quot;()Ljava/lang/Object;&quot;);
    +<span class="fc" id="L64">				nextIs(Opcodes.IF_ACMPNE);</span>
    +<span class="fc" id="L65">				nextIs(Opcodes.ARETURN);</span>
    +<span class="fc" id="L66">				nextIs(Opcodes.POP);</span>
    +<span class="fc bfc" id="L67" title="All 2 branches covered.">				if (cursor != null) {</span>
    +<span class="fc" id="L68">					output.ignore(i.getNext(), cursor);</span>
    +				}
    +			}
    +<span class="fc" id="L71">		}</span>
    +
    +		private void match(final MethodNode methodNode,
    +				final IFilterOutput output) {
    +<span class="fc" id="L75">			cursor = skipNonOpcodes(methodNode.instructions.getFirst());</span>
    +<span class="pc bpc" id="L76" title="1 of 4 branches missed.">			if (cursor == null || cursor.getOpcode() != Opcodes.INVOKESTATIC) {</span>
    +<span class="fc" id="L77">				cursor = null;</span>
    +			} else {
    +<span class="fc" id="L79">				final MethodInsnNode m = (MethodInsnNode) cursor;</span>
    +<span class="pc bpc" id="L80" title="3 of 6 branches missed.">				if (!&quot;kotlin/coroutines/intrinsics/IntrinsicsKt&quot;.equals(m.owner)</span>
    +						|| !&quot;getCOROUTINE_SUSPENDED&quot;.equals(m.name)
    +						|| !&quot;()Ljava/lang/Object;&quot;.equals(m.desc)) {
    +<span class="nc" id="L83">					cursor = null;</span>
    +				}
    +			}
    +
    +<span class="fc bfc" id="L87" title="All 2 branches covered.">			if (cursor == null) {</span>
    +<span class="fc" id="L88">				cursor = skipNonOpcodes(methodNode.instructions.getFirst());</span>
    +
    +<span class="fc" id="L90">				nextIsCreateStateInstance();</span>
    +
    +<span class="fc" id="L92">				nextIsInvoke(Opcodes.INVOKESTATIC,</span>
    +						&quot;kotlin/coroutines/intrinsics/IntrinsicsKt&quot;,
    +						&quot;getCOROUTINE_SUSPENDED&quot;, &quot;()Ljava/lang/Object;&quot;);
    +			}
    +
    +<span class="fc" id="L97">			nextIsVar(Opcodes.ASTORE, &quot;COROUTINE_SUSPENDED&quot;);</span>
    +<span class="fc" id="L98">			nextIsVar(Opcodes.ALOAD, &quot;this&quot;);</span>
    +<span class="fc" id="L99">			nextIs(Opcodes.GETFIELD);</span>
    +<span class="fc" id="L100">			nextIs(Opcodes.TABLESWITCH);</span>
    +<span class="fc bfc" id="L101" title="All 2 branches covered.">			if (cursor == null) {</span>
    +<span class="fc" id="L102">				return;</span>
    +			}
    +<span class="fc" id="L104">			final TableSwitchInsnNode s = (TableSwitchInsnNode) cursor;</span>
    +<span class="fc" id="L105">			final List&lt;AbstractInsnNode&gt; ignore = new ArrayList&lt;AbstractInsnNode&gt;(</span>
    +					s.labels.size() * 2);
    +
    +<span class="fc" id="L108">			nextIs(Opcodes.ALOAD);</span>
    +<span class="fc" id="L109">			nextIsThrowOnFailure();</span>
    +
    +<span class="pc bpc" id="L111" title="1 of 2 branches missed.">			if (cursor == null) {</span>
    +<span class="nc" id="L112">				return;</span>
    +			}
    +<span class="fc" id="L114">			ignore.add(methodNode.instructions.getFirst());</span>
    +<span class="fc" id="L115">			ignore.add(cursor);</span>
    +
    +<span class="fc" id="L117">			int suspensionPoint = 1;</span>
    +<span class="fc" id="L118">			for (AbstractInsnNode i = cursor; i != null</span>
    +<span class="pc bpc" id="L119" title="1 of 4 branches missed.">					&amp;&amp; suspensionPoint &lt; s.labels.size(); i = i.getNext()) {</span>
    +<span class="fc" id="L120">				cursor = i;</span>
    +<span class="fc" id="L121">				nextIsVar(Opcodes.ALOAD, &quot;COROUTINE_SUSPENDED&quot;);</span>
    +<span class="fc" id="L122">				nextIs(Opcodes.IF_ACMPNE);</span>
    +<span class="fc bfc" id="L123" title="All 2 branches covered.">				if (cursor == null) {</span>
    +<span class="fc" id="L124">					continue;</span>
    +				}
    +<span class="fc" id="L126">				final AbstractInsnNode continuationAfterLoadedResult = skipNonOpcodes(</span>
    +						((JumpInsnNode) cursor).label);
    +<span class="fc" id="L128">				nextIsVar(Opcodes.ALOAD, &quot;COROUTINE_SUSPENDED&quot;);</span>
    +<span class="fc" id="L129">				nextIs(Opcodes.ARETURN);</span>
    +<span class="pc bpc" id="L130" title="2 of 4 branches missed.">				if (cursor == null</span>
    +						|| skipNonOpcodes(cursor.getNext()) != skipNonOpcodes(
    +								s.labels.get(suspensionPoint))) {
    +<span class="nc" id="L133">					continue;</span>
    +				}
    +
    +<span class="pc bpc" id="L136" title="1 of 2 branches missed.">				for (AbstractInsnNode j = i; j != null; j = j.getNext()) {</span>
    +<span class="fc" id="L137">					cursor = j;</span>
    +<span class="fc" id="L138">					nextIs(Opcodes.ALOAD);</span>
    +<span class="fc" id="L139">					nextIsThrowOnFailure();</span>
    +
    +<span class="fc" id="L141">					nextIs(Opcodes.ALOAD);</span>
    +<span class="pc bpc" id="L142" title="1 of 4 branches missed.">					if (cursor != null &amp;&amp; skipNonOpcodes(cursor</span>
    +							.getNext()) == continuationAfterLoadedResult) {
    +<span class="fc" id="L144">						ignore.add(i);</span>
    +<span class="fc" id="L145">						ignore.add(cursor);</span>
    +<span class="fc" id="L146">						suspensionPoint++;</span>
    +<span class="fc" id="L147">						break;</span>
    +					}
    +				}
    +			}
    +
    +<span class="fc" id="L152">			cursor = s.dflt;</span>
    +<span class="fc" id="L153">			nextIsType(Opcodes.NEW, &quot;java/lang/IllegalStateException&quot;);</span>
    +<span class="fc" id="L154">			nextIs(Opcodes.DUP);</span>
    +<span class="fc" id="L155">			nextIs(Opcodes.LDC);</span>
    +<span class="pc bpc" id="L156" title="1 of 2 branches missed.">			if (cursor == null) {</span>
    +<span class="nc" id="L157">				return;</span>
    +			}
    +<span class="pc bpc" id="L159" title="1 of 2 branches missed.">			if (!((LdcInsnNode) cursor).cst.equals(</span>
    +					&quot;call to 'resume' before 'invoke' with coroutine&quot;)) {
    +<span class="nc" id="L161">				return;</span>
    +			}
    +<span class="fc" id="L163">			nextIsInvoke(Opcodes.INVOKESPECIAL,</span>
    +					&quot;java/lang/IllegalStateException&quot;, &quot;&lt;init&gt;&quot;,
    +					&quot;(Ljava/lang/String;)V&quot;);
    +<span class="fc" id="L166">			nextIs(Opcodes.ATHROW);</span>
    +<span class="pc bpc" id="L167" title="1 of 2 branches missed.">			if (cursor == null) {</span>
    +<span class="nc" id="L168">				return;</span>
    +			}
    +
    +<span class="fc" id="L171">			output.ignore(s.dflt, cursor);</span>
    +<span class="fc bfc" id="L172" title="All 2 branches covered.">			for (int i = 0; i &lt; ignore.size(); i += 2) {</span>
    +<span class="fc" id="L173">				output.ignore(ignore.get(i), ignore.get(i + 1));</span>
    +			}
    +<span class="fc" id="L175">		}</span>
    +
    +		private void nextIsThrowOnFailure() {
    +<span class="fc" id="L178">			final AbstractInsnNode c = cursor;</span>
    +<span class="fc" id="L179">			nextIsInvoke(Opcodes.INVOKESTATIC, &quot;kotlin/ResultKt&quot;,</span>
    +					&quot;throwOnFailure&quot;, &quot;(Ljava/lang/Object;)V&quot;);
    +<span class="fc bfc" id="L181" title="All 2 branches covered.">			if (cursor == null) {</span>
    +<span class="fc" id="L182">				cursor = c;</span>
    +				// Before resolution of
    +				// https://youtrack.jetbrains.com/issue/KT-28015 in
    +				// Kotlin 1.3.30
    +<span class="fc" id="L186">				nextIs(Opcodes.DUP);</span>
    +<span class="fc" id="L187">				nextIsType(Opcodes.INSTANCEOF, &quot;kotlin/Result$Failure&quot;);</span>
    +<span class="fc" id="L188">				nextIs(Opcodes.IFEQ);</span>
    +<span class="fc" id="L189">				nextIsType(Opcodes.CHECKCAST, &quot;kotlin/Result$Failure&quot;);</span>
    +<span class="fc" id="L190">				nextIs(Opcodes.GETFIELD);</span>
    +<span class="fc" id="L191">				nextIs(Opcodes.ATHROW);</span>
    +<span class="fc" id="L192">				nextIs(Opcodes.POP);</span>
    +			}
    +<span class="fc" id="L194">		}</span>
    +
    +		private void nextIsCreateStateInstance() {
    +<span class="fc" id="L197">			nextIs(Opcodes.INSTANCEOF);</span>
    +
    +<span class="fc" id="L199">			nextIs(Opcodes.IFEQ);</span>
    +<span class="fc bfc" id="L200" title="All 2 branches covered.">			if (cursor == null) {</span>
    +<span class="fc" id="L201">				return;</span>
    +			}
    +<span class="fc" id="L203">			final AbstractInsnNode createStateInstance = skipNonOpcodes(</span>
    +					((JumpInsnNode) cursor).label);
    +
    +<span class="fc" id="L206">			nextIs(Opcodes.ALOAD);</span>
    +<span class="fc" id="L207">			nextIs(Opcodes.CHECKCAST);</span>
    +<span class="fc" id="L208">			nextIs(Opcodes.ASTORE);</span>
    +
    +<span class="fc" id="L210">			nextIs(Opcodes.ALOAD);</span>
    +<span class="fc" id="L211">			nextIs(Opcodes.GETFIELD);</span>
    +
    +<span class="fc" id="L213">			nextIs(Opcodes.LDC);</span>
    +<span class="fc" id="L214">			nextIs(Opcodes.IAND);</span>
    +<span class="fc" id="L215">			nextIs(Opcodes.IFEQ);</span>
    +<span class="pc bpc" id="L216" title="2 of 4 branches missed.">			if (cursor == null || skipNonOpcodes(</span>
    +					((JumpInsnNode) cursor).label) != createStateInstance) {
    +<span class="nc" id="L218">				return;</span>
    +			}
    +
    +<span class="fc" id="L221">			nextIs(Opcodes.ALOAD);</span>
    +<span class="fc" id="L222">			nextIs(Opcodes.DUP);</span>
    +<span class="fc" id="L223">			nextIs(Opcodes.GETFIELD);</span>
    +
    +<span class="fc" id="L225">			nextIs(Opcodes.LDC);</span>
    +<span class="fc" id="L226">			nextIs(Opcodes.ISUB);</span>
    +<span class="fc" id="L227">			nextIs(Opcodes.PUTFIELD);</span>
    +
    +<span class="fc" id="L229">			nextIs(Opcodes.GOTO);</span>
    +<span class="pc bpc" id="L230" title="1 of 2 branches missed.">			if (cursor == null) {</span>
    +<span class="nc" id="L231">				return;</span>
    +			}
    +<span class="fc" id="L233">			final AbstractInsnNode afterCoroutineStateCreated = skipNonOpcodes(</span>
    +					((JumpInsnNode) cursor).label);
    +
    +<span class="pc bpc" id="L236" title="1 of 2 branches missed.">			if (skipNonOpcodes(cursor.getNext()) != createStateInstance) {</span>
    +<span class="nc" id="L237">				return;</span>
    +			}
    +
    +<span class="fc" id="L240">			cursor = afterCoroutineStateCreated;</span>
    +<span class="fc" id="L241">			nextIs(Opcodes.GETFIELD);</span>
    +<span class="fc" id="L242">			nextIs(Opcodes.ASTORE);</span>
    +<span class="fc" id="L243">		}</span>
    +	}
    +
    +}
    +</pre><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.12.202403270442</span>Code Coverage Report for JaCoCo 0.8.12-SNAPSHOT</div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/trunk/coverage/org.jacoco.core/org.jacoco.core.internal.analysis.filter/KotlinDefaultArgumentsFilter$Matcher.html b/jacoco/trunk/coverage/org.jacoco.core/org.jacoco.core.internal.analysis.filter/KotlinDefaultArgumentsFilter$Matcher.html
    new file mode 100644
    index 00000000000..2a79e62efc9
    --- /dev/null
    +++ b/jacoco/trunk/coverage/org.jacoco.core/org.jacoco.core.internal.analysis.filter/KotlinDefaultArgumentsFilter$Matcher.html
    @@ -0,0 +1 @@
    +<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="en"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../../jacoco-resources/report.gif" type="image/gif"/><title>KotlinDefaultArgumentsFilter.Matcher</title><script type="text/javascript" src="../../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../../index.html" class="el_report">JaCoCo</a> &gt; <a href="../index.html" class="el_bundle">org.jacoco.core</a> &gt; <a href="index.html" class="el_package">org.jacoco.core.internal.analysis.filter</a> &gt; <span class="el_class">KotlinDefaultArgumentsFilter.Matcher</span></div><h1>KotlinDefaultArgumentsFilter.Matcher</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">2 of 165</td><td class="ctr2">98%</td><td class="bar">4 of 20</td><td class="ctr2">80%</td><td class="ctr1">4</td><td class="ctr2">12</td><td class="ctr1">2</td><td class="ctr2">38</td><td class="ctr1">0</td><td class="ctr2">2</td></tr></tfoot><tbody><tr><td id="a1"><a href="KotlinDefaultArgumentsFilter.java.html#L91" class="el_method">match(MethodNode, IFilterOutput, boolean)</a></td><td class="bar" id="b0"><img src="../../jacoco-resources/redbar.gif" width="1" height="10" title="2" alt="2"/><img src="../../jacoco-resources/greenbar.gif" width="118" height="10" title="129" alt="129"/></td><td class="ctr2" id="c1">98%</td><td class="bar" id="d0"><img src="../../jacoco-resources/redbar.gif" width="30" height="10" title="4" alt="4"/><img src="../../jacoco-resources/greenbar.gif" width="90" height="10" title="12" alt="12"/></td><td class="ctr2" id="e1">75%</td><td class="ctr1" id="f0">4</td><td class="ctr2" id="g0">9</td><td class="ctr1" id="h0">2</td><td class="ctr2" id="i0">30</td><td class="ctr1" id="j0">0</td><td class="ctr2" id="k0">1</td></tr><tr><td id="a0"><a href="KotlinDefaultArgumentsFilter.java.html#L141" class="el_method">maskVar(String, boolean)</a></td><td class="bar" id="b1"><img src="../../jacoco-resources/greenbar.gif" width="31" height="10" title="34" alt="34"/></td><td class="ctr2" id="c0">100%</td><td class="bar" id="d1"><img src="../../jacoco-resources/greenbar.gif" width="30" height="10" title="4" alt="4"/></td><td class="ctr2" id="e0">100%</td><td class="ctr1" id="f1">0</td><td class="ctr2" id="g1">3</td><td class="ctr1" id="h1">0</td><td class="ctr2" id="i1">8</td><td class="ctr1" id="j1">0</td><td class="ctr2" id="k1">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.12.202403270442</span>Code Coverage Report for JaCoCo 0.8.12-SNAPSHOT</div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/trunk/coverage/org.jacoco.core/org.jacoco.core.internal.analysis.filter/KotlinDefaultArgumentsFilter.html b/jacoco/trunk/coverage/org.jacoco.core/org.jacoco.core.internal.analysis.filter/KotlinDefaultArgumentsFilter.html
    new file mode 100644
    index 00000000000..577769c8409
    --- /dev/null
    +++ b/jacoco/trunk/coverage/org.jacoco.core/org.jacoco.core.internal.analysis.filter/KotlinDefaultArgumentsFilter.html
    @@ -0,0 +1 @@
    +<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="en"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../../jacoco-resources/report.gif" type="image/gif"/><title>KotlinDefaultArgumentsFilter</title><script type="text/javascript" src="../../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../../index.html" class="el_report">JaCoCo</a> &gt; <a href="../index.html" class="el_bundle">org.jacoco.core</a> &gt; <a href="index.html" class="el_package">org.jacoco.core.internal.analysis.filter</a> &gt; <span class="el_class">KotlinDefaultArgumentsFilter</span></div><h1>KotlinDefaultArgumentsFilter</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">2 of 78</td><td class="ctr2">97%</td><td class="bar">1 of 12</td><td class="ctr2">91%</td><td class="ctr1">1</td><td class="ctr2">11</td><td class="ctr1">1</td><td class="ctr2">19</td><td class="ctr1">0</td><td class="ctr2">5</td></tr></tfoot><tbody><tr><td id="a2"><a href="KotlinDefaultArgumentsFilter.java.html#L60" class="el_method">isDefaultArgumentsConstructor(MethodNode)</a></td><td class="bar" id="b0"><img src="../../jacoco-resources/redbar.gif" width="7" height="10" title="2" alt="2"/><img src="../../jacoco-resources/greenbar.gif" width="91" height="10" title="26" alt="26"/></td><td class="ctr2" id="c4">92%</td><td class="bar" id="d0"><img src="../../jacoco-resources/redbar.gif" width="15" height="10" title="1" alt="1"/><img src="../../jacoco-resources/greenbar.gif" width="45" height="10" title="3" alt="3"/></td><td class="ctr2" id="e1">75%</td><td class="ctr1" id="f0">1</td><td class="ctr2" id="g1">3</td><td class="ctr1" id="h0">1</td><td class="ctr2" id="i1">6</td><td class="ctr1" id="j0">0</td><td class="ctr2" id="k0">1</td></tr><tr><td id="a1"><a href="KotlinDefaultArgumentsFilter.java.html#L74" class="el_method">filter(MethodNode, IFilterContext, IFilterOutput)</a></td><td class="bar" id="b1"><img src="../../jacoco-resources/greenbar.gif" width="120" height="10" title="34" alt="34"/></td><td class="ctr2" id="c0">100%</td><td class="bar" id="d1"><img src="../../jacoco-resources/greenbar.gif" width="120" height="10" title="8" alt="8"/></td><td class="ctr2" id="e0">100%</td><td class="ctr1" id="f1">0</td><td class="ctr2" id="g0">5</td><td class="ctr1" id="h1">0</td><td class="ctr2" id="i0">9</td><td class="ctr1" id="j1">0</td><td class="ctr2" id="k1">1</td></tr><tr><td id="a0"><a href="KotlinDefaultArgumentsFilter.java.html#L163" class="el_method">computeNumberOfMaskArguments(int)</a></td><td class="bar" id="b2"><img src="../../jacoco-resources/greenbar.gif" width="28" height="10" title="8" alt="8"/></td><td class="ctr2" id="c1">100%</td><td class="bar" id="d2"/><td class="ctr2" id="e2">n/a</td><td class="ctr1" id="f2">0</td><td class="ctr2" id="g2">1</td><td class="ctr1" id="h2">0</td><td class="ctr2" id="i3">1</td><td class="ctr1" id="j2">0</td><td class="ctr2" id="k2">1</td></tr><tr><td id="a3"><a href="KotlinDefaultArgumentsFilter.java.html#L56" class="el_method">isDefaultArgumentsMethod(MethodNode)</a></td><td class="bar" id="b3"><img src="../../jacoco-resources/greenbar.gif" width="17" height="10" title="5" alt="5"/></td><td class="ctr2" id="c2">100%</td><td class="bar" id="d3"/><td class="ctr2" id="e3">n/a</td><td class="ctr1" id="f3">0</td><td class="ctr2" id="g3">1</td><td class="ctr1" id="h3">0</td><td class="ctr2" id="i4">1</td><td class="ctr1" id="j3">0</td><td class="ctr2" id="k3">1</td></tr><tr><td id="a4"><a href="KotlinDefaultArgumentsFilter.java.html#L53" class="el_method">KotlinDefaultArgumentsFilter()</a></td><td class="bar" id="b4"><img src="../../jacoco-resources/greenbar.gif" width="10" height="10" title="3" alt="3"/></td><td class="ctr2" id="c3">100%</td><td class="bar" id="d4"/><td class="ctr2" id="e4">n/a</td><td class="ctr1" id="f4">0</td><td class="ctr2" id="g4">1</td><td class="ctr1" id="h4">0</td><td class="ctr2" id="i2">2</td><td class="ctr1" id="j4">0</td><td class="ctr2" id="k4">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.12.202403270442</span>Code Coverage Report for JaCoCo 0.8.12-SNAPSHOT</div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/trunk/coverage/org.jacoco.core/org.jacoco.core.internal.analysis.filter/KotlinDefaultArgumentsFilter.java.html b/jacoco/trunk/coverage/org.jacoco.core/org.jacoco.core.internal.analysis.filter/KotlinDefaultArgumentsFilter.java.html
    new file mode 100644
    index 00000000000..4eb72626b82
    --- /dev/null
    +++ b/jacoco/trunk/coverage/org.jacoco.core/org.jacoco.core.internal.analysis.filter/KotlinDefaultArgumentsFilter.java.html
    @@ -0,0 +1,167 @@
    +<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="en"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../../jacoco-resources/report.gif" type="image/gif"/><title>KotlinDefaultArgumentsFilter.java</title><link rel="stylesheet" href="../../jacoco-resources/prettify.css" type="text/css"/><script type="text/javascript" src="../../jacoco-resources/prettify.js"></script></head><body onload="window['PR_TAB_WIDTH']=4;prettyPrint()"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../../index.html" class="el_report">JaCoCo</a> &gt; <a href="../index.html" class="el_bundle">org.jacoco.core</a> &gt; <a href="index.source.html" class="el_package">org.jacoco.core.internal.analysis.filter</a> &gt; <span class="el_source">KotlinDefaultArgumentsFilter.java</span></div><h1>KotlinDefaultArgumentsFilter.java</h1><pre class="source lang-java linenums">/*******************************************************************************
    + * Copyright (c) 2009, 2024 Mountainminds GmbH &amp; Co. KG and Contributors
    + * This program and the accompanying materials are made available under
    + * the terms of the Eclipse Public License 2.0 which is available at
    + * http://www.eclipse.org/legal/epl-2.0
    + *
    + * SPDX-License-Identifier: EPL-2.0
    + *
    + * Contributors:
    + *    Evgeny Mandrikov - initial API and implementation
    + *
    + *******************************************************************************/
    +package org.jacoco.core.internal.analysis.filter;
    +
    +import java.util.HashSet;
    +import java.util.Set;
    +
    +import org.objectweb.asm.Opcodes;
    +import org.objectweb.asm.Type;
    +import org.objectweb.asm.tree.AbstractInsnNode;
    +import org.objectweb.asm.tree.JumpInsnNode;
    +import org.objectweb.asm.tree.LdcInsnNode;
    +import org.objectweb.asm.tree.MethodNode;
    +import org.objectweb.asm.tree.VarInsnNode;
    +
    +/**
    + * Filters branches that Kotlin compiler generates for default arguments.
    + *
    + * For methods and constructors with default arguments Kotlin compiler generates
    + * synthetic method with suffix &quot;$default&quot; or a synthetic constructor with last
    + * argument &quot;kotlin.jvm.internal.DefaultConstructorMarker&quot; respectively. And in
    + * this synthetic method for each default argument Kotlin compiler generates
    + * following bytecode to determine if it should be used or not:
    + *
    + * &lt;pre&gt;
    + * ILOAD maskVar
    + * ICONST_x, BIPUSH, SIPUSH, LDC or LDC_W
    + * IAND
    + * IFEQ label
    + * default argument
    + * label:
    + * &lt;/pre&gt;
    + *
    + * If original method has &lt;code&gt;X&lt;/code&gt; arguments, then in synthetic method
    + * &lt;code&gt;maskVar&lt;/code&gt; is one of arguments from &lt;code&gt;X+1&lt;/code&gt; to
    + * &lt;code&gt;X+1+(X/32)&lt;/code&gt;.
    + *
    + * At least one of such arguments is not zero - invocation without default
    + * arguments uses original non synthetic method.
    + *
    + * This filter marks &lt;code&gt;IFEQ&lt;/code&gt; instructions as ignored.
    + */
    +<span class="fc" id="L53">public final class KotlinDefaultArgumentsFilter implements IFilter {</span>
    +
    +	static boolean isDefaultArgumentsMethod(final MethodNode methodNode) {
    +<span class="fc" id="L56">		return methodNode.name.endsWith(&quot;$default&quot;);</span>
    +	}
    +
    +	static boolean isDefaultArgumentsConstructor(final MethodNode methodNode) {
    +<span class="fc bfc" id="L60" title="All 2 branches covered.">		if (!&quot;&lt;init&gt;&quot;.equals(methodNode.name)) {</span>
    +<span class="fc" id="L61">			return false;</span>
    +		}
    +<span class="fc" id="L63">		final Type[] argumentTypes = Type.getMethodType(methodNode.desc)</span>
    +				.getArgumentTypes();
    +<span class="pc bpc" id="L65" title="1 of 2 branches missed.">		if (argumentTypes.length &lt; 2) {</span>
    +<span class="nc" id="L66">			return false;</span>
    +		}
    +<span class="fc" id="L68">		return &quot;kotlin.jvm.internal.DefaultConstructorMarker&quot;</span>
    +				.equals(argumentTypes[argumentTypes.length - 1].getClassName());
    +	}
    +
    +	public void filter(final MethodNode methodNode,
    +			final IFilterContext context, final IFilterOutput output) {
    +<span class="fc bfc" id="L74" title="All 2 branches covered.">		if ((methodNode.access &amp; Opcodes.ACC_SYNTHETIC) == 0) {</span>
    +<span class="fc" id="L75">			return;</span>
    +		}
    +<span class="fc bfc" id="L77" title="All 2 branches covered.">		if (!KotlinGeneratedFilter.isKotlinClass(context)) {</span>
    +<span class="fc" id="L78">			return;</span>
    +		}
    +
    +<span class="fc bfc" id="L81" title="All 2 branches covered.">		if (isDefaultArgumentsMethod(methodNode)) {</span>
    +<span class="fc" id="L82">			new Matcher().match(methodNode, output, false);</span>
    +<span class="fc bfc" id="L83" title="All 2 branches covered.">		} else if (isDefaultArgumentsConstructor(methodNode)) {</span>
    +<span class="fc" id="L84">			new Matcher().match(methodNode, output, true);</span>
    +		}
    +<span class="fc" id="L86">	}</span>
    +
    +<span class="fc" id="L88">	private static class Matcher extends AbstractMatcher {</span>
    +		public void match(final MethodNode methodNode,
    +				final IFilterOutput output, final boolean constructor) {
    +<span class="fc" id="L91">			cursor = skipNonOpcodes(methodNode.instructions.getFirst());</span>
    +
    +<span class="fc" id="L93">			nextIs(Opcodes.IFNULL);</span>
    +<span class="fc" id="L94">			nextIsType(Opcodes.NEW, &quot;java/lang/UnsupportedOperationException&quot;);</span>
    +<span class="fc" id="L95">			nextIs(Opcodes.DUP);</span>
    +<span class="fc" id="L96">			nextIs(Opcodes.LDC);</span>
    +<span class="pc bpc" id="L97" title="2 of 6 branches missed.">			if (cursor == null</span>
    +					|| !(((LdcInsnNode) cursor).cst instanceof String)
    +					|| !(((String) ((LdcInsnNode) cursor).cst).startsWith(
    +							&quot;Super calls with default arguments not supported in this target&quot;))) {
    +<span class="fc" id="L101">				cursor = null;</span>
    +			}
    +<span class="fc" id="L103">			nextIsInvoke(Opcodes.INVOKESPECIAL,</span>
    +					&quot;java/lang/UnsupportedOperationException&quot;, &quot;&lt;init&gt;&quot;,
    +					&quot;(Ljava/lang/String;)V&quot;);
    +<span class="fc" id="L106">			nextIs(Opcodes.ATHROW);</span>
    +<span class="fc bfc" id="L107" title="All 2 branches covered.">			if (cursor != null) {</span>
    +<span class="fc" id="L108">				output.ignore(methodNode.instructions.getFirst(), cursor);</span>
    +<span class="fc" id="L109">				next();</span>
    +			} else {
    +<span class="fc" id="L111">				cursor = skipNonOpcodes(methodNode.instructions.getFirst());</span>
    +			}
    +
    +<span class="fc" id="L114">			final Set&lt;AbstractInsnNode&gt; ignore = new HashSet&lt;AbstractInsnNode&gt;();</span>
    +<span class="fc" id="L115">			final int maskVar = maskVar(methodNode.desc, constructor);</span>
    +			while (true) {
    +<span class="fc bfc" id="L117" title="All 2 branches covered.">				if (cursor.getOpcode() != Opcodes.ILOAD) {</span>
    +<span class="fc" id="L118">					break;</span>
    +				}
    +<span class="pc bpc" id="L120" title="1 of 2 branches missed.">				if (((VarInsnNode) cursor).var != maskVar) {</span>
    +<span class="nc" id="L121">					break;</span>
    +				}
    +<span class="fc" id="L123">				next();</span>
    +<span class="fc" id="L124">				nextIs(Opcodes.IAND);</span>
    +<span class="fc" id="L125">				nextIs(Opcodes.IFEQ);</span>
    +<span class="pc bpc" id="L126" title="1 of 2 branches missed.">				if (cursor == null) {</span>
    +<span class="nc" id="L127">					return;</span>
    +				}
    +<span class="fc" id="L129">				ignore.add(cursor);</span>
    +<span class="fc" id="L130">				cursor = ((JumpInsnNode) cursor).label;</span>
    +<span class="fc" id="L131">				skipNonOpcodes();</span>
    +			}
    +
    +<span class="fc bfc" id="L134" title="All 2 branches covered.">			for (AbstractInsnNode i : ignore) {</span>
    +<span class="fc" id="L135">				output.ignore(i, i);</span>
    +			}
    +<span class="fc" id="L137">		}</span>
    +
    +		private static int maskVar(final String desc,
    +				final boolean constructor) {
    +<span class="fc" id="L141">			final Type[] argumentTypes = Type.getMethodType(desc)</span>
    +					.getArgumentTypes();
    +<span class="fc" id="L143">			int slot = 0;</span>
    +<span class="fc bfc" id="L144" title="All 2 branches covered.">			if (constructor) {</span>
    +				// one slot for reference to current object
    +<span class="fc" id="L146">				slot++;</span>
    +			}
    +<span class="fc" id="L148">			final int firstMaskArgument = argumentTypes.length - 1</span>
    +					- computeNumberOfMaskArguments(argumentTypes.length);
    +<span class="fc bfc" id="L150" title="All 2 branches covered.">			for (int i = 0; i &lt; firstMaskArgument; i++) {</span>
    +<span class="fc" id="L151">				slot += argumentTypes[i].getSize();</span>
    +			}
    +<span class="fc" id="L153">			return slot;</span>
    +		}
    +	}
    +
    +	/**
    +	 * @param arguments
    +	 *            number of arguments of synthetic method
    +	 * @return number of arguments holding mask
    +	 */
    +	static int computeNumberOfMaskArguments(final int arguments) {
    +<span class="fc" id="L163">		return (arguments - 2) / 33 + 1;</span>
    +	}
    +
    +}
    +</pre><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.12.202403270442</span>Code Coverage Report for JaCoCo 0.8.12-SNAPSHOT</div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/trunk/coverage/org.jacoco.core/org.jacoco.core.internal.analysis.filter/KotlinDefaultMethodsFilter$Matcher.html b/jacoco/trunk/coverage/org.jacoco.core/org.jacoco.core.internal.analysis.filter/KotlinDefaultMethodsFilter$Matcher.html
    new file mode 100644
    index 00000000000..f4b5be15c0e
    --- /dev/null
    +++ b/jacoco/trunk/coverage/org.jacoco.core/org.jacoco.core.internal.analysis.filter/KotlinDefaultMethodsFilter$Matcher.html
    @@ -0,0 +1 @@
    +<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="en"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../../jacoco-resources/report.gif" type="image/gif"/><title>KotlinDefaultMethodsFilter.Matcher</title><script type="text/javascript" src="../../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../../index.html" class="el_report">JaCoCo</a> &gt; <a href="../index.html" class="el_bundle">org.jacoco.core</a> &gt; <a href="index.html" class="el_package">org.jacoco.core.internal.analysis.filter</a> &gt; <span class="el_class">KotlinDefaultMethodsFilter.Matcher</span></div><h1>KotlinDefaultMethodsFilter.Matcher</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">0 of 25</td><td class="ctr2">100%</td><td class="bar">0 of 4</td><td class="ctr2">100%</td><td class="ctr1">0</td><td class="ctr2">3</td><td class="ctr1">0</td><td class="ctr2">5</td><td class="ctr1">0</td><td class="ctr2">1</td></tr></tfoot><tbody><tr><td id="a0"><a href="KotlinDefaultMethodsFilter.java.html#L36" class="el_method">match(MethodNode, IFilterOutput)</a></td><td class="bar" id="b0"><img src="../../jacoco-resources/greenbar.gif" width="120" height="10" title="25" alt="25"/></td><td class="ctr2" id="c0">100%</td><td class="bar" id="d0"><img src="../../jacoco-resources/greenbar.gif" width="120" height="10" title="4" alt="4"/></td><td class="ctr2" id="e0">100%</td><td class="ctr1" id="f0">0</td><td class="ctr2" id="g0">3</td><td class="ctr1" id="h0">0</td><td class="ctr2" id="i0">5</td><td class="ctr1" id="j0">0</td><td class="ctr2" id="k0">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.12.202403270442</span>Code Coverage Report for JaCoCo 0.8.12-SNAPSHOT</div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/trunk/coverage/org.jacoco.core/org.jacoco.core.internal.analysis.filter/KotlinDefaultMethodsFilter.html b/jacoco/trunk/coverage/org.jacoco.core/org.jacoco.core.internal.analysis.filter/KotlinDefaultMethodsFilter.html
    new file mode 100644
    index 00000000000..d7e7381dced
    --- /dev/null
    +++ b/jacoco/trunk/coverage/org.jacoco.core/org.jacoco.core.internal.analysis.filter/KotlinDefaultMethodsFilter.html
    @@ -0,0 +1 @@
    +<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="en"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../../jacoco-resources/report.gif" type="image/gif"/><title>KotlinDefaultMethodsFilter</title><script type="text/javascript" src="../../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../../index.html" class="el_report">JaCoCo</a> &gt; <a href="../index.html" class="el_bundle">org.jacoco.core</a> &gt; <a href="index.html" class="el_package">org.jacoco.core.internal.analysis.filter</a> &gt; <span class="el_class">KotlinDefaultMethodsFilter</span></div><h1>KotlinDefaultMethodsFilter</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">0 of 15</td><td class="ctr2">100%</td><td class="bar">0 of 2</td><td class="ctr2">100%</td><td class="ctr1">0</td><td class="ctr2">3</td><td class="ctr1">0</td><td class="ctr2">6</td><td class="ctr1">0</td><td class="ctr2">2</td></tr></tfoot><tbody><tr><td id="a0"><a href="KotlinDefaultMethodsFilter.java.html#L27" class="el_method">filter(MethodNode, IFilterContext, IFilterOutput)</a></td><td class="bar" id="b0"><img src="../../jacoco-resources/greenbar.gif" width="120" height="10" title="12" alt="12"/></td><td class="ctr2" id="c0">100%</td><td class="bar" id="d0"><img src="../../jacoco-resources/greenbar.gif" width="120" height="10" title="2" alt="2"/></td><td class="ctr2" id="e0">100%</td><td class="ctr1" id="f0">0</td><td class="ctr2" id="g0">2</td><td class="ctr1" id="h0">0</td><td class="ctr2" id="i0">4</td><td class="ctr1" id="j0">0</td><td class="ctr2" id="k0">1</td></tr><tr><td id="a1"><a href="KotlinDefaultMethodsFilter.java.html#L23" class="el_method">KotlinDefaultMethodsFilter()</a></td><td class="bar" id="b1"><img src="../../jacoco-resources/greenbar.gif" width="30" height="10" title="3" alt="3"/></td><td class="ctr2" id="c1">100%</td><td class="bar" id="d1"/><td class="ctr2" id="e1">n/a</td><td class="ctr1" id="f1">0</td><td class="ctr2" id="g1">1</td><td class="ctr1" id="h1">0</td><td class="ctr2" id="i1">2</td><td class="ctr1" id="j1">0</td><td class="ctr2" id="k1">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.12.202403270442</span>Code Coverage Report for JaCoCo 0.8.12-SNAPSHOT</div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/trunk/coverage/org.jacoco.core/org.jacoco.core.internal.analysis.filter/KotlinDefaultMethodsFilter.java.html b/jacoco/trunk/coverage/org.jacoco.core/org.jacoco.core.internal.analysis.filter/KotlinDefaultMethodsFilter.java.html
    new file mode 100644
    index 00000000000..140e0b12203
    --- /dev/null
    +++ b/jacoco/trunk/coverage/org.jacoco.core/org.jacoco.core.internal.analysis.filter/KotlinDefaultMethodsFilter.java.html
    @@ -0,0 +1,47 @@
    +<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="en"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../../jacoco-resources/report.gif" type="image/gif"/><title>KotlinDefaultMethodsFilter.java</title><link rel="stylesheet" href="../../jacoco-resources/prettify.css" type="text/css"/><script type="text/javascript" src="../../jacoco-resources/prettify.js"></script></head><body onload="window['PR_TAB_WIDTH']=4;prettyPrint()"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../../index.html" class="el_report">JaCoCo</a> &gt; <a href="../index.html" class="el_bundle">org.jacoco.core</a> &gt; <a href="index.source.html" class="el_package">org.jacoco.core.internal.analysis.filter</a> &gt; <span class="el_source">KotlinDefaultMethodsFilter.java</span></div><h1>KotlinDefaultMethodsFilter.java</h1><pre class="source lang-java linenums">/*******************************************************************************
    + * Copyright (c) 2009, 2024 Mountainminds GmbH &amp; Co. KG and Contributors
    + * This program and the accompanying materials are made available under
    + * the terms of the Eclipse Public License 2.0 which is available at
    + * http://www.eclipse.org/legal/epl-2.0
    + *
    + * SPDX-License-Identifier: EPL-2.0
    + *
    + * Contributors:
    + *    Evgeny Mandrikov - initial API and implementation
    + *
    + *******************************************************************************/
    +package org.jacoco.core.internal.analysis.filter;
    +
    +import org.objectweb.asm.Opcodes;
    +import org.objectweb.asm.tree.MethodInsnNode;
    +import org.objectweb.asm.tree.MethodNode;
    +
    +/**
    + * Filters methods that Kotlin compiler generates for non-overridden
    + * non-abstract methods of interfaces.
    + */
    +<span class="fc" id="L23">final class KotlinDefaultMethodsFilter implements IFilter {</span>
    +
    +	public void filter(final MethodNode methodNode,
    +			final IFilterContext context, final IFilterOutput output) {
    +<span class="fc bfc" id="L27" title="All 2 branches covered.">		if (!KotlinGeneratedFilter.isKotlinClass(context)) {</span>
    +<span class="fc" id="L28">			return;</span>
    +		}
    +<span class="fc" id="L30">		new Matcher().match(methodNode, output);</span>
    +<span class="fc" id="L31">	}</span>
    +
    +<span class="fc" id="L33">	private static class Matcher extends AbstractMatcher {</span>
    +		private void match(final MethodNode methodNode,
    +				final IFilterOutput output) {
    +<span class="fc" id="L36">			firstIsALoad0(methodNode);</span>
    +<span class="fc" id="L37">			nextIs(Opcodes.INVOKESTATIC);</span>
    +<span class="fc bfc" id="L38" title="All 4 branches covered.">			if (cursor != null &amp;&amp; ((MethodInsnNode) cursor).owner</span>
    +					.endsWith(&quot;$DefaultImpls&quot;)) {
    +<span class="fc" id="L40">				output.ignore(methodNode.instructions.getFirst(),</span>
    +						methodNode.instructions.getLast());
    +			}
    +<span class="fc" id="L43">		}</span>
    +	}
    +
    +}
    +</pre><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.12.202403270442</span>Code Coverage Report for JaCoCo 0.8.12-SNAPSHOT</div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/trunk/coverage/org.jacoco.core/org.jacoco.core.internal.analysis.filter/KotlinGeneratedFilter.html b/jacoco/trunk/coverage/org.jacoco.core/org.jacoco.core.internal.analysis.filter/KotlinGeneratedFilter.html
    new file mode 100644
    index 00000000000..c061d27deb0
    --- /dev/null
    +++ b/jacoco/trunk/coverage/org.jacoco.core/org.jacoco.core.internal.analysis.filter/KotlinGeneratedFilter.html
    @@ -0,0 +1 @@
    +<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="en"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../../jacoco-resources/report.gif" type="image/gif"/><title>KotlinGeneratedFilter</title><script type="text/javascript" src="../../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../../index.html" class="el_report">JaCoCo</a> &gt; <a href="../index.html" class="el_bundle">org.jacoco.core</a> &gt; <a href="index.html" class="el_package">org.jacoco.core.internal.analysis.filter</a> &gt; <span class="el_class">KotlinGeneratedFilter</span></div><h1>KotlinGeneratedFilter</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">0 of 50</td><td class="ctr2">100%</td><td class="bar">0 of 10</td><td class="ctr2">100%</td><td class="ctr1">0</td><td class="ctr2">9</td><td class="ctr1">0</td><td class="ctr2">14</td><td class="ctr1">0</td><td class="ctr2">4</td></tr></tfoot><tbody><tr><td id="a0"><a href="KotlinGeneratedFilter.java.html#L34" class="el_method">filter(MethodNode, IFilterContext, IFilterOutput)</a></td><td class="bar" id="b0"><img src="../../jacoco-resources/greenbar.gif" width="120" height="10" title="22" alt="22"/></td><td class="ctr2" id="c0">100%</td><td class="bar" id="d0"><img src="../../jacoco-resources/greenbar.gif" width="120" height="10" title="6" alt="6"/></td><td class="ctr2" id="e0">100%</td><td class="ctr1" id="f0">0</td><td class="ctr2" id="g0">4</td><td class="ctr1" id="h0">0</td><td class="ctr2" id="i0">8</td><td class="ctr1" id="j0">0</td><td class="ctr2" id="k0">1</td></tr><tr><td id="a1"><a href="KotlinGeneratedFilter.java.html#L53" class="el_method">hasLineNumber(MethodNode)</a></td><td class="bar" id="b1"><img src="../../jacoco-resources/greenbar.gif" width="109" height="10" title="20" alt="20"/></td><td class="ctr2" id="c1">100%</td><td class="bar" id="d1"><img src="../../jacoco-resources/greenbar.gif" width="80" height="10" title="4" alt="4"/></td><td class="ctr2" id="e1">100%</td><td class="ctr1" id="f1">0</td><td class="ctr2" id="g1">3</td><td class="ctr1" id="h1">0</td><td class="ctr2" id="i1">4</td><td class="ctr1" id="j1">0</td><td class="ctr2" id="k1">1</td></tr><tr><td id="a2"><a href="KotlinGeneratedFilter.java.html#L28" class="el_method">isKotlinClass(IFilterContext)</a></td><td class="bar" id="b2"><img src="../../jacoco-resources/greenbar.gif" width="27" height="10" title="5" alt="5"/></td><td class="ctr2" id="c2">100%</td><td class="bar" id="d2"/><td class="ctr2" id="e2">n/a</td><td class="ctr1" id="f2">0</td><td class="ctr2" id="g2">1</td><td class="ctr1" id="h2">0</td><td class="ctr2" id="i2">1</td><td class="ctr1" id="j2">0</td><td class="ctr2" id="k2">1</td></tr><tr><td id="a3"><a href="KotlinGeneratedFilter.java.html#L23" class="el_method">KotlinGeneratedFilter()</a></td><td class="bar" id="b3"><img src="../../jacoco-resources/greenbar.gif" width="16" height="10" title="3" alt="3"/></td><td class="ctr2" id="c3">100%</td><td class="bar" id="d3"/><td class="ctr2" id="e3">n/a</td><td class="ctr1" id="f3">0</td><td class="ctr2" id="g3">1</td><td class="ctr1" id="h3">0</td><td class="ctr2" id="i3">1</td><td class="ctr1" id="j3">0</td><td class="ctr2" id="k3">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.12.202403270442</span>Code Coverage Report for JaCoCo 0.8.12-SNAPSHOT</div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/trunk/coverage/org.jacoco.core/org.jacoco.core.internal.analysis.filter/KotlinGeneratedFilter.java.html b/jacoco/trunk/coverage/org.jacoco.core/org.jacoco.core.internal.analysis.filter/KotlinGeneratedFilter.java.html
    new file mode 100644
    index 00000000000..6480bd9e4c3
    --- /dev/null
    +++ b/jacoco/trunk/coverage/org.jacoco.core/org.jacoco.core.internal.analysis.filter/KotlinGeneratedFilter.java.html
    @@ -0,0 +1,62 @@
    +<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="en"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../../jacoco-resources/report.gif" type="image/gif"/><title>KotlinGeneratedFilter.java</title><link rel="stylesheet" href="../../jacoco-resources/prettify.css" type="text/css"/><script type="text/javascript" src="../../jacoco-resources/prettify.js"></script></head><body onload="window['PR_TAB_WIDTH']=4;prettyPrint()"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../../index.html" class="el_report">JaCoCo</a> &gt; <a href="../index.html" class="el_bundle">org.jacoco.core</a> &gt; <a href="index.source.html" class="el_package">org.jacoco.core.internal.analysis.filter</a> &gt; <span class="el_source">KotlinGeneratedFilter.java</span></div><h1>KotlinGeneratedFilter.java</h1><pre class="source lang-java linenums">/*******************************************************************************
    + * Copyright (c) 2009, 2024 Mountainminds GmbH &amp; Co. KG and Contributors
    + * This program and the accompanying materials are made available under
    + * the terms of the Eclipse Public License 2.0 which is available at
    + * http://www.eclipse.org/legal/epl-2.0
    + *
    + * SPDX-License-Identifier: EPL-2.0
    + *
    + * Contributors:
    + *    Nikolay Krasko - initial API and implementation
    + *
    + *******************************************************************************/
    +package org.jacoco.core.internal.analysis.filter;
    +
    +import org.objectweb.asm.tree.AbstractInsnNode;
    +import org.objectweb.asm.tree.MethodNode;
    +
    +/**
    + * Filters methods generated by the Kotlin compiler. Kotlin classes are
    + * identified by the &lt;code&gt;@kotlin.Metadata&lt;/code&gt; annotations. In such classes
    + * generated methods do not have line numbers.
    + */
    +<span class="fc" id="L23">public class KotlinGeneratedFilter implements IFilter {</span>
    +
    +	static final String KOTLIN_METADATA_DESC = &quot;Lkotlin/Metadata;&quot;;
    +
    +	static boolean isKotlinClass(final IFilterContext context) {
    +<span class="fc" id="L28">		return context.getClassAnnotations().contains(KOTLIN_METADATA_DESC);</span>
    +	}
    +
    +	public void filter(final MethodNode methodNode,
    +			final IFilterContext context, final IFilterOutput output) {
    +
    +<span class="fc bfc" id="L34" title="All 2 branches covered.">		if (context.getSourceFileName() == null) {</span>
    +			// probably full debug information is missing
    +			// disabled filtering as all methods might be erroneously skipped
    +<span class="fc" id="L37">			return;</span>
    +		}
    +
    +<span class="fc bfc" id="L40" title="All 2 branches covered.">		if (!isKotlinClass(context)) {</span>
    +<span class="fc" id="L41">			return;</span>
    +		}
    +
    +<span class="fc bfc" id="L44" title="All 2 branches covered.">		if (hasLineNumber(methodNode)) {</span>
    +<span class="fc" id="L45">			return;</span>
    +		}
    +
    +<span class="fc" id="L48">		output.ignore(methodNode.instructions.getFirst(),</span>
    +				methodNode.instructions.getLast());
    +<span class="fc" id="L50">	}</span>
    +
    +	private boolean hasLineNumber(final MethodNode methodNode) {
    +<span class="fc bfc" id="L53" title="All 2 branches covered.">		for (final AbstractInsnNode i : methodNode.instructions) {</span>
    +<span class="fc bfc" id="L54" title="All 2 branches covered.">			if (AbstractInsnNode.LINE == i.getType()) {</span>
    +<span class="fc" id="L55">				return true;</span>
    +			}
    +		}
    +<span class="fc" id="L58">		return false;</span>
    +	}
    +
    +}
    +</pre><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.12.202403270442</span>Code Coverage Report for JaCoCo 0.8.12-SNAPSHOT</div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/trunk/coverage/org.jacoco.core/org.jacoco.core.internal.analysis.filter/KotlinInlineFilter.html b/jacoco/trunk/coverage/org.jacoco.core/org.jacoco.core.internal.analysis.filter/KotlinInlineFilter.html
    new file mode 100644
    index 00000000000..c9b7ae19707
    --- /dev/null
    +++ b/jacoco/trunk/coverage/org.jacoco.core/org.jacoco.core.internal.analysis.filter/KotlinInlineFilter.html
    @@ -0,0 +1 @@
    +<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="en"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../../jacoco-resources/report.gif" type="image/gif"/><title>KotlinInlineFilter</title><script type="text/javascript" src="../../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../../index.html" class="el_report">JaCoCo</a> &gt; <a href="../index.html" class="el_bundle">org.jacoco.core</a> &gt; <a href="index.html" class="el_package">org.jacoco.core.internal.analysis.filter</a> &gt; <span class="el_class">KotlinInlineFilter</span></div><h1>KotlinInlineFilter</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">6 of 233</td><td class="ctr2">97%</td><td class="bar">0 of 32</td><td class="ctr2">100%</td><td class="ctr1">0</td><td class="ctr2">21</td><td class="ctr1">2</td><td class="ctr2">56</td><td class="ctr1">0</td><td class="ctr2">5</td></tr></tfoot><tbody><tr><td id="a2"><a href="KotlinInlineFilter.java.html#L63" class="el_method">getFirstGeneratedLineNumber(String, String)</a></td><td class="bar" id="b0"><img src="../../jacoco-resources/redbar.gif" width="4" height="10" title="6" alt="6"/><img src="../../jacoco-resources/greenbar.gif" width="115" height="10" title="144" alt="144"/></td><td class="ctr2" id="c4">96%</td><td class="bar" id="d0"><img src="../../jacoco-resources/greenbar.gif" width="120" height="10" title="18" alt="18"/></td><td class="ctr2" id="e0">100%</td><td class="ctr1" id="f0">0</td><td class="ctr2" id="g0">10</td><td class="ctr1" id="h0">2</td><td class="ctr2" id="i0">35</td><td class="ctr1" id="j0">0</td><td class="ctr2" id="k0">1</td></tr><tr><td id="a1"><a href="KotlinInlineFilter.java.html#L35" class="el_method">filter(MethodNode, IFilterContext, IFilterOutput)</a></td><td class="bar" id="b1"><img src="../../jacoco-resources/greenbar.gif" width="40" height="10" title="50" alt="50"/></td><td class="ctr2" id="c0">100%</td><td class="bar" id="d1"><img src="../../jacoco-resources/greenbar.gif" width="80" height="10" title="12" alt="12"/></td><td class="ctr2" id="e1">100%</td><td class="ctr1" id="f1">0</td><td class="ctr2" id="g1">7</td><td class="ctr1" id="h1">0</td><td class="ctr2" id="i1">13</td><td class="ctr1" id="j1">0</td><td class="ctr2" id="k1">1</td></tr><tr><td id="a0"><a href="KotlinInlineFilter.java.html#L124" class="el_method">expectLine(BufferedReader, String)</a></td><td class="bar" id="b2"><img src="../../jacoco-resources/greenbar.gif" width="16" height="10" title="20" alt="20"/></td><td class="ctr2" id="c1">100%</td><td class="bar" id="d2"><img src="../../jacoco-resources/greenbar.gif" width="13" height="10" title="2" alt="2"/></td><td class="ctr2" id="e2">100%</td><td class="ctr1" id="f2">0</td><td class="ctr2" id="g2">2</td><td class="ctr1" id="h2">0</td><td class="ctr2" id="i2">4</td><td class="ctr1" id="j2">0</td><td class="ctr2" id="k2">1</td></tr><tr><td id="a4"><a href="KotlinInlineFilter.java.html#L130" class="el_method">static {...}</a></td><td class="bar" id="b3"><img src="../../jacoco-resources/greenbar.gif" width="5" height="10" title="7" alt="7"/></td><td class="ctr2" id="c2">100%</td><td class="bar" id="d3"/><td class="ctr2" id="e3">n/a</td><td class="ctr1" id="f3">0</td><td class="ctr2" id="g3">1</td><td class="ctr1" id="h3">0</td><td class="ctr2" id="i3">2</td><td class="ctr1" id="j3">0</td><td class="ctr2" id="k3">1</td></tr><tr><td id="a3"><a href="KotlinInlineFilter.java.html#L29" class="el_method">KotlinInlineFilter()</a></td><td class="bar" id="b4"><img src="../../jacoco-resources/greenbar.gif" width="4" height="10" title="6" alt="6"/></td><td class="ctr2" id="c3">100%</td><td class="bar" id="d4"/><td class="ctr2" id="e4">n/a</td><td class="ctr1" id="f4">0</td><td class="ctr2" id="g4">1</td><td class="ctr1" id="h4">0</td><td class="ctr2" id="i4">2</td><td class="ctr1" id="j4">0</td><td class="ctr2" id="k4">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.12.202403270442</span>Code Coverage Report for JaCoCo 0.8.12-SNAPSHOT</div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/trunk/coverage/org.jacoco.core/org.jacoco.core.internal.analysis.filter/KotlinInlineFilter.java.html b/jacoco/trunk/coverage/org.jacoco.core/org.jacoco.core.internal.analysis.filter/KotlinInlineFilter.java.html
    new file mode 100644
    index 00000000000..d3d7e49b268
    --- /dev/null
    +++ b/jacoco/trunk/coverage/org.jacoco.core/org.jacoco.core.internal.analysis.filter/KotlinInlineFilter.java.html
    @@ -0,0 +1,144 @@
    +<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="en"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../../jacoco-resources/report.gif" type="image/gif"/><title>KotlinInlineFilter.java</title><link rel="stylesheet" href="../../jacoco-resources/prettify.css" type="text/css"/><script type="text/javascript" src="../../jacoco-resources/prettify.js"></script></head><body onload="window['PR_TAB_WIDTH']=4;prettyPrint()"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../../index.html" class="el_report">JaCoCo</a> &gt; <a href="../index.html" class="el_bundle">org.jacoco.core</a> &gt; <a href="index.source.html" class="el_package">org.jacoco.core.internal.analysis.filter</a> &gt; <span class="el_source">KotlinInlineFilter.java</span></div><h1>KotlinInlineFilter.java</h1><pre class="source lang-java linenums">/*******************************************************************************
    + * Copyright (c) 2009, 2024 Mountainminds GmbH &amp; Co. KG and Contributors
    + * This program and the accompanying materials are made available under
    + * the terms of the Eclipse Public License 2.0 which is available at
    + * http://www.eclipse.org/legal/epl-2.0
    + *
    + * SPDX-License-Identifier: EPL-2.0
    + *
    + * Contributors:
    + *    Evgeny Mandrikov - initial API and implementation
    + *
    + *******************************************************************************/
    +package org.jacoco.core.internal.analysis.filter;
    +
    +import java.io.BufferedReader;
    +import java.io.IOException;
    +import java.io.StringReader;
    +import java.util.BitSet;
    +import java.util.regex.Matcher;
    +import java.util.regex.Pattern;
    +
    +import org.objectweb.asm.tree.AbstractInsnNode;
    +import org.objectweb.asm.tree.LineNumberNode;
    +import org.objectweb.asm.tree.MethodNode;
    +
    +/**
    + * Filters out instructions that were inlined by Kotlin compiler.
    + */
    +<span class="fc" id="L29">public final class KotlinInlineFilter implements IFilter {</span>
    +
    +<span class="fc" id="L31">	private int firstGeneratedLineNumber = -1;</span>
    +
    +	public void filter(final MethodNode methodNode,
    +			final IFilterContext context, final IFilterOutput output) {
    +<span class="fc bfc" id="L35" title="All 2 branches covered.">		if (context.getSourceDebugExtension() == null) {</span>
    +<span class="fc" id="L36">			return;</span>
    +		}
    +
    +<span class="fc bfc" id="L39" title="All 2 branches covered.">		if (!KotlinGeneratedFilter.isKotlinClass(context)) {</span>
    +<span class="fc" id="L40">			return;</span>
    +		}
    +
    +<span class="fc bfc" id="L43" title="All 2 branches covered.">		if (firstGeneratedLineNumber == -1) {</span>
    +<span class="fc" id="L44">			firstGeneratedLineNumber = getFirstGeneratedLineNumber(</span>
    +					context.getSourceFileName(),
    +					context.getSourceDebugExtension());
    +		}
    +
    +<span class="fc" id="L49">		int line = 0;</span>
    +<span class="fc bfc" id="L50" title="All 2 branches covered.">		for (final AbstractInsnNode i : methodNode.instructions) {</span>
    +<span class="fc bfc" id="L51" title="All 2 branches covered.">			if (AbstractInsnNode.LINE == i.getType()) {</span>
    +<span class="fc" id="L52">				line = ((LineNumberNode) i).line;</span>
    +			}
    +<span class="fc bfc" id="L54" title="All 2 branches covered.">			if (line &gt;= firstGeneratedLineNumber) {</span>
    +<span class="fc" id="L55">				output.ignore(i, i);</span>
    +			}
    +		}
    +<span class="fc" id="L58">	}</span>
    +
    +	private static int getFirstGeneratedLineNumber(final String sourceFileName,
    +			final String smap) {
    +		try {
    +<span class="fc" id="L63">			final BufferedReader br = new BufferedReader(</span>
    +					new StringReader(smap));
    +<span class="fc" id="L65">			expectLine(br, &quot;SMAP&quot;);</span>
    +			// OutputFileName
    +<span class="fc" id="L67">			expectLine(br, sourceFileName);</span>
    +			// DefaultStratumId
    +<span class="fc" id="L69">			expectLine(br, &quot;Kotlin&quot;);</span>
    +			// StratumSection
    +<span class="fc" id="L71">			expectLine(br, &quot;*S Kotlin&quot;);</span>
    +			// FileSection
    +<span class="fc" id="L73">			expectLine(br, &quot;*F&quot;);</span>
    +<span class="fc" id="L74">			final BitSet sourceFileIds = new BitSet();</span>
    +			String line;
    +<span class="fc bfc" id="L76" title="All 2 branches covered.">			while (!&quot;*L&quot;.equals(line = br.readLine())) {</span>
    +				// AbsoluteFileName
    +<span class="fc" id="L78">				br.readLine();</span>
    +
    +<span class="fc" id="L80">				final Matcher m = FILE_INFO_PATTERN.matcher(line);</span>
    +<span class="fc bfc" id="L81" title="All 2 branches covered.">				if (!m.matches()) {</span>
    +<span class="fc" id="L82">					throw new IllegalStateException(</span>
    +							&quot;Unexpected SMAP line: &quot; + line);
    +				}
    +<span class="fc" id="L85">				final String fileName = m.group(2);</span>
    +<span class="fc bfc" id="L86" title="All 2 branches covered.">				if (fileName.equals(sourceFileName)) {</span>
    +<span class="fc" id="L87">					sourceFileIds.set(Integer.parseInt(m.group(1)));</span>
    +				}
    +<span class="fc" id="L89">			}</span>
    +<span class="fc bfc" id="L90" title="All 2 branches covered.">			if (sourceFileIds.isEmpty()) {</span>
    +<span class="fc" id="L91">				throw new IllegalStateException(&quot;Unexpected SMAP FileSection&quot;);</span>
    +			}
    +			// LineSection
    +<span class="fc" id="L94">			int min = Integer.MAX_VALUE;</span>
    +			while (true) {
    +<span class="fc" id="L96">				line = br.readLine();</span>
    +<span class="fc bfc" id="L97" title="All 4 branches covered.">				if (line.equals(&quot;*E&quot;) || line.equals(&quot;*S KotlinDebug&quot;)) {</span>
    +<span class="fc" id="L98">					break;</span>
    +				}
    +<span class="fc" id="L100">				final Matcher m = LINE_INFO_PATTERN.matcher(line);</span>
    +<span class="fc bfc" id="L101" title="All 2 branches covered.">				if (!m.matches()) {</span>
    +<span class="fc" id="L102">					throw new IllegalStateException(</span>
    +							&quot;Unexpected SMAP line: &quot; + line);
    +				}
    +<span class="fc" id="L105">				final int inputStartLine = Integer.parseInt(m.group(1));</span>
    +<span class="fc" id="L106">				final int lineFileID = Integer</span>
    +						.parseInt(m.group(2).substring(1));
    +<span class="fc" id="L108">				final int outputStartLine = Integer.parseInt(m.group(4));</span>
    +<span class="fc bfc" id="L109" title="All 4 branches covered.">				if (sourceFileIds.get(lineFileID)</span>
    +						&amp;&amp; inputStartLine == outputStartLine) {
    +<span class="fc" id="L111">					continue;</span>
    +				}
    +<span class="fc" id="L113">				min = Math.min(outputStartLine, min);</span>
    +<span class="fc" id="L114">			}</span>
    +<span class="fc" id="L115">			return min;</span>
    +<span class="nc" id="L116">		} catch (final IOException e) {</span>
    +			// Must not happen with StringReader
    +<span class="nc" id="L118">			throw new AssertionError(e);</span>
    +		}
    +	}
    +
    +	private static void expectLine(final BufferedReader br,
    +			final String expected) throws IOException {
    +<span class="fc" id="L124">		final String line = br.readLine();</span>
    +<span class="fc bfc" id="L125" title="All 2 branches covered.">		if (!expected.equals(line)) {</span>
    +<span class="fc" id="L126">			throw new IllegalStateException(&quot;Unexpected SMAP line: &quot; + line);</span>
    +		}
    +<span class="fc" id="L128">	}</span>
    +
    +<span class="fc" id="L130">	private static final Pattern LINE_INFO_PATTERN = Pattern.compile(&quot;&quot; //</span>
    +			+ &quot;([0-9]++)&quot; // InputStartLine
    +			+ &quot;(#[0-9]++)?+&quot; // LineFileID
    +			+ &quot;(,[0-9]++)?+&quot; // RepeatCount
    +			+ &quot;:([0-9]++)&quot; // OutputStartLine
    +			+ &quot;(,[0-9]++)?+&quot; // OutputLineIncrement
    +	);
    +
    +<span class="fc" id="L138">	private static final Pattern FILE_INFO_PATTERN = Pattern.compile(&quot;&quot; //</span>
    +			+ &quot;\\+ ([0-9]++)&quot; // FileID
    +			+ &quot; (.++)&quot; // FileName
    +	);
    +
    +}
    +</pre><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.12.202403270442</span>Code Coverage Report for JaCoCo 0.8.12-SNAPSHOT</div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/trunk/coverage/org.jacoco.core/org.jacoco.core.internal.analysis.filter/KotlinLateinitFilter$Matcher.html b/jacoco/trunk/coverage/org.jacoco.core/org.jacoco.core.internal.analysis.filter/KotlinLateinitFilter$Matcher.html
    new file mode 100644
    index 00000000000..445d6e8c64a
    --- /dev/null
    +++ b/jacoco/trunk/coverage/org.jacoco.core/org.jacoco.core.internal.analysis.filter/KotlinLateinitFilter$Matcher.html
    @@ -0,0 +1 @@
    +<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="en"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../../jacoco-resources/report.gif" type="image/gif"/><title>KotlinLateinitFilter.Matcher</title><script type="text/javascript" src="../../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../../index.html" class="el_report">JaCoCo</a> &gt; <a href="../index.html" class="el_bundle">org.jacoco.core</a> &gt; <a href="index.html" class="el_package">org.jacoco.core.internal.analysis.filter</a> &gt; <span class="el_class">KotlinLateinitFilter.Matcher</span></div><h1>KotlinLateinitFilter.Matcher</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">1 of 130</td><td class="ctr2">99%</td><td class="bar">3 of 28</td><td class="ctr2">89%</td><td class="ctr1">3</td><td class="ctr2">16</td><td class="ctr1">1</td><td class="ctr2">33</td><td class="ctr1">0</td><td class="ctr2">2</td></tr></tfoot><tbody><tr><td id="a1"><a href="KotlinLateinitFilter.java.html#L72" class="el_method">nextIsIntrinsic()</a></td><td class="bar" id="b0"><img src="../../jacoco-resources/redbar.gif" width="1" height="10" title="1" alt="1"/><img src="../../jacoco-resources/greenbar.gif" width="36" height="10" title="30" alt="30"/></td><td class="ctr2" id="c1">96%</td><td class="bar" id="d1"><img src="../../jacoco-resources/redbar.gif" width="5" height="10" title="1" alt="1"/><img src="../../jacoco-resources/greenbar.gif" width="27" height="10" title="5" alt="5"/></td><td class="ctr2" id="e1">83%</td><td class="ctr1" id="f1">1</td><td class="ctr2" id="g1">4</td><td class="ctr1" id="h0">1</td><td class="ctr2" id="i1">10</td><td class="ctr1" id="j0">0</td><td class="ctr2" id="k0">1</td></tr><tr><td id="a0"><a href="KotlinLateinitFilter.java.html#L38" class="el_method">match(AbstractInsnNode, IFilterOutput)</a></td><td class="bar" id="b1"><img src="../../jacoco-resources/greenbar.gif" width="120" height="10" title="99" alt="99"/></td><td class="ctr2" id="c0">100%</td><td class="bar" id="d0"><img src="../../jacoco-resources/redbar.gif" width="10" height="10" title="2" alt="2"/><img src="../../jacoco-resources/greenbar.gif" width="109" height="10" title="20" alt="20"/></td><td class="ctr2" id="e0">90%</td><td class="ctr1" id="f0">2</td><td class="ctr2" id="g0">12</td><td class="ctr1" id="h1">0</td><td class="ctr2" id="i0">23</td><td class="ctr1" id="j1">0</td><td class="ctr2" id="k1">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.12.202403270442</span>Code Coverage Report for JaCoCo 0.8.12-SNAPSHOT</div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/trunk/coverage/org.jacoco.core/org.jacoco.core.internal.analysis.filter/KotlinLateinitFilter.html b/jacoco/trunk/coverage/org.jacoco.core/org.jacoco.core.internal.analysis.filter/KotlinLateinitFilter.html
    new file mode 100644
    index 00000000000..7755d7c19d3
    --- /dev/null
    +++ b/jacoco/trunk/coverage/org.jacoco.core/org.jacoco.core.internal.analysis.filter/KotlinLateinitFilter.html
    @@ -0,0 +1 @@
    +<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="en"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../../jacoco-resources/report.gif" type="image/gif"/><title>KotlinLateinitFilter</title><script type="text/javascript" src="../../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../../index.html" class="el_report">JaCoCo</a> &gt; <a href="../index.html" class="el_bundle">org.jacoco.core</a> &gt; <a href="index.html" class="el_package">org.jacoco.core.internal.analysis.filter</a> &gt; <span class="el_class">KotlinLateinitFilter</span></div><h1>KotlinLateinitFilter</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">0 of 25</td><td class="ctr2">100%</td><td class="bar">0 of 2</td><td class="ctr2">100%</td><td class="ctr1">0</td><td class="ctr2">3</td><td class="ctr1">0</td><td class="ctr2">6</td><td class="ctr1">0</td><td class="ctr2">2</td></tr></tfoot><tbody><tr><td id="a0"><a href="KotlinLateinitFilter.java.html#L29" class="el_method">filter(MethodNode, IFilterContext, IFilterOutput)</a></td><td class="bar" id="b0"><img src="../../jacoco-resources/greenbar.gif" width="120" height="10" title="22" alt="22"/></td><td class="ctr2" id="c0">100%</td><td class="bar" id="d0"><img src="../../jacoco-resources/greenbar.gif" width="120" height="10" title="2" alt="2"/></td><td class="ctr2" id="e0">100%</td><td class="ctr1" id="f0">0</td><td class="ctr2" id="g0">2</td><td class="ctr1" id="h0">0</td><td class="ctr2" id="i0">4</td><td class="ctr1" id="j0">0</td><td class="ctr2" id="k0">1</td></tr><tr><td id="a1"><a href="KotlinLateinitFilter.java.html#L25" class="el_method">KotlinLateinitFilter()</a></td><td class="bar" id="b1"><img src="../../jacoco-resources/greenbar.gif" width="16" height="10" title="3" alt="3"/></td><td class="ctr2" id="c1">100%</td><td class="bar" id="d1"/><td class="ctr2" id="e1">n/a</td><td class="ctr1" id="f1">0</td><td class="ctr2" id="g1">1</td><td class="ctr1" id="h1">0</td><td class="ctr2" id="i1">2</td><td class="ctr1" id="j1">0</td><td class="ctr2" id="k1">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.12.202403270442</span>Code Coverage Report for JaCoCo 0.8.12-SNAPSHOT</div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/trunk/coverage/org.jacoco.core/org.jacoco.core.internal.analysis.filter/KotlinLateinitFilter.java.html b/jacoco/trunk/coverage/org.jacoco.core/org.jacoco.core.internal.analysis.filter/KotlinLateinitFilter.java.html
    new file mode 100644
    index 00000000000..aaf009066bc
    --- /dev/null
    +++ b/jacoco/trunk/coverage/org.jacoco.core/org.jacoco.core.internal.analysis.filter/KotlinLateinitFilter.java.html
    @@ -0,0 +1,88 @@
    +<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="en"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../../jacoco-resources/report.gif" type="image/gif"/><title>KotlinLateinitFilter.java</title><link rel="stylesheet" href="../../jacoco-resources/prettify.css" type="text/css"/><script type="text/javascript" src="../../jacoco-resources/prettify.js"></script></head><body onload="window['PR_TAB_WIDTH']=4;prettyPrint()"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../../index.html" class="el_report">JaCoCo</a> &gt; <a href="../index.html" class="el_bundle">org.jacoco.core</a> &gt; <a href="index.source.html" class="el_package">org.jacoco.core.internal.analysis.filter</a> &gt; <span class="el_source">KotlinLateinitFilter.java</span></div><h1>KotlinLateinitFilter.java</h1><pre class="source lang-java linenums">/*******************************************************************************
    + * Copyright (c) 2009, 2024 Mountainminds GmbH &amp; Co. KG and Contributors
    + * This program and the accompanying materials are made available under
    + * the terms of the Eclipse Public License 2.0 which is available at
    + * http://www.eclipse.org/legal/epl-2.0
    + *
    + * SPDX-License-Identifier: EPL-2.0
    + *
    + * Contributors:
    + *    Fabian Mastenbroek - initial API and implementation
    + *
    + *******************************************************************************/
    +package org.jacoco.core.internal.analysis.filter;
    +
    +import org.objectweb.asm.Opcodes;
    +import org.objectweb.asm.tree.AbstractInsnNode;
    +import org.objectweb.asm.tree.JumpInsnNode;
    +import org.objectweb.asm.tree.LabelNode;
    +import org.objectweb.asm.tree.MethodNode;
    +
    +/**
    + * Filters branch in bytecode that Kotlin compiler generates for reading from
    + * &lt;code&gt;lateinit&lt;/code&gt; properties.
    + */
    +<span class="fc" id="L25">public class KotlinLateinitFilter implements IFilter {</span>
    +
    +	public void filter(final MethodNode methodNode,
    +			final IFilterContext context, final IFilterOutput output) {
    +<span class="fc" id="L29">		final Matcher matcher = new Matcher();</span>
    +<span class="fc bfc" id="L30" title="All 2 branches covered.">		for (final AbstractInsnNode node : methodNode.instructions) {</span>
    +<span class="fc" id="L31">			matcher.match(node, output);</span>
    +		}
    +<span class="fc" id="L33">	}</span>
    +
    +<span class="fc" id="L35">	private static class Matcher extends AbstractMatcher {</span>
    +		public void match(final AbstractInsnNode start,
    +				final IFilterOutput output) {
    +<span class="fc bfc" id="L38" title="All 2 branches covered.">			if (Opcodes.IFNONNULL == start.getOpcode()) {</span>
    +<span class="fc" id="L39">				cursor = start;</span>
    +<span class="fc" id="L40">				nextIsIntrinsic();</span>
    +<span class="fc" id="L41">				final LabelNode label = ((JumpInsnNode) start).label;</span>
    +<span class="fc bfc" id="L42" title="All 4 branches covered.">				if (cursor != null &amp;&amp; cursor.getNext() == label) {</span>
    +					// Kotlin 1.2
    +<span class="fc" id="L44">					output.ignore(start, cursor);</span>
    +<span class="fc" id="L45">					return;</span>
    +				}
    +<span class="fc" id="L47">				next();</span>
    +<span class="fc bfc" id="L48" title="All 4 branches covered.">				if (cursor != null &amp;&amp; cursor.getNext() == label) {</span>
    +					// Kotlin 1.6.20
    +<span class="fc" id="L50">					output.ignore(start, cursor);</span>
    +<span class="fc" id="L51">					return;</span>
    +				}
    +<span class="fc" id="L53">				next();</span>
    +<span class="pc bpc" id="L54" title="1 of 4 branches missed.">				if (cursor != null &amp;&amp; cursor.getNext() == label) {</span>
    +					// Kotlin 1.5.0 or 1.5.30
    +<span class="fc" id="L56">					output.ignore(start, cursor);</span>
    +				}
    +<span class="fc bfc" id="L58" title="All 2 branches covered.">			} else if (Opcodes.IFNULL == start.getOpcode()) {</span>
    +<span class="fc" id="L59">				cursor = ((JumpInsnNode) start).label;</span>
    +<span class="fc" id="L60">				nextIsIntrinsic();</span>
    +<span class="fc" id="L61">				next();</span>
    +<span class="fc" id="L62">				next();</span>
    +<span class="pc bpc" id="L63" title="1 of 6 branches missed.">				if (cursor != null &amp;&amp; (Opcodes.ARETURN == cursor.getOpcode()</span>
    +						|| Opcodes.ATHROW == cursor.getOpcode())) {
    +<span class="fc" id="L65">					output.ignore(start, start);</span>
    +<span class="fc" id="L66">					output.ignore(((JumpInsnNode) start).label, cursor);</span>
    +				}
    +			}
    +<span class="fc" id="L69">		}</span>
    +
    +		private void nextIsIntrinsic() {
    +<span class="fc" id="L72">			next();</span>
    +<span class="pc bpc" id="L73" title="1 of 2 branches missed.">			if (cursor == null) {</span>
    +<span class="nc" id="L74">				return;</span>
    +<span class="fc bfc" id="L75" title="All 2 branches covered.">			} else if (Opcodes.POP == cursor.getOpcode()) {</span>
    +<span class="fc" id="L76">				nextIs(Opcodes.LDC);</span>
    +<span class="fc bfc" id="L77" title="All 2 branches covered.">			} else if (Opcodes.LDC != cursor.getOpcode()) {</span>
    +<span class="fc" id="L78">				cursor = null;</span>
    +<span class="fc" id="L79">				return;</span>
    +			}
    +<span class="fc" id="L81">			nextIsInvoke(Opcodes.INVOKESTATIC, &quot;kotlin/jvm/internal/Intrinsics&quot;,</span>
    +					&quot;throwUninitializedPropertyAccessException&quot;,
    +					&quot;(Ljava/lang/String;)V&quot;);
    +<span class="fc" id="L84">		}</span>
    +	}
    +
    +}
    +</pre><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.12.202403270442</span>Code Coverage Report for JaCoCo 0.8.12-SNAPSHOT</div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/trunk/coverage/org.jacoco.core/org.jacoco.core.internal.analysis.filter/KotlinNotNullOperatorFilter$Matcher.html b/jacoco/trunk/coverage/org.jacoco.core/org.jacoco.core.internal.analysis.filter/KotlinNotNullOperatorFilter$Matcher.html
    new file mode 100644
    index 00000000000..90176245dec
    --- /dev/null
    +++ b/jacoco/trunk/coverage/org.jacoco.core/org.jacoco.core.internal.analysis.filter/KotlinNotNullOperatorFilter$Matcher.html
    @@ -0,0 +1 @@
    +<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="en"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../../jacoco-resources/report.gif" type="image/gif"/><title>KotlinNotNullOperatorFilter.Matcher</title><script type="text/javascript" src="../../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../../index.html" class="el_report">JaCoCo</a> &gt; <a href="../index.html" class="el_bundle">org.jacoco.core</a> &gt; <a href="index.html" class="el_package">org.jacoco.core.internal.analysis.filter</a> &gt; <span class="el_class">KotlinNotNullOperatorFilter.Matcher</span></div><h1>KotlinNotNullOperatorFilter.Matcher</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">0 of 24</td><td class="ctr2">100%</td><td class="bar">0 of 4</td><td class="ctr2">100%</td><td class="ctr1">0</td><td class="ctr2">3</td><td class="ctr1">0</td><td class="ctr2">8</td><td class="ctr1">0</td><td class="ctr2">1</td></tr></tfoot><tbody><tr><td id="a0"><a href="KotlinNotNullOperatorFilter.java.html#L36" class="el_method">match(AbstractInsnNode, IFilterOutput)</a></td><td class="bar" id="b0"><img src="../../jacoco-resources/greenbar.gif" width="120" height="10" title="24" alt="24"/></td><td class="ctr2" id="c0">100%</td><td class="bar" id="d0"><img src="../../jacoco-resources/greenbar.gif" width="120" height="10" title="4" alt="4"/></td><td class="ctr2" id="e0">100%</td><td class="ctr1" id="f0">0</td><td class="ctr2" id="g0">3</td><td class="ctr1" id="h0">0</td><td class="ctr2" id="i0">8</td><td class="ctr1" id="j0">0</td><td class="ctr2" id="k0">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.12.202403270442</span>Code Coverage Report for JaCoCo 0.8.12-SNAPSHOT</div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/trunk/coverage/org.jacoco.core/org.jacoco.core.internal.analysis.filter/KotlinNotNullOperatorFilter.html b/jacoco/trunk/coverage/org.jacoco.core/org.jacoco.core.internal.analysis.filter/KotlinNotNullOperatorFilter.html
    new file mode 100644
    index 00000000000..87955caf4b0
    --- /dev/null
    +++ b/jacoco/trunk/coverage/org.jacoco.core/org.jacoco.core.internal.analysis.filter/KotlinNotNullOperatorFilter.html
    @@ -0,0 +1 @@
    +<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="en"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../../jacoco-resources/report.gif" type="image/gif"/><title>KotlinNotNullOperatorFilter</title><script type="text/javascript" src="../../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../../index.html" class="el_report">JaCoCo</a> &gt; <a href="../index.html" class="el_bundle">org.jacoco.core</a> &gt; <a href="index.html" class="el_package">org.jacoco.core.internal.analysis.filter</a> &gt; <span class="el_class">KotlinNotNullOperatorFilter</span></div><h1>KotlinNotNullOperatorFilter</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">0 of 25</td><td class="ctr2">100%</td><td class="bar">0 of 2</td><td class="ctr2">100%</td><td class="ctr1">0</td><td class="ctr2">3</td><td class="ctr1">0</td><td class="ctr2">6</td><td class="ctr1">0</td><td class="ctr2">2</td></tr></tfoot><tbody><tr><td id="a0"><a href="KotlinNotNullOperatorFilter.java.html#L27" class="el_method">filter(MethodNode, IFilterContext, IFilterOutput)</a></td><td class="bar" id="b0"><img src="../../jacoco-resources/greenbar.gif" width="120" height="10" title="22" alt="22"/></td><td class="ctr2" id="c0">100%</td><td class="bar" id="d0"><img src="../../jacoco-resources/greenbar.gif" width="120" height="10" title="2" alt="2"/></td><td class="ctr2" id="e0">100%</td><td class="ctr1" id="f0">0</td><td class="ctr2" id="g0">2</td><td class="ctr1" id="h0">0</td><td class="ctr2" id="i0">4</td><td class="ctr1" id="j0">0</td><td class="ctr2" id="k0">1</td></tr><tr><td id="a1"><a href="KotlinNotNullOperatorFilter.java.html#L23" class="el_method">KotlinNotNullOperatorFilter()</a></td><td class="bar" id="b1"><img src="../../jacoco-resources/greenbar.gif" width="16" height="10" title="3" alt="3"/></td><td class="ctr2" id="c1">100%</td><td class="bar" id="d1"/><td class="ctr2" id="e1">n/a</td><td class="ctr1" id="f1">0</td><td class="ctr2" id="g1">1</td><td class="ctr1" id="h1">0</td><td class="ctr2" id="i1">2</td><td class="ctr1" id="j1">0</td><td class="ctr2" id="k1">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.12.202403270442</span>Code Coverage Report for JaCoCo 0.8.12-SNAPSHOT</div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/trunk/coverage/org.jacoco.core/org.jacoco.core.internal.analysis.filter/KotlinNotNullOperatorFilter.java.html b/jacoco/trunk/coverage/org.jacoco.core/org.jacoco.core.internal.analysis.filter/KotlinNotNullOperatorFilter.java.html
    new file mode 100644
    index 00000000000..8a2af196801
    --- /dev/null
    +++ b/jacoco/trunk/coverage/org.jacoco.core/org.jacoco.core.internal.analysis.filter/KotlinNotNullOperatorFilter.java.html
    @@ -0,0 +1,50 @@
    +<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="en"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../../jacoco-resources/report.gif" type="image/gif"/><title>KotlinNotNullOperatorFilter.java</title><link rel="stylesheet" href="../../jacoco-resources/prettify.css" type="text/css"/><script type="text/javascript" src="../../jacoco-resources/prettify.js"></script></head><body onload="window['PR_TAB_WIDTH']=4;prettyPrint()"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../../index.html" class="el_report">JaCoCo</a> &gt; <a href="../index.html" class="el_bundle">org.jacoco.core</a> &gt; <a href="index.source.html" class="el_package">org.jacoco.core.internal.analysis.filter</a> &gt; <span class="el_source">KotlinNotNullOperatorFilter.java</span></div><h1>KotlinNotNullOperatorFilter.java</h1><pre class="source lang-java linenums">/*******************************************************************************
    + * Copyright (c) 2009, 2024 Mountainminds GmbH &amp; Co. KG and Contributors
    + * This program and the accompanying materials are made available under
    + * the terms of the Eclipse Public License 2.0 which is available at
    + * http://www.eclipse.org/legal/epl-2.0
    + *
    + * SPDX-License-Identifier: EPL-2.0
    + *
    + * Contributors:
    + *    Evgeny Mandrikov - initial API and implementation
    + *
    + *******************************************************************************/
    +package org.jacoco.core.internal.analysis.filter;
    +
    +import org.objectweb.asm.Opcodes;
    +import org.objectweb.asm.tree.AbstractInsnNode;
    +import org.objectweb.asm.tree.MethodNode;
    +
    +/**
    + * Filters branch in bytecode that Kotlin compiler generates for not-null
    + * assertion operator.
    + */
    +<span class="fc" id="L23">public final class KotlinNotNullOperatorFilter implements IFilter {</span>
    +
    +	public void filter(final MethodNode methodNode,
    +			final IFilterContext context, final IFilterOutput output) {
    +<span class="fc" id="L27">		final Matcher matcher = new Matcher();</span>
    +<span class="fc bfc" id="L28" title="All 2 branches covered.">		for (final AbstractInsnNode i : methodNode.instructions) {</span>
    +<span class="fc" id="L29">			matcher.match(i, output);</span>
    +		}
    +<span class="fc" id="L31">	}</span>
    +
    +<span class="fc" id="L33">	private static class Matcher extends AbstractMatcher {</span>
    +		public void match(final AbstractInsnNode start,
    +				final IFilterOutput output) {
    +<span class="fc bfc" id="L36" title="All 2 branches covered.">			if (Opcodes.IFNONNULL != start.getOpcode()) {</span>
    +<span class="fc" id="L37">				return;</span>
    +			}
    +<span class="fc" id="L39">			cursor = start;</span>
    +<span class="fc" id="L40">			nextIsInvoke(Opcodes.INVOKESTATIC, &quot;kotlin/jvm/internal/Intrinsics&quot;,</span>
    +					&quot;throwNpe&quot;, &quot;()V&quot;);
    +<span class="fc bfc" id="L42" title="All 2 branches covered.">			if (cursor == null) {</span>
    +<span class="fc" id="L43">				return;</span>
    +			}
    +<span class="fc" id="L45">			output.ignore(start, cursor);</span>
    +<span class="fc" id="L46">		}</span>
    +	}
    +
    +}
    +</pre><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.12.202403270442</span>Code Coverage Report for JaCoCo 0.8.12-SNAPSHOT</div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/trunk/coverage/org.jacoco.core/org.jacoco.core.internal.analysis.filter/KotlinUnsafeCastOperatorFilter$Matcher.html b/jacoco/trunk/coverage/org.jacoco.core/org.jacoco.core.internal.analysis.filter/KotlinUnsafeCastOperatorFilter$Matcher.html
    new file mode 100644
    index 00000000000..0a7fdd8a7a1
    --- /dev/null
    +++ b/jacoco/trunk/coverage/org.jacoco.core/org.jacoco.core.internal.analysis.filter/KotlinUnsafeCastOperatorFilter$Matcher.html
    @@ -0,0 +1 @@
    +<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="en"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../../jacoco-resources/report.gif" type="image/gif"/><title>KotlinUnsafeCastOperatorFilter.Matcher</title><script type="text/javascript" src="../../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../../index.html" class="el_report">JaCoCo</a> &gt; <a href="../index.html" class="el_bundle">org.jacoco.core</a> &gt; <a href="index.html" class="el_package">org.jacoco.core.internal.analysis.filter</a> &gt; <span class="el_class">KotlinUnsafeCastOperatorFilter.Matcher</span></div><h1>KotlinUnsafeCastOperatorFilter.Matcher</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">3 of 79</td><td class="ctr2">96%</td><td class="bar">5 of 16</td><td class="ctr2">68%</td><td class="ctr1">5</td><td class="ctr2">9</td><td class="ctr1">3</td><td class="ctr2">23</td><td class="ctr1">0</td><td class="ctr2">1</td></tr></tfoot><tbody><tr><td id="a0"><a href="KotlinUnsafeCastOperatorFilter.java.html#L44" class="el_method">match(String, AbstractInsnNode, IFilterOutput)</a></td><td class="bar" id="b0"><img src="../../jacoco-resources/redbar.gif" width="4" height="10" title="3" alt="3"/><img src="../../jacoco-resources/greenbar.gif" width="115" height="10" title="76" alt="76"/></td><td class="ctr2" id="c0">96%</td><td class="bar" id="d0"><img src="../../jacoco-resources/redbar.gif" width="37" height="10" title="5" alt="5"/><img src="../../jacoco-resources/greenbar.gif" width="82" height="10" title="11" alt="11"/></td><td class="ctr2" id="e0">68%</td><td class="ctr1" id="f0">5</td><td class="ctr2" id="g0">9</td><td class="ctr1" id="h0">3</td><td class="ctr2" id="i0">23</td><td class="ctr1" id="j0">0</td><td class="ctr2" id="k0">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.12.202403270442</span>Code Coverage Report for JaCoCo 0.8.12-SNAPSHOT</div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/trunk/coverage/org.jacoco.core/org.jacoco.core.internal.analysis.filter/KotlinUnsafeCastOperatorFilter.html b/jacoco/trunk/coverage/org.jacoco.core/org.jacoco.core.internal.analysis.filter/KotlinUnsafeCastOperatorFilter.html
    new file mode 100644
    index 00000000000..694921d2292
    --- /dev/null
    +++ b/jacoco/trunk/coverage/org.jacoco.core/org.jacoco.core.internal.analysis.filter/KotlinUnsafeCastOperatorFilter.html
    @@ -0,0 +1 @@
    +<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="en"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../../jacoco-resources/report.gif" type="image/gif"/><title>KotlinUnsafeCastOperatorFilter</title><script type="text/javascript" src="../../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../../index.html" class="el_report">JaCoCo</a> &gt; <a href="../index.html" class="el_bundle">org.jacoco.core</a> &gt; <a href="index.html" class="el_package">org.jacoco.core.internal.analysis.filter</a> &gt; <span class="el_class">KotlinUnsafeCastOperatorFilter</span></div><h1>KotlinUnsafeCastOperatorFilter</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">0 of 35</td><td class="ctr2">100%</td><td class="bar">0 of 4</td><td class="ctr2">100%</td><td class="ctr1">0</td><td class="ctr2">4</td><td class="ctr1">0</td><td class="ctr2">9</td><td class="ctr1">0</td><td class="ctr2">2</td></tr></tfoot><tbody><tr><td id="a0"><a href="KotlinUnsafeCastOperatorFilter.java.html#L29" class="el_method">filter(MethodNode, IFilterContext, IFilterOutput)</a></td><td class="bar" id="b0"><img src="../../jacoco-resources/greenbar.gif" width="120" height="10" title="32" alt="32"/></td><td class="ctr2" id="c0">100%</td><td class="bar" id="d0"><img src="../../jacoco-resources/greenbar.gif" width="120" height="10" title="4" alt="4"/></td><td class="ctr2" id="e0">100%</td><td class="ctr1" id="f0">0</td><td class="ctr2" id="g0">3</td><td class="ctr1" id="h0">0</td><td class="ctr2" id="i0">7</td><td class="ctr1" id="j0">0</td><td class="ctr2" id="k0">1</td></tr><tr><td id="a1"><a href="KotlinUnsafeCastOperatorFilter.java.html#L25" class="el_method">KotlinUnsafeCastOperatorFilter()</a></td><td class="bar" id="b1"><img src="../../jacoco-resources/greenbar.gif" width="11" height="10" title="3" alt="3"/></td><td class="ctr2" id="c1">100%</td><td class="bar" id="d1"/><td class="ctr2" id="e1">n/a</td><td class="ctr1" id="f1">0</td><td class="ctr2" id="g1">1</td><td class="ctr1" id="h1">0</td><td class="ctr2" id="i1">2</td><td class="ctr1" id="j1">0</td><td class="ctr2" id="k1">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.12.202403270442</span>Code Coverage Report for JaCoCo 0.8.12-SNAPSHOT</div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/trunk/coverage/org.jacoco.core/org.jacoco.core.internal.analysis.filter/KotlinUnsafeCastOperatorFilter.java.html b/jacoco/trunk/coverage/org.jacoco.core/org.jacoco.core.internal.analysis.filter/KotlinUnsafeCastOperatorFilter.java.html
    new file mode 100644
    index 00000000000..f91e1c4d2c3
    --- /dev/null
    +++ b/jacoco/trunk/coverage/org.jacoco.core/org.jacoco.core.internal.analysis.filter/KotlinUnsafeCastOperatorFilter.java.html
    @@ -0,0 +1,81 @@
    +<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="en"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../../jacoco-resources/report.gif" type="image/gif"/><title>KotlinUnsafeCastOperatorFilter.java</title><link rel="stylesheet" href="../../jacoco-resources/prettify.css" type="text/css"/><script type="text/javascript" src="../../jacoco-resources/prettify.js"></script></head><body onload="window['PR_TAB_WIDTH']=4;prettyPrint()"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../../index.html" class="el_report">JaCoCo</a> &gt; <a href="../index.html" class="el_bundle">org.jacoco.core</a> &gt; <a href="index.source.html" class="el_package">org.jacoco.core.internal.analysis.filter</a> &gt; <span class="el_source">KotlinUnsafeCastOperatorFilter.java</span></div><h1>KotlinUnsafeCastOperatorFilter.java</h1><pre class="source lang-java linenums">/*******************************************************************************
    + * Copyright (c) 2009, 2024 Mountainminds GmbH &amp; Co. KG and Contributors
    + * This program and the accompanying materials are made available under
    + * the terms of the Eclipse Public License 2.0 which is available at
    + * http://www.eclipse.org/legal/epl-2.0
    + *
    + * SPDX-License-Identifier: EPL-2.0
    + *
    + * Contributors:
    + *    Evgeny Mandrikov - initial API and implementation
    + *
    + *******************************************************************************/
    +package org.jacoco.core.internal.analysis.filter;
    +
    +import org.objectweb.asm.Opcodes;
    +import org.objectweb.asm.tree.AbstractInsnNode;
    +import org.objectweb.asm.tree.JumpInsnNode;
    +import org.objectweb.asm.tree.LdcInsnNode;
    +import org.objectweb.asm.tree.MethodNode;
    +
    +/**
    + * Filters branch in bytecode that Kotlin compiler generates for &quot;unsafe&quot; cast
    + * operator.
    + */
    +<span class="fc" id="L25">public final class KotlinUnsafeCastOperatorFilter implements IFilter {</span>
    +
    +	public void filter(final MethodNode methodNode,
    +			final IFilterContext context, final IFilterOutput output) {
    +<span class="fc bfc" id="L29" title="All 2 branches covered.">		if (!KotlinGeneratedFilter.isKotlinClass(context)) {</span>
    +<span class="fc" id="L30">			return;</span>
    +		}
    +<span class="fc" id="L32">		final Matcher matcher = new Matcher();</span>
    +<span class="fc bfc" id="L33" title="All 2 branches covered.">		for (final AbstractInsnNode i : methodNode.instructions) {</span>
    +<span class="fc" id="L34">			matcher.match(&quot;kotlin/TypeCastException&quot;, i, output);</span>
    +			// Since Kotlin 1.4.0:
    +<span class="fc" id="L36">			matcher.match(&quot;java/lang/NullPointerException&quot;, i, output);</span>
    +		}
    +<span class="fc" id="L38">	}</span>
    +
    +<span class="fc" id="L40">	private static class Matcher extends AbstractMatcher {</span>
    +		public void match(final String exceptionType,
    +				final AbstractInsnNode start, final IFilterOutput output) {
    +
    +<span class="fc bfc" id="L44" title="All 2 branches covered.">			if (Opcodes.IFNONNULL != start.getOpcode()) {</span>
    +<span class="fc" id="L45">				return;</span>
    +			}
    +<span class="fc" id="L47">			cursor = start;</span>
    +<span class="fc" id="L48">			final JumpInsnNode jumpInsnNode = (JumpInsnNode) cursor;</span>
    +<span class="fc" id="L49">			final AbstractInsnNode next = cursor.getNext();</span>
    +<span class="pc bpc" id="L50" title="1 of 4 branches missed.">			if (next != null &amp;&amp; next.getOpcode() == Opcodes.POP) {</span>
    +				// Since Kotlin 1.6.0 - see
    +				// https://github.com/JetBrains/kotlin/commit/041773fd2584bc279813361eb7fc11ae84c214fd
    +<span class="fc" id="L53">				next();</span>
    +			}
    +<span class="fc" id="L55">			nextIsType(Opcodes.NEW, exceptionType);</span>
    +<span class="fc" id="L56">			nextIs(Opcodes.DUP);</span>
    +<span class="fc" id="L57">			nextIs(Opcodes.LDC);</span>
    +<span class="fc bfc" id="L58" title="All 2 branches covered.">			if (cursor == null) {</span>
    +<span class="fc" id="L59">				return;</span>
    +			}
    +<span class="fc" id="L61">			final LdcInsnNode ldc = (LdcInsnNode) cursor;</span>
    +<span class="pc bpc" id="L62" title="2 of 4 branches missed.">			if (!(ldc.cst instanceof String &amp;&amp; ((String) ldc.cst)</span>
    +					.startsWith(&quot;null cannot be cast to non-null type&quot;))) {
    +<span class="nc" id="L64">				return;</span>
    +			}
    +<span class="fc" id="L66">			nextIsInvoke(Opcodes.INVOKESPECIAL, exceptionType, &quot;&lt;init&gt;&quot;,</span>
    +					&quot;(Ljava/lang/String;)V&quot;);
    +<span class="fc" id="L68">			nextIs(Opcodes.ATHROW);</span>
    +<span class="pc bpc" id="L69" title="1 of 2 branches missed.">			if (cursor == null) {</span>
    +<span class="nc" id="L70">				return;</span>
    +			}
    +<span class="pc bpc" id="L72" title="1 of 2 branches missed.">			if (cursor.getNext() != jumpInsnNode.label) {</span>
    +<span class="nc" id="L73">				return;</span>
    +			}
    +
    +<span class="fc" id="L76">			output.ignore(start, cursor);</span>
    +<span class="fc" id="L77">		}</span>
    +	}
    +
    +}
    +</pre><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.12.202403270442</span>Code Coverage Report for JaCoCo 0.8.12-SNAPSHOT</div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/trunk/coverage/org.jacoco.core/org.jacoco.core.internal.analysis.filter/KotlinWhenFilter$Matcher.html b/jacoco/trunk/coverage/org.jacoco.core/org.jacoco.core.internal.analysis.filter/KotlinWhenFilter$Matcher.html
    new file mode 100644
    index 00000000000..21d16c7c537
    --- /dev/null
    +++ b/jacoco/trunk/coverage/org.jacoco.core/org.jacoco.core.internal.analysis.filter/KotlinWhenFilter$Matcher.html
    @@ -0,0 +1 @@
    +<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="en"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../../jacoco-resources/report.gif" type="image/gif"/><title>KotlinWhenFilter.Matcher</title><script type="text/javascript" src="../../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../../index.html" class="el_report">JaCoCo</a> &gt; <a href="../index.html" class="el_bundle">org.jacoco.core</a> &gt; <a href="index.html" class="el_package">org.jacoco.core.internal.analysis.filter</a> &gt; <span class="el_class">KotlinWhenFilter.Matcher</span></div><h1>KotlinWhenFilter.Matcher</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">0 of 66</td><td class="ctr2">100%</td><td class="bar">1 of 10</td><td class="ctr2">90%</td><td class="ctr1">1</td><td class="ctr2">6</td><td class="ctr1">0</td><td class="ctr2">17</td><td class="ctr1">0</td><td class="ctr2">1</td></tr></tfoot><tbody><tr><td id="a0"><a href="KotlinWhenFilter.java.html#L47" class="el_method">match(AbstractInsnNode, IFilterOutput)</a></td><td class="bar" id="b0"><img src="../../jacoco-resources/greenbar.gif" width="120" height="10" title="66" alt="66"/></td><td class="ctr2" id="c0">100%</td><td class="bar" id="d0"><img src="../../jacoco-resources/redbar.gif" width="12" height="10" title="1" alt="1"/><img src="../../jacoco-resources/greenbar.gif" width="108" height="10" title="9" alt="9"/></td><td class="ctr2" id="e0">90%</td><td class="ctr1" id="f0">1</td><td class="ctr2" id="g0">6</td><td class="ctr1" id="h0">0</td><td class="ctr2" id="i0">17</td><td class="ctr1" id="j0">0</td><td class="ctr2" id="k0">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.12.202403270442</span>Code Coverage Report for JaCoCo 0.8.12-SNAPSHOT</div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/trunk/coverage/org.jacoco.core/org.jacoco.core.internal.analysis.filter/KotlinWhenFilter.html b/jacoco/trunk/coverage/org.jacoco.core/org.jacoco.core.internal.analysis.filter/KotlinWhenFilter.html
    new file mode 100644
    index 00000000000..14ed983acfa
    --- /dev/null
    +++ b/jacoco/trunk/coverage/org.jacoco.core/org.jacoco.core.internal.analysis.filter/KotlinWhenFilter.html
    @@ -0,0 +1 @@
    +<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="en"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../../jacoco-resources/report.gif" type="image/gif"/><title>KotlinWhenFilter</title><script type="text/javascript" src="../../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../../index.html" class="el_report">JaCoCo</a> &gt; <a href="../index.html" class="el_bundle">org.jacoco.core</a> &gt; <a href="index.html" class="el_package">org.jacoco.core.internal.analysis.filter</a> &gt; <span class="el_class">KotlinWhenFilter</span></div><h1>KotlinWhenFilter</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">9 of 76</td><td class="ctr2">88%</td><td class="bar">2 of 9</td><td class="ctr2">77%</td><td class="ctr1">2</td><td class="ctr2">9</td><td class="ctr1">2</td><td class="ctr2">18</td><td class="ctr1">0</td><td class="ctr2">4</td></tr></tfoot><tbody><tr><td id="a2"><a href="KotlinWhenFilter.java.html#L88" class="el_method">ignoreDefaultBranch(AbstractInsnNode, IFilterOutput)</a></td><td class="bar" id="b0"><img src="../../jacoco-resources/redbar.gif" width="15" height="10" title="5" alt="5"/><img src="../../jacoco-resources/greenbar.gif" width="104" height="10" title="33" alt="33"/></td><td class="ctr2" id="c2">86%</td><td class="bar" id="d0"><img src="../../jacoco-resources/redbar.gif" width="30" height="10" title="1" alt="1"/><img src="../../jacoco-resources/greenbar.gif" width="90" height="10" title="3" alt="3"/></td><td class="ctr2" id="e1">75%</td><td class="ctr1" id="f0">1</td><td class="ctr2" id="g0">3</td><td class="ctr1" id="h0">1</td><td class="ctr2" id="i0">8</td><td class="ctr1" id="j0">0</td><td class="ctr2" id="k0">1</td></tr><tr><td id="a1"><a href="KotlinWhenFilter.java.html#L75" class="el_method">getDefaultLabel(AbstractInsnNode)</a></td><td class="bar" id="b1"><img src="../../jacoco-resources/redbar.gif" width="12" height="10" title="4" alt="4"/><img src="../../jacoco-resources/greenbar.gif" width="28" height="10" title="9" alt="9"/></td><td class="ctr2" id="c3">69%</td><td class="bar" id="d1"><img src="../../jacoco-resources/redbar.gif" width="30" height="10" title="1" alt="1"/><img src="../../jacoco-resources/greenbar.gif" width="60" height="10" title="2" alt="2"/></td><td class="ctr2" id="e2">66%</td><td class="ctr1" id="f1">1</td><td class="ctr2" id="g1">3</td><td class="ctr1" id="h1">1</td><td class="ctr2" id="i1">4</td><td class="ctr1" id="j1">0</td><td class="ctr2" id="k1">1</td></tr><tr><td id="a0"><a href="KotlinWhenFilter.java.html#L39" class="el_method">filter(MethodNode, IFilterContext, IFilterOutput)</a></td><td class="bar" id="b2"><img src="../../jacoco-resources/greenbar.gif" width="69" height="10" title="22" alt="22"/></td><td class="ctr2" id="c0">100%</td><td class="bar" id="d2"><img src="../../jacoco-resources/greenbar.gif" width="60" height="10" title="2" alt="2"/></td><td class="ctr2" id="e0">100%</td><td class="ctr1" id="f2">0</td><td class="ctr2" id="g2">2</td><td class="ctr1" id="h2">0</td><td class="ctr2" id="i2">4</td><td class="ctr1" id="j2">0</td><td class="ctr2" id="k2">1</td></tr><tr><td id="a3"><a href="KotlinWhenFilter.java.html#L33" class="el_method">KotlinWhenFilter()</a></td><td class="bar" id="b3"><img src="../../jacoco-resources/greenbar.gif" width="9" height="10" title="3" alt="3"/></td><td class="ctr2" id="c1">100%</td><td class="bar" id="d3"/><td class="ctr2" id="e3">n/a</td><td class="ctr1" id="f3">0</td><td class="ctr2" id="g3">1</td><td class="ctr1" id="h3">0</td><td class="ctr2" id="i3">2</td><td class="ctr1" id="j3">0</td><td class="ctr2" id="k3">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.12.202403270442</span>Code Coverage Report for JaCoCo 0.8.12-SNAPSHOT</div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/trunk/coverage/org.jacoco.core/org.jacoco.core.internal.analysis.filter/KotlinWhenFilter.java.html b/jacoco/trunk/coverage/org.jacoco.core/org.jacoco.core.internal.analysis.filter/KotlinWhenFilter.java.html
    new file mode 100644
    index 00000000000..4bd8360f019
    --- /dev/null
    +++ b/jacoco/trunk/coverage/org.jacoco.core/org.jacoco.core.internal.analysis.filter/KotlinWhenFilter.java.html
    @@ -0,0 +1,101 @@
    +<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="en"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../../jacoco-resources/report.gif" type="image/gif"/><title>KotlinWhenFilter.java</title><link rel="stylesheet" href="../../jacoco-resources/prettify.css" type="text/css"/><script type="text/javascript" src="../../jacoco-resources/prettify.js"></script></head><body onload="window['PR_TAB_WIDTH']=4;prettyPrint()"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../../index.html" class="el_report">JaCoCo</a> &gt; <a href="../index.html" class="el_bundle">org.jacoco.core</a> &gt; <a href="index.source.html" class="el_package">org.jacoco.core.internal.analysis.filter</a> &gt; <span class="el_source">KotlinWhenFilter.java</span></div><h1>KotlinWhenFilter.java</h1><pre class="source lang-java linenums">/*******************************************************************************
    + * Copyright (c) 2009, 2024 Mountainminds GmbH &amp; Co. KG and Contributors
    + * This program and the accompanying materials are made available under
    + * the terms of the Eclipse Public License 2.0 which is available at
    + * http://www.eclipse.org/legal/epl-2.0
    + *
    + * SPDX-License-Identifier: EPL-2.0
    + *
    + * Contributors:
    + *    Evgeny Mandrikov - initial API and implementation
    + *
    + *******************************************************************************/
    +package org.jacoco.core.internal.analysis.filter;
    +
    +import java.util.HashSet;
    +import java.util.List;
    +import java.util.Set;
    +
    +import org.objectweb.asm.Opcodes;
    +import org.objectweb.asm.tree.AbstractInsnNode;
    +import org.objectweb.asm.tree.JumpInsnNode;
    +import org.objectweb.asm.tree.LabelNode;
    +import org.objectweb.asm.tree.LookupSwitchInsnNode;
    +import org.objectweb.asm.tree.MethodNode;
    +import org.objectweb.asm.tree.TableSwitchInsnNode;
    +
    +/**
    + * Filters bytecode that Kotlin compiler generates for &lt;code&gt;when&lt;/code&gt;
    + * expressions which list all cases of &lt;code&gt;enum&lt;/code&gt; or
    + * &lt;code&gt;sealed class&lt;/code&gt;, i.e. which don't require explicit
    + * &lt;code&gt;else&lt;/code&gt;.
    + */
    +<span class="fc" id="L33">public final class KotlinWhenFilter implements IFilter {</span>
    +
    +	private static final String EXCEPTION = &quot;kotlin/NoWhenBranchMatchedException&quot;;
    +
    +	public void filter(final MethodNode methodNode,
    +			final IFilterContext context, final IFilterOutput output) {
    +<span class="fc" id="L39">		final Matcher matcher = new Matcher();</span>
    +<span class="fc bfc" id="L40" title="All 2 branches covered.">		for (final AbstractInsnNode i : methodNode.instructions) {</span>
    +<span class="fc" id="L41">			matcher.match(i, output);</span>
    +		}
    +<span class="fc" id="L43">	}</span>
    +
    +<span class="fc" id="L45">	private static class Matcher extends AbstractMatcher {</span>
    +		void match(final AbstractInsnNode start, final IFilterOutput output) {
    +<span class="fc bfc" id="L47" title="All 2 branches covered.">			if (start.getType() != AbstractInsnNode.LABEL) {</span>
    +<span class="fc" id="L48">				return;</span>
    +			}
    +<span class="fc" id="L50">			cursor = start;</span>
    +
    +<span class="fc" id="L52">			nextIsType(Opcodes.NEW, EXCEPTION);</span>
    +<span class="fc" id="L53">			nextIs(Opcodes.DUP);</span>
    +<span class="fc" id="L54">			nextIsInvoke(Opcodes.INVOKESPECIAL, EXCEPTION, &quot;&lt;init&gt;&quot;, &quot;()V&quot;);</span>
    +<span class="fc" id="L55">			nextIs(Opcodes.ATHROW);</span>
    +
    +<span class="fc bfc" id="L57" title="All 2 branches covered.">			for (AbstractInsnNode i = cursor; i != null; i = i.getPrevious()) {</span>
    +<span class="pc bpc" id="L58" title="1 of 4 branches missed.">				if (i.getOpcode() == Opcodes.IFEQ</span>
    +						&amp;&amp; ((JumpInsnNode) i).label == start) {
    +<span class="fc" id="L60">					output.ignore(i, i);</span>
    +<span class="fc" id="L61">					output.ignore(start, cursor);</span>
    +<span class="fc" id="L62">					return;</span>
    +
    +<span class="fc bfc" id="L64" title="All 2 branches covered.">				} else if (getDefaultLabel(i) == start) {</span>
    +<span class="fc" id="L65">					ignoreDefaultBranch(i, output);</span>
    +<span class="fc" id="L66">					output.ignore(start, cursor);</span>
    +<span class="fc" id="L67">					return;</span>
    +
    +				}
    +			}
    +<span class="fc" id="L71">		}</span>
    +	}
    +
    +	private static LabelNode getDefaultLabel(final AbstractInsnNode i) {
    +<span class="pc bpc" id="L75" title="1 of 3 branches missed.">		switch (i.getOpcode()) {</span>
    +		case Opcodes.LOOKUPSWITCH:
    +<span class="nc" id="L77">			return ((LookupSwitchInsnNode) i).dflt;</span>
    +		case Opcodes.TABLESWITCH:
    +<span class="fc" id="L79">			return ((TableSwitchInsnNode) i).dflt;</span>
    +		default:
    +<span class="fc" id="L81">			return null;</span>
    +		}
    +	}
    +
    +	private static void ignoreDefaultBranch(final AbstractInsnNode switchNode,
    +			final IFilterOutput output) {
    +		final List&lt;LabelNode&gt; labels;
    +<span class="pc bpc" id="L88" title="1 of 2 branches missed.">		if (switchNode.getOpcode() == Opcodes.LOOKUPSWITCH) {</span>
    +<span class="nc" id="L89">			labels = ((LookupSwitchInsnNode) switchNode).labels;</span>
    +		} else {
    +<span class="fc" id="L91">			labels = ((TableSwitchInsnNode) switchNode).labels;</span>
    +		}
    +<span class="fc" id="L93">		final Set&lt;AbstractInsnNode&gt; newTargets = new HashSet&lt;AbstractInsnNode&gt;();</span>
    +<span class="fc bfc" id="L94" title="All 2 branches covered.">		for (final LabelNode label : labels) {</span>
    +<span class="fc" id="L95">			newTargets.add(AbstractMatcher.skipNonOpcodes(label));</span>
    +		}
    +<span class="fc" id="L97">		output.replaceBranches(switchNode, newTargets);</span>
    +<span class="fc" id="L98">	}</span>
    +
    +}
    +</pre><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.12.202403270442</span>Code Coverage Report for JaCoCo 0.8.12-SNAPSHOT</div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/trunk/coverage/org.jacoco.core/org.jacoco.core.internal.analysis.filter/KotlinWhenStringFilter$Matcher.html b/jacoco/trunk/coverage/org.jacoco.core/org.jacoco.core.internal.analysis.filter/KotlinWhenStringFilter$Matcher.html
    new file mode 100644
    index 00000000000..c76febaad20
    --- /dev/null
    +++ b/jacoco/trunk/coverage/org.jacoco.core/org.jacoco.core.internal.analysis.filter/KotlinWhenStringFilter$Matcher.html
    @@ -0,0 +1 @@
    +<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="en"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../../jacoco-resources/report.gif" type="image/gif"/><title>KotlinWhenStringFilter.Matcher</title><script type="text/javascript" src="../../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../../index.html" class="el_report">JaCoCo</a> &gt; <a href="../index.html" class="el_bundle">org.jacoco.core</a> &gt; <a href="index.html" class="el_package">org.jacoco.core.internal.analysis.filter</a> &gt; <span class="el_class">KotlinWhenStringFilter.Matcher</span></div><h1>KotlinWhenStringFilter.Matcher</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">2 of 149</td><td class="ctr2">98%</td><td class="bar">3 of 20</td><td class="ctr2">85%</td><td class="ctr1">3</td><td class="ctr2">11</td><td class="ctr1">2</td><td class="ctr2">43</td><td class="ctr1">0</td><td class="ctr2">1</td></tr></tfoot><tbody><tr><td id="a0"><a href="KotlinWhenStringFilter.java.html#L45" class="el_method">match(AbstractInsnNode, IFilterOutput)</a></td><td class="bar" id="b0"><img src="../../jacoco-resources/redbar.gif" width="1" height="10" title="2" alt="2"/><img src="../../jacoco-resources/greenbar.gif" width="118" height="10" title="147" alt="147"/></td><td class="ctr2" id="c0">98%</td><td class="bar" id="d0"><img src="../../jacoco-resources/redbar.gif" width="18" height="10" title="3" alt="3"/><img src="../../jacoco-resources/greenbar.gif" width="102" height="10" title="17" alt="17"/></td><td class="ctr2" id="e0">85%</td><td class="ctr1" id="f0">3</td><td class="ctr2" id="g0">11</td><td class="ctr1" id="h0">2</td><td class="ctr2" id="i0">43</td><td class="ctr1" id="j0">0</td><td class="ctr2" id="k0">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.12.202403270442</span>Code Coverage Report for JaCoCo 0.8.12-SNAPSHOT</div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/trunk/coverage/org.jacoco.core/org.jacoco.core.internal.analysis.filter/KotlinWhenStringFilter.html b/jacoco/trunk/coverage/org.jacoco.core/org.jacoco.core.internal.analysis.filter/KotlinWhenStringFilter.html
    new file mode 100644
    index 00000000000..d1d9764a46f
    --- /dev/null
    +++ b/jacoco/trunk/coverage/org.jacoco.core/org.jacoco.core.internal.analysis.filter/KotlinWhenStringFilter.html
    @@ -0,0 +1 @@
    +<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="en"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../../jacoco-resources/report.gif" type="image/gif"/><title>KotlinWhenStringFilter</title><script type="text/javascript" src="../../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../../index.html" class="el_report">JaCoCo</a> &gt; <a href="../index.html" class="el_bundle">org.jacoco.core</a> &gt; <a href="index.html" class="el_package">org.jacoco.core.internal.analysis.filter</a> &gt; <span class="el_class">KotlinWhenStringFilter</span></div><h1>KotlinWhenStringFilter</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">0 of 25</td><td class="ctr2">100%</td><td class="bar">0 of 2</td><td class="ctr2">100%</td><td class="ctr1">0</td><td class="ctr2">3</td><td class="ctr1">0</td><td class="ctr2">6</td><td class="ctr1">0</td><td class="ctr2">2</td></tr></tfoot><tbody><tr><td id="a0"><a href="KotlinWhenStringFilter.java.html#L35" class="el_method">filter(MethodNode, IFilterContext, IFilterOutput)</a></td><td class="bar" id="b0"><img src="../../jacoco-resources/greenbar.gif" width="120" height="10" title="22" alt="22"/></td><td class="ctr2" id="c0">100%</td><td class="bar" id="d0"><img src="../../jacoco-resources/greenbar.gif" width="120" height="10" title="2" alt="2"/></td><td class="ctr2" id="e0">100%</td><td class="ctr1" id="f0">0</td><td class="ctr2" id="g0">2</td><td class="ctr1" id="h0">0</td><td class="ctr2" id="i0">4</td><td class="ctr1" id="j0">0</td><td class="ctr2" id="k0">1</td></tr><tr><td id="a1"><a href="KotlinWhenStringFilter.java.html#L31" class="el_method">KotlinWhenStringFilter()</a></td><td class="bar" id="b1"><img src="../../jacoco-resources/greenbar.gif" width="16" height="10" title="3" alt="3"/></td><td class="ctr2" id="c1">100%</td><td class="bar" id="d1"/><td class="ctr2" id="e1">n/a</td><td class="ctr1" id="f1">0</td><td class="ctr2" id="g1">1</td><td class="ctr1" id="h1">0</td><td class="ctr2" id="i1">2</td><td class="ctr1" id="j1">0</td><td class="ctr2" id="k1">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.12.202403270442</span>Code Coverage Report for JaCoCo 0.8.12-SNAPSHOT</div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/trunk/coverage/org.jacoco.core/org.jacoco.core.internal.analysis.filter/KotlinWhenStringFilter.java.html b/jacoco/trunk/coverage/org.jacoco.core/org.jacoco.core.internal.analysis.filter/KotlinWhenStringFilter.java.html
    new file mode 100644
    index 00000000000..1b26320d72d
    --- /dev/null
    +++ b/jacoco/trunk/coverage/org.jacoco.core/org.jacoco.core.internal.analysis.filter/KotlinWhenStringFilter.java.html
    @@ -0,0 +1,114 @@
    +<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="en"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../../jacoco-resources/report.gif" type="image/gif"/><title>KotlinWhenStringFilter.java</title><link rel="stylesheet" href="../../jacoco-resources/prettify.css" type="text/css"/><script type="text/javascript" src="../../jacoco-resources/prettify.js"></script></head><body onload="window['PR_TAB_WIDTH']=4;prettyPrint()"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../../index.html" class="el_report">JaCoCo</a> &gt; <a href="../index.html" class="el_bundle">org.jacoco.core</a> &gt; <a href="index.source.html" class="el_package">org.jacoco.core.internal.analysis.filter</a> &gt; <span class="el_source">KotlinWhenStringFilter.java</span></div><h1>KotlinWhenStringFilter.java</h1><pre class="source lang-java linenums">/*******************************************************************************
    + * Copyright (c) 2009, 2024 Mountainminds GmbH &amp; Co. KG and Contributors
    + * This program and the accompanying materials are made available under
    + * the terms of the Eclipse Public License 2.0 which is available at
    + * http://www.eclipse.org/legal/epl-2.0
    + *
    + * SPDX-License-Identifier: EPL-2.0
    + *
    + * Contributors:
    + *    Evgeny Mandrikov - initial API and implementation
    + *
    + *******************************************************************************/
    +package org.jacoco.core.internal.analysis.filter;
    +
    +import java.util.HashSet;
    +import java.util.Set;
    +
    +import org.objectweb.asm.Opcodes;
    +import org.objectweb.asm.tree.AbstractInsnNode;
    +import org.objectweb.asm.tree.JumpInsnNode;
    +import org.objectweb.asm.tree.LabelNode;
    +import org.objectweb.asm.tree.LookupSwitchInsnNode;
    +import org.objectweb.asm.tree.MethodNode;
    +import org.objectweb.asm.tree.TableSwitchInsnNode;
    +import org.objectweb.asm.tree.VarInsnNode;
    +
    +/**
    + * Filters bytecode that Kotlin compiler generates for &lt;code&gt;when&lt;/code&gt;
    + * expressions with a &lt;code&gt;String&lt;/code&gt;.
    + */
    +<span class="fc" id="L31">public final class KotlinWhenStringFilter implements IFilter {</span>
    +
    +	public void filter(final MethodNode methodNode,
    +			final IFilterContext context, final IFilterOutput output) {
    +<span class="fc" id="L35">		final Matcher matcher = new Matcher();</span>
    +<span class="fc bfc" id="L36" title="All 2 branches covered.">		for (final AbstractInsnNode i : methodNode.instructions) {</span>
    +<span class="fc" id="L37">			matcher.match(i, output);</span>
    +		}
    +<span class="fc" id="L39">	}</span>
    +
    +<span class="fc" id="L41">	private static class Matcher extends AbstractMatcher {</span>
    +		public void match(final AbstractInsnNode start,
    +				final IFilterOutput output) {
    +
    +<span class="fc bfc" id="L45" title="All 2 branches covered.">			if (Opcodes.ALOAD != start.getOpcode()) {</span>
    +<span class="fc" id="L46">				return;</span>
    +			}
    +<span class="fc" id="L48">			cursor = start;</span>
    +<span class="fc" id="L49">			nextIsInvoke(Opcodes.INVOKEVIRTUAL, &quot;java/lang/String&quot;, &quot;hashCode&quot;,</span>
    +					&quot;()I&quot;);
    +<span class="fc" id="L51">			nextIsSwitch();</span>
    +<span class="fc bfc" id="L52" title="All 2 branches covered.">			if (cursor == null) {</span>
    +<span class="fc" id="L53">				return;</span>
    +			}
    +<span class="fc" id="L55">			vars.put(&quot;s&quot;, (VarInsnNode) start);</span>
    +
    +<span class="fc" id="L57">			final AbstractInsnNode s = cursor;</span>
    +			final int hashCodes;
    +			final LabelNode defaultLabel;
    +<span class="fc bfc" id="L60" title="All 2 branches covered.">			if (s.getOpcode() == Opcodes.LOOKUPSWITCH) {</span>
    +<span class="fc" id="L61">				final LookupSwitchInsnNode lookupSwitch = (LookupSwitchInsnNode) cursor;</span>
    +<span class="fc" id="L62">				defaultLabel = lookupSwitch.dflt;</span>
    +<span class="fc" id="L63">				hashCodes = lookupSwitch.labels.size();</span>
    +<span class="fc" id="L64">			} else {</span>
    +<span class="fc" id="L65">				final TableSwitchInsnNode tableSwitch = (TableSwitchInsnNode) cursor;</span>
    +<span class="fc" id="L66">				defaultLabel = tableSwitch.dflt;</span>
    +<span class="fc" id="L67">				hashCodes = tableSwitch.labels.size();</span>
    +			}
    +
    +<span class="fc bfc" id="L70" title="All 2 branches covered.">			if (hashCodes == 0) {</span>
    +<span class="fc" id="L71">				return;</span>
    +			}
    +
    +<span class="fc" id="L74">			final Set&lt;AbstractInsnNode&gt; replacements = new HashSet&lt;AbstractInsnNode&gt;();</span>
    +<span class="fc" id="L75">			replacements.add(skipNonOpcodes(defaultLabel));</span>
    +
    +<span class="fc bfc" id="L77" title="All 2 branches covered.">			for (int i = 1; i &lt;= hashCodes; i++) {</span>
    +				while (true) {
    +<span class="fc" id="L79">					nextIsVar(Opcodes.ALOAD, &quot;s&quot;);</span>
    +<span class="fc" id="L80">					nextIs(Opcodes.LDC);</span>
    +<span class="fc" id="L81">					nextIsInvoke(Opcodes.INVOKEVIRTUAL, &quot;java/lang/String&quot;,</span>
    +							&quot;equals&quot;, &quot;(Ljava/lang/Object;)Z&quot;);
    +					// jump to next comparison or default case
    +<span class="fc" id="L84">					nextIs(Opcodes.IFEQ);</span>
    +<span class="fc" id="L85">					final JumpInsnNode jump = (JumpInsnNode) cursor;</span>
    +<span class="fc" id="L86">					next();</span>
    +<span class="pc bpc" id="L87" title="1 of 2 branches missed.">					if (cursor == null) {</span>
    +<span class="nc" id="L88">						return;</span>
    +<span class="fc bfc" id="L89" title="All 2 branches covered.">					} else if (cursor.getOpcode() == Opcodes.GOTO) {</span>
    +						// jump to case body
    +<span class="fc" id="L91">						replacements.add(</span>
    +								skipNonOpcodes(((JumpInsnNode) cursor).label));
    +<span class="fc bfc" id="L93" title="All 2 branches covered.">						if (jump.label == defaultLabel) {</span>
    +							// end of comparisons for same hashCode
    +<span class="fc" id="L95">							break;</span>
    +						}
    +<span class="pc bpc" id="L97" title="2 of 4 branches missed.">					} else if (i == hashCodes &amp;&amp; jump.label == defaultLabel) {</span>
    +						// case body
    +<span class="fc" id="L99">						replacements.add(cursor);</span>
    +<span class="fc" id="L100">						cursor = jump;</span>
    +<span class="fc" id="L101">						break;</span>
    +					} else {
    +<span class="nc" id="L103">						return;</span>
    +					}
    +<span class="fc" id="L105">				}</span>
    +			}
    +
    +<span class="fc" id="L108">			output.ignore(s.getNext(), cursor);</span>
    +<span class="fc" id="L109">			output.replaceBranches(s, replacements);</span>
    +<span class="fc" id="L110">		}</span>
    +	}
    +
    +}
    +</pre><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.12.202403270442</span>Code Coverage Report for JaCoCo 0.8.12-SNAPSHOT</div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/trunk/coverage/org.jacoco.core/org.jacoco.core.internal.analysis.filter/PrivateEmptyNoArgConstructorFilter$Matcher.html b/jacoco/trunk/coverage/org.jacoco.core/org.jacoco.core.internal.analysis.filter/PrivateEmptyNoArgConstructorFilter$Matcher.html
    new file mode 100644
    index 00000000000..6ac71a54aa0
    --- /dev/null
    +++ b/jacoco/trunk/coverage/org.jacoco.core/org.jacoco.core.internal.analysis.filter/PrivateEmptyNoArgConstructorFilter$Matcher.html
    @@ -0,0 +1 @@
    +<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="en"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../../jacoco-resources/report.gif" type="image/gif"/><title>PrivateEmptyNoArgConstructorFilter.Matcher</title><script type="text/javascript" src="../../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../../index.html" class="el_report">JaCoCo</a> &gt; <a href="../index.html" class="el_bundle">org.jacoco.core</a> &gt; <a href="index.html" class="el_package">org.jacoco.core.internal.analysis.filter</a> &gt; <span class="el_class">PrivateEmptyNoArgConstructorFilter.Matcher</span></div><h1>PrivateEmptyNoArgConstructorFilter.Matcher</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">1 of 19</td><td class="ctr2">94%</td><td class="bar">1 of 2</td><td class="ctr2">50%</td><td class="ctr1">1</td><td class="ctr2">2</td><td class="ctr1">0</td><td class="ctr2">4</td><td class="ctr1">0</td><td class="ctr2">1</td></tr></tfoot><tbody><tr><td id="a0"><a href="PrivateEmptyNoArgConstructorFilter.java.html#L40" class="el_method">match(MethodNode, String)</a></td><td class="bar" id="b0"><img src="../../jacoco-resources/redbar.gif" width="6" height="10" title="1" alt="1"/><img src="../../jacoco-resources/greenbar.gif" width="113" height="10" title="18" alt="18"/></td><td class="ctr2" id="c0">94%</td><td class="bar" id="d0"><img src="../../jacoco-resources/redbar.gif" width="60" height="10" title="1" alt="1"/><img src="../../jacoco-resources/greenbar.gif" width="60" height="10" title="1" alt="1"/></td><td class="ctr2" id="e0">50%</td><td class="ctr1" id="f0">1</td><td class="ctr2" id="g0">2</td><td class="ctr1" id="h0">0</td><td class="ctr2" id="i0">4</td><td class="ctr1" id="j0">0</td><td class="ctr2" id="k0">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.12.202403270442</span>Code Coverage Report for JaCoCo 0.8.12-SNAPSHOT</div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/trunk/coverage/org.jacoco.core/org.jacoco.core.internal.analysis.filter/PrivateEmptyNoArgConstructorFilter.html b/jacoco/trunk/coverage/org.jacoco.core/org.jacoco.core.internal.analysis.filter/PrivateEmptyNoArgConstructorFilter.html
    new file mode 100644
    index 00000000000..9848b547301
    --- /dev/null
    +++ b/jacoco/trunk/coverage/org.jacoco.core/org.jacoco.core.internal.analysis.filter/PrivateEmptyNoArgConstructorFilter.html
    @@ -0,0 +1 @@
    +<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="en"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../../jacoco-resources/report.gif" type="image/gif"/><title>PrivateEmptyNoArgConstructorFilter</title><script type="text/javascript" src="../../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../../index.html" class="el_report">JaCoCo</a> &gt; <a href="../index.html" class="el_bundle">org.jacoco.core</a> &gt; <a href="index.html" class="el_package">org.jacoco.core.internal.analysis.filter</a> &gt; <span class="el_class">PrivateEmptyNoArgConstructorFilter</span></div><h1>PrivateEmptyNoArgConstructorFilter</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">0 of 36</td><td class="ctr2">100%</td><td class="bar">2 of 8</td><td class="ctr2">75%</td><td class="ctr1">2</td><td class="ctr2">6</td><td class="ctr1">0</td><td class="ctr2">5</td><td class="ctr1">0</td><td class="ctr2">2</td></tr></tfoot><tbody><tr><td id="a0"><a href="PrivateEmptyNoArgConstructorFilter.java.html#L28" class="el_method">filter(MethodNode, IFilterContext, IFilterOutput)</a></td><td class="bar" id="b0"><img src="../../jacoco-resources/greenbar.gif" width="120" height="10" title="33" alt="33"/></td><td class="ctr2" id="c0">100%</td><td class="bar" id="d0"><img src="../../jacoco-resources/redbar.gif" width="30" height="10" title="2" alt="2"/><img src="../../jacoco-resources/greenbar.gif" width="90" height="10" title="6" alt="6"/></td><td class="ctr2" id="e0">75%</td><td class="ctr1" id="f0">2</td><td class="ctr2" id="g0">5</td><td class="ctr1" id="h0">0</td><td class="ctr2" id="i0">3</td><td class="ctr1" id="j0">0</td><td class="ctr2" id="k0">1</td></tr><tr><td id="a1"><a href="PrivateEmptyNoArgConstructorFilter.java.html#L21" class="el_method">PrivateEmptyNoArgConstructorFilter()</a></td><td class="bar" id="b1"><img src="../../jacoco-resources/greenbar.gif" width="10" height="10" title="3" alt="3"/></td><td class="ctr2" id="c1">100%</td><td class="bar" id="d1"/><td class="ctr2" id="e1">n/a</td><td class="ctr1" id="f1">0</td><td class="ctr2" id="g1">1</td><td class="ctr1" id="h1">0</td><td class="ctr2" id="i1">2</td><td class="ctr1" id="j1">0</td><td class="ctr2" id="k1">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.12.202403270442</span>Code Coverage Report for JaCoCo 0.8.12-SNAPSHOT</div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/trunk/coverage/org.jacoco.core/org.jacoco.core.internal.analysis.filter/PrivateEmptyNoArgConstructorFilter.java.html b/jacoco/trunk/coverage/org.jacoco.core/org.jacoco.core.internal.analysis.filter/PrivateEmptyNoArgConstructorFilter.java.html
    new file mode 100644
    index 00000000000..8cd9aa41aaf
    --- /dev/null
    +++ b/jacoco/trunk/coverage/org.jacoco.core/org.jacoco.core.internal.analysis.filter/PrivateEmptyNoArgConstructorFilter.java.html
    @@ -0,0 +1,49 @@
    +<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="en"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../../jacoco-resources/report.gif" type="image/gif"/><title>PrivateEmptyNoArgConstructorFilter.java</title><link rel="stylesheet" href="../../jacoco-resources/prettify.css" type="text/css"/><script type="text/javascript" src="../../jacoco-resources/prettify.js"></script></head><body onload="window['PR_TAB_WIDTH']=4;prettyPrint()"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../../index.html" class="el_report">JaCoCo</a> &gt; <a href="../index.html" class="el_bundle">org.jacoco.core</a> &gt; <a href="index.source.html" class="el_package">org.jacoco.core.internal.analysis.filter</a> &gt; <span class="el_source">PrivateEmptyNoArgConstructorFilter.java</span></div><h1>PrivateEmptyNoArgConstructorFilter.java</h1><pre class="source lang-java linenums">/*******************************************************************************
    + * Copyright (c) 2009, 2024 Mountainminds GmbH &amp; Co. KG and Contributors
    + * This program and the accompanying materials are made available under
    + * the terms of the Eclipse Public License 2.0 which is available at
    + * http://www.eclipse.org/legal/epl-2.0
    + *
    + * SPDX-License-Identifier: EPL-2.0
    + *
    + * Contributors:
    + *    Evgeny Mandrikov - initial API and implementation
    + *
    + *******************************************************************************/
    +package org.jacoco.core.internal.analysis.filter;
    +
    +import org.objectweb.asm.Opcodes;
    +import org.objectweb.asm.tree.MethodNode;
    +
    +/**
    + * Filters private empty constructors that do not have arguments.
    + */
    +<span class="fc" id="L21">public final class PrivateEmptyNoArgConstructorFilter implements IFilter {</span>
    +
    +	private static final String CONSTRUCTOR_NAME = &quot;&lt;init&gt;&quot;;
    +	private static final String CONSTRUCTOR_DESC = &quot;()V&quot;;
    +
    +	public void filter(final MethodNode methodNode,
    +			final IFilterContext context, final IFilterOutput output) {
    +<span class="pc bpc" id="L28" title="2 of 8 branches missed.">		if ((methodNode.access &amp; Opcodes.ACC_PRIVATE) != 0</span>
    +				&amp;&amp; CONSTRUCTOR_NAME.equals(methodNode.name)
    +				&amp;&amp; CONSTRUCTOR_DESC.equals(methodNode.desc) &amp;&amp; new Matcher()
    +						.match(methodNode, context.getSuperClassName())) {
    +<span class="fc" id="L32">			output.ignore(methodNode.instructions.getFirst(),</span>
    +					methodNode.instructions.getLast());
    +		}
    +<span class="fc" id="L35">	}</span>
    +
    +<span class="fc" id="L37">	private static class Matcher extends AbstractMatcher {</span>
    +		private boolean match(final MethodNode methodNode,
    +				final String superClassName) {
    +<span class="fc" id="L40">			firstIsALoad0(methodNode);</span>
    +<span class="fc" id="L41">			nextIsInvoke(Opcodes.INVOKESPECIAL, superClassName,</span>
    +					CONSTRUCTOR_NAME, CONSTRUCTOR_DESC);
    +<span class="fc" id="L43">			nextIs(Opcodes.RETURN);</span>
    +<span class="pc bpc" id="L44" title="1 of 2 branches missed.">			return cursor != null;</span>
    +		}
    +	}
    +
    +}
    +</pre><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.12.202403270442</span>Code Coverage Report for JaCoCo 0.8.12-SNAPSHOT</div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/trunk/coverage/org.jacoco.core/org.jacoco.core.internal.analysis.filter/RecordPatternFilter$Matcher.html b/jacoco/trunk/coverage/org.jacoco.core/org.jacoco.core.internal.analysis.filter/RecordPatternFilter$Matcher.html
    new file mode 100644
    index 00000000000..d955076d1bb
    --- /dev/null
    +++ b/jacoco/trunk/coverage/org.jacoco.core/org.jacoco.core.internal.analysis.filter/RecordPatternFilter$Matcher.html
    @@ -0,0 +1 @@
    +<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="en"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../../jacoco-resources/report.gif" type="image/gif"/><title>RecordPatternFilter.Matcher</title><script type="text/javascript" src="../../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../../index.html" class="el_report">JaCoCo</a> &gt; <a href="../index.html" class="el_bundle">org.jacoco.core</a> &gt; <a href="index.html" class="el_package">org.jacoco.core.internal.analysis.filter</a> &gt; <span class="el_class">RecordPatternFilter.Matcher</span></div><h1>RecordPatternFilter.Matcher</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">0 of 46</td><td class="ctr2">100%</td><td class="bar">1 of 2</td><td class="ctr2">50%</td><td class="ctr1">1</td><td class="ctr2">2</td><td class="ctr1">0</td><td class="ctr2">12</td><td class="ctr1">0</td><td class="ctr2">1</td></tr></tfoot><tbody><tr><td id="a0"><a href="RecordPatternFilter.java.html#L37" class="el_method">match(AbstractInsnNode, IFilterOutput)</a></td><td class="bar" id="b0"><img src="../../jacoco-resources/greenbar.gif" width="120" height="10" title="46" alt="46"/></td><td class="ctr2" id="c0">100%</td><td class="bar" id="d0"><img src="../../jacoco-resources/redbar.gif" width="60" height="10" title="1" alt="1"/><img src="../../jacoco-resources/greenbar.gif" width="60" height="10" title="1" alt="1"/></td><td class="ctr2" id="e0">50%</td><td class="ctr1" id="f0">1</td><td class="ctr2" id="g0">2</td><td class="ctr1" id="h0">0</td><td class="ctr2" id="i0">12</td><td class="ctr1" id="j0">0</td><td class="ctr2" id="k0">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.12.202403270442</span>Code Coverage Report for JaCoCo 0.8.12-SNAPSHOT</div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/trunk/coverage/org.jacoco.core/org.jacoco.core.internal.analysis.filter/RecordPatternFilter.html b/jacoco/trunk/coverage/org.jacoco.core/org.jacoco.core.internal.analysis.filter/RecordPatternFilter.html
    new file mode 100644
    index 00000000000..f9414eadd9e
    --- /dev/null
    +++ b/jacoco/trunk/coverage/org.jacoco.core/org.jacoco.core.internal.analysis.filter/RecordPatternFilter.html
    @@ -0,0 +1 @@
    +<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="en"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../../jacoco-resources/report.gif" type="image/gif"/><title>RecordPatternFilter</title><script type="text/javascript" src="../../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../../index.html" class="el_report">JaCoCo</a> &gt; <a href="../index.html" class="el_bundle">org.jacoco.core</a> &gt; <a href="index.html" class="el_package">org.jacoco.core.internal.analysis.filter</a> &gt; <span class="el_class">RecordPatternFilter</span></div><h1>RecordPatternFilter</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">0 of 31</td><td class="ctr2">100%</td><td class="bar">0 of 4</td><td class="ctr2">100%</td><td class="ctr1">0</td><td class="ctr2">4</td><td class="ctr1">0</td><td class="ctr2">7</td><td class="ctr1">0</td><td class="ctr2">2</td></tr></tfoot><tbody><tr><td id="a0"><a href="RecordPatternFilter.java.html#L27" class="el_method">filter(MethodNode, IFilterContext, IFilterOutput)</a></td><td class="bar" id="b0"><img src="../../jacoco-resources/greenbar.gif" width="120" height="10" title="28" alt="28"/></td><td class="ctr2" id="c0">100%</td><td class="bar" id="d0"><img src="../../jacoco-resources/greenbar.gif" width="120" height="10" title="4" alt="4"/></td><td class="ctr2" id="e0">100%</td><td class="ctr1" id="f0">0</td><td class="ctr2" id="g0">3</td><td class="ctr1" id="h0">0</td><td class="ctr2" id="i0">5</td><td class="ctr1" id="j0">0</td><td class="ctr2" id="k0">1</td></tr><tr><td id="a1"><a href="RecordPatternFilter.java.html#L23" class="el_method">RecordPatternFilter()</a></td><td class="bar" id="b1"><img src="../../jacoco-resources/greenbar.gif" width="12" height="10" title="3" alt="3"/></td><td class="ctr2" id="c1">100%</td><td class="bar" id="d1"/><td class="ctr2" id="e1">n/a</td><td class="ctr1" id="f1">0</td><td class="ctr2" id="g1">1</td><td class="ctr1" id="h1">0</td><td class="ctr2" id="i1">2</td><td class="ctr1" id="j1">0</td><td class="ctr2" id="k1">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.12.202403270442</span>Code Coverage Report for JaCoCo 0.8.12-SNAPSHOT</div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/trunk/coverage/org.jacoco.core/org.jacoco.core.internal.analysis.filter/RecordPatternFilter.java.html b/jacoco/trunk/coverage/org.jacoco.core/org.jacoco.core.internal.analysis.filter/RecordPatternFilter.java.html
    new file mode 100644
    index 00000000000..71eb5725516
    --- /dev/null
    +++ b/jacoco/trunk/coverage/org.jacoco.core/org.jacoco.core.internal.analysis.filter/RecordPatternFilter.java.html
    @@ -0,0 +1,56 @@
    +<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="en"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../../jacoco-resources/report.gif" type="image/gif"/><title>RecordPatternFilter.java</title><link rel="stylesheet" href="../../jacoco-resources/prettify.css" type="text/css"/><script type="text/javascript" src="../../jacoco-resources/prettify.js"></script></head><body onload="window['PR_TAB_WIDTH']=4;prettyPrint()"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../../index.html" class="el_report">JaCoCo</a> &gt; <a href="../index.html" class="el_bundle">org.jacoco.core</a> &gt; <a href="index.source.html" class="el_package">org.jacoco.core.internal.analysis.filter</a> &gt; <span class="el_source">RecordPatternFilter.java</span></div><h1>RecordPatternFilter.java</h1><pre class="source lang-java linenums">/*******************************************************************************
    + * Copyright (c) 2009, 2024 Mountainminds GmbH &amp; Co. KG and Contributors
    + * This program and the accompanying materials are made available under
    + * the terms of the Eclipse Public License 2.0 which is available at
    + * http://www.eclipse.org/legal/epl-2.0
    + *
    + * SPDX-License-Identifier: EPL-2.0
    + *
    + * Contributors:
    + *    Evgeny Mandrikov - initial API and implementation
    + *
    + *******************************************************************************/
    +package org.jacoco.core.internal.analysis.filter;
    +
    +import org.objectweb.asm.Opcodes;
    +import org.objectweb.asm.tree.AbstractInsnNode;
    +import org.objectweb.asm.tree.MethodNode;
    +import org.objectweb.asm.tree.TryCatchBlockNode;
    +
    +/**
    + * Filters code that is generated for record patterns.
    + */
    +<span class="fc" id="L23">final class RecordPatternFilter implements IFilter {</span>
    +
    +	public void filter(final MethodNode methodNode,
    +			final IFilterContext context, final IFilterOutput output) {
    +<span class="fc" id="L27">		final Matcher matcher = new Matcher();</span>
    +<span class="fc bfc" id="L28" title="All 2 branches covered.">		for (final TryCatchBlockNode t : methodNode.tryCatchBlocks) {</span>
    +<span class="fc bfc" id="L29" title="All 2 branches covered.">			if (&quot;java/lang/Throwable&quot;.equals(t.type)) {</span>
    +<span class="fc" id="L30">				matcher.match(t.handler, output);</span>
    +			}
    +		}
    +<span class="fc" id="L33">	}</span>
    +
    +<span class="fc" id="L35">	private static class Matcher extends AbstractMatcher {</span>
    +		void match(final AbstractInsnNode start, final IFilterOutput output) {
    +<span class="fc" id="L37">			cursor = start;</span>
    +<span class="fc" id="L38">			nextIsVar(Opcodes.ASTORE, &quot;cause&quot;);</span>
    +<span class="fc" id="L39">			nextIsType(org.objectweb.asm.Opcodes.NEW,</span>
    +					&quot;java/lang/MatchException&quot;);
    +<span class="fc" id="L41">			nextIs(Opcodes.DUP);</span>
    +<span class="fc" id="L42">			nextIsVar(Opcodes.ALOAD, &quot;cause&quot;);</span>
    +<span class="fc" id="L43">			nextIsInvoke(Opcodes.INVOKEVIRTUAL, &quot;java/lang/Throwable&quot;,</span>
    +					&quot;toString&quot;, &quot;()Ljava/lang/String;&quot;);
    +<span class="fc" id="L45">			nextIsVar(Opcodes.ALOAD, &quot;cause&quot;);</span>
    +<span class="fc" id="L46">			nextIsInvoke(Opcodes.INVOKESPECIAL, &quot;java/lang/MatchException&quot;,</span>
    +					&quot;&lt;init&gt;&quot;, &quot;(Ljava/lang/String;Ljava/lang/Throwable;)V&quot;);
    +<span class="fc" id="L48">			nextIs(Opcodes.ATHROW);</span>
    +<span class="pc bpc" id="L49" title="1 of 2 branches missed.">			if (cursor != null) {</span>
    +<span class="fc" id="L50">				output.ignore(start, cursor);</span>
    +			}
    +<span class="fc" id="L52">		}</span>
    +	}
    +
    +}
    +</pre><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.12.202403270442</span>Code Coverage Report for JaCoCo 0.8.12-SNAPSHOT</div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/trunk/coverage/org.jacoco.core/org.jacoco.core.internal.analysis.filter/RecordsFilter$Matcher.html b/jacoco/trunk/coverage/org.jacoco.core/org.jacoco.core.internal.analysis.filter/RecordsFilter$Matcher.html
    new file mode 100644
    index 00000000000..f26762bc769
    --- /dev/null
    +++ b/jacoco/trunk/coverage/org.jacoco.core/org.jacoco.core.internal.analysis.filter/RecordsFilter$Matcher.html
    @@ -0,0 +1 @@
    +<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="en"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../../jacoco-resources/report.gif" type="image/gif"/><title>RecordsFilter.Matcher</title><script type="text/javascript" src="../../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../../index.html" class="el_report">JaCoCo</a> &gt; <a href="../index.html" class="el_bundle">org.jacoco.core</a> &gt; <a href="index.html" class="el_package">org.jacoco.core.internal.analysis.filter</a> &gt; <span class="el_class">RecordsFilter.Matcher</span></div><h1>RecordsFilter.Matcher</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">4 of 165</td><td class="ctr2">97%</td><td class="bar">3 of 36</td><td class="ctr2">91%</td><td class="ctr1">3</td><td class="ctr2">23</td><td class="ctr1">2</td><td class="ctr2">42</td><td class="ctr1">0</td><td class="ctr2">5</td></tr></tfoot><tbody><tr><td id="a4"><a href="RecordsFilter.java.html#L118" class="el_method">nextIsInvokeDynamic(String)</a></td><td class="bar" id="b0"><img src="../../jacoco-resources/redbar.gif" width="10" height="10" title="4" alt="4"/><img src="../../jacoco-resources/greenbar.gif" width="81" height="10" title="30" alt="30"/></td><td class="ctr2" id="c4">88%</td><td class="bar" id="d0"><img src="../../jacoco-resources/redbar.gif" width="36" height="10" title="3" alt="3"/><img src="../../jacoco-resources/greenbar.gif" width="60" height="10" title="5" alt="5"/></td><td class="ctr2" id="e4">62%</td><td class="ctr1" id="f0">3</td><td class="ctr2" id="g1">5</td><td class="ctr1" id="h0">2</td><td class="ctr2" id="i1">9</td><td class="ctr1" id="j0">0</td><td class="ctr2" id="k0">1</td></tr><tr><td id="a1"><a href="RecordsFilter.java.html#L77" class="el_method">isFieldAccessor(MethodNode)</a></td><td class="bar" id="b1"><img src="../../jacoco-resources/greenbar.gif" width="120" height="10" title="44" alt="44"/></td><td class="ctr2" id="c0">100%</td><td class="bar" id="d1"><img src="../../jacoco-resources/greenbar.gif" width="120" height="10" title="10" alt="10"/></td><td class="ctr2" id="e0">100%</td><td class="ctr1" id="f1">0</td><td class="ctr2" id="g0">6</td><td class="ctr1" id="h1">0</td><td class="ctr2" id="i0">14</td><td class="ctr1" id="j1">0</td><td class="ctr2" id="k1">1</td></tr><tr><td id="a0"><a href="RecordsFilter.java.html#L106" class="el_method">isEquals(MethodNode)</a></td><td class="bar" id="b2"><img src="../../jacoco-resources/greenbar.gif" width="84" height="10" title="31" alt="31"/></td><td class="ctr2" id="c1">100%</td><td class="bar" id="d2"><img src="../../jacoco-resources/greenbar.gif" width="72" height="10" title="6" alt="6"/></td><td class="ctr2" id="e1">100%</td><td class="ctr1" id="f2">0</td><td class="ctr2" id="g2">4</td><td class="ctr1" id="h2">0</td><td class="ctr2" id="i2">7</td><td class="ctr1" id="j2">0</td><td class="ctr2" id="k2">1</td></tr><tr><td id="a3"><a href="RecordsFilter.java.html#L43" class="el_method">isToString(MethodNode)</a></td><td class="bar" id="b3"><img src="../../jacoco-resources/greenbar.gif" width="76" height="10" title="28" alt="28"/></td><td class="ctr2" id="c2">100%</td><td class="bar" id="d3"><img src="../../jacoco-resources/greenbar.gif" width="72" height="10" title="6" alt="6"/></td><td class="ctr2" id="e2">100%</td><td class="ctr1" id="f3">0</td><td class="ctr2" id="g3">4</td><td class="ctr1" id="h3">0</td><td class="ctr2" id="i3">6</td><td class="ctr1" id="j3">0</td><td class="ctr2" id="k3">1</td></tr><tr><td id="a2"><a href="RecordsFilter.java.html#L54" class="el_method">isHashCode(MethodNode)</a></td><td class="bar" id="b4"><img src="../../jacoco-resources/greenbar.gif" width="76" height="10" title="28" alt="28"/></td><td class="ctr2" id="c3">100%</td><td class="bar" id="d4"><img src="../../jacoco-resources/greenbar.gif" width="72" height="10" title="6" alt="6"/></td><td class="ctr2" id="e3">100%</td><td class="ctr1" id="f4">0</td><td class="ctr2" id="g4">4</td><td class="ctr1" id="h4">0</td><td class="ctr2" id="i4">6</td><td class="ctr1" id="j4">0</td><td class="ctr2" id="k4">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.12.202403270442</span>Code Coverage Report for JaCoCo 0.8.12-SNAPSHOT</div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/trunk/coverage/org.jacoco.core/org.jacoco.core.internal.analysis.filter/RecordsFilter.html b/jacoco/trunk/coverage/org.jacoco.core/org.jacoco.core.internal.analysis.filter/RecordsFilter.html
    new file mode 100644
    index 00000000000..c0cc265daa8
    --- /dev/null
    +++ b/jacoco/trunk/coverage/org.jacoco.core/org.jacoco.core.internal.analysis.filter/RecordsFilter.html
    @@ -0,0 +1 @@
    +<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="en"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../../jacoco-resources/report.gif" type="image/gif"/><title>RecordsFilter</title><script type="text/javascript" src="../../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../../index.html" class="el_report">JaCoCo</a> &gt; <a href="../index.html" class="el_bundle">org.jacoco.core</a> &gt; <a href="index.html" class="el_package">org.jacoco.core.internal.analysis.filter</a> &gt; <span class="el_class">RecordsFilter</span></div><h1>RecordsFilter</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">0 of 39</td><td class="ctr2">100%</td><td class="bar">0 of 10</td><td class="ctr2">100%</td><td class="ctr1">0</td><td class="ctr2">7</td><td class="ctr1">0</td><td class="ctr2">8</td><td class="ctr1">0</td><td class="ctr2">2</td></tr></tfoot><tbody><tr><td id="a0"><a href="RecordsFilter.java.html#L29" class="el_method">filter(MethodNode, IFilterContext, IFilterOutput)</a></td><td class="bar" id="b0"><img src="../../jacoco-resources/greenbar.gif" width="120" height="10" title="36" alt="36"/></td><td class="ctr2" id="c0">100%</td><td class="bar" id="d0"><img src="../../jacoco-resources/greenbar.gif" width="120" height="10" title="10" alt="10"/></td><td class="ctr2" id="e0">100%</td><td class="ctr1" id="f0">0</td><td class="ctr2" id="g0">6</td><td class="ctr1" id="h0">0</td><td class="ctr2" id="i0">6</td><td class="ctr1" id="j0">0</td><td class="ctr2" id="k0">1</td></tr><tr><td id="a1"><a href="RecordsFilter.java.html#L25" class="el_method">RecordsFilter()</a></td><td class="bar" id="b1"><img src="../../jacoco-resources/greenbar.gif" width="10" height="10" title="3" alt="3"/></td><td class="ctr2" id="c1">100%</td><td class="bar" id="d1"/><td class="ctr2" id="e1">n/a</td><td class="ctr1" id="f1">0</td><td class="ctr2" id="g1">1</td><td class="ctr1" id="h1">0</td><td class="ctr2" id="i1">2</td><td class="ctr1" id="j1">0</td><td class="ctr2" id="k1">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.12.202403270442</span>Code Coverage Report for JaCoCo 0.8.12-SNAPSHOT</div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/trunk/coverage/org.jacoco.core/org.jacoco.core.internal.analysis.filter/RecordsFilter.java.html b/jacoco/trunk/coverage/org.jacoco.core/org.jacoco.core.internal.analysis.filter/RecordsFilter.java.html
    new file mode 100644
    index 00000000000..34573d3ca69
    --- /dev/null
    +++ b/jacoco/trunk/coverage/org.jacoco.core/org.jacoco.core.internal.analysis.filter/RecordsFilter.java.html
    @@ -0,0 +1,134 @@
    +<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="en"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../../jacoco-resources/report.gif" type="image/gif"/><title>RecordsFilter.java</title><link rel="stylesheet" href="../../jacoco-resources/prettify.css" type="text/css"/><script type="text/javascript" src="../../jacoco-resources/prettify.js"></script></head><body onload="window['PR_TAB_WIDTH']=4;prettyPrint()"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../../index.html" class="el_report">JaCoCo</a> &gt; <a href="../index.html" class="el_bundle">org.jacoco.core</a> &gt; <a href="index.source.html" class="el_package">org.jacoco.core.internal.analysis.filter</a> &gt; <span class="el_source">RecordsFilter.java</span></div><h1>RecordsFilter.java</h1><pre class="source lang-java linenums">/*******************************************************************************
    + * Copyright (c) 2009, 2024 Mountainminds GmbH &amp; Co. KG and Contributors
    + * This program and the accompanying materials are made available under
    + * the terms of the Eclipse Public License 2.0 which is available at
    + * http://www.eclipse.org/legal/epl-2.0
    + *
    + * SPDX-License-Identifier: EPL-2.0
    + *
    + * Contributors:
    + *    Evgeny Mandrikov - initial API and implementation
    + *
    + *******************************************************************************/
    +package org.jacoco.core.internal.analysis.filter;
    +
    +import org.objectweb.asm.Handle;
    +import org.objectweb.asm.Opcodes;
    +import org.objectweb.asm.tree.FieldInsnNode;
    +import org.objectweb.asm.tree.InvokeDynamicInsnNode;
    +import org.objectweb.asm.tree.MethodNode;
    +
    +/**
    + * Filters methods &lt;code&gt;toString&lt;/code&gt;, &lt;code&gt;hashCode&lt;/code&gt; and
    + * &lt;code&gt;equals&lt;/code&gt; that compiler generates for records.
    + */
    +<span class="fc" id="L25">public final class RecordsFilter implements IFilter {</span>
    +
    +	public void filter(final MethodNode methodNode,
    +			final IFilterContext context, final IFilterOutput output) {
    +<span class="fc bfc" id="L29" title="All 2 branches covered.">		if (!&quot;java/lang/Record&quot;.equals(context.getSuperClassName())) {</span>
    +<span class="fc" id="L30">			return;</span>
    +		}
    +<span class="fc" id="L32">		final Matcher matcher = new Matcher();</span>
    +<span class="fc bfc" id="L33" title="All 8 branches covered.">		if (matcher.isEquals(methodNode) || matcher.isHashCode(methodNode)</span>
    +				|| matcher.isToString(methodNode)
    +				|| matcher.isFieldAccessor(methodNode)) {
    +<span class="fc" id="L36">			output.ignore(methodNode.instructions.getFirst(),</span>
    +					methodNode.instructions.getLast());
    +		}
    +<span class="fc" id="L39">	}</span>
    +
    +<span class="fc" id="L41">	private static class Matcher extends AbstractMatcher {</span>
    +		boolean isToString(final MethodNode m) {
    +<span class="fc bfc" id="L43" title="All 4 branches covered.">			if (!&quot;toString&quot;.equals(m.name)</span>
    +					|| !&quot;()Ljava/lang/String;&quot;.equals(m.desc)) {
    +<span class="fc" id="L45">				return false;</span>
    +			}
    +<span class="fc" id="L47">			firstIsALoad0(m);</span>
    +<span class="fc" id="L48">			nextIsInvokeDynamic(&quot;toString&quot;);</span>
    +<span class="fc" id="L49">			nextIs(Opcodes.ARETURN);</span>
    +<span class="fc bfc" id="L50" title="All 2 branches covered.">			return cursor != null;</span>
    +		}
    +
    +		boolean isHashCode(final MethodNode m) {
    +<span class="fc bfc" id="L54" title="All 4 branches covered.">			if (!&quot;hashCode&quot;.equals(m.name) || !&quot;()I&quot;.equals(m.desc)) {</span>
    +<span class="fc" id="L55">				return false;</span>
    +			}
    +<span class="fc" id="L57">			firstIsALoad0(m);</span>
    +<span class="fc" id="L58">			nextIsInvokeDynamic(&quot;hashCode&quot;);</span>
    +<span class="fc" id="L59">			nextIs(Opcodes.IRETURN);</span>
    +<span class="fc bfc" id="L60" title="All 2 branches covered.">			return cursor != null;</span>
    +		}
    +
    +		/**
    +		 * Criteria: method name == field name, only three instructions (aload0,
    +		 * getField, return), and note that this class only happens in a record,
    +		 * so it's safe to assume that this is the record field accessor
    +		 * generated. It may happen that the code is explicitly written by the
    +		 * developer and is intentionally kept the same as the default generated
    +		 * format, but that's just trivial code, and it still makes sense to
    +		 * filter them out anyway.
    +		 * &lt;p&gt;
    +		 * Exception: if the code is compiled within IntelliJ IDEA's Java
    +		 * instrumentation, there will be extra null-assertion instructions
    +		 * after the getField instruction. This case is &lt;emph&gt;ignored&lt;/emph&gt;.
    +		 */
    +		boolean isFieldAccessor(final MethodNode m) {
    +<span class="fc bfc" id="L77" title="All 2 branches covered.">			if (!m.desc.startsWith(&quot;()&quot;)) {</span>
    +				// Method with parameter(s)
    +<span class="fc" id="L79">				return false;</span>
    +			}
    +<span class="fc" id="L81">			firstIsALoad0(m);</span>
    +<span class="fc" id="L82">			nextIs(Opcodes.GETFIELD);</span>
    +<span class="fc bfc" id="L83" title="All 2 branches covered.">			if (!(cursor instanceof FieldInsnNode)) {</span>
    +<span class="fc" id="L84">				return false;</span>
    +			}
    +<span class="fc bfc" id="L86" title="All 2 branches covered.">			if (!((FieldInsnNode) cursor).name.equals(m.name)) {</span>
    +<span class="fc" id="L87">				return false;</span>
    +			}
    +<span class="fc" id="L89">			next();</span>
    +<span class="fc bfc" id="L90" title="All 2 branches covered.">			if (cursor == null) {</span>
    +<span class="fc" id="L91">				return false;</span>
    +			}
    +<span class="fc bfc" id="L93" title="All 2 branches covered.">			switch (cursor.getOpcode()) {</span>
    +			case Opcodes.IRETURN:
    +			case Opcodes.LRETURN:
    +			case Opcodes.FRETURN:
    +			case Opcodes.DRETURN:
    +			case Opcodes.ARETURN:
    +<span class="fc" id="L99">				return true;</span>
    +			default:
    +<span class="fc" id="L101">				return false;</span>
    +			}
    +		}
    +
    +		boolean isEquals(final MethodNode m) {
    +<span class="fc bfc" id="L106" title="All 4 branches covered.">			if (!&quot;equals&quot;.equals(m.name)</span>
    +					|| !&quot;(Ljava/lang/Object;)Z&quot;.equals(m.desc)) {
    +<span class="fc" id="L108">				return false;</span>
    +			}
    +<span class="fc" id="L110">			firstIsALoad0(m);</span>
    +<span class="fc" id="L111">			nextIs(Opcodes.ALOAD);</span>
    +<span class="fc" id="L112">			nextIsInvokeDynamic(&quot;equals&quot;);</span>
    +<span class="fc" id="L113">			nextIs(Opcodes.IRETURN);</span>
    +<span class="fc bfc" id="L114" title="All 2 branches covered.">			return cursor != null;</span>
    +		}
    +
    +		private void nextIsInvokeDynamic(final String name) {
    +<span class="fc" id="L118">			nextIs(Opcodes.INVOKEDYNAMIC);</span>
    +<span class="fc bfc" id="L119" title="All 2 branches covered.">			if (cursor == null) {</span>
    +<span class="fc" id="L120">				return;</span>
    +			}
    +<span class="fc" id="L122">			final InvokeDynamicInsnNode i = (InvokeDynamicInsnNode) cursor;</span>
    +<span class="fc" id="L123">			final Handle bsm = i.bsm;</span>
    +<span class="pc bpc" id="L124" title="3 of 6 branches missed.">			if (name.equals(i.name)</span>
    +					&amp;&amp; &quot;java/lang/runtime/ObjectMethods&quot;.equals(bsm.getOwner())
    +					&amp;&amp; &quot;bootstrap&quot;.equals(bsm.getName())) {
    +<span class="fc" id="L127">				return;</span>
    +			}
    +<span class="nc" id="L129">			cursor = null;</span>
    +<span class="nc" id="L130">		}</span>
    +	}
    +
    +}
    +</pre><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.12.202403270442</span>Code Coverage Report for JaCoCo 0.8.12-SNAPSHOT</div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/trunk/coverage/org.jacoco.core/org.jacoco.core.internal.analysis.filter/StringSwitchFilter$Matcher.html b/jacoco/trunk/coverage/org.jacoco.core/org.jacoco.core.internal.analysis.filter/StringSwitchFilter$Matcher.html
    new file mode 100644
    index 00000000000..43fd2dec959
    --- /dev/null
    +++ b/jacoco/trunk/coverage/org.jacoco.core/org.jacoco.core.internal.analysis.filter/StringSwitchFilter$Matcher.html
    @@ -0,0 +1 @@
    +<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="en"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../../jacoco-resources/report.gif" type="image/gif"/><title>StringSwitchFilter.Matcher</title><script type="text/javascript" src="../../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../../index.html" class="el_report">JaCoCo</a> &gt; <a href="../index.html" class="el_bundle">org.jacoco.core</a> &gt; <a href="index.html" class="el_package">org.jacoco.core.internal.analysis.filter</a> &gt; <span class="el_class">StringSwitchFilter.Matcher</span></div><h1>StringSwitchFilter.Matcher</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">1 of 135</td><td class="ctr2">99%</td><td class="bar">1 of 18</td><td class="ctr2">94%</td><td class="ctr1">1</td><td class="ctr2">10</td><td class="ctr1">1</td><td class="ctr2">37</td><td class="ctr1">0</td><td class="ctr2">1</td></tr></tfoot><tbody><tr><td id="a0"><a href="StringSwitchFilter.java.html#L46" class="el_method">match(AbstractInsnNode, IFilterOutput)</a></td><td class="bar" id="b0"><img src="../../jacoco-resources/greenbar.gif" width="119" height="10" title="134" alt="134"/></td><td class="ctr2" id="c0">99%</td><td class="bar" id="d0"><img src="../../jacoco-resources/redbar.gif" width="6" height="10" title="1" alt="1"/><img src="../../jacoco-resources/greenbar.gif" width="113" height="10" title="17" alt="17"/></td><td class="ctr2" id="e0">94%</td><td class="ctr1" id="f0">1</td><td class="ctr2" id="g0">10</td><td class="ctr1" id="h0">1</td><td class="ctr2" id="i0">37</td><td class="ctr1" id="j0">0</td><td class="ctr2" id="k0">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.12.202403270442</span>Code Coverage Report for JaCoCo 0.8.12-SNAPSHOT</div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/trunk/coverage/org.jacoco.core/org.jacoco.core.internal.analysis.filter/StringSwitchFilter.html b/jacoco/trunk/coverage/org.jacoco.core/org.jacoco.core.internal.analysis.filter/StringSwitchFilter.html
    new file mode 100644
    index 00000000000..9b3583005af
    --- /dev/null
    +++ b/jacoco/trunk/coverage/org.jacoco.core/org.jacoco.core.internal.analysis.filter/StringSwitchFilter.html
    @@ -0,0 +1 @@
    +<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="en"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../../jacoco-resources/report.gif" type="image/gif"/><title>StringSwitchFilter</title><script type="text/javascript" src="../../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../../index.html" class="el_report">JaCoCo</a> &gt; <a href="../index.html" class="el_bundle">org.jacoco.core</a> &gt; <a href="index.html" class="el_package">org.jacoco.core.internal.analysis.filter</a> &gt; <span class="el_class">StringSwitchFilter</span></div><h1>StringSwitchFilter</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">0 of 25</td><td class="ctr2">100%</td><td class="bar">0 of 2</td><td class="ctr2">100%</td><td class="ctr1">0</td><td class="ctr2">3</td><td class="ctr1">0</td><td class="ctr2">6</td><td class="ctr1">0</td><td class="ctr2">2</td></tr></tfoot><tbody><tr><td id="a0"><a href="StringSwitchFilter.java.html#L36" class="el_method">filter(MethodNode, IFilterContext, IFilterOutput)</a></td><td class="bar" id="b0"><img src="../../jacoco-resources/greenbar.gif" width="120" height="10" title="22" alt="22"/></td><td class="ctr2" id="c0">100%</td><td class="bar" id="d0"><img src="../../jacoco-resources/greenbar.gif" width="120" height="10" title="2" alt="2"/></td><td class="ctr2" id="e0">100%</td><td class="ctr1" id="f0">0</td><td class="ctr2" id="g0">2</td><td class="ctr1" id="h0">0</td><td class="ctr2" id="i0">4</td><td class="ctr1" id="j0">0</td><td class="ctr2" id="k0">1</td></tr><tr><td id="a1"><a href="StringSwitchFilter.java.html#L32" class="el_method">StringSwitchFilter()</a></td><td class="bar" id="b1"><img src="../../jacoco-resources/greenbar.gif" width="16" height="10" title="3" alt="3"/></td><td class="ctr2" id="c1">100%</td><td class="bar" id="d1"/><td class="ctr2" id="e1">n/a</td><td class="ctr1" id="f1">0</td><td class="ctr2" id="g1">1</td><td class="ctr1" id="h1">0</td><td class="ctr2" id="i1">2</td><td class="ctr1" id="j1">0</td><td class="ctr2" id="k1">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.12.202403270442</span>Code Coverage Report for JaCoCo 0.8.12-SNAPSHOT</div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/trunk/coverage/org.jacoco.core/org.jacoco.core.internal.analysis.filter/StringSwitchFilter.java.html b/jacoco/trunk/coverage/org.jacoco.core/org.jacoco.core.internal.analysis.filter/StringSwitchFilter.java.html
    new file mode 100644
    index 00000000000..1e1997c8147
    --- /dev/null
    +++ b/jacoco/trunk/coverage/org.jacoco.core/org.jacoco.core.internal.analysis.filter/StringSwitchFilter.java.html
    @@ -0,0 +1,111 @@
    +<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="en"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../../jacoco-resources/report.gif" type="image/gif"/><title>StringSwitchFilter.java</title><link rel="stylesheet" href="../../jacoco-resources/prettify.css" type="text/css"/><script type="text/javascript" src="../../jacoco-resources/prettify.js"></script></head><body onload="window['PR_TAB_WIDTH']=4;prettyPrint()"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../../index.html" class="el_report">JaCoCo</a> &gt; <a href="../index.html" class="el_bundle">org.jacoco.core</a> &gt; <a href="index.source.html" class="el_package">org.jacoco.core.internal.analysis.filter</a> &gt; <span class="el_source">StringSwitchFilter.java</span></div><h1>StringSwitchFilter.java</h1><pre class="source lang-java linenums">/*******************************************************************************
    + * Copyright (c) 2009, 2024 Mountainminds GmbH &amp; Co. KG and Contributors
    + * This program and the accompanying materials are made available under
    + * the terms of the Eclipse Public License 2.0 which is available at
    + * http://www.eclipse.org/legal/epl-2.0
    + *
    + * SPDX-License-Identifier: EPL-2.0
    + *
    + * Contributors:
    + *    Evgeny Mandrikov - initial API and implementation
    + *
    + *******************************************************************************/
    +package org.jacoco.core.internal.analysis.filter;
    +
    +import java.util.HashSet;
    +import java.util.Set;
    +
    +import org.objectweb.asm.Opcodes;
    +import org.objectweb.asm.tree.AbstractInsnNode;
    +import org.objectweb.asm.tree.JumpInsnNode;
    +import org.objectweb.asm.tree.LabelNode;
    +import org.objectweb.asm.tree.LookupSwitchInsnNode;
    +import org.objectweb.asm.tree.MethodNode;
    +import org.objectweb.asm.tree.TableSwitchInsnNode;
    +import org.objectweb.asm.tree.VarInsnNode;
    +
    +/**
    + * Filters code that is generated by ECJ for a &lt;code&gt;switch&lt;/code&gt; statement
    + * with a &lt;code&gt;String&lt;/code&gt; and by Kotlin compiler 1.5 and above for a
    + * &lt;code&gt;when&lt;/code&gt; expression with a &lt;code&gt;String&lt;/code&gt;.
    + */
    +<span class="fc" id="L32">public final class StringSwitchFilter implements IFilter {</span>
    +
    +	public void filter(final MethodNode methodNode,
    +			final IFilterContext context, final IFilterOutput output) {
    +<span class="fc" id="L36">		final Matcher matcher = new Matcher();</span>
    +<span class="fc bfc" id="L37" title="All 2 branches covered.">		for (final AbstractInsnNode i : methodNode.instructions) {</span>
    +<span class="fc" id="L38">			matcher.match(i, output);</span>
    +		}
    +<span class="fc" id="L40">	}</span>
    +
    +<span class="fc" id="L42">	private static class Matcher extends AbstractMatcher {</span>
    +		public void match(final AbstractInsnNode start,
    +				final IFilterOutput output) {
    +
    +<span class="fc bfc" id="L46" title="All 4 branches covered.">			if (start.getOpcode() != /* ECJ */ Opcodes.ASTORE</span>
    +					&amp;&amp; start.getOpcode() != /* Kotlin */ Opcodes.ALOAD) {
    +<span class="fc" id="L48">				return;</span>
    +			}
    +<span class="fc" id="L50">			cursor = start;</span>
    +<span class="fc" id="L51">			nextIsInvoke(Opcodes.INVOKEVIRTUAL, &quot;java/lang/String&quot;, &quot;hashCode&quot;,</span>
    +					&quot;()I&quot;);
    +<span class="fc" id="L53">			nextIsSwitch();</span>
    +<span class="fc bfc" id="L54" title="All 2 branches covered.">			if (cursor == null) {</span>
    +<span class="fc" id="L55">				return;</span>
    +			}
    +<span class="fc" id="L57">			vars.put(&quot;s&quot;, (VarInsnNode) start);</span>
    +
    +<span class="fc" id="L59">			final AbstractInsnNode s = cursor;</span>
    +			final int hashCodes;
    +			final LabelNode defaultLabel;
    +<span class="fc bfc" id="L62" title="All 2 branches covered.">			if (s.getOpcode() == Opcodes.LOOKUPSWITCH) {</span>
    +<span class="fc" id="L63">				final LookupSwitchInsnNode lookupSwitch = (LookupSwitchInsnNode) cursor;</span>
    +<span class="fc" id="L64">				defaultLabel = lookupSwitch.dflt;</span>
    +<span class="fc" id="L65">				hashCodes = lookupSwitch.labels.size();</span>
    +<span class="fc" id="L66">			} else {</span>
    +<span class="fc" id="L67">				final TableSwitchInsnNode tableSwitch = (TableSwitchInsnNode) cursor;</span>
    +<span class="fc" id="L68">				defaultLabel = tableSwitch.dflt;</span>
    +<span class="fc" id="L69">				hashCodes = tableSwitch.labels.size();</span>
    +			}
    +
    +<span class="fc bfc" id="L72" title="All 2 branches covered.">			if (hashCodes == 0) {</span>
    +<span class="fc" id="L73">				return;</span>
    +			}
    +
    +<span class="fc" id="L76">			final Set&lt;AbstractInsnNode&gt; replacements = new HashSet&lt;AbstractInsnNode&gt;();</span>
    +<span class="fc" id="L77">			replacements.add(skipNonOpcodes(defaultLabel));</span>
    +
    +<span class="fc bfc" id="L79" title="All 2 branches covered.">			for (int i = 0; i &lt; hashCodes; i++) {</span>
    +				while (true) {
    +<span class="fc" id="L81">					nextIsVar(Opcodes.ALOAD, &quot;s&quot;);</span>
    +<span class="fc" id="L82">					nextIs(Opcodes.LDC);</span>
    +<span class="fc" id="L83">					nextIsInvoke(Opcodes.INVOKEVIRTUAL, &quot;java/lang/String&quot;,</span>
    +							&quot;equals&quot;, &quot;(Ljava/lang/Object;)Z&quot;);
    +					// jump to case
    +<span class="fc" id="L86">					nextIs(Opcodes.IFNE);</span>
    +<span class="pc bpc" id="L87" title="1 of 2 branches missed.">					if (cursor == null) {</span>
    +<span class="nc" id="L88">						return;</span>
    +					}
    +
    +<span class="fc" id="L91">					replacements</span>
    +							.add(skipNonOpcodes(((JumpInsnNode) cursor).label));
    +
    +<span class="fc bfc" id="L94" title="All 2 branches covered.">					if (cursor.getNext().getOpcode() == Opcodes.GOTO) {</span>
    +						// end of comparisons for same hashCode
    +						// jump to default
    +<span class="fc" id="L97">						nextIs(Opcodes.GOTO);</span>
    +<span class="fc" id="L98">						break;</span>
    +<span class="fc bfc" id="L99" title="All 2 branches covered.">					} else if (cursor.getNext() == defaultLabel) {</span>
    +<span class="fc" id="L100">						break;</span>
    +					}
    +				}
    +			}
    +
    +<span class="fc" id="L105">			output.ignore(s.getNext(), cursor);</span>
    +<span class="fc" id="L106">			output.replaceBranches(s, replacements);</span>
    +<span class="fc" id="L107">		}</span>
    +	}
    +
    +}
    +</pre><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.12.202403270442</span>Code Coverage Report for JaCoCo 0.8.12-SNAPSHOT</div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/trunk/coverage/org.jacoco.core/org.jacoco.core.internal.analysis.filter/StringSwitchJavacFilter$Matcher.html b/jacoco/trunk/coverage/org.jacoco.core/org.jacoco.core.internal.analysis.filter/StringSwitchJavacFilter$Matcher.html
    new file mode 100644
    index 00000000000..150b53c3393
    --- /dev/null
    +++ b/jacoco/trunk/coverage/org.jacoco.core/org.jacoco.core.internal.analysis.filter/StringSwitchJavacFilter$Matcher.html
    @@ -0,0 +1 @@
    +<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="en"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../../jacoco-resources/report.gif" type="image/gif"/><title>StringSwitchJavacFilter.Matcher</title><script type="text/javascript" src="../../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../../index.html" class="el_report">JaCoCo</a> &gt; <a href="../index.html" class="el_bundle">org.jacoco.core</a> &gt; <a href="index.html" class="el_package">org.jacoco.core.internal.analysis.filter</a> &gt; <span class="el_class">StringSwitchJavacFilter.Matcher</span></div><h1>StringSwitchJavacFilter.Matcher</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">5 of 106</td><td class="ctr2">95%</td><td class="bar">3 of 18</td><td class="ctr2">83%</td><td class="ctr1">3</td><td class="ctr2">10</td><td class="ctr1">2</td><td class="ctr2">27</td><td class="ctr1">0</td><td class="ctr2">1</td></tr></tfoot><tbody><tr><td id="a0"><a href="StringSwitchJavacFilter.java.html#L59" class="el_method">match(AbstractInsnNode, AbstractInsnNode)</a></td><td class="bar" id="b0"><img src="../../jacoco-resources/redbar.gif" width="5" height="10" title="5" alt="5"/><img src="../../jacoco-resources/greenbar.gif" width="114" height="10" title="101" alt="101"/></td><td class="ctr2" id="c0">95%</td><td class="bar" id="d0"><img src="../../jacoco-resources/redbar.gif" width="20" height="10" title="3" alt="3"/><img src="../../jacoco-resources/greenbar.gif" width="100" height="10" title="15" alt="15"/></td><td class="ctr2" id="e0">83%</td><td class="ctr1" id="f0">3</td><td class="ctr2" id="g0">10</td><td class="ctr1" id="h0">2</td><td class="ctr2" id="i0">27</td><td class="ctr1" id="j0">0</td><td class="ctr2" id="k0">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.12.202403270442</span>Code Coverage Report for JaCoCo 0.8.12-SNAPSHOT</div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/trunk/coverage/org.jacoco.core/org.jacoco.core.internal.analysis.filter/StringSwitchJavacFilter.html b/jacoco/trunk/coverage/org.jacoco.core/org.jacoco.core.internal.analysis.filter/StringSwitchJavacFilter.html
    new file mode 100644
    index 00000000000..d2d0b42232e
    --- /dev/null
    +++ b/jacoco/trunk/coverage/org.jacoco.core/org.jacoco.core.internal.analysis.filter/StringSwitchJavacFilter.html
    @@ -0,0 +1 @@
    +<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="en"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../../jacoco-resources/report.gif" type="image/gif"/><title>StringSwitchJavacFilter</title><script type="text/javascript" src="../../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../../index.html" class="el_report">JaCoCo</a> &gt; <a href="../index.html" class="el_bundle">org.jacoco.core</a> &gt; <a href="index.html" class="el_package">org.jacoco.core.internal.analysis.filter</a> &gt; <span class="el_class">StringSwitchJavacFilter</span></div><h1>StringSwitchJavacFilter</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">0 of 52</td><td class="ctr2">100%</td><td class="bar">0 of 8</td><td class="ctr2">100%</td><td class="ctr1">0</td><td class="ctr2">7</td><td class="ctr1">0</td><td class="ctr2">13</td><td class="ctr1">0</td><td class="ctr2">3</td></tr></tfoot><tbody><tr><td id="a0"><a href="StringSwitchJavacFilter.java.html#L44" class="el_method">filter(AbstractInsnNode, IFilterOutput)</a></td><td class="bar" id="b0"><img src="../../jacoco-resources/greenbar.gif" width="120" height="10" title="32" alt="32"/></td><td class="ctr2" id="c0">100%</td><td class="bar" id="d0"><img src="../../jacoco-resources/greenbar.gif" width="120" height="10" title="6" alt="6"/></td><td class="ctr2" id="e0">100%</td><td class="ctr1" id="f0">0</td><td class="ctr2" id="g0">4</td><td class="ctr1" id="h0">0</td><td class="ctr2" id="i0">8</td><td class="ctr1" id="j0">0</td><td class="ctr2" id="k0">1</td></tr><tr><td id="a1"><a href="StringSwitchJavacFilter.java.html#L30" class="el_method">filter(MethodNode, IFilterContext, IFilterOutput)</a></td><td class="bar" id="b1"><img src="../../jacoco-resources/greenbar.gif" width="63" height="10" title="17" alt="17"/></td><td class="ctr2" id="c1">100%</td><td class="bar" id="d1"><img src="../../jacoco-resources/greenbar.gif" width="40" height="10" title="2" alt="2"/></td><td class="ctr2" id="e1">100%</td><td class="ctr1" id="f1">0</td><td class="ctr2" id="g1">2</td><td class="ctr1" id="h1">0</td><td class="ctr2" id="i1">3</td><td class="ctr1" id="j1">0</td><td class="ctr2" id="k1">1</td></tr><tr><td id="a2"><a href="StringSwitchJavacFilter.java.html#L26" class="el_method">StringSwitchJavacFilter()</a></td><td class="bar" id="b2"><img src="../../jacoco-resources/greenbar.gif" width="11" height="10" title="3" alt="3"/></td><td class="ctr2" id="c2">100%</td><td class="bar" id="d2"/><td class="ctr2" id="e2">n/a</td><td class="ctr1" id="f2">0</td><td class="ctr2" id="g2">1</td><td class="ctr1" id="h2">0</td><td class="ctr2" id="i2">2</td><td class="ctr1" id="j2">0</td><td class="ctr2" id="k2">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.12.202403270442</span>Code Coverage Report for JaCoCo 0.8.12-SNAPSHOT</div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/trunk/coverage/org.jacoco.core/org.jacoco.core.internal.analysis.filter/StringSwitchJavacFilter.java.html b/jacoco/trunk/coverage/org.jacoco.core/org.jacoco.core.internal.analysis.filter/StringSwitchJavacFilter.java.html
    new file mode 100644
    index 00000000000..b342530357a
    --- /dev/null
    +++ b/jacoco/trunk/coverage/org.jacoco.core/org.jacoco.core.internal.analysis.filter/StringSwitchJavacFilter.java.html
    @@ -0,0 +1,105 @@
    +<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="en"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../../jacoco-resources/report.gif" type="image/gif"/><title>StringSwitchJavacFilter.java</title><link rel="stylesheet" href="../../jacoco-resources/prettify.css" type="text/css"/><script type="text/javascript" src="../../jacoco-resources/prettify.js"></script></head><body onload="window['PR_TAB_WIDTH']=4;prettyPrint()"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../../index.html" class="el_report">JaCoCo</a> &gt; <a href="../index.html" class="el_bundle">org.jacoco.core</a> &gt; <a href="index.source.html" class="el_package">org.jacoco.core.internal.analysis.filter</a> &gt; <span class="el_source">StringSwitchJavacFilter.java</span></div><h1>StringSwitchJavacFilter.java</h1><pre class="source lang-java linenums">/*******************************************************************************
    + * Copyright (c) 2009, 2024 Mountainminds GmbH &amp; Co. KG and Contributors
    + * This program and the accompanying materials are made available under
    + * the terms of the Eclipse Public License 2.0 which is available at
    + * http://www.eclipse.org/legal/epl-2.0
    + *
    + * SPDX-License-Identifier: EPL-2.0
    + *
    + * Contributors:
    + *    Evgeny Mandrikov - initial API and implementation
    + *
    + *******************************************************************************/
    +package org.jacoco.core.internal.analysis.filter;
    +
    +import org.objectweb.asm.Opcodes;
    +import org.objectweb.asm.tree.AbstractInsnNode;
    +import org.objectweb.asm.tree.JumpInsnNode;
    +import org.objectweb.asm.tree.LabelNode;
    +import org.objectweb.asm.tree.LookupSwitchInsnNode;
    +import org.objectweb.asm.tree.MethodNode;
    +import org.objectweb.asm.tree.TableSwitchInsnNode;
    +
    +/**
    + * Filters code that is generated by javac for a switch statement with a String.
    + */
    +<span class="fc" id="L26">public final class StringSwitchJavacFilter implements IFilter {</span>
    +
    +	public void filter(final MethodNode methodNode,
    +			final IFilterContext context, final IFilterOutput output) {
    +<span class="fc bfc" id="L30" title="All 2 branches covered.">		for (final AbstractInsnNode i : methodNode.instructions) {</span>
    +<span class="fc" id="L31">			filter(i, output);</span>
    +		}
    +<span class="fc" id="L33">	}</span>
    +
    +	/**
    +	 * javac generates two switches. First one by {@link String#hashCode()}.
    +	 * Number of handlers in the second switch is equal to number of handlers in
    +	 * source code, so it is enough to completely filter-out first switch.
    +	 * Handler for default case of the first switch - is the second switch.
    +	 */
    +	private void filter(final AbstractInsnNode start,
    +			final IFilterOutput output) {
    +		final LabelNode dflt;
    +<span class="fc bfc" id="L44" title="All 2 branches covered.">		if (start.getOpcode() == Opcodes.LOOKUPSWITCH) {</span>
    +<span class="fc" id="L45">			dflt = ((LookupSwitchInsnNode) start).dflt;</span>
    +<span class="fc bfc" id="L46" title="All 2 branches covered.">		} else if (start.getOpcode() == Opcodes.TABLESWITCH) {</span>
    +<span class="fc" id="L47">			dflt = ((TableSwitchInsnNode) start).dflt;</span>
    +		} else {
    +<span class="fc" id="L49">			return;</span>
    +		}
    +<span class="fc bfc" id="L51" title="All 2 branches covered.">		if (new Matcher().match(start, dflt)) {</span>
    +<span class="fc" id="L52">			output.ignore(start, dflt);</span>
    +		}
    +<span class="fc" id="L54">	}</span>
    +
    +<span class="fc" id="L56">	private static class Matcher extends AbstractMatcher {</span>
    +		boolean match(final AbstractInsnNode start,
    +				final AbstractInsnNode secondSwitchLabel) {
    +<span class="fc" id="L59">			cursor = start;</span>
    +<span class="fc bfc" id="L60" title="All 4 branches covered.">			for (int i = 0; cursor != null &amp;&amp; i &lt; 4; i++) {</span>
    +<span class="fc" id="L61">				cursor = cursor.getPrevious();</span>
    +			}
    +<span class="fc bfc" id="L63" title="All 4 branches covered.">			if (cursor == null || cursor.getOpcode() != Opcodes.ICONST_M1) {</span>
    +<span class="fc" id="L64">				return false;</span>
    +			}
    +<span class="fc" id="L66">			nextIsVar(Opcodes.ISTORE, &quot;c&quot;);</span>
    +			// Even if expression is not a variable, its result will be
    +			// precomputed before the previous two instructions:
    +<span class="fc" id="L69">			nextIsVar(Opcodes.ALOAD, &quot;s&quot;);</span>
    +<span class="fc" id="L70">			nextIsInvoke(Opcodes.INVOKEVIRTUAL, &quot;java/lang/String&quot;, &quot;hashCode&quot;,</span>
    +					&quot;()I&quot;);
    +<span class="fc" id="L72">			next();</span>
    +			while (true) {
    +<span class="fc" id="L74">				nextIsVar(Opcodes.ALOAD, &quot;s&quot;);</span>
    +<span class="fc" id="L75">				nextIs(Opcodes.LDC);</span>
    +<span class="fc" id="L76">				nextIsInvoke(Opcodes.INVOKEVIRTUAL, &quot;java/lang/String&quot;,</span>
    +						&quot;equals&quot;, &quot;(Ljava/lang/Object;)Z&quot;);
    +				// jump to next comparison or second switch
    +<span class="fc" id="L79">				nextIs(Opcodes.IFEQ);</span>
    +				// ICONST, BIPUSH or SIPUSH
    +<span class="fc" id="L81">				next();</span>
    +<span class="fc" id="L82">				nextIsVar(Opcodes.ISTORE, &quot;c&quot;);</span>
    +<span class="pc bpc" id="L83" title="1 of 2 branches missed.">				if (cursor == null) {</span>
    +<span class="nc" id="L84">					return false;</span>
    +				}
    +<span class="fc bfc" id="L86" title="All 2 branches covered.">				if (cursor.getNext() == secondSwitchLabel) {</span>
    +<span class="fc" id="L87">					break;</span>
    +				}
    +<span class="fc" id="L89">				nextIs(Opcodes.GOTO);</span>
    +<span class="fc bfc" id="L90" title="All 2 branches covered.">				if (cursor == null) {</span>
    +<span class="fc" id="L91">					return false;</span>
    +				}
    +<span class="pc bpc" id="L93" title="1 of 2 branches missed.">				if (((JumpInsnNode) cursor).label != secondSwitchLabel) {</span>
    +<span class="nc" id="L94">					return false;</span>
    +				}
    +			}
    +<span class="fc" id="L97">			nextIsVar(Opcodes.ILOAD, &quot;c&quot;);</span>
    +			// Can be TABLESWITCH or LOOKUPSWITCH depending on number of cases
    +<span class="fc" id="L99">			nextIsSwitch();</span>
    +<span class="pc bpc" id="L100" title="1 of 2 branches missed.">			return cursor != null;</span>
    +		}
    +	}
    +
    +}
    +</pre><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.12.202403270442</span>Code Coverage Report for JaCoCo 0.8.12-SNAPSHOT</div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/trunk/coverage/org.jacoco.core/org.jacoco.core.internal.analysis.filter/SynchronizedFilter$Matcher.html b/jacoco/trunk/coverage/org.jacoco.core/org.jacoco.core.internal.analysis.filter/SynchronizedFilter$Matcher.html
    new file mode 100644
    index 00000000000..e8380b65b2b
    --- /dev/null
    +++ b/jacoco/trunk/coverage/org.jacoco.core/org.jacoco.core.internal.analysis.filter/SynchronizedFilter$Matcher.html
    @@ -0,0 +1 @@
    +<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="en"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../../jacoco-resources/report.gif" type="image/gif"/><title>SynchronizedFilter.Matcher</title><script type="text/javascript" src="../../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../../index.html" class="el_report">JaCoCo</a> &gt; <a href="../index.html" class="el_bundle">org.jacoco.core</a> &gt; <a href="index.html" class="el_package">org.jacoco.core.internal.analysis.filter</a> &gt; <span class="el_class">SynchronizedFilter.Matcher</span></div><h1>SynchronizedFilter.Matcher</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">0 of 65</td><td class="ctr2">100%</td><td class="bar">0 of 8</td><td class="ctr2">100%</td><td class="ctr1">0</td><td class="ctr2">8</td><td class="ctr1">0</td><td class="ctr2">18</td><td class="ctr1">0</td><td class="ctr2">4</td></tr></tfoot><tbody><tr><td id="a2"><a href="SynchronizedFilter.java.html#L57" class="el_method">nextIsJavac()</a></td><td class="bar" id="b0"><img src="../../jacoco-resources/greenbar.gif" width="120" height="10" title="28" alt="28"/></td><td class="ctr2" id="c0">100%</td><td class="bar" id="d1"><img src="../../jacoco-resources/greenbar.gif" width="60" height="10" title="2" alt="2"/></td><td class="ctr2" id="e0">100%</td><td class="ctr1" id="f0">0</td><td class="ctr2" id="g1">2</td><td class="ctr1" id="h0">0</td><td class="ctr2" id="i0">7</td><td class="ctr1" id="j0">0</td><td class="ctr2" id="k0">1</td></tr><tr><td id="a1"><a href="SynchronizedFilter.java.html#L67" class="el_method">nextIsEcj()</a></td><td class="bar" id="b1"><img src="../../jacoco-resources/greenbar.gif" width="85" height="10" title="20" alt="20"/></td><td class="ctr2" id="c1">100%</td><td class="bar" id="d2"><img src="../../jacoco-resources/greenbar.gif" width="60" height="10" title="2" alt="2"/></td><td class="ctr2" id="e1">100%</td><td class="ctr1" id="f1">0</td><td class="ctr2" id="g2">2</td><td class="ctr1" id="h1">0</td><td class="ctr2" id="i1">5</td><td class="ctr1" id="j1">0</td><td class="ctr2" id="k1">1</td></tr><tr><td id="a0"><a href="SynchronizedFilter.java.html#L50" class="el_method">match()</a></td><td class="bar" id="b2"><img src="../../jacoco-resources/greenbar.gif" width="47" height="10" title="11" alt="11"/></td><td class="ctr2" id="c2">100%</td><td class="bar" id="d0"><img src="../../jacoco-resources/greenbar.gif" width="120" height="10" title="4" alt="4"/></td><td class="ctr2" id="e2">100%</td><td class="ctr1" id="f2">0</td><td class="ctr2" id="g0">3</td><td class="ctr1" id="h2">0</td><td class="ctr2" id="i2">3</td><td class="ctr1" id="j2">0</td><td class="ctr2" id="k2">1</td></tr><tr><td id="a3"><a href="SynchronizedFilter.java.html#L45" class="el_method">SynchronizedFilter.Matcher(AbstractInsnNode)</a></td><td class="bar" id="b3"><img src="../../jacoco-resources/greenbar.gif" width="25" height="10" title="6" alt="6"/></td><td class="ctr2" id="c3">100%</td><td class="bar" id="d3"/><td class="ctr2" id="e3">n/a</td><td class="ctr1" id="f3">0</td><td class="ctr2" id="g3">1</td><td class="ctr1" id="h3">0</td><td class="ctr2" id="i3">3</td><td class="ctr1" id="j3">0</td><td class="ctr2" id="k3">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.12.202403270442</span>Code Coverage Report for JaCoCo 0.8.12-SNAPSHOT</div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/trunk/coverage/org.jacoco.core/org.jacoco.core.internal.analysis.filter/SynchronizedFilter.html b/jacoco/trunk/coverage/org.jacoco.core/org.jacoco.core.internal.analysis.filter/SynchronizedFilter.html
    new file mode 100644
    index 00000000000..43800c2dec2
    --- /dev/null
    +++ b/jacoco/trunk/coverage/org.jacoco.core/org.jacoco.core.internal.analysis.filter/SynchronizedFilter.html
    @@ -0,0 +1 @@
    +<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="en"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../../jacoco-resources/report.gif" type="image/gif"/><title>SynchronizedFilter</title><script type="text/javascript" src="../../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../../index.html" class="el_report">JaCoCo</a> &gt; <a href="../index.html" class="el_bundle">org.jacoco.core</a> &gt; <a href="index.html" class="el_package">org.jacoco.core.internal.analysis.filter</a> &gt; <span class="el_class">SynchronizedFilter</span></div><h1>SynchronizedFilter</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">0 of 42</td><td class="ctr2">100%</td><td class="bar">0 of 8</td><td class="ctr2">100%</td><td class="ctr1">0</td><td class="ctr2">6</td><td class="ctr1">0</td><td class="ctr2">13</td><td class="ctr1">0</td><td class="ctr2">2</td></tr></tfoot><tbody><tr><td id="a0"><a href="SynchronizedFilter.java.html#L27" class="el_method">filter(MethodNode, IFilterContext, IFilterOutput)</a></td><td class="bar" id="b0"><img src="../../jacoco-resources/greenbar.gif" width="120" height="10" title="39" alt="39"/></td><td class="ctr2" id="c0">100%</td><td class="bar" id="d0"><img src="../../jacoco-resources/greenbar.gif" width="120" height="10" title="8" alt="8"/></td><td class="ctr2" id="e0">100%</td><td class="ctr1" id="f0">0</td><td class="ctr2" id="g0">5</td><td class="ctr1" id="h0">0</td><td class="ctr2" id="i0">11</td><td class="ctr1" id="j0">0</td><td class="ctr2" id="k0">1</td></tr><tr><td id="a1"><a href="SynchronizedFilter.java.html#L23" class="el_method">SynchronizedFilter()</a></td><td class="bar" id="b1"><img src="../../jacoco-resources/greenbar.gif" width="9" height="10" title="3" alt="3"/></td><td class="ctr2" id="c1">100%</td><td class="bar" id="d1"/><td class="ctr2" id="e1">n/a</td><td class="ctr1" id="f1">0</td><td class="ctr2" id="g1">1</td><td class="ctr1" id="h1">0</td><td class="ctr2" id="i1">2</td><td class="ctr1" id="j1">0</td><td class="ctr2" id="k1">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.12.202403270442</span>Code Coverage Report for JaCoCo 0.8.12-SNAPSHOT</div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/trunk/coverage/org.jacoco.core/org.jacoco.core.internal.analysis.filter/SynchronizedFilter.java.html b/jacoco/trunk/coverage/org.jacoco.core/org.jacoco.core.internal.analysis.filter/SynchronizedFilter.java.html
    new file mode 100644
    index 00000000000..2406b28e670
    --- /dev/null
    +++ b/jacoco/trunk/coverage/org.jacoco.core/org.jacoco.core.internal.analysis.filter/SynchronizedFilter.java.html
    @@ -0,0 +1,76 @@
    +<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="en"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../../jacoco-resources/report.gif" type="image/gif"/><title>SynchronizedFilter.java</title><link rel="stylesheet" href="../../jacoco-resources/prettify.css" type="text/css"/><script type="text/javascript" src="../../jacoco-resources/prettify.js"></script></head><body onload="window['PR_TAB_WIDTH']=4;prettyPrint()"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../../index.html" class="el_report">JaCoCo</a> &gt; <a href="../index.html" class="el_bundle">org.jacoco.core</a> &gt; <a href="index.source.html" class="el_package">org.jacoco.core.internal.analysis.filter</a> &gt; <span class="el_source">SynchronizedFilter.java</span></div><h1>SynchronizedFilter.java</h1><pre class="source lang-java linenums">/*******************************************************************************
    + * Copyright (c) 2009, 2024 Mountainminds GmbH &amp; Co. KG and Contributors
    + * This program and the accompanying materials are made available under
    + * the terms of the Eclipse Public License 2.0 which is available at
    + * http://www.eclipse.org/legal/epl-2.0
    + *
    + * SPDX-License-Identifier: EPL-2.0
    + *
    + * Contributors:
    + *    Evgeny Mandrikov - initial API and implementation
    + *
    + *******************************************************************************/
    +package org.jacoco.core.internal.analysis.filter;
    +
    +import org.objectweb.asm.Opcodes;
    +import org.objectweb.asm.tree.AbstractInsnNode;
    +import org.objectweb.asm.tree.MethodNode;
    +import org.objectweb.asm.tree.TryCatchBlockNode;
    +
    +/**
    + * Filters code that is generated for synchronized statement.
    + */
    +<span class="fc" id="L23">public final class SynchronizedFilter implements IFilter {</span>
    +
    +	public void filter(final MethodNode methodNode,
    +			final IFilterContext context, final IFilterOutput output) {
    +<span class="fc bfc" id="L27" title="All 2 branches covered.">		for (final TryCatchBlockNode tryCatch : methodNode.tryCatchBlocks) {</span>
    +<span class="fc bfc" id="L28" title="All 2 branches covered.">			if (tryCatch.type != null) {</span>
    +<span class="fc" id="L29">				continue;</span>
    +			}
    +<span class="fc bfc" id="L31" title="All 2 branches covered.">			if (tryCatch.start == tryCatch.handler) {</span>
    +<span class="fc" id="L32">				continue;</span>
    +			}
    +<span class="fc" id="L34">			final AbstractInsnNode to = new Matcher(tryCatch.handler).match();</span>
    +<span class="fc bfc" id="L35" title="All 2 branches covered.">			if (to == null) {</span>
    +<span class="fc" id="L36">				continue;</span>
    +			}
    +<span class="fc" id="L38">			output.ignore(tryCatch.handler, to);</span>
    +<span class="fc" id="L39">		}</span>
    +<span class="fc" id="L40">	}</span>
    +
    +<span class="fc" id="L42">	private static class Matcher extends AbstractMatcher {</span>
    +		private final AbstractInsnNode start;
    +
    +<span class="fc" id="L45">		private Matcher(final AbstractInsnNode start) {</span>
    +<span class="fc" id="L46">			this.start = start;</span>
    +<span class="fc" id="L47">		}</span>
    +
    +		private AbstractInsnNode match() {
    +<span class="fc bfc" id="L50" title="All 4 branches covered.">			if (nextIsEcj() || nextIsJavac()) {</span>
    +<span class="fc" id="L51">				return cursor;</span>
    +			}
    +<span class="fc" id="L53">			return null;</span>
    +		}
    +
    +		private boolean nextIsJavac() {
    +<span class="fc" id="L57">			cursor = start;</span>
    +<span class="fc" id="L58">			nextIsVar(Opcodes.ASTORE, &quot;t&quot;);</span>
    +<span class="fc" id="L59">			nextIs(Opcodes.ALOAD);</span>
    +<span class="fc" id="L60">			nextIs(Opcodes.MONITOREXIT);</span>
    +<span class="fc" id="L61">			nextIsVar(Opcodes.ALOAD, &quot;t&quot;);</span>
    +<span class="fc" id="L62">			nextIs(Opcodes.ATHROW);</span>
    +<span class="fc bfc" id="L63" title="All 2 branches covered.">			return cursor != null;</span>
    +		}
    +
    +		private boolean nextIsEcj() {
    +<span class="fc" id="L67">			cursor = start;</span>
    +<span class="fc" id="L68">			nextIs(Opcodes.ALOAD);</span>
    +<span class="fc" id="L69">			nextIs(Opcodes.MONITOREXIT);</span>
    +<span class="fc" id="L70">			nextIs(Opcodes.ATHROW);</span>
    +<span class="fc bfc" id="L71" title="All 2 branches covered.">			return cursor != null;</span>
    +		}
    +	}
    +
    +}
    +</pre><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.12.202403270442</span>Code Coverage Report for JaCoCo 0.8.12-SNAPSHOT</div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/trunk/coverage/org.jacoco.core/org.jacoco.core.internal.analysis.filter/SyntheticFilter.html b/jacoco/trunk/coverage/org.jacoco.core/org.jacoco.core.internal.analysis.filter/SyntheticFilter.html
    new file mode 100644
    index 00000000000..d77af1c58cf
    --- /dev/null
    +++ b/jacoco/trunk/coverage/org.jacoco.core/org.jacoco.core.internal.analysis.filter/SyntheticFilter.html
    @@ -0,0 +1 @@
    +<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="en"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../../jacoco-resources/report.gif" type="image/gif"/><title>SyntheticFilter</title><script type="text/javascript" src="../../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../../index.html" class="el_report">JaCoCo</a> &gt; <a href="../index.html" class="el_bundle">org.jacoco.core</a> &gt; <a href="index.html" class="el_package">org.jacoco.core.internal.analysis.filter</a> &gt; <span class="el_class">SyntheticFilter</span></div><h1>SyntheticFilter</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">0 of 62</td><td class="ctr2">100%</td><td class="bar">1 of 20</td><td class="ctr2">95%</td><td class="ctr1">1</td><td class="ctr2">13</td><td class="ctr1">0</td><td class="ctr2">18</td><td class="ctr1">0</td><td class="ctr2">3</td></tr></tfoot><tbody><tr><td id="a0"><a href="SyntheticFilter.java.html#L30" class="el_method">filter(MethodNode, IFilterContext, IFilterOutput)</a></td><td class="bar" id="b0"><img src="../../jacoco-resources/greenbar.gif" width="120" height="10" title="45" alt="45"/></td><td class="ctr2" id="c0">100%</td><td class="bar" id="d0"><img src="../../jacoco-resources/redbar.gif" width="7" height="10" title="1" alt="1"/><img src="../../jacoco-resources/greenbar.gif" width="112" height="10" title="15" alt="15"/></td><td class="ctr2" id="e1">93%</td><td class="ctr1" id="f0">1</td><td class="ctr2" id="g0">9</td><td class="ctr1" id="h0">0</td><td class="ctr2" id="i0">16</td><td class="ctr1" id="j0">0</td><td class="ctr2" id="k0">1</td></tr><tr><td id="a1"><a href="SyntheticFilter.java.html#L24" class="el_method">isScalaClass(IFilterContext)</a></td><td class="bar" id="b1"><img src="../../jacoco-resources/greenbar.gif" width="37" height="10" title="14" alt="14"/></td><td class="ctr2" id="c1">100%</td><td class="bar" id="d1"><img src="../../jacoco-resources/greenbar.gif" width="30" height="10" title="4" alt="4"/></td><td class="ctr2" id="e0">100%</td><td class="ctr1" id="f1">0</td><td class="ctr2" id="g1">3</td><td class="ctr1" id="h1">0</td><td class="ctr2" id="i1">1</td><td class="ctr1" id="j1">0</td><td class="ctr2" id="k1">1</td></tr><tr><td id="a2"><a href="SyntheticFilter.java.html#L21" class="el_method">SyntheticFilter()</a></td><td class="bar" id="b2"><img src="../../jacoco-resources/greenbar.gif" width="8" height="10" title="3" alt="3"/></td><td class="ctr2" id="c2">100%</td><td class="bar" id="d2"/><td class="ctr2" id="e2">n/a</td><td class="ctr1" id="f2">0</td><td class="ctr2" id="g2">1</td><td class="ctr1" id="h2">0</td><td class="ctr2" id="i2">1</td><td class="ctr1" id="j2">0</td><td class="ctr2" id="k2">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.12.202403270442</span>Code Coverage Report for JaCoCo 0.8.12-SNAPSHOT</div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/trunk/coverage/org.jacoco.core/org.jacoco.core.internal.analysis.filter/SyntheticFilter.java.html b/jacoco/trunk/coverage/org.jacoco.core/org.jacoco.core.internal.analysis.filter/SyntheticFilter.java.html
    new file mode 100644
    index 00000000000..7e4f1009f4d
    --- /dev/null
    +++ b/jacoco/trunk/coverage/org.jacoco.core/org.jacoco.core.internal.analysis.filter/SyntheticFilter.java.html
    @@ -0,0 +1,66 @@
    +<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="en"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../../jacoco-resources/report.gif" type="image/gif"/><title>SyntheticFilter.java</title><link rel="stylesheet" href="../../jacoco-resources/prettify.css" type="text/css"/><script type="text/javascript" src="../../jacoco-resources/prettify.js"></script></head><body onload="window['PR_TAB_WIDTH']=4;prettyPrint()"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../../index.html" class="el_report">JaCoCo</a> &gt; <a href="../index.html" class="el_bundle">org.jacoco.core</a> &gt; <a href="index.source.html" class="el_package">org.jacoco.core.internal.analysis.filter</a> &gt; <span class="el_source">SyntheticFilter.java</span></div><h1>SyntheticFilter.java</h1><pre class="source lang-java linenums">/*******************************************************************************
    + * Copyright (c) 2009, 2024 Mountainminds GmbH &amp; Co. KG and Contributors
    + * This program and the accompanying materials are made available under
    + * the terms of the Eclipse Public License 2.0 which is available at
    + * http://www.eclipse.org/legal/epl-2.0
    + *
    + * SPDX-License-Identifier: EPL-2.0
    + *
    + * Contributors:
    + *    Evgeny Mandrikov - initial API and implementation
    + *
    + *******************************************************************************/
    +package org.jacoco.core.internal.analysis.filter;
    +
    +import org.objectweb.asm.Opcodes;
    +import org.objectweb.asm.tree.MethodNode;
    +
    +/**
    + * Filters synthetic methods unless they represent bodies of lambda expressions.
    + */
    +<span class="fc" id="L21">public final class SyntheticFilter implements IFilter {</span>
    +
    +	private static boolean isScalaClass(final IFilterContext context) {
    +<span class="fc bfc" id="L24" title="All 4 branches covered.">		return context.getClassAttributes().contains(&quot;ScalaSig&quot;)</span>
    +				|| context.getClassAttributes().contains(&quot;Scala&quot;);
    +	}
    +
    +	public void filter(final MethodNode methodNode,
    +			final IFilterContext context, final IFilterOutput output) {
    +<span class="fc bfc" id="L30" title="All 2 branches covered.">		if ((methodNode.access &amp; Opcodes.ACC_SYNTHETIC) == 0) {</span>
    +<span class="fc" id="L31">			return;</span>
    +		}
    +
    +<span class="fc bfc" id="L34" title="All 2 branches covered.">		if (methodNode.name.startsWith(&quot;lambda$&quot;)) {</span>
    +<span class="fc" id="L35">			return;</span>
    +		}
    +
    +<span class="fc bfc" id="L38" title="All 2 branches covered.">		if (isScalaClass(context)) {</span>
    +<span class="pc bpc" id="L39" title="1 of 2 branches missed.">			if (methodNode.name.startsWith(&quot;$anonfun$&quot;)) {</span>
    +<span class="fc" id="L40">				return;</span>
    +			}
    +		}
    +
    +<span class="fc bfc" id="L44" title="All 2 branches covered.">		if (KotlinGeneratedFilter.isKotlinClass(context)) {</span>
    +<span class="fc bfc" id="L45" title="All 2 branches covered.">			if (KotlinDefaultArgumentsFilter</span>
    +					.isDefaultArgumentsMethod(methodNode)) {
    +<span class="fc" id="L47">				return;</span>
    +			}
    +
    +<span class="fc bfc" id="L50" title="All 2 branches covered.">			if (KotlinDefaultArgumentsFilter</span>
    +					.isDefaultArgumentsConstructor(methodNode)) {
    +<span class="fc" id="L52">				return;</span>
    +			}
    +
    +<span class="fc bfc" id="L55" title="All 2 branches covered.">			if (KotlinCoroutineFilter</span>
    +					.isImplementationOfSuspendFunction(methodNode)) {
    +<span class="fc" id="L57">				return;</span>
    +			}
    +		}
    +
    +<span class="fc" id="L61">		output.ignore(methodNode.instructions.getFirst(),</span>
    +				methodNode.instructions.getLast());
    +<span class="fc" id="L63">	}</span>
    +
    +}
    +</pre><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.12.202403270442</span>Code Coverage Report for JaCoCo 0.8.12-SNAPSHOT</div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/trunk/coverage/org.jacoco.core/org.jacoco.core.internal.analysis.filter/TryWithResourcesEcjFilter$Matcher.html b/jacoco/trunk/coverage/org.jacoco.core/org.jacoco.core.internal.analysis.filter/TryWithResourcesEcjFilter$Matcher.html
    new file mode 100644
    index 00000000000..026a6c09ef5
    --- /dev/null
    +++ b/jacoco/trunk/coverage/org.jacoco.core/org.jacoco.core.internal.analysis.filter/TryWithResourcesEcjFilter$Matcher.html
    @@ -0,0 +1 @@
    +<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="en"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../../jacoco-resources/report.gif" type="image/gif"/><title>TryWithResourcesEcjFilter.Matcher</title><script type="text/javascript" src="../../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../../index.html" class="el_report">JaCoCo</a> &gt; <a href="../index.html" class="el_bundle">org.jacoco.core</a> &gt; <a href="index.html" class="el_package">org.jacoco.core.internal.analysis.filter</a> &gt; <span class="el_class">TryWithResourcesEcjFilter.Matcher</span></div><h1>TryWithResourcesEcjFilter.Matcher</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">29 of 562</td><td class="ctr2">94%</td><td class="bar">14 of 58</td><td class="ctr2">75%</td><td class="ctr1">14</td><td class="ctr2">39</td><td class="ctr1">13</td><td class="ctr2">140</td><td class="ctr1">0</td><td class="ctr2">10</td></tr></tfoot><tbody><tr><td id="a2"><a href="TryWithResourcesEcjFilter.java.html#L211" class="el_method">nextIsClose(String)</a></td><td class="bar" id="b0"><img src="../../jacoco-resources/redbar.gif" width="10" height="10" title="11" alt="11"/><img src="../../jacoco-resources/greenbar.gif" width="51" height="10" title="57" alt="57"/></td><td class="ctr2" id="c8">83%</td><td class="bar" id="d0"><img src="../../jacoco-resources/redbar.gif" width="42" height="10" title="5" alt="5"/><img src="../../jacoco-resources/greenbar.gif" width="77" height="10" title="9" alt="9"/></td><td class="ctr2" id="e7">64%</td><td class="ctr1" id="f0">5</td><td class="ctr2" id="g0">8</td><td class="ctr1" id="h0">5</td><td class="ctr2" id="i2">18</td><td class="ctr1" id="j0">0</td><td class="ctr2" id="k0">1</td></tr><tr><td id="a7"><a href="TryWithResourcesEcjFilter.java.html#L250" class="el_method">nextIsLabel(String)</a></td><td class="bar" id="b1"><img src="../../jacoco-resources/redbar.gif" width="6" height="10" title="7" alt="7"/><img src="../../jacoco-resources/greenbar.gif" width="25" height="10" title="28" alt="28"/></td><td class="ctr2" id="c9">80%</td><td class="bar" id="d3"><img src="../../jacoco-resources/redbar.gif" width="17" height="10" title="2" alt="2"/><img src="../../jacoco-resources/greenbar.gif" width="34" height="10" title="4" alt="4"/></td><td class="ctr2" id="e6">66%</td><td class="ctr1" id="f3">2</td><td class="ctr2" id="g3">4</td><td class="ctr1" id="h1">3</td><td class="ctr2" id="i4">11</td><td class="ctr1" id="j1">0</td><td class="ctr2" id="k1">1</td></tr><tr><td id="a0"><a href="TryWithResourcesEcjFilter.java.html#L71" class="el_method">matchEcj()</a></td><td class="bar" id="b2"><img src="../../jacoco-resources/redbar.gif" width="3" height="10" title="4" alt="4"/><img src="../../jacoco-resources/greenbar.gif" width="116" height="10" title="128" alt="128"/></td><td class="ctr2" id="c5">96%</td><td class="bar" id="d2"><img src="../../jacoco-resources/redbar.gif" width="25" height="10" title="3" alt="3"/><img src="../../jacoco-resources/greenbar.gif" width="77" height="10" title="9" alt="9"/></td><td class="ctr2" id="e5">75%</td><td class="ctr1" id="f1">3</td><td class="ctr2" id="g2">7</td><td class="ctr1" id="h2">2</td><td class="ctr2" id="i0">33</td><td class="ctr1" id="j2">0</td><td class="ctr2" id="k2">1</td></tr><tr><td id="a1"><a href="TryWithResourcesEcjFilter.java.html#L120" class="el_method">matchEcjNoFlowOut()</a></td><td class="bar" id="b3"><img src="../../jacoco-resources/redbar.gif" width="3" height="10" title="4" alt="4"/><img src="../../jacoco-resources/greenbar.gif" width="102" height="10" title="113" alt="113"/></td><td class="ctr2" id="c6">96%</td><td class="bar" id="d1"><img src="../../jacoco-resources/redbar.gif" width="25" height="10" title="3" alt="3"/><img src="../../jacoco-resources/greenbar.gif" width="94" height="10" title="11" alt="11"/></td><td class="ctr2" id="e4">78%</td><td class="ctr1" id="f2">3</td><td class="ctr2" id="g1">8</td><td class="ctr1" id="h3">2</td><td class="ctr2" id="i1">28</td><td class="ctr1" id="j3">0</td><td class="ctr2" id="k3">1</td></tr><tr><td id="a6"><a href="TryWithResourcesEcjFilter.java.html#L236" class="el_method">nextIsJump(int, String)</a></td><td class="bar" id="b4"><img src="../../jacoco-resources/redbar.gif" width="2" height="10" title="3" alt="3"/><img src="../../jacoco-resources/greenbar.gif" width="28" height="10" title="31" alt="31"/></td><td class="ctr2" id="c7">91%</td><td class="bar" id="d4"><img src="../../jacoco-resources/redbar.gif" width="8" height="10" title="1" alt="1"/><img src="../../jacoco-resources/greenbar.gif" width="42" height="10" title="5" alt="5"/></td><td class="ctr2" id="e3">83%</td><td class="ctr1" id="f4">1</td><td class="ctr2" id="g4">4</td><td class="ctr1" id="h4">1</td><td class="ctr2" id="i5">10</td><td class="ctr1" id="j4">0</td><td class="ctr2" id="k4">1</td></tr><tr><td id="a5"><a href="TryWithResourcesEcjFilter.java.html#L184" class="el_method">nextIsEcjSuppress(String)</a></td><td class="bar" id="b5"><img src="../../jacoco-resources/greenbar.gif" width="81" height="10" title="90" alt="90"/></td><td class="ctr2" id="c0">100%</td><td class="bar" id="d5"><img src="../../jacoco-resources/greenbar.gif" width="17" height="10" title="2" alt="2"/></td><td class="ctr2" id="e0">100%</td><td class="ctr1" id="f5">0</td><td class="ctr2" id="g5">2</td><td class="ctr1" id="h5">0</td><td class="ctr2" id="i3">18</td><td class="ctr1" id="j5">0</td><td class="ctr2" id="k5">1</td></tr><tr><td id="a4"><a href="TryWithResourcesEcjFilter.java.html#L172" class="el_method">nextIsEcjCloseAndThrow(String)</a></td><td class="bar" id="b6"><img src="../../jacoco-resources/greenbar.gif" width="25" height="10" title="28" alt="28"/></td><td class="ctr2" id="c1">100%</td><td class="bar" id="d6"><img src="../../jacoco-resources/greenbar.gif" width="17" height="10" title="2" alt="2"/></td><td class="ctr2" id="e1">100%</td><td class="ctr1" id="f6">0</td><td class="ctr2" id="g6">2</td><td class="ctr1" id="h6">0</td><td class="ctr2" id="i6">7</td><td class="ctr1" id="j6">0</td><td class="ctr2" id="k6">1</td></tr><tr><td id="a3"><a href="TryWithResourcesEcjFilter.java.html#L163" class="el_method">nextIsEcjClose(String)</a></td><td class="bar" id="b7"><img src="../../jacoco-resources/greenbar.gif" width="22" height="10" title="25" alt="25"/></td><td class="ctr2" id="c2">100%</td><td class="bar" id="d7"><img src="../../jacoco-resources/greenbar.gif" width="17" height="10" title="2" alt="2"/></td><td class="ctr2" id="e2">100%</td><td class="ctr1" id="f7">0</td><td class="ctr2" id="g7">2</td><td class="ctr1" id="h7">0</td><td class="ctr2" id="i9">4</td><td class="ctr1" id="j7">0</td><td class="ctr2" id="k7">1</td></tr><tr><td id="a8"><a href="TryWithResourcesEcjFilter.java.html#L62" class="el_method">start(AbstractInsnNode)</a></td><td class="bar" id="b8"><img src="../../jacoco-resources/greenbar.gif" width="15" height="10" title="17" alt="17"/></td><td class="ctr2" id="c3">100%</td><td class="bar" id="d8"/><td class="ctr2" id="e8">n/a</td><td class="ctr1" id="f8">0</td><td class="ctr2" id="g8">1</td><td class="ctr1" id="h8">0</td><td class="ctr2" id="i7">6</td><td class="ctr1" id="j8">0</td><td class="ctr2" id="k8">1</td></tr><tr><td id="a9"><a href="TryWithResourcesEcjFilter.java.html#L52" class="el_method">TryWithResourcesEcjFilter.Matcher(IFilterOutput)</a></td><td class="bar" id="b9"><img src="../../jacoco-resources/greenbar.gif" width="14" height="10" title="16" alt="16"/></td><td class="ctr2" id="c4">100%</td><td class="bar" id="d9"/><td class="ctr2" id="e9">n/a</td><td class="ctr1" id="f9">0</td><td class="ctr2" id="g9">1</td><td class="ctr1" id="h9">0</td><td class="ctr2" id="i8">5</td><td class="ctr1" id="j9">0</td><td class="ctr2" id="k9">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.12.202403270442</span>Code Coverage Report for JaCoCo 0.8.12-SNAPSHOT</div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/trunk/coverage/org.jacoco.core/org.jacoco.core.internal.analysis.filter/TryWithResourcesEcjFilter.html b/jacoco/trunk/coverage/org.jacoco.core/org.jacoco.core.internal.analysis.filter/TryWithResourcesEcjFilter.html
    new file mode 100644
    index 00000000000..1ee4bbda0c3
    --- /dev/null
    +++ b/jacoco/trunk/coverage/org.jacoco.core/org.jacoco.core.internal.analysis.filter/TryWithResourcesEcjFilter.html
    @@ -0,0 +1 @@
    +<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="en"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../../jacoco-resources/report.gif" type="image/gif"/><title>TryWithResourcesEcjFilter</title><script type="text/javascript" src="../../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../../index.html" class="el_report">JaCoCo</a> &gt; <a href="../index.html" class="el_bundle">org.jacoco.core</a> &gt; <a href="index.html" class="el_package">org.jacoco.core.internal.analysis.filter</a> &gt; <span class="el_class">TryWithResourcesEcjFilter</span></div><h1>TryWithResourcesEcjFilter</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">0 of 43</td><td class="ctr2">100%</td><td class="bar">0 of 8</td><td class="ctr2">100%</td><td class="ctr1">0</td><td class="ctr2">6</td><td class="ctr1">0</td><td class="ctr2">12</td><td class="ctr1">0</td><td class="ctr2">2</td></tr></tfoot><tbody><tr><td id="a0"><a href="TryWithResourcesEcjFilter.java.html#L33" class="el_method">filter(MethodNode, IFilterContext, IFilterOutput)</a></td><td class="bar" id="b0"><img src="../../jacoco-resources/greenbar.gif" width="120" height="10" title="40" alt="40"/></td><td class="ctr2" id="c0">100%</td><td class="bar" id="d0"><img src="../../jacoco-resources/greenbar.gif" width="120" height="10" title="8" alt="8"/></td><td class="ctr2" id="e0">100%</td><td class="ctr1" id="f0">0</td><td class="ctr2" id="g0">5</td><td class="ctr1" id="h0">0</td><td class="ctr2" id="i0">10</td><td class="ctr1" id="j0">0</td><td class="ctr2" id="k0">1</td></tr><tr><td id="a1"><a href="TryWithResourcesEcjFilter.java.html#L29" class="el_method">TryWithResourcesEcjFilter()</a></td><td class="bar" id="b1"><img src="../../jacoco-resources/greenbar.gif" width="9" height="10" title="3" alt="3"/></td><td class="ctr2" id="c1">100%</td><td class="bar" id="d1"/><td class="ctr2" id="e1">n/a</td><td class="ctr1" id="f1">0</td><td class="ctr2" id="g1">1</td><td class="ctr1" id="h1">0</td><td class="ctr2" id="i1">2</td><td class="ctr1" id="j1">0</td><td class="ctr2" id="k1">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.12.202403270442</span>Code Coverage Report for JaCoCo 0.8.12-SNAPSHOT</div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/trunk/coverage/org.jacoco.core/org.jacoco.core.internal.analysis.filter/TryWithResourcesEcjFilter.java.html b/jacoco/trunk/coverage/org.jacoco.core/org.jacoco.core.internal.analysis.filter/TryWithResourcesEcjFilter.java.html
    new file mode 100644
    index 00000000000..5a39d57ec0c
    --- /dev/null
    +++ b/jacoco/trunk/coverage/org.jacoco.core/org.jacoco.core.internal.analysis.filter/TryWithResourcesEcjFilter.java.html
    @@ -0,0 +1,268 @@
    +<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="en"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../../jacoco-resources/report.gif" type="image/gif"/><title>TryWithResourcesEcjFilter.java</title><link rel="stylesheet" href="../../jacoco-resources/prettify.css" type="text/css"/><script type="text/javascript" src="../../jacoco-resources/prettify.js"></script></head><body onload="window['PR_TAB_WIDTH']=4;prettyPrint()"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../../index.html" class="el_report">JaCoCo</a> &gt; <a href="../index.html" class="el_bundle">org.jacoco.core</a> &gt; <a href="index.source.html" class="el_package">org.jacoco.core.internal.analysis.filter</a> &gt; <span class="el_source">TryWithResourcesEcjFilter.java</span></div><h1>TryWithResourcesEcjFilter.java</h1><pre class="source lang-java linenums">/*******************************************************************************
    + * Copyright (c) 2009, 2024 Mountainminds GmbH &amp; Co. KG and Contributors
    + * This program and the accompanying materials are made available under
    + * the terms of the Eclipse Public License 2.0 which is available at
    + * http://www.eclipse.org/legal/epl-2.0
    + *
    + * SPDX-License-Identifier: EPL-2.0
    + *
    + * Contributors:
    + *    Evgeny Mandrikov - initial API and implementation
    + *
    + *******************************************************************************/
    +package org.jacoco.core.internal.analysis.filter;
    +
    +import java.util.HashMap;
    +import java.util.Map;
    +
    +import org.objectweb.asm.Opcodes;
    +import org.objectweb.asm.tree.AbstractInsnNode;
    +import org.objectweb.asm.tree.JumpInsnNode;
    +import org.objectweb.asm.tree.LabelNode;
    +import org.objectweb.asm.tree.MethodInsnNode;
    +import org.objectweb.asm.tree.MethodNode;
    +import org.objectweb.asm.tree.TryCatchBlockNode;
    +
    +/**
    + * Filters code that ECJ generates for try-with-resources statement.
    + */
    +<span class="fc" id="L29">public final class TryWithResourcesEcjFilter implements IFilter {</span>
    +
    +	public void filter(final MethodNode methodNode,
    +			final IFilterContext context, final IFilterOutput output) {
    +<span class="fc bfc" id="L33" title="All 2 branches covered.">		if (methodNode.tryCatchBlocks.isEmpty()) {</span>
    +<span class="fc" id="L34">			return;</span>
    +		}
    +<span class="fc" id="L36">		final Matcher matcher = new Matcher(output);</span>
    +<span class="fc bfc" id="L37" title="All 2 branches covered.">		for (final TryCatchBlockNode t : methodNode.tryCatchBlocks) {</span>
    +<span class="fc bfc" id="L38" title="All 2 branches covered.">			if (t.type == null) {</span>
    +<span class="fc" id="L39">				matcher.start(t.handler);</span>
    +<span class="fc bfc" id="L40" title="All 2 branches covered.">				if (!matcher.matchEcj()) {</span>
    +<span class="fc" id="L41">					matcher.start(t.handler);</span>
    +<span class="fc" id="L42">					matcher.matchEcjNoFlowOut();</span>
    +				}
    +			}
    +		}
    +<span class="fc" id="L46">	}</span>
    +
    +<span class="fc" id="L48">	static class Matcher extends AbstractMatcher {</span>
    +
    +		private final IFilterOutput output;
    +
    +<span class="fc" id="L52">		private final Map&lt;String, String&gt; owners = new HashMap&lt;String, String&gt;();</span>
    +<span class="fc" id="L53">		private final Map&lt;String, LabelNode&gt; labels = new HashMap&lt;String, LabelNode&gt;();</span>
    +
    +		private AbstractInsnNode start;
    +
    +<span class="fc" id="L57">		Matcher(final IFilterOutput output) {</span>
    +<span class="fc" id="L58">			this.output = output;</span>
    +<span class="fc" id="L59">		}</span>
    +
    +		private void start(final AbstractInsnNode start) {
    +<span class="fc" id="L62">			this.start = start;</span>
    +<span class="fc" id="L63">			cursor = start.getPrevious();</span>
    +<span class="fc" id="L64">			vars.clear();</span>
    +<span class="fc" id="L65">			labels.clear();</span>
    +<span class="fc" id="L66">			owners.clear();</span>
    +<span class="fc" id="L67">		}</span>
    +
    +		private boolean matchEcj() {
    +			// &quot;catch (any primaryExc)&quot;
    +<span class="fc" id="L71">			nextIsVar(Opcodes.ASTORE, &quot;primaryExc&quot;);</span>
    +<span class="fc" id="L72">			nextIsEcjCloseAndThrow(&quot;r0&quot;);</span>
    +
    +			AbstractInsnNode c;
    +<span class="fc" id="L75">			int resources = 1;</span>
    +<span class="fc" id="L76">			String r = &quot;r&quot; + resources;</span>
    +<span class="fc" id="L77">			c = cursor;</span>
    +<span class="fc bfc" id="L78" title="All 2 branches covered.">			while (nextIsEcjClose(r)) {</span>
    +<span class="fc" id="L79">				nextIsJump(Opcodes.GOTO, r + &quot;.end&quot;);</span>
    +<span class="fc" id="L80">				nextIsEcjSuppress(r);</span>
    +<span class="fc" id="L81">				nextIsEcjCloseAndThrow(r);</span>
    +<span class="fc" id="L82">				resources++;</span>
    +<span class="fc" id="L83">				r = &quot;r&quot; + resources;</span>
    +<span class="fc" id="L84">				c = cursor;</span>
    +			}
    +<span class="fc" id="L86">			cursor = c;</span>
    +<span class="fc" id="L87">			nextIsEcjSuppress(&quot;last&quot;);</span>
    +			// &quot;throw primaryExc&quot;
    +<span class="fc" id="L89">			nextIsVar(Opcodes.ALOAD, &quot;primaryExc&quot;);</span>
    +<span class="fc" id="L90">			nextIs(Opcodes.ATHROW);</span>
    +<span class="fc bfc" id="L91" title="All 2 branches covered.">			if (cursor == null) {</span>
    +<span class="fc" id="L92">				return false;</span>
    +			}
    +<span class="fc" id="L94">			final AbstractInsnNode end = cursor;</span>
    +
    +<span class="fc" id="L96">			AbstractInsnNode startOnNonExceptionalPath = start.getPrevious();</span>
    +<span class="fc" id="L97">			cursor = startOnNonExceptionalPath;</span>
    +<span class="fc bfc" id="L98" title="All 2 branches covered.">			while (!nextIsEcjClose(&quot;r0&quot;)) {</span>
    +<span class="fc" id="L99">				startOnNonExceptionalPath = startOnNonExceptionalPath</span>
    +						.getPrevious();
    +<span class="fc" id="L101">				cursor = startOnNonExceptionalPath;</span>
    +<span class="pc bpc" id="L102" title="1 of 2 branches missed.">				if (cursor == null) {</span>
    +<span class="nc" id="L103">					return false;</span>
    +				}
    +			}
    +<span class="fc" id="L106">			startOnNonExceptionalPath = startOnNonExceptionalPath.getNext();</span>
    +
    +<span class="fc" id="L108">			next();</span>
    +<span class="pc bpc" id="L109" title="2 of 4 branches missed.">			if (cursor == null || cursor.getOpcode() != Opcodes.GOTO) {</span>
    +<span class="nc" id="L110">				return false;</span>
    +			}
    +
    +<span class="fc" id="L113">			output.ignore(startOnNonExceptionalPath, cursor);</span>
    +<span class="fc" id="L114">			output.ignore(start, end);</span>
    +<span class="fc" id="L115">			return true;</span>
    +		}
    +
    +		private boolean matchEcjNoFlowOut() {
    +			// &quot;catch (any primaryExc)&quot;
    +<span class="fc" id="L120">			nextIsVar(Opcodes.ASTORE, &quot;primaryExc&quot;);</span>
    +
    +			AbstractInsnNode c;
    +<span class="fc" id="L123">			int resources = 0;</span>
    +<span class="fc" id="L124">			String r = &quot;r&quot; + resources;</span>
    +<span class="fc" id="L125">			c = cursor;</span>
    +<span class="pc bpc" id="L126" title="1 of 4 branches missed.">			while (nextIsEcjCloseAndThrow(r) &amp;&amp; nextIsEcjSuppress(r)) {</span>
    +<span class="fc" id="L127">				resources++;</span>
    +<span class="fc" id="L128">				r = &quot;r&quot; + resources;</span>
    +<span class="fc" id="L129">				c = cursor;</span>
    +			}
    +<span class="fc" id="L131">			cursor = c;</span>
    +			// &quot;throw primaryExc&quot;
    +<span class="fc" id="L133">			nextIsVar(Opcodes.ALOAD, &quot;primaryExc&quot;);</span>
    +<span class="fc" id="L134">			nextIs(Opcodes.ATHROW);</span>
    +<span class="fc bfc" id="L135" title="All 2 branches covered.">			if (cursor == null) {</span>
    +<span class="fc" id="L136">				return false;</span>
    +			}
    +<span class="fc" id="L138">			final AbstractInsnNode end = cursor;</span>
    +
    +<span class="fc" id="L140">			AbstractInsnNode startOnNonExceptionalPath = start.getPrevious();</span>
    +<span class="fc" id="L141">			cursor = startOnNonExceptionalPath;</span>
    +<span class="fc bfc" id="L142" title="All 2 branches covered.">			while (!nextIsEcjClose(&quot;r0&quot;)) {</span>
    +<span class="fc" id="L143">				startOnNonExceptionalPath = startOnNonExceptionalPath</span>
    +						.getPrevious();
    +<span class="fc" id="L145">				cursor = startOnNonExceptionalPath;</span>
    +<span class="pc bpc" id="L146" title="1 of 2 branches missed.">				if (cursor == null) {</span>
    +<span class="nc" id="L147">					return false;</span>
    +				}
    +			}
    +<span class="fc" id="L150">			startOnNonExceptionalPath = startOnNonExceptionalPath.getNext();</span>
    +<span class="fc bfc" id="L151" title="All 2 branches covered.">			for (int i = 1; i &lt; resources; i++) {</span>
    +<span class="pc bpc" id="L152" title="1 of 2 branches missed.">				if (!nextIsEcjClose(&quot;r&quot; + i)) {</span>
    +<span class="nc" id="L153">					return false;</span>
    +				}
    +			}
    +
    +<span class="fc" id="L157">			output.ignore(startOnNonExceptionalPath, cursor);</span>
    +<span class="fc" id="L158">			output.ignore(start, end);</span>
    +<span class="fc" id="L159">			return true;</span>
    +		}
    +
    +		private boolean nextIsEcjClose(final String name) {
    +<span class="fc" id="L163">			nextIsVar(Opcodes.ALOAD, name);</span>
    +			// &quot;if (r != null)&quot;
    +<span class="fc" id="L165">			nextIsJump(Opcodes.IFNULL, name + &quot;.end&quot;);</span>
    +			// &quot;r.close()&quot;
    +<span class="fc" id="L167">			nextIsClose(name);</span>
    +<span class="fc bfc" id="L168" title="All 2 branches covered.">			return cursor != null;</span>
    +		}
    +
    +		private boolean nextIsEcjCloseAndThrow(final String name) {
    +<span class="fc" id="L172">			nextIsVar(Opcodes.ALOAD, name);</span>
    +			// &quot;if (r != null)&quot;
    +<span class="fc" id="L174">			nextIsJump(Opcodes.IFNULL, name);</span>
    +			// &quot;r.close()&quot;
    +<span class="fc" id="L176">			nextIsClose(name);</span>
    +<span class="fc" id="L177">			nextIsLabel(name);</span>
    +<span class="fc" id="L178">			nextIsVar(Opcodes.ALOAD, &quot;primaryExc&quot;);</span>
    +<span class="fc" id="L179">			nextIs(Opcodes.ATHROW);</span>
    +<span class="fc bfc" id="L180" title="All 2 branches covered.">			return cursor != null;</span>
    +		}
    +
    +		private boolean nextIsEcjSuppress(final String name) {
    +<span class="fc" id="L184">			final String suppressedExc = name + &quot;.t&quot;;</span>
    +<span class="fc" id="L185">			final String startLabel = name + &quot;.suppressStart&quot;;</span>
    +<span class="fc" id="L186">			final String endLabel = name + &quot;.suppressEnd&quot;;</span>
    +<span class="fc" id="L187">			nextIsVar(Opcodes.ASTORE, suppressedExc);</span>
    +			// &quot;suppressedExc = t&quot;
    +			// &quot;if (primaryExc != null)&quot;
    +<span class="fc" id="L190">			nextIsVar(Opcodes.ALOAD, &quot;primaryExc&quot;);</span>
    +<span class="fc" id="L191">			nextIsJump(Opcodes.IFNONNULL, startLabel);</span>
    +			// &quot;primaryExc = suppressedExc&quot;
    +<span class="fc" id="L193">			nextIsVar(Opcodes.ALOAD, suppressedExc);</span>
    +<span class="fc" id="L194">			nextIsVar(Opcodes.ASTORE, &quot;primaryExc&quot;);</span>
    +<span class="fc" id="L195">			nextIsJump(Opcodes.GOTO, endLabel);</span>
    +			// &quot;if (primaryExc == suppressedExc)&quot;
    +<span class="fc" id="L197">			nextIsLabel(startLabel);</span>
    +<span class="fc" id="L198">			nextIsVar(Opcodes.ALOAD, &quot;primaryExc&quot;);</span>
    +<span class="fc" id="L199">			nextIsVar(Opcodes.ALOAD, suppressedExc);</span>
    +<span class="fc" id="L200">			nextIsJump(Opcodes.IF_ACMPEQ, endLabel);</span>
    +			// &quot;primaryExc.addSuppressed(suppressedExc)&quot;
    +<span class="fc" id="L202">			nextIsVar(Opcodes.ALOAD, &quot;primaryExc&quot;);</span>
    +<span class="fc" id="L203">			nextIsVar(Opcodes.ALOAD, suppressedExc);</span>
    +<span class="fc" id="L204">			nextIsInvoke(Opcodes.INVOKEVIRTUAL, &quot;java/lang/Throwable&quot;,</span>
    +					&quot;addSuppressed&quot;, &quot;(Ljava/lang/Throwable;)V&quot;);
    +<span class="fc" id="L206">			nextIsLabel(endLabel);</span>
    +<span class="fc bfc" id="L207" title="All 2 branches covered.">			return cursor != null;</span>
    +		}
    +
    +		private void nextIsClose(final String name) {
    +<span class="fc" id="L211">			nextIsVar(Opcodes.ALOAD, name);</span>
    +<span class="fc" id="L212">			next();</span>
    +<span class="fc bfc" id="L213" title="All 2 branches covered.">			if (cursor == null) {</span>
    +<span class="fc" id="L214">				return;</span>
    +			}
    +<span class="pc bpc" id="L216" title="2 of 4 branches missed.">			if (cursor.getOpcode() != Opcodes.INVOKEINTERFACE</span>
    +					&amp;&amp; cursor.getOpcode() != Opcodes.INVOKEVIRTUAL) {
    +<span class="nc" id="L218">				cursor = null;</span>
    +<span class="nc" id="L219">				return;</span>
    +			}
    +<span class="fc" id="L221">			final MethodInsnNode m = (MethodInsnNode) cursor;</span>
    +<span class="pc bpc" id="L222" title="2 of 4 branches missed.">			if (!&quot;close&quot;.equals(m.name) || !&quot;()V&quot;.equals(m.desc)) {</span>
    +<span class="nc" id="L223">				cursor = null;</span>
    +<span class="nc" id="L224">				return;</span>
    +			}
    +<span class="fc" id="L226">			final String actual = m.owner;</span>
    +<span class="fc" id="L227">			final String expected = owners.get(name);</span>
    +<span class="fc bfc" id="L228" title="All 2 branches covered.">			if (expected == null) {</span>
    +<span class="fc" id="L229">				owners.put(name, actual);</span>
    +<span class="pc bpc" id="L230" title="1 of 2 branches missed.">			} else if (!expected.equals(actual)) {</span>
    +<span class="nc" id="L231">				cursor = null;</span>
    +			}
    +<span class="fc" id="L233">		}</span>
    +
    +		private void nextIsJump(final int opcode, final String name) {
    +<span class="fc" id="L236">			nextIs(opcode);</span>
    +<span class="fc bfc" id="L237" title="All 2 branches covered.">			if (cursor == null) {</span>
    +<span class="fc" id="L238">				return;</span>
    +			}
    +<span class="fc" id="L240">			final LabelNode actual = ((JumpInsnNode) cursor).label;</span>
    +<span class="fc" id="L241">			final LabelNode expected = labels.get(name);</span>
    +<span class="fc bfc" id="L242" title="All 2 branches covered.">			if (expected == null) {</span>
    +<span class="fc" id="L243">				labels.put(name, actual);</span>
    +<span class="pc bpc" id="L244" title="1 of 2 branches missed.">			} else if (expected != actual) {</span>
    +<span class="nc" id="L245">				cursor = null;</span>
    +			}
    +<span class="fc" id="L247">		}</span>
    +
    +		private void nextIsLabel(final String name) {
    +<span class="fc bfc" id="L250" title="All 2 branches covered.">			if (cursor == null) {</span>
    +<span class="fc" id="L251">				return;</span>
    +			}
    +<span class="fc" id="L253">			cursor = cursor.getNext();</span>
    +<span class="pc bpc" id="L254" title="1 of 2 branches missed.">			if (cursor.getType() != AbstractInsnNode.LABEL) {</span>
    +<span class="nc" id="L255">				cursor = null;</span>
    +<span class="nc" id="L256">				return;</span>
    +			}
    +<span class="fc" id="L258">			final LabelNode actual = (LabelNode) cursor;</span>
    +<span class="fc" id="L259">			final LabelNode expected = labels.get(name);</span>
    +<span class="pc bpc" id="L260" title="1 of 2 branches missed.">			if (expected != actual) {</span>
    +<span class="nc" id="L261">				cursor = null;</span>
    +			}
    +<span class="fc" id="L263">		}</span>
    +
    +	}
    +
    +}
    +</pre><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.12.202403270442</span>Code Coverage Report for JaCoCo 0.8.12-SNAPSHOT</div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/trunk/coverage/org.jacoco.core/org.jacoco.core.internal.analysis.filter/TryWithResourcesJavac11Filter$Matcher.html b/jacoco/trunk/coverage/org.jacoco.core/org.jacoco.core.internal.analysis.filter/TryWithResourcesJavac11Filter$Matcher.html
    new file mode 100644
    index 00000000000..d6c80d86774
    --- /dev/null
    +++ b/jacoco/trunk/coverage/org.jacoco.core/org.jacoco.core.internal.analysis.filter/TryWithResourcesJavac11Filter$Matcher.html
    @@ -0,0 +1 @@
    +<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="en"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../../jacoco-resources/report.gif" type="image/gif"/><title>TryWithResourcesJavac11Filter.Matcher</title><script type="text/javascript" src="../../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../../index.html" class="el_report">JaCoCo</a> &gt; <a href="../index.html" class="el_bundle">org.jacoco.core</a> &gt; <a href="index.html" class="el_package">org.jacoco.core.internal.analysis.filter</a> &gt; <span class="el_class">TryWithResourcesJavac11Filter.Matcher</span></div><h1>TryWithResourcesJavac11Filter.Matcher</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">11 of 187</td><td class="ctr2">94%</td><td class="bar">6 of 26</td><td class="ctr2">76%</td><td class="ctr1">6</td><td class="ctr2">17</td><td class="ctr1">5</td><td class="ctr2">54</td><td class="ctr1">0</td><td class="ctr2">4</td></tr></tfoot><tbody><tr><td id="a1"><a href="TryWithResourcesJavac11Filter.java.html#L121" class="el_method">nextIsClose()</a></td><td class="bar" id="b0"><img src="../../jacoco-resources/redbar.gif" width="8" height="10" title="7" alt="7"/><img src="../../jacoco-resources/greenbar.gif" width="64" height="10" title="54" alt="54"/></td><td class="ctr2" id="c3">88%</td><td class="bar" id="d0"><img src="../../jacoco-resources/redbar.gif" width="34" height="10" title="4" alt="4"/><img src="../../jacoco-resources/greenbar.gif" width="85" height="10" title="10" alt="10"/></td><td class="ctr2" id="e2">71%</td><td class="ctr1" id="f0">4</td><td class="ctr2" id="g0">8</td><td class="ctr1" id="h0">3</td><td class="ctr2" id="i1">17</td><td class="ctr1" id="j0">0</td><td class="ctr2" id="k0">1</td></tr><tr><td id="a0"><a href="TryWithResourcesJavac11Filter.java.html#L70" class="el_method">match(AbstractInsnNode, IFilterOutput, boolean)</a></td><td class="bar" id="b1"><img src="../../jacoco-resources/redbar.gif" width="4" height="10" title="4" alt="4"/><img src="../../jacoco-resources/greenbar.gif" width="115" height="10" title="97" alt="97"/></td><td class="ctr2" id="c2">96%</td><td class="bar" id="d1"><img src="../../jacoco-resources/redbar.gif" width="17" height="10" title="2" alt="2"/><img src="../../jacoco-resources/greenbar.gif" width="51" height="10" title="6" alt="6"/></td><td class="ctr2" id="e1">75%</td><td class="ctr1" id="f1">2</td><td class="ctr2" id="g1">5</td><td class="ctr1" id="h1">2</td><td class="ctr2" id="i0">31</td><td class="ctr1" id="j1">0</td><td class="ctr2" id="k1">1</td></tr><tr><td id="a2"><a href="TryWithResourcesJavac11Filter.java.html#L112" class="el_method">nextIsJavacClose()</a></td><td class="bar" id="b2"><img src="../../jacoco-resources/greenbar.gif" width="22" height="10" title="19" alt="19"/></td><td class="ctr2" id="c0">100%</td><td class="bar" id="d2"><img src="../../jacoco-resources/greenbar.gif" width="34" height="10" title="4" alt="4"/></td><td class="ctr2" id="e0">100%</td><td class="ctr1" id="f2">0</td><td class="ctr2" id="g2">3</td><td class="ctr1" id="h2">0</td><td class="ctr2" id="i2">5</td><td class="ctr1" id="j2">0</td><td class="ctr2" id="k2">1</td></tr><tr><td id="a3"><a href="TryWithResourcesJavac11Filter.java.html#L63" class="el_method">TryWithResourcesJavac11Filter.Matcher(TryWithResourcesJavac11Filter)</a></td><td class="bar" id="b3"><img src="../../jacoco-resources/greenbar.gif" width="7" height="10" title="6" alt="6"/></td><td class="ctr2" id="c1">100%</td><td class="bar" id="d3"/><td class="ctr2" id="e3">n/a</td><td class="ctr1" id="f3">0</td><td class="ctr2" id="g3">1</td><td class="ctr1" id="h3">0</td><td class="ctr2" id="i3">1</td><td class="ctr1" id="j3">0</td><td class="ctr2" id="k3">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.12.202403270442</span>Code Coverage Report for JaCoCo 0.8.12-SNAPSHOT</div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/trunk/coverage/org.jacoco.core/org.jacoco.core.internal.analysis.filter/TryWithResourcesJavac11Filter.html b/jacoco/trunk/coverage/org.jacoco.core/org.jacoco.core.internal.analysis.filter/TryWithResourcesJavac11Filter.html
    new file mode 100644
    index 00000000000..3b818657300
    --- /dev/null
    +++ b/jacoco/trunk/coverage/org.jacoco.core/org.jacoco.core.internal.analysis.filter/TryWithResourcesJavac11Filter.html
    @@ -0,0 +1 @@
    +<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="en"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../../jacoco-resources/report.gif" type="image/gif"/><title>TryWithResourcesJavac11Filter</title><script type="text/javascript" src="../../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../../index.html" class="el_report">JaCoCo</a> &gt; <a href="../index.html" class="el_bundle">org.jacoco.core</a> &gt; <a href="index.html" class="el_package">org.jacoco.core.internal.analysis.filter</a> &gt; <span class="el_class">TryWithResourcesJavac11Filter</span></div><h1>TryWithResourcesJavac11Filter</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">0 of 44</td><td class="ctr2">100%</td><td class="bar">0 of 6</td><td class="ctr2">100%</td><td class="ctr1">0</td><td class="ctr2">5</td><td class="ctr1">0</td><td class="ctr2">10</td><td class="ctr1">0</td><td class="ctr2">2</td></tr></tfoot><tbody><tr><td id="a0"><a href="TryWithResourcesJavac11Filter.java.html#L29" class="el_method">filter(MethodNode, IFilterContext, IFilterOutput)</a></td><td class="bar" id="b0"><img src="../../jacoco-resources/greenbar.gif" width="120" height="10" title="41" alt="41"/></td><td class="ctr2" id="c0">100%</td><td class="bar" id="d0"><img src="../../jacoco-resources/greenbar.gif" width="120" height="10" title="6" alt="6"/></td><td class="ctr2" id="e0">100%</td><td class="ctr1" id="f0">0</td><td class="ctr2" id="g0">4</td><td class="ctr1" id="h0">0</td><td class="ctr2" id="i0">8</td><td class="ctr1" id="j0">0</td><td class="ctr2" id="k0">1</td></tr><tr><td id="a1"><a href="TryWithResourcesJavac11Filter.java.html#L25" class="el_method">TryWithResourcesJavac11Filter()</a></td><td class="bar" id="b1"><img src="../../jacoco-resources/greenbar.gif" width="8" height="10" title="3" alt="3"/></td><td class="ctr2" id="c1">100%</td><td class="bar" id="d1"/><td class="ctr2" id="e1">n/a</td><td class="ctr1" id="f1">0</td><td class="ctr2" id="g1">1</td><td class="ctr1" id="h1">0</td><td class="ctr2" id="i1">2</td><td class="ctr1" id="j1">0</td><td class="ctr2" id="k1">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.12.202403270442</span>Code Coverage Report for JaCoCo 0.8.12-SNAPSHOT</div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/trunk/coverage/org.jacoco.core/org.jacoco.core.internal.analysis.filter/TryWithResourcesJavac11Filter.java.html b/jacoco/trunk/coverage/org.jacoco.core/org.jacoco.core.internal.analysis.filter/TryWithResourcesJavac11Filter.java.html
    new file mode 100644
    index 00000000000..ea876a5154b
    --- /dev/null
    +++ b/jacoco/trunk/coverage/org.jacoco.core/org.jacoco.core.internal.analysis.filter/TryWithResourcesJavac11Filter.java.html
    @@ -0,0 +1,147 @@
    +<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="en"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../../jacoco-resources/report.gif" type="image/gif"/><title>TryWithResourcesJavac11Filter.java</title><link rel="stylesheet" href="../../jacoco-resources/prettify.css" type="text/css"/><script type="text/javascript" src="../../jacoco-resources/prettify.js"></script></head><body onload="window['PR_TAB_WIDTH']=4;prettyPrint()"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../../index.html" class="el_report">JaCoCo</a> &gt; <a href="../index.html" class="el_bundle">org.jacoco.core</a> &gt; <a href="index.source.html" class="el_package">org.jacoco.core.internal.analysis.filter</a> &gt; <span class="el_source">TryWithResourcesJavac11Filter.java</span></div><h1>TryWithResourcesJavac11Filter.java</h1><pre class="source lang-java linenums">/*******************************************************************************
    + * Copyright (c) 2009, 2024 Mountainminds GmbH &amp; Co. KG and Contributors
    + * This program and the accompanying materials are made available under
    + * the terms of the Eclipse Public License 2.0 which is available at
    + * http://www.eclipse.org/legal/epl-2.0
    + *
    + * SPDX-License-Identifier: EPL-2.0
    + *
    + * Contributors:
    + *    Evgeny Mandrikov - initial API and implementation
    + *
    + *******************************************************************************/
    +package org.jacoco.core.internal.analysis.filter;
    +
    +import org.objectweb.asm.Opcodes;
    +import org.objectweb.asm.tree.AbstractInsnNode;
    +import org.objectweb.asm.tree.MethodInsnNode;
    +import org.objectweb.asm.tree.MethodNode;
    +import org.objectweb.asm.tree.TryCatchBlockNode;
    +
    +/**
    + * Filters code which is generated for try-with-resources statement by javac
    + * starting from version 11.
    + */
    +<span class="fc" id="L25">public final class TryWithResourcesJavac11Filter implements IFilter {</span>
    +
    +	public void filter(final MethodNode methodNode,
    +			final IFilterContext context, final IFilterOutput output) {
    +<span class="fc bfc" id="L29" title="All 2 branches covered.">		if (methodNode.tryCatchBlocks.isEmpty()) {</span>
    +<span class="fc" id="L30">			return;</span>
    +		}
    +<span class="fc" id="L32">		final Matcher matcher = new Matcher();</span>
    +<span class="fc bfc" id="L33" title="All 2 branches covered.">		for (TryCatchBlockNode t : methodNode.tryCatchBlocks) {</span>
    +<span class="fc bfc" id="L34" title="All 2 branches covered.">			if (&quot;java/lang/Throwable&quot;.equals(t.type)) {</span>
    +<span class="fc" id="L35">				matcher.match(t.handler, output, true);</span>
    +<span class="fc" id="L36">				matcher.match(t.handler, output, false);</span>
    +			}
    +		}
    +<span class="fc" id="L39">	}</span>
    +
    +	/**
    +	 * &lt;pre&gt;
    +	 *     r = ...;
    +	 *     try {
    +	 *         ...
    +	 *     } body-only-finally {
    +	 *         if (r != null)
    +	 *             r.close();
    +	 *     } catch (Throwable primaryExc) {
    +	 *         if (r != null)
    +	 *             try {
    +	 *                 r.close();
    +	 *             } catch (Throwable t) {
    +	 *                 primaryExc.addSuppressed(t);
    +	 *             }
    +	 *         throw primaryExc;
    +	 *     }
    +	 * &lt;/pre&gt;
    +	 *
    +	 * &lt;code&gt;null&lt;/code&gt; check for resource is omitted when it is initialized
    +	 * using &lt;code&gt;new&lt;/code&gt;
    +	 */
    +<span class="fc" id="L63">	private class Matcher extends AbstractMatcher {</span>
    +		private boolean withNullCheck;
    +
    +		private String expectedOwner;
    +
    +		void match(final AbstractInsnNode start, final IFilterOutput output,
    +				final boolean withNullCheck) {
    +<span class="fc" id="L70">			this.withNullCheck = withNullCheck;</span>
    +<span class="fc" id="L71">			vars.clear();</span>
    +<span class="fc" id="L72">			expectedOwner = null;</span>
    +
    +<span class="fc" id="L74">			cursor = start.getPrevious();</span>
    +<span class="fc" id="L75">			nextIsVar(Opcodes.ASTORE, &quot;primaryExc&quot;);</span>
    +<span class="fc" id="L76">			nextIsJavacClose();</span>
    +<span class="fc" id="L77">			nextIs(Opcodes.GOTO);</span>
    +<span class="fc" id="L78">			nextIsVar(Opcodes.ASTORE, &quot;t&quot;);</span>
    +<span class="fc" id="L79">			nextIsVar(Opcodes.ALOAD, &quot;primaryExc&quot;);</span>
    +<span class="fc" id="L80">			nextIsVar(Opcodes.ALOAD, &quot;t&quot;);</span>
    +<span class="fc" id="L81">			nextIsInvoke(Opcodes.INVOKEVIRTUAL, &quot;java/lang/Throwable&quot;,</span>
    +					&quot;addSuppressed&quot;, &quot;(Ljava/lang/Throwable;)V&quot;); // primaryExc.addSuppressed(t)
    +<span class="fc" id="L83">			nextIsVar(Opcodes.ALOAD, &quot;primaryExc&quot;);</span>
    +<span class="fc" id="L84">			nextIs(Opcodes.ATHROW);</span>
    +<span class="fc bfc" id="L85" title="All 2 branches covered.">			if (cursor == null) {</span>
    +<span class="fc" id="L86">				return;</span>
    +			}
    +<span class="fc" id="L88">			final AbstractInsnNode end = cursor;</span>
    +
    +<span class="fc" id="L90">			AbstractInsnNode s = start.getPrevious();</span>
    +<span class="fc" id="L91">			cursor = start.getPrevious();</span>
    +<span class="fc bfc" id="L92" title="All 2 branches covered.">			while (!nextIsJavacClose()) {</span>
    +<span class="fc" id="L93">				s = s.getPrevious();</span>
    +<span class="fc" id="L94">				cursor = s;</span>
    +<span class="pc bpc" id="L95" title="1 of 2 branches missed.">				if (cursor == null) {</span>
    +<span class="nc" id="L96">					return;</span>
    +				}
    +			}
    +<span class="fc" id="L99">			s = s.getNext();</span>
    +
    +<span class="fc" id="L101">			final AbstractInsnNode m = cursor;</span>
    +<span class="fc" id="L102">			next();</span>
    +<span class="pc bpc" id="L103" title="1 of 2 branches missed.">			if (cursor.getOpcode() != Opcodes.GOTO) {</span>
    +<span class="nc" id="L104">				cursor = m;</span>
    +			}
    +
    +<span class="fc" id="L107">			output.ignore(s, cursor);</span>
    +<span class="fc" id="L108">			output.ignore(start, end);</span>
    +<span class="fc" id="L109">		}</span>
    +
    +		private boolean nextIsJavacClose() {
    +<span class="fc bfc" id="L112" title="All 2 branches covered.">			if (withNullCheck) {</span>
    +<span class="fc" id="L113">				nextIsVar(Opcodes.ALOAD, &quot;r&quot;);</span>
    +<span class="fc" id="L114">				nextIs(Opcodes.IFNULL);</span>
    +			}
    +<span class="fc" id="L116">			nextIsClose();</span>
    +<span class="fc bfc" id="L117" title="All 2 branches covered.">			return cursor != null;</span>
    +		}
    +
    +		private void nextIsClose() {
    +<span class="fc" id="L121">			nextIsVar(Opcodes.ALOAD, &quot;r&quot;);</span>
    +<span class="fc" id="L122">			next();</span>
    +<span class="fc bfc" id="L123" title="All 2 branches covered.">			if (cursor == null) {</span>
    +<span class="fc" id="L124">				return;</span>
    +			}
    +<span class="pc bpc" id="L126" title="1 of 4 branches missed.">			if (cursor.getOpcode() != Opcodes.INVOKEINTERFACE</span>
    +					&amp;&amp; cursor.getOpcode() != Opcodes.INVOKEVIRTUAL) {
    +<span class="fc" id="L128">				cursor = null;</span>
    +<span class="fc" id="L129">				return;</span>
    +			}
    +<span class="fc" id="L131">			final MethodInsnNode m = (MethodInsnNode) cursor;</span>
    +<span class="pc bpc" id="L132" title="2 of 4 branches missed.">			if (!&quot;close&quot;.equals(m.name) || !&quot;()V&quot;.equals(m.desc)) {</span>
    +<span class="nc" id="L133">				cursor = null;</span>
    +<span class="nc" id="L134">				return;</span>
    +			}
    +<span class="fc" id="L136">			final String actual = m.owner;</span>
    +<span class="fc bfc" id="L137" title="All 2 branches covered.">			if (expectedOwner == null) {</span>
    +<span class="fc" id="L138">				expectedOwner = actual;</span>
    +<span class="pc bpc" id="L139" title="1 of 2 branches missed.">			} else if (!expectedOwner.equals(actual)) {</span>
    +<span class="nc" id="L140">				cursor = null;</span>
    +			}
    +<span class="fc" id="L142">		}</span>
    +
    +	}
    +
    +}
    +</pre><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.12.202403270442</span>Code Coverage Report for JaCoCo 0.8.12-SNAPSHOT</div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/trunk/coverage/org.jacoco.core/org.jacoco.core.internal.analysis.filter/TryWithResourcesJavacFilter$1.html b/jacoco/trunk/coverage/org.jacoco.core/org.jacoco.core.internal.analysis.filter/TryWithResourcesJavacFilter$1.html
    new file mode 100644
    index 00000000000..0eb73411bc9
    --- /dev/null
    +++ b/jacoco/trunk/coverage/org.jacoco.core/org.jacoco.core.internal.analysis.filter/TryWithResourcesJavacFilter$1.html
    @@ -0,0 +1 @@
    +<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="en"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../../jacoco-resources/report.gif" type="image/gif"/><title>TryWithResourcesJavacFilter.new Object() {...}</title><script type="text/javascript" src="../../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../../index.html" class="el_report">JaCoCo</a> &gt; <a href="../index.html" class="el_bundle">org.jacoco.core</a> &gt; <a href="index.html" class="el_package">org.jacoco.core.internal.analysis.filter</a> &gt; <span class="el_class">TryWithResourcesJavacFilter.new Object() {...}</span></div><h1>TryWithResourcesJavacFilter.new Object() {...}</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">4 of 33</td><td class="ctr2">87%</td><td class="bar">0 of 0</td><td class="ctr2">n/a</td><td class="ctr1">0</td><td class="ctr2">1</td><td class="ctr1">0</td><td class="ctr2">1</td><td class="ctr1">0</td><td class="ctr2">1</td></tr></tfoot><tbody><tr><td id="a0"><a href="TryWithResourcesJavacFilter.java.html#L184" class="el_method">static {...}</a></td><td class="bar" id="b0"><img src="../../jacoco-resources/redbar.gif" width="14" height="10" title="4" alt="4"/><img src="../../jacoco-resources/greenbar.gif" width="105" height="10" title="29" alt="29"/></td><td class="ctr2" id="c0">87%</td><td class="bar" id="d0"/><td class="ctr2" id="e0">n/a</td><td class="ctr1" id="f0">0</td><td class="ctr2" id="g0">1</td><td class="ctr1" id="h0">0</td><td class="ctr2" id="i0">1</td><td class="ctr1" id="j0">0</td><td class="ctr2" id="k0">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.12.202403270442</span>Code Coverage Report for JaCoCo 0.8.12-SNAPSHOT</div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/trunk/coverage/org.jacoco.core/org.jacoco.core.internal.analysis.filter/TryWithResourcesJavacFilter$Matcher$JavacPattern.html b/jacoco/trunk/coverage/org.jacoco.core/org.jacoco.core.internal.analysis.filter/TryWithResourcesJavacFilter$Matcher$JavacPattern.html
    new file mode 100644
    index 00000000000..cab1b4be70b
    --- /dev/null
    +++ b/jacoco/trunk/coverage/org.jacoco.core/org.jacoco.core.internal.analysis.filter/TryWithResourcesJavacFilter$Matcher$JavacPattern.html
    @@ -0,0 +1 @@
    +<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="en"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../../jacoco-resources/report.gif" type="image/gif"/><title>TryWithResourcesJavacFilter.Matcher.JavacPattern</title><script type="text/javascript" src="../../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../../index.html" class="el_report">JaCoCo</a> &gt; <a href="../index.html" class="el_bundle">org.jacoco.core</a> &gt; <a href="index.html" class="el_package">org.jacoco.core.internal.analysis.filter</a> &gt; <span class="el_class">TryWithResourcesJavacFilter.Matcher.JavacPattern</span></div><h1>TryWithResourcesJavacFilter.Matcher.JavacPattern</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">0 of 44</td><td class="ctr2">100%</td><td class="bar">0 of 0</td><td class="ctr2">n/a</td><td class="ctr1">0</td><td class="ctr2">1</td><td class="ctr1">0</td><td class="ctr2">5</td><td class="ctr1">0</td><td class="ctr2">1</td></tr></tfoot><tbody><tr><td id="a0"><a href="TryWithResourcesJavacFilter.java.html#L103" class="el_method">static {...}</a></td><td class="bar" id="b0"><img src="../../jacoco-resources/greenbar.gif" width="120" height="10" title="44" alt="44"/></td><td class="ctr2" id="c0">100%</td><td class="bar" id="d0"/><td class="ctr2" id="e0">n/a</td><td class="ctr1" id="f0">0</td><td class="ctr2" id="g0">1</td><td class="ctr1" id="h0">0</td><td class="ctr2" id="i0">5</td><td class="ctr1" id="j0">0</td><td class="ctr2" id="k0">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.12.202403270442</span>Code Coverage Report for JaCoCo 0.8.12-SNAPSHOT</div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/trunk/coverage/org.jacoco.core/org.jacoco.core.internal.analysis.filter/TryWithResourcesJavacFilter$Matcher.html b/jacoco/trunk/coverage/org.jacoco.core/org.jacoco.core.internal.analysis.filter/TryWithResourcesJavacFilter$Matcher.html
    new file mode 100644
    index 00000000000..54411da2f3d
    --- /dev/null
    +++ b/jacoco/trunk/coverage/org.jacoco.core/org.jacoco.core.internal.analysis.filter/TryWithResourcesJavacFilter$Matcher.html
    @@ -0,0 +1 @@
    +<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="en"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../../jacoco-resources/report.gif" type="image/gif"/><title>TryWithResourcesJavacFilter.Matcher</title><script type="text/javascript" src="../../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../../index.html" class="el_report">JaCoCo</a> &gt; <a href="../index.html" class="el_bundle">org.jacoco.core</a> &gt; <a href="index.html" class="el_package">org.jacoco.core.internal.analysis.filter</a> &gt; <span class="el_class">TryWithResourcesJavacFilter.Matcher</span></div><h1>TryWithResourcesJavacFilter.Matcher</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">18 of 289</td><td class="ctr2">93%</td><td class="bar">7 of 35</td><td class="ctr2">80%</td><td class="ctr1">7</td><td class="ctr2">23</td><td class="ctr1">7</td><td class="ctr2">77</td><td class="ctr1">0</td><td class="ctr2">5</td></tr></tfoot><tbody><tr><td id="a1"><a href="TryWithResourcesJavacFilter.java.html#L232" class="el_method">nextIsClose()</a></td><td class="bar" id="b0"><img src="../../jacoco-resources/redbar.gif" width="11" height="10" title="11" alt="11"/><img src="../../jacoco-resources/greenbar.gif" width="53" height="10" title="50" alt="50"/></td><td class="ctr2" id="c4">81%</td><td class="bar" id="d0"><img src="../../jacoco-resources/redbar.gif" width="34" height="10" title="4" alt="4"/><img src="../../jacoco-resources/greenbar.gif" width="85" height="10" title="10" alt="10"/></td><td class="ctr2" id="e2">71%</td><td class="ctr1" id="f0">4</td><td class="ctr2" id="g0">8</td><td class="ctr1" id="h0">5</td><td class="ctr2" id="i2">17</td><td class="ctr1" id="j0">0</td><td class="ctr2" id="k0">1</td></tr><tr><td id="a2"><a href="TryWithResourcesJavacFilter.java.html#L184" class="el_method">nextIsJavacClose(TryWithResourcesJavacFilter.Matcher.JavacPattern, String)</a></td><td class="bar" id="b1"><img src="../../jacoco-resources/redbar.gif" width="7" height="10" title="7" alt="7"/><img src="../../jacoco-resources/greenbar.gif" width="112" height="10" title="105" alt="105"/></td><td class="ctr2" id="c3">93%</td><td class="bar" id="d1"><img src="../../jacoco-resources/redbar.gif" width="25" height="10" title="3" alt="3"/><img src="../../jacoco-resources/greenbar.gif" width="85" height="10" title="10" alt="10"/></td><td class="ctr2" id="e1">76%</td><td class="ctr1" id="f1">3</td><td class="ctr2" id="g1">8</td><td class="ctr1" id="h1">2</td><td class="ctr2" id="i1">25</td><td class="ctr1" id="j1">0</td><td class="ctr2" id="k1">1</td></tr><tr><td id="a0"><a href="TryWithResourcesJavacFilter.java.html#L135" class="el_method">matchJavac(TryWithResourcesJavacFilter.Matcher.JavacPattern)</a></td><td class="bar" id="b2"><img src="../../jacoco-resources/greenbar.gif" width="102" height="10" title="96" alt="96"/></td><td class="ctr2" id="c0">100%</td><td class="bar" id="d2"><img src="../../jacoco-resources/greenbar.gif" width="68" height="10" title="8" alt="8"/></td><td class="ctr2" id="e0">100%</td><td class="ctr1" id="f2">0</td><td class="ctr2" id="g2">5</td><td class="ctr1" id="h2">0</td><td class="ctr2" id="i0">27</td><td class="ctr1" id="j2">0</td><td class="ctr2" id="k2">1</td></tr><tr><td id="a3"><a href="TryWithResourcesJavacFilter.java.html#L127" class="el_method">start(AbstractInsnNode)</a></td><td class="bar" id="b3"><img src="../../jacoco-resources/greenbar.gif" width="15" height="10" title="14" alt="14"/></td><td class="ctr2" id="c1">100%</td><td class="bar" id="d3"/><td class="ctr2" id="e3">n/a</td><td class="ctr1" id="f3">0</td><td class="ctr2" id="g3">1</td><td class="ctr1" id="h3">0</td><td class="ctr2" id="i3">5</td><td class="ctr1" id="j3">0</td><td class="ctr2" id="k3">1</td></tr><tr><td id="a4"><a href="TryWithResourcesJavacFilter.java.html#L99" class="el_method">TryWithResourcesJavacFilter.Matcher(IFilterOutput)</a></td><td class="bar" id="b4"><img src="../../jacoco-resources/greenbar.gif" width="6" height="10" title="6" alt="6"/></td><td class="ctr2" id="c2">100%</td><td class="bar" id="d4"/><td class="ctr2" id="e4">n/a</td><td class="ctr1" id="f4">0</td><td class="ctr2" id="g4">1</td><td class="ctr1" id="h4">0</td><td class="ctr2" id="i4">3</td><td class="ctr1" id="j4">0</td><td class="ctr2" id="k4">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.12.202403270442</span>Code Coverage Report for JaCoCo 0.8.12-SNAPSHOT</div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/trunk/coverage/org.jacoco.core/org.jacoco.core.internal.analysis.filter/TryWithResourcesJavacFilter.html b/jacoco/trunk/coverage/org.jacoco.core/org.jacoco.core.internal.analysis.filter/TryWithResourcesJavacFilter.html
    new file mode 100644
    index 00000000000..b396bbd07e5
    --- /dev/null
    +++ b/jacoco/trunk/coverage/org.jacoco.core/org.jacoco.core.internal.analysis.filter/TryWithResourcesJavacFilter.html
    @@ -0,0 +1 @@
    +<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="en"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../../jacoco-resources/report.gif" type="image/gif"/><title>TryWithResourcesJavacFilter</title><script type="text/javascript" src="../../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../../index.html" class="el_report">JaCoCo</a> &gt; <a href="../index.html" class="el_bundle">org.jacoco.core</a> &gt; <a href="index.html" class="el_package">org.jacoco.core.internal.analysis.filter</a> &gt; <span class="el_class">TryWithResourcesJavacFilter</span></div><h1>TryWithResourcesJavacFilter</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">0 of 56</td><td class="ctr2">100%</td><td class="bar">0 of 10</td><td class="ctr2">100%</td><td class="ctr1">0</td><td class="ctr2">7</td><td class="ctr1">0</td><td class="ctr2">12</td><td class="ctr1">0</td><td class="ctr2">2</td></tr></tfoot><tbody><tr><td id="a0"><a href="TryWithResourcesJavacFilter.java.html#L29" class="el_method">filter(MethodNode, IFilterContext, IFilterOutput)</a></td><td class="bar" id="b0"><img src="../../jacoco-resources/greenbar.gif" width="120" height="10" title="53" alt="53"/></td><td class="ctr2" id="c0">100%</td><td class="bar" id="d0"><img src="../../jacoco-resources/greenbar.gif" width="120" height="10" title="10" alt="10"/></td><td class="ctr2" id="e0">100%</td><td class="ctr1" id="f0">0</td><td class="ctr2" id="g0">6</td><td class="ctr1" id="h0">0</td><td class="ctr2" id="i0">10</td><td class="ctr1" id="j0">0</td><td class="ctr2" id="k0">1</td></tr><tr><td id="a1"><a href="TryWithResourcesJavacFilter.java.html#L25" class="el_method">TryWithResourcesJavacFilter()</a></td><td class="bar" id="b1"><img src="../../jacoco-resources/greenbar.gif" width="6" height="10" title="3" alt="3"/></td><td class="ctr2" id="c1">100%</td><td class="bar" id="d1"/><td class="ctr2" id="e1">n/a</td><td class="ctr1" id="f1">0</td><td class="ctr2" id="g1">1</td><td class="ctr1" id="h1">0</td><td class="ctr2" id="i1">2</td><td class="ctr1" id="j1">0</td><td class="ctr2" id="k1">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.12.202403270442</span>Code Coverage Report for JaCoCo 0.8.12-SNAPSHOT</div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/trunk/coverage/org.jacoco.core/org.jacoco.core.internal.analysis.filter/TryWithResourcesJavacFilter.java.html b/jacoco/trunk/coverage/org.jacoco.core/org.jacoco.core.internal.analysis.filter/TryWithResourcesJavacFilter.java.html
    new file mode 100644
    index 00000000000..f4d1d2280e4
    --- /dev/null
    +++ b/jacoco/trunk/coverage/org.jacoco.core/org.jacoco.core.internal.analysis.filter/TryWithResourcesJavacFilter.java.html
    @@ -0,0 +1,258 @@
    +<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="en"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../../jacoco-resources/report.gif" type="image/gif"/><title>TryWithResourcesJavacFilter.java</title><link rel="stylesheet" href="../../jacoco-resources/prettify.css" type="text/css"/><script type="text/javascript" src="../../jacoco-resources/prettify.js"></script></head><body onload="window['PR_TAB_WIDTH']=4;prettyPrint()"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../../index.html" class="el_report">JaCoCo</a> &gt; <a href="../index.html" class="el_bundle">org.jacoco.core</a> &gt; <a href="index.source.html" class="el_package">org.jacoco.core.internal.analysis.filter</a> &gt; <span class="el_source">TryWithResourcesJavacFilter.java</span></div><h1>TryWithResourcesJavacFilter.java</h1><pre class="source lang-java linenums">/*******************************************************************************
    + * Copyright (c) 2009, 2024 Mountainminds GmbH &amp; Co. KG and Contributors
    + * This program and the accompanying materials are made available under
    + * the terms of the Eclipse Public License 2.0 which is available at
    + * http://www.eclipse.org/legal/epl-2.0
    + *
    + * SPDX-License-Identifier: EPL-2.0
    + *
    + * Contributors:
    + *    Evgeny Mandrikov - initial API and implementation
    + *
    + *******************************************************************************/
    +package org.jacoco.core.internal.analysis.filter;
    +
    +import org.objectweb.asm.Opcodes;
    +import org.objectweb.asm.tree.AbstractInsnNode;
    +import org.objectweb.asm.tree.MethodInsnNode;
    +import org.objectweb.asm.tree.MethodNode;
    +import org.objectweb.asm.tree.TryCatchBlockNode;
    +
    +/**
    + * Filters code which is generated for try-with-resources statement by javac
    + * versions from 7 to 10.
    + */
    +<span class="fc" id="L25">public final class TryWithResourcesJavacFilter implements IFilter {</span>
    +
    +	public void filter(final MethodNode methodNode,
    +			final IFilterContext context, final IFilterOutput output) {
    +<span class="fc bfc" id="L29" title="All 2 branches covered.">		if (methodNode.tryCatchBlocks.isEmpty()) {</span>
    +<span class="fc" id="L30">			return;</span>
    +		}
    +<span class="fc" id="L32">		final Matcher matcher = new Matcher(output);</span>
    +<span class="fc bfc" id="L33" title="All 2 branches covered.">		for (final TryCatchBlockNode t : methodNode.tryCatchBlocks) {</span>
    +<span class="fc bfc" id="L34" title="All 2 branches covered.">			if (&quot;java/lang/Throwable&quot;.equals(t.type)) {</span>
    +				for (final Matcher.JavacPattern p : Matcher.JavacPattern
    +<span class="fc bfc" id="L36" title="All 2 branches covered.">						.values()) {</span>
    +<span class="fc" id="L37">					matcher.start(t.handler);</span>
    +<span class="fc bfc" id="L38" title="All 2 branches covered.">					if (matcher.matchJavac(p)) {</span>
    +<span class="fc" id="L39">						break;</span>
    +					}
    +				}
    +			}
    +		}
    +<span class="fc" id="L44">	}</span>
    +
    +	/**
    +	 * javac from JDK 7 and 8 generates bytecode that is equivalent to the
    +	 * compilation of source code that is described in &lt;a href=
    +	 * &quot;http://docs.oracle.com/javase/specs/jls/se8/html/jls-14.html#jls-14.20.3.1&quot;&gt;JLS
    +	 * 14.20.3. try-with-resources&lt;/a&gt;:
    +	 *
    +	 * &lt;pre&gt;
    +	 *     Resource r = ...;
    +	 *     Throwable primaryExc = null;
    +	 *     try {
    +	 *         ...
    +	 *     } finally {
    +	 *         if (r != null) {
    +	 *             if (primaryExc != null) {
    +	 *                 try {
    +	 *                     r.close();
    +	 *                 } catch (Throwable suppressedExc) {
    +	 *                     primaryExc.addSuppressed(suppressedExc);
    +	 *                 }
    +	 *             } else {
    +	 *                 r.close();
    +	 *             }
    +	 *         }
    +	 *     }
    +	 * &lt;/pre&gt;
    +	 *
    +	 * Case of multiple resources looks like multiple nested try-with-resources
    +	 * statements. javac from JDK 9 EA b160 does the same, but with some
    +	 * optimizations (see &lt;a href=
    +	 * &quot;https://bugs.openjdk.java.net/browse/JDK-7020499&quot;&gt;JDK-7020499&lt;/a&gt;):
    +	 * &lt;ul&gt;
    +	 * &lt;li&gt;&lt;code&gt;null&lt;/code&gt; check for resource is omitted when it is
    +	 * initialized using &lt;code&gt;new&lt;/code&gt;&lt;/li&gt;
    +	 * &lt;li&gt;synthetic method &lt;code&gt;$closeResource&lt;/code&gt; containing
    +	 * &lt;code&gt;null&lt;/code&gt; check of primaryExc and calls to methods
    +	 * &lt;code&gt;addSuppressed&lt;/code&gt; and &lt;code&gt;close&lt;/code&gt; is used when number of
    +	 * copies of closing logic reaches threshold, &lt;code&gt;null&lt;/code&gt; check of
    +	 * resource (if present) is done before call of this method&lt;/li&gt;
    +	 * &lt;/ul&gt;
    +	 * During matching association between resource and slot of variable is done
    +	 * on exceptional path and is used to find close of resource on normal path.
    +	 * Order of loading variables primaryExc and r is different in different
    +	 * cases, which implies that this order should be determined before
    +	 * association. So {@link JavacPattern} defines all possible variants that
    +	 * will be tried sequentially.
    +	 */
    +<span class="fc" id="L92">	static class Matcher extends AbstractMatcher {</span>
    +		private final IFilterOutput output;
    +
    +		private String expectedOwner;
    +
    +		private AbstractInsnNode start;
    +
    +<span class="fc" id="L99">		Matcher(final IFilterOutput output) {</span>
    +<span class="fc" id="L100">			this.output = output;</span>
    +<span class="fc" id="L101">		}</span>
    +
    +<span class="fc" id="L103">		private enum JavacPattern {</span>
    +			/**
    +			 * resource is loaded after primaryExc, &lt;code&gt;null&lt;/code&gt; check of
    +			 * resource is omitted, method &lt;code&gt;$closeResource&lt;/code&gt; is used
    +			 */
    +<span class="fc" id="L108">			OPTIMAL,</span>
    +			/**
    +			 * resource is loaded before primaryExc and both are checked on
    +			 * &lt;code&gt;null&lt;/code&gt;
    +			 */
    +<span class="fc" id="L113">			FULL,</span>
    +			/**
    +			 * resource is loaded after primaryExc, &lt;code&gt;null&lt;/code&gt; check of
    +			 * resource is omitted
    +			 */
    +<span class="fc" id="L118">			OMITTED_NULL_CHECK,</span>
    +			/**
    +			 * resource is loaded before primaryExc and checked on
    +			 * &lt;code&gt;null&lt;/code&gt;, method &lt;code&gt;$closeResource&lt;/code&gt; is used
    +			 */
    +<span class="fc" id="L123">			METHOD,</span>
    +		}
    +
    +		private void start(final AbstractInsnNode start) {
    +<span class="fc" id="L127">			this.start = start;</span>
    +<span class="fc" id="L128">			cursor = start.getPrevious();</span>
    +<span class="fc" id="L129">			vars.clear();</span>
    +<span class="fc" id="L130">			expectedOwner = null;</span>
    +<span class="fc" id="L131">		}</span>
    +
    +		private boolean matchJavac(final JavacPattern p) {
    +			// &quot;catch (Throwable t)&quot;
    +<span class="fc" id="L135">			nextIsVar(Opcodes.ASTORE, &quot;t1&quot;);</span>
    +			// &quot;primaryExc = t&quot;
    +<span class="fc" id="L137">			nextIsVar(Opcodes.ALOAD, &quot;t1&quot;);</span>
    +<span class="fc" id="L138">			nextIsVar(Opcodes.ASTORE, &quot;primaryExc&quot;);</span>
    +			// &quot;throw t&quot;
    +<span class="fc" id="L140">			nextIsVar(Opcodes.ALOAD, &quot;t1&quot;);</span>
    +<span class="fc" id="L141">			nextIs(Opcodes.ATHROW);</span>
    +
    +			// &quot;catch (any t)&quot;
    +<span class="fc" id="L144">			nextIsVar(Opcodes.ASTORE, &quot;t2&quot;);</span>
    +<span class="fc" id="L145">			nextIsJavacClose(p, &quot;e&quot;);</span>
    +			// &quot;throw t&quot;
    +<span class="fc" id="L147">			nextIsVar(Opcodes.ALOAD, &quot;t2&quot;);</span>
    +<span class="fc" id="L148">			nextIs(Opcodes.ATHROW);</span>
    +<span class="fc bfc" id="L149" title="All 2 branches covered.">			if (cursor == null) {</span>
    +<span class="fc" id="L150">				return false;</span>
    +			}
    +<span class="fc" id="L152">			final AbstractInsnNode end = cursor;</span>
    +
    +<span class="fc" id="L154">			AbstractInsnNode startOnNonExceptionalPath = start.getPrevious();</span>
    +<span class="fc" id="L155">			cursor = startOnNonExceptionalPath;</span>
    +<span class="fc bfc" id="L156" title="All 2 branches covered.">			while (!nextIsJavacClose(p, &quot;n&quot;)) {</span>
    +<span class="fc" id="L157">				startOnNonExceptionalPath = startOnNonExceptionalPath</span>
    +						.getPrevious();
    +<span class="fc" id="L159">				cursor = startOnNonExceptionalPath;</span>
    +<span class="fc bfc" id="L160" title="All 2 branches covered.">				if (cursor == null) {</span>
    +<span class="fc" id="L161">					return false;</span>
    +				}
    +			}
    +<span class="fc" id="L164">			startOnNonExceptionalPath = startOnNonExceptionalPath.getNext();</span>
    +
    +<span class="fc" id="L166">			final AbstractInsnNode m = cursor;</span>
    +<span class="fc" id="L167">			next();</span>
    +<span class="fc bfc" id="L168" title="All 2 branches covered.">			if (cursor.getOpcode() != Opcodes.GOTO) {</span>
    +<span class="fc" id="L169">				cursor = m;</span>
    +			}
    +
    +<span class="fc" id="L172">			output.ignore(startOnNonExceptionalPath, cursor);</span>
    +<span class="fc" id="L173">			output.ignore(start, end);</span>
    +<span class="fc" id="L174">			return true;</span>
    +		}
    +
    +		/**
    +		 * On a first invocation will associate variables with names &quot;r&quot; and
    +		 * &quot;primaryExc&quot;, on subsequent invocations will use those associations
    +		 * for checks.
    +		 */
    +		private boolean nextIsJavacClose(final JavacPattern p,
    +				final String ctx) {
    +<span class="pc bfc" id="L184" title="All 2 branches covered.">			switch (p) {</span>
    +			case METHOD:
    +			case FULL:
    +				// &quot;if (r != null)&quot;
    +<span class="fc" id="L188">				nextIsVar(Opcodes.ALOAD, &quot;r&quot;);</span>
    +<span class="fc" id="L189">				nextIs(Opcodes.IFNULL);</span>
    +			}
    +<span class="pc bpc" id="L191" title="1 of 3 branches missed.">			switch (p) {</span>
    +			case METHOD:
    +			case OPTIMAL:
    +<span class="fc" id="L194">				nextIsVar(Opcodes.ALOAD, &quot;primaryExc&quot;);</span>
    +<span class="fc" id="L195">				nextIsVar(Opcodes.ALOAD, &quot;r&quot;);</span>
    +<span class="fc" id="L196">				nextIs(Opcodes.INVOKESTATIC);</span>
    +<span class="fc bfc" id="L197" title="All 2 branches covered.">				if (cursor != null) {</span>
    +<span class="fc" id="L198">					final MethodInsnNode m = (MethodInsnNode) cursor;</span>
    +<span class="pc bpc" id="L199" title="2 of 4 branches missed.">					if (&quot;$closeResource&quot;.equals(m.name)</span>
    +							&amp;&amp; &quot;(Ljava/lang/Throwable;Ljava/lang/AutoCloseable;)V&quot;
    +									.equals(m.desc)) {
    +<span class="fc" id="L202">						return true;</span>
    +					}
    +<span class="nc" id="L204">					cursor = null;</span>
    +				}
    +<span class="fc" id="L206">				return false;</span>
    +			case FULL:
    +			case OMITTED_NULL_CHECK:
    +<span class="fc" id="L209">				nextIsVar(Opcodes.ALOAD, &quot;primaryExc&quot;);</span>
    +				// &quot;if (primaryExc != null)&quot;
    +<span class="fc" id="L211">				nextIs(Opcodes.IFNULL);</span>
    +				// &quot;r.close()&quot;
    +<span class="fc" id="L213">				nextIsClose();</span>
    +<span class="fc" id="L214">				nextIs(Opcodes.GOTO);</span>
    +				// &quot;catch (Throwable t)&quot;
    +<span class="fc" id="L216">				nextIsVar(Opcodes.ASTORE, ctx + &quot;t&quot;);</span>
    +				// &quot;primaryExc.addSuppressed(t)&quot;
    +<span class="fc" id="L218">				nextIsVar(Opcodes.ALOAD, &quot;primaryExc&quot;);</span>
    +<span class="fc" id="L219">				nextIsVar(Opcodes.ALOAD, ctx + &quot;t&quot;);</span>
    +<span class="fc" id="L220">				nextIsInvoke(Opcodes.INVOKEVIRTUAL, &quot;java/lang/Throwable&quot;,</span>
    +						&quot;addSuppressed&quot;, &quot;(Ljava/lang/Throwable;)V&quot;);
    +<span class="fc" id="L222">				nextIs(Opcodes.GOTO);</span>
    +				// &quot;r.close()&quot;
    +<span class="fc" id="L224">				nextIsClose();</span>
    +<span class="fc bfc" id="L225" title="All 2 branches covered.">				return cursor != null;</span>
    +			default:
    +<span class="nc" id="L227">				throw new AssertionError();</span>
    +			}
    +		}
    +
    +		private void nextIsClose() {
    +<span class="fc" id="L232">			nextIsVar(Opcodes.ALOAD, &quot;r&quot;);</span>
    +<span class="fc" id="L233">			next();</span>
    +<span class="fc bfc" id="L234" title="All 2 branches covered.">			if (cursor == null) {</span>
    +<span class="fc" id="L235">				return;</span>
    +			}
    +<span class="pc bpc" id="L237" title="1 of 4 branches missed.">			if (cursor.getOpcode() != Opcodes.INVOKEINTERFACE</span>
    +					&amp;&amp; cursor.getOpcode() != Opcodes.INVOKEVIRTUAL) {
    +<span class="nc" id="L239">				cursor = null;</span>
    +<span class="nc" id="L240">				return;</span>
    +			}
    +<span class="fc" id="L242">			final MethodInsnNode m = (MethodInsnNode) cursor;</span>
    +<span class="pc bpc" id="L243" title="2 of 4 branches missed.">			if (!&quot;close&quot;.equals(m.name) || !&quot;()V&quot;.equals(m.desc)) {</span>
    +<span class="nc" id="L244">				cursor = null;</span>
    +<span class="nc" id="L245">				return;</span>
    +			}
    +<span class="fc" id="L247">			final String actual = m.owner;</span>
    +<span class="fc bfc" id="L248" title="All 2 branches covered.">			if (expectedOwner == null) {</span>
    +<span class="fc" id="L249">				expectedOwner = actual;</span>
    +<span class="pc bpc" id="L250" title="1 of 2 branches missed.">			} else if (!expectedOwner.equals(actual)) {</span>
    +<span class="nc" id="L251">				cursor = null;</span>
    +			}
    +<span class="fc" id="L253">		}</span>
    +
    +	}
    +
    +}
    +</pre><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.12.202403270442</span>Code Coverage Report for JaCoCo 0.8.12-SNAPSHOT</div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/trunk/coverage/org.jacoco.core/org.jacoco.core.internal.analysis.filter/index.html b/jacoco/trunk/coverage/org.jacoco.core/org.jacoco.core.internal.analysis.filter/index.html
    new file mode 100644
    index 00000000000..c9aff523bc8
    --- /dev/null
    +++ b/jacoco/trunk/coverage/org.jacoco.core/org.jacoco.core.internal.analysis.filter/index.html
    @@ -0,0 +1 @@
    +<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="en"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../../jacoco-resources/report.gif" type="image/gif"/><title>org.jacoco.core.internal.analysis.filter</title><script type="text/javascript" src="../../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb', 'coveragetable'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="index.source.html" class="el_source">Source Files</a><a href="../../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../../index.html" class="el_report">JaCoCo</a> &gt; <a href="../index.html" class="el_bundle">org.jacoco.core</a> &gt; <span class="el_package">org.jacoco.core.internal.analysis.filter</span></div><h1>org.jacoco.core.internal.analysis.filter</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td><td class="sortable ctr1" id="l" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="m" onclick="toggleSort(this)">Classes</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">131 of 5,038</td><td class="ctr2">97%</td><td class="bar">97 of 731</td><td class="ctr2">86%</td><td class="ctr1">97</td><td class="ctr2">509</td><td class="ctr1">63</td><td class="ctr2">1,216</td><td class="ctr1">0</td><td class="ctr2">142</td><td class="ctr1">0</td><td class="ctr2">51</td></tr></tfoot><tbody><tr><td id="a44"><a href="TryWithResourcesEcjFilter$Matcher.html" class="el_class">TryWithResourcesEcjFilter.Matcher</a></td><td class="bar" id="b0"><img src="../../jacoco-resources/redbar.gif" width="6" height="10" title="29" alt="29"/><img src="../../jacoco-resources/greenbar.gif" width="113" height="10" title="533" alt="533"/></td><td class="ctr2" id="c44">94%</td><td class="bar" id="d1"><img src="../../jacoco-resources/redbar.gif" width="23" height="10" title="14" alt="14"/><img src="../../jacoco-resources/greenbar.gif" width="74" height="10" title="44" alt="44"/></td><td class="ctr2" id="e41">75%</td><td class="ctr1" id="f1">14</td><td class="ctr2" id="g1">39</td><td class="ctr1" id="h0">13</td><td class="ctr2" id="i0">140</td><td class="ctr1" id="j0">0</td><td class="ctr2" id="k1">10</td><td class="ctr1" id="l0">0</td><td class="ctr2" id="m0">1</td></tr><tr><td id="a48"><a href="TryWithResourcesJavacFilter$Matcher.html" class="el_class">TryWithResourcesJavacFilter.Matcher</a></td><td class="bar" id="b1"><img src="../../jacoco-resources/redbar.gif" width="3" height="10" title="18" alt="18"/><img src="../../jacoco-resources/greenbar.gif" width="57" height="10" title="271" alt="271"/></td><td class="ctr2" id="c47">93%</td><td class="bar" id="d4"><img src="../../jacoco-resources/redbar.gif" width="11" height="10" title="7" alt="7"/><img src="../../jacoco-resources/greenbar.gif" width="47" height="10" title="28" alt="28"/></td><td class="ctr2" id="e37">80%</td><td class="ctr1" id="f4">7</td><td class="ctr2" id="g4">23</td><td class="ctr1" id="h2">7</td><td class="ctr2" id="i3">77</td><td class="ctr1" id="j1">0</td><td class="ctr2" id="k3">5</td><td class="ctr1" id="l1">0</td><td class="ctr2" id="m1">1</td></tr><tr><td id="a9"><a href="ExhaustiveSwitchFilter$Matcher.html" class="el_class">ExhaustiveSwitchFilter.Matcher</a></td><td class="bar" id="b2"><img src="../../jacoco-resources/redbar.gif" width="2" height="10" title="13" alt="13"/><img src="../../jacoco-resources/greenbar.gif" width="30" height="10" title="142" alt="142"/></td><td class="ctr2" id="c48">91%</td><td class="bar" id="d3"><img src="../../jacoco-resources/redbar.gif" width="13" height="10" title="8" alt="8"/><img src="../../jacoco-resources/greenbar.gif" width="33" height="10" title="20" alt="20"/></td><td class="ctr2" id="e44">71%</td><td class="ctr1" id="f3">8</td><td class="ctr2" id="g8">16</td><td class="ctr1" id="h3">6</td><td class="ctr2" id="i10">37</td><td class="ctr1" id="j2">0</td><td class="ctr2" id="k18">2</td><td class="ctr1" id="l2">0</td><td class="ctr2" id="m2">1</td></tr><tr><td id="a13"><a href="KotlinCoroutineFilter$Matcher.html" class="el_class">KotlinCoroutineFilter.Matcher</a></td><td class="bar" id="b3"><img src="../../jacoco-resources/redbar.gif" width="2" height="10" title="11" alt="11"/><img src="../../jacoco-resources/greenbar.gif" width="94" height="10" title="441" alt="441"/></td><td class="ctr2" id="c38">97%</td><td class="bar" id="d0"><img src="../../jacoco-resources/redbar.gif" width="28" height="10" title="17" alt="17"/><img src="../../jacoco-resources/greenbar.gif" width="65" height="10" title="39" alt="39"/></td><td class="ctr2" id="e45">69%</td><td class="ctr1" id="f0">17</td><td class="ctr2" id="g3">32</td><td class="ctr1" id="h1">9</td><td class="ctr2" id="i1">116</td><td class="ctr1" id="j3">0</td><td class="ctr2" id="k7">4</td><td class="ctr1" id="l3">0</td><td class="ctr2" id="m3">1</td></tr><tr><td id="a46"><a href="TryWithResourcesJavac11Filter$Matcher.html" class="el_class">TryWithResourcesJavac11Filter.Matcher</a></td><td class="bar" id="b4"><img src="../../jacoco-resources/redbar.gif" width="2" height="10" title="11" alt="11"/><img src="../../jacoco-resources/greenbar.gif" width="37" height="10" title="176" alt="176"/></td><td class="ctr2" id="c46">94%</td><td class="bar" id="d5"><img src="../../jacoco-resources/redbar.gif" width="10" height="10" title="6" alt="6"/><img src="../../jacoco-resources/greenbar.gif" width="33" height="10" title="20" alt="20"/></td><td class="ctr2" id="e40">76%</td><td class="ctr1" id="f5">6</td><td class="ctr2" id="g7">17</td><td class="ctr1" id="h4">5</td><td class="ctr2" id="i6">54</td><td class="ctr1" id="j4">0</td><td class="ctr2" id="k8">4</td><td class="ctr1" id="l4">0</td><td class="ctr2" id="m4">1</td></tr><tr><td id="a26"><a href="KotlinWhenFilter.html" class="el_class">KotlinWhenFilter</a></td><td class="bar" id="b5"><img src="../../jacoco-resources/redbar.gif" width="1" height="10" title="9" alt="9"/><img src="../../jacoco-resources/greenbar.gif" width="14" height="10" title="67" alt="67"/></td><td class="ctr2" id="c49">88%</td><td class="bar" id="d13"><img src="../../jacoco-resources/redbar.gif" width="3" height="10" title="2" alt="2"/><img src="../../jacoco-resources/greenbar.gif" width="11" height="10" title="7" alt="7"/></td><td class="ctr2" id="e39">77%</td><td class="ctr1" id="f12">2</td><td class="ctr2" id="g17">9</td><td class="ctr1" id="h7">2</td><td class="ctr2" id="i16">18</td><td class="ctr1" id="j5">0</td><td class="ctr2" id="k9">4</td><td class="ctr1" id="l5">0</td><td class="ctr2" id="m5">1</td></tr><tr><td id="a11"><a href="FinallyFilter.html" class="el_class">FinallyFilter</a></td><td class="bar" id="b6"><img src="../../jacoco-resources/redbar.gif" width="1" height="10" title="8" alt="8"/><img src="../../jacoco-resources/greenbar.gif" width="63" height="10" title="299" alt="299"/></td><td class="ctr2" id="c41">97%</td><td class="bar" id="d2"><img src="../../jacoco-resources/redbar.gif" width="16" height="10" title="10" alt="10"/><img src="../../jacoco-resources/greenbar.gif" width="103" height="10" title="61" alt="61"/></td><td class="ctr2" id="e33">85%</td><td class="ctr1" id="f2">10</td><td class="ctr2" id="g0">43</td><td class="ctr1" id="h5">5</td><td class="ctr2" id="i2">78</td><td class="ctr1" id="j6">0</td><td class="ctr2" id="k2">7</td><td class="ctr1" id="l6">0</td><td class="ctr2" id="m6">1</td></tr><tr><td id="a19"><a href="KotlinInlineFilter.html" class="el_class">KotlinInlineFilter</a></td><td class="bar" id="b7"><img src="../../jacoco-resources/redbar.gif" width="1" height="10" title="6" alt="6"/><img src="../../jacoco-resources/greenbar.gif" width="48" height="10" title="227" alt="227"/></td><td class="ctr2" id="c40">97%</td><td class="bar" id="d23"><img src="../../jacoco-resources/greenbar.gif" width="54" height="10" title="32" alt="32"/></td><td class="ctr2" id="e0">100%</td><td class="ctr1" id="f22">0</td><td class="ctr2" id="g6">21</td><td class="ctr1" id="h8">2</td><td class="ctr2" id="i5">56</td><td class="ctr1" id="j7">0</td><td class="ctr2" id="k4">5</td><td class="ctr1" id="l7">0</td><td class="ctr2" id="m7">1</td></tr><tr><td id="a39"><a href="StringSwitchJavacFilter$Matcher.html" class="el_class">StringSwitchJavacFilter.Matcher</a></td><td class="bar" id="b8"><img src="../../jacoco-resources/redbar.gif" width="1" height="10" title="5" alt="5"/><img src="../../jacoco-resources/greenbar.gif" width="21" height="10" title="101" alt="101"/></td><td class="ctr2" id="c43">95%</td><td class="bar" id="d11"><img src="../../jacoco-resources/redbar.gif" width="5" height="10" title="3" alt="3"/><img src="../../jacoco-resources/greenbar.gif" width="25" height="10" title="15" alt="15"/></td><td class="ctr2" id="e35">83%</td><td class="ctr1" id="f8">3</td><td class="ctr2" id="g15">10</td><td class="ctr1" id="h9">2</td><td class="ctr2" id="i13">27</td><td class="ctr1" id="j8">0</td><td class="ctr2" id="k39">1</td><td class="ctr1" id="l8">0</td><td class="ctr2" id="m8">1</td></tr><tr><td id="a35"><a href="RecordsFilter$Matcher.html" class="el_class">RecordsFilter.Matcher</a></td><td class="bar" id="b9"><img src="../../jacoco-resources/greenbar.gif" width="34" height="10" title="161" alt="161"/></td><td class="ctr2" id="c37">97%</td><td class="bar" id="d8"><img src="../../jacoco-resources/redbar.gif" width="5" height="10" title="3" alt="3"/><img src="../../jacoco-resources/greenbar.gif" width="55" height="10" title="33" alt="33"/></td><td class="ctr2" id="e29">91%</td><td class="ctr1" id="f9">3</td><td class="ctr2" id="g5">23</td><td class="ctr1" id="h10">2</td><td class="ctr2" id="i8">42</td><td class="ctr1" id="j9">0</td><td class="ctr2" id="k5">5</td><td class="ctr1" id="l9">0</td><td class="ctr2" id="m9">1</td></tr><tr><td id="a50"><a href="TryWithResourcesJavacFilter$1.html" class="el_class">TryWithResourcesJavacFilter.new Object() {...}</a></td><td class="bar" id="b10"><img src="../../jacoco-resources/greenbar.gif" width="6" height="10" title="29" alt="29"/></td><td class="ctr2" id="c50">87%</td><td class="bar" id="d49"/><td class="ctr2" id="e49">n/a</td><td class="ctr1" id="f23">0</td><td class="ctr2" id="g49">1</td><td class="ctr1" id="h16">0</td><td class="ctr2" id="i50">1</td><td class="ctr1" id="j10">0</td><td class="ctr2" id="k40">1</td><td class="ctr1" id="l10">0</td><td class="ctr2" id="m10">1</td></tr><tr><td id="a25"><a href="KotlinUnsafeCastOperatorFilter$Matcher.html" class="el_class">KotlinUnsafeCastOperatorFilter.Matcher</a></td><td class="bar" id="b11"><img src="../../jacoco-resources/greenbar.gif" width="16" height="10" title="76" alt="76"/></td><td class="ctr2" id="c42">96%</td><td class="bar" id="d6"><img src="../../jacoco-resources/redbar.gif" width="8" height="10" title="5" alt="5"/><img src="../../jacoco-resources/greenbar.gif" width="18" height="10" title="11" alt="11"/></td><td class="ctr2" id="e46">68%</td><td class="ctr1" id="f6">5</td><td class="ctr2" id="g18">9</td><td class="ctr1" id="h6">3</td><td class="ctr2" id="i14">23</td><td class="ctr1" id="j11">0</td><td class="ctr2" id="k41">1</td><td class="ctr1" id="l11">0</td><td class="ctr2" id="m11">1</td></tr><tr><td id="a15"><a href="KotlinDefaultArgumentsFilter$Matcher.html" class="el_class">KotlinDefaultArgumentsFilter.Matcher</a></td><td class="bar" id="b12"><img src="../../jacoco-resources/greenbar.gif" width="34" height="10" title="163" alt="163"/></td><td class="ctr2" id="c34">98%</td><td class="bar" id="d7"><img src="../../jacoco-resources/redbar.gif" width="6" height="10" title="4" alt="4"/><img src="../../jacoco-resources/greenbar.gif" width="27" height="10" title="16" alt="16"/></td><td class="ctr2" id="e38">80%</td><td class="ctr1" id="f7">4</td><td class="ctr2" id="g11">12</td><td class="ctr1" id="h11">2</td><td class="ctr2" id="i9">38</td><td class="ctr1" id="j12">0</td><td class="ctr2" id="k19">2</td><td class="ctr1" id="l12">0</td><td class="ctr2" id="m12">1</td></tr><tr><td id="a29"><a href="KotlinWhenStringFilter$Matcher.html" class="el_class">KotlinWhenStringFilter.Matcher</a></td><td class="bar" id="b13"><img src="../../jacoco-resources/greenbar.gif" width="31" height="10" title="147" alt="147"/></td><td class="ctr2" id="c35">98%</td><td class="bar" id="d10"><img src="../../jacoco-resources/redbar.gif" width="5" height="10" title="3" alt="3"/><img src="../../jacoco-resources/greenbar.gif" width="28" height="10" title="17" alt="17"/></td><td class="ctr2" id="e34">85%</td><td class="ctr1" id="f10">3</td><td class="ctr2" id="g12">11</td><td class="ctr1" id="h12">2</td><td class="ctr2" id="i7">43</td><td class="ctr1" id="j13">0</td><td class="ctr2" id="k42">1</td><td class="ctr1" id="l13">0</td><td class="ctr2" id="m13">1</td></tr><tr><td id="a14"><a href="KotlinDefaultArgumentsFilter.html" class="el_class">KotlinDefaultArgumentsFilter</a></td><td class="bar" id="b14"><img src="../../jacoco-resources/greenbar.gif" width="16" height="10" title="76" alt="76"/></td><td class="ctr2" id="c39">97%</td><td class="bar" id="d18"><img src="../../jacoco-resources/redbar.gif" width="1" height="10" title="1" alt="1"/><img src="../../jacoco-resources/greenbar.gif" width="18" height="10" title="11" alt="11"/></td><td class="ctr2" id="e30">91%</td><td class="ctr1" id="f16">1</td><td class="ctr2" id="g13">11</td><td class="ctr1" id="h13">1</td><td class="ctr2" id="i15">19</td><td class="ctr1" id="j14">0</td><td class="ctr2" id="k6">5</td><td class="ctr1" id="l14">0</td><td class="ctr2" id="m14">1</td></tr><tr><td id="a37"><a href="StringSwitchFilter$Matcher.html" class="el_class">StringSwitchFilter.Matcher</a></td><td class="bar" id="b15"><img src="../../jacoco-resources/greenbar.gif" width="28" height="10" title="134" alt="134"/></td><td class="ctr2" id="c32">99%</td><td class="bar" id="d17"><img src="../../jacoco-resources/redbar.gif" width="1" height="10" title="1" alt="1"/><img src="../../jacoco-resources/greenbar.gif" width="28" height="10" title="17" alt="17"/></td><td class="ctr2" id="e28">94%</td><td class="ctr1" id="f17">1</td><td class="ctr2" id="g16">10</td><td class="ctr1" id="h14">1</td><td class="ctr2" id="i11">37</td><td class="ctr1" id="j15">0</td><td class="ctr2" id="k43">1</td><td class="ctr1" id="l15">0</td><td class="ctr2" id="m15">1</td></tr><tr><td id="a21"><a href="KotlinLateinitFilter$Matcher.html" class="el_class">KotlinLateinitFilter.Matcher</a></td><td class="bar" id="b16"><img src="../../jacoco-resources/greenbar.gif" width="27" height="10" title="129" alt="129"/></td><td class="ctr2" id="c33">99%</td><td class="bar" id="d9"><img src="../../jacoco-resources/redbar.gif" width="5" height="10" title="3" alt="3"/><img src="../../jacoco-resources/greenbar.gif" width="42" height="10" title="25" alt="25"/></td><td class="ctr2" id="e32">89%</td><td class="ctr1" id="f11">3</td><td class="ctr2" id="g9">16</td><td class="ctr1" id="h15">1</td><td class="ctr2" id="i12">33</td><td class="ctr1" id="j16">0</td><td class="ctr2" id="k20">2</td><td class="ctr1" id="l16">0</td><td class="ctr2" id="m16">1</td></tr><tr><td id="a12"><a href="KotlinCoroutineFilter.html" class="el_class">KotlinCoroutineFilter</a></td><td class="bar" id="b17"><img src="../../jacoco-resources/greenbar.gif" width="11" height="10" title="52" alt="52"/></td><td class="ctr2" id="c36">98%</td><td class="bar" id="d14"><img src="../../jacoco-resources/redbar.gif" width="3" height="10" title="2" alt="2"/><img src="../../jacoco-resources/greenbar.gif" width="10" height="10" title="6" alt="6"/></td><td class="ctr2" id="e42">75%</td><td class="ctr1" id="f13">2</td><td class="ctr2" id="g22">7</td><td class="ctr1" id="h17">0</td><td class="ctr2" id="i25">12</td><td class="ctr1" id="j17">0</td><td class="ctr2" id="k14">3</td><td class="ctr1" id="l17">0</td><td class="ctr2" id="m17">1</td></tr><tr><td id="a31"><a href="PrivateEmptyNoArgConstructorFilter$Matcher.html" class="el_class">PrivateEmptyNoArgConstructorFilter.Matcher</a></td><td class="bar" id="b18"><img src="../../jacoco-resources/greenbar.gif" width="3" height="10" title="18" alt="18"/></td><td class="ctr2" id="c45">94%</td><td class="bar" id="d20"><img src="../../jacoco-resources/redbar.gif" width="1" height="10" title="1" alt="1"/><img src="../../jacoco-resources/greenbar.gif" width="1" height="10" title="1" alt="1"/></td><td class="ctr2" id="e47">50%</td><td class="ctr1" id="f18">1</td><td class="ctr2" id="g46">2</td><td class="ctr1" id="h18">0</td><td class="ctr2" id="i49">4</td><td class="ctr1" id="j18">0</td><td class="ctr2" id="k44">1</td><td class="ctr1" id="l18">0</td><td class="ctr2" id="m18">1</td></tr><tr><td id="a0"><a href="AbstractMatcher.html" class="el_class">AbstractMatcher</a></td><td class="bar" id="b19"><img src="../../jacoco-resources/greenbar.gif" width="46" height="10" title="217" alt="217"/></td><td class="ctr2" id="c0">100%</td><td class="bar" id="d22"><img src="../../jacoco-resources/greenbar.gif" width="84" height="10" title="50" alt="50"/></td><td class="ctr2" id="e1">100%</td><td class="ctr1" id="f24">0</td><td class="ctr2" id="g2">36</td><td class="ctr1" id="h19">0</td><td class="ctr2" id="i4">64</td><td class="ctr1" id="j19">0</td><td class="ctr2" id="k0">11</td><td class="ctr1" id="l19">0</td><td class="ctr2" id="m19">1</td></tr><tr><td id="a10"><a href="Filters.html" class="el_class">Filters</a></td><td class="bar" id="b20"><img src="../../jacoco-resources/greenbar.gif" width="43" height="10" title="204" alt="204"/></td><td class="ctr2" id="c1">100%</td><td class="bar" id="d41"><img src="../../jacoco-resources/greenbar.gif" width="3" height="10" title="2" alt="2"/></td><td class="ctr2" id="e2">100%</td><td class="ctr1" id="f25">0</td><td class="ctr2" id="g31">5</td><td class="ctr1" id="h20">0</td><td class="ctr2" id="i34">8</td><td class="ctr1" id="j20">0</td><td class="ctr2" id="k10">4</td><td class="ctr1" id="l20">0</td><td class="ctr2" id="m20">1</td></tr><tr><td id="a1"><a href="AnnotationGeneratedFilter.html" class="el_class">AnnotationGeneratedFilter</a></td><td class="bar" id="b21"><img src="../../jacoco-resources/greenbar.gif" width="17" height="10" title="81" alt="81"/></td><td class="ctr2" id="c2">100%</td><td class="bar" id="d24"><img src="../../jacoco-resources/greenbar.gif" width="23" height="10" title="14" alt="14"/></td><td class="ctr2" id="e3">100%</td><td class="ctr1" id="f26">0</td><td class="ctr2" id="g14">11</td><td class="ctr1" id="h21">0</td><td class="ctr2" id="i21">15</td><td class="ctr1" id="j21">0</td><td class="ctr2" id="k11">4</td><td class="ctr1" id="l21">0</td><td class="ctr2" id="m21">1</td></tr><tr><td id="a7"><a href="EnumFilter.html" class="el_class">EnumFilter</a></td><td class="bar" id="b22"><img src="../../jacoco-resources/greenbar.gif" width="14" height="10" title="67" alt="67"/></td><td class="ctr2" id="c3">100%</td><td class="bar" id="d12"><img src="../../jacoco-resources/redbar.gif" width="3" height="10" title="2" alt="2"/><img src="../../jacoco-resources/greenbar.gif" width="16" height="10" title="10" alt="10"/></td><td class="ctr2" id="e36">83%</td><td class="ctr1" id="f14">2</td><td class="ctr2" id="g19">9</td><td class="ctr1" id="h22">0</td><td class="ctr2" id="i29">10</td><td class="ctr1" id="j22">0</td><td class="ctr2" id="k15">3</td><td class="ctr1" id="l22">0</td><td class="ctr2" id="m22">1</td></tr><tr><td id="a27"><a href="KotlinWhenFilter$Matcher.html" class="el_class">KotlinWhenFilter.Matcher</a></td><td class="bar" id="b23"><img src="../../jacoco-resources/greenbar.gif" width="14" height="10" title="66" alt="66"/></td><td class="ctr2" id="c4">100%</td><td class="bar" id="d19"><img src="../../jacoco-resources/redbar.gif" width="1" height="10" title="1" alt="1"/><img src="../../jacoco-resources/greenbar.gif" width="15" height="10" title="9" alt="9"/></td><td class="ctr2" id="e31">90%</td><td class="ctr1" id="f19">1</td><td class="ctr2" id="g26">6</td><td class="ctr1" id="h23">0</td><td class="ctr2" id="i19">17</td><td class="ctr1" id="j23">0</td><td class="ctr2" id="k45">1</td><td class="ctr1" id="l23">0</td><td class="ctr2" id="m23">1</td></tr><tr><td id="a41"><a href="SynchronizedFilter$Matcher.html" class="el_class">SynchronizedFilter.Matcher</a></td><td class="bar" id="b24"><img src="../../jacoco-resources/greenbar.gif" width="13" height="10" title="65" alt="65"/></td><td class="ctr2" id="c5">100%</td><td class="bar" id="d28"><img src="../../jacoco-resources/greenbar.gif" width="13" height="10" title="8" alt="8"/></td><td class="ctr2" id="e4">100%</td><td class="ctr1" id="f27">0</td><td class="ctr2" id="g21">8</td><td class="ctr1" id="h24">0</td><td class="ctr2" id="i17">18</td><td class="ctr1" id="j24">0</td><td class="ctr2" id="k12">4</td><td class="ctr1" id="l24">0</td><td class="ctr2" id="m24">1</td></tr><tr><td id="a42"><a href="SyntheticFilter.html" class="el_class">SyntheticFilter</a></td><td class="bar" id="b25"><img src="../../jacoco-resources/greenbar.gif" width="13" height="10" title="62" alt="62"/></td><td class="ctr2" id="c6">100%</td><td class="bar" id="d16"><img src="../../jacoco-resources/redbar.gif" width="1" height="10" title="1" alt="1"/><img src="../../jacoco-resources/greenbar.gif" width="32" height="10" title="19" alt="19"/></td><td class="ctr2" id="e27">95%</td><td class="ctr1" id="f20">1</td><td class="ctr2" id="g10">13</td><td class="ctr1" id="h25">0</td><td class="ctr2" id="i18">18</td><td class="ctr1" id="j25">0</td><td class="ctr2" id="k16">3</td><td class="ctr1" id="l25">0</td><td class="ctr2" id="m25">1</td></tr><tr><td id="a3"><a href="AssertFilter$Matcher.html" class="el_class">AssertFilter.Matcher</a></td><td class="bar" id="b26"><img src="../../jacoco-resources/greenbar.gif" width="12" height="10" title="58" alt="58"/></td><td class="ctr2" id="c7">100%</td><td class="bar" id="d35"><img src="../../jacoco-resources/greenbar.gif" width="6" height="10" title="4" alt="4"/></td><td class="ctr2" id="e5">100%</td><td class="ctr1" id="f28">0</td><td class="ctr2" id="g34">4</td><td class="ctr1" id="h26">0</td><td class="ctr2" id="i20">16</td><td class="ctr1" id="j26">0</td><td class="ctr2" id="k21">2</td><td class="ctr1" id="l26">0</td><td class="ctr2" id="m26">1</td></tr><tr><td id="a47"><a href="TryWithResourcesJavacFilter.html" class="el_class">TryWithResourcesJavacFilter</a></td><td class="bar" id="b27"><img src="../../jacoco-resources/greenbar.gif" width="11" height="10" title="56" alt="56"/></td><td class="ctr2" id="c8">100%</td><td class="bar" id="d25"><img src="../../jacoco-resources/greenbar.gif" width="16" height="10" title="10" alt="10"/></td><td class="ctr2" id="e6">100%</td><td class="ctr1" id="f29">0</td><td class="ctr2" id="g23">7</td><td class="ctr1" id="h27">0</td><td class="ctr2" id="i26">12</td><td class="ctr1" id="j27">0</td><td class="ctr2" id="k22">2</td><td class="ctr1" id="l27">0</td><td class="ctr2" id="m27">1</td></tr><tr><td id="a38"><a href="StringSwitchJavacFilter.html" class="el_class">StringSwitchJavacFilter</a></td><td class="bar" id="b28"><img src="../../jacoco-resources/greenbar.gif" width="11" height="10" title="52" alt="52"/></td><td class="ctr2" id="c9">100%</td><td class="bar" id="d29"><img src="../../jacoco-resources/greenbar.gif" width="13" height="10" title="8" alt="8"/></td><td class="ctr2" id="e7">100%</td><td class="ctr1" id="f30">0</td><td class="ctr2" id="g24">7</td><td class="ctr1" id="h28">0</td><td class="ctr2" id="i23">13</td><td class="ctr1" id="j28">0</td><td class="ctr2" id="k17">3</td><td class="ctr1" id="l28">0</td><td class="ctr2" id="m28">1</td></tr><tr><td id="a18"><a href="KotlinGeneratedFilter.html" class="el_class">KotlinGeneratedFilter</a></td><td class="bar" id="b29"><img src="../../jacoco-resources/greenbar.gif" width="10" height="10" title="50" alt="50"/></td><td class="ctr2" id="c10">100%</td><td class="bar" id="d26"><img src="../../jacoco-resources/greenbar.gif" width="16" height="10" title="10" alt="10"/></td><td class="ctr2" id="e8">100%</td><td class="ctr1" id="f31">0</td><td class="ctr2" id="g20">9</td><td class="ctr1" id="h29">0</td><td class="ctr2" id="i22">14</td><td class="ctr1" id="j29">0</td><td class="ctr2" id="k13">4</td><td class="ctr1" id="l29">0</td><td class="ctr2" id="m29">1</td></tr><tr><td id="a2"><a href="AssertFilter.html" class="el_class">AssertFilter</a></td><td class="bar" id="b30"><img src="../../jacoco-resources/greenbar.gif" width="10" height="10" title="50" alt="50"/></td><td class="ctr2" id="c11">100%</td><td class="bar" id="d33"><img src="../../jacoco-resources/greenbar.gif" width="10" height="10" title="6" alt="6"/></td><td class="ctr2" id="e9">100%</td><td class="ctr1" id="f32">0</td><td class="ctr2" id="g32">5</td><td class="ctr1" id="h30">0</td><td class="ctr2" id="i31">9</td><td class="ctr1" id="j30">0</td><td class="ctr2" id="k23">2</td><td class="ctr1" id="l30">0</td><td class="ctr2" id="m30">1</td></tr><tr><td id="a33"><a href="RecordPatternFilter$Matcher.html" class="el_class">RecordPatternFilter.Matcher</a></td><td class="bar" id="b31"><img src="../../jacoco-resources/greenbar.gif" width="9" height="10" title="46" alt="46"/></td><td class="ctr2" id="c12">100%</td><td class="bar" id="d21"><img src="../../jacoco-resources/redbar.gif" width="1" height="10" title="1" alt="1"/><img src="../../jacoco-resources/greenbar.gif" width="1" height="10" title="1" alt="1"/></td><td class="ctr2" id="e48">50%</td><td class="ctr1" id="f21">1</td><td class="ctr2" id="g47">2</td><td class="ctr1" id="h31">0</td><td class="ctr2" id="i27">12</td><td class="ctr1" id="j31">0</td><td class="ctr2" id="k46">1</td><td class="ctr1" id="l31">0</td><td class="ctr2" id="m31">1</td></tr><tr><td id="a45"><a href="TryWithResourcesJavac11Filter.html" class="el_class">TryWithResourcesJavac11Filter</a></td><td class="bar" id="b32"><img src="../../jacoco-resources/greenbar.gif" width="9" height="10" title="44" alt="44"/></td><td class="ctr2" id="c13">100%</td><td class="bar" id="d34"><img src="../../jacoco-resources/greenbar.gif" width="10" height="10" title="6" alt="6"/></td><td class="ctr2" id="e10">100%</td><td class="ctr1" id="f33">0</td><td class="ctr2" id="g33">5</td><td class="ctr1" id="h32">0</td><td class="ctr2" id="i30">10</td><td class="ctr1" id="j32">0</td><td class="ctr2" id="k24">2</td><td class="ctr1" id="l32">0</td><td class="ctr2" id="m32">1</td></tr><tr><td id="a49"><a href="TryWithResourcesJavacFilter$Matcher$JavacPattern.html" class="el_class">TryWithResourcesJavacFilter.Matcher.JavacPattern</a></td><td class="bar" id="b33"><img src="../../jacoco-resources/greenbar.gif" width="9" height="10" title="44" alt="44"/></td><td class="ctr2" id="c14">100%</td><td class="bar" id="d50"/><td class="ctr2" id="e50">n/a</td><td class="ctr1" id="f34">0</td><td class="ctr2" id="g50">1</td><td class="ctr1" id="h33">0</td><td class="ctr2" id="i44">5</td><td class="ctr1" id="j33">0</td><td class="ctr2" id="k47">1</td><td class="ctr1" id="l33">0</td><td class="ctr2" id="m33">1</td></tr><tr><td id="a43"><a href="TryWithResourcesEcjFilter.html" class="el_class">TryWithResourcesEcjFilter</a></td><td class="bar" id="b34"><img src="../../jacoco-resources/greenbar.gif" width="9" height="10" title="43" alt="43"/></td><td class="ctr2" id="c15">100%</td><td class="bar" id="d30"><img src="../../jacoco-resources/greenbar.gif" width="13" height="10" title="8" alt="8"/></td><td class="ctr2" id="e11">100%</td><td class="ctr1" id="f35">0</td><td class="ctr2" id="g27">6</td><td class="ctr1" id="h34">0</td><td class="ctr2" id="i28">12</td><td class="ctr1" id="j34">0</td><td class="ctr2" id="k25">2</td><td class="ctr1" id="l34">0</td><td class="ctr2" id="m34">1</td></tr><tr><td id="a40"><a href="SynchronizedFilter.html" class="el_class">SynchronizedFilter</a></td><td class="bar" id="b35"><img src="../../jacoco-resources/greenbar.gif" width="8" height="10" title="42" alt="42"/></td><td class="ctr2" id="c16">100%</td><td class="bar" id="d31"><img src="../../jacoco-resources/greenbar.gif" width="13" height="10" title="8" alt="8"/></td><td class="ctr2" id="e12">100%</td><td class="ctr1" id="f36">0</td><td class="ctr2" id="g28">6</td><td class="ctr1" id="h35">0</td><td class="ctr2" id="i24">13</td><td class="ctr1" id="j35">0</td><td class="ctr2" id="k26">2</td><td class="ctr1" id="l35">0</td><td class="ctr2" id="m35">1</td></tr><tr><td id="a34"><a href="RecordsFilter.html" class="el_class">RecordsFilter</a></td><td class="bar" id="b36"><img src="../../jacoco-resources/greenbar.gif" width="8" height="10" title="39" alt="39"/></td><td class="ctr2" id="c17">100%</td><td class="bar" id="d27"><img src="../../jacoco-resources/greenbar.gif" width="16" height="10" title="10" alt="10"/></td><td class="ctr2" id="e13">100%</td><td class="ctr1" id="f37">0</td><td class="ctr2" id="g25">7</td><td class="ctr1" id="h36">0</td><td class="ctr2" id="i35">8</td><td class="ctr1" id="j36">0</td><td class="ctr2" id="k27">2</td><td class="ctr1" id="l36">0</td><td class="ctr2" id="m36">1</td></tr><tr><td id="a30"><a href="PrivateEmptyNoArgConstructorFilter.html" class="el_class">PrivateEmptyNoArgConstructorFilter</a></td><td class="bar" id="b37"><img src="../../jacoco-resources/greenbar.gif" width="7" height="10" title="36" alt="36"/></td><td class="ctr2" id="c18">100%</td><td class="bar" id="d15"><img src="../../jacoco-resources/redbar.gif" width="3" height="10" title="2" alt="2"/><img src="../../jacoco-resources/greenbar.gif" width="10" height="10" title="6" alt="6"/></td><td class="ctr2" id="e43">75%</td><td class="ctr1" id="f15">2</td><td class="ctr2" id="g29">6</td><td class="ctr1" id="h37">0</td><td class="ctr2" id="i45">5</td><td class="ctr1" id="j37">0</td><td class="ctr2" id="k28">2</td><td class="ctr1" id="l37">0</td><td class="ctr2" id="m37">1</td></tr><tr><td id="a8"><a href="ExhaustiveSwitchFilter.html" class="el_class">ExhaustiveSwitchFilter</a></td><td class="bar" id="b38"><img src="../../jacoco-resources/greenbar.gif" width="7" height="10" title="36" alt="36"/></td><td class="ctr2" id="c19">100%</td><td class="bar" id="d36"><img src="../../jacoco-resources/greenbar.gif" width="6" height="10" title="4" alt="4"/></td><td class="ctr2" id="e14">100%</td><td class="ctr1" id="f38">0</td><td class="ctr2" id="g35">4</td><td class="ctr1" id="h38">0</td><td class="ctr2" id="i32">9</td><td class="ctr1" id="j38">0</td><td class="ctr2" id="k29">2</td><td class="ctr1" id="l38">0</td><td class="ctr2" id="m38">1</td></tr><tr><td id="a24"><a href="KotlinUnsafeCastOperatorFilter.html" class="el_class">KotlinUnsafeCastOperatorFilter</a></td><td class="bar" id="b39"><img src="../../jacoco-resources/greenbar.gif" width="7" height="10" title="35" alt="35"/></td><td class="ctr2" id="c20">100%</td><td class="bar" id="d37"><img src="../../jacoco-resources/greenbar.gif" width="6" height="10" title="4" alt="4"/></td><td class="ctr2" id="e15">100%</td><td class="ctr1" id="f39">0</td><td class="ctr2" id="g36">4</td><td class="ctr1" id="h39">0</td><td class="ctr2" id="i33">9</td><td class="ctr1" id="j39">0</td><td class="ctr2" id="k30">2</td><td class="ctr1" id="l39">0</td><td class="ctr2" id="m39">1</td></tr><tr><td id="a5"><a href="EnumEmptyConstructorFilter.html" class="el_class">EnumEmptyConstructorFilter</a></td><td class="bar" id="b40"><img src="../../jacoco-resources/greenbar.gif" width="7" height="10" title="34" alt="34"/></td><td class="ctr2" id="c21">100%</td><td class="bar" id="d32"><img src="../../jacoco-resources/greenbar.gif" width="13" height="10" title="8" alt="8"/></td><td class="ctr2" id="e16">100%</td><td class="ctr1" id="f40">0</td><td class="ctr2" id="g30">6</td><td class="ctr1" id="h40">0</td><td class="ctr2" id="i46">5</td><td class="ctr1" id="j40">0</td><td class="ctr2" id="k31">2</td><td class="ctr1" id="l40">0</td><td class="ctr2" id="m40">1</td></tr><tr><td id="a32"><a href="RecordPatternFilter.html" class="el_class">RecordPatternFilter</a></td><td class="bar" id="b41"><img src="../../jacoco-resources/greenbar.gif" width="6" height="10" title="31" alt="31"/></td><td class="ctr2" id="c22">100%</td><td class="bar" id="d38"><img src="../../jacoco-resources/greenbar.gif" width="6" height="10" title="4" alt="4"/></td><td class="ctr2" id="e17">100%</td><td class="ctr1" id="f41">0</td><td class="ctr2" id="g37">4</td><td class="ctr1" id="h41">0</td><td class="ctr2" id="i37">7</td><td class="ctr1" id="j41">0</td><td class="ctr2" id="k32">2</td><td class="ctr1" id="l41">0</td><td class="ctr2" id="m41">1</td></tr><tr><td id="a22"><a href="KotlinNotNullOperatorFilter.html" class="el_class">KotlinNotNullOperatorFilter</a></td><td class="bar" id="b42"><img src="../../jacoco-resources/greenbar.gif" width="5" height="10" title="25" alt="25"/></td><td class="ctr2" id="c23">100%</td><td class="bar" id="d42"><img src="../../jacoco-resources/greenbar.gif" width="3" height="10" title="2" alt="2"/></td><td class="ctr2" id="e18">100%</td><td class="ctr1" id="f42">0</td><td class="ctr2" id="g38">3</td><td class="ctr1" id="h42">0</td><td class="ctr2" id="i38">6</td><td class="ctr1" id="j42">0</td><td class="ctr2" id="k33">2</td><td class="ctr1" id="l42">0</td><td class="ctr2" id="m42">1</td></tr><tr><td id="a28"><a href="KotlinWhenStringFilter.html" class="el_class">KotlinWhenStringFilter</a></td><td class="bar" id="b43"><img src="../../jacoco-resources/greenbar.gif" width="5" height="10" title="25" alt="25"/></td><td class="ctr2" id="c24">100%</td><td class="bar" id="d43"><img src="../../jacoco-resources/greenbar.gif" width="3" height="10" title="2" alt="2"/></td><td class="ctr2" id="e19">100%</td><td class="ctr1" id="f43">0</td><td class="ctr2" id="g39">3</td><td class="ctr1" id="h43">0</td><td class="ctr2" id="i39">6</td><td class="ctr1" id="j43">0</td><td class="ctr2" id="k34">2</td><td class="ctr1" id="l43">0</td><td class="ctr2" id="m43">1</td></tr><tr><td id="a36"><a href="StringSwitchFilter.html" class="el_class">StringSwitchFilter</a></td><td class="bar" id="b44"><img src="../../jacoco-resources/greenbar.gif" width="5" height="10" title="25" alt="25"/></td><td class="ctr2" id="c25">100%</td><td class="bar" id="d44"><img src="../../jacoco-resources/greenbar.gif" width="3" height="10" title="2" alt="2"/></td><td class="ctr2" id="e20">100%</td><td class="ctr1" id="f44">0</td><td class="ctr2" id="g40">3</td><td class="ctr1" id="h44">0</td><td class="ctr2" id="i40">6</td><td class="ctr1" id="j44">0</td><td class="ctr2" id="k35">2</td><td class="ctr1" id="l44">0</td><td class="ctr2" id="m44">1</td></tr><tr><td id="a6"><a href="EnumEmptyConstructorFilter$Matcher.html" class="el_class">EnumEmptyConstructorFilter.Matcher</a></td><td class="bar" id="b45"><img src="../../jacoco-resources/greenbar.gif" width="5" height="10" title="25" alt="25"/></td><td class="ctr2" id="c26">100%</td><td class="bar" id="d45"><img src="../../jacoco-resources/greenbar.gif" width="3" height="10" title="2" alt="2"/></td><td class="ctr2" id="e21">100%</td><td class="ctr1" id="f45">0</td><td class="ctr2" id="g48">2</td><td class="ctr1" id="h45">0</td><td class="ctr2" id="i41">6</td><td class="ctr1" id="j45">0</td><td class="ctr2" id="k48">1</td><td class="ctr1" id="l45">0</td><td class="ctr2" id="m45">1</td></tr><tr><td id="a17"><a href="KotlinDefaultMethodsFilter$Matcher.html" class="el_class">KotlinDefaultMethodsFilter.Matcher</a></td><td class="bar" id="b46"><img src="../../jacoco-resources/greenbar.gif" width="5" height="10" title="25" alt="25"/></td><td class="ctr2" id="c27">100%</td><td class="bar" id="d39"><img src="../../jacoco-resources/greenbar.gif" width="6" height="10" title="4" alt="4"/></td><td class="ctr2" id="e22">100%</td><td class="ctr1" id="f46">0</td><td class="ctr2" id="g41">3</td><td class="ctr1" id="h46">0</td><td class="ctr2" id="i47">5</td><td class="ctr1" id="j46">0</td><td class="ctr2" id="k49">1</td><td class="ctr1" id="l46">0</td><td class="ctr2" id="m46">1</td></tr><tr><td id="a20"><a href="KotlinLateinitFilter.html" class="el_class">KotlinLateinitFilter</a></td><td class="bar" id="b47"><img src="../../jacoco-resources/greenbar.gif" width="5" height="10" title="25" alt="25"/></td><td class="ctr2" id="c28">100%</td><td class="bar" id="d46"><img src="../../jacoco-resources/greenbar.gif" width="3" height="10" title="2" alt="2"/></td><td class="ctr2" id="e23">100%</td><td class="ctr1" id="f47">0</td><td class="ctr2" id="g42">3</td><td class="ctr1" id="h47">0</td><td class="ctr2" id="i42">6</td><td class="ctr1" id="j47">0</td><td class="ctr2" id="k36">2</td><td class="ctr1" id="l47">0</td><td class="ctr2" id="m47">1</td></tr><tr><td id="a23"><a href="KotlinNotNullOperatorFilter$Matcher.html" class="el_class">KotlinNotNullOperatorFilter.Matcher</a></td><td class="bar" id="b48"><img src="../../jacoco-resources/greenbar.gif" width="5" height="10" title="24" alt="24"/></td><td class="ctr2" id="c29">100%</td><td class="bar" id="d40"><img src="../../jacoco-resources/greenbar.gif" width="6" height="10" title="4" alt="4"/></td><td class="ctr2" id="e24">100%</td><td class="ctr1" id="f48">0</td><td class="ctr2" id="g43">3</td><td class="ctr1" id="h48">0</td><td class="ctr2" id="i36">8</td><td class="ctr1" id="j48">0</td><td class="ctr2" id="k50">1</td><td class="ctr1" id="l48">0</td><td class="ctr2" id="m48">1</td></tr><tr><td id="a4"><a href="BridgeFilter.html" class="el_class">BridgeFilter</a></td><td class="bar" id="b49"><img src="../../jacoco-resources/greenbar.gif" width="3" height="10" title="18" alt="18"/></td><td class="ctr2" id="c30">100%</td><td class="bar" id="d47"><img src="../../jacoco-resources/greenbar.gif" width="3" height="10" title="2" alt="2"/></td><td class="ctr2" id="e25">100%</td><td class="ctr1" id="f49">0</td><td class="ctr2" id="g44">3</td><td class="ctr1" id="h49">0</td><td class="ctr2" id="i48">5</td><td class="ctr1" id="j49">0</td><td class="ctr2" id="k37">2</td><td class="ctr1" id="l49">0</td><td class="ctr2" id="m49">1</td></tr><tr><td id="a16"><a href="KotlinDefaultMethodsFilter.html" class="el_class">KotlinDefaultMethodsFilter</a></td><td class="bar" id="b50"><img src="../../jacoco-resources/greenbar.gif" width="3" height="10" title="15" alt="15"/></td><td class="ctr2" id="c31">100%</td><td class="bar" id="d48"><img src="../../jacoco-resources/greenbar.gif" width="3" height="10" title="2" alt="2"/></td><td class="ctr2" id="e26">100%</td><td class="ctr1" id="f50">0</td><td class="ctr2" id="g45">3</td><td class="ctr1" id="h50">0</td><td class="ctr2" id="i43">6</td><td class="ctr1" id="j50">0</td><td class="ctr2" id="k38">2</td><td class="ctr1" id="l50">0</td><td class="ctr2" id="m50">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.12.202403270442</span>Code Coverage Report for JaCoCo 0.8.12-SNAPSHOT</div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/trunk/coverage/org.jacoco.core/org.jacoco.core.internal.analysis.filter/index.source.html b/jacoco/trunk/coverage/org.jacoco.core/org.jacoco.core.internal.analysis.filter/index.source.html
    new file mode 100644
    index 00000000000..2bd1db90b8a
    --- /dev/null
    +++ b/jacoco/trunk/coverage/org.jacoco.core/org.jacoco.core.internal.analysis.filter/index.source.html
    @@ -0,0 +1 @@
    +<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="en"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../../jacoco-resources/report.gif" type="image/gif"/><title>org.jacoco.core.internal.analysis.filter</title><script type="text/javascript" src="../../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb', 'coveragetable'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="index.html" class="el_class">Classes</a><a href="../../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../../index.html" class="el_report">JaCoCo</a> &gt; <a href="../index.html" class="el_bundle">org.jacoco.core</a> &gt; <span class="el_package">org.jacoco.core.internal.analysis.filter</span></div><h1>org.jacoco.core.internal.analysis.filter</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td><td class="sortable ctr1" id="l" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="m" onclick="toggleSort(this)">Classes</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">131 of 5,038</td><td class="ctr2">97%</td><td class="bar">97 of 731</td><td class="ctr2">86%</td><td class="ctr1">97</td><td class="ctr2">509</td><td class="ctr1">63</td><td class="ctr2">1,216</td><td class="ctr1">0</td><td class="ctr2">142</td><td class="ctr1">0</td><td class="ctr2">51</td></tr></tfoot><tbody><tr><td id="a26"><a href="TryWithResourcesEcjFilter.java.html" class="el_source">TryWithResourcesEcjFilter.java</a></td><td class="bar" id="b0"><img src="../../jacoco-resources/redbar.gif" width="5" height="10" title="29" alt="29"/><img src="../../jacoco-resources/greenbar.gif" width="114" height="10" title="576" alt="576"/></td><td class="ctr2" id="c25">95%</td><td class="bar" id="d1"><img src="../../jacoco-resources/redbar.gif" width="23" height="10" title="14" alt="14"/><img src="../../jacoco-resources/greenbar.gif" width="87" height="10" title="52" alt="52"/></td><td class="ctr2" id="e24">78%</td><td class="ctr1" id="f1">14</td><td class="ctr2" id="g0">45</td><td class="ctr1" id="h0">13</td><td class="ctr2" id="i0">152</td><td class="ctr1" id="j0">0</td><td class="ctr2" id="k0">12</td><td class="ctr1" id="l0">0</td><td class="ctr2" id="m1">2</td></tr><tr><td id="a28"><a href="TryWithResourcesJavacFilter.java.html" class="el_source">TryWithResourcesJavacFilter.java</a></td><td class="bar" id="b1"><img src="../../jacoco-resources/redbar.gif" width="4" height="10" title="22" alt="22"/><img src="../../jacoco-resources/greenbar.gif" width="79" height="10" title="400" alt="400"/></td><td class="ctr2" id="c26">94%</td><td class="bar" id="d4"><img src="../../jacoco-resources/redbar.gif" width="11" height="10" title="7" alt="7"/><img src="../../jacoco-resources/greenbar.gif" width="64" height="10" title="38" alt="38"/></td><td class="ctr2" id="e18">84%</td><td class="ctr1" id="f4">7</td><td class="ctr2" id="g4">32</td><td class="ctr1" id="h2">7</td><td class="ctr2" id="i2">94</td><td class="ctr1" id="j1">0</td><td class="ctr2" id="k2">9</td><td class="ctr1" id="l1">0</td><td class="ctr2" id="m0">4</td></tr><tr><td id="a6"><a href="ExhaustiveSwitchFilter.java.html" class="el_source">ExhaustiveSwitchFilter.java</a></td><td class="bar" id="b2"><img src="../../jacoco-resources/redbar.gif" width="2" height="10" title="13" alt="13"/><img src="../../jacoco-resources/greenbar.gif" width="35" height="10" title="178" alt="178"/></td><td class="ctr2" id="c28">93%</td><td class="bar" id="d3"><img src="../../jacoco-resources/redbar.gif" width="13" height="10" title="8" alt="8"/><img src="../../jacoco-resources/greenbar.gif" width="40" height="10" title="24" alt="24"/></td><td class="ctr2" id="e25">75%</td><td class="ctr1" id="f3">8</td><td class="ctr2" id="g9">20</td><td class="ctr1" id="h3">6</td><td class="ctr2" id="i10">46</td><td class="ctr1" id="j2">0</td><td class="ctr2" id="k11">4</td><td class="ctr1" id="l2">0</td><td class="ctr2" id="m2">2</td></tr><tr><td id="a9"><a href="KotlinCoroutineFilter.java.html" class="el_source">KotlinCoroutineFilter.java</a></td><td class="bar" id="b3"><img src="../../jacoco-resources/redbar.gif" width="2" height="10" title="12" alt="12"/><img src="../../jacoco-resources/greenbar.gif" width="97" height="10" title="493" alt="493"/></td><td class="ctr2" id="c19">97%</td><td class="bar" id="d0"><img src="../../jacoco-resources/redbar.gif" width="32" height="10" title="19" alt="19"/><img src="../../jacoco-resources/greenbar.gif" width="76" height="10" title="45" alt="45"/></td><td class="ctr2" id="e27">70%</td><td class="ctr1" id="f0">19</td><td class="ctr2" id="g2">39</td><td class="ctr1" id="h1">9</td><td class="ctr2" id="i1">128</td><td class="ctr1" id="j3">0</td><td class="ctr2" id="k3">7</td><td class="ctr1" id="l3">0</td><td class="ctr2" id="m3">2</td></tr><tr><td id="a27"><a href="TryWithResourcesJavac11Filter.java.html" class="el_source">TryWithResourcesJavac11Filter.java</a></td><td class="bar" id="b4"><img src="../../jacoco-resources/redbar.gif" width="2" height="10" title="11" alt="11"/><img src="../../jacoco-resources/greenbar.gif" width="43" height="10" title="220" alt="220"/></td><td class="ctr2" id="c24">95%</td><td class="bar" id="d5"><img src="../../jacoco-resources/redbar.gif" width="10" height="10" title="6" alt="6"/><img src="../../jacoco-resources/greenbar.gif" width="43" height="10" title="26" alt="26"/></td><td class="ctr2" id="e23">81%</td><td class="ctr1" id="f5">6</td><td class="ctr2" id="g7">22</td><td class="ctr1" id="h4">5</td><td class="ctr2" id="i5">63</td><td class="ctr1" id="j4">0</td><td class="ctr2" id="k7">6</td><td class="ctr1" id="l4">0</td><td class="ctr2" id="m4">2</td></tr><tr><td id="a17"><a href="KotlinWhenFilter.java.html" class="el_source">KotlinWhenFilter.java</a></td><td class="bar" id="b5"><img src="../../jacoco-resources/redbar.gif" width="1" height="10" title="9" alt="9"/><img src="../../jacoco-resources/greenbar.gif" width="26" height="10" title="133" alt="133"/></td><td class="ctr2" id="c27">93%</td><td class="bar" id="d12"><img src="../../jacoco-resources/redbar.gif" width="5" height="10" title="3" alt="3"/><img src="../../jacoco-resources/greenbar.gif" width="27" height="10" title="16" alt="16"/></td><td class="ctr2" id="e20">84%</td><td class="ctr1" id="f8">3</td><td class="ctr2" id="g12">15</td><td class="ctr1" id="h8">2</td><td class="ctr2" id="i14">35</td><td class="ctr1" id="j5">0</td><td class="ctr2" id="k9">5</td><td class="ctr1" id="l5">0</td><td class="ctr2" id="m5">2</td></tr><tr><td id="a8"><a href="FinallyFilter.java.html" class="el_source">FinallyFilter.java</a></td><td class="bar" id="b6"><img src="../../jacoco-resources/redbar.gif" width="1" height="10" title="8" alt="8"/><img src="../../jacoco-resources/greenbar.gif" width="59" height="10" title="299" alt="299"/></td><td class="ctr2" id="c21">97%</td><td class="bar" id="d2"><img src="../../jacoco-resources/redbar.gif" width="16" height="10" title="10" alt="10"/><img src="../../jacoco-resources/greenbar.gif" width="103" height="10" title="61" alt="61"/></td><td class="ctr2" id="e17">85%</td><td class="ctr1" id="f2">10</td><td class="ctr2" id="g1">43</td><td class="ctr1" id="h5">5</td><td class="ctr2" id="i3">78</td><td class="ctr1" id="j6">0</td><td class="ctr2" id="k4">7</td><td class="ctr1" id="l6">0</td><td class="ctr2" id="m20">1</td></tr><tr><td id="a13"><a href="KotlinInlineFilter.java.html" class="el_source">KotlinInlineFilter.java</a></td><td class="bar" id="b7"><img src="../../jacoco-resources/redbar.gif" width="1" height="10" title="6" alt="6"/><img src="../../jacoco-resources/greenbar.gif" width="45" height="10" title="227" alt="227"/></td><td class="ctr2" id="c20">97%</td><td class="bar" id="d19"><img src="../../jacoco-resources/greenbar.gif" width="54" height="10" title="32" alt="32"/></td><td class="ctr2" id="e0">100%</td><td class="ctr1" id="f18">0</td><td class="ctr2" id="g8">21</td><td class="ctr1" id="h9">2</td><td class="ctr2" id="i7">56</td><td class="ctr1" id="j7">0</td><td class="ctr2" id="k10">5</td><td class="ctr1" id="l7">0</td><td class="ctr2" id="m21">1</td></tr><tr><td id="a23"><a href="StringSwitchJavacFilter.java.html" class="el_source">StringSwitchJavacFilter.java</a></td><td class="bar" id="b8"><img src="../../jacoco-resources/greenbar.gif" width="30" height="10" title="153" alt="153"/></td><td class="ctr2" id="c23">96%</td><td class="bar" id="d10"><img src="../../jacoco-resources/redbar.gif" width="5" height="10" title="3" alt="3"/><img src="../../jacoco-resources/greenbar.gif" width="38" height="10" title="23" alt="23"/></td><td class="ctr2" id="e15">88%</td><td class="ctr1" id="f9">3</td><td class="ctr2" id="g11">17</td><td class="ctr1" id="h10">2</td><td class="ctr2" id="i12">40</td><td class="ctr1" id="j8">0</td><td class="ctr2" id="k12">4</td><td class="ctr1" id="l8">0</td><td class="ctr2" id="m6">2</td></tr><tr><td id="a10"><a href="KotlinDefaultArgumentsFilter.java.html" class="el_source">KotlinDefaultArgumentsFilter.java</a></td><td class="bar" id="b9"><img src="../../jacoco-resources/greenbar.gif" width="47" height="10" title="239" alt="239"/></td><td class="ctr2" id="c16">98%</td><td class="bar" id="d6"><img src="../../jacoco-resources/redbar.gif" width="8" height="10" title="5" alt="5"/><img src="../../jacoco-resources/greenbar.gif" width="45" height="10" title="27" alt="27"/></td><td class="ctr2" id="e19">84%</td><td class="ctr1" id="f6">5</td><td class="ctr2" id="g6">23</td><td class="ctr1" id="h6">3</td><td class="ctr2" id="i6">57</td><td class="ctr1" id="j9">0</td><td class="ctr2" id="k5">7</td><td class="ctr1" id="l9">0</td><td class="ctr2" id="m7">2</td></tr><tr><td id="a21"><a href="RecordsFilter.java.html" class="el_source">RecordsFilter.java</a></td><td class="bar" id="b10"><img src="../../jacoco-resources/greenbar.gif" width="39" height="10" title="200" alt="200"/></td><td class="ctr2" id="c18">98%</td><td class="bar" id="d8"><img src="../../jacoco-resources/redbar.gif" width="5" height="10" title="3" alt="3"/><img src="../../jacoco-resources/greenbar.gif" width="72" height="10" title="43" alt="43"/></td><td class="ctr2" id="e13">93%</td><td class="ctr1" id="f10">3</td><td class="ctr2" id="g5">30</td><td class="ctr1" id="h11">2</td><td class="ctr2" id="i8">50</td><td class="ctr1" id="j10">0</td><td class="ctr2" id="k6">7</td><td class="ctr1" id="l10">0</td><td class="ctr2" id="m8">2</td></tr><tr><td id="a16"><a href="KotlinUnsafeCastOperatorFilter.java.html" class="el_source">KotlinUnsafeCastOperatorFilter.java</a></td><td class="bar" id="b11"><img src="../../jacoco-resources/greenbar.gif" width="22" height="10" title="111" alt="111"/></td><td class="ctr2" id="c22">97%</td><td class="bar" id="d7"><img src="../../jacoco-resources/redbar.gif" width="8" height="10" title="5" alt="5"/><img src="../../jacoco-resources/greenbar.gif" width="25" height="10" title="15" alt="15"/></td><td class="ctr2" id="e26">75%</td><td class="ctr1" id="f7">5</td><td class="ctr2" id="g15">13</td><td class="ctr1" id="h7">3</td><td class="ctr2" id="i15">32</td><td class="ctr1" id="j11">0</td><td class="ctr2" id="k18">3</td><td class="ctr1" id="l11">0</td><td class="ctr2" id="m9">2</td></tr><tr><td id="a18"><a href="KotlinWhenStringFilter.java.html" class="el_source">KotlinWhenStringFilter.java</a></td><td class="bar" id="b12"><img src="../../jacoco-resources/greenbar.gif" width="34" height="10" title="172" alt="172"/></td><td class="ctr2" id="c15">98%</td><td class="bar" id="d11"><img src="../../jacoco-resources/redbar.gif" width="5" height="10" title="3" alt="3"/><img src="../../jacoco-resources/greenbar.gif" width="32" height="10" title="19" alt="19"/></td><td class="ctr2" id="e16">86%</td><td class="ctr1" id="f11">3</td><td class="ctr2" id="g13">14</td><td class="ctr1" id="h12">2</td><td class="ctr2" id="i9">49</td><td class="ctr1" id="j12">0</td><td class="ctr2" id="k19">3</td><td class="ctr1" id="l12">0</td><td class="ctr2" id="m10">2</td></tr><tr><td id="a22"><a href="StringSwitchFilter.java.html" class="el_source">StringSwitchFilter.java</a></td><td class="bar" id="b13"><img src="../../jacoco-resources/greenbar.gif" width="31" height="10" title="159" alt="159"/></td><td class="ctr2" id="c13">99%</td><td class="bar" id="d15"><img src="../../jacoco-resources/redbar.gif" width="1" height="10" title="1" alt="1"/><img src="../../jacoco-resources/greenbar.gif" width="32" height="10" title="19" alt="19"/></td><td class="ctr2" id="e11">95%</td><td class="ctr1" id="f15">1</td><td class="ctr2" id="g16">13</td><td class="ctr1" id="h13">1</td><td class="ctr2" id="i11">43</td><td class="ctr1" id="j13">0</td><td class="ctr2" id="k20">3</td><td class="ctr1" id="l13">0</td><td class="ctr2" id="m11">2</td></tr><tr><td id="a14"><a href="KotlinLateinitFilter.java.html" class="el_source">KotlinLateinitFilter.java</a></td><td class="bar" id="b14"><img src="../../jacoco-resources/greenbar.gif" width="30" height="10" title="154" alt="154"/></td><td class="ctr2" id="c14">99%</td><td class="bar" id="d9"><img src="../../jacoco-resources/redbar.gif" width="5" height="10" title="3" alt="3"/><img src="../../jacoco-resources/greenbar.gif" width="45" height="10" title="27" alt="27"/></td><td class="ctr2" id="e14">90%</td><td class="ctr1" id="f12">3</td><td class="ctr2" id="g10">19</td><td class="ctr1" id="h14">1</td><td class="ctr2" id="i13">39</td><td class="ctr1" id="j14">0</td><td class="ctr2" id="k13">4</td><td class="ctr1" id="l14">0</td><td class="ctr2" id="m12">2</td></tr><tr><td id="a19"><a href="PrivateEmptyNoArgConstructorFilter.java.html" class="el_source">PrivateEmptyNoArgConstructorFilter.java</a></td><td class="bar" id="b15"><img src="../../jacoco-resources/greenbar.gif" width="10" height="10" title="54" alt="54"/></td><td class="ctr2" id="c17">98%</td><td class="bar" id="d13"><img src="../../jacoco-resources/redbar.gif" width="5" height="10" title="3" alt="3"/><img src="../../jacoco-resources/greenbar.gif" width="11" height="10" title="7" alt="7"/></td><td class="ctr2" id="e28">70%</td><td class="ctr1" id="f13">3</td><td class="ctr2" id="g22">8</td><td class="ctr1" id="h15">0</td><td class="ctr2" id="i26">9</td><td class="ctr1" id="j15">0</td><td class="ctr2" id="k21">3</td><td class="ctr1" id="l15">0</td><td class="ctr2" id="m13">2</td></tr><tr><td id="a0"><a href="AbstractMatcher.java.html" class="el_source">AbstractMatcher.java</a></td><td class="bar" id="b16"><img src="../../jacoco-resources/greenbar.gif" width="43" height="10" title="217" alt="217"/></td><td class="ctr2" id="c0">100%</td><td class="bar" id="d18"><img src="../../jacoco-resources/greenbar.gif" width="84" height="10" title="50" alt="50"/></td><td class="ctr2" id="e1">100%</td><td class="ctr1" id="f19">0</td><td class="ctr2" id="g3">36</td><td class="ctr1" id="h16">0</td><td class="ctr2" id="i4">64</td><td class="ctr1" id="j16">0</td><td class="ctr2" id="k1">11</td><td class="ctr1" id="l16">0</td><td class="ctr2" id="m22">1</td></tr><tr><td id="a7"><a href="Filters.java.html" class="el_source">Filters.java</a></td><td class="bar" id="b17"><img src="../../jacoco-resources/greenbar.gif" width="40" height="10" title="204" alt="204"/></td><td class="ctr2" id="c1">100%</td><td class="bar" id="d27"><img src="../../jacoco-resources/greenbar.gif" width="3" height="10" title="2" alt="2"/></td><td class="ctr2" id="e2">100%</td><td class="ctr1" id="f20">0</td><td class="ctr2" id="g27">5</td><td class="ctr1" id="h17">0</td><td class="ctr2" id="i27">8</td><td class="ctr1" id="j17">0</td><td class="ctr2" id="k14">4</td><td class="ctr1" id="l17">0</td><td class="ctr2" id="m23">1</td></tr><tr><td id="a2"><a href="AssertFilter.java.html" class="el_source">AssertFilter.java</a></td><td class="bar" id="b18"><img src="../../jacoco-resources/greenbar.gif" width="21" height="10" title="108" alt="108"/></td><td class="ctr2" id="c2">100%</td><td class="bar" id="d22"><img src="../../jacoco-resources/greenbar.gif" width="16" height="10" title="10" alt="10"/></td><td class="ctr2" id="e3">100%</td><td class="ctr1" id="f21">0</td><td class="ctr2" id="g19">9</td><td class="ctr1" id="h18">0</td><td class="ctr2" id="i17">25</td><td class="ctr1" id="j18">0</td><td class="ctr2" id="k15">4</td><td class="ctr1" id="l18">0</td><td class="ctr2" id="m14">2</td></tr><tr><td id="a24"><a href="SynchronizedFilter.java.html" class="el_source">SynchronizedFilter.java</a></td><td class="bar" id="b19"><img src="../../jacoco-resources/greenbar.gif" width="21" height="10" title="107" alt="107"/></td><td class="ctr2" id="c3">100%</td><td class="bar" id="d20"><img src="../../jacoco-resources/greenbar.gif" width="27" height="10" title="16" alt="16"/></td><td class="ctr2" id="e4">100%</td><td class="ctr1" id="f22">0</td><td class="ctr2" id="g14">14</td><td class="ctr1" id="h19">0</td><td class="ctr2" id="i16">31</td><td class="ctr1" id="j19">0</td><td class="ctr2" id="k8">6</td><td class="ctr1" id="l19">0</td><td class="ctr2" id="m15">2</td></tr><tr><td id="a1"><a href="AnnotationGeneratedFilter.java.html" class="el_source">AnnotationGeneratedFilter.java</a></td><td class="bar" id="b20"><img src="../../jacoco-resources/greenbar.gif" width="16" height="10" title="81" alt="81"/></td><td class="ctr2" id="c4">100%</td><td class="bar" id="d21"><img src="../../jacoco-resources/greenbar.gif" width="23" height="10" title="14" alt="14"/></td><td class="ctr2" id="e5">100%</td><td class="ctr1" id="f23">0</td><td class="ctr2" id="g18">11</td><td class="ctr1" id="h20">0</td><td class="ctr2" id="i20">15</td><td class="ctr1" id="j20">0</td><td class="ctr2" id="k16">4</td><td class="ctr1" id="l20">0</td><td class="ctr2" id="m24">1</td></tr><tr><td id="a20"><a href="RecordPatternFilter.java.html" class="el_source">RecordPatternFilter.java</a></td><td class="bar" id="b21"><img src="../../jacoco-resources/greenbar.gif" width="15" height="10" title="77" alt="77"/></td><td class="ctr2" id="c5">100%</td><td class="bar" id="d17"><img src="../../jacoco-resources/redbar.gif" width="1" height="10" title="1" alt="1"/><img src="../../jacoco-resources/greenbar.gif" width="8" height="10" title="5" alt="5"/></td><td class="ctr2" id="e21">83%</td><td class="ctr1" id="f16">1</td><td class="ctr2" id="g24">6</td><td class="ctr1" id="h21">0</td><td class="ctr2" id="i18">19</td><td class="ctr1" id="j21">0</td><td class="ctr2" id="k22">3</td><td class="ctr1" id="l21">0</td><td class="ctr2" id="m16">2</td></tr><tr><td id="a5"><a href="EnumFilter.java.html" class="el_source">EnumFilter.java</a></td><td class="bar" id="b22"><img src="../../jacoco-resources/greenbar.gif" width="13" height="10" title="67" alt="67"/></td><td class="ctr2" id="c6">100%</td><td class="bar" id="d14"><img src="../../jacoco-resources/redbar.gif" width="3" height="10" title="2" alt="2"/><img src="../../jacoco-resources/greenbar.gif" width="16" height="10" title="10" alt="10"/></td><td class="ctr2" id="e22">83%</td><td class="ctr1" id="f14">2</td><td class="ctr2" id="g20">9</td><td class="ctr1" id="h22">0</td><td class="ctr2" id="i25">10</td><td class="ctr1" id="j22">0</td><td class="ctr2" id="k23">3</td><td class="ctr1" id="l22">0</td><td class="ctr2" id="m25">1</td></tr><tr><td id="a25"><a href="SyntheticFilter.java.html" class="el_source">SyntheticFilter.java</a></td><td class="bar" id="b23"><img src="../../jacoco-resources/greenbar.gif" width="12" height="10" title="62" alt="62"/></td><td class="ctr2" id="c7">100%</td><td class="bar" id="d16"><img src="../../jacoco-resources/redbar.gif" width="1" height="10" title="1" alt="1"/><img src="../../jacoco-resources/greenbar.gif" width="32" height="10" title="19" alt="19"/></td><td class="ctr2" id="e12">95%</td><td class="ctr1" id="f17">1</td><td class="ctr2" id="g17">13</td><td class="ctr1" id="h23">0</td><td class="ctr2" id="i19">18</td><td class="ctr1" id="j23">0</td><td class="ctr2" id="k24">3</td><td class="ctr1" id="l23">0</td><td class="ctr2" id="m26">1</td></tr><tr><td id="a4"><a href="EnumEmptyConstructorFilter.java.html" class="el_source">EnumEmptyConstructorFilter.java</a></td><td class="bar" id="b24"><img src="../../jacoco-resources/greenbar.gif" width="11" height="10" title="59" alt="59"/></td><td class="ctr2" id="c8">100%</td><td class="bar" id="d23"><img src="../../jacoco-resources/greenbar.gif" width="16" height="10" title="10" alt="10"/></td><td class="ctr2" id="e6">100%</td><td class="ctr1" id="f24">0</td><td class="ctr2" id="g23">8</td><td class="ctr1" id="h24">0</td><td class="ctr2" id="i23">11</td><td class="ctr1" id="j24">0</td><td class="ctr2" id="k25">3</td><td class="ctr1" id="l24">0</td><td class="ctr2" id="m17">2</td></tr><tr><td id="a12"><a href="KotlinGeneratedFilter.java.html" class="el_source">KotlinGeneratedFilter.java</a></td><td class="bar" id="b25"><img src="../../jacoco-resources/greenbar.gif" width="9" height="10" title="50" alt="50"/></td><td class="ctr2" id="c9">100%</td><td class="bar" id="d24"><img src="../../jacoco-resources/greenbar.gif" width="16" height="10" title="10" alt="10"/></td><td class="ctr2" id="e7">100%</td><td class="ctr1" id="f25">0</td><td class="ctr2" id="g21">9</td><td class="ctr1" id="h25">0</td><td class="ctr2" id="i21">14</td><td class="ctr1" id="j25">0</td><td class="ctr2" id="k17">4</td><td class="ctr1" id="l25">0</td><td class="ctr2" id="m27">1</td></tr><tr><td id="a15"><a href="KotlinNotNullOperatorFilter.java.html" class="el_source">KotlinNotNullOperatorFilter.java</a></td><td class="bar" id="b26"><img src="../../jacoco-resources/greenbar.gif" width="9" height="10" title="49" alt="49"/></td><td class="ctr2" id="c10">100%</td><td class="bar" id="d25"><img src="../../jacoco-resources/greenbar.gif" width="10" height="10" title="6" alt="6"/></td><td class="ctr2" id="e8">100%</td><td class="ctr1" id="f26">0</td><td class="ctr2" id="g25">6</td><td class="ctr1" id="h26">0</td><td class="ctr2" id="i22">14</td><td class="ctr1" id="j26">0</td><td class="ctr2" id="k26">3</td><td class="ctr1" id="l26">0</td><td class="ctr2" id="m18">2</td></tr><tr><td id="a11"><a href="KotlinDefaultMethodsFilter.java.html" class="el_source">KotlinDefaultMethodsFilter.java</a></td><td class="bar" id="b27"><img src="../../jacoco-resources/greenbar.gif" width="7" height="10" title="40" alt="40"/></td><td class="ctr2" id="c11">100%</td><td class="bar" id="d26"><img src="../../jacoco-resources/greenbar.gif" width="10" height="10" title="6" alt="6"/></td><td class="ctr2" id="e9">100%</td><td class="ctr1" id="f27">0</td><td class="ctr2" id="g26">6</td><td class="ctr1" id="h27">0</td><td class="ctr2" id="i24">11</td><td class="ctr1" id="j27">0</td><td class="ctr2" id="k27">3</td><td class="ctr1" id="l27">0</td><td class="ctr2" id="m19">2</td></tr><tr><td id="a3"><a href="BridgeFilter.java.html" class="el_source">BridgeFilter.java</a></td><td class="bar" id="b28"><img src="../../jacoco-resources/greenbar.gif" width="3" height="10" title="18" alt="18"/></td><td class="ctr2" id="c12">100%</td><td class="bar" id="d28"><img src="../../jacoco-resources/greenbar.gif" width="3" height="10" title="2" alt="2"/></td><td class="ctr2" id="e10">100%</td><td class="ctr1" id="f28">0</td><td class="ctr2" id="g28">3</td><td class="ctr1" id="h28">0</td><td class="ctr2" id="i28">5</td><td class="ctr1" id="j28">0</td><td class="ctr2" id="k28">2</td><td class="ctr1" id="l28">0</td><td class="ctr2" id="m28">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.12.202403270442</span>Code Coverage Report for JaCoCo 0.8.12-SNAPSHOT</div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/trunk/coverage/org.jacoco.core/org.jacoco.core.internal.analysis/BundleCoverageImpl.html b/jacoco/trunk/coverage/org.jacoco.core/org.jacoco.core.internal.analysis/BundleCoverageImpl.html
    new file mode 100644
    index 00000000000..becb31dbba8
    --- /dev/null
    +++ b/jacoco/trunk/coverage/org.jacoco.core/org.jacoco.core.internal.analysis/BundleCoverageImpl.html
    @@ -0,0 +1 @@
    +<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="en"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../../jacoco-resources/report.gif" type="image/gif"/><title>BundleCoverageImpl</title><script type="text/javascript" src="../../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../../index.html" class="el_report">JaCoCo</a> &gt; <a href="../index.html" class="el_bundle">org.jacoco.core</a> &gt; <a href="index.html" class="el_package">org.jacoco.core.internal.analysis</a> &gt; <span class="el_class">BundleCoverageImpl</span></div><h1>BundleCoverageImpl</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">0 of 140</td><td class="ctr2">100%</td><td class="bar">0 of 12</td><td class="ctr2">100%</td><td class="ctr1">0</td><td class="ctr2">11</td><td class="ctr1">0</td><td class="ctr2">33</td><td class="ctr1">0</td><td class="ctr2">5</td></tr></tfoot><tbody><tr><td id="a4"><a href="BundleCoverageImpl.java.html#L72" class="el_method">groupByPackage(Collection, Collection)</a></td><td class="bar" id="b0"><img src="../../jacoco-resources/greenbar.gif" width="120" height="10" title="98" alt="98"/></td><td class="ctr2" id="c0">100%</td><td class="bar" id="d0"><img src="../../jacoco-resources/greenbar.gif" width="120" height="10" title="10" alt="10"/></td><td class="ctr2" id="e0">100%</td><td class="ctr1" id="f0">0</td><td class="ctr2" id="g0">6</td><td class="ctr1" id="h0">0</td><td class="ctr2" id="i0">20</td><td class="ctr1" id="j0">0</td><td class="ctr2" id="k0">1</td></tr><tr><td id="a0"><a href="BundleCoverageImpl.java.html#L103" class="el_method">addByName(Map, String, Object)</a></td><td class="bar" id="b1"><img src="../../jacoco-resources/greenbar.gif" width="25" height="10" title="21" alt="21"/></td><td class="ctr2" id="c1">100%</td><td class="bar" id="d1"><img src="../../jacoco-resources/greenbar.gif" width="24" height="10" title="2" alt="2"/></td><td class="ctr2" id="e1">100%</td><td class="ctr1" id="f1">0</td><td class="ctr2" id="g1">2</td><td class="ctr1" id="h1">0</td><td class="ctr2" id="i1">6</td><td class="ctr1" id="j1">0</td><td class="ctr2" id="k1">1</td></tr><tr><td id="a1"><a href="BundleCoverageImpl.java.html#L47" class="el_method">BundleCoverageImpl(String, Collection)</a></td><td class="bar" id="b2"><img src="../../jacoco-resources/greenbar.gif" width="13" height="10" title="11" alt="11"/></td><td class="ctr2" id="c2">100%</td><td class="bar" id="d2"/><td class="ctr2" id="e2">n/a</td><td class="ctr1" id="f2">0</td><td class="ctr2" id="g2">1</td><td class="ctr1" id="h2">0</td><td class="ctr2" id="i2">4</td><td class="ctr1" id="j2">0</td><td class="ctr2" id="k2">1</td></tr><tr><td id="a2"><a href="BundleCoverageImpl.java.html#L66" class="el_method">BundleCoverageImpl(String, Collection, Collection)</a></td><td class="bar" id="b3"><img src="../../jacoco-resources/greenbar.gif" width="8" height="10" title="7" alt="7"/></td><td class="ctr2" id="c3">100%</td><td class="bar" id="d3"/><td class="ctr2" id="e3">n/a</td><td class="ctr1" id="f3">0</td><td class="ctr2" id="g3">1</td><td class="ctr1" id="h3">0</td><td class="ctr2" id="i3">2</td><td class="ctr1" id="j3">0</td><td class="ctr2" id="k3">1</td></tr><tr><td id="a3"><a href="BundleCoverageImpl.java.html#L114" class="el_method">getPackages()</a></td><td class="bar" id="b4"><img src="../../jacoco-resources/greenbar.gif" width="3" height="10" title="3" alt="3"/></td><td class="ctr2" id="c4">100%</td><td class="bar" id="d4"/><td class="ctr2" id="e4">n/a</td><td class="ctr1" id="f4">0</td><td class="ctr2" id="g4">1</td><td class="ctr1" id="h4">0</td><td class="ctr2" id="i4">1</td><td class="ctr1" id="j4">0</td><td class="ctr2" id="k4">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.12.202403270442</span>Code Coverage Report for JaCoCo 0.8.12-SNAPSHOT</div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/trunk/coverage/org.jacoco.core/org.jacoco.core.internal.analysis/BundleCoverageImpl.java.html b/jacoco/trunk/coverage/org.jacoco.core/org.jacoco.core.internal.analysis/BundleCoverageImpl.java.html
    new file mode 100644
    index 00000000000..12403c4256c
    --- /dev/null
    +++ b/jacoco/trunk/coverage/org.jacoco.core/org.jacoco.core.internal.analysis/BundleCoverageImpl.java.html
    @@ -0,0 +1,118 @@
    +<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="en"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../../jacoco-resources/report.gif" type="image/gif"/><title>BundleCoverageImpl.java</title><link rel="stylesheet" href="../../jacoco-resources/prettify.css" type="text/css"/><script type="text/javascript" src="../../jacoco-resources/prettify.js"></script></head><body onload="window['PR_TAB_WIDTH']=4;prettyPrint()"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../../index.html" class="el_report">JaCoCo</a> &gt; <a href="../index.html" class="el_bundle">org.jacoco.core</a> &gt; <a href="index.source.html" class="el_package">org.jacoco.core.internal.analysis</a> &gt; <span class="el_source">BundleCoverageImpl.java</span></div><h1>BundleCoverageImpl.java</h1><pre class="source lang-java linenums">/*******************************************************************************
    + * Copyright (c) 2009, 2024 Mountainminds GmbH &amp; Co. KG and Contributors
    + * This program and the accompanying materials are made available under
    + * the terms of the Eclipse Public License 2.0 which is available at
    + * http://www.eclipse.org/legal/epl-2.0
    + *
    + * SPDX-License-Identifier: EPL-2.0
    + *
    + * Contributors:
    + *    Marc R. Hoffmann - initial API and implementation
    + *
    + *******************************************************************************/
    +package org.jacoco.core.internal.analysis;
    +
    +import java.util.ArrayList;
    +import java.util.Collection;
    +import java.util.Collections;
    +import java.util.HashMap;
    +import java.util.HashSet;
    +import java.util.Map;
    +import java.util.Set;
    +
    +import org.jacoco.core.analysis.CoverageNodeImpl;
    +import org.jacoco.core.analysis.IBundleCoverage;
    +import org.jacoco.core.analysis.IClassCoverage;
    +import org.jacoco.core.analysis.IPackageCoverage;
    +import org.jacoco.core.analysis.ISourceFileCoverage;
    +
    +/**
    + * Implementation of {@link IBundleCoverage}.
    + */
    +public class BundleCoverageImpl extends CoverageNodeImpl
    +		implements IBundleCoverage {
    +
    +	private final Collection&lt;IPackageCoverage&gt; packages;
    +
    +	/**
    +	 * Creates a new instance of a bundle with the given name.
    +	 *
    +	 * @param name
    +	 *            name of this bundle
    +	 * @param packages
    +	 *            collection of all packages contained in this bundle
    +	 */
    +	public BundleCoverageImpl(final String name,
    +			final Collection&lt;IPackageCoverage&gt; packages) {
    +<span class="fc" id="L47">		super(ElementType.BUNDLE, name);</span>
    +<span class="fc" id="L48">		this.packages = packages;</span>
    +<span class="fc" id="L49">		increment(packages);</span>
    +<span class="fc" id="L50">	}</span>
    +
    +	/**
    +	 * Creates a new instance of a bundle with the given name. The packages are
    +	 * calculated from the given classes and source files.
    +	 *
    +	 * @param name
    +	 *            name of this bundle
    +	 * @param classes
    +	 *            all classes in this bundle
    +	 * @param sourcefiles
    +	 *            all source files in this bundle
    +	 */
    +	public BundleCoverageImpl(final String name,
    +			final Collection&lt;IClassCoverage&gt; classes,
    +			final Collection&lt;ISourceFileCoverage&gt; sourcefiles) {
    +<span class="fc" id="L66">		this(name, groupByPackage(classes, sourcefiles));</span>
    +<span class="fc" id="L67">	}</span>
    +
    +	private static Collection&lt;IPackageCoverage&gt; groupByPackage(
    +			final Collection&lt;IClassCoverage&gt; classes,
    +			final Collection&lt;ISourceFileCoverage&gt; sourcefiles) {
    +<span class="fc" id="L72">		final Map&lt;String, Collection&lt;IClassCoverage&gt;&gt; classesByPackage = new HashMap&lt;String, Collection&lt;IClassCoverage&gt;&gt;();</span>
    +<span class="fc bfc" id="L73" title="All 2 branches covered.">		for (final IClassCoverage c : classes) {</span>
    +<span class="fc" id="L74">			addByName(classesByPackage, c.getPackageName(), c);</span>
    +		}
    +
    +<span class="fc" id="L77">		final Map&lt;String, Collection&lt;ISourceFileCoverage&gt;&gt; sourceFilesByPackage = new HashMap&lt;String, Collection&lt;ISourceFileCoverage&gt;&gt;();</span>
    +<span class="fc bfc" id="L78" title="All 2 branches covered.">		for (final ISourceFileCoverage s : sourcefiles) {</span>
    +<span class="fc" id="L79">			addByName(sourceFilesByPackage, s.getPackageName(), s);</span>
    +		}
    +
    +<span class="fc" id="L82">		final Set&lt;String&gt; packageNames = new HashSet&lt;String&gt;();</span>
    +<span class="fc" id="L83">		packageNames.addAll(classesByPackage.keySet());</span>
    +<span class="fc" id="L84">		packageNames.addAll(sourceFilesByPackage.keySet());</span>
    +
    +<span class="fc" id="L86">		final Collection&lt;IPackageCoverage&gt; result = new ArrayList&lt;IPackageCoverage&gt;();</span>
    +<span class="fc bfc" id="L87" title="All 2 branches covered.">		for (final String name : packageNames) {</span>
    +<span class="fc" id="L88">			Collection&lt;IClassCoverage&gt; c = classesByPackage.get(name);</span>
    +<span class="fc bfc" id="L89" title="All 2 branches covered.">			if (c == null) {</span>
    +<span class="fc" id="L90">				c = Collections.emptyList();</span>
    +			}
    +<span class="fc" id="L92">			Collection&lt;ISourceFileCoverage&gt; s = sourceFilesByPackage.get(name);</span>
    +<span class="fc bfc" id="L93" title="All 2 branches covered.">			if (s == null) {</span>
    +<span class="fc" id="L94">				s = Collections.emptyList();</span>
    +			}
    +<span class="fc" id="L96">			result.add(new PackageCoverageImpl(name, c, s));</span>
    +<span class="fc" id="L97">		}</span>
    +<span class="fc" id="L98">		return result;</span>
    +	}
    +
    +	private static &lt;T&gt; void addByName(final Map&lt;String, Collection&lt;T&gt;&gt; map,
    +			final String name, final T value) {
    +<span class="fc" id="L103">		Collection&lt;T&gt; list = map.get(name);</span>
    +<span class="fc bfc" id="L104" title="All 2 branches covered.">		if (list == null) {</span>
    +<span class="fc" id="L105">			list = new ArrayList&lt;T&gt;();</span>
    +<span class="fc" id="L106">			map.put(name, list);</span>
    +		}
    +<span class="fc" id="L108">		list.add(value);</span>
    +<span class="fc" id="L109">	}</span>
    +
    +	// === IBundleCoverage implementation ===
    +
    +	public Collection&lt;IPackageCoverage&gt; getPackages() {
    +<span class="fc" id="L114">		return packages;</span>
    +	}
    +
    +}
    +</pre><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.12.202403270442</span>Code Coverage Report for JaCoCo 0.8.12-SNAPSHOT</div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/trunk/coverage/org.jacoco.core/org.jacoco.core.internal.analysis/ClassAnalyzer$1.html b/jacoco/trunk/coverage/org.jacoco.core/org.jacoco.core.internal.analysis/ClassAnalyzer$1.html
    new file mode 100644
    index 00000000000..404235be948
    --- /dev/null
    +++ b/jacoco/trunk/coverage/org.jacoco.core/org.jacoco.core.internal.analysis/ClassAnalyzer$1.html
    @@ -0,0 +1 @@
    +<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="en"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../../jacoco-resources/report.gif" type="image/gif"/><title>ClassAnalyzer.new MethodAnalyzer() {...}</title><script type="text/javascript" src="../../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../../index.html" class="el_report">JaCoCo</a> &gt; <a href="../index.html" class="el_bundle">org.jacoco.core</a> &gt; <a href="index.html" class="el_package">org.jacoco.core.internal.analysis</a> &gt; <span class="el_class">ClassAnalyzer.new MethodAnalyzer() {...}</span></div><h1>ClassAnalyzer.new MethodAnalyzer() {...}</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">0 of 48</td><td class="ctr2">100%</td><td class="bar">0 of 0</td><td class="ctr2">n/a</td><td class="ctr1">0</td><td class="ctr2">2</td><td class="ctr1">0</td><td class="ctr2">4</td><td class="ctr1">0</td><td class="ctr2">2</td></tr></tfoot><tbody><tr><td id="a0"><a href="ClassAnalyzer.java.html#L107" class="el_method">accept(MethodNode, MethodVisitor)</a></td><td class="bar" id="b0"><img src="../../jacoco-resources/greenbar.gif" width="120" height="10" title="29" alt="29"/></td><td class="ctr2" id="c0">100%</td><td class="bar" id="d0"/><td class="ctr2" id="e0">n/a</td><td class="ctr1" id="f0">0</td><td class="ctr2" id="g0">1</td><td class="ctr1" id="h0">0</td><td class="ctr2" id="i0">3</td><td class="ctr1" id="j0">0</td><td class="ctr2" id="k0">1</td></tr><tr><td id="a1"><a href="ClassAnalyzer.java.html#L105" class="el_method">{...}</a></td><td class="bar" id="b1"><img src="../../jacoco-resources/greenbar.gif" width="78" height="10" title="19" alt="19"/></td><td class="ctr2" id="c1">100%</td><td class="bar" id="d1"/><td class="ctr2" id="e1">n/a</td><td class="ctr1" id="f1">0</td><td class="ctr2" id="g1">1</td><td class="ctr1" id="h1">0</td><td class="ctr2" id="i1">1</td><td class="ctr1" id="j1">0</td><td class="ctr2" id="k1">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.12.202403270442</span>Code Coverage Report for JaCoCo 0.8.12-SNAPSHOT</div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/trunk/coverage/org.jacoco.core/org.jacoco.core.internal.analysis/ClassAnalyzer.html b/jacoco/trunk/coverage/org.jacoco.core/org.jacoco.core.internal.analysis/ClassAnalyzer.html
    new file mode 100644
    index 00000000000..337d61a0826
    --- /dev/null
    +++ b/jacoco/trunk/coverage/org.jacoco.core/org.jacoco.core.internal.analysis/ClassAnalyzer.html
    @@ -0,0 +1 @@
    +<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="en"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../../jacoco-resources/report.gif" type="image/gif"/><title>ClassAnalyzer</title><script type="text/javascript" src="../../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../../index.html" class="el_report">JaCoCo</a> &gt; <a href="../index.html" class="el_bundle">org.jacoco.core</a> &gt; <a href="index.html" class="el_package">org.jacoco.core.internal.analysis</a> &gt; <span class="el_class">ClassAnalyzer</span></div><h1>ClassAnalyzer</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">10 of 161</td><td class="ctr2">93%</td><td class="bar">0 of 2</td><td class="ctr2">100%</td><td class="ctr1">1</td><td class="ctr2">16</td><td class="ctr1">2</td><td class="ctr2">38</td><td class="ctr1">1</td><td class="ctr2">15</td></tr></tfoot><tbody><tr><td id="a9"><a href="ClassAnalyzer.java.html#L78" class="el_method">visitAnnotation(String, boolean)</a></td><td class="bar" id="b0"><img src="../../jacoco-resources/redbar.gif" width="40" height="10" title="10" alt="10"/></td><td class="ctr2" id="c14">0%</td><td class="bar" id="d1"/><td class="ctr2" id="e1">n/a</td><td class="ctr1" id="f0">1</td><td class="ctr2" id="g1">1</td><td class="ctr1" id="h0">2</td><td class="ctr2" id="i5">2</td><td class="ctr1" id="j0">1</td><td class="ctr2" id="k0">1</td></tr><tr><td id="a0"><a href="ClassAnalyzer.java.html#L117" class="el_method">addMethodCoverage(String, String, String, InstructionsBuilder, MethodNode)</a></td><td class="bar" id="b1"><img src="../../jacoco-resources/greenbar.gif" width="120" height="10" title="30" alt="30"/></td><td class="ctr2" id="c0">100%</td><td class="bar" id="d0"><img src="../../jacoco-resources/greenbar.gif" width="120" height="10" title="2" alt="2"/></td><td class="ctr2" id="e0">100%</td><td class="ctr1" id="f1">0</td><td class="ctr2" id="g0">2</td><td class="ctr1" id="h1">0</td><td class="ctr2" id="i1">7</td><td class="ctr1" id="j1">0</td><td class="ctr2" id="k1">1</td></tr><tr><td id="a1"><a href="ClassAnalyzer.java.html#L40" class="el_method">ClassAnalyzer(ClassCoverageImpl, boolean[], StringPool)</a></td><td class="bar" id="b2"><img src="../../jacoco-resources/greenbar.gif" width="100" height="10" title="25" alt="25"/></td><td class="ctr2" id="c1">100%</td><td class="bar" id="d2"/><td class="ctr2" id="e2">n/a</td><td class="ctr1" id="f2">0</td><td class="ctr2" id="g2">1</td><td class="ctr1" id="h2">0</td><td class="ctr2" id="i0">8</td><td class="ctr1" id="j2">0</td><td class="ctr2" id="k2">1</td></tr><tr><td id="a8"><a href="ClassAnalyzer.java.html#L70" class="el_method">visit(int, int, String, String, String, String[])</a></td><td class="bar" id="b3"><img src="../../jacoco-resources/greenbar.gif" width="88" height="10" title="22" alt="22"/></td><td class="ctr2" id="c2">100%</td><td class="bar" id="d3"/><td class="ctr2" id="e3">n/a</td><td class="ctr1" id="f3">0</td><td class="ctr2" id="g3">1</td><td class="ctr1" id="h3">0</td><td class="ctr2" id="i2">4</td><td class="ctr1" id="j3">0</td><td class="ctr2" id="k3">1</td></tr><tr><td id="a12"><a href="ClassAnalyzer.java.html#L98" class="el_method">visitMethod(int, String, String, String, String[])</a></td><td class="bar" id="b4"><img src="../../jacoco-resources/greenbar.gif" width="84" height="10" title="21" alt="21"/></td><td class="ctr2" id="c3">100%</td><td class="bar" id="d4"/><td class="ctr2" id="e4">n/a</td><td class="ctr1" id="f4">0</td><td class="ctr2" id="g4">1</td><td class="ctr1" id="h4">0</td><td class="ctr2" id="i3">3</td><td class="ctr1" id="j4">0</td><td class="ctr2" id="k4">1</td></tr><tr><td id="a11"><a href="ClassAnalyzer.java.html#L135" class="el_method">visitField(int, String, String, String, Object)</a></td><td class="bar" id="b5"><img src="../../jacoco-resources/greenbar.gif" width="52" height="10" title="13" alt="13"/></td><td class="ctr2" id="c4">100%</td><td class="bar" id="d5"/><td class="ctr2" id="e5">n/a</td><td class="ctr1" id="f5">0</td><td class="ctr2" id="g5">1</td><td class="ctr1" id="h5">0</td><td class="ctr2" id="i6">2</td><td class="ctr1" id="j5">0</td><td class="ctr2" id="k5">1</td></tr><tr><td id="a13"><a href="ClassAnalyzer.java.html#L89" class="el_method">visitSource(String, String)</a></td><td class="bar" id="b6"><img src="../../jacoco-resources/greenbar.gif" width="44" height="10" title="11" alt="11"/></td><td class="ctr2" id="c5">100%</td><td class="bar" id="d6"/><td class="ctr2" id="e6">n/a</td><td class="ctr1" id="f6">0</td><td class="ctr2" id="g6">1</td><td class="ctr1" id="h6">0</td><td class="ctr2" id="i4">3</td><td class="ctr1" id="j6">0</td><td class="ctr2" id="k6">1</td></tr><tr><td id="a10"><a href="ClassAnalyzer.java.html#L84" class="el_method">visitAttribute(Attribute)</a></td><td class="bar" id="b7"><img src="../../jacoco-resources/greenbar.gif" width="28" height="10" title="7" alt="7"/></td><td class="ctr2" id="c6">100%</td><td class="bar" id="d7"/><td class="ctr2" id="e7">n/a</td><td class="ctr1" id="f7">0</td><td class="ctr2" id="g7">1</td><td class="ctr1" id="h7">0</td><td class="ctr2" id="i7">2</td><td class="ctr1" id="j7">0</td><td class="ctr2" id="k7">1</td></tr><tr><td id="a4"><a href="ClassAnalyzer.java.html#L147" class="el_method">getClassName()</a></td><td class="bar" id="b8"><img src="../../jacoco-resources/greenbar.gif" width="16" height="10" title="4" alt="4"/></td><td class="ctr2" id="c7">100%</td><td class="bar" id="d8"/><td class="ctr2" id="e8">n/a</td><td class="ctr1" id="f8">0</td><td class="ctr2" id="g8">1</td><td class="ctr1" id="h8">0</td><td class="ctr2" id="i8">1</td><td class="ctr1" id="j8">0</td><td class="ctr2" id="k8">1</td></tr><tr><td id="a7"><a href="ClassAnalyzer.java.html#L151" class="el_method">getSuperClassName()</a></td><td class="bar" id="b9"><img src="../../jacoco-resources/greenbar.gif" width="16" height="10" title="4" alt="4"/></td><td class="ctr2" id="c8">100%</td><td class="bar" id="d9"/><td class="ctr2" id="e9">n/a</td><td class="ctr1" id="f9">0</td><td class="ctr2" id="g9">1</td><td class="ctr1" id="h9">0</td><td class="ctr2" id="i9">1</td><td class="ctr1" id="j9">0</td><td class="ctr2" id="k9">1</td></tr><tr><td id="a6"><a href="ClassAnalyzer.java.html#L163" class="el_method">getSourceFileName()</a></td><td class="bar" id="b10"><img src="../../jacoco-resources/greenbar.gif" width="16" height="10" title="4" alt="4"/></td><td class="ctr2" id="c9">100%</td><td class="bar" id="d10"/><td class="ctr2" id="e10">n/a</td><td class="ctr1" id="f10">0</td><td class="ctr2" id="g10">1</td><td class="ctr1" id="h10">0</td><td class="ctr2" id="i10">1</td><td class="ctr1" id="j10">0</td><td class="ctr2" id="k10">1</td></tr><tr><td id="a2"><a href="ClassAnalyzer.java.html#L155" class="el_method">getClassAnnotations()</a></td><td class="bar" id="b11"><img src="../../jacoco-resources/greenbar.gif" width="12" height="10" title="3" alt="3"/></td><td class="ctr2" id="c10">100%</td><td class="bar" id="d11"/><td class="ctr2" id="e11">n/a</td><td class="ctr1" id="f11">0</td><td class="ctr2" id="g11">1</td><td class="ctr1" id="h11">0</td><td class="ctr2" id="i11">1</td><td class="ctr1" id="j11">0</td><td class="ctr2" id="k11">1</td></tr><tr><td id="a3"><a href="ClassAnalyzer.java.html#L159" class="el_method">getClassAttributes()</a></td><td class="bar" id="b12"><img src="../../jacoco-resources/greenbar.gif" width="12" height="10" title="3" alt="3"/></td><td class="ctr2" id="c11">100%</td><td class="bar" id="d12"/><td class="ctr2" id="e12">n/a</td><td class="ctr1" id="f12">0</td><td class="ctr2" id="g12">1</td><td class="ctr1" id="h12">0</td><td class="ctr2" id="i12">1</td><td class="ctr1" id="j12">0</td><td class="ctr2" id="k12">1</td></tr><tr><td id="a5"><a href="ClassAnalyzer.java.html#L167" class="el_method">getSourceDebugExtension()</a></td><td class="bar" id="b13"><img src="../../jacoco-resources/greenbar.gif" width="12" height="10" title="3" alt="3"/></td><td class="ctr2" id="c12">100%</td><td class="bar" id="d13"/><td class="ctr2" id="e13">n/a</td><td class="ctr1" id="f13">0</td><td class="ctr2" id="g13">1</td><td class="ctr1" id="h13">0</td><td class="ctr2" id="i13">1</td><td class="ctr1" id="j13">0</td><td class="ctr2" id="k13">1</td></tr><tr><td id="a14"><a href="ClassAnalyzer.java.html#L142" class="el_method">visitTotalProbeCount(int)</a></td><td class="bar" id="b14"><img src="../../jacoco-resources/greenbar.gif" width="4" height="10" title="1" alt="1"/></td><td class="ctr2" id="c13">100%</td><td class="bar" id="d14"/><td class="ctr2" id="e14">n/a</td><td class="ctr1" id="f14">0</td><td class="ctr2" id="g14">1</td><td class="ctr1" id="h14">0</td><td class="ctr2" id="i14">1</td><td class="ctr1" id="j14">0</td><td class="ctr2" id="k14">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.12.202403270442</span>Code Coverage Report for JaCoCo 0.8.12-SNAPSHOT</div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/trunk/coverage/org.jacoco.core/org.jacoco.core.internal.analysis/ClassAnalyzer.java.html b/jacoco/trunk/coverage/org.jacoco.core/org.jacoco.core.internal.analysis/ClassAnalyzer.java.html
    new file mode 100644
    index 00000000000..2160505c202
    --- /dev/null
    +++ b/jacoco/trunk/coverage/org.jacoco.core/org.jacoco.core.internal.analysis/ClassAnalyzer.java.html
    @@ -0,0 +1,171 @@
    +<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="en"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../../jacoco-resources/report.gif" type="image/gif"/><title>ClassAnalyzer.java</title><link rel="stylesheet" href="../../jacoco-resources/prettify.css" type="text/css"/><script type="text/javascript" src="../../jacoco-resources/prettify.js"></script></head><body onload="window['PR_TAB_WIDTH']=4;prettyPrint()"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../../index.html" class="el_report">JaCoCo</a> &gt; <a href="../index.html" class="el_bundle">org.jacoco.core</a> &gt; <a href="index.source.html" class="el_package">org.jacoco.core.internal.analysis</a> &gt; <span class="el_source">ClassAnalyzer.java</span></div><h1>ClassAnalyzer.java</h1><pre class="source lang-java linenums">/*******************************************************************************
    + * Copyright (c) 2009, 2024 Mountainminds GmbH &amp; Co. KG and Contributors
    + * This program and the accompanying materials are made available under
    + * the terms of the Eclipse Public License 2.0 which is available at
    + * http://www.eclipse.org/legal/epl-2.0
    + *
    + * SPDX-License-Identifier: EPL-2.0
    + *
    + * Contributors:
    + *    Marc R. Hoffmann - initial API and implementation
    + *
    + *******************************************************************************/
    +package org.jacoco.core.internal.analysis;
    +
    +import java.util.HashSet;
    +import java.util.Set;
    +
    +import org.jacoco.core.internal.analysis.filter.Filters;
    +import org.jacoco.core.internal.analysis.filter.IFilter;
    +import org.jacoco.core.internal.analysis.filter.IFilterContext;
    +import org.jacoco.core.internal.flow.ClassProbesVisitor;
    +import org.jacoco.core.internal.flow.MethodProbesVisitor;
    +import org.jacoco.core.internal.instr.InstrSupport;
    +import org.objectweb.asm.AnnotationVisitor;
    +import org.objectweb.asm.Attribute;
    +import org.objectweb.asm.FieldVisitor;
    +import org.objectweb.asm.MethodVisitor;
    +import org.objectweb.asm.tree.MethodNode;
    +
    +/**
    + * Analyzes the structure of a class.
    + */
    +public class ClassAnalyzer extends ClassProbesVisitor
    +		implements IFilterContext {
    +
    +	private final ClassCoverageImpl coverage;
    +	private final boolean[] probes;
    +	private final StringPool stringPool;
    +
    +<span class="fc" id="L40">	private final Set&lt;String&gt; classAnnotations = new HashSet&lt;String&gt;();</span>
    +
    +<span class="fc" id="L42">	private final Set&lt;String&gt; classAttributes = new HashSet&lt;String&gt;();</span>
    +
    +	private String sourceDebugExtension;
    +
    +	private final IFilter filter;
    +
    +	/**
    +	 * Creates a new analyzer that builds coverage data for a class.
    +	 *
    +	 * @param coverage
    +	 *            coverage node for the analyzed class data
    +	 * @param probes
    +	 *            execution data for this class or &lt;code&gt;null&lt;/code&gt;
    +	 * @param stringPool
    +	 *            shared pool to minimize the number of {@link String} instances
    +	 */
    +	public ClassAnalyzer(final ClassCoverageImpl coverage,
    +<span class="fc" id="L59">			final boolean[] probes, final StringPool stringPool) {</span>
    +<span class="fc" id="L60">		this.coverage = coverage;</span>
    +<span class="fc" id="L61">		this.probes = probes;</span>
    +<span class="fc" id="L62">		this.stringPool = stringPool;</span>
    +<span class="fc" id="L63">		this.filter = Filters.all();</span>
    +<span class="fc" id="L64">	}</span>
    +
    +	@Override
    +	public void visit(final int version, final int access, final String name,
    +			final String signature, final String superName,
    +			final String[] interfaces) {
    +<span class="fc" id="L70">		coverage.setSignature(stringPool.get(signature));</span>
    +<span class="fc" id="L71">		coverage.setSuperName(stringPool.get(superName));</span>
    +<span class="fc" id="L72">		coverage.setInterfaces(stringPool.get(interfaces));</span>
    +<span class="fc" id="L73">	}</span>
    +
    +	@Override
    +	public AnnotationVisitor visitAnnotation(final String desc,
    +			final boolean visible) {
    +<span class="nc" id="L78">		classAnnotations.add(desc);</span>
    +<span class="nc" id="L79">		return super.visitAnnotation(desc, visible);</span>
    +	}
    +
    +	@Override
    +	public void visitAttribute(final Attribute attribute) {
    +<span class="fc" id="L84">		classAttributes.add(attribute.type);</span>
    +<span class="fc" id="L85">	}</span>
    +
    +	@Override
    +	public void visitSource(final String source, final String debug) {
    +<span class="fc" id="L89">		coverage.setSourceFileName(stringPool.get(source));</span>
    +<span class="fc" id="L90">		sourceDebugExtension = debug;</span>
    +<span class="fc" id="L91">	}</span>
    +
    +	@Override
    +	public MethodProbesVisitor visitMethod(final int access, final String name,
    +			final String desc, final String signature,
    +			final String[] exceptions) {
    +
    +<span class="fc" id="L98">		InstrSupport.assertNotInstrumented(name, coverage.getName());</span>
    +
    +<span class="fc" id="L100">		final InstructionsBuilder builder = new InstructionsBuilder(probes);</span>
    +
    +<span class="fc" id="L102">		return new MethodAnalyzer(builder) {</span>
    +
    +			@Override
    +<span class="fc" id="L105">			public void accept(final MethodNode methodNode,</span>
    +					final MethodVisitor methodVisitor) {
    +<span class="fc" id="L107">				super.accept(methodNode, methodVisitor);</span>
    +<span class="fc" id="L108">				addMethodCoverage(stringPool.get(name), stringPool.get(desc),</span>
    +						stringPool.get(signature), builder, methodNode);
    +<span class="fc" id="L110">			}</span>
    +		};
    +	}
    +
    +	private void addMethodCoverage(final String name, final String desc,
    +			final String signature, final InstructionsBuilder icc,
    +			final MethodNode methodNode) {
    +<span class="fc" id="L117">		final MethodCoverageCalculator mcc = new MethodCoverageCalculator(</span>
    +				icc.getInstructions());
    +<span class="fc" id="L119">		filter.filter(methodNode, this, mcc);</span>
    +
    +<span class="fc" id="L121">		final MethodCoverageImpl mc = new MethodCoverageImpl(name, desc,</span>
    +				signature);
    +<span class="fc" id="L123">		mcc.calculate(mc);</span>
    +
    +<span class="fc bfc" id="L125" title="All 2 branches covered.">		if (mc.containsCode()) {</span>
    +			// Only consider methods that actually contain code
    +<span class="fc" id="L127">			coverage.addMethod(mc);</span>
    +		}
    +
    +<span class="fc" id="L130">	}</span>
    +
    +	@Override
    +	public FieldVisitor visitField(final int access, final String name,
    +			final String desc, final String signature, final Object value) {
    +<span class="fc" id="L135">		InstrSupport.assertNotInstrumented(name, coverage.getName());</span>
    +<span class="fc" id="L136">		return super.visitField(access, name, desc, signature, value);</span>
    +	}
    +
    +	@Override
    +	public void visitTotalProbeCount(final int count) {
    +		// nothing to do
    +<span class="fc" id="L142">	}</span>
    +
    +	// IFilterContext implementation
    +
    +	public String getClassName() {
    +<span class="fc" id="L147">		return coverage.getName();</span>
    +	}
    +
    +	public String getSuperClassName() {
    +<span class="fc" id="L151">		return coverage.getSuperName();</span>
    +	}
    +
    +	public Set&lt;String&gt; getClassAnnotations() {
    +<span class="fc" id="L155">		return classAnnotations;</span>
    +	}
    +
    +	public Set&lt;String&gt; getClassAttributes() {
    +<span class="fc" id="L159">		return classAttributes;</span>
    +	}
    +
    +	public String getSourceFileName() {
    +<span class="fc" id="L163">		return coverage.getSourceFileName();</span>
    +	}
    +
    +	public String getSourceDebugExtension() {
    +<span class="fc" id="L167">		return sourceDebugExtension;</span>
    +	}
    +
    +}
    +</pre><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.12.202403270442</span>Code Coverage Report for JaCoCo 0.8.12-SNAPSHOT</div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/trunk/coverage/org.jacoco.core/org.jacoco.core.internal.analysis/ClassCoverageImpl.html b/jacoco/trunk/coverage/org.jacoco.core/org.jacoco.core.internal.analysis/ClassCoverageImpl.html
    new file mode 100644
    index 00000000000..31a139f7d80
    --- /dev/null
    +++ b/jacoco/trunk/coverage/org.jacoco.core/org.jacoco.core.internal.analysis/ClassCoverageImpl.html
    @@ -0,0 +1 @@
    +<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="en"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../../jacoco-resources/report.gif" type="image/gif"/><title>ClassCoverageImpl</title><script type="text/javascript" src="../../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../../index.html" class="el_report">JaCoCo</a> &gt; <a href="../index.html" class="el_bundle">org.jacoco.core</a> &gt; <a href="index.html" class="el_package">org.jacoco.core.internal.analysis</a> &gt; <span class="el_class">ClassCoverageImpl</span></div><h1>ClassCoverageImpl</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">0 of 89</td><td class="ctr2">100%</td><td class="bar">0 of 4</td><td class="ctr2">100%</td><td class="ctr1">0</td><td class="ctr2">16</td><td class="ctr1">0</td><td class="ctr2">28</td><td class="ctr1">0</td><td class="ctr2">14</td></tr></tfoot><tbody><tr><td id="a0"><a href="ClassCoverageImpl.java.html#L61" class="el_method">addMethod(IMethodCoverage)</a></td><td class="bar" id="b0"><img src="../../jacoco-resources/greenbar.gif" width="120" height="10" title="20" alt="20"/></td><td class="ctr2" id="c0">100%</td><td class="bar" id="d0"><img src="../../jacoco-resources/greenbar.gif" width="120" height="10" title="2" alt="2"/></td><td class="ctr2" id="e0">100%</td><td class="ctr1" id="f0">0</td><td class="ctr2" id="g0">2</td><td class="ctr1" id="h0">0</td><td class="ctr2" id="i0">6</td><td class="ctr1" id="j0">0</td><td class="ctr2" id="k0">1</td></tr><tr><td id="a1"><a href="ClassCoverageImpl.java.html#L48" class="el_method">ClassCoverageImpl(String, long, boolean)</a></td><td class="bar" id="b1"><img src="../../jacoco-resources/greenbar.gif" width="96" height="10" title="16" alt="16"/></td><td class="ctr2" id="c1">100%</td><td class="bar" id="d2"/><td class="ctr2" id="e2">n/a</td><td class="ctr1" id="f1">0</td><td class="ctr2" id="g2">1</td><td class="ctr1" id="h1">0</td><td class="ctr2" id="i1">5</td><td class="ctr1" id="j1">0</td><td class="ctr2" id="k1">1</td></tr><tr><td id="a5"><a href="ClassCoverageImpl.java.html#L135" class="el_method">getPackageName()</a></td><td class="bar" id="b2"><img src="../../jacoco-resources/greenbar.gif" width="96" height="10" title="16" alt="16"/></td><td class="ctr2" id="c2">100%</td><td class="bar" id="d1"><img src="../../jacoco-resources/greenbar.gif" width="120" height="10" title="2" alt="2"/></td><td class="ctr2" id="e1">100%</td><td class="ctr1" id="f2">0</td><td class="ctr2" id="g1">2</td><td class="ctr1" id="h2">0</td><td class="ctr2" id="i2">2</td><td class="ctr1" id="j2">0</td><td class="ctr2" id="k2">1</td></tr><tr><td id="a11"><a href="ClassCoverageImpl.java.html#L78" class="el_method">setSignature(String)</a></td><td class="bar" id="b3"><img src="../../jacoco-resources/greenbar.gif" width="24" height="10" title="4" alt="4"/></td><td class="ctr2" id="c3">100%</td><td class="bar" id="d3"/><td class="ctr2" id="e3">n/a</td><td class="ctr1" id="f3">0</td><td class="ctr2" id="g3">1</td><td class="ctr1" id="h3">0</td><td class="ctr2" id="i3">2</td><td class="ctr1" id="j3">0</td><td class="ctr2" id="k3">1</td></tr><tr><td id="a13"><a href="ClassCoverageImpl.java.html#L89" class="el_method">setSuperName(String)</a></td><td class="bar" id="b4"><img src="../../jacoco-resources/greenbar.gif" width="24" height="10" title="4" alt="4"/></td><td class="ctr2" id="c4">100%</td><td class="bar" id="d4"/><td class="ctr2" id="e4">n/a</td><td class="ctr1" id="f4">0</td><td class="ctr2" id="g4">1</td><td class="ctr1" id="h4">0</td><td class="ctr2" id="i4">2</td><td class="ctr1" id="j4">0</td><td class="ctr2" id="k4">1</td></tr><tr><td id="a10"><a href="ClassCoverageImpl.java.html#L99" class="el_method">setInterfaces(String[])</a></td><td class="bar" id="b5"><img src="../../jacoco-resources/greenbar.gif" width="24" height="10" title="4" alt="4"/></td><td class="ctr2" id="c5">100%</td><td class="bar" id="d5"/><td class="ctr2" id="e5">n/a</td><td class="ctr1" id="f5">0</td><td class="ctr2" id="g5">1</td><td class="ctr1" id="h5">0</td><td class="ctr2" id="i5">2</td><td class="ctr1" id="j5">0</td><td class="ctr2" id="k5">1</td></tr><tr><td id="a12"><a href="ClassCoverageImpl.java.html#L109" class="el_method">setSourceFileName(String)</a></td><td class="bar" id="b6"><img src="../../jacoco-resources/greenbar.gif" width="24" height="10" title="4" alt="4"/></td><td class="ctr2" id="c6">100%</td><td class="bar" id="d6"/><td class="ctr2" id="e6">n/a</td><td class="ctr1" id="f6">0</td><td class="ctr2" id="g6">1</td><td class="ctr1" id="h6">0</td><td class="ctr2" id="i6">2</td><td class="ctr1" id="j6">0</td><td class="ctr2" id="k6">1</td></tr><tr><td id="a2"><a href="ClassCoverageImpl.java.html#L115" class="el_method">getId()</a></td><td class="bar" id="b7"><img src="../../jacoco-resources/greenbar.gif" width="18" height="10" title="3" alt="3"/></td><td class="ctr2" id="c7">100%</td><td class="bar" id="d7"/><td class="ctr2" id="e7">n/a</td><td class="ctr1" id="f7">0</td><td class="ctr2" id="g7">1</td><td class="ctr1" id="h7">0</td><td class="ctr2" id="i7">1</td><td class="ctr1" id="j7">0</td><td class="ctr2" id="k7">1</td></tr><tr><td id="a9"><a href="ClassCoverageImpl.java.html#L119" class="el_method">isNoMatch()</a></td><td class="bar" id="b8"><img src="../../jacoco-resources/greenbar.gif" width="18" height="10" title="3" alt="3"/></td><td class="ctr2" id="c8">100%</td><td class="bar" id="d8"/><td class="ctr2" id="e8">n/a</td><td class="ctr1" id="f8">0</td><td class="ctr2" id="g8">1</td><td class="ctr1" id="h8">0</td><td class="ctr2" id="i8">1</td><td class="ctr1" id="j8">0</td><td class="ctr2" id="k8">1</td></tr><tr><td id="a6"><a href="ClassCoverageImpl.java.html#L123" class="el_method">getSignature()</a></td><td class="bar" id="b9"><img src="../../jacoco-resources/greenbar.gif" width="18" height="10" title="3" alt="3"/></td><td class="ctr2" id="c9">100%</td><td class="bar" id="d9"/><td class="ctr2" id="e9">n/a</td><td class="ctr1" id="f9">0</td><td class="ctr2" id="g9">1</td><td class="ctr1" id="h9">0</td><td class="ctr2" id="i9">1</td><td class="ctr1" id="j9">0</td><td class="ctr2" id="k9">1</td></tr><tr><td id="a8"><a href="ClassCoverageImpl.java.html#L127" class="el_method">getSuperName()</a></td><td class="bar" id="b10"><img src="../../jacoco-resources/greenbar.gif" width="18" height="10" title="3" alt="3"/></td><td class="ctr2" id="c10">100%</td><td class="bar" id="d10"/><td class="ctr2" id="e10">n/a</td><td class="ctr1" id="f10">0</td><td class="ctr2" id="g10">1</td><td class="ctr1" id="h10">0</td><td class="ctr2" id="i10">1</td><td class="ctr1" id="j10">0</td><td class="ctr2" id="k10">1</td></tr><tr><td id="a3"><a href="ClassCoverageImpl.java.html#L131" class="el_method">getInterfaceNames()</a></td><td class="bar" id="b11"><img src="../../jacoco-resources/greenbar.gif" width="18" height="10" title="3" alt="3"/></td><td class="ctr2" id="c11">100%</td><td class="bar" id="d11"/><td class="ctr2" id="e11">n/a</td><td class="ctr1" id="f11">0</td><td class="ctr2" id="g11">1</td><td class="ctr1" id="h11">0</td><td class="ctr2" id="i11">1</td><td class="ctr1" id="j11">0</td><td class="ctr2" id="k11">1</td></tr><tr><td id="a7"><a href="ClassCoverageImpl.java.html#L140" class="el_method">getSourceFileName()</a></td><td class="bar" id="b12"><img src="../../jacoco-resources/greenbar.gif" width="18" height="10" title="3" alt="3"/></td><td class="ctr2" id="c12">100%</td><td class="bar" id="d12"/><td class="ctr2" id="e12">n/a</td><td class="ctr1" id="f12">0</td><td class="ctr2" id="g12">1</td><td class="ctr1" id="h12">0</td><td class="ctr2" id="i12">1</td><td class="ctr1" id="j12">0</td><td class="ctr2" id="k12">1</td></tr><tr><td id="a4"><a href="ClassCoverageImpl.java.html#L144" class="el_method">getMethods()</a></td><td class="bar" id="b13"><img src="../../jacoco-resources/greenbar.gif" width="18" height="10" title="3" alt="3"/></td><td class="ctr2" id="c13">100%</td><td class="bar" id="d13"/><td class="ctr2" id="e13">n/a</td><td class="ctr1" id="f13">0</td><td class="ctr2" id="g13">1</td><td class="ctr1" id="h13">0</td><td class="ctr2" id="i13">1</td><td class="ctr1" id="j13">0</td><td class="ctr2" id="k13">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.12.202403270442</span>Code Coverage Report for JaCoCo 0.8.12-SNAPSHOT</div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/trunk/coverage/org.jacoco.core/org.jacoco.core.internal.analysis/ClassCoverageImpl.java.html b/jacoco/trunk/coverage/org.jacoco.core/org.jacoco.core.internal.analysis/ClassCoverageImpl.java.html
    new file mode 100644
    index 00000000000..4a9a2b0db77
    --- /dev/null
    +++ b/jacoco/trunk/coverage/org.jacoco.core/org.jacoco.core.internal.analysis/ClassCoverageImpl.java.html
    @@ -0,0 +1,148 @@
    +<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="en"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../../jacoco-resources/report.gif" type="image/gif"/><title>ClassCoverageImpl.java</title><link rel="stylesheet" href="../../jacoco-resources/prettify.css" type="text/css"/><script type="text/javascript" src="../../jacoco-resources/prettify.js"></script></head><body onload="window['PR_TAB_WIDTH']=4;prettyPrint()"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../../index.html" class="el_report">JaCoCo</a> &gt; <a href="../index.html" class="el_bundle">org.jacoco.core</a> &gt; <a href="index.source.html" class="el_package">org.jacoco.core.internal.analysis</a> &gt; <span class="el_source">ClassCoverageImpl.java</span></div><h1>ClassCoverageImpl.java</h1><pre class="source lang-java linenums">/*******************************************************************************
    + * Copyright (c) 2009, 2024 Mountainminds GmbH &amp; Co. KG and Contributors
    + * This program and the accompanying materials are made available under
    + * the terms of the Eclipse Public License 2.0 which is available at
    + * http://www.eclipse.org/legal/epl-2.0
    + *
    + * SPDX-License-Identifier: EPL-2.0
    + *
    + * Contributors:
    + *    Marc R. Hoffmann - initial API and implementation
    + *
    + *******************************************************************************/
    +package org.jacoco.core.internal.analysis;
    +
    +import java.util.ArrayList;
    +import java.util.Collection;
    +
    +import org.jacoco.core.analysis.IClassCoverage;
    +import org.jacoco.core.analysis.IMethodCoverage;
    +
    +/**
    + * Implementation of {@link IClassCoverage}.
    + */
    +public class ClassCoverageImpl extends SourceNodeImpl
    +		implements IClassCoverage {
    +
    +	private final long id;
    +	private final boolean noMatch;
    +	private final Collection&lt;IMethodCoverage&gt; methods;
    +	private String signature;
    +	private String superName;
    +	private String[] interfaces;
    +	private String sourceFileName;
    +
    +	/**
    +	 * Creates a class coverage data object with the given parameters.
    +	 *
    +	 * @param name
    +	 *            VM name of the class
    +	 * @param id
    +	 *            class identifier
    +	 * @param noMatch
    +	 *            &lt;code&gt;true&lt;/code&gt;, if class id does not match with execution
    +	 *            data
    +	 */
    +	public ClassCoverageImpl(final String name, final long id,
    +			final boolean noMatch) {
    +<span class="fc" id="L48">		super(ElementType.CLASS, name);</span>
    +<span class="fc" id="L49">		this.id = id;</span>
    +<span class="fc" id="L50">		this.noMatch = noMatch;</span>
    +<span class="fc" id="L51">		this.methods = new ArrayList&lt;IMethodCoverage&gt;();</span>
    +<span class="fc" id="L52">	}</span>
    +
    +	/**
    +	 * Add a method to this class.
    +	 *
    +	 * @param method
    +	 *            method data to add
    +	 */
    +	public void addMethod(final IMethodCoverage method) {
    +<span class="fc" id="L61">		this.methods.add(method);</span>
    +<span class="fc" id="L62">		increment(method);</span>
    +		// Class is considered as covered when at least one method is covered:
    +<span class="fc bfc" id="L64" title="All 2 branches covered.">		if (methodCounter.getCoveredCount() &gt; 0) {</span>
    +<span class="fc" id="L65">			this.classCounter = CounterImpl.COUNTER_0_1;</span>
    +		} else {
    +<span class="fc" id="L67">			this.classCounter = CounterImpl.COUNTER_1_0;</span>
    +		}
    +<span class="fc" id="L69">	}</span>
    +
    +	/**
    +	 * Sets the VM signature of the class.
    +	 *
    +	 * @param signature
    +	 *            VM signature of the class (may be &lt;code&gt;null&lt;/code&gt;)
    +	 */
    +	public void setSignature(final String signature) {
    +<span class="fc" id="L78">		this.signature = signature;</span>
    +<span class="fc" id="L79">	}</span>
    +
    +	/**
    +	 * Sets the VM name of the superclass.
    +	 *
    +	 * @param superName
    +	 *            VM name of the super class (may be &lt;code&gt;null&lt;/code&gt;, i.e.
    +	 *            &lt;code&gt;java/lang/Object&lt;/code&gt;)
    +	 */
    +	public void setSuperName(final String superName) {
    +<span class="fc" id="L89">		this.superName = superName;</span>
    +<span class="fc" id="L90">	}</span>
    +
    +	/**
    +	 * Sets the VM names of implemented/extended interfaces.
    +	 *
    +	 * @param interfaces
    +	 *            VM names of implemented/extended interfaces
    +	 */
    +	public void setInterfaces(final String[] interfaces) {
    +<span class="fc" id="L99">		this.interfaces = interfaces;</span>
    +<span class="fc" id="L100">	}</span>
    +
    +	/**
    +	 * Sets the name of the corresponding source file for this class.
    +	 *
    +	 * @param sourceFileName
    +	 *            name of the source file
    +	 */
    +	public void setSourceFileName(final String sourceFileName) {
    +<span class="fc" id="L109">		this.sourceFileName = sourceFileName;</span>
    +<span class="fc" id="L110">	}</span>
    +
    +	// === IClassCoverage implementation ===
    +
    +	public long getId() {
    +<span class="fc" id="L115">		return id;</span>
    +	}
    +
    +	public boolean isNoMatch() {
    +<span class="fc" id="L119">		return noMatch;</span>
    +	}
    +
    +	public String getSignature() {
    +<span class="fc" id="L123">		return signature;</span>
    +	}
    +
    +	public String getSuperName() {
    +<span class="fc" id="L127">		return superName;</span>
    +	}
    +
    +	public String[] getInterfaceNames() {
    +<span class="fc" id="L131">		return interfaces;</span>
    +	}
    +
    +	public String getPackageName() {
    +<span class="fc" id="L135">		final int pos = getName().lastIndexOf('/');</span>
    +<span class="fc bfc" id="L136" title="All 2 branches covered.">		return pos == -1 ? &quot;&quot; : getName().substring(0, pos);</span>
    +	}
    +
    +	public String getSourceFileName() {
    +<span class="fc" id="L140">		return sourceFileName;</span>
    +	}
    +
    +	public Collection&lt;IMethodCoverage&gt; getMethods() {
    +<span class="fc" id="L144">		return methods;</span>
    +	}
    +
    +}
    +</pre><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.12.202403270442</span>Code Coverage Report for JaCoCo 0.8.12-SNAPSHOT</div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/trunk/coverage/org.jacoco.core/org.jacoco.core.internal.analysis/CounterImpl$1.html b/jacoco/trunk/coverage/org.jacoco.core/org.jacoco.core.internal.analysis/CounterImpl$1.html
    new file mode 100644
    index 00000000000..6be4d174fb2
    --- /dev/null
    +++ b/jacoco/trunk/coverage/org.jacoco.core/org.jacoco.core.internal.analysis/CounterImpl$1.html
    @@ -0,0 +1 @@
    +<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="en"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../../jacoco-resources/report.gif" type="image/gif"/><title>CounterImpl.new Object() {...}</title><script type="text/javascript" src="../../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../../index.html" class="el_report">JaCoCo</a> &gt; <a href="../index.html" class="el_bundle">org.jacoco.core</a> &gt; <a href="index.html" class="el_package">org.jacoco.core.internal.analysis</a> &gt; <span class="el_class">CounterImpl.new Object() {...}</span></div><h1>CounterImpl.new Object() {...}</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">5 of 40</td><td class="ctr2">87%</td><td class="bar">0 of 0</td><td class="ctr2">n/a</td><td class="ctr1">0</td><td class="ctr2">1</td><td class="ctr1">0</td><td class="ctr2">1</td><td class="ctr1">0</td><td class="ctr2">1</td></tr></tfoot><tbody><tr><td id="a0"><a href="CounterImpl.java.html#L153" class="el_method">static {...}</a></td><td class="bar" id="b0"><img src="../../jacoco-resources/redbar.gif" width="15" height="10" title="5" alt="5"/><img src="../../jacoco-resources/greenbar.gif" width="105" height="10" title="35" alt="35"/></td><td class="ctr2" id="c0">87%</td><td class="bar" id="d0"/><td class="ctr2" id="e0">n/a</td><td class="ctr1" id="f0">0</td><td class="ctr2" id="g0">1</td><td class="ctr1" id="h0">0</td><td class="ctr2" id="i0">1</td><td class="ctr1" id="j0">0</td><td class="ctr2" id="k0">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.12.202403270442</span>Code Coverage Report for JaCoCo 0.8.12-SNAPSHOT</div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/trunk/coverage/org.jacoco.core/org.jacoco.core.internal.analysis/CounterImpl$Fix.html b/jacoco/trunk/coverage/org.jacoco.core/org.jacoco.core.internal.analysis/CounterImpl$Fix.html
    new file mode 100644
    index 00000000000..394998d4640
    --- /dev/null
    +++ b/jacoco/trunk/coverage/org.jacoco.core/org.jacoco.core.internal.analysis/CounterImpl$Fix.html
    @@ -0,0 +1 @@
    +<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="en"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../../jacoco-resources/report.gif" type="image/gif"/><title>CounterImpl.Fix</title><script type="text/javascript" src="../../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../../index.html" class="el_report">JaCoCo</a> &gt; <a href="../index.html" class="el_bundle">org.jacoco.core</a> &gt; <a href="index.html" class="el_package">org.jacoco.core.internal.analysis</a> &gt; <span class="el_class">CounterImpl.Fix</span></div><h1>CounterImpl.Fix</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">0 of 15</td><td class="ctr2">100%</td><td class="bar">0 of 0</td><td class="ctr2">n/a</td><td class="ctr1">0</td><td class="ctr2">2</td><td class="ctr1">0</td><td class="ctr2">3</td><td class="ctr1">0</td><td class="ctr2">2</td></tr></tfoot><tbody><tr><td id="a1"><a href="CounterImpl.java.html#L73" class="el_method">increment(int, int)</a></td><td class="bar" id="b0"><img src="../../jacoco-resources/greenbar.gif" width="120" height="10" title="10" alt="10"/></td><td class="ctr2" id="c0">100%</td><td class="bar" id="d0"/><td class="ctr2" id="e0">n/a</td><td class="ctr1" id="f0">0</td><td class="ctr2" id="g0">1</td><td class="ctr1" id="h0">0</td><td class="ctr2" id="i1">1</td><td class="ctr1" id="j0">0</td><td class="ctr2" id="k0">1</td></tr><tr><td id="a0"><a href="CounterImpl.java.html#L68" class="el_method">CounterImpl.Fix(int, int)</a></td><td class="bar" id="b1"><img src="../../jacoco-resources/greenbar.gif" width="60" height="10" title="5" alt="5"/></td><td class="ctr2" id="c1">100%</td><td class="bar" id="d1"/><td class="ctr2" id="e1">n/a</td><td class="ctr1" id="f1">0</td><td class="ctr2" id="g1">1</td><td class="ctr1" id="h1">0</td><td class="ctr2" id="i0">2</td><td class="ctr1" id="j1">0</td><td class="ctr2" id="k1">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.12.202403270442</span>Code Coverage Report for JaCoCo 0.8.12-SNAPSHOT</div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/trunk/coverage/org.jacoco.core/org.jacoco.core.internal.analysis/CounterImpl$Var.html b/jacoco/trunk/coverage/org.jacoco.core/org.jacoco.core.internal.analysis/CounterImpl$Var.html
    new file mode 100644
    index 00000000000..e44f1953297
    --- /dev/null
    +++ b/jacoco/trunk/coverage/org.jacoco.core/org.jacoco.core.internal.analysis/CounterImpl$Var.html
    @@ -0,0 +1 @@
    +<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="en"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../../jacoco-resources/report.gif" type="image/gif"/><title>CounterImpl.Var</title><script type="text/javascript" src="../../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../../index.html" class="el_report">JaCoCo</a> &gt; <a href="../index.html" class="el_bundle">org.jacoco.core</a> &gt; <a href="index.html" class="el_package">org.jacoco.core.internal.analysis</a> &gt; <span class="el_class">CounterImpl.Var</span></div><h1>CounterImpl.Var</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">0 of 19</td><td class="ctr2">100%</td><td class="bar">0 of 0</td><td class="ctr2">n/a</td><td class="ctr1">0</td><td class="ctr2">2</td><td class="ctr1">0</td><td class="ctr2">5</td><td class="ctr1">0</td><td class="ctr2">2</td></tr></tfoot><tbody><tr><td id="a1"><a href="CounterImpl.java.html#L57" class="el_method">increment(int, int)</a></td><td class="bar" id="b0"><img src="../../jacoco-resources/greenbar.gif" width="120" height="10" title="14" alt="14"/></td><td class="ctr2" id="c0">100%</td><td class="bar" id="d0"/><td class="ctr2" id="e0">n/a</td><td class="ctr1" id="f0">0</td><td class="ctr2" id="g0">1</td><td class="ctr1" id="h0">0</td><td class="ctr2" id="i0">3</td><td class="ctr1" id="j0">0</td><td class="ctr2" id="k0">1</td></tr><tr><td id="a0"><a href="CounterImpl.java.html#L52" class="el_method">CounterImpl.Var(int, int)</a></td><td class="bar" id="b1"><img src="../../jacoco-resources/greenbar.gif" width="42" height="10" title="5" alt="5"/></td><td class="ctr2" id="c1">100%</td><td class="bar" id="d1"/><td class="ctr2" id="e1">n/a</td><td class="ctr1" id="f1">0</td><td class="ctr2" id="g1">1</td><td class="ctr1" id="h1">0</td><td class="ctr2" id="i1">2</td><td class="ctr1" id="j1">0</td><td class="ctr2" id="k1">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.12.202403270442</span>Code Coverage Report for JaCoCo 0.8.12-SNAPSHOT</div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/trunk/coverage/org.jacoco.core/org.jacoco.core.internal.analysis/CounterImpl.html b/jacoco/trunk/coverage/org.jacoco.core/org.jacoco.core.internal.analysis/CounterImpl.html
    new file mode 100644
    index 00000000000..a9dd66bac0e
    --- /dev/null
    +++ b/jacoco/trunk/coverage/org.jacoco.core/org.jacoco.core.internal.analysis/CounterImpl.html
    @@ -0,0 +1 @@
    +<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="en"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../../jacoco-resources/report.gif" type="image/gif"/><title>CounterImpl</title><script type="text/javascript" src="../../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../../index.html" class="el_report">JaCoCo</a> &gt; <a href="../index.html" class="el_bundle">org.jacoco.core</a> &gt; <a href="index.html" class="el_package">org.jacoco.core.internal.analysis</a> &gt; <span class="el_class">CounterImpl</span></div><h1>CounterImpl</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">5 of 223</td><td class="ctr2">97%</td><td class="bar">1 of 24</td><td class="ctr2">95%</td><td class="ctr1">1</td><td class="ctr2">29</td><td class="ctr1">1</td><td class="ctr2">43</td><td class="ctr1">0</td><td class="ctr2">15</td></tr></tfoot><tbody><tr><td id="a10"><a href="CounterImpl.java.html#L153" class="el_method">getValue(ICounter.CounterValue)</a></td><td class="bar" id="b0"><img src="../../jacoco-resources/redbar.gif" width="11" height="10" title="5" alt="5"/><img src="../../jacoco-resources/greenbar.gif" width="54" height="10" title="23" alt="23"/></td><td class="ctr2" id="c14">82%</td><td class="bar" id="d0"><img src="../../jacoco-resources/redbar.gif" width="20" height="10" title="1" alt="1"/><img src="../../jacoco-resources/greenbar.gif" width="100" height="10" title="5" alt="5"/></td><td class="ctr2" id="e4">83%</td><td class="ctr1" id="f0">1</td><td class="ctr2" id="g0">6</td><td class="ctr1" id="h0">1</td><td class="ctr2" id="i1">7</td><td class="ctr1" id="j0">0</td><td class="ctr2" id="k0">1</td></tr><tr><td id="a13"><a href="CounterImpl.java.html#L26" class="el_method">static {...}</a></td><td class="bar" id="b1"><img src="../../jacoco-resources/greenbar.gif" width="120" height="10" title="51" alt="51"/></td><td class="ctr2" id="c0">100%</td><td class="bar" id="d2"><img src="../../jacoco-resources/greenbar.gif" width="80" height="10" title="4" alt="4"/></td><td class="ctr2" id="e0">100%</td><td class="ctr1" id="f1">0</td><td class="ctr2" id="g2">3</td><td class="ctr1" id="h1">0</td><td class="ctr2" id="i0">8</td><td class="ctr1" id="j1">0</td><td class="ctr2" id="k1">1</td></tr><tr><td id="a14"><a href="CounterImpl.java.html#L215" class="el_method">toString()</a></td><td class="bar" id="b2"><img src="../../jacoco-resources/greenbar.gif" width="56" height="10" title="24" alt="24"/></td><td class="ctr2" id="c1">100%</td><td class="bar" id="d5"/><td class="ctr2" id="e5">n/a</td><td class="ctr1" id="f2">0</td><td class="ctr2" id="g5">1</td><td class="ctr1" id="h2">0</td><td class="ctr2" id="i2">5</td><td class="ctr1" id="j2">0</td><td class="ctr2" id="k2">1</td></tr><tr><td id="a1"><a href="CounterImpl.java.html#L199" class="el_method">equals(Object)</a></td><td class="bar" id="b3"><img src="../../jacoco-resources/greenbar.gif" width="51" height="10" title="22" alt="22"/></td><td class="ctr2" id="c2">100%</td><td class="bar" id="d1"><img src="../../jacoco-resources/greenbar.gif" width="120" height="10" title="6" alt="6"/></td><td class="ctr2" id="e1">100%</td><td class="ctr1" id="f3">0</td><td class="ctr2" id="g1">4</td><td class="ctr1" id="h3">0</td><td class="ctr2" id="i3">4</td><td class="ctr1" id="j3">0</td><td class="ctr2" id="k3">1</td></tr><tr><td id="a5"><a href="CounterImpl.java.html#L87" class="el_method">getInstance(int, int)</a></td><td class="bar" id="b4"><img src="../../jacoco-resources/greenbar.gif" width="42" height="10" title="18" alt="18"/></td><td class="ctr2" id="c3">100%</td><td class="bar" id="d3"><img src="../../jacoco-resources/greenbar.gif" width="80" height="10" title="4" alt="4"/></td><td class="ctr2" id="e2">100%</td><td class="ctr1" id="f4">0</td><td class="ctr2" id="g3">3</td><td class="ctr1" id="h4">0</td><td class="ctr2" id="i6">3</td><td class="ctr1" id="j4">0</td><td class="ctr2" id="k4">1</td></tr><tr><td id="a8"><a href="CounterImpl.java.html#L190" class="el_method">getStatus()</a></td><td class="bar" id="b5"><img src="../../jacoco-resources/greenbar.gif" width="37" height="10" title="16" alt="16"/></td><td class="ctr2" id="c4">100%</td><td class="bar" id="d4"><img src="../../jacoco-resources/greenbar.gif" width="80" height="10" title="4" alt="4"/></td><td class="ctr2" id="e3">100%</td><td class="ctr1" id="f5">0</td><td class="ctr2" id="g4">3</td><td class="ctr1" id="h5">0</td><td class="ctr2" id="i4">4</td><td class="ctr1" id="j5">0</td><td class="ctr2" id="k5">1</td></tr><tr><td id="a3"><a href="CounterImpl.java.html#L182" class="el_method">getCoveredRatio()</a></td><td class="bar" id="b6"><img src="../../jacoco-resources/greenbar.gif" width="25" height="10" title="11" alt="11"/></td><td class="ctr2" id="c5">100%</td><td class="bar" id="d6"/><td class="ctr2" id="e6">n/a</td><td class="ctr1" id="f6">0</td><td class="ctr2" id="g6">1</td><td class="ctr1" id="h6">0</td><td class="ctr2" id="i7">1</td><td class="ctr1" id="j6">0</td><td class="ctr2" id="k6">1</td></tr><tr><td id="a7"><a href="CounterImpl.java.html#L186" class="el_method">getMissedRatio()</a></td><td class="bar" id="b7"><img src="../../jacoco-resources/greenbar.gif" width="25" height="10" title="11" alt="11"/></td><td class="ctr2" id="c6">100%</td><td class="bar" id="d7"/><td class="ctr2" id="e7">n/a</td><td class="ctr1" id="f7">0</td><td class="ctr2" id="g7">1</td><td class="ctr1" id="h7">0</td><td class="ctr2" id="i8">1</td><td class="ctr1" id="j7">0</td><td class="ctr2" id="k7">1</td></tr><tr><td id="a0"><a href="CounterImpl.java.html#L119" class="el_method">CounterImpl(int, int)</a></td><td class="bar" id="b8"><img src="../../jacoco-resources/greenbar.gif" width="21" height="10" title="9" alt="9"/></td><td class="ctr2" id="c7">100%</td><td class="bar" id="d8"/><td class="ctr2" id="e8">n/a</td><td class="ctr1" id="f8">0</td><td class="ctr2" id="g8">1</td><td class="ctr1" id="h8">0</td><td class="ctr2" id="i5">4</td><td class="ctr1" id="j8">0</td><td class="ctr2" id="k8">1</td></tr><tr><td id="a11"><a href="CounterImpl.java.html#L210" class="el_method">hashCode()</a></td><td class="bar" id="b9"><img src="../../jacoco-resources/greenbar.gif" width="18" height="10" title="8" alt="8"/></td><td class="ctr2" id="c8">100%</td><td class="bar" id="d9"/><td class="ctr2" id="e9">n/a</td><td class="ctr1" id="f9">0</td><td class="ctr2" id="g9">1</td><td class="ctr1" id="h9">0</td><td class="ctr2" id="i9">1</td><td class="ctr1" id="j9">0</td><td class="ctr2" id="k9">1</td></tr><tr><td id="a12"><a href="CounterImpl.java.html#L134" class="el_method">increment(ICounter)</a></td><td class="bar" id="b10"><img src="../../jacoco-resources/greenbar.gif" width="16" height="10" title="7" alt="7"/></td><td class="ctr2" id="c9">100%</td><td class="bar" id="d10"/><td class="ctr2" id="e10">n/a</td><td class="ctr1" id="f10">0</td><td class="ctr2" id="g10">1</td><td class="ctr1" id="h10">0</td><td class="ctr2" id="i10">1</td><td class="ctr1" id="j10">0</td><td class="ctr2" id="k10">1</td></tr><tr><td id="a4"><a href="CounterImpl.java.html#L102" class="el_method">getInstance(ICounter)</a></td><td class="bar" id="b11"><img src="../../jacoco-resources/greenbar.gif" width="14" height="10" title="6" alt="6"/></td><td class="ctr2" id="c10">100%</td><td class="bar" id="d11"/><td class="ctr2" id="e11">n/a</td><td class="ctr1" id="f11">0</td><td class="ctr2" id="g11">1</td><td class="ctr1" id="h11">0</td><td class="ctr2" id="i11">1</td><td class="ctr1" id="j11">0</td><td class="ctr2" id="k11">1</td></tr><tr><td id="a9"><a href="CounterImpl.java.html#L170" class="el_method">getTotalCount()</a></td><td class="bar" id="b12"><img src="../../jacoco-resources/greenbar.gif" width="14" height="10" title="6" alt="6"/></td><td class="ctr2" id="c11">100%</td><td class="bar" id="d12"/><td class="ctr2" id="e12">n/a</td><td class="ctr1" id="f12">0</td><td class="ctr2" id="g12">1</td><td class="ctr1" id="h12">0</td><td class="ctr2" id="i12">1</td><td class="ctr1" id="j12">0</td><td class="ctr2" id="k12">1</td></tr><tr><td id="a2"><a href="CounterImpl.java.html#L174" class="el_method">getCoveredCount()</a></td><td class="bar" id="b13"><img src="../../jacoco-resources/greenbar.gif" width="7" height="10" title="3" alt="3"/></td><td class="ctr2" id="c12">100%</td><td class="bar" id="d13"/><td class="ctr2" id="e13">n/a</td><td class="ctr1" id="f13">0</td><td class="ctr2" id="g13">1</td><td class="ctr1" id="h13">0</td><td class="ctr2" id="i13">1</td><td class="ctr1" id="j13">0</td><td class="ctr2" id="k13">1</td></tr><tr><td id="a6"><a href="CounterImpl.java.html#L178" class="el_method">getMissedCount()</a></td><td class="bar" id="b14"><img src="../../jacoco-resources/greenbar.gif" width="7" height="10" title="3" alt="3"/></td><td class="ctr2" id="c13">100%</td><td class="bar" id="d14"/><td class="ctr2" id="e14">n/a</td><td class="ctr1" id="f14">0</td><td class="ctr2" id="g14">1</td><td class="ctr1" id="h14">0</td><td class="ctr2" id="i14">1</td><td class="ctr1" id="j14">0</td><td class="ctr2" id="k14">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.12.202403270442</span>Code Coverage Report for JaCoCo 0.8.12-SNAPSHOT</div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/trunk/coverage/org.jacoco.core/org.jacoco.core.internal.analysis/CounterImpl.java.html b/jacoco/trunk/coverage/org.jacoco.core/org.jacoco.core.internal.analysis/CounterImpl.java.html
    new file mode 100644
    index 00000000000..b7bec9f47ed
    --- /dev/null
    +++ b/jacoco/trunk/coverage/org.jacoco.core/org.jacoco.core.internal.analysis/CounterImpl.java.html
    @@ -0,0 +1,223 @@
    +<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="en"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../../jacoco-resources/report.gif" type="image/gif"/><title>CounterImpl.java</title><link rel="stylesheet" href="../../jacoco-resources/prettify.css" type="text/css"/><script type="text/javascript" src="../../jacoco-resources/prettify.js"></script></head><body onload="window['PR_TAB_WIDTH']=4;prettyPrint()"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../../index.html" class="el_report">JaCoCo</a> &gt; <a href="../index.html" class="el_bundle">org.jacoco.core</a> &gt; <a href="index.source.html" class="el_package">org.jacoco.core.internal.analysis</a> &gt; <span class="el_source">CounterImpl.java</span></div><h1>CounterImpl.java</h1><pre class="source lang-java linenums">/*******************************************************************************
    + * Copyright (c) 2009, 2024 Mountainminds GmbH &amp; Co. KG and Contributors
    + * This program and the accompanying materials are made available under
    + * the terms of the Eclipse Public License 2.0 which is available at
    + * http://www.eclipse.org/legal/epl-2.0
    + *
    + * SPDX-License-Identifier: EPL-2.0
    + *
    + * Contributors:
    + *    Marc R. Hoffmann - initial API and implementation
    + *
    + *******************************************************************************/
    +package org.jacoco.core.internal.analysis;
    +
    +import org.jacoco.core.analysis.ICounter;
    +
    +/**
    + * {@link ICounter} implementations. Implementing a factory pattern allows to
    + * share counter instances.
    + */
    +public abstract class CounterImpl implements ICounter {
    +
    +	/** Max counter value for which singletons are created */
    +	private static final int SINGLETON_LIMIT = 30;
    +
    +<span class="fc" id="L26">	private static final CounterImpl[][] SINGLETONS = new CounterImpl[SINGLETON_LIMIT</span>
    +			+ 1][];
    +
    +	static {
    +<span class="fc bfc" id="L30" title="All 2 branches covered.">		for (int i = 0; i &lt;= SINGLETON_LIMIT; i++) {</span>
    +<span class="fc" id="L31">			SINGLETONS[i] = new CounterImpl[SINGLETON_LIMIT + 1];</span>
    +<span class="fc bfc" id="L32" title="All 2 branches covered.">			for (int j = 0; j &lt;= SINGLETON_LIMIT; j++) {</span>
    +<span class="fc" id="L33">				SINGLETONS[i][j] = new Fix(i, j);</span>
    +			}
    +		}
    +	}
    +
    +	/** Constant for Counter with 0/0 values. */
    +<span class="fc" id="L39">	public static final CounterImpl COUNTER_0_0 = SINGLETONS[0][0];</span>
    +
    +	/** Constant for Counter with 1/0 values. */
    +<span class="fc" id="L42">	public static final CounterImpl COUNTER_1_0 = SINGLETONS[1][0];</span>
    +
    +	/** Constant for Counter with 0/1 values. */
    +<span class="fc" id="L45">	public static final CounterImpl COUNTER_0_1 = SINGLETONS[0][1];</span>
    +
    +	/**
    +	 * Mutable version of the counter.
    +	 */
    +	private static class Var extends CounterImpl {
    +		public Var(final int missed, final int covered) {
    +<span class="fc" id="L52">			super(missed, covered);</span>
    +<span class="fc" id="L53">		}</span>
    +
    +		@Override
    +		public CounterImpl increment(final int missed, final int covered) {
    +<span class="fc" id="L57">			this.missed += missed;</span>
    +<span class="fc" id="L58">			this.covered += covered;</span>
    +<span class="fc" id="L59">			return this;</span>
    +		}
    +	}
    +
    +	/**
    +	 * Immutable version of the counter.
    +	 */
    +	private static class Fix extends CounterImpl {
    +		public Fix(final int missed, final int covered) {
    +<span class="fc" id="L68">			super(missed, covered);</span>
    +<span class="fc" id="L69">		}</span>
    +
    +		@Override
    +		public CounterImpl increment(final int missed, final int covered) {
    +<span class="fc" id="L73">			return getInstance(this.missed + missed, this.covered + covered);</span>
    +		}
    +	}
    +
    +	/**
    +	 * Factory method to retrieve a counter with the given number of items.
    +	 *
    +	 * @param missed
    +	 *            number of missed items
    +	 * @param covered
    +	 *            number of covered items
    +	 * @return counter instance
    +	 */
    +	public static CounterImpl getInstance(final int missed, final int covered) {
    +<span class="fc bfc" id="L87" title="All 4 branches covered.">		if (missed &lt;= SINGLETON_LIMIT &amp;&amp; covered &lt;= SINGLETON_LIMIT) {</span>
    +<span class="fc" id="L88">			return SINGLETONS[missed][covered];</span>
    +		} else {
    +<span class="fc" id="L90">			return new Var(missed, covered);</span>
    +		}
    +	}
    +
    +	/**
    +	 * Factory method to retrieve a clone of the given counter.
    +	 *
    +	 * @param counter
    +	 *            counter to copy
    +	 * @return counter instance
    +	 */
    +	public static CounterImpl getInstance(final ICounter counter) {
    +<span class="fc" id="L102">		return getInstance(counter.getMissedCount(), counter.getCoveredCount());</span>
    +	}
    +
    +	/** number of missed items */
    +	protected int missed;
    +
    +	/** number of covered items */
    +	protected int covered;
    +
    +	/**
    +	 * Creates a new instance with the given numbers.
    +	 *
    +	 * @param missed
    +	 *            number of missed items
    +	 * @param covered
    +	 *            number of covered items
    +	 */
    +<span class="fc" id="L119">	protected CounterImpl(final int missed, final int covered) {</span>
    +<span class="fc" id="L120">		this.missed = missed;</span>
    +<span class="fc" id="L121">		this.covered = covered;</span>
    +<span class="fc" id="L122">	}</span>
    +
    +	/**
    +	 * Returns a counter with values incremented by the numbers of the given
    +	 * counter. It is up to the implementation whether this counter instance is
    +	 * modified or a new instance is returned.
    +	 *
    +	 * @param counter
    +	 *            number of additional total and covered items
    +	 * @return counter instance with incremented values
    +	 */
    +	public CounterImpl increment(final ICounter counter) {
    +<span class="fc" id="L134">		return increment(counter.getMissedCount(), counter.getCoveredCount());</span>
    +	}
    +
    +	/**
    +	 * Returns a counter with values incremented by the given numbers. It is up
    +	 * to the implementation whether this counter instance is modified or a new
    +	 * instance is returned.
    +	 *
    +	 * @param missed
    +	 *            number of missed items
    +	 * @param covered
    +	 *            number of covered items
    +	 * @return counter instance with incremented values
    +	 */
    +	public abstract CounterImpl increment(int missed, int covered);
    +
    +	// === ICounter implementation ===
    +
    +	public double getValue(final CounterValue value) {
    +<span class="pc bpc" id="L153" title="1 of 6 branches missed.">		switch (value) {</span>
    +		case TOTALCOUNT:
    +<span class="fc" id="L155">			return getTotalCount();</span>
    +		case MISSEDCOUNT:
    +<span class="fc" id="L157">			return getMissedCount();</span>
    +		case COVEREDCOUNT:
    +<span class="fc" id="L159">			return getCoveredCount();</span>
    +		case MISSEDRATIO:
    +<span class="fc" id="L161">			return getMissedRatio();</span>
    +		case COVEREDRATIO:
    +<span class="fc" id="L163">			return getCoveredRatio();</span>
    +		default:
    +<span class="nc" id="L165">			throw new AssertionError(value);</span>
    +		}
    +	}
    +
    +	public int getTotalCount() {
    +<span class="fc" id="L170">		return missed + covered;</span>
    +	}
    +
    +	public int getCoveredCount() {
    +<span class="fc" id="L174">		return covered;</span>
    +	}
    +
    +	public int getMissedCount() {
    +<span class="fc" id="L178">		return missed;</span>
    +	}
    +
    +	public double getCoveredRatio() {
    +<span class="fc" id="L182">		return (double) covered / (missed + covered);</span>
    +	}
    +
    +	public double getMissedRatio() {
    +<span class="fc" id="L186">		return (double) missed / (missed + covered);</span>
    +	}
    +
    +	public int getStatus() {
    +<span class="fc bfc" id="L190" title="All 2 branches covered.">		int status = covered &gt; 0 ? FULLY_COVERED : EMPTY;</span>
    +<span class="fc bfc" id="L191" title="All 2 branches covered.">		if (missed &gt; 0) {</span>
    +<span class="fc" id="L192">			status |= NOT_COVERED;</span>
    +		}
    +<span class="fc" id="L194">		return status;</span>
    +	}
    +
    +	@Override
    +	public boolean equals(final Object obj) {
    +<span class="fc bfc" id="L199" title="All 2 branches covered.">		if (obj instanceof ICounter) {</span>
    +<span class="fc" id="L200">			final ICounter that = (ICounter) obj;</span>
    +<span class="fc bfc" id="L201" title="All 4 branches covered.">			return this.missed == that.getMissedCount()</span>
    +					&amp;&amp; this.covered == that.getCoveredCount();
    +		} else {
    +<span class="fc" id="L204">			return false;</span>
    +		}
    +	}
    +
    +	@Override
    +	public int hashCode() {
    +<span class="fc" id="L210">		return missed ^ covered * 17;</span>
    +	}
    +
    +	@Override
    +	public String toString() {
    +<span class="fc" id="L215">		final StringBuilder b = new StringBuilder(&quot;Counter[&quot;); //$NON-NLS-1$</span>
    +<span class="fc" id="L216">		b.append(getMissedCount());</span>
    +<span class="fc" id="L217">		b.append('/').append(getCoveredCount());</span>
    +<span class="fc" id="L218">		b.append(']');</span>
    +<span class="fc" id="L219">		return b.toString();</span>
    +	}
    +
    +}
    +</pre><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.12.202403270442</span>Code Coverage Report for JaCoCo 0.8.12-SNAPSHOT</div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/trunk/coverage/org.jacoco.core/org.jacoco.core.internal.analysis/Instruction.html b/jacoco/trunk/coverage/org.jacoco.core/org.jacoco.core.internal.analysis/Instruction.html
    new file mode 100644
    index 00000000000..03cc1feeacd
    --- /dev/null
    +++ b/jacoco/trunk/coverage/org.jacoco.core/org.jacoco.core.internal.analysis/Instruction.html
    @@ -0,0 +1 @@
    +<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="en"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../../jacoco-resources/report.gif" type="image/gif"/><title>Instruction</title><script type="text/javascript" src="../../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../../index.html" class="el_report">JaCoCo</a> &gt; <a href="../index.html" class="el_bundle">org.jacoco.core</a> &gt; <a href="index.html" class="el_package">org.jacoco.core.internal.analysis</a> &gt; <span class="el_class">Instruction</span></div><h1>Instruction</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">0 of 153</td><td class="ctr2">100%</td><td class="bar">0 of 16</td><td class="ctr2">100%</td><td class="ctr1">0</td><td class="ctr2">17</td><td class="ctr1">0</td><td class="ctr2">41</td><td class="ctr1">0</td><td class="ctr2">9</td></tr></tfoot><tbody><tr><td id="a8"><a href="Instruction.java.html#L172" class="el_method">replaceBranches(Collection)</a></td><td class="bar" id="b0"><img src="../../jacoco-resources/greenbar.gif" width="120" height="10" title="34" alt="34"/></td><td class="ctr2" id="c0">100%</td><td class="bar" id="d0"><img src="../../jacoco-resources/greenbar.gif" width="120" height="10" title="4" alt="4"/></td><td class="ctr2" id="e0">100%</td><td class="ctr1" id="f0">0</td><td class="ctr2" id="g0">3</td><td class="ctr1" id="h0">0</td><td class="ctr2" id="i1">7</td><td class="ctr1" id="j0">0</td><td class="ctr2" id="k0">1</td></tr><tr><td id="a7"><a href="Instruction.java.html#L125" class="el_method">propagateExecutedBranch(Instruction, int)</a></td><td class="bar" id="b1"><img src="../../jacoco-resources/greenbar.gif" width="81" height="10" title="23" alt="23"/></td><td class="ctr2" id="c1">100%</td><td class="bar" id="d1"><img src="../../jacoco-resources/greenbar.gif" width="120" height="10" title="4" alt="4"/></td><td class="ctr2" id="e1">100%</td><td class="ctr1" id="f1">0</td><td class="ctr2" id="g1">3</td><td class="ctr1" id="h1">0</td><td class="ctr2" id="i0">8</td><td class="ctr1" id="j1">0</td><td class="ctr2" id="k1">1</td></tr><tr><td id="a6"><a href="Instruction.java.html#L154" class="el_method">merge(Instruction)</a></td><td class="bar" id="b2"><img src="../../jacoco-resources/greenbar.gif" width="77" height="10" title="22" alt="22"/></td><td class="ctr2" id="c2">100%</td><td class="bar" id="d6"/><td class="ctr2" id="e6">n/a</td><td class="ctr1" id="f2">0</td><td class="ctr2" id="g6">1</td><td class="ctr1" id="h2">0</td><td class="ctr2" id="i3">5</td><td class="ctr1" id="j2">0</td><td class="ctr2" id="k2">1</td></tr><tr><td id="a1"><a href="Instruction.java.html#L95" class="el_method">addBranch(Instruction, int)</a></td><td class="bar" id="b3"><img src="../../jacoco-resources/greenbar.gif" width="70" height="10" title="20" alt="20"/></td><td class="ctr2" id="c3">100%</td><td class="bar" id="d2"><img src="../../jacoco-resources/greenbar.gif" width="60" height="10" title="2" alt="2"/></td><td class="ctr2" id="e2">100%</td><td class="ctr1" id="f3">0</td><td class="ctr2" id="g2">2</td><td class="ctr1" id="h3">0</td><td class="ctr2" id="i2">6</td><td class="ctr1" id="j3">0</td><td class="ctr2" id="k3">1</td></tr><tr><td id="a2"><a href="Instruction.java.html#L201" class="el_method">getBranchCounter()</a></td><td class="bar" id="b4"><img src="../../jacoco-resources/greenbar.gif" width="60" height="10" title="17" alt="17"/></td><td class="ctr2" id="c4">100%</td><td class="bar" id="d3"><img src="../../jacoco-resources/greenbar.gif" width="60" height="10" title="2" alt="2"/></td><td class="ctr2" id="e3">100%</td><td class="ctr1" id="f4">0</td><td class="ctr2" id="g3">2</td><td class="ctr1" id="h4">0</td><td class="ctr2" id="i5">4</td><td class="ctr1" id="j4">0</td><td class="ctr2" id="k4">1</td></tr><tr><td id="a5"><a href="Instruction.java.html#L74" class="el_method">Instruction(int)</a></td><td class="bar" id="b5"><img src="../../jacoco-resources/greenbar.gif" width="49" height="10" title="14" alt="14"/></td><td class="ctr2" id="c5">100%</td><td class="bar" id="d7"/><td class="ctr2" id="e7">n/a</td><td class="ctr1" id="f5">0</td><td class="ctr2" id="g7">1</td><td class="ctr1" id="h5">0</td><td class="ctr2" id="i4">5</td><td class="ctr1" id="j5">0</td><td class="ctr2" id="k5">1</td></tr><tr><td id="a0"><a href="Instruction.java.html#L117" class="el_method">addBranch(boolean, int)</a></td><td class="bar" id="b6"><img src="../../jacoco-resources/greenbar.gif" width="42" height="10" title="12" alt="12"/></td><td class="ctr2" id="c6">100%</td><td class="bar" id="d4"><img src="../../jacoco-resources/greenbar.gif" width="60" height="10" title="2" alt="2"/></td><td class="ctr2" id="e4">100%</td><td class="ctr1" id="f6">0</td><td class="ctr2" id="g4">2</td><td class="ctr1" id="h6">0</td><td class="ctr2" id="i6">4</td><td class="ctr1" id="j6">0</td><td class="ctr2" id="k6">1</td></tr><tr><td id="a3"><a href="Instruction.java.html#L190" class="el_method">getInstructionCounter()</a></td><td class="bar" id="b7"><img src="../../jacoco-resources/greenbar.gif" width="28" height="10" title="8" alt="8"/></td><td class="ctr2" id="c7">100%</td><td class="bar" id="d5"><img src="../../jacoco-resources/greenbar.gif" width="60" height="10" title="2" alt="2"/></td><td class="ctr2" id="e5">100%</td><td class="ctr1" id="f7">0</td><td class="ctr2" id="g5">2</td><td class="ctr1" id="h7">0</td><td class="ctr2" id="i7">1</td><td class="ctr1" id="j7">0</td><td class="ctr2" id="k7">1</td></tr><tr><td id="a4"><a href="Instruction.java.html#L142" class="el_method">getLine()</a></td><td class="bar" id="b8"><img src="../../jacoco-resources/greenbar.gif" width="10" height="10" title="3" alt="3"/></td><td class="ctr2" id="c8">100%</td><td class="bar" id="d8"/><td class="ctr2" id="e8">n/a</td><td class="ctr1" id="f8">0</td><td class="ctr2" id="g8">1</td><td class="ctr1" id="h8">0</td><td class="ctr2" id="i8">1</td><td class="ctr1" id="j8">0</td><td class="ctr2" id="k8">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.12.202403270442</span>Code Coverage Report for JaCoCo 0.8.12-SNAPSHOT</div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/trunk/coverage/org.jacoco.core/org.jacoco.core.internal.analysis/Instruction.java.html b/jacoco/trunk/coverage/org.jacoco.core/org.jacoco.core.internal.analysis/Instruction.java.html
    new file mode 100644
    index 00000000000..6cd145087d3
    --- /dev/null
    +++ b/jacoco/trunk/coverage/org.jacoco.core/org.jacoco.core.internal.analysis/Instruction.java.html
    @@ -0,0 +1,209 @@
    +<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="en"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../../jacoco-resources/report.gif" type="image/gif"/><title>Instruction.java</title><link rel="stylesheet" href="../../jacoco-resources/prettify.css" type="text/css"/><script type="text/javascript" src="../../jacoco-resources/prettify.js"></script></head><body onload="window['PR_TAB_WIDTH']=4;prettyPrint()"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../../index.html" class="el_report">JaCoCo</a> &gt; <a href="../index.html" class="el_bundle">org.jacoco.core</a> &gt; <a href="index.source.html" class="el_package">org.jacoco.core.internal.analysis</a> &gt; <span class="el_source">Instruction.java</span></div><h1>Instruction.java</h1><pre class="source lang-java linenums">/*******************************************************************************
    + * Copyright (c) 2009, 2024 Mountainminds GmbH &amp; Co. KG and Contributors
    + * This program and the accompanying materials are made available under
    + * the terms of the Eclipse Public License 2.0 which is available at
    + * http://www.eclipse.org/legal/epl-2.0
    + *
    + * SPDX-License-Identifier: EPL-2.0
    + *
    + * Contributors:
    + *    Marc R. Hoffmann - initial API and implementation
    + *
    + *******************************************************************************/
    +package org.jacoco.core.internal.analysis;
    +
    +import java.util.BitSet;
    +import java.util.Collection;
    +
    +import org.jacoco.core.analysis.ICounter;
    +
    +/**
    + * Execution status of a single bytecode instruction internally used for
    + * coverage analysis. The execution status is recorded separately for each
    + * outgoing branch. Each instruction has at least one branch, for example in
    + * case of a simple sequence of instructions (by convention branch 0). Instances
    + * of this class are used in two steps:
    + *
    + * &lt;h2&gt;Step 1: Building the CFG&lt;/h2&gt;
    + *
    + * For each bytecode instruction of a method a {@link Instruction} instance is
    + * created. In correspondence with the CFG these instances are linked with each
    + * other with the &lt;code&gt;addBranch()&lt;/code&gt; methods. The executions status is
    + * either directly derived from a probe which has been inserted in the execution
    + * flow ({@link #addBranch(boolean, int)}) or indirectly propagated along the
    + * CFG edges ({@link #addBranch(Instruction, int)}).
    + *
    + * &lt;h2&gt;Step 2: Querying the Coverage Status&lt;/h2&gt;
    + *
    + * After all instructions have been created and linked each instruction knows
    + * its execution status and can be queried with:
    + *
    + * &lt;ul&gt;
    + * &lt;li&gt;{@link #getLine()}&lt;/li&gt;
    + * &lt;li&gt;{@link #getInstructionCounter()}&lt;/li&gt;
    + * &lt;li&gt;{@link #getBranchCounter()}&lt;/li&gt;
    + * &lt;/ul&gt;
    + *
    + * For the purpose of filtering instructions can be combined to new
    + * instructions. Note that these methods create new {@link Instruction}
    + * instances and do not modify the existing ones.
    + *
    + * &lt;ul&gt;
    + * &lt;li&gt;{@link #merge(Instruction)}&lt;/li&gt;
    + * &lt;li&gt;{@link #replaceBranches(Collection)}&lt;/li&gt;
    + * &lt;/ul&gt;
    + */
    +public class Instruction {
    +
    +	private final int line;
    +
    +	private int branches;
    +
    +	private final BitSet coveredBranches;
    +
    +	private Instruction predecessor;
    +
    +	private int predecessorBranch;
    +
    +	/**
    +	 * New instruction at the given line.
    +	 *
    +	 * @param line
    +	 *            source line this instruction belongs to
    +	 */
    +<span class="fc" id="L74">	public Instruction(final int line) {</span>
    +<span class="fc" id="L75">		this.line = line;</span>
    +<span class="fc" id="L76">		this.branches = 0;</span>
    +<span class="fc" id="L77">		this.coveredBranches = new BitSet();</span>
    +<span class="fc" id="L78">	}</span>
    +
    +	/**
    +	 * Adds a branch to this instruction which execution status is indirectly
    +	 * derived from the execution status of the target instruction. In case the
    +	 * branch is covered the status is propagated also to the predecessors of
    +	 * this instruction.
    +	 *
    +	 * Note: This method is not idempotent and must be called exactly once for
    +	 * every branch.
    +	 *
    +	 * @param target
    +	 *            target instruction of this branch
    +	 * @param branch
    +	 *            branch identifier unique for this instruction
    +	 */
    +	public void addBranch(final Instruction target, final int branch) {
    +<span class="fc" id="L95">		branches++;</span>
    +<span class="fc" id="L96">		target.predecessor = this;</span>
    +<span class="fc" id="L97">		target.predecessorBranch = branch;</span>
    +<span class="fc bfc" id="L98" title="All 2 branches covered.">		if (!target.coveredBranches.isEmpty()) {</span>
    +<span class="fc" id="L99">			propagateExecutedBranch(this, branch);</span>
    +		}
    +<span class="fc" id="L101">	}</span>
    +
    +	/**
    +	 * Adds a branch to this instruction which execution status is directly
    +	 * derived from a probe. In case the branch is covered the status is
    +	 * propagated also to the predecessors of this instruction.
    +	 *
    +	 * Note: This method is not idempotent and must be called exactly once for
    +	 * every branch.
    +	 *
    +	 * @param executed
    +	 *            whether the corresponding probe has been executed
    +	 * @param branch
    +	 *            branch identifier unique for this instruction
    +	 */
    +	public void addBranch(final boolean executed, final int branch) {
    +<span class="fc" id="L117">		branches++;</span>
    +<span class="fc bfc" id="L118" title="All 2 branches covered.">		if (executed) {</span>
    +<span class="fc" id="L119">			propagateExecutedBranch(this, branch);</span>
    +		}
    +<span class="fc" id="L121">	}</span>
    +
    +	private static void propagateExecutedBranch(Instruction insn, int branch) {
    +		// No recursion here, as there can be very long chains of instructions
    +<span class="fc bfc" id="L125" title="All 2 branches covered.">		while (insn != null) {</span>
    +<span class="fc bfc" id="L126" title="All 2 branches covered.">			if (!insn.coveredBranches.isEmpty()) {</span>
    +<span class="fc" id="L127">				insn.coveredBranches.set(branch);</span>
    +<span class="fc" id="L128">				break;</span>
    +			}
    +<span class="fc" id="L130">			insn.coveredBranches.set(branch);</span>
    +<span class="fc" id="L131">			branch = insn.predecessorBranch;</span>
    +<span class="fc" id="L132">			insn = insn.predecessor;</span>
    +		}
    +<span class="fc" id="L134">	}</span>
    +
    +	/**
    +	 * Returns the source line this instruction belongs to.
    +	 *
    +	 * @return corresponding source line
    +	 */
    +	public int getLine() {
    +<span class="fc" id="L142">		return line;</span>
    +	}
    +
    +	/**
    +	 * Merges information about covered branches of this instruction with
    +	 * another instruction.
    +	 *
    +	 * @param other
    +	 *            instruction to merge with
    +	 * @return new instance with merged branches
    +	 */
    +	public Instruction merge(final Instruction other) {
    +<span class="fc" id="L154">		final Instruction result = new Instruction(this.line);</span>
    +<span class="fc" id="L155">		result.branches = this.branches;</span>
    +<span class="fc" id="L156">		result.coveredBranches.or(this.coveredBranches);</span>
    +<span class="fc" id="L157">		result.coveredBranches.or(other.coveredBranches);</span>
    +<span class="fc" id="L158">		return result;</span>
    +	}
    +
    +	/**
    +	 * Creates a copy of this instruction where all outgoing branches are
    +	 * replaced with the given instructions. The coverage status of the new
    +	 * instruction is derived from the status of the given instructions.
    +	 *
    +	 * @param newBranches
    +	 *            new branches to consider
    +	 * @return new instance with replaced branches
    +	 */
    +	public Instruction replaceBranches(
    +			final Collection&lt;Instruction&gt; newBranches) {
    +<span class="fc" id="L172">		final Instruction result = new Instruction(this.line);</span>
    +<span class="fc" id="L173">		result.branches = newBranches.size();</span>
    +<span class="fc" id="L174">		int idx = 0;</span>
    +<span class="fc bfc" id="L175" title="All 2 branches covered.">		for (final Instruction b : newBranches) {</span>
    +<span class="fc bfc" id="L176" title="All 2 branches covered.">			if (!b.coveredBranches.isEmpty()) {</span>
    +<span class="fc" id="L177">				result.coveredBranches.set(idx++);</span>
    +			}
    +		}
    +<span class="fc" id="L180">		return result;</span>
    +	}
    +
    +	/**
    +	 * Returns the instruction coverage counter of this instruction. It is
    +	 * always 1 instruction which is covered or not.
    +	 *
    +	 * @return the instruction coverage counter
    +	 */
    +	public ICounter getInstructionCounter() {
    +<span class="fc bfc" id="L190" title="All 2 branches covered.">		return coveredBranches.isEmpty() ? CounterImpl.COUNTER_1_0</span>
    +				: CounterImpl.COUNTER_0_1;
    +	}
    +
    +	/**
    +	 * Returns the branch coverage counter of this instruction. Only
    +	 * instructions with at least 2 outgoing edges report branches.
    +	 *
    +	 * @return the branch coverage counter
    +	 */
    +	public ICounter getBranchCounter() {
    +<span class="fc bfc" id="L201" title="All 2 branches covered.">		if (branches &lt; 2) {</span>
    +<span class="fc" id="L202">			return CounterImpl.COUNTER_0_0;</span>
    +		}
    +<span class="fc" id="L204">		final int covered = coveredBranches.cardinality();</span>
    +<span class="fc" id="L205">		return CounterImpl.getInstance(branches - covered, covered);</span>
    +	}
    +
    +}
    +</pre><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.12.202403270442</span>Code Coverage Report for JaCoCo 0.8.12-SNAPSHOT</div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/trunk/coverage/org.jacoco.core/org.jacoco.core.internal.analysis/InstructionsBuilder$Jump.html b/jacoco/trunk/coverage/org.jacoco.core/org.jacoco.core.internal.analysis/InstructionsBuilder$Jump.html
    new file mode 100644
    index 00000000000..916eb54392e
    --- /dev/null
    +++ b/jacoco/trunk/coverage/org.jacoco.core/org.jacoco.core.internal.analysis/InstructionsBuilder$Jump.html
    @@ -0,0 +1 @@
    +<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="en"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../../jacoco-resources/report.gif" type="image/gif"/><title>InstructionsBuilder.Jump</title><script type="text/javascript" src="../../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../../index.html" class="el_report">JaCoCo</a> &gt; <a href="../index.html" class="el_bundle">org.jacoco.core</a> &gt; <a href="index.html" class="el_package">org.jacoco.core.internal.analysis</a> &gt; <span class="el_class">InstructionsBuilder.Jump</span></div><h1>InstructionsBuilder.Jump</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">0 of 21</td><td class="ctr2">100%</td><td class="bar">0 of 0</td><td class="ctr2">n/a</td><td class="ctr1">0</td><td class="ctr2">2</td><td class="ctr1">0</td><td class="ctr2">7</td><td class="ctr1">0</td><td class="ctr2">2</td></tr></tfoot><tbody><tr><td id="a0"><a href="InstructionsBuilder.java.html#L175" class="el_method">InstructionsBuilder.Jump(Instruction, Label, int)</a></td><td class="bar" id="b0"><img src="../../jacoco-resources/greenbar.gif" width="120" height="10" title="12" alt="12"/></td><td class="ctr2" id="c0">100%</td><td class="bar" id="d0"/><td class="ctr2" id="e0">n/a</td><td class="ctr1" id="f0">0</td><td class="ctr2" id="g0">1</td><td class="ctr1" id="h0">0</td><td class="ctr2" id="i0">5</td><td class="ctr1" id="j0">0</td><td class="ctr2" id="k0">1</td></tr><tr><td id="a1"><a href="InstructionsBuilder.java.html#L182" class="el_method">wire()</a></td><td class="bar" id="b1"><img src="../../jacoco-resources/greenbar.gif" width="90" height="10" title="9" alt="9"/></td><td class="ctr2" id="c1">100%</td><td class="bar" id="d1"/><td class="ctr2" id="e1">n/a</td><td class="ctr1" id="f1">0</td><td class="ctr2" id="g1">1</td><td class="ctr1" id="h1">0</td><td class="ctr2" id="i1">2</td><td class="ctr1" id="j1">0</td><td class="ctr2" id="k1">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.12.202403270442</span>Code Coverage Report for JaCoCo 0.8.12-SNAPSHOT</div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/trunk/coverage/org.jacoco.core/org.jacoco.core.internal.analysis/InstructionsBuilder.html b/jacoco/trunk/coverage/org.jacoco.core/org.jacoco.core.internal.analysis/InstructionsBuilder.html
    new file mode 100644
    index 00000000000..6a1bcf06817
    --- /dev/null
    +++ b/jacoco/trunk/coverage/org.jacoco.core/org.jacoco.core.internal.analysis/InstructionsBuilder.html
    @@ -0,0 +1 @@
    +<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="en"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../../jacoco-resources/report.gif" type="image/gif"/><title>InstructionsBuilder</title><script type="text/javascript" src="../../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../../index.html" class="el_report">JaCoCo</a> &gt; <a href="../index.html" class="el_bundle">org.jacoco.core</a> &gt; <a href="index.html" class="el_package">org.jacoco.core.internal.analysis</a> &gt; <span class="el_class">InstructionsBuilder</span></div><h1>InstructionsBuilder</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">0 of 140</td><td class="ctr2">100%</td><td class="bar">0 of 14</td><td class="ctr2">100%</td><td class="ctr1">0</td><td class="ctr2">15</td><td class="ctr1">0</td><td class="ctr2">35</td><td class="ctr1">0</td><td class="ctr2">8</td></tr></tfoot><tbody><tr><td id="a0"><a href="InstructionsBuilder.java.html#L104" class="el_method">addInstruction(AbstractInsnNode)</a></td><td class="bar" id="b0"><img src="../../jacoco-resources/greenbar.gif" width="120" height="10" title="46" alt="46"/></td><td class="ctr2" id="c0">100%</td><td class="bar" id="d0"><img src="../../jacoco-resources/greenbar.gif" width="120" height="10" title="6" alt="6"/></td><td class="ctr2" id="e0">100%</td><td class="ctr1" id="f0">0</td><td class="ctr2" id="g0">4</td><td class="ctr1" id="h0">0</td><td class="ctr2" id="i0">11</td><td class="ctr1" id="j0">0</td><td class="ctr2" id="k0">1</td></tr><tr><td id="a5"><a href="InstructionsBuilder.java.html#L69" class="el_method">InstructionsBuilder(boolean[])</a></td><td class="bar" id="b1"><img src="../../jacoco-resources/greenbar.gif" width="73" height="10" title="28" alt="28"/></td><td class="ctr2" id="c1">100%</td><td class="bar" id="d4"/><td class="ctr2" id="e4">n/a</td><td class="ctr1" id="f1">0</td><td class="ctr2" id="g4">1</td><td class="ctr1" id="h1">0</td><td class="ctr2" id="i1">8</td><td class="ctr1" id="j1">0</td><td class="ctr2" id="k1">1</td></tr><tr><td id="a3"><a href="InstructionsBuilder.java.html#L149" class="el_method">addProbe(int, int)</a></td><td class="bar" id="b2"><img src="../../jacoco-resources/greenbar.gif" width="46" height="10" title="18" alt="18"/></td><td class="ctr2" id="c2">100%</td><td class="bar" id="d1"><img src="../../jacoco-resources/greenbar.gif" width="80" height="10" title="4" alt="4"/></td><td class="ctr2" id="e1">100%</td><td class="ctr1" id="f2">0</td><td class="ctr2" id="g1">3</td><td class="ctr1" id="h2">0</td><td class="ctr2" id="i3">3</td><td class="ctr1" id="j2">0</td><td class="ctr2" id="k2">1</td></tr><tr><td id="a4"><a href="InstructionsBuilder.java.html#L162" class="el_method">getInstructions()</a></td><td class="bar" id="b3"><img src="../../jacoco-resources/greenbar.gif" width="44" height="10" title="17" alt="17"/></td><td class="ctr2" id="c3">100%</td><td class="bar" id="d2"><img src="../../jacoco-resources/greenbar.gif" width="40" height="10" title="2" alt="2"/></td><td class="ctr2" id="e2">100%</td><td class="ctr1" id="f3">0</td><td class="ctr2" id="g2">2</td><td class="ctr1" id="h3">0</td><td class="ctr2" id="i4">3</td><td class="ctr1" id="j3">0</td><td class="ctr2" id="k3">1</td></tr><tr><td id="a1"><a href="InstructionsBuilder.java.html#L137" class="el_method">addJump(Label, int)</a></td><td class="bar" id="b4"><img src="../../jacoco-resources/greenbar.gif" width="31" height="10" title="12" alt="12"/></td><td class="ctr2" id="c4">100%</td><td class="bar" id="d5"/><td class="ctr2" id="e5">n/a</td><td class="ctr1" id="f4">0</td><td class="ctr2" id="g5">1</td><td class="ctr1" id="h4">0</td><td class="ctr2" id="i5">2</td><td class="ctr1" id="j4">0</td><td class="ctr2" id="k4">1</td></tr><tr><td id="a2"><a href="InstructionsBuilder.java.html#L93" class="el_method">addLabel(Label)</a></td><td class="bar" id="b5"><img src="../../jacoco-resources/greenbar.gif" width="28" height="10" title="11" alt="11"/></td><td class="ctr2" id="c5">100%</td><td class="bar" id="d3"><img src="../../jacoco-resources/greenbar.gif" width="40" height="10" title="2" alt="2"/></td><td class="ctr2" id="e3">100%</td><td class="ctr1" id="f5">0</td><td class="ctr2" id="g3">2</td><td class="ctr1" id="h5">0</td><td class="ctr2" id="i2">4</td><td class="ctr1" id="j5">0</td><td class="ctr2" id="k5">1</td></tr><tr><td id="a7"><a href="InstructionsBuilder.java.html#L85" class="el_method">setCurrentLine(int)</a></td><td class="bar" id="b6"><img src="../../jacoco-resources/greenbar.gif" width="10" height="10" title="4" alt="4"/></td><td class="ctr2" id="c6">100%</td><td class="bar" id="d6"/><td class="ctr2" id="e6">n/a</td><td class="ctr1" id="f6">0</td><td class="ctr2" id="g6">1</td><td class="ctr1" id="h6">0</td><td class="ctr2" id="i6">2</td><td class="ctr1" id="j6">0</td><td class="ctr2" id="k6">1</td></tr><tr><td id="a6"><a href="InstructionsBuilder.java.html#L125" class="el_method">noSuccessor()</a></td><td class="bar" id="b7"><img src="../../jacoco-resources/greenbar.gif" width="10" height="10" title="4" alt="4"/></td><td class="ctr2" id="c7">100%</td><td class="bar" id="d7"/><td class="ctr2" id="e7">n/a</td><td class="ctr1" id="f7">0</td><td class="ctr2" id="g7">1</td><td class="ctr1" id="h7">0</td><td class="ctr2" id="i7">2</td><td class="ctr1" id="j7">0</td><td class="ctr2" id="k7">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.12.202403270442</span>Code Coverage Report for JaCoCo 0.8.12-SNAPSHOT</div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/trunk/coverage/org.jacoco.core/org.jacoco.core.internal.analysis/InstructionsBuilder.java.html b/jacoco/trunk/coverage/org.jacoco.core/org.jacoco.core.internal.analysis/InstructionsBuilder.java.html
    new file mode 100644
    index 00000000000..c4a6e606013
    --- /dev/null
    +++ b/jacoco/trunk/coverage/org.jacoco.core/org.jacoco.core.internal.analysis/InstructionsBuilder.java.html
    @@ -0,0 +1,188 @@
    +<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="en"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../../jacoco-resources/report.gif" type="image/gif"/><title>InstructionsBuilder.java</title><link rel="stylesheet" href="../../jacoco-resources/prettify.css" type="text/css"/><script type="text/javascript" src="../../jacoco-resources/prettify.js"></script></head><body onload="window['PR_TAB_WIDTH']=4;prettyPrint()"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../../index.html" class="el_report">JaCoCo</a> &gt; <a href="../index.html" class="el_bundle">org.jacoco.core</a> &gt; <a href="index.source.html" class="el_package">org.jacoco.core.internal.analysis</a> &gt; <span class="el_source">InstructionsBuilder.java</span></div><h1>InstructionsBuilder.java</h1><pre class="source lang-java linenums">/*******************************************************************************
    + * Copyright (c) 2009, 2024 Mountainminds GmbH &amp; Co. KG and Contributors
    + * This program and the accompanying materials are made available under
    + * the terms of the Eclipse Public License 2.0 which is available at
    + * http://www.eclipse.org/legal/epl-2.0
    + *
    + * SPDX-License-Identifier: EPL-2.0
    + *
    + * Contributors:
    + *    Marc R. Hoffmann - initial API and implementation
    + *
    + *******************************************************************************/
    +package org.jacoco.core.internal.analysis;
    +
    +import java.util.ArrayList;
    +import java.util.HashMap;
    +import java.util.List;
    +import java.util.Map;
    +
    +import org.jacoco.core.analysis.ISourceNode;
    +import org.jacoco.core.internal.flow.LabelInfo;
    +import org.objectweb.asm.Label;
    +import org.objectweb.asm.tree.AbstractInsnNode;
    +
    +/**
    + * Stateful builder for the {@link Instruction}s of a method. All instructions
    + * of a method must be added in their original sequence along with additional
    + * information like line numbers. Afterwards the instructions can be obtained
    + * with the &lt;code&gt;getInstructions()&lt;/code&gt; method.
    + */
    +class InstructionsBuilder {
    +
    +	/** Probe array of the class the analyzed method belongs to. */
    +	private final boolean[] probes;
    +
    +	/** The line which belong to subsequently added instructions. */
    +	private int currentLine;
    +
    +	/** The last instruction which has been added. */
    +	private Instruction currentInsn;
    +
    +	/**
    +	 * All instructions of a method mapped from the ASM node to the
    +	 * corresponding {@link Instruction} instance.
    +	 */
    +	private final Map&lt;AbstractInsnNode, Instruction&gt; instructions;
    +
    +	/**
    +	 * The labels which mark the subsequent instructions.
    +	 *
    +	 * Due to ASM issue #315745 there can be more than one label per instruction
    +	 */
    +	private final List&lt;Label&gt; currentLabel;
    +
    +	/**
    +	 * List of all jumps within the control flow. We need to store jumps
    +	 * temporarily as the target {@link Instruction} may not been known yet.
    +	 */
    +	private final List&lt;Jump&gt; jumps;
    +
    +	/**
    +	 * Creates a new builder instance which can be used to analyze a single
    +	 * method.
    +	 *
    +	 * @param probes
    +	 *            probe array of the corresponding class used to determine the
    +	 *            coverage status of every instruction.
    +	 */
    +<span class="fc" id="L69">	InstructionsBuilder(final boolean[] probes) {</span>
    +<span class="fc" id="L70">		this.probes = probes;</span>
    +<span class="fc" id="L71">		this.currentLine = ISourceNode.UNKNOWN_LINE;</span>
    +<span class="fc" id="L72">		this.currentInsn = null;</span>
    +<span class="fc" id="L73">		this.instructions = new HashMap&lt;AbstractInsnNode, Instruction&gt;();</span>
    +<span class="fc" id="L74">		this.currentLabel = new ArrayList&lt;Label&gt;(2);</span>
    +<span class="fc" id="L75">		this.jumps = new ArrayList&lt;Jump&gt;();</span>
    +<span class="fc" id="L76">	}</span>
    +
    +	/**
    +	 * Sets the current source line. All subsequently added instructions will be
    +	 * assigned to this line. If no line is set (e.g. for classes compiled
    +	 * without debug information) {@link ISourceNode#UNKNOWN_LINE} is assigned
    +	 * to the instructions.
    +	 */
    +	void setCurrentLine(final int line) {
    +<span class="fc" id="L85">		currentLine = line;</span>
    +<span class="fc" id="L86">	}</span>
    +
    +	/**
    +	 * Adds a label which applies to the subsequently added instruction. Due to
    +	 * ASM internals multiple {@link Label}s can be added to an instruction.
    +	 */
    +	void addLabel(final Label label) {
    +<span class="fc" id="L93">		currentLabel.add(label);</span>
    +<span class="fc bfc" id="L94" title="All 2 branches covered.">		if (!LabelInfo.isSuccessor(label)) {</span>
    +<span class="fc" id="L95">			noSuccessor();</span>
    +		}
    +<span class="fc" id="L97">	}</span>
    +
    +	/**
    +	 * Adds a new instruction. Instructions are by default linked with the
    +	 * previous instruction unless specified otherwise.
    +	 */
    +	void addInstruction(final AbstractInsnNode node) {
    +<span class="fc" id="L104">		final Instruction insn = new Instruction(currentLine);</span>
    +<span class="fc" id="L105">		final int labelCount = currentLabel.size();</span>
    +<span class="fc bfc" id="L106" title="All 2 branches covered.">		if (labelCount &gt; 0) {</span>
    +<span class="fc bfc" id="L107" title="All 2 branches covered.">			for (int i = labelCount; --i &gt;= 0;) {</span>
    +<span class="fc" id="L108">				LabelInfo.setInstruction(currentLabel.get(i), insn);</span>
    +			}
    +<span class="fc" id="L110">			currentLabel.clear();</span>
    +		}
    +<span class="fc bfc" id="L112" title="All 2 branches covered.">		if (currentInsn != null) {</span>
    +<span class="fc" id="L113">			currentInsn.addBranch(insn, 0);</span>
    +		}
    +<span class="fc" id="L115">		currentInsn = insn;</span>
    +<span class="fc" id="L116">		instructions.put(node, insn);</span>
    +<span class="fc" id="L117">	}</span>
    +
    +	/**
    +	 * Declares that the next instruction will not be a successor of the current
    +	 * instruction. This is the case with an unconditional jump or technically
    +	 * when a probe was inserted before.
    +	 */
    +	void noSuccessor() {
    +<span class="fc" id="L125">		currentInsn = null;</span>
    +<span class="fc" id="L126">	}</span>
    +
    +	/**
    +	 * Adds a jump from the last added instruction.
    +	 *
    +	 * @param target
    +	 *            jump target
    +	 * @param branch
    +	 *            unique branch number
    +	 */
    +	void addJump(final Label target, final int branch) {
    +<span class="fc" id="L137">		jumps.add(new Jump(currentInsn, target, branch));</span>
    +<span class="fc" id="L138">	}</span>
    +
    +	/**
    +	 * Adds a new probe for the last instruction.
    +	 *
    +	 * @param probeId
    +	 *            index in the probe array
    +	 * @param branch
    +	 *            unique branch number for the last instruction
    +	 */
    +	void addProbe(final int probeId, final int branch) {
    +<span class="fc bfc" id="L149" title="All 4 branches covered.">		final boolean executed = probes != null &amp;&amp; probes[probeId];</span>
    +<span class="fc" id="L150">		currentInsn.addBranch(executed, branch);</span>
    +<span class="fc" id="L151">	}</span>
    +
    +	/**
    +	 * Returns the status for all instructions of this method. This method must
    +	 * be called exactly once after the instructions have been added.
    +	 *
    +	 * @return map of ASM instruction nodes to corresponding {@link Instruction}
    +	 *         instances
    +	 */
    +	Map&lt;AbstractInsnNode, Instruction&gt; getInstructions() {
    +		// Wire jumps:
    +<span class="fc bfc" id="L162" title="All 2 branches covered.">		for (final Jump j : jumps) {</span>
    +<span class="fc" id="L163">			j.wire();</span>
    +		}
    +
    +<span class="fc" id="L166">		return instructions;</span>
    +	}
    +
    +	private static class Jump {
    +
    +		private final Instruction source;
    +		private final Label target;
    +		private final int branch;
    +
    +<span class="fc" id="L175">		Jump(final Instruction source, final Label target, final int branch) {</span>
    +<span class="fc" id="L176">			this.source = source;</span>
    +<span class="fc" id="L177">			this.target = target;</span>
    +<span class="fc" id="L178">			this.branch = branch;</span>
    +<span class="fc" id="L179">		}</span>
    +
    +		void wire() {
    +<span class="fc" id="L182">			source.addBranch(LabelInfo.getInstruction(target), branch);</span>
    +<span class="fc" id="L183">		}</span>
    +
    +	}
    +
    +}
    +</pre><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.12.202403270442</span>Code Coverage Report for JaCoCo 0.8.12-SNAPSHOT</div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/trunk/coverage/org.jacoco.core/org.jacoco.core.internal.analysis/LineImpl$Fix.html b/jacoco/trunk/coverage/org.jacoco.core/org.jacoco.core.internal.analysis/LineImpl$Fix.html
    new file mode 100644
    index 00000000000..fb3afdbf33b
    --- /dev/null
    +++ b/jacoco/trunk/coverage/org.jacoco.core/org.jacoco.core.internal.analysis/LineImpl$Fix.html
    @@ -0,0 +1 @@
    +<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="en"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../../jacoco-resources/report.gif" type="image/gif"/><title>LineImpl.Fix</title><script type="text/javascript" src="../../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../../index.html" class="el_report">JaCoCo</a> &gt; <a href="../index.html" class="el_bundle">org.jacoco.core</a> &gt; <a href="index.html" class="el_package">org.jacoco.core.internal.analysis</a> &gt; <span class="el_class">LineImpl.Fix</span></div><h1>LineImpl.Fix</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">0 of 20</td><td class="ctr2">100%</td><td class="bar">0 of 0</td><td class="ctr2">n/a</td><td class="ctr1">0</td><td class="ctr2">2</td><td class="ctr1">0</td><td class="ctr2">3</td><td class="ctr1">0</td><td class="ctr2">2</td></tr></tfoot><tbody><tr><td id="a1"><a href="LineImpl.java.html#L87" class="el_method">LineImpl.Fix(int, int, int, int)</a></td><td class="bar" id="b0"><img src="../../jacoco-resources/greenbar.gif" width="120" height="10" title="10" alt="10"/></td><td class="ctr2" id="c0">100%</td><td class="bar" id="d0"/><td class="ctr2" id="e0">n/a</td><td class="ctr1" id="f0">0</td><td class="ctr2" id="g0">1</td><td class="ctr1" id="h0">0</td><td class="ctr2" id="i0">2</td><td class="ctr1" id="j0">0</td><td class="ctr2" id="k0">1</td></tr><tr><td id="a0"><a href="LineImpl.java.html#L94" class="el_method">increment(ICounter, ICounter)</a></td><td class="bar" id="b1"><img src="../../jacoco-resources/greenbar.gif" width="120" height="10" title="10" alt="10"/></td><td class="ctr2" id="c1">100%</td><td class="bar" id="d1"/><td class="ctr2" id="e1">n/a</td><td class="ctr1" id="f1">0</td><td class="ctr2" id="g1">1</td><td class="ctr1" id="h1">0</td><td class="ctr2" id="i1">1</td><td class="ctr1" id="j1">0</td><td class="ctr2" id="k1">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.12.202403270442</span>Code Coverage Report for JaCoCo 0.8.12-SNAPSHOT</div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/trunk/coverage/org.jacoco.core/org.jacoco.core.internal.analysis/LineImpl$Var.html b/jacoco/trunk/coverage/org.jacoco.core/org.jacoco.core.internal.analysis/LineImpl$Var.html
    new file mode 100644
    index 00000000000..3cedbf0c146
    --- /dev/null
    +++ b/jacoco/trunk/coverage/org.jacoco.core/org.jacoco.core.internal.analysis/LineImpl$Var.html
    @@ -0,0 +1 @@
    +<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="en"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../../jacoco-resources/report.gif" type="image/gif"/><title>LineImpl.Var</title><script type="text/javascript" src="../../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../../index.html" class="el_report">JaCoCo</a> &gt; <a href="../index.html" class="el_bundle">org.jacoco.core</a> &gt; <a href="index.html" class="el_package">org.jacoco.core.internal.analysis</a> &gt; <span class="el_class">LineImpl.Var</span></div><h1>LineImpl.Var</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">0 of 20</td><td class="ctr2">100%</td><td class="bar">0 of 0</td><td class="ctr2">n/a</td><td class="ctr1">0</td><td class="ctr2">2</td><td class="ctr1">0</td><td class="ctr2">5</td><td class="ctr1">0</td><td class="ctr2">2</td></tr></tfoot><tbody><tr><td id="a0"><a href="LineImpl.java.html#L76" class="el_method">increment(ICounter, ICounter)</a></td><td class="bar" id="b0"><img src="../../jacoco-resources/greenbar.gif" width="120" height="10" title="14" alt="14"/></td><td class="ctr2" id="c0">100%</td><td class="bar" id="d0"/><td class="ctr2" id="e0">n/a</td><td class="ctr1" id="f0">0</td><td class="ctr2" id="g0">1</td><td class="ctr1" id="h0">0</td><td class="ctr2" id="i0">3</td><td class="ctr1" id="j0">0</td><td class="ctr2" id="k0">1</td></tr><tr><td id="a1"><a href="LineImpl.java.html#L70" class="el_method">LineImpl.Var(CounterImpl, CounterImpl)</a></td><td class="bar" id="b1"><img src="../../jacoco-resources/greenbar.gif" width="51" height="10" title="6" alt="6"/></td><td class="ctr2" id="c1">100%</td><td class="bar" id="d1"/><td class="ctr2" id="e1">n/a</td><td class="ctr1" id="f1">0</td><td class="ctr2" id="g1">1</td><td class="ctr1" id="h1">0</td><td class="ctr2" id="i1">2</td><td class="ctr1" id="j1">0</td><td class="ctr2" id="k1">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.12.202403270442</span>Code Coverage Report for JaCoCo 0.8.12-SNAPSHOT</div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/trunk/coverage/org.jacoco.core/org.jacoco.core.internal.analysis/LineImpl.html b/jacoco/trunk/coverage/org.jacoco.core/org.jacoco.core.internal.analysis/LineImpl.html
    new file mode 100644
    index 00000000000..e4341903b81
    --- /dev/null
    +++ b/jacoco/trunk/coverage/org.jacoco.core/org.jacoco.core.internal.analysis/LineImpl.html
    @@ -0,0 +1 @@
    +<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="en"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../../jacoco-resources/report.gif" type="image/gif"/><title>LineImpl</title><script type="text/javascript" src="../../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../../index.html" class="el_report">JaCoCo</a> &gt; <a href="../index.html" class="el_bundle">org.jacoco.core</a> &gt; <a href="index.html" class="el_package">org.jacoco.core.internal.analysis</a> &gt; <span class="el_class">LineImpl</span></div><h1>LineImpl</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">0 of 176</td><td class="ctr2">100%</td><td class="bar">0 of 22</td><td class="ctr2">100%</td><td class="ctr1">0</td><td class="ctr2">19</td><td class="ctr1">0</td><td class="ctr2">29</td><td class="ctr1">0</td><td class="ctr2">8</td></tr></tfoot><tbody><tr><td id="a7"><a href="LineImpl.java.html#L29" class="el_method">static {...}</a></td><td class="bar" id="b0"><img src="../../jacoco-resources/greenbar.gif" width="120" height="10" title="79" alt="79"/></td><td class="ctr2" id="c0">100%</td><td class="bar" id="d0"><img src="../../jacoco-resources/greenbar.gif" width="120" height="10" title="8" alt="8"/></td><td class="ctr2" id="e0">100%</td><td class="ctr1" id="f0">0</td><td class="ctr2" id="g0">5</td><td class="ctr1" id="h0">0</td><td class="ctr2" id="i0">10</td><td class="ctr1" id="j0">0</td><td class="ctr2" id="k0">1</td></tr><tr><td id="a2"><a href="LineImpl.java.html#L54" class="el_method">getInstance(CounterImpl, CounterImpl)</a></td><td class="bar" id="b1"><img src="../../jacoco-resources/greenbar.gif" width="60" height="10" title="40" alt="40"/></td><td class="ctr2" id="c1">100%</td><td class="bar" id="d1"><img src="../../jacoco-resources/greenbar.gif" width="120" height="10" title="8" alt="8"/></td><td class="ctr2" id="e1">100%</td><td class="ctr1" id="f1">0</td><td class="ctr2" id="g1">5</td><td class="ctr1" id="h1">0</td><td class="ctr2" id="i1">7</td><td class="ctr1" id="j1">0</td><td class="ctr2" id="k1">1</td></tr><tr><td id="a0"><a href="LineImpl.java.html#L144" class="el_method">equals(Object)</a></td><td class="bar" id="b2"><img src="../../jacoco-resources/greenbar.gif" width="36" height="10" title="24" alt="24"/></td><td class="ctr2" id="c2">100%</td><td class="bar" id="d2"><img src="../../jacoco-resources/greenbar.gif" width="90" height="10" title="6" alt="6"/></td><td class="ctr2" id="e2">100%</td><td class="ctr1" id="f2">0</td><td class="ctr2" id="g2">4</td><td class="ctr1" id="h2">0</td><td class="ctr2" id="i2">4</td><td class="ctr1" id="j2">0</td><td class="ctr2" id="k2">1</td></tr><tr><td id="a5"><a href="LineImpl.java.html#L139" class="el_method">hashCode()</a></td><td class="bar" id="b3"><img src="../../jacoco-resources/greenbar.gif" width="15" height="10" title="10" alt="10"/></td><td class="ctr2" id="c3">100%</td><td class="bar" id="d3"/><td class="ctr2" id="e3">n/a</td><td class="ctr1" id="f3">0</td><td class="ctr2" id="g3">1</td><td class="ctr1" id="h3">0</td><td class="ctr2" id="i4">1</td><td class="ctr1" id="j3">0</td><td class="ctr2" id="k3">1</td></tr><tr><td id="a6"><a href="LineImpl.java.html#L106" class="el_method">LineImpl(CounterImpl, CounterImpl)</a></td><td class="bar" id="b4"><img src="../../jacoco-resources/greenbar.gif" width="13" height="10" title="9" alt="9"/></td><td class="ctr2" id="c4">100%</td><td class="bar" id="d4"/><td class="ctr2" id="e4">n/a</td><td class="ctr1" id="f4">0</td><td class="ctr2" id="g4">1</td><td class="ctr1" id="h4">0</td><td class="ctr2" id="i3">4</td><td class="ctr1" id="j4">0</td><td class="ctr2" id="k4">1</td></tr><tr><td id="a4"><a href="LineImpl.java.html#L126" class="el_method">getStatus()</a></td><td class="bar" id="b5"><img src="../../jacoco-resources/greenbar.gif" width="12" height="10" title="8" alt="8"/></td><td class="ctr2" id="c5">100%</td><td class="bar" id="d5"/><td class="ctr2" id="e5">n/a</td><td class="ctr1" id="f5">0</td><td class="ctr2" id="g5">1</td><td class="ctr1" id="h5">0</td><td class="ctr2" id="i5">1</td><td class="ctr1" id="j5">0</td><td class="ctr2" id="k5">1</td></tr><tr><td id="a3"><a href="LineImpl.java.html#L130" class="el_method">getInstructionCounter()</a></td><td class="bar" id="b6"><img src="../../jacoco-resources/greenbar.gif" width="4" height="10" title="3" alt="3"/></td><td class="ctr2" id="c6">100%</td><td class="bar" id="d6"/><td class="ctr2" id="e6">n/a</td><td class="ctr1" id="f6">0</td><td class="ctr2" id="g6">1</td><td class="ctr1" id="h6">0</td><td class="ctr2" id="i6">1</td><td class="ctr1" id="j6">0</td><td class="ctr2" id="k6">1</td></tr><tr><td id="a1"><a href="LineImpl.java.html#L134" class="el_method">getBranchCounter()</a></td><td class="bar" id="b7"><img src="../../jacoco-resources/greenbar.gif" width="4" height="10" title="3" alt="3"/></td><td class="ctr2" id="c7">100%</td><td class="bar" id="d7"/><td class="ctr2" id="e7">n/a</td><td class="ctr1" id="f7">0</td><td class="ctr2" id="g7">1</td><td class="ctr1" id="h7">0</td><td class="ctr2" id="i7">1</td><td class="ctr1" id="j7">0</td><td class="ctr2" id="k7">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.12.202403270442</span>Code Coverage Report for JaCoCo 0.8.12-SNAPSHOT</div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/trunk/coverage/org.jacoco.core/org.jacoco.core.internal.analysis/LineImpl.java.html b/jacoco/trunk/coverage/org.jacoco.core/org.jacoco.core.internal.analysis/LineImpl.java.html
    new file mode 100644
    index 00000000000..17d2e38db80
    --- /dev/null
    +++ b/jacoco/trunk/coverage/org.jacoco.core/org.jacoco.core.internal.analysis/LineImpl.java.html
    @@ -0,0 +1,153 @@
    +<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="en"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../../jacoco-resources/report.gif" type="image/gif"/><title>LineImpl.java</title><link rel="stylesheet" href="../../jacoco-resources/prettify.css" type="text/css"/><script type="text/javascript" src="../../jacoco-resources/prettify.js"></script></head><body onload="window['PR_TAB_WIDTH']=4;prettyPrint()"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../../index.html" class="el_report">JaCoCo</a> &gt; <a href="../index.html" class="el_bundle">org.jacoco.core</a> &gt; <a href="index.source.html" class="el_package">org.jacoco.core.internal.analysis</a> &gt; <span class="el_source">LineImpl.java</span></div><h1>LineImpl.java</h1><pre class="source lang-java linenums">/*******************************************************************************
    + * Copyright (c) 2009, 2024 Mountainminds GmbH &amp; Co. KG and Contributors
    + * This program and the accompanying materials are made available under
    + * the terms of the Eclipse Public License 2.0 which is available at
    + * http://www.eclipse.org/legal/epl-2.0
    + *
    + * SPDX-License-Identifier: EPL-2.0
    + *
    + * Contributors:
    + *    Marc R. Hoffmann - initial API and implementation
    + *
    + *******************************************************************************/
    +package org.jacoco.core.internal.analysis;
    +
    +import org.jacoco.core.analysis.ICounter;
    +import org.jacoco.core.analysis.ILine;
    +
    +/**
    + * Implementation of {@link ILine}.
    + */
    +public abstract class LineImpl implements ILine {
    +
    +	/** Max instruction counter value for which singletons are created */
    +	private static final int SINGLETON_INS_LIMIT = 8;
    +
    +	/** Max branch counter value for which singletons are created */
    +	private static final int SINGLETON_BRA_LIMIT = 4;
    +
    +<span class="fc" id="L29">	private static final LineImpl[][][][] SINGLETONS = new LineImpl[SINGLETON_INS_LIMIT</span>
    +			+ 1][][][];
    +
    +	static {
    +<span class="fc bfc" id="L33" title="All 2 branches covered.">		for (int i = 0; i &lt;= SINGLETON_INS_LIMIT; i++) {</span>
    +<span class="fc" id="L34">			SINGLETONS[i] = new LineImpl[SINGLETON_INS_LIMIT + 1][][];</span>
    +<span class="fc bfc" id="L35" title="All 2 branches covered.">			for (int j = 0; j &lt;= SINGLETON_INS_LIMIT; j++) {</span>
    +<span class="fc" id="L36">				SINGLETONS[i][j] = new LineImpl[SINGLETON_BRA_LIMIT + 1][];</span>
    +<span class="fc bfc" id="L37" title="All 2 branches covered.">				for (int k = 0; k &lt;= SINGLETON_BRA_LIMIT; k++) {</span>
    +<span class="fc" id="L38">					SINGLETONS[i][j][k] = new LineImpl[SINGLETON_BRA_LIMIT + 1];</span>
    +<span class="fc bfc" id="L39" title="All 2 branches covered.">					for (int l = 0; l &lt;= SINGLETON_BRA_LIMIT; l++) {</span>
    +<span class="fc" id="L40">						SINGLETONS[i][j][k][l] = new Fix(i, j, k, l);</span>
    +					}
    +				}
    +			}
    +		}
    +	}
    +
    +	/**
    +	 * Empty line without instructions or branches.
    +	 */
    +<span class="fc" id="L50">	public static final LineImpl EMPTY = SINGLETONS[0][0][0][0];</span>
    +
    +	private static LineImpl getInstance(final CounterImpl instructions,
    +			final CounterImpl branches) {
    +<span class="fc" id="L54">		final int im = instructions.getMissedCount();</span>
    +<span class="fc" id="L55">		final int ic = instructions.getCoveredCount();</span>
    +<span class="fc" id="L56">		final int bm = branches.getMissedCount();</span>
    +<span class="fc" id="L57">		final int bc = branches.getCoveredCount();</span>
    +<span class="fc bfc" id="L58" title="All 8 branches covered.">		if (im &lt;= SINGLETON_INS_LIMIT &amp;&amp; ic &lt;= SINGLETON_INS_LIMIT</span>
    +				&amp;&amp; bm &lt;= SINGLETON_BRA_LIMIT &amp;&amp; bc &lt;= SINGLETON_BRA_LIMIT) {
    +<span class="fc" id="L60">			return SINGLETONS[im][ic][bm][bc];</span>
    +		}
    +<span class="fc" id="L62">		return new Var(instructions, branches);</span>
    +	}
    +
    +	/**
    +	 * Mutable version.
    +	 */
    +	private static final class Var extends LineImpl {
    +		Var(final CounterImpl instructions, final CounterImpl branches) {
    +<span class="fc" id="L70">			super(instructions, branches);</span>
    +<span class="fc" id="L71">		}</span>
    +
    +		@Override
    +		public LineImpl increment(final ICounter instructions,
    +				final ICounter branches) {
    +<span class="fc" id="L76">			this.instructions = this.instructions.increment(instructions);</span>
    +<span class="fc" id="L77">			this.branches = this.branches.increment(branches);</span>
    +<span class="fc" id="L78">			return this;</span>
    +		}
    +	}
    +
    +	/**
    +	 * Immutable version.
    +	 */
    +	private static final class Fix extends LineImpl {
    +		public Fix(final int im, final int ic, final int bm, final int bc) {
    +<span class="fc" id="L87">			super(CounterImpl.getInstance(im, ic),</span>
    +					CounterImpl.getInstance(bm, bc));
    +<span class="fc" id="L89">		}</span>
    +
    +		@Override
    +		public LineImpl increment(final ICounter instructions,
    +				final ICounter branches) {
    +<span class="fc" id="L94">			return getInstance(this.instructions.increment(instructions),</span>
    +					this.branches.increment(branches));
    +		}
    +	}
    +
    +	/** instruction counter */
    +	protected CounterImpl instructions;
    +
    +	/** branch counter */
    +	protected CounterImpl branches;
    +
    +	private LineImpl(final CounterImpl instructions,
    +<span class="fc" id="L106">			final CounterImpl branches) {</span>
    +<span class="fc" id="L107">		this.instructions = instructions;</span>
    +<span class="fc" id="L108">		this.branches = branches;</span>
    +<span class="fc" id="L109">	}</span>
    +
    +	/**
    +	 * Adds the given counters to this line.
    +	 *
    +	 * @param instructions
    +	 *            instructions to add
    +	 * @param branches
    +	 *            branches to add
    +	 * @return instance with new counter values
    +	 */
    +	public abstract LineImpl increment(final ICounter instructions,
    +			final ICounter branches);
    +
    +	// === ILine implementation ===
    +
    +	public int getStatus() {
    +<span class="fc" id="L126">		return instructions.getStatus() | branches.getStatus();</span>
    +	}
    +
    +	public ICounter getInstructionCounter() {
    +<span class="fc" id="L130">		return instructions;</span>
    +	}
    +
    +	public ICounter getBranchCounter() {
    +<span class="fc" id="L134">		return branches;</span>
    +	}
    +
    +	@Override
    +	public int hashCode() {
    +<span class="fc" id="L139">		return 23 * instructions.hashCode() ^ branches.hashCode();</span>
    +	}
    +
    +	@Override
    +	public boolean equals(final Object obj) {
    +<span class="fc bfc" id="L144" title="All 2 branches covered.">		if (obj instanceof ILine) {</span>
    +<span class="fc" id="L145">			final ILine that = (ILine) obj;</span>
    +<span class="fc bfc" id="L146" title="All 4 branches covered.">			return this.instructions.equals(that.getInstructionCounter())</span>
    +					&amp;&amp; this.branches.equals(that.getBranchCounter());
    +		}
    +<span class="fc" id="L149">		return false;</span>
    +	}
    +
    +}
    +</pre><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.12.202403270442</span>Code Coverage Report for JaCoCo 0.8.12-SNAPSHOT</div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/trunk/coverage/org.jacoco.core/org.jacoco.core.internal.analysis/MethodAnalyzer.html b/jacoco/trunk/coverage/org.jacoco.core/org.jacoco.core.internal.analysis/MethodAnalyzer.html
    new file mode 100644
    index 00000000000..7e89c55d7e6
    --- /dev/null
    +++ b/jacoco/trunk/coverage/org.jacoco.core/org.jacoco.core.internal.analysis/MethodAnalyzer.html
    @@ -0,0 +1 @@
    +<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="en"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../../jacoco-resources/report.gif" type="image/gif"/><title>MethodAnalyzer</title><script type="text/javascript" src="../../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../../index.html" class="el_report">JaCoCo</a> &gt; <a href="../index.html" class="el_bundle">org.jacoco.core</a> &gt; <a href="index.html" class="el_package">org.jacoco.core.internal.analysis</a> &gt; <span class="el_class">MethodAnalyzer</span></div><h1>MethodAnalyzer</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">17 of 280</td><td class="ctr2">93%</td><td class="bar">0 of 14</td><td class="ctr2">100%</td><td class="ctr1">3</td><td class="ctr2">32</td><td class="ctr1">6</td><td class="ctr2">82</td><td class="ctr1">3</td><td class="ctr2">25</td></tr></tfoot><tbody><tr><td id="a7"><a href="MethodAnalyzer.java.html#L102" class="el_method">visitInvokeDynamicInsn(String, String, Handle, Object[])</a></td><td class="bar" id="b0"><img src="../../jacoco-resources/redbar.gif" width="16" height="10" title="6" alt="6"/></td><td class="ctr2" id="c22">0%</td><td class="bar" id="d4"/><td class="ctr2" id="e4">n/a</td><td class="ctr1" id="f0">1</td><td class="ctr2" id="g4">1</td><td class="ctr1" id="h0">2</td><td class="ctr2" id="i9">2</td><td class="ctr1" id="j0">1</td><td class="ctr2" id="k0">1</td></tr><tr><td id="a16"><a href="MethodAnalyzer.java.html#L150" class="el_method">visitMultiANewArrayInsn(String, int)</a></td><td class="bar" id="b1"><img src="../../jacoco-resources/redbar.gif" width="16" height="10" title="6" alt="6"/></td><td class="ctr2" id="c23">0%</td><td class="bar" id="d5"/><td class="ctr2" id="e5">n/a</td><td class="ctr1" id="f1">1</td><td class="ctr2" id="g5">1</td><td class="ctr1" id="h1">2</td><td class="ctr2" id="i10">2</td><td class="ctr1" id="j1">1</td><td class="ctr2" id="k1">1</td></tr><tr><td id="a14"><a href="MethodAnalyzer.java.html#L181" class="el_method">visitLookupSwitchInsnWithProbes(Label, int[], Label[], IFrame)</a></td><td class="bar" id="b2"><img src="../../jacoco-resources/redbar.gif" width="13" height="10" title="5" alt="5"/></td><td class="ctr2" id="c24">0%</td><td class="bar" id="d6"/><td class="ctr2" id="e6">n/a</td><td class="ctr1" id="f2">1</td><td class="ctr2" id="g6">1</td><td class="ctr1" id="h2">2</td><td class="ctr2" id="i11">2</td><td class="ctr1" id="j2">1</td><td class="ctr2" id="k2">1</td></tr><tr><td id="a18"><a href="MethodAnalyzer.java.html#L134" class="el_method">visitSwitchInsn(Label, Label[])</a></td><td class="bar" id="b3"><img src="../../jacoco-resources/greenbar.gif" width="120" height="10" title="44" alt="44"/></td><td class="ctr2" id="c0">100%</td><td class="bar" id="d0"><img src="../../jacoco-resources/greenbar.gif" width="120" height="10" title="4" alt="4"/></td><td class="ctr2" id="e0">100%</td><td class="ctr1" id="f3">0</td><td class="ctr2" id="g0">3</td><td class="ctr1" id="h3">0</td><td class="ctr2" id="i0">11</td><td class="ctr1" id="j3">0</td><td class="ctr2" id="k3">1</td></tr><tr><td id="a0"><a href="MethodAnalyzer.java.html#L46" class="el_method">accept(MethodNode, MethodVisitor)</a></td><td class="bar" id="b4"><img src="../../jacoco-resources/greenbar.gif" width="103" height="10" title="38" alt="38"/></td><td class="ctr2" id="c1">100%</td><td class="bar" id="d1"><img src="../../jacoco-resources/greenbar.gif" width="120" height="10" title="4" alt="4"/></td><td class="ctr2" id="e1">100%</td><td class="ctr1" id="f4">0</td><td class="ctr2" id="g1">3</td><td class="ctr1" id="h4">0</td><td class="ctr2" id="i2">8</td><td class="ctr1" id="j4">0</td><td class="ctr2" id="k4">1</td></tr><tr><td id="a19"><a href="MethodAnalyzer.java.html#L186" class="el_method">visitSwitchInsnWithProbes(Label, Label[])</a></td><td class="bar" id="b5"><img src="../../jacoco-resources/greenbar.gif" width="100" height="10" title="37" alt="37"/></td><td class="ctr2" id="c2">100%</td><td class="bar" id="d3"><img src="../../jacoco-resources/greenbar.gif" width="60" height="10" title="2" alt="2"/></td><td class="ctr2" id="e2">100%</td><td class="ctr1" id="f5">0</td><td class="ctr2" id="g3">2</td><td class="ctr1" id="h5">0</td><td class="ctr2" id="i1">9</td><td class="ctr1" id="j5">0</td><td class="ctr2" id="k5">1</td></tr><tr><td id="a20"><a href="MethodAnalyzer.java.html#L198" class="el_method">visitSwitchTarget(Label, int)</a></td><td class="bar" id="b6"><img src="../../jacoco-resources/greenbar.gif" width="62" height="10" title="23" alt="23"/></td><td class="ctr2" id="c3">100%</td><td class="bar" id="d2"><img src="../../jacoco-resources/greenbar.gif" width="120" height="10" title="4" alt="4"/></td><td class="ctr2" id="e3">100%</td><td class="ctr1" id="f6">0</td><td class="ctr2" id="g2">3</td><td class="ctr1" id="h6">0</td><td class="ctr2" id="i3">7</td><td class="ctr1" id="j6">0</td><td class="ctr2" id="k6">1</td></tr><tr><td id="a8"><a href="MethodAnalyzer.java.html#L107" class="el_method">visitJumpInsn(int, Label)</a></td><td class="bar" id="b7"><img src="../../jacoco-resources/greenbar.gif" width="30" height="10" title="11" alt="11"/></td><td class="ctr2" id="c4">100%</td><td class="bar" id="d7"/><td class="ctr2" id="e7">n/a</td><td class="ctr1" id="f7">0</td><td class="ctr2" id="g7">1</td><td class="ctr1" id="h7">0</td><td class="ctr2" id="i4">3</td><td class="ctr1" id="j7">0</td><td class="ctr2" id="k7">1</td></tr><tr><td id="a9"><a href="MethodAnalyzer.java.html#L162" class="el_method">visitJumpInsnWithProbe(int, Label, int, IFrame)</a></td><td class="bar" id="b8"><img src="../../jacoco-resources/greenbar.gif" width="30" height="10" title="11" alt="11"/></td><td class="ctr2" id="c5">100%</td><td class="bar" id="d8"/><td class="ctr2" id="e8">n/a</td><td class="ctr1" id="f8">0</td><td class="ctr2" id="g8">1</td><td class="ctr1" id="h8">0</td><td class="ctr2" id="i5">3</td><td class="ctr1" id="j8">0</td><td class="ctr2" id="k8">1</td></tr><tr><td id="a5"><a href="MethodAnalyzer.java.html#L168" class="el_method">visitInsnWithProbe(int, int)</a></td><td class="bar" id="b9"><img src="../../jacoco-resources/greenbar.gif" width="30" height="10" title="11" alt="11"/></td><td class="ctr2" id="c6">100%</td><td class="bar" id="d9"/><td class="ctr2" id="e9">n/a</td><td class="ctr1" id="f9">0</td><td class="ctr2" id="g9">1</td><td class="ctr1" id="h9">0</td><td class="ctr2" id="i6">3</td><td class="ctr1" id="j9">0</td><td class="ctr2" id="k9">1</td></tr><tr><td id="a17"><a href="MethodAnalyzer.java.html#L155" class="el_method">visitProbe(int)</a></td><td class="bar" id="b10"><img src="../../jacoco-resources/greenbar.gif" width="24" height="10" title="9" alt="9"/></td><td class="ctr2" id="c7">100%</td><td class="bar" id="d10"/><td class="ctr2" id="e10">n/a</td><td class="ctr1" id="f10">0</td><td class="ctr2" id="g10">1</td><td class="ctr1" id="h10">0</td><td class="ctr2" id="i7">3</td><td class="ctr1" id="j10">0</td><td class="ctr2" id="k10">1</td></tr><tr><td id="a1"><a href="MethodAnalyzer.java.html#L39" class="el_method">MethodAnalyzer(InstructionsBuilder)</a></td><td class="bar" id="b11"><img src="../../jacoco-resources/greenbar.gif" width="16" height="10" title="6" alt="6"/></td><td class="ctr2" id="c8">100%</td><td class="bar" id="d11"/><td class="ctr2" id="e11">n/a</td><td class="ctr1" id="f11">0</td><td class="ctr2" id="g11">1</td><td class="ctr1" id="h11">0</td><td class="ctr2" id="i8">3</td><td class="ctr1" id="j11">0</td><td class="ctr2" id="k11">1</td></tr><tr><td id="a4"><a href="MethodAnalyzer.java.html#L69" class="el_method">visitInsn(int)</a></td><td class="bar" id="b12"><img src="../../jacoco-resources/greenbar.gif" width="16" height="10" title="6" alt="6"/></td><td class="ctr2" id="c9">100%</td><td class="bar" id="d12"/><td class="ctr2" id="e12">n/a</td><td class="ctr1" id="f12">0</td><td class="ctr2" id="g12">1</td><td class="ctr1" id="h12">0</td><td class="ctr2" id="i12">2</td><td class="ctr1" id="j12">0</td><td class="ctr2" id="k12">1</td></tr><tr><td id="a6"><a href="MethodAnalyzer.java.html#L74" class="el_method">visitIntInsn(int, int)</a></td><td class="bar" id="b13"><img src="../../jacoco-resources/greenbar.gif" width="16" height="10" title="6" alt="6"/></td><td class="ctr2" id="c10">100%</td><td class="bar" id="d13"/><td class="ctr2" id="e13">n/a</td><td class="ctr1" id="f13">0</td><td class="ctr2" id="g13">1</td><td class="ctr1" id="h13">0</td><td class="ctr2" id="i13">2</td><td class="ctr1" id="j13">0</td><td class="ctr2" id="k13">1</td></tr><tr><td id="a24"><a href="MethodAnalyzer.java.html#L79" class="el_method">visitVarInsn(int, int)</a></td><td class="bar" id="b14"><img src="../../jacoco-resources/greenbar.gif" width="16" height="10" title="6" alt="6"/></td><td class="ctr2" id="c11">100%</td><td class="bar" id="d14"/><td class="ctr2" id="e14">n/a</td><td class="ctr1" id="f14">0</td><td class="ctr2" id="g14">1</td><td class="ctr1" id="h14">0</td><td class="ctr2" id="i14">2</td><td class="ctr1" id="j14">0</td><td class="ctr2" id="k14">1</td></tr><tr><td id="a23"><a href="MethodAnalyzer.java.html#L84" class="el_method">visitTypeInsn(int, String)</a></td><td class="bar" id="b15"><img src="../../jacoco-resources/greenbar.gif" width="16" height="10" title="6" alt="6"/></td><td class="ctr2" id="c12">100%</td><td class="bar" id="d15"/><td class="ctr2" id="e15">n/a</td><td class="ctr1" id="f15">0</td><td class="ctr2" id="g15">1</td><td class="ctr1" id="h15">0</td><td class="ctr2" id="i15">2</td><td class="ctr1" id="j15">0</td><td class="ctr2" id="k15">1</td></tr><tr><td id="a2"><a href="MethodAnalyzer.java.html#L90" class="el_method">visitFieldInsn(int, String, String, String)</a></td><td class="bar" id="b16"><img src="../../jacoco-resources/greenbar.gif" width="16" height="10" title="6" alt="6"/></td><td class="ctr2" id="c13">100%</td><td class="bar" id="d16"/><td class="ctr2" id="e16">n/a</td><td class="ctr1" id="f16">0</td><td class="ctr2" id="g16">1</td><td class="ctr1" id="h16">0</td><td class="ctr2" id="i16">2</td><td class="ctr1" id="j16">0</td><td class="ctr2" id="k16">1</td></tr><tr><td id="a15"><a href="MethodAnalyzer.java.html#L96" class="el_method">visitMethodInsn(int, String, String, String, boolean)</a></td><td class="bar" id="b17"><img src="../../jacoco-resources/greenbar.gif" width="16" height="10" title="6" alt="6"/></td><td class="ctr2" id="c14">100%</td><td class="bar" id="d17"/><td class="ctr2" id="e17">n/a</td><td class="ctr1" id="f17">0</td><td class="ctr2" id="g17">1</td><td class="ctr1" id="h17">0</td><td class="ctr2" id="i17">2</td><td class="ctr1" id="j17">0</td><td class="ctr2" id="k17">1</td></tr><tr><td id="a11"><a href="MethodAnalyzer.java.html#L113" class="el_method">visitLdcInsn(Object)</a></td><td class="bar" id="b18"><img src="../../jacoco-resources/greenbar.gif" width="16" height="10" title="6" alt="6"/></td><td class="ctr2" id="c15">100%</td><td class="bar" id="d18"/><td class="ctr2" id="e18">n/a</td><td class="ctr1" id="f18">0</td><td class="ctr2" id="g18">1</td><td class="ctr1" id="h18">0</td><td class="ctr2" id="i18">2</td><td class="ctr1" id="j18">0</td><td class="ctr2" id="k18">1</td></tr><tr><td id="a3"><a href="MethodAnalyzer.java.html#L118" class="el_method">visitIincInsn(int, int)</a></td><td class="bar" id="b19"><img src="../../jacoco-resources/greenbar.gif" width="16" height="10" title="6" alt="6"/></td><td class="ctr2" id="c16">100%</td><td class="bar" id="d19"/><td class="ctr2" id="e19">n/a</td><td class="ctr1" id="f19">0</td><td class="ctr2" id="g19">1</td><td class="ctr1" id="h19">0</td><td class="ctr2" id="i19">2</td><td class="ctr1" id="j19">0</td><td class="ctr2" id="k19">1</td></tr><tr><td id="a10"><a href="MethodAnalyzer.java.html#L59" class="el_method">visitLabel(Label)</a></td><td class="bar" id="b20"><img src="../../jacoco-resources/greenbar.gif" width="13" height="10" title="5" alt="5"/></td><td class="ctr2" id="c17">100%</td><td class="bar" id="d20"/><td class="ctr2" id="e20">n/a</td><td class="ctr1" id="f20">0</td><td class="ctr2" id="g20">1</td><td class="ctr1" id="h20">0</td><td class="ctr2" id="i20">2</td><td class="ctr1" id="j20">0</td><td class="ctr2" id="k20">1</td></tr><tr><td id="a12"><a href="MethodAnalyzer.java.html#L64" class="el_method">visitLineNumber(int, Label)</a></td><td class="bar" id="b21"><img src="../../jacoco-resources/greenbar.gif" width="13" height="10" title="5" alt="5"/></td><td class="ctr2" id="c18">100%</td><td class="bar" id="d21"/><td class="ctr2" id="e21">n/a</td><td class="ctr1" id="f21">0</td><td class="ctr2" id="g21">1</td><td class="ctr1" id="h21">0</td><td class="ctr2" id="i21">2</td><td class="ctr1" id="j21">0</td><td class="ctr2" id="k21">1</td></tr><tr><td id="a21"><a href="MethodAnalyzer.java.html#L124" class="el_method">visitTableSwitchInsn(int, int, Label, Label[])</a></td><td class="bar" id="b22"><img src="../../jacoco-resources/greenbar.gif" width="13" height="10" title="5" alt="5"/></td><td class="ctr2" id="c19">100%</td><td class="bar" id="d22"/><td class="ctr2" id="e22">n/a</td><td class="ctr1" id="f22">0</td><td class="ctr2" id="g22">1</td><td class="ctr1" id="h22">0</td><td class="ctr2" id="i22">2</td><td class="ctr1" id="j22">0</td><td class="ctr2" id="k22">1</td></tr><tr><td id="a13"><a href="MethodAnalyzer.java.html#L130" class="el_method">visitLookupSwitchInsn(Label, int[], Label[])</a></td><td class="bar" id="b23"><img src="../../jacoco-resources/greenbar.gif" width="13" height="10" title="5" alt="5"/></td><td class="ctr2" id="c20">100%</td><td class="bar" id="d23"/><td class="ctr2" id="e23">n/a</td><td class="ctr1" id="f23">0</td><td class="ctr2" id="g23">1</td><td class="ctr1" id="h23">0</td><td class="ctr2" id="i23">2</td><td class="ctr1" id="j23">0</td><td class="ctr2" id="k23">1</td></tr><tr><td id="a22"><a href="MethodAnalyzer.java.html#L175" class="el_method">visitTableSwitchInsnWithProbes(int, int, Label, Label[], IFrame)</a></td><td class="bar" id="b24"><img src="../../jacoco-resources/greenbar.gif" width="13" height="10" title="5" alt="5"/></td><td class="ctr2" id="c21">100%</td><td class="bar" id="d24"/><td class="ctr2" id="e24">n/a</td><td class="ctr1" id="f24">0</td><td class="ctr2" id="g24">1</td><td class="ctr1" id="h24">0</td><td class="ctr2" id="i24">2</td><td class="ctr1" id="j24">0</td><td class="ctr2" id="k24">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.12.202403270442</span>Code Coverage Report for JaCoCo 0.8.12-SNAPSHOT</div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/trunk/coverage/org.jacoco.core/org.jacoco.core.internal.analysis/MethodAnalyzer.java.html b/jacoco/trunk/coverage/org.jacoco.core/org.jacoco.core.internal.analysis/MethodAnalyzer.java.html
    new file mode 100644
    index 00000000000..f8d2e34e7cf
    --- /dev/null
    +++ b/jacoco/trunk/coverage/org.jacoco.core/org.jacoco.core.internal.analysis/MethodAnalyzer.java.html
    @@ -0,0 +1,210 @@
    +<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="en"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../../jacoco-resources/report.gif" type="image/gif"/><title>MethodAnalyzer.java</title><link rel="stylesheet" href="../../jacoco-resources/prettify.css" type="text/css"/><script type="text/javascript" src="../../jacoco-resources/prettify.js"></script></head><body onload="window['PR_TAB_WIDTH']=4;prettyPrint()"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../../index.html" class="el_report">JaCoCo</a> &gt; <a href="../index.html" class="el_bundle">org.jacoco.core</a> &gt; <a href="index.source.html" class="el_package">org.jacoco.core.internal.analysis</a> &gt; <span class="el_source">MethodAnalyzer.java</span></div><h1>MethodAnalyzer.java</h1><pre class="source lang-java linenums">/*******************************************************************************
    + * Copyright (c) 2009, 2024 Mountainminds GmbH &amp; Co. KG and Contributors
    + * This program and the accompanying materials are made available under
    + * the terms of the Eclipse Public License 2.0 which is available at
    + * http://www.eclipse.org/legal/epl-2.0
    + *
    + * SPDX-License-Identifier: EPL-2.0
    + *
    + * Contributors:
    + *    Marc R. Hoffmann - initial API and implementation
    + *
    + *******************************************************************************/
    +package org.jacoco.core.internal.analysis;
    +
    +import org.jacoco.core.internal.flow.IFrame;
    +import org.jacoco.core.internal.flow.LabelInfo;
    +import org.jacoco.core.internal.flow.MethodProbesVisitor;
    +import org.objectweb.asm.Handle;
    +import org.objectweb.asm.Label;
    +import org.objectweb.asm.MethodVisitor;
    +import org.objectweb.asm.tree.AbstractInsnNode;
    +import org.objectweb.asm.tree.MethodNode;
    +import org.objectweb.asm.tree.TryCatchBlockNode;
    +
    +/**
    + * A {@link MethodProbesVisitor} that builds the {@link Instruction}s of a
    + * method to calculate the detailed execution status.
    + */
    +public class MethodAnalyzer extends MethodProbesVisitor {
    +
    +	private final InstructionsBuilder builder;
    +
    +	/** Current node of the ASM tree API */
    +	private AbstractInsnNode currentNode;
    +
    +	/**
    +	 * New instance that uses the given builder.
    +	 */
    +<span class="fc" id="L39">	MethodAnalyzer(final InstructionsBuilder builder) {</span>
    +<span class="fc" id="L40">		this.builder = builder;</span>
    +<span class="fc" id="L41">	}</span>
    +
    +	@Override
    +	public void accept(final MethodNode methodNode,
    +			final MethodVisitor methodVisitor) {
    +<span class="fc" id="L46">		methodVisitor.visitCode();</span>
    +<span class="fc bfc" id="L47" title="All 2 branches covered.">		for (final TryCatchBlockNode n : methodNode.tryCatchBlocks) {</span>
    +<span class="fc" id="L48">			n.accept(methodVisitor);</span>
    +		}
    +<span class="fc bfc" id="L50" title="All 2 branches covered.">		for (final AbstractInsnNode i : methodNode.instructions) {</span>
    +<span class="fc" id="L51">			currentNode = i;</span>
    +<span class="fc" id="L52">			i.accept(methodVisitor);</span>
    +		}
    +<span class="fc" id="L54">		methodVisitor.visitEnd();</span>
    +<span class="fc" id="L55">	}</span>
    +
    +	@Override
    +	public void visitLabel(final Label label) {
    +<span class="fc" id="L59">		builder.addLabel(label);</span>
    +<span class="fc" id="L60">	}</span>
    +
    +	@Override
    +	public void visitLineNumber(final int line, final Label start) {
    +<span class="fc" id="L64">		builder.setCurrentLine(line);</span>
    +<span class="fc" id="L65">	}</span>
    +
    +	@Override
    +	public void visitInsn(final int opcode) {
    +<span class="fc" id="L69">		builder.addInstruction(currentNode);</span>
    +<span class="fc" id="L70">	}</span>
    +
    +	@Override
    +	public void visitIntInsn(final int opcode, final int operand) {
    +<span class="fc" id="L74">		builder.addInstruction(currentNode);</span>
    +<span class="fc" id="L75">	}</span>
    +
    +	@Override
    +	public void visitVarInsn(final int opcode, final int var) {
    +<span class="fc" id="L79">		builder.addInstruction(currentNode);</span>
    +<span class="fc" id="L80">	}</span>
    +
    +	@Override
    +	public void visitTypeInsn(final int opcode, final String type) {
    +<span class="fc" id="L84">		builder.addInstruction(currentNode);</span>
    +<span class="fc" id="L85">	}</span>
    +
    +	@Override
    +	public void visitFieldInsn(final int opcode, final String owner,
    +			final String name, final String desc) {
    +<span class="fc" id="L90">		builder.addInstruction(currentNode);</span>
    +<span class="fc" id="L91">	}</span>
    +
    +	@Override
    +	public void visitMethodInsn(final int opcode, final String owner,
    +			final String name, final String desc, final boolean itf) {
    +<span class="fc" id="L96">		builder.addInstruction(currentNode);</span>
    +<span class="fc" id="L97">	}</span>
    +
    +	@Override
    +	public void visitInvokeDynamicInsn(final String name, final String desc,
    +			final Handle bsm, final Object... bsmArgs) {
    +<span class="nc" id="L102">		builder.addInstruction(currentNode);</span>
    +<span class="nc" id="L103">	}</span>
    +
    +	@Override
    +	public void visitJumpInsn(final int opcode, final Label label) {
    +<span class="fc" id="L107">		builder.addInstruction(currentNode);</span>
    +<span class="fc" id="L108">		builder.addJump(label, 1);</span>
    +<span class="fc" id="L109">	}</span>
    +
    +	@Override
    +	public void visitLdcInsn(final Object cst) {
    +<span class="fc" id="L113">		builder.addInstruction(currentNode);</span>
    +<span class="fc" id="L114">	}</span>
    +
    +	@Override
    +	public void visitIincInsn(final int var, final int increment) {
    +<span class="fc" id="L118">		builder.addInstruction(currentNode);</span>
    +<span class="fc" id="L119">	}</span>
    +
    +	@Override
    +	public void visitTableSwitchInsn(final int min, final int max,
    +			final Label dflt, final Label... labels) {
    +<span class="fc" id="L124">		visitSwitchInsn(dflt, labels);</span>
    +<span class="fc" id="L125">	}</span>
    +
    +	@Override
    +	public void visitLookupSwitchInsn(final Label dflt, final int[] keys,
    +			final Label[] labels) {
    +<span class="fc" id="L130">		visitSwitchInsn(dflt, labels);</span>
    +<span class="fc" id="L131">	}</span>
    +
    +	private void visitSwitchInsn(final Label dflt, final Label[] labels) {
    +<span class="fc" id="L134">		builder.addInstruction(currentNode);</span>
    +<span class="fc" id="L135">		LabelInfo.resetDone(labels);</span>
    +<span class="fc" id="L136">		int branch = 0;</span>
    +<span class="fc" id="L137">		builder.addJump(dflt, branch);</span>
    +<span class="fc" id="L138">		LabelInfo.setDone(dflt);</span>
    +<span class="fc bfc" id="L139" title="All 2 branches covered.">		for (final Label l : labels) {</span>
    +<span class="fc bfc" id="L140" title="All 2 branches covered.">			if (!LabelInfo.isDone(l)) {</span>
    +<span class="fc" id="L141">				branch++;</span>
    +<span class="fc" id="L142">				builder.addJump(l, branch);</span>
    +<span class="fc" id="L143">				LabelInfo.setDone(l);</span>
    +			}
    +		}
    +<span class="fc" id="L146">	}</span>
    +
    +	@Override
    +	public void visitMultiANewArrayInsn(final String desc, final int dims) {
    +<span class="nc" id="L150">		builder.addInstruction(currentNode);</span>
    +<span class="nc" id="L151">	}</span>
    +
    +	@Override
    +	public void visitProbe(final int probeId) {
    +<span class="fc" id="L155">		builder.addProbe(probeId, 0);</span>
    +<span class="fc" id="L156">		builder.noSuccessor();</span>
    +<span class="fc" id="L157">	}</span>
    +
    +	@Override
    +	public void visitJumpInsnWithProbe(final int opcode, final Label label,
    +			final int probeId, final IFrame frame) {
    +<span class="fc" id="L162">		builder.addInstruction(currentNode);</span>
    +<span class="fc" id="L163">		builder.addProbe(probeId, 1);</span>
    +<span class="fc" id="L164">	}</span>
    +
    +	@Override
    +	public void visitInsnWithProbe(final int opcode, final int probeId) {
    +<span class="fc" id="L168">		builder.addInstruction(currentNode);</span>
    +<span class="fc" id="L169">		builder.addProbe(probeId, 0);</span>
    +<span class="fc" id="L170">	}</span>
    +
    +	@Override
    +	public void visitTableSwitchInsnWithProbes(final int min, final int max,
    +			final Label dflt, final Label[] labels, final IFrame frame) {
    +<span class="fc" id="L175">		visitSwitchInsnWithProbes(dflt, labels);</span>
    +<span class="fc" id="L176">	}</span>
    +
    +	@Override
    +	public void visitLookupSwitchInsnWithProbes(final Label dflt,
    +			final int[] keys, final Label[] labels, final IFrame frame) {
    +<span class="nc" id="L181">		visitSwitchInsnWithProbes(dflt, labels);</span>
    +<span class="nc" id="L182">	}</span>
    +
    +	private void visitSwitchInsnWithProbes(final Label dflt,
    +			final Label[] labels) {
    +<span class="fc" id="L186">		builder.addInstruction(currentNode);</span>
    +<span class="fc" id="L187">		LabelInfo.resetDone(dflt);</span>
    +<span class="fc" id="L188">		LabelInfo.resetDone(labels);</span>
    +<span class="fc" id="L189">		int branch = 0;</span>
    +<span class="fc" id="L190">		visitSwitchTarget(dflt, branch);</span>
    +<span class="fc bfc" id="L191" title="All 2 branches covered.">		for (final Label l : labels) {</span>
    +<span class="fc" id="L192">			branch++;</span>
    +<span class="fc" id="L193">			visitSwitchTarget(l, branch);</span>
    +		}
    +<span class="fc" id="L195">	}</span>
    +
    +	private void visitSwitchTarget(final Label label, final int branch) {
    +<span class="fc" id="L198">		final int id = LabelInfo.getProbeId(label);</span>
    +<span class="fc bfc" id="L199" title="All 2 branches covered.">		if (!LabelInfo.isDone(label)) {</span>
    +<span class="fc bfc" id="L200" title="All 2 branches covered.">			if (id == LabelInfo.NO_PROBE) {</span>
    +<span class="fc" id="L201">				builder.addJump(label, branch);</span>
    +			} else {
    +<span class="fc" id="L203">				builder.addProbe(id, branch);</span>
    +			}
    +<span class="fc" id="L205">			LabelInfo.setDone(label);</span>
    +		}
    +<span class="fc" id="L207">	}</span>
    +
    +}
    +</pre><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.12.202403270442</span>Code Coverage Report for JaCoCo 0.8.12-SNAPSHOT</div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/trunk/coverage/org.jacoco.core/org.jacoco.core.internal.analysis/MethodCoverageCalculator.html b/jacoco/trunk/coverage/org.jacoco.core/org.jacoco.core.internal.analysis/MethodCoverageCalculator.html
    new file mode 100644
    index 00000000000..056a457bebc
    --- /dev/null
    +++ b/jacoco/trunk/coverage/org.jacoco.core/org.jacoco.core.internal.analysis/MethodCoverageCalculator.html
    @@ -0,0 +1 @@
    +<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="en"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../../jacoco-resources/report.gif" type="image/gif"/><title>MethodCoverageCalculator</title><script type="text/javascript" src="../../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../../index.html" class="el_report">JaCoCo</a> &gt; <a href="../index.html" class="el_bundle">org.jacoco.core</a> &gt; <a href="index.html" class="el_package">org.jacoco.core.internal.analysis</a> &gt; <span class="el_class">MethodCoverageCalculator</span></div><h1>MethodCoverageCalculator</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">0 of 300</td><td class="ctr2">100%</td><td class="bar">0 of 30</td><td class="ctr2">100%</td><td class="ctr1">0</td><td class="ctr2">24</td><td class="ctr1">0</td><td class="ctr2">63</td><td class="ctr1">0</td><td class="ctr2">9</td></tr></tfoot><tbody><tr><td id="a0"><a href="MethodCoverageCalculator.java.html#L88" class="el_method">applyMerges()</a></td><td class="bar" id="b0"><img src="../../jacoco-resources/greenbar.gif" width="120" height="10" title="73" alt="73"/></td><td class="ctr2" id="c0">100%</td><td class="bar" id="d1"><img src="../../jacoco-resources/greenbar.gif" width="40" height="10" title="4" alt="4"/></td><td class="ctr2" id="e0">100%</td><td class="ctr1" id="f0">0</td><td class="ctr2" id="g1">3</td><td class="ctr1" id="h0">0</td><td class="ctr2" id="i1">11</td><td class="ctr1" id="j0">0</td><td class="ctr2" id="k0">1</td></tr><tr><td id="a1"><a href="MethodCoverageCalculator.java.html#L109" class="el_method">applyReplacements()</a></td><td class="bar" id="b1"><img src="../../jacoco-resources/greenbar.gif" width="95" height="10" title="58" alt="58"/></td><td class="ctr2" id="c1">100%</td><td class="bar" id="d2"><img src="../../jacoco-resources/greenbar.gif" width="40" height="10" title="4" alt="4"/></td><td class="ctr2" id="e1">100%</td><td class="ctr1" id="f1">0</td><td class="ctr2" id="g2">3</td><td class="ctr1" id="h1">0</td><td class="ctr2" id="i3">9</td><td class="ctr1" id="j1">0</td><td class="ctr2" id="k1">1</td></tr><tr><td id="a3"><a href="MethodCoverageCalculator.java.html#L124" class="el_method">ensureCapacity(MethodCoverageImpl)</a></td><td class="bar" id="b2"><img src="../../jacoco-resources/greenbar.gif" width="80" height="10" title="49" alt="49"/></td><td class="ctr2" id="c2">100%</td><td class="bar" id="d0"><img src="../../jacoco-resources/greenbar.gif" width="120" height="10" title="12" alt="12"/></td><td class="ctr2" id="e2">100%</td><td class="ctr1" id="f2">0</td><td class="ctr2" id="g0">7</td><td class="ctr1" id="h2">0</td><td class="ctr2" id="i0">13</td><td class="ctr1" id="j2">0</td><td class="ctr2" id="k2">1</td></tr><tr><td id="a2"><a href="MethodCoverageCalculator.java.html#L69" class="el_method">calculate(MethodCoverageImpl)</a></td><td class="bar" id="b3"><img src="../../jacoco-resources/greenbar.gif" width="67" height="10" title="41" alt="41"/></td><td class="ctr2" id="c3">100%</td><td class="bar" id="d3"><img src="../../jacoco-resources/greenbar.gif" width="40" height="10" title="4" alt="4"/></td><td class="ctr2" id="e3">100%</td><td class="ctr1" id="f3">0</td><td class="ctr2" id="g3">3</td><td class="ctr1" id="h3">0</td><td class="ctr2" id="i2">10</td><td class="ctr1" id="j3">0</td><td class="ctr2" id="k3">1</td></tr><tr><td id="a7"><a href="MethodCoverageCalculator.java.html#L54" class="el_method">MethodCoverageCalculator(Map)</a></td><td class="bar" id="b4"><img src="../../jacoco-resources/greenbar.gif" width="34" height="10" title="21" alt="21"/></td><td class="ctr2" id="c4">100%</td><td class="bar" id="d7"/><td class="ctr2" id="e7">n/a</td><td class="ctr1" id="f4">0</td><td class="ctr2" id="g7">1</td><td class="ctr1" id="h4">0</td><td class="ctr2" id="i4">6</td><td class="ctr1" id="j4">0</td><td class="ctr2" id="k4">1</td></tr><tr><td id="a5"><a href="MethodCoverageCalculator.java.html#L158" class="el_method">ignore(AbstractInsnNode, AbstractInsnNode)</a></td><td class="bar" id="b5"><img src="../../jacoco-resources/greenbar.gif" width="32" height="10" title="20" alt="20"/></td><td class="ctr2" id="c5">100%</td><td class="bar" id="d4"><img src="../../jacoco-resources/greenbar.gif" width="20" height="10" title="2" alt="2"/></td><td class="ctr2" id="e4">100%</td><td class="ctr1" id="f5">0</td><td class="ctr2" id="g4">2</td><td class="ctr1" id="h5">0</td><td class="ctr2" id="i6">4</td><td class="ctr1" id="j5">0</td><td class="ctr2" id="k5">1</td></tr><tr><td id="a6"><a href="MethodCoverageCalculator.java.html#L166" class="el_method">merge(AbstractInsnNode, AbstractInsnNode)</a></td><td class="bar" id="b6"><img src="../../jacoco-resources/greenbar.gif" width="29" height="10" title="18" alt="18"/></td><td class="ctr2" id="c6">100%</td><td class="bar" id="d5"><img src="../../jacoco-resources/greenbar.gif" width="20" height="10" title="2" alt="2"/></td><td class="ctr2" id="e5">100%</td><td class="ctr1" id="f6">0</td><td class="ctr2" id="g5">2</td><td class="ctr1" id="h6">0</td><td class="ctr2" id="i5">5</td><td class="ctr1" id="j6">0</td><td class="ctr2" id="k6">1</td></tr><tr><td id="a4"><a href="MethodCoverageCalculator.java.html#L148" class="el_method">findRepresentative(AbstractInsnNode)</a></td><td class="bar" id="b7"><img src="../../jacoco-resources/greenbar.gif" width="21" height="10" title="13" alt="13"/></td><td class="ctr2" id="c7">100%</td><td class="bar" id="d6"><img src="../../jacoco-resources/greenbar.gif" width="20" height="10" title="2" alt="2"/></td><td class="ctr2" id="e6">100%</td><td class="ctr1" id="f7">0</td><td class="ctr2" id="g6">2</td><td class="ctr1" id="h7">0</td><td class="ctr2" id="i7">3</td><td class="ctr1" id="j7">0</td><td class="ctr2" id="k7">1</td></tr><tr><td id="a8"><a href="MethodCoverageCalculator.java.html#L175" class="el_method">replaceBranches(AbstractInsnNode, Set)</a></td><td class="bar" id="b8"><img src="../../jacoco-resources/greenbar.gif" width="11" height="10" title="7" alt="7"/></td><td class="ctr2" id="c8">100%</td><td class="bar" id="d8"/><td class="ctr2" id="e8">n/a</td><td class="ctr1" id="f8">0</td><td class="ctr2" id="g8">1</td><td class="ctr1" id="h8">0</td><td class="ctr2" id="i8">2</td><td class="ctr1" id="j8">0</td><td class="ctr2" id="k8">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.12.202403270442</span>Code Coverage Report for JaCoCo 0.8.12-SNAPSHOT</div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/trunk/coverage/org.jacoco.core/org.jacoco.core.internal.analysis/MethodCoverageCalculator.java.html b/jacoco/trunk/coverage/org.jacoco.core/org.jacoco.core.internal.analysis/MethodCoverageCalculator.java.html
    new file mode 100644
    index 00000000000..05a35f0a2bb
    --- /dev/null
    +++ b/jacoco/trunk/coverage/org.jacoco.core/org.jacoco.core.internal.analysis/MethodCoverageCalculator.java.html
    @@ -0,0 +1,179 @@
    +<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="en"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../../jacoco-resources/report.gif" type="image/gif"/><title>MethodCoverageCalculator.java</title><link rel="stylesheet" href="../../jacoco-resources/prettify.css" type="text/css"/><script type="text/javascript" src="../../jacoco-resources/prettify.js"></script></head><body onload="window['PR_TAB_WIDTH']=4;prettyPrint()"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../../index.html" class="el_report">JaCoCo</a> &gt; <a href="../index.html" class="el_bundle">org.jacoco.core</a> &gt; <a href="index.source.html" class="el_package">org.jacoco.core.internal.analysis</a> &gt; <span class="el_source">MethodCoverageCalculator.java</span></div><h1>MethodCoverageCalculator.java</h1><pre class="source lang-java linenums">/*******************************************************************************
    + * Copyright (c) 2009, 2024 Mountainminds GmbH &amp; Co. KG and Contributors
    + * This program and the accompanying materials are made available under
    + * the terms of the Eclipse Public License 2.0 which is available at
    + * http://www.eclipse.org/legal/epl-2.0
    + *
    + * SPDX-License-Identifier: EPL-2.0
    + *
    + * Contributors:
    + *    Evgeny Mandrikov - initial API and implementation
    + *
    + *******************************************************************************/
    +package org.jacoco.core.internal.analysis;
    +
    +import java.util.ArrayList;
    +import java.util.HashMap;
    +import java.util.HashSet;
    +import java.util.List;
    +import java.util.Map;
    +import java.util.Map.Entry;
    +import java.util.Set;
    +
    +import org.jacoco.core.analysis.ISourceNode;
    +import org.jacoco.core.internal.analysis.filter.IFilterOutput;
    +import org.objectweb.asm.tree.AbstractInsnNode;
    +
    +/**
    + * Calculates the filtered coverage of a single method. A instance of this class
    + * can be first used as {@link IFilterOutput} before the coverage result is
    + * calculated.
    + */
    +class MethodCoverageCalculator implements IFilterOutput {
    +
    +	private final Map&lt;AbstractInsnNode, Instruction&gt; instructions;
    +
    +	private final Set&lt;AbstractInsnNode&gt; ignored;
    +
    +	/**
    +	 * Instructions that should be merged form disjoint sets. Coverage
    +	 * information from instructions of one set will be merged into
    +	 * representative instruction of set.
    +	 *
    +	 * Each such set is represented as a singly linked list: each element except
    +	 * one references another element from the same set, element without
    +	 * reference - is a representative of this set.
    +	 *
    +	 * This map stores reference (value) for elements of sets (key).
    +	 */
    +	private final Map&lt;AbstractInsnNode, AbstractInsnNode&gt; merged;
    +
    +	private final Map&lt;AbstractInsnNode, Set&lt;AbstractInsnNode&gt;&gt; replacements;
    +
    +	MethodCoverageCalculator(
    +<span class="fc" id="L54">			final Map&lt;AbstractInsnNode, Instruction&gt; instructions) {</span>
    +<span class="fc" id="L55">		this.instructions = instructions;</span>
    +<span class="fc" id="L56">		this.ignored = new HashSet&lt;AbstractInsnNode&gt;();</span>
    +<span class="fc" id="L57">		this.merged = new HashMap&lt;AbstractInsnNode, AbstractInsnNode&gt;();</span>
    +<span class="fc" id="L58">		this.replacements = new HashMap&lt;AbstractInsnNode, Set&lt;AbstractInsnNode&gt;&gt;();</span>
    +<span class="fc" id="L59">	}</span>
    +
    +	/**
    +	 * Applies all specified filtering commands and calculates the resulting
    +	 * coverage.
    +	 *
    +	 * @param coverage
    +	 *            the result is added to this coverage node
    +	 */
    +	void calculate(final MethodCoverageImpl coverage) {
    +<span class="fc" id="L69">		applyMerges();</span>
    +<span class="fc" id="L70">		applyReplacements();</span>
    +<span class="fc" id="L71">		ensureCapacity(coverage);</span>
    +
    +		for (final Entry&lt;AbstractInsnNode, Instruction&gt; entry : instructions
    +<span class="fc bfc" id="L74" title="All 2 branches covered.">				.entrySet()) {</span>
    +<span class="fc bfc" id="L75" title="All 2 branches covered.">			if (!ignored.contains(entry.getKey())) {</span>
    +<span class="fc" id="L76">				final Instruction instruction = entry.getValue();</span>
    +<span class="fc" id="L77">				coverage.increment(instruction.getInstructionCounter(),</span>
    +						instruction.getBranchCounter(), instruction.getLine());
    +<span class="fc" id="L79">			}</span>
    +		}
    +
    +<span class="fc" id="L82">		coverage.incrementMethodCounter();</span>
    +<span class="fc" id="L83">	}</span>
    +
    +	private void applyMerges() {
    +		// Merge to the representative:
    +		for (final Entry&lt;AbstractInsnNode, AbstractInsnNode&gt; entry : merged
    +<span class="fc bfc" id="L88" title="All 2 branches covered.">				.entrySet()) {</span>
    +<span class="fc" id="L89">			final AbstractInsnNode node = entry.getKey();</span>
    +<span class="fc" id="L90">			final Instruction instruction = instructions.get(node);</span>
    +<span class="fc" id="L91">			final AbstractInsnNode representativeNode = findRepresentative(</span>
    +					node);
    +<span class="fc" id="L93">			ignored.add(node);</span>
    +<span class="fc" id="L94">			instructions.put(representativeNode,</span>
    +					instructions.get(representativeNode).merge(instruction));
    +<span class="fc" id="L96">			entry.setValue(representativeNode);</span>
    +<span class="fc" id="L97">		}</span>
    +
    +		// Get merged value back from representative
    +		for (final Entry&lt;AbstractInsnNode, AbstractInsnNode&gt; entry : merged
    +<span class="fc bfc" id="L101" title="All 2 branches covered.">				.entrySet()) {</span>
    +<span class="fc" id="L102">			instructions.put(entry.getKey(),</span>
    +					instructions.get(entry.getValue()));
    +		}
    +<span class="fc" id="L105">	}</span>
    +
    +	private void applyReplacements() {
    +		for (final Entry&lt;AbstractInsnNode, Set&lt;AbstractInsnNode&gt;&gt; entry : replacements
    +<span class="fc bfc" id="L109" title="All 2 branches covered.">				.entrySet()) {</span>
    +<span class="fc" id="L110">			final Set&lt;AbstractInsnNode&gt; replacements = entry.getValue();</span>
    +<span class="fc" id="L111">			final List&lt;Instruction&gt; newBranches = new ArrayList&lt;Instruction&gt;(</span>
    +					replacements.size());
    +<span class="fc bfc" id="L113" title="All 2 branches covered.">			for (final AbstractInsnNode b : replacements) {</span>
    +<span class="fc" id="L114">				newBranches.add(instructions.get(b));</span>
    +			}
    +<span class="fc" id="L116">			final AbstractInsnNode node = entry.getKey();</span>
    +<span class="fc" id="L117">			instructions.put(node,</span>
    +					instructions.get(node).replaceBranches(newBranches));
    +<span class="fc" id="L119">		}</span>
    +<span class="fc" id="L120">	}</span>
    +
    +	private void ensureCapacity(final MethodCoverageImpl coverage) {
    +		// Determine line range:
    +<span class="fc" id="L124">		int firstLine = ISourceNode.UNKNOWN_LINE;</span>
    +<span class="fc" id="L125">		int lastLine = ISourceNode.UNKNOWN_LINE;</span>
    +		for (final Entry&lt;AbstractInsnNode, Instruction&gt; entry : instructions
    +<span class="fc bfc" id="L127" title="All 2 branches covered.">				.entrySet()) {</span>
    +<span class="fc bfc" id="L128" title="All 2 branches covered.">			if (!ignored.contains(entry.getKey())) {</span>
    +<span class="fc" id="L129">				final int line = entry.getValue().getLine();</span>
    +<span class="fc bfc" id="L130" title="All 2 branches covered.">				if (line != ISourceNode.UNKNOWN_LINE) {</span>
    +<span class="fc bfc" id="L131" title="All 4 branches covered.">					if (firstLine &gt; line</span>
    +							|| lastLine == ISourceNode.UNKNOWN_LINE) {
    +<span class="fc" id="L133">						firstLine = line;</span>
    +					}
    +<span class="fc bfc" id="L135" title="All 2 branches covered.">					if (lastLine &lt; line) {</span>
    +<span class="fc" id="L136">						lastLine = line;</span>
    +					}
    +				}
    +<span class="fc" id="L139">			}</span>
    +		}
    +
    +		// Performance optimization to avoid incremental increase of line array:
    +<span class="fc" id="L143">		coverage.ensureCapacity(firstLine, lastLine);</span>
    +<span class="fc" id="L144">	}</span>
    +
    +	private AbstractInsnNode findRepresentative(AbstractInsnNode i) {
    +		AbstractInsnNode r;
    +<span class="fc bfc" id="L148" title="All 2 branches covered.">		while ((r = merged.get(i)) != null) {</span>
    +<span class="fc" id="L149">			i = r;</span>
    +		}
    +<span class="fc" id="L151">		return i;</span>
    +	}
    +
    +	// === IFilterOutput API ===
    +
    +	public void ignore(final AbstractInsnNode fromInclusive,
    +			final AbstractInsnNode toInclusive) {
    +<span class="fc bfc" id="L158" title="All 2 branches covered.">		for (AbstractInsnNode i = fromInclusive; i != toInclusive; i = i</span>
    +				.getNext()) {
    +<span class="fc" id="L160">			ignored.add(i);</span>
    +		}
    +<span class="fc" id="L162">		ignored.add(toInclusive);</span>
    +<span class="fc" id="L163">	}</span>
    +
    +	public void merge(AbstractInsnNode i1, AbstractInsnNode i2) {
    +<span class="fc" id="L166">		i1 = findRepresentative(i1);</span>
    +<span class="fc" id="L167">		i2 = findRepresentative(i2);</span>
    +<span class="fc bfc" id="L168" title="All 2 branches covered.">		if (i1 != i2) {</span>
    +<span class="fc" id="L169">			merged.put(i2, i1);</span>
    +		}
    +<span class="fc" id="L171">	}</span>
    +
    +	public void replaceBranches(final AbstractInsnNode source,
    +			final Set&lt;AbstractInsnNode&gt; newTargets) {
    +<span class="fc" id="L175">		replacements.put(source, newTargets);</span>
    +<span class="fc" id="L176">	}</span>
    +
    +}
    +</pre><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.12.202403270442</span>Code Coverage Report for JaCoCo 0.8.12-SNAPSHOT</div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/trunk/coverage/org.jacoco.core/org.jacoco.core.internal.analysis/MethodCoverageImpl.html b/jacoco/trunk/coverage/org.jacoco.core/org.jacoco.core.internal.analysis/MethodCoverageImpl.html
    new file mode 100644
    index 00000000000..d2d3b2f884b
    --- /dev/null
    +++ b/jacoco/trunk/coverage/org.jacoco.core/org.jacoco.core.internal.analysis/MethodCoverageImpl.html
    @@ -0,0 +1 @@
    +<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="en"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../../jacoco-resources/report.gif" type="image/gif"/><title>MethodCoverageImpl</title><script type="text/javascript" src="../../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../../index.html" class="el_report">JaCoCo</a> &gt; <a href="../index.html" class="el_bundle">org.jacoco.core</a> &gt; <a href="index.html" class="el_package">org.jacoco.core.internal.analysis</a> &gt; <span class="el_class">MethodCoverageImpl</span></div><h1>MethodCoverageImpl</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">0 of 71</td><td class="ctr2">100%</td><td class="bar">0 of 4</td><td class="ctr2">100%</td><td class="ctr1">0</td><td class="ctr2">7</td><td class="ctr1">0</td><td class="ctr2">16</td><td class="ctr1">0</td><td class="ctr2">5</td></tr></tfoot><tbody><tr><td id="a2"><a href="MethodCoverageImpl.java.html#L48" class="el_method">increment(ICounter, ICounter, int)</a></td><td class="bar" id="b0"><img src="../../jacoco-resources/greenbar.gif" width="120" height="10" title="33" alt="33"/></td><td class="ctr2" id="c0">100%</td><td class="bar" id="d0"><img src="../../jacoco-resources/greenbar.gif" width="120" height="10" title="2" alt="2"/></td><td class="ctr2" id="e0">100%</td><td class="ctr1" id="f0">0</td><td class="ctr2" id="g0">2</td><td class="ctr1" id="h0">0</td><td class="ctr2" id="i0">6</td><td class="ctr1" id="j0">0</td><td class="ctr2" id="k0">1</td></tr><tr><td id="a3"><a href="MethodCoverageImpl.java.html#L62" class="el_method">incrementMethodCounter()</a></td><td class="bar" id="b1"><img src="../../jacoco-resources/greenbar.gif" width="76" height="10" title="21" alt="21"/></td><td class="ctr2" id="c1">100%</td><td class="bar" id="d1"><img src="../../jacoco-resources/greenbar.gif" width="120" height="10" title="2" alt="2"/></td><td class="ctr2" id="e1">100%</td><td class="ctr1" id="f1">0</td><td class="ctr2" id="g1">2</td><td class="ctr1" id="h1">0</td><td class="ctr2" id="i1">4</td><td class="ctr1" id="j1">0</td><td class="ctr2" id="k1">1</td></tr><tr><td id="a4"><a href="MethodCoverageImpl.java.html#L40" class="el_method">MethodCoverageImpl(String, String, String)</a></td><td class="bar" id="b2"><img src="../../jacoco-resources/greenbar.gif" width="40" height="10" title="11" alt="11"/></td><td class="ctr2" id="c2">100%</td><td class="bar" id="d2"/><td class="ctr2" id="e2">n/a</td><td class="ctr1" id="f2">0</td><td class="ctr2" id="g2">1</td><td class="ctr1" id="h2">0</td><td class="ctr2" id="i2">4</td><td class="ctr1" id="j2">0</td><td class="ctr2" id="k2">1</td></tr><tr><td id="a0"><a href="MethodCoverageImpl.java.html#L72" class="el_method">getDesc()</a></td><td class="bar" id="b3"><img src="../../jacoco-resources/greenbar.gif" width="10" height="10" title="3" alt="3"/></td><td class="ctr2" id="c3">100%</td><td class="bar" id="d3"/><td class="ctr2" id="e3">n/a</td><td class="ctr1" id="f3">0</td><td class="ctr2" id="g3">1</td><td class="ctr1" id="h3">0</td><td class="ctr2" id="i3">1</td><td class="ctr1" id="j3">0</td><td class="ctr2" id="k3">1</td></tr><tr><td id="a1"><a href="MethodCoverageImpl.java.html#L76" class="el_method">getSignature()</a></td><td class="bar" id="b4"><img src="../../jacoco-resources/greenbar.gif" width="10" height="10" title="3" alt="3"/></td><td class="ctr2" id="c4">100%</td><td class="bar" id="d4"/><td class="ctr2" id="e4">n/a</td><td class="ctr1" id="f4">0</td><td class="ctr2" id="g4">1</td><td class="ctr1" id="h4">0</td><td class="ctr2" id="i4">1</td><td class="ctr1" id="j4">0</td><td class="ctr2" id="k4">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.12.202403270442</span>Code Coverage Report for JaCoCo 0.8.12-SNAPSHOT</div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/trunk/coverage/org.jacoco.core/org.jacoco.core.internal.analysis/MethodCoverageImpl.java.html b/jacoco/trunk/coverage/org.jacoco.core/org.jacoco.core.internal.analysis/MethodCoverageImpl.java.html
    new file mode 100644
    index 00000000000..f2a97697773
    --- /dev/null
    +++ b/jacoco/trunk/coverage/org.jacoco.core/org.jacoco.core.internal.analysis/MethodCoverageImpl.java.html
    @@ -0,0 +1,80 @@
    +<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="en"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../../jacoco-resources/report.gif" type="image/gif"/><title>MethodCoverageImpl.java</title><link rel="stylesheet" href="../../jacoco-resources/prettify.css" type="text/css"/><script type="text/javascript" src="../../jacoco-resources/prettify.js"></script></head><body onload="window['PR_TAB_WIDTH']=4;prettyPrint()"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../../index.html" class="el_report">JaCoCo</a> &gt; <a href="../index.html" class="el_bundle">org.jacoco.core</a> &gt; <a href="index.source.html" class="el_package">org.jacoco.core.internal.analysis</a> &gt; <span class="el_source">MethodCoverageImpl.java</span></div><h1>MethodCoverageImpl.java</h1><pre class="source lang-java linenums">/*******************************************************************************
    + * Copyright (c) 2009, 2024 Mountainminds GmbH &amp; Co. KG and Contributors
    + * This program and the accompanying materials are made available under
    + * the terms of the Eclipse Public License 2.0 which is available at
    + * http://www.eclipse.org/legal/epl-2.0
    + *
    + * SPDX-License-Identifier: EPL-2.0
    + *
    + * Contributors:
    + *    Marc R. Hoffmann - initial API and implementation
    + *
    + *******************************************************************************/
    +package org.jacoco.core.internal.analysis;
    +
    +import org.jacoco.core.analysis.ICounter;
    +import org.jacoco.core.analysis.IMethodCoverage;
    +
    +/**
    + * Implementation of {@link IMethodCoverage}.
    + */
    +public class MethodCoverageImpl extends SourceNodeImpl
    +		implements IMethodCoverage {
    +
    +	private final String desc;
    +
    +	private final String signature;
    +
    +	/**
    +	 * Creates a method coverage data object with the given parameters.
    +	 *
    +	 * @param name
    +	 *            name of the method
    +	 * @param desc
    +	 *            method descriptor
    +	 * @param signature
    +	 *            generic signature or &lt;code&gt;null&lt;/code&gt;
    +	 */
    +	public MethodCoverageImpl(final String name, final String desc,
    +			final String signature) {
    +<span class="fc" id="L40">		super(ElementType.METHOD, name);</span>
    +<span class="fc" id="L41">		this.desc = desc;</span>
    +<span class="fc" id="L42">		this.signature = signature;</span>
    +<span class="fc" id="L43">	}</span>
    +
    +	@Override
    +	public void increment(final ICounter instructions, final ICounter branches,
    +			final int line) {
    +<span class="fc" id="L48">		super.increment(instructions, branches, line);</span>
    +		// Additionally increment complexity counter:
    +<span class="fc bfc" id="L50" title="All 2 branches covered.">		if (branches.getTotalCount() &gt; 1) {</span>
    +<span class="fc" id="L51">			final int c = Math.max(0, branches.getCoveredCount() - 1);</span>
    +<span class="fc" id="L52">			final int m = Math.max(0, branches.getTotalCount() - c - 1);</span>
    +<span class="fc" id="L53">			this.complexityCounter = this.complexityCounter.increment(m, c);</span>
    +		}
    +<span class="fc" id="L55">	}</span>
    +
    +	/**
    +	 * This method must be called exactly once after all instructions and
    +	 * branches have been incremented for this method coverage node.
    +	 */
    +	public void incrementMethodCounter() {
    +<span class="fc bfc" id="L62" title="All 2 branches covered.">		final ICounter base = this.instructionCounter.getCoveredCount() == 0</span>
    +				? CounterImpl.COUNTER_1_0
    +				: CounterImpl.COUNTER_0_1;
    +<span class="fc" id="L65">		this.methodCounter = this.methodCounter.increment(base);</span>
    +<span class="fc" id="L66">		this.complexityCounter = this.complexityCounter.increment(base);</span>
    +<span class="fc" id="L67">	}</span>
    +
    +	// === IMethodCoverage implementation ===
    +
    +	public String getDesc() {
    +<span class="fc" id="L72">		return desc;</span>
    +	}
    +
    +	public String getSignature() {
    +<span class="fc" id="L76">		return signature;</span>
    +	}
    +
    +}
    +</pre><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.12.202403270442</span>Code Coverage Report for JaCoCo 0.8.12-SNAPSHOT</div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/trunk/coverage/org.jacoco.core/org.jacoco.core.internal.analysis/PackageCoverageImpl.html b/jacoco/trunk/coverage/org.jacoco.core/org.jacoco.core.internal.analysis/PackageCoverageImpl.html
    new file mode 100644
    index 00000000000..4db54ead101
    --- /dev/null
    +++ b/jacoco/trunk/coverage/org.jacoco.core/org.jacoco.core.internal.analysis/PackageCoverageImpl.html
    @@ -0,0 +1 @@
    +<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="en"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../../jacoco-resources/report.gif" type="image/gif"/><title>PackageCoverageImpl</title><script type="text/javascript" src="../../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../../index.html" class="el_report">JaCoCo</a> &gt; <a href="../index.html" class="el_bundle">org.jacoco.core</a> &gt; <a href="index.html" class="el_package">org.jacoco.core.internal.analysis</a> &gt; <span class="el_class">PackageCoverageImpl</span></div><h1>PackageCoverageImpl</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">0 of 37</td><td class="ctr2">100%</td><td class="bar">0 of 4</td><td class="ctr2">100%</td><td class="ctr1">0</td><td class="ctr2">5</td><td class="ctr1">0</td><td class="ctr2">10</td><td class="ctr1">0</td><td class="ctr2">3</td></tr></tfoot><tbody><tr><td id="a2"><a href="PackageCoverageImpl.java.html#L45" class="el_method">PackageCoverageImpl(String, Collection, Collection)</a></td><td class="bar" id="b0"><img src="../../jacoco-resources/greenbar.gif" width="120" height="10" title="31" alt="31"/></td><td class="ctr2" id="c0">100%</td><td class="bar" id="d0"><img src="../../jacoco-resources/greenbar.gif" width="120" height="10" title="4" alt="4"/></td><td class="ctr2" id="e0">100%</td><td class="ctr1" id="f0">0</td><td class="ctr2" id="g0">3</td><td class="ctr1" id="h0">0</td><td class="ctr2" id="i0">8</td><td class="ctr1" id="j0">0</td><td class="ctr2" id="k0">1</td></tr><tr><td id="a0"><a href="PackageCoverageImpl.java.html#L62" class="el_method">getClasses()</a></td><td class="bar" id="b1"><img src="../../jacoco-resources/greenbar.gif" width="11" height="10" title="3" alt="3"/></td><td class="ctr2" id="c1">100%</td><td class="bar" id="d1"/><td class="ctr2" id="e1">n/a</td><td class="ctr1" id="f1">0</td><td class="ctr2" id="g1">1</td><td class="ctr1" id="h1">0</td><td class="ctr2" id="i1">1</td><td class="ctr1" id="j1">0</td><td class="ctr2" id="k1">1</td></tr><tr><td id="a1"><a href="PackageCoverageImpl.java.html#L66" class="el_method">getSourceFiles()</a></td><td class="bar" id="b2"><img src="../../jacoco-resources/greenbar.gif" width="11" height="10" title="3" alt="3"/></td><td class="ctr2" id="c2">100%</td><td class="bar" id="d2"/><td class="ctr2" id="e2">n/a</td><td class="ctr1" id="f2">0</td><td class="ctr2" id="g2">1</td><td class="ctr1" id="h2">0</td><td class="ctr2" id="i2">1</td><td class="ctr1" id="j2">0</td><td class="ctr2" id="k2">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.12.202403270442</span>Code Coverage Report for JaCoCo 0.8.12-SNAPSHOT</div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/trunk/coverage/org.jacoco.core/org.jacoco.core.internal.analysis/PackageCoverageImpl.java.html b/jacoco/trunk/coverage/org.jacoco.core/org.jacoco.core.internal.analysis/PackageCoverageImpl.java.html
    new file mode 100644
    index 00000000000..898a1977538
    --- /dev/null
    +++ b/jacoco/trunk/coverage/org.jacoco.core/org.jacoco.core.internal.analysis/PackageCoverageImpl.java.html
    @@ -0,0 +1,70 @@
    +<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="en"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../../jacoco-resources/report.gif" type="image/gif"/><title>PackageCoverageImpl.java</title><link rel="stylesheet" href="../../jacoco-resources/prettify.css" type="text/css"/><script type="text/javascript" src="../../jacoco-resources/prettify.js"></script></head><body onload="window['PR_TAB_WIDTH']=4;prettyPrint()"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../../index.html" class="el_report">JaCoCo</a> &gt; <a href="../index.html" class="el_bundle">org.jacoco.core</a> &gt; <a href="index.source.html" class="el_package">org.jacoco.core.internal.analysis</a> &gt; <span class="el_source">PackageCoverageImpl.java</span></div><h1>PackageCoverageImpl.java</h1><pre class="source lang-java linenums">/*******************************************************************************
    + * Copyright (c) 2009, 2024 Mountainminds GmbH &amp; Co. KG and Contributors
    + * This program and the accompanying materials are made available under
    + * the terms of the Eclipse Public License 2.0 which is available at
    + * http://www.eclipse.org/legal/epl-2.0
    + *
    + * SPDX-License-Identifier: EPL-2.0
    + *
    + * Contributors:
    + *    Marc R. Hoffmann - initial API and implementation
    + *
    + *******************************************************************************/
    +package org.jacoco.core.internal.analysis;
    +
    +import java.util.Collection;
    +
    +import org.jacoco.core.analysis.CoverageNodeImpl;
    +import org.jacoco.core.analysis.IClassCoverage;
    +import org.jacoco.core.analysis.IPackageCoverage;
    +import org.jacoco.core.analysis.ISourceFileCoverage;
    +
    +/**
    + * Implementation of {@link IPackageCoverage}.
    + */
    +public class PackageCoverageImpl extends CoverageNodeImpl
    +		implements IPackageCoverage {
    +
    +	private final Collection&lt;IClassCoverage&gt; classes;
    +
    +	private final Collection&lt;ISourceFileCoverage&gt; sourceFiles;
    +
    +	/**
    +	 * Creates package node instance for a package with the given name.
    +	 *
    +	 * @param name
    +	 *            vm name of the package
    +	 * @param classes
    +	 *            collection of all classes in this package
    +	 * @param sourceFiles
    +	 *            collection of all source files in this package
    +	 */
    +	public PackageCoverageImpl(final String name,
    +			final Collection&lt;IClassCoverage&gt; classes,
    +			final Collection&lt;ISourceFileCoverage&gt; sourceFiles) {
    +<span class="fc" id="L45">		super(ElementType.PACKAGE, name);</span>
    +<span class="fc" id="L46">		this.classes = classes;</span>
    +<span class="fc" id="L47">		this.sourceFiles = sourceFiles;</span>
    +<span class="fc" id="L48">		increment(sourceFiles);</span>
    +<span class="fc bfc" id="L49" title="All 2 branches covered.">		for (final IClassCoverage c : classes) {</span>
    +			// We need to add only classes without a source file reference.
    +			// Classes associated with a source file are already included in the
    +			// SourceFileCoverage objects.
    +<span class="fc bfc" id="L53" title="All 2 branches covered.">			if (c.getSourceFileName() == null) {</span>
    +<span class="fc" id="L54">				increment(c);</span>
    +			}
    +		}
    +<span class="fc" id="L57">	}</span>
    +
    +	// === IPackageCoverage implementation ===
    +
    +	public Collection&lt;IClassCoverage&gt; getClasses() {
    +<span class="fc" id="L62">		return classes;</span>
    +	}
    +
    +	public Collection&lt;ISourceFileCoverage&gt; getSourceFiles() {
    +<span class="fc" id="L66">		return sourceFiles;</span>
    +	}
    +
    +}
    +</pre><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.12.202403270442</span>Code Coverage Report for JaCoCo 0.8.12-SNAPSHOT</div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/trunk/coverage/org.jacoco.core/org.jacoco.core.internal.analysis/SourceFileCoverageImpl.html b/jacoco/trunk/coverage/org.jacoco.core/org.jacoco.core.internal.analysis/SourceFileCoverageImpl.html
    new file mode 100644
    index 00000000000..e4825c9387d
    --- /dev/null
    +++ b/jacoco/trunk/coverage/org.jacoco.core/org.jacoco.core.internal.analysis/SourceFileCoverageImpl.html
    @@ -0,0 +1 @@
    +<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="en"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../../jacoco-resources/report.gif" type="image/gif"/><title>SourceFileCoverageImpl</title><script type="text/javascript" src="../../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../../index.html" class="el_report">JaCoCo</a> &gt; <a href="../index.html" class="el_bundle">org.jacoco.core</a> &gt; <a href="index.html" class="el_package">org.jacoco.core.internal.analysis</a> &gt; <span class="el_class">SourceFileCoverageImpl</span></div><h1>SourceFileCoverageImpl</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">0 of 11</td><td class="ctr2">100%</td><td class="bar">0 of 0</td><td class="ctr2">n/a</td><td class="ctr1">0</td><td class="ctr2">2</td><td class="ctr1">0</td><td class="ctr2">4</td><td class="ctr1">0</td><td class="ctr2">2</td></tr></tfoot><tbody><tr><td id="a1"><a href="SourceFileCoverageImpl.java.html#L34" class="el_method">SourceFileCoverageImpl(String, String)</a></td><td class="bar" id="b0"><img src="../../jacoco-resources/greenbar.gif" width="120" height="10" title="8" alt="8"/></td><td class="ctr2" id="c0">100%</td><td class="bar" id="d0"/><td class="ctr2" id="e0">n/a</td><td class="ctr1" id="f0">0</td><td class="ctr2" id="g0">1</td><td class="ctr1" id="h0">0</td><td class="ctr2" id="i0">3</td><td class="ctr1" id="j0">0</td><td class="ctr2" id="k0">1</td></tr><tr><td id="a0"><a href="SourceFileCoverageImpl.java.html#L41" class="el_method">getPackageName()</a></td><td class="bar" id="b1"><img src="../../jacoco-resources/greenbar.gif" width="45" height="10" title="3" alt="3"/></td><td class="ctr2" id="c1">100%</td><td class="bar" id="d1"/><td class="ctr2" id="e1">n/a</td><td class="ctr1" id="f1">0</td><td class="ctr2" id="g1">1</td><td class="ctr1" id="h1">0</td><td class="ctr2" id="i1">1</td><td class="ctr1" id="j1">0</td><td class="ctr2" id="k1">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.12.202403270442</span>Code Coverage Report for JaCoCo 0.8.12-SNAPSHOT</div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/trunk/coverage/org.jacoco.core/org.jacoco.core.internal.analysis/SourceFileCoverageImpl.java.html b/jacoco/trunk/coverage/org.jacoco.core/org.jacoco.core.internal.analysis/SourceFileCoverageImpl.java.html
    new file mode 100644
    index 00000000000..47b6dbf4af7
    --- /dev/null
    +++ b/jacoco/trunk/coverage/org.jacoco.core/org.jacoco.core.internal.analysis/SourceFileCoverageImpl.java.html
    @@ -0,0 +1,45 @@
    +<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="en"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../../jacoco-resources/report.gif" type="image/gif"/><title>SourceFileCoverageImpl.java</title><link rel="stylesheet" href="../../jacoco-resources/prettify.css" type="text/css"/><script type="text/javascript" src="../../jacoco-resources/prettify.js"></script></head><body onload="window['PR_TAB_WIDTH']=4;prettyPrint()"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../../index.html" class="el_report">JaCoCo</a> &gt; <a href="../index.html" class="el_bundle">org.jacoco.core</a> &gt; <a href="index.source.html" class="el_package">org.jacoco.core.internal.analysis</a> &gt; <span class="el_source">SourceFileCoverageImpl.java</span></div><h1>SourceFileCoverageImpl.java</h1><pre class="source lang-java linenums">/*******************************************************************************
    + * Copyright (c) 2009, 2024 Mountainminds GmbH &amp; Co. KG and Contributors
    + * This program and the accompanying materials are made available under
    + * the terms of the Eclipse Public License 2.0 which is available at
    + * http://www.eclipse.org/legal/epl-2.0
    + *
    + * SPDX-License-Identifier: EPL-2.0
    + *
    + * Contributors:
    + *    Marc R. Hoffmann - initial API and implementation
    + *
    + *******************************************************************************/
    +package org.jacoco.core.internal.analysis;
    +
    +import org.jacoco.core.analysis.ISourceFileCoverage;
    +
    +/**
    + * Implementation of {@link ISourceFileCoverage}.
    + */
    +public class SourceFileCoverageImpl extends SourceNodeImpl
    +		implements ISourceFileCoverage {
    +
    +	private final String packagename;
    +
    +	/**
    +	 * Creates a source file data object with the given parameters.
    +	 *
    +	 * @param name
    +	 *            name of the source file
    +	 * @param packagename
    +	 *            vm name of the package the source file belongs to
    +	 */
    +	public SourceFileCoverageImpl(final String name, final String packagename) {
    +<span class="fc" id="L34">		super(ElementType.SOURCEFILE, name);</span>
    +<span class="fc" id="L35">		this.packagename = packagename;</span>
    +<span class="fc" id="L36">	}</span>
    +
    +	// === ISourceFileCoverage implementation ===
    +
    +	public String getPackageName() {
    +<span class="fc" id="L41">		return packagename;</span>
    +	}
    +
    +}
    +</pre><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.12.202403270442</span>Code Coverage Report for JaCoCo 0.8.12-SNAPSHOT</div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/trunk/coverage/org.jacoco.core/org.jacoco.core.internal.analysis/SourceNodeImpl.html b/jacoco/trunk/coverage/org.jacoco.core/org.jacoco.core.internal.analysis/SourceNodeImpl.html
    new file mode 100644
    index 00000000000..9012a65e754
    --- /dev/null
    +++ b/jacoco/trunk/coverage/org.jacoco.core/org.jacoco.core.internal.analysis/SourceNodeImpl.html
    @@ -0,0 +1 @@
    +<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="en"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../../jacoco-resources/report.gif" type="image/gif"/><title>SourceNodeImpl</title><script type="text/javascript" src="../../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../../index.html" class="el_report">JaCoCo</a> &gt; <a href="../index.html" class="el_bundle">org.jacoco.core</a> &gt; <a href="index.html" class="el_package">org.jacoco.core.internal.analysis</a> &gt; <span class="el_class">SourceNodeImpl</span></div><h1>SourceNodeImpl</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">0 of 269</td><td class="ctr2">100%</td><td class="bar">0 of 34</td><td class="ctr2">100%</td><td class="ctr1">0</td><td class="ctr2">25</td><td class="ctr1">0</td><td class="ctr2">56</td><td class="ctr1">0</td><td class="ctr2">8</td></tr></tfoot><tbody><tr><td id="a5"><a href="SourceNodeImpl.java.html#L84" class="el_method">increment(ISourceNode)</a></td><td class="bar" id="b0"><img src="../../jacoco-resources/greenbar.gif" width="120" height="10" title="67" alt="67"/></td><td class="ctr2" id="c0">100%</td><td class="bar" id="d3"><img src="../../jacoco-resources/greenbar.gif" width="48" height="10" title="4" alt="4"/></td><td class="ctr2" id="e0">100%</td><td class="ctr1" id="f0">0</td><td class="ctr2" id="g3">3</td><td class="ctr1" id="h0">0</td><td class="ctr2" id="i2">13</td><td class="ctr1" id="j0">0</td><td class="ctr2" id="k0">1</td></tr><tr><td id="a0"><a href="SourceNodeImpl.java.html#L55" class="el_method">ensureCapacity(int, int)</a></td><td class="bar" id="b1"><img src="../../jacoco-resources/greenbar.gif" width="116" height="10" title="65" alt="65"/></td><td class="ctr2" id="c1">100%</td><td class="bar" id="d1"><img src="../../jacoco-resources/greenbar.gif" width="96" height="10" title="8" alt="8"/></td><td class="ctr2" id="e1">100%</td><td class="ctr1" id="f1">0</td><td class="ctr2" id="g1">5</td><td class="ctr1" id="h1">0</td><td class="ctr2" id="i0">14</td><td class="ctr1" id="j1">0</td><td class="ctr2" id="k1">1</td></tr><tr><td id="a6"><a href="SourceNodeImpl.java.html#L126" class="el_method">incrementLine(ICounter, ICounter, int)</a></td><td class="bar" id="b2"><img src="../../jacoco-resources/greenbar.gif" width="109" height="10" title="61" alt="61"/></td><td class="ctr2" id="c2">100%</td><td class="bar" id="d0"><img src="../../jacoco-resources/greenbar.gif" width="120" height="10" title="10" alt="10"/></td><td class="ctr2" id="e2">100%</td><td class="ctr1" id="f2">0</td><td class="ctr2" id="g0">6</td><td class="ctr1" id="h2">0</td><td class="ctr2" id="i1">14</td><td class="ctr1" id="j2">0</td><td class="ctr2" id="k2">1</td></tr><tr><td id="a3"><a href="SourceNodeImpl.java.html#L163" class="el_method">getLine(int)</a></td><td class="bar" id="b3"><img src="../../jacoco-resources/greenbar.gif" width="48" height="10" title="27" alt="27"/></td><td class="ctr2" id="c3">100%</td><td class="bar" id="d2"><img src="../../jacoco-resources/greenbar.gif" width="96" height="10" title="8" alt="8"/></td><td class="ctr2" id="e3">100%</td><td class="ctr1" id="f3">0</td><td class="ctr2" id="g2">5</td><td class="ctr1" id="h3">0</td><td class="ctr2" id="i4">4</td><td class="ctr1" id="j3">0</td><td class="ctr2" id="k3">1</td></tr><tr><td id="a4"><a href="SourceNodeImpl.java.html#L117" class="el_method">increment(ICounter, ICounter, int)</a></td><td class="bar" id="b4"><img src="../../jacoco-resources/greenbar.gif" width="37" height="10" title="21" alt="21"/></td><td class="ctr2" id="c4">100%</td><td class="bar" id="d4"><img src="../../jacoco-resources/greenbar.gif" width="24" height="10" title="2" alt="2"/></td><td class="ctr2" id="e4">100%</td><td class="ctr1" id="f4">0</td><td class="ctr2" id="g4">2</td><td class="ctr1" id="h4">0</td><td class="ctr2" id="i3">5</td><td class="ctr1" id="j4">0</td><td class="ctr2" id="k4">1</td></tr><tr><td id="a2"><a href="SourceNodeImpl.java.html#L159" class="el_method">getLastLine()</a></td><td class="bar" id="b5"><img src="../../jacoco-resources/greenbar.gif" width="25" height="10" title="14" alt="14"/></td><td class="ctr2" id="c5">100%</td><td class="bar" id="d5"><img src="../../jacoco-resources/greenbar.gif" width="24" height="10" title="2" alt="2"/></td><td class="ctr2" id="e5">100%</td><td class="ctr1" id="f5">0</td><td class="ctr2" id="g5">2</td><td class="ctr1" id="h5">0</td><td class="ctr2" id="i6">1</td><td class="ctr1" id="j5">0</td><td class="ctr2" id="k5">1</td></tr><tr><td id="a7"><a href="SourceNodeImpl.java.html#L39" class="el_method">SourceNodeImpl(ICoverageNode.ElementType, String)</a></td><td class="bar" id="b6"><img src="../../jacoco-resources/greenbar.gif" width="19" height="10" title="11" alt="11"/></td><td class="ctr2" id="c6">100%</td><td class="bar" id="d6"/><td class="ctr2" id="e6">n/a</td><td class="ctr1" id="f6">0</td><td class="ctr2" id="g6">1</td><td class="ctr1" id="h6">0</td><td class="ctr2" id="i5">4</td><td class="ctr1" id="j6">0</td><td class="ctr2" id="k6">1</td></tr><tr><td id="a1"><a href="SourceNodeImpl.java.html#L155" class="el_method">getFirstLine()</a></td><td class="bar" id="b7"><img src="../../jacoco-resources/greenbar.gif" width="5" height="10" title="3" alt="3"/></td><td class="ctr2" id="c7">100%</td><td class="bar" id="d7"/><td class="ctr2" id="e7">n/a</td><td class="ctr1" id="f7">0</td><td class="ctr2" id="g7">1</td><td class="ctr1" id="h7">0</td><td class="ctr2" id="i7">1</td><td class="ctr1" id="j7">0</td><td class="ctr2" id="k7">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.12.202403270442</span>Code Coverage Report for JaCoCo 0.8.12-SNAPSHOT</div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/trunk/coverage/org.jacoco.core/org.jacoco.core.internal.analysis/SourceNodeImpl.java.html b/jacoco/trunk/coverage/org.jacoco.core/org.jacoco.core.internal.analysis/SourceNodeImpl.java.html
    new file mode 100644
    index 00000000000..6f885838201
    --- /dev/null
    +++ b/jacoco/trunk/coverage/org.jacoco.core/org.jacoco.core.internal.analysis/SourceNodeImpl.java.html
    @@ -0,0 +1,171 @@
    +<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="en"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../../jacoco-resources/report.gif" type="image/gif"/><title>SourceNodeImpl.java</title><link rel="stylesheet" href="../../jacoco-resources/prettify.css" type="text/css"/><script type="text/javascript" src="../../jacoco-resources/prettify.js"></script></head><body onload="window['PR_TAB_WIDTH']=4;prettyPrint()"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../../index.html" class="el_report">JaCoCo</a> &gt; <a href="../index.html" class="el_bundle">org.jacoco.core</a> &gt; <a href="index.source.html" class="el_package">org.jacoco.core.internal.analysis</a> &gt; <span class="el_source">SourceNodeImpl.java</span></div><h1>SourceNodeImpl.java</h1><pre class="source lang-java linenums">/*******************************************************************************
    + * Copyright (c) 2009, 2024 Mountainminds GmbH &amp; Co. KG and Contributors
    + * This program and the accompanying materials are made available under
    + * the terms of the Eclipse Public License 2.0 which is available at
    + * http://www.eclipse.org/legal/epl-2.0
    + *
    + * SPDX-License-Identifier: EPL-2.0
    + *
    + * Contributors:
    + *    Marc R. Hoffmann - initial API and implementation
    + *
    + *******************************************************************************/
    +package org.jacoco.core.internal.analysis;
    +
    +import org.jacoco.core.analysis.CoverageNodeImpl;
    +import org.jacoco.core.analysis.ICounter;
    +import org.jacoco.core.analysis.ILine;
    +import org.jacoco.core.analysis.ISourceNode;
    +
    +/**
    + * Implementation of {@link ISourceNode}.
    + */
    +public class SourceNodeImpl extends CoverageNodeImpl implements ISourceNode {
    +
    +	private LineImpl[] lines;
    +
    +	/** first line number in {@link #lines} */
    +	private int offset;
    +
    +	/**
    +	 * Create a new source node implementation instance.
    +	 *
    +	 * @param elementType
    +	 *            element type
    +	 * @param name
    +	 *            name of the element
    +	 */
    +	public SourceNodeImpl(final ElementType elementType, final String name) {
    +<span class="fc" id="L39">		super(elementType, name);</span>
    +<span class="fc" id="L40">		lines = null;</span>
    +<span class="fc" id="L41">		offset = UNKNOWN_LINE;</span>
    +<span class="fc" id="L42">	}</span>
    +
    +	/**
    +	 * Make sure that the internal buffer can keep lines from first to last.
    +	 * While the buffer is also incremented automatically, this method allows
    +	 * optimization in case the total range is known in advance.
    +	 *
    +	 * @param first
    +	 *            first line number or {@link ISourceNode#UNKNOWN_LINE}
    +	 * @param last
    +	 *            last line number or {@link ISourceNode#UNKNOWN_LINE}
    +	 */
    +	public void ensureCapacity(final int first, final int last) {
    +<span class="fc bfc" id="L55" title="All 4 branches covered.">		if (first == UNKNOWN_LINE || last == UNKNOWN_LINE) {</span>
    +<span class="fc" id="L56">			return;</span>
    +		}
    +<span class="fc bfc" id="L58" title="All 2 branches covered.">		if (lines == null) {</span>
    +<span class="fc" id="L59">			offset = first;</span>
    +<span class="fc" id="L60">			lines = new LineImpl[last - first + 1];</span>
    +		} else {
    +<span class="fc" id="L62">			final int newFirst = Math.min(getFirstLine(), first);</span>
    +<span class="fc" id="L63">			final int newLast = Math.max(getLastLine(), last);</span>
    +<span class="fc" id="L64">			final int newLength = newLast - newFirst + 1;</span>
    +<span class="fc bfc" id="L65" title="All 2 branches covered.">			if (newLength &gt; lines.length) {</span>
    +<span class="fc" id="L66">				final LineImpl[] newLines = new LineImpl[newLength];</span>
    +<span class="fc" id="L67">				System.arraycopy(lines, 0, newLines, offset - newFirst,</span>
    +						lines.length);
    +<span class="fc" id="L69">				offset = newFirst;</span>
    +<span class="fc" id="L70">				lines = newLines;</span>
    +			}
    +		}
    +<span class="fc" id="L73">	}</span>
    +
    +	/**
    +	 * Increments all counters by the values of the given child. When
    +	 * incrementing the line counter it is assumed that the child refers to the
    +	 * same source file.
    +	 *
    +	 * @param child
    +	 *            child node to add
    +	 */
    +	public void increment(final ISourceNode child) {
    +<span class="fc" id="L84">		instructionCounter = instructionCounter</span>
    +				.increment(child.getInstructionCounter());
    +<span class="fc" id="L86">		branchCounter = branchCounter.increment(child.getBranchCounter());</span>
    +<span class="fc" id="L87">		complexityCounter = complexityCounter</span>
    +				.increment(child.getComplexityCounter());
    +<span class="fc" id="L89">		methodCounter = methodCounter.increment(child.getMethodCounter());</span>
    +<span class="fc" id="L90">		classCounter = classCounter.increment(child.getClassCounter());</span>
    +<span class="fc" id="L91">		final int firstLine = child.getFirstLine();</span>
    +<span class="fc bfc" id="L92" title="All 2 branches covered.">		if (firstLine != UNKNOWN_LINE) {</span>
    +<span class="fc" id="L93">			final int lastLine = child.getLastLine();</span>
    +<span class="fc" id="L94">			ensureCapacity(firstLine, lastLine);</span>
    +<span class="fc bfc" id="L95" title="All 2 branches covered.">			for (int i = firstLine; i &lt;= lastLine; i++) {</span>
    +<span class="fc" id="L96">				final ILine line = child.getLine(i);</span>
    +<span class="fc" id="L97">				incrementLine(line.getInstructionCounter(),</span>
    +						line.getBranchCounter(), i);
    +			}
    +		}
    +<span class="fc" id="L101">	}</span>
    +
    +	/**
    +	 * Increments instructions and branches by the given counter values. If a
    +	 * optional line number is specified the instructions and branches are added
    +	 * to the given line. The line counter is incremented accordingly.
    +	 *
    +	 * @param instructions
    +	 *            instructions to add
    +	 * @param branches
    +	 *            branches to add
    +	 * @param line
    +	 *            optional line number or {@link ISourceNode#UNKNOWN_LINE}
    +	 */
    +	public void increment(final ICounter instructions, final ICounter branches,
    +			final int line) {
    +<span class="fc bfc" id="L117" title="All 2 branches covered.">		if (line != UNKNOWN_LINE) {</span>
    +<span class="fc" id="L118">			incrementLine(instructions, branches, line);</span>
    +		}
    +<span class="fc" id="L120">		instructionCounter = instructionCounter.increment(instructions);</span>
    +<span class="fc" id="L121">		branchCounter = branchCounter.increment(branches);</span>
    +<span class="fc" id="L122">	}</span>
    +
    +	private void incrementLine(final ICounter instructions,
    +			final ICounter branches, final int line) {
    +<span class="fc" id="L126">		ensureCapacity(line, line);</span>
    +<span class="fc" id="L127">		final LineImpl l = getLine(line);</span>
    +<span class="fc" id="L128">		final int oldTotal = l.getInstructionCounter().getTotalCount();</span>
    +<span class="fc" id="L129">		final int oldCovered = l.getInstructionCounter().getCoveredCount();</span>
    +<span class="fc" id="L130">		lines[line - offset] = l.increment(instructions, branches);</span>
    +
    +		// Increment line counter:
    +<span class="fc bfc" id="L133" title="All 2 branches covered.">		if (instructions.getTotalCount() &gt; 0) {</span>
    +<span class="fc bfc" id="L134" title="All 2 branches covered.">			if (instructions.getCoveredCount() == 0) {</span>
    +<span class="fc bfc" id="L135" title="All 2 branches covered.">				if (oldTotal == 0) {</span>
    +<span class="fc" id="L136">					lineCounter = lineCounter</span>
    +							.increment(CounterImpl.COUNTER_1_0);
    +				}
    +			} else {
    +<span class="fc bfc" id="L140" title="All 2 branches covered.">				if (oldTotal == 0) {</span>
    +<span class="fc" id="L141">					lineCounter = lineCounter</span>
    +							.increment(CounterImpl.COUNTER_0_1);
    +				} else {
    +<span class="fc bfc" id="L144" title="All 2 branches covered.">					if (oldCovered == 0) {</span>
    +<span class="fc" id="L145">						lineCounter = lineCounter.increment(-1, +1);</span>
    +					}
    +				}
    +			}
    +		}
    +<span class="fc" id="L150">	}</span>
    +
    +	// === ISourceNode implementation ===
    +
    +	public int getFirstLine() {
    +<span class="fc" id="L155">		return offset;</span>
    +	}
    +
    +	public int getLastLine() {
    +<span class="fc bfc" id="L159" title="All 2 branches covered.">		return lines == null ? UNKNOWN_LINE : (offset + lines.length - 1);</span>
    +	}
    +
    +	public LineImpl getLine(final int nr) {
    +<span class="fc bfc" id="L163" title="All 6 branches covered.">		if (lines == null || nr &lt; getFirstLine() || nr &gt; getLastLine()) {</span>
    +<span class="fc" id="L164">			return LineImpl.EMPTY;</span>
    +		}
    +<span class="fc" id="L166">		final LineImpl line = lines[nr - offset];</span>
    +<span class="fc bfc" id="L167" title="All 2 branches covered.">		return line == null ? LineImpl.EMPTY : line;</span>
    +	}
    +
    +}
    +</pre><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.12.202403270442</span>Code Coverage Report for JaCoCo 0.8.12-SNAPSHOT</div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/trunk/coverage/org.jacoco.core/org.jacoco.core.internal.analysis/StringPool.html b/jacoco/trunk/coverage/org.jacoco.core/org.jacoco.core.internal.analysis/StringPool.html
    new file mode 100644
    index 00000000000..ec0b6554d00
    --- /dev/null
    +++ b/jacoco/trunk/coverage/org.jacoco.core/org.jacoco.core.internal.analysis/StringPool.html
    @@ -0,0 +1 @@
    +<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="en"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../../jacoco-resources/report.gif" type="image/gif"/><title>StringPool</title><script type="text/javascript" src="../../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../../index.html" class="el_report">JaCoCo</a> &gt; <a href="../index.html" class="el_bundle">org.jacoco.core</a> &gt; <a href="index.html" class="el_package">org.jacoco.core.internal.analysis</a> &gt; <span class="el_class">StringPool</span></div><h1>StringPool</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">0 of 62</td><td class="ctr2">100%</td><td class="bar">0 of 10</td><td class="ctr2">100%</td><td class="ctr1">0</td><td class="ctr2">9</td><td class="ctr1">0</td><td class="ctr2">17</td><td class="ctr1">0</td><td class="ctr2">4</td></tr></tfoot><tbody><tr><td id="a1"><a href="StringPool.java.html#L62" class="el_method">get(String[])</a></td><td class="bar" id="b0"><img src="../../jacoco-resources/greenbar.gif" width="120" height="10" title="27" alt="27"/></td><td class="ctr2" id="c0">100%</td><td class="bar" id="d0"><img src="../../jacoco-resources/greenbar.gif" width="120" height="10" title="6" alt="6"/></td><td class="ctr2" id="e0">100%</td><td class="ctr1" id="f0">0</td><td class="ctr2" id="g0">4</td><td class="ctr1" id="h0">0</td><td class="ctr2" id="i0">7</td><td class="ctr1" id="j0">0</td><td class="ctr2" id="k0">1</td></tr><tr><td id="a0"><a href="StringPool.java.html#L41" class="el_method">get(String)</a></td><td class="bar" id="b1"><img src="../../jacoco-resources/greenbar.gif" width="97" height="10" title="22" alt="22"/></td><td class="ctr2" id="c1">100%</td><td class="bar" id="d1"><img src="../../jacoco-resources/greenbar.gif" width="80" height="10" title="4" alt="4"/></td><td class="ctr2" id="e1">100%</td><td class="ctr1" id="f1">0</td><td class="ctr2" id="g1">3</td><td class="ctr1" id="h1">0</td><td class="ctr2" id="i1">7</td><td class="ctr1" id="j1">0</td><td class="ctr2" id="k1">1</td></tr><tr><td id="a3"><a href="StringPool.java.html#L27" class="el_method">StringPool()</a></td><td class="bar" id="b2"><img src="../../jacoco-resources/greenbar.gif" width="40" height="10" title="9" alt="9"/></td><td class="ctr2" id="c2">100%</td><td class="bar" id="d2"/><td class="ctr2" id="e2">n/a</td><td class="ctr1" id="f2">0</td><td class="ctr2" id="g2">1</td><td class="ctr1" id="h2">0</td><td class="ctr2" id="i2">2</td><td class="ctr1" id="j2">0</td><td class="ctr2" id="k2">1</td></tr><tr><td id="a2"><a href="StringPool.java.html#L29" class="el_method">static {...}</a></td><td class="bar" id="b3"><img src="../../jacoco-resources/greenbar.gif" width="17" height="10" title="4" alt="4"/></td><td class="ctr2" id="c3">100%</td><td class="bar" id="d3"/><td class="ctr2" id="e3">n/a</td><td class="ctr1" id="f3">0</td><td class="ctr2" id="g3">1</td><td class="ctr1" id="h3">0</td><td class="ctr2" id="i3">1</td><td class="ctr1" id="j3">0</td><td class="ctr2" id="k3">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.12.202403270442</span>Code Coverage Report for JaCoCo 0.8.12-SNAPSHOT</div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/trunk/coverage/org.jacoco.core/org.jacoco.core.internal.analysis/StringPool.java.html b/jacoco/trunk/coverage/org.jacoco.core/org.jacoco.core.internal.analysis/StringPool.java.html
    new file mode 100644
    index 00000000000..102b90e5770
    --- /dev/null
    +++ b/jacoco/trunk/coverage/org.jacoco.core/org.jacoco.core.internal.analysis/StringPool.java.html
    @@ -0,0 +1,75 @@
    +<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="en"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../../jacoco-resources/report.gif" type="image/gif"/><title>StringPool.java</title><link rel="stylesheet" href="../../jacoco-resources/prettify.css" type="text/css"/><script type="text/javascript" src="../../jacoco-resources/prettify.js"></script></head><body onload="window['PR_TAB_WIDTH']=4;prettyPrint()"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../../index.html" class="el_report">JaCoCo</a> &gt; <a href="../index.html" class="el_bundle">org.jacoco.core</a> &gt; <a href="index.source.html" class="el_package">org.jacoco.core.internal.analysis</a> &gt; <span class="el_source">StringPool.java</span></div><h1>StringPool.java</h1><pre class="source lang-java linenums">/*******************************************************************************
    + * Copyright (c) 2009, 2024 Mountainminds GmbH &amp; Co. KG and Contributors
    + * This program and the accompanying materials are made available under
    + * the terms of the Eclipse Public License 2.0 which is available at
    + * http://www.eclipse.org/legal/epl-2.0
    + *
    + * SPDX-License-Identifier: EPL-2.0
    + *
    + * Contributors:
    + *    Brock Janiczak - analysis and concept
    + *    Marc R. Hoffmann - initial API and implementation
    + *
    + *******************************************************************************/
    +package org.jacoco.core.internal.analysis;
    +
    +import java.util.HashMap;
    +import java.util.Map;
    +
    +/**
    + * Utility to normalize {@link String} instances in a way that if
    + * &lt;code&gt;equals()&lt;/code&gt; is &lt;code&gt;true&lt;/code&gt; for two strings they will be
    + * represented the same instance. While this is exactly what
    + * {@link String#intern()} does, this implementation avoids VM specific side
    + * effects and is supposed to be faster, as neither native code is called nor
    + * synchronization is required for concurrent lookup.
    + */
    +<span class="fc" id="L27">public final class StringPool {</span>
    +
    +<span class="fc" id="L29">	private static final String[] EMPTY_ARRAY = new String[0];</span>
    +
    +<span class="fc" id="L31">	private final Map&lt;String, String&gt; pool = new HashMap&lt;String, String&gt;(1024);</span>
    +
    +	/**
    +	 * Returns a normalized instance that is equal to the given {@link String} .
    +	 *
    +	 * @param s
    +	 *            any string or &lt;code&gt;null&lt;/code&gt;
    +	 * @return normalized instance or &lt;code&gt;null&lt;/code&gt;
    +	 */
    +	public String get(final String s) {
    +<span class="fc bfc" id="L41" title="All 2 branches covered.">		if (s == null) {</span>
    +<span class="fc" id="L42">			return null;</span>
    +		}
    +<span class="fc" id="L44">		final String norm = pool.get(s);</span>
    +<span class="fc bfc" id="L45" title="All 2 branches covered.">		if (norm == null) {</span>
    +<span class="fc" id="L46">			pool.put(s, s);</span>
    +<span class="fc" id="L47">			return s;</span>
    +		}
    +<span class="fc" id="L49">		return norm;</span>
    +	}
    +
    +	/**
    +	 * Returns a modified version of the array with all string slots normalized.
    +	 * It is up to the implementation to replace strings in the array instance
    +	 * or return a new array instance.
    +	 *
    +	 * @param arr
    +	 *            String array or &lt;code&gt;null&lt;/code&gt;
    +	 * @return normalized instance or &lt;code&gt;null&lt;/code&gt;
    +	 */
    +	public String[] get(final String[] arr) {
    +<span class="fc bfc" id="L62" title="All 2 branches covered.">		if (arr == null) {</span>
    +<span class="fc" id="L63">			return null;</span>
    +		}
    +<span class="fc bfc" id="L65" title="All 2 branches covered.">		if (arr.length == 0) {</span>
    +<span class="fc" id="L66">			return EMPTY_ARRAY;</span>
    +		}
    +<span class="fc bfc" id="L68" title="All 2 branches covered.">		for (int i = 0; i &lt; arr.length; i++) {</span>
    +<span class="fc" id="L69">			arr[i] = get(arr[i]);</span>
    +		}
    +<span class="fc" id="L71">		return arr;</span>
    +	}
    +
    +}
    +</pre><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.12.202403270442</span>Code Coverage Report for JaCoCo 0.8.12-SNAPSHOT</div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/trunk/coverage/org.jacoco.core/org.jacoco.core.internal.analysis/index.html b/jacoco/trunk/coverage/org.jacoco.core/org.jacoco.core.internal.analysis/index.html
    new file mode 100644
    index 00000000000..1daf093a2d8
    --- /dev/null
    +++ b/jacoco/trunk/coverage/org.jacoco.core/org.jacoco.core.internal.analysis/index.html
    @@ -0,0 +1 @@
    +<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="en"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../../jacoco-resources/report.gif" type="image/gif"/><title>org.jacoco.core.internal.analysis</title><script type="text/javascript" src="../../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb', 'coveragetable'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="index.source.html" class="el_source">Source Files</a><a href="../../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../../index.html" class="el_report">JaCoCo</a> &gt; <a href="../index.html" class="el_bundle">org.jacoco.core</a> &gt; <span class="el_package">org.jacoco.core.internal.analysis</span></div><h1>org.jacoco.core.internal.analysis</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td><td class="sortable ctr1" id="l" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="m" onclick="toggleSort(this)">Classes</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">37 of 2,295</td><td class="ctr2">98%</td><td class="bar">1 of 190</td><td class="ctr2">99%</td><td class="ctr1">5</td><td class="ctr2">240</td><td class="ctr1">9</td><td class="ctr2">522</td><td class="ctr1">4</td><td class="ctr2">143</td><td class="ctr1">0</td><td class="ctr2">21</td></tr></tfoot><tbody><tr><td id="a14"><a href="MethodAnalyzer.html" class="el_class">MethodAnalyzer</a></td><td class="bar" id="b0"><img src="../../jacoco-resources/redbar.gif" width="6" height="10" title="17" alt="17"/><img src="../../jacoco-resources/greenbar.gif" width="105" height="10" title="263" alt="263"/></td><td class="ctr2" id="c18">93%</td><td class="bar" id="d5"><img src="../../jacoco-resources/greenbar.gif" width="49" height="10" title="14" alt="14"/></td><td class="ctr2" id="e0">100%</td><td class="ctr1" id="f0">3</td><td class="ctr2" id="g0">32</td><td class="ctr1" id="h0">6</td><td class="ctr2" id="i0">82</td><td class="ctr1" id="j0">3</td><td class="ctr2" id="k0">25</td><td class="ctr1" id="l0">0</td><td class="ctr2" id="m0">1</td></tr><tr><td id="a1"><a href="ClassAnalyzer.html" class="el_class">ClassAnalyzer</a></td><td class="bar" id="b1"><img src="../../jacoco-resources/redbar.gif" width="4" height="10" title="10" alt="10"/><img src="../../jacoco-resources/greenbar.gif" width="60" height="10" title="151" alt="151"/></td><td class="ctr2" id="c19">93%</td><td class="bar" id="d12"><img src="../../jacoco-resources/greenbar.gif" width="7" height="10" title="2" alt="2"/></td><td class="ctr2" id="e1">100%</td><td class="ctr1" id="f1">1</td><td class="ctr2" id="g6">16</td><td class="ctr1" id="h1">2</td><td class="ctr2" id="i5">38</td><td class="ctr1" id="j1">1</td><td class="ctr2" id="k1">15</td><td class="ctr1" id="l1">0</td><td class="ctr2" id="m1">1</td></tr><tr><td id="a4"><a href="CounterImpl.html" class="el_class">CounterImpl</a></td><td class="bar" id="b2"><img src="../../jacoco-resources/redbar.gif" width="2" height="10" title="5" alt="5"/><img src="../../jacoco-resources/greenbar.gif" width="87" height="10" title="218" alt="218"/></td><td class="ctr2" id="c17">97%</td><td class="bar" id="d0"><img src="../../jacoco-resources/redbar.gif" width="3" height="10" title="1" alt="1"/><img src="../../jacoco-resources/greenbar.gif" width="81" height="10" title="23" alt="23"/></td><td class="ctr2" id="e12">95%</td><td class="ctr1" id="f2">1</td><td class="ctr2" id="g1">29</td><td class="ctr1" id="h2">1</td><td class="ctr2" id="i3">43</td><td class="ctr1" id="j2">0</td><td class="ctr2" id="k2">15</td><td class="ctr1" id="l2">0</td><td class="ctr2" id="m2">1</td></tr><tr><td id="a6"><a href="CounterImpl$1.html" class="el_class">CounterImpl.new Object() {...}</a></td><td class="bar" id="b3"><img src="../../jacoco-resources/redbar.gif" width="2" height="10" title="5" alt="5"/><img src="../../jacoco-resources/greenbar.gif" width="14" height="10" title="35" alt="35"/></td><td class="ctr2" id="c20">87%</td><td class="bar" id="d13"/><td class="ctr2" id="e13">n/a</td><td class="ctr1" id="f3">0</td><td class="ctr2" id="g20">1</td><td class="ctr1" id="h3">0</td><td class="ctr2" id="i20">1</td><td class="ctr1" id="j3">0</td><td class="ctr2" id="k20">1</td><td class="ctr1" id="l3">0</td><td class="ctr2" id="m3">1</td></tr><tr><td id="a15"><a href="MethodCoverageCalculator.html" class="el_class">MethodCoverageCalculator</a></td><td class="bar" id="b4"><img src="../../jacoco-resources/greenbar.gif" width="120" height="10" title="300" alt="300"/></td><td class="ctr2" id="c0">100%</td><td class="bar" id="d2"><img src="../../jacoco-resources/greenbar.gif" width="105" height="10" title="30" alt="30"/></td><td class="ctr2" id="e2">100%</td><td class="ctr1" id="f4">0</td><td class="ctr2" id="g3">24</td><td class="ctr1" id="h4">0</td><td class="ctr2" id="i1">63</td><td class="ctr1" id="j4">0</td><td class="ctr2" id="k4">9</td><td class="ctr1" id="l4">0</td><td class="ctr2" id="m4">1</td></tr><tr><td id="a19"><a href="SourceNodeImpl.html" class="el_class">SourceNodeImpl</a></td><td class="bar" id="b5"><img src="../../jacoco-resources/greenbar.gif" width="107" height="10" title="269" alt="269"/></td><td class="ctr2" id="c1">100%</td><td class="bar" id="d1"><img src="../../jacoco-resources/greenbar.gif" width="120" height="10" title="34" alt="34"/></td><td class="ctr2" id="e3">100%</td><td class="ctr1" id="f5">0</td><td class="ctr2" id="g2">25</td><td class="ctr1" id="h5">0</td><td class="ctr2" id="i2">56</td><td class="ctr1" id="j5">0</td><td class="ctr2" id="k6">8</td><td class="ctr1" id="l5">0</td><td class="ctr2" id="m5">1</td></tr><tr><td id="a11"><a href="LineImpl.html" class="el_class">LineImpl</a></td><td class="bar" id="b6"><img src="../../jacoco-resources/greenbar.gif" width="70" height="10" title="176" alt="176"/></td><td class="ctr2" id="c2">100%</td><td class="bar" id="d3"><img src="../../jacoco-resources/greenbar.gif" width="77" height="10" title="22" alt="22"/></td><td class="ctr2" id="e4">100%</td><td class="ctr1" id="f6">0</td><td class="ctr2" id="g4">19</td><td class="ctr1" id="h6">0</td><td class="ctr2" id="i8">29</td><td class="ctr1" id="j6">0</td><td class="ctr2" id="k7">8</td><td class="ctr1" id="l6">0</td><td class="ctr2" id="m6">1</td></tr><tr><td id="a8"><a href="Instruction.html" class="el_class">Instruction</a></td><td class="bar" id="b7"><img src="../../jacoco-resources/greenbar.gif" width="61" height="10" title="153" alt="153"/></td><td class="ctr2" id="c3">100%</td><td class="bar" id="d4"><img src="../../jacoco-resources/greenbar.gif" width="56" height="10" title="16" alt="16"/></td><td class="ctr2" id="e5">100%</td><td class="ctr1" id="f7">0</td><td class="ctr2" id="g5">17</td><td class="ctr1" id="h7">0</td><td class="ctr2" id="i4">41</td><td class="ctr1" id="j7">0</td><td class="ctr2" id="k5">9</td><td class="ctr1" id="l7">0</td><td class="ctr2" id="m7">1</td></tr><tr><td id="a9"><a href="InstructionsBuilder.html" class="el_class">InstructionsBuilder</a></td><td class="bar" id="b8"><img src="../../jacoco-resources/greenbar.gif" width="56" height="10" title="140" alt="140"/></td><td class="ctr2" id="c4">100%</td><td class="bar" id="d6"><img src="../../jacoco-resources/greenbar.gif" width="49" height="10" title="14" alt="14"/></td><td class="ctr2" id="e6">100%</td><td class="ctr1" id="f8">0</td><td class="ctr2" id="g8">15</td><td class="ctr1" id="h8">0</td><td class="ctr2" id="i6">35</td><td class="ctr1" id="j8">0</td><td class="ctr2" id="k8">8</td><td class="ctr1" id="l8">0</td><td class="ctr2" id="m8">1</td></tr><tr><td id="a0"><a href="BundleCoverageImpl.html" class="el_class">BundleCoverageImpl</a></td><td class="bar" id="b9"><img src="../../jacoco-resources/greenbar.gif" width="56" height="10" title="140" alt="140"/></td><td class="ctr2" id="c5">100%</td><td class="bar" id="d7"><img src="../../jacoco-resources/greenbar.gif" width="42" height="10" title="12" alt="12"/></td><td class="ctr2" id="e7">100%</td><td class="ctr1" id="f9">0</td><td class="ctr2" id="g9">11</td><td class="ctr1" id="h9">0</td><td class="ctr2" id="i7">33</td><td class="ctr1" id="j9">0</td><td class="ctr2" id="k9">5</td><td class="ctr1" id="l9">0</td><td class="ctr2" id="m9">1</td></tr><tr><td id="a3"><a href="ClassCoverageImpl.html" class="el_class">ClassCoverageImpl</a></td><td class="bar" id="b10"><img src="../../jacoco-resources/greenbar.gif" width="35" height="10" title="89" alt="89"/></td><td class="ctr2" id="c6">100%</td><td class="bar" id="d9"><img src="../../jacoco-resources/greenbar.gif" width="14" height="10" title="4" alt="4"/></td><td class="ctr2" id="e8">100%</td><td class="ctr1" id="f10">0</td><td class="ctr2" id="g7">16</td><td class="ctr1" id="h10">0</td><td class="ctr2" id="i9">28</td><td class="ctr1" id="j10">0</td><td class="ctr2" id="k3">14</td><td class="ctr1" id="l10">0</td><td class="ctr2" id="m10">1</td></tr><tr><td id="a16"><a href="MethodCoverageImpl.html" class="el_class">MethodCoverageImpl</a></td><td class="bar" id="b11"><img src="../../jacoco-resources/greenbar.gif" width="28" height="10" title="71" alt="71"/></td><td class="ctr2" id="c7">100%</td><td class="bar" id="d10"><img src="../../jacoco-resources/greenbar.gif" width="14" height="10" title="4" alt="4"/></td><td class="ctr2" id="e9">100%</td><td class="ctr1" id="f11">0</td><td class="ctr2" id="g11">7</td><td class="ctr1" id="h11">0</td><td class="ctr2" id="i11">16</td><td class="ctr1" id="j11">0</td><td class="ctr2" id="k10">5</td><td class="ctr1" id="l11">0</td><td class="ctr2" id="m11">1</td></tr><tr><td id="a20"><a href="StringPool.html" class="el_class">StringPool</a></td><td class="bar" id="b12"><img src="../../jacoco-resources/greenbar.gif" width="24" height="10" title="62" alt="62"/></td><td class="ctr2" id="c8">100%</td><td class="bar" id="d8"><img src="../../jacoco-resources/greenbar.gif" width="35" height="10" title="10" alt="10"/></td><td class="ctr2" id="e10">100%</td><td class="ctr1" id="f12">0</td><td class="ctr2" id="g10">9</td><td class="ctr1" id="h12">0</td><td class="ctr2" id="i10">17</td><td class="ctr1" id="j12">0</td><td class="ctr2" id="k11">4</td><td class="ctr1" id="l12">0</td><td class="ctr2" id="m12">1</td></tr><tr><td id="a2"><a href="ClassAnalyzer$1.html" class="el_class">ClassAnalyzer.new MethodAnalyzer() {...}</a></td><td class="bar" id="b13"><img src="../../jacoco-resources/greenbar.gif" width="19" height="10" title="48" alt="48"/></td><td class="ctr2" id="c9">100%</td><td class="bar" id="d14"/><td class="ctr2" id="e14">n/a</td><td class="ctr1" id="f13">0</td><td class="ctr2" id="g13">2</td><td class="ctr1" id="h13">0</td><td class="ctr2" id="i16">4</td><td class="ctr1" id="j13">0</td><td class="ctr2" id="k13">2</td><td class="ctr1" id="l13">0</td><td class="ctr2" id="m13">1</td></tr><tr><td id="a17"><a href="PackageCoverageImpl.html" class="el_class">PackageCoverageImpl</a></td><td class="bar" id="b14"><img src="../../jacoco-resources/greenbar.gif" width="14" height="10" title="37" alt="37"/></td><td class="ctr2" id="c10">100%</td><td class="bar" id="d11"><img src="../../jacoco-resources/greenbar.gif" width="14" height="10" title="4" alt="4"/></td><td class="ctr2" id="e11">100%</td><td class="ctr1" id="f14">0</td><td class="ctr2" id="g12">5</td><td class="ctr1" id="h14">0</td><td class="ctr2" id="i12">10</td><td class="ctr1" id="j14">0</td><td class="ctr2" id="k12">3</td><td class="ctr1" id="l14">0</td><td class="ctr2" id="m14">1</td></tr><tr><td id="a10"><a href="InstructionsBuilder$Jump.html" class="el_class">InstructionsBuilder.Jump</a></td><td class="bar" id="b15"><img src="../../jacoco-resources/greenbar.gif" width="8" height="10" title="21" alt="21"/></td><td class="ctr2" id="c11">100%</td><td class="bar" id="d15"/><td class="ctr2" id="e15">n/a</td><td class="ctr1" id="f15">0</td><td class="ctr2" id="g14">2</td><td class="ctr1" id="h15">0</td><td class="ctr2" id="i13">7</td><td class="ctr1" id="j15">0</td><td class="ctr2" id="k14">2</td><td class="ctr1" id="l15">0</td><td class="ctr2" id="m15">1</td></tr><tr><td id="a12"><a href="LineImpl$Fix.html" class="el_class">LineImpl.Fix</a></td><td class="bar" id="b16"><img src="../../jacoco-resources/greenbar.gif" width="8" height="10" title="20" alt="20"/></td><td class="ctr2" id="c12">100%</td><td class="bar" id="d16"/><td class="ctr2" id="e16">n/a</td><td class="ctr1" id="f16">0</td><td class="ctr2" id="g15">2</td><td class="ctr1" id="h16">0</td><td class="ctr2" id="i18">3</td><td class="ctr1" id="j16">0</td><td class="ctr2" id="k15">2</td><td class="ctr1" id="l16">0</td><td class="ctr2" id="m16">1</td></tr><tr><td id="a13"><a href="LineImpl$Var.html" class="el_class">LineImpl.Var</a></td><td class="bar" id="b17"><img src="../../jacoco-resources/greenbar.gif" width="8" height="10" title="20" alt="20"/></td><td class="ctr2" id="c13">100%</td><td class="bar" id="d17"/><td class="ctr2" id="e17">n/a</td><td class="ctr1" id="f17">0</td><td class="ctr2" id="g16">2</td><td class="ctr1" id="h17">0</td><td class="ctr2" id="i14">5</td><td class="ctr1" id="j17">0</td><td class="ctr2" id="k16">2</td><td class="ctr1" id="l17">0</td><td class="ctr2" id="m17">1</td></tr><tr><td id="a7"><a href="CounterImpl$Var.html" class="el_class">CounterImpl.Var</a></td><td class="bar" id="b18"><img src="../../jacoco-resources/greenbar.gif" width="7" height="10" title="19" alt="19"/></td><td class="ctr2" id="c14">100%</td><td class="bar" id="d18"/><td class="ctr2" id="e18">n/a</td><td class="ctr1" id="f18">0</td><td class="ctr2" id="g17">2</td><td class="ctr1" id="h18">0</td><td class="ctr2" id="i15">5</td><td class="ctr1" id="j18">0</td><td class="ctr2" id="k17">2</td><td class="ctr1" id="l18">0</td><td class="ctr2" id="m18">1</td></tr><tr><td id="a5"><a href="CounterImpl$Fix.html" class="el_class">CounterImpl.Fix</a></td><td class="bar" id="b19"><img src="../../jacoco-resources/greenbar.gif" width="6" height="10" title="15" alt="15"/></td><td class="ctr2" id="c15">100%</td><td class="bar" id="d19"/><td class="ctr2" id="e19">n/a</td><td class="ctr1" id="f19">0</td><td class="ctr2" id="g18">2</td><td class="ctr1" id="h19">0</td><td class="ctr2" id="i19">3</td><td class="ctr1" id="j19">0</td><td class="ctr2" id="k18">2</td><td class="ctr1" id="l19">0</td><td class="ctr2" id="m19">1</td></tr><tr><td id="a18"><a href="SourceFileCoverageImpl.html" class="el_class">SourceFileCoverageImpl</a></td><td class="bar" id="b20"><img src="../../jacoco-resources/greenbar.gif" width="4" height="10" title="11" alt="11"/></td><td class="ctr2" id="c16">100%</td><td class="bar" id="d20"/><td class="ctr2" id="e20">n/a</td><td class="ctr1" id="f20">0</td><td class="ctr2" id="g19">2</td><td class="ctr1" id="h20">0</td><td class="ctr2" id="i17">4</td><td class="ctr1" id="j20">0</td><td class="ctr2" id="k19">2</td><td class="ctr1" id="l20">0</td><td class="ctr2" id="m20">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.12.202403270442</span>Code Coverage Report for JaCoCo 0.8.12-SNAPSHOT</div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/trunk/coverage/org.jacoco.core/org.jacoco.core.internal.analysis/index.source.html b/jacoco/trunk/coverage/org.jacoco.core/org.jacoco.core.internal.analysis/index.source.html
    new file mode 100644
    index 00000000000..36a25923dcf
    --- /dev/null
    +++ b/jacoco/trunk/coverage/org.jacoco.core/org.jacoco.core.internal.analysis/index.source.html
    @@ -0,0 +1 @@
    +<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="en"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../../jacoco-resources/report.gif" type="image/gif"/><title>org.jacoco.core.internal.analysis</title><script type="text/javascript" src="../../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb', 'coveragetable'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="index.html" class="el_class">Classes</a><a href="../../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../../index.html" class="el_report">JaCoCo</a> &gt; <a href="../index.html" class="el_bundle">org.jacoco.core</a> &gt; <span class="el_package">org.jacoco.core.internal.analysis</span></div><h1>org.jacoco.core.internal.analysis</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td><td class="sortable ctr1" id="l" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="m" onclick="toggleSort(this)">Classes</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">37 of 2,295</td><td class="ctr2">98%</td><td class="bar">1 of 190</td><td class="ctr2">99%</td><td class="ctr1">5</td><td class="ctr2">240</td><td class="ctr1">9</td><td class="ctr2">522</td><td class="ctr1">4</td><td class="ctr2">143</td><td class="ctr1">0</td><td class="ctr2">21</td></tr></tfoot><tbody><tr><td id="a7"><a href="MethodAnalyzer.java.html" class="el_source">MethodAnalyzer.java</a></td><td class="bar" id="b0"><img src="../../jacoco-resources/redbar.gif" width="6" height="10" title="17" alt="17"/><img src="../../jacoco-resources/greenbar.gif" width="105" height="10" title="263" alt="263"/></td><td class="ctr2" id="c13">93%</td><td class="bar" id="d5"><img src="../../jacoco-resources/greenbar.gif" width="49" height="10" title="14" alt="14"/></td><td class="ctr2" id="e0">100%</td><td class="ctr1" id="f0">3</td><td class="ctr2" id="g1">32</td><td class="ctr1" id="h0">6</td><td class="ctr2" id="i0">82</td><td class="ctr1" id="j0">3</td><td class="ctr2" id="k0">25</td><td class="ctr1" id="l0">0</td><td class="ctr2" id="m4">1</td></tr><tr><td id="a3"><a href="CounterImpl.java.html" class="el_source">CounterImpl.java</a></td><td class="bar" id="b1"><img src="../../jacoco-resources/redbar.gif" width="4" height="10" title="10" alt="10"/><img src="../../jacoco-resources/greenbar.gif" width="114" height="10" title="287" alt="287"/></td><td class="ctr2" id="c11">96%</td><td class="bar" id="d0"><img src="../../jacoco-resources/redbar.gif" width="3" height="10" title="1" alt="1"/><img src="../../jacoco-resources/greenbar.gif" width="81" height="10" title="23" alt="23"/></td><td class="ctr2" id="e12">95%</td><td class="ctr1" id="f1">1</td><td class="ctr2" id="g0">34</td><td class="ctr1" id="h2">1</td><td class="ctr2" id="i3">51</td><td class="ctr1" id="j2">0</td><td class="ctr2" id="k1">20</td><td class="ctr1" id="l1">0</td><td class="ctr2" id="m0">4</td></tr><tr><td id="a1"><a href="ClassAnalyzer.java.html" class="el_source">ClassAnalyzer.java</a></td><td class="bar" id="b2"><img src="../../jacoco-resources/redbar.gif" width="4" height="10" title="10" alt="10"/><img src="../../jacoco-resources/greenbar.gif" width="79" height="10" title="199" alt="199"/></td><td class="ctr2" id="c12">95%</td><td class="bar" id="d12"><img src="../../jacoco-resources/greenbar.gif" width="7" height="10" title="2" alt="2"/></td><td class="ctr2" id="e1">100%</td><td class="ctr1" id="f2">1</td><td class="ctr2" id="g5">18</td><td class="ctr1" id="h1">2</td><td class="ctr2" id="i4">42</td><td class="ctr1" id="j1">1</td><td class="ctr2" id="k2">17</td><td class="ctr1" id="l2">0</td><td class="ctr2" id="m2">2</td></tr><tr><td id="a8"><a href="MethodCoverageCalculator.java.html" class="el_source">MethodCoverageCalculator.java</a></td><td class="bar" id="b3"><img src="../../jacoco-resources/greenbar.gif" width="120" height="10" title="300" alt="300"/></td><td class="ctr2" id="c0">100%</td><td class="bar" id="d2"><img src="../../jacoco-resources/greenbar.gif" width="105" height="10" title="30" alt="30"/></td><td class="ctr2" id="e2">100%</td><td class="ctr1" id="f3">0</td><td class="ctr2" id="g3">24</td><td class="ctr1" id="h3">0</td><td class="ctr2" id="i1">63</td><td class="ctr1" id="j3">0</td><td class="ctr2" id="k6">9</td><td class="ctr1" id="l3">0</td><td class="ctr2" id="m5">1</td></tr><tr><td id="a12"><a href="SourceNodeImpl.java.html" class="el_source">SourceNodeImpl.java</a></td><td class="bar" id="b4"><img src="../../jacoco-resources/greenbar.gif" width="107" height="10" title="269" alt="269"/></td><td class="ctr2" id="c1">100%</td><td class="bar" id="d1"><img src="../../jacoco-resources/greenbar.gif" width="120" height="10" title="34" alt="34"/></td><td class="ctr2" id="e3">100%</td><td class="ctr1" id="f4">0</td><td class="ctr2" id="g2">25</td><td class="ctr1" id="h4">0</td><td class="ctr2" id="i2">56</td><td class="ctr1" id="j4">0</td><td class="ctr2" id="k8">8</td><td class="ctr1" id="l4">0</td><td class="ctr2" id="m6">1</td></tr><tr><td id="a6"><a href="LineImpl.java.html" class="el_source">LineImpl.java</a></td><td class="bar" id="b5"><img src="../../jacoco-resources/greenbar.gif" width="86" height="10" title="216" alt="216"/></td><td class="ctr2" id="c2">100%</td><td class="bar" id="d3"><img src="../../jacoco-resources/greenbar.gif" width="77" height="10" title="22" alt="22"/></td><td class="ctr2" id="e4">100%</td><td class="ctr1" id="f5">0</td><td class="ctr2" id="g4">23</td><td class="ctr1" id="h5">0</td><td class="ctr2" id="i7">37</td><td class="ctr1" id="j5">0</td><td class="ctr2" id="k4">12</td><td class="ctr1" id="l5">0</td><td class="ctr2" id="m1">3</td></tr><tr><td id="a5"><a href="InstructionsBuilder.java.html" class="el_source">InstructionsBuilder.java</a></td><td class="bar" id="b6"><img src="../../jacoco-resources/greenbar.gif" width="64" height="10" title="161" alt="161"/></td><td class="ctr2" id="c3">100%</td><td class="bar" id="d6"><img src="../../jacoco-resources/greenbar.gif" width="49" height="10" title="14" alt="14"/></td><td class="ctr2" id="e5">100%</td><td class="ctr1" id="f6">0</td><td class="ctr2" id="g6">17</td><td class="ctr1" id="h6">0</td><td class="ctr2" id="i5">42</td><td class="ctr1" id="j6">0</td><td class="ctr2" id="k5">10</td><td class="ctr1" id="l6">0</td><td class="ctr2" id="m3">2</td></tr><tr><td id="a4"><a href="Instruction.java.html" class="el_source">Instruction.java</a></td><td class="bar" id="b7"><img src="../../jacoco-resources/greenbar.gif" width="61" height="10" title="153" alt="153"/></td><td class="ctr2" id="c4">100%</td><td class="bar" id="d4"><img src="../../jacoco-resources/greenbar.gif" width="56" height="10" title="16" alt="16"/></td><td class="ctr2" id="e6">100%</td><td class="ctr1" id="f7">0</td><td class="ctr2" id="g7">17</td><td class="ctr1" id="h7">0</td><td class="ctr2" id="i6">41</td><td class="ctr1" id="j7">0</td><td class="ctr2" id="k7">9</td><td class="ctr1" id="l7">0</td><td class="ctr2" id="m7">1</td></tr><tr><td id="a0"><a href="BundleCoverageImpl.java.html" class="el_source">BundleCoverageImpl.java</a></td><td class="bar" id="b8"><img src="../../jacoco-resources/greenbar.gif" width="56" height="10" title="140" alt="140"/></td><td class="ctr2" id="c5">100%</td><td class="bar" id="d7"><img src="../../jacoco-resources/greenbar.gif" width="42" height="10" title="12" alt="12"/></td><td class="ctr2" id="e7">100%</td><td class="ctr1" id="f8">0</td><td class="ctr2" id="g9">11</td><td class="ctr1" id="h8">0</td><td class="ctr2" id="i8">33</td><td class="ctr1" id="j8">0</td><td class="ctr2" id="k9">5</td><td class="ctr1" id="l8">0</td><td class="ctr2" id="m8">1</td></tr><tr><td id="a2"><a href="ClassCoverageImpl.java.html" class="el_source">ClassCoverageImpl.java</a></td><td class="bar" id="b9"><img src="../../jacoco-resources/greenbar.gif" width="35" height="10" title="89" alt="89"/></td><td class="ctr2" id="c6">100%</td><td class="bar" id="d9"><img src="../../jacoco-resources/greenbar.gif" width="14" height="10" title="4" alt="4"/></td><td class="ctr2" id="e8">100%</td><td class="ctr1" id="f9">0</td><td class="ctr2" id="g8">16</td><td class="ctr1" id="h9">0</td><td class="ctr2" id="i9">28</td><td class="ctr1" id="j9">0</td><td class="ctr2" id="k3">14</td><td class="ctr1" id="l9">0</td><td class="ctr2" id="m9">1</td></tr><tr><td id="a9"><a href="MethodCoverageImpl.java.html" class="el_source">MethodCoverageImpl.java</a></td><td class="bar" id="b10"><img src="../../jacoco-resources/greenbar.gif" width="28" height="10" title="71" alt="71"/></td><td class="ctr2" id="c7">100%</td><td class="bar" id="d10"><img src="../../jacoco-resources/greenbar.gif" width="14" height="10" title="4" alt="4"/></td><td class="ctr2" id="e9">100%</td><td class="ctr1" id="f10">0</td><td class="ctr2" id="g11">7</td><td class="ctr1" id="h10">0</td><td class="ctr2" id="i11">16</td><td class="ctr1" id="j10">0</td><td class="ctr2" id="k10">5</td><td class="ctr1" id="l10">0</td><td class="ctr2" id="m10">1</td></tr><tr><td id="a13"><a href="StringPool.java.html" class="el_source">StringPool.java</a></td><td class="bar" id="b11"><img src="../../jacoco-resources/greenbar.gif" width="24" height="10" title="62" alt="62"/></td><td class="ctr2" id="c8">100%</td><td class="bar" id="d8"><img src="../../jacoco-resources/greenbar.gif" width="35" height="10" title="10" alt="10"/></td><td class="ctr2" id="e10">100%</td><td class="ctr1" id="f11">0</td><td class="ctr2" id="g10">9</td><td class="ctr1" id="h11">0</td><td class="ctr2" id="i10">17</td><td class="ctr1" id="j11">0</td><td class="ctr2" id="k11">4</td><td class="ctr1" id="l11">0</td><td class="ctr2" id="m11">1</td></tr><tr><td id="a10"><a href="PackageCoverageImpl.java.html" class="el_source">PackageCoverageImpl.java</a></td><td class="bar" id="b12"><img src="../../jacoco-resources/greenbar.gif" width="14" height="10" title="37" alt="37"/></td><td class="ctr2" id="c9">100%</td><td class="bar" id="d11"><img src="../../jacoco-resources/greenbar.gif" width="14" height="10" title="4" alt="4"/></td><td class="ctr2" id="e11">100%</td><td class="ctr1" id="f12">0</td><td class="ctr2" id="g12">5</td><td class="ctr1" id="h12">0</td><td class="ctr2" id="i12">10</td><td class="ctr1" id="j12">0</td><td class="ctr2" id="k12">3</td><td class="ctr1" id="l12">0</td><td class="ctr2" id="m12">1</td></tr><tr><td id="a11"><a href="SourceFileCoverageImpl.java.html" class="el_source">SourceFileCoverageImpl.java</a></td><td class="bar" id="b13"><img src="../../jacoco-resources/greenbar.gif" width="4" height="10" title="11" alt="11"/></td><td class="ctr2" id="c10">100%</td><td class="bar" id="d13"/><td class="ctr2" id="e13">n/a</td><td class="ctr1" id="f13">0</td><td class="ctr2" id="g13">2</td><td class="ctr1" id="h13">0</td><td class="ctr2" id="i13">4</td><td class="ctr1" id="j13">0</td><td class="ctr2" id="k13">2</td><td class="ctr1" id="l13">0</td><td class="ctr2" id="m13">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.12.202403270442</span>Code Coverage Report for JaCoCo 0.8.12-SNAPSHOT</div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/trunk/coverage/org.jacoco.core/org.jacoco.core.internal.data/CRC64.html b/jacoco/trunk/coverage/org.jacoco.core/org.jacoco.core.internal.data/CRC64.html
    new file mode 100644
    index 00000000000..388ec0fa85c
    --- /dev/null
    +++ b/jacoco/trunk/coverage/org.jacoco.core/org.jacoco.core.internal.data/CRC64.html
    @@ -0,0 +1 @@
    +<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="en"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../../jacoco-resources/report.gif" type="image/gif"/><title>CRC64</title><script type="text/javascript" src="../../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../../index.html" class="el_report">JaCoCo</a> &gt; <a href="../index.html" class="el_bundle">org.jacoco.core</a> &gt; <a href="index.html" class="el_package">org.jacoco.core.internal.data</a> &gt; <span class="el_class">CRC64</span></div><h1>CRC64</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">0 of 109</td><td class="ctr2">100%</td><td class="bar">0 of 14</td><td class="ctr2">100%</td><td class="ctr1">0</td><td class="ctr2">11</td><td class="ctr1">0</td><td class="ctr2">19</td><td class="ctr1">0</td><td class="ctr2">4</td></tr></tfoot><tbody><tr><td id="a1"><a href="CRC64.java.html#L33" class="el_method">static {...}</a></td><td class="bar" id="b0"><img src="../../jacoco-resources/greenbar.gif" width="120" height="10" title="42" alt="42"/></td><td class="ctr2" id="c0">100%</td><td class="bar" id="d0"><img src="../../jacoco-resources/greenbar.gif" width="120" height="10" title="6" alt="6"/></td><td class="ctr2" id="e0">100%</td><td class="ctr1" id="f0">0</td><td class="ctr2" id="g0">4</td><td class="ctr1" id="h0">0</td><td class="ctr2" id="i0">9</td><td class="ctr1" id="j0">0</td><td class="ctr2" id="k0">1</td></tr><tr><td id="a0"><a href="CRC64.java.html#L90" class="el_method">classId(byte[])</a></td><td class="bar" id="b1"><img src="../../jacoco-resources/greenbar.gif" width="105" height="10" title="37" alt="37"/></td><td class="ctr2" id="c1">100%</td><td class="bar" id="d1"><img src="../../jacoco-resources/greenbar.gif" width="120" height="10" title="6" alt="6"/></td><td class="ctr2" id="e1">100%</td><td class="ctr1" id="f1">0</td><td class="ctr2" id="g1">4</td><td class="ctr1" id="h1">0</td><td class="ctr2" id="i1">5</td><td class="ctr1" id="j1">0</td><td class="ctr2" id="k1">1</td></tr><tr><td id="a2"><a href="CRC64.java.html#L57" class="el_method">update(long, byte)</a></td><td class="bar" id="b2"><img src="../../jacoco-resources/greenbar.gif" width="42" height="10" title="15" alt="15"/></td><td class="ctr2" id="c2">100%</td><td class="bar" id="d3"/><td class="ctr2" id="e3">n/a</td><td class="ctr1" id="f2">0</td><td class="ctr2" id="g3">1</td><td class="ctr1" id="h2">0</td><td class="ctr2" id="i3">2</td><td class="ctr1" id="j2">0</td><td class="ctr2" id="k2">1</td></tr><tr><td id="a3"><a href="CRC64.java.html#L76" class="el_method">update(long, byte[], int, int)</a></td><td class="bar" id="b3"><img src="../../jacoco-resources/greenbar.gif" width="42" height="10" title="15" alt="15"/></td><td class="ctr2" id="c3">100%</td><td class="bar" id="d2"><img src="../../jacoco-resources/greenbar.gif" width="40" height="10" title="2" alt="2"/></td><td class="ctr2" id="e2">100%</td><td class="ctr1" id="f3">0</td><td class="ctr2" id="g2">2</td><td class="ctr1" id="h3">0</td><td class="ctr2" id="i2">3</td><td class="ctr1" id="j3">0</td><td class="ctr2" id="k3">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.12.202403270442</span>Code Coverage Report for JaCoCo 0.8.12-SNAPSHOT</div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/trunk/coverage/org.jacoco.core/org.jacoco.core.internal.data/CRC64.java.html b/jacoco/trunk/coverage/org.jacoco.core/org.jacoco.core.internal.data/CRC64.java.html
    new file mode 100644
    index 00000000000..519be58e487
    --- /dev/null
    +++ b/jacoco/trunk/coverage/org.jacoco.core/org.jacoco.core.internal.data/CRC64.java.html
    @@ -0,0 +1,105 @@
    +<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="en"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../../jacoco-resources/report.gif" type="image/gif"/><title>CRC64.java</title><link rel="stylesheet" href="../../jacoco-resources/prettify.css" type="text/css"/><script type="text/javascript" src="../../jacoco-resources/prettify.js"></script></head><body onload="window['PR_TAB_WIDTH']=4;prettyPrint()"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../../index.html" class="el_report">JaCoCo</a> &gt; <a href="../index.html" class="el_bundle">org.jacoco.core</a> &gt; <a href="index.source.html" class="el_package">org.jacoco.core.internal.data</a> &gt; <span class="el_source">CRC64.java</span></div><h1>CRC64.java</h1><pre class="source lang-java linenums">/*******************************************************************************
    + * Copyright (c) 2009, 2024 Mountainminds GmbH &amp; Co. KG and Contributors
    + * This program and the accompanying materials are made available under
    + * the terms of the Eclipse Public License 2.0 which is available at
    + * http://www.eclipse.org/legal/epl-2.0
    + *
    + * SPDX-License-Identifier: EPL-2.0
    + *
    + * Contributors:
    + *    Marc R. Hoffmann - initial API and implementation
    + *
    + *******************************************************************************/
    +package org.jacoco.core.internal.data;
    +
    +import org.objectweb.asm.Opcodes;
    +
    +/**
    + * CRC64 checksum calculator based on the polynom specified in ISO 3309. The
    + * implementation is based on the following publications:
    + *
    + * &lt;ul&gt;
    + * &lt;li&gt;http://en.wikipedia.org/wiki/Cyclic_redundancy_check&lt;/li&gt;
    + * &lt;li&gt;http://www.geocities.com/SiliconValley/Pines/8659/crc.htm&lt;/li&gt;
    + * &lt;/ul&gt;
    + */
    +public final class CRC64 {
    +
    +	private static final long POLY64REV = 0xd800000000000000L;
    +
    +	private static final long[] LOOKUPTABLE;
    +
    +	static {
    +<span class="fc" id="L33">		LOOKUPTABLE = new long[0x100];</span>
    +<span class="fc bfc" id="L34" title="All 2 branches covered.">		for (int i = 0; i &lt; 0x100; i++) {</span>
    +<span class="fc" id="L35">			long v = i;</span>
    +<span class="fc bfc" id="L36" title="All 2 branches covered.">			for (int j = 0; j &lt; 8; j++) {</span>
    +<span class="fc bfc" id="L37" title="All 2 branches covered.">				if ((v &amp; 1) == 1) {</span>
    +<span class="fc" id="L38">					v = (v &gt;&gt;&gt; 1) ^ POLY64REV;</span>
    +				} else {
    +<span class="fc" id="L40">					v = (v &gt;&gt;&gt; 1);</span>
    +				}
    +			}
    +<span class="fc" id="L43">			LOOKUPTABLE[i] = v;</span>
    +		}
    +<span class="fc" id="L45">	}</span>
    +
    +	/**
    +	 * Updates given checksum by given byte.
    +	 *
    +	 * @param sum
    +	 *            initial checksum value
    +	 * @param b
    +	 *            byte to update the checksum with
    +	 * @return updated checksum value
    +	 */
    +	private static long update(final long sum, final byte b) {
    +<span class="fc" id="L57">		final int lookupidx = ((int) sum ^ b) &amp; 0xff;</span>
    +<span class="fc" id="L58">		return (sum &gt;&gt;&gt; 8) ^ LOOKUPTABLE[lookupidx];</span>
    +	}
    +
    +	/**
    +	 * Updates given checksum by bytes from given array.
    +	 *
    +	 * @param sum
    +	 *            initial checksum value
    +	 * @param bytes
    +	 *            byte array to update the checksum with
    +	 * @param fromIndexInclusive
    +	 *            start index in array, inclusive
    +	 * @param toIndexExclusive
    +	 *            end index in array, exclusive
    +	 * @return updated checksum value
    +	 */
    +	private static long update(long sum, final byte[] bytes,
    +			final int fromIndexInclusive, final int toIndexExclusive) {
    +<span class="fc bfc" id="L76" title="All 2 branches covered.">		for (int i = fromIndexInclusive; i &lt; toIndexExclusive; i++) {</span>
    +<span class="fc" id="L77">			sum = update(sum, bytes[i]);</span>
    +		}
    +<span class="fc" id="L79">		return sum;</span>
    +	}
    +
    +	/**
    +	 * Calculates class identifier for the given class bytes.
    +	 *
    +	 * @param bytes
    +	 *            class bytes
    +	 * @return class identifier
    +	 */
    +	public static long classId(final byte[] bytes) {
    +<span class="fc bfc" id="L90" title="All 6 branches covered.">		if (bytes.length &gt; 7 &amp;&amp; bytes[6] == 0x00 &amp;&amp; bytes[7] == Opcodes.V9) {</span>
    +			// To support early versions of Java 9 we did a trick - change of
    +			// Java 9 class files version on Java 8. Unfortunately this also
    +			// affected class identifiers.
    +<span class="fc" id="L94">			long sum = update(0, bytes, 0, 7);</span>
    +<span class="fc" id="L95">			sum = update(sum, (byte) Opcodes.V1_8);</span>
    +<span class="fc" id="L96">			return update(sum, bytes, 8, bytes.length);</span>
    +		}
    +<span class="fc" id="L98">		return update(0, bytes, 0, bytes.length);</span>
    +	}
    +
    +	private CRC64() {
    +	}
    +
    +}
    +</pre><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.12.202403270442</span>Code Coverage Report for JaCoCo 0.8.12-SNAPSHOT</div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/trunk/coverage/org.jacoco.core/org.jacoco.core.internal.data/CompactDataInput.html b/jacoco/trunk/coverage/org.jacoco.core/org.jacoco.core.internal.data/CompactDataInput.html
    new file mode 100644
    index 00000000000..caae4a36910
    --- /dev/null
    +++ b/jacoco/trunk/coverage/org.jacoco.core/org.jacoco.core.internal.data/CompactDataInput.html
    @@ -0,0 +1 @@
    +<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="en"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../../jacoco-resources/report.gif" type="image/gif"/><title>CompactDataInput</title><script type="text/javascript" src="../../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../../index.html" class="el_report">JaCoCo</a> &gt; <a href="../index.html" class="el_bundle">org.jacoco.core</a> &gt; <a href="index.html" class="el_package">org.jacoco.core.internal.data</a> &gt; <span class="el_class">CompactDataInput</span></div><h1>CompactDataInput</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">0 of 61</td><td class="ctr2">100%</td><td class="bar">0 of 8</td><td class="ctr2">100%</td><td class="ctr1">0</td><td class="ctr2">7</td><td class="ctr1">0</td><td class="ctr2">14</td><td class="ctr1">0</td><td class="ctr2">3</td></tr></tfoot><tbody><tr><td id="a1"><a href="CompactDataInput.java.html#L60" class="el_method">readBooleanArray()</a></td><td class="bar" id="b0"><img src="../../jacoco-resources/greenbar.gif" width="120" height="10" title="37" alt="37"/></td><td class="ctr2" id="c0">100%</td><td class="bar" id="d0"><img src="../../jacoco-resources/greenbar.gif" width="120" height="10" title="6" alt="6"/></td><td class="ctr2" id="e0">100%</td><td class="ctr1" id="f0">0</td><td class="ctr2" id="g0">4</td><td class="ctr1" id="h0">0</td><td class="ctr2" id="i0">8</td><td class="ctr1" id="j0">0</td><td class="ctr2" id="k0">1</td></tr><tr><td id="a2"><a href="CompactDataInput.java.html#L45" class="el_method">readVarInt()</a></td><td class="bar" id="b1"><img src="../../jacoco-resources/greenbar.gif" width="64" height="10" title="20" alt="20"/></td><td class="ctr2" id="c1">100%</td><td class="bar" id="d1"><img src="../../jacoco-resources/greenbar.gif" width="40" height="10" title="2" alt="2"/></td><td class="ctr2" id="e1">100%</td><td class="ctr1" id="f1">0</td><td class="ctr2" id="g1">2</td><td class="ctr1" id="h1">0</td><td class="ctr2" id="i1">4</td><td class="ctr1" id="j1">0</td><td class="ctr2" id="k1">1</td></tr><tr><td id="a0"><a href="CompactDataInput.java.html#L34" class="el_method">CompactDataInput(InputStream)</a></td><td class="bar" id="b2"><img src="../../jacoco-resources/greenbar.gif" width="12" height="10" title="4" alt="4"/></td><td class="ctr2" id="c2">100%</td><td class="bar" id="d2"/><td class="ctr2" id="e2">n/a</td><td class="ctr1" id="f2">0</td><td class="ctr2" id="g2">1</td><td class="ctr1" id="h2">0</td><td class="ctr2" id="i2">2</td><td class="ctr1" id="j2">0</td><td class="ctr2" id="k2">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.12.202403270442</span>Code Coverage Report for JaCoCo 0.8.12-SNAPSHOT</div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/trunk/coverage/org.jacoco.core/org.jacoco.core.internal.data/CompactDataInput.java.html b/jacoco/trunk/coverage/org.jacoco.core/org.jacoco.core.internal.data/CompactDataInput.java.html
    new file mode 100644
    index 00000000000..3958e2b3d26
    --- /dev/null
    +++ b/jacoco/trunk/coverage/org.jacoco.core/org.jacoco.core.internal.data/CompactDataInput.java.html
    @@ -0,0 +1,73 @@
    +<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="en"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../../jacoco-resources/report.gif" type="image/gif"/><title>CompactDataInput.java</title><link rel="stylesheet" href="../../jacoco-resources/prettify.css" type="text/css"/><script type="text/javascript" src="../../jacoco-resources/prettify.js"></script></head><body onload="window['PR_TAB_WIDTH']=4;prettyPrint()"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../../index.html" class="el_report">JaCoCo</a> &gt; <a href="../index.html" class="el_bundle">org.jacoco.core</a> &gt; <a href="index.source.html" class="el_package">org.jacoco.core.internal.data</a> &gt; <span class="el_source">CompactDataInput.java</span></div><h1>CompactDataInput.java</h1><pre class="source lang-java linenums">/*******************************************************************************
    + * Copyright (c) 2009, 2024 Mountainminds GmbH &amp; Co. KG and Contributors
    + * This program and the accompanying materials are made available under
    + * the terms of the Eclipse Public License 2.0 which is available at
    + * http://www.eclipse.org/legal/epl-2.0
    + *
    + * SPDX-License-Identifier: EPL-2.0
    + *
    + * Contributors:
    + *    Marc R. Hoffmann - initial API and implementation
    + *
    + *******************************************************************************/
    +package org.jacoco.core.internal.data;
    +
    +import java.io.DataInputStream;
    +import java.io.IOException;
    +import java.io.InputStream;
    +
    +/**
    + * Additional data input methods for compact storage of data structures.
    + *
    + * @see CompactDataOutput
    + */
    +public class CompactDataInput extends DataInputStream {
    +
    +	/**
    +	 * Creates a new {@link CompactDataInput} that uses the specified underlying
    +	 * input stream.
    +	 *
    +	 * @param in
    +	 *            underlying input stream
    +	 */
    +	public CompactDataInput(final InputStream in) {
    +<span class="fc" id="L34">		super(in);</span>
    +<span class="fc" id="L35">	}</span>
    +
    +	/**
    +	 * Reads a variable length representation of an integer value.
    +	 *
    +	 * @return read value
    +	 * @throws IOException
    +	 *             if thrown by the underlying stream
    +	 */
    +	public int readVarInt() throws IOException {
    +<span class="fc" id="L45">		final int value = 0xFF &amp; readByte();</span>
    +<span class="fc bfc" id="L46" title="All 2 branches covered.">		if ((value &amp; 0x80) == 0) {</span>
    +<span class="fc" id="L47">			return value;</span>
    +		}
    +<span class="fc" id="L49">		return (value &amp; 0x7F) | (readVarInt() &lt;&lt; 7);</span>
    +	}
    +
    +	/**
    +	 * Reads a boolean array.
    +	 *
    +	 * @return boolean array
    +	 * @throws IOException
    +	 *             if thrown by the underlying stream
    +	 */
    +	public boolean[] readBooleanArray() throws IOException {
    +<span class="fc" id="L60">		final boolean[] value = new boolean[readVarInt()];</span>
    +<span class="fc" id="L61">		int buffer = 0;</span>
    +<span class="fc bfc" id="L62" title="All 2 branches covered.">		for (int i = 0; i &lt; value.length; i++) {</span>
    +<span class="fc bfc" id="L63" title="All 2 branches covered.">			if ((i % 8) == 0) {</span>
    +<span class="fc" id="L64">				buffer = readByte();</span>
    +			}
    +<span class="fc bfc" id="L66" title="All 2 branches covered.">			value[i] = (buffer &amp; 0x01) != 0;</span>
    +<span class="fc" id="L67">			buffer &gt;&gt;&gt;= 1;</span>
    +		}
    +<span class="fc" id="L69">		return value;</span>
    +	}
    +
    +}
    +</pre><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.12.202403270442</span>Code Coverage Report for JaCoCo 0.8.12-SNAPSHOT</div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/trunk/coverage/org.jacoco.core/org.jacoco.core.internal.data/CompactDataOutput.html b/jacoco/trunk/coverage/org.jacoco.core/org.jacoco.core.internal.data/CompactDataOutput.html
    new file mode 100644
    index 00000000000..7dc3f77fae8
    --- /dev/null
    +++ b/jacoco/trunk/coverage/org.jacoco.core/org.jacoco.core.internal.data/CompactDataOutput.html
    @@ -0,0 +1 @@
    +<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="en"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../../jacoco-resources/report.gif" type="image/gif"/><title>CompactDataOutput</title><script type="text/javascript" src="../../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../../index.html" class="el_report">JaCoCo</a> &gt; <a href="../index.html" class="el_bundle">org.jacoco.core</a> &gt; <a href="index.html" class="el_package">org.jacoco.core.internal.data</a> &gt; <span class="el_class">CompactDataOutput</span></div><h1>CompactDataOutput</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">0 of 74</td><td class="ctr2">100%</td><td class="bar">0 of 10</td><td class="ctr2">100%</td><td class="ctr1">0</td><td class="ctr2">8</td><td class="ctr1">0</td><td class="ctr2">20</td><td class="ctr1">0</td><td class="ctr2">3</td></tr></tfoot><tbody><tr><td id="a1"><a href="CompactDataOutput.java.html#L66" class="el_method">writeBooleanArray(boolean[])</a></td><td class="bar" id="b0"><img src="../../jacoco-resources/greenbar.gif" width="120" height="10" title="49" alt="49"/></td><td class="ctr2" id="c0">100%</td><td class="bar" id="d0"><img src="../../jacoco-resources/greenbar.gif" width="120" height="10" title="8" alt="8"/></td><td class="ctr2" id="e0">100%</td><td class="ctr1" id="f0">0</td><td class="ctr2" id="g0">5</td><td class="ctr1" id="h0">0</td><td class="ctr2" id="i0">13</td><td class="ctr1" id="j0">0</td><td class="ctr2" id="k0">1</td></tr><tr><td id="a2"><a href="CompactDataOutput.java.html#L48" class="el_method">writeVarInt(int)</a></td><td class="bar" id="b1"><img src="../../jacoco-resources/greenbar.gif" width="51" height="10" title="21" alt="21"/></td><td class="ctr2" id="c1">100%</td><td class="bar" id="d1"><img src="../../jacoco-resources/greenbar.gif" width="30" height="10" title="2" alt="2"/></td><td class="ctr2" id="e1">100%</td><td class="ctr1" id="f1">0</td><td class="ctr2" id="g1">2</td><td class="ctr1" id="h1">0</td><td class="ctr2" id="i1">5</td><td class="ctr1" id="j1">0</td><td class="ctr2" id="k1">1</td></tr><tr><td id="a0"><a href="CompactDataOutput.java.html#L34" class="el_method">CompactDataOutput(OutputStream)</a></td><td class="bar" id="b2"><img src="../../jacoco-resources/greenbar.gif" width="9" height="10" title="4" alt="4"/></td><td class="ctr2" id="c2">100%</td><td class="bar" id="d2"/><td class="ctr2" id="e2">n/a</td><td class="ctr1" id="f2">0</td><td class="ctr2" id="g2">1</td><td class="ctr1" id="h2">0</td><td class="ctr2" id="i2">2</td><td class="ctr1" id="j2">0</td><td class="ctr2" id="k2">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.12.202403270442</span>Code Coverage Report for JaCoCo 0.8.12-SNAPSHOT</div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/trunk/coverage/org.jacoco.core/org.jacoco.core.internal.data/CompactDataOutput.java.html b/jacoco/trunk/coverage/org.jacoco.core/org.jacoco.core.internal.data/CompactDataOutput.java.html
    new file mode 100644
    index 00000000000..e6bf85b7ad1
    --- /dev/null
    +++ b/jacoco/trunk/coverage/org.jacoco.core/org.jacoco.core.internal.data/CompactDataOutput.java.html
    @@ -0,0 +1,85 @@
    +<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="en"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../../jacoco-resources/report.gif" type="image/gif"/><title>CompactDataOutput.java</title><link rel="stylesheet" href="../../jacoco-resources/prettify.css" type="text/css"/><script type="text/javascript" src="../../jacoco-resources/prettify.js"></script></head><body onload="window['PR_TAB_WIDTH']=4;prettyPrint()"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../../index.html" class="el_report">JaCoCo</a> &gt; <a href="../index.html" class="el_bundle">org.jacoco.core</a> &gt; <a href="index.source.html" class="el_package">org.jacoco.core.internal.data</a> &gt; <span class="el_source">CompactDataOutput.java</span></div><h1>CompactDataOutput.java</h1><pre class="source lang-java linenums">/*******************************************************************************
    + * Copyright (c) 2009, 2024 Mountainminds GmbH &amp; Co. KG and Contributors
    + * This program and the accompanying materials are made available under
    + * the terms of the Eclipse Public License 2.0 which is available at
    + * http://www.eclipse.org/legal/epl-2.0
    + *
    + * SPDX-License-Identifier: EPL-2.0
    + *
    + * Contributors:
    + *    Marc R. Hoffmann - initial API and implementation
    + *
    + *******************************************************************************/
    +package org.jacoco.core.internal.data;
    +
    +import java.io.DataOutputStream;
    +import java.io.IOException;
    +import java.io.OutputStream;
    +
    +/**
    + * Additional data output methods for compact storage of data structures.
    + *
    + * @see CompactDataInput
    + */
    +public class CompactDataOutput extends DataOutputStream {
    +
    +	/**
    +	 * Creates a new {@link CompactDataOutput} instance that writes data to the
    +	 * specified underlying output stream
    +	 *
    +	 * @param out
    +	 *            underlying output stream
    +	 */
    +	public CompactDataOutput(final OutputStream out) {
    +<span class="fc" id="L34">		super(out);</span>
    +<span class="fc" id="L35">	}</span>
    +
    +	/**
    +	 * Writes a variable length representation of an integer value that reduces
    +	 * the number of written bytes for small positive values. Depending on the
    +	 * given value 1 to 5 bytes will be written to the underlying stream.
    +	 *
    +	 * @param value
    +	 *            value to write
    +	 * @throws IOException
    +	 *             if thrown by the underlying stream
    +	 */
    +	public void writeVarInt(final int value) throws IOException {
    +<span class="fc bfc" id="L48" title="All 2 branches covered.">		if ((value &amp; 0xFFFFFF80) == 0) {</span>
    +<span class="fc" id="L49">			writeByte(value);</span>
    +		} else {
    +<span class="fc" id="L51">			writeByte(0x80 | (value &amp; 0x7F));</span>
    +<span class="fc" id="L52">			writeVarInt(value &gt;&gt;&gt; 7);</span>
    +		}
    +<span class="fc" id="L54">	}</span>
    +
    +	/**
    +	 * Writes a boolean array. Internally a sequence of boolean values is packed
    +	 * into single bits.
    +	 *
    +	 * @param value
    +	 *            boolean array
    +	 * @throws IOException
    +	 *             if thrown by the underlying stream
    +	 */
    +	public void writeBooleanArray(final boolean[] value) throws IOException {
    +<span class="fc" id="L66">		writeVarInt(value.length);</span>
    +<span class="fc" id="L67">		int buffer = 0;</span>
    +<span class="fc" id="L68">		int bufferSize = 0;</span>
    +<span class="fc bfc" id="L69" title="All 2 branches covered.">		for (final boolean b : value) {</span>
    +<span class="fc bfc" id="L70" title="All 2 branches covered.">			if (b) {</span>
    +<span class="fc" id="L71">				buffer |= 0x01 &lt;&lt; bufferSize;</span>
    +			}
    +<span class="fc bfc" id="L73" title="All 2 branches covered.">			if (++bufferSize == 8) {</span>
    +<span class="fc" id="L74">				writeByte(buffer);</span>
    +<span class="fc" id="L75">				buffer = 0;</span>
    +<span class="fc" id="L76">				bufferSize = 0;</span>
    +			}
    +		}
    +<span class="fc bfc" id="L79" title="All 2 branches covered.">		if (bufferSize &gt; 0) {</span>
    +<span class="fc" id="L80">			writeByte(buffer);</span>
    +		}
    +<span class="fc" id="L82">	}</span>
    +
    +}
    +</pre><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.12.202403270442</span>Code Coverage Report for JaCoCo 0.8.12-SNAPSHOT</div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/trunk/coverage/org.jacoco.core/org.jacoco.core.internal.data/index.html b/jacoco/trunk/coverage/org.jacoco.core/org.jacoco.core.internal.data/index.html
    new file mode 100644
    index 00000000000..43a294b61ac
    --- /dev/null
    +++ b/jacoco/trunk/coverage/org.jacoco.core/org.jacoco.core.internal.data/index.html
    @@ -0,0 +1 @@
    +<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="en"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../../jacoco-resources/report.gif" type="image/gif"/><title>org.jacoco.core.internal.data</title><script type="text/javascript" src="../../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb', 'coveragetable'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="index.source.html" class="el_source">Source Files</a><a href="../../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../../index.html" class="el_report">JaCoCo</a> &gt; <a href="../index.html" class="el_bundle">org.jacoco.core</a> &gt; <span class="el_package">org.jacoco.core.internal.data</span></div><h1>org.jacoco.core.internal.data</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td><td class="sortable ctr1" id="l" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="m" onclick="toggleSort(this)">Classes</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">0 of 244</td><td class="ctr2">100%</td><td class="bar">0 of 32</td><td class="ctr2">100%</td><td class="ctr1">0</td><td class="ctr2">26</td><td class="ctr1">0</td><td class="ctr2">53</td><td class="ctr1">0</td><td class="ctr2">10</td><td class="ctr1">0</td><td class="ctr2">3</td></tr></tfoot><tbody><tr><td id="a2"><a href="CRC64.html" class="el_class">CRC64</a></td><td class="bar" id="b0"><img src="../../jacoco-resources/greenbar.gif" width="120" height="10" title="109" alt="109"/></td><td class="ctr2" id="c0">100%</td><td class="bar" id="d0"><img src="../../jacoco-resources/greenbar.gif" width="120" height="10" title="14" alt="14"/></td><td class="ctr2" id="e0">100%</td><td class="ctr1" id="f0">0</td><td class="ctr2" id="g0">11</td><td class="ctr1" id="h0">0</td><td class="ctr2" id="i1">19</td><td class="ctr1" id="j0">0</td><td class="ctr2" id="k0">4</td><td class="ctr1" id="l0">0</td><td class="ctr2" id="m0">1</td></tr><tr><td id="a1"><a href="CompactDataOutput.html" class="el_class">CompactDataOutput</a></td><td class="bar" id="b1"><img src="../../jacoco-resources/greenbar.gif" width="81" height="10" title="74" alt="74"/></td><td class="ctr2" id="c1">100%</td><td class="bar" id="d1"><img src="../../jacoco-resources/greenbar.gif" width="85" height="10" title="10" alt="10"/></td><td class="ctr2" id="e1">100%</td><td class="ctr1" id="f1">0</td><td class="ctr2" id="g1">8</td><td class="ctr1" id="h1">0</td><td class="ctr2" id="i0">20</td><td class="ctr1" id="j1">0</td><td class="ctr2" id="k1">3</td><td class="ctr1" id="l1">0</td><td class="ctr2" id="m1">1</td></tr><tr><td id="a0"><a href="CompactDataInput.html" class="el_class">CompactDataInput</a></td><td class="bar" id="b2"><img src="../../jacoco-resources/greenbar.gif" width="67" height="10" title="61" alt="61"/></td><td class="ctr2" id="c2">100%</td><td class="bar" id="d2"><img src="../../jacoco-resources/greenbar.gif" width="68" height="10" title="8" alt="8"/></td><td class="ctr2" id="e2">100%</td><td class="ctr1" id="f2">0</td><td class="ctr2" id="g2">7</td><td class="ctr1" id="h2">0</td><td class="ctr2" id="i2">14</td><td class="ctr1" id="j2">0</td><td class="ctr2" id="k2">3</td><td class="ctr1" id="l2">0</td><td class="ctr2" id="m2">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.12.202403270442</span>Code Coverage Report for JaCoCo 0.8.12-SNAPSHOT</div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/trunk/coverage/org.jacoco.core/org.jacoco.core.internal.data/index.source.html b/jacoco/trunk/coverage/org.jacoco.core/org.jacoco.core.internal.data/index.source.html
    new file mode 100644
    index 00000000000..7a071b980fd
    --- /dev/null
    +++ b/jacoco/trunk/coverage/org.jacoco.core/org.jacoco.core.internal.data/index.source.html
    @@ -0,0 +1 @@
    +<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="en"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../../jacoco-resources/report.gif" type="image/gif"/><title>org.jacoco.core.internal.data</title><script type="text/javascript" src="../../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb', 'coveragetable'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="index.html" class="el_class">Classes</a><a href="../../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../../index.html" class="el_report">JaCoCo</a> &gt; <a href="../index.html" class="el_bundle">org.jacoco.core</a> &gt; <span class="el_package">org.jacoco.core.internal.data</span></div><h1>org.jacoco.core.internal.data</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td><td class="sortable ctr1" id="l" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="m" onclick="toggleSort(this)">Classes</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">0 of 244</td><td class="ctr2">100%</td><td class="bar">0 of 32</td><td class="ctr2">100%</td><td class="ctr1">0</td><td class="ctr2">26</td><td class="ctr1">0</td><td class="ctr2">53</td><td class="ctr1">0</td><td class="ctr2">10</td><td class="ctr1">0</td><td class="ctr2">3</td></tr></tfoot><tbody><tr><td id="a2"><a href="CRC64.java.html" class="el_source">CRC64.java</a></td><td class="bar" id="b0"><img src="../../jacoco-resources/greenbar.gif" width="120" height="10" title="109" alt="109"/></td><td class="ctr2" id="c0">100%</td><td class="bar" id="d0"><img src="../../jacoco-resources/greenbar.gif" width="120" height="10" title="14" alt="14"/></td><td class="ctr2" id="e0">100%</td><td class="ctr1" id="f0">0</td><td class="ctr2" id="g0">11</td><td class="ctr1" id="h0">0</td><td class="ctr2" id="i1">19</td><td class="ctr1" id="j0">0</td><td class="ctr2" id="k0">4</td><td class="ctr1" id="l0">0</td><td class="ctr2" id="m0">1</td></tr><tr><td id="a1"><a href="CompactDataOutput.java.html" class="el_source">CompactDataOutput.java</a></td><td class="bar" id="b1"><img src="../../jacoco-resources/greenbar.gif" width="81" height="10" title="74" alt="74"/></td><td class="ctr2" id="c1">100%</td><td class="bar" id="d1"><img src="../../jacoco-resources/greenbar.gif" width="85" height="10" title="10" alt="10"/></td><td class="ctr2" id="e1">100%</td><td class="ctr1" id="f1">0</td><td class="ctr2" id="g1">8</td><td class="ctr1" id="h1">0</td><td class="ctr2" id="i0">20</td><td class="ctr1" id="j1">0</td><td class="ctr2" id="k1">3</td><td class="ctr1" id="l1">0</td><td class="ctr2" id="m1">1</td></tr><tr><td id="a0"><a href="CompactDataInput.java.html" class="el_source">CompactDataInput.java</a></td><td class="bar" id="b2"><img src="../../jacoco-resources/greenbar.gif" width="67" height="10" title="61" alt="61"/></td><td class="ctr2" id="c2">100%</td><td class="bar" id="d2"><img src="../../jacoco-resources/greenbar.gif" width="68" height="10" title="8" alt="8"/></td><td class="ctr2" id="e2">100%</td><td class="ctr1" id="f2">0</td><td class="ctr2" id="g2">7</td><td class="ctr1" id="h2">0</td><td class="ctr2" id="i2">14</td><td class="ctr1" id="j2">0</td><td class="ctr2" id="k2">3</td><td class="ctr1" id="l2">0</td><td class="ctr2" id="m2">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.12.202403270442</span>Code Coverage Report for JaCoCo 0.8.12-SNAPSHOT</div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/trunk/coverage/org.jacoco.core/org.jacoco.core.internal.flow/ClassProbesAdapter$1.html b/jacoco/trunk/coverage/org.jacoco.core/org.jacoco.core.internal.flow/ClassProbesAdapter$1.html
    new file mode 100644
    index 00000000000..86b5812c0fa
    --- /dev/null
    +++ b/jacoco/trunk/coverage/org.jacoco.core/org.jacoco.core.internal.flow/ClassProbesAdapter$1.html
    @@ -0,0 +1 @@
    +<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="en"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../../jacoco-resources/report.gif" type="image/gif"/><title>ClassProbesAdapter.new MethodProbesVisitor() {...}</title><script type="text/javascript" src="../../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../../index.html" class="el_report">JaCoCo</a> &gt; <a href="../index.html" class="el_bundle">org.jacoco.core</a> &gt; <a href="index.html" class="el_package">org.jacoco.core.internal.flow</a> &gt; <span class="el_class">ClassProbesAdapter.new MethodProbesVisitor() {...}</span></div><h1>ClassProbesAdapter.new MethodProbesVisitor() {...}</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">0 of 3</td><td class="ctr2">100%</td><td class="bar">0 of 0</td><td class="ctr2">n/a</td><td class="ctr1">0</td><td class="ctr2">1</td><td class="ctr1">0</td><td class="ctr2">1</td><td class="ctr1">0</td><td class="ctr2">1</td></tr></tfoot><tbody><tr><td id="a0"><a href="ClassProbesAdapter.java.html#L27" class="el_method">{...}</a></td><td class="bar" id="b0"><img src="../../jacoco-resources/greenbar.gif" width="120" height="10" title="3" alt="3"/></td><td class="ctr2" id="c0">100%</td><td class="bar" id="d0"/><td class="ctr2" id="e0">n/a</td><td class="ctr1" id="f0">0</td><td class="ctr2" id="g0">1</td><td class="ctr1" id="h0">0</td><td class="ctr2" id="i0">1</td><td class="ctr1" id="j0">0</td><td class="ctr2" id="k0">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.12.202403270442</span>Code Coverage Report for JaCoCo 0.8.12-SNAPSHOT</div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/trunk/coverage/org.jacoco.core/org.jacoco.core.internal.flow/ClassProbesAdapter$2.html b/jacoco/trunk/coverage/org.jacoco.core/org.jacoco.core.internal.flow/ClassProbesAdapter$2.html
    new file mode 100644
    index 00000000000..f3b8d1a1c38
    --- /dev/null
    +++ b/jacoco/trunk/coverage/org.jacoco.core/org.jacoco.core.internal.flow/ClassProbesAdapter$2.html
    @@ -0,0 +1 @@
    +<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="en"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../../jacoco-resources/report.gif" type="image/gif"/><title>ClassProbesAdapter.new MethodSanitizer() {...}</title><script type="text/javascript" src="../../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../../index.html" class="el_report">JaCoCo</a> &gt; <a href="../index.html" class="el_bundle">org.jacoco.core</a> &gt; <a href="index.html" class="el_package">org.jacoco.core.internal.flow</a> &gt; <span class="el_class">ClassProbesAdapter.new MethodSanitizer() {...}</span></div><h1>ClassProbesAdapter.new MethodSanitizer() {...}</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">0 of 60</td><td class="ctr2">100%</td><td class="bar">0 of 2</td><td class="ctr2">100%</td><td class="ctr1">0</td><td class="ctr2">3</td><td class="ctr1">0</td><td class="ctr2">11</td><td class="ctr1">0</td><td class="ctr2">2</td></tr></tfoot><tbody><tr><td id="a0"><a href="ClassProbesAdapter.java.html#L80" class="el_method">visitEnd()</a></td><td class="bar" id="b0"><img src="../../jacoco-resources/greenbar.gif" width="120" height="10" title="45" alt="45"/></td><td class="ctr2" id="c0">100%</td><td class="bar" id="d0"><img src="../../jacoco-resources/greenbar.gif" width="120" height="10" title="2" alt="2"/></td><td class="ctr2" id="e0">100%</td><td class="ctr1" id="f0">0</td><td class="ctr2" id="g0">2</td><td class="ctr1" id="h0">0</td><td class="ctr2" id="i0">10</td><td class="ctr1" id="j0">0</td><td class="ctr2" id="k0">1</td></tr><tr><td id="a1"><a href="ClassProbesAdapter.java.html#L79" class="el_method">{...}</a></td><td class="bar" id="b1"><img src="../../jacoco-resources/greenbar.gif" width="40" height="10" title="15" alt="15"/></td><td class="ctr2" id="c1">100%</td><td class="bar" id="d1"/><td class="ctr2" id="e1">n/a</td><td class="ctr1" id="f1">0</td><td class="ctr2" id="g1">1</td><td class="ctr1" id="h1">0</td><td class="ctr2" id="i1">1</td><td class="ctr1" id="j1">0</td><td class="ctr2" id="k1">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.12.202403270442</span>Code Coverage Report for JaCoCo 0.8.12-SNAPSHOT</div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/trunk/coverage/org.jacoco.core/org.jacoco.core.internal.flow/ClassProbesAdapter.html b/jacoco/trunk/coverage/org.jacoco.core/org.jacoco.core.internal.flow/ClassProbesAdapter.html
    new file mode 100644
    index 00000000000..362522f7774
    --- /dev/null
    +++ b/jacoco/trunk/coverage/org.jacoco.core/org.jacoco.core.internal.flow/ClassProbesAdapter.html
    @@ -0,0 +1 @@
    +<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="en"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../../jacoco-resources/report.gif" type="image/gif"/><title>ClassProbesAdapter</title><script type="text/javascript" src="../../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../../index.html" class="el_report">JaCoCo</a> &gt; <a href="../index.html" class="el_bundle">org.jacoco.core</a> &gt; <a href="index.html" class="el_package">org.jacoco.core.internal.flow</a> &gt; <span class="el_class">ClassProbesAdapter</span></div><h1>ClassProbesAdapter</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">0 of 75</td><td class="ctr2">100%</td><td class="bar">0 of 2</td><td class="ctr2">100%</td><td class="ctr1">0</td><td class="ctr2">7</td><td class="ctr1">0</td><td class="ctr2">18</td><td class="ctr1">0</td><td class="ctr2">6</td></tr></tfoot><tbody><tr><td id="a5"><a href="ClassProbesAdapter.java.html#L66" class="el_method">visitMethod(int, String, String, String, String[])</a></td><td class="bar" id="b0"><img src="../../jacoco-resources/greenbar.gif" width="120" height="10" title="28" alt="28"/></td><td class="ctr2" id="c0">100%</td><td class="bar" id="d0"><img src="../../jacoco-resources/greenbar.gif" width="120" height="10" title="2" alt="2"/></td><td class="ctr2" id="e0">100%</td><td class="ctr1" id="f0">0</td><td class="ctr2" id="g0">2</td><td class="ctr1" id="h0">0</td><td class="ctr2" id="i0">5</td><td class="ctr1" id="j0">0</td><td class="ctr2" id="k0">1</td></tr><tr><td id="a0"><a href="ClassProbesAdapter.java.html#L34" class="el_method">ClassProbesAdapter(ClassProbesVisitor, boolean)</a></td><td class="bar" id="b1"><img src="../../jacoco-resources/greenbar.gif" width="60" height="10" title="14" alt="14"/></td><td class="ctr2" id="c1">100%</td><td class="bar" id="d1"/><td class="ctr2" id="e1">n/a</td><td class="ctr1" id="f1">0</td><td class="ctr2" id="g1">1</td><td class="ctr1" id="h1">0</td><td class="ctr2" id="i1">5</td><td class="ctr1" id="j1">0</td><td class="ctr2" id="k1">1</td></tr><tr><td id="a3"><a href="ClassProbesAdapter.java.html#L57" class="el_method">visit(int, int, String, String, String, String[])</a></td><td class="bar" id="b2"><img src="../../jacoco-resources/greenbar.gif" width="51" height="10" title="12" alt="12"/></td><td class="ctr2" id="c2">100%</td><td class="bar" id="d2"/><td class="ctr2" id="e2">n/a</td><td class="ctr1" id="f2">0</td><td class="ctr2" id="g2">1</td><td class="ctr1" id="h2">0</td><td class="ctr2" id="i2">3</td><td class="ctr1" id="j2">0</td><td class="ctr2" id="k2">1</td></tr><tr><td id="a4"><a href="ClassProbesAdapter.java.html#L99" class="el_method">visitEnd()</a></td><td class="bar" id="b3"><img src="../../jacoco-resources/greenbar.gif" width="34" height="10" title="8" alt="8"/></td><td class="ctr2" id="c3">100%</td><td class="bar" id="d3"/><td class="ctr2" id="e3">n/a</td><td class="ctr1" id="f3">0</td><td class="ctr2" id="g3">1</td><td class="ctr1" id="h3">0</td><td class="ctr2" id="i3">3</td><td class="ctr1" id="j3">0</td><td class="ctr2" id="k3">1</td></tr><tr><td id="a1"><a href="ClassProbesAdapter.java.html#L106" class="el_method">nextId()</a></td><td class="bar" id="b4"><img src="../../jacoco-resources/greenbar.gif" width="34" height="10" title="8" alt="8"/></td><td class="ctr2" id="c4">100%</td><td class="bar" id="d4"/><td class="ctr2" id="e4">n/a</td><td class="ctr1" id="f4">0</td><td class="ctr2" id="g4">1</td><td class="ctr1" id="h4">0</td><td class="ctr2" id="i4">1</td><td class="ctr1" id="j4">0</td><td class="ctr2" id="k4">1</td></tr><tr><td id="a2"><a href="ClassProbesAdapter.java.html#L27" class="el_method">static {...}</a></td><td class="bar" id="b5"><img src="../../jacoco-resources/greenbar.gif" width="21" height="10" title="5" alt="5"/></td><td class="ctr2" id="c5">100%</td><td class="bar" id="d5"/><td class="ctr2" id="e5">n/a</td><td class="ctr1" id="f5">0</td><td class="ctr2" id="g5">1</td><td class="ctr1" id="h5">0</td><td class="ctr2" id="i5">1</td><td class="ctr1" id="j5">0</td><td class="ctr2" id="k5">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.12.202403270442</span>Code Coverage Report for JaCoCo 0.8.12-SNAPSHOT</div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/trunk/coverage/org.jacoco.core/org.jacoco.core.internal.flow/ClassProbesAdapter.java.html b/jacoco/trunk/coverage/org.jacoco.core/org.jacoco.core.internal.flow/ClassProbesAdapter.java.html
    new file mode 100644
    index 00000000000..36fc6d2a025
    --- /dev/null
    +++ b/jacoco/trunk/coverage/org.jacoco.core/org.jacoco.core.internal.flow/ClassProbesAdapter.java.html
    @@ -0,0 +1,110 @@
    +<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="en"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../../jacoco-resources/report.gif" type="image/gif"/><title>ClassProbesAdapter.java</title><link rel="stylesheet" href="../../jacoco-resources/prettify.css" type="text/css"/><script type="text/javascript" src="../../jacoco-resources/prettify.js"></script></head><body onload="window['PR_TAB_WIDTH']=4;prettyPrint()"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../../index.html" class="el_report">JaCoCo</a> &gt; <a href="../index.html" class="el_bundle">org.jacoco.core</a> &gt; <a href="index.source.html" class="el_package">org.jacoco.core.internal.flow</a> &gt; <span class="el_source">ClassProbesAdapter.java</span></div><h1>ClassProbesAdapter.java</h1><pre class="source lang-java linenums">/*******************************************************************************
    + * Copyright (c) 2009, 2024 Mountainminds GmbH &amp; Co. KG and Contributors
    + * This program and the accompanying materials are made available under
    + * the terms of the Eclipse Public License 2.0 which is available at
    + * http://www.eclipse.org/legal/epl-2.0
    + *
    + * SPDX-License-Identifier: EPL-2.0
    + *
    + * Contributors:
    + *    Marc R. Hoffmann - initial API and implementation
    + *
    + *******************************************************************************/
    +package org.jacoco.core.internal.flow;
    +
    +import org.jacoco.core.internal.instr.InstrSupport;
    +import org.objectweb.asm.ClassVisitor;
    +import org.objectweb.asm.MethodVisitor;
    +import org.objectweb.asm.commons.AnalyzerAdapter;
    +
    +/**
    + * A {@link org.objectweb.asm.ClassVisitor} that calculates probes for every
    + * method.
    + */
    +public class ClassProbesAdapter extends ClassVisitor
    +		implements IProbeIdGenerator {
    +
    +<span class="fc" id="L27">	private static final MethodProbesVisitor EMPTY_METHOD_PROBES_VISITOR = new MethodProbesVisitor() {</span>
    +	};
    +
    +	private final ClassProbesVisitor cv;
    +
    +	private final boolean trackFrames;
    +
    +<span class="fc" id="L34">	private int counter = 0;</span>
    +
    +	private String name;
    +
    +	/**
    +	 * Creates a new adapter that delegates to the given visitor.
    +	 *
    +	 * @param cv
    +	 *            instance to delegate to
    +	 * @param trackFrames
    +	 *            if &lt;code&gt;true&lt;/code&gt; stackmap frames are tracked and provided
    +	 */
    +	public ClassProbesAdapter(final ClassProbesVisitor cv,
    +			final boolean trackFrames) {
    +<span class="fc" id="L48">		super(InstrSupport.ASM_API_VERSION, cv);</span>
    +<span class="fc" id="L49">		this.cv = cv;</span>
    +<span class="fc" id="L50">		this.trackFrames = trackFrames;</span>
    +<span class="fc" id="L51">	}</span>
    +
    +	@Override
    +	public void visit(final int version, final int access, final String name,
    +			final String signature, final String superName,
    +			final String[] interfaces) {
    +<span class="fc" id="L57">		this.name = name;</span>
    +<span class="fc" id="L58">		super.visit(version, access, name, signature, superName, interfaces);</span>
    +<span class="fc" id="L59">	}</span>
    +
    +	@Override
    +	public final MethodVisitor visitMethod(final int access, final String name,
    +			final String desc, final String signature,
    +			final String[] exceptions) {
    +		final MethodProbesVisitor methodProbes;
    +<span class="fc" id="L66">		final MethodProbesVisitor mv = cv.visitMethod(access, name, desc,</span>
    +				signature, exceptions);
    +<span class="fc bfc" id="L68" title="All 2 branches covered.">		if (mv == null) {</span>
    +			// We need to visit the method in any case, otherwise probe ids
    +			// are not reproducible
    +<span class="fc" id="L71">			methodProbes = EMPTY_METHOD_PROBES_VISITOR;</span>
    +		} else {
    +<span class="fc" id="L73">			methodProbes = mv;</span>
    +		}
    +<span class="fc" id="L75">		return new MethodSanitizer(null, access, name, desc, signature,</span>
    +				exceptions) {
    +
    +			@Override
    +<span class="fc" id="L79">			public void visitEnd() {</span>
    +<span class="fc" id="L80">				super.visitEnd();</span>
    +<span class="fc" id="L81">				LabelFlowAnalyzer.markLabels(this);</span>
    +<span class="fc" id="L82">				final MethodProbesAdapter probesAdapter = new MethodProbesAdapter(</span>
    +						methodProbes, ClassProbesAdapter.this);
    +<span class="fc bfc" id="L84" title="All 2 branches covered.">				if (trackFrames) {</span>
    +<span class="fc" id="L85">					final AnalyzerAdapter analyzer = new AnalyzerAdapter(</span>
    +							ClassProbesAdapter.this.name, access, name, desc,
    +							probesAdapter);
    +<span class="fc" id="L88">					probesAdapter.setAnalyzer(analyzer);</span>
    +<span class="fc" id="L89">					methodProbes.accept(this, analyzer);</span>
    +<span class="fc" id="L90">				} else {</span>
    +<span class="fc" id="L91">					methodProbes.accept(this, probesAdapter);</span>
    +				}
    +<span class="fc" id="L93">			}</span>
    +		};
    +	}
    +
    +	@Override
    +	public void visitEnd() {
    +<span class="fc" id="L99">		cv.visitTotalProbeCount(counter);</span>
    +<span class="fc" id="L100">		super.visitEnd();</span>
    +<span class="fc" id="L101">	}</span>
    +
    +	// === IProbeIdGenerator ===
    +
    +	public int nextId() {
    +<span class="fc" id="L106">		return counter++;</span>
    +	}
    +
    +}
    +</pre><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.12.202403270442</span>Code Coverage Report for JaCoCo 0.8.12-SNAPSHOT</div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/trunk/coverage/org.jacoco.core/org.jacoco.core.internal.flow/ClassProbesVisitor.html b/jacoco/trunk/coverage/org.jacoco.core/org.jacoco.core.internal.flow/ClassProbesVisitor.html
    new file mode 100644
    index 00000000000..551be4af50d
    --- /dev/null
    +++ b/jacoco/trunk/coverage/org.jacoco.core/org.jacoco.core.internal.flow/ClassProbesVisitor.html
    @@ -0,0 +1 @@
    +<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="en"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../../jacoco-resources/report.gif" type="image/gif"/><title>ClassProbesVisitor</title><script type="text/javascript" src="../../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../../index.html" class="el_report">JaCoCo</a> &gt; <a href="../index.html" class="el_bundle">org.jacoco.core</a> &gt; <a href="index.html" class="el_package">org.jacoco.core.internal.flow</a> &gt; <span class="el_class">ClassProbesVisitor</span></div><h1>ClassProbesVisitor</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">0 of 9</td><td class="ctr2">100%</td><td class="bar">0 of 0</td><td class="ctr2">n/a</td><td class="ctr1">0</td><td class="ctr2">2</td><td class="ctr1">0</td><td class="ctr2">4</td><td class="ctr1">0</td><td class="ctr2">2</td></tr></tfoot><tbody><tr><td id="a1"><a href="ClassProbesVisitor.java.html#L38" class="el_method">ClassProbesVisitor(ClassVisitor)</a></td><td class="bar" id="b0"><img src="../../jacoco-resources/greenbar.gif" width="120" height="10" title="5" alt="5"/></td><td class="ctr2" id="c0">100%</td><td class="bar" id="d0"/><td class="ctr2" id="e0">n/a</td><td class="ctr1" id="f0">0</td><td class="ctr2" id="g0">1</td><td class="ctr1" id="h0">0</td><td class="ctr2" id="i0">2</td><td class="ctr1" id="j0">0</td><td class="ctr2" id="k0">1</td></tr><tr><td id="a0"><a href="ClassProbesVisitor.java.html#L28" class="el_method">ClassProbesVisitor()</a></td><td class="bar" id="b1"><img src="../../jacoco-resources/greenbar.gif" width="96" height="10" title="4" alt="4"/></td><td class="ctr2" id="c1">100%</td><td class="bar" id="d1"/><td class="ctr2" id="e1">n/a</td><td class="ctr1" id="f1">0</td><td class="ctr2" id="g1">1</td><td class="ctr1" id="h1">0</td><td class="ctr2" id="i1">2</td><td class="ctr1" id="j1">0</td><td class="ctr2" id="k1">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.12.202403270442</span>Code Coverage Report for JaCoCo 0.8.12-SNAPSHOT</div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/trunk/coverage/org.jacoco.core/org.jacoco.core.internal.flow/ClassProbesVisitor.java.html b/jacoco/trunk/coverage/org.jacoco.core/org.jacoco.core.internal.flow/ClassProbesVisitor.java.html
    new file mode 100644
    index 00000000000..d9331c52a03
    --- /dev/null
    +++ b/jacoco/trunk/coverage/org.jacoco.core/org.jacoco.core.internal.flow/ClassProbesVisitor.java.html
    @@ -0,0 +1,59 @@
    +<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="en"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../../jacoco-resources/report.gif" type="image/gif"/><title>ClassProbesVisitor.java</title><link rel="stylesheet" href="../../jacoco-resources/prettify.css" type="text/css"/><script type="text/javascript" src="../../jacoco-resources/prettify.js"></script></head><body onload="window['PR_TAB_WIDTH']=4;prettyPrint()"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../../index.html" class="el_report">JaCoCo</a> &gt; <a href="../index.html" class="el_bundle">org.jacoco.core</a> &gt; <a href="index.source.html" class="el_package">org.jacoco.core.internal.flow</a> &gt; <span class="el_source">ClassProbesVisitor.java</span></div><h1>ClassProbesVisitor.java</h1><pre class="source lang-java linenums">/*******************************************************************************
    + * Copyright (c) 2009, 2024 Mountainminds GmbH &amp; Co. KG and Contributors
    + * This program and the accompanying materials are made available under
    + * the terms of the Eclipse Public License 2.0 which is available at
    + * http://www.eclipse.org/legal/epl-2.0
    + *
    + * SPDX-License-Identifier: EPL-2.0
    + *
    + * Contributors:
    + *    Marc R. Hoffmann - initial API and implementation
    + *
    + *******************************************************************************/
    +package org.jacoco.core.internal.flow;
    +
    +import org.jacoco.core.internal.instr.InstrSupport;
    +import org.objectweb.asm.ClassVisitor;
    +
    +/**
    + * A {@link ClassVisitor} with additional methods to get probe insertion
    + * information for each method
    + */
    +public abstract class ClassProbesVisitor extends ClassVisitor {
    +
    +	/**
    +	 * New visitor instance without delegate visitor.
    +	 */
    +	public ClassProbesVisitor() {
    +<span class="fc" id="L28">		this(null);</span>
    +<span class="fc" id="L29">	}</span>
    +
    +	/**
    +	 * New visitor instance that delegates to the given visitor.
    +	 *
    +	 * @param cv
    +	 *            optional next visitor in chain
    +	 */
    +	public ClassProbesVisitor(final ClassVisitor cv) {
    +<span class="fc" id="L38">		super(InstrSupport.ASM_API_VERSION, cv);</span>
    +<span class="fc" id="L39">	}</span>
    +
    +	/**
    +	 * When visiting a method we need a {@link MethodProbesVisitor} to handle
    +	 * the probes of that method.
    +	 */
    +	@Override
    +	public abstract MethodProbesVisitor visitMethod(int access, String name,
    +			String desc, String signature, String[] exceptions);
    +
    +	/**
    +	 * Reports the total number of encountered probes. This method is called
    +	 * just before {@link #visitEnd()}
    +	 *
    +	 * @param count
    +	 *            total number of probes
    +	 */
    +	public abstract void visitTotalProbeCount(int count);
    +
    +}
    +</pre><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.12.202403270442</span>Code Coverage Report for JaCoCo 0.8.12-SNAPSHOT</div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/trunk/coverage/org.jacoco.core/org.jacoco.core.internal.flow/FrameSnapshot.html b/jacoco/trunk/coverage/org.jacoco.core/org.jacoco.core.internal.flow/FrameSnapshot.html
    new file mode 100644
    index 00000000000..427b73418a6
    --- /dev/null
    +++ b/jacoco/trunk/coverage/org.jacoco.core/org.jacoco.core.internal.flow/FrameSnapshot.html
    @@ -0,0 +1 @@
    +<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="en"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../../jacoco-resources/report.gif" type="image/gif"/><title>FrameSnapshot</title><script type="text/javascript" src="../../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../../index.html" class="el_report">JaCoCo</a> &gt; <a href="../index.html" class="el_bundle">org.jacoco.core</a> &gt; <a href="index.html" class="el_package">org.jacoco.core.internal.flow</a> &gt; <span class="el_class">FrameSnapshot</span></div><h1>FrameSnapshot</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">0 of 97</td><td class="ctr2">100%</td><td class="bar">0 of 12</td><td class="ctr2">100%</td><td class="ctr1">0</td><td class="ctr2">11</td><td class="ctr1">0</td><td class="ctr2">22</td><td class="ctr1">0</td><td class="ctr2">5</td></tr></tfoot><tbody><tr><td id="a3"><a href="FrameSnapshot.java.html#L64" class="el_method">reduce(List, int)</a></td><td class="bar" id="b0"><img src="../../jacoco-resources/greenbar.gif" width="120" height="10" title="41" alt="41"/></td><td class="ctr2" id="c0">100%</td><td class="bar" id="d0"><img src="../../jacoco-resources/greenbar.gif" width="120" height="10" title="6" alt="6"/></td><td class="ctr2" id="e0">100%</td><td class="ctr1" id="f0">0</td><td class="ctr2" id="g0">4</td><td class="ctr1" id="h0">0</td><td class="ctr2" id="i0">9</td><td class="ctr1" id="j0">0</td><td class="ctr2" id="k0">1</td></tr><tr><td id="a1"><a href="FrameSnapshot.java.html#L49" class="el_method">create(AnalyzerAdapter, int)</a></td><td class="bar" id="b1"><img src="../../jacoco-resources/greenbar.gif" width="67" height="10" title="23" alt="23"/></td><td class="ctr2" id="c1">100%</td><td class="bar" id="d1"><img src="../../jacoco-resources/greenbar.gif" width="80" height="10" title="4" alt="4"/></td><td class="ctr2" id="e1">100%</td><td class="ctr1" id="f1">0</td><td class="ctr2" id="g1">3</td><td class="ctr1" id="h1">0</td><td class="ctr2" id="i1">5</td><td class="ctr1" id="j1">0</td><td class="ctr2" id="k1">1</td></tr><tr><td id="a0"><a href="FrameSnapshot.java.html#L79" class="el_method">accept(MethodVisitor)</a></td><td class="bar" id="b2"><img src="../../jacoco-resources/greenbar.gif" width="49" height="10" title="17" alt="17"/></td><td class="ctr2" id="c2">100%</td><td class="bar" id="d2"><img src="../../jacoco-resources/greenbar.gif" width="40" height="10" title="2" alt="2"/></td><td class="ctr2" id="e2">100%</td><td class="ctr1" id="f2">0</td><td class="ctr2" id="g2">2</td><td class="ctr1" id="h2">0</td><td class="ctr2" id="i3">3</td><td class="ctr1" id="j2">0</td><td class="ctr2" id="k2">1</td></tr><tr><td id="a2"><a href="FrameSnapshot.java.html#L33" class="el_method">FrameSnapshot(Object[], Object[])</a></td><td class="bar" id="b3"><img src="../../jacoco-resources/greenbar.gif" width="26" height="10" title="9" alt="9"/></td><td class="ctr2" id="c3">100%</td><td class="bar" id="d3"/><td class="ctr2" id="e3">n/a</td><td class="ctr1" id="f3">0</td><td class="ctr2" id="g3">1</td><td class="ctr1" id="h3">0</td><td class="ctr2" id="i2">4</td><td class="ctr1" id="j3">0</td><td class="ctr2" id="k3">1</td></tr><tr><td id="a4"><a href="FrameSnapshot.java.html#L28" class="el_method">static {...}</a></td><td class="bar" id="b4"><img src="../../jacoco-resources/greenbar.gif" width="20" height="10" title="7" alt="7"/></td><td class="ctr2" id="c4">100%</td><td class="bar" id="d4"/><td class="ctr2" id="e4">n/a</td><td class="ctr1" id="f4">0</td><td class="ctr2" id="g4">1</td><td class="ctr1" id="h4">0</td><td class="ctr2" id="i4">1</td><td class="ctr1" id="j4">0</td><td class="ctr2" id="k4">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.12.202403270442</span>Code Coverage Report for JaCoCo 0.8.12-SNAPSHOT</div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/trunk/coverage/org.jacoco.core/org.jacoco.core.internal.flow/FrameSnapshot.java.html b/jacoco/trunk/coverage/org.jacoco.core/org.jacoco.core.internal.flow/FrameSnapshot.java.html
    new file mode 100644
    index 00000000000..b7584a38654
    --- /dev/null
    +++ b/jacoco/trunk/coverage/org.jacoco.core/org.jacoco.core.internal.flow/FrameSnapshot.java.html
    @@ -0,0 +1,86 @@
    +<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="en"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../../jacoco-resources/report.gif" type="image/gif"/><title>FrameSnapshot.java</title><link rel="stylesheet" href="../../jacoco-resources/prettify.css" type="text/css"/><script type="text/javascript" src="../../jacoco-resources/prettify.js"></script></head><body onload="window['PR_TAB_WIDTH']=4;prettyPrint()"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../../index.html" class="el_report">JaCoCo</a> &gt; <a href="../index.html" class="el_bundle">org.jacoco.core</a> &gt; <a href="index.source.html" class="el_package">org.jacoco.core.internal.flow</a> &gt; <span class="el_source">FrameSnapshot.java</span></div><h1>FrameSnapshot.java</h1><pre class="source lang-java linenums">/*******************************************************************************
    + * Copyright (c) 2009, 2024 Mountainminds GmbH &amp; Co. KG and Contributors
    + * This program and the accompanying materials are made available under
    + * the terms of the Eclipse Public License 2.0 which is available at
    + * http://www.eclipse.org/legal/epl-2.0
    + *
    + * SPDX-License-Identifier: EPL-2.0
    + *
    + * Contributors:
    + *    Marc R. Hoffmann - initial API and implementation
    + *
    + *******************************************************************************/
    +
    +package org.jacoco.core.internal.flow;
    +
    +import java.util.ArrayList;
    +import java.util.List;
    +
    +import org.objectweb.asm.MethodVisitor;
    +import org.objectweb.asm.Opcodes;
    +import org.objectweb.asm.commons.AnalyzerAdapter;
    +
    +/**
    + * IFrame implementation which creates snapshots from an {@link AnalyzerAdapter}
    + */
    +class FrameSnapshot implements IFrame {
    +
    +<span class="fc" id="L28">	private static final FrameSnapshot NOP = new FrameSnapshot(null, null);</span>
    +
    +	private final Object[] locals;
    +	private final Object[] stack;
    +
    +<span class="fc" id="L33">	private FrameSnapshot(final Object[] locals, final Object[] stack) {</span>
    +<span class="fc" id="L34">		this.locals = locals;</span>
    +<span class="fc" id="L35">		this.stack = stack;</span>
    +<span class="fc" id="L36">	}</span>
    +
    +	/**
    +	 * Create a IFrame instance based on the given analyzer.
    +	 *
    +	 * @param analyzer
    +	 *            analyzer instance or &lt;code&gt;null&lt;/code&gt;
    +	 * @param popCount
    +	 *            number of items to remove from the operand stack
    +	 * @return IFrame instance. In case the analyzer is &lt;code&gt;null&lt;/code&gt; or
    +	 *         does not contain stackmap information a &quot;NOP&quot; IFrame is returned.
    +	 */
    +	static IFrame create(final AnalyzerAdapter analyzer, final int popCount) {
    +<span class="fc bfc" id="L49" title="All 4 branches covered.">		if (analyzer == null || analyzer.locals == null) {</span>
    +<span class="fc" id="L50">			return NOP;</span>
    +		}
    +<span class="fc" id="L52">		final Object[] locals = reduce(analyzer.locals, 0);</span>
    +<span class="fc" id="L53">		final Object[] stack = reduce(analyzer.stack, popCount);</span>
    +<span class="fc" id="L54">		return new FrameSnapshot(locals, stack);</span>
    +	}
    +
    +	/**
    +	 * Reduce double word types into a single slot as required
    +	 * {@link MethodVisitor#visitFrame(int, int, Object[], int, Object[])}
    +	 * method.
    +	 */
    +	private static Object[] reduce(final List&lt;Object&gt; source,
    +			final int popCount) {
    +<span class="fc" id="L64">		final List&lt;Object&gt; copy = new ArrayList&lt;Object&gt;(source);</span>
    +<span class="fc" id="L65">		final int size = source.size() - popCount;</span>
    +<span class="fc" id="L66">		copy.subList(size, source.size()).clear();</span>
    +<span class="fc bfc" id="L67" title="All 2 branches covered.">		for (int i = size; --i &gt;= 0;) {</span>
    +<span class="fc" id="L68">			final Object type = source.get(i);</span>
    +<span class="fc bfc" id="L69" title="All 4 branches covered.">			if (type == Opcodes.LONG || type == Opcodes.DOUBLE) {</span>
    +<span class="fc" id="L70">				copy.remove(i + 1);</span>
    +			}
    +<span class="fc" id="L72">		}</span>
    +<span class="fc" id="L73">		return copy.toArray();</span>
    +	}
    +
    +	// === IFrame implementation ===
    +
    +	public void accept(final MethodVisitor mv) {
    +<span class="fc bfc" id="L79" title="All 2 branches covered.">		if (locals != null) {</span>
    +<span class="fc" id="L80">			mv.visitFrame(Opcodes.F_NEW, locals.length, locals, stack.length,</span>
    +					stack);
    +		}
    +<span class="fc" id="L83">	}</span>
    +
    +}
    +</pre><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.12.202403270442</span>Code Coverage Report for JaCoCo 0.8.12-SNAPSHOT</div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/trunk/coverage/org.jacoco.core/org.jacoco.core.internal.flow/LabelFlowAnalyzer.html b/jacoco/trunk/coverage/org.jacoco.core/org.jacoco.core.internal.flow/LabelFlowAnalyzer.html
    new file mode 100644
    index 00000000000..f1d3df0edc2
    --- /dev/null
    +++ b/jacoco/trunk/coverage/org.jacoco.core/org.jacoco.core.internal.flow/LabelFlowAnalyzer.html
    @@ -0,0 +1 @@
    +<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="en"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../../jacoco-resources/report.gif" type="image/gif"/><title>LabelFlowAnalyzer</title><script type="text/javascript" src="../../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../../index.html" class="el_report">JaCoCo</a> &gt; <a href="../index.html" class="el_bundle">org.jacoco.core</a> &gt; <a href="index.html" class="el_package">org.jacoco.core.internal.flow</a> &gt; <span class="el_class">LabelFlowAnalyzer</span></div><h1>LabelFlowAnalyzer</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">0 of 226</td><td class="ctr2">100%</td><td class="bar">0 of 22</td><td class="ctr2">100%</td><td class="ctr1">0</td><td class="ctr2">32</td><td class="ctr1">0</td><td class="ctr2">84</td><td class="ctr1">0</td><td class="ctr2">21</td></tr></tfoot><tbody><tr><td id="a16"><a href="LabelFlowAnalyzer.java.html#L126" class="el_method">visitSwitchInsn(Label, Label[])</a></td><td class="bar" id="b0"><img src="../../jacoco-resources/greenbar.gif" width="120" height="10" title="31" alt="31"/></td><td class="ctr2" id="c0">100%</td><td class="bar" id="d2"><img src="../../jacoco-resources/greenbar.gif" width="60" height="10" title="2" alt="2"/></td><td class="ctr2" id="e0">100%</td><td class="ctr1" id="f0">0</td><td class="ctr2" id="g2">2</td><td class="ctr1" id="h0">0</td><td class="ctr2" id="i0">8</td><td class="ctr1" id="j0">0</td><td class="ctr2" id="k0">1</td></tr><tr><td id="a1"><a href="LabelFlowAnalyzer.java.html#L38" class="el_method">markLabels(MethodNode)</a></td><td class="bar" id="b1"><img src="../../jacoco-resources/greenbar.gif" width="92" height="10" title="24" alt="24"/></td><td class="ctr2" id="c1">100%</td><td class="bar" id="d3"><img src="../../jacoco-resources/greenbar.gif" width="60" height="10" title="2" alt="2"/></td><td class="ctr2" id="e1">100%</td><td class="ctr1" id="f1">0</td><td class="ctr2" id="g3">2</td><td class="ctr1" id="h1">0</td><td class="ctr2" id="i3">5</td><td class="ctr1" id="j1">0</td><td class="ctr2" id="k1">1</td></tr><tr><td id="a9"><a href="LabelFlowAnalyzer.java.html#L84" class="el_method">visitJumpInsn(int, Label)</a></td><td class="bar" id="b2"><img src="../../jacoco-resources/greenbar.gif" width="85" height="10" title="22" alt="22"/></td><td class="ctr2" id="c2">100%</td><td class="bar" id="d0"><img src="../../jacoco-resources/greenbar.gif" width="120" height="10" title="4" alt="4"/></td><td class="ctr2" id="e2">100%</td><td class="ctr1" id="f2">0</td><td class="ctr2" id="g0">3</td><td class="ctr1" id="h2">0</td><td class="ctr2" id="i1">6</td><td class="ctr1" id="j2">0</td><td class="ctr2" id="k2">1</td></tr><tr><td id="a20"><a href="LabelFlowAnalyzer.java.html#L170" class="el_method">visitVarInsn(int, int)</a></td><td class="bar" id="b3"><img src="../../jacoco-resources/greenbar.gif" width="58" height="10" title="15" alt="15"/></td><td class="ctr2" id="c3">100%</td><td class="bar" id="d4"><img src="../../jacoco-resources/greenbar.gif" width="60" height="10" title="2" alt="2"/></td><td class="ctr2" id="e3">100%</td><td class="ctr1" id="f3">0</td><td class="ctr2" id="g4">2</td><td class="ctr1" id="h3">0</td><td class="ctr2" id="i4">5</td><td class="ctr1" id="j3">0</td><td class="ctr2" id="k3">1</td></tr><tr><td id="a0"><a href="LabelFlowAnalyzer.java.html#L49" class="el_method">LabelFlowAnalyzer()</a></td><td class="bar" id="b4"><img src="../../jacoco-resources/greenbar.gif" width="50" height="10" title="13" alt="13"/></td><td class="ctr2" id="c4">100%</td><td class="bar" id="d9"/><td class="ctr2" id="e9">n/a</td><td class="ctr1" id="f4">0</td><td class="ctr2" id="g9">1</td><td class="ctr1" id="h4">0</td><td class="ctr2" id="i5">5</td><td class="ctr1" id="j4">0</td><td class="ctr2" id="k4">1</td></tr><tr><td id="a6"><a href="LabelFlowAnalyzer.java.html#L145" class="el_method">visitInsn(int)</a></td><td class="bar" id="b5"><img src="../../jacoco-resources/greenbar.gif" width="50" height="10" title="13" alt="13"/></td><td class="ctr2" id="c5">100%</td><td class="bar" id="d5"><img src="../../jacoco-resources/greenbar.gif" width="60" height="10" title="2" alt="2"/></td><td class="ctr2" id="e4">100%</td><td class="ctr1" id="f5">0</td><td class="ctr2" id="g5">2</td><td class="ctr1" id="h5">0</td><td class="ctr2" id="i2">6</td><td class="ctr1" id="j5">0</td><td class="ctr2" id="k5">1</td></tr><tr><td id="a10"><a href="LabelFlowAnalyzer.java.html#L94" class="el_method">visitLabel(Label)</a></td><td class="bar" id="b6"><img src="../../jacoco-resources/greenbar.gif" width="42" height="10" title="11" alt="11"/></td><td class="ctr2" id="c6">100%</td><td class="bar" id="d1"><img src="../../jacoco-resources/greenbar.gif" width="120" height="10" title="4" alt="4"/></td><td class="ctr2" id="e5">100%</td><td class="ctr1" id="f6">0</td><td class="ctr2" id="g1">3</td><td class="ctr1" id="h6">0</td><td class="ctr2" id="i6">5</td><td class="ctr1" id="j6">0</td><td class="ctr2" id="k6">1</td></tr><tr><td id="a14"><a href="LabelFlowAnalyzer.java.html#L193" class="el_method">visitMethodInsn(int, String, String, String, boolean)</a></td><td class="bar" id="b7"><img src="../../jacoco-resources/greenbar.gif" width="34" height="10" title="9" alt="9"/></td><td class="ctr2" id="c7">100%</td><td class="bar" id="d10"/><td class="ctr2" id="e10">n/a</td><td class="ctr1" id="f7">0</td><td class="ctr2" id="g10">1</td><td class="ctr1" id="h7">0</td><td class="ctr2" id="i7">4</td><td class="ctr1" id="j7">0</td><td class="ctr2" id="k7">1</td></tr><tr><td id="a8"><a href="LabelFlowAnalyzer.java.html#L201" class="el_method">visitInvokeDynamicInsn(String, String, Handle, Object[])</a></td><td class="bar" id="b8"><img src="../../jacoco-resources/greenbar.gif" width="34" height="10" title="9" alt="9"/></td><td class="ctr2" id="c8">100%</td><td class="bar" id="d11"/><td class="ctr2" id="e11">n/a</td><td class="ctr1" id="f8">0</td><td class="ctr2" id="g11">1</td><td class="ctr1" id="h8">0</td><td class="ctr2" id="i8">4</td><td class="ctr1" id="j8">0</td><td class="ctr2" id="k8">1</td></tr><tr><td id="a3"><a href="LabelFlowAnalyzer.java.html#L137" class="el_method">setTargetIfNotDone(Label)</a></td><td class="bar" id="b9"><img src="../../jacoco-resources/greenbar.gif" width="30" height="10" title="8" alt="8"/></td><td class="ctr2" id="c9">100%</td><td class="bar" id="d6"><img src="../../jacoco-resources/greenbar.gif" width="60" height="10" title="2" alt="2"/></td><td class="ctr2" id="e6">100%</td><td class="ctr1" id="f9">0</td><td class="ctr2" id="g6">2</td><td class="ctr1" id="h9">0</td><td class="ctr2" id="i9">4</td><td class="ctr1" id="j9">0</td><td class="ctr2" id="k9">1</td></tr><tr><td id="a12"><a href="LabelFlowAnalyzer.java.html#L104" class="el_method">visitLineNumber(int, Label)</a></td><td class="bar" id="b10"><img src="../../jacoco-resources/greenbar.gif" width="27" height="10" title="7" alt="7"/></td><td class="ctr2" id="c10">100%</td><td class="bar" id="d7"><img src="../../jacoco-resources/greenbar.gif" width="60" height="10" title="2" alt="2"/></td><td class="ctr2" id="e7">100%</td><td class="ctr1" id="f10">0</td><td class="ctr2" id="g7">2</td><td class="ctr1" id="h10">0</td><td class="ctr2" id="i10">4</td><td class="ctr1" id="j10">0</td><td class="ctr2" id="k10">1</td></tr><tr><td id="a7"><a href="LabelFlowAnalyzer.java.html#L164" class="el_method">visitIntInsn(int, int)</a></td><td class="bar" id="b11"><img src="../../jacoco-resources/greenbar.gif" width="27" height="10" title="7" alt="7"/></td><td class="ctr2" id="c11">100%</td><td class="bar" id="d12"/><td class="ctr2" id="e12">n/a</td><td class="ctr1" id="f11">0</td><td class="ctr2" id="g12">1</td><td class="ctr1" id="h11">0</td><td class="ctr2" id="i11">3</td><td class="ctr1" id="j11">0</td><td class="ctr2" id="k11">1</td></tr><tr><td id="a19"><a href="LabelFlowAnalyzer.java.html#L179" class="el_method">visitTypeInsn(int, String)</a></td><td class="bar" id="b12"><img src="../../jacoco-resources/greenbar.gif" width="27" height="10" title="7" alt="7"/></td><td class="ctr2" id="c12">100%</td><td class="bar" id="d13"/><td class="ctr2" id="e13">n/a</td><td class="ctr1" id="f12">0</td><td class="ctr2" id="g13">1</td><td class="ctr1" id="h12">0</td><td class="ctr2" id="i12">3</td><td class="ctr1" id="j12">0</td><td class="ctr2" id="k12">1</td></tr><tr><td id="a4"><a href="LabelFlowAnalyzer.java.html#L186" class="el_method">visitFieldInsn(int, String, String, String)</a></td><td class="bar" id="b13"><img src="../../jacoco-resources/greenbar.gif" width="27" height="10" title="7" alt="7"/></td><td class="ctr2" id="c13">100%</td><td class="bar" id="d14"/><td class="ctr2" id="e14">n/a</td><td class="ctr1" id="f13">0</td><td class="ctr2" id="g14">1</td><td class="ctr1" id="h13">0</td><td class="ctr2" id="i13">3</td><td class="ctr1" id="j13">0</td><td class="ctr2" id="k13">1</td></tr><tr><td id="a2"><a href="LabelFlowAnalyzer.java.html#L207" class="el_method">markMethodInvocationLine()</a></td><td class="bar" id="b14"><img src="../../jacoco-resources/greenbar.gif" width="27" height="10" title="7" alt="7"/></td><td class="ctr2" id="c14">100%</td><td class="bar" id="d8"><img src="../../jacoco-resources/greenbar.gif" width="60" height="10" title="2" alt="2"/></td><td class="ctr2" id="e8">100%</td><td class="ctr1" id="f14">0</td><td class="ctr2" id="g8">2</td><td class="ctr1" id="h14">0</td><td class="ctr2" id="i14">3</td><td class="ctr1" id="j14">0</td><td class="ctr2" id="k14">1</td></tr><tr><td id="a11"><a href="LabelFlowAnalyzer.java.html#L214" class="el_method">visitLdcInsn(Object)</a></td><td class="bar" id="b15"><img src="../../jacoco-resources/greenbar.gif" width="27" height="10" title="7" alt="7"/></td><td class="ctr2" id="c15">100%</td><td class="bar" id="d15"/><td class="ctr2" id="e15">n/a</td><td class="ctr1" id="f15">0</td><td class="ctr2" id="g15">1</td><td class="ctr1" id="h15">0</td><td class="ctr2" id="i15">3</td><td class="ctr1" id="j15">0</td><td class="ctr2" id="k15">1</td></tr><tr><td id="a5"><a href="LabelFlowAnalyzer.java.html#L220" class="el_method">visitIincInsn(int, int)</a></td><td class="bar" id="b16"><img src="../../jacoco-resources/greenbar.gif" width="27" height="10" title="7" alt="7"/></td><td class="ctr2" id="c16">100%</td><td class="bar" id="d16"/><td class="ctr2" id="e16">n/a</td><td class="ctr1" id="f16">0</td><td class="ctr2" id="g16">1</td><td class="ctr1" id="h16">0</td><td class="ctr2" id="i16">3</td><td class="ctr1" id="j16">0</td><td class="ctr2" id="k16">1</td></tr><tr><td id="a15"><a href="LabelFlowAnalyzer.java.html#L226" class="el_method">visitMultiANewArrayInsn(String, int)</a></td><td class="bar" id="b17"><img src="../../jacoco-resources/greenbar.gif" width="27" height="10" title="7" alt="7"/></td><td class="ctr2" id="c17">100%</td><td class="bar" id="d17"/><td class="ctr2" id="e17">n/a</td><td class="ctr1" id="f17">0</td><td class="ctr2" id="g17">1</td><td class="ctr1" id="h17">0</td><td class="ctr2" id="i17">3</td><td class="ctr1" id="j17">0</td><td class="ctr2" id="k17">1</td></tr><tr><td id="a18"><a href="LabelFlowAnalyzer.java.html#L76" class="el_method">visitTryCatchBlock(Label, Label, Label, String)</a></td><td class="bar" id="b18"><img src="../../jacoco-resources/greenbar.gif" width="19" height="10" title="5" alt="5"/></td><td class="ctr2" id="c18">100%</td><td class="bar" id="d18"/><td class="ctr2" id="e18">n/a</td><td class="ctr1" id="f18">0</td><td class="ctr2" id="g18">1</td><td class="ctr1" id="h18">0</td><td class="ctr2" id="i18">3</td><td class="ctr1" id="j18">0</td><td class="ctr2" id="k18">1</td></tr><tr><td id="a17"><a href="LabelFlowAnalyzer.java.html#L116" class="el_method">visitTableSwitchInsn(int, int, Label, Label[])</a></td><td class="bar" id="b19"><img src="../../jacoco-resources/greenbar.gif" width="19" height="10" title="5" alt="5"/></td><td class="ctr2" id="c19">100%</td><td class="bar" id="d19"/><td class="ctr2" id="e19">n/a</td><td class="ctr1" id="f19">0</td><td class="ctr2" id="g19">1</td><td class="ctr1" id="h19">0</td><td class="ctr2" id="i19">2</td><td class="ctr1" id="j19">0</td><td class="ctr2" id="k19">1</td></tr><tr><td id="a13"><a href="LabelFlowAnalyzer.java.html#L122" class="el_method">visitLookupSwitchInsn(Label, int[], Label[])</a></td><td class="bar" id="b20"><img src="../../jacoco-resources/greenbar.gif" width="19" height="10" title="5" alt="5"/></td><td class="ctr2" id="c20">100%</td><td class="bar" id="d20"/><td class="ctr2" id="e20">n/a</td><td class="ctr1" id="f20">0</td><td class="ctr2" id="g20">1</td><td class="ctr1" id="h20">0</td><td class="ctr2" id="i20">2</td><td class="ctr1" id="j20">0</td><td class="ctr2" id="k20">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.12.202403270442</span>Code Coverage Report for JaCoCo 0.8.12-SNAPSHOT</div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/trunk/coverage/org.jacoco.core/org.jacoco.core.internal.flow/LabelFlowAnalyzer.java.html b/jacoco/trunk/coverage/org.jacoco.core/org.jacoco.core.internal.flow/LabelFlowAnalyzer.java.html
    new file mode 100644
    index 00000000000..e63253300c8
    --- /dev/null
    +++ b/jacoco/trunk/coverage/org.jacoco.core/org.jacoco.core.internal.flow/LabelFlowAnalyzer.java.html
    @@ -0,0 +1,231 @@
    +<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="en"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../../jacoco-resources/report.gif" type="image/gif"/><title>LabelFlowAnalyzer.java</title><link rel="stylesheet" href="../../jacoco-resources/prettify.css" type="text/css"/><script type="text/javascript" src="../../jacoco-resources/prettify.js"></script></head><body onload="window['PR_TAB_WIDTH']=4;prettyPrint()"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../../index.html" class="el_report">JaCoCo</a> &gt; <a href="../index.html" class="el_bundle">org.jacoco.core</a> &gt; <a href="index.source.html" class="el_package">org.jacoco.core.internal.flow</a> &gt; <span class="el_source">LabelFlowAnalyzer.java</span></div><h1>LabelFlowAnalyzer.java</h1><pre class="source lang-java linenums">/*******************************************************************************
    + * Copyright (c) 2009, 2024 Mountainminds GmbH &amp; Co. KG and Contributors
    + * This program and the accompanying materials are made available under
    + * the terms of the Eclipse Public License 2.0 which is available at
    + * http://www.eclipse.org/legal/epl-2.0
    + *
    + * SPDX-License-Identifier: EPL-2.0
    + *
    + * Contributors:
    + *    Marc R. Hoffmann - initial API and implementation
    + *
    + *******************************************************************************/
    +package org.jacoco.core.internal.flow;
    +
    +import org.jacoco.core.internal.instr.InstrSupport;
    +import org.objectweb.asm.Handle;
    +import org.objectweb.asm.Label;
    +import org.objectweb.asm.MethodVisitor;
    +import org.objectweb.asm.Opcodes;
    +import org.objectweb.asm.tree.MethodNode;
    +
    +/**
    + * Method visitor to collect flow related information about the {@link Label}s
    + * within a class. It calculates the properties &quot;multitarget&quot; and &quot;successor&quot;
    + * that can afterwards be obtained via {@link LabelInfo}.
    + */
    +public final class LabelFlowAnalyzer extends MethodVisitor {
    +
    +	/**
    +	 * Marks all labels of the method with control flow information.
    +	 *
    +	 * @param method
    +	 *            Method to mark labels
    +	 */
    +	public static void markLabels(final MethodNode method) {
    +		// We do not use the accept() method as ASM resets labels after every
    +		// call to accept()
    +<span class="fc" id="L38">		final MethodVisitor lfa = new LabelFlowAnalyzer();</span>
    +<span class="fc bfc" id="L39" title="All 2 branches covered.">		for (int i = method.tryCatchBlocks.size(); --i &gt;= 0;) {</span>
    +<span class="fc" id="L40">			method.tryCatchBlocks.get(i).accept(lfa);</span>
    +		}
    +<span class="fc" id="L42">		method.instructions.accept(lfa);</span>
    +<span class="fc" id="L43">	}</span>
    +
    +	/**
    +	 * &lt;code&gt;true&lt;/code&gt; if the current instruction is a potential successor of
    +	 * the previous instruction. Accessible for testing.
    +	 */
    +<span class="fc" id="L49">	boolean successor = false;</span>
    +
    +	/**
    +	 * &lt;code&gt;true&lt;/code&gt; for the very first instruction only. Accessible for
    +	 * testing.
    +	 */
    +<span class="fc" id="L55">	boolean first = true;</span>
    +
    +	/**
    +	 * Label instance of the last line start.
    +	 */
    +<span class="fc" id="L60">	Label lineStart = null;</span>
    +
    +	/**
    +	 * Create new instance.
    +	 */
    +	public LabelFlowAnalyzer() {
    +<span class="fc" id="L66">		super(InstrSupport.ASM_API_VERSION);</span>
    +<span class="fc" id="L67">	}</span>
    +
    +	@Override
    +	public void visitTryCatchBlock(final Label start, final Label end,
    +			final Label handler, final String type) {
    +		// Enforce probe at the beginning of the block. Assuming the start of
    +		// the block already is successor of some other code, adding a target
    +		// makes the start a multitarget. However, if the start of the block
    +		// also is the start of the method, no probe will be added.
    +<span class="fc" id="L76">		LabelInfo.setTarget(start);</span>
    +
    +		// Mark exception handler as possible target of the block
    +<span class="fc" id="L79">		LabelInfo.setTarget(handler);</span>
    +<span class="fc" id="L80">	}</span>
    +
    +	@Override
    +	public void visitJumpInsn(final int opcode, final Label label) {
    +<span class="fc" id="L84">		LabelInfo.setTarget(label);</span>
    +<span class="fc bfc" id="L85" title="All 2 branches covered.">		if (opcode == Opcodes.JSR) {</span>
    +<span class="fc" id="L86">			throw new AssertionError(&quot;Subroutines not supported.&quot;);</span>
    +		}
    +<span class="fc bfc" id="L88" title="All 2 branches covered.">		successor = opcode != Opcodes.GOTO;</span>
    +<span class="fc" id="L89">		first = false;</span>
    +<span class="fc" id="L90">	}</span>
    +
    +	@Override
    +	public void visitLabel(final Label label) {
    +<span class="fc bfc" id="L94" title="All 2 branches covered.">		if (first) {</span>
    +<span class="fc" id="L95">			LabelInfo.setTarget(label);</span>
    +		}
    +<span class="fc bfc" id="L97" title="All 2 branches covered.">		if (successor) {</span>
    +<span class="fc" id="L98">			LabelInfo.setSuccessor(label);</span>
    +		}
    +<span class="fc" id="L100">	}</span>
    +
    +	@Override
    +	public void visitLineNumber(final int line, final Label start) {
    +<span class="fc bfc" id="L104" title="All 2 branches covered.">		if (line == 0) {</span>
    +			// ASM versions prior to 9.5 were ignoring zero line numbers
    +			// (https://gitlab.ow2.org/asm/asm/-/issues/317989)
    +			// so we ignore them here to preserve exec file compatibility
    +<span class="fc" id="L108">			return;</span>
    +		}
    +<span class="fc" id="L110">		lineStart = start;</span>
    +<span class="fc" id="L111">	}</span>
    +
    +	@Override
    +	public void visitTableSwitchInsn(final int min, final int max,
    +			final Label dflt, final Label... labels) {
    +<span class="fc" id="L116">		visitSwitchInsn(dflt, labels);</span>
    +<span class="fc" id="L117">	}</span>
    +
    +	@Override
    +	public void visitLookupSwitchInsn(final Label dflt, final int[] keys,
    +			final Label[] labels) {
    +<span class="fc" id="L122">		visitSwitchInsn(dflt, labels);</span>
    +<span class="fc" id="L123">	}</span>
    +
    +	private void visitSwitchInsn(final Label dflt, final Label[] labels) {
    +<span class="fc" id="L126">		LabelInfo.resetDone(dflt);</span>
    +<span class="fc" id="L127">		LabelInfo.resetDone(labels);</span>
    +<span class="fc" id="L128">		setTargetIfNotDone(dflt);</span>
    +<span class="fc bfc" id="L129" title="All 2 branches covered.">		for (final Label l : labels) {</span>
    +<span class="fc" id="L130">			setTargetIfNotDone(l);</span>
    +		}
    +<span class="fc" id="L132">		successor = false;</span>
    +<span class="fc" id="L133">		first = false;</span>
    +<span class="fc" id="L134">	}</span>
    +
    +	private static void setTargetIfNotDone(final Label label) {
    +<span class="fc bfc" id="L137" title="All 2 branches covered.">		if (!LabelInfo.isDone(label)) {</span>
    +<span class="fc" id="L138">			LabelInfo.setTarget(label);</span>
    +<span class="fc" id="L139">			LabelInfo.setDone(label);</span>
    +		}
    +<span class="fc" id="L141">	}</span>
    +
    +	@Override
    +	public void visitInsn(final int opcode) {
    +<span class="fc bfc" id="L145" title="All 2 branches covered.">		switch (opcode) {</span>
    +		case Opcodes.IRETURN:
    +		case Opcodes.LRETURN:
    +		case Opcodes.FRETURN:
    +		case Opcodes.DRETURN:
    +		case Opcodes.ARETURN:
    +		case Opcodes.RETURN:
    +		case Opcodes.ATHROW:
    +<span class="fc" id="L153">			successor = false;</span>
    +<span class="fc" id="L154">			break;</span>
    +		default:
    +<span class="fc" id="L156">			successor = true;</span>
    +			break;
    +		}
    +<span class="fc" id="L159">		first = false;</span>
    +<span class="fc" id="L160">	}</span>
    +
    +	@Override
    +	public void visitIntInsn(final int opcode, final int operand) {
    +<span class="fc" id="L164">		successor = true;</span>
    +<span class="fc" id="L165">		first = false;</span>
    +<span class="fc" id="L166">	}</span>
    +
    +	@Override
    +	public void visitVarInsn(final int opcode, final int var) {
    +<span class="fc bfc" id="L170" title="All 2 branches covered.">		if (Opcodes.RET == opcode) {</span>
    +<span class="fc" id="L171">			throw new AssertionError(&quot;Subroutines not supported.&quot;);</span>
    +		}
    +<span class="fc" id="L173">		successor = true;</span>
    +<span class="fc" id="L174">		first = false;</span>
    +<span class="fc" id="L175">	}</span>
    +
    +	@Override
    +	public void visitTypeInsn(final int opcode, final String type) {
    +<span class="fc" id="L179">		successor = true;</span>
    +<span class="fc" id="L180">		first = false;</span>
    +<span class="fc" id="L181">	}</span>
    +
    +	@Override
    +	public void visitFieldInsn(final int opcode, final String owner,
    +			final String name, final String desc) {
    +<span class="fc" id="L186">		successor = true;</span>
    +<span class="fc" id="L187">		first = false;</span>
    +<span class="fc" id="L188">	}</span>
    +
    +	@Override
    +	public void visitMethodInsn(final int opcode, final String owner,
    +			final String name, final String desc, final boolean itf) {
    +<span class="fc" id="L193">		successor = true;</span>
    +<span class="fc" id="L194">		first = false;</span>
    +<span class="fc" id="L195">		markMethodInvocationLine();</span>
    +<span class="fc" id="L196">	}</span>
    +
    +	@Override
    +	public void visitInvokeDynamicInsn(final String name, final String desc,
    +			final Handle bsm, final Object... bsmArgs) {
    +<span class="fc" id="L201">		successor = true;</span>
    +<span class="fc" id="L202">		first = false;</span>
    +<span class="fc" id="L203">		markMethodInvocationLine();</span>
    +<span class="fc" id="L204">	}</span>
    +
    +	private void markMethodInvocationLine() {
    +<span class="fc bfc" id="L207" title="All 2 branches covered.">		if (lineStart != null) {</span>
    +<span class="fc" id="L208">			LabelInfo.setMethodInvocationLine(lineStart);</span>
    +		}
    +<span class="fc" id="L210">	}</span>
    +
    +	@Override
    +	public void visitLdcInsn(final Object cst) {
    +<span class="fc" id="L214">		successor = true;</span>
    +<span class="fc" id="L215">		first = false;</span>
    +<span class="fc" id="L216">	}</span>
    +
    +	@Override
    +	public void visitIincInsn(final int var, final int increment) {
    +<span class="fc" id="L220">		successor = true;</span>
    +<span class="fc" id="L221">		first = false;</span>
    +<span class="fc" id="L222">	}</span>
    +
    +	@Override
    +	public void visitMultiANewArrayInsn(final String desc, final int dims) {
    +<span class="fc" id="L226">		successor = true;</span>
    +<span class="fc" id="L227">		first = false;</span>
    +<span class="fc" id="L228">	}</span>
    +
    +}
    +</pre><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.12.202403270442</span>Code Coverage Report for JaCoCo 0.8.12-SNAPSHOT</div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/trunk/coverage/org.jacoco.core/org.jacoco.core.internal.flow/LabelInfo.html b/jacoco/trunk/coverage/org.jacoco.core/org.jacoco.core.internal.flow/LabelInfo.html
    new file mode 100644
    index 00000000000..09d9029acab
    --- /dev/null
    +++ b/jacoco/trunk/coverage/org.jacoco.core/org.jacoco.core.internal.flow/LabelInfo.html
    @@ -0,0 +1 @@
    +<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="en"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../../jacoco-resources/report.gif" type="image/gif"/><title>LabelInfo</title><script type="text/javascript" src="../../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../../index.html" class="el_report">JaCoCo</a> &gt; <a href="../index.html" class="el_bundle">org.jacoco.core</a> &gt; <a href="index.html" class="el_package">org.jacoco.core.internal.flow</a> &gt; <span class="el_class">LabelInfo</span></div><h1>LabelInfo</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">0 of 223</td><td class="ctr2">100%</td><td class="bar">0 of 36</td><td class="ctr2">100%</td><td class="ctr1">0</td><td class="ctr2">38</td><td class="ctr1">0</td><td class="ctr2">60</td><td class="ctr1">0</td><td class="ctr2">20</td></tr></tfoot><tbody><tr><td id="a9"><a href="LabelInfo.java.html#L30" class="el_method">LabelInfo()</a></td><td class="bar" id="b0"><img src="../../jacoco-resources/greenbar.gif" width="120" height="10" title="27" alt="27"/></td><td class="ctr2" id="c0">100%</td><td class="bar" id="d14"/><td class="ctr2" id="e14">n/a</td><td class="ctr1" id="f0">0</td><td class="ctr2" id="g14">1</td><td class="ctr1" id="h0">0</td><td class="ctr2" id="i0">10</td><td class="ctr1" id="j0">0</td><td class="ctr2" id="k0">1</td></tr><tr><td id="a12"><a href="LabelInfo.java.html#L178" class="el_method">resetDone(Label[])</a></td><td class="bar" id="b1"><img src="../../jacoco-resources/greenbar.gif" width="84" height="10" title="19" alt="19"/></td><td class="ctr2" id="c1">100%</td><td class="bar" id="d2"><img src="../../jacoco-resources/greenbar.gif" width="30" height="10" title="2" alt="2"/></td><td class="ctr2" id="e0">100%</td><td class="ctr1" id="f1">0</td><td class="ctr2" id="g2">2</td><td class="ctr1" id="h1">0</td><td class="ctr2" id="i5">3</td><td class="ctr1" id="j1">0</td><td class="ctr2" id="k1">1</td></tr><tr><td id="a10"><a href="LabelInfo.java.html#L143" class="el_method">needsProbe(Label)</a></td><td class="bar" id="b2"><img src="../../jacoco-resources/greenbar.gif" width="80" height="10" title="18" alt="18"/></td><td class="ctr2" id="c2">100%</td><td class="bar" id="d0"><img src="../../jacoco-resources/greenbar.gif" width="120" height="10" title="8" alt="8"/></td><td class="ctr2" id="e1">100%</td><td class="ctr1" id="f2">0</td><td class="ctr2" id="g0">5</td><td class="ctr1" id="h2">0</td><td class="ctr2" id="i6">2</td><td class="ctr1" id="j2">0</td><td class="ctr2" id="k2">1</td></tr><tr><td id="a19"><a href="LabelInfo.java.html#L57" class="el_method">setTarget(Label)</a></td><td class="bar" id="b3"><img src="../../jacoco-resources/greenbar.gif" width="75" height="10" title="17" alt="17"/></td><td class="ctr2" id="c3">100%</td><td class="bar" id="d1"><img src="../../jacoco-resources/greenbar.gif" width="60" height="10" title="4" alt="4"/></td><td class="ctr2" id="e2">100%</td><td class="ctr1" id="f3">0</td><td class="ctr2" id="g1">3</td><td class="ctr1" id="h3">0</td><td class="ctr2" id="i1">5</td><td class="ctr1" id="j3">0</td><td class="ctr2" id="k3">1</td></tr><tr><td id="a0"><a href="LabelInfo.java.html#L279" class="el_method">create(Label)</a></td><td class="bar" id="b4"><img src="../../jacoco-resources/greenbar.gif" width="62" height="10" title="14" alt="14"/></td><td class="ctr2" id="c4">100%</td><td class="bar" id="d3"><img src="../../jacoco-resources/greenbar.gif" width="30" height="10" title="2" alt="2"/></td><td class="ctr2" id="e3">100%</td><td class="ctr1" id="f4">0</td><td class="ctr2" id="g3">2</td><td class="ctr1" id="h4">0</td><td class="ctr2" id="i2">5</td><td class="ctr1" id="j4">0</td><td class="ctr2" id="k4">1</td></tr><tr><td id="a18"><a href="LabelInfo.java.html#L73" class="el_method">setSuccessor(Label)</a></td><td class="bar" id="b5"><img src="../../jacoco-resources/greenbar.gif" width="57" height="10" title="13" alt="13"/></td><td class="ctr2" id="c5">100%</td><td class="bar" id="d4"><img src="../../jacoco-resources/greenbar.gif" width="30" height="10" title="2" alt="2"/></td><td class="ctr2" id="e4">100%</td><td class="ctr1" id="f5">0</td><td class="ctr2" id="g4">2</td><td class="ctr1" id="h5">0</td><td class="ctr2" id="i3">5</td><td class="ctr1" id="j5">0</td><td class="ctr2" id="k5">1</td></tr><tr><td id="a1"><a href="LabelInfo.java.html#L274" class="el_method">get(Label)</a></td><td class="bar" id="b6"><img src="../../jacoco-resources/greenbar.gif" width="48" height="10" title="11" alt="11"/></td><td class="ctr2" id="c6">100%</td><td class="bar" id="d5"><img src="../../jacoco-resources/greenbar.gif" width="30" height="10" title="2" alt="2"/></td><td class="ctr2" id="e5">100%</td><td class="ctr1" id="f6">0</td><td class="ctr2" id="g5">2</td><td class="ctr1" id="h6">0</td><td class="ctr2" id="i7">2</td><td class="ctr1" id="j6">0</td><td class="ctr2" id="k6">1</td></tr><tr><td id="a7"><a href="LabelInfo.java.html#L92" class="el_method">isMultiTarget(Label)</a></td><td class="bar" id="b7"><img src="../../jacoco-resources/greenbar.gif" width="44" height="10" title="10" alt="10"/></td><td class="ctr2" id="c7">100%</td><td class="bar" id="d6"><img src="../../jacoco-resources/greenbar.gif" width="30" height="10" title="2" alt="2"/></td><td class="ctr2" id="e6">100%</td><td class="ctr1" id="f7">0</td><td class="ctr2" id="g6">2</td><td class="ctr1" id="h7">0</td><td class="ctr2" id="i8">2</td><td class="ctr1" id="j7">0</td><td class="ctr2" id="k7">1</td></tr><tr><td id="a8"><a href="LabelInfo.java.html#L107" class="el_method">isSuccessor(Label)</a></td><td class="bar" id="b8"><img src="../../jacoco-resources/greenbar.gif" width="44" height="10" title="10" alt="10"/></td><td class="ctr2" id="c8">100%</td><td class="bar" id="d7"><img src="../../jacoco-resources/greenbar.gif" width="30" height="10" title="2" alt="2"/></td><td class="ctr2" id="e7">100%</td><td class="ctr1" id="f8">0</td><td class="ctr2" id="g7">2</td><td class="ctr1" id="h8">0</td><td class="ctr2" id="i9">2</td><td class="ctr1" id="j8">0</td><td class="ctr2" id="k8">1</td></tr><tr><td id="a6"><a href="LabelInfo.java.html#L131" class="el_method">isMethodInvocationLine(Label)</a></td><td class="bar" id="b9"><img src="../../jacoco-resources/greenbar.gif" width="44" height="10" title="10" alt="10"/></td><td class="ctr2" id="c9">100%</td><td class="bar" id="d8"><img src="../../jacoco-resources/greenbar.gif" width="30" height="10" title="2" alt="2"/></td><td class="ctr2" id="e8">100%</td><td class="ctr1" id="f9">0</td><td class="ctr2" id="g8">2</td><td class="ctr1" id="h9">0</td><td class="ctr2" id="i10">2</td><td class="ctr1" id="j9">0</td><td class="ctr2" id="k9">1</td></tr><tr><td id="a5"><a href="LabelInfo.java.html#L191" class="el_method">isDone(Label)</a></td><td class="bar" id="b10"><img src="../../jacoco-resources/greenbar.gif" width="44" height="10" title="10" alt="10"/></td><td class="ctr2" id="c10">100%</td><td class="bar" id="d9"><img src="../../jacoco-resources/greenbar.gif" width="30" height="10" title="2" alt="2"/></td><td class="ctr2" id="e9">100%</td><td class="ctr1" id="f10">0</td><td class="ctr2" id="g9">2</td><td class="ctr1" id="h10">0</td><td class="ctr2" id="i11">2</td><td class="ctr1" id="j10">0</td><td class="ctr2" id="k10">1</td></tr><tr><td id="a4"><a href="LabelInfo.java.html#L216" class="el_method">getProbeId(Label)</a></td><td class="bar" id="b11"><img src="../../jacoco-resources/greenbar.gif" width="44" height="10" title="10" alt="10"/></td><td class="ctr2" id="c11">100%</td><td class="bar" id="d10"><img src="../../jacoco-resources/greenbar.gif" width="30" height="10" title="2" alt="2"/></td><td class="ctr2" id="e10">100%</td><td class="ctr1" id="f11">0</td><td class="ctr2" id="g10">2</td><td class="ctr1" id="h11">0</td><td class="ctr2" id="i12">2</td><td class="ctr1" id="j11">0</td><td class="ctr2" id="k11">1</td></tr><tr><td id="a3"><a href="LabelInfo.java.html#L243" class="el_method">getIntermediateLabel(Label)</a></td><td class="bar" id="b12"><img src="../../jacoco-resources/greenbar.gif" width="44" height="10" title="10" alt="10"/></td><td class="ctr2" id="c12">100%</td><td class="bar" id="d11"><img src="../../jacoco-resources/greenbar.gif" width="30" height="10" title="2" alt="2"/></td><td class="ctr2" id="e11">100%</td><td class="ctr1" id="f12">0</td><td class="ctr2" id="g11">2</td><td class="ctr1" id="h12">0</td><td class="ctr2" id="i13">2</td><td class="ctr1" id="j12">0</td><td class="ctr2" id="k12">1</td></tr><tr><td id="a2"><a href="LabelInfo.java.html#L269" class="el_method">getInstruction(Label)</a></td><td class="bar" id="b13"><img src="../../jacoco-resources/greenbar.gif" width="44" height="10" title="10" alt="10"/></td><td class="ctr2" id="c13">100%</td><td class="bar" id="d12"><img src="../../jacoco-resources/greenbar.gif" width="30" height="10" title="2" alt="2"/></td><td class="ctr2" id="e12">100%</td><td class="ctr1" id="f13">0</td><td class="ctr2" id="g12">2</td><td class="ctr1" id="h13">0</td><td class="ctr2" id="i14">2</td><td class="ctr1" id="j13">0</td><td class="ctr2" id="k13">1</td></tr><tr><td id="a11"><a href="LabelInfo.java.html#L165" class="el_method">resetDone(Label)</a></td><td class="bar" id="b14"><img src="../../jacoco-resources/greenbar.gif" width="40" height="10" title="9" alt="9"/></td><td class="ctr2" id="c14">100%</td><td class="bar" id="d13"><img src="../../jacoco-resources/greenbar.gif" width="30" height="10" title="2" alt="2"/></td><td class="ctr2" id="e13">100%</td><td class="ctr1" id="f14">0</td><td class="ctr2" id="g13">2</td><td class="ctr1" id="h14">0</td><td class="ctr2" id="i4">4</td><td class="ctr1" id="j14">0</td><td class="ctr2" id="k14">1</td></tr><tr><td id="a16"><a href="LabelInfo.java.html#L118" class="el_method">setMethodInvocationLine(Label)</a></td><td class="bar" id="b15"><img src="../../jacoco-resources/greenbar.gif" width="22" height="10" title="5" alt="5"/></td><td class="ctr2" id="c15">100%</td><td class="bar" id="d15"/><td class="ctr2" id="e15">n/a</td><td class="ctr1" id="f15">0</td><td class="ctr2" id="g15">1</td><td class="ctr1" id="h15">0</td><td class="ctr2" id="i15">2</td><td class="ctr1" id="j15">0</td><td class="ctr2" id="k15">1</td></tr><tr><td id="a13"><a href="LabelInfo.java.html#L155" class="el_method">setDone(Label)</a></td><td class="bar" id="b16"><img src="../../jacoco-resources/greenbar.gif" width="22" height="10" title="5" alt="5"/></td><td class="ctr2" id="c16">100%</td><td class="bar" id="d16"/><td class="ctr2" id="e16">n/a</td><td class="ctr1" id="f16">0</td><td class="ctr2" id="g16">1</td><td class="ctr1" id="h16">0</td><td class="ctr2" id="i16">2</td><td class="ctr1" id="j16">0</td><td class="ctr2" id="k16">1</td></tr><tr><td id="a17"><a href="LabelInfo.java.html#L204" class="el_method">setProbeId(Label, int)</a></td><td class="bar" id="b17"><img src="../../jacoco-resources/greenbar.gif" width="22" height="10" title="5" alt="5"/></td><td class="ctr2" id="c17">100%</td><td class="bar" id="d17"/><td class="ctr2" id="e17">n/a</td><td class="ctr1" id="f17">0</td><td class="ctr2" id="g17">1</td><td class="ctr1" id="h17">0</td><td class="ctr2" id="i17">2</td><td class="ctr1" id="j17">0</td><td class="ctr2" id="k17">1</td></tr><tr><td id="a15"><a href="LabelInfo.java.html#L231" class="el_method">setIntermediateLabel(Label, Label)</a></td><td class="bar" id="b18"><img src="../../jacoco-resources/greenbar.gif" width="22" height="10" title="5" alt="5"/></td><td class="ctr2" id="c18">100%</td><td class="bar" id="d18"/><td class="ctr2" id="e18">n/a</td><td class="ctr1" id="f18">0</td><td class="ctr2" id="g18">1</td><td class="ctr1" id="h18">0</td><td class="ctr2" id="i18">2</td><td class="ctr1" id="j18">0</td><td class="ctr2" id="k18">1</td></tr><tr><td id="a14"><a href="LabelInfo.java.html#L257" class="el_method">setInstruction(Label, Instruction)</a></td><td class="bar" id="b19"><img src="../../jacoco-resources/greenbar.gif" width="22" height="10" title="5" alt="5"/></td><td class="ctr2" id="c19">100%</td><td class="bar" id="d19"/><td class="ctr2" id="e19">n/a</td><td class="ctr1" id="f19">0</td><td class="ctr2" id="g19">1</td><td class="ctr1" id="h19">0</td><td class="ctr2" id="i19">2</td><td class="ctr1" id="j19">0</td><td class="ctr2" id="k19">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.12.202403270442</span>Code Coverage Report for JaCoCo 0.8.12-SNAPSHOT</div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/trunk/coverage/org.jacoco.core/org.jacoco.core.internal.flow/LabelInfo.java.html b/jacoco/trunk/coverage/org.jacoco.core/org.jacoco.core.internal.flow/LabelInfo.java.html
    new file mode 100644
    index 00000000000..663e9e370e9
    --- /dev/null
    +++ b/jacoco/trunk/coverage/org.jacoco.core/org.jacoco.core.internal.flow/LabelInfo.java.html
    @@ -0,0 +1,288 @@
    +<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="en"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../../jacoco-resources/report.gif" type="image/gif"/><title>LabelInfo.java</title><link rel="stylesheet" href="../../jacoco-resources/prettify.css" type="text/css"/><script type="text/javascript" src="../../jacoco-resources/prettify.js"></script></head><body onload="window['PR_TAB_WIDTH']=4;prettyPrint()"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../../index.html" class="el_report">JaCoCo</a> &gt; <a href="../index.html" class="el_bundle">org.jacoco.core</a> &gt; <a href="index.source.html" class="el_package">org.jacoco.core.internal.flow</a> &gt; <span class="el_source">LabelInfo.java</span></div><h1>LabelInfo.java</h1><pre class="source lang-java linenums">/*******************************************************************************
    + * Copyright (c) 2009, 2024 Mountainminds GmbH &amp; Co. KG and Contributors
    + * This program and the accompanying materials are made available under
    + * the terms of the Eclipse Public License 2.0 which is available at
    + * http://www.eclipse.org/legal/epl-2.0
    + *
    + * SPDX-License-Identifier: EPL-2.0
    + *
    + * Contributors:
    + *    Marc R. Hoffmann - initial API and implementation
    + *
    + *******************************************************************************/
    +package org.jacoco.core.internal.flow;
    +
    +import org.jacoco.core.internal.analysis.Instruction;
    +import org.objectweb.asm.Label;
    +
    +/**
    + * Data container that is attached to {@link Label#info} objects to store flow
    + * and instrumentation specific information. The information is only valid
    + * locally in specific contexts.
    + */
    +public final class LabelInfo {
    +
    +	/**
    +	 * Reserved ID for &quot;no probe&quot;.
    +	 */
    +	public static final int NO_PROBE = -1;
    +
    +<span class="fc" id="L30">	private boolean target = false;</span>
    +
    +<span class="fc" id="L32">	private boolean multiTarget = false;</span>
    +
    +<span class="fc" id="L34">	private boolean successor = false;</span>
    +
    +<span class="fc" id="L36">	private boolean methodInvocationLine = false;</span>
    +
    +<span class="fc" id="L38">	private boolean done = false;</span>
    +
    +<span class="fc" id="L40">	private int probeid = NO_PROBE;</span>
    +
    +<span class="fc" id="L42">	private Label intermediate = null;</span>
    +
    +<span class="fc" id="L44">	private Instruction instruction = null;</span>
    +
    +	// instances are only created within this class
    +<span class="fc" id="L47">	private LabelInfo() {</span>
    +<span class="fc" id="L48">	}</span>
    +
    +	/**
    +	 * Defines that the given label is a jump target.
    +	 *
    +	 * @param label
    +	 *            label to define
    +	 */
    +	public static void setTarget(final Label label) {
    +<span class="fc" id="L57">		final LabelInfo info = create(label);</span>
    +<span class="fc bfc" id="L58" title="All 4 branches covered.">		if (info.target || info.successor) {</span>
    +<span class="fc" id="L59">			info.multiTarget = true;</span>
    +		} else {
    +<span class="fc" id="L61">			info.target = true;</span>
    +		}
    +<span class="fc" id="L63">	}</span>
    +
    +	/**
    +	 * Defines that the given label is the possible successor of the previous
    +	 * instruction in the method.
    +	 *
    +	 * @param label
    +	 *            label to define
    +	 */
    +	public static void setSuccessor(final Label label) {
    +<span class="fc" id="L73">		final LabelInfo info = create(label);</span>
    +<span class="fc" id="L74">		info.successor = true;</span>
    +<span class="fc bfc" id="L75" title="All 2 branches covered.">		if (info.target) {</span>
    +<span class="fc" id="L76">			info.multiTarget = true;</span>
    +		}
    +<span class="fc" id="L78">	}</span>
    +
    +	/**
    +	 * Checks whether multiple control paths lead to a label. Control flow path
    +	 * to a certain label are: jump targets, exception handlers and normal
    +	 * control flow from its predecessor instruction (unless this is an
    +	 * unconditional jump or method exit).
    +	 *
    +	 * @param label
    +	 *            label to check
    +	 * @return &lt;code&gt;true&lt;/code&gt; if the given multiple control paths lead to the
    +	 *         given label
    +	 */
    +	public static boolean isMultiTarget(final Label label) {
    +<span class="fc" id="L92">		final LabelInfo info = get(label);</span>
    +<span class="fc bfc" id="L93" title="All 2 branches covered.">		return info == null ? false : info.multiTarget;</span>
    +	}
    +
    +	/**
    +	 * Checks whether this label is the possible successor of the previous
    +	 * instruction in the method. This is the case if the predecessor isn't a
    +	 * unconditional jump or method exit instruction.
    +	 *
    +	 * @param label
    +	 *            label to check
    +	 * @return &lt;code&gt;true&lt;/code&gt; if the label is a possible instruction
    +	 *         successor
    +	 */
    +	public static boolean isSuccessor(final Label label) {
    +<span class="fc" id="L107">		final LabelInfo info = get(label);</span>
    +<span class="fc bfc" id="L108" title="All 2 branches covered.">		return info == null ? false : info.successor;</span>
    +	}
    +
    +	/**
    +	 * Mark a given label as the beginning of a line with method invocations.
    +	 *
    +	 * @param label
    +	 *            label to mark
    +	 */
    +	public static void setMethodInvocationLine(final Label label) {
    +<span class="fc" id="L118">		create(label).methodInvocationLine = true;</span>
    +<span class="fc" id="L119">	}</span>
    +
    +	/**
    +	 * Checks whether the a given label has been marked as a line with method
    +	 * invocations.
    +	 *
    +	 * @param label
    +	 *            label to check
    +	 * @return &lt;code&gt;true&lt;/code&gt; if the label represents a line with method
    +	 *         invocations
    +	 */
    +	public static boolean isMethodInvocationLine(final Label label) {
    +<span class="fc" id="L131">		final LabelInfo info = get(label);</span>
    +<span class="fc bfc" id="L132" title="All 2 branches covered.">		return info == null ? false : info.methodInvocationLine;</span>
    +	}
    +
    +	/**
    +	 * Determines whether the given label needs a probe to be inserted before.
    +	 *
    +	 * @param label
    +	 *            label to test
    +	 * @return &lt;code&gt;true&lt;/code&gt; if a probe should be inserted before
    +	 */
    +	public static boolean needsProbe(final Label label) {
    +<span class="fc" id="L143">		final LabelInfo info = get(label);</span>
    +<span class="fc bfc" id="L144" title="All 8 branches covered.">		return info != null &amp;&amp; info.successor</span>
    +				&amp;&amp; (info.multiTarget || info.methodInvocationLine);
    +	}
    +
    +	/**
    +	 * Mark a given label as done.
    +	 *
    +	 * @param label
    +	 *            label to mark
    +	 */
    +	public static void setDone(final Label label) {
    +<span class="fc" id="L155">		create(label).done = true;</span>
    +<span class="fc" id="L156">	}</span>
    +
    +	/**
    +	 * Resets the &quot;done&quot; status of a given label.
    +	 *
    +	 * @param label
    +	 *            label to reset
    +	 */
    +	public static void resetDone(final Label label) {
    +<span class="fc" id="L165">		final LabelInfo info = get(label);</span>
    +<span class="fc bfc" id="L166" title="All 2 branches covered.">		if (info != null) {</span>
    +<span class="fc" id="L167">			info.done = false;</span>
    +		}
    +<span class="fc" id="L169">	}</span>
    +
    +	/**
    +	 * Resets the &quot;done&quot; status of all given labels.
    +	 *
    +	 * @param labels
    +	 *            labels to reset
    +	 */
    +	public static void resetDone(final Label[] labels) {
    +<span class="fc bfc" id="L178" title="All 2 branches covered.">		for (final Label label : labels) {</span>
    +<span class="fc" id="L179">			resetDone(label);</span>
    +		}
    +<span class="fc" id="L181">	}</span>
    +
    +	/**
    +	 * Checks whether this label is marked as done.
    +	 *
    +	 * @param label
    +	 *            label to check
    +	 * @return &lt;code&gt;true&lt;/code&gt; if this label is marked as done
    +	 */
    +	public static boolean isDone(final Label label) {
    +<span class="fc" id="L191">		final LabelInfo info = get(label);</span>
    +<span class="fc bfc" id="L192" title="All 2 branches covered.">		return info == null ? false : info.done;</span>
    +	}
    +
    +	/**
    +	 * Sets the given probe id to the given label.
    +	 *
    +	 * @param label
    +	 *            label to assign a probe to
    +	 * @param id
    +	 *            id of the probe
    +	 */
    +	public static void setProbeId(final Label label, final int id) {
    +<span class="fc" id="L204">		create(label).probeid = id;</span>
    +<span class="fc" id="L205">	}</span>
    +
    +	/**
    +	 * Returns the assigned probe id.
    +	 *
    +	 * @param label
    +	 *            label to check
    +	 * @return probe id or {@link #NO_PROBE} if no probe is assigned to the
    +	 *         label
    +	 */
    +	public static int getProbeId(final Label label) {
    +<span class="fc" id="L216">		final LabelInfo info = get(label);</span>
    +<span class="fc bfc" id="L217" title="All 2 branches covered.">		return info == null ? NO_PROBE : info.probeid;</span>
    +	}
    +
    +	/**
    +	 * Defines an intermediate label for the given label. Such intermediate
    +	 * labels are required during instrumentation to add probes to jump targets.
    +	 *
    +	 * @param label
    +	 *            label to define for
    +	 * @param intermediate
    +	 *            intermediate label
    +	 */
    +	public static void setIntermediateLabel(final Label label,
    +			final Label intermediate) {
    +<span class="fc" id="L231">		create(label).intermediate = intermediate;</span>
    +<span class="fc" id="L232">	}</span>
    +
    +	/**
    +	 * Returns the intermediate label for the given label if one has been
    +	 * defined.
    +	 *
    +	 * @param label
    +	 *            label to look for
    +	 * @return intermediate label or &lt;code&gt;null&lt;/code&gt;
    +	 */
    +	public static Label getIntermediateLabel(final Label label) {
    +<span class="fc" id="L243">		final LabelInfo info = get(label);</span>
    +<span class="fc bfc" id="L244" title="All 2 branches covered.">		return info == null ? null : info.intermediate;</span>
    +	}
    +
    +	/**
    +	 * Sets the instruction corresponding to this label.
    +	 *
    +	 * @param label
    +	 *            label to set the instruction for
    +	 * @param instruction
    +	 *            corresponding instruction
    +	 */
    +	public static void setInstruction(final Label label,
    +			final Instruction instruction) {
    +<span class="fc" id="L257">		create(label).instruction = instruction;</span>
    +<span class="fc" id="L258">	}</span>
    +
    +	/**
    +	 * Returns the corresponding instruction for the given label if one has been
    +	 * defined.
    +	 *
    +	 * @param label
    +	 *            label to look for
    +	 * @return corresponding instruction or &lt;code&gt;null&lt;/code&gt;
    +	 */
    +	public static Instruction getInstruction(final Label label) {
    +<span class="fc" id="L269">		final LabelInfo info = get(label);</span>
    +<span class="fc bfc" id="L270" title="All 2 branches covered.">		return info == null ? null : info.instruction;</span>
    +	}
    +
    +	private static LabelInfo get(final Label label) {
    +<span class="fc" id="L274">		final Object info = label.info;</span>
    +<span class="fc bfc" id="L275" title="All 2 branches covered.">		return info instanceof LabelInfo ? (LabelInfo) info : null;</span>
    +	}
    +
    +	private static LabelInfo create(final Label label) {
    +<span class="fc" id="L279">		LabelInfo info = get(label);</span>
    +<span class="fc bfc" id="L280" title="All 2 branches covered.">		if (info == null) {</span>
    +<span class="fc" id="L281">			info = new LabelInfo();</span>
    +<span class="fc" id="L282">			label.info = info;</span>
    +		}
    +<span class="fc" id="L284">		return info;</span>
    +	}
    +
    +}
    +</pre><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.12.202403270442</span>Code Coverage Report for JaCoCo 0.8.12-SNAPSHOT</div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/trunk/coverage/org.jacoco.core/org.jacoco.core.internal.flow/MethodProbesAdapter.html b/jacoco/trunk/coverage/org.jacoco.core/org.jacoco.core.internal.flow/MethodProbesAdapter.html
    new file mode 100644
    index 00000000000..2225b1b7fa3
    --- /dev/null
    +++ b/jacoco/trunk/coverage/org.jacoco.core/org.jacoco.core.internal.flow/MethodProbesAdapter.html
    @@ -0,0 +1 @@
    +<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="en"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../../jacoco-resources/report.gif" type="image/gif"/><title>MethodProbesAdapter</title><script type="text/javascript" src="../../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../../index.html" class="el_report">JaCoCo</a> &gt; <a href="../index.html" class="el_bundle">org.jacoco.core</a> &gt; <a href="index.html" class="el_package">org.jacoco.core.internal.flow</a> &gt; <span class="el_class">MethodProbesAdapter</span></div><h1>MethodProbesAdapter</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">0 of 236</td><td class="ctr2">100%</td><td class="bar">0 of 27</td><td class="ctr2">100%</td><td class="ctr1">0</td><td class="ctr2">26</td><td class="ctr1">0</td><td class="ctr2">57</td><td class="ctr1">0</td><td class="ctr2">12</td></tr></tfoot><tbody><tr><td id="a3"><a href="MethodProbesAdapter.java.html#L166" class="el_method">markLabels(Label, Label[])</a></td><td class="bar" id="b0"><img src="../../jacoco-resources/greenbar.gif" width="120" height="10" title="49" alt="49"/></td><td class="ctr2" id="c0">100%</td><td class="bar" id="d0"><img src="../../jacoco-resources/greenbar.gif" width="120" height="10" title="8" alt="8"/></td><td class="ctr2" id="e0">100%</td><td class="ctr1" id="f0">0</td><td class="ctr2" id="g0">5</td><td class="ctr1" id="h0">0</td><td class="ctr2" id="i0">12</td><td class="ctr1" id="j0">0</td><td class="ctr2" id="k0">1</td></tr><tr><td id="a1"><a href="MethodProbesAdapter.java.html#L73" class="el_method">getTryCatchLabel(Label)</a></td><td class="bar" id="b1"><img src="../../jacoco-resources/greenbar.gif" width="75" height="10" title="31" alt="31"/></td><td class="ctr2" id="c1">100%</td><td class="bar" id="d1"><img src="../../jacoco-resources/greenbar.gif" width="60" height="10" title="4" alt="4"/></td><td class="ctr2" id="e1">100%</td><td class="ctr1" id="f1">0</td><td class="ctr2" id="g1">3</td><td class="ctr1" id="h1">0</td><td class="ctr2" id="i1">8</td><td class="ctr1" id="j1">0</td><td class="ctr2" id="k1">1</td></tr><tr><td id="a8"><a href="MethodProbesAdapter.java.html#L88" class="el_method">visitLabel(Label)</a></td><td class="bar" id="b2"><img src="../../jacoco-resources/greenbar.gif" width="66" height="10" title="27" alt="27"/></td><td class="ctr2" id="c2">100%</td><td class="bar" id="d2"><img src="../../jacoco-resources/greenbar.gif" width="60" height="10" title="4" alt="4"/></td><td class="ctr2" id="e2">100%</td><td class="ctr1" id="f2">0</td><td class="ctr2" id="g2">3</td><td class="ctr1" id="h2">0</td><td class="ctr2" id="i2">6</td><td class="ctr1" id="j2">0</td><td class="ctr2" id="k2">1</td></tr><tr><td id="a10"><a href="MethodProbesAdapter.java.html#L157" class="el_method">visitTableSwitchInsn(int, int, Label, Label[])</a></td><td class="bar" id="b3"><img src="../../jacoco-resources/greenbar.gif" width="58" height="10" title="24" alt="24"/></td><td class="ctr2" id="c3">100%</td><td class="bar" id="d4"><img src="../../jacoco-resources/greenbar.gif" width="30" height="10" title="2" alt="2"/></td><td class="ctr2" id="e3">100%</td><td class="ctr1" id="f3">0</td><td class="ctr2" id="g4">2</td><td class="ctr1" id="h3">0</td><td class="ctr2" id="i5">4</td><td class="ctr1" id="j3">0</td><td class="ctr2" id="k3">1</td></tr><tr><td id="a7"><a href="MethodProbesAdapter.java.html#L117" class="el_method">visitJumpInsn(int, Label)</a></td><td class="bar" id="b4"><img src="../../jacoco-resources/greenbar.gif" width="56" height="10" title="23" alt="23"/></td><td class="ctr2" id="c4">100%</td><td class="bar" id="d5"><img src="../../jacoco-resources/greenbar.gif" width="30" height="10" title="2" alt="2"/></td><td class="ctr2" id="e4">100%</td><td class="ctr1" id="f4">0</td><td class="ctr2" id="g5">2</td><td class="ctr1" id="h4">0</td><td class="ctr2" id="i6">4</td><td class="ctr1" id="j4">0</td><td class="ctr2" id="k4">1</td></tr><tr><td id="a9"><a href="MethodProbesAdapter.java.html#L146" class="el_method">visitLookupSwitchInsn(Label, int[], Label[])</a></td><td class="bar" id="b5"><img src="../../jacoco-resources/greenbar.gif" width="53" height="10" title="22" alt="22"/></td><td class="ctr2" id="c5">100%</td><td class="bar" id="d6"><img src="../../jacoco-resources/greenbar.gif" width="30" height="10" title="2" alt="2"/></td><td class="ctr2" id="e5">100%</td><td class="ctr1" id="f5">0</td><td class="ctr2" id="g6">2</td><td class="ctr1" id="h5">0</td><td class="ctr2" id="i7">4</td><td class="ctr1" id="j5">0</td><td class="ctr2" id="k5">1</td></tr><tr><td id="a4"><a href="MethodProbesAdapter.java.html#L48" class="el_method">MethodProbesAdapter(MethodProbesVisitor, IProbeIdGenerator)</a></td><td class="bar" id="b6"><img src="../../jacoco-resources/greenbar.gif" width="39" height="10" title="16" alt="16"/></td><td class="ctr2" id="c6">100%</td><td class="bar" id="d8"/><td class="ctr2" id="e8">n/a</td><td class="ctr1" id="f6">0</td><td class="ctr2" id="g8">1</td><td class="ctr1" id="h6">0</td><td class="ctr2" id="i3">5</td><td class="ctr1" id="j6">0</td><td class="ctr2" id="k6">1</td></tr><tr><td id="a6"><a href="MethodProbesAdapter.java.html#L99" class="el_method">visitInsn(int)</a></td><td class="bar" id="b7"><img src="../../jacoco-resources/greenbar.gif" width="36" height="10" title="15" alt="15"/></td><td class="ctr2" id="c7">100%</td><td class="bar" id="d7"><img src="../../jacoco-resources/greenbar.gif" width="30" height="10" title="2" alt="2"/></td><td class="ctr2" id="e6">100%</td><td class="ctr1" id="f7">0</td><td class="ctr2" id="g7">2</td><td class="ctr1" id="h7">0</td><td class="ctr2" id="i4">5</td><td class="ctr1" id="j7">0</td><td class="ctr2" id="k7">1</td></tr><tr><td id="a11"><a href="MethodProbesAdapter.java.html#L68" class="el_method">visitTryCatchBlock(Label, Label, Label, String)</a></td><td class="bar" id="b8"><img src="../../jacoco-resources/greenbar.gif" width="29" height="10" title="12" alt="12"/></td><td class="ctr2" id="c8">100%</td><td class="bar" id="d9"/><td class="ctr2" id="e9">n/a</td><td class="ctr1" id="f8">0</td><td class="ctr2" id="g9">1</td><td class="ctr1" id="h8">0</td><td class="ctr2" id="i9">2</td><td class="ctr1" id="j8">0</td><td class="ctr2" id="k8">1</td></tr><tr><td id="a2"><a href="MethodProbesAdapter.java.html#L126" class="el_method">jumpPopCount(int)</a></td><td class="bar" id="b9"><img src="../../jacoco-resources/greenbar.gif" width="19" height="10" title="8" alt="8"/></td><td class="ctr2" id="c9">100%</td><td class="bar" id="d3"><img src="../../jacoco-resources/greenbar.gif" width="45" height="10" title="3" alt="3"/></td><td class="ctr2" id="e7">100%</td><td class="ctr1" id="f9">0</td><td class="ctr2" id="g3">3</td><td class="ctr1" id="h9">0</td><td class="ctr2" id="i8">4</td><td class="ctr1" id="j9">0</td><td class="ctr2" id="k9">1</td></tr><tr><td id="a0"><a href="MethodProbesAdapter.java.html#L184" class="el_method">frame(int)</a></td><td class="bar" id="b10"><img src="../../jacoco-resources/greenbar.gif" width="12" height="10" title="5" alt="5"/></td><td class="ctr2" id="c10">100%</td><td class="bar" id="d10"/><td class="ctr2" id="e10">n/a</td><td class="ctr1" id="f10">0</td><td class="ctr2" id="g10">1</td><td class="ctr1" id="h10">0</td><td class="ctr2" id="i11">1</td><td class="ctr1" id="j10">0</td><td class="ctr2" id="k10">1</td></tr><tr><td id="a5"><a href="MethodProbesAdapter.java.html#L62" class="el_method">setAnalyzer(AnalyzerAdapter)</a></td><td class="bar" id="b11"><img src="../../jacoco-resources/greenbar.gif" width="9" height="10" title="4" alt="4"/></td><td class="ctr2" id="c11">100%</td><td class="bar" id="d11"/><td class="ctr2" id="e11">n/a</td><td class="ctr1" id="f11">0</td><td class="ctr2" id="g11">1</td><td class="ctr1" id="h11">0</td><td class="ctr2" id="i10">2</td><td class="ctr1" id="j11">0</td><td class="ctr2" id="k11">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.12.202403270442</span>Code Coverage Report for JaCoCo 0.8.12-SNAPSHOT</div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/trunk/coverage/org.jacoco.core/org.jacoco.core.internal.flow/MethodProbesAdapter.java.html b/jacoco/trunk/coverage/org.jacoco.core/org.jacoco.core.internal.flow/MethodProbesAdapter.java.html
    new file mode 100644
    index 00000000000..90be11e6796
    --- /dev/null
    +++ b/jacoco/trunk/coverage/org.jacoco.core/org.jacoco.core.internal.flow/MethodProbesAdapter.java.html
    @@ -0,0 +1,188 @@
    +<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="en"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../../jacoco-resources/report.gif" type="image/gif"/><title>MethodProbesAdapter.java</title><link rel="stylesheet" href="../../jacoco-resources/prettify.css" type="text/css"/><script type="text/javascript" src="../../jacoco-resources/prettify.js"></script></head><body onload="window['PR_TAB_WIDTH']=4;prettyPrint()"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../../index.html" class="el_report">JaCoCo</a> &gt; <a href="../index.html" class="el_bundle">org.jacoco.core</a> &gt; <a href="index.source.html" class="el_package">org.jacoco.core.internal.flow</a> &gt; <span class="el_source">MethodProbesAdapter.java</span></div><h1>MethodProbesAdapter.java</h1><pre class="source lang-java linenums">/*******************************************************************************
    + * Copyright (c) 2009, 2024 Mountainminds GmbH &amp; Co. KG and Contributors
    + * This program and the accompanying materials are made available under
    + * the terms of the Eclipse Public License 2.0 which is available at
    + * http://www.eclipse.org/legal/epl-2.0
    + *
    + * SPDX-License-Identifier: EPL-2.0
    + *
    + * Contributors:
    + *    Marc R. Hoffmann - initial API and implementation
    + *
    + *******************************************************************************/
    +package org.jacoco.core.internal.flow;
    +
    +import java.util.HashMap;
    +import java.util.Map;
    +
    +import org.jacoco.core.internal.instr.InstrSupport;
    +import org.objectweb.asm.Label;
    +import org.objectweb.asm.MethodVisitor;
    +import org.objectweb.asm.Opcodes;
    +import org.objectweb.asm.commons.AnalyzerAdapter;
    +
    +/**
    + * Adapter that creates additional visitor events for probes to be inserted into
    + * a method.
    + */
    +public final class MethodProbesAdapter extends MethodVisitor {
    +
    +	private final MethodProbesVisitor probesVisitor;
    +
    +	private final IProbeIdGenerator idGenerator;
    +
    +	private AnalyzerAdapter analyzer;
    +
    +	private final Map&lt;Label, Label&gt; tryCatchProbeLabels;
    +
    +	/**
    +	 * Create a new adapter instance.
    +	 *
    +	 * @param probesVisitor
    +	 *            visitor to delegate to
    +	 * @param idGenerator
    +	 *            generator for unique probe ids
    +	 */
    +	public MethodProbesAdapter(final MethodProbesVisitor probesVisitor,
    +			final IProbeIdGenerator idGenerator) {
    +<span class="fc" id="L48">		super(InstrSupport.ASM_API_VERSION, probesVisitor);</span>
    +<span class="fc" id="L49">		this.probesVisitor = probesVisitor;</span>
    +<span class="fc" id="L50">		this.idGenerator = idGenerator;</span>
    +<span class="fc" id="L51">		this.tryCatchProbeLabels = new HashMap&lt;Label, Label&gt;();</span>
    +<span class="fc" id="L52">	}</span>
    +
    +	/**
    +	 * If an analyzer is set {@link IFrame} handles are calculated and emitted
    +	 * to the probes methods.
    +	 *
    +	 * @param analyzer
    +	 *            optional analyzer to set
    +	 */
    +	public void setAnalyzer(final AnalyzerAdapter analyzer) {
    +<span class="fc" id="L62">		this.analyzer = analyzer;</span>
    +<span class="fc" id="L63">	}</span>
    +
    +	@Override
    +	public void visitTryCatchBlock(final Label start, final Label end,
    +			final Label handler, final String type) {
    +<span class="fc" id="L68">		probesVisitor.visitTryCatchBlock(getTryCatchLabel(start),</span>
    +				getTryCatchLabel(end), handler, type);
    +<span class="fc" id="L70">	}</span>
    +
    +	private Label getTryCatchLabel(Label label) {
    +<span class="fc bfc" id="L73" title="All 2 branches covered.">		if (tryCatchProbeLabels.containsKey(label)) {</span>
    +<span class="fc" id="L74">			label = tryCatchProbeLabels.get(label);</span>
    +<span class="fc bfc" id="L75" title="All 2 branches covered.">		} else if (LabelInfo.needsProbe(label)) {</span>
    +			// If a probe will be inserted before the label, we'll need to use a
    +			// different label to define the range of the try-catch block.
    +<span class="fc" id="L78">			final Label probeLabel = new Label();</span>
    +<span class="fc" id="L79">			LabelInfo.setSuccessor(probeLabel);</span>
    +<span class="fc" id="L80">			tryCatchProbeLabels.put(label, probeLabel);</span>
    +<span class="fc" id="L81">			label = probeLabel;</span>
    +		}
    +<span class="fc" id="L83">		return label;</span>
    +	}
    +
    +	@Override
    +	public void visitLabel(final Label label) {
    +<span class="fc bfc" id="L88" title="All 2 branches covered.">		if (LabelInfo.needsProbe(label)) {</span>
    +<span class="fc bfc" id="L89" title="All 2 branches covered.">			if (tryCatchProbeLabels.containsKey(label)) {</span>
    +<span class="fc" id="L90">				probesVisitor.visitLabel(tryCatchProbeLabels.get(label));</span>
    +			}
    +<span class="fc" id="L92">			probesVisitor.visitProbe(idGenerator.nextId());</span>
    +		}
    +<span class="fc" id="L94">		probesVisitor.visitLabel(label);</span>
    +<span class="fc" id="L95">	}</span>
    +
    +	@Override
    +	public void visitInsn(final int opcode) {
    +<span class="fc bfc" id="L99" title="All 2 branches covered.">		switch (opcode) {</span>
    +		case Opcodes.IRETURN:
    +		case Opcodes.LRETURN:
    +		case Opcodes.FRETURN:
    +		case Opcodes.DRETURN:
    +		case Opcodes.ARETURN:
    +		case Opcodes.RETURN:
    +		case Opcodes.ATHROW:
    +<span class="fc" id="L107">			probesVisitor.visitInsnWithProbe(opcode, idGenerator.nextId());</span>
    +<span class="fc" id="L108">			break;</span>
    +		default:
    +<span class="fc" id="L110">			probesVisitor.visitInsn(opcode);</span>
    +			break;
    +		}
    +<span class="fc" id="L113">	}</span>
    +
    +	@Override
    +	public void visitJumpInsn(final int opcode, final Label label) {
    +<span class="fc bfc" id="L117" title="All 2 branches covered.">		if (LabelInfo.isMultiTarget(label)) {</span>
    +<span class="fc" id="L118">			probesVisitor.visitJumpInsnWithProbe(opcode, label,</span>
    +					idGenerator.nextId(), frame(jumpPopCount(opcode)));
    +		} else {
    +<span class="fc" id="L121">			probesVisitor.visitJumpInsn(opcode, label);</span>
    +		}
    +<span class="fc" id="L123">	}</span>
    +
    +	private int jumpPopCount(final int opcode) {
    +<span class="fc bfc" id="L126" title="All 3 branches covered.">		switch (opcode) {</span>
    +		case Opcodes.GOTO:
    +<span class="fc" id="L128">			return 0;</span>
    +		case Opcodes.IFEQ:
    +		case Opcodes.IFNE:
    +		case Opcodes.IFLT:
    +		case Opcodes.IFGE:
    +		case Opcodes.IFGT:
    +		case Opcodes.IFLE:
    +		case Opcodes.IFNULL:
    +		case Opcodes.IFNONNULL:
    +<span class="fc" id="L137">			return 1;</span>
    +		default: // IF_CMPxx and IF_ACMPxx
    +<span class="fc" id="L139">			return 2;</span>
    +		}
    +	}
    +
    +	@Override
    +	public void visitLookupSwitchInsn(final Label dflt, final int[] keys,
    +			final Label[] labels) {
    +<span class="fc bfc" id="L146" title="All 2 branches covered.">		if (markLabels(dflt, labels)) {</span>
    +<span class="fc" id="L147">			probesVisitor.visitLookupSwitchInsnWithProbes(dflt, keys, labels,</span>
    +					frame(1));
    +		} else {
    +<span class="fc" id="L150">			probesVisitor.visitLookupSwitchInsn(dflt, keys, labels);</span>
    +		}
    +<span class="fc" id="L152">	}</span>
    +
    +	@Override
    +	public void visitTableSwitchInsn(final int min, final int max,
    +			final Label dflt, final Label... labels) {
    +<span class="fc bfc" id="L157" title="All 2 branches covered.">		if (markLabels(dflt, labels)) {</span>
    +<span class="fc" id="L158">			probesVisitor.visitTableSwitchInsnWithProbes(min, max, dflt, labels,</span>
    +					frame(1));
    +		} else {
    +<span class="fc" id="L161">			probesVisitor.visitTableSwitchInsn(min, max, dflt, labels);</span>
    +		}
    +<span class="fc" id="L163">	}</span>
    +
    +	private boolean markLabels(final Label dflt, final Label[] labels) {
    +<span class="fc" id="L166">		boolean probe = false;</span>
    +<span class="fc" id="L167">		LabelInfo.resetDone(labels);</span>
    +<span class="fc bfc" id="L168" title="All 2 branches covered.">		if (LabelInfo.isMultiTarget(dflt)) {</span>
    +<span class="fc" id="L169">			LabelInfo.setProbeId(dflt, idGenerator.nextId());</span>
    +<span class="fc" id="L170">			probe = true;</span>
    +		}
    +<span class="fc" id="L172">		LabelInfo.setDone(dflt);</span>
    +<span class="fc bfc" id="L173" title="All 2 branches covered.">		for (final Label l : labels) {</span>
    +<span class="fc bfc" id="L174" title="All 4 branches covered.">			if (LabelInfo.isMultiTarget(l) &amp;&amp; !LabelInfo.isDone(l)) {</span>
    +<span class="fc" id="L175">				LabelInfo.setProbeId(l, idGenerator.nextId());</span>
    +<span class="fc" id="L176">				probe = true;</span>
    +			}
    +<span class="fc" id="L178">			LabelInfo.setDone(l);</span>
    +		}
    +<span class="fc" id="L180">		return probe;</span>
    +	}
    +
    +	private IFrame frame(final int popCount) {
    +<span class="fc" id="L184">		return FrameSnapshot.create(analyzer, popCount);</span>
    +	}
    +
    +}
    +</pre><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.12.202403270442</span>Code Coverage Report for JaCoCo 0.8.12-SNAPSHOT</div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/trunk/coverage/org.jacoco.core/org.jacoco.core.internal.flow/MethodProbesVisitor.html b/jacoco/trunk/coverage/org.jacoco.core/org.jacoco.core.internal.flow/MethodProbesVisitor.html
    new file mode 100644
    index 00000000000..47069b4027f
    --- /dev/null
    +++ b/jacoco/trunk/coverage/org.jacoco.core/org.jacoco.core.internal.flow/MethodProbesVisitor.html
    @@ -0,0 +1 @@
    +<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="en"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../../jacoco-resources/report.gif" type="image/gif"/><title>MethodProbesVisitor</title><script type="text/javascript" src="../../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../../index.html" class="el_report">JaCoCo</a> &gt; <a href="../index.html" class="el_bundle">org.jacoco.core</a> &gt; <a href="index.html" class="el_package">org.jacoco.core.internal.flow</a> &gt; <span class="el_class">MethodProbesVisitor</span></div><h1>MethodProbesVisitor</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">0 of 18</td><td class="ctr2">100%</td><td class="bar">0 of 0</td><td class="ctr2">n/a</td><td class="ctr1">0</td><td class="ctr2">8</td><td class="ctr1">0</td><td class="ctr2">11</td><td class="ctr1">0</td><td class="ctr2">8</td></tr></tfoot><tbody><tr><td id="a2"><a href="MethodProbesVisitor.java.html#L40" class="el_method">MethodProbesVisitor(MethodVisitor)</a></td><td class="bar" id="b0"><img src="../../jacoco-resources/greenbar.gif" width="120" height="10" title="5" alt="5"/></td><td class="ctr2" id="c0">100%</td><td class="bar" id="d0"/><td class="ctr2" id="e0">n/a</td><td class="ctr1" id="f0">0</td><td class="ctr2" id="g0">1</td><td class="ctr1" id="h0">0</td><td class="ctr2" id="i0">2</td><td class="ctr1" id="j0">0</td><td class="ctr2" id="k0">1</td></tr><tr><td id="a1"><a href="MethodProbesVisitor.java.html#L30" class="el_method">MethodProbesVisitor()</a></td><td class="bar" id="b1"><img src="../../jacoco-resources/greenbar.gif" width="96" height="10" title="4" alt="4"/></td><td class="ctr2" id="c1">100%</td><td class="bar" id="d1"/><td class="ctr2" id="e1">n/a</td><td class="ctr1" id="f1">0</td><td class="ctr2" id="g1">1</td><td class="ctr1" id="h1">0</td><td class="ctr2" id="i1">2</td><td class="ctr1" id="j1">0</td><td class="ctr2" id="k1">1</td></tr><tr><td id="a0"><a href="MethodProbesVisitor.java.html#L165" class="el_method">accept(MethodNode, MethodVisitor)</a></td><td class="bar" id="b2"><img src="../../jacoco-resources/greenbar.gif" width="96" height="10" title="4" alt="4"/></td><td class="ctr2" id="c2">100%</td><td class="bar" id="d2"/><td class="ctr2" id="e2">n/a</td><td class="ctr1" id="f2">0</td><td class="ctr2" id="g2">1</td><td class="ctr1" id="h2">0</td><td class="ctr2" id="i2">2</td><td class="ctr1" id="j2">0</td><td class="ctr2" id="k2">1</td></tr><tr><td id="a6"><a href="MethodProbesVisitor.java.html#L52" class="el_method">visitProbe(int)</a></td><td class="bar" id="b3"><img src="../../jacoco-resources/greenbar.gif" width="24" height="10" title="1" alt="1"/></td><td class="ctr2" id="c3">100%</td><td class="bar" id="d3"/><td class="ctr2" id="e3">n/a</td><td class="ctr1" id="f3">0</td><td class="ctr2" id="g3">1</td><td class="ctr1" id="h3">0</td><td class="ctr2" id="i3">1</td><td class="ctr1" id="j3">0</td><td class="ctr2" id="k3">1</td></tr><tr><td id="a4"><a href="MethodProbesVisitor.java.html#L79" class="el_method">visitJumpInsnWithProbe(int, Label, int, IFrame)</a></td><td class="bar" id="b4"><img src="../../jacoco-resources/greenbar.gif" width="24" height="10" title="1" alt="1"/></td><td class="ctr2" id="c4">100%</td><td class="bar" id="d4"/><td class="ctr2" id="e4">n/a</td><td class="ctr1" id="f4">0</td><td class="ctr2" id="g4">1</td><td class="ctr1" id="h4">0</td><td class="ctr2" id="i4">1</td><td class="ctr1" id="j4">0</td><td class="ctr2" id="k4">1</td></tr><tr><td id="a3"><a href="MethodProbesVisitor.java.html#L96" class="el_method">visitInsnWithProbe(int, int)</a></td><td class="bar" id="b5"><img src="../../jacoco-resources/greenbar.gif" width="24" height="10" title="1" alt="1"/></td><td class="ctr2" id="c5">100%</td><td class="bar" id="d5"/><td class="ctr2" id="e5">n/a</td><td class="ctr1" id="f5">0</td><td class="ctr2" id="g5">1</td><td class="ctr1" id="h5">0</td><td class="ctr2" id="i5">1</td><td class="ctr1" id="j5">0</td><td class="ctr2" id="k5">1</td></tr><tr><td id="a7"><a href="MethodProbesVisitor.java.html#L124" class="el_method">visitTableSwitchInsnWithProbes(int, int, Label, Label[], IFrame)</a></td><td class="bar" id="b6"><img src="../../jacoco-resources/greenbar.gif" width="24" height="10" title="1" alt="1"/></td><td class="ctr2" id="c6">100%</td><td class="bar" id="d6"/><td class="ctr2" id="e6">n/a</td><td class="ctr1" id="f6">0</td><td class="ctr2" id="g6">1</td><td class="ctr1" id="h6">0</td><td class="ctr2" id="i6">1</td><td class="ctr1" id="j6">0</td><td class="ctr2" id="k6">1</td></tr><tr><td id="a5"><a href="MethodProbesVisitor.java.html#L150" class="el_method">visitLookupSwitchInsnWithProbes(Label, int[], Label[], IFrame)</a></td><td class="bar" id="b7"><img src="../../jacoco-resources/greenbar.gif" width="24" height="10" title="1" alt="1"/></td><td class="ctr2" id="c7">100%</td><td class="bar" id="d7"/><td class="ctr2" id="e7">n/a</td><td class="ctr1" id="f7">0</td><td class="ctr2" id="g7">1</td><td class="ctr1" id="h7">0</td><td class="ctr2" id="i7">1</td><td class="ctr1" id="j7">0</td><td class="ctr2" id="k7">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.12.202403270442</span>Code Coverage Report for JaCoCo 0.8.12-SNAPSHOT</div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/trunk/coverage/org.jacoco.core/org.jacoco.core.internal.flow/MethodProbesVisitor.java.html b/jacoco/trunk/coverage/org.jacoco.core/org.jacoco.core.internal.flow/MethodProbesVisitor.java.html
    new file mode 100644
    index 00000000000..d6022b14264
    --- /dev/null
    +++ b/jacoco/trunk/coverage/org.jacoco.core/org.jacoco.core.internal.flow/MethodProbesVisitor.java.html
    @@ -0,0 +1,169 @@
    +<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="en"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../../jacoco-resources/report.gif" type="image/gif"/><title>MethodProbesVisitor.java</title><link rel="stylesheet" href="../../jacoco-resources/prettify.css" type="text/css"/><script type="text/javascript" src="../../jacoco-resources/prettify.js"></script></head><body onload="window['PR_TAB_WIDTH']=4;prettyPrint()"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../../index.html" class="el_report">JaCoCo</a> &gt; <a href="../index.html" class="el_bundle">org.jacoco.core</a> &gt; <a href="index.source.html" class="el_package">org.jacoco.core.internal.flow</a> &gt; <span class="el_source">MethodProbesVisitor.java</span></div><h1>MethodProbesVisitor.java</h1><pre class="source lang-java linenums">/*******************************************************************************
    + * Copyright (c) 2009, 2024 Mountainminds GmbH &amp; Co. KG and Contributors
    + * This program and the accompanying materials are made available under
    + * the terms of the Eclipse Public License 2.0 which is available at
    + * http://www.eclipse.org/legal/epl-2.0
    + *
    + * SPDX-License-Identifier: EPL-2.0
    + *
    + * Contributors:
    + *    Marc R. Hoffmann - initial API and implementation
    + *
    + *******************************************************************************/
    +package org.jacoco.core.internal.flow;
    +
    +import org.jacoco.core.internal.instr.InstrSupport;
    +import org.objectweb.asm.Label;
    +import org.objectweb.asm.MethodVisitor;
    +import org.objectweb.asm.tree.MethodNode;
    +
    +/**
    + * A {@link MethodVisitor} with additional methods to get probe insertion
    + * information.
    + */
    +public abstract class MethodProbesVisitor extends MethodVisitor {
    +
    +	/**
    +	 * New visitor instance without delegate visitor.
    +	 */
    +	public MethodProbesVisitor() {
    +<span class="fc" id="L30">		this(null);</span>
    +<span class="fc" id="L31">	}</span>
    +
    +	/**
    +	 * New visitor instance that delegates to the given visitor.
    +	 *
    +	 * @param mv
    +	 *            optional next visitor in chain
    +	 */
    +	public MethodProbesVisitor(final MethodVisitor mv) {
    +<span class="fc" id="L40">		super(InstrSupport.ASM_API_VERSION, mv);</span>
    +<span class="fc" id="L41">	}</span>
    +
    +	/**
    +	 * Visits an unconditional probe that should be inserted at the current
    +	 * position.
    +	 *
    +	 * @param probeId
    +	 *            id of the probe to insert
    +	 */
    +	@SuppressWarnings(&quot;unused&quot;)
    +	public void visitProbe(final int probeId) {
    +<span class="fc" id="L52">	}</span>
    +
    +	/**
    +	 * Visits a jump instruction. A probe with the given id should be inserted
    +	 * in a way that it is executed only when the jump to the given label is
    +	 * executed.
    +	 *
    +	 * @param opcode
    +	 *            the opcode of the type instruction to be visited. This opcode
    +	 *            is either IFEQ, IFNE, IFLT, IFGE, IFGT, IFLE, IF_ICMPEQ,
    +	 *            IF_ICMPNE, IF_ICMPLT, IF_ICMPGE, IF_ICMPGT, IF_ICMPLE,
    +	 *            IF_ACMPEQ, IF_ACMPNE, GOTO, IFNULL or IFNONNULL.
    +	 * @param label
    +	 *            the operand of the instruction to be visited. This operand is
    +	 *            a label that designates the instruction to which the jump
    +	 *            instruction may jump.
    +	 * @param probeId
    +	 *            id of the probe
    +	 * @param frame
    +	 *            stackmap frame status after the execution of the jump
    +	 *            instruction. The instance is only valid with the call of this
    +	 *            method.
    +	 * @see MethodVisitor#visitJumpInsn(int, Label)
    +	 */
    +	@SuppressWarnings(&quot;unused&quot;)
    +	public void visitJumpInsnWithProbe(final int opcode, final Label label,
    +			final int probeId, final IFrame frame) {
    +<span class="fc" id="L79">	}</span>
    +
    +	/**
    +	 * Visits a zero operand instruction with a probe. This event is used only
    +	 * for instructions that terminate the method. Therefore the probe must be
    +	 * inserted before the actual instruction.
    +	 *
    +	 * @param opcode
    +	 *            the opcode of the instruction to be visited. This opcode is
    +	 *            either IRETURN, LRETURN, FRETURN, DRETURN, ARETURN, RETURN or
    +	 *            ATHROW.
    +	 * @param probeId
    +	 *            id of the probe
    +	 * @see MethodVisitor#visitInsn(int)
    +	 */
    +	@SuppressWarnings(&quot;unused&quot;)
    +	public void visitInsnWithProbe(final int opcode, final int probeId) {
    +<span class="fc" id="L96">	}</span>
    +
    +	/**
    +	 * Visits a TABLESWITCH instruction with optional probes for each target
    +	 * label. Implementations can be optimized based on the fact that the same
    +	 * target labels will always have the same probe id within a call to this
    +	 * method. The probe id for each label can be obtained with
    +	 * {@link LabelInfo#getProbeId(Label)}.
    +	 *
    +	 * @param min
    +	 *            the minimum key value.
    +	 * @param max
    +	 *            the maximum key value.
    +	 * @param dflt
    +	 *            beginning of the default handler block.
    +	 * @param labels
    +	 *            beginnings of the handler blocks. &lt;code&gt;labels[i]&lt;/code&gt; is
    +	 *            the beginning of the handler block for the
    +	 *            &lt;code&gt;min + i&lt;/code&gt; key.
    +	 * @param frame
    +	 *            stackmap frame status after the execution of the switch
    +	 *            instruction. The instance is only valid with the call of this
    +	 *            method.
    +	 * @see MethodVisitor#visitTableSwitchInsn(int, int, Label, Label[])
    +	 */
    +	@SuppressWarnings(&quot;unused&quot;)
    +	public void visitTableSwitchInsnWithProbes(final int min, final int max,
    +			final Label dflt, final Label[] labels, final IFrame frame) {
    +<span class="fc" id="L124">	}</span>
    +
    +	/**
    +	 * Visits a LOOKUPSWITCH instruction with optional probes for each target
    +	 * label. Implementations can be optimized based on the fact that the same
    +	 * target labels will always have the same probe id within a call to this
    +	 * method. The probe id for each label can be obtained with
    +	 * {@link LabelInfo#getProbeId(Label)}.
    +	 *
    +	 * @param dflt
    +	 *            beginning of the default handler block.
    +	 * @param keys
    +	 *            the values of the keys.
    +	 * @param labels
    +	 *            beginnings of the handler blocks. &lt;code&gt;labels[i]&lt;/code&gt; is
    +	 *            the beginning of the handler block for the
    +	 *            &lt;code&gt;keys[i]&lt;/code&gt; key.
    +	 * @param frame
    +	 *            stackmap frame status after the execution of the switch
    +	 *            instruction. The instance is only valid with the call of this
    +	 *            method.
    +	 * @see MethodVisitor#visitLookupSwitchInsn(Label, int[], Label[])
    +	 */
    +	@SuppressWarnings(&quot;unused&quot;)
    +	public void visitLookupSwitchInsnWithProbes(final Label dflt,
    +			final int[] keys, final Label[] labels, final IFrame frame) {
    +<span class="fc" id="L150">	}</span>
    +
    +	/**
    +	 * This method can be overwritten to hook into the process of emitting the
    +	 * instructions of this method as &lt;code&gt;visitX()&lt;/code&gt; events.
    +	 *
    +	 * @param methodNode
    +	 *            the content to emit
    +	 * @param methodVisitor
    +	 *            A visitor to emit the content to. Note that this is not
    +	 *            necessarily this visitor instance but some wrapper which
    +	 *            calculates the probes.
    +	 */
    +	public void accept(final MethodNode methodNode,
    +			final MethodVisitor methodVisitor) {
    +<span class="fc" id="L165">		methodNode.accept(methodVisitor);</span>
    +<span class="fc" id="L166">	}</span>
    +
    +}
    +</pre><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.12.202403270442</span>Code Coverage Report for JaCoCo 0.8.12-SNAPSHOT</div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/trunk/coverage/org.jacoco.core/org.jacoco.core.internal.flow/MethodSanitizer.html b/jacoco/trunk/coverage/org.jacoco.core/org.jacoco.core.internal.flow/MethodSanitizer.html
    new file mode 100644
    index 00000000000..578f8f80f4a
    --- /dev/null
    +++ b/jacoco/trunk/coverage/org.jacoco.core/org.jacoco.core.internal.flow/MethodSanitizer.html
    @@ -0,0 +1 @@
    +<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="en"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../../jacoco-resources/report.gif" type="image/gif"/><title>MethodSanitizer</title><script type="text/javascript" src="../../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../../index.html" class="el_report">JaCoCo</a> &gt; <a href="../index.html" class="el_bundle">org.jacoco.core</a> &gt; <a href="index.html" class="el_package">org.jacoco.core.internal.flow</a> &gt; <span class="el_class">MethodSanitizer</span></div><h1>MethodSanitizer</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">0 of 33</td><td class="ctr2">100%</td><td class="bar">0 of 6</td><td class="ctr2">100%</td><td class="ctr1">0</td><td class="ctr2">6</td><td class="ctr1">0</td><td class="ctr2">8</td><td class="ctr1">0</td><td class="ctr2">3</td></tr></tfoot><tbody><tr><td id="a2"><a href="MethodSanitizer.java.html#L48" class="el_method">visitLocalVariable(String, String, String, Label, Label, int)</a></td><td class="bar" id="b0"><img src="../../jacoco-resources/greenbar.gif" width="120" height="10" title="15" alt="15"/></td><td class="ctr2" id="c0">100%</td><td class="bar" id="d0"><img src="../../jacoco-resources/greenbar.gif" width="120" height="10" title="4" alt="4"/></td><td class="ctr2" id="e0">100%</td><td class="ctr1" id="f0">0</td><td class="ctr2" id="g0">3</td><td class="ctr1" id="h0">0</td><td class="ctr2" id="i0">3</td><td class="ctr1" id="j0">0</td><td class="ctr2" id="k0">1</td></tr><tr><td id="a0"><a href="MethodSanitizer.java.html#L37" class="el_method">MethodSanitizer(MethodVisitor, int, String, String, String, String[])</a></td><td class="bar" id="b1"><img src="../../jacoco-resources/greenbar.gif" width="80" height="10" title="10" alt="10"/></td><td class="ctr2" id="c1">100%</td><td class="bar" id="d2"/><td class="ctr2" id="e2">n/a</td><td class="ctr1" id="f1">0</td><td class="ctr2" id="g2">1</td><td class="ctr1" id="h1">0</td><td class="ctr2" id="i2">2</td><td class="ctr1" id="j1">0</td><td class="ctr2" id="k1">1</td></tr><tr><td id="a1"><a href="MethodSanitizer.java.html#L58" class="el_method">visitLineNumber(int, Label)</a></td><td class="bar" id="b2"><img src="../../jacoco-resources/greenbar.gif" width="64" height="10" title="8" alt="8"/></td><td class="ctr2" id="c2">100%</td><td class="bar" id="d1"><img src="../../jacoco-resources/greenbar.gif" width="60" height="10" title="2" alt="2"/></td><td class="ctr2" id="e1">100%</td><td class="ctr1" id="f2">0</td><td class="ctr2" id="g1">2</td><td class="ctr1" id="h2">0</td><td class="ctr2" id="i1">3</td><td class="ctr1" id="j2">0</td><td class="ctr2" id="k2">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.12.202403270442</span>Code Coverage Report for JaCoCo 0.8.12-SNAPSHOT</div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/trunk/coverage/org.jacoco.core/org.jacoco.core.internal.flow/MethodSanitizer.java.html b/jacoco/trunk/coverage/org.jacoco.core/org.jacoco.core.internal.flow/MethodSanitizer.java.html
    new file mode 100644
    index 00000000000..d2877a84ccc
    --- /dev/null
    +++ b/jacoco/trunk/coverage/org.jacoco.core/org.jacoco.core.internal.flow/MethodSanitizer.java.html
    @@ -0,0 +1,64 @@
    +<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="en"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../../jacoco-resources/report.gif" type="image/gif"/><title>MethodSanitizer.java</title><link rel="stylesheet" href="../../jacoco-resources/prettify.css" type="text/css"/><script type="text/javascript" src="../../jacoco-resources/prettify.js"></script></head><body onload="window['PR_TAB_WIDTH']=4;prettyPrint()"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../../index.html" class="el_report">JaCoCo</a> &gt; <a href="../index.html" class="el_bundle">org.jacoco.core</a> &gt; <a href="index.source.html" class="el_package">org.jacoco.core.internal.flow</a> &gt; <span class="el_source">MethodSanitizer.java</span></div><h1>MethodSanitizer.java</h1><pre class="source lang-java linenums">/*******************************************************************************
    + * Copyright (c) 2009, 2024 Mountainminds GmbH &amp; Co. KG and Contributors
    + * This program and the accompanying materials are made available under
    + * the terms of the Eclipse Public License 2.0 which is available at
    + * http://www.eclipse.org/legal/epl-2.0
    + *
    + * SPDX-License-Identifier: EPL-2.0
    + *
    + * Contributors:
    + *    Marc R. Hoffmann - initial API and implementation
    + *
    + *******************************************************************************/
    +package org.jacoco.core.internal.flow;
    +
    +import org.jacoco.core.internal.instr.InstrSupport;
    +import org.objectweb.asm.Label;
    +import org.objectweb.asm.MethodVisitor;
    +import org.objectweb.asm.commons.JSRInlinerAdapter;
    +
    +/**
    + * This method visitor fixes two potential issues with Java byte code:
    + *
    + * &lt;ul&gt;
    + * &lt;li&gt;Remove JSR/RET instructions by inlining subroutines which are deprecated
    + * since Java 6. The RET statement complicates control flow analysis as the jump
    + * target is not explicitly given.&lt;/li&gt;
    + * &lt;li&gt;Remove code attributes line number and local variable name if they point
    + * to invalid offsets which some tools create. When writing out such invalid
    + * labels with ASM class files do not verify any more.&lt;/li&gt;
    + * &lt;/ul&gt;
    + */
    +class MethodSanitizer extends JSRInlinerAdapter {
    +
    +	MethodSanitizer(final MethodVisitor mv, final int access, final String name,
    +			final String desc, final String signature,
    +			final String[] exceptions) {
    +<span class="fc" id="L37">		super(InstrSupport.ASM_API_VERSION, mv, access, name, desc, signature,</span>
    +				exceptions);
    +<span class="fc" id="L39">	}</span>
    +
    +	@Override
    +	public void visitLocalVariable(final String name, final String desc,
    +			final String signature, final Label start, final Label end,
    +			final int index) {
    +		// Here we rely on the usage of the info fields by the tree API. If the
    +		// labels have been properly used before the info field contains a
    +		// reference to the LabelNode, otherwise null.
    +<span class="fc bfc" id="L48" title="All 4 branches covered.">		if (start.info != null &amp;&amp; end.info != null) {</span>
    +<span class="fc" id="L49">			super.visitLocalVariable(name, desc, signature, start, end, index);</span>
    +		}
    +<span class="fc" id="L51">	}</span>
    +
    +	@Override
    +	public void visitLineNumber(final int line, final Label start) {
    +		// Here we rely on the usage of the info fields by the tree API. If the
    +		// labels have been properly used before the info field contains a
    +		// reference to the LabelNode, otherwise null.
    +<span class="fc bfc" id="L58" title="All 2 branches covered.">		if (start.info != null) {</span>
    +<span class="fc" id="L59">			super.visitLineNumber(line, start);</span>
    +		}
    +<span class="fc" id="L61">	}</span>
    +
    +}
    +</pre><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.12.202403270442</span>Code Coverage Report for JaCoCo 0.8.12-SNAPSHOT</div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/trunk/coverage/org.jacoco.core/org.jacoco.core.internal.flow/index.html b/jacoco/trunk/coverage/org.jacoco.core/org.jacoco.core.internal.flow/index.html
    new file mode 100644
    index 00000000000..6c8a3d92f13
    --- /dev/null
    +++ b/jacoco/trunk/coverage/org.jacoco.core/org.jacoco.core.internal.flow/index.html
    @@ -0,0 +1 @@
    +<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="en"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../../jacoco-resources/report.gif" type="image/gif"/><title>org.jacoco.core.internal.flow</title><script type="text/javascript" src="../../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb', 'coveragetable'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="index.source.html" class="el_source">Source Files</a><a href="../../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../../index.html" class="el_report">JaCoCo</a> &gt; <a href="../index.html" class="el_bundle">org.jacoco.core</a> &gt; <span class="el_package">org.jacoco.core.internal.flow</span></div><h1>org.jacoco.core.internal.flow</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td><td class="sortable ctr1" id="l" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="m" onclick="toggleSort(this)">Classes</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">0 of 980</td><td class="ctr2">100%</td><td class="bar">0 of 107</td><td class="ctr2">100%</td><td class="ctr1">0</td><td class="ctr2">134</td><td class="ctr1">0</td><td class="ctr2">275</td><td class="ctr1">0</td><td class="ctr2">80</td><td class="ctr1">0</td><td class="ctr2">10</td></tr></tfoot><tbody><tr><td id="a7"><a href="MethodProbesAdapter.html" class="el_class">MethodProbesAdapter</a></td><td class="bar" id="b0"><img src="../../jacoco-resources/greenbar.gif" width="120" height="10" title="236" alt="236"/></td><td class="ctr2" id="c0">100%</td><td class="bar" id="d1"><img src="../../jacoco-resources/greenbar.gif" width="90" height="10" title="27" alt="27"/></td><td class="ctr2" id="e0">100%</td><td class="ctr1" id="f0">0</td><td class="ctr2" id="g2">26</td><td class="ctr1" id="h0">0</td><td class="ctr2" id="i2">57</td><td class="ctr1" id="j0">0</td><td class="ctr2" id="k2">12</td><td class="ctr1" id="l0">0</td><td class="ctr2" id="m0">1</td></tr><tr><td id="a5"><a href="LabelFlowAnalyzer.html" class="el_class">LabelFlowAnalyzer</a></td><td class="bar" id="b1"><img src="../../jacoco-resources/greenbar.gif" width="114" height="10" title="226" alt="226"/></td><td class="ctr2" id="c1">100%</td><td class="bar" id="d2"><img src="../../jacoco-resources/greenbar.gif" width="73" height="10" title="22" alt="22"/></td><td class="ctr2" id="e1">100%</td><td class="ctr1" id="f1">0</td><td class="ctr2" id="g1">32</td><td class="ctr1" id="h1">0</td><td class="ctr2" id="i0">84</td><td class="ctr1" id="j1">0</td><td class="ctr2" id="k0">21</td><td class="ctr1" id="l1">0</td><td class="ctr2" id="m1">1</td></tr><tr><td id="a6"><a href="LabelInfo.html" class="el_class">LabelInfo</a></td><td class="bar" id="b2"><img src="../../jacoco-resources/greenbar.gif" width="113" height="10" title="223" alt="223"/></td><td class="ctr2" id="c2">100%</td><td class="bar" id="d0"><img src="../../jacoco-resources/greenbar.gif" width="120" height="10" title="36" alt="36"/></td><td class="ctr2" id="e2">100%</td><td class="ctr1" id="f2">0</td><td class="ctr2" id="g0">38</td><td class="ctr1" id="h2">0</td><td class="ctr2" id="i1">60</td><td class="ctr1" id="j2">0</td><td class="ctr2" id="k1">20</td><td class="ctr1" id="l2">0</td><td class="ctr2" id="m2">1</td></tr><tr><td id="a4"><a href="FrameSnapshot.html" class="el_class">FrameSnapshot</a></td><td class="bar" id="b3"><img src="../../jacoco-resources/greenbar.gif" width="49" height="10" title="97" alt="97"/></td><td class="ctr2" id="c3">100%</td><td class="bar" id="d3"><img src="../../jacoco-resources/greenbar.gif" width="40" height="10" title="12" alt="12"/></td><td class="ctr2" id="e3">100%</td><td class="ctr1" id="f3">0</td><td class="ctr2" id="g3">11</td><td class="ctr1" id="h3">0</td><td class="ctr2" id="i3">22</td><td class="ctr1" id="j3">0</td><td class="ctr2" id="k5">5</td><td class="ctr1" id="l3">0</td><td class="ctr2" id="m3">1</td></tr><tr><td id="a0"><a href="ClassProbesAdapter.html" class="el_class">ClassProbesAdapter</a></td><td class="bar" id="b4"><img src="../../jacoco-resources/greenbar.gif" width="38" height="10" title="75" alt="75"/></td><td class="ctr2" id="c4">100%</td><td class="bar" id="d5"><img src="../../jacoco-resources/greenbar.gif" width="6" height="10" title="2" alt="2"/></td><td class="ctr2" id="e4">100%</td><td class="ctr1" id="f4">0</td><td class="ctr2" id="g5">7</td><td class="ctr1" id="h4">0</td><td class="ctr2" id="i4">18</td><td class="ctr1" id="j4">0</td><td class="ctr2" id="k4">6</td><td class="ctr1" id="l4">0</td><td class="ctr2" id="m4">1</td></tr><tr><td id="a2"><a href="ClassProbesAdapter$2.html" class="el_class">ClassProbesAdapter.new MethodSanitizer() {...}</a></td><td class="bar" id="b5"><img src="../../jacoco-resources/greenbar.gif" width="30" height="10" title="60" alt="60"/></td><td class="ctr2" id="c5">100%</td><td class="bar" id="d6"><img src="../../jacoco-resources/greenbar.gif" width="6" height="10" title="2" alt="2"/></td><td class="ctr2" id="e5">100%</td><td class="ctr1" id="f5">0</td><td class="ctr2" id="g7">3</td><td class="ctr1" id="h5">0</td><td class="ctr2" id="i5">11</td><td class="ctr1" id="j5">0</td><td class="ctr2" id="k7">2</td><td class="ctr1" id="l5">0</td><td class="ctr2" id="m5">1</td></tr><tr><td id="a9"><a href="MethodSanitizer.html" class="el_class">MethodSanitizer</a></td><td class="bar" id="b6"><img src="../../jacoco-resources/greenbar.gif" width="16" height="10" title="33" alt="33"/></td><td class="ctr2" id="c6">100%</td><td class="bar" id="d4"><img src="../../jacoco-resources/greenbar.gif" width="20" height="10" title="6" alt="6"/></td><td class="ctr2" id="e6">100%</td><td class="ctr1" id="f6">0</td><td class="ctr2" id="g6">6</td><td class="ctr1" id="h6">0</td><td class="ctr2" id="i7">8</td><td class="ctr1" id="j6">0</td><td class="ctr2" id="k6">3</td><td class="ctr1" id="l6">0</td><td class="ctr2" id="m6">1</td></tr><tr><td id="a8"><a href="MethodProbesVisitor.html" class="el_class">MethodProbesVisitor</a></td><td class="bar" id="b7"><img src="../../jacoco-resources/greenbar.gif" width="9" height="10" title="18" alt="18"/></td><td class="ctr2" id="c7">100%</td><td class="bar" id="d7"/><td class="ctr2" id="e7">n/a</td><td class="ctr1" id="f7">0</td><td class="ctr2" id="g4">8</td><td class="ctr1" id="h7">0</td><td class="ctr2" id="i6">11</td><td class="ctr1" id="j7">0</td><td class="ctr2" id="k3">8</td><td class="ctr1" id="l7">0</td><td class="ctr2" id="m7">1</td></tr><tr><td id="a3"><a href="ClassProbesVisitor.html" class="el_class">ClassProbesVisitor</a></td><td class="bar" id="b8"><img src="../../jacoco-resources/greenbar.gif" width="4" height="10" title="9" alt="9"/></td><td class="ctr2" id="c8">100%</td><td class="bar" id="d8"/><td class="ctr2" id="e8">n/a</td><td class="ctr1" id="f8">0</td><td class="ctr2" id="g8">2</td><td class="ctr1" id="h8">0</td><td class="ctr2" id="i8">4</td><td class="ctr1" id="j8">0</td><td class="ctr2" id="k8">2</td><td class="ctr1" id="l8">0</td><td class="ctr2" id="m8">1</td></tr><tr><td id="a1"><a href="ClassProbesAdapter$1.html" class="el_class">ClassProbesAdapter.new MethodProbesVisitor() {...}</a></td><td class="bar" id="b9"><img src="../../jacoco-resources/greenbar.gif" width="1" height="10" title="3" alt="3"/></td><td class="ctr2" id="c9">100%</td><td class="bar" id="d9"/><td class="ctr2" id="e9">n/a</td><td class="ctr1" id="f9">0</td><td class="ctr2" id="g9">1</td><td class="ctr1" id="h9">0</td><td class="ctr2" id="i9">1</td><td class="ctr1" id="j9">0</td><td class="ctr2" id="k9">1</td><td class="ctr1" id="l9">0</td><td class="ctr2" id="m9">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.12.202403270442</span>Code Coverage Report for JaCoCo 0.8.12-SNAPSHOT</div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/trunk/coverage/org.jacoco.core/org.jacoco.core.internal.flow/index.source.html b/jacoco/trunk/coverage/org.jacoco.core/org.jacoco.core.internal.flow/index.source.html
    new file mode 100644
    index 00000000000..c6ba9bd53c9
    --- /dev/null
    +++ b/jacoco/trunk/coverage/org.jacoco.core/org.jacoco.core.internal.flow/index.source.html
    @@ -0,0 +1 @@
    +<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="en"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../../jacoco-resources/report.gif" type="image/gif"/><title>org.jacoco.core.internal.flow</title><script type="text/javascript" src="../../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb', 'coveragetable'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="index.html" class="el_class">Classes</a><a href="../../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../../index.html" class="el_report">JaCoCo</a> &gt; <a href="../index.html" class="el_bundle">org.jacoco.core</a> &gt; <span class="el_package">org.jacoco.core.internal.flow</span></div><h1>org.jacoco.core.internal.flow</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td><td class="sortable ctr1" id="l" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="m" onclick="toggleSort(this)">Classes</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">0 of 980</td><td class="ctr2">100%</td><td class="bar">0 of 107</td><td class="ctr2">100%</td><td class="ctr1">0</td><td class="ctr2">134</td><td class="ctr1">0</td><td class="ctr2">275</td><td class="ctr1">0</td><td class="ctr2">80</td><td class="ctr1">0</td><td class="ctr2">10</td></tr></tfoot><tbody><tr><td id="a5"><a href="MethodProbesAdapter.java.html" class="el_source">MethodProbesAdapter.java</a></td><td class="bar" id="b0"><img src="../../jacoco-resources/greenbar.gif" width="120" height="10" title="236" alt="236"/></td><td class="ctr2" id="c0">100%</td><td class="bar" id="d1"><img src="../../jacoco-resources/greenbar.gif" width="90" height="10" title="27" alt="27"/></td><td class="ctr2" id="e0">100%</td><td class="ctr1" id="f0">0</td><td class="ctr2" id="g2">26</td><td class="ctr1" id="h0">0</td><td class="ctr2" id="i2">57</td><td class="ctr1" id="j0">0</td><td class="ctr2" id="k2">12</td><td class="ctr1" id="l0">0</td><td class="ctr2" id="m1">1</td></tr><tr><td id="a3"><a href="LabelFlowAnalyzer.java.html" class="el_source">LabelFlowAnalyzer.java</a></td><td class="bar" id="b1"><img src="../../jacoco-resources/greenbar.gif" width="114" height="10" title="226" alt="226"/></td><td class="ctr2" id="c1">100%</td><td class="bar" id="d2"><img src="../../jacoco-resources/greenbar.gif" width="73" height="10" title="22" alt="22"/></td><td class="ctr2" id="e1">100%</td><td class="ctr1" id="f1">0</td><td class="ctr2" id="g1">32</td><td class="ctr1" id="h1">0</td><td class="ctr2" id="i0">84</td><td class="ctr1" id="j1">0</td><td class="ctr2" id="k0">21</td><td class="ctr1" id="l1">0</td><td class="ctr2" id="m2">1</td></tr><tr><td id="a4"><a href="LabelInfo.java.html" class="el_source">LabelInfo.java</a></td><td class="bar" id="b2"><img src="../../jacoco-resources/greenbar.gif" width="113" height="10" title="223" alt="223"/></td><td class="ctr2" id="c2">100%</td><td class="bar" id="d0"><img src="../../jacoco-resources/greenbar.gif" width="120" height="10" title="36" alt="36"/></td><td class="ctr2" id="e2">100%</td><td class="ctr1" id="f2">0</td><td class="ctr2" id="g0">38</td><td class="ctr1" id="h2">0</td><td class="ctr2" id="i1">60</td><td class="ctr1" id="j2">0</td><td class="ctr2" id="k1">20</td><td class="ctr1" id="l2">0</td><td class="ctr2" id="m3">1</td></tr><tr><td id="a0"><a href="ClassProbesAdapter.java.html" class="el_source">ClassProbesAdapter.java</a></td><td class="bar" id="b3"><img src="../../jacoco-resources/greenbar.gif" width="70" height="10" title="138" alt="138"/></td><td class="ctr2" id="c3">100%</td><td class="bar" id="d5"><img src="../../jacoco-resources/greenbar.gif" width="13" height="10" title="4" alt="4"/></td><td class="ctr2" id="e3">100%</td><td class="ctr1" id="f3">0</td><td class="ctr2" id="g3">11</td><td class="ctr1" id="h3">0</td><td class="ctr2" id="i3">29</td><td class="ctr1" id="j3">0</td><td class="ctr2" id="k3">9</td><td class="ctr1" id="l3">0</td><td class="ctr2" id="m0">3</td></tr><tr><td id="a2"><a href="FrameSnapshot.java.html" class="el_source">FrameSnapshot.java</a></td><td class="bar" id="b4"><img src="../../jacoco-resources/greenbar.gif" width="49" height="10" title="97" alt="97"/></td><td class="ctr2" id="c4">100%</td><td class="bar" id="d3"><img src="../../jacoco-resources/greenbar.gif" width="40" height="10" title="12" alt="12"/></td><td class="ctr2" id="e4">100%</td><td class="ctr1" id="f4">0</td><td class="ctr2" id="g4">11</td><td class="ctr1" id="h4">0</td><td class="ctr2" id="i4">22</td><td class="ctr1" id="j4">0</td><td class="ctr2" id="k5">5</td><td class="ctr1" id="l4">0</td><td class="ctr2" id="m4">1</td></tr><tr><td id="a7"><a href="MethodSanitizer.java.html" class="el_source">MethodSanitizer.java</a></td><td class="bar" id="b5"><img src="../../jacoco-resources/greenbar.gif" width="16" height="10" title="33" alt="33"/></td><td class="ctr2" id="c5">100%</td><td class="bar" id="d4"><img src="../../jacoco-resources/greenbar.gif" width="20" height="10" title="6" alt="6"/></td><td class="ctr2" id="e5">100%</td><td class="ctr1" id="f5">0</td><td class="ctr2" id="g6">6</td><td class="ctr1" id="h5">0</td><td class="ctr2" id="i6">8</td><td class="ctr1" id="j5">0</td><td class="ctr2" id="k6">3</td><td class="ctr1" id="l5">0</td><td class="ctr2" id="m5">1</td></tr><tr><td id="a6"><a href="MethodProbesVisitor.java.html" class="el_source">MethodProbesVisitor.java</a></td><td class="bar" id="b6"><img src="../../jacoco-resources/greenbar.gif" width="9" height="10" title="18" alt="18"/></td><td class="ctr2" id="c6">100%</td><td class="bar" id="d6"/><td class="ctr2" id="e6">n/a</td><td class="ctr1" id="f6">0</td><td class="ctr2" id="g5">8</td><td class="ctr1" id="h6">0</td><td class="ctr2" id="i5">11</td><td class="ctr1" id="j6">0</td><td class="ctr2" id="k4">8</td><td class="ctr1" id="l6">0</td><td class="ctr2" id="m6">1</td></tr><tr><td id="a1"><a href="ClassProbesVisitor.java.html" class="el_source">ClassProbesVisitor.java</a></td><td class="bar" id="b7"><img src="../../jacoco-resources/greenbar.gif" width="4" height="10" title="9" alt="9"/></td><td class="ctr2" id="c7">100%</td><td class="bar" id="d7"/><td class="ctr2" id="e7">n/a</td><td class="ctr1" id="f7">0</td><td class="ctr2" id="g7">2</td><td class="ctr1" id="h7">0</td><td class="ctr2" id="i7">4</td><td class="ctr1" id="j7">0</td><td class="ctr2" id="k7">2</td><td class="ctr1" id="l7">0</td><td class="ctr2" id="m7">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.12.202403270442</span>Code Coverage Report for JaCoCo 0.8.12-SNAPSHOT</div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/trunk/coverage/org.jacoco.core/org.jacoco.core.internal.instr/ClassFieldProbeArrayStrategy.html b/jacoco/trunk/coverage/org.jacoco.core/org.jacoco.core.internal.instr/ClassFieldProbeArrayStrategy.html
    new file mode 100644
    index 00000000000..4f597722870
    --- /dev/null
    +++ b/jacoco/trunk/coverage/org.jacoco.core/org.jacoco.core.internal.instr/ClassFieldProbeArrayStrategy.html
    @@ -0,0 +1 @@
    +<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="en"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../../jacoco-resources/report.gif" type="image/gif"/><title>ClassFieldProbeArrayStrategy</title><script type="text/javascript" src="../../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../../index.html" class="el_report">JaCoCo</a> &gt; <a href="../index.html" class="el_bundle">org.jacoco.core</a> &gt; <a href="index.html" class="el_package">org.jacoco.core.internal.instr</a> &gt; <span class="el_class">ClassFieldProbeArrayStrategy</span></div><h1>ClassFieldProbeArrayStrategy</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">0 of 142</td><td class="ctr2">100%</td><td class="bar">0 of 2</td><td class="ctr2">100%</td><td class="ctr1">0</td><td class="ctr2">8</td><td class="ctr1">0</td><td class="ctr2">35</td><td class="ctr1">0</td><td class="ctr2">7</td></tr></tfoot><tbody><tr><td id="a3"><a href="ClassFieldProbeArrayStrategy.java.html#L73" class="el_method">createInitMethod(ClassVisitor, int)</a></td><td class="bar" id="b0"><img src="../../jacoco-resources/greenbar.gif" width="120" height="10" title="61" alt="61"/></td><td class="ctr2" id="c0">100%</td><td class="bar" id="d0"><img src="../../jacoco-resources/greenbar.gif" width="120" height="10" title="2" alt="2"/></td><td class="ctr2" id="e0">100%</td><td class="ctr1" id="f0">0</td><td class="ctr2" id="g0">2</td><td class="ctr1" id="h0">0</td><td class="ctr2" id="i0">15</td><td class="ctr1" id="j0">0</td><td class="ctr2" id="k0">1</td></tr><tr><td id="a4"><a href="ClassFieldProbeArrayStrategy.java.html#L120" class="el_method">genInitializeDataField(MethodVisitor, int)</a></td><td class="bar" id="b1"><img src="../../jacoco-resources/greenbar.gif" width="47" height="10" title="24" alt="24"/></td><td class="ctr2" id="c1">100%</td><td class="bar" id="d1"/><td class="ctr2" id="e1">n/a</td><td class="ctr1" id="f1">0</td><td class="ctr2" id="g1">1</td><td class="ctr1" id="h1">0</td><td class="ctr2" id="i2">4</td><td class="ctr1" id="j1">0</td><td class="ctr2" id="k1">1</td></tr><tr><td id="a1"><a href="ClassFieldProbeArrayStrategy.java.html#L46" class="el_method">ClassFieldProbeArrayStrategy(String, long, boolean, IExecutionDataAccessorGenerator)</a></td><td class="bar" id="b2"><img src="../../jacoco-resources/greenbar.gif" width="29" height="10" title="15" alt="15"/></td><td class="ctr2" id="c2">100%</td><td class="bar" id="d2"/><td class="ctr2" id="e2">n/a</td><td class="ctr1" id="f2">0</td><td class="ctr2" id="g2">1</td><td class="ctr1" id="h2">0</td><td class="ctr2" id="i1">6</td><td class="ctr1" id="j2">0</td><td class="ctr2" id="k2">1</td></tr><tr><td id="a6"><a href="ClassFieldProbeArrayStrategy.java.html#L55" class="el_method">storeInstance(MethodVisitor, boolean, int)</a></td><td class="bar" id="b3"><img src="../../jacoco-resources/greenbar.gif" width="27" height="10" title="14" alt="14"/></td><td class="ctr2" id="c3">100%</td><td class="bar" id="d3"/><td class="ctr2" id="e3">n/a</td><td class="ctr1" id="f3">0</td><td class="ctr2" id="g3">1</td><td class="ctr1" id="h3">0</td><td class="ctr2" id="i3">3</td><td class="ctr1" id="j3">0</td><td class="ctr2" id="k3">1</td></tr><tr><td id="a5"><a href="ClassFieldProbeArrayStrategy.java.html#L31" class="el_method">static {...}</a></td><td class="bar" id="b4"><img src="../../jacoco-resources/greenbar.gif" width="21" height="10" title="11" alt="11"/></td><td class="ctr2" id="c4">100%</td><td class="bar" id="d4"/><td class="ctr2" id="e4">n/a</td><td class="ctr1" id="f4">0</td><td class="ctr2" id="g4">1</td><td class="ctr1" id="h4">0</td><td class="ctr2" id="i5">2</td><td class="ctr1" id="j4">0</td><td class="ctr2" id="k4">1</td></tr><tr><td id="a2"><a href="ClassFieldProbeArrayStrategy.java.html#L68" class="el_method">createDataField(ClassVisitor)</a></td><td class="bar" id="b5"><img src="../../jacoco-resources/greenbar.gif" width="17" height="10" title="9" alt="9"/></td><td class="ctr2" id="c5">100%</td><td class="bar" id="d5"/><td class="ctr2" id="e5">n/a</td><td class="ctr1" id="f5">0</td><td class="ctr2" id="g5">1</td><td class="ctr1" id="h5">0</td><td class="ctr2" id="i6">2</td><td class="ctr1" id="j5">0</td><td class="ctr2" id="k5">1</td></tr><tr><td id="a0"><a href="ClassFieldProbeArrayStrategy.java.html#L63" class="el_method">addMembers(ClassVisitor, int)</a></td><td class="bar" id="b6"><img src="../../jacoco-resources/greenbar.gif" width="15" height="10" title="8" alt="8"/></td><td class="ctr2" id="c6">100%</td><td class="bar" id="d6"/><td class="ctr2" id="e6">n/a</td><td class="ctr1" id="f6">0</td><td class="ctr2" id="g6">1</td><td class="ctr1" id="h6">0</td><td class="ctr2" id="i4">3</td><td class="ctr1" id="j6">0</td><td class="ctr2" id="k6">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.12.202403270442</span>Code Coverage Report for JaCoCo 0.8.12-SNAPSHOT</div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/trunk/coverage/org.jacoco.core/org.jacoco.core.internal.instr/ClassFieldProbeArrayStrategy.java.html b/jacoco/trunk/coverage/org.jacoco.core/org.jacoco.core.internal.instr/ClassFieldProbeArrayStrategy.java.html
    new file mode 100644
    index 00000000000..954d7634120
    --- /dev/null
    +++ b/jacoco/trunk/coverage/org.jacoco.core/org.jacoco.core.internal.instr/ClassFieldProbeArrayStrategy.java.html
    @@ -0,0 +1,139 @@
    +<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="en"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../../jacoco-resources/report.gif" type="image/gif"/><title>ClassFieldProbeArrayStrategy.java</title><link rel="stylesheet" href="../../jacoco-resources/prettify.css" type="text/css"/><script type="text/javascript" src="../../jacoco-resources/prettify.js"></script></head><body onload="window['PR_TAB_WIDTH']=4;prettyPrint()"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../../index.html" class="el_report">JaCoCo</a> &gt; <a href="../index.html" class="el_bundle">org.jacoco.core</a> &gt; <a href="index.source.html" class="el_package">org.jacoco.core.internal.instr</a> &gt; <span class="el_source">ClassFieldProbeArrayStrategy.java</span></div><h1>ClassFieldProbeArrayStrategy.java</h1><pre class="source lang-java linenums">/*******************************************************************************
    + * Copyright (c) 2009, 2024 Mountainminds GmbH &amp; Co. KG and Contributors
    + * This program and the accompanying materials are made available under
    + * the terms of the Eclipse Public License 2.0 which is available at
    + * http://www.eclipse.org/legal/epl-2.0
    + *
    + * SPDX-License-Identifier: EPL-2.0
    + *
    + * Contributors:
    + *    Marc R. Hoffmann - initial API and implementation
    + *
    + *******************************************************************************/
    +package org.jacoco.core.internal.instr;
    +
    +import org.jacoco.core.runtime.IExecutionDataAccessorGenerator;
    +import org.objectweb.asm.ClassVisitor;
    +import org.objectweb.asm.Label;
    +import org.objectweb.asm.MethodVisitor;
    +import org.objectweb.asm.Opcodes;
    +
    +/**
    + * 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.
    + */
    +class ClassFieldProbeArrayStrategy implements IProbeArrayStrategy {
    +
    +	/**
    +	 * Frame stack with a single boolean array.
    +	 */
    +<span class="fc" id="L31">	private static final Object[] FRAME_STACK_ARRZ = new Object[] {</span>
    +			InstrSupport.DATAFIELD_DESC };
    +
    +	/**
    +	 * Empty frame locals.
    +	 */
    +<span class="fc" id="L37">	private static final Object[] FRAME_LOCALS_EMPTY = new Object[0];</span>
    +
    +	private final String className;
    +	private final long classId;
    +	private final boolean withFrames;
    +	private final IExecutionDataAccessorGenerator accessorGenerator;
    +
    +	ClassFieldProbeArrayStrategy(final String className, final long classId,
    +			final boolean withFrames,
    +<span class="fc" id="L46">			final IExecutionDataAccessorGenerator accessorGenerator) {</span>
    +<span class="fc" id="L47">		this.className = className;</span>
    +<span class="fc" id="L48">		this.classId = classId;</span>
    +<span class="fc" id="L49">		this.withFrames = withFrames;</span>
    +<span class="fc" id="L50">		this.accessorGenerator = accessorGenerator;</span>
    +<span class="fc" id="L51">	}</span>
    +
    +	public int storeInstance(final MethodVisitor mv, final boolean clinit,
    +			final int variable) {
    +<span class="fc" id="L55">		mv.visitMethodInsn(Opcodes.INVOKESTATIC, className,</span>
    +				InstrSupport.INITMETHOD_NAME, InstrSupport.INITMETHOD_DESC,
    +				false);
    +<span class="fc" id="L58">		mv.visitVarInsn(Opcodes.ASTORE, variable);</span>
    +<span class="fc" id="L59">		return 1;</span>
    +	}
    +
    +	public void addMembers(final ClassVisitor cv, final int probeCount) {
    +<span class="fc" id="L63">		createDataField(cv);</span>
    +<span class="fc" id="L64">		createInitMethod(cv, probeCount);</span>
    +<span class="fc" id="L65">	}</span>
    +
    +	private void createDataField(final ClassVisitor cv) {
    +<span class="fc" id="L68">		cv.visitField(InstrSupport.DATAFIELD_ACC, InstrSupport.DATAFIELD_NAME,</span>
    +				InstrSupport.DATAFIELD_DESC, null, null);
    +<span class="fc" id="L70">	}</span>
    +
    +	private void createInitMethod(final ClassVisitor cv, final int probeCount) {
    +<span class="fc" id="L73">		final MethodVisitor mv = cv.visitMethod(InstrSupport.INITMETHOD_ACC,</span>
    +				InstrSupport.INITMETHOD_NAME, InstrSupport.INITMETHOD_DESC,
    +				null, null);
    +<span class="fc" id="L76">		mv.visitCode();</span>
    +
    +		// Load the value of the static data field:
    +<span class="fc" id="L79">		mv.visitFieldInsn(Opcodes.GETSTATIC, className,</span>
    +				InstrSupport.DATAFIELD_NAME, InstrSupport.DATAFIELD_DESC);
    +<span class="fc" id="L81">		mv.visitInsn(Opcodes.DUP);</span>
    +
    +		// Stack[1]: [Z
    +		// Stack[0]: [Z
    +
    +		// Skip initialization when we already have a data array:
    +<span class="fc" id="L87">		final Label alreadyInitialized = new Label();</span>
    +<span class="fc" id="L88">		mv.visitJumpInsn(Opcodes.IFNONNULL, alreadyInitialized);</span>
    +
    +		// Stack[0]: [Z
    +
    +<span class="fc" id="L92">		mv.visitInsn(Opcodes.POP);</span>
    +<span class="fc" id="L93">		final int size = genInitializeDataField(mv, probeCount);</span>
    +
    +		// Stack[0]: [Z
    +
    +		// Return the class' probe array:
    +<span class="fc bfc" id="L98" title="All 2 branches covered.">		if (withFrames) {</span>
    +<span class="fc" id="L99">			mv.visitFrame(Opcodes.F_NEW, 0, FRAME_LOCALS_EMPTY, 1,</span>
    +					FRAME_STACK_ARRZ);
    +		}
    +<span class="fc" id="L102">		mv.visitLabel(alreadyInitialized);</span>
    +<span class="fc" id="L103">		mv.visitInsn(Opcodes.ARETURN);</span>
    +
    +<span class="fc" id="L105">		mv.visitMaxs(Math.max(size, 2), 0); // Maximum local stack size is 2</span>
    +<span class="fc" id="L106">		mv.visitEnd();</span>
    +<span class="fc" id="L107">	}</span>
    +
    +	/**
    +	 * Generates the byte code to initialize the static coverage data field
    +	 * within this class.
    +	 *
    +	 * The code will push the [Z data array on the operand stack.
    +	 *
    +	 * @param mv
    +	 *            generator to emit code to
    +	 */
    +	private int genInitializeDataField(final MethodVisitor mv,
    +			final int probeCount) {
    +<span class="fc" id="L120">		final int size = accessorGenerator.generateDataAccessor(classId,</span>
    +				className, probeCount, mv);
    +
    +		// Stack[0]: [Z
    +
    +<span class="fc" id="L125">		mv.visitInsn(Opcodes.DUP);</span>
    +
    +		// Stack[1]: [Z
    +		// Stack[0]: [Z
    +
    +<span class="fc" id="L130">		mv.visitFieldInsn(Opcodes.PUTSTATIC, className,</span>
    +				InstrSupport.DATAFIELD_NAME, InstrSupport.DATAFIELD_DESC);
    +
    +		// Stack[0]: [Z
    +
    +<span class="fc" id="L135">		return Math.max(size, 2); // Maximum local stack size is 2</span>
    +	}
    +
    +}
    +</pre><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.12.202403270442</span>Code Coverage Report for JaCoCo 0.8.12-SNAPSHOT</div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/trunk/coverage/org.jacoco.core/org.jacoco.core.internal.instr/ClassInstrumenter.html b/jacoco/trunk/coverage/org.jacoco.core/org.jacoco.core.internal.instr/ClassInstrumenter.html
    new file mode 100644
    index 00000000000..20f111f4d98
    --- /dev/null
    +++ b/jacoco/trunk/coverage/org.jacoco.core/org.jacoco.core.internal.instr/ClassInstrumenter.html
    @@ -0,0 +1 @@
    +<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="en"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../../jacoco-resources/report.gif" type="image/gif"/><title>ClassInstrumenter</title><script type="text/javascript" src="../../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../../index.html" class="el_report">JaCoCo</a> &gt; <a href="../index.html" class="el_bundle">org.jacoco.core</a> &gt; <a href="index.html" class="el_package">org.jacoco.core.internal.instr</a> &gt; <span class="el_class">ClassInstrumenter</span></div><h1>ClassInstrumenter</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">0 of 76</td><td class="ctr2">100%</td><td class="bar">0 of 2</td><td class="ctr2">100%</td><td class="ctr1">0</td><td class="ctr2">6</td><td class="ctr1">0</td><td class="ctr2">17</td><td class="ctr1">0</td><td class="ctr2">5</td></tr></tfoot><tbody><tr><td id="a3"><a href="ClassInstrumenter.java.html#L65" class="el_method">visitMethod(int, String, String, String, String[])</a></td><td class="bar" id="b0"><img src="../../jacoco-resources/greenbar.gif" width="120" height="10" title="38" alt="38"/></td><td class="ctr2" id="c0">100%</td><td class="bar" id="d0"><img src="../../jacoco-resources/greenbar.gif" width="120" height="10" title="2" alt="2"/></td><td class="ctr2" id="e0">100%</td><td class="ctr1" id="f0">0</td><td class="ctr2" id="g0">2</td><td class="ctr1" id="h0">0</td><td class="ctr2" id="i0">7</td><td class="ctr1" id="j0">0</td><td class="ctr2" id="k0">1</td></tr><tr><td id="a1"><a href="ClassInstrumenter.java.html#L49" class="el_method">visit(int, int, String, String, String, String[])</a></td><td class="bar" id="b1"><img src="../../jacoco-resources/greenbar.gif" width="37" height="10" title="12" alt="12"/></td><td class="ctr2" id="c1">100%</td><td class="bar" id="d1"/><td class="ctr2" id="e1">n/a</td><td class="ctr1" id="f1">0</td><td class="ctr2" id="g1">1</td><td class="ctr1" id="h1">0</td><td class="ctr2" id="i1">3</td><td class="ctr1" id="j1">0</td><td class="ctr2" id="k1">1</td></tr><tr><td id="a2"><a href="ClassInstrumenter.java.html#L56" class="el_method">visitField(int, String, String, String, Object)</a></td><td class="bar" id="b2"><img src="../../jacoco-resources/greenbar.gif" width="37" height="10" title="12" alt="12"/></td><td class="ctr2" id="c2">100%</td><td class="bar" id="d2"/><td class="ctr2" id="e2">n/a</td><td class="ctr1" id="f2">0</td><td class="ctr2" id="g2">1</td><td class="ctr1" id="h2">0</td><td class="ctr2" id="i3">2</td><td class="ctr1" id="j2">0</td><td class="ctr2" id="k2">1</td></tr><tr><td id="a0"><a href="ClassInstrumenter.java.html#L41" class="el_method">ClassInstrumenter(IProbeArrayStrategy, ClassVisitor)</a></td><td class="bar" id="b3"><img src="../../jacoco-resources/greenbar.gif" width="22" height="10" title="7" alt="7"/></td><td class="ctr2" id="c3">100%</td><td class="bar" id="d3"/><td class="ctr2" id="e3">n/a</td><td class="ctr1" id="f3">0</td><td class="ctr2" id="g3">1</td><td class="ctr1" id="h3">0</td><td class="ctr2" id="i2">3</td><td class="ctr1" id="j3">0</td><td class="ctr2" id="k3">1</td></tr><tr><td id="a4"><a href="ClassInstrumenter.java.html#L82" class="el_method">visitTotalProbeCount(int)</a></td><td class="bar" id="b4"><img src="../../jacoco-resources/greenbar.gif" width="22" height="10" title="7" alt="7"/></td><td class="ctr2" id="c4">100%</td><td class="bar" id="d4"/><td class="ctr2" id="e4">n/a</td><td class="ctr1" id="f4">0</td><td class="ctr2" id="g4">1</td><td class="ctr1" id="h4">0</td><td class="ctr2" id="i4">2</td><td class="ctr1" id="j4">0</td><td class="ctr2" id="k4">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.12.202403270442</span>Code Coverage Report for JaCoCo 0.8.12-SNAPSHOT</div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/trunk/coverage/org.jacoco.core/org.jacoco.core.internal.instr/ClassInstrumenter.java.html b/jacoco/trunk/coverage/org.jacoco.core/org.jacoco.core.internal.instr/ClassInstrumenter.java.html
    new file mode 100644
    index 00000000000..78e811aa440
    --- /dev/null
    +++ b/jacoco/trunk/coverage/org.jacoco.core/org.jacoco.core.internal.instr/ClassInstrumenter.java.html
    @@ -0,0 +1,86 @@
    +<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="en"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../../jacoco-resources/report.gif" type="image/gif"/><title>ClassInstrumenter.java</title><link rel="stylesheet" href="../../jacoco-resources/prettify.css" type="text/css"/><script type="text/javascript" src="../../jacoco-resources/prettify.js"></script></head><body onload="window['PR_TAB_WIDTH']=4;prettyPrint()"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../../index.html" class="el_report">JaCoCo</a> &gt; <a href="../index.html" class="el_bundle">org.jacoco.core</a> &gt; <a href="index.source.html" class="el_package">org.jacoco.core.internal.instr</a> &gt; <span class="el_source">ClassInstrumenter.java</span></div><h1>ClassInstrumenter.java</h1><pre class="source lang-java linenums">/*******************************************************************************
    + * Copyright (c) 2009, 2024 Mountainminds GmbH &amp; Co. KG and Contributors
    + * This program and the accompanying materials are made available under
    + * the terms of the Eclipse Public License 2.0 which is available at
    + * http://www.eclipse.org/legal/epl-2.0
    + *
    + * SPDX-License-Identifier: EPL-2.0
    + *
    + * Contributors:
    + *    Marc R. Hoffmann - initial API and implementation
    + *
    + *******************************************************************************/
    +package org.jacoco.core.internal.instr;
    +
    +import org.jacoco.core.internal.flow.ClassProbesVisitor;
    +import org.jacoco.core.internal.flow.MethodProbesVisitor;
    +import org.objectweb.asm.ClassVisitor;
    +import org.objectweb.asm.FieldVisitor;
    +import org.objectweb.asm.MethodVisitor;
    +
    +/**
    + * Adapter that instruments a class for coverage tracing.
    + */
    +public class ClassInstrumenter extends ClassProbesVisitor {
    +
    +	private final IProbeArrayStrategy probeArrayStrategy;
    +
    +	private String className;
    +
    +	/**
    +	 * Emits a instrumented version of this class to the given class visitor.
    +	 *
    +	 * @param probeArrayStrategy
    +	 *            this strategy will be used to access the probe array
    +	 * @param cv
    +	 *            next delegate in the visitor chain will receive the
    +	 *            instrumented class
    +	 */
    +	public ClassInstrumenter(final IProbeArrayStrategy probeArrayStrategy,
    +			final ClassVisitor cv) {
    +<span class="fc" id="L41">		super(cv);</span>
    +<span class="fc" id="L42">		this.probeArrayStrategy = probeArrayStrategy;</span>
    +<span class="fc" id="L43">	}</span>
    +
    +	@Override
    +	public void visit(final int version, final int access, final String name,
    +			final String signature, final String superName,
    +			final String[] interfaces) {
    +<span class="fc" id="L49">		this.className = name;</span>
    +<span class="fc" id="L50">		super.visit(version, access, name, signature, superName, interfaces);</span>
    +<span class="fc" id="L51">	}</span>
    +
    +	@Override
    +	public FieldVisitor visitField(final int access, final String name,
    +			final String desc, final String signature, final Object value) {
    +<span class="fc" id="L56">		InstrSupport.assertNotInstrumented(name, className);</span>
    +<span class="fc" id="L57">		return super.visitField(access, name, desc, signature, value);</span>
    +	}
    +
    +	@Override
    +	public MethodProbesVisitor visitMethod(final int access, final String name,
    +			final String desc, final String signature,
    +			final String[] exceptions) {
    +
    +<span class="fc" id="L65">		InstrSupport.assertNotInstrumented(name, className);</span>
    +
    +<span class="fc" id="L67">		final MethodVisitor mv = cv.visitMethod(access, name, desc, signature,</span>
    +				exceptions);
    +
    +<span class="fc bfc" id="L70" title="All 2 branches covered.">		if (mv == null) {</span>
    +<span class="fc" id="L71">			return null;</span>
    +		}
    +<span class="fc" id="L73">		final MethodVisitor frameEliminator = new DuplicateFrameEliminator(mv);</span>
    +<span class="fc" id="L74">		final ProbeInserter probeVariableInserter = new ProbeInserter(access,</span>
    +				name, desc, frameEliminator, probeArrayStrategy);
    +<span class="fc" id="L76">		return new MethodInstrumenter(probeVariableInserter,</span>
    +				probeVariableInserter);
    +	}
    +
    +	@Override
    +	public void visitTotalProbeCount(final int count) {
    +<span class="fc" id="L82">		probeArrayStrategy.addMembers(cv, count);</span>
    +<span class="fc" id="L83">	}</span>
    +
    +}
    +</pre><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.12.202403270442</span>Code Coverage Report for JaCoCo 0.8.12-SNAPSHOT</div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/trunk/coverage/org.jacoco.core/org.jacoco.core.internal.instr/CondyProbeArrayStrategy.html b/jacoco/trunk/coverage/org.jacoco.core/org.jacoco.core.internal.instr/CondyProbeArrayStrategy.html
    new file mode 100644
    index 00000000000..d2d5e23bf0a
    --- /dev/null
    +++ b/jacoco/trunk/coverage/org.jacoco.core/org.jacoco.core.internal.instr/CondyProbeArrayStrategy.html
    @@ -0,0 +1 @@
    +<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="en"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../../jacoco-resources/report.gif" type="image/gif"/><title>CondyProbeArrayStrategy</title><script type="text/javascript" src="../../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../../index.html" class="el_report">JaCoCo</a> &gt; <a href="../index.html" class="el_bundle">org.jacoco.core</a> &gt; <a href="index.html" class="el_package">org.jacoco.core.internal.instr</a> &gt; <span class="el_class">CondyProbeArrayStrategy</span></div><h1>CondyProbeArrayStrategy</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">0 of 74</td><td class="ctr2">100%</td><td class="bar">0 of 0</td><td class="ctr2">n/a</td><td class="ctr1">0</td><td class="ctr2">3</td><td class="ctr1">0</td><td class="ctr2">17</td><td class="ctr1">0</td><td class="ctr2">3</td></tr></tfoot><tbody><tr><td id="a2"><a href="CondyProbeArrayStrategy.java.html#L53" class="el_method">storeInstance(MethodVisitor, boolean, int)</a></td><td class="bar" id="b0"><img src="../../jacoco-resources/greenbar.gif" width="120" height="10" title="31" alt="31"/></td><td class="ctr2" id="c0">100%</td><td class="bar" id="d0"/><td class="ctr2" id="e0">n/a</td><td class="ctr1" id="f0">0</td><td class="ctr2" id="g0">1</td><td class="ctr1" id="h0">0</td><td class="ctr2" id="i2">5</td><td class="ctr1" id="j0">0</td><td class="ctr2" id="k0">1</td></tr><tr><td id="a0"><a href="CondyProbeArrayStrategy.java.html#L65" class="el_method">addMembers(ClassVisitor, int)</a></td><td class="bar" id="b1"><img src="../../jacoco-resources/greenbar.gif" width="108" height="10" title="28" alt="28"/></td><td class="ctr2" id="c1">100%</td><td class="bar" id="d1"/><td class="ctr2" id="e1">n/a</td><td class="ctr1" id="f1">0</td><td class="ctr2" id="g1">1</td><td class="ctr1" id="h1">0</td><td class="ctr2" id="i0">6</td><td class="ctr1" id="j1">0</td><td class="ctr2" id="k1">1</td></tr><tr><td id="a1"><a href="CondyProbeArrayStrategy.java.html#L44" class="el_method">CondyProbeArrayStrategy(String, boolean, long, IExecutionDataAccessorGenerator)</a></td><td class="bar" id="b2"><img src="../../jacoco-resources/greenbar.gif" width="58" height="10" title="15" alt="15"/></td><td class="ctr2" id="c2">100%</td><td class="bar" id="d2"/><td class="ctr2" id="e2">n/a</td><td class="ctr1" id="f2">0</td><td class="ctr2" id="g2">1</td><td class="ctr1" id="h2">0</td><td class="ctr2" id="i1">6</td><td class="ctr1" id="j2">0</td><td class="ctr2" id="k2">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.12.202403270442</span>Code Coverage Report for JaCoCo 0.8.12-SNAPSHOT</div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/trunk/coverage/org.jacoco.core/org.jacoco.core.internal.instr/CondyProbeArrayStrategy.java.html b/jacoco/trunk/coverage/org.jacoco.core/org.jacoco.core.internal.instr/CondyProbeArrayStrategy.java.html
    new file mode 100644
    index 00000000000..0ac13b62e19
    --- /dev/null
    +++ b/jacoco/trunk/coverage/org.jacoco.core/org.jacoco.core.internal.instr/CondyProbeArrayStrategy.java.html
    @@ -0,0 +1,75 @@
    +<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="en"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../../jacoco-resources/report.gif" type="image/gif"/><title>CondyProbeArrayStrategy.java</title><link rel="stylesheet" href="../../jacoco-resources/prettify.css" type="text/css"/><script type="text/javascript" src="../../jacoco-resources/prettify.js"></script></head><body onload="window['PR_TAB_WIDTH']=4;prettyPrint()"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../../index.html" class="el_report">JaCoCo</a> &gt; <a href="../index.html" class="el_bundle">org.jacoco.core</a> &gt; <a href="index.source.html" class="el_package">org.jacoco.core.internal.instr</a> &gt; <span class="el_source">CondyProbeArrayStrategy.java</span></div><h1>CondyProbeArrayStrategy.java</h1><pre class="source lang-java linenums">/*******************************************************************************
    + * Copyright (c) 2009, 2024 Mountainminds GmbH &amp; Co. KG and Contributors
    + * This program and the accompanying materials are made available under
    + * the terms of the Eclipse Public License 2.0 which is available at
    + * http://www.eclipse.org/legal/epl-2.0
    + *
    + * SPDX-License-Identifier: EPL-2.0
    + *
    + * Contributors:
    + *    Evgeny Mandrikov - initial API and implementation
    + *
    + *******************************************************************************/
    +package org.jacoco.core.internal.instr;
    +
    +import org.jacoco.core.runtime.IExecutionDataAccessorGenerator;
    +import org.objectweb.asm.ClassVisitor;
    +import org.objectweb.asm.ConstantDynamic;
    +import org.objectweb.asm.Handle;
    +import org.objectweb.asm.MethodVisitor;
    +import org.objectweb.asm.Opcodes;
    +
    +/**
    + * This strategy for Java 11+ class files uses {@link ConstantDynamic} to hold
    + * the probe array and adds bootstrap method requesting the probe array from the
    + * runtime.
    + */
    +public class CondyProbeArrayStrategy implements IProbeArrayStrategy {
    +
    +	/**
    +	 * Descriptor of the bootstrap method.
    +	 */
    +	public static final String B_DESC = &quot;(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/Class;)[Z&quot;;
    +
    +	private final String className;
    +
    +	private final boolean isInterface;
    +
    +	private final long classId;
    +
    +	private final IExecutionDataAccessorGenerator accessorGenerator;
    +
    +	CondyProbeArrayStrategy(final String className, final boolean isInterface,
    +			final long classId,
    +<span class="fc" id="L44">			final IExecutionDataAccessorGenerator accessorGenerator) {</span>
    +<span class="fc" id="L45">		this.className = className;</span>
    +<span class="fc" id="L46">		this.isInterface = isInterface;</span>
    +<span class="fc" id="L47">		this.classId = classId;</span>
    +<span class="fc" id="L48">		this.accessorGenerator = accessorGenerator;</span>
    +<span class="fc" id="L49">	}</span>
    +
    +	public int storeInstance(final MethodVisitor mv, final boolean clinit,
    +			final int variable) {
    +<span class="fc" id="L53">		final Handle bootstrapMethod = new Handle(Opcodes.H_INVOKESTATIC,</span>
    +				className, InstrSupport.INITMETHOD_NAME, B_DESC, isInterface);
    +		// As a workaround for https://bugs.openjdk.java.net/browse/JDK-8216970
    +		// constant should have type Object
    +<span class="fc" id="L57">		mv.visitLdcInsn(new ConstantDynamic(InstrSupport.DATAFIELD_NAME,</span>
    +				&quot;Ljava/lang/Object;&quot;, bootstrapMethod));
    +<span class="fc" id="L59">		mv.visitTypeInsn(Opcodes.CHECKCAST, &quot;[Z&quot;);</span>
    +<span class="fc" id="L60">		mv.visitVarInsn(Opcodes.ASTORE, variable);</span>
    +<span class="fc" id="L61">		return 1;</span>
    +	}
    +
    +	public void addMembers(final ClassVisitor cv, final int probeCount) {
    +<span class="fc" id="L65">		final MethodVisitor mv = cv.visitMethod(InstrSupport.INITMETHOD_ACC,</span>
    +				InstrSupport.INITMETHOD_NAME, B_DESC, null, null);
    +<span class="fc" id="L67">		final int maxStack = accessorGenerator.generateDataAccessor(classId,</span>
    +				className, probeCount, mv);
    +<span class="fc" id="L69">		mv.visitInsn(Opcodes.ARETURN);</span>
    +<span class="fc" id="L70">		mv.visitMaxs(maxStack, 3);</span>
    +<span class="fc" id="L71">		mv.visitEnd();</span>
    +<span class="fc" id="L72">	}</span>
    +
    +}
    +</pre><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.12.202403270442</span>Code Coverage Report for JaCoCo 0.8.12-SNAPSHOT</div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/trunk/coverage/org.jacoco.core/org.jacoco.core.internal.instr/DuplicateFrameEliminator.html b/jacoco/trunk/coverage/org.jacoco.core/org.jacoco.core.internal.instr/DuplicateFrameEliminator.html
    new file mode 100644
    index 00000000000..a83b75e3bb0
    --- /dev/null
    +++ b/jacoco/trunk/coverage/org.jacoco.core/org.jacoco.core.internal.instr/DuplicateFrameEliminator.html
    @@ -0,0 +1 @@
    +<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="en"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../../jacoco-resources/report.gif" type="image/gif"/><title>DuplicateFrameEliminator</title><script type="text/javascript" src="../../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../../index.html" class="el_report">JaCoCo</a> &gt; <a href="../index.html" class="el_bundle">org.jacoco.core</a> &gt; <a href="index.html" class="el_package">org.jacoco.core.internal.instr</a> &gt; <span class="el_class">DuplicateFrameEliminator</span></div><h1>DuplicateFrameEliminator</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">0 of 148</td><td class="ctr2">100%</td><td class="bar">0 of 2</td><td class="ctr2">100%</td><td class="ctr1">0</td><td class="ctr2">16</td><td class="ctr1">0</td><td class="ctr2">46</td><td class="ctr1">0</td><td class="ctr2">15</td></tr></tfoot><tbody><tr><td id="a2"><a href="DuplicateFrameEliminator.java.html#L37" class="el_method">visitFrame(int, int, Object[], int, Object[])</a></td><td class="bar" id="b0"><img src="../../jacoco-resources/greenbar.gif" width="120" height="10" title="15" alt="15"/></td><td class="ctr2" id="c0">100%</td><td class="bar" id="d0"><img src="../../jacoco-resources/greenbar.gif" width="120" height="10" title="2" alt="2"/></td><td class="ctr2" id="e0">100%</td><td class="ctr1" id="f0">0</td><td class="ctr2" id="g0">2</td><td class="ctr1" id="h0">0</td><td class="ctr2" id="i0">4</td><td class="ctr1" id="j0">0</td><td class="ctr2" id="k0">1</td></tr><tr><td id="a10"><a href="DuplicateFrameEliminator.java.html#L77" class="el_method">visitMethodInsn(int, String, String, String, boolean)</a></td><td class="bar" id="b1"><img src="../../jacoco-resources/greenbar.gif" width="96" height="10" title="12" alt="12"/></td><td class="ctr2" id="c1">100%</td><td class="bar" id="d1"/><td class="ctr2" id="e1">n/a</td><td class="ctr1" id="f1">0</td><td class="ctr2" id="g1">1</td><td class="ctr1" id="h1">0</td><td class="ctr2" id="i1">3</td><td class="ctr1" id="j1">0</td><td class="ctr2" id="k1">1</td></tr><tr><td id="a1"><a href="DuplicateFrameEliminator.java.html#L70" class="el_method">visitFieldInsn(int, String, String, String)</a></td><td class="bar" id="b2"><img src="../../jacoco-resources/greenbar.gif" width="88" height="10" title="11" alt="11"/></td><td class="ctr2" id="c2">100%</td><td class="bar" id="d2"/><td class="ctr2" id="e2">n/a</td><td class="ctr1" id="f2">0</td><td class="ctr2" id="g2">1</td><td class="ctr1" id="h2">0</td><td class="ctr2" id="i2">3</td><td class="ctr1" id="j2">0</td><td class="ctr2" id="k2">1</td></tr><tr><td id="a6"><a href="DuplicateFrameEliminator.java.html#L84" class="el_method">visitInvokeDynamicInsn(String, String, Handle, Object[])</a></td><td class="bar" id="b3"><img src="../../jacoco-resources/greenbar.gif" width="88" height="10" title="11" alt="11"/></td><td class="ctr2" id="c3">100%</td><td class="bar" id="d3"/><td class="ctr2" id="e3">n/a</td><td class="ctr1" id="f3">0</td><td class="ctr2" id="g3">1</td><td class="ctr1" id="h3">0</td><td class="ctr2" id="i3">3</td><td class="ctr1" id="j3">0</td><td class="ctr2" id="k3">1</td></tr><tr><td id="a12"><a href="DuplicateFrameEliminator.java.html#L109" class="el_method">visitTableSwitchInsn(int, int, Label, Label[])</a></td><td class="bar" id="b4"><img src="../../jacoco-resources/greenbar.gif" width="88" height="10" title="11" alt="11"/></td><td class="ctr2" id="c4">100%</td><td class="bar" id="d4"/><td class="ctr2" id="e4">n/a</td><td class="ctr1" id="f4">0</td><td class="ctr2" id="g4">1</td><td class="ctr1" id="h4">0</td><td class="ctr2" id="i4">3</td><td class="ctr1" id="j4">0</td><td class="ctr2" id="k4">1</td></tr><tr><td id="a9"><a href="DuplicateFrameEliminator.java.html#L116" class="el_method">visitLookupSwitchInsn(Label, int[], Label[])</a></td><td class="bar" id="b5"><img src="../../jacoco-resources/greenbar.gif" width="80" height="10" title="10" alt="10"/></td><td class="ctr2" id="c5">100%</td><td class="bar" id="d5"/><td class="ctr2" id="e5">n/a</td><td class="ctr1" id="f5">0</td><td class="ctr2" id="g5">1</td><td class="ctr1" id="h5">0</td><td class="ctr2" id="i5">3</td><td class="ctr1" id="j5">0</td><td class="ctr2" id="k5">1</td></tr><tr><td id="a5"><a href="DuplicateFrameEliminator.java.html#L51" class="el_method">visitIntInsn(int, int)</a></td><td class="bar" id="b6"><img src="../../jacoco-resources/greenbar.gif" width="72" height="10" title="9" alt="9"/></td><td class="ctr2" id="c6">100%</td><td class="bar" id="d6"/><td class="ctr2" id="e6">n/a</td><td class="ctr1" id="f6">0</td><td class="ctr2" id="g6">1</td><td class="ctr1" id="h6">0</td><td class="ctr2" id="i6">3</td><td class="ctr1" id="j6">0</td><td class="ctr2" id="k6">1</td></tr><tr><td id="a14"><a href="DuplicateFrameEliminator.java.html#L57" class="el_method">visitVarInsn(int, int)</a></td><td class="bar" id="b7"><img src="../../jacoco-resources/greenbar.gif" width="72" height="10" title="9" alt="9"/></td><td class="ctr2" id="c7">100%</td><td class="bar" id="d7"/><td class="ctr2" id="e7">n/a</td><td class="ctr1" id="f7">0</td><td class="ctr2" id="g7">1</td><td class="ctr1" id="h7">0</td><td class="ctr2" id="i7">3</td><td class="ctr1" id="j7">0</td><td class="ctr2" id="k7">1</td></tr><tr><td id="a13"><a href="DuplicateFrameEliminator.java.html#L63" class="el_method">visitTypeInsn(int, String)</a></td><td class="bar" id="b8"><img src="../../jacoco-resources/greenbar.gif" width="72" height="10" title="9" alt="9"/></td><td class="ctr2" id="c8">100%</td><td class="bar" id="d8"/><td class="ctr2" id="e8">n/a</td><td class="ctr1" id="f8">0</td><td class="ctr2" id="g8">1</td><td class="ctr1" id="h8">0</td><td class="ctr2" id="i8">3</td><td class="ctr1" id="j8">0</td><td class="ctr2" id="k8">1</td></tr><tr><td id="a7"><a href="DuplicateFrameEliminator.java.html#L90" class="el_method">visitJumpInsn(int, Label)</a></td><td class="bar" id="b9"><img src="../../jacoco-resources/greenbar.gif" width="72" height="10" title="9" alt="9"/></td><td class="ctr2" id="c9">100%</td><td class="bar" id="d9"/><td class="ctr2" id="e9">n/a</td><td class="ctr1" id="f9">0</td><td class="ctr2" id="g9">1</td><td class="ctr1" id="h9">0</td><td class="ctr2" id="i9">3</td><td class="ctr1" id="j9">0</td><td class="ctr2" id="k9">1</td></tr><tr><td id="a3"><a href="DuplicateFrameEliminator.java.html#L102" class="el_method">visitIincInsn(int, int)</a></td><td class="bar" id="b10"><img src="../../jacoco-resources/greenbar.gif" width="72" height="10" title="9" alt="9"/></td><td class="ctr2" id="c10">100%</td><td class="bar" id="d10"/><td class="ctr2" id="e10">n/a</td><td class="ctr1" id="f10">0</td><td class="ctr2" id="g10">1</td><td class="ctr1" id="h10">0</td><td class="ctr2" id="i10">3</td><td class="ctr1" id="j10">0</td><td class="ctr2" id="k10">1</td></tr><tr><td id="a11"><a href="DuplicateFrameEliminator.java.html#L122" class="el_method">visitMultiANewArrayInsn(String, int)</a></td><td class="bar" id="b11"><img src="../../jacoco-resources/greenbar.gif" width="72" height="10" title="9" alt="9"/></td><td class="ctr2" id="c11">100%</td><td class="bar" id="d11"/><td class="ctr2" id="e11">n/a</td><td class="ctr1" id="f11">0</td><td class="ctr2" id="g11">1</td><td class="ctr1" id="h11">0</td><td class="ctr2" id="i11">3</td><td class="ctr1" id="j11">0</td><td class="ctr2" id="k11">1</td></tr><tr><td id="a0"><a href="DuplicateFrameEliminator.java.html#L30" class="el_method">DuplicateFrameEliminator(MethodVisitor)</a></td><td class="bar" id="b12"><img src="../../jacoco-resources/greenbar.gif" width="64" height="10" title="8" alt="8"/></td><td class="ctr2" id="c12">100%</td><td class="bar" id="d12"/><td class="ctr2" id="e12">n/a</td><td class="ctr1" id="f12">0</td><td class="ctr2" id="g12">1</td><td class="ctr1" id="h12">0</td><td class="ctr2" id="i12">3</td><td class="ctr1" id="j12">0</td><td class="ctr2" id="k12">1</td></tr><tr><td id="a4"><a href="DuplicateFrameEliminator.java.html#L45" class="el_method">visitInsn(int)</a></td><td class="bar" id="b13"><img src="../../jacoco-resources/greenbar.gif" width="64" height="10" title="8" alt="8"/></td><td class="ctr2" id="c13">100%</td><td class="bar" id="d13"/><td class="ctr2" id="e13">n/a</td><td class="ctr1" id="f13">0</td><td class="ctr2" id="g13">1</td><td class="ctr1" id="h13">0</td><td class="ctr2" id="i13">3</td><td class="ctr1" id="j13">0</td><td class="ctr2" id="k13">1</td></tr><tr><td id="a8"><a href="DuplicateFrameEliminator.java.html#L96" class="el_method">visitLdcInsn(Object)</a></td><td class="bar" id="b14"><img src="../../jacoco-resources/greenbar.gif" width="64" height="10" title="8" alt="8"/></td><td class="ctr2" id="c14">100%</td><td class="bar" id="d14"/><td class="ctr2" id="e14">n/a</td><td class="ctr1" id="f14">0</td><td class="ctr2" id="g14">1</td><td class="ctr1" id="h14">0</td><td class="ctr2" id="i14">3</td><td class="ctr1" id="j14">0</td><td class="ctr2" id="k14">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.12.202403270442</span>Code Coverage Report for JaCoCo 0.8.12-SNAPSHOT</div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/trunk/coverage/org.jacoco.core/org.jacoco.core.internal.instr/DuplicateFrameEliminator.java.html b/jacoco/trunk/coverage/org.jacoco.core/org.jacoco.core.internal.instr/DuplicateFrameEliminator.java.html
    new file mode 100644
    index 00000000000..44753e2de47
    --- /dev/null
    +++ b/jacoco/trunk/coverage/org.jacoco.core/org.jacoco.core.internal.instr/DuplicateFrameEliminator.java.html
    @@ -0,0 +1,127 @@
    +<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="en"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../../jacoco-resources/report.gif" type="image/gif"/><title>DuplicateFrameEliminator.java</title><link rel="stylesheet" href="../../jacoco-resources/prettify.css" type="text/css"/><script type="text/javascript" src="../../jacoco-resources/prettify.js"></script></head><body onload="window['PR_TAB_WIDTH']=4;prettyPrint()"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../../index.html" class="el_report">JaCoCo</a> &gt; <a href="../index.html" class="el_bundle">org.jacoco.core</a> &gt; <a href="index.source.html" class="el_package">org.jacoco.core.internal.instr</a> &gt; <span class="el_source">DuplicateFrameEliminator.java</span></div><h1>DuplicateFrameEliminator.java</h1><pre class="source lang-java linenums">/*******************************************************************************
    + * Copyright (c) 2009, 2024 Mountainminds GmbH &amp; Co. KG and Contributors
    + * This program and the accompanying materials are made available under
    + * the terms of the Eclipse Public License 2.0 which is available at
    + * http://www.eclipse.org/legal/epl-2.0
    + *
    + * SPDX-License-Identifier: EPL-2.0
    + *
    + * Contributors:
    + *    Marc R. Hoffmann - initial API and implementation
    + *
    + *******************************************************************************/
    +package org.jacoco.core.internal.instr;
    +
    +import org.objectweb.asm.Handle;
    +import org.objectweb.asm.Label;
    +import org.objectweb.asm.MethodVisitor;
    +
    +/**
    + * Eliminates consecutive stackmap frame definitions which causes ASM to create
    + * invalid class files. This situation occurs when the original class files
    + * contains additional stackmap frames at unexpected offsets, which is case for
    + * some class files compiled with ECJ.
    + */
    +class DuplicateFrameEliminator extends MethodVisitor {
    +
    +	private boolean instruction;
    +
    +	public DuplicateFrameEliminator(final MethodVisitor mv) {
    +<span class="fc" id="L30">		super(InstrSupport.ASM_API_VERSION, mv);</span>
    +<span class="fc" id="L31">		instruction = true;</span>
    +<span class="fc" id="L32">	}</span>
    +
    +	@Override
    +	public void visitFrame(final int type, final int nLocal,
    +			final Object[] local, final int nStack, final Object[] stack) {
    +<span class="fc bfc" id="L37" title="All 2 branches covered.">		if (instruction) {</span>
    +<span class="fc" id="L38">			instruction = false;</span>
    +<span class="fc" id="L39">			mv.visitFrame(type, nLocal, local, nStack, stack);</span>
    +		}
    +<span class="fc" id="L41">	}</span>
    +
    +	@Override
    +	public void visitInsn(final int opcode) {
    +<span class="fc" id="L45">		instruction = true;</span>
    +<span class="fc" id="L46">		mv.visitInsn(opcode);</span>
    +<span class="fc" id="L47">	}</span>
    +
    +	@Override
    +	public void visitIntInsn(final int opcode, final int operand) {
    +<span class="fc" id="L51">		instruction = true;</span>
    +<span class="fc" id="L52">		mv.visitIntInsn(opcode, operand);</span>
    +<span class="fc" id="L53">	}</span>
    +
    +	@Override
    +	public void visitVarInsn(final int opcode, final int var) {
    +<span class="fc" id="L57">		instruction = true;</span>
    +<span class="fc" id="L58">		mv.visitVarInsn(opcode, var);</span>
    +<span class="fc" id="L59">	}</span>
    +
    +	@Override
    +	public void visitTypeInsn(final int opcode, final String type) {
    +<span class="fc" id="L63">		instruction = true;</span>
    +<span class="fc" id="L64">		mv.visitTypeInsn(opcode, type);</span>
    +<span class="fc" id="L65">	}</span>
    +
    +	@Override
    +	public void visitFieldInsn(final int opcode, final String owner,
    +			final String name, final String desc) {
    +<span class="fc" id="L70">		instruction = true;</span>
    +<span class="fc" id="L71">		mv.visitFieldInsn(opcode, owner, name, desc);</span>
    +<span class="fc" id="L72">	}</span>
    +
    +	@Override
    +	public void visitMethodInsn(final int opcode, final String owner,
    +			final String name, final String desc, final boolean itf) {
    +<span class="fc" id="L77">		instruction = true;</span>
    +<span class="fc" id="L78">		mv.visitMethodInsn(opcode, owner, name, desc, itf);</span>
    +<span class="fc" id="L79">	}</span>
    +
    +	@Override
    +	public void visitInvokeDynamicInsn(final String name, final String desc,
    +			final Handle bsm, final Object... bsmArgs) {
    +<span class="fc" id="L84">		instruction = true;</span>
    +<span class="fc" id="L85">		mv.visitInvokeDynamicInsn(name, desc, bsm, bsmArgs);</span>
    +<span class="fc" id="L86">	}</span>
    +
    +	@Override
    +	public void visitJumpInsn(final int opcode, final Label label) {
    +<span class="fc" id="L90">		instruction = true;</span>
    +<span class="fc" id="L91">		mv.visitJumpInsn(opcode, label);</span>
    +<span class="fc" id="L92">	}</span>
    +
    +	@Override
    +	public void visitLdcInsn(final Object cst) {
    +<span class="fc" id="L96">		instruction = true;</span>
    +<span class="fc" id="L97">		mv.visitLdcInsn(cst);</span>
    +<span class="fc" id="L98">	}</span>
    +
    +	@Override
    +	public void visitIincInsn(final int var, final int increment) {
    +<span class="fc" id="L102">		instruction = true;</span>
    +<span class="fc" id="L103">		mv.visitIincInsn(var, increment);</span>
    +<span class="fc" id="L104">	}</span>
    +
    +	@Override
    +	public void visitTableSwitchInsn(final int min, final int max,
    +			final Label dflt, final Label... labels) {
    +<span class="fc" id="L109">		instruction = true;</span>
    +<span class="fc" id="L110">		mv.visitTableSwitchInsn(min, max, dflt, labels);</span>
    +<span class="fc" id="L111">	}</span>
    +
    +	@Override
    +	public void visitLookupSwitchInsn(final Label dflt, final int[] keys,
    +			final Label[] labels) {
    +<span class="fc" id="L116">		instruction = true;</span>
    +<span class="fc" id="L117">		mv.visitLookupSwitchInsn(dflt, keys, labels);</span>
    +<span class="fc" id="L118">	}</span>
    +
    +	@Override
    +	public void visitMultiANewArrayInsn(final String desc, final int dims) {
    +<span class="fc" id="L122">		instruction = true;</span>
    +<span class="fc" id="L123">		mv.visitMultiANewArrayInsn(desc, dims);</span>
    +<span class="fc" id="L124">	}</span>
    +
    +}
    +</pre><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.12.202403270442</span>Code Coverage Report for JaCoCo 0.8.12-SNAPSHOT</div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/trunk/coverage/org.jacoco.core/org.jacoco.core.internal.instr/InstrSupport.html b/jacoco/trunk/coverage/org.jacoco.core/org.jacoco.core.internal.instr/InstrSupport.html
    new file mode 100644
    index 00000000000..88cf8b01d23
    --- /dev/null
    +++ b/jacoco/trunk/coverage/org.jacoco.core/org.jacoco.core.internal.instr/InstrSupport.html
    @@ -0,0 +1 @@
    +<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="en"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../../jacoco-resources/report.gif" type="image/gif"/><title>InstrSupport</title><script type="text/javascript" src="../../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../../index.html" class="el_report">JaCoCo</a> &gt; <a href="../index.html" class="el_bundle">org.jacoco.core</a> &gt; <a href="index.html" class="el_package">org.jacoco.core.internal.instr</a> &gt; <span class="el_class">InstrSupport</span></div><h1>InstrSupport</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">0 of 127</td><td class="ctr2">100%</td><td class="bar">0 of 20</td><td class="ctr2">100%</td><td class="ctr1">0</td><td class="ctr2">17</td><td class="ctr1">0</td><td class="ctr2">24</td><td class="ctr1">0</td><td class="ctr2">7</td></tr></tfoot><tbody><tr><td id="a5"><a href="InstrSupport.java.html#L255" class="el_method">push(MethodVisitor, int)</a></td><td class="bar" id="b0"><img src="../../jacoco-resources/greenbar.gif" width="120" height="10" title="39" alt="39"/></td><td class="ctr2" id="c0">100%</td><td class="bar" id="d0"><img src="../../jacoco-resources/greenbar.gif" width="120" height="10" title="12" alt="12"/></td><td class="ctr2" id="e0">100%</td><td class="ctr1" id="f0">0</td><td class="ctr2" id="g0">7</td><td class="ctr1" id="h0">0</td><td class="ctr2" id="i0">8</td><td class="ctr1" id="j0">0</td><td class="ctr2" id="k0">1</td></tr><tr><td id="a0"><a href="InstrSupport.java.html#L237" class="el_method">assertNotInstrumented(String, String)</a></td><td class="bar" id="b1"><img src="../../jacoco-resources/greenbar.gif" width="64" height="10" title="21" alt="21"/></td><td class="ctr2" id="c1">100%</td><td class="bar" id="d1"><img src="../../jacoco-resources/greenbar.gif" width="40" height="10" title="4" alt="4"/></td><td class="ctr2" id="e1">100%</td><td class="ctr1" id="f1">0</td><td class="ctr2" id="g1">3</td><td class="ctr1" id="h1">0</td><td class="ctr2" id="i2">3</td><td class="ctr1" id="j1">0</td><td class="ctr2" id="k1">1</td></tr><tr><td id="a1"><a href="InstrSupport.java.html#L275" class="el_method">classReaderFor(byte[])</a></td><td class="bar" id="b2"><img src="../../jacoco-resources/greenbar.gif" width="58" height="10" title="19" alt="19"/></td><td class="ctr2" id="c2">100%</td><td class="bar" id="d2"><img src="../../jacoco-resources/greenbar.gif" width="20" height="10" title="2" alt="2"/></td><td class="ctr2" id="e2">100%</td><td class="ctr1" id="f2">0</td><td class="ctr2" id="g2">2</td><td class="ctr1" id="h2">0</td><td class="ctr2" id="i1">6</td><td class="ctr1" id="j2">0</td><td class="ctr2" id="k2">1</td></tr><tr><td id="a2"><a href="InstrSupport.java.html#L176" class="el_method">getMajorVersion(byte[])</a></td><td class="bar" id="b3"><img src="../../jacoco-resources/greenbar.gif" width="43" height="10" title="14" alt="14"/></td><td class="ctr2" id="c3">100%</td><td class="bar" id="d4"/><td class="ctr2" id="e4">n/a</td><td class="ctr1" id="f3">0</td><td class="ctr2" id="g4">1</td><td class="ctr1" id="h3">0</td><td class="ctr2" id="i5">1</td><td class="ctr1" id="j3">0</td><td class="ctr2" id="k3">1</td></tr><tr><td id="a6"><a href="InstrSupport.java.html#L190" class="el_method">setMajorVersion(int, byte[])</a></td><td class="bar" id="b4"><img src="../../jacoco-resources/greenbar.gif" width="40" height="10" title="13" alt="13"/></td><td class="ctr2" id="c4">100%</td><td class="bar" id="d5"/><td class="ctr2" id="e5">n/a</td><td class="ctr1" id="f4">0</td><td class="ctr2" id="g5">1</td><td class="ctr1" id="h4">0</td><td class="ctr2" id="i3">3</td><td class="ctr1" id="j4">0</td><td class="ctr2" id="k4">1</td></tr><tr><td id="a3"><a href="InstrSupport.java.html#L206" class="el_method">getMajorVersion(ClassReader)</a></td><td class="bar" id="b5"><img src="../../jacoco-resources/greenbar.gif" width="36" height="10" title="12" alt="12"/></td><td class="ctr2" id="c5">100%</td><td class="bar" id="d6"/><td class="ctr2" id="e6">n/a</td><td class="ctr1" id="f5">0</td><td class="ctr2" id="g6">1</td><td class="ctr1" id="h5">0</td><td class="ctr2" id="i4">2</td><td class="ctr1" id="j5">0</td><td class="ctr2" id="k5">1</td></tr><tr><td id="a4"><a href="InstrSupport.java.html#L219" class="el_method">needsFrames(int)</a></td><td class="bar" id="b6"><img src="../../jacoco-resources/greenbar.gif" width="27" height="10" title="9" alt="9"/></td><td class="ctr2" id="c6">100%</td><td class="bar" id="d3"><img src="../../jacoco-resources/greenbar.gif" width="20" height="10" title="2" alt="2"/></td><td class="ctr2" id="e3">100%</td><td class="ctr1" id="f6">0</td><td class="ctr2" id="g3">2</td><td class="ctr1" id="h6">0</td><td class="ctr2" id="i6">1</td><td class="ctr1" id="j6">0</td><td class="ctr2" id="k6">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.12.202403270442</span>Code Coverage Report for JaCoCo 0.8.12-SNAPSHOT</div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/trunk/coverage/org.jacoco.core/org.jacoco.core.internal.instr/InstrSupport.java.html b/jacoco/trunk/coverage/org.jacoco.core/org.jacoco.core.internal.instr/InstrSupport.java.html
    new file mode 100644
    index 00000000000..bc4d1d627bd
    --- /dev/null
    +++ b/jacoco/trunk/coverage/org.jacoco.core/org.jacoco.core.internal.instr/InstrSupport.java.html
    @@ -0,0 +1,286 @@
    +<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="en"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../../jacoco-resources/report.gif" type="image/gif"/><title>InstrSupport.java</title><link rel="stylesheet" href="../../jacoco-resources/prettify.css" type="text/css"/><script type="text/javascript" src="../../jacoco-resources/prettify.js"></script></head><body onload="window['PR_TAB_WIDTH']=4;prettyPrint()"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../../index.html" class="el_report">JaCoCo</a> &gt; <a href="../index.html" class="el_bundle">org.jacoco.core</a> &gt; <a href="index.source.html" class="el_package">org.jacoco.core.internal.instr</a> &gt; <span class="el_source">InstrSupport.java</span></div><h1>InstrSupport.java</h1><pre class="source lang-java linenums">/*******************************************************************************
    + * Copyright (c) 2009, 2024 Mountainminds GmbH &amp; Co. KG and Contributors
    + * This program and the accompanying materials are made available under
    + * the terms of the Eclipse Public License 2.0 which is available at
    + * http://www.eclipse.org/legal/epl-2.0
    + *
    + * SPDX-License-Identifier: EPL-2.0
    + *
    + * Contributors:
    + *    Marc R. Hoffmann - initial API and implementation
    + *
    + *******************************************************************************/
    +package org.jacoco.core.internal.instr;
    +
    +import static java.lang.String.format;
    +
    +import org.objectweb.asm.ClassReader;
    +import org.objectweb.asm.MethodVisitor;
    +import org.objectweb.asm.Opcodes;
    +
    +/**
    + * Constants and utilities for byte code instrumentation.
    + */
    +public final class InstrSupport {
    +
    +	private InstrSupport() {
    +	}
    +
    +	/** ASM API version */
    +	public static final int ASM_API_VERSION = Opcodes.ASM9;
    +
    +	// === Data Field ===
    +
    +	/**
    +	 * Name of the field that stores coverage information of a class.
    +	 */
    +	public static final String DATAFIELD_NAME = &quot;$jacocoData&quot;;
    +
    +	/**
    +	 * Access modifiers of the field that stores coverage information of a
    +	 * class.
    +	 *
    +	 * According to Java Virtual Machine Specification &lt;a href=
    +	 * &quot;https://docs.oracle.com/javase/specs/jvms/se8/html/jvms-6.html#jvms-6.5.putstatic&quot;&gt;
    +	 * §6.5.putstatic&lt;/a&gt; this field must not be final:
    +	 *
    +	 * &lt;blockquote&gt;
    +	 * &lt;p&gt;
    +	 * if the field is final, it must be declared in the current class, and the
    +	 * instruction must occur in the {@code &lt;clinit&gt;} method of the current
    +	 * class.
    +	 * &lt;/p&gt;
    +	 * &lt;/blockquote&gt;
    +	 */
    +	public static final int DATAFIELD_ACC = Opcodes.ACC_SYNTHETIC
    +			| Opcodes.ACC_PRIVATE | Opcodes.ACC_STATIC | Opcodes.ACC_TRANSIENT;
    +
    +	/**
    +	 * Access modifiers of the field that stores coverage information of a Java
    +	 * 8 interface.
    +	 *
    +	 * According to Java Virtual Machine Specification &lt;a href=
    +	 * &quot;https://docs.oracle.com/javase/specs/jvms/se8/html/jvms-4.html#jvms-4.5-200-A.3&quot;&gt;
    +	 * §4.5&lt;/a&gt;:
    +	 *
    +	 * &lt;blockquote&gt;
    +	 * &lt;p&gt;
    +	 * Fields of interfaces must have their ACC_PUBLIC, ACC_STATIC, and
    +	 * ACC_FINAL flags set; they may have their ACC_SYNTHETIC flag set and must
    +	 * not have any of the other flags.
    +	 * &lt;/p&gt;
    +	 * &lt;/blockquote&gt;
    +	 */
    +	public static final int DATAFIELD_INTF_ACC = Opcodes.ACC_SYNTHETIC
    +			| Opcodes.ACC_PUBLIC | Opcodes.ACC_STATIC | Opcodes.ACC_FINAL;
    +
    +	/**
    +	 * Data type of the field that stores coverage information for a class (
    +	 * &lt;code&gt;boolean[]&lt;/code&gt;).
    +	 */
    +	public static final String DATAFIELD_DESC = &quot;[Z&quot;;
    +
    +	// === Init Method ===
    +
    +	/**
    +	 * Name of the initialization method.
    +	 */
    +	public static final String INITMETHOD_NAME = &quot;$jacocoInit&quot;;
    +
    +	/**
    +	 * Descriptor of the initialization method.
    +	 */
    +	public static final String INITMETHOD_DESC = &quot;()[Z&quot;;
    +
    +	/**
    +	 * Access modifiers of the initialization method.
    +	 */
    +	public static final int INITMETHOD_ACC = Opcodes.ACC_SYNTHETIC
    +			| Opcodes.ACC_PRIVATE | Opcodes.ACC_STATIC;
    +
    +	/**
    +	 * Name of the interface initialization method.
    +	 *
    +	 * According to Java Virtual Machine Specification &lt;a href=
    +	 * &quot;https://docs.oracle.com/javase/specs/jvms/se8/html/jvms-2.html#jvms-2.9-200&quot;&gt;
    +	 * §2.9&lt;/a&gt;:
    +	 *
    +	 * &lt;blockquote&gt;
    +	 * &lt;p&gt;
    +	 * A class or interface has at most one class or interface initialization
    +	 * method and is initialized by invoking that method. The initialization
    +	 * method of a class or interface has the special name {@code &lt;clinit&gt;},
    +	 * takes no arguments, and is void.
    +	 * &lt;/p&gt;
    +	 * &lt;p&gt;
    +	 * Other methods named {@code &lt;clinit&gt;} in a class file are of no
    +	 * consequence. They are not class or interface initialization methods. They
    +	 * cannot be invoked by any Java Virtual Machine instruction and are never
    +	 * invoked by the Java Virtual Machine itself.
    +	 * &lt;/p&gt;
    +	 * &lt;p&gt;
    +	 * In a class file whose version number is 51.0 or above, the method must
    +	 * additionally have its ACC_STATIC flag set in order to be the class or
    +	 * interface initialization method.
    +	 * &lt;/p&gt;
    +	 * &lt;p&gt;
    +	 * This requirement was introduced in Java SE 7. In a class file whose
    +	 * version number is 50.0 or below, a method named {@code &lt;clinit&gt;} that is
    +	 * void and takes no arguments is considered the class or interface
    +	 * initialization method regardless of the setting of its ACC_STATIC flag.
    +	 * &lt;/p&gt;
    +	 * &lt;/blockquote&gt;
    +	 *
    +	 * And &lt;a href=
    +	 * &quot;https://docs.oracle.com/javase/specs/jvms/se8/html/jvms-4.html#jvms-4.6-200-A.6&quot;&gt;
    +	 * §4.6&lt;/a&gt;:
    +	 *
    +	 * &lt;blockquote&gt;
    +	 * &lt;p&gt;
    +	 * Class and interface initialization methods are called implicitly by the
    +	 * Java Virtual Machine. The value of their access_flags item is ignored
    +	 * except for the setting of the ACC_STRICT flag.
    +	 * &lt;/p&gt;
    +	 * &lt;/blockquote&gt;
    +	 */
    +	static final String CLINIT_NAME = &quot;&lt;clinit&gt;&quot;;
    +
    +	/**
    +	 * Descriptor of the interface initialization method.
    +	 *
    +	 * @see #CLINIT_NAME
    +	 */
    +	static final String CLINIT_DESC = &quot;()V&quot;;
    +
    +	/**
    +	 * Access flags of the interface initialization method generated by JaCoCo.
    +	 *
    +	 * @see #CLINIT_NAME
    +	 */
    +	static final int CLINIT_ACC = Opcodes.ACC_SYNTHETIC | Opcodes.ACC_STATIC;
    +
    +	/**
    +	 * Gets major version number from given bytes of class (unsigned two bytes
    +	 * at offset 6).
    +	 *
    +	 * @param b
    +	 *            bytes of class
    +	 * @return major version of bytecode
    +	 * @see &lt;a href=
    +	 *      &quot;https://docs.oracle.com/javase/specs/jvms/se11/html/jvms-4.html#jvms-4.1&quot;&gt;Java
    +	 *      Virtual Machine Specification §4 The class File Format&lt;/a&gt;
    +	 * @see #setMajorVersion(int, byte[])
    +	 * @see #getMajorVersion(ClassReader)
    +	 */
    +	public static int getMajorVersion(final byte[] b) {
    +<span class="fc" id="L176">		return ((b[6] &amp; 0xFF) &lt;&lt; 8) | (b[7] &amp; 0xFF);</span>
    +	}
    +
    +	/**
    +	 * Sets major version number in given bytes of class (unsigned two bytes at
    +	 * offset 6).
    +	 *
    +	 * @param majorVersion
    +	 *            major version of bytecode to set
    +	 * @param b
    +	 *            bytes of class
    +	 * @see #getMajorVersion(byte[])
    +	 */
    +	public static void setMajorVersion(final int majorVersion, final byte[] b) {
    +<span class="fc" id="L190">		b[6] = (byte) (majorVersion &gt;&gt;&gt; 8);</span>
    +<span class="fc" id="L191">		b[7] = (byte) majorVersion;</span>
    +<span class="fc" id="L192">	}</span>
    +
    +	/**
    +	 * Gets major version number from given {@link ClassReader}.
    +	 *
    +	 * @param reader
    +	 *            reader to get information about the class
    +	 * @return major version of bytecode
    +	 * @see ClassReader#ClassReader(byte[], int, int)
    +	 * @see #getMajorVersion(byte[])
    +	 */
    +	public static int getMajorVersion(final ClassReader reader) {
    +		// relative to the beginning of constant pool because ASM provides API
    +		// to construct ClassReader which reads from the middle of array
    +<span class="fc" id="L206">		final int firstConstantPoolEntryOffset = reader.getItem(1) - 1;</span>
    +<span class="fc" id="L207">		return reader.readUnsignedShort(firstConstantPoolEntryOffset - 4);</span>
    +	}
    +
    +	/**
    +	 * Determines whether the given class file version requires stackmap frames.
    +	 *
    +	 * @param version
    +	 *            class file version
    +	 * @return &lt;code&gt;true&lt;/code&gt; if frames are required
    +	 */
    +	public static boolean needsFrames(final int version) {
    +		// consider major version only (due to 1.1 anomaly)
    +<span class="fc bfc" id="L219" title="All 2 branches covered.">		return (version &amp; 0xFFFF) &gt;= Opcodes.V1_6;</span>
    +	}
    +
    +	/**
    +	 * Ensures that the given member does not correspond to a internal member
    +	 * created by the instrumentation process. This would mean that the class is
    +	 * already instrumented.
    +	 *
    +	 * @param member
    +	 *            name of the member to check
    +	 * @param owner
    +	 *            name of the class owning the member
    +	 * @throws IllegalStateException
    +	 *             thrown if the member has the same name than the
    +	 *             instrumentation member
    +	 */
    +	public static void assertNotInstrumented(final String member,
    +			final String owner) throws IllegalStateException {
    +<span class="fc bfc" id="L237" title="All 4 branches covered.">		if (member.equals(DATAFIELD_NAME) || member.equals(INITMETHOD_NAME)) {</span>
    +<span class="fc" id="L238">			throw new IllegalStateException(format(</span>
    +					&quot;Cannot process instrumented class %s. Please supply original non-instrumented classes.&quot;,
    +					owner));
    +		}
    +<span class="fc" id="L242">	}</span>
    +
    +	/**
    +	 * Generates the instruction to push the given int value on the stack.
    +	 * Implementation taken from
    +	 * {@link org.objectweb.asm.commons.GeneratorAdapter#push(int)}.
    +	 *
    +	 * @param mv
    +	 *            visitor to emit the instruction
    +	 * @param value
    +	 *            the value to be pushed on the stack.
    +	 */
    +	public static void push(final MethodVisitor mv, final int value) {
    +<span class="fc bfc" id="L255" title="All 4 branches covered.">		if (value &gt;= -1 &amp;&amp; value &lt;= 5) {</span>
    +<span class="fc" id="L256">			mv.visitInsn(Opcodes.ICONST_0 + value);</span>
    +<span class="fc bfc" id="L257" title="All 4 branches covered.">		} else if (value &gt;= Byte.MIN_VALUE &amp;&amp; value &lt;= Byte.MAX_VALUE) {</span>
    +<span class="fc" id="L258">			mv.visitIntInsn(Opcodes.BIPUSH, value);</span>
    +<span class="fc bfc" id="L259" title="All 4 branches covered.">		} else if (value &gt;= Short.MIN_VALUE &amp;&amp; value &lt;= Short.MAX_VALUE) {</span>
    +<span class="fc" id="L260">			mv.visitIntInsn(Opcodes.SIPUSH, value);</span>
    +		} else {
    +<span class="fc" id="L262">			mv.visitLdcInsn(Integer.valueOf(value));</span>
    +		}
    +<span class="fc" id="L264">	}</span>
    +
    +	/**
    +	 * Creates a {@link ClassReader} instance for given bytes of class even if
    +	 * its version not yet supported by ASM.
    +	 *
    +	 * @param b
    +	 *            bytes of class
    +	 * @return {@link ClassReader}
    +	 */
    +	public static ClassReader classReaderFor(final byte[] b) {
    +<span class="fc" id="L275">		final int originalVersion = getMajorVersion(b);</span>
    +<span class="fc bfc" id="L276" title="All 2 branches covered.">		if (originalVersion == Opcodes.V22 + 1) {</span>
    +			// temporarily downgrade version to bypass check in ASM
    +<span class="fc" id="L278">			setMajorVersion(Opcodes.V22, b);</span>
    +		}
    +<span class="fc" id="L280">		final ClassReader classReader = new ClassReader(b);</span>
    +<span class="fc" id="L281">		setMajorVersion(originalVersion, b);</span>
    +<span class="fc" id="L282">		return classReader;</span>
    +	}
    +
    +}
    +</pre><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.12.202403270442</span>Code Coverage Report for JaCoCo 0.8.12-SNAPSHOT</div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/trunk/coverage/org.jacoco.core/org.jacoco.core.internal.instr/InterfaceFieldProbeArrayStrategy.html b/jacoco/trunk/coverage/org.jacoco.core/org.jacoco.core.internal.instr/InterfaceFieldProbeArrayStrategy.html
    new file mode 100644
    index 00000000000..562182a41c5
    --- /dev/null
    +++ b/jacoco/trunk/coverage/org.jacoco.core/org.jacoco.core.internal.instr/InterfaceFieldProbeArrayStrategy.html
    @@ -0,0 +1 @@
    +<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="en"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../../jacoco-resources/report.gif" type="image/gif"/><title>InterfaceFieldProbeArrayStrategy</title><script type="text/javascript" src="../../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../../index.html" class="el_report">JaCoCo</a> &gt; <a href="../index.html" class="el_bundle">org.jacoco.core</a> &gt; <a href="index.html" class="el_package">org.jacoco.core.internal.instr</a> &gt; <span class="el_class">InterfaceFieldProbeArrayStrategy</span></div><h1>InterfaceFieldProbeArrayStrategy</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">0 of 201</td><td class="ctr2">100%</td><td class="bar">1 of 4</td><td class="ctr2">75%</td><td class="ctr1">1</td><td class="ctr2">9</td><td class="ctr1">0</td><td class="ctr2">48</td><td class="ctr1">0</td><td class="ctr2">7</td></tr></tfoot><tbody><tr><td id="a3"><a href="InterfaceFieldProbeArrayStrategy.java.html#L101" class="el_method">createInitMethod(ClassVisitor, int)</a></td><td class="bar" id="b0"><img src="../../jacoco-resources/greenbar.gif" width="120" height="10" title="63" alt="63"/></td><td class="ctr2" id="c0">100%</td><td class="bar" id="d2"/><td class="ctr2" id="e2">n/a</td><td class="ctr1" id="f1">0</td><td class="ctr2" id="g2">1</td><td class="ctr1" id="h0">0</td><td class="ctr2" id="i0">14</td><td class="ctr1" id="j0">0</td><td class="ctr2" id="k0">1</td></tr><tr><td id="a6"><a href="InterfaceFieldProbeArrayStrategy.java.html#L57" class="el_method">storeInstance(MethodVisitor, boolean, int)</a></td><td class="bar" id="b1"><img src="../../jacoco-resources/greenbar.gif" width="91" height="10" title="48" alt="48"/></td><td class="ctr2" id="c1">100%</td><td class="bar" id="d1"><img src="../../jacoco-resources/greenbar.gif" width="120" height="10" title="2" alt="2"/></td><td class="ctr2" id="e0">100%</td><td class="ctr1" id="f2">0</td><td class="ctr2" id="g0">2</td><td class="ctr1" id="h1">0</td><td class="ctr2" id="i1">10</td><td class="ctr1" id="j1">0</td><td class="ctr2" id="k1">1</td></tr><tr><td id="a1"><a href="InterfaceFieldProbeArrayStrategy.java.html#L138" class="el_method">createClinitMethod(ClassVisitor, int)</a></td><td class="bar" id="b2"><img src="../../jacoco-resources/greenbar.gif" width="70" height="10" title="37" alt="37"/></td><td class="ctr2" id="c2">100%</td><td class="bar" id="d3"/><td class="ctr2" id="e3">n/a</td><td class="ctr1" id="f3">0</td><td class="ctr2" id="g3">1</td><td class="ctr1" id="h2">0</td><td class="ctr2" id="i2">8</td><td class="ctr1" id="j2">0</td><td class="ctr2" id="k2">1</td></tr><tr><td id="a4"><a href="InterfaceFieldProbeArrayStrategy.java.html#L44" class="el_method">InterfaceFieldProbeArrayStrategy(String, long, int, IExecutionDataAccessorGenerator)</a></td><td class="bar" id="b3"><img src="../../jacoco-resources/greenbar.gif" width="34" height="10" title="18" alt="18"/></td><td class="ctr2" id="c3">100%</td><td class="bar" id="d4"/><td class="ctr2" id="e4">n/a</td><td class="ctr1" id="f4">0</td><td class="ctr2" id="g4">1</td><td class="ctr1" id="h3">0</td><td class="ctr2" id="i3">7</td><td class="ctr1" id="j3">0</td><td class="ctr2" id="k3">1</td></tr><tr><td id="a0"><a href="InterfaceFieldProbeArrayStrategy.java.html#L87" class="el_method">addMembers(ClassVisitor, int)</a></td><td class="bar" id="b4"><img src="../../jacoco-resources/greenbar.gif" width="28" height="10" title="15" alt="15"/></td><td class="ctr2" id="c4">100%</td><td class="bar" id="d0"><img src="../../jacoco-resources/redbar.gif" width="60" height="10" title="1" alt="1"/><img src="../../jacoco-resources/greenbar.gif" width="60" height="10" title="1" alt="1"/></td><td class="ctr2" id="e1">50%</td><td class="ctr1" id="f0">1</td><td class="ctr2" id="g1">2</td><td class="ctr1" id="h4">0</td><td class="ctr2" id="i4">5</td><td class="ctr1" id="j4">0</td><td class="ctr2" id="k4">1</td></tr><tr><td id="a5"><a href="InterfaceFieldProbeArrayStrategy.java.html#L31" class="el_method">static {...}</a></td><td class="bar" id="b5"><img src="../../jacoco-resources/greenbar.gif" width="20" height="10" title="11" alt="11"/></td><td class="ctr2" id="c5">100%</td><td class="bar" id="d5"/><td class="ctr2" id="e5">n/a</td><td class="ctr1" id="f5">0</td><td class="ctr2" id="g5">1</td><td class="ctr1" id="h5">0</td><td class="ctr2" id="i5">2</td><td class="ctr1" id="j5">0</td><td class="ctr2" id="k5">1</td></tr><tr><td id="a2"><a href="InterfaceFieldProbeArrayStrategy.java.html#L95" class="el_method">createDataField(ClassVisitor)</a></td><td class="bar" id="b6"><img src="../../jacoco-resources/greenbar.gif" width="17" height="10" title="9" alt="9"/></td><td class="ctr2" id="c6">100%</td><td class="bar" id="d6"/><td class="ctr2" id="e6">n/a</td><td class="ctr1" id="f6">0</td><td class="ctr2" id="g6">1</td><td class="ctr1" id="h6">0</td><td class="ctr2" id="i6">2</td><td class="ctr1" id="j6">0</td><td class="ctr2" id="k6">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.12.202403270442</span>Code Coverage Report for JaCoCo 0.8.12-SNAPSHOT</div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/trunk/coverage/org.jacoco.core/org.jacoco.core.internal.instr/InterfaceFieldProbeArrayStrategy.java.html b/jacoco/trunk/coverage/org.jacoco.core/org.jacoco.core.internal.instr/InterfaceFieldProbeArrayStrategy.java.html
    new file mode 100644
    index 00000000000..11464d60536
    --- /dev/null
    +++ b/jacoco/trunk/coverage/org.jacoco.core/org.jacoco.core.internal.instr/InterfaceFieldProbeArrayStrategy.java.html
    @@ -0,0 +1,157 @@
    +<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="en"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../../jacoco-resources/report.gif" type="image/gif"/><title>InterfaceFieldProbeArrayStrategy.java</title><link rel="stylesheet" href="../../jacoco-resources/prettify.css" type="text/css"/><script type="text/javascript" src="../../jacoco-resources/prettify.js"></script></head><body onload="window['PR_TAB_WIDTH']=4;prettyPrint()"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../../index.html" class="el_report">JaCoCo</a> &gt; <a href="../index.html" class="el_bundle">org.jacoco.core</a> &gt; <a href="index.source.html" class="el_package">org.jacoco.core.internal.instr</a> &gt; <span class="el_source">InterfaceFieldProbeArrayStrategy.java</span></div><h1>InterfaceFieldProbeArrayStrategy.java</h1><pre class="source lang-java linenums">/*******************************************************************************
    + * Copyright (c) 2009, 2024 Mountainminds GmbH &amp; Co. KG and Contributors
    + * This program and the accompanying materials are made available under
    + * the terms of the Eclipse Public License 2.0 which is available at
    + * http://www.eclipse.org/legal/epl-2.0
    + *
    + * SPDX-License-Identifier: EPL-2.0
    + *
    + * Contributors:
    + *    Evgeny Mandrikov - initial API and implementation
    + *
    + *******************************************************************************/
    +package org.jacoco.core.internal.instr;
    +
    +import org.jacoco.core.runtime.IExecutionDataAccessorGenerator;
    +import org.objectweb.asm.ClassVisitor;
    +import org.objectweb.asm.Label;
    +import org.objectweb.asm.MethodVisitor;
    +import org.objectweb.asm.Opcodes;
    +
    +/**
    + * 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.
    + */
    +class InterfaceFieldProbeArrayStrategy implements IProbeArrayStrategy {
    +
    +	/**
    +	 * Frame stack with a single boolean array.
    +	 */
    +<span class="fc" id="L31">	private static final Object[] FRAME_STACK_ARRZ = new Object[] {</span>
    +			InstrSupport.DATAFIELD_DESC };
    +
    +	/**
    +	 * Empty frame locals.
    +	 */
    +<span class="fc" id="L37">	private static final Object[] FRAME_LOCALS_EMPTY = new Object[0];</span>
    +
    +	private final String className;
    +	private final long classId;
    +	private final int probeCount;
    +	private final IExecutionDataAccessorGenerator accessorGenerator;
    +
    +<span class="fc" id="L44">	private boolean seenClinit = false;</span>
    +
    +	InterfaceFieldProbeArrayStrategy(final String className, final long classId,
    +			final int probeCount,
    +<span class="fc" id="L48">			final IExecutionDataAccessorGenerator accessorGenerator) {</span>
    +<span class="fc" id="L49">		this.className = className;</span>
    +<span class="fc" id="L50">		this.classId = classId;</span>
    +<span class="fc" id="L51">		this.probeCount = probeCount;</span>
    +<span class="fc" id="L52">		this.accessorGenerator = accessorGenerator;</span>
    +<span class="fc" id="L53">	}</span>
    +
    +	public int storeInstance(final MethodVisitor mv, final boolean clinit,
    +			final int variable) {
    +<span class="fc bfc" id="L57" title="All 2 branches covered.">		if (clinit) {</span>
    +<span class="fc" id="L58">			final int maxStack = accessorGenerator.generateDataAccessor(classId,</span>
    +					className, probeCount, mv);
    +
    +			// Stack[0]: [Z
    +
    +<span class="fc" id="L63">			mv.visitInsn(Opcodes.DUP);</span>
    +
    +			// Stack[1]: [Z
    +			// Stack[0]: [Z
    +
    +<span class="fc" id="L68">			mv.visitFieldInsn(Opcodes.PUTSTATIC, className,</span>
    +					InstrSupport.DATAFIELD_NAME, InstrSupport.DATAFIELD_DESC);
    +
    +			// Stack[0]: [Z
    +
    +<span class="fc" id="L73">			mv.visitVarInsn(Opcodes.ASTORE, variable);</span>
    +
    +<span class="fc" id="L75">			seenClinit = true;</span>
    +<span class="fc" id="L76">			return Math.max(maxStack, 2);</span>
    +		} else {
    +<span class="fc" id="L78">			mv.visitMethodInsn(Opcodes.INVOKESTATIC, className,</span>
    +					InstrSupport.INITMETHOD_NAME, InstrSupport.INITMETHOD_DESC,
    +					true);
    +<span class="fc" id="L81">			mv.visitVarInsn(Opcodes.ASTORE, variable);</span>
    +<span class="fc" id="L82">			return 1;</span>
    +		}
    +	}
    +
    +	public void addMembers(final ClassVisitor cv, final int probeCount) {
    +<span class="fc" id="L87">		createDataField(cv);</span>
    +<span class="fc" id="L88">		createInitMethod(cv, probeCount);</span>
    +<span class="pc bpc" id="L89" title="1 of 2 branches missed.">		if (!seenClinit) {</span>
    +<span class="fc" id="L90">			createClinitMethod(cv, probeCount);</span>
    +		}
    +<span class="fc" id="L92">	}</span>
    +
    +	private void createDataField(final ClassVisitor cv) {
    +<span class="fc" id="L95">		cv.visitField(InstrSupport.DATAFIELD_INTF_ACC,</span>
    +				InstrSupport.DATAFIELD_NAME, InstrSupport.DATAFIELD_DESC, null,
    +				null);
    +<span class="fc" id="L98">	}</span>
    +
    +	private void createInitMethod(final ClassVisitor cv, final int probeCount) {
    +<span class="fc" id="L101">		final MethodVisitor mv = cv.visitMethod(InstrSupport.INITMETHOD_ACC,</span>
    +				InstrSupport.INITMETHOD_NAME, InstrSupport.INITMETHOD_DESC,
    +				null, null);
    +<span class="fc" id="L104">		mv.visitCode();</span>
    +
    +		// Load the value of the static data field:
    +<span class="fc" id="L107">		mv.visitFieldInsn(Opcodes.GETSTATIC, className,</span>
    +				InstrSupport.DATAFIELD_NAME, InstrSupport.DATAFIELD_DESC);
    +<span class="fc" id="L109">		mv.visitInsn(Opcodes.DUP);</span>
    +
    +		// Stack[1]: [Z
    +		// Stack[0]: [Z
    +
    +		// Skip initialization when we already have a data array:
    +<span class="fc" id="L115">		final Label alreadyInitialized = new Label();</span>
    +<span class="fc" id="L116">		mv.visitJumpInsn(Opcodes.IFNONNULL, alreadyInitialized);</span>
    +
    +		// Stack[0]: [Z
    +
    +<span class="fc" id="L120">		mv.visitInsn(Opcodes.POP);</span>
    +<span class="fc" id="L121">		final int size = accessorGenerator.generateDataAccessor(classId,</span>
    +				className, probeCount, mv);
    +
    +		// Stack[0]: [Z
    +
    +		// Return the class' probe array:
    +<span class="fc" id="L127">		mv.visitFrame(Opcodes.F_NEW, 0, FRAME_LOCALS_EMPTY, 1,</span>
    +				FRAME_STACK_ARRZ);
    +<span class="fc" id="L129">		mv.visitLabel(alreadyInitialized);</span>
    +<span class="fc" id="L130">		mv.visitInsn(Opcodes.ARETURN);</span>
    +
    +<span class="fc" id="L132">		mv.visitMaxs(Math.max(size, 2), 0); // Maximum local stack size is 2</span>
    +<span class="fc" id="L133">		mv.visitEnd();</span>
    +<span class="fc" id="L134">	}</span>
    +
    +	private void createClinitMethod(final ClassVisitor cv,
    +			final int probeCount) {
    +<span class="fc" id="L138">		final MethodVisitor mv = cv.visitMethod(InstrSupport.CLINIT_ACC,</span>
    +				InstrSupport.CLINIT_NAME, InstrSupport.CLINIT_DESC, null, null);
    +<span class="fc" id="L140">		mv.visitCode();</span>
    +
    +<span class="fc" id="L142">		final int maxStack = accessorGenerator.generateDataAccessor(classId,</span>
    +				className, probeCount, mv);
    +
    +		// Stack[0]: [Z
    +
    +<span class="fc" id="L147">		mv.visitFieldInsn(Opcodes.PUTSTATIC, className,</span>
    +				InstrSupport.DATAFIELD_NAME, InstrSupport.DATAFIELD_DESC);
    +
    +<span class="fc" id="L150">		mv.visitInsn(Opcodes.RETURN);</span>
    +
    +<span class="fc" id="L152">		mv.visitMaxs(maxStack, 0);</span>
    +<span class="fc" id="L153">		mv.visitEnd();</span>
    +<span class="fc" id="L154">	}</span>
    +
    +}
    +</pre><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.12.202403270442</span>Code Coverage Report for JaCoCo 0.8.12-SNAPSHOT</div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/trunk/coverage/org.jacoco.core/org.jacoco.core.internal.instr/LocalProbeArrayStrategy.html b/jacoco/trunk/coverage/org.jacoco.core/org.jacoco.core.internal.instr/LocalProbeArrayStrategy.html
    new file mode 100644
    index 00000000000..82c953ddcd5
    --- /dev/null
    +++ b/jacoco/trunk/coverage/org.jacoco.core/org.jacoco.core.internal.instr/LocalProbeArrayStrategy.html
    @@ -0,0 +1 @@
    +<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="en"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../../jacoco-resources/report.gif" type="image/gif"/><title>LocalProbeArrayStrategy</title><script type="text/javascript" src="../../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../../index.html" class="el_report">JaCoCo</a> &gt; <a href="../index.html" class="el_bundle">org.jacoco.core</a> &gt; <a href="index.html" class="el_package">org.jacoco.core.internal.instr</a> &gt; <span class="el_class">LocalProbeArrayStrategy</span></div><h1>LocalProbeArrayStrategy</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">0 of 33</td><td class="ctr2">100%</td><td class="bar">0 of 0</td><td class="ctr2">n/a</td><td class="ctr1">0</td><td class="ctr2">3</td><td class="ctr1">0</td><td class="ctr2">10</td><td class="ctr1">0</td><td class="ctr2">3</td></tr></tfoot><tbody><tr><td id="a2"><a href="LocalProbeArrayStrategy.java.html#L44" class="el_method">storeInstance(MethodVisitor, boolean, int)</a></td><td class="bar" id="b0"><img src="../../jacoco-resources/greenbar.gif" width="120" height="10" title="17" alt="17"/></td><td class="ctr2" id="c0">100%</td><td class="bar" id="d0"/><td class="ctr2" id="e0">n/a</td><td class="ctr1" id="f0">0</td><td class="ctr2" id="g0">1</td><td class="ctr1" id="h0">0</td><td class="ctr2" id="i1">3</td><td class="ctr1" id="j0">0</td><td class="ctr2" id="k0">1</td></tr><tr><td id="a1"><a href="LocalProbeArrayStrategy.java.html#L35" class="el_method">LocalProbeArrayStrategy(String, long, int, IExecutionDataAccessorGenerator)</a></td><td class="bar" id="b1"><img src="../../jacoco-resources/greenbar.gif" width="105" height="10" title="15" alt="15"/></td><td class="ctr2" id="c1">100%</td><td class="bar" id="d1"/><td class="ctr2" id="e1">n/a</td><td class="ctr1" id="f1">0</td><td class="ctr2" id="g1">1</td><td class="ctr1" id="h1">0</td><td class="ctr2" id="i0">6</td><td class="ctr1" id="j1">0</td><td class="ctr2" id="k1">1</td></tr><tr><td id="a0"><a href="LocalProbeArrayStrategy.java.html#L52" class="el_method">addMembers(ClassVisitor, int)</a></td><td class="bar" id="b2"><img src="../../jacoco-resources/greenbar.gif" width="7" height="10" title="1" alt="1"/></td><td class="ctr2" id="c2">100%</td><td class="bar" id="d2"/><td class="ctr2" id="e2">n/a</td><td class="ctr1" id="f2">0</td><td class="ctr2" id="g2">1</td><td class="ctr1" id="h2">0</td><td class="ctr2" id="i2">1</td><td class="ctr1" id="j2">0</td><td class="ctr2" id="k2">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.12.202403270442</span>Code Coverage Report for JaCoCo 0.8.12-SNAPSHOT</div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/trunk/coverage/org.jacoco.core/org.jacoco.core.internal.instr/LocalProbeArrayStrategy.java.html b/jacoco/trunk/coverage/org.jacoco.core/org.jacoco.core.internal.instr/LocalProbeArrayStrategy.java.html
    new file mode 100644
    index 00000000000..9f842f50fd8
    --- /dev/null
    +++ b/jacoco/trunk/coverage/org.jacoco.core/org.jacoco.core.internal.instr/LocalProbeArrayStrategy.java.html
    @@ -0,0 +1,55 @@
    +<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="en"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../../jacoco-resources/report.gif" type="image/gif"/><title>LocalProbeArrayStrategy.java</title><link rel="stylesheet" href="../../jacoco-resources/prettify.css" type="text/css"/><script type="text/javascript" src="../../jacoco-resources/prettify.js"></script></head><body onload="window['PR_TAB_WIDTH']=4;prettyPrint()"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../../index.html" class="el_report">JaCoCo</a> &gt; <a href="../index.html" class="el_bundle">org.jacoco.core</a> &gt; <a href="index.source.html" class="el_package">org.jacoco.core.internal.instr</a> &gt; <span class="el_source">LocalProbeArrayStrategy.java</span></div><h1>LocalProbeArrayStrategy.java</h1><pre class="source lang-java linenums">/*******************************************************************************
    + * Copyright (c) 2009, 2024 Mountainminds GmbH &amp; Co. KG and Contributors
    + * This program and the accompanying materials are made available under
    + * the terms of the Eclipse Public License 2.0 which is available at
    + * http://www.eclipse.org/legal/epl-2.0
    + *
    + * SPDX-License-Identifier: EPL-2.0
    + *
    + * Contributors:
    + *    Marc R. Hoffmann - initial API and implementation
    + *
    + *******************************************************************************/
    +package org.jacoco.core.internal.instr;
    +
    +import org.jacoco.core.runtime.IExecutionDataAccessorGenerator;
    +import org.objectweb.asm.ClassVisitor;
    +import org.objectweb.asm.MethodVisitor;
    +import org.objectweb.asm.Opcodes;
    +
    +/**
    + * 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 is very inefficient as the runtime is contacted for every method
    + * invocation and therefore only used for static initializers in interfaces.
    + */
    +class LocalProbeArrayStrategy implements IProbeArrayStrategy {
    +
    +	private final String className;
    +	private final long classId;
    +	private final int probeCount;
    +	private final IExecutionDataAccessorGenerator accessorGenerator;
    +
    +	LocalProbeArrayStrategy(final String className, final long classId,
    +			final int probeCount,
    +<span class="fc" id="L35">			final IExecutionDataAccessorGenerator accessorGenerator) {</span>
    +<span class="fc" id="L36">		this.className = className;</span>
    +<span class="fc" id="L37">		this.classId = classId;</span>
    +<span class="fc" id="L38">		this.probeCount = probeCount;</span>
    +<span class="fc" id="L39">		this.accessorGenerator = accessorGenerator;</span>
    +<span class="fc" id="L40">	}</span>
    +
    +	public int storeInstance(final MethodVisitor mv, final boolean clinit,
    +			final int variable) {
    +<span class="fc" id="L44">		final int maxStack = accessorGenerator.generateDataAccessor(classId,</span>
    +				className, probeCount, mv);
    +<span class="fc" id="L46">		mv.visitVarInsn(Opcodes.ASTORE, variable);</span>
    +<span class="fc" id="L47">		return maxStack;</span>
    +	}
    +
    +	public void addMembers(final ClassVisitor delegate, final int probeCount) {
    +		// nothing to do
    +<span class="fc" id="L52">	}</span>
    +
    +}
    +</pre><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.12.202403270442</span>Code Coverage Report for JaCoCo 0.8.12-SNAPSHOT</div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/trunk/coverage/org.jacoco.core/org.jacoco.core.internal.instr/MethodInstrumenter.html b/jacoco/trunk/coverage/org.jacoco.core/org.jacoco.core.internal.instr/MethodInstrumenter.html
    new file mode 100644
    index 00000000000..6bfa3afeb18
    --- /dev/null
    +++ b/jacoco/trunk/coverage/org.jacoco.core/org.jacoco.core.internal.instr/MethodInstrumenter.html
    @@ -0,0 +1 @@
    +<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="en"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../../jacoco-resources/report.gif" type="image/gif"/><title>MethodInstrumenter</title><script type="text/javascript" src="../../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../../index.html" class="el_report">JaCoCo</a> &gt; <a href="../index.html" class="el_bundle">org.jacoco.core</a> &gt; <a href="index.html" class="el_package">org.jacoco.core.internal.instr</a> &gt; <span class="el_class">MethodInstrumenter</span></div><h1>MethodInstrumenter</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">0 of 256</td><td class="ctr2">100%</td><td class="bar">0 of 31</td><td class="ctr2">100%</td><td class="ctr1">0</td><td class="ctr2">34</td><td class="ctr1">0</td><td class="ctr2">76</td><td class="ctr1">0</td><td class="ctr2">11</td></tr></tfoot><tbody><tr><td id="a7"><a href="MethodInstrumenter.java.html#L60" class="el_method">visitJumpInsnWithProbe(int, Label, int, IFrame)</a></td><td class="bar" id="b0"><img src="../../jacoco-resources/greenbar.gif" width="120" height="10" title="42" alt="42"/></td><td class="ctr2" id="c0">100%</td><td class="bar" id="d3"><img src="../../jacoco-resources/greenbar.gif" width="14" height="10" title="2" alt="2"/></td><td class="ctr2" id="e0">100%</td><td class="ctr1" id="f0">0</td><td class="ctr2" id="g3">2</td><td class="ctr1" id="h0">0</td><td class="ctr2" id="i1">10</td><td class="ctr1" id="j0">0</td><td class="ctr2" id="k0">1</td></tr><tr><td id="a2"><a href="MethodInstrumenter.java.html#L74" class="el_method">getInverted(int)</a></td><td class="bar" id="b1"><img src="../../jacoco-resources/greenbar.gif" width="108" height="10" title="38" alt="38"/></td><td class="ctr2" id="c1">100%</td><td class="bar" id="d0"><img src="../../jacoco-resources/greenbar.gif" width="120" height="10" title="17" alt="17"/></td><td class="ctr2" id="e1">100%</td><td class="ctr1" id="f1">0</td><td class="ctr2" id="g0">17</td><td class="ctr1" id="h1">0</td><td class="ctr2" id="i0">18</td><td class="ctr1" id="j1">0</td><td class="ctr2" id="k1">1</td></tr><tr><td id="a3"><a href="MethodInstrumenter.java.html#L165" class="el_method">insertIntermediateProbe(Label, IFrame)</a></td><td class="bar" id="b2"><img src="../../jacoco-resources/greenbar.gif" width="85" height="10" title="30" alt="30"/></td><td class="ctr2" id="c2">100%</td><td class="bar" id="d1"><img src="../../jacoco-resources/greenbar.gif" width="28" height="10" title="4" alt="4"/></td><td class="ctr2" id="e2">100%</td><td class="ctr1" id="f2">0</td><td class="ctr2" id="g1">3</td><td class="ctr1" id="h2">0</td><td class="ctr2" id="i2">8</td><td class="ctr1" id="j2">0</td><td class="ctr2" id="k2">1</td></tr><tr><td id="a4"><a href="MethodInstrumenter.java.html#L177" class="el_method">insertIntermediateProbes(Label, Label[], IFrame)</a></td><td class="bar" id="b3"><img src="../../jacoco-resources/greenbar.gif" width="82" height="10" title="29" alt="29"/></td><td class="ctr2" id="c3">100%</td><td class="bar" id="d4"><img src="../../jacoco-resources/greenbar.gif" width="14" height="10" title="2" alt="2"/></td><td class="ctr2" id="e3">100%</td><td class="ctr1" id="f3">0</td><td class="ctr2" id="g4">2</td><td class="ctr1" id="h3">0</td><td class="ctr2" id="i6">6</td><td class="ctr1" id="j3">0</td><td class="ctr2" id="k3">1</td></tr><tr><td id="a10"><a href="MethodInstrumenter.java.html#L115" class="el_method">visitTableSwitchInsnWithProbes(int, int, Label, Label[], IFrame)</a></td><td class="bar" id="b4"><img src="../../jacoco-resources/greenbar.gif" width="71" height="10" title="25" alt="25"/></td><td class="ctr2" id="c4">100%</td><td class="bar" id="d6"/><td class="ctr2" id="e6">n/a</td><td class="ctr1" id="f4">0</td><td class="ctr2" id="g6">1</td><td class="ctr1" id="h4">0</td><td class="ctr2" id="i4">7</td><td class="ctr1" id="j4">0</td><td class="ctr2" id="k4">1</td></tr><tr><td id="a0"><a href="MethodInstrumenter.java.html#L149" class="el_method">createIntermediate(Label)</a></td><td class="bar" id="b5"><img src="../../jacoco-resources/greenbar.gif" width="71" height="10" title="25" alt="25"/></td><td class="ctr2" id="c5">100%</td><td class="bar" id="d2"><img src="../../jacoco-resources/greenbar.gif" width="28" height="10" title="4" alt="4"/></td><td class="ctr2" id="e4">100%</td><td class="ctr1" id="f5">0</td><td class="ctr2" id="g2">3</td><td class="ctr1" id="h5">0</td><td class="ctr2" id="i3">8</td><td class="ctr1" id="j5">0</td><td class="ctr2" id="k5">1</td></tr><tr><td id="a8"><a href="MethodInstrumenter.java.html#L129" class="el_method">visitLookupSwitchInsnWithProbes(Label, int[], Label[], IFrame)</a></td><td class="bar" id="b6"><img src="../../jacoco-resources/greenbar.gif" width="68" height="10" title="24" alt="24"/></td><td class="ctr2" id="c6">100%</td><td class="bar" id="d7"/><td class="ctr2" id="e7">n/a</td><td class="ctr1" id="f6">0</td><td class="ctr2" id="g7">1</td><td class="ctr1" id="h6">0</td><td class="ctr2" id="i5">7</td><td class="ctr1" id="j6">0</td><td class="ctr2" id="k6">1</td></tr><tr><td id="a1"><a href="MethodInstrumenter.java.html#L140" class="el_method">createIntermediates(Label[])</a></td><td class="bar" id="b7"><img src="../../jacoco-resources/greenbar.gif" width="62" height="10" title="22" alt="22"/></td><td class="ctr2" id="c7">100%</td><td class="bar" id="d5"><img src="../../jacoco-resources/greenbar.gif" width="14" height="10" title="2" alt="2"/></td><td class="ctr2" id="e5">100%</td><td class="ctr1" id="f7">0</td><td class="ctr2" id="g5">2</td><td class="ctr1" id="h7">0</td><td class="ctr2" id="i7">4</td><td class="ctr1" id="j7">0</td><td class="ctr2" id="k7">1</td></tr><tr><td id="a6"><a href="MethodInstrumenter.java.html#L53" class="el_method">visitInsnWithProbe(int, int)</a></td><td class="bar" id="b8"><img src="../../jacoco-resources/greenbar.gif" width="25" height="10" title="9" alt="9"/></td><td class="ctr2" id="c8">100%</td><td class="bar" id="d8"/><td class="ctr2" id="e8">n/a</td><td class="ctr1" id="f8">0</td><td class="ctr2" id="g8">1</td><td class="ctr1" id="h8">0</td><td class="ctr2" id="i8">3</td><td class="ctr1" id="j8">0</td><td class="ctr2" id="k8">1</td></tr><tr><td id="a5"><a href="MethodInstrumenter.java.html#L40" class="el_method">MethodInstrumenter(MethodVisitor, IProbeInserter)</a></td><td class="bar" id="b9"><img src="../../jacoco-resources/greenbar.gif" width="20" height="10" title="7" alt="7"/></td><td class="ctr2" id="c9">100%</td><td class="bar" id="d9"/><td class="ctr2" id="e9">n/a</td><td class="ctr1" id="f9">0</td><td class="ctr2" id="g9">1</td><td class="ctr1" id="h9">0</td><td class="ctr2" id="i9">3</td><td class="ctr1" id="j9">0</td><td class="ctr2" id="k9">1</td></tr><tr><td id="a9"><a href="MethodInstrumenter.java.html#L48" class="el_method">visitProbe(int)</a></td><td class="bar" id="b10"><img src="../../jacoco-resources/greenbar.gif" width="14" height="10" title="5" alt="5"/></td><td class="ctr2" id="c10">100%</td><td class="bar" id="d10"/><td class="ctr2" id="e10">n/a</td><td class="ctr1" id="f10">0</td><td class="ctr2" id="g10">1</td><td class="ctr1" id="h10">0</td><td class="ctr2" id="i10">2</td><td class="ctr1" id="j10">0</td><td class="ctr2" id="k10">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.12.202403270442</span>Code Coverage Report for JaCoCo 0.8.12-SNAPSHOT</div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/trunk/coverage/org.jacoco.core/org.jacoco.core.internal.instr/MethodInstrumenter.java.html b/jacoco/trunk/coverage/org.jacoco.core/org.jacoco.core.internal.instr/MethodInstrumenter.java.html
    new file mode 100644
    index 00000000000..9b0eb29342f
    --- /dev/null
    +++ b/jacoco/trunk/coverage/org.jacoco.core/org.jacoco.core.internal.instr/MethodInstrumenter.java.html
    @@ -0,0 +1,186 @@
    +<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="en"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../../jacoco-resources/report.gif" type="image/gif"/><title>MethodInstrumenter.java</title><link rel="stylesheet" href="../../jacoco-resources/prettify.css" type="text/css"/><script type="text/javascript" src="../../jacoco-resources/prettify.js"></script></head><body onload="window['PR_TAB_WIDTH']=4;prettyPrint()"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../../index.html" class="el_report">JaCoCo</a> &gt; <a href="../index.html" class="el_bundle">org.jacoco.core</a> &gt; <a href="index.source.html" class="el_package">org.jacoco.core.internal.instr</a> &gt; <span class="el_source">MethodInstrumenter.java</span></div><h1>MethodInstrumenter.java</h1><pre class="source lang-java linenums">/*******************************************************************************
    + * Copyright (c) 2009, 2024 Mountainminds GmbH &amp; Co. KG and Contributors
    + * This program and the accompanying materials are made available under
    + * the terms of the Eclipse Public License 2.0 which is available at
    + * http://www.eclipse.org/legal/epl-2.0
    + *
    + * SPDX-License-Identifier: EPL-2.0
    + *
    + * Contributors:
    + *    Marc R. Hoffmann - initial API and implementation
    + *
    + *******************************************************************************/
    +package org.jacoco.core.internal.instr;
    +
    +import org.jacoco.core.internal.flow.IFrame;
    +import org.jacoco.core.internal.flow.LabelInfo;
    +import org.jacoco.core.internal.flow.MethodProbesVisitor;
    +import org.objectweb.asm.Label;
    +import org.objectweb.asm.MethodVisitor;
    +import org.objectweb.asm.Opcodes;
    +
    +/**
    + * This method adapter inserts probes as requested by the
    + * {@link MethodProbesVisitor} events.
    + */
    +class MethodInstrumenter extends MethodProbesVisitor {
    +
    +	private final IProbeInserter probeInserter;
    +
    +	/**
    +	 * Create a new instrumenter instance for the given method.
    +	 *
    +	 * @param mv
    +	 *            next method visitor in the chain
    +	 * @param probeInserter
    +	 *            call-back to insert probes where required
    +	 */
    +	public MethodInstrumenter(final MethodVisitor mv,
    +			final IProbeInserter probeInserter) {
    +<span class="fc" id="L40">		super(mv);</span>
    +<span class="fc" id="L41">		this.probeInserter = probeInserter;</span>
    +<span class="fc" id="L42">	}</span>
    +
    +	// === IMethodProbesVisitor ===
    +
    +	@Override
    +	public void visitProbe(final int probeId) {
    +<span class="fc" id="L48">		probeInserter.insertProbe(probeId);</span>
    +<span class="fc" id="L49">	}</span>
    +
    +	@Override
    +	public void visitInsnWithProbe(final int opcode, final int probeId) {
    +<span class="fc" id="L53">		probeInserter.insertProbe(probeId);</span>
    +<span class="fc" id="L54">		mv.visitInsn(opcode);</span>
    +<span class="fc" id="L55">	}</span>
    +
    +	@Override
    +	public void visitJumpInsnWithProbe(final int opcode, final Label label,
    +			final int probeId, final IFrame frame) {
    +<span class="fc bfc" id="L60" title="All 2 branches covered.">		if (opcode == Opcodes.GOTO) {</span>
    +<span class="fc" id="L61">			probeInserter.insertProbe(probeId);</span>
    +<span class="fc" id="L62">			mv.visitJumpInsn(Opcodes.GOTO, label);</span>
    +		} else {
    +<span class="fc" id="L64">			final Label intermediate = new Label();</span>
    +<span class="fc" id="L65">			mv.visitJumpInsn(getInverted(opcode), intermediate);</span>
    +<span class="fc" id="L66">			probeInserter.insertProbe(probeId);</span>
    +<span class="fc" id="L67">			mv.visitJumpInsn(Opcodes.GOTO, label);</span>
    +<span class="fc" id="L68">			mv.visitLabel(intermediate);</span>
    +<span class="fc" id="L69">			frame.accept(mv);</span>
    +		}
    +<span class="fc" id="L71">	}</span>
    +
    +	private int getInverted(final int opcode) {
    +<span class="fc bfc" id="L74" title="All 17 branches covered.">		switch (opcode) {</span>
    +		case Opcodes.IFEQ:
    +<span class="fc" id="L76">			return Opcodes.IFNE;</span>
    +		case Opcodes.IFNE:
    +<span class="fc" id="L78">			return Opcodes.IFEQ;</span>
    +		case Opcodes.IFLT:
    +<span class="fc" id="L80">			return Opcodes.IFGE;</span>
    +		case Opcodes.IFGE:
    +<span class="fc" id="L82">			return Opcodes.IFLT;</span>
    +		case Opcodes.IFGT:
    +<span class="fc" id="L84">			return Opcodes.IFLE;</span>
    +		case Opcodes.IFLE:
    +<span class="fc" id="L86">			return Opcodes.IFGT;</span>
    +		case Opcodes.IF_ICMPEQ:
    +<span class="fc" id="L88">			return Opcodes.IF_ICMPNE;</span>
    +		case Opcodes.IF_ICMPNE:
    +<span class="fc" id="L90">			return Opcodes.IF_ICMPEQ;</span>
    +		case Opcodes.IF_ICMPLT:
    +<span class="fc" id="L92">			return Opcodes.IF_ICMPGE;</span>
    +		case Opcodes.IF_ICMPGE:
    +<span class="fc" id="L94">			return Opcodes.IF_ICMPLT;</span>
    +		case Opcodes.IF_ICMPGT:
    +<span class="fc" id="L96">			return Opcodes.IF_ICMPLE;</span>
    +		case Opcodes.IF_ICMPLE:
    +<span class="fc" id="L98">			return Opcodes.IF_ICMPGT;</span>
    +		case Opcodes.IF_ACMPEQ:
    +<span class="fc" id="L100">			return Opcodes.IF_ACMPNE;</span>
    +		case Opcodes.IF_ACMPNE:
    +<span class="fc" id="L102">			return Opcodes.IF_ACMPEQ;</span>
    +		case Opcodes.IFNULL:
    +<span class="fc" id="L104">			return Opcodes.IFNONNULL;</span>
    +		case Opcodes.IFNONNULL:
    +<span class="fc" id="L106">			return Opcodes.IFNULL;</span>
    +		}
    +<span class="fc" id="L108">		throw new IllegalArgumentException();</span>
    +	}
    +
    +	@Override
    +	public void visitTableSwitchInsnWithProbes(final int min, final int max,
    +			final Label dflt, final Label[] labels, final IFrame frame) {
    +		// 1. Calculate intermediate labels:
    +<span class="fc" id="L115">		LabelInfo.resetDone(dflt);</span>
    +<span class="fc" id="L116">		LabelInfo.resetDone(labels);</span>
    +<span class="fc" id="L117">		final Label newDflt = createIntermediate(dflt);</span>
    +<span class="fc" id="L118">		final Label[] newLabels = createIntermediates(labels);</span>
    +<span class="fc" id="L119">		mv.visitTableSwitchInsn(min, max, newDflt, newLabels);</span>
    +
    +		// 2. Insert probes:
    +<span class="fc" id="L122">		insertIntermediateProbes(dflt, labels, frame);</span>
    +<span class="fc" id="L123">	}</span>
    +
    +	@Override
    +	public void visitLookupSwitchInsnWithProbes(final Label dflt,
    +			final int[] keys, final Label[] labels, final IFrame frame) {
    +		// 1. Calculate intermediate labels:
    +<span class="fc" id="L129">		LabelInfo.resetDone(dflt);</span>
    +<span class="fc" id="L130">		LabelInfo.resetDone(labels);</span>
    +<span class="fc" id="L131">		final Label newDflt = createIntermediate(dflt);</span>
    +<span class="fc" id="L132">		final Label[] newLabels = createIntermediates(labels);</span>
    +<span class="fc" id="L133">		mv.visitLookupSwitchInsn(newDflt, keys, newLabels);</span>
    +
    +		// 2. Insert probes:
    +<span class="fc" id="L136">		insertIntermediateProbes(dflt, labels, frame);</span>
    +<span class="fc" id="L137">	}</span>
    +
    +	private Label[] createIntermediates(final Label[] labels) {
    +<span class="fc" id="L140">		final Label[] intermediates = new Label[labels.length];</span>
    +<span class="fc bfc" id="L141" title="All 2 branches covered.">		for (int i = 0; i &lt; labels.length; i++) {</span>
    +<span class="fc" id="L142">			intermediates[i] = createIntermediate(labels[i]);</span>
    +		}
    +<span class="fc" id="L144">		return intermediates;</span>
    +	}
    +
    +	private Label createIntermediate(final Label label) {
    +		final Label intermediate;
    +<span class="fc bfc" id="L149" title="All 2 branches covered.">		if (LabelInfo.getProbeId(label) == LabelInfo.NO_PROBE) {</span>
    +<span class="fc" id="L150">			intermediate = label;</span>
    +		} else {
    +<span class="fc bfc" id="L152" title="All 2 branches covered.">			if (LabelInfo.isDone(label)) {</span>
    +<span class="fc" id="L153">				intermediate = LabelInfo.getIntermediateLabel(label);</span>
    +			} else {
    +<span class="fc" id="L155">				intermediate = new Label();</span>
    +<span class="fc" id="L156">				LabelInfo.setIntermediateLabel(label, intermediate);</span>
    +<span class="fc" id="L157">				LabelInfo.setDone(label);</span>
    +			}
    +		}
    +<span class="fc" id="L160">		return intermediate;</span>
    +	}
    +
    +	private void insertIntermediateProbe(final Label label,
    +			final IFrame frame) {
    +<span class="fc" id="L165">		final int probeId = LabelInfo.getProbeId(label);</span>
    +<span class="fc bfc" id="L166" title="All 4 branches covered.">		if (probeId != LabelInfo.NO_PROBE &amp;&amp; !LabelInfo.isDone(label)) {</span>
    +<span class="fc" id="L167">			mv.visitLabel(LabelInfo.getIntermediateLabel(label));</span>
    +<span class="fc" id="L168">			frame.accept(mv);</span>
    +<span class="fc" id="L169">			probeInserter.insertProbe(probeId);</span>
    +<span class="fc" id="L170">			mv.visitJumpInsn(Opcodes.GOTO, label);</span>
    +<span class="fc" id="L171">			LabelInfo.setDone(label);</span>
    +		}
    +<span class="fc" id="L173">	}</span>
    +
    +	private void insertIntermediateProbes(final Label dflt,
    +			final Label[] labels, final IFrame frame) {
    +<span class="fc" id="L177">		LabelInfo.resetDone(dflt);</span>
    +<span class="fc" id="L178">		LabelInfo.resetDone(labels);</span>
    +<span class="fc" id="L179">		insertIntermediateProbe(dflt, frame);</span>
    +<span class="fc bfc" id="L180" title="All 2 branches covered.">		for (final Label l : labels) {</span>
    +<span class="fc" id="L181">			insertIntermediateProbe(l, frame);</span>
    +		}
    +<span class="fc" id="L183">	}</span>
    +
    +}
    +</pre><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.12.202403270442</span>Code Coverage Report for JaCoCo 0.8.12-SNAPSHOT</div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/trunk/coverage/org.jacoco.core/org.jacoco.core.internal.instr/NoneProbeArrayStrategy.html b/jacoco/trunk/coverage/org.jacoco.core/org.jacoco.core.internal.instr/NoneProbeArrayStrategy.html
    new file mode 100644
    index 00000000000..563cd10b83a
    --- /dev/null
    +++ b/jacoco/trunk/coverage/org.jacoco.core/org.jacoco.core.internal.instr/NoneProbeArrayStrategy.html
    @@ -0,0 +1 @@
    +<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="en"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../../jacoco-resources/report.gif" type="image/gif"/><title>NoneProbeArrayStrategy</title><script type="text/javascript" src="../../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../../index.html" class="el_report">JaCoCo</a> &gt; <a href="../index.html" class="el_bundle">org.jacoco.core</a> &gt; <a href="index.html" class="el_package">org.jacoco.core.internal.instr</a> &gt; <span class="el_class">NoneProbeArrayStrategy</span></div><h1>NoneProbeArrayStrategy</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">0 of 8</td><td class="ctr2">100%</td><td class="bar">0 of 0</td><td class="ctr2">n/a</td><td class="ctr1">0</td><td class="ctr2">3</td><td class="ctr1">0</td><td class="ctr2">3</td><td class="ctr1">0</td><td class="ctr2">3</td></tr></tfoot><tbody><tr><td id="a2"><a href="NoneProbeArrayStrategy.java.html#L26" class="el_method">storeInstance(MethodVisitor, boolean, int)</a></td><td class="bar" id="b0"><img src="../../jacoco-resources/greenbar.gif" width="120" height="10" title="4" alt="4"/></td><td class="ctr2" id="c0">100%</td><td class="bar" id="d0"/><td class="ctr2" id="e0">n/a</td><td class="ctr1" id="f0">0</td><td class="ctr2" id="g0">1</td><td class="ctr1" id="h0">0</td><td class="ctr2" id="i0">1</td><td class="ctr1" id="j0">0</td><td class="ctr2" id="k0">1</td></tr><tr><td id="a1"><a href="NoneProbeArrayStrategy.java.html#L22" class="el_method">NoneProbeArrayStrategy()</a></td><td class="bar" id="b1"><img src="../../jacoco-resources/greenbar.gif" width="90" height="10" title="3" alt="3"/></td><td class="ctr2" id="c1">100%</td><td class="bar" id="d1"/><td class="ctr2" id="e1">n/a</td><td class="ctr1" id="f1">0</td><td class="ctr2" id="g1">1</td><td class="ctr1" id="h1">0</td><td class="ctr2" id="i1">1</td><td class="ctr1" id="j1">0</td><td class="ctr2" id="k1">1</td></tr><tr><td id="a0"><a href="NoneProbeArrayStrategy.java.html#L31" class="el_method">addMembers(ClassVisitor, int)</a></td><td class="bar" id="b2"><img src="../../jacoco-resources/greenbar.gif" width="30" height="10" title="1" alt="1"/></td><td class="ctr2" id="c2">100%</td><td class="bar" id="d2"/><td class="ctr2" id="e2">n/a</td><td class="ctr1" id="f2">0</td><td class="ctr2" id="g2">1</td><td class="ctr1" id="h2">0</td><td class="ctr2" id="i2">1</td><td class="ctr1" id="j2">0</td><td class="ctr2" id="k2">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.12.202403270442</span>Code Coverage Report for JaCoCo 0.8.12-SNAPSHOT</div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/trunk/coverage/org.jacoco.core/org.jacoco.core.internal.instr/NoneProbeArrayStrategy.java.html b/jacoco/trunk/coverage/org.jacoco.core/org.jacoco.core.internal.instr/NoneProbeArrayStrategy.java.html
    new file mode 100644
    index 00000000000..db480291bad
    --- /dev/null
    +++ b/jacoco/trunk/coverage/org.jacoco.core/org.jacoco.core.internal.instr/NoneProbeArrayStrategy.java.html
    @@ -0,0 +1,34 @@
    +<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="en"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../../jacoco-resources/report.gif" type="image/gif"/><title>NoneProbeArrayStrategy.java</title><link rel="stylesheet" href="../../jacoco-resources/prettify.css" type="text/css"/><script type="text/javascript" src="../../jacoco-resources/prettify.js"></script></head><body onload="window['PR_TAB_WIDTH']=4;prettyPrint()"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../../index.html" class="el_report">JaCoCo</a> &gt; <a href="../index.html" class="el_bundle">org.jacoco.core</a> &gt; <a href="index.source.html" class="el_package">org.jacoco.core.internal.instr</a> &gt; <span class="el_source">NoneProbeArrayStrategy.java</span></div><h1>NoneProbeArrayStrategy.java</h1><pre class="source lang-java linenums">/*******************************************************************************
    + * Copyright (c) 2009, 2024 Mountainminds GmbH &amp; Co. KG and Contributors
    + * This program and the accompanying materials are made available under
    + * the terms of the Eclipse Public License 2.0 which is available at
    + * http://www.eclipse.org/legal/epl-2.0
    + *
    + * SPDX-License-Identifier: EPL-2.0
    + *
    + * Contributors:
    + *    Marc R. Hoffmann - initial API and implementation
    + *
    + *******************************************************************************/
    +package org.jacoco.core.internal.instr;
    +
    +import org.objectweb.asm.ClassVisitor;
    +import org.objectweb.asm.MethodVisitor;
    +
    +/**
    + * The strategy does not emit any code at all. This is used for interface types
    + * without any code.
    + */
    +<span class="fc" id="L22">class NoneProbeArrayStrategy implements IProbeArrayStrategy {</span>
    +
    +	public int storeInstance(final MethodVisitor mv, final boolean clinit,
    +			final int variable) {
    +<span class="fc" id="L26">		throw new UnsupportedOperationException();</span>
    +	}
    +
    +	public void addMembers(final ClassVisitor delegate, final int probeCount) {
    +		// nothing to do
    +<span class="fc" id="L31">	}</span>
    +
    +}
    +</pre><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.12.202403270442</span>Code Coverage Report for JaCoCo 0.8.12-SNAPSHOT</div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/trunk/coverage/org.jacoco.core/org.jacoco.core.internal.instr/ProbeArrayStrategyFactory.html b/jacoco/trunk/coverage/org.jacoco.core/org.jacoco.core.internal.instr/ProbeArrayStrategyFactory.html
    new file mode 100644
    index 00000000000..5fc0efefe28
    --- /dev/null
    +++ b/jacoco/trunk/coverage/org.jacoco.core/org.jacoco.core.internal.instr/ProbeArrayStrategyFactory.html
    @@ -0,0 +1 @@
    +<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="en"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../../jacoco-resources/report.gif" type="image/gif"/><title>ProbeArrayStrategyFactory</title><script type="text/javascript" src="../../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../../index.html" class="el_report">JaCoCo</a> &gt; <a href="../index.html" class="el_bundle">org.jacoco.core</a> &gt; <a href="index.html" class="el_package">org.jacoco.core.internal.instr</a> &gt; <span class="el_class">ProbeArrayStrategyFactory</span></div><h1>ProbeArrayStrategyFactory</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">0 of 100</td><td class="ctr2">100%</td><td class="bar">0 of 16</td><td class="ctr2">100%</td><td class="ctr1">0</td><td class="ctr2">11</td><td class="ctr1">0</td><td class="ctr2">18</td><td class="ctr1">0</td><td class="ctr2">3</td></tr></tfoot><tbody><tr><td id="a0"><a href="ProbeArrayStrategyFactory.java.html#L46" class="el_method">createFor(long, ClassReader, IExecutionDataAccessorGenerator)</a></td><td class="bar" id="b0"><img src="../../jacoco-resources/greenbar.gif" width="120" height="10" title="77" alt="77"/></td><td class="ctr2" id="c0">100%</td><td class="bar" id="d0"><img src="../../jacoco-resources/greenbar.gif" width="120" height="10" title="14" alt="14"/></td><td class="ctr2" id="e0">100%</td><td class="ctr1" id="f0">0</td><td class="ctr2" id="g0">8</td><td class="ctr1" id="h0">0</td><td class="ctr2" id="i0">14</td><td class="ctr1" id="j0">0</td><td class="ctr2" id="k0">1</td></tr><tr><td id="a1"><a href="ProbeArrayStrategyFactory.java.html#L81" class="el_method">getProbeCounter(ClassReader)</a></td><td class="bar" id="b1"><img src="../../jacoco-resources/greenbar.gif" width="21" height="10" title="14" alt="14"/></td><td class="ctr2" id="c1">100%</td><td class="bar" id="d2"/><td class="ctr2" id="e2">n/a</td><td class="ctr1" id="f1">0</td><td class="ctr2" id="g2">1</td><td class="ctr1" id="h1">0</td><td class="ctr2" id="i1">3</td><td class="ctr1" id="j1">0</td><td class="ctr2" id="k1">1</td></tr><tr><td id="a2"><a href="ProbeArrayStrategyFactory.java.html#L76" class="el_method">isInterfaceOrModule(ClassReader)</a></td><td class="bar" id="b2"><img src="../../jacoco-resources/greenbar.gif" width="14" height="10" title="9" alt="9"/></td><td class="ctr2" id="c2">100%</td><td class="bar" id="d1"><img src="../../jacoco-resources/greenbar.gif" width="17" height="10" title="2" alt="2"/></td><td class="ctr2" id="e1">100%</td><td class="ctr1" id="f2">0</td><td class="ctr2" id="g1">2</td><td class="ctr1" id="h2">0</td><td class="ctr2" id="i2">1</td><td class="ctr1" id="j2">0</td><td class="ctr2" id="k2">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.12.202403270442</span>Code Coverage Report for JaCoCo 0.8.12-SNAPSHOT</div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/trunk/coverage/org.jacoco.core/org.jacoco.core.internal.instr/ProbeArrayStrategyFactory.java.html b/jacoco/trunk/coverage/org.jacoco.core/org.jacoco.core.internal.instr/ProbeArrayStrategyFactory.java.html
    new file mode 100644
    index 00000000000..0960521acf2
    --- /dev/null
    +++ b/jacoco/trunk/coverage/org.jacoco.core/org.jacoco.core.internal.instr/ProbeArrayStrategyFactory.java.html
    @@ -0,0 +1,87 @@
    +<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="en"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../../jacoco-resources/report.gif" type="image/gif"/><title>ProbeArrayStrategyFactory.java</title><link rel="stylesheet" href="../../jacoco-resources/prettify.css" type="text/css"/><script type="text/javascript" src="../../jacoco-resources/prettify.js"></script></head><body onload="window['PR_TAB_WIDTH']=4;prettyPrint()"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../../index.html" class="el_report">JaCoCo</a> &gt; <a href="../index.html" class="el_bundle">org.jacoco.core</a> &gt; <a href="index.source.html" class="el_package">org.jacoco.core.internal.instr</a> &gt; <span class="el_source">ProbeArrayStrategyFactory.java</span></div><h1>ProbeArrayStrategyFactory.java</h1><pre class="source lang-java linenums">/*******************************************************************************
    + * Copyright (c) 2009, 2024 Mountainminds GmbH &amp; Co. KG and Contributors
    + * This program and the accompanying materials are made available under
    + * the terms of the Eclipse Public License 2.0 which is available at
    + * http://www.eclipse.org/legal/epl-2.0
    + *
    + * SPDX-License-Identifier: EPL-2.0
    + *
    + * Contributors:
    + *    Marc R. Hoffmann - initial API and implementation
    + *
    + *******************************************************************************/
    +package org.jacoco.core.internal.instr;
    +
    +import org.jacoco.core.internal.flow.ClassProbesAdapter;
    +import org.jacoco.core.runtime.IExecutionDataAccessorGenerator;
    +import org.objectweb.asm.ClassReader;
    +import org.objectweb.asm.Opcodes;
    +
    +/**
    + * Factory to find a suitable strategy to access the probe array for a given
    + * class.
    + */
    +public final class ProbeArrayStrategyFactory {
    +
    +	private ProbeArrayStrategyFactory() {
    +	}
    +
    +	/**
    +	 * Creates a suitable strategy instance for the class described by the given
    +	 * reader. Created instance must be used only to process a class or
    +	 * interface for which it has been created and must be used only once.
    +	 *
    +	 * @param classId
    +	 *            class identifier
    +	 * @param reader
    +	 *            reader to get information about the class
    +	 * @param accessorGenerator
    +	 *            accessor to the coverage runtime
    +	 * @return strategy instance
    +	 */
    +	public static IProbeArrayStrategy createFor(final long classId,
    +			final ClassReader reader,
    +			final IExecutionDataAccessorGenerator accessorGenerator) {
    +
    +<span class="fc" id="L46">		final String className = reader.getClassName();</span>
    +<span class="fc" id="L47">		final int version = InstrSupport.getMajorVersion(reader);</span>
    +
    +<span class="fc bfc" id="L49" title="All 2 branches covered.">		if (isInterfaceOrModule(reader)) {</span>
    +<span class="fc" id="L50">			final ProbeCounter counter = getProbeCounter(reader);</span>
    +<span class="fc bfc" id="L51" title="All 2 branches covered.">			if (counter.getCount() == 0) {</span>
    +<span class="fc" id="L52">				return new NoneProbeArrayStrategy();</span>
    +			}
    +<span class="fc bfc" id="L54" title="All 4 branches covered.">			if (version &gt;= Opcodes.V11 &amp;&amp; counter.hasMethods()) {</span>
    +<span class="fc" id="L55">				return new CondyProbeArrayStrategy(className, true, classId,</span>
    +						accessorGenerator);
    +			}
    +<span class="fc bfc" id="L58" title="All 4 branches covered.">			if (version &gt;= Opcodes.V1_8 &amp;&amp; counter.hasMethods()) {</span>
    +<span class="fc" id="L59">				return new InterfaceFieldProbeArrayStrategy(className, classId,</span>
    +						counter.getCount(), accessorGenerator);
    +			} else {
    +<span class="fc" id="L62">				return new LocalProbeArrayStrategy(className, classId,</span>
    +						counter.getCount(), accessorGenerator);
    +			}
    +		} else {
    +<span class="fc bfc" id="L66" title="All 2 branches covered.">			if (version &gt;= Opcodes.V11) {</span>
    +<span class="fc" id="L67">				return new CondyProbeArrayStrategy(className, false, classId,</span>
    +						accessorGenerator);
    +			}
    +<span class="fc" id="L70">			return new ClassFieldProbeArrayStrategy(className, classId,</span>
    +					InstrSupport.needsFrames(version), accessorGenerator);
    +		}
    +	}
    +
    +	private static boolean isInterfaceOrModule(final ClassReader reader) {
    +<span class="fc bfc" id="L76" title="All 2 branches covered.">		return (reader.getAccess()</span>
    +				&amp; (Opcodes.ACC_INTERFACE | Opcodes.ACC_MODULE)) != 0;
    +	}
    +
    +	private static ProbeCounter getProbeCounter(final ClassReader reader) {
    +<span class="fc" id="L81">		final ProbeCounter counter = new ProbeCounter();</span>
    +<span class="fc" id="L82">		reader.accept(new ClassProbesAdapter(counter, false), 0);</span>
    +<span class="fc" id="L83">		return counter;</span>
    +	}
    +
    +}
    +</pre><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.12.202403270442</span>Code Coverage Report for JaCoCo 0.8.12-SNAPSHOT</div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/trunk/coverage/org.jacoco.core/org.jacoco.core.internal.instr/ProbeCounter.html b/jacoco/trunk/coverage/org.jacoco.core/org.jacoco.core.internal.instr/ProbeCounter.html
    new file mode 100644
    index 00000000000..24380b5eab5
    --- /dev/null
    +++ b/jacoco/trunk/coverage/org.jacoco.core/org.jacoco.core.internal.instr/ProbeCounter.html
    @@ -0,0 +1 @@
    +<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="en"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../../jacoco-resources/report.gif" type="image/gif"/><title>ProbeCounter</title><script type="text/javascript" src="../../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../../index.html" class="el_report">JaCoCo</a> &gt; <a href="../index.html" class="el_bundle">org.jacoco.core</a> &gt; <a href="index.html" class="el_package">org.jacoco.core.internal.instr</a> &gt; <span class="el_class">ProbeCounter</span></div><h1>ProbeCounter</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">0 of 32</td><td class="ctr2">100%</td><td class="bar">0 of 4</td><td class="ctr2">100%</td><td class="ctr1">0</td><td class="ctr2">7</td><td class="ctr1">0</td><td class="ctr2">11</td><td class="ctr1">0</td><td class="ctr2">5</td></tr></tfoot><tbody><tr><td id="a3"><a href="ProbeCounter.java.html#L36" class="el_method">visitMethod(int, String, String, String, String[])</a></td><td class="bar" id="b0"><img src="../../jacoco-resources/greenbar.gif" width="120" height="10" title="13" alt="13"/></td><td class="ctr2" id="c0">100%</td><td class="bar" id="d0"><img src="../../jacoco-resources/greenbar.gif" width="120" height="10" title="4" alt="4"/></td><td class="ctr2" id="e0">100%</td><td class="ctr1" id="f0">0</td><td class="ctr2" id="g0">3</td><td class="ctr1" id="h0">0</td><td class="ctr2" id="i1">3</td><td class="ctr1" id="j0">0</td><td class="ctr2" id="k0">1</td></tr><tr><td id="a2"><a href="ProbeCounter.java.html#L27" class="el_method">ProbeCounter()</a></td><td class="bar" id="b1"><img src="../../jacoco-resources/greenbar.gif" width="83" height="10" title="9" alt="9"/></td><td class="ctr2" id="c1">100%</td><td class="bar" id="d1"/><td class="ctr2" id="e1">n/a</td><td class="ctr1" id="f1">0</td><td class="ctr2" id="g1">1</td><td class="ctr1" id="h1">0</td><td class="ctr2" id="i0">4</td><td class="ctr1" id="j1">0</td><td class="ctr2" id="k1">1</td></tr><tr><td id="a4"><a href="ProbeCounter.java.html#L45" class="el_method">visitTotalProbeCount(int)</a></td><td class="bar" id="b2"><img src="../../jacoco-resources/greenbar.gif" width="36" height="10" title="4" alt="4"/></td><td class="ctr2" id="c2">100%</td><td class="bar" id="d2"/><td class="ctr2" id="e2">n/a</td><td class="ctr1" id="f2">0</td><td class="ctr2" id="g2">1</td><td class="ctr1" id="h2">0</td><td class="ctr2" id="i2">2</td><td class="ctr1" id="j2">0</td><td class="ctr2" id="k2">1</td></tr><tr><td id="a0"><a href="ProbeCounter.java.html#L49" class="el_method">getCount()</a></td><td class="bar" id="b3"><img src="../../jacoco-resources/greenbar.gif" width="27" height="10" title="3" alt="3"/></td><td class="ctr2" id="c3">100%</td><td class="bar" id="d3"/><td class="ctr2" id="e3">n/a</td><td class="ctr1" id="f3">0</td><td class="ctr2" id="g3">1</td><td class="ctr1" id="h3">0</td><td class="ctr2" id="i3">1</td><td class="ctr1" id="j3">0</td><td class="ctr2" id="k3">1</td></tr><tr><td id="a1"><a href="ProbeCounter.java.html#L57" class="el_method">hasMethods()</a></td><td class="bar" id="b4"><img src="../../jacoco-resources/greenbar.gif" width="27" height="10" title="3" alt="3"/></td><td class="ctr2" id="c4">100%</td><td class="bar" id="d4"/><td class="ctr2" id="e4">n/a</td><td class="ctr1" id="f4">0</td><td class="ctr2" id="g4">1</td><td class="ctr1" id="h4">0</td><td class="ctr2" id="i4">1</td><td class="ctr1" id="j4">0</td><td class="ctr2" id="k4">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.12.202403270442</span>Code Coverage Report for JaCoCo 0.8.12-SNAPSHOT</div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/trunk/coverage/org.jacoco.core/org.jacoco.core.internal.instr/ProbeCounter.java.html b/jacoco/trunk/coverage/org.jacoco.core/org.jacoco.core.internal.instr/ProbeCounter.java.html
    new file mode 100644
    index 00000000000..484c93f7f32
    --- /dev/null
    +++ b/jacoco/trunk/coverage/org.jacoco.core/org.jacoco.core.internal.instr/ProbeCounter.java.html
    @@ -0,0 +1,61 @@
    +<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="en"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../../jacoco-resources/report.gif" type="image/gif"/><title>ProbeCounter.java</title><link rel="stylesheet" href="../../jacoco-resources/prettify.css" type="text/css"/><script type="text/javascript" src="../../jacoco-resources/prettify.js"></script></head><body onload="window['PR_TAB_WIDTH']=4;prettyPrint()"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../../index.html" class="el_report">JaCoCo</a> &gt; <a href="../index.html" class="el_bundle">org.jacoco.core</a> &gt; <a href="index.source.html" class="el_package">org.jacoco.core.internal.instr</a> &gt; <span class="el_source">ProbeCounter.java</span></div><h1>ProbeCounter.java</h1><pre class="source lang-java linenums">/*******************************************************************************
    + * Copyright (c) 2009, 2024 Mountainminds GmbH &amp; Co. KG and Contributors
    + * This program and the accompanying materials are made available under
    + * the terms of the Eclipse Public License 2.0 which is available at
    + * http://www.eclipse.org/legal/epl-2.0
    + *
    + * SPDX-License-Identifier: EPL-2.0
    + *
    + * Contributors:
    + *    Marc R. Hoffmann - initial API and implementation
    + *
    + *******************************************************************************/
    +package org.jacoco.core.internal.instr;
    +
    +import org.jacoco.core.internal.flow.ClassProbesVisitor;
    +import org.jacoco.core.internal.flow.MethodProbesVisitor;
    +import org.objectweb.asm.Opcodes;
    +
    +/**
    + * Internal class to remember the total number of probes required for a class.
    + */
    +class ProbeCounter extends ClassProbesVisitor {
    +
    +	private int count;
    +	private boolean methods;
    +
    +<span class="fc" id="L27">	ProbeCounter() {</span>
    +<span class="fc" id="L28">		count = 0;</span>
    +<span class="fc" id="L29">		methods = false;</span>
    +<span class="fc" id="L30">	}</span>
    +
    +	@Override
    +	public MethodProbesVisitor visitMethod(final int access, final String name,
    +			final String desc, final String signature,
    +			final String[] exceptions) {
    +<span class="fc bfc" id="L36" title="All 4 branches covered.">		if (!InstrSupport.CLINIT_NAME.equals(name)</span>
    +				&amp;&amp; (access &amp; Opcodes.ACC_ABSTRACT) == 0) {
    +<span class="fc" id="L38">			methods = true;</span>
    +		}
    +<span class="fc" id="L40">		return null;</span>
    +	}
    +
    +	@Override
    +	public void visitTotalProbeCount(final int count) {
    +<span class="fc" id="L45">		this.count = count;</span>
    +<span class="fc" id="L46">	}</span>
    +
    +	int getCount() {
    +<span class="fc" id="L49">		return count;</span>
    +	}
    +
    +	/**
    +	 * @return &lt;code&gt;true&lt;/code&gt; if the class has non-abstract methods other
    +	 *         than a static initializer
    +	 */
    +	boolean hasMethods() {
    +<span class="fc" id="L57">		return methods;</span>
    +	}
    +
    +}
    +</pre><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.12.202403270442</span>Code Coverage Report for JaCoCo 0.8.12-SNAPSHOT</div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/trunk/coverage/org.jacoco.core/org.jacoco.core.internal.instr/ProbeInserter.html b/jacoco/trunk/coverage/org.jacoco.core/org.jacoco.core.internal.instr/ProbeInserter.html
    new file mode 100644
    index 00000000000..b3b476f9036
    --- /dev/null
    +++ b/jacoco/trunk/coverage/org.jacoco.core/org.jacoco.core.internal.instr/ProbeInserter.html
    @@ -0,0 +1 @@
    +<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="en"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../../jacoco-resources/report.gif" type="image/gif"/><title>ProbeInserter</title><script type="text/javascript" src="../../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../../index.html" class="el_report">JaCoCo</a> &gt; <a href="../index.html" class="el_bundle">org.jacoco.core</a> &gt; <a href="index.html" class="el_package">org.jacoco.core.internal.instr</a> &gt; <span class="el_class">ProbeInserter</span></div><h1>ProbeInserter</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">0 of 306</td><td class="ctr2">100%</td><td class="bar">0 of 30</td><td class="ctr2">100%</td><td class="ctr1">0</td><td class="ctr2">25</td><td class="ctr1">0</td><td class="ctr2">58</td><td class="ctr1">0</td><td class="ctr2">10</td></tr></tfoot><tbody><tr><td id="a4"><a href="ProbeInserter.java.html#L169" class="el_method">visitFrame(int, int, Object[], int, Object[])</a></td><td class="bar" id="b0"><img src="../../jacoco-resources/greenbar.gif" width="120" height="10" title="111" alt="111"/></td><td class="ctr2" id="c0">100%</td><td class="bar" id="d0"><img src="../../jacoco-resources/greenbar.gif" width="120" height="10" title="20" alt="20"/></td><td class="ctr2" id="e0">100%</td><td class="ctr1" id="f0">0</td><td class="ctr2" id="g0">11</td><td class="ctr1" id="h0">0</td><td class="ctr2" id="i0">22</td><td class="ctr1" id="j0">0</td><td class="ctr2" id="k0">1</td></tr><tr><td id="a2"><a href="ProbeInserter.java.html#L70" class="el_method">ProbeInserter(int, String, String, MethodVisitor, IProbeArrayStrategy)</a></td><td class="bar" id="b1"><img src="../../jacoco-resources/greenbar.gif" width="57" height="10" title="53" alt="53"/></td><td class="ctr2" id="c1">100%</td><td class="bar" id="d1"><img src="../../jacoco-resources/greenbar.gif" width="24" height="10" title="4" alt="4"/></td><td class="ctr2" id="e1">100%</td><td class="ctr1" id="f1">0</td><td class="ctr2" id="g1">3</td><td class="ctr1" id="h1">0</td><td class="ctr2" id="i1">9</td><td class="ctr1" id="j1">0</td><td class="ctr2" id="k1">1</td></tr><tr><td id="a7"><a href="ProbeInserter.java.html#L139" class="el_method">visitLocalVariableAnnotation(int, TypePath, Label[], Label[], int[], String, boolean)</a></td><td class="bar" id="b2"><img src="../../jacoco-resources/greenbar.gif" width="33" height="10" title="31" alt="31"/></td><td class="ctr2" id="c2">100%</td><td class="bar" id="d2"><img src="../../jacoco-resources/greenbar.gif" width="12" height="10" title="2" alt="2"/></td><td class="ctr2" id="e2">100%</td><td class="ctr1" id="f2">0</td><td class="ctr2" id="g2">2</td><td class="ctr1" id="h2">0</td><td class="ctr2" id="i3">4</td><td class="ctr1" id="j2">0</td><td class="ctr2" id="k2">1</td></tr><tr><td id="a6"><a href="ProbeInserter.java.html#L125" class="el_method">visitLocalVariable(String, String, String, Label, Label, int)</a></td><td class="bar" id="b3"><img src="../../jacoco-resources/greenbar.gif" width="31" height="10" title="29" alt="29"/></td><td class="ctr2" id="c3">100%</td><td class="bar" id="d3"><img src="../../jacoco-resources/greenbar.gif" width="12" height="10" title="2" alt="2"/></td><td class="ctr2" id="e3">100%</td><td class="ctr1" id="f3">0</td><td class="ctr2" id="g3">2</td><td class="ctr1" id="h3">0</td><td class="ctr2" id="i4">4</td><td class="ctr1" id="j3">0</td><td class="ctr2" id="k3">1</td></tr><tr><td id="a3"><a href="ProbeInserter.java.html#L106" class="el_method">visitCode()</a></td><td class="bar" id="b4"><img src="../../jacoco-resources/greenbar.gif" width="21" height="10" title="20" alt="20"/></td><td class="ctr2" id="c4">100%</td><td class="bar" id="d5"/><td class="ctr2" id="e5">n/a</td><td class="ctr1" id="f4">0</td><td class="ctr2" id="g5">1</td><td class="ctr1" id="h4">0</td><td class="ctr2" id="i5">4</td><td class="ctr1" id="j4">0</td><td class="ctr2" id="k4">1</td></tr><tr><td id="a0"><a href="ProbeInserter.java.html#L86" class="el_method">insertProbe(int)</a></td><td class="bar" id="b5"><img src="../../jacoco-resources/greenbar.gif" width="20" height="10" title="19" alt="19"/></td><td class="ctr2" id="c5">100%</td><td class="bar" id="d6"/><td class="ctr2" id="e6">n/a</td><td class="ctr1" id="f5">0</td><td class="ctr2" id="g6">1</td><td class="ctr1" id="h5">0</td><td class="ctr2" id="i2">5</td><td class="ctr1" id="j5">0</td><td class="ctr2" id="k5">1</td></tr><tr><td id="a8"><a href="ProbeInserter.java.html#L153" class="el_method">visitMaxs(int, int)</a></td><td class="bar" id="b6"><img src="../../jacoco-resources/greenbar.gif" width="16" height="10" title="15" alt="15"/></td><td class="ctr2" id="c6">100%</td><td class="bar" id="d7"/><td class="ctr2" id="e7">n/a</td><td class="ctr1" id="f6">0</td><td class="ctr2" id="g7">1</td><td class="ctr1" id="h6">0</td><td class="ctr2" id="i6">3</td><td class="ctr1" id="j6">0</td><td class="ctr2" id="k6">1</td></tr><tr><td id="a1"><a href="ProbeInserter.java.html#L158" class="el_method">map(int)</a></td><td class="bar" id="b7"><img src="../../jacoco-resources/greenbar.gif" width="12" height="10" title="12" alt="12"/></td><td class="ctr2" id="c7">100%</td><td class="bar" id="d4"><img src="../../jacoco-resources/greenbar.gif" width="12" height="10" title="2" alt="2"/></td><td class="ctr2" id="e4">100%</td><td class="ctr1" id="f7">0</td><td class="ctr2" id="g4">2</td><td class="ctr1" id="h7">0</td><td class="ctr2" id="i7">3</td><td class="ctr1" id="j7">0</td><td class="ctr2" id="k7">1</td></tr><tr><td id="a9"><a href="ProbeInserter.java.html#L113" class="el_method">visitVarInsn(int, int)</a></td><td class="bar" id="b8"><img src="../../jacoco-resources/greenbar.gif" width="8" height="10" title="8" alt="8"/></td><td class="ctr2" id="c8">100%</td><td class="bar" id="d8"/><td class="ctr2" id="e8">n/a</td><td class="ctr1" id="f8">0</td><td class="ctr2" id="g8">1</td><td class="ctr1" id="h8">0</td><td class="ctr2" id="i8">2</td><td class="ctr1" id="j8">0</td><td class="ctr2" id="k8">1</td></tr><tr><td id="a5"><a href="ProbeInserter.java.html#L118" class="el_method">visitIincInsn(int, int)</a></td><td class="bar" id="b9"><img src="../../jacoco-resources/greenbar.gif" width="8" height="10" title="8" alt="8"/></td><td class="ctr2" id="c9">100%</td><td class="bar" id="d9"/><td class="ctr2" id="e9">n/a</td><td class="ctr1" id="f9">0</td><td class="ctr2" id="g9">1</td><td class="ctr1" id="h9">0</td><td class="ctr2" id="i9">2</td><td class="ctr1" id="j9">0</td><td class="ctr2" id="k9">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.12.202403270442</span>Code Coverage Report for JaCoCo 0.8.12-SNAPSHOT</div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/trunk/coverage/org.jacoco.core/org.jacoco.core.internal.instr/ProbeInserter.java.html b/jacoco/trunk/coverage/org.jacoco.core/org.jacoco.core.internal.instr/ProbeInserter.java.html
    new file mode 100644
    index 00000000000..44219097719
    --- /dev/null
    +++ b/jacoco/trunk/coverage/org.jacoco.core/org.jacoco.core.internal.instr/ProbeInserter.java.html
    @@ -0,0 +1,201 @@
    +<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="en"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../../jacoco-resources/report.gif" type="image/gif"/><title>ProbeInserter.java</title><link rel="stylesheet" href="../../jacoco-resources/prettify.css" type="text/css"/><script type="text/javascript" src="../../jacoco-resources/prettify.js"></script></head><body onload="window['PR_TAB_WIDTH']=4;prettyPrint()"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../../index.html" class="el_report">JaCoCo</a> &gt; <a href="../index.html" class="el_bundle">org.jacoco.core</a> &gt; <a href="index.source.html" class="el_package">org.jacoco.core.internal.instr</a> &gt; <span class="el_source">ProbeInserter.java</span></div><h1>ProbeInserter.java</h1><pre class="source lang-java linenums">/*******************************************************************************
    + * Copyright (c) 2009, 2024 Mountainminds GmbH &amp; Co. KG and Contributors
    + * This program and the accompanying materials are made available under
    + * the terms of the Eclipse Public License 2.0 which is available at
    + * http://www.eclipse.org/legal/epl-2.0
    + *
    + * SPDX-License-Identifier: EPL-2.0
    + *
    + * Contributors:
    + *    Marc R. Hoffmann - initial API and implementation
    + *
    + *******************************************************************************/
    +package org.jacoco.core.internal.instr;
    +
    +import org.objectweb.asm.AnnotationVisitor;
    +import org.objectweb.asm.Label;
    +import org.objectweb.asm.MethodVisitor;
    +import org.objectweb.asm.Opcodes;
    +import org.objectweb.asm.Type;
    +import org.objectweb.asm.TypePath;
    +
    +/**
    + * Internal utility to add probes into the control flow of a method. The code
    + * for a probe simply sets a certain slot of a boolean array to true. In
    + * addition the probe array has to be retrieved at the beginning of the method
    + * and stored in a local variable. For this two local variables will be reserved
    + * immediately after the method parameters - the probe array will be stored in
    + * the second one, and the first one is reserved for the case when the last
    + * local variable of method parameters is overridden in the method body to store
    + * &lt;a href=
    + * &quot;https://docs.oracle.com/javase/specs/jvms/se8/html/jvms-4.html#jvms-4.10.2.3&quot;&gt;a
    + * value of type long or double which occupy two variables&lt;/a&gt;.
    + */
    +class ProbeInserter extends MethodVisitor implements IProbeInserter {
    +
    +	private final IProbeArrayStrategy arrayStrategy;
    +
    +	/**
    +	 * &lt;code&gt;true&lt;/code&gt; if method is a class or interface initialization
    +	 * method.
    +	 */
    +	private final boolean clinit;
    +
    +	/** Position of the inserted variable. */
    +	private final int variable;
    +
    +	/** Label for the new beginning of the method */
    +	private final Label beginLabel;
    +
    +	/** Maximum stack usage of the code to access the probe array. */
    +	private int accessorStackSize;
    +
    +	/**
    +	 * Creates a new {@link ProbeInserter}.
    +	 *
    +	 * @param access
    +	 *            access flags of the adapted method
    +	 * @param name
    +	 *            the method's name
    +	 * @param desc
    +	 *            the method's descriptor
    +	 * @param mv
    +	 *            the method visitor to which this adapter delegates calls
    +	 * @param arrayStrategy
    +	 *            callback to create the code that retrieves the reference to
    +	 *            the probe array
    +	 */
    +	ProbeInserter(final int access, final String name, final String desc,
    +			final MethodVisitor mv, final IProbeArrayStrategy arrayStrategy) {
    +<span class="fc" id="L70">		super(InstrSupport.ASM_API_VERSION, mv);</span>
    +<span class="fc" id="L71">		this.clinit = InstrSupport.CLINIT_NAME.equals(name);</span>
    +<span class="fc" id="L72">		this.arrayStrategy = arrayStrategy;</span>
    +<span class="fc bfc" id="L73" title="All 2 branches covered.">		int pos = (Opcodes.ACC_STATIC &amp; access) == 0 ? 1 : 0;</span>
    +<span class="fc bfc" id="L74" title="All 2 branches covered.">		for (final Type t : Type.getArgumentTypes(desc)) {</span>
    +<span class="fc" id="L75">			pos += t.getSize();</span>
    +		}
    +<span class="fc" id="L77">		variable = pos + 1;</span>
    +<span class="fc" id="L78">		beginLabel = new Label();</span>
    +<span class="fc" id="L79">	}</span>
    +
    +	public void insertProbe(final int id) {
    +
    +		// For a probe we set the corresponding position in the boolean[] array
    +		// to true.
    +
    +<span class="fc" id="L86">		mv.visitVarInsn(Opcodes.ALOAD, variable);</span>
    +
    +		// Stack[0]: [Z
    +
    +<span class="fc" id="L90">		InstrSupport.push(mv, id);</span>
    +
    +		// Stack[1]: I
    +		// Stack[0]: [Z
    +
    +<span class="fc" id="L95">		mv.visitInsn(Opcodes.ICONST_1);</span>
    +
    +		// Stack[2]: I
    +		// Stack[1]: I
    +		// Stack[0]: [Z
    +
    +<span class="fc" id="L101">		mv.visitInsn(Opcodes.BASTORE);</span>
    +<span class="fc" id="L102">	}</span>
    +
    +	@Override
    +	public void visitCode() {
    +<span class="fc" id="L106">		mv.visitLabel(beginLabel);</span>
    +<span class="fc" id="L107">		accessorStackSize = arrayStrategy.storeInstance(mv, clinit, variable);</span>
    +<span class="fc" id="L108">		mv.visitCode();</span>
    +<span class="fc" id="L109">	}</span>
    +
    +	@Override
    +	public final void visitVarInsn(final int opcode, final int var) {
    +<span class="fc" id="L113">		mv.visitVarInsn(opcode, map(var));</span>
    +<span class="fc" id="L114">	}</span>
    +
    +	@Override
    +	public final void visitIincInsn(final int var, final int increment) {
    +<span class="fc" id="L118">		mv.visitIincInsn(map(var), increment);</span>
    +<span class="fc" id="L119">	}</span>
    +
    +	@Override
    +	public final void visitLocalVariable(final String name, final String desc,
    +			final String signature, final Label start, final Label end,
    +			final int index) {
    +<span class="fc bfc" id="L125" title="All 2 branches covered.">		if (index &lt; variable - 1) {</span>
    +			// Method parameters are still valid from the very beginning
    +<span class="fc" id="L127">			mv.visitLocalVariable(name, desc, signature, beginLabel, end,</span>
    +					index);
    +		} else {
    +<span class="fc" id="L130">			mv.visitLocalVariable(name, desc, signature, start, end,</span>
    +					map(index));
    +		}
    +<span class="fc" id="L133">	}</span>
    +
    +	@Override
    +	public AnnotationVisitor visitLocalVariableAnnotation(final int typeRef,
    +			final TypePath typePath, final Label[] start, final Label[] end,
    +			final int[] index, final String descriptor, final boolean visible) {
    +<span class="fc" id="L139">		final int[] newIndex = new int[index.length];</span>
    +<span class="fc bfc" id="L140" title="All 2 branches covered.">		for (int i = 0; i &lt; newIndex.length; i++) {</span>
    +<span class="fc" id="L141">			newIndex[i] = map(index[i]);</span>
    +		}
    +<span class="fc" id="L143">		return mv.visitLocalVariableAnnotation(typeRef, typePath, start, end,</span>
    +				newIndex, descriptor, visible);
    +	}
    +
    +	@Override
    +	public void visitMaxs(final int maxStack, final int maxLocals) {
    +		// Max stack size of the probe code is 3 which can add to the
    +		// original stack size depending on the probe locations. The accessor
    +		// stack size is an absolute maximum, as the accessor code is inserted
    +		// at the very beginning of each method when the stack size is empty.
    +<span class="fc" id="L153">		final int increasedStack = Math.max(maxStack + 3, accessorStackSize);</span>
    +<span class="fc" id="L154">		mv.visitMaxs(increasedStack, maxLocals + 2);</span>
    +<span class="fc" id="L155">	}</span>
    +
    +	private int map(final int var) {
    +<span class="fc bfc" id="L158" title="All 2 branches covered.">		if (var &lt; variable - 1) {</span>
    +<span class="fc" id="L159">			return var;</span>
    +		} else {
    +<span class="fc" id="L161">			return var + 2;</span>
    +		}
    +	}
    +
    +	@Override
    +	public final void visitFrame(final int type, final int nLocal,
    +			final Object[] local, final int nStack, final Object[] stack) {
    +
    +<span class="fc bfc" id="L169" title="All 2 branches covered.">		if (type != Opcodes.F_NEW) { // uncompressed frame</span>
    +<span class="fc" id="L170">			throw new IllegalArgumentException(</span>
    +					&quot;ClassReader.accept() should be called with EXPAND_FRAMES flag&quot;);
    +		}
    +
    +<span class="fc" id="L174">		final Object[] newLocal = new Object[Math.max(nLocal + 2,</span>
    +				variable + 1)];
    +<span class="fc" id="L176">		int idx = 0; // Arrays index for existing locals</span>
    +<span class="fc" id="L177">		int newIdx = 0; // Array index for new locals</span>
    +<span class="fc" id="L178">		int pos = 0; // Current variable position</span>
    +<span class="fc bfc" id="L179" title="All 4 branches covered.">		while (idx &lt; nLocal &amp;&amp; pos &lt; variable - 1) {</span>
    +<span class="fc" id="L180">			final Object t = local[idx++];</span>
    +<span class="fc" id="L181">			newLocal[newIdx++] = t;</span>
    +<span class="fc bfc" id="L182" title="All 4 branches covered.">			pos += t == Opcodes.LONG || t == Opcodes.DOUBLE ? 2 : 1;</span>
    +<span class="fc" id="L183">		}</span>
    +<span class="fc bfc" id="L184" title="All 2 branches covered.">		final boolean safetySlotOccupied = pos == variable;</span>
    +<span class="fc bfc" id="L185" title="All 2 branches covered.">		while (pos &lt; variable) {</span>
    +<span class="fc" id="L186">			newLocal[newIdx++] = Opcodes.TOP;</span>
    +<span class="fc" id="L187">			pos++;</span>
    +		}
    +<span class="fc" id="L189">		newLocal[newIdx++] = InstrSupport.DATAFIELD_DESC;</span>
    +<span class="fc bfc" id="L190" title="All 4 branches covered.">		if (idx &lt; nLocal &amp;&amp; safetySlotOccupied) {</span>
    +<span class="fc" id="L191">			newLocal[newIdx++] = Opcodes.TOP;</span>
    +		}
    +<span class="fc bfc" id="L193" title="All 2 branches covered.">		while (idx &lt; nLocal) {</span>
    +<span class="fc" id="L194">			newLocal[newIdx++] = local[idx++];</span>
    +		}
    +
    +<span class="fc" id="L197">		mv.visitFrame(type, newIdx, newLocal, nStack, stack);</span>
    +<span class="fc" id="L198">	}</span>
    +
    +}
    +</pre><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.12.202403270442</span>Code Coverage Report for JaCoCo 0.8.12-SNAPSHOT</div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/trunk/coverage/org.jacoco.core/org.jacoco.core.internal.instr/SignatureRemover.html b/jacoco/trunk/coverage/org.jacoco.core/org.jacoco.core.internal.instr/SignatureRemover.html
    new file mode 100644
    index 00000000000..733c726d68c
    --- /dev/null
    +++ b/jacoco/trunk/coverage/org.jacoco.core/org.jacoco.core.internal.instr/SignatureRemover.html
    @@ -0,0 +1 @@
    +<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="en"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../../jacoco-resources/report.gif" type="image/gif"/><title>SignatureRemover</title><script type="text/javascript" src="../../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../../index.html" class="el_report">JaCoCo</a> &gt; <a href="../index.html" class="el_bundle">org.jacoco.core</a> &gt; <a href="index.html" class="el_package">org.jacoco.core.internal.instr</a> &gt; <span class="el_class">SignatureRemover</span></div><h1>SignatureRemover</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">0 of 87</td><td class="ctr2">100%</td><td class="bar">0 of 16</td><td class="ctr2">100%</td><td class="ctr1">0</td><td class="ctr2">15</td><td class="ctr1">0</td><td class="ctr2">25</td><td class="ctr1">0</td><td class="ctr2">7</td></tr></tfoot><tbody><tr><td id="a0"><a href="SignatureRemover.java.html#L86" class="el_method">filterEntry(String, InputStream, OutputStream)</a></td><td class="bar" id="b0"><img src="../../jacoco-resources/greenbar.gif" width="120" height="10" title="24" alt="24"/></td><td class="ctr2" id="c0">100%</td><td class="bar" id="d0"><img src="../../jacoco-resources/greenbar.gif" width="120" height="10" title="4" alt="4"/></td><td class="ctr2" id="e0">100%</td><td class="ctr1" id="f0">0</td><td class="ctr2" id="g0">3</td><td class="ctr1" id="h0">0</td><td class="ctr2" id="i1">6</td><td class="ctr1" id="j0">0</td><td class="ctr2" id="k0">1</td></tr><tr><td id="a1"><a href="SignatureRemover.java.html#L96" class="el_method">filterManifestEntry(Collection)</a></td><td class="bar" id="b1"><img src="../../jacoco-resources/greenbar.gif" width="100" height="10" title="20" alt="20"/></td><td class="ctr2" id="c1">100%</td><td class="bar" id="d1"><img src="../../jacoco-resources/greenbar.gif" width="120" height="10" title="4" alt="4"/></td><td class="ctr2" id="e1">100%</td><td class="ctr1" id="f1">0</td><td class="ctr2" id="g1">3</td><td class="ctr1" id="h1">0</td><td class="ctr2" id="i0">7</td><td class="ctr1" id="j1">0</td><td class="ctr2" id="k1">1</td></tr><tr><td id="a2"><a href="SignatureRemover.java.html#L106" class="el_method">filterManifestEntryAttributes(Attributes)</a></td><td class="bar" id="b2"><img src="../../jacoco-resources/greenbar.gif" width="85" height="10" title="17" alt="17"/></td><td class="ctr2" id="c2">100%</td><td class="bar" id="d2"><img src="../../jacoco-resources/greenbar.gif" width="120" height="10" title="4" alt="4"/></td><td class="ctr2" id="e2">100%</td><td class="ctr1" id="f2">0</td><td class="ctr2" id="g2">3</td><td class="ctr1" id="h2">0</td><td class="ctr2" id="i2">5</td><td class="ctr1" id="j2">0</td><td class="ctr2" id="k2">1</td></tr><tr><td id="a3"><a href="SignatureRemover.java.html#L68" class="el_method">removeEntry(String)</a></td><td class="bar" id="b3"><img src="../../jacoco-resources/greenbar.gif" width="60" height="10" title="12" alt="12"/></td><td class="ctr2" id="c3">100%</td><td class="bar" id="d3"><img src="../../jacoco-resources/greenbar.gif" width="120" height="10" title="4" alt="4"/></td><td class="ctr2" id="e3">100%</td><td class="ctr1" id="f3">0</td><td class="ctr2" id="g3">3</td><td class="ctr1" id="h3">0</td><td class="ctr2" id="i5">1</td><td class="ctr1" id="j3">0</td><td class="ctr2" id="k3">1</td></tr><tr><td id="a5"><a href="SignatureRemover.java.html#L44" class="el_method">SignatureRemover()</a></td><td class="bar" id="b4"><img src="../../jacoco-resources/greenbar.gif" width="30" height="10" title="6" alt="6"/></td><td class="ctr2" id="c4">100%</td><td class="bar" id="d4"/><td class="ctr2" id="e4">n/a</td><td class="ctr1" id="f4">0</td><td class="ctr2" id="g4">1</td><td class="ctr1" id="h4">0</td><td class="ctr2" id="i3">3</td><td class="ctr1" id="j4">0</td><td class="ctr2" id="k4">1</td></tr><tr><td id="a4"><a href="SignatureRemover.java.html#L57" class="el_method">setActive(boolean)</a></td><td class="bar" id="b5"><img src="../../jacoco-resources/greenbar.gif" width="20" height="10" title="4" alt="4"/></td><td class="ctr2" id="c5">100%</td><td class="bar" id="d5"/><td class="ctr2" id="e5">n/a</td><td class="ctr1" id="f5">0</td><td class="ctr2" id="g5">1</td><td class="ctr1" id="h5">0</td><td class="ctr2" id="i4">2</td><td class="ctr1" id="j5">0</td><td class="ctr2" id="k5">1</td></tr><tr><td id="a6"><a href="SignatureRemover.java.html#L29" class="el_method">static {...}</a></td><td class="bar" id="b6"><img src="../../jacoco-resources/greenbar.gif" width="20" height="10" title="4" alt="4"/></td><td class="ctr2" id="c6">100%</td><td class="bar" id="d6"/><td class="ctr2" id="e6">n/a</td><td class="ctr1" id="f6">0</td><td class="ctr2" id="g6">1</td><td class="ctr1" id="h6">0</td><td class="ctr2" id="i6">1</td><td class="ctr1" id="j6">0</td><td class="ctr2" id="k6">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.12.202403270442</span>Code Coverage Report for JaCoCo 0.8.12-SNAPSHOT</div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/trunk/coverage/org.jacoco.core/org.jacoco.core.internal.instr/SignatureRemover.java.html b/jacoco/trunk/coverage/org.jacoco.core/org.jacoco.core.internal.instr/SignatureRemover.java.html
    new file mode 100644
    index 00000000000..24caff39546
    --- /dev/null
    +++ b/jacoco/trunk/coverage/org.jacoco.core/org.jacoco.core.internal.instr/SignatureRemover.java.html
    @@ -0,0 +1,115 @@
    +<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="en"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../../jacoco-resources/report.gif" type="image/gif"/><title>SignatureRemover.java</title><link rel="stylesheet" href="../../jacoco-resources/prettify.css" type="text/css"/><script type="text/javascript" src="../../jacoco-resources/prettify.js"></script></head><body onload="window['PR_TAB_WIDTH']=4;prettyPrint()"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../../index.html" class="el_report">JaCoCo</a> &gt; <a href="../index.html" class="el_bundle">org.jacoco.core</a> &gt; <a href="index.source.html" class="el_package">org.jacoco.core.internal.instr</a> &gt; <span class="el_source">SignatureRemover.java</span></div><h1>SignatureRemover.java</h1><pre class="source lang-java linenums">/*******************************************************************************
    + * Copyright (c) 2009, 2024 Mountainminds GmbH &amp; Co. KG and Contributors
    + * This program and the accompanying materials are made available under
    + * the terms of the Eclipse Public License 2.0 which is available at
    + * http://www.eclipse.org/legal/epl-2.0
    + *
    + * SPDX-License-Identifier: EPL-2.0
    + *
    + * Contributors:
    + *    Marc R. Hoffmann - initial API and implementation
    + *
    + *******************************************************************************/
    +package org.jacoco.core.internal.instr;
    +
    +import java.io.IOException;
    +import java.io.InputStream;
    +import java.io.OutputStream;
    +import java.util.Collection;
    +import java.util.Iterator;
    +import java.util.jar.Attributes;
    +import java.util.jar.Manifest;
    +import java.util.regex.Pattern;
    +
    +/**
    + * Support class to filter entries from JARs related to signatures.
    + */
    +public class SignatureRemover {
    +
    +<span class="fc" id="L29">	private static final Pattern SIGNATURE_FILES = Pattern</span>
    +			.compile(&quot;META-INF/[^/]*\\.SF|&quot; //
    +					+ &quot;META-INF/[^/]*\\.DSA|&quot; //
    +					+ &quot;META-INF/[^/]*\\.RSA|&quot; //
    +					+ &quot;META-INF/SIG-[^/]*&quot;);
    +
    +	private static final String MANIFEST_MF = &quot;META-INF/MANIFEST.MF&quot;;
    +
    +	private static final String DIGEST_SUFFIX = &quot;-Digest&quot;;
    +
    +	private boolean active;
    +
    +	/**
    +	 * Creates a new remover which is active.
    +	 */
    +<span class="fc" id="L44">	public SignatureRemover() {</span>
    +<span class="fc" id="L45">		active = true;</span>
    +<span class="fc" id="L46">	}</span>
    +
    +	/**
    +	 * Defines whether this remover should be active. If it is not active it
    +	 * will not remove any entries.
    +	 *
    +	 * @param active
    +	 *            &lt;code&gt;true&lt;/code&gt; if it should remove signature related
    +	 *            entries.
    +	 */
    +	public void setActive(final boolean active) {
    +<span class="fc" id="L57">		this.active = active;</span>
    +<span class="fc" id="L58">	}</span>
    +
    +	/**
    +	 * Checks whether a entry with the provided name should be ignored at all.
    +	 *
    +	 * @param name
    +	 *            path name of the entry in question
    +	 * @return true is the entry should be ignored
    +	 */
    +	public boolean removeEntry(final String name) {
    +<span class="fc bfc" id="L68" title="All 4 branches covered.">		return active &amp;&amp; SIGNATURE_FILES.matcher(name).matches();</span>
    +	}
    +
    +	/**
    +	 * Filters the content of the entry with the provided name if necessary.
    +	 *
    +	 * @param name
    +	 *            path name of the entry in question
    +	 * @param in
    +	 *            source for the element to filter
    +	 * @param out
    +	 *            output for the filtered contents
    +	 * @return &lt;code&gt;true&lt;/code&gt; if the content was filtered
    +	 * @throws IOException
    +	 *             if the content can't be read or written
    +	 */
    +	public boolean filterEntry(final String name, final InputStream in,
    +			final OutputStream out) throws IOException {
    +<span class="fc bfc" id="L86" title="All 4 branches covered.">		if (!active || !MANIFEST_MF.equals(name)) {</span>
    +<span class="fc" id="L87">			return false;</span>
    +		}
    +<span class="fc" id="L89">		final Manifest mf = new Manifest(in);</span>
    +<span class="fc" id="L90">		filterManifestEntry(mf.getEntries().values());</span>
    +<span class="fc" id="L91">		mf.write(out);</span>
    +<span class="fc" id="L92">		return true;</span>
    +	}
    +
    +	private void filterManifestEntry(final Collection&lt;Attributes&gt; entry) {
    +<span class="fc bfc" id="L96" title="All 2 branches covered.">		for (final Iterator&lt;Attributes&gt; i = entry.iterator(); i.hasNext();) {</span>
    +<span class="fc" id="L97">			final Attributes attributes = i.next();</span>
    +<span class="fc" id="L98">			filterManifestEntryAttributes(attributes);</span>
    +<span class="fc bfc" id="L99" title="All 2 branches covered.">			if (attributes.isEmpty()) {</span>
    +<span class="fc" id="L100">				i.remove();</span>
    +			}
    +<span class="fc" id="L102">		}</span>
    +<span class="fc" id="L103">	}</span>
    +
    +	private void filterManifestEntryAttributes(final Attributes attrs) {
    +<span class="fc" id="L106">		for (final Iterator&lt;Object&gt; i = attrs.keySet().iterator(); i</span>
    +<span class="fc bfc" id="L107" title="All 2 branches covered.">				.hasNext();) {</span>
    +<span class="fc bfc" id="L108" title="All 2 branches covered.">			if (String.valueOf(i.next()).endsWith(DIGEST_SUFFIX)) {</span>
    +<span class="fc" id="L109">				i.remove();</span>
    +			}
    +		}
    +<span class="fc" id="L112">	}</span>
    +
    +}
    +</pre><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.12.202403270442</span>Code Coverage Report for JaCoCo 0.8.12-SNAPSHOT</div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/trunk/coverage/org.jacoco.core/org.jacoco.core.internal.instr/index.html b/jacoco/trunk/coverage/org.jacoco.core/org.jacoco.core.internal.instr/index.html
    new file mode 100644
    index 00000000000..5ac9671e1bb
    --- /dev/null
    +++ b/jacoco/trunk/coverage/org.jacoco.core/org.jacoco.core.internal.instr/index.html
    @@ -0,0 +1 @@
    +<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="en"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../../jacoco-resources/report.gif" type="image/gif"/><title>org.jacoco.core.internal.instr</title><script type="text/javascript" src="../../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb', 'coveragetable'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="index.source.html" class="el_source">Source Files</a><a href="../../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../../index.html" class="el_report">JaCoCo</a> &gt; <a href="../index.html" class="el_bundle">org.jacoco.core</a> &gt; <span class="el_package">org.jacoco.core.internal.instr</span></div><h1>org.jacoco.core.internal.instr</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td><td class="sortable ctr1" id="l" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="m" onclick="toggleSort(this)">Classes</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">0 of 1,590</td><td class="ctr2">100%</td><td class="bar">1 of 127</td><td class="ctr2">99%</td><td class="ctr1">1</td><td class="ctr2">157</td><td class="ctr1">0</td><td class="ctr2">388</td><td class="ctr1">0</td><td class="ctr2">86</td><td class="ctr1">0</td><td class="ctr2">13</td></tr></tfoot><tbody><tr><td id="a11"><a href="ProbeInserter.html" class="el_class">ProbeInserter</a></td><td class="bar" id="b0"><img src="../../jacoco-resources/greenbar.gif" width="120" height="10" title="306" alt="306"/></td><td class="ctr2" id="c0">100%</td><td class="bar" id="d2"><img src="../../jacoco-resources/greenbar.gif" width="116" height="10" title="30" alt="30"/></td><td class="ctr2" id="e0">100%</td><td class="ctr1" id="f1">0</td><td class="ctr2" id="g1">25</td><td class="ctr1" id="h0">0</td><td class="ctr2" id="i1">58</td><td class="ctr1" id="j0">0</td><td class="ctr2" id="k2">10</td><td class="ctr1" id="l0">0</td><td class="ctr2" id="m0">1</td></tr><tr><td id="a7"><a href="MethodInstrumenter.html" class="el_class">MethodInstrumenter</a></td><td class="bar" id="b1"><img src="../../jacoco-resources/greenbar.gif" width="100" height="10" title="256" alt="256"/></td><td class="ctr2" id="c1">100%</td><td class="bar" id="d1"><img src="../../jacoco-resources/greenbar.gif" width="120" height="10" title="31" alt="31"/></td><td class="ctr2" id="e1">100%</td><td class="ctr1" id="f2">0</td><td class="ctr2" id="g0">34</td><td class="ctr1" id="h1">0</td><td class="ctr2" id="i0">76</td><td class="ctr1" id="j1">0</td><td class="ctr2" id="k1">11</td><td class="ctr1" id="l1">0</td><td class="ctr2" id="m1">1</td></tr><tr><td id="a5"><a href="InterfaceFieldProbeArrayStrategy.html" class="el_class">InterfaceFieldProbeArrayStrategy</a></td><td class="bar" id="b2"><img src="../../jacoco-resources/greenbar.gif" width="78" height="10" title="201" alt="201"/></td><td class="ctr2" id="c2">100%</td><td class="bar" id="d0"><img src="../../jacoco-resources/redbar.gif" width="3" height="10" title="1" alt="1"/><img src="../../jacoco-resources/greenbar.gif" width="11" height="10" title="3" alt="3"/></td><td class="ctr2" id="e9">75%</td><td class="ctr1" id="f0">1</td><td class="ctr2" id="g6">9</td><td class="ctr1" id="h2">0</td><td class="ctr2" id="i2">48</td><td class="ctr1" id="j2">0</td><td class="ctr2" id="k3">7</td><td class="ctr1" id="l2">0</td><td class="ctr2" id="m2">1</td></tr><tr><td id="a3"><a href="DuplicateFrameEliminator.html" class="el_class">DuplicateFrameEliminator</a></td><td class="bar" id="b3"><img src="../../jacoco-resources/greenbar.gif" width="58" height="10" title="148" alt="148"/></td><td class="ctr2" id="c3">100%</td><td class="bar" id="d7"><img src="../../jacoco-resources/greenbar.gif" width="7" height="10" title="2" alt="2"/></td><td class="ctr2" id="e2">100%</td><td class="ctr1" id="f3">0</td><td class="ctr2" id="g3">16</td><td class="ctr1" id="h3">0</td><td class="ctr2" id="i3">46</td><td class="ctr1" id="j3">0</td><td class="ctr2" id="k0">15</td><td class="ctr1" id="l3">0</td><td class="ctr2" id="m3">1</td></tr><tr><td id="a0"><a href="ClassFieldProbeArrayStrategy.html" class="el_class">ClassFieldProbeArrayStrategy</a></td><td class="bar" id="b4"><img src="../../jacoco-resources/greenbar.gif" width="55" height="10" title="142" alt="142"/></td><td class="ctr2" id="c4">100%</td><td class="bar" id="d8"><img src="../../jacoco-resources/greenbar.gif" width="7" height="10" title="2" alt="2"/></td><td class="ctr2" id="e3">100%</td><td class="ctr1" id="f4">0</td><td class="ctr2" id="g7">8</td><td class="ctr1" id="h4">0</td><td class="ctr2" id="i4">35</td><td class="ctr1" id="j4">0</td><td class="ctr2" id="k4">7</td><td class="ctr1" id="l4">0</td><td class="ctr2" id="m4">1</td></tr><tr><td id="a4"><a href="InstrSupport.html" class="el_class">InstrSupport</a></td><td class="bar" id="b5"><img src="../../jacoco-resources/greenbar.gif" width="49" height="10" title="127" alt="127"/></td><td class="ctr2" id="c5">100%</td><td class="bar" id="d3"><img src="../../jacoco-resources/greenbar.gif" width="77" height="10" title="20" alt="20"/></td><td class="ctr2" id="e4">100%</td><td class="ctr1" id="f5">0</td><td class="ctr2" id="g2">17</td><td class="ctr1" id="h5">0</td><td class="ctr2" id="i6">24</td><td class="ctr1" id="j5">0</td><td class="ctr2" id="k5">7</td><td class="ctr1" id="l5">0</td><td class="ctr2" id="m5">1</td></tr><tr><td id="a9"><a href="ProbeArrayStrategyFactory.html" class="el_class">ProbeArrayStrategyFactory</a></td><td class="bar" id="b6"><img src="../../jacoco-resources/greenbar.gif" width="39" height="10" title="100" alt="100"/></td><td class="ctr2" id="c6">100%</td><td class="bar" id="d4"><img src="../../jacoco-resources/greenbar.gif" width="61" height="10" title="16" alt="16"/></td><td class="ctr2" id="e5">100%</td><td class="ctr1" id="f6">0</td><td class="ctr2" id="g5">11</td><td class="ctr1" id="h6">0</td><td class="ctr2" id="i7">18</td><td class="ctr1" id="j6">0</td><td class="ctr2" id="k9">3</td><td class="ctr1" id="l6">0</td><td class="ctr2" id="m6">1</td></tr><tr><td id="a12"><a href="SignatureRemover.html" class="el_class">SignatureRemover</a></td><td class="bar" id="b7"><img src="../../jacoco-resources/greenbar.gif" width="34" height="10" title="87" alt="87"/></td><td class="ctr2" id="c7">100%</td><td class="bar" id="d5"><img src="../../jacoco-resources/greenbar.gif" width="61" height="10" title="16" alt="16"/></td><td class="ctr2" id="e6">100%</td><td class="ctr1" id="f7">0</td><td class="ctr2" id="g4">15</td><td class="ctr1" id="h7">0</td><td class="ctr2" id="i5">25</td><td class="ctr1" id="j7">0</td><td class="ctr2" id="k6">7</td><td class="ctr1" id="l7">0</td><td class="ctr2" id="m7">1</td></tr><tr><td id="a1"><a href="ClassInstrumenter.html" class="el_class">ClassInstrumenter</a></td><td class="bar" id="b8"><img src="../../jacoco-resources/greenbar.gif" width="29" height="10" title="76" alt="76"/></td><td class="ctr2" id="c8">100%</td><td class="bar" id="d9"><img src="../../jacoco-resources/greenbar.gif" width="7" height="10" title="2" alt="2"/></td><td class="ctr2" id="e7">100%</td><td class="ctr1" id="f8">0</td><td class="ctr2" id="g9">6</td><td class="ctr1" id="h8">0</td><td class="ctr2" id="i8">17</td><td class="ctr1" id="j8">0</td><td class="ctr2" id="k7">5</td><td class="ctr1" id="l8">0</td><td class="ctr2" id="m8">1</td></tr><tr><td id="a2"><a href="CondyProbeArrayStrategy.html" class="el_class">CondyProbeArrayStrategy</a></td><td class="bar" id="b9"><img src="../../jacoco-resources/greenbar.gif" width="29" height="10" title="74" alt="74"/></td><td class="ctr2" id="c9">100%</td><td class="bar" id="d10"/><td class="ctr2" id="e10">n/a</td><td class="ctr1" id="f9">0</td><td class="ctr2" id="g10">3</td><td class="ctr1" id="h9">0</td><td class="ctr2" id="i9">17</td><td class="ctr1" id="j9">0</td><td class="ctr2" id="k10">3</td><td class="ctr1" id="l9">0</td><td class="ctr2" id="m9">1</td></tr><tr><td id="a6"><a href="LocalProbeArrayStrategy.html" class="el_class">LocalProbeArrayStrategy</a></td><td class="bar" id="b10"><img src="../../jacoco-resources/greenbar.gif" width="12" height="10" title="33" alt="33"/></td><td class="ctr2" id="c10">100%</td><td class="bar" id="d11"/><td class="ctr2" id="e11">n/a</td><td class="ctr1" id="f10">0</td><td class="ctr2" id="g11">3</td><td class="ctr1" id="h10">0</td><td class="ctr2" id="i11">10</td><td class="ctr1" id="j10">0</td><td class="ctr2" id="k11">3</td><td class="ctr1" id="l10">0</td><td class="ctr2" id="m10">1</td></tr><tr><td id="a10"><a href="ProbeCounter.html" class="el_class">ProbeCounter</a></td><td class="bar" id="b11"><img src="../../jacoco-resources/greenbar.gif" width="12" height="10" title="32" alt="32"/></td><td class="ctr2" id="c11">100%</td><td class="bar" id="d6"><img src="../../jacoco-resources/greenbar.gif" width="15" height="10" title="4" alt="4"/></td><td class="ctr2" id="e8">100%</td><td class="ctr1" id="f11">0</td><td class="ctr2" id="g8">7</td><td class="ctr1" id="h11">0</td><td class="ctr2" id="i10">11</td><td class="ctr1" id="j11">0</td><td class="ctr2" id="k8">5</td><td class="ctr1" id="l11">0</td><td class="ctr2" id="m11">1</td></tr><tr><td id="a8"><a href="NoneProbeArrayStrategy.html" class="el_class">NoneProbeArrayStrategy</a></td><td class="bar" id="b12"><img src="../../jacoco-resources/greenbar.gif" width="3" height="10" title="8" alt="8"/></td><td class="ctr2" id="c12">100%</td><td class="bar" id="d12"/><td class="ctr2" id="e12">n/a</td><td class="ctr1" id="f12">0</td><td class="ctr2" id="g12">3</td><td class="ctr1" id="h12">0</td><td class="ctr2" id="i12">3</td><td class="ctr1" id="j12">0</td><td class="ctr2" id="k12">3</td><td class="ctr1" id="l12">0</td><td class="ctr2" id="m12">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.12.202403270442</span>Code Coverage Report for JaCoCo 0.8.12-SNAPSHOT</div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/trunk/coverage/org.jacoco.core/org.jacoco.core.internal.instr/index.source.html b/jacoco/trunk/coverage/org.jacoco.core/org.jacoco.core.internal.instr/index.source.html
    new file mode 100644
    index 00000000000..3c93eb38d7c
    --- /dev/null
    +++ b/jacoco/trunk/coverage/org.jacoco.core/org.jacoco.core.internal.instr/index.source.html
    @@ -0,0 +1 @@
    +<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="en"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../../jacoco-resources/report.gif" type="image/gif"/><title>org.jacoco.core.internal.instr</title><script type="text/javascript" src="../../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb', 'coveragetable'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="index.html" class="el_class">Classes</a><a href="../../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../../index.html" class="el_report">JaCoCo</a> &gt; <a href="../index.html" class="el_bundle">org.jacoco.core</a> &gt; <span class="el_package">org.jacoco.core.internal.instr</span></div><h1>org.jacoco.core.internal.instr</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td><td class="sortable ctr1" id="l" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="m" onclick="toggleSort(this)">Classes</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">0 of 1,590</td><td class="ctr2">100%</td><td class="bar">1 of 127</td><td class="ctr2">99%</td><td class="ctr1">1</td><td class="ctr2">157</td><td class="ctr1">0</td><td class="ctr2">388</td><td class="ctr1">0</td><td class="ctr2">86</td><td class="ctr1">0</td><td class="ctr2">13</td></tr></tfoot><tbody><tr><td id="a11"><a href="ProbeInserter.java.html" class="el_source">ProbeInserter.java</a></td><td class="bar" id="b0"><img src="../../jacoco-resources/greenbar.gif" width="120" height="10" title="306" alt="306"/></td><td class="ctr2" id="c0">100%</td><td class="bar" id="d2"><img src="../../jacoco-resources/greenbar.gif" width="116" height="10" title="30" alt="30"/></td><td class="ctr2" id="e0">100%</td><td class="ctr1" id="f1">0</td><td class="ctr2" id="g1">25</td><td class="ctr1" id="h0">0</td><td class="ctr2" id="i1">58</td><td class="ctr1" id="j0">0</td><td class="ctr2" id="k2">10</td><td class="ctr1" id="l0">0</td><td class="ctr2" id="m0">1</td></tr><tr><td id="a7"><a href="MethodInstrumenter.java.html" class="el_source">MethodInstrumenter.java</a></td><td class="bar" id="b1"><img src="../../jacoco-resources/greenbar.gif" width="100" height="10" title="256" alt="256"/></td><td class="ctr2" id="c1">100%</td><td class="bar" id="d1"><img src="../../jacoco-resources/greenbar.gif" width="120" height="10" title="31" alt="31"/></td><td class="ctr2" id="e1">100%</td><td class="ctr1" id="f2">0</td><td class="ctr2" id="g0">34</td><td class="ctr1" id="h1">0</td><td class="ctr2" id="i0">76</td><td class="ctr1" id="j1">0</td><td class="ctr2" id="k1">11</td><td class="ctr1" id="l1">0</td><td class="ctr2" id="m1">1</td></tr><tr><td id="a5"><a href="InterfaceFieldProbeArrayStrategy.java.html" class="el_source">InterfaceFieldProbeArrayStrategy.java</a></td><td class="bar" id="b2"><img src="../../jacoco-resources/greenbar.gif" width="78" height="10" title="201" alt="201"/></td><td class="ctr2" id="c2">100%</td><td class="bar" id="d0"><img src="../../jacoco-resources/redbar.gif" width="3" height="10" title="1" alt="1"/><img src="../../jacoco-resources/greenbar.gif" width="11" height="10" title="3" alt="3"/></td><td class="ctr2" id="e9">75%</td><td class="ctr1" id="f0">1</td><td class="ctr2" id="g6">9</td><td class="ctr1" id="h2">0</td><td class="ctr2" id="i2">48</td><td class="ctr1" id="j2">0</td><td class="ctr2" id="k3">7</td><td class="ctr1" id="l2">0</td><td class="ctr2" id="m2">1</td></tr><tr><td id="a3"><a href="DuplicateFrameEliminator.java.html" class="el_source">DuplicateFrameEliminator.java</a></td><td class="bar" id="b3"><img src="../../jacoco-resources/greenbar.gif" width="58" height="10" title="148" alt="148"/></td><td class="ctr2" id="c3">100%</td><td class="bar" id="d7"><img src="../../jacoco-resources/greenbar.gif" width="7" height="10" title="2" alt="2"/></td><td class="ctr2" id="e2">100%</td><td class="ctr1" id="f3">0</td><td class="ctr2" id="g3">16</td><td class="ctr1" id="h3">0</td><td class="ctr2" id="i3">46</td><td class="ctr1" id="j3">0</td><td class="ctr2" id="k0">15</td><td class="ctr1" id="l3">0</td><td class="ctr2" id="m3">1</td></tr><tr><td id="a0"><a href="ClassFieldProbeArrayStrategy.java.html" class="el_source">ClassFieldProbeArrayStrategy.java</a></td><td class="bar" id="b4"><img src="../../jacoco-resources/greenbar.gif" width="55" height="10" title="142" alt="142"/></td><td class="ctr2" id="c4">100%</td><td class="bar" id="d8"><img src="../../jacoco-resources/greenbar.gif" width="7" height="10" title="2" alt="2"/></td><td class="ctr2" id="e3">100%</td><td class="ctr1" id="f4">0</td><td class="ctr2" id="g7">8</td><td class="ctr1" id="h4">0</td><td class="ctr2" id="i4">35</td><td class="ctr1" id="j4">0</td><td class="ctr2" id="k4">7</td><td class="ctr1" id="l4">0</td><td class="ctr2" id="m4">1</td></tr><tr><td id="a4"><a href="InstrSupport.java.html" class="el_source">InstrSupport.java</a></td><td class="bar" id="b5"><img src="../../jacoco-resources/greenbar.gif" width="49" height="10" title="127" alt="127"/></td><td class="ctr2" id="c5">100%</td><td class="bar" id="d3"><img src="../../jacoco-resources/greenbar.gif" width="77" height="10" title="20" alt="20"/></td><td class="ctr2" id="e4">100%</td><td class="ctr1" id="f5">0</td><td class="ctr2" id="g2">17</td><td class="ctr1" id="h5">0</td><td class="ctr2" id="i6">24</td><td class="ctr1" id="j5">0</td><td class="ctr2" id="k5">7</td><td class="ctr1" id="l5">0</td><td class="ctr2" id="m5">1</td></tr><tr><td id="a9"><a href="ProbeArrayStrategyFactory.java.html" class="el_source">ProbeArrayStrategyFactory.java</a></td><td class="bar" id="b6"><img src="../../jacoco-resources/greenbar.gif" width="39" height="10" title="100" alt="100"/></td><td class="ctr2" id="c6">100%</td><td class="bar" id="d4"><img src="../../jacoco-resources/greenbar.gif" width="61" height="10" title="16" alt="16"/></td><td class="ctr2" id="e5">100%</td><td class="ctr1" id="f6">0</td><td class="ctr2" id="g5">11</td><td class="ctr1" id="h6">0</td><td class="ctr2" id="i7">18</td><td class="ctr1" id="j6">0</td><td class="ctr2" id="k9">3</td><td class="ctr1" id="l6">0</td><td class="ctr2" id="m6">1</td></tr><tr><td id="a12"><a href="SignatureRemover.java.html" class="el_source">SignatureRemover.java</a></td><td class="bar" id="b7"><img src="../../jacoco-resources/greenbar.gif" width="34" height="10" title="87" alt="87"/></td><td class="ctr2" id="c7">100%</td><td class="bar" id="d5"><img src="../../jacoco-resources/greenbar.gif" width="61" height="10" title="16" alt="16"/></td><td class="ctr2" id="e6">100%</td><td class="ctr1" id="f7">0</td><td class="ctr2" id="g4">15</td><td class="ctr1" id="h7">0</td><td class="ctr2" id="i5">25</td><td class="ctr1" id="j7">0</td><td class="ctr2" id="k6">7</td><td class="ctr1" id="l7">0</td><td class="ctr2" id="m7">1</td></tr><tr><td id="a1"><a href="ClassInstrumenter.java.html" class="el_source">ClassInstrumenter.java</a></td><td class="bar" id="b8"><img src="../../jacoco-resources/greenbar.gif" width="29" height="10" title="76" alt="76"/></td><td class="ctr2" id="c8">100%</td><td class="bar" id="d9"><img src="../../jacoco-resources/greenbar.gif" width="7" height="10" title="2" alt="2"/></td><td class="ctr2" id="e7">100%</td><td class="ctr1" id="f8">0</td><td class="ctr2" id="g9">6</td><td class="ctr1" id="h8">0</td><td class="ctr2" id="i8">17</td><td class="ctr1" id="j8">0</td><td class="ctr2" id="k7">5</td><td class="ctr1" id="l8">0</td><td class="ctr2" id="m8">1</td></tr><tr><td id="a2"><a href="CondyProbeArrayStrategy.java.html" class="el_source">CondyProbeArrayStrategy.java</a></td><td class="bar" id="b9"><img src="../../jacoco-resources/greenbar.gif" width="29" height="10" title="74" alt="74"/></td><td class="ctr2" id="c9">100%</td><td class="bar" id="d10"/><td class="ctr2" id="e10">n/a</td><td class="ctr1" id="f9">0</td><td class="ctr2" id="g10">3</td><td class="ctr1" id="h9">0</td><td class="ctr2" id="i9">17</td><td class="ctr1" id="j9">0</td><td class="ctr2" id="k10">3</td><td class="ctr1" id="l9">0</td><td class="ctr2" id="m9">1</td></tr><tr><td id="a6"><a href="LocalProbeArrayStrategy.java.html" class="el_source">LocalProbeArrayStrategy.java</a></td><td class="bar" id="b10"><img src="../../jacoco-resources/greenbar.gif" width="12" height="10" title="33" alt="33"/></td><td class="ctr2" id="c10">100%</td><td class="bar" id="d11"/><td class="ctr2" id="e11">n/a</td><td class="ctr1" id="f10">0</td><td class="ctr2" id="g11">3</td><td class="ctr1" id="h10">0</td><td class="ctr2" id="i11">10</td><td class="ctr1" id="j10">0</td><td class="ctr2" id="k11">3</td><td class="ctr1" id="l10">0</td><td class="ctr2" id="m10">1</td></tr><tr><td id="a10"><a href="ProbeCounter.java.html" class="el_source">ProbeCounter.java</a></td><td class="bar" id="b11"><img src="../../jacoco-resources/greenbar.gif" width="12" height="10" title="32" alt="32"/></td><td class="ctr2" id="c11">100%</td><td class="bar" id="d6"><img src="../../jacoco-resources/greenbar.gif" width="15" height="10" title="4" alt="4"/></td><td class="ctr2" id="e8">100%</td><td class="ctr1" id="f11">0</td><td class="ctr2" id="g8">7</td><td class="ctr1" id="h11">0</td><td class="ctr2" id="i10">11</td><td class="ctr1" id="j11">0</td><td class="ctr2" id="k8">5</td><td class="ctr1" id="l11">0</td><td class="ctr2" id="m11">1</td></tr><tr><td id="a8"><a href="NoneProbeArrayStrategy.java.html" class="el_source">NoneProbeArrayStrategy.java</a></td><td class="bar" id="b12"><img src="../../jacoco-resources/greenbar.gif" width="3" height="10" title="8" alt="8"/></td><td class="ctr2" id="c12">100%</td><td class="bar" id="d12"/><td class="ctr2" id="e12">n/a</td><td class="ctr1" id="f12">0</td><td class="ctr2" id="g12">3</td><td class="ctr1" id="h12">0</td><td class="ctr2" id="i12">3</td><td class="ctr1" id="j12">0</td><td class="ctr2" id="k12">3</td><td class="ctr1" id="l12">0</td><td class="ctr2" id="m12">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.12.202403270442</span>Code Coverage Report for JaCoCo 0.8.12-SNAPSHOT</div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/trunk/coverage/org.jacoco.core/org.jacoco.core.internal/ContentTypeDetector.html b/jacoco/trunk/coverage/org.jacoco.core/org.jacoco.core.internal/ContentTypeDetector.html
    new file mode 100644
    index 00000000000..a7dc53c255b
    --- /dev/null
    +++ b/jacoco/trunk/coverage/org.jacoco.core/org.jacoco.core.internal/ContentTypeDetector.html
    @@ -0,0 +1 @@
    +<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="en"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../../jacoco-resources/report.gif" type="image/gif"/><title>ContentTypeDetector</title><script type="text/javascript" src="../../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../../index.html" class="el_report">JaCoCo</a> &gt; <a href="../index.html" class="el_bundle">org.jacoco.core</a> &gt; <a href="index.html" class="el_package">org.jacoco.core.internal</a> &gt; <span class="el_class">ContentTypeDetector</span></div><h1>ContentTypeDetector</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">0 of 81</td><td class="ctr2">100%</td><td class="bar">0 of 10</td><td class="ctr2">100%</td><td class="ctr1">0</td><td class="ctr2">11</td><td class="ctr1">0</td><td class="ctr2">21</td><td class="ctr1">0</td><td class="ctr2">5</td></tr></tfoot><tbody><tr><td id="a0"><a href="ContentTypeDetector.java.html#L55" class="el_method">ContentTypeDetector(InputStream)</a></td><td class="bar" id="b0"><img src="../../jacoco-resources/greenbar.gif" width="120" height="10" title="29" alt="29"/></td><td class="ctr2" id="c0">100%</td><td class="bar" id="d1"><img src="../../jacoco-resources/greenbar.gif" width="30" height="10" title="2" alt="2"/></td><td class="ctr2" id="e0">100%</td><td class="ctr1" id="f0">0</td><td class="ctr2" id="g1">2</td><td class="ctr1" id="h0">0</td><td class="ctr2" id="i1">8</td><td class="ctr1" id="j0">0</td><td class="ctr2" id="k0">1</td></tr><tr><td id="a1"><a href="ContentTypeDetector.java.html#L67" class="el_method">determineType(InputStream)</a></td><td class="bar" id="b1"><img src="../../jacoco-resources/greenbar.gif" width="115" height="10" title="28" alt="28"/></td><td class="ctr2" id="c1">100%</td><td class="bar" id="d0"><img src="../../jacoco-resources/greenbar.gif" width="120" height="10" title="8" alt="8"/></td><td class="ctr2" id="e1">100%</td><td class="ctr1" id="f1">0</td><td class="ctr2" id="g0">6</td><td class="ctr1" id="h1">0</td><td class="ctr2" id="i0">10</td><td class="ctr1" id="j1">0</td><td class="ctr2" id="k1">1</td></tr><tr><td id="a4"><a href="ContentTypeDetector.java.html#L92" class="el_method">readInt(InputStream)</a></td><td class="bar" id="b2"><img src="../../jacoco-resources/greenbar.gif" width="74" height="10" title="18" alt="18"/></td><td class="ctr2" id="c2">100%</td><td class="bar" id="d2"/><td class="ctr2" id="e2">n/a</td><td class="ctr1" id="f2">0</td><td class="ctr2" id="g2">1</td><td class="ctr1" id="h2">0</td><td class="ctr2" id="i2">1</td><td class="ctr1" id="j2">0</td><td class="ctr2" id="k2">1</td></tr><tr><td id="a2"><a href="ContentTypeDetector.java.html#L102" class="el_method">getInputStream()</a></td><td class="bar" id="b3"><img src="../../jacoco-resources/greenbar.gif" width="12" height="10" title="3" alt="3"/></td><td class="ctr2" id="c3">100%</td><td class="bar" id="d3"/><td class="ctr2" id="e3">n/a</td><td class="ctr1" id="f3">0</td><td class="ctr2" id="g3">1</td><td class="ctr1" id="h3">0</td><td class="ctr2" id="i3">1</td><td class="ctr1" id="j3">0</td><td class="ctr2" id="k3">1</td></tr><tr><td id="a3"><a href="ContentTypeDetector.java.html#L111" class="el_method">getType()</a></td><td class="bar" id="b4"><img src="../../jacoco-resources/greenbar.gif" width="12" height="10" title="3" alt="3"/></td><td class="ctr2" id="c4">100%</td><td class="bar" id="d4"/><td class="ctr2" id="e4">n/a</td><td class="ctr1" id="f4">0</td><td class="ctr2" id="g4">1</td><td class="ctr1" id="h4">0</td><td class="ctr2" id="i4">1</td><td class="ctr1" id="j4">0</td><td class="ctr2" id="k4">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.12.202403270442</span>Code Coverage Report for JaCoCo 0.8.12-SNAPSHOT</div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/trunk/coverage/org.jacoco.core/org.jacoco.core.internal/ContentTypeDetector.java.html b/jacoco/trunk/coverage/org.jacoco.core/org.jacoco.core.internal/ContentTypeDetector.java.html
    new file mode 100644
    index 00000000000..368c887b556
    --- /dev/null
    +++ b/jacoco/trunk/coverage/org.jacoco.core/org.jacoco.core.internal/ContentTypeDetector.java.html
    @@ -0,0 +1,115 @@
    +<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="en"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../../jacoco-resources/report.gif" type="image/gif"/><title>ContentTypeDetector.java</title><link rel="stylesheet" href="../../jacoco-resources/prettify.css" type="text/css"/><script type="text/javascript" src="../../jacoco-resources/prettify.js"></script></head><body onload="window['PR_TAB_WIDTH']=4;prettyPrint()"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../../index.html" class="el_report">JaCoCo</a> &gt; <a href="../index.html" class="el_bundle">org.jacoco.core</a> &gt; <a href="index.source.html" class="el_package">org.jacoco.core.internal</a> &gt; <span class="el_source">ContentTypeDetector.java</span></div><h1>ContentTypeDetector.java</h1><pre class="source lang-java linenums">/*******************************************************************************
    + * Copyright (c) 2009, 2024 Mountainminds GmbH &amp; Co. KG and Contributors
    + * This program and the accompanying materials are made available under
    + * the terms of the Eclipse Public License 2.0 which is available at
    + * http://www.eclipse.org/legal/epl-2.0
    + *
    + * SPDX-License-Identifier: EPL-2.0
    + *
    + * Contributors:
    + *    Marc R. Hoffmann - initial API and implementation
    + *
    + *******************************************************************************/
    +package org.jacoco.core.internal;
    +
    +import java.io.BufferedInputStream;
    +import java.io.IOException;
    +import java.io.InputStream;
    +
    +/**
    + * Detector for content types of binary streams based on a magic headers.
    + */
    +public class ContentTypeDetector {
    +
    +	/** Unknown file type */
    +	public static final int UNKNOWN = -1;
    +
    +	/** File type Java class */
    +	public static final int CLASSFILE = 0xcafebabe;
    +
    +	/** File type ZIP archive */
    +	public static final int ZIPFILE = 0x504b0304;
    +
    +	/** File type GZIP compressed Data */
    +	public static final int GZFILE = 0x1f8b0000;
    +
    +	/** File type Pack200 archive */
    +	public static final int PACK200FILE = 0xcafed00d;
    +
    +	private static final int BUFFER_SIZE = 8;
    +
    +	private final InputStream in;
    +
    +	private final int type;
    +
    +	/**
    +	 * Creates a new detector based on the given input. To process the complete
    +	 * original input afterwards use the stream returned by
    +	 * {@link #getInputStream()}.
    +	 *
    +	 * @param in
    +	 *            input to read the header from
    +	 * @throws IOException
    +	 *             if the stream can't be read
    +	 */
    +<span class="fc" id="L55">	public ContentTypeDetector(final InputStream in) throws IOException {</span>
    +<span class="fc bfc" id="L56" title="All 2 branches covered.">		if (in.markSupported()) {</span>
    +<span class="fc" id="L57">			this.in = in;</span>
    +		} else {
    +<span class="fc" id="L59">			this.in = new BufferedInputStream(in, BUFFER_SIZE);</span>
    +		}
    +<span class="fc" id="L61">		this.in.mark(BUFFER_SIZE);</span>
    +<span class="fc" id="L62">		this.type = determineType(this.in);</span>
    +<span class="fc" id="L63">		this.in.reset();</span>
    +<span class="fc" id="L64">	}</span>
    +
    +	private static int determineType(final InputStream in) throws IOException {
    +<span class="fc" id="L67">		final int header = readInt(in);</span>
    +<span class="fc bfc" id="L68" title="All 4 branches covered.">		switch (header) {</span>
    +		case ZIPFILE:
    +<span class="fc" id="L70">			return ZIPFILE;</span>
    +		case PACK200FILE:
    +<span class="fc" id="L72">			return PACK200FILE;</span>
    +		case CLASSFILE:
    +			// Mach-O fat/universal binaries have the same magic header as Java
    +			// class files, number of architectures is stored in unsigned 4
    +			// bytes in the same place and in the same big-endian order as major
    +			// and minor version of class file. Hopefully on practice number of
    +			// architectures in single executable is less than 45, which is
    +			// major version of Java 1.1 class files:
    +<span class="fc" id="L80">			final int majorVersion = readInt(in) &amp; 0xFFFF;</span>
    +<span class="fc bfc" id="L81" title="All 2 branches covered.">			if (majorVersion &gt;= 45) {</span>
    +<span class="fc" id="L82">				return CLASSFILE;</span>
    +			}
    +		}
    +<span class="fc bfc" id="L85" title="All 2 branches covered.">		if ((header &amp; 0xffff0000) == GZFILE) {</span>
    +<span class="fc" id="L86">			return GZFILE;</span>
    +		}
    +<span class="fc" id="L88">		return UNKNOWN;</span>
    +	}
    +
    +	private static int readInt(final InputStream in) throws IOException {
    +<span class="fc" id="L92">		return in.read() &lt;&lt; 24 | in.read() &lt;&lt; 16 | in.read() &lt;&lt; 8 | in.read();</span>
    +	}
    +
    +	/**
    +	 * Returns an input stream instance to read the complete content (including
    +	 * the header) of the underlying stream.
    +	 *
    +	 * @return input stream containing the complete content
    +	 */
    +	public InputStream getInputStream() {
    +<span class="fc" id="L102">		return in;</span>
    +	}
    +
    +	/**
    +	 * Returns the detected file type.
    +	 *
    +	 * @return file type
    +	 */
    +	public int getType() {
    +<span class="fc" id="L111">		return type;</span>
    +	}
    +
    +}
    +</pre><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.12.202403270442</span>Code Coverage Report for JaCoCo 0.8.12-SNAPSHOT</div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/trunk/coverage/org.jacoco.core/org.jacoco.core.internal/InputStreams.html b/jacoco/trunk/coverage/org.jacoco.core/org.jacoco.core.internal/InputStreams.html
    new file mode 100644
    index 00000000000..8be43c425e4
    --- /dev/null
    +++ b/jacoco/trunk/coverage/org.jacoco.core/org.jacoco.core.internal/InputStreams.html
    @@ -0,0 +1 @@
    +<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="en"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../../jacoco-resources/report.gif" type="image/gif"/><title>InputStreams</title><script type="text/javascript" src="../../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../../index.html" class="el_report">JaCoCo</a> &gt; <a href="../index.html" class="el_bundle">org.jacoco.core</a> &gt; <a href="index.html" class="el_package">org.jacoco.core.internal</a> &gt; <span class="el_class">InputStreams</span></div><h1>InputStreams</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">0 of 24</td><td class="ctr2">100%</td><td class="bar">0 of 2</td><td class="ctr2">100%</td><td class="ctr1">0</td><td class="ctr2">2</td><td class="ctr1">0</td><td class="ctr2">8</td><td class="ctr1">0</td><td class="ctr2">1</td></tr></tfoot><tbody><tr><td id="a0"><a href="InputStreams.java.html#L38" class="el_method">readFully(InputStream)</a></td><td class="bar" id="b0"><img src="../../jacoco-resources/greenbar.gif" width="120" height="10" title="24" alt="24"/></td><td class="ctr2" id="c0">100%</td><td class="bar" id="d0"><img src="../../jacoco-resources/greenbar.gif" width="120" height="10" title="2" alt="2"/></td><td class="ctr2" id="e0">100%</td><td class="ctr1" id="f0">0</td><td class="ctr2" id="g0">2</td><td class="ctr1" id="h0">0</td><td class="ctr2" id="i0">8</td><td class="ctr1" id="j0">0</td><td class="ctr2" id="k0">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.12.202403270442</span>Code Coverage Report for JaCoCo 0.8.12-SNAPSHOT</div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/trunk/coverage/org.jacoco.core/org.jacoco.core.internal/InputStreams.java.html b/jacoco/trunk/coverage/org.jacoco.core/org.jacoco.core.internal/InputStreams.java.html
    new file mode 100644
    index 00000000000..d0e78a65b60
    --- /dev/null
    +++ b/jacoco/trunk/coverage/org.jacoco.core/org.jacoco.core.internal/InputStreams.java.html
    @@ -0,0 +1,51 @@
    +<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="en"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../../jacoco-resources/report.gif" type="image/gif"/><title>InputStreams.java</title><link rel="stylesheet" href="../../jacoco-resources/prettify.css" type="text/css"/><script type="text/javascript" src="../../jacoco-resources/prettify.js"></script></head><body onload="window['PR_TAB_WIDTH']=4;prettyPrint()"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../../index.html" class="el_report">JaCoCo</a> &gt; <a href="../index.html" class="el_bundle">org.jacoco.core</a> &gt; <a href="index.source.html" class="el_package">org.jacoco.core.internal</a> &gt; <span class="el_source">InputStreams.java</span></div><h1>InputStreams.java</h1><pre class="source lang-java linenums">/*******************************************************************************
    + * Copyright (c) 2009, 2024 Mountainminds GmbH &amp; Co. KG and Contributors
    + * This program and the accompanying materials are made available under
    + * the terms of the Eclipse Public License 2.0 which is available at
    + * http://www.eclipse.org/legal/epl-2.0
    + *
    + * SPDX-License-Identifier: EPL-2.0
    + *
    + * Contributors:
    + *    Evgeny Mandrikov - initial API and implementation
    + *
    + *******************************************************************************/
    +package org.jacoco.core.internal;
    +
    +import java.io.ByteArrayOutputStream;
    +import java.io.IOException;
    +import java.io.InputStream;
    +
    +/**
    + * Utilities for {@link InputStream}s.
    + */
    +public final class InputStreams {
    +
    +	private InputStreams() {
    +	}
    +
    +	/**
    +	 * Reads all bytes from an input stream into a byte array. The provided
    +	 * {@link InputStream} is not closed by this method.
    +	 *
    +	 * @param is
    +	 *            the input stream to read from
    +	 * @return a byte array containing all the bytes from the stream
    +	 * @throws IOException
    +	 *             if an I/O error occurs
    +	 */
    +	public static byte[] readFully(final InputStream is) throws IOException {
    +<span class="fc" id="L38">		final byte[] buf = new byte[1024];</span>
    +<span class="fc" id="L39">		final ByteArrayOutputStream out = new ByteArrayOutputStream();</span>
    +		while (true) {
    +<span class="fc" id="L41">			final int r = is.read(buf);</span>
    +<span class="fc bfc" id="L42" title="All 2 branches covered.">			if (r == -1) {</span>
    +<span class="fc" id="L43">				break;</span>
    +			}
    +<span class="fc" id="L45">			out.write(buf, 0, r);</span>
    +<span class="fc" id="L46">		}</span>
    +<span class="fc" id="L47">		return out.toByteArray();</span>
    +	}
    +
    +}
    +</pre><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.12.202403270442</span>Code Coverage Report for JaCoCo 0.8.12-SNAPSHOT</div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/trunk/coverage/org.jacoco.core/org.jacoco.core.internal/Pack200Streams$NoCloseInput.html b/jacoco/trunk/coverage/org.jacoco.core/org.jacoco.core.internal/Pack200Streams$NoCloseInput.html
    new file mode 100644
    index 00000000000..b06ae6adda6
    --- /dev/null
    +++ b/jacoco/trunk/coverage/org.jacoco.core/org.jacoco.core.internal/Pack200Streams$NoCloseInput.html
    @@ -0,0 +1 @@
    +<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="en"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../../jacoco-resources/report.gif" type="image/gif"/><title>Pack200Streams.NoCloseInput</title><script type="text/javascript" src="../../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../../index.html" class="el_report">JaCoCo</a> &gt; <a href="../index.html" class="el_bundle">org.jacoco.core</a> &gt; <a href="index.html" class="el_package">org.jacoco.core.internal</a> &gt; <span class="el_class">Pack200Streams.NoCloseInput</span></div><h1>Pack200Streams.NoCloseInput</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">0 of 5</td><td class="ctr2">100%</td><td class="bar">0 of 0</td><td class="ctr2">n/a</td><td class="ctr1">0</td><td class="ctr2">2</td><td class="ctr1">0</td><td class="ctr2">3</td><td class="ctr1">0</td><td class="ctr2">2</td></tr></tfoot><tbody><tr><td id="a1"><a href="Pack200Streams.java.html#L104" class="el_method">Pack200Streams.NoCloseInput(InputStream)</a></td><td class="bar" id="b0"><img src="../../jacoco-resources/greenbar.gif" width="120" height="10" title="4" alt="4"/></td><td class="ctr2" id="c0">100%</td><td class="bar" id="d0"/><td class="ctr2" id="e0">n/a</td><td class="ctr1" id="f0">0</td><td class="ctr2" id="g0">1</td><td class="ctr1" id="h0">0</td><td class="ctr2" id="i0">2</td><td class="ctr1" id="j0">0</td><td class="ctr2" id="k0">1</td></tr><tr><td id="a0"><a href="Pack200Streams.java.html#L110" class="el_method">close()</a></td><td class="bar" id="b1"><img src="../../jacoco-resources/greenbar.gif" width="30" height="10" title="1" alt="1"/></td><td class="ctr2" id="c1">100%</td><td class="bar" id="d1"/><td class="ctr2" id="e1">n/a</td><td class="ctr1" id="f1">0</td><td class="ctr2" id="g1">1</td><td class="ctr1" id="h1">0</td><td class="ctr2" id="i1">1</td><td class="ctr1" id="j1">0</td><td class="ctr2" id="k1">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.12.202403270442</span>Code Coverage Report for JaCoCo 0.8.12-SNAPSHOT</div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/trunk/coverage/org.jacoco.core/org.jacoco.core.internal/Pack200Streams.html b/jacoco/trunk/coverage/org.jacoco.core/org.jacoco.core.internal/Pack200Streams.html
    new file mode 100644
    index 00000000000..0ac72b2dc91
    --- /dev/null
    +++ b/jacoco/trunk/coverage/org.jacoco.core/org.jacoco.core.internal/Pack200Streams.html
    @@ -0,0 +1 @@
    +<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="en"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../../jacoco-resources/report.gif" type="image/gif"/><title>Pack200Streams</title><script type="text/javascript" src="../../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../../index.html" class="el_report">JaCoCo</a> &gt; <a href="../index.html" class="el_bundle">org.jacoco.core</a> &gt; <a href="index.html" class="el_package">org.jacoco.core.internal</a> &gt; <span class="el_class">Pack200Streams</span></div><h1>Pack200Streams</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">24 of 151</td><td class="ctr2">84%</td><td class="bar">0 of 0</td><td class="ctr2">n/a</td><td class="ctr1">0</td><td class="ctr2">3</td><td class="ctr1">12</td><td class="ctr2">31</td><td class="ctr1">0</td><td class="ctr2">3</td></tr></tfoot><tbody><tr><td id="a2"><a href="Pack200Streams.java.html#L42" class="el_method">unpack(InputStream)</a></td><td class="bar" id="b0"><img src="../../jacoco-resources/redbar.gif" width="18" height="10" title="12" alt="12"/><img src="../../jacoco-resources/greenbar.gif" width="101" height="10" title="64" alt="64"/></td><td class="ctr2" id="c1">84%</td><td class="bar" id="d0"/><td class="ctr2" id="e0">n/a</td><td class="ctr1" id="f0">0</td><td class="ctr2" id="g0">1</td><td class="ctr1" id="h0">6</td><td class="ctr2" id="i0">15</td><td class="ctr1" id="j0">0</td><td class="ctr2" id="k0">1</td></tr><tr><td id="a1"><a href="Pack200Streams.java.html#L77" class="el_method">pack(byte[], OutputStream)</a></td><td class="bar" id="b1"><img src="../../jacoco-resources/redbar.gif" width="18" height="10" title="12" alt="12"/><img src="../../jacoco-resources/greenbar.gif" width="83" height="10" title="53" alt="53"/></td><td class="ctr2" id="c2">81%</td><td class="bar" id="d1"/><td class="ctr2" id="e1">n/a</td><td class="ctr1" id="f1">0</td><td class="ctr2" id="g1">1</td><td class="ctr1" id="h1">6</td><td class="ctr2" id="i1">13</td><td class="ctr1" id="j1">0</td><td class="ctr2" id="k1">1</td></tr><tr><td id="a0"><a href="Pack200Streams.java.html#L97" class="el_method">newIOException(Throwable)</a></td><td class="bar" id="b2"><img src="../../jacoco-resources/greenbar.gif" width="15" height="10" title="10" alt="10"/></td><td class="ctr2" id="c0">100%</td><td class="bar" id="d2"/><td class="ctr2" id="e2">n/a</td><td class="ctr1" id="f2">0</td><td class="ctr2" id="g2">1</td><td class="ctr1" id="h2">0</td><td class="ctr2" id="i2">3</td><td class="ctr1" id="j2">0</td><td class="ctr2" id="k2">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.12.202403270442</span>Code Coverage Report for JaCoCo 0.8.12-SNAPSHOT</div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/trunk/coverage/org.jacoco.core/org.jacoco.core.internal/Pack200Streams.java.html b/jacoco/trunk/coverage/org.jacoco.core/org.jacoco.core.internal/Pack200Streams.java.html
    new file mode 100644
    index 00000000000..251fef91d24
    --- /dev/null
    +++ b/jacoco/trunk/coverage/org.jacoco.core/org.jacoco.core.internal/Pack200Streams.java.html
    @@ -0,0 +1,117 @@
    +<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="en"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../../jacoco-resources/report.gif" type="image/gif"/><title>Pack200Streams.java</title><link rel="stylesheet" href="../../jacoco-resources/prettify.css" type="text/css"/><script type="text/javascript" src="../../jacoco-resources/prettify.js"></script></head><body onload="window['PR_TAB_WIDTH']=4;prettyPrint()"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../../index.html" class="el_report">JaCoCo</a> &gt; <a href="../index.html" class="el_bundle">org.jacoco.core</a> &gt; <a href="index.source.html" class="el_package">org.jacoco.core.internal</a> &gt; <span class="el_source">Pack200Streams.java</span></div><h1>Pack200Streams.java</h1><pre class="source lang-java linenums">/*******************************************************************************
    + * Copyright (c) 2009, 2024 Mountainminds GmbH &amp; Co. KG and Contributors
    + * This program and the accompanying materials are made available under
    + * the terms of the Eclipse Public License 2.0 which is available at
    + * http://www.eclipse.org/legal/epl-2.0
    + *
    + * SPDX-License-Identifier: EPL-2.0
    + *
    + * Contributors:
    + *    Marc R. Hoffmann - initial API and implementation
    + *
    + *******************************************************************************/
    +package org.jacoco.core.internal;
    +
    +import java.io.ByteArrayInputStream;
    +import java.io.ByteArrayOutputStream;
    +import java.io.FilterInputStream;
    +import java.io.IOException;
    +import java.io.InputStream;
    +import java.io.OutputStream;
    +import java.lang.reflect.InvocationTargetException;
    +import java.util.jar.JarInputStream;
    +import java.util.jar.JarOutputStream;
    +
    +/**
    + * Internal wrapper for the weird Pack200 Java API to allow usage with streams.
    + */
    +public final class Pack200Streams {
    +
    +	/**
    +	 * Unpack a stream in Pack200 format into a stream in JAR/ZIP format.
    +	 *
    +	 * @param input
    +	 *            stream in Pack200 format
    +	 * @return stream in JAR/ZIP format
    +	 * @throws IOException
    +	 *             in case of errors with the streams
    +	 */
    +	@SuppressWarnings(&quot;resource&quot;)
    +	public static InputStream unpack(final InputStream input)
    +			throws IOException {
    +<span class="fc" id="L42">		final ByteArrayOutputStream buffer = new ByteArrayOutputStream();</span>
    +<span class="fc" id="L43">		final JarOutputStream jar = new JarOutputStream(buffer);</span>
    +		try {
    +<span class="fc" id="L45">			final Object unpacker = Class.forName(&quot;java.util.jar.Pack200&quot;)</span>
    +					.getMethod(&quot;newUnpacker&quot;).invoke(null);
    +<span class="fc" id="L47">			Class.forName(&quot;java.util.jar.Pack200$Unpacker&quot;)</span>
    +					.getMethod(&quot;unpack&quot;, InputStream.class,
    +							JarOutputStream.class)
    +					.invoke(unpacker, new NoCloseInput(input), jar);
    +<span class="nc" id="L51">		} catch (ClassNotFoundException e) {</span>
    +<span class="nc" id="L52">			throw newIOException(e);</span>
    +<span class="nc" id="L53">		} catch (NoSuchMethodException e) {</span>
    +<span class="nc" id="L54">			throw newIOException(e);</span>
    +<span class="nc" id="L55">		} catch (IllegalAccessException e) {</span>
    +<span class="nc" id="L56">			throw newIOException(e);</span>
    +<span class="fc" id="L57">		} catch (InvocationTargetException e) {</span>
    +<span class="fc" id="L58">			throw newIOException(e.getCause());</span>
    +<span class="fc" id="L59">		}</span>
    +<span class="fc" id="L60">		jar.finish();</span>
    +<span class="fc" id="L61">		return new ByteArrayInputStream(buffer.toByteArray());</span>
    +	}
    +
    +	/**
    +	 * Packs a buffer in JAR/ZIP format into a stream in Pack200 format.
    +	 *
    +	 * @param source
    +	 *            source in JAR/ZIP format
    +	 * @param output
    +	 *            stream in Pack200 format
    +	 * @throws IOException
    +	 *             in case of errors with the streams
    +	 */
    +	@SuppressWarnings(&quot;resource&quot;)
    +	public static void pack(final byte[] source, final OutputStream output)
    +			throws IOException {
    +<span class="fc" id="L77">		final JarInputStream jar = new JarInputStream(</span>
    +				new ByteArrayInputStream(source));
    +		try {
    +<span class="fc" id="L80">			final Object packer = Class.forName(&quot;java.util.jar.Pack200&quot;)</span>
    +					.getMethod(&quot;newPacker&quot;).invoke(null);
    +<span class="fc" id="L82">			Class.forName(&quot;java.util.jar.Pack200$Packer&quot;)</span>
    +					.getMethod(&quot;pack&quot;, JarInputStream.class, OutputStream.class)
    +					.invoke(packer, jar, output);
    +<span class="nc" id="L85">		} catch (ClassNotFoundException e) {</span>
    +<span class="nc" id="L86">			throw newIOException(e);</span>
    +<span class="nc" id="L87">		} catch (NoSuchMethodException e) {</span>
    +<span class="nc" id="L88">			throw newIOException(e);</span>
    +<span class="nc" id="L89">		} catch (IllegalAccessException e) {</span>
    +<span class="nc" id="L90">			throw newIOException(e);</span>
    +<span class="fc" id="L91">		} catch (InvocationTargetException e) {</span>
    +<span class="fc" id="L92">			throw newIOException(e.getCause());</span>
    +<span class="fc" id="L93">		}</span>
    +<span class="fc" id="L94">	}</span>
    +
    +	private static IOException newIOException(final Throwable cause) {
    +<span class="fc" id="L97">		final IOException exception = new IOException();</span>
    +<span class="fc" id="L98">		exception.initCause(cause);</span>
    +<span class="fc" id="L99">		return exception;</span>
    +	}
    +
    +	private static class NoCloseInput extends FilterInputStream {
    +		protected NoCloseInput(final InputStream in) {
    +<span class="fc" id="L104">			super(in);</span>
    +<span class="fc" id="L105">		}</span>
    +
    +		@Override
    +		public void close() throws IOException {
    +			// do not close the underlying stream
    +<span class="fc" id="L110">		}</span>
    +	}
    +
    +	private Pack200Streams() {
    +	}
    +
    +}
    +</pre><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.12.202403270442</span>Code Coverage Report for JaCoCo 0.8.12-SNAPSHOT</div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/trunk/coverage/org.jacoco.core/org.jacoco.core.internal/index.html b/jacoco/trunk/coverage/org.jacoco.core/org.jacoco.core.internal/index.html
    new file mode 100644
    index 00000000000..6f9415d4b7c
    --- /dev/null
    +++ b/jacoco/trunk/coverage/org.jacoco.core/org.jacoco.core.internal/index.html
    @@ -0,0 +1 @@
    +<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="en"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../../jacoco-resources/report.gif" type="image/gif"/><title>org.jacoco.core.internal</title><script type="text/javascript" src="../../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb', 'coveragetable'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="index.source.html" class="el_source">Source Files</a><a href="../../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../../index.html" class="el_report">JaCoCo</a> &gt; <a href="../index.html" class="el_bundle">org.jacoco.core</a> &gt; <span class="el_package">org.jacoco.core.internal</span></div><h1>org.jacoco.core.internal</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td><td class="sortable ctr1" id="l" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="m" onclick="toggleSort(this)">Classes</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">24 of 261</td><td class="ctr2">90%</td><td class="bar">0 of 12</td><td class="ctr2">100%</td><td class="ctr1">0</td><td class="ctr2">18</td><td class="ctr1">12</td><td class="ctr2">63</td><td class="ctr1">0</td><td class="ctr2">11</td><td class="ctr1">0</td><td class="ctr2">4</td></tr></tfoot><tbody><tr><td id="a2"><a href="Pack200Streams.html" class="el_class">Pack200Streams</a></td><td class="bar" id="b0"><img src="../../jacoco-resources/redbar.gif" width="19" height="10" title="24" alt="24"/><img src="../../jacoco-resources/greenbar.gif" width="100" height="10" title="127" alt="127"/></td><td class="ctr2" id="c3">84%</td><td class="bar" id="d2"/><td class="ctr2" id="e2">n/a</td><td class="ctr1" id="f0">0</td><td class="ctr2" id="g1">3</td><td class="ctr1" id="h0">12</td><td class="ctr2" id="i0">31</td><td class="ctr1" id="j0">0</td><td class="ctr2" id="k1">3</td><td class="ctr1" id="l0">0</td><td class="ctr2" id="m0">1</td></tr><tr><td id="a0"><a href="ContentTypeDetector.html" class="el_class">ContentTypeDetector</a></td><td class="bar" id="b1"><img src="../../jacoco-resources/greenbar.gif" width="64" height="10" title="81" alt="81"/></td><td class="ctr2" id="c0">100%</td><td class="bar" id="d0"><img src="../../jacoco-resources/greenbar.gif" width="120" height="10" title="10" alt="10"/></td><td class="ctr2" id="e0">100%</td><td class="ctr1" id="f1">0</td><td class="ctr2" id="g0">11</td><td class="ctr1" id="h1">0</td><td class="ctr2" id="i1">21</td><td class="ctr1" id="j1">0</td><td class="ctr2" id="k0">5</td><td class="ctr1" id="l1">0</td><td class="ctr2" id="m1">1</td></tr><tr><td id="a1"><a href="InputStreams.html" class="el_class">InputStreams</a></td><td class="bar" id="b2"><img src="../../jacoco-resources/greenbar.gif" width="19" height="10" title="24" alt="24"/></td><td class="ctr2" id="c1">100%</td><td class="bar" id="d1"><img src="../../jacoco-resources/greenbar.gif" width="24" height="10" title="2" alt="2"/></td><td class="ctr2" id="e1">100%</td><td class="ctr1" id="f2">0</td><td class="ctr2" id="g2">2</td><td class="ctr1" id="h2">0</td><td class="ctr2" id="i2">8</td><td class="ctr1" id="j2">0</td><td class="ctr2" id="k3">1</td><td class="ctr1" id="l2">0</td><td class="ctr2" id="m2">1</td></tr><tr><td id="a3"><a href="Pack200Streams$NoCloseInput.html" class="el_class">Pack200Streams.NoCloseInput</a></td><td class="bar" id="b3"><img src="../../jacoco-resources/greenbar.gif" width="3" height="10" title="5" alt="5"/></td><td class="ctr2" id="c2">100%</td><td class="bar" id="d3"/><td class="ctr2" id="e3">n/a</td><td class="ctr1" id="f3">0</td><td class="ctr2" id="g3">2</td><td class="ctr1" id="h3">0</td><td class="ctr2" id="i3">3</td><td class="ctr1" id="j3">0</td><td class="ctr2" id="k2">2</td><td class="ctr1" id="l3">0</td><td class="ctr2" id="m3">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.12.202403270442</span>Code Coverage Report for JaCoCo 0.8.12-SNAPSHOT</div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/trunk/coverage/org.jacoco.core/org.jacoco.core.internal/index.source.html b/jacoco/trunk/coverage/org.jacoco.core/org.jacoco.core.internal/index.source.html
    new file mode 100644
    index 00000000000..aa30319795c
    --- /dev/null
    +++ b/jacoco/trunk/coverage/org.jacoco.core/org.jacoco.core.internal/index.source.html
    @@ -0,0 +1 @@
    +<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="en"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../../jacoco-resources/report.gif" type="image/gif"/><title>org.jacoco.core.internal</title><script type="text/javascript" src="../../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb', 'coveragetable'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="index.html" class="el_class">Classes</a><a href="../../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../../index.html" class="el_report">JaCoCo</a> &gt; <a href="../index.html" class="el_bundle">org.jacoco.core</a> &gt; <span class="el_package">org.jacoco.core.internal</span></div><h1>org.jacoco.core.internal</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td><td class="sortable ctr1" id="l" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="m" onclick="toggleSort(this)">Classes</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">24 of 261</td><td class="ctr2">90%</td><td class="bar">0 of 12</td><td class="ctr2">100%</td><td class="ctr1">0</td><td class="ctr2">18</td><td class="ctr1">12</td><td class="ctr2">63</td><td class="ctr1">0</td><td class="ctr2">11</td><td class="ctr1">0</td><td class="ctr2">4</td></tr></tfoot><tbody><tr><td id="a2"><a href="Pack200Streams.java.html" class="el_source">Pack200Streams.java</a></td><td class="bar" id="b0"><img src="../../jacoco-resources/redbar.gif" width="18" height="10" title="24" alt="24"/><img src="../../jacoco-resources/greenbar.gif" width="101" height="10" title="132" alt="132"/></td><td class="ctr2" id="c2">84%</td><td class="bar" id="d2"/><td class="ctr2" id="e2">n/a</td><td class="ctr1" id="f0">0</td><td class="ctr2" id="g1">5</td><td class="ctr1" id="h0">12</td><td class="ctr2" id="i0">34</td><td class="ctr1" id="j0">0</td><td class="ctr2" id="k0">5</td><td class="ctr1" id="l0">0</td><td class="ctr2" id="m0">2</td></tr><tr><td id="a0"><a href="ContentTypeDetector.java.html" class="el_source">ContentTypeDetector.java</a></td><td class="bar" id="b1"><img src="../../jacoco-resources/greenbar.gif" width="62" height="10" title="81" alt="81"/></td><td class="ctr2" id="c0">100%</td><td class="bar" id="d0"><img src="../../jacoco-resources/greenbar.gif" width="120" height="10" title="10" alt="10"/></td><td class="ctr2" id="e0">100%</td><td class="ctr1" id="f1">0</td><td class="ctr2" id="g0">11</td><td class="ctr1" id="h1">0</td><td class="ctr2" id="i1">21</td><td class="ctr1" id="j1">0</td><td class="ctr2" id="k1">5</td><td class="ctr1" id="l1">0</td><td class="ctr2" id="m1">1</td></tr><tr><td id="a1"><a href="InputStreams.java.html" class="el_source">InputStreams.java</a></td><td class="bar" id="b2"><img src="../../jacoco-resources/greenbar.gif" width="18" height="10" title="24" alt="24"/></td><td class="ctr2" id="c1">100%</td><td class="bar" id="d1"><img src="../../jacoco-resources/greenbar.gif" width="24" height="10" title="2" alt="2"/></td><td class="ctr2" id="e1">100%</td><td class="ctr1" id="f2">0</td><td class="ctr2" id="g2">2</td><td class="ctr1" id="h2">0</td><td class="ctr2" id="i2">8</td><td class="ctr1" id="j2">0</td><td class="ctr2" id="k2">1</td><td class="ctr1" id="l2">0</td><td class="ctr2" id="m2">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.12.202403270442</span>Code Coverage Report for JaCoCo 0.8.12-SNAPSHOT</div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/trunk/coverage/org.jacoco.core/org.jacoco.core.runtime/AbstractRuntime.html b/jacoco/trunk/coverage/org.jacoco.core/org.jacoco.core.runtime/AbstractRuntime.html
    new file mode 100644
    index 00000000000..e912e27c257
    --- /dev/null
    +++ b/jacoco/trunk/coverage/org.jacoco.core/org.jacoco.core.runtime/AbstractRuntime.html
    @@ -0,0 +1 @@
    +<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="en"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../../jacoco-resources/report.gif" type="image/gif"/><title>AbstractRuntime</title><script type="text/javascript" src="../../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../../index.html" class="el_report">JaCoCo</a> &gt; <a href="../index.html" class="el_bundle">org.jacoco.core</a> &gt; <a href="index.html" class="el_package">org.jacoco.core.runtime</a> &gt; <span class="el_class">AbstractRuntime</span></div><h1>AbstractRuntime</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">4 of 16</td><td class="ctr2">75%</td><td class="bar">0 of 0</td><td class="ctr2">n/a</td><td class="ctr1">1</td><td class="ctr2">4</td><td class="ctr1">1</td><td class="ctr2">5</td><td class="ctr1">1</td><td class="ctr2">4</td></tr></tfoot><tbody><tr><td id="a1"><a href="AbstractRuntime.java.html#L40" class="el_method">createRandomId()</a></td><td class="bar" id="b0"><img src="../../jacoco-resources/redbar.gif" width="96" height="10" title="4" alt="4"/></td><td class="ctr2" id="c3">0%</td><td class="bar" id="d0"/><td class="ctr2" id="e0">n/a</td><td class="ctr1" id="f0">1</td><td class="ctr2" id="g0">1</td><td class="ctr1" id="h0">1</td><td class="ctr2" id="i1">1</td><td class="ctr1" id="j0">1</td><td class="ctr2" id="k0">1</td></tr><tr><td id="a3"><a href="AbstractRuntime.java.html#L32" class="el_method">static {...}</a></td><td class="bar" id="b1"><img src="../../jacoco-resources/greenbar.gif" width="120" height="10" title="5" alt="5"/></td><td class="ctr2" id="c0">100%</td><td class="bar" id="d1"/><td class="ctr2" id="e1">n/a</td><td class="ctr1" id="f1">0</td><td class="ctr2" id="g1">1</td><td class="ctr1" id="h1">0</td><td class="ctr2" id="i2">1</td><td class="ctr1" id="j1">0</td><td class="ctr2" id="k1">1</td></tr><tr><td id="a2"><a href="AbstractRuntime.java.html#L29" class="el_method">startup(RuntimeData)</a></td><td class="bar" id="b2"><img src="../../jacoco-resources/greenbar.gif" width="96" height="10" title="4" alt="4"/></td><td class="ctr2" id="c1">100%</td><td class="bar" id="d2"/><td class="ctr2" id="e2">n/a</td><td class="ctr1" id="f2">0</td><td class="ctr2" id="g2">1</td><td class="ctr1" id="h2">0</td><td class="ctr2" id="i0">2</td><td class="ctr1" id="j2">0</td><td class="ctr2" id="k2">1</td></tr><tr><td id="a0"><a href="AbstractRuntime.java.html#L20" class="el_method">AbstractRuntime()</a></td><td class="bar" id="b3"><img src="../../jacoco-resources/greenbar.gif" width="72" height="10" title="3" alt="3"/></td><td class="ctr2" id="c2">100%</td><td class="bar" id="d3"/><td class="ctr2" id="e3">n/a</td><td class="ctr1" id="f3">0</td><td class="ctr2" id="g3">1</td><td class="ctr1" id="h3">0</td><td class="ctr2" id="i3">1</td><td class="ctr1" id="j3">0</td><td class="ctr2" id="k3">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.12.202403270442</span>Code Coverage Report for JaCoCo 0.8.12-SNAPSHOT</div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/trunk/coverage/org.jacoco.core/org.jacoco.core.runtime/AbstractRuntime.java.html b/jacoco/trunk/coverage/org.jacoco.core/org.jacoco.core.runtime/AbstractRuntime.java.html
    new file mode 100644
    index 00000000000..acb241e09b8
    --- /dev/null
    +++ b/jacoco/trunk/coverage/org.jacoco.core/org.jacoco.core.runtime/AbstractRuntime.java.html
    @@ -0,0 +1,44 @@
    +<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="en"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../../jacoco-resources/report.gif" type="image/gif"/><title>AbstractRuntime.java</title><link rel="stylesheet" href="../../jacoco-resources/prettify.css" type="text/css"/><script type="text/javascript" src="../../jacoco-resources/prettify.js"></script></head><body onload="window['PR_TAB_WIDTH']=4;prettyPrint()"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../../index.html" class="el_report">JaCoCo</a> &gt; <a href="../index.html" class="el_bundle">org.jacoco.core</a> &gt; <a href="index.source.html" class="el_package">org.jacoco.core.runtime</a> &gt; <span class="el_source">AbstractRuntime.java</span></div><h1>AbstractRuntime.java</h1><pre class="source lang-java linenums">/*******************************************************************************
    + * Copyright (c) 2009, 2024 Mountainminds GmbH &amp; Co. KG and Contributors
    + * This program and the accompanying materials are made available under
    + * the terms of the Eclipse Public License 2.0 which is available at
    + * http://www.eclipse.org/legal/epl-2.0
    + *
    + * SPDX-License-Identifier: EPL-2.0
    + *
    + * Contributors:
    + *    Marc R. Hoffmann - initial API and implementation
    + *
    + *******************************************************************************/
    +package org.jacoco.core.runtime;
    +
    +import java.util.Random;
    +
    +/**
    + * Base {@link IRuntime} implementation.
    + */
    +<span class="fc" id="L20">public abstract class AbstractRuntime implements IRuntime {</span>
    +
    +	/** access to the runtime data */
    +	protected RuntimeData data;
    +
    +	/**
    +	 * Subclasses must call this method when overwriting it.
    +	 */
    +	public void startup(final RuntimeData data) throws Exception {
    +<span class="fc" id="L29">		this.data = data;</span>
    +<span class="fc" id="L30">	}</span>
    +
    +<span class="fc" id="L32">	private static final Random RANDOM = new Random();</span>
    +
    +	/**
    +	 * Creates a random session identifier.
    +	 *
    +	 * @return random session identifier
    +	 */
    +	public static String createRandomId() {
    +<span class="nc" id="L40">		return Integer.toHexString(RANDOM.nextInt());</span>
    +	}
    +
    +}
    +</pre><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.12.202403270442</span>Code Coverage Report for JaCoCo 0.8.12-SNAPSHOT</div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/trunk/coverage/org.jacoco.core/org.jacoco.core.runtime/AgentOptions$OutputMode.html b/jacoco/trunk/coverage/org.jacoco.core/org.jacoco.core.runtime/AgentOptions$OutputMode.html
    new file mode 100644
    index 00000000000..cb678134d7c
    --- /dev/null
    +++ b/jacoco/trunk/coverage/org.jacoco.core/org.jacoco.core.runtime/AgentOptions$OutputMode.html
    @@ -0,0 +1 @@
    +<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="en"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../../jacoco-resources/report.gif" type="image/gif"/><title>AgentOptions.OutputMode</title><script type="text/javascript" src="../../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../../index.html" class="el_report">JaCoCo</a> &gt; <a href="../index.html" class="el_bundle">org.jacoco.core</a> &gt; <a href="index.html" class="el_package">org.jacoco.core.runtime</a> &gt; <span class="el_class">AgentOptions.OutputMode</span></div><h1>AgentOptions.OutputMode</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">0 of 44</td><td class="ctr2">100%</td><td class="bar">0 of 0</td><td class="ctr2">n/a</td><td class="ctr1">0</td><td class="ctr2">1</td><td class="ctr1">0</td><td class="ctr2">5</td><td class="ctr1">0</td><td class="ctr2">1</td></tr></tfoot><tbody><tr><td id="a0"><a href="AgentOptions.java.html#L124" class="el_method">static {...}</a></td><td class="bar" id="b0"><img src="../../jacoco-resources/greenbar.gif" width="120" height="10" title="44" alt="44"/></td><td class="ctr2" id="c0">100%</td><td class="bar" id="d0"/><td class="ctr2" id="e0">n/a</td><td class="ctr1" id="f0">0</td><td class="ctr2" id="g0">1</td><td class="ctr1" id="h0">0</td><td class="ctr2" id="i0">5</td><td class="ctr1" id="j0">0</td><td class="ctr2" id="k0">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.12.202403270442</span>Code Coverage Report for JaCoCo 0.8.12-SNAPSHOT</div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/trunk/coverage/org.jacoco.core/org.jacoco.core.runtime/AgentOptions.html b/jacoco/trunk/coverage/org.jacoco.core/org.jacoco.core.runtime/AgentOptions.html
    new file mode 100644
    index 00000000000..fe9e77df450
    --- /dev/null
    +++ b/jacoco/trunk/coverage/org.jacoco.core/org.jacoco.core.runtime/AgentOptions.html
    @@ -0,0 +1 @@
    +<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="en"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../../jacoco-resources/report.gif" type="image/gif"/><title>AgentOptions</title><script type="text/javascript" src="../../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../../index.html" class="el_report">JaCoCo</a> &gt; <a href="../index.html" class="el_bundle">org.jacoco.core</a> &gt; <a href="index.html" class="el_package">org.jacoco.core.runtime</a> &gt; <span class="el_class">AgentOptions</span></div><h1>AgentOptions</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">0 of 501</td><td class="ctr2">100%</td><td class="bar">0 of 34</td><td class="ctr2">100%</td><td class="ctr1">0</td><td class="ctr2">62</td><td class="ctr1">0</td><td class="ctr2">108</td><td class="ctr1">0</td><td class="ctr2">45</td></tr></tfoot><tbody><tr><td id="a2"><a href="AgentOptions.java.html#L213" class="el_method">AgentOptions(String)</a></td><td class="bar" id="b0"><img src="../../jacoco-resources/greenbar.gif" width="120" height="10" title="78" alt="78"/></td><td class="ctr2" id="c0">100%</td><td class="bar" id="d0"><img src="../../jacoco-resources/greenbar.gif" width="120" height="10" title="10" alt="10"/></td><td class="ctr2" id="e0">100%</td><td class="ctr1" id="f0">0</td><td class="ctr2" id="g0">6</td><td class="ctr1" id="h0">0</td><td class="ctr2" id="i0">13</td><td class="ctr1" id="j0">0</td><td class="ctr2" id="k0">1</td></tr><tr><td id="a41"><a href="AgentOptions.java.html#L118" class="el_method">static {...}</a></td><td class="bar" id="b1"><img src="../../jacoco-resources/greenbar.gif" width="101" height="10" title="66" alt="66"/></td><td class="ctr2" id="c1">100%</td><td class="bar" id="d9"/><td class="ctr2" id="e9">n/a</td><td class="ctr1" id="f1">0</td><td class="ctr2" id="g9">1</td><td class="ctr1" id="h1">0</td><td class="ctr2" id="i4">3</td><td class="ctr1" id="j1">0</td><td class="ctr2" id="k1">1</td></tr><tr><td id="a42"><a href="AgentOptions.java.html#L642" class="el_method">toString()</a></td><td class="bar" id="b2"><img src="../../jacoco-resources/greenbar.gif" width="63" height="10" title="41" alt="41"/></td><td class="ctr2" id="c2">100%</td><td class="bar" id="d1"><img src="../../jacoco-resources/greenbar.gif" width="72" height="10" title="6" alt="6"/></td><td class="ctr2" id="e1">100%</td><td class="ctr1" id="f2">0</td><td class="ctr2" id="g1">4</td><td class="ctr1" id="h2">0</td><td class="ctr2" id="i1">9</td><td class="ctr1" id="j2">0</td><td class="ctr2" id="k2">1</td></tr><tr><td id="a22"><a href="AgentOptions.java.html#L625" class="el_method">prependVMArguments(String, File)</a></td><td class="bar" id="b3"><img src="../../jacoco-resources/greenbar.gif" width="55" height="10" title="36" alt="36"/></td><td class="ctr2" id="c3">100%</td><td class="bar" id="d2"><img src="../../jacoco-resources/greenbar.gif" width="48" height="10" title="4" alt="4"/></td><td class="ctr2" id="e2">100%</td><td class="ctr1" id="f3">0</td><td class="ctr2" id="g2">3</td><td class="ctr1" id="h3">0</td><td class="ctr2" id="i2">7</td><td class="ctr1" id="j3">0</td><td class="ctr2" id="k3">1</td></tr><tr><td id="a1"><a href="AgentOptions.java.html#L242" class="el_method">AgentOptions(Properties)</a></td><td class="bar" id="b4"><img src="../../jacoco-resources/greenbar.gif" width="36" height="10" title="24" alt="24"/></td><td class="ctr2" id="c4">100%</td><td class="bar" id="d3"><img src="../../jacoco-resources/greenbar.gif" width="48" height="10" title="4" alt="4"/></td><td class="ctr2" id="e3">100%</td><td class="ctr1" id="f4">0</td><td class="ctr2" id="g3">3</td><td class="ctr1" id="h4">0</td><td class="ctr2" id="i3">7</td><td class="ctr1" id="j4">0</td><td class="ctr2" id="k4">1</td></tr><tr><td id="a17"><a href="AgentOptions.java.html#L497" class="el_method">getOutput()</a></td><td class="bar" id="b5"><img src="../../jacoco-resources/greenbar.gif" width="20" height="10" title="13" alt="13"/></td><td class="ctr2" id="c5">100%</td><td class="bar" id="d4"><img src="../../jacoco-resources/greenbar.gif" width="24" height="10" title="2" alt="2"/></td><td class="ctr2" id="e4">100%</td><td class="ctr1" id="f5">0</td><td class="ctr2" id="g4">2</td><td class="ctr1" id="h5">0</td><td class="ctr2" id="i9">2</td><td class="ctr1" id="j5">0</td><td class="ctr2" id="k5">1</td></tr><tr><td id="a14"><a href="AgentOptions.java.html#L578" class="el_method">getOption(String, boolean)</a></td><td class="bar" id="b6"><img src="../../jacoco-resources/greenbar.gif" width="20" height="10" title="13" alt="13"/></td><td class="ctr2" id="c6">100%</td><td class="bar" id="d5"><img src="../../jacoco-resources/greenbar.gif" width="24" height="10" title="2" alt="2"/></td><td class="ctr2" id="e5">100%</td><td class="ctr1" id="f6">0</td><td class="ctr2" id="g5">2</td><td class="ctr1" id="h6">0</td><td class="ctr2" id="i10">2</td><td class="ctr1" id="j6">0</td><td class="ctr2" id="k6">1</td></tr><tr><td id="a15"><a href="AgentOptions.java.html#L583" class="el_method">getOption(String, int)</a></td><td class="bar" id="b7"><img src="../../jacoco-resources/greenbar.gif" width="20" height="10" title="13" alt="13"/></td><td class="ctr2" id="c7">100%</td><td class="bar" id="d6"><img src="../../jacoco-resources/greenbar.gif" width="24" height="10" title="2" alt="2"/></td><td class="ctr2" id="e6">100%</td><td class="ctr1" id="f7">0</td><td class="ctr2" id="g6">2</td><td class="ctr1" id="h7">0</td><td class="ctr2" id="i11">2</td><td class="ctr1" id="j7">0</td><td class="ctr2" id="k7">1</td></tr><tr><td id="a21"><a href="AgentOptions.java.html#L596" class="el_method">getVMArgument(File)</a></td><td class="bar" id="b8"><img src="../../jacoco-resources/greenbar.gif" width="20" height="10" title="13" alt="13"/></td><td class="ctr2" id="c8">100%</td><td class="bar" id="d10"/><td class="ctr2" id="e10">n/a</td><td class="ctr1" id="f8">0</td><td class="ctr2" id="g10">1</td><td class="ctr1" id="h8">0</td><td class="ctr2" id="i30">1</td><td class="ctr1" id="j8">0</td><td class="ctr2" id="k8">1</td></tr><tr><td id="a16"><a href="AgentOptions.java.html#L573" class="el_method">getOption(String, String)</a></td><td class="bar" id="b9"><img src="../../jacoco-resources/greenbar.gif" width="18" height="10" title="12" alt="12"/></td><td class="ctr2" id="c9">100%</td><td class="bar" id="d7"><img src="../../jacoco-resources/greenbar.gif" width="24" height="10" title="2" alt="2"/></td><td class="ctr2" id="e7">100%</td><td class="ctr1" id="f9">0</td><td class="ctr2" id="g7">2</td><td class="ctr1" id="h9">0</td><td class="ctr2" id="i12">2</td><td class="ctr1" id="j9">0</td><td class="ctr2" id="k9">1</td></tr><tr><td id="a0"><a href="AgentOptions.java.html#L202" class="el_method">AgentOptions()</a></td><td class="bar" id="b10"><img src="../../jacoco-resources/greenbar.gif" width="12" height="10" title="8" alt="8"/></td><td class="ctr2" id="c10">100%</td><td class="bar" id="d11"/><td class="ctr2" id="e11">n/a</td><td class="ctr1" id="f10">0</td><td class="ctr2" id="g11">1</td><td class="ctr1" id="h10">0</td><td class="ctr2" id="i5">3</td><td class="ctr1" id="j10">0</td><td class="ctr2" id="k10">1</td></tr><tr><td id="a43"><a href="AgentOptions.java.html#L252" class="el_method">validateAll()</a></td><td class="bar" id="b11"><img src="../../jacoco-resources/greenbar.gif" width="12" height="10" title="8" alt="8"/></td><td class="ctr2" id="c11">100%</td><td class="bar" id="d12"/><td class="ctr2" id="e12">n/a</td><td class="ctr1" id="f11">0</td><td class="ctr2" id="g12">1</td><td class="ctr1" id="h11">0</td><td class="ctr2" id="i6">3</td><td class="ctr1" id="j11">0</td><td class="ctr2" id="k11">1</td></tr><tr><td id="a44"><a href="AgentOptions.java.html#L257" class="el_method">validatePort(int)</a></td><td class="bar" id="b12"><img src="../../jacoco-resources/greenbar.gif" width="12" height="10" title="8" alt="8"/></td><td class="ctr2" id="c12">100%</td><td class="bar" id="d8"><img src="../../jacoco-resources/greenbar.gif" width="24" height="10" title="2" alt="2"/></td><td class="ctr2" id="e8">100%</td><td class="ctr1" id="f12">0</td><td class="ctr2" id="g8">2</td><td class="ctr1" id="h12">0</td><td class="ctr2" id="i7">3</td><td class="ctr1" id="j12">0</td><td class="ctr2" id="k12">1</td></tr><tr><td id="a39"><a href="AgentOptions.java.html#L464" class="el_method">setPort(int)</a></td><td class="bar" id="b13"><img src="../../jacoco-resources/greenbar.gif" width="12" height="10" title="8" alt="8"/></td><td class="ctr2" id="c13">100%</td><td class="bar" id="d13"/><td class="ctr2" id="e13">n/a</td><td class="ctr1" id="f13">0</td><td class="ctr2" id="g13">1</td><td class="ctr1" id="h13">0</td><td class="ctr2" id="i8">3</td><td class="ctr1" id="j13">0</td><td class="ctr2" id="k13">1</td></tr><tr><td id="a36"><a href="AgentOptions.java.html#L569" class="el_method">setOption(String, String)</a></td><td class="bar" id="b14"><img src="../../jacoco-resources/greenbar.gif" width="10" height="10" title="7" alt="7"/></td><td class="ctr2" id="c14">100%</td><td class="bar" id="d14"/><td class="ctr2" id="e14">n/a</td><td class="ctr1" id="f14">0</td><td class="ctr2" id="g14">1</td><td class="ctr1" id="h14">0</td><td class="ctr2" id="i13">2</td><td class="ctr1" id="j14">0</td><td class="ctr2" id="k14">1</td></tr><tr><td id="a37"><a href="AgentOptions.java.html#L518" class="el_method">setOutput(AgentOptions.OutputMode)</a></td><td class="bar" id="b15"><img src="../../jacoco-resources/greenbar.gif" width="9" height="10" title="6" alt="6"/></td><td class="ctr2" id="c15">100%</td><td class="bar" id="d15"/><td class="ctr2" id="e15">n/a</td><td class="ctr1" id="f15">0</td><td class="ctr2" id="g15">1</td><td class="ctr1" id="h15">0</td><td class="ctr2" id="i14">2</td><td class="ctr1" id="j15">0</td><td class="ctr2" id="k15">1</td></tr><tr><td id="a35"><a href="AgentOptions.java.html#L561" class="el_method">setOption(String, int)</a></td><td class="bar" id="b16"><img src="../../jacoco-resources/greenbar.gif" width="9" height="10" title="6" alt="6"/></td><td class="ctr2" id="c16">100%</td><td class="bar" id="d16"/><td class="ctr2" id="e16">n/a</td><td class="ctr1" id="f16">0</td><td class="ctr2" id="g16">1</td><td class="ctr1" id="h16">0</td><td class="ctr2" id="i15">2</td><td class="ctr1" id="j16">0</td><td class="ctr2" id="k16">1</td></tr><tr><td id="a34"><a href="AgentOptions.java.html#L565" class="el_method">setOption(String, boolean)</a></td><td class="bar" id="b17"><img src="../../jacoco-resources/greenbar.gif" width="9" height="10" title="6" alt="6"/></td><td class="ctr2" id="c17">100%</td><td class="bar" id="d17"/><td class="ctr2" id="e17">n/a</td><td class="ctr1" id="f17">0</td><td class="ctr2" id="g17">1</td><td class="ctr1" id="h17">0</td><td class="ctr2" id="i16">2</td><td class="ctr1" id="j17">0</td><td class="ctr2" id="k17">1</td></tr><tr><td id="a6"><a href="AgentOptions.java.html#L268" class="el_method">getDestfile()</a></td><td class="bar" id="b18"><img src="../../jacoco-resources/greenbar.gif" width="7" height="10" title="5" alt="5"/></td><td class="ctr2" id="c18">100%</td><td class="bar" id="d18"/><td class="ctr2" id="e18">n/a</td><td class="ctr1" id="f18">0</td><td class="ctr2" id="g18">1</td><td class="ctr1" id="h18">0</td><td class="ctr2" id="i31">1</td><td class="ctr1" id="j18">0</td><td class="ctr2" id="k18">1</td></tr><tr><td id="a26"><a href="AgentOptions.java.html#L278" class="el_method">setDestfile(String)</a></td><td class="bar" id="b19"><img src="../../jacoco-resources/greenbar.gif" width="7" height="10" title="5" alt="5"/></td><td class="ctr2" id="c19">100%</td><td class="bar" id="d19"/><td class="ctr2" id="e19">n/a</td><td class="ctr1" id="f19">0</td><td class="ctr2" id="g19">1</td><td class="ctr1" id="h19">0</td><td class="ctr2" id="i17">2</td><td class="ctr1" id="j19">0</td><td class="ctr2" id="k19">1</td></tr><tr><td id="a4"><a href="AgentOptions.java.html#L287" class="el_method">getAppend()</a></td><td class="bar" id="b20"><img src="../../jacoco-resources/greenbar.gif" width="7" height="10" title="5" alt="5"/></td><td class="ctr2" id="c20">100%</td><td class="bar" id="d20"/><td class="ctr2" id="e20">n/a</td><td class="ctr1" id="f20">0</td><td class="ctr2" id="g20">1</td><td class="ctr1" id="h20">0</td><td class="ctr2" id="i32">1</td><td class="ctr1" id="j20">0</td><td class="ctr2" id="k20">1</td></tr><tr><td id="a24"><a href="AgentOptions.java.html#L297" class="el_method">setAppend(boolean)</a></td><td class="bar" id="b21"><img src="../../jacoco-resources/greenbar.gif" width="7" height="10" title="5" alt="5"/></td><td class="ctr2" id="c21">100%</td><td class="bar" id="d21"/><td class="ctr2" id="e21">n/a</td><td class="ctr1" id="f21">0</td><td class="ctr2" id="g21">1</td><td class="ctr1" id="h21">0</td><td class="ctr2" id="i18">2</td><td class="ctr1" id="j21">0</td><td class="ctr2" id="k21">1</td></tr><tr><td id="a12"><a href="AgentOptions.java.html#L307" class="el_method">getIncludes()</a></td><td class="bar" id="b22"><img src="../../jacoco-resources/greenbar.gif" width="7" height="10" title="5" alt="5"/></td><td class="ctr2" id="c22">100%</td><td class="bar" id="d22"/><td class="ctr2" id="e22">n/a</td><td class="ctr1" id="f22">0</td><td class="ctr2" id="g22">1</td><td class="ctr1" id="h22">0</td><td class="ctr2" id="i33">1</td><td class="ctr1" id="j22">0</td><td class="ctr2" id="k22">1</td></tr><tr><td id="a32"><a href="AgentOptions.java.html#L318" class="el_method">setIncludes(String)</a></td><td class="bar" id="b23"><img src="../../jacoco-resources/greenbar.gif" width="7" height="10" title="5" alt="5"/></td><td class="ctr2" id="c23">100%</td><td class="bar" id="d23"/><td class="ctr2" id="e23">n/a</td><td class="ctr1" id="f23">0</td><td class="ctr2" id="g23">1</td><td class="ctr1" id="h23">0</td><td class="ctr2" id="i19">2</td><td class="ctr1" id="j23">0</td><td class="ctr2" id="k23">1</td></tr><tr><td id="a9"><a href="AgentOptions.java.html#L328" class="el_method">getExcludes()</a></td><td class="bar" id="b24"><img src="../../jacoco-resources/greenbar.gif" width="7" height="10" title="5" alt="5"/></td><td class="ctr2" id="c24">100%</td><td class="bar" id="d24"/><td class="ctr2" id="e24">n/a</td><td class="ctr1" id="f24">0</td><td class="ctr2" id="g24">1</td><td class="ctr1" id="h24">0</td><td class="ctr2" id="i34">1</td><td class="ctr1" id="j24">0</td><td class="ctr2" id="k24">1</td></tr><tr><td id="a29"><a href="AgentOptions.java.html#L339" class="el_method">setExcludes(String)</a></td><td class="bar" id="b25"><img src="../../jacoco-resources/greenbar.gif" width="7" height="10" title="5" alt="5"/></td><td class="ctr2" id="c25">100%</td><td class="bar" id="d25"/><td class="ctr2" id="e25">n/a</td><td class="ctr1" id="f25">0</td><td class="ctr2" id="g25">1</td><td class="ctr1" id="h25">0</td><td class="ctr2" id="i20">2</td><td class="ctr1" id="j25">0</td><td class="ctr2" id="k25">1</td></tr><tr><td id="a8"><a href="AgentOptions.java.html#L349" class="el_method">getExclClassloader()</a></td><td class="bar" id="b26"><img src="../../jacoco-resources/greenbar.gif" width="7" height="10" title="5" alt="5"/></td><td class="ctr2" id="c26">100%</td><td class="bar" id="d26"/><td class="ctr2" id="e26">n/a</td><td class="ctr1" id="f26">0</td><td class="ctr2" id="g26">1</td><td class="ctr1" id="h26">0</td><td class="ctr2" id="i35">1</td><td class="ctr1" id="j26">0</td><td class="ctr2" id="k26">1</td></tr><tr><td id="a28"><a href="AgentOptions.java.html#L360" class="el_method">setExclClassloader(String)</a></td><td class="bar" id="b27"><img src="../../jacoco-resources/greenbar.gif" width="7" height="10" title="5" alt="5"/></td><td class="ctr2" id="c27">100%</td><td class="bar" id="d27"/><td class="ctr2" id="e27">n/a</td><td class="ctr1" id="f27">0</td><td class="ctr2" id="g27">1</td><td class="ctr1" id="h27">0</td><td class="ctr2" id="i21">2</td><td class="ctr1" id="j27">0</td><td class="ctr2" id="k27">1</td></tr><tr><td id="a10"><a href="AgentOptions.java.html#L371" class="el_method">getInclBootstrapClasses()</a></td><td class="bar" id="b28"><img src="../../jacoco-resources/greenbar.gif" width="7" height="10" title="5" alt="5"/></td><td class="ctr2" id="c28">100%</td><td class="bar" id="d28"/><td class="ctr2" id="e28">n/a</td><td class="ctr1" id="f28">0</td><td class="ctr2" id="g28">1</td><td class="ctr1" id="h28">0</td><td class="ctr2" id="i36">1</td><td class="ctr1" id="j28">0</td><td class="ctr2" id="k28">1</td></tr><tr><td id="a30"><a href="AgentOptions.java.html#L382" class="el_method">setInclBootstrapClasses(boolean)</a></td><td class="bar" id="b29"><img src="../../jacoco-resources/greenbar.gif" width="7" height="10" title="5" alt="5"/></td><td class="ctr2" id="c29">100%</td><td class="bar" id="d29"/><td class="ctr2" id="e29">n/a</td><td class="ctr1" id="f29">0</td><td class="ctr2" id="g29">1</td><td class="ctr1" id="h29">0</td><td class="ctr2" id="i22">2</td><td class="ctr1" id="j29">0</td><td class="ctr2" id="k29">1</td></tr><tr><td id="a11"><a href="AgentOptions.java.html#L392" class="el_method">getInclNoLocationClasses()</a></td><td class="bar" id="b30"><img src="../../jacoco-resources/greenbar.gif" width="7" height="10" title="5" alt="5"/></td><td class="ctr2" id="c30">100%</td><td class="bar" id="d30"/><td class="ctr2" id="e30">n/a</td><td class="ctr1" id="f30">0</td><td class="ctr2" id="g30">1</td><td class="ctr1" id="h30">0</td><td class="ctr2" id="i37">1</td><td class="ctr1" id="j30">0</td><td class="ctr2" id="k30">1</td></tr><tr><td id="a31"><a href="AgentOptions.java.html#L403" class="el_method">setInclNoLocationClasses(boolean)</a></td><td class="bar" id="b31"><img src="../../jacoco-resources/greenbar.gif" width="7" height="10" title="5" alt="5"/></td><td class="ctr2" id="c31">100%</td><td class="bar" id="d31"/><td class="ctr2" id="e31">n/a</td><td class="ctr1" id="f31">0</td><td class="ctr2" id="g31">1</td><td class="ctr1" id="h31">0</td><td class="ctr2" id="i23">2</td><td class="ctr1" id="j31">0</td><td class="ctr2" id="k31">1</td></tr><tr><td id="a20"><a href="AgentOptions.java.html#L412" class="el_method">getSessionId()</a></td><td class="bar" id="b32"><img src="../../jacoco-resources/greenbar.gif" width="7" height="10" title="5" alt="5"/></td><td class="ctr2" id="c32">100%</td><td class="bar" id="d32"/><td class="ctr2" id="e32">n/a</td><td class="ctr1" id="f32">0</td><td class="ctr2" id="g32">1</td><td class="ctr1" id="h32">0</td><td class="ctr2" id="i38">1</td><td class="ctr1" id="j32">0</td><td class="ctr2" id="k32">1</td></tr><tr><td id="a40"><a href="AgentOptions.java.html#L422" class="el_method">setSessionId(String)</a></td><td class="bar" id="b33"><img src="../../jacoco-resources/greenbar.gif" width="7" height="10" title="5" alt="5"/></td><td class="ctr2" id="c33">100%</td><td class="bar" id="d33"/><td class="ctr2" id="e33">n/a</td><td class="ctr1" id="f33">0</td><td class="ctr2" id="g33">1</td><td class="ctr1" id="h33">0</td><td class="ctr2" id="i24">2</td><td class="ctr1" id="j33">0</td><td class="ctr2" id="k33">1</td></tr><tr><td id="a7"><a href="AgentOptions.java.html#L431" class="el_method">getDumpOnExit()</a></td><td class="bar" id="b34"><img src="../../jacoco-resources/greenbar.gif" width="7" height="10" title="5" alt="5"/></td><td class="ctr2" id="c34">100%</td><td class="bar" id="d34"/><td class="ctr2" id="e34">n/a</td><td class="ctr1" id="f34">0</td><td class="ctr2" id="g34">1</td><td class="ctr1" id="h34">0</td><td class="ctr2" id="i39">1</td><td class="ctr1" id="j34">0</td><td class="ctr2" id="k34">1</td></tr><tr><td id="a27"><a href="AgentOptions.java.html#L442" class="el_method">setDumpOnExit(boolean)</a></td><td class="bar" id="b35"><img src="../../jacoco-resources/greenbar.gif" width="7" height="10" title="5" alt="5"/></td><td class="ctr2" id="c35">100%</td><td class="bar" id="d35"/><td class="ctr2" id="e35">n/a</td><td class="ctr1" id="f35">0</td><td class="ctr2" id="g35">1</td><td class="ctr1" id="h35">0</td><td class="ctr2" id="i25">2</td><td class="ctr1" id="j35">0</td><td class="ctr2" id="k35">1</td></tr><tr><td id="a18"><a href="AgentOptions.java.html#L453" class="el_method">getPort()</a></td><td class="bar" id="b36"><img src="../../jacoco-resources/greenbar.gif" width="7" height="10" title="5" alt="5"/></td><td class="ctr2" id="c36">100%</td><td class="bar" id="d36"/><td class="ctr2" id="e36">n/a</td><td class="ctr1" id="f36">0</td><td class="ctr2" id="g36">1</td><td class="ctr1" id="h36">0</td><td class="ctr2" id="i40">1</td><td class="ctr1" id="j36">0</td><td class="ctr2" id="k36">1</td></tr><tr><td id="a3"><a href="AgentOptions.java.html#L476" class="el_method">getAddress()</a></td><td class="bar" id="b37"><img src="../../jacoco-resources/greenbar.gif" width="7" height="10" title="5" alt="5"/></td><td class="ctr2" id="c37">100%</td><td class="bar" id="d37"/><td class="ctr2" id="e37">n/a</td><td class="ctr1" id="f37">0</td><td class="ctr2" id="g37">1</td><td class="ctr1" id="h37">0</td><td class="ctr2" id="i41">1</td><td class="ctr1" id="j37">0</td><td class="ctr2" id="k37">1</td></tr><tr><td id="a23"><a href="AgentOptions.java.html#L488" class="el_method">setAddress(String)</a></td><td class="bar" id="b38"><img src="../../jacoco-resources/greenbar.gif" width="7" height="10" title="5" alt="5"/></td><td class="ctr2" id="c38">100%</td><td class="bar" id="d38"/><td class="ctr2" id="e38">n/a</td><td class="ctr1" id="f38">0</td><td class="ctr2" id="g38">1</td><td class="ctr1" id="h38">0</td><td class="ctr2" id="i26">2</td><td class="ctr1" id="j38">0</td><td class="ctr2" id="k38">1</td></tr><tr><td id="a38"><a href="AgentOptions.java.html#L508" class="el_method">setOutput(String)</a></td><td class="bar" id="b39"><img src="../../jacoco-resources/greenbar.gif" width="7" height="10" title="5" alt="5"/></td><td class="ctr2" id="c39">100%</td><td class="bar" id="d39"/><td class="ctr2" id="e39">n/a</td><td class="ctr1" id="f39">0</td><td class="ctr2" id="g39">1</td><td class="ctr1" id="h39">0</td><td class="ctr2" id="i27">2</td><td class="ctr1" id="j39">0</td><td class="ctr2" id="k39">1</td></tr><tr><td id="a5"><a href="AgentOptions.java.html#L528" class="el_method">getClassDumpDir()</a></td><td class="bar" id="b40"><img src="../../jacoco-resources/greenbar.gif" width="7" height="10" title="5" alt="5"/></td><td class="ctr2" id="c40">100%</td><td class="bar" id="d40"/><td class="ctr2" id="e40">n/a</td><td class="ctr1" id="f40">0</td><td class="ctr2" id="g40">1</td><td class="ctr1" id="h40">0</td><td class="ctr2" id="i42">1</td><td class="ctr1" id="j40">0</td><td class="ctr2" id="k40">1</td></tr><tr><td id="a25"><a href="AgentOptions.java.html#L538" class="el_method">setClassDumpDir(String)</a></td><td class="bar" id="b41"><img src="../../jacoco-resources/greenbar.gif" width="7" height="10" title="5" alt="5"/></td><td class="ctr2" id="c41">100%</td><td class="bar" id="d41"/><td class="ctr2" id="e41">n/a</td><td class="ctr1" id="f41">0</td><td class="ctr2" id="g41">1</td><td class="ctr1" id="h41">0</td><td class="ctr2" id="i28">2</td><td class="ctr1" id="j41">0</td><td class="ctr2" id="k41">1</td></tr><tr><td id="a13"><a href="AgentOptions.java.html#L547" class="el_method">getJmx()</a></td><td class="bar" id="b42"><img src="../../jacoco-resources/greenbar.gif" width="7" height="10" title="5" alt="5"/></td><td class="ctr2" id="c42">100%</td><td class="bar" id="d42"/><td class="ctr2" id="e42">n/a</td><td class="ctr1" id="f42">0</td><td class="ctr2" id="g42">1</td><td class="ctr1" id="h42">0</td><td class="ctr2" id="i43">1</td><td class="ctr1" id="j42">0</td><td class="ctr2" id="k42">1</td></tr><tr><td id="a33"><a href="AgentOptions.java.html#L557" class="el_method">setJmx(boolean)</a></td><td class="bar" id="b43"><img src="../../jacoco-resources/greenbar.gif" width="7" height="10" title="5" alt="5"/></td><td class="ctr2" id="c43">100%</td><td class="bar" id="d43"/><td class="ctr2" id="e43">n/a</td><td class="ctr1" id="f43">0</td><td class="ctr2" id="g43">1</td><td class="ctr1" id="h43">0</td><td class="ctr2" id="i29">2</td><td class="ctr1" id="j43">0</td><td class="ctr2" id="k43">1</td></tr><tr><td id="a19"><a href="AgentOptions.java.html#L608" class="el_method">getQuotedVMArgument(File)</a></td><td class="bar" id="b44"><img src="../../jacoco-resources/greenbar.gif" width="7" height="10" title="5" alt="5"/></td><td class="ctr2" id="c44">100%</td><td class="bar" id="d44"/><td class="ctr2" id="e44">n/a</td><td class="ctr1" id="f44">0</td><td class="ctr2" id="g44">1</td><td class="ctr1" id="h44">0</td><td class="ctr2" id="i44">1</td><td class="ctr1" id="j44">0</td><td class="ctr2" id="k44">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.12.202403270442</span>Code Coverage Report for JaCoCo 0.8.12-SNAPSHOT</div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/trunk/coverage/org.jacoco.core/org.jacoco.core.runtime/AgentOptions.java.html b/jacoco/trunk/coverage/org.jacoco.core/org.jacoco.core.runtime/AgentOptions.java.html
    new file mode 100644
    index 00000000000..74de91b8f02
    --- /dev/null
    +++ b/jacoco/trunk/coverage/org.jacoco.core/org.jacoco.core.runtime/AgentOptions.java.html
    @@ -0,0 +1,656 @@
    +<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="en"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../../jacoco-resources/report.gif" type="image/gif"/><title>AgentOptions.java</title><link rel="stylesheet" href="../../jacoco-resources/prettify.css" type="text/css"/><script type="text/javascript" src="../../jacoco-resources/prettify.js"></script></head><body onload="window['PR_TAB_WIDTH']=4;prettyPrint()"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../../index.html" class="el_report">JaCoCo</a> &gt; <a href="../index.html" class="el_bundle">org.jacoco.core</a> &gt; <a href="index.source.html" class="el_package">org.jacoco.core.runtime</a> &gt; <span class="el_source">AgentOptions.java</span></div><h1>AgentOptions.java</h1><pre class="source lang-java linenums">/*******************************************************************************
    + * Copyright (c) 2009, 2024 Mountainminds GmbH &amp; Co. KG and Contributors
    + * This program and the accompanying materials are made available under
    + * the terms of the Eclipse Public License 2.0 which is available at
    + * http://www.eclipse.org/legal/epl-2.0
    + *
    + * SPDX-License-Identifier: EPL-2.0
    + *
    + * Contributors:
    + *    Marc R. Hoffmann - initial API and implementation
    + *
    + *******************************************************************************/
    +package org.jacoco.core.runtime;
    +
    +import static java.lang.String.format;
    +
    +import java.io.File;
    +import java.util.Arrays;
    +import java.util.Collection;
    +import java.util.HashMap;
    +import java.util.Iterator;
    +import java.util.List;
    +import java.util.Map;
    +import java.util.Properties;
    +import java.util.regex.Pattern;
    +
    +/**
    + * Utility to create and parse options for the runtime agent. Options are
    + * represented as a string in the following format:
    + *
    + * &lt;pre&gt;
    + *   key1=value1,key2=value2,key3=value3
    + * &lt;/pre&gt;
    + */
    +public final class AgentOptions {
    +
    +	/**
    +	 * Specifies the output file for execution data. Default is
    +	 * &lt;code&gt;jacoco.exec&lt;/code&gt; in the working directory.
    +	 */
    +	public static final String DESTFILE = &quot;destfile&quot;;
    +
    +	/**
    +	 * Default value for the &quot;destfile&quot; agent option.
    +	 */
    +	public static final String DEFAULT_DESTFILE = &quot;jacoco.exec&quot;;
    +
    +	/**
    +	 * Specifies whether execution data should be appended to the output file.
    +	 * Default is &lt;code&gt;true&lt;/code&gt;.
    +	 */
    +	public static final String APPEND = &quot;append&quot;;
    +
    +	/**
    +	 * Wildcard expression for class names that should be included for code
    +	 * coverage. Default is &lt;code&gt;*&lt;/code&gt; (all classes included).
    +	 *
    +	 * @see WildcardMatcher
    +	 */
    +	public static final String INCLUDES = &quot;includes&quot;;
    +
    +	/**
    +	 * Wildcard expression for class names that should be excluded from code
    +	 * coverage. Default is the empty string (no exclusions).
    +	 *
    +	 * @see WildcardMatcher
    +	 */
    +	public static final String EXCLUDES = &quot;excludes&quot;;
    +
    +	/**
    +	 * Wildcard expression for class loaders names for classes that should be
    +	 * excluded from code coverage. This means all classes loaded by a class
    +	 * loader which full qualified name matches this expression will be ignored
    +	 * for code coverage regardless of all other filtering settings. Default is
    +	 * &lt;code&gt;sun.reflect.DelegatingClassLoader&lt;/code&gt;.
    +	 *
    +	 * @see WildcardMatcher
    +	 */
    +	public static final String EXCLCLASSLOADER = &quot;exclclassloader&quot;;
    +
    +	/**
    +	 * Specifies whether also classes from the bootstrap classloader should be
    +	 * instrumented. Use this feature with caution, it needs heavy
    +	 * includes/excludes tuning. Default is &lt;code&gt;false&lt;/code&gt;.
    +	 */
    +	public static final String INCLBOOTSTRAPCLASSES = &quot;inclbootstrapclasses&quot;;
    +
    +	/**
    +	 * Specifies whether also classes without a source location should be
    +	 * instrumented. Normally such classes are generated at runtime e.g. by
    +	 * mocking frameworks and are therefore excluded by default. Default is
    +	 * &lt;code&gt;false&lt;/code&gt;.
    +	 */
    +	public static final String INCLNOLOCATIONCLASSES = &quot;inclnolocationclasses&quot;;
    +
    +	/**
    +	 * Specifies a session identifier that is written with the execution data.
    +	 * Without this parameter a random identifier is created by the agent.
    +	 */
    +	public static final String SESSIONID = &quot;sessionid&quot;;
    +
    +	/**
    +	 * Specifies whether the agent will automatically dump coverage data on VM
    +	 * exit. Default is &lt;code&gt;true&lt;/code&gt;.
    +	 */
    +	public static final String DUMPONEXIT = &quot;dumponexit&quot;;
    +
    +	/**
    +	 * Specifies the output mode. Default is {@link OutputMode#file}.
    +	 *
    +	 * @see OutputMode#file
    +	 * @see OutputMode#tcpserver
    +	 * @see OutputMode#tcpclient
    +	 * @see OutputMode#none
    +	 */
    +	public static final String OUTPUT = &quot;output&quot;;
    +
    +<span class="fc" id="L118">	private static final Pattern OPTION_SPLIT = Pattern</span>
    +			.compile(&quot;,(?=[a-zA-Z0-9_\\-]+=)&quot;);
    +
    +	/**
    +	 * Possible values for {@link AgentOptions#OUTPUT}.
    +	 */
    +<span class="fc" id="L124">	public static enum OutputMode {</span>
    +
    +		/**
    +		 * Value for the {@link AgentOptions#OUTPUT} parameter: At VM
    +		 * termination execution data is written to the file specified by
    +		 * {@link AgentOptions#DESTFILE}.
    +		 */
    +<span class="fc" id="L131">		file,</span>
    +
    +		/**
    +		 * Value for the {@link AgentOptions#OUTPUT} parameter: The agent
    +		 * listens for incoming connections on a TCP port specified by
    +		 * {@link AgentOptions#ADDRESS} and {@link AgentOptions#PORT}.
    +		 */
    +<span class="fc" id="L138">		tcpserver,</span>
    +
    +		/**
    +		 * Value for the {@link AgentOptions#OUTPUT} parameter: At startup the
    +		 * agent connects to a TCP port specified by the
    +		 * {@link AgentOptions#ADDRESS} and {@link AgentOptions#PORT} attribute.
    +		 */
    +<span class="fc" id="L145">		tcpclient,</span>
    +
    +		/**
    +		 * Value for the {@link AgentOptions#OUTPUT} parameter: Do not produce
    +		 * any output.
    +		 */
    +<span class="fc" id="L151">		none</span>
    +
    +	}
    +
    +	/**
    +	 * The IP address or DNS name the tcpserver binds to or the tcpclient
    +	 * connects to. Default is defined by {@link #DEFAULT_ADDRESS}.
    +	 */
    +	public static final String ADDRESS = &quot;address&quot;;
    +
    +	/**
    +	 * Default value for the &quot;address&quot; agent option.
    +	 */
    +<span class="fc" id="L164">	public static final String DEFAULT_ADDRESS = null;</span>
    +
    +	/**
    +	 * The port the tcpserver binds to or the tcpclient connects to. In
    +	 * tcpserver mode the port must be available, which means that if multiple
    +	 * JaCoCo agents should run on the same machine, different ports have to be
    +	 * specified. Default is defined by {@link #DEFAULT_PORT}.
    +	 */
    +	public static final String PORT = &quot;port&quot;;
    +
    +	/**
    +	 * Default value for the &quot;port&quot; agent option.
    +	 */
    +	public static final int DEFAULT_PORT = 6300;
    +
    +	/**
    +	 * Specifies where the agent dumps all class files it encounters. The
    +	 * location is specified as a relative path to the working directory.
    +	 * Default is &lt;code&gt;null&lt;/code&gt; (no dumps).
    +	 */
    +	public static final String CLASSDUMPDIR = &quot;classdumpdir&quot;;
    +
    +	/**
    +	 * Specifies whether the agent should expose functionality via JMX under the
    +	 * name &quot;org.jacoco:type=Runtime&quot;. Default is &lt;code&gt;false&lt;/code&gt;.
    +	 */
    +	public static final String JMX = &quot;jmx&quot;;
    +
    +<span class="fc" id="L192">	private static final Collection&lt;String&gt; VALID_OPTIONS = Arrays.asList(</span>
    +			DESTFILE, APPEND, INCLUDES, EXCLUDES, EXCLCLASSLOADER,
    +			INCLBOOTSTRAPCLASSES, INCLNOLOCATIONCLASSES, SESSIONID, DUMPONEXIT,
    +			OUTPUT, ADDRESS, PORT, CLASSDUMPDIR, JMX);
    +
    +	private final Map&lt;String, String&gt; options;
    +
    +	/**
    +	 * New instance with all values set to default.
    +	 */
    +<span class="fc" id="L202">	public AgentOptions() {</span>
    +<span class="fc" id="L203">		this.options = new HashMap&lt;String, String&gt;();</span>
    +<span class="fc" id="L204">	}</span>
    +
    +	/**
    +	 * New instance parsed from the given option string.
    +	 *
    +	 * @param optionstr
    +	 *            string to parse or &lt;code&gt;null&lt;/code&gt;
    +	 */
    +	public AgentOptions(final String optionstr) {
    +<span class="fc" id="L213">		this();</span>
    +<span class="fc bfc" id="L214" title="All 4 branches covered.">		if (optionstr != null &amp;&amp; optionstr.length() &gt; 0) {</span>
    +<span class="fc bfc" id="L215" title="All 2 branches covered.">			for (final String entry : OPTION_SPLIT.split(optionstr)) {</span>
    +<span class="fc" id="L216">				final int pos = entry.indexOf('=');</span>
    +<span class="fc bfc" id="L217" title="All 2 branches covered.">				if (pos == -1) {</span>
    +<span class="fc" id="L218">					throw new IllegalArgumentException(format(</span>
    +							&quot;Invalid agent option syntax \&quot;%s\&quot;.&quot;, optionstr));
    +				}
    +<span class="fc" id="L221">				final String key = entry.substring(0, pos);</span>
    +<span class="fc bfc" id="L222" title="All 2 branches covered.">				if (!VALID_OPTIONS.contains(key)) {</span>
    +<span class="fc" id="L223">					throw new IllegalArgumentException(</span>
    +							format(&quot;Unknown agent option \&quot;%s\&quot;.&quot;, key));
    +				}
    +
    +<span class="fc" id="L227">				final String value = entry.substring(pos + 1);</span>
    +<span class="fc" id="L228">				setOption(key, value);</span>
    +			}
    +
    +<span class="fc" id="L231">			validateAll();</span>
    +		}
    +<span class="fc" id="L233">	}</span>
    +
    +	/**
    +	 * New instance read from the given {@link Properties} object.
    +	 *
    +	 * @param properties
    +	 *            {@link Properties} object to read configuration options from
    +	 */
    +	public AgentOptions(final Properties properties) {
    +<span class="fc" id="L242">		this();</span>
    +<span class="fc bfc" id="L243" title="All 2 branches covered.">		for (final String key : VALID_OPTIONS) {</span>
    +<span class="fc" id="L244">			final String value = properties.getProperty(key);</span>
    +<span class="fc bfc" id="L245" title="All 2 branches covered.">			if (value != null) {</span>
    +<span class="fc" id="L246">				setOption(key, value);</span>
    +			}
    +<span class="fc" id="L248">		}</span>
    +<span class="fc" id="L249">	}</span>
    +
    +	private void validateAll() {
    +<span class="fc" id="L252">		validatePort(getPort());</span>
    +<span class="fc" id="L253">		getOutput();</span>
    +<span class="fc" id="L254">	}</span>
    +
    +	private void validatePort(final int port) {
    +<span class="fc bfc" id="L257" title="All 2 branches covered.">		if (port &lt; 0) {</span>
    +<span class="fc" id="L258">			throw new IllegalArgumentException(&quot;port must be positive&quot;);</span>
    +		}
    +<span class="fc" id="L260">	}</span>
    +
    +	/**
    +	 * Returns the output file location.
    +	 *
    +	 * @return output file location
    +	 */
    +	public String getDestfile() {
    +<span class="fc" id="L268">		return getOption(DESTFILE, DEFAULT_DESTFILE);</span>
    +	}
    +
    +	/**
    +	 * Sets the output file location.
    +	 *
    +	 * @param destfile
    +	 *            output file location
    +	 */
    +	public void setDestfile(final String destfile) {
    +<span class="fc" id="L278">		setOption(DESTFILE, destfile);</span>
    +<span class="fc" id="L279">	}</span>
    +
    +	/**
    +	 * Returns whether the output should be appended to an existing file.
    +	 *
    +	 * @return &lt;code&gt;true&lt;/code&gt;, when the output should be appended
    +	 */
    +	public boolean getAppend() {
    +<span class="fc" id="L287">		return getOption(APPEND, true);</span>
    +	}
    +
    +	/**
    +	 * Sets whether the output should be appended to an existing file.
    +	 *
    +	 * @param append
    +	 *            &lt;code&gt;true&lt;/code&gt;, when the output should be appended
    +	 */
    +	public void setAppend(final boolean append) {
    +<span class="fc" id="L297">		setOption(APPEND, append);</span>
    +<span class="fc" id="L298">	}</span>
    +
    +	/**
    +	 * Returns the wildcard expression for classes to include.
    +	 *
    +	 * @return wildcard expression for classes to include
    +	 * @see WildcardMatcher
    +	 */
    +	public String getIncludes() {
    +<span class="fc" id="L307">		return getOption(INCLUDES, &quot;*&quot;);</span>
    +	}
    +
    +	/**
    +	 * Sets the wildcard expression for classes to include.
    +	 *
    +	 * @param includes
    +	 *            wildcard expression for classes to include
    +	 * @see WildcardMatcher
    +	 */
    +	public void setIncludes(final String includes) {
    +<span class="fc" id="L318">		setOption(INCLUDES, includes);</span>
    +<span class="fc" id="L319">	}</span>
    +
    +	/**
    +	 * Returns the wildcard expression for classes to exclude.
    +	 *
    +	 * @return wildcard expression for classes to exclude
    +	 * @see WildcardMatcher
    +	 */
    +	public String getExcludes() {
    +<span class="fc" id="L328">		return getOption(EXCLUDES, &quot;&quot;);</span>
    +	}
    +
    +	/**
    +	 * Sets the wildcard expression for classes to exclude.
    +	 *
    +	 * @param excludes
    +	 *            wildcard expression for classes to exclude
    +	 * @see WildcardMatcher
    +	 */
    +	public void setExcludes(final String excludes) {
    +<span class="fc" id="L339">		setOption(EXCLUDES, excludes);</span>
    +<span class="fc" id="L340">	}</span>
    +
    +	/**
    +	 * Returns the wildcard expression for excluded class loaders.
    +	 *
    +	 * @return expression for excluded class loaders
    +	 * @see WildcardMatcher
    +	 */
    +	public String getExclClassloader() {
    +<span class="fc" id="L349">		return getOption(EXCLCLASSLOADER, &quot;sun.reflect.DelegatingClassLoader&quot;);</span>
    +	}
    +
    +	/**
    +	 * Sets the wildcard expression for excluded class loaders.
    +	 *
    +	 * @param expression
    +	 *            expression for excluded class loaders
    +	 * @see WildcardMatcher
    +	 */
    +	public void setExclClassloader(final String expression) {
    +<span class="fc" id="L360">		setOption(EXCLCLASSLOADER, expression);</span>
    +<span class="fc" id="L361">	}</span>
    +
    +	/**
    +	 * Returns whether classes from the bootstrap classloader should be
    +	 * instrumented.
    +	 *
    +	 * @return &lt;code&gt;true&lt;/code&gt; if classes from the bootstrap classloader
    +	 *         should be instrumented
    +	 */
    +	public boolean getInclBootstrapClasses() {
    +<span class="fc" id="L371">		return getOption(INCLBOOTSTRAPCLASSES, false);</span>
    +	}
    +
    +	/**
    +	 * Sets whether classes from the bootstrap classloader should be
    +	 * instrumented.
    +	 *
    +	 * @param include
    +	 *            &lt;code&gt;true&lt;/code&gt; if bootstrap classes should be instrumented
    +	 */
    +	public void setInclBootstrapClasses(final boolean include) {
    +<span class="fc" id="L382">		setOption(INCLBOOTSTRAPCLASSES, include);</span>
    +<span class="fc" id="L383">	}</span>
    +
    +	/**
    +	 * Returns whether classes without source location should be instrumented.
    +	 *
    +	 * @return &lt;code&gt;true&lt;/code&gt; if classes without source location should be
    +	 *         instrumented
    +	 */
    +	public boolean getInclNoLocationClasses() {
    +<span class="fc" id="L392">		return getOption(INCLNOLOCATIONCLASSES, false);</span>
    +	}
    +
    +	/**
    +	 * Sets whether classes without source location should be instrumented.
    +	 *
    +	 * @param include
    +	 *            &lt;code&gt;true&lt;/code&gt; if classes without source location should be
    +	 *            instrumented
    +	 */
    +	public void setInclNoLocationClasses(final boolean include) {
    +<span class="fc" id="L403">		setOption(INCLNOLOCATIONCLASSES, include);</span>
    +<span class="fc" id="L404">	}</span>
    +
    +	/**
    +	 * Returns the session identifier.
    +	 *
    +	 * @return session identifier
    +	 */
    +	public String getSessionId() {
    +<span class="fc" id="L412">		return getOption(SESSIONID, null);</span>
    +	}
    +
    +	/**
    +	 * Sets the session identifier.
    +	 *
    +	 * @param id
    +	 *            session identifier
    +	 */
    +	public void setSessionId(final String id) {
    +<span class="fc" id="L422">		setOption(SESSIONID, id);</span>
    +<span class="fc" id="L423">	}</span>
    +
    +	/**
    +	 * Returns whether coverage data should be dumped on exit.
    +	 *
    +	 * @return &lt;code&gt;true&lt;/code&gt; if coverage data will be written on VM exit
    +	 */
    +	public boolean getDumpOnExit() {
    +<span class="fc" id="L431">		return getOption(DUMPONEXIT, true);</span>
    +	}
    +
    +	/**
    +	 * Sets whether coverage data should be dumped on exit.
    +	 *
    +	 * @param dumpOnExit
    +	 *            &lt;code&gt;true&lt;/code&gt; if coverage data should be written on VM
    +	 *            exit
    +	 */
    +	public void setDumpOnExit(final boolean dumpOnExit) {
    +<span class="fc" id="L442">		setOption(DUMPONEXIT, dumpOnExit);</span>
    +<span class="fc" id="L443">	}</span>
    +
    +	/**
    +	 * Returns the port on which to listen to when the output is
    +	 * &lt;code&gt;tcpserver&lt;/code&gt; or the port to connect to when output is
    +	 * &lt;code&gt;tcpclient&lt;/code&gt;.
    +	 *
    +	 * @return port to listen on or connect to
    +	 */
    +	public int getPort() {
    +<span class="fc" id="L453">		return getOption(PORT, DEFAULT_PORT);</span>
    +	}
    +
    +	/**
    +	 * Sets the port on which to listen to when output is &lt;code&gt;tcpserver&lt;/code&gt;
    +	 * or the port to connect to when output is &lt;code&gt;tcpclient&lt;/code&gt;
    +	 *
    +	 * @param port
    +	 *            port to listen on or connect to
    +	 */
    +	public void setPort(final int port) {
    +<span class="fc" id="L464">		validatePort(port);</span>
    +<span class="fc" id="L465">		setOption(PORT, port);</span>
    +<span class="fc" id="L466">	}</span>
    +
    +	/**
    +	 * Gets the hostname or IP address to listen to when output is
    +	 * &lt;code&gt;tcpserver&lt;/code&gt; or connect to when output is
    +	 * &lt;code&gt;tcpclient&lt;/code&gt;
    +	 *
    +	 * @return Hostname or IP address
    +	 */
    +	public String getAddress() {
    +<span class="fc" id="L476">		return getOption(ADDRESS, DEFAULT_ADDRESS);</span>
    +	}
    +
    +	/**
    +	 * Sets the hostname or IP address to listen to when output is
    +	 * &lt;code&gt;tcpserver&lt;/code&gt; or connect to when output is
    +	 * &lt;code&gt;tcpclient&lt;/code&gt;
    +	 *
    +	 * @param address
    +	 *            Hostname or IP address
    +	 */
    +	public void setAddress(final String address) {
    +<span class="fc" id="L488">		setOption(ADDRESS, address);</span>
    +<span class="fc" id="L489">	}</span>
    +
    +	/**
    +	 * Returns the output mode
    +	 *
    +	 * @return current output mode
    +	 */
    +	public OutputMode getOutput() {
    +<span class="fc" id="L497">		final String value = options.get(OUTPUT);</span>
    +<span class="fc bfc" id="L498" title="All 2 branches covered.">		return value == null ? OutputMode.file : OutputMode.valueOf(value);</span>
    +	}
    +
    +	/**
    +	 * Sets the output mode
    +	 *
    +	 * @param output
    +	 *            Output mode
    +	 */
    +	public void setOutput(final String output) {
    +<span class="fc" id="L508">		setOutput(OutputMode.valueOf(output));</span>
    +<span class="fc" id="L509">	}</span>
    +
    +	/**
    +	 * Sets the output mode
    +	 *
    +	 * @param output
    +	 *            Output mode
    +	 */
    +	public void setOutput(final OutputMode output) {
    +<span class="fc" id="L518">		setOption(OUTPUT, output.name());</span>
    +<span class="fc" id="L519">	}</span>
    +
    +	/**
    +	 * Returns the location of the directory where class files should be dumped
    +	 * to.
    +	 *
    +	 * @return dump location or &lt;code&gt;null&lt;/code&gt; (no dumps)
    +	 */
    +	public String getClassDumpDir() {
    +<span class="fc" id="L528">		return getOption(CLASSDUMPDIR, null);</span>
    +	}
    +
    +	/**
    +	 * Sets the directory where class files should be dumped to.
    +	 *
    +	 * @param location
    +	 *            dump location or &lt;code&gt;null&lt;/code&gt; (no dumps)
    +	 */
    +	public void setClassDumpDir(final String location) {
    +<span class="fc" id="L538">		setOption(CLASSDUMPDIR, location);</span>
    +<span class="fc" id="L539">	}</span>
    +
    +	/**
    +	 * Returns whether the agent exposes functionality via JMX.
    +	 *
    +	 * @return &lt;code&gt;true&lt;/code&gt;, when JMX is enabled
    +	 */
    +	public boolean getJmx() {
    +<span class="fc" id="L547">		return getOption(JMX, false);</span>
    +	}
    +
    +	/**
    +	 * Sets whether the agent should expose functionality via JMX.
    +	 *
    +	 * @param jmx
    +	 *            &lt;code&gt;true&lt;/code&gt; if JMX should be enabled
    +	 */
    +	public void setJmx(final boolean jmx) {
    +<span class="fc" id="L557">		setOption(JMX, jmx);</span>
    +<span class="fc" id="L558">	}</span>
    +
    +	private void setOption(final String key, final int value) {
    +<span class="fc" id="L561">		setOption(key, Integer.toString(value));</span>
    +<span class="fc" id="L562">	}</span>
    +
    +	private void setOption(final String key, final boolean value) {
    +<span class="fc" id="L565">		setOption(key, Boolean.toString(value));</span>
    +<span class="fc" id="L566">	}</span>
    +
    +	private void setOption(final String key, final String value) {
    +<span class="fc" id="L569">		options.put(key, value);</span>
    +<span class="fc" id="L570">	}</span>
    +
    +	private String getOption(final String key, final String defaultValue) {
    +<span class="fc" id="L573">		final String value = options.get(key);</span>
    +<span class="fc bfc" id="L574" title="All 2 branches covered.">		return value == null ? defaultValue : value;</span>
    +	}
    +
    +	private boolean getOption(final String key, final boolean defaultValue) {
    +<span class="fc" id="L578">		final String value = options.get(key);</span>
    +<span class="fc bfc" id="L579" title="All 2 branches covered.">		return value == null ? defaultValue : Boolean.parseBoolean(value);</span>
    +	}
    +
    +	private int getOption(final String key, final int defaultValue) {
    +<span class="fc" id="L583">		final String value = options.get(key);</span>
    +<span class="fc bfc" id="L584" title="All 2 branches covered.">		return value == null ? defaultValue : Integer.parseInt(value);</span>
    +	}
    +
    +	/**
    +	 * Generate required JVM argument based on current configuration and
    +	 * supplied agent jar location.
    +	 *
    +	 * @param agentJarFile
    +	 *            location of the JaCoCo Agent Jar
    +	 * @return Argument to pass to create new VM with coverage enabled
    +	 */
    +	public String getVMArgument(final File agentJarFile) {
    +<span class="fc" id="L596">		return format(&quot;-javaagent:%s=%s&quot;, agentJarFile, this);</span>
    +	}
    +
    +	/**
    +	 * Generate required quoted JVM argument based on current configuration and
    +	 * supplied agent jar location.
    +	 *
    +	 * @param agentJarFile
    +	 *            location of the JaCoCo Agent Jar
    +	 * @return Quoted argument to pass to create new VM with coverage enabled
    +	 */
    +	public String getQuotedVMArgument(final File agentJarFile) {
    +<span class="fc" id="L608">		return CommandLineSupport.quote(getVMArgument(agentJarFile));</span>
    +	}
    +
    +	/**
    +	 * Generate required quotes JVM argument based on current configuration and
    +	 * prepends it to the given argument command line. If a agent with the same
    +	 * JAR file is already specified this parameter is removed from the existing
    +	 * command line.
    +	 *
    +	 * @param arguments
    +	 *            existing command line arguments or &lt;code&gt;null&lt;/code&gt;
    +	 * @param agentJarFile
    +	 *            location of the JaCoCo Agent Jar
    +	 * @return VM command line arguments prepended with configured JaCoCo agent
    +	 */
    +	public String prependVMArguments(final String arguments,
    +			final File agentJarFile) {
    +<span class="fc" id="L625">		final List&lt;String&gt; args = CommandLineSupport.split(arguments);</span>
    +<span class="fc" id="L626">		final String plainAgent = format(&quot;-javaagent:%s&quot;, agentJarFile);</span>
    +<span class="fc bfc" id="L627" title="All 2 branches covered.">		for (final Iterator&lt;String&gt; i = args.iterator(); i.hasNext();) {</span>
    +<span class="fc bfc" id="L628" title="All 2 branches covered.">			if (i.next().startsWith(plainAgent)) {</span>
    +<span class="fc" id="L629">				i.remove();</span>
    +			}
    +		}
    +<span class="fc" id="L632">		args.add(0, getVMArgument(agentJarFile));</span>
    +<span class="fc" id="L633">		return CommandLineSupport.quote(args);</span>
    +	}
    +
    +	/**
    +	 * Creates a string representation that can be passed to the agent via the
    +	 * command line. Might be the empty string, if no options are set.
    +	 */
    +	@Override
    +	public String toString() {
    +<span class="fc" id="L642">		final StringBuilder sb = new StringBuilder();</span>
    +<span class="fc bfc" id="L643" title="All 2 branches covered.">		for (final String key : VALID_OPTIONS) {</span>
    +<span class="fc" id="L644">			final String value = options.get(key);</span>
    +<span class="fc bfc" id="L645" title="All 2 branches covered.">			if (value != null) {</span>
    +<span class="fc bfc" id="L646" title="All 2 branches covered.">				if (sb.length() &gt; 0) {</span>
    +<span class="fc" id="L647">					sb.append(',');</span>
    +				}
    +<span class="fc" id="L649">				sb.append(key).append('=').append(value);</span>
    +			}
    +<span class="fc" id="L651">		}</span>
    +<span class="fc" id="L652">		return sb.toString();</span>
    +	}
    +
    +}
    +</pre><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.12.202403270442</span>Code Coverage Report for JaCoCo 0.8.12-SNAPSHOT</div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/trunk/coverage/org.jacoco.core/org.jacoco.core.runtime/CommandLineSupport.html b/jacoco/trunk/coverage/org.jacoco.core/org.jacoco.core.runtime/CommandLineSupport.html
    new file mode 100644
    index 00000000000..4817b2431ff
    --- /dev/null
    +++ b/jacoco/trunk/coverage/org.jacoco.core/org.jacoco.core.runtime/CommandLineSupport.html
    @@ -0,0 +1 @@
    +<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="en"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../../jacoco-resources/report.gif" type="image/gif"/><title>CommandLineSupport</title><script type="text/javascript" src="../../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../../index.html" class="el_report">JaCoCo</a> &gt; <a href="../index.html" class="el_bundle">org.jacoco.core</a> &gt; <a href="index.html" class="el_package">org.jacoco.core.runtime</a> &gt; <span class="el_class">CommandLineSupport</span></div><h1>CommandLineSupport</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">0 of 216</td><td class="ctr2">100%</td><td class="bar">1 of 40</td><td class="ctr2">97%</td><td class="ctr1">1</td><td class="ctr2">25</td><td class="ctr1">0</td><td class="ctr2">51</td><td class="ctr1">0</td><td class="ctr2">4</td></tr></tfoot><tbody><tr><td id="a3"><a href="CommandLineSupport.java.html#L78" class="el_method">split(String)</a></td><td class="bar" id="b0"><img src="../../jacoco-resources/greenbar.gif" width="120" height="10" title="116" alt="116"/></td><td class="ctr2" id="c0">100%</td><td class="bar" id="d0"><img src="../../jacoco-resources/redbar.gif" width="5" height="10" title="1" alt="1"/><img src="../../jacoco-resources/greenbar.gif" width="115" height="10" title="23" alt="23"/></td><td class="ctr2" id="e3">95%</td><td class="ctr1" id="f0">1</td><td class="ctr2" id="g0">14</td><td class="ctr1" id="h0">0</td><td class="ctr2" id="i0">31</td><td class="ctr1" id="j0">0</td><td class="ctr2" id="k0">1</td></tr><tr><td id="a2"><a href="CommandLineSupport.java.html#L35" class="el_method">quote(String)</a></td><td class="bar" id="b1"><img src="../../jacoco-resources/greenbar.gif" width="56" height="10" title="55" alt="55"/></td><td class="ctr2" id="c1">100%</td><td class="bar" id="d1"><img src="../../jacoco-resources/greenbar.gif" width="50" height="10" title="10" alt="10"/></td><td class="ctr2" id="e0">100%</td><td class="ctr1" id="f1">0</td><td class="ctr2" id="g1">6</td><td class="ctr1" id="h1">0</td><td class="ctr2" id="i1">8</td><td class="ctr1" id="j1">0</td><td class="ctr2" id="k1">1</td></tr><tr><td id="a1"><a href="CommandLineSupport.java.html#L57" class="el_method">quote(List)</a></td><td class="bar" id="b2"><img src="../../jacoco-resources/greenbar.gif" width="34" height="10" title="33" alt="33"/></td><td class="ctr2" id="c2">100%</td><td class="bar" id="d2"><img src="../../jacoco-resources/greenbar.gif" width="20" height="10" title="4" alt="4"/></td><td class="ctr2" id="e1">100%</td><td class="ctr1" id="f2">0</td><td class="ctr2" id="g2">3</td><td class="ctr1" id="h2">0</td><td class="ctr2" id="i2">8</td><td class="ctr1" id="j2">0</td><td class="ctr2" id="k2">1</td></tr><tr><td id="a0"><a href="CommandLineSupport.java.html#L128" class="el_method">addArgument(List, StringBuilder)</a></td><td class="bar" id="b3"><img src="../../jacoco-resources/greenbar.gif" width="12" height="10" title="12" alt="12"/></td><td class="ctr2" id="c3">100%</td><td class="bar" id="d3"><img src="../../jacoco-resources/greenbar.gif" width="10" height="10" title="2" alt="2"/></td><td class="ctr2" id="e2">100%</td><td class="ctr1" id="f3">0</td><td class="ctr2" id="g3">2</td><td class="ctr1" id="h3">0</td><td class="ctr2" id="i3">4</td><td class="ctr1" id="j3">0</td><td class="ctr2" id="k3">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.12.202403270442</span>Code Coverage Report for JaCoCo 0.8.12-SNAPSHOT</div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/trunk/coverage/org.jacoco.core/org.jacoco.core.runtime/CommandLineSupport.java.html b/jacoco/trunk/coverage/org.jacoco.core/org.jacoco.core.runtime/CommandLineSupport.java.html
    new file mode 100644
    index 00000000000..f46f3c53b12
    --- /dev/null
    +++ b/jacoco/trunk/coverage/org.jacoco.core/org.jacoco.core.runtime/CommandLineSupport.java.html
    @@ -0,0 +1,142 @@
    +<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="en"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../../jacoco-resources/report.gif" type="image/gif"/><title>CommandLineSupport.java</title><link rel="stylesheet" href="../../jacoco-resources/prettify.css" type="text/css"/><script type="text/javascript" src="../../jacoco-resources/prettify.js"></script></head><body onload="window['PR_TAB_WIDTH']=4;prettyPrint()"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../../index.html" class="el_report">JaCoCo</a> &gt; <a href="../index.html" class="el_bundle">org.jacoco.core</a> &gt; <a href="index.source.html" class="el_package">org.jacoco.core.runtime</a> &gt; <span class="el_source">CommandLineSupport.java</span></div><h1>CommandLineSupport.java</h1><pre class="source lang-java linenums">/*******************************************************************************
    + * Copyright (c) 2009, 2024 Mountainminds GmbH &amp; Co. KG and Contributors
    + * This program and the accompanying materials are made available under
    + * the terms of the Eclipse Public License 2.0 which is available at
    + * http://www.eclipse.org/legal/epl-2.0
    + *
    + * SPDX-License-Identifier: EPL-2.0
    + *
    + * Contributors:
    + *    Marc R. Hoffmann - initial API and implementation
    + *
    + *******************************************************************************/
    +package org.jacoco.core.runtime;
    +
    +import java.util.ArrayList;
    +import java.util.List;
    +
    +/**
    + * Internal utility to parse and create command lines arguments.
    + */
    +final class CommandLineSupport {
    +
    +	private static final char BLANK = ' ';
    +	private static final char QUOTE = '&quot;';
    +	private static final char SLASH = '\\';
    +
    +	/**
    +	 * Quotes a single command line argument if necessary.
    +	 *
    +	 * @param arg
    +	 *            command line argument
    +	 * @return quoted argument
    +	 */
    +	static String quote(final String arg) {
    +<span class="fc" id="L35">		final StringBuilder escaped = new StringBuilder();</span>
    +<span class="fc bfc" id="L36" title="All 2 branches covered.">		for (final char c : arg.toCharArray()) {</span>
    +<span class="fc bfc" id="L37" title="All 4 branches covered.">			if (c == QUOTE || c == SLASH) {</span>
    +<span class="fc" id="L38">				escaped.append(SLASH);</span>
    +			}
    +<span class="fc" id="L40">			escaped.append(c);</span>
    +		}
    +<span class="fc bfc" id="L42" title="All 4 branches covered.">		if (arg.indexOf(BLANK) != -1 || arg.indexOf(QUOTE) != -1) {</span>
    +<span class="fc" id="L43">			escaped.insert(0, QUOTE).append(QUOTE);</span>
    +		}
    +<span class="fc" id="L45">		return escaped.toString();</span>
    +	}
    +
    +	/**
    +	 * Builds a single command line string from the given argument list.
    +	 * Arguments are quoted when necessary.
    +	 *
    +	 * @param args
    +	 *            command line arguments
    +	 * @return combined command line
    +	 */
    +	static String quote(final List&lt;String&gt; args) {
    +<span class="fc" id="L57">		final StringBuilder result = new StringBuilder();</span>
    +<span class="fc" id="L58">		boolean separate = false;</span>
    +<span class="fc bfc" id="L59" title="All 2 branches covered.">		for (final String arg : args) {</span>
    +<span class="fc bfc" id="L60" title="All 2 branches covered.">			if (separate) {</span>
    +<span class="fc" id="L61">				result.append(BLANK);</span>
    +			}
    +<span class="fc" id="L63">			result.append(quote(arg));</span>
    +<span class="fc" id="L64">			separate = true;</span>
    +		}
    +<span class="fc" id="L66">		return result.toString();</span>
    +	}
    +
    +	/**
    +	 * Splits a command line into single arguments and removes quotes if
    +	 * present.
    +	 *
    +	 * @param commandline
    +	 *            combined command line
    +	 * @return list of arguments
    +	 */
    +	static List&lt;String&gt; split(final String commandline) {
    +<span class="fc bfc" id="L78" title="All 4 branches covered.">		if (commandline == null || commandline.length() == 0) {</span>
    +<span class="fc" id="L79">			return new ArrayList&lt;String&gt;();</span>
    +		}
    +<span class="fc" id="L81">		final List&lt;String&gt; args = new ArrayList&lt;String&gt;();</span>
    +<span class="fc" id="L82">		final StringBuilder current = new StringBuilder();</span>
    +<span class="fc" id="L83">		int mode = M_STRIP_WHITESPACE;</span>
    +<span class="fc" id="L84">		int endChar = BLANK;</span>
    +<span class="fc bfc" id="L85" title="All 2 branches covered.">		for (final char c : commandline.toCharArray()) {</span>
    +<span class="pc bpc" id="L86" title="1 of 4 branches missed.">			switch (mode) {</span>
    +			case M_STRIP_WHITESPACE:
    +<span class="fc bfc" id="L88" title="All 2 branches covered.">				if (!Character.isWhitespace(c)) {</span>
    +<span class="fc bfc" id="L89" title="All 2 branches covered.">					if (c == QUOTE) {</span>
    +<span class="fc" id="L90">						endChar = QUOTE;</span>
    +					} else {
    +<span class="fc" id="L92">						current.append(c);</span>
    +<span class="fc" id="L93">						endChar = BLANK;</span>
    +					}
    +<span class="fc" id="L95">					mode = M_PARSE_ARGUMENT;</span>
    +				}
    +				break;
    +			case M_PARSE_ARGUMENT:
    +<span class="fc bfc" id="L99" title="All 2 branches covered.">				if (c == endChar) {</span>
    +<span class="fc" id="L100">					addArgument(args, current);</span>
    +<span class="fc" id="L101">					mode = M_STRIP_WHITESPACE;</span>
    +<span class="fc bfc" id="L102" title="All 2 branches covered.">				} else if (c == SLASH) {</span>
    +<span class="fc" id="L103">					current.append(SLASH);</span>
    +<span class="fc" id="L104">					mode = M_ESCAPED;</span>
    +				} else {
    +<span class="fc" id="L106">					current.append(c);</span>
    +				}
    +<span class="fc" id="L108">				break;</span>
    +			case M_ESCAPED:
    +<span class="fc bfc" id="L110" title="All 4 branches covered.">				if (c == QUOTE || c == SLASH) {</span>
    +<span class="fc" id="L111">					current.setCharAt(current.length() - 1, c);</span>
    +<span class="fc bfc" id="L112" title="All 2 branches covered.">				} else if (c == endChar) {</span>
    +<span class="fc" id="L113">					addArgument(args, current);</span>
    +<span class="fc" id="L114">					mode = M_STRIP_WHITESPACE;</span>
    +				} else {
    +<span class="fc" id="L116">					current.append(c);</span>
    +				}
    +<span class="fc" id="L118">				mode = M_PARSE_ARGUMENT;</span>
    +				break;
    +			}
    +		}
    +<span class="fc" id="L122">		addArgument(args, current);</span>
    +<span class="fc" id="L123">		return args;</span>
    +	}
    +
    +	private static void addArgument(final List&lt;String&gt; args,
    +			final StringBuilder current) {
    +<span class="fc bfc" id="L128" title="All 2 branches covered.">		if (current.length() &gt; 0) {</span>
    +<span class="fc" id="L129">			args.add(current.toString());</span>
    +<span class="fc" id="L130">			current.setLength(0);</span>
    +		}
    +<span class="fc" id="L132">	}</span>
    +
    +	private static final int M_STRIP_WHITESPACE = 0;
    +	private static final int M_PARSE_ARGUMENT = 1;
    +	private static final int M_ESCAPED = 2;
    +
    +	private CommandLineSupport() {
    +		// no instances
    +	}
    +}
    +</pre><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.12.202403270442</span>Code Coverage Report for JaCoCo 0.8.12-SNAPSHOT</div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/trunk/coverage/org.jacoco.core/org.jacoco.core.runtime/InjectedClassRuntime$Lookup.html b/jacoco/trunk/coverage/org.jacoco.core/org.jacoco.core.runtime/InjectedClassRuntime$Lookup.html
    new file mode 100644
    index 00000000000..f00177e26b2
    --- /dev/null
    +++ b/jacoco/trunk/coverage/org.jacoco.core/org.jacoco.core.runtime/InjectedClassRuntime$Lookup.html
    @@ -0,0 +1 @@
    +<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="en"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../../jacoco-resources/report.gif" type="image/gif"/><title>InjectedClassRuntime.Lookup</title><script type="text/javascript" src="../../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../../index.html" class="el_report">JaCoCo</a> &gt; <a href="../index.html" class="el_bundle">org.jacoco.core</a> &gt; <a href="index.html" class="el_package">org.jacoco.core.runtime</a> &gt; <span class="el_class">InjectedClassRuntime.Lookup</span></div><h1>InjectedClassRuntime.Lookup</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">73 of 73</td><td class="ctr2">0%</td><td class="bar">0 of 0</td><td class="ctr2">n/a</td><td class="ctr1">4</td><td class="ctr2">4</td><td class="ctr1">6</td><td class="ctr2">6</td><td class="ctr1">4</td><td class="ctr2">4</td></tr></tfoot><tbody><tr><td id="a3"><a href="InjectedClassRuntime.java.html#L118" class="el_method">privateLookupIn(Class, InjectedClassRuntime.Lookup)</a></td><td class="bar" id="b0"><img src="../../jacoco-resources/redbar.gif" width="120" height="10" title="32" alt="32"/></td><td class="ctr2" id="c0">0%</td><td class="bar" id="d0"/><td class="ctr2" id="e0">n/a</td><td class="ctr1" id="f0">1</td><td class="ctr2" id="g0">1</td><td class="ctr1" id="h1">1</td><td class="ctr2" id="i1">1</td><td class="ctr1" id="j0">1</td><td class="ctr2" id="k0">1</td></tr><tr><td id="a0"><a href="InjectedClassRuntime.java.html#L134" class="el_method">defineClass(byte[])</a></td><td class="bar" id="b1"><img src="../../jacoco-resources/redbar.gif" width="78" height="10" title="21" alt="21"/></td><td class="ctr2" id="c1">0%</td><td class="bar" id="d1"/><td class="ctr2" id="e1">n/a</td><td class="ctr1" id="f1">1</td><td class="ctr2" id="g1">1</td><td class="ctr1" id="h2">1</td><td class="ctr2" id="i2">1</td><td class="ctr1" id="j1">1</td><td class="ctr2" id="k1">1</td></tr><tr><td id="a2"><a href="InjectedClassRuntime.java.html#L101" class="el_method">lookup()</a></td><td class="bar" id="b2"><img src="../../jacoco-resources/redbar.gif" width="52" height="10" title="14" alt="14"/></td><td class="ctr2" id="c2">0%</td><td class="bar" id="d2"/><td class="ctr2" id="e2">n/a</td><td class="ctr1" id="f2">1</td><td class="ctr2" id="g2">1</td><td class="ctr1" id="h3">1</td><td class="ctr2" id="i3">1</td><td class="ctr1" id="j2">1</td><td class="ctr2" id="k2">1</td></tr><tr><td id="a1"><a href="InjectedClassRuntime.java.html#L93" class="el_method">InjectedClassRuntime.Lookup(Object)</a></td><td class="bar" id="b3"><img src="../../jacoco-resources/redbar.gif" width="22" height="10" title="6" alt="6"/></td><td class="ctr2" id="c3">0%</td><td class="bar" id="d3"/><td class="ctr2" id="e3">n/a</td><td class="ctr1" id="f3">1</td><td class="ctr2" id="g3">1</td><td class="ctr1" id="h0">3</td><td class="ctr2" id="i0">3</td><td class="ctr1" id="j3">1</td><td class="ctr2" id="k3">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.12.202403270442</span>Code Coverage Report for JaCoCo 0.8.12-SNAPSHOT</div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/trunk/coverage/org.jacoco.core/org.jacoco.core.runtime/InjectedClassRuntime.html b/jacoco/trunk/coverage/org.jacoco.core/org.jacoco.core.runtime/InjectedClassRuntime.html
    new file mode 100644
    index 00000000000..19c1f7bd82e
    --- /dev/null
    +++ b/jacoco/trunk/coverage/org.jacoco.core/org.jacoco.core.runtime/InjectedClassRuntime.html
    @@ -0,0 +1 @@
    +<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="en"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../../jacoco-resources/report.gif" type="image/gif"/><title>InjectedClassRuntime</title><script type="text/javascript" src="../../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../../index.html" class="el_report">JaCoCo</a> &gt; <a href="../index.html" class="el_bundle">org.jacoco.core</a> &gt; <a href="index.html" class="el_package">org.jacoco.core.runtime</a> &gt; <span class="el_class">InjectedClassRuntime</span></div><h1>InjectedClassRuntime</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">84 of 84</td><td class="ctr2">0%</td><td class="bar">0 of 0</td><td class="ctr2">n/a</td><td class="ctr1">5</td><td class="ctr2">5</td><td class="ctr1">16</td><td class="ctr2">16</td><td class="ctr1">5</td><td class="ctr2">5</td></tr></tfoot><tbody><tr><td id="a0"><a href="InjectedClassRuntime.java.html#L76" class="el_method">createClass(String)</a></td><td class="bar" id="b0"><img src="../../jacoco-resources/redbar.gif" width="120" height="10" title="29" alt="29"/></td><td class="ctr2" id="c0">0%</td><td class="bar" id="d0"/><td class="ctr2" id="e0">n/a</td><td class="ctr1" id="f0">1</td><td class="ctr2" id="g0">1</td><td class="ctr1" id="h0">5</td><td class="ctr2" id="i0">5</td><td class="ctr1" id="j0">1</td><td class="ctr2" id="k0">1</td></tr><tr><td id="a2"><a href="InjectedClassRuntime.java.html#L45" class="el_method">InjectedClassRuntime(Class, String)</a></td><td class="bar" id="b1"><img src="../../jacoco-resources/redbar.gif" width="95" height="10" title="23" alt="23"/></td><td class="ctr2" id="c1">0%</td><td class="bar" id="d1"/><td class="ctr2" id="e1">n/a</td><td class="ctr1" id="f1">1</td><td class="ctr2" id="g1">1</td><td class="ctr1" id="h1">4</td><td class="ctr2" id="i1">4</td><td class="ctr1" id="j1">1</td><td class="ctr2" id="k1">1</td></tr><tr><td id="a4"><a href="InjectedClassRuntime.java.html#L53" class="el_method">startup(RuntimeData)</a></td><td class="bar" id="b2"><img src="../../jacoco-resources/redbar.gif" width="70" height="10" title="17" alt="17"/></td><td class="ctr2" id="c2">0%</td><td class="bar" id="d2"/><td class="ctr2" id="e2">n/a</td><td class="ctr1" id="f2">1</td><td class="ctr2" id="g2">1</td><td class="ctr1" id="h2">3</td><td class="ctr2" id="i2">3</td><td class="ctr1" id="j2">1</td><td class="ctr2" id="k2">1</td></tr><tr><td id="a1"><a href="InjectedClassRuntime.java.html#L67" class="el_method">generateDataAccessor(long, String, int, MethodVisitor)</a></td><td class="bar" id="b3"><img src="../../jacoco-resources/redbar.gif" width="57" height="10" title="14" alt="14"/></td><td class="ctr2" id="c3">0%</td><td class="bar" id="d3"/><td class="ctr2" id="e3">n/a</td><td class="ctr1" id="f3">1</td><td class="ctr2" id="g3">1</td><td class="ctr1" id="h3">3</td><td class="ctr2" id="i3">3</td><td class="ctr1" id="j3">1</td><td class="ctr2" id="k3">1</td></tr><tr><td id="a3"><a href="InjectedClassRuntime.java.html#L63" class="el_method">shutdown()</a></td><td class="bar" id="b4"><img src="../../jacoco-resources/redbar.gif" width="4" height="10" title="1" alt="1"/></td><td class="ctr2" id="c4">0%</td><td class="bar" id="d4"/><td class="ctr2" id="e4">n/a</td><td class="ctr1" id="f4">1</td><td class="ctr2" id="g4">1</td><td class="ctr1" id="h4">1</td><td class="ctr2" id="i4">1</td><td class="ctr1" id="j4">1</td><td class="ctr2" id="k4">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.12.202403270442</span>Code Coverage Report for JaCoCo 0.8.12-SNAPSHOT</div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/trunk/coverage/org.jacoco.core/org.jacoco.core.runtime/InjectedClassRuntime.java.html b/jacoco/trunk/coverage/org.jacoco.core/org.jacoco.core.runtime/InjectedClassRuntime.java.html
    new file mode 100644
    index 00000000000..6b79974e541
    --- /dev/null
    +++ b/jacoco/trunk/coverage/org.jacoco.core/org.jacoco.core.runtime/InjectedClassRuntime.java.html
    @@ -0,0 +1,143 @@
    +<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="en"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../../jacoco-resources/report.gif" type="image/gif"/><title>InjectedClassRuntime.java</title><link rel="stylesheet" href="../../jacoco-resources/prettify.css" type="text/css"/><script type="text/javascript" src="../../jacoco-resources/prettify.js"></script></head><body onload="window['PR_TAB_WIDTH']=4;prettyPrint()"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../../index.html" class="el_report">JaCoCo</a> &gt; <a href="../index.html" class="el_bundle">org.jacoco.core</a> &gt; <a href="index.source.html" class="el_package">org.jacoco.core.runtime</a> &gt; <span class="el_source">InjectedClassRuntime.java</span></div><h1>InjectedClassRuntime.java</h1><pre class="source lang-java linenums">/*******************************************************************************
    + * Copyright (c) 2009, 2024 Mountainminds GmbH &amp; Co. KG and Contributors
    + * This program and the accompanying materials are made available under
    + * the terms of the Eclipse Public License 2.0 which is available at
    + * http://www.eclipse.org/legal/epl-2.0
    + *
    + * SPDX-License-Identifier: EPL-2.0
    + *
    + * Contributors:
    + *    Evgeny Mandrikov - initial API and implementation
    + *
    + *******************************************************************************/
    +package org.jacoco.core.runtime;
    +
    +import org.objectweb.asm.ClassWriter;
    +import org.objectweb.asm.MethodVisitor;
    +import org.objectweb.asm.Opcodes;
    +
    +/**
    + * {@link IRuntime} which defines a new class using
    + * {@code java.lang.invoke.MethodHandles.Lookup.defineClass} introduced in Java
    + * 9. Module where class will be defined must be opened to at least module of
    + * this class.
    + */
    +public class InjectedClassRuntime extends AbstractRuntime {
    +
    +	private static final String FIELD_NAME = &quot;data&quot;;
    +
    +	private static final String FIELD_TYPE = &quot;Ljava/lang/Object;&quot;;
    +
    +	private final Class&lt;?&gt; locator;
    +
    +	private final String injectedClassName;
    +
    +	/**
    +	 * Creates a new runtime which will define a class to the same class loader
    +	 * and in the same package and protection domain as given class.
    +	 *
    +	 * @param locator
    +	 *            class to identify the target class loader and package
    +	 * @param simpleClassName
    +	 *            simple name of the class to be defined
    +	 */
    +	public InjectedClassRuntime(final Class&lt;?&gt; locator,
    +<span class="nc" id="L45">			final String simpleClassName) {</span>
    +<span class="nc" id="L46">		this.locator = locator;</span>
    +<span class="nc" id="L47">		this.injectedClassName = locator.getPackage().getName().replace('.',</span>
    +				'/') + '/' + simpleClassName;
    +<span class="nc" id="L49">	}</span>
    +
    +	@Override
    +	public void startup(final RuntimeData data) throws Exception {
    +<span class="nc" id="L53">		super.startup(data);</span>
    +<span class="nc" id="L54">		Lookup //</span>
    +				.privateLookupIn(locator, Lookup.lookup()) //
    +				.defineClass(createClass(injectedClassName)) //
    +				.getField(FIELD_NAME) //
    +				.set(null, data);
    +<span class="nc" id="L59">	}</span>
    +
    +	public void shutdown() {
    +		// nothing to do
    +<span class="nc" id="L63">	}</span>
    +
    +	public int generateDataAccessor(final long classid, final String classname,
    +			final int probecount, final MethodVisitor mv) {
    +<span class="nc" id="L67">		mv.visitFieldInsn(Opcodes.GETSTATIC, injectedClassName, FIELD_NAME,</span>
    +				FIELD_TYPE);
    +
    +<span class="nc" id="L70">		RuntimeData.generateAccessCall(classid, classname, probecount, mv);</span>
    +
    +<span class="nc" id="L72">		return 6;</span>
    +	}
    +
    +	private static byte[] createClass(final String name) {
    +<span class="nc" id="L76">		final ClassWriter cw = new ClassWriter(0);</span>
    +<span class="nc" id="L77">		cw.visit(Opcodes.V9, Opcodes.ACC_SYNTHETIC | Opcodes.ACC_PUBLIC,</span>
    +				name.replace('.', '/'), null, &quot;java/lang/Object&quot;, null);
    +<span class="nc" id="L79">		cw.visitField(Opcodes.ACC_PUBLIC | Opcodes.ACC_STATIC, FIELD_NAME,</span>
    +				FIELD_TYPE, null, null);
    +<span class="nc" id="L81">		cw.visitEnd();</span>
    +<span class="nc" id="L82">		return cw.toByteArray();</span>
    +	}
    +
    +	/**
    +	 * Provides access to classes {@code java.lang.invoke.MethodHandles} and
    +	 * {@code java.lang.invoke.MethodHandles.Lookup} introduced in Java 8.
    +	 */
    +	private static class Lookup {
    +
    +		private final Object instance;
    +
    +<span class="nc" id="L93">		private Lookup(final Object instance) {</span>
    +<span class="nc" id="L94">			this.instance = instance;</span>
    +<span class="nc" id="L95">		}</span>
    +
    +		/**
    +		 * @return a lookup object for the caller of this method
    +		 */
    +		static Lookup lookup() throws Exception {
    +<span class="nc" id="L101">			return new Lookup(Class //</span>
    +					.forName(&quot;java.lang.invoke.MethodHandles&quot;) //
    +					.getMethod(&quot;lookup&quot;) //
    +					.invoke(null));
    +		}
    +
    +		/**
    +		 * See corresponding method introduced in Java 9.
    +		 *
    +		 * @param targetClass
    +		 *            the target class
    +		 * @param lookup
    +		 *            the caller lookup object
    +		 * @return a lookup object for the target class, with private access
    +		 */
    +		static Lookup privateLookupIn(final Class&lt;?&gt; targetClass,
    +				final Lookup lookup) throws Exception {
    +<span class="nc" id="L118">			return new Lookup(Class //</span>
    +					.forName(&quot;java.lang.invoke.MethodHandles&quot;) //
    +					.getMethod(&quot;privateLookupIn&quot;, Class.class,
    +							Class.forName(
    +									&quot;java.lang.invoke.MethodHandles$Lookup&quot;)) //
    +					.invoke(null, targetClass, lookup.instance));
    +		}
    +
    +		/**
    +		 * See corresponding method introduced in Java 9.
    +		 *
    +		 * @param bytes
    +		 *            the class bytes
    +		 * @return class
    +		 */
    +		Class&lt;?&gt; defineClass(final byte[] bytes) throws Exception {
    +<span class="nc" id="L134">			return (Class&lt;?&gt;) Class //</span>
    +					.forName(&quot;java.lang.invoke.MethodHandles$Lookup&quot;)
    +					.getMethod(&quot;defineClass&quot;, byte[].class)
    +					.invoke(this.instance, new Object[] { bytes });
    +		}
    +
    +	}
    +
    +}
    +</pre><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.12.202403270442</span>Code Coverage Report for JaCoCo 0.8.12-SNAPSHOT</div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/trunk/coverage/org.jacoco.core/org.jacoco.core.runtime/LoggerRuntime$RuntimeHandler.html b/jacoco/trunk/coverage/org.jacoco.core/org.jacoco.core.runtime/LoggerRuntime$RuntimeHandler.html
    new file mode 100644
    index 00000000000..7cda8e57d9b
    --- /dev/null
    +++ b/jacoco/trunk/coverage/org.jacoco.core/org.jacoco.core.runtime/LoggerRuntime$RuntimeHandler.html
    @@ -0,0 +1 @@
    +<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="en"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../../jacoco-resources/report.gif" type="image/gif"/><title>LoggerRuntime.RuntimeHandler</title><script type="text/javascript" src="../../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../../index.html" class="el_report">JaCoCo</a> &gt; <a href="../index.html" class="el_bundle">org.jacoco.core</a> &gt; <a href="index.html" class="el_package">org.jacoco.core.runtime</a> &gt; <span class="el_class">LoggerRuntime.RuntimeHandler</span></div><h1>LoggerRuntime.RuntimeHandler</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">9 of 29</td><td class="ctr2">68%</td><td class="bar">1 of 2</td><td class="ctr2">50%</td><td class="ctr1">3</td><td class="ctr2">5</td><td class="ctr1">3</td><td class="ctr2">7</td><td class="ctr1">2</td><td class="ctr2">4</td></tr></tfoot><tbody><tr><td id="a0"><a href="LoggerRuntime.java.html#L187" class="el_method">close()</a></td><td class="bar" id="b0"><img src="../../jacoco-resources/redbar.gif" width="68" height="10" title="8" alt="8"/></td><td class="ctr2" id="c2">0%</td><td class="bar" id="d1"/><td class="ctr2" id="e1">n/a</td><td class="ctr1" id="f0">1</td><td class="ctr2" id="g1">1</td><td class="ctr1" id="h0">2</td><td class="ctr2" id="i1">2</td><td class="ctr1" id="j0">1</td><td class="ctr2" id="k0">1</td></tr><tr><td id="a1"><a href="LoggerRuntime.java.html#L177" class="el_method">flush()</a></td><td class="bar" id="b1"><img src="../../jacoco-resources/redbar.gif" width="8" height="10" title="1" alt="1"/></td><td class="ctr2" id="c3">0%</td><td class="bar" id="d2"/><td class="ctr2" id="e2">n/a</td><td class="ctr1" id="f1">1</td><td class="ctr2" id="g2">1</td><td class="ctr1" id="h1">1</td><td class="ctr2" id="i2">1</td><td class="ctr1" id="j1">1</td><td class="ctr2" id="k1">1</td></tr><tr><td id="a3"><a href="LoggerRuntime.java.html#L169" class="el_method">publish(LogRecord)</a></td><td class="bar" id="b2"><img src="../../jacoco-resources/greenbar.gif" width="120" height="10" title="14" alt="14"/></td><td class="ctr2" id="c0">100%</td><td class="bar" id="d0"><img src="../../jacoco-resources/redbar.gif" width="60" height="10" title="1" alt="1"/><img src="../../jacoco-resources/greenbar.gif" width="60" height="10" title="1" alt="1"/></td><td class="ctr2" id="e0">50%</td><td class="ctr1" id="f2">1</td><td class="ctr2" id="g0">2</td><td class="ctr1" id="h2">0</td><td class="ctr2" id="i0">3</td><td class="ctr1" id="j2">0</td><td class="ctr2" id="k2">1</td></tr><tr><td id="a2"><a href="LoggerRuntime.java.html#L165" class="el_method">LoggerRuntime.RuntimeHandler(LoggerRuntime)</a></td><td class="bar" id="b3"><img src="../../jacoco-resources/greenbar.gif" width="51" height="10" title="6" alt="6"/></td><td class="ctr2" id="c1">100%</td><td class="bar" id="d3"/><td class="ctr2" id="e3">n/a</td><td class="ctr1" id="f3">0</td><td class="ctr2" id="g3">1</td><td class="ctr1" id="h3">0</td><td class="ctr2" id="i3">1</td><td class="ctr1" id="j3">0</td><td class="ctr2" id="k3">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.12.202403270442</span>Code Coverage Report for JaCoCo 0.8.12-SNAPSHOT</div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/trunk/coverage/org.jacoco.core/org.jacoco.core.runtime/LoggerRuntime.html b/jacoco/trunk/coverage/org.jacoco.core/org.jacoco.core.runtime/LoggerRuntime.html
    new file mode 100644
    index 00000000000..bbce38997fd
    --- /dev/null
    +++ b/jacoco/trunk/coverage/org.jacoco.core/org.jacoco.core.runtime/LoggerRuntime.html
    @@ -0,0 +1 @@
    +<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="en"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../../jacoco-resources/report.gif" type="image/gif"/><title>LoggerRuntime</title><script type="text/javascript" src="../../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../../index.html" class="el_report">JaCoCo</a> &gt; <a href="../index.html" class="el_bundle">org.jacoco.core</a> &gt; <a href="index.html" class="el_package">org.jacoco.core.runtime</a> &gt; <span class="el_class">LoggerRuntime</span></div><h1>LoggerRuntime</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">0 of 101</td><td class="ctr2">100%</td><td class="bar">0 of 0</td><td class="ctr2">n/a</td><td class="ctr1">0</td><td class="ctr2">5</td><td class="ctr1">0</td><td class="ctr2">28</td><td class="ctr1">0</td><td class="ctr2">5</td></tr></tfoot><tbody><tr><td id="a1"><a href="LoggerRuntime.java.html#L80" class="el_method">generateDataAccessor(long, String, int, MethodVisitor)</a></td><td class="bar" id="b0"><img src="../../jacoco-resources/greenbar.gif" width="120" height="10" title="56" alt="56"/></td><td class="ctr2" id="c0">100%</td><td class="bar" id="d0"/><td class="ctr2" id="e0">n/a</td><td class="ctr1" id="f0">0</td><td class="ctr2" id="g0">1</td><td class="ctr1" id="h0">0</td><td class="ctr2" id="i0">14</td><td class="ctr1" id="j0">0</td><td class="ctr2" id="k0">1</td></tr><tr><td id="a2"><a href="LoggerRuntime.java.html#L49" class="el_method">LoggerRuntime()</a></td><td class="bar" id="b1"><img src="../../jacoco-resources/greenbar.gif" width="40" height="10" title="19" alt="19"/></td><td class="ctr2" id="c1">100%</td><td class="bar" id="d1"/><td class="ctr2" id="e1">n/a</td><td class="ctr1" id="f1">0</td><td class="ctr2" id="g1">1</td><td class="ctr1" id="h1">0</td><td class="ctr2" id="i1">5</td><td class="ctr1" id="j1">0</td><td class="ctr2" id="k1">1</td></tr><tr><td id="a0"><a href="LoggerRuntime.java.html#L56" class="el_method">configureLogger()</a></td><td class="bar" id="b2"><img src="../../jacoco-resources/greenbar.gif" width="23" height="10" title="11" alt="11"/></td><td class="ctr2" id="c2">100%</td><td class="bar" id="d2"/><td class="ctr2" id="e2">n/a</td><td class="ctr1" id="f2">0</td><td class="ctr2" id="g2">1</td><td class="ctr1" id="h2">0</td><td class="ctr2" id="i2">4</td><td class="ctr1" id="j2">0</td><td class="ctr2" id="k2">1</td></tr><tr><td id="a4"><a href="LoggerRuntime.java.html#L157" class="el_method">startup(RuntimeData)</a></td><td class="bar" id="b3"><img src="../../jacoco-resources/greenbar.gif" width="19" height="10" title="9" alt="9"/></td><td class="ctr2" id="c3">100%</td><td class="bar" id="d3"/><td class="ctr2" id="e3">n/a</td><td class="ctr1" id="f3">0</td><td class="ctr2" id="g3">1</td><td class="ctr1" id="h3">0</td><td class="ctr2" id="i3">3</td><td class="ctr1" id="j3">0</td><td class="ctr2" id="k3">1</td></tr><tr><td id="a3"><a href="LoggerRuntime.java.html#L162" class="el_method">shutdown()</a></td><td class="bar" id="b4"><img src="../../jacoco-resources/greenbar.gif" width="12" height="10" title="6" alt="6"/></td><td class="ctr2" id="c4">100%</td><td class="bar" id="d4"/><td class="ctr2" id="e4">n/a</td><td class="ctr1" id="f4">0</td><td class="ctr2" id="g4">1</td><td class="ctr1" id="h4">0</td><td class="ctr2" id="i4">2</td><td class="ctr1" id="j4">0</td><td class="ctr2" id="k4">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.12.202403270442</span>Code Coverage Report for JaCoCo 0.8.12-SNAPSHOT</div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/trunk/coverage/org.jacoco.core/org.jacoco.core.runtime/LoggerRuntime.java.html b/jacoco/trunk/coverage/org.jacoco.core/org.jacoco.core.runtime/LoggerRuntime.java.html
    new file mode 100644
    index 00000000000..eefbe4b3e81
    --- /dev/null
    +++ b/jacoco/trunk/coverage/org.jacoco.core/org.jacoco.core.runtime/LoggerRuntime.java.html
    @@ -0,0 +1,192 @@
    +<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="en"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../../jacoco-resources/report.gif" type="image/gif"/><title>LoggerRuntime.java</title><link rel="stylesheet" href="../../jacoco-resources/prettify.css" type="text/css"/><script type="text/javascript" src="../../jacoco-resources/prettify.js"></script></head><body onload="window['PR_TAB_WIDTH']=4;prettyPrint()"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../../index.html" class="el_report">JaCoCo</a> &gt; <a href="../index.html" class="el_bundle">org.jacoco.core</a> &gt; <a href="index.source.html" class="el_package">org.jacoco.core.runtime</a> &gt; <span class="el_source">LoggerRuntime.java</span></div><h1>LoggerRuntime.java</h1><pre class="source lang-java linenums">/*******************************************************************************
    + * Copyright (c) 2009, 2024 Mountainminds GmbH &amp; Co. KG and Contributors
    + * This program and the accompanying materials are made available under
    + * the terms of the Eclipse Public License 2.0 which is available at
    + * http://www.eclipse.org/legal/epl-2.0
    + *
    + * SPDX-License-Identifier: EPL-2.0
    + *
    + * Contributors:
    + *    Marc R. Hoffmann - initial API and implementation
    + *
    + *******************************************************************************/
    +package org.jacoco.core.runtime;
    +
    +import java.util.logging.Handler;
    +import java.util.logging.Level;
    +import java.util.logging.LogRecord;
    +import java.util.logging.Logger;
    +
    +import org.jacoco.core.internal.instr.InstrSupport;
    +import org.objectweb.asm.MethodVisitor;
    +import org.objectweb.asm.Opcodes;
    +
    +/**
    + * This {@link IRuntime} implementation uses the Java logging API to report
    + * coverage data.
    + * &lt;p&gt;
    + *
    + * The implementation uses a dedicated log channel. Instrumented classes call
    + * {@link Logger#log(Level, String, Object[])} with the class identifier in the
    + * first slot of the parameter array. The runtime implements a {@link Handler}
    + * for this channel that puts the probe data structure into the first slot of
    + * the parameter array.
    + */
    +public class LoggerRuntime extends AbstractRuntime {
    +
    +	private static final String CHANNEL = &quot;jacoco-runtime&quot;;
    +
    +	private final String key;
    +
    +	private final Logger logger;
    +
    +	private final Handler handler;
    +
    +	/**
    +	 * Creates a new runtime.
    +	 */
    +	public LoggerRuntime() {
    +<span class="fc" id="L49">		super();</span>
    +<span class="fc" id="L50">		this.key = Integer.toHexString(hashCode());</span>
    +<span class="fc" id="L51">		this.logger = configureLogger();</span>
    +<span class="fc" id="L52">		this.handler = new RuntimeHandler();</span>
    +<span class="fc" id="L53">	}</span>
    +
    +	private Logger configureLogger() {
    +<span class="fc" id="L56">		final Logger l = Logger.getLogger(CHANNEL);</span>
    +<span class="fc" id="L57">		l.setUseParentHandlers(false);</span>
    +<span class="fc" id="L58">		l.setLevel(Level.ALL);</span>
    +<span class="fc" id="L59">		return l;</span>
    +	}
    +
    +	public int generateDataAccessor(final long classid, final String classname,
    +			final int probecount, final MethodVisitor mv) {
    +
    +		// The data accessor performs the following steps:
    +		//
    +		// final Object[] args = new Object[3];
    +		// args[0] = Long.valueOf(classid);
    +		// args[1] = classname;
    +		// args[2] = Integer.valueOf(probecount);
    +		// Logger.getLogger(CHANNEL).log(Level.INFO, key, args);
    +		// final byte[] probedata = (byte[]) args[0];
    +		//
    +		// Note that local variable 'args' is used at two places. As were not
    +		// allowed to allocate local variables we have to keep this value with
    +		// DUP and SWAP operations on the operand stack.
    +
    +		// 1. Create parameter array:
    +
    +<span class="fc" id="L80">		RuntimeData.generateArgumentArray(classid, classname, probecount, mv);</span>
    +
    +		// Stack[0]: [Ljava/lang/Object;
    +
    +<span class="fc" id="L84">		mv.visitInsn(Opcodes.DUP);</span>
    +
    +		// Stack[1]: [Ljava/lang/Object;
    +		// Stack[0]: [Ljava/lang/Object;
    +
    +		// 2. Call Logger:
    +
    +<span class="fc" id="L91">		mv.visitLdcInsn(CHANNEL);</span>
    +<span class="fc" id="L92">		mv.visitMethodInsn(Opcodes.INVOKESTATIC, &quot;java/util/logging/Logger&quot;,</span>
    +				&quot;getLogger&quot;, &quot;(Ljava/lang/String;)Ljava/util/logging/Logger;&quot;,
    +				false);
    +
    +		// Stack[2]: Ljava/util/logging/Logger;
    +		// Stack[1]: [Ljava/lang/Object;
    +		// Stack[0]: [Ljava/lang/Object;
    +
    +<span class="fc" id="L100">		mv.visitInsn(Opcodes.SWAP);</span>
    +
    +		// Stack[2]: [Ljava/lang/Object;
    +		// Stack[1]: Ljava/util/logging/Logger;
    +		// Stack[0]: [Ljava/lang/Object;
    +
    +<span class="fc" id="L106">		mv.visitFieldInsn(Opcodes.GETSTATIC, &quot;java/util/logging/Level&quot;, &quot;INFO&quot;,</span>
    +				&quot;Ljava/util/logging/Level;&quot;);
    +
    +		// Stack[3]: Ljava/util/logging/Level;
    +		// Stack[2]: [Ljava/lang/Object;
    +		// Stack[1]: Ljava/util/logging/Logger;
    +		// Stack[0]: [Ljava/lang/Object;
    +
    +<span class="fc" id="L114">		mv.visitInsn(Opcodes.SWAP);</span>
    +
    +		// Stack[3]: [Ljava/lang/Object;
    +		// Stack[2]: Ljava/util/logging/Level;
    +		// Stack[1]: Ljava/util/logging/Logger;
    +		// Stack[0]: [Ljava/lang/Object;
    +
    +<span class="fc" id="L121">		mv.visitLdcInsn(key);</span>
    +
    +		// Stack[4]: Ljava/lang/String;
    +		// Stack[3]: [Ljava/lang/Object;
    +		// Stack[2]: Ljava/util/logging/Level;
    +		// Stack[1]: Ljava/util/logging/Logger;
    +		// Stack[0]: [Ljava/lang/Object;
    +
    +<span class="fc" id="L129">		mv.visitInsn(Opcodes.SWAP);</span>
    +
    +		// Stack[4]: [Ljava/lang/Object;
    +		// Stack[3]: Ljava/lang/String;
    +		// Stack[2]: Ljava/util/logging/Level;
    +		// Stack[1]: Ljava/util/logging/Logger;
    +		// Stack[0]: [Ljava/lang/Object;
    +
    +<span class="fc" id="L137">		mv.visitMethodInsn(Opcodes.INVOKEVIRTUAL, &quot;java/util/logging/Logger&quot;,</span>
    +				&quot;log&quot;,
    +				&quot;(Ljava/util/logging/Level;Ljava/lang/String;[Ljava/lang/Object;)V&quot;,
    +				false);
    +
    +		// Stack[0]: [Ljava/lang/Object;
    +
    +		// 3. Load data structure from parameter array:
    +
    +<span class="fc" id="L146">		mv.visitInsn(Opcodes.ICONST_0);</span>
    +<span class="fc" id="L147">		mv.visitInsn(Opcodes.AALOAD);</span>
    +<span class="fc" id="L148">		mv.visitTypeInsn(Opcodes.CHECKCAST, InstrSupport.DATAFIELD_DESC);</span>
    +
    +		// Stack[0]: [Z
    +
    +<span class="fc" id="L152">		return 5; // Maximum local stack size is 5</span>
    +	}
    +
    +	@Override
    +	public void startup(final RuntimeData data) throws Exception {
    +<span class="fc" id="L157">		super.startup(data);</span>
    +<span class="fc" id="L158">		this.logger.addHandler(handler);</span>
    +<span class="fc" id="L159">	}</span>
    +
    +	public void shutdown() {
    +<span class="fc" id="L162">		this.logger.removeHandler(handler);</span>
    +<span class="fc" id="L163">	}</span>
    +
    +<span class="fc" id="L165">	private class RuntimeHandler extends Handler {</span>
    +
    +		@Override
    +		public void publish(final LogRecord record) {
    +<span class="pc bpc" id="L169" title="1 of 2 branches missed.">			if (key.equals(record.getMessage())) {</span>
    +<span class="fc" id="L170">				data.getProbes(record.getParameters());</span>
    +			}
    +<span class="fc" id="L172">		}</span>
    +
    +		@Override
    +		public void flush() {
    +			// nothing to do
    +<span class="nc" id="L177">		}</span>
    +
    +		@Override
    +		public void close() throws SecurityException {
    +			// The Java logging framework removes and closes all handlers on JVM
    +			// shutdown. As soon as our handler has been removed, all classes
    +			// that might get instrumented during shutdown (e.g. loaded by other
    +			// shutdown hooks) will fail to initialize. Therefore we add ourself
    +			// again here. This is a nasty hack that might fail in some Java
    +			// implementations.
    +<span class="nc" id="L187">			logger.addHandler(handler);</span>
    +<span class="nc" id="L188">		}</span>
    +	}
    +
    +}
    +</pre><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.12.202403270442</span>Code Coverage Report for JaCoCo 0.8.12-SNAPSHOT</div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/trunk/coverage/org.jacoco.core/org.jacoco.core.runtime/ModifiedSystemClassRuntime$1.html b/jacoco/trunk/coverage/org.jacoco.core/org.jacoco.core.runtime/ModifiedSystemClassRuntime$1.html
    new file mode 100644
    index 00000000000..245ca0ca061
    --- /dev/null
    +++ b/jacoco/trunk/coverage/org.jacoco.core/org.jacoco.core.runtime/ModifiedSystemClassRuntime$1.html
    @@ -0,0 +1 @@
    +<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="en"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../../jacoco-resources/report.gif" type="image/gif"/><title>ModifiedSystemClassRuntime.new ClassFileTransformer() {...}</title><script type="text/javascript" src="../../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../../index.html" class="el_report">JaCoCo</a> &gt; <a href="../index.html" class="el_bundle">org.jacoco.core</a> &gt; <a href="index.html" class="el_package">org.jacoco.core.runtime</a> &gt; <span class="el_class">ModifiedSystemClassRuntime.new ClassFileTransformer() {...}</span></div><h1>ModifiedSystemClassRuntime.new ClassFileTransformer() {...}</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">0 of 21</td><td class="ctr2">100%</td><td class="bar">0 of 2</td><td class="ctr2">100%</td><td class="ctr1">0</td><td class="ctr2">3</td><td class="ctr1">0</td><td class="ctr2">4</td><td class="ctr1">0</td><td class="ctr2">2</td></tr></tfoot><tbody><tr><td id="a0"><a href="ModifiedSystemClassRuntime.java.html#L128" class="el_method">transform(ClassLoader, String, Class, ProtectionDomain, byte[])</a></td><td class="bar" id="b0"><img src="../../jacoco-resources/greenbar.gif" width="120" height="10" title="12" alt="12"/></td><td class="ctr2" id="c0">100%</td><td class="bar" id="d0"><img src="../../jacoco-resources/greenbar.gif" width="120" height="10" title="2" alt="2"/></td><td class="ctr2" id="e0">100%</td><td class="ctr1" id="f0">0</td><td class="ctr2" id="g0">2</td><td class="ctr1" id="h0">0</td><td class="ctr2" id="i0">3</td><td class="ctr1" id="j0">0</td><td class="ctr2" id="k0">1</td></tr><tr><td id="a1"><a href="ModifiedSystemClassRuntime.java.html#L124" class="el_method">{...}</a></td><td class="bar" id="b1"><img src="../../jacoco-resources/greenbar.gif" width="90" height="10" title="9" alt="9"/></td><td class="ctr2" id="c1">100%</td><td class="bar" id="d1"/><td class="ctr2" id="e1">n/a</td><td class="ctr1" id="f1">0</td><td class="ctr2" id="g1">1</td><td class="ctr1" id="h1">0</td><td class="ctr2" id="i1">1</td><td class="ctr1" id="j1">0</td><td class="ctr2" id="k1">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.12.202403270442</span>Code Coverage Report for JaCoCo 0.8.12-SNAPSHOT</div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/trunk/coverage/org.jacoco.core/org.jacoco.core.runtime/ModifiedSystemClassRuntime$2.html b/jacoco/trunk/coverage/org.jacoco.core/org.jacoco.core.runtime/ModifiedSystemClassRuntime$2.html
    new file mode 100644
    index 00000000000..9358c343324
    --- /dev/null
    +++ b/jacoco/trunk/coverage/org.jacoco.core/org.jacoco.core.runtime/ModifiedSystemClassRuntime$2.html
    @@ -0,0 +1 @@
    +<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="en"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../../jacoco-resources/report.gif" type="image/gif"/><title>ModifiedSystemClassRuntime.new ClassVisitor() {...}</title><script type="text/javascript" src="../../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../../index.html" class="el_report">JaCoCo</a> &gt; <a href="../index.html" class="el_bundle">org.jacoco.core</a> &gt; <a href="index.html" class="el_package">org.jacoco.core.runtime</a> &gt; <span class="el_class">ModifiedSystemClassRuntime.new ClassVisitor() {...}</span></div><h1>ModifiedSystemClassRuntime.new ClassVisitor() {...}</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">0 of 16</td><td class="ctr2">100%</td><td class="bar">0 of 0</td><td class="ctr2">n/a</td><td class="ctr1">0</td><td class="ctr2">2</td><td class="ctr1">0</td><td class="ctr2">4</td><td class="ctr1">0</td><td class="ctr2">2</td></tr></tfoot><tbody><tr><td id="a1"><a href="ModifiedSystemClassRuntime.java.html#L163" class="el_method">{...}</a></td><td class="bar" id="b0"><img src="../../jacoco-resources/greenbar.gif" width="120" height="10" title="8" alt="8"/></td><td class="ctr2" id="c0">100%</td><td class="bar" id="d0"/><td class="ctr2" id="e0">n/a</td><td class="ctr1" id="f0">0</td><td class="ctr2" id="g0">1</td><td class="ctr1" id="h0">0</td><td class="ctr2" id="i1">1</td><td class="ctr1" id="j0">0</td><td class="ctr2" id="k0">1</td></tr><tr><td id="a0"><a href="ModifiedSystemClassRuntime.java.html#L164" class="el_method">visitEnd()</a></td><td class="bar" id="b1"><img src="../../jacoco-resources/greenbar.gif" width="120" height="10" title="8" alt="8"/></td><td class="ctr2" id="c1">100%</td><td class="bar" id="d1"/><td class="ctr2" id="e1">n/a</td><td class="ctr1" id="f1">0</td><td class="ctr2" id="g1">1</td><td class="ctr1" id="h1">0</td><td class="ctr2" id="i0">3</td><td class="ctr1" id="j1">0</td><td class="ctr2" id="k1">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.12.202403270442</span>Code Coverage Report for JaCoCo 0.8.12-SNAPSHOT</div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/trunk/coverage/org.jacoco.core/org.jacoco.core.runtime/ModifiedSystemClassRuntime.html b/jacoco/trunk/coverage/org.jacoco.core/org.jacoco.core.runtime/ModifiedSystemClassRuntime.html
    new file mode 100644
    index 00000000000..350d2b96941
    --- /dev/null
    +++ b/jacoco/trunk/coverage/org.jacoco.core/org.jacoco.core.runtime/ModifiedSystemClassRuntime.html
    @@ -0,0 +1 @@
    +<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="en"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../../jacoco-resources/report.gif" type="image/gif"/><title>ModifiedSystemClassRuntime</title><script type="text/javascript" src="../../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../../index.html" class="el_report">JaCoCo</a> &gt; <a href="../index.html" class="el_bundle">org.jacoco.core</a> &gt; <a href="index.html" class="el_package">org.jacoco.core.runtime</a> &gt; <span class="el_class">ModifiedSystemClassRuntime</span></div><h1>ModifiedSystemClassRuntime</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">16 of 125</td><td class="ctr2">87%</td><td class="bar">0 of 0</td><td class="ctr2">n/a</td><td class="ctr1">1</td><td class="ctr2">8</td><td class="ctr1">4</td><td class="ctr2">29</td><td class="ctr1">1</td><td class="ctr2">8</td></tr></tfoot><tbody><tr><td id="a2"><a href="ModifiedSystemClassRuntime.java.html#L123" class="el_method">createFor(Instrumentation, String, String)</a></td><td class="bar" id="b0"><img src="../../jacoco-resources/redbar.gif" width="30" height="10" title="11" alt="11"/><img src="../../jacoco-resources/greenbar.gif" width="90" height="10" title="33" alt="33"/></td><td class="ctr2" id="c6">75%</td><td class="bar" id="d0"/><td class="ctr2" id="e0">n/a</td><td class="ctr1" id="f1">0</td><td class="ctr2" id="g0">1</td><td class="ctr1" id="h0">3</td><td class="ctr2" id="i0">9</td><td class="ctr1" id="j1">0</td><td class="ctr2" id="k0">1</td></tr><tr><td id="a1"><a href="ModifiedSystemClassRuntime.java.html#L101" class="el_method">createFor(Instrumentation, String)</a></td><td class="bar" id="b1"><img src="../../jacoco-resources/redbar.gif" width="13" height="10" title="5" alt="5"/></td><td class="ctr2" id="c7">0%</td><td class="bar" id="d1"/><td class="ctr2" id="e1">n/a</td><td class="ctr1" id="f0">1</td><td class="ctr2" id="g1">1</td><td class="ctr1" id="h1">1</td><td class="ctr2" id="i6">1</td><td class="ctr1" id="j0">1</td><td class="ctr2" id="k1">1</td></tr><tr><td id="a4"><a href="ModifiedSystemClassRuntime.java.html#L158" class="el_method">instrument(byte[], String)</a></td><td class="bar" id="b2"><img src="../../jacoco-resources/greenbar.gif" width="57" height="10" title="21" alt="21"/></td><td class="ctr2" id="c0">100%</td><td class="bar" id="d2"/><td class="ctr2" id="e2">n/a</td><td class="ctr1" id="f2">0</td><td class="ctr2" id="g2">1</td><td class="ctr1" id="h2">0</td><td class="ctr2" id="i2">4</td><td class="ctr1" id="j2">0</td><td class="ctr2" id="k2">1</td></tr><tr><td id="a5"><a href="ModifiedSystemClassRuntime.java.html#L57" class="el_method">ModifiedSystemClassRuntime(Class, String)</a></td><td class="bar" id="b3"><img src="../../jacoco-resources/greenbar.gif" width="43" height="10" title="16" alt="16"/></td><td class="ctr2" id="c1">100%</td><td class="bar" id="d3"/><td class="ctr2" id="e3">n/a</td><td class="ctr1" id="f3">0</td><td class="ctr2" id="g3">1</td><td class="ctr1" id="h3">0</td><td class="ctr2" id="i1">5</td><td class="ctr1" id="j3">0</td><td class="ctr2" id="k3">1</td></tr><tr><td id="a3"><a href="ModifiedSystemClassRuntime.java.html#L77" class="el_method">generateDataAccessor(long, String, int, MethodVisitor)</a></td><td class="bar" id="b4"><img src="../../jacoco-resources/greenbar.gif" width="40" height="10" title="15" alt="15"/></td><td class="ctr2" id="c2">100%</td><td class="bar" id="d4"/><td class="ctr2" id="e4">n/a</td><td class="ctr1" id="f4">0</td><td class="ctr2" id="g4">1</td><td class="ctr1" id="h4">0</td><td class="ctr2" id="i4">3</td><td class="ctr1" id="j4">0</td><td class="ctr2" id="k4">1</td></tr><tr><td id="a7"><a href="ModifiedSystemClassRuntime.java.html#L65" class="el_method">startup(RuntimeData)</a></td><td class="bar" id="b5"><img src="../../jacoco-resources/greenbar.gif" width="38" height="10" title="14" alt="14"/></td><td class="ctr2" id="c3">100%</td><td class="bar" id="d5"/><td class="ctr2" id="e5">n/a</td><td class="ctr1" id="f5">0</td><td class="ctr2" id="g5">1</td><td class="ctr1" id="h5">0</td><td class="ctr2" id="i3">4</td><td class="ctr1" id="j5">0</td><td class="ctr2" id="k5">1</td></tr><tr><td id="a0"><a href="ModifiedSystemClassRuntime.java.html#L174" class="el_method">createDataField(ClassVisitor, String)</a></td><td class="bar" id="b6"><img src="../../jacoco-resources/greenbar.gif" width="24" height="10" title="9" alt="9"/></td><td class="ctr2" id="c4">100%</td><td class="bar" id="d6"/><td class="ctr2" id="e6">n/a</td><td class="ctr1" id="f6">0</td><td class="ctr2" id="g6">1</td><td class="ctr1" id="h6">0</td><td class="ctr2" id="i5">2</td><td class="ctr1" id="j6">0</td><td class="ctr2" id="k6">1</td></tr><tr><td id="a6"><a href="ModifiedSystemClassRuntime.java.html#L72" class="el_method">shutdown()</a></td><td class="bar" id="b7"><img src="../../jacoco-resources/greenbar.gif" width="2" height="10" title="1" alt="1"/></td><td class="ctr2" id="c5">100%</td><td class="bar" id="d7"/><td class="ctr2" id="e7">n/a</td><td class="ctr1" id="f7">0</td><td class="ctr2" id="g7">1</td><td class="ctr1" id="h7">0</td><td class="ctr2" id="i7">1</td><td class="ctr1" id="j7">0</td><td class="ctr2" id="k7">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.12.202403270442</span>Code Coverage Report for JaCoCo 0.8.12-SNAPSHOT</div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/trunk/coverage/org.jacoco.core/org.jacoco.core.runtime/ModifiedSystemClassRuntime.java.html b/jacoco/trunk/coverage/org.jacoco.core/org.jacoco.core.runtime/ModifiedSystemClassRuntime.java.html
    new file mode 100644
    index 00000000000..131cac6def3
    --- /dev/null
    +++ b/jacoco/trunk/coverage/org.jacoco.core/org.jacoco.core.runtime/ModifiedSystemClassRuntime.java.html
    @@ -0,0 +1,181 @@
    +<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="en"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../../jacoco-resources/report.gif" type="image/gif"/><title>ModifiedSystemClassRuntime.java</title><link rel="stylesheet" href="../../jacoco-resources/prettify.css" type="text/css"/><script type="text/javascript" src="../../jacoco-resources/prettify.js"></script></head><body onload="window['PR_TAB_WIDTH']=4;prettyPrint()"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../../index.html" class="el_report">JaCoCo</a> &gt; <a href="../index.html" class="el_bundle">org.jacoco.core</a> &gt; <a href="index.source.html" class="el_package">org.jacoco.core.runtime</a> &gt; <span class="el_source">ModifiedSystemClassRuntime.java</span></div><h1>ModifiedSystemClassRuntime.java</h1><pre class="source lang-java linenums">/*******************************************************************************
    + * Copyright (c) 2009, 2024 Mountainminds GmbH &amp; Co. KG and Contributors
    + * This program and the accompanying materials are made available under
    + * the terms of the Eclipse Public License 2.0 which is available at
    + * http://www.eclipse.org/legal/epl-2.0
    + *
    + * SPDX-License-Identifier: EPL-2.0
    + *
    + * Contributors:
    + *    Marc R. Hoffmann - initial API and implementation
    + *
    + *******************************************************************************/
    +package org.jacoco.core.runtime;
    +
    +import static java.lang.String.format;
    +
    +import java.lang.instrument.ClassFileTransformer;
    +import java.lang.instrument.IllegalClassFormatException;
    +import java.lang.instrument.Instrumentation;
    +import java.lang.reflect.Field;
    +import java.security.ProtectionDomain;
    +
    +import org.jacoco.core.internal.instr.InstrSupport;
    +import org.objectweb.asm.ClassReader;
    +import org.objectweb.asm.ClassVisitor;
    +import org.objectweb.asm.ClassWriter;
    +import org.objectweb.asm.MethodVisitor;
    +import org.objectweb.asm.Opcodes;
    +
    +/**
    + * This {@link IRuntime} implementation works with a modified system class. A
    + * new static field is added to a bootstrap class that will be used by
    + * instrumented classes. As the system class itself needs to be instrumented
    + * this runtime requires a Java agent.
    + */
    +public class ModifiedSystemClassRuntime extends AbstractRuntime {
    +
    +	private static final String ACCESS_FIELD_TYPE = &quot;Ljava/lang/Object;&quot;;
    +
    +	private final Class&lt;?&gt; systemClass;
    +
    +	private final String systemClassName;
    +
    +	private final String accessFieldName;
    +
    +	/**
    +	 * Creates a new runtime based on the given class and members.
    +	 *
    +	 * @param systemClass
    +	 *            system class that contains the execution data
    +	 * @param accessFieldName
    +	 *            name of the public static runtime access field
    +	 *
    +	 */
    +	public ModifiedSystemClassRuntime(final Class&lt;?&gt; systemClass,
    +			final String accessFieldName) {
    +<span class="fc" id="L57">		super();</span>
    +<span class="fc" id="L58">		this.systemClass = systemClass;</span>
    +<span class="fc" id="L59">		this.systemClassName = systemClass.getName().replace('.', '/');</span>
    +<span class="fc" id="L60">		this.accessFieldName = accessFieldName;</span>
    +<span class="fc" id="L61">	}</span>
    +
    +	@Override
    +	public void startup(final RuntimeData data) throws Exception {
    +<span class="fc" id="L65">		super.startup(data);</span>
    +<span class="fc" id="L66">		final Field field = systemClass.getField(accessFieldName);</span>
    +<span class="fc" id="L67">		field.set(null, data);</span>
    +<span class="fc" id="L68">	}</span>
    +
    +	public void shutdown() {
    +		// nothing to do
    +<span class="fc" id="L72">	}</span>
    +
    +	public int generateDataAccessor(final long classid, final String classname,
    +			final int probecount, final MethodVisitor mv) {
    +
    +<span class="fc" id="L77">		mv.visitFieldInsn(Opcodes.GETSTATIC, systemClassName, accessFieldName,</span>
    +				ACCESS_FIELD_TYPE);
    +
    +<span class="fc" id="L80">		RuntimeData.generateAccessCall(classid, classname, probecount, mv);</span>
    +
    +<span class="fc" id="L82">		return 6;</span>
    +	}
    +
    +	/**
    +	 * Creates a new {@link ModifiedSystemClassRuntime} using the given class as
    +	 * the data container. Member is created with internal default name. The
    +	 * given class must not have been loaded before by the agent.
    +	 *
    +	 * @param inst
    +	 *            instrumentation interface
    +	 * @param className
    +	 *            VM name of the class to use
    +	 * @return new runtime instance
    +	 *
    +	 * @throws ClassNotFoundException
    +	 *             id the given class can not be found
    +	 */
    +	public static IRuntime createFor(final Instrumentation inst,
    +			final String className) throws ClassNotFoundException {
    +<span class="nc" id="L101">		return createFor(inst, className, &quot;$jacocoAccess&quot;);</span>
    +	}
    +
    +	/**
    +	 * Creates a new {@link ModifiedSystemClassRuntime} using the given class as
    +	 * the data container. The given class must not have been loaded before by
    +	 * the agent.
    +	 *
    +	 * @param inst
    +	 *            instrumentation interface
    +	 * @param className
    +	 *            VM name of the class to use
    +	 * @param accessFieldName
    +	 *            name of the added runtime access field
    +	 * @return new runtime instance
    +	 *
    +	 * @throws ClassNotFoundException
    +	 *             if the given class can not be found
    +	 */
    +	public static IRuntime createFor(final Instrumentation inst,
    +			final String className, final String accessFieldName)
    +			throws ClassNotFoundException {
    +<span class="fc" id="L123">		final ClassFileTransformer transformer = new ClassFileTransformer() {</span>
    +<span class="fc" id="L124">			public byte[] transform(final ClassLoader loader, final String name,</span>
    +					final Class&lt;?&gt; classBeingRedefined,
    +					final ProtectionDomain protectionDomain,
    +					final byte[] source) throws IllegalClassFormatException {
    +<span class="fc bfc" id="L128" title="All 2 branches covered.">				if (name.equals(className)) {</span>
    +<span class="fc" id="L129">					return instrument(source, accessFieldName);</span>
    +				}
    +<span class="fc" id="L131">				return null;</span>
    +			}
    +		};
    +<span class="fc" id="L134">		inst.addTransformer(transformer);</span>
    +<span class="fc" id="L135">		final Class&lt;?&gt; clazz = Class.forName(className.replace('/', '.'));</span>
    +<span class="fc" id="L136">		inst.removeTransformer(transformer);</span>
    +		try {
    +<span class="nc" id="L138">			clazz.getField(accessFieldName);</span>
    +<span class="fc" id="L139">		} catch (final NoSuchFieldException e) {</span>
    +<span class="fc" id="L140">			throw new RuntimeException(</span>
    +					format(&quot;Class %s could not be instrumented.&quot;, className),
    +					e);
    +<span class="nc" id="L143">		}</span>
    +<span class="nc" id="L144">		return new ModifiedSystemClassRuntime(clazz, accessFieldName);</span>
    +	}
    +
    +	/**
    +	 * Adds the static data field to the given class definition.
    +	 *
    +	 * @param source
    +	 *            class definition source
    +	 * @param accessFieldName
    +	 *            name of the runtime access field
    +	 * @return instrumented version with added members
    +	 */
    +	public static byte[] instrument(final byte[] source,
    +			final String accessFieldName) {
    +<span class="fc" id="L158">		final ClassReader reader = InstrSupport.classReaderFor(source);</span>
    +<span class="fc" id="L159">		final ClassWriter writer = new ClassWriter(reader, 0);</span>
    +<span class="fc" id="L160">		reader.accept(new ClassVisitor(InstrSupport.ASM_API_VERSION, writer) {</span>
    +
    +			@Override
    +<span class="fc" id="L163">			public void visitEnd() {</span>
    +<span class="fc" id="L164">				createDataField(cv, accessFieldName);</span>
    +<span class="fc" id="L165">				super.visitEnd();</span>
    +<span class="fc" id="L166">			}</span>
    +
    +		}, ClassReader.EXPAND_FRAMES);
    +<span class="fc" id="L169">		return writer.toByteArray();</span>
    +	}
    +
    +	private static void createDataField(final ClassVisitor visitor,
    +			final String dataField) {
    +<span class="fc" id="L174">		visitor.visitField(</span>
    +				Opcodes.ACC_PUBLIC | Opcodes.ACC_STATIC | Opcodes.ACC_SYNTHETIC
    +						| Opcodes.ACC_TRANSIENT,
    +				dataField, ACCESS_FIELD_TYPE, null, null);
    +<span class="fc" id="L178">	}</span>
    +
    +}
    +</pre><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.12.202403270442</span>Code Coverage Report for JaCoCo 0.8.12-SNAPSHOT</div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/trunk/coverage/org.jacoco.core/org.jacoco.core.runtime/OfflineInstrumentationAccessGenerator.html b/jacoco/trunk/coverage/org.jacoco.core/org.jacoco.core.runtime/OfflineInstrumentationAccessGenerator.html
    new file mode 100644
    index 00000000000..94319e8bc0a
    --- /dev/null
    +++ b/jacoco/trunk/coverage/org.jacoco.core/org.jacoco.core.runtime/OfflineInstrumentationAccessGenerator.html
    @@ -0,0 +1 @@
    +<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="en"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../../jacoco-resources/report.gif" type="image/gif"/><title>OfflineInstrumentationAccessGenerator</title><script type="text/javascript" src="../../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../../index.html" class="el_report">JaCoCo</a> &gt; <a href="../index.html" class="el_bundle">org.jacoco.core</a> &gt; <a href="index.html" class="el_package">org.jacoco.core.runtime</a> &gt; <span class="el_class">OfflineInstrumentationAccessGenerator</span></div><h1>OfflineInstrumentationAccessGenerator</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">0 of 40</td><td class="ctr2">100%</td><td class="bar">0 of 0</td><td class="ctr2">n/a</td><td class="ctr1">0</td><td class="ctr2">3</td><td class="ctr1">0</td><td class="ctr2">10</td><td class="ctr1">0</td><td class="ctr2">3</td></tr></tfoot><tbody><tr><td id="a0"><a href="OfflineInstrumentationAccessGenerator.java.html#L51" class="el_method">generateDataAccessor(long, String, int, MethodVisitor)</a></td><td class="bar" id="b0"><img src="../../jacoco-resources/greenbar.gif" width="120" height="10" title="20" alt="20"/></td><td class="ctr2" id="c0">100%</td><td class="bar" id="d0"/><td class="ctr2" id="e0">n/a</td><td class="ctr1" id="f0">0</td><td class="ctr2" id="g0">1</td><td class="ctr1" id="h0">0</td><td class="ctr2" id="i0">5</td><td class="ctr1" id="j0">0</td><td class="ctr2" id="k0">1</td></tr><tr><td id="a1"><a href="OfflineInstrumentationAccessGenerator.java.html#L35" class="el_method">OfflineInstrumentationAccessGenerator()</a></td><td class="bar" id="b1"><img src="../../jacoco-resources/greenbar.gif" width="84" height="10" title="14" alt="14"/></td><td class="ctr2" id="c1">100%</td><td class="bar" id="d1"/><td class="ctr2" id="e1">n/a</td><td class="ctr1" id="f1">0</td><td class="ctr2" id="g1">1</td><td class="ctr1" id="h1">0</td><td class="ctr2" id="i2">2</td><td class="ctr1" id="j1">0</td><td class="ctr2" id="k1">1</td></tr><tr><td id="a2"><a href="OfflineInstrumentationAccessGenerator.java.html#L45" class="el_method">OfflineInstrumentationAccessGenerator(String)</a></td><td class="bar" id="b2"><img src="../../jacoco-resources/greenbar.gif" width="36" height="10" title="6" alt="6"/></td><td class="ctr2" id="c2">100%</td><td class="bar" id="d2"/><td class="ctr2" id="e2">n/a</td><td class="ctr1" id="f2">0</td><td class="ctr2" id="g2">1</td><td class="ctr1" id="h2">0</td><td class="ctr2" id="i1">3</td><td class="ctr1" id="j2">0</td><td class="ctr2" id="k2">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.12.202403270442</span>Code Coverage Report for JaCoCo 0.8.12-SNAPSHOT</div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/trunk/coverage/org.jacoco.core/org.jacoco.core.runtime/OfflineInstrumentationAccessGenerator.java.html b/jacoco/trunk/coverage/org.jacoco.core/org.jacoco.core.runtime/OfflineInstrumentationAccessGenerator.java.html
    new file mode 100644
    index 00000000000..3a49a7d5cf4
    --- /dev/null
    +++ b/jacoco/trunk/coverage/org.jacoco.core/org.jacoco.core.runtime/OfflineInstrumentationAccessGenerator.java.html
    @@ -0,0 +1,60 @@
    +<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="en"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../../jacoco-resources/report.gif" type="image/gif"/><title>OfflineInstrumentationAccessGenerator.java</title><link rel="stylesheet" href="../../jacoco-resources/prettify.css" type="text/css"/><script type="text/javascript" src="../../jacoco-resources/prettify.js"></script></head><body onload="window['PR_TAB_WIDTH']=4;prettyPrint()"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../../index.html" class="el_report">JaCoCo</a> &gt; <a href="../index.html" class="el_bundle">org.jacoco.core</a> &gt; <a href="index.source.html" class="el_package">org.jacoco.core.runtime</a> &gt; <span class="el_source">OfflineInstrumentationAccessGenerator.java</span></div><h1>OfflineInstrumentationAccessGenerator.java</h1><pre class="source lang-java linenums">/*******************************************************************************
    + * Copyright (c) 2009, 2024 Mountainminds GmbH &amp; Co. KG and Contributors
    + * This program and the accompanying materials are made available under
    + * the terms of the Eclipse Public License 2.0 which is available at
    + * http://www.eclipse.org/legal/epl-2.0
    + *
    + * SPDX-License-Identifier: EPL-2.0
    + *
    + * Contributors:
    + *    Marc R. Hoffmann - initial API and implementation
    + *
    + *******************************************************************************/
    +package org.jacoco.core.runtime;
    +
    +import org.jacoco.core.JaCoCo;
    +import org.jacoco.core.internal.instr.InstrSupport;
    +import org.objectweb.asm.MethodVisitor;
    +import org.objectweb.asm.Opcodes;
    +
    +/**
    + * This implementation of {@link IExecutionDataAccessorGenerator} generate a
    + * direct dependency to the JaCoCo runtime agent to initialize the runtime and
    + * obtain probe arrays. This generator is designed for offline instrumentation
    + * only.
    + */
    +public class OfflineInstrumentationAccessGenerator
    +		implements IExecutionDataAccessorGenerator {
    +
    +	private final String runtimeClassName;
    +
    +	/**
    +	 * Creates a new instance for offline instrumentation.
    +	 */
    +	public OfflineInstrumentationAccessGenerator() {
    +<span class="fc" id="L35">		this(JaCoCo.RUNTIMEPACKAGE.replace('.', '/') + &quot;/Offline&quot;);</span>
    +<span class="fc" id="L36">	}</span>
    +
    +	/**
    +	 * Creates a new instance with the given runtime class name for testing
    +	 * purposes
    +	 *
    +	 * @param runtimeClassName
    +	 *            VM name of the runtime class
    +	 */
    +<span class="fc" id="L45">	OfflineInstrumentationAccessGenerator(final String runtimeClassName) {</span>
    +<span class="fc" id="L46">		this.runtimeClassName = runtimeClassName;</span>
    +<span class="fc" id="L47">	}</span>
    +
    +	public int generateDataAccessor(final long classid, final String classname,
    +			final int probecount, final MethodVisitor mv) {
    +<span class="fc" id="L51">		mv.visitLdcInsn(Long.valueOf(classid));</span>
    +<span class="fc" id="L52">		mv.visitLdcInsn(classname);</span>
    +<span class="fc" id="L53">		InstrSupport.push(mv, probecount);</span>
    +<span class="fc" id="L54">		mv.visitMethodInsn(Opcodes.INVOKESTATIC, runtimeClassName, &quot;getProbes&quot;,</span>
    +				&quot;(JLjava/lang/String;I)[Z&quot;, false);
    +<span class="fc" id="L56">		return 4;</span>
    +	}
    +
    +}
    +</pre><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.12.202403270442</span>Code Coverage Report for JaCoCo 0.8.12-SNAPSHOT</div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/trunk/coverage/org.jacoco.core/org.jacoco.core.runtime/RemoteControlReader.html b/jacoco/trunk/coverage/org.jacoco.core/org.jacoco.core.runtime/RemoteControlReader.html
    new file mode 100644
    index 00000000000..d48554148a4
    --- /dev/null
    +++ b/jacoco/trunk/coverage/org.jacoco.core/org.jacoco.core.runtime/RemoteControlReader.html
    @@ -0,0 +1 @@
    +<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="en"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../../jacoco-resources/report.gif" type="image/gif"/><title>RemoteControlReader</title><script type="text/javascript" src="../../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../../index.html" class="el_report">JaCoCo</a> &gt; <a href="../index.html" class="el_bundle">org.jacoco.core</a> &gt; <a href="index.html" class="el_package">org.jacoco.core.runtime</a> &gt; <span class="el_class">RemoteControlReader</span></div><h1>RemoteControlReader</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">0 of 42</td><td class="ctr2">100%</td><td class="bar">0 of 5</td><td class="ctr2">100%</td><td class="ctr1">0</td><td class="ctr2">7</td><td class="ctr1">0</td><td class="ctr2">15</td><td class="ctr1">0</td><td class="ctr2">4</td></tr></tfoot><tbody><tr><td id="a1"><a href="RemoteControlReader.java.html#L63" class="el_method">readDumpCommand()</a></td><td class="bar" id="b0"><img src="../../jacoco-resources/greenbar.gif" width="120" height="10" title="22" alt="22"/></td><td class="ctr2" id="c0">100%</td><td class="bar" id="d1"><img src="../../jacoco-resources/greenbar.gif" width="80" height="10" title="2" alt="2"/></td><td class="ctr2" id="e0">100%</td><td class="ctr1" id="f0">0</td><td class="ctr2" id="g1">2</td><td class="ctr1" id="h0">0</td><td class="ctr2" id="i0">6</td><td class="ctr1" id="j0">0</td><td class="ctr2" id="k0">1</td></tr><tr><td id="a0"><a href="RemoteControlReader.java.html#L41" class="el_method">readBlock(byte)</a></td><td class="bar" id="b1"><img src="../../jacoco-resources/greenbar.gif" width="65" height="10" title="12" alt="12"/></td><td class="ctr2" id="c1">100%</td><td class="bar" id="d0"><img src="../../jacoco-resources/greenbar.gif" width="120" height="10" title="3" alt="3"/></td><td class="ctr2" id="e1">100%</td><td class="ctr1" id="f1">0</td><td class="ctr2" id="g0">3</td><td class="ctr1" id="h1">0</td><td class="ctr2" id="i1">5</td><td class="ctr1" id="j1">0</td><td class="ctr2" id="k1">1</td></tr><tr><td id="a2"><a href="RemoteControlReader.java.html#L36" class="el_method">RemoteControlReader(InputStream)</a></td><td class="bar" id="b2"><img src="../../jacoco-resources/greenbar.gif" width="21" height="10" title="4" alt="4"/></td><td class="ctr2" id="c2">100%</td><td class="bar" id="d2"/><td class="ctr2" id="e2">n/a</td><td class="ctr1" id="f2">0</td><td class="ctr2" id="g2">1</td><td class="ctr1" id="h2">0</td><td class="ctr2" id="i2">2</td><td class="ctr1" id="j2">0</td><td class="ctr2" id="k2">1</td></tr><tr><td id="a3"><a href="RemoteControlReader.java.html#L59" class="el_method">setRemoteCommandVisitor(IRemoteCommandVisitor)</a></td><td class="bar" id="b3"><img src="../../jacoco-resources/greenbar.gif" width="21" height="10" title="4" alt="4"/></td><td class="ctr2" id="c3">100%</td><td class="bar" id="d3"/><td class="ctr2" id="e3">n/a</td><td class="ctr1" id="f3">0</td><td class="ctr2" id="g3">1</td><td class="ctr1" id="h3">0</td><td class="ctr2" id="i3">2</td><td class="ctr1" id="j3">0</td><td class="ctr2" id="k3">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.12.202403270442</span>Code Coverage Report for JaCoCo 0.8.12-SNAPSHOT</div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/trunk/coverage/org.jacoco.core/org.jacoco.core.runtime/RemoteControlReader.java.html b/jacoco/trunk/coverage/org.jacoco.core/org.jacoco.core.runtime/RemoteControlReader.java.html
    new file mode 100644
    index 00000000000..150ff4ea315
    --- /dev/null
    +++ b/jacoco/trunk/coverage/org.jacoco.core/org.jacoco.core.runtime/RemoteControlReader.java.html
    @@ -0,0 +1,72 @@
    +<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="en"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../../jacoco-resources/report.gif" type="image/gif"/><title>RemoteControlReader.java</title><link rel="stylesheet" href="../../jacoco-resources/prettify.css" type="text/css"/><script type="text/javascript" src="../../jacoco-resources/prettify.js"></script></head><body onload="window['PR_TAB_WIDTH']=4;prettyPrint()"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../../index.html" class="el_report">JaCoCo</a> &gt; <a href="../index.html" class="el_bundle">org.jacoco.core</a> &gt; <a href="index.source.html" class="el_package">org.jacoco.core.runtime</a> &gt; <span class="el_source">RemoteControlReader.java</span></div><h1>RemoteControlReader.java</h1><pre class="source lang-java linenums">/*******************************************************************************
    + * Copyright (c) 2009, 2024 Mountainminds GmbH &amp; Co. KG and Contributors
    + * This program and the accompanying materials are made available under
    + * the terms of the Eclipse Public License 2.0 which is available at
    + * http://www.eclipse.org/legal/epl-2.0
    + *
    + * SPDX-License-Identifier: EPL-2.0
    + *
    + * Contributors:
    + *    Marc R. Hoffmann - initial API and implementation
    + *
    + *******************************************************************************/
    +package org.jacoco.core.runtime;
    +
    +import java.io.IOException;
    +import java.io.InputStream;
    +
    +import org.jacoco.core.data.ExecutionDataReader;
    +
    +/**
    + * {@link ExecutionDataReader} with commands added for runtime remote control.
    + */
    +public class RemoteControlReader extends ExecutionDataReader {
    +
    +	private IRemoteCommandVisitor remoteCommandVisitor;
    +
    +	/**
    +	 * Create a new read based on the given input stream.
    +	 *
    +	 * @param input
    +	 *            input stream to read commands from
    +	 * @throws IOException
    +	 *             if the stream does not have a valid header
    +	 */
    +	public RemoteControlReader(final InputStream input) throws IOException {
    +<span class="fc" id="L36">		super(input);</span>
    +<span class="fc" id="L37">	}</span>
    +
    +	@Override
    +	protected boolean readBlock(final byte blockid) throws IOException {
    +<span class="fc bfc" id="L41" title="All 3 branches covered.">		switch (blockid) {</span>
    +		case RemoteControlWriter.BLOCK_CMDDUMP:
    +<span class="fc" id="L43">			readDumpCommand();</span>
    +<span class="fc" id="L44">			return true;</span>
    +		case RemoteControlWriter.BLOCK_CMDOK:
    +<span class="fc" id="L46">			return false;</span>
    +		default:
    +<span class="fc" id="L48">			return super.readBlock(blockid);</span>
    +		}
    +	}
    +
    +	/**
    +	 * Sets an listener for agent commands.
    +	 *
    +	 * @param visitor
    +	 *            visitor to retrieve agent commands
    +	 */
    +	public void setRemoteCommandVisitor(final IRemoteCommandVisitor visitor) {
    +<span class="fc" id="L59">		this.remoteCommandVisitor = visitor;</span>
    +<span class="fc" id="L60">	}</span>
    +
    +	private void readDumpCommand() throws IOException {
    +<span class="fc bfc" id="L63" title="All 2 branches covered.">		if (remoteCommandVisitor == null) {</span>
    +<span class="fc" id="L64">			throw new IOException(&quot;No remote command visitor.&quot;);</span>
    +		}
    +<span class="fc" id="L66">		final boolean dump = in.readBoolean();</span>
    +<span class="fc" id="L67">		final boolean reset = in.readBoolean();</span>
    +<span class="fc" id="L68">		remoteCommandVisitor.visitDumpCommand(dump, reset);</span>
    +<span class="fc" id="L69">	}</span>
    +
    +}
    +</pre><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.12.202403270442</span>Code Coverage Report for JaCoCo 0.8.12-SNAPSHOT</div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/trunk/coverage/org.jacoco.core/org.jacoco.core.runtime/RemoteControlWriter.html b/jacoco/trunk/coverage/org.jacoco.core/org.jacoco.core.runtime/RemoteControlWriter.html
    new file mode 100644
    index 00000000000..08303262a23
    --- /dev/null
    +++ b/jacoco/trunk/coverage/org.jacoco.core/org.jacoco.core.runtime/RemoteControlWriter.html
    @@ -0,0 +1 @@
    +<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="en"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../../jacoco-resources/report.gif" type="image/gif"/><title>RemoteControlWriter</title><script type="text/javascript" src="../../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../../index.html" class="el_report">JaCoCo</a> &gt; <a href="../index.html" class="el_bundle">org.jacoco.core</a> &gt; <a href="index.html" class="el_package">org.jacoco.core.runtime</a> &gt; <span class="el_class">RemoteControlWriter</span></div><h1>RemoteControlWriter</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">0 of 22</td><td class="ctr2">100%</td><td class="bar">0 of 0</td><td class="ctr2">n/a</td><td class="ctr1">0</td><td class="ctr2">3</td><td class="ctr1">0</td><td class="ctr2">8</td><td class="ctr1">0</td><td class="ctr2">3</td></tr></tfoot><tbody><tr><td id="a2"><a href="RemoteControlWriter.java.html#L57" class="el_method">visitDumpCommand(boolean, boolean)</a></td><td class="bar" id="b0"><img src="../../jacoco-resources/greenbar.gif" width="120" height="10" title="13" alt="13"/></td><td class="ctr2" id="c0">100%</td><td class="bar" id="d0"/><td class="ctr2" id="e0">n/a</td><td class="ctr1" id="f0">0</td><td class="ctr2" id="g0">1</td><td class="ctr1" id="h0">0</td><td class="ctr2" id="i0">4</td><td class="ctr1" id="j0">0</td><td class="ctr2" id="k0">1</td></tr><tr><td id="a1"><a href="RemoteControlWriter.java.html#L52" class="el_method">sendCmdOk()</a></td><td class="bar" id="b1"><img src="../../jacoco-resources/greenbar.gif" width="46" height="10" title="5" alt="5"/></td><td class="ctr2" id="c1">100%</td><td class="bar" id="d1"/><td class="ctr2" id="e1">n/a</td><td class="ctr1" id="f1">0</td><td class="ctr2" id="g1">1</td><td class="ctr1" id="h1">0</td><td class="ctr2" id="i1">2</td><td class="ctr1" id="j1">0</td><td class="ctr2" id="k1">1</td></tr><tr><td id="a0"><a href="RemoteControlWriter.java.html#L41" class="el_method">RemoteControlWriter(OutputStream)</a></td><td class="bar" id="b2"><img src="../../jacoco-resources/greenbar.gif" width="36" height="10" title="4" alt="4"/></td><td class="ctr2" id="c2">100%</td><td class="bar" id="d2"/><td class="ctr2" id="e2">n/a</td><td class="ctr1" id="f2">0</td><td class="ctr2" id="g2">1</td><td class="ctr1" id="h2">0</td><td class="ctr2" id="i2">2</td><td class="ctr1" id="j2">0</td><td class="ctr2" id="k2">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.12.202403270442</span>Code Coverage Report for JaCoCo 0.8.12-SNAPSHOT</div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/trunk/coverage/org.jacoco.core/org.jacoco.core.runtime/RemoteControlWriter.java.html b/jacoco/trunk/coverage/org.jacoco.core/org.jacoco.core.runtime/RemoteControlWriter.java.html
    new file mode 100644
    index 00000000000..0b9ea662df4
    --- /dev/null
    +++ b/jacoco/trunk/coverage/org.jacoco.core/org.jacoco.core.runtime/RemoteControlWriter.java.html
    @@ -0,0 +1,63 @@
    +<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="en"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../../jacoco-resources/report.gif" type="image/gif"/><title>RemoteControlWriter.java</title><link rel="stylesheet" href="../../jacoco-resources/prettify.css" type="text/css"/><script type="text/javascript" src="../../jacoco-resources/prettify.js"></script></head><body onload="window['PR_TAB_WIDTH']=4;prettyPrint()"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../../index.html" class="el_report">JaCoCo</a> &gt; <a href="../index.html" class="el_bundle">org.jacoco.core</a> &gt; <a href="index.source.html" class="el_package">org.jacoco.core.runtime</a> &gt; <span class="el_source">RemoteControlWriter.java</span></div><h1>RemoteControlWriter.java</h1><pre class="source lang-java linenums">/*******************************************************************************
    + * Copyright (c) 2009, 2024 Mountainminds GmbH &amp; Co. KG and Contributors
    + * This program and the accompanying materials are made available under
    + * the terms of the Eclipse Public License 2.0 which is available at
    + * http://www.eclipse.org/legal/epl-2.0
    + *
    + * SPDX-License-Identifier: EPL-2.0
    + *
    + * Contributors:
    + *    Marc R. Hoffmann - initial API and implementation
    + *
    + *******************************************************************************/
    +package org.jacoco.core.runtime;
    +
    +import java.io.IOException;
    +import java.io.OutputStream;
    +
    +import org.jacoco.core.data.ExecutionDataWriter;
    +
    +/**
    + * {@link ExecutionDataWriter} with commands added for runtime remote control.
    + */
    +public class RemoteControlWriter extends ExecutionDataWriter
    +		implements IRemoteCommandVisitor {
    +
    +	/** Block identifier to confirm successful command execution. */
    +	public static final byte BLOCK_CMDOK = 0x20;
    +
    +	/** Block identifier for dump command */
    +	public static final byte BLOCK_CMDDUMP = 0x40;
    +
    +	/**
    +	 * Creates a new writer based on the given output stream.
    +	 *
    +	 * @param output
    +	 *            stream to write commands to
    +	 * @throws IOException
    +	 *             if the header can't be written
    +	 */
    +	public RemoteControlWriter(final OutputStream output) throws IOException {
    +<span class="fc" id="L41">		super(output);</span>
    +<span class="fc" id="L42">	}</span>
    +
    +	/**
    +	 * Sends a confirmation that a commands has been successfully executed and
    +	 * the response is completed.
    +	 *
    +	 * @throws IOException
    +	 *             in case of problems with the remote connection
    +	 */
    +	public void sendCmdOk() throws IOException {
    +<span class="fc" id="L52">		out.writeByte(RemoteControlWriter.BLOCK_CMDOK);</span>
    +<span class="fc" id="L53">	}</span>
    +
    +	public void visitDumpCommand(final boolean dump, final boolean reset)
    +			throws IOException {
    +<span class="fc" id="L57">		out.writeByte(RemoteControlWriter.BLOCK_CMDDUMP);</span>
    +<span class="fc" id="L58">		out.writeBoolean(dump);</span>
    +<span class="fc" id="L59">		out.writeBoolean(reset);</span>
    +<span class="fc" id="L60">	}</span>
    +
    +}
    +</pre><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.12.202403270442</span>Code Coverage Report for JaCoCo 0.8.12-SNAPSHOT</div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/trunk/coverage/org.jacoco.core/org.jacoco.core.runtime/RuntimeData.html b/jacoco/trunk/coverage/org.jacoco.core/org.jacoco.core.runtime/RuntimeData.html
    new file mode 100644
    index 00000000000..9c512aee6f4
    --- /dev/null
    +++ b/jacoco/trunk/coverage/org.jacoco.core/org.jacoco.core.runtime/RuntimeData.html
    @@ -0,0 +1 @@
    +<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="en"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../../jacoco-resources/report.gif" type="image/gif"/><title>RuntimeData</title><script type="text/javascript" src="../../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../../index.html" class="el_report">JaCoCo</a> &gt; <a href="../index.html" class="el_bundle">org.jacoco.core</a> &gt; <a href="index.html" class="el_package">org.jacoco.core.runtime</a> &gt; <span class="el_class">RuntimeData</span></div><h1>RuntimeData</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">0 of 205</td><td class="ctr2">100%</td><td class="bar">0 of 4</td><td class="ctr2">100%</td><td class="ctr1">0</td><td class="ctr2">12</td><td class="ctr1">0</td><td class="ctr2">56</td><td class="ctr1">0</td><td class="ctr2">10</td></tr></tfoot><tbody><tr><td id="a3"><a href="RuntimeData.java.html#L185" class="el_method">generateArgumentArray(long, String, int, MethodVisitor)</a></td><td class="bar" id="b0"><img src="../../jacoco-resources/greenbar.gif" width="120" height="10" title="59" alt="59"/></td><td class="ctr2" id="c0">100%</td><td class="bar" id="d2"/><td class="ctr2" id="e2">n/a</td><td class="ctr1" id="f0">0</td><td class="ctr2" id="g2">1</td><td class="ctr1" id="h0">0</td><td class="ctr2" id="i0">17</td><td class="ctr1" id="j0">0</td><td class="ctr2" id="k0">1</td></tr><tr><td id="a0"><a href="RuntimeData.java.html#L84" class="el_method">collect(IExecutionDataVisitor, ISessionInfoVisitor, boolean)</a></td><td class="bar" id="b1"><img src="../../jacoco-resources/greenbar.gif" width="58" height="10" title="29" alt="29"/></td><td class="ctr2" id="c1">100%</td><td class="bar" id="d0"><img src="../../jacoco-resources/greenbar.gif" width="120" height="10" title="2" alt="2"/></td><td class="ctr2" id="e0">100%</td><td class="ctr1" id="f1">0</td><td class="ctr2" id="g0">2</td><td class="ctr1" id="h1">0</td><td class="ctr2" id="i1">8</td><td class="ctr1" id="j1">0</td><td class="ctr2" id="k1">1</td></tr><tr><td id="a2"><a href="RuntimeData.java.html#L232" class="el_method">generateAccessCall(long, String, int, MethodVisitor)</a></td><td class="bar" id="b2"><img src="../../jacoco-resources/greenbar.gif" width="58" height="10" title="29" alt="29"/></td><td class="ctr2" id="c2">100%</td><td class="bar" id="d3"/><td class="ctr2" id="e3">n/a</td><td class="ctr1" id="f2">0</td><td class="ctr2" id="g3">1</td><td class="ctr1" id="h2">0</td><td class="ctr2" id="i2">8</td><td class="ctr1" id="j2">0</td><td class="ctr2" id="k2">1</td></tr><tr><td id="a5"><a href="RuntimeData.java.html#L146" class="el_method">getProbes(Object[])</a></td><td class="bar" id="b3"><img src="../../jacoco-resources/greenbar.gif" width="52" height="10" title="26" alt="26"/></td><td class="ctr2" id="c3">100%</td><td class="bar" id="d4"/><td class="ctr2" id="e4">n/a</td><td class="ctr1" id="f3">0</td><td class="ctr2" id="g4">1</td><td class="ctr1" id="h3">0</td><td class="ctr2" id="i3">5</td><td class="ctr1" id="j3">0</td><td class="ctr2" id="k3">1</td></tr><tr><td id="a7"><a href="RuntimeData.java.html#L99" class="el_method">reset()</a></td><td class="bar" id="b4"><img src="../../jacoco-resources/greenbar.gif" width="30" height="10" title="15" alt="15"/></td><td class="ctr2" id="c4">100%</td><td class="bar" id="d5"/><td class="ctr2" id="e5">n/a</td><td class="ctr1" id="f4">0</td><td class="ctr2" id="g5">1</td><td class="ctr1" id="h4">0</td><td class="ctr2" id="i4">5</td><td class="ctr1" id="j4">0</td><td class="ctr2" id="k4">1</td></tr><tr><td id="a8"><a href="RuntimeData.java.html#L40" class="el_method">RuntimeData()</a></td><td class="bar" id="b5"><img src="../../jacoco-resources/greenbar.gif" width="28" height="10" title="14" alt="14"/></td><td class="ctr2" id="c5">100%</td><td class="bar" id="d6"/><td class="ctr2" id="e6">n/a</td><td class="ctr1" id="f5">0</td><td class="ctr2" id="g6">1</td><td class="ctr1" id="h5">0</td><td class="ctr2" id="i5">5</td><td class="ctr1" id="j5">0</td><td class="ctr2" id="k5">1</td></tr><tr><td id="a4"><a href="RuntimeData.java.html#L120" class="el_method">getExecutionData(Long, String, int)</a></td><td class="bar" id="b6"><img src="../../jacoco-resources/greenbar.gif" width="28" height="10" title="14" alt="14"/></td><td class="ctr2" id="c6">100%</td><td class="bar" id="d7"/><td class="ctr2" id="e7">n/a</td><td class="ctr1" id="f6">0</td><td class="ctr2" id="g7">1</td><td class="ctr1" id="h6">0</td><td class="ctr2" id="i7">2</td><td class="ctr1" id="j6">0</td><td class="ctr2" id="k6">1</td></tr><tr><td id="a1"><a href="RuntimeData.java.html#L162" class="el_method">equals(Object)</a></td><td class="bar" id="b7"><img src="../../jacoco-resources/greenbar.gif" width="24" height="10" title="12" alt="12"/></td><td class="ctr2" id="c7">100%</td><td class="bar" id="d1"><img src="../../jacoco-resources/greenbar.gif" width="120" height="10" title="2" alt="2"/></td><td class="ctr2" id="e1">100%</td><td class="ctr1" id="f7">0</td><td class="ctr2" id="g1">2</td><td class="ctr1" id="h7">0</td><td class="ctr2" id="i6">3</td><td class="ctr1" id="j7">0</td><td class="ctr2" id="k7">1</td></tr><tr><td id="a9"><a href="RuntimeData.java.html#L57" class="el_method">setSessionId(String)</a></td><td class="bar" id="b8"><img src="../../jacoco-resources/greenbar.gif" width="8" height="10" title="4" alt="4"/></td><td class="ctr2" id="c8">100%</td><td class="bar" id="d8"/><td class="ctr2" id="e8">n/a</td><td class="ctr1" id="f8">0</td><td class="ctr2" id="g8">1</td><td class="ctr1" id="h8">0</td><td class="ctr2" id="i8">2</td><td class="ctr1" id="j8">0</td><td class="ctr2" id="k8">1</td></tr><tr><td id="a6"><a href="RuntimeData.java.html#L67" class="el_method">getSessionId()</a></td><td class="bar" id="b9"><img src="../../jacoco-resources/greenbar.gif" width="6" height="10" title="3" alt="3"/></td><td class="ctr2" id="c9">100%</td><td class="bar" id="d9"/><td class="ctr2" id="e9">n/a</td><td class="ctr1" id="f9">0</td><td class="ctr2" id="g9">1</td><td class="ctr1" id="h9">0</td><td class="ctr2" id="i9">1</td><td class="ctr1" id="j9">0</td><td class="ctr2" id="k9">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.12.202403270442</span>Code Coverage Report for JaCoCo 0.8.12-SNAPSHOT</div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/trunk/coverage/org.jacoco.core/org.jacoco.core.runtime/RuntimeData.java.html b/jacoco/trunk/coverage/org.jacoco.core/org.jacoco.core.runtime/RuntimeData.java.html
    new file mode 100644
    index 00000000000..d8c98f7c07d
    --- /dev/null
    +++ b/jacoco/trunk/coverage/org.jacoco.core/org.jacoco.core.runtime/RuntimeData.java.html
    @@ -0,0 +1,258 @@
    +<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="en"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../../jacoco-resources/report.gif" type="image/gif"/><title>RuntimeData.java</title><link rel="stylesheet" href="../../jacoco-resources/prettify.css" type="text/css"/><script type="text/javascript" src="../../jacoco-resources/prettify.js"></script></head><body onload="window['PR_TAB_WIDTH']=4;prettyPrint()"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../../index.html" class="el_report">JaCoCo</a> &gt; <a href="../index.html" class="el_bundle">org.jacoco.core</a> &gt; <a href="index.source.html" class="el_package">org.jacoco.core.runtime</a> &gt; <span class="el_source">RuntimeData.java</span></div><h1>RuntimeData.java</h1><pre class="source lang-java linenums">/*******************************************************************************
    + * Copyright (c) 2009, 2024 Mountainminds GmbH &amp; Co. KG and Contributors
    + * This program and the accompanying materials are made available under
    + * the terms of the Eclipse Public License 2.0 which is available at
    + * http://www.eclipse.org/legal/epl-2.0
    + *
    + * SPDX-License-Identifier: EPL-2.0
    + *
    + * Contributors:
    + *    Marc R. Hoffmann - initial API and implementation
    + *
    + *******************************************************************************/
    +package org.jacoco.core.runtime;
    +
    +import org.jacoco.core.data.ExecutionData;
    +import org.jacoco.core.data.ExecutionDataStore;
    +import org.jacoco.core.data.IExecutionDataVisitor;
    +import org.jacoco.core.data.ISessionInfoVisitor;
    +import org.jacoco.core.data.SessionInfo;
    +import org.jacoco.core.internal.instr.InstrSupport;
    +import org.objectweb.asm.MethodVisitor;
    +import org.objectweb.asm.Opcodes;
    +
    +/**
    + * Container for runtime execution and meta data. All access to the runtime data
    + * is thread safe.
    + */
    +public class RuntimeData {
    +
    +	/** store for execution data */
    +	protected final ExecutionDataStore store;
    +
    +	private long startTimeStamp;
    +
    +	private String sessionId;
    +
    +	/**
    +	 * Creates a new runtime.
    +	 */
    +<span class="fc" id="L40">	public RuntimeData() {</span>
    +<span class="fc" id="L41">		store = new ExecutionDataStore();</span>
    +<span class="fc" id="L42">		sessionId = &quot;&lt;none&gt;&quot;;</span>
    +<span class="fc" id="L43">		startTimeStamp = System.currentTimeMillis();</span>
    +<span class="fc" id="L44">	}</span>
    +
    +	/**
    +	 * Sets a session identifier for this runtime. The identifier is used when
    +	 * execution data is collected. If no identifier is explicitly set a
    +	 * identifier is generated from the host name and a random number. This
    +	 * method can be called at any time.
    +	 *
    +	 * @see #collect(IExecutionDataVisitor, ISessionInfoVisitor, boolean)
    +	 * @param id
    +	 *            new session identifier
    +	 */
    +	public void setSessionId(final String id) {
    +<span class="fc" id="L57">		sessionId = id;</span>
    +<span class="fc" id="L58">	}</span>
    +
    +	/**
    +	 * Get the current a session identifier for this runtime.
    +	 *
    +	 * @see #setSessionId(String)
    +	 * @return current session identifier
    +	 */
    +	public String getSessionId() {
    +<span class="fc" id="L67">		return sessionId;</span>
    +	}
    +
    +	/**
    +	 * Collects the current execution data and writes it to the given
    +	 * {@link IExecutionDataVisitor} object.
    +	 *
    +	 * @param executionDataVisitor
    +	 *            handler to write coverage data to
    +	 * @param sessionInfoVisitor
    +	 *            handler to write session information to
    +	 * @param reset
    +	 *            if &lt;code&gt;true&lt;/code&gt; the current coverage information is also
    +	 *            cleared
    +	 */
    +	public final void collect(final IExecutionDataVisitor executionDataVisitor,
    +			final ISessionInfoVisitor sessionInfoVisitor, final boolean reset) {
    +<span class="fc" id="L84">		synchronized (store) {</span>
    +<span class="fc" id="L85">			final SessionInfo info = new SessionInfo(sessionId, startTimeStamp,</span>
    +					System.currentTimeMillis());
    +<span class="fc" id="L87">			sessionInfoVisitor.visitSessionInfo(info);</span>
    +<span class="fc" id="L88">			store.accept(executionDataVisitor);</span>
    +<span class="fc bfc" id="L89" title="All 2 branches covered.">			if (reset) {</span>
    +<span class="fc" id="L90">				reset();</span>
    +			}
    +<span class="fc" id="L92">		}</span>
    +<span class="fc" id="L93">	}</span>
    +
    +	/**
    +	 * Resets all coverage information.
    +	 */
    +	public final void reset() {
    +<span class="fc" id="L99">		synchronized (store) {</span>
    +<span class="fc" id="L100">			store.reset();</span>
    +<span class="fc" id="L101">			startTimeStamp = System.currentTimeMillis();</span>
    +<span class="fc" id="L102">		}</span>
    +<span class="fc" id="L103">	}</span>
    +
    +	/**
    +	 * Returns the coverage data for the class with the given identifier. If
    +	 * there is no data available under the given id a new entry is created.
    +	 * This is a synchronized access to the underlying store.
    +	 *
    +	 * @param id
    +	 *            class identifier
    +	 * @param name
    +	 *            VM name of the class
    +	 * @param probecount
    +	 *            probe data length
    +	 * @return execution data
    +	 */
    +	public ExecutionData getExecutionData(final Long id, final String name,
    +			final int probecount) {
    +<span class="fc" id="L120">		synchronized (store) {</span>
    +<span class="fc" id="L121">			return store.get(id, name, probecount);</span>
    +		}
    +	}
    +
    +	/**
    +	 * Retrieves the execution probe array for a given class. The passed
    +	 * {@link Object} array instance is used for parameters and the return value
    +	 * as follows. Call parameters:
    +	 *
    +	 * &lt;ul&gt;
    +	 * &lt;li&gt;args[0]: class id ({@link Long})
    +	 * &lt;li&gt;args[1]: vm class name ({@link String})
    +	 * &lt;li&gt;args[2]: probe count ({@link Integer})
    +	 * &lt;/ul&gt;
    +	 *
    +	 * Return value:
    +	 *
    +	 * &lt;ul&gt;
    +	 * &lt;li&gt;args[0]: probe array (&lt;code&gt;boolean[]&lt;/code&gt;)
    +	 * &lt;/ul&gt;
    +	 *
    +	 * @param args
    +	 *            parameter array of length 3
    +	 */
    +	public void getProbes(final Object[] args) {
    +<span class="fc" id="L146">		final Long classid = (Long) args[0];</span>
    +<span class="fc" id="L147">		final String name = (String) args[1];</span>
    +<span class="fc" id="L148">		final int probecount = ((Integer) args[2]).intValue();</span>
    +<span class="fc" id="L149">		args[0] = getExecutionData(classid, name, probecount).getProbes();</span>
    +<span class="fc" id="L150">	}</span>
    +
    +	/**
    +	 * In violation of the regular semantic of {@link Object#equals(Object)}
    +	 * this implementation is used as the interface to the execution data store.
    +	 *
    +	 * @param args
    +	 *            the arguments as an {@link Object} array
    +	 * @return has no meaning
    +	 */
    +	@Override
    +	public boolean equals(final Object args) {
    +<span class="fc bfc" id="L162" title="All 2 branches covered.">		if (args instanceof Object[]) {</span>
    +<span class="fc" id="L163">			getProbes((Object[]) args);</span>
    +		}
    +<span class="fc" id="L165">		return super.equals(args);</span>
    +	}
    +
    +	/**
    +	 * Generates code that creates the argument array for the
    +	 * {@link #getProbes(Object[])} method. The array instance is left on the
    +	 * operand stack. The generated code requires a stack size of 5.
    +	 *
    +	 * @param classid
    +	 *            class identifier
    +	 * @param classname
    +	 *            VM class name
    +	 * @param probecount
    +	 *            probe count for this class
    +	 * @param mv
    +	 *            visitor to emit generated code
    +	 */
    +	public static void generateArgumentArray(final long classid,
    +			final String classname, final int probecount,
    +			final MethodVisitor mv) {
    +<span class="fc" id="L185">		mv.visitInsn(Opcodes.ICONST_3);</span>
    +<span class="fc" id="L186">		mv.visitTypeInsn(Opcodes.ANEWARRAY, &quot;java/lang/Object&quot;);</span>
    +
    +		// Class Id:
    +<span class="fc" id="L189">		mv.visitInsn(Opcodes.DUP);</span>
    +<span class="fc" id="L190">		mv.visitInsn(Opcodes.ICONST_0);</span>
    +<span class="fc" id="L191">		mv.visitLdcInsn(Long.valueOf(classid));</span>
    +<span class="fc" id="L192">		mv.visitMethodInsn(Opcodes.INVOKESTATIC, &quot;java/lang/Long&quot;, &quot;valueOf&quot;,</span>
    +				&quot;(J)Ljava/lang/Long;&quot;, false);
    +<span class="fc" id="L194">		mv.visitInsn(Opcodes.AASTORE);</span>
    +
    +		// Class Name:
    +<span class="fc" id="L197">		mv.visitInsn(Opcodes.DUP);</span>
    +<span class="fc" id="L198">		mv.visitInsn(Opcodes.ICONST_1);</span>
    +<span class="fc" id="L199">		mv.visitLdcInsn(classname);</span>
    +<span class="fc" id="L200">		mv.visitInsn(Opcodes.AASTORE);</span>
    +
    +		// Probe Count:
    +<span class="fc" id="L203">		mv.visitInsn(Opcodes.DUP);</span>
    +<span class="fc" id="L204">		mv.visitInsn(Opcodes.ICONST_2);</span>
    +<span class="fc" id="L205">		InstrSupport.push(mv, probecount);</span>
    +<span class="fc" id="L206">		mv.visitMethodInsn(Opcodes.INVOKESTATIC, &quot;java/lang/Integer&quot;, &quot;valueOf&quot;,</span>
    +				&quot;(I)Ljava/lang/Integer;&quot;, false);
    +<span class="fc" id="L208">		mv.visitInsn(Opcodes.AASTORE);</span>
    +<span class="fc" id="L209">	}</span>
    +
    +	/**
    +	 * Generates the code that calls a {@link RuntimeData} instance through the
    +	 * JRE API method {@link Object#equals(Object)}. The code pops a
    +	 * {@link Object} instance from the stack and pushes the probe array of type
    +	 * &lt;code&gt;boolean[]&lt;/code&gt; on the operand stack. The generated code requires
    +	 * a stack size of 6.
    +	 *
    +	 * @param classid
    +	 *            class identifier
    +	 * @param classname
    +	 *            VM class name
    +	 * @param probecount
    +	 *            probe count for this class
    +	 * @param mv
    +	 *            visitor to emit generated code
    +	 */
    +	public static void generateAccessCall(final long classid,
    +			final String classname, final int probecount,
    +			final MethodVisitor mv) {
    +		// stack[0]: Ljava/lang/Object;
    +
    +<span class="fc" id="L232">		generateArgumentArray(classid, classname, probecount, mv);</span>
    +
    +		// stack[1]: [Ljava/lang/Object;
    +		// stack[0]: Ljava/lang/Object;
    +
    +<span class="fc" id="L237">		mv.visitInsn(Opcodes.DUP_X1);</span>
    +
    +		// stack[2]: [Ljava/lang/Object;
    +		// stack[1]: Ljava/lang/Object;
    +		// stack[0]: [Ljava/lang/Object;
    +
    +<span class="fc" id="L243">		mv.visitMethodInsn(Opcodes.INVOKEVIRTUAL, &quot;java/lang/Object&quot;, &quot;equals&quot;,</span>
    +				&quot;(Ljava/lang/Object;)Z&quot;, false);
    +<span class="fc" id="L245">		mv.visitInsn(Opcodes.POP);</span>
    +
    +		// stack[0]: [Ljava/lang/Object;
    +
    +<span class="fc" id="L249">		mv.visitInsn(Opcodes.ICONST_0);</span>
    +<span class="fc" id="L250">		mv.visitInsn(Opcodes.AALOAD);</span>
    +
    +		// stack[0]: [Z
    +
    +<span class="fc" id="L254">		mv.visitTypeInsn(Opcodes.CHECKCAST, InstrSupport.DATAFIELD_DESC);</span>
    +<span class="fc" id="L255">	}</span>
    +
    +}
    +</pre><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.12.202403270442</span>Code Coverage Report for JaCoCo 0.8.12-SNAPSHOT</div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/trunk/coverage/org.jacoco.core/org.jacoco.core.runtime/SystemPropertiesRuntime.html b/jacoco/trunk/coverage/org.jacoco.core/org.jacoco.core.runtime/SystemPropertiesRuntime.html
    new file mode 100644
    index 00000000000..65351904446
    --- /dev/null
    +++ b/jacoco/trunk/coverage/org.jacoco.core/org.jacoco.core.runtime/SystemPropertiesRuntime.html
    @@ -0,0 +1 @@
    +<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="en"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../../jacoco-resources/report.gif" type="image/gif"/><title>SystemPropertiesRuntime</title><script type="text/javascript" src="../../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../../index.html" class="el_report">JaCoCo</a> &gt; <a href="../index.html" class="el_bundle">org.jacoco.core</a> &gt; <a href="index.html" class="el_package">org.jacoco.core.runtime</a> &gt; <span class="el_class">SystemPropertiesRuntime</span></div><h1>SystemPropertiesRuntime</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">0 of 56</td><td class="ctr2">100%</td><td class="bar">0 of 0</td><td class="ctr2">n/a</td><td class="ctr1">0</td><td class="ctr2">4</td><td class="ctr1">0</td><td class="ctr2">13</td><td class="ctr1">0</td><td class="ctr2">4</td></tr></tfoot><tbody><tr><td id="a0"><a href="SystemPropertiesRuntime.java.html#L44" class="el_method">generateDataAccessor(long, String, int, MethodVisitor)</a></td><td class="bar" id="b0"><img src="../../jacoco-resources/greenbar.gif" width="120" height="10" title="25" alt="25"/></td><td class="ctr2" id="c0">100%</td><td class="bar" id="d0"/><td class="ctr2" id="e0">n/a</td><td class="ctr1" id="f0">0</td><td class="ctr2" id="g0">1</td><td class="ctr1" id="h0">0</td><td class="ctr2" id="i0">5</td><td class="ctr1" id="j0">0</td><td class="ctr2" id="k0">1</td></tr><tr><td id="a3"><a href="SystemPropertiesRuntime.java.html#L38" class="el_method">SystemPropertiesRuntime()</a></td><td class="bar" id="b1"><img src="../../jacoco-resources/greenbar.gif" width="72" height="10" title="15" alt="15"/></td><td class="ctr2" id="c1">100%</td><td class="bar" id="d1"/><td class="ctr2" id="e1">n/a</td><td class="ctr1" id="f1">0</td><td class="ctr2" id="g1">1</td><td class="ctr1" id="h1">0</td><td class="ctr2" id="i1">3</td><td class="ctr1" id="j1">0</td><td class="ctr2" id="k1">1</td></tr><tr><td id="a2"><a href="SystemPropertiesRuntime.java.html#L68" class="el_method">startup(RuntimeData)</a></td><td class="bar" id="b2"><img src="../../jacoco-resources/greenbar.gif" width="48" height="10" title="10" alt="10"/></td><td class="ctr2" id="c2">100%</td><td class="bar" id="d2"/><td class="ctr2" id="e2">n/a</td><td class="ctr1" id="f2">0</td><td class="ctr2" id="g2">1</td><td class="ctr1" id="h2">0</td><td class="ctr2" id="i2">3</td><td class="ctr1" id="j2">0</td><td class="ctr2" id="k2">1</td></tr><tr><td id="a1"><a href="SystemPropertiesRuntime.java.html#L73" class="el_method">shutdown()</a></td><td class="bar" id="b3"><img src="../../jacoco-resources/greenbar.gif" width="28" height="10" title="6" alt="6"/></td><td class="ctr2" id="c3">100%</td><td class="bar" id="d3"/><td class="ctr2" id="e3">n/a</td><td class="ctr1" id="f3">0</td><td class="ctr2" id="g3">1</td><td class="ctr1" id="h3">0</td><td class="ctr2" id="i3">2</td><td class="ctr1" id="j3">0</td><td class="ctr2" id="k3">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.12.202403270442</span>Code Coverage Report for JaCoCo 0.8.12-SNAPSHOT</div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/trunk/coverage/org.jacoco.core/org.jacoco.core.runtime/SystemPropertiesRuntime.java.html b/jacoco/trunk/coverage/org.jacoco.core/org.jacoco.core.runtime/SystemPropertiesRuntime.java.html
    new file mode 100644
    index 00000000000..acc63816795
    --- /dev/null
    +++ b/jacoco/trunk/coverage/org.jacoco.core/org.jacoco.core.runtime/SystemPropertiesRuntime.java.html
    @@ -0,0 +1,77 @@
    +<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="en"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../../jacoco-resources/report.gif" type="image/gif"/><title>SystemPropertiesRuntime.java</title><link rel="stylesheet" href="../../jacoco-resources/prettify.css" type="text/css"/><script type="text/javascript" src="../../jacoco-resources/prettify.js"></script></head><body onload="window['PR_TAB_WIDTH']=4;prettyPrint()"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../../index.html" class="el_report">JaCoCo</a> &gt; <a href="../index.html" class="el_bundle">org.jacoco.core</a> &gt; <a href="index.source.html" class="el_package">org.jacoco.core.runtime</a> &gt; <span class="el_source">SystemPropertiesRuntime.java</span></div><h1>SystemPropertiesRuntime.java</h1><pre class="source lang-java linenums">/*******************************************************************************
    + * Copyright (c) 2009, 2024 Mountainminds GmbH &amp; Co. KG and Contributors
    + * This program and the accompanying materials are made available under
    + * the terms of the Eclipse Public License 2.0 which is available at
    + * http://www.eclipse.org/legal/epl-2.0
    + *
    + * SPDX-License-Identifier: EPL-2.0
    + *
    + * Contributors:
    + *    Marc R. Hoffmann - initial API and implementation
    + *
    + *******************************************************************************/
    +package org.jacoco.core.runtime;
    +
    +import org.objectweb.asm.MethodVisitor;
    +import org.objectweb.asm.Opcodes;
    +
    +/**
    + * This {@link IRuntime} implementation makes the execution data available
    + * through a special entry in the {@link System#getProperties()} hash table. The
    + * advantage is, that the instrumented classes do not get dependencies to other
    + * classes than the JRE library itself.
    + *
    + * This runtime may cause problems in environments with security restrictions,
    + * in applications that replace the system properties or in applications that
    + * fail if non-String values are placed in the system properties.
    + */
    +public class SystemPropertiesRuntime extends AbstractRuntime {
    +
    +	private static final String KEYPREFIX = &quot;jacoco-&quot;;
    +
    +	private final String key;
    +
    +	/**
    +	 * Creates a new runtime.
    +	 */
    +	public SystemPropertiesRuntime() {
    +<span class="fc" id="L38">		super();</span>
    +<span class="fc" id="L39">		this.key = KEYPREFIX + Integer.toHexString(hashCode());</span>
    +<span class="fc" id="L40">	}</span>
    +
    +	public int generateDataAccessor(final long classid, final String classname,
    +			final int probecount, final MethodVisitor mv) {
    +<span class="fc" id="L44">		mv.visitMethodInsn(Opcodes.INVOKESTATIC, &quot;java/lang/System&quot;,</span>
    +				&quot;getProperties&quot;, &quot;()Ljava/util/Properties;&quot;, false);
    +
    +		// Stack[0]: Ljava/util/Properties;
    +
    +<span class="fc" id="L49">		mv.visitLdcInsn(key);</span>
    +
    +		// Stack[1]: Ljava/lang/String;
    +		// Stack[0]: Ljava/util/Properties;
    +
    +<span class="fc" id="L54">		mv.visitMethodInsn(Opcodes.INVOKEVIRTUAL, &quot;java/util/Properties&quot;, &quot;get&quot;,</span>
    +				&quot;(Ljava/lang/Object;)Ljava/lang/Object;&quot;, false);
    +
    +		// Stack[0]: Ljava/lang/Object;
    +
    +<span class="fc" id="L59">		RuntimeData.generateAccessCall(classid, classname, probecount, mv);</span>
    +
    +		// Stack[0]: [Z
    +
    +<span class="fc" id="L63">		return 6; // Maximum local stack size is 3</span>
    +	}
    +
    +	@Override
    +	public void startup(final RuntimeData data) throws Exception {
    +<span class="fc" id="L68">		super.startup(data);</span>
    +<span class="fc" id="L69">		System.getProperties().put(key, data);</span>
    +<span class="fc" id="L70">	}</span>
    +
    +	public void shutdown() {
    +<span class="fc" id="L73">		System.getProperties().remove(key);</span>
    +<span class="fc" id="L74">	}</span>
    +
    +}
    +</pre><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.12.202403270442</span>Code Coverage Report for JaCoCo 0.8.12-SNAPSHOT</div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/trunk/coverage/org.jacoco.core/org.jacoco.core.runtime/WildcardMatcher.html b/jacoco/trunk/coverage/org.jacoco.core/org.jacoco.core.runtime/WildcardMatcher.html
    new file mode 100644
    index 00000000000..52b5dce6c56
    --- /dev/null
    +++ b/jacoco/trunk/coverage/org.jacoco.core/org.jacoco.core.runtime/WildcardMatcher.html
    @@ -0,0 +1 @@
    +<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="en"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../../jacoco-resources/report.gif" type="image/gif"/><title>WildcardMatcher</title><script type="text/javascript" src="../../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../../index.html" class="el_report">JaCoCo</a> &gt; <a href="../index.html" class="el_bundle">org.jacoco.core</a> &gt; <a href="index.html" class="el_package">org.jacoco.core.runtime</a> &gt; <span class="el_class">WildcardMatcher</span></div><h1>WildcardMatcher</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">0 of 106</td><td class="ctr2">100%</td><td class="bar">0 of 9</td><td class="ctr2">100%</td><td class="ctr1">0</td><td class="ctr2">8</td><td class="ctr1">0</td><td class="ctr2">21</td><td class="ctr1">0</td><td class="ctr2">3</td></tr></tfoot><tbody><tr><td id="a2"><a href="WildcardMatcher.java.html#L33" class="el_method">WildcardMatcher(String)</a></td><td class="bar" id="b0"><img src="../../jacoco-resources/greenbar.gif" width="120" height="10" title="55" alt="55"/></td><td class="ctr2" id="c0">100%</td><td class="bar" id="d1"><img src="../../jacoco-resources/greenbar.gif" width="96" height="10" title="4" alt="4"/></td><td class="ctr2" id="e0">100%</td><td class="ctr1" id="f0">0</td><td class="ctr2" id="g1">3</td><td class="ctr1" id="h0">0</td><td class="ctr2" id="i0">11</td><td class="ctr1" id="j0">0</td><td class="ctr2" id="k0">1</td></tr><tr><td id="a1"><a href="WildcardMatcher.java.html#L48" class="el_method">toRegex(String)</a></td><td class="bar" id="b1"><img src="../../jacoco-resources/greenbar.gif" width="98" height="10" title="45" alt="45"/></td><td class="ctr2" id="c1">100%</td><td class="bar" id="d0"><img src="../../jacoco-resources/greenbar.gif" width="120" height="10" title="5" alt="5"/></td><td class="ctr2" id="e1">100%</td><td class="ctr1" id="f1">0</td><td class="ctr2" id="g0">4</td><td class="ctr1" id="h1">0</td><td class="ctr2" id="i1">9</td><td class="ctr1" id="j1">0</td><td class="ctr2" id="k1">1</td></tr><tr><td id="a0"><a href="WildcardMatcher.java.html#L73" class="el_method">matches(String)</a></td><td class="bar" id="b2"><img src="../../jacoco-resources/greenbar.gif" width="13" height="10" title="6" alt="6"/></td><td class="ctr2" id="c2">100%</td><td class="bar" id="d2"/><td class="ctr2" id="e2">n/a</td><td class="ctr1" id="f2">0</td><td class="ctr2" id="g2">1</td><td class="ctr1" id="h2">0</td><td class="ctr2" id="i2">1</td><td class="ctr1" id="j2">0</td><td class="ctr2" id="k2">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.12.202403270442</span>Code Coverage Report for JaCoCo 0.8.12-SNAPSHOT</div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/trunk/coverage/org.jacoco.core/org.jacoco.core.runtime/WildcardMatcher.java.html b/jacoco/trunk/coverage/org.jacoco.core/org.jacoco.core.runtime/WildcardMatcher.java.html
    new file mode 100644
    index 00000000000..1ce92664869
    --- /dev/null
    +++ b/jacoco/trunk/coverage/org.jacoco.core/org.jacoco.core.runtime/WildcardMatcher.java.html
    @@ -0,0 +1,77 @@
    +<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="en"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../../jacoco-resources/report.gif" type="image/gif"/><title>WildcardMatcher.java</title><link rel="stylesheet" href="../../jacoco-resources/prettify.css" type="text/css"/><script type="text/javascript" src="../../jacoco-resources/prettify.js"></script></head><body onload="window['PR_TAB_WIDTH']=4;prettyPrint()"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../../index.html" class="el_report">JaCoCo</a> &gt; <a href="../index.html" class="el_bundle">org.jacoco.core</a> &gt; <a href="index.source.html" class="el_package">org.jacoco.core.runtime</a> &gt; <span class="el_source">WildcardMatcher.java</span></div><h1>WildcardMatcher.java</h1><pre class="source lang-java linenums">/*******************************************************************************
    + * Copyright (c) 2009, 2024 Mountainminds GmbH &amp; Co. KG and Contributors
    + * This program and the accompanying materials are made available under
    + * the terms of the Eclipse Public License 2.0 which is available at
    + * http://www.eclipse.org/legal/epl-2.0
    + *
    + * SPDX-License-Identifier: EPL-2.0
    + *
    + * Contributors:
    + *    Marc R. Hoffmann - initial API and implementation
    + *
    + *******************************************************************************/
    +package org.jacoco.core.runtime;
    +
    +import java.util.regex.Pattern;
    +
    +/**
    + * Matches strings against glob like wildcard expressions where &lt;code&gt;?&lt;/code&gt;
    + * matches any single character and &lt;code&gt;*&lt;/code&gt; matches any number of any
    + * character. Multiple expressions can be separated with a colon (:). In this
    + * case the expression matches if at least one part matches.
    + */
    +public class WildcardMatcher {
    +
    +	private final Pattern pattern;
    +
    +	/**
    +	 * Creates a new matcher with the given expression.
    +	 *
    +	 * @param expression
    +	 *            wildcard expressions
    +	 */
    +<span class="fc" id="L33">	public WildcardMatcher(final String expression) {</span>
    +<span class="fc" id="L34">		final String[] parts = expression.split(&quot;\\:&quot;);</span>
    +<span class="fc" id="L35">		final StringBuilder regex = new StringBuilder(expression.length() * 2);</span>
    +<span class="fc" id="L36">		boolean next = false;</span>
    +<span class="fc bfc" id="L37" title="All 2 branches covered.">		for (final String part : parts) {</span>
    +<span class="fc bfc" id="L38" title="All 2 branches covered.">			if (next) {</span>
    +<span class="fc" id="L39">				regex.append('|');</span>
    +			}
    +<span class="fc" id="L41">			regex.append('(').append(toRegex(part)).append(')');</span>
    +<span class="fc" id="L42">			next = true;</span>
    +		}
    +<span class="fc" id="L44">		pattern = Pattern.compile(regex.toString());</span>
    +<span class="fc" id="L45">	}</span>
    +
    +	private static CharSequence toRegex(final String expression) {
    +<span class="fc" id="L48">		final StringBuilder regex = new StringBuilder(expression.length() * 2);</span>
    +<span class="fc bfc" id="L49" title="All 2 branches covered.">		for (final char c : expression.toCharArray()) {</span>
    +<span class="fc bfc" id="L50" title="All 3 branches covered.">			switch (c) {</span>
    +			case '?':
    +<span class="fc" id="L52">				regex.append(&quot;.&quot;);</span>
    +<span class="fc" id="L53">				break;</span>
    +			case '*':
    +<span class="fc" id="L55">				regex.append(&quot;.*&quot;);</span>
    +<span class="fc" id="L56">				break;</span>
    +			default:
    +<span class="fc" id="L58">				regex.append(Pattern.quote(String.valueOf(c)));</span>
    +				break;
    +			}
    +		}
    +<span class="fc" id="L62">		return regex;</span>
    +	}
    +
    +	/**
    +	 * Matches the given string against the expressions of this matcher.
    +	 *
    +	 * @param s
    +	 *            string to test
    +	 * @return &lt;code&gt;true&lt;/code&gt;, if the expression matches
    +	 */
    +	public boolean matches(final String s) {
    +<span class="fc" id="L73">		return pattern.matcher(s).matches();</span>
    +	}
    +
    +}
    +</pre><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.12.202403270442</span>Code Coverage Report for JaCoCo 0.8.12-SNAPSHOT</div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/trunk/coverage/org.jacoco.core/org.jacoco.core.runtime/index.html b/jacoco/trunk/coverage/org.jacoco.core/org.jacoco.core.runtime/index.html
    new file mode 100644
    index 00000000000..b5a227dec27
    --- /dev/null
    +++ b/jacoco/trunk/coverage/org.jacoco.core/org.jacoco.core.runtime/index.html
    @@ -0,0 +1 @@
    +<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="en"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../../jacoco-resources/report.gif" type="image/gif"/><title>org.jacoco.core.runtime</title><script type="text/javascript" src="../../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb', 'coveragetable'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="index.source.html" class="el_source">Source Files</a><a href="../../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../../index.html" class="el_report">JaCoCo</a> &gt; <a href="../index.html" class="el_bundle">org.jacoco.core</a> &gt; <span class="el_package">org.jacoco.core.runtime</span></div><h1>org.jacoco.core.runtime</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td><td class="sortable ctr1" id="l" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="m" onclick="toggleSort(this)">Classes</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">186 of 1,697</td><td class="ctr2">89%</td><td class="bar">2 of 96</td><td class="ctr2">97%</td><td class="ctr1">15</td><td class="ctr2">161</td><td class="ctr1">30</td><td class="ctr2">386</td><td class="ctr1">13</td><td class="ctr2">111</td><td class="ctr1">2</td><td class="ctr2">17</td></tr></tfoot><tbody><tr><td id="a4"><a href="InjectedClassRuntime.html" class="el_class">InjectedClassRuntime</a></td><td class="bar" id="b0"><img src="../../jacoco-resources/redbar.gif" width="20" height="10" title="84" alt="84"/></td><td class="ctr2" id="c15">0%</td><td class="bar" id="d7"/><td class="ctr2" id="e7">n/a</td><td class="ctr1" id="f0">5</td><td class="ctr2" id="g6">5</td><td class="ctr1" id="h0">16</td><td class="ctr2" id="i6">16</td><td class="ctr1" id="j0">5</td><td class="ctr2" id="k3">5</td><td class="ctr1" id="l0">1</td><td class="ctr2" id="m0">1</td></tr><tr><td id="a5"><a href="InjectedClassRuntime$Lookup.html" class="el_class">InjectedClassRuntime.Lookup</a></td><td class="bar" id="b1"><img src="../../jacoco-resources/redbar.gif" width="17" height="10" title="73" alt="73"/></td><td class="ctr2" id="c16">0%</td><td class="bar" id="d8"/><td class="ctr2" id="e8">n/a</td><td class="ctr1" id="f1">4</td><td class="ctr2" id="g9">4</td><td class="ctr1" id="h1">6</td><td class="ctr2" id="i12">6</td><td class="ctr1" id="j1">4</td><td class="ctr2" id="k5">4</td><td class="ctr1" id="l1">1</td><td class="ctr2" id="m1">1</td></tr><tr><td id="a8"><a href="ModifiedSystemClassRuntime.html" class="el_class">ModifiedSystemClassRuntime</a></td><td class="bar" id="b2"><img src="../../jacoco-resources/redbar.gif" width="3" height="10" title="16" alt="16"/><img src="../../jacoco-resources/greenbar.gif" width="26" height="10" title="109" alt="109"/></td><td class="ctr2" id="c12">87%</td><td class="bar" id="d9"/><td class="ctr2" id="e9">n/a</td><td class="ctr1" id="f3">1</td><td class="ctr2" id="g3">8</td><td class="ctr1" id="h2">4</td><td class="ctr2" id="i3">29</td><td class="ctr1" id="j3">1</td><td class="ctr2" id="k2">8</td><td class="ctr1" id="l2">0</td><td class="ctr2" id="m2">1</td></tr><tr><td id="a7"><a href="LoggerRuntime$RuntimeHandler.html" class="el_class">LoggerRuntime.RuntimeHandler</a></td><td class="bar" id="b3"><img src="../../jacoco-resources/redbar.gif" width="2" height="10" title="9" alt="9"/><img src="../../jacoco-resources/greenbar.gif" width="4" height="10" title="20" alt="20"/></td><td class="ctr2" id="c14">68%</td><td class="bar" id="d1"><img src="../../jacoco-resources/redbar.gif" width="3" height="10" title="1" alt="1"/><img src="../../jacoco-resources/greenbar.gif" width="3" height="10" title="1" alt="1"/></td><td class="ctr2" id="e6">50%</td><td class="ctr1" id="f2">3</td><td class="ctr2" id="g7">5</td><td class="ctr1" id="h3">3</td><td class="ctr2" id="i11">7</td><td class="ctr1" id="j2">2</td><td class="ctr2" id="k6">4</td><td class="ctr1" id="l3">0</td><td class="ctr2" id="m3">1</td></tr><tr><td id="a0"><a href="AbstractRuntime.html" class="el_class">AbstractRuntime</a></td><td class="bar" id="b4"><img src="../../jacoco-resources/greenbar.gif" width="2" height="10" title="12" alt="12"/></td><td class="ctr2" id="c13">75%</td><td class="bar" id="d10"/><td class="ctr2" id="e10">n/a</td><td class="ctr1" id="f4">1</td><td class="ctr2" id="g10">4</td><td class="ctr1" id="h4">1</td><td class="ctr2" id="i13">5</td><td class="ctr1" id="j4">1</td><td class="ctr2" id="k7">4</td><td class="ctr1" id="l4">0</td><td class="ctr2" id="m4">1</td></tr><tr><td id="a1"><a href="AgentOptions.html" class="el_class">AgentOptions</a></td><td class="bar" id="b5"><img src="../../jacoco-resources/greenbar.gif" width="120" height="10" title="501" alt="501"/></td><td class="ctr2" id="c0">100%</td><td class="bar" id="d2"><img src="../../jacoco-resources/greenbar.gif" width="102" height="10" title="34" alt="34"/></td><td class="ctr2" id="e0">100%</td><td class="ctr1" id="f6">0</td><td class="ctr2" id="g0">62</td><td class="ctr1" id="h5">0</td><td class="ctr2" id="i0">108</td><td class="ctr1" id="j5">0</td><td class="ctr2" id="k0">45</td><td class="ctr1" id="l5">0</td><td class="ctr2" id="m5">1</td></tr><tr><td id="a3"><a href="CommandLineSupport.html" class="el_class">CommandLineSupport</a></td><td class="bar" id="b6"><img src="../../jacoco-resources/greenbar.gif" width="51" height="10" title="216" alt="216"/></td><td class="ctr2" id="c1">100%</td><td class="bar" id="d0"><img src="../../jacoco-resources/redbar.gif" width="3" height="10" title="1" alt="1"/><img src="../../jacoco-resources/greenbar.gif" width="117" height="10" title="39" alt="39"/></td><td class="ctr2" id="e5">97%</td><td class="ctr1" id="f5">1</td><td class="ctr2" id="g1">25</td><td class="ctr1" id="h6">0</td><td class="ctr2" id="i2">51</td><td class="ctr1" id="j6">0</td><td class="ctr2" id="k8">4</td><td class="ctr1" id="l6">0</td><td class="ctr2" id="m6">1</td></tr><tr><td id="a14"><a href="RuntimeData.html" class="el_class">RuntimeData</a></td><td class="bar" id="b7"><img src="../../jacoco-resources/greenbar.gif" width="49" height="10" title="205" alt="205"/></td><td class="ctr2" id="c2">100%</td><td class="bar" id="d5"><img src="../../jacoco-resources/greenbar.gif" width="12" height="10" title="4" alt="4"/></td><td class="ctr2" id="e1">100%</td><td class="ctr1" id="f7">0</td><td class="ctr2" id="g2">12</td><td class="ctr1" id="h7">0</td><td class="ctr2" id="i1">56</td><td class="ctr1" id="j7">0</td><td class="ctr2" id="k1">10</td><td class="ctr1" id="l7">0</td><td class="ctr2" id="m7">1</td></tr><tr><td id="a16"><a href="WildcardMatcher.html" class="el_class">WildcardMatcher</a></td><td class="bar" id="b8"><img src="../../jacoco-resources/greenbar.gif" width="25" height="10" title="106" alt="106"/></td><td class="ctr2" id="c3">100%</td><td class="bar" id="d3"><img src="../../jacoco-resources/greenbar.gif" width="27" height="10" title="9" alt="9"/></td><td class="ctr2" id="e2">100%</td><td class="ctr1" id="f8">0</td><td class="ctr2" id="g4">8</td><td class="ctr1" id="h8">0</td><td class="ctr2" id="i5">21</td><td class="ctr1" id="j8">0</td><td class="ctr2" id="k11">3</td><td class="ctr1" id="l8">0</td><td class="ctr2" id="m8">1</td></tr><tr><td id="a6"><a href="LoggerRuntime.html" class="el_class">LoggerRuntime</a></td><td class="bar" id="b9"><img src="../../jacoco-resources/greenbar.gif" width="24" height="10" title="101" alt="101"/></td><td class="ctr2" id="c4">100%</td><td class="bar" id="d11"/><td class="ctr2" id="e11">n/a</td><td class="ctr1" id="f9">0</td><td class="ctr2" id="g8">5</td><td class="ctr1" id="h9">0</td><td class="ctr2" id="i4">28</td><td class="ctr1" id="j9">0</td><td class="ctr2" id="k4">5</td><td class="ctr1" id="l9">0</td><td class="ctr2" id="m9">1</td></tr><tr><td id="a15"><a href="SystemPropertiesRuntime.html" class="el_class">SystemPropertiesRuntime</a></td><td class="bar" id="b10"><img src="../../jacoco-resources/greenbar.gif" width="13" height="10" title="56" alt="56"/></td><td class="ctr2" id="c5">100%</td><td class="bar" id="d12"/><td class="ctr2" id="e12">n/a</td><td class="ctr1" id="f10">0</td><td class="ctr2" id="g11">4</td><td class="ctr1" id="h10">0</td><td class="ctr2" id="i8">13</td><td class="ctr1" id="j10">0</td><td class="ctr2" id="k9">4</td><td class="ctr1" id="l10">0</td><td class="ctr2" id="m10">1</td></tr><tr><td id="a2"><a href="AgentOptions$OutputMode.html" class="el_class">AgentOptions.OutputMode</a></td><td class="bar" id="b11"><img src="../../jacoco-resources/greenbar.gif" width="10" height="10" title="44" alt="44"/></td><td class="ctr2" id="c6">100%</td><td class="bar" id="d13"/><td class="ctr2" id="e13">n/a</td><td class="ctr1" id="f11">0</td><td class="ctr2" id="g16">1</td><td class="ctr1" id="h11">0</td><td class="ctr2" id="i14">5</td><td class="ctr1" id="j11">0</td><td class="ctr2" id="k16">1</td><td class="ctr1" id="l11">0</td><td class="ctr2" id="m11">1</td></tr><tr><td id="a12"><a href="RemoteControlReader.html" class="el_class">RemoteControlReader</a></td><td class="bar" id="b12"><img src="../../jacoco-resources/greenbar.gif" width="10" height="10" title="42" alt="42"/></td><td class="ctr2" id="c7">100%</td><td class="bar" id="d4"><img src="../../jacoco-resources/greenbar.gif" width="15" height="10" title="5" alt="5"/></td><td class="ctr2" id="e3">100%</td><td class="ctr1" id="f12">0</td><td class="ctr2" id="g5">7</td><td class="ctr1" id="h12">0</td><td class="ctr2" id="i7">15</td><td class="ctr1" id="j12">0</td><td class="ctr2" id="k10">4</td><td class="ctr1" id="l12">0</td><td class="ctr2" id="m12">1</td></tr><tr><td id="a11"><a href="OfflineInstrumentationAccessGenerator.html" class="el_class">OfflineInstrumentationAccessGenerator</a></td><td class="bar" id="b13"><img src="../../jacoco-resources/greenbar.gif" width="9" height="10" title="40" alt="40"/></td><td class="ctr2" id="c8">100%</td><td class="bar" id="d14"/><td class="ctr2" id="e14">n/a</td><td class="ctr1" id="f13">0</td><td class="ctr2" id="g12">3</td><td class="ctr1" id="h13">0</td><td class="ctr2" id="i9">10</td><td class="ctr1" id="j13">0</td><td class="ctr2" id="k12">3</td><td class="ctr1" id="l13">0</td><td class="ctr2" id="m13">1</td></tr><tr><td id="a13"><a href="RemoteControlWriter.html" class="el_class">RemoteControlWriter</a></td><td class="bar" id="b14"><img src="../../jacoco-resources/greenbar.gif" width="5" height="10" title="22" alt="22"/></td><td class="ctr2" id="c9">100%</td><td class="bar" id="d15"/><td class="ctr2" id="e15">n/a</td><td class="ctr1" id="f14">0</td><td class="ctr2" id="g13">3</td><td class="ctr1" id="h14">0</td><td class="ctr2" id="i10">8</td><td class="ctr1" id="j14">0</td><td class="ctr2" id="k13">3</td><td class="ctr1" id="l14">0</td><td class="ctr2" id="m14">1</td></tr><tr><td id="a9"><a href="ModifiedSystemClassRuntime$1.html" class="el_class">ModifiedSystemClassRuntime.new ClassFileTransformer() {...}</a></td><td class="bar" id="b15"><img src="../../jacoco-resources/greenbar.gif" width="5" height="10" title="21" alt="21"/></td><td class="ctr2" id="c10">100%</td><td class="bar" id="d6"><img src="../../jacoco-resources/greenbar.gif" width="6" height="10" title="2" alt="2"/></td><td class="ctr2" id="e4">100%</td><td class="ctr1" id="f15">0</td><td class="ctr2" id="g14">3</td><td class="ctr1" id="h15">0</td><td class="ctr2" id="i15">4</td><td class="ctr1" id="j15">0</td><td class="ctr2" id="k14">2</td><td class="ctr1" id="l15">0</td><td class="ctr2" id="m15">1</td></tr><tr><td id="a10"><a href="ModifiedSystemClassRuntime$2.html" class="el_class">ModifiedSystemClassRuntime.new ClassVisitor() {...}</a></td><td class="bar" id="b16"><img src="../../jacoco-resources/greenbar.gif" width="3" height="10" title="16" alt="16"/></td><td class="ctr2" id="c11">100%</td><td class="bar" id="d16"/><td class="ctr2" id="e16">n/a</td><td class="ctr1" id="f16">0</td><td class="ctr2" id="g15">2</td><td class="ctr1" id="h16">0</td><td class="ctr2" id="i16">4</td><td class="ctr1" id="j16">0</td><td class="ctr2" id="k15">2</td><td class="ctr1" id="l16">0</td><td class="ctr2" id="m16">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.12.202403270442</span>Code Coverage Report for JaCoCo 0.8.12-SNAPSHOT</div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/trunk/coverage/org.jacoco.core/org.jacoco.core.runtime/index.source.html b/jacoco/trunk/coverage/org.jacoco.core/org.jacoco.core.runtime/index.source.html
    new file mode 100644
    index 00000000000..ee49848815b
    --- /dev/null
    +++ b/jacoco/trunk/coverage/org.jacoco.core/org.jacoco.core.runtime/index.source.html
    @@ -0,0 +1 @@
    +<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="en"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../../jacoco-resources/report.gif" type="image/gif"/><title>org.jacoco.core.runtime</title><script type="text/javascript" src="../../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb', 'coveragetable'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="index.html" class="el_class">Classes</a><a href="../../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../../index.html" class="el_report">JaCoCo</a> &gt; <a href="../index.html" class="el_bundle">org.jacoco.core</a> &gt; <span class="el_package">org.jacoco.core.runtime</span></div><h1>org.jacoco.core.runtime</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td><td class="sortable ctr1" id="l" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="m" onclick="toggleSort(this)">Classes</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">186 of 1,697</td><td class="ctr2">89%</td><td class="bar">2 of 96</td><td class="ctr2">97%</td><td class="ctr1">15</td><td class="ctr2">161</td><td class="ctr1">30</td><td class="ctr2">386</td><td class="ctr1">13</td><td class="ctr2">111</td><td class="ctr1">2</td><td class="ctr2">17</td></tr></tfoot><tbody><tr><td id="a3"><a href="InjectedClassRuntime.java.html" class="el_source">InjectedClassRuntime.java</a></td><td class="bar" id="b0"><img src="../../jacoco-resources/redbar.gif" width="34" height="10" title="157" alt="157"/></td><td class="ctr2" id="c11">0%</td><td class="bar" id="d7"/><td class="ctr2" id="e7">n/a</td><td class="ctr1" id="f0">9</td><td class="ctr2" id="g5">9</td><td class="ctr1" id="h0">22</td><td class="ctr2" id="i5">22</td><td class="ctr1" id="j0">9</td><td class="ctr2" id="k3">9</td><td class="ctr1" id="l0">2</td><td class="ctr2" id="m1">2</td></tr><tr><td id="a5"><a href="ModifiedSystemClassRuntime.java.html" class="el_source">ModifiedSystemClassRuntime.java</a></td><td class="bar" id="b1"><img src="../../jacoco-resources/redbar.gif" width="3" height="10" title="16" alt="16"/><img src="../../jacoco-resources/greenbar.gif" width="32" height="10" title="146" alt="146"/></td><td class="ctr2" id="c9">90%</td><td class="bar" id="d6"><img src="../../jacoco-resources/greenbar.gif" width="6" height="10" title="2" alt="2"/></td><td class="ctr2" id="e0">100%</td><td class="ctr1" id="f2">1</td><td class="ctr2" id="g2">13</td><td class="ctr1" id="h1">4</td><td class="ctr2" id="i3">37</td><td class="ctr1" id="j2">1</td><td class="ctr2" id="k1">12</td><td class="ctr1" id="l1">0</td><td class="ctr2" id="m0">3</td></tr><tr><td id="a4"><a href="LoggerRuntime.java.html" class="el_source">LoggerRuntime.java</a></td><td class="bar" id="b2"><img src="../../jacoco-resources/redbar.gif" width="1" height="10" title="9" alt="9"/><img src="../../jacoco-resources/greenbar.gif" width="26" height="10" title="121" alt="121"/></td><td class="ctr2" id="c8">93%</td><td class="bar" id="d1"><img src="../../jacoco-resources/redbar.gif" width="3" height="10" title="1" alt="1"/><img src="../../jacoco-resources/greenbar.gif" width="3" height="10" title="1" alt="1"/></td><td class="ctr2" id="e6">50%</td><td class="ctr1" id="f1">3</td><td class="ctr2" id="g4">10</td><td class="ctr1" id="h2">3</td><td class="ctr2" id="i4">35</td><td class="ctr1" id="j1">2</td><td class="ctr2" id="k4">9</td><td class="ctr1" id="l2">0</td><td class="ctr2" id="m2">2</td></tr><tr><td id="a0"><a href="AbstractRuntime.java.html" class="el_source">AbstractRuntime.java</a></td><td class="bar" id="b3"><img src="../../jacoco-resources/greenbar.gif" width="2" height="10" title="12" alt="12"/></td><td class="ctr2" id="c10">75%</td><td class="bar" id="d8"/><td class="ctr2" id="e8">n/a</td><td class="ctr1" id="f3">1</td><td class="ctr2" id="g8">4</td><td class="ctr1" id="h3">1</td><td class="ctr2" id="i11">5</td><td class="ctr1" id="j3">1</td><td class="ctr2" id="k5">4</td><td class="ctr1" id="l3">0</td><td class="ctr2" id="m4">1</td></tr><tr><td id="a1"><a href="AgentOptions.java.html" class="el_source">AgentOptions.java</a></td><td class="bar" id="b4"><img src="../../jacoco-resources/greenbar.gif" width="120" height="10" title="545" alt="545"/></td><td class="ctr2" id="c0">100%</td><td class="bar" id="d2"><img src="../../jacoco-resources/greenbar.gif" width="102" height="10" title="34" alt="34"/></td><td class="ctr2" id="e1">100%</td><td class="ctr1" id="f5">0</td><td class="ctr2" id="g0">63</td><td class="ctr1" id="h4">0</td><td class="ctr2" id="i0">113</td><td class="ctr1" id="j4">0</td><td class="ctr2" id="k0">46</td><td class="ctr1" id="l4">0</td><td class="ctr2" id="m3">2</td></tr><tr><td id="a2"><a href="CommandLineSupport.java.html" class="el_source">CommandLineSupport.java</a></td><td class="bar" id="b5"><img src="../../jacoco-resources/greenbar.gif" width="47" height="10" title="216" alt="216"/></td><td class="ctr2" id="c1">100%</td><td class="bar" id="d0"><img src="../../jacoco-resources/redbar.gif" width="3" height="10" title="1" alt="1"/><img src="../../jacoco-resources/greenbar.gif" width="117" height="10" title="39" alt="39"/></td><td class="ctr2" id="e5">97%</td><td class="ctr1" id="f4">1</td><td class="ctr2" id="g1">25</td><td class="ctr1" id="h5">0</td><td class="ctr2" id="i2">51</td><td class="ctr1" id="j5">0</td><td class="ctr2" id="k6">4</td><td class="ctr1" id="l5">0</td><td class="ctr2" id="m5">1</td></tr><tr><td id="a9"><a href="RuntimeData.java.html" class="el_source">RuntimeData.java</a></td><td class="bar" id="b6"><img src="../../jacoco-resources/greenbar.gif" width="45" height="10" title="205" alt="205"/></td><td class="ctr2" id="c2">100%</td><td class="bar" id="d5"><img src="../../jacoco-resources/greenbar.gif" width="12" height="10" title="4" alt="4"/></td><td class="ctr2" id="e2">100%</td><td class="ctr1" id="f6">0</td><td class="ctr2" id="g3">12</td><td class="ctr1" id="h6">0</td><td class="ctr2" id="i1">56</td><td class="ctr1" id="j6">0</td><td class="ctr2" id="k2">10</td><td class="ctr1" id="l6">0</td><td class="ctr2" id="m6">1</td></tr><tr><td id="a11"><a href="WildcardMatcher.java.html" class="el_source">WildcardMatcher.java</a></td><td class="bar" id="b7"><img src="../../jacoco-resources/greenbar.gif" width="23" height="10" title="106" alt="106"/></td><td class="ctr2" id="c3">100%</td><td class="bar" id="d3"><img src="../../jacoco-resources/greenbar.gif" width="27" height="10" title="9" alt="9"/></td><td class="ctr2" id="e3">100%</td><td class="ctr1" id="f7">0</td><td class="ctr2" id="g6">8</td><td class="ctr1" id="h7">0</td><td class="ctr2" id="i6">21</td><td class="ctr1" id="j7">0</td><td class="ctr2" id="k9">3</td><td class="ctr1" id="l7">0</td><td class="ctr2" id="m7">1</td></tr><tr><td id="a10"><a href="SystemPropertiesRuntime.java.html" class="el_source">SystemPropertiesRuntime.java</a></td><td class="bar" id="b8"><img src="../../jacoco-resources/greenbar.gif" width="12" height="10" title="56" alt="56"/></td><td class="ctr2" id="c4">100%</td><td class="bar" id="d9"/><td class="ctr2" id="e9">n/a</td><td class="ctr1" id="f8">0</td><td class="ctr2" id="g9">4</td><td class="ctr1" id="h8">0</td><td class="ctr2" id="i8">13</td><td class="ctr1" id="j8">0</td><td class="ctr2" id="k7">4</td><td class="ctr1" id="l8">0</td><td class="ctr2" id="m8">1</td></tr><tr><td id="a7"><a href="RemoteControlReader.java.html" class="el_source">RemoteControlReader.java</a></td><td class="bar" id="b9"><img src="../../jacoco-resources/greenbar.gif" width="9" height="10" title="42" alt="42"/></td><td class="ctr2" id="c5">100%</td><td class="bar" id="d4"><img src="../../jacoco-resources/greenbar.gif" width="15" height="10" title="5" alt="5"/></td><td class="ctr2" id="e4">100%</td><td class="ctr1" id="f9">0</td><td class="ctr2" id="g7">7</td><td class="ctr1" id="h9">0</td><td class="ctr2" id="i7">15</td><td class="ctr1" id="j9">0</td><td class="ctr2" id="k8">4</td><td class="ctr1" id="l9">0</td><td class="ctr2" id="m9">1</td></tr><tr><td id="a6"><a href="OfflineInstrumentationAccessGenerator.java.html" class="el_source">OfflineInstrumentationAccessGenerator.java</a></td><td class="bar" id="b10"><img src="../../jacoco-resources/greenbar.gif" width="8" height="10" title="40" alt="40"/></td><td class="ctr2" id="c6">100%</td><td class="bar" id="d10"/><td class="ctr2" id="e10">n/a</td><td class="ctr1" id="f10">0</td><td class="ctr2" id="g10">3</td><td class="ctr1" id="h10">0</td><td class="ctr2" id="i9">10</td><td class="ctr1" id="j10">0</td><td class="ctr2" id="k10">3</td><td class="ctr1" id="l10">0</td><td class="ctr2" id="m10">1</td></tr><tr><td id="a8"><a href="RemoteControlWriter.java.html" class="el_source">RemoteControlWriter.java</a></td><td class="bar" id="b11"><img src="../../jacoco-resources/greenbar.gif" width="4" height="10" title="22" alt="22"/></td><td class="ctr2" id="c7">100%</td><td class="bar" id="d11"/><td class="ctr2" id="e11">n/a</td><td class="ctr1" id="f11">0</td><td class="ctr2" id="g11">3</td><td class="ctr1" id="h11">0</td><td class="ctr2" id="i10">8</td><td class="ctr1" id="j11">0</td><td class="ctr2" id="k11">3</td><td class="ctr1" id="l11">0</td><td class="ctr2" id="m11">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.12.202403270442</span>Code Coverage Report for JaCoCo 0.8.12-SNAPSHOT</div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/trunk/coverage/org.jacoco.core/org.jacoco.core.tools/ExecDumpClient.html b/jacoco/trunk/coverage/org.jacoco.core/org.jacoco.core.tools/ExecDumpClient.html
    new file mode 100644
    index 00000000000..c5adacd01c4
    --- /dev/null
    +++ b/jacoco/trunk/coverage/org.jacoco.core/org.jacoco.core.tools/ExecDumpClient.html
    @@ -0,0 +1 @@
    +<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="en"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../../jacoco-resources/report.gif" type="image/gif"/><title>ExecDumpClient</title><script type="text/javascript" src="../../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../../index.html" class="el_report">JaCoCo</a> &gt; <a href="../index.html" class="el_bundle">org.jacoco.core</a> &gt; <a href="index.html" class="el_package">org.jacoco.core.tools</a> &gt; <span class="el_class">ExecDumpClient</span></div><h1>ExecDumpClient</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">7 of 122</td><td class="ctr2">94%</td><td class="bar">0 of 4</td><td class="ctr2">100%</td><td class="ctr1">2</td><td class="ctr2">13</td><td class="ctr1">4</td><td class="ctr2">42</td><td class="ctr1">2</td><td class="ctr2">11</td></tr></tfoot><tbody><tr><td id="a9"><a href="ExecDumpClient.java.html#L157" class="el_method">sleep()</a></td><td class="bar" id="b0"><img src="../../jacoco-resources/redbar.gif" width="12" height="10" title="5" alt="5"/><img src="../../jacoco-resources/greenbar.gif" width="12" height="10" title="5" alt="5"/></td><td class="ctr2" id="c8">50%</td><td class="bar" id="d2"/><td class="ctr2" id="e2">n/a</td><td class="ctr1" id="f2">0</td><td class="ctr2" id="g2">1</td><td class="ctr1" id="h0">2</td><td class="ctr2" id="i3">5</td><td class="ctr1" id="j2">0</td><td class="ctr2" id="k0">1</td></tr><tr><td id="a3"><a href="ExecDumpClient.java.html#L175" class="el_method">onConnecting(InetAddress, int)</a></td><td class="bar" id="b1"><img src="../../jacoco-resources/redbar.gif" width="2" height="10" title="1" alt="1"/></td><td class="ctr2" id="c9">0%</td><td class="bar" id="d3"/><td class="ctr2" id="e3">n/a</td><td class="ctr1" id="f0">1</td><td class="ctr2" id="g3">1</td><td class="ctr1" id="h1">1</td><td class="ctr2" id="i8">1</td><td class="ctr1" id="j0">1</td><td class="ctr2" id="k1">1</td></tr><tr><td id="a4"><a href="ExecDumpClient.java.html#L186" class="el_method">onConnectionFailure(IOException)</a></td><td class="bar" id="b2"><img src="../../jacoco-resources/redbar.gif" width="2" height="10" title="1" alt="1"/></td><td class="ctr2" id="c10">0%</td><td class="bar" id="d4"/><td class="ctr2" id="e4">n/a</td><td class="ctr1" id="f1">1</td><td class="ctr2" id="g4">1</td><td class="ctr1" id="h2">1</td><td class="ctr2" id="i9">1</td><td class="ctr1" id="j1">1</td><td class="ctr2" id="k2">1</td></tr><tr><td id="a0"><a href="ExecDumpClient.java.html#L115" class="el_method">dump(InetAddress, int)</a></td><td class="bar" id="b3"><img src="../../jacoco-resources/greenbar.gif" width="120" height="10" title="47" alt="47"/></td><td class="ctr2" id="c0">100%</td><td class="bar" id="d0"><img src="../../jacoco-resources/greenbar.gif" width="120" height="10" title="2" alt="2"/></td><td class="ctr2" id="e0">100%</td><td class="ctr1" id="f3">0</td><td class="ctr2" id="g0">2</td><td class="ctr1" id="h3">0</td><td class="ctr2" id="i0">11</td><td class="ctr1" id="j3">0</td><td class="ctr2" id="k3">1</td></tr><tr><td id="a10"><a href="ExecDumpClient.java.html#L140" class="el_method">tryConnect(InetAddress, int)</a></td><td class="bar" id="b4"><img src="../../jacoco-resources/greenbar.gif" width="66" height="10" title="26" alt="26"/></td><td class="ctr2" id="c1">100%</td><td class="bar" id="d1"><img src="../../jacoco-resources/greenbar.gif" width="120" height="10" title="2" alt="2"/></td><td class="ctr2" id="e1">100%</td><td class="ctr1" id="f4">0</td><td class="ctr2" id="g1">2</td><td class="ctr1" id="h4">0</td><td class="ctr2" id="i1">9</td><td class="ctr1" id="j4">0</td><td class="ctr2" id="k4">1</td></tr><tr><td id="a2"><a href="ExecDumpClient.java.html#L38" class="el_method">ExecDumpClient()</a></td><td class="bar" id="b5"><img src="../../jacoco-resources/greenbar.gif" width="38" height="10" title="15" alt="15"/></td><td class="ctr2" id="c2">100%</td><td class="bar" id="d5"/><td class="ctr2" id="e5">n/a</td><td class="ctr1" id="f5">0</td><td class="ctr2" id="g5">1</td><td class="ctr1" id="h5">0</td><td class="ctr2" id="i2">6</td><td class="ctr1" id="j5">0</td><td class="ctr2" id="k5">1</td></tr><tr><td id="a1"><a href="ExecDumpClient.java.html#L99" class="el_method">dump(String, int)</a></td><td class="bar" id="b6"><img src="../../jacoco-resources/greenbar.gif" width="15" height="10" title="6" alt="6"/></td><td class="ctr2" id="c3">100%</td><td class="bar" id="d6"/><td class="ctr2" id="e6">n/a</td><td class="ctr1" id="f6">0</td><td class="ctr2" id="g6">1</td><td class="ctr1" id="h6">0</td><td class="ctr2" id="i10">1</td><td class="ctr1" id="j6">0</td><td class="ctr2" id="k6">1</td></tr><tr><td id="a5"><a href="ExecDumpClient.java.html#L52" class="el_method">setDump(boolean)</a></td><td class="bar" id="b7"><img src="../../jacoco-resources/greenbar.gif" width="10" height="10" title="4" alt="4"/></td><td class="ctr2" id="c4">100%</td><td class="bar" id="d7"/><td class="ctr2" id="e7">n/a</td><td class="ctr1" id="f7">0</td><td class="ctr2" id="g7">1</td><td class="ctr1" id="h7">0</td><td class="ctr2" id="i4">2</td><td class="ctr1" id="j7">0</td><td class="ctr2" id="k7">1</td></tr><tr><td id="a6"><a href="ExecDumpClient.java.html#L62" class="el_method">setReset(boolean)</a></td><td class="bar" id="b8"><img src="../../jacoco-resources/greenbar.gif" width="10" height="10" title="4" alt="4"/></td><td class="ctr2" id="c5">100%</td><td class="bar" id="d8"/><td class="ctr2" id="e8">n/a</td><td class="ctr1" id="f8">0</td><td class="ctr2" id="g8">1</td><td class="ctr1" id="h8">0</td><td class="ctr2" id="i5">2</td><td class="ctr1" id="j8">0</td><td class="ctr2" id="k8">1</td></tr><tr><td id="a7"><a href="ExecDumpClient.java.html#L73" class="el_method">setRetryCount(int)</a></td><td class="bar" id="b9"><img src="../../jacoco-resources/greenbar.gif" width="10" height="10" title="4" alt="4"/></td><td class="ctr2" id="c6">100%</td><td class="bar" id="d9"/><td class="ctr2" id="e9">n/a</td><td class="ctr1" id="f9">0</td><td class="ctr2" id="g9">1</td><td class="ctr1" id="h9">0</td><td class="ctr2" id="i6">2</td><td class="ctr1" id="j9">0</td><td class="ctr2" id="k9">1</td></tr><tr><td id="a8"><a href="ExecDumpClient.java.html#L83" class="el_method">setRetryDelay(long)</a></td><td class="bar" id="b10"><img src="../../jacoco-resources/greenbar.gif" width="10" height="10" title="4" alt="4"/></td><td class="ctr2" id="c7">100%</td><td class="bar" id="d10"/><td class="ctr2" id="e10">n/a</td><td class="ctr1" id="f10">0</td><td class="ctr2" id="g10">1</td><td class="ctr1" id="h10">0</td><td class="ctr2" id="i7">2</td><td class="ctr1" id="j10">0</td><td class="ctr2" id="k10">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.12.202403270442</span>Code Coverage Report for JaCoCo 0.8.12-SNAPSHOT</div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/trunk/coverage/org.jacoco.core/org.jacoco.core.tools/ExecDumpClient.java.html b/jacoco/trunk/coverage/org.jacoco.core/org.jacoco.core.tools/ExecDumpClient.java.html
    new file mode 100644
    index 00000000000..35b96f3d327
    --- /dev/null
    +++ b/jacoco/trunk/coverage/org.jacoco.core/org.jacoco.core.tools/ExecDumpClient.java.html
    @@ -0,0 +1,189 @@
    +<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="en"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../../jacoco-resources/report.gif" type="image/gif"/><title>ExecDumpClient.java</title><link rel="stylesheet" href="../../jacoco-resources/prettify.css" type="text/css"/><script type="text/javascript" src="../../jacoco-resources/prettify.js"></script></head><body onload="window['PR_TAB_WIDTH']=4;prettyPrint()"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../../index.html" class="el_report">JaCoCo</a> &gt; <a href="../index.html" class="el_bundle">org.jacoco.core</a> &gt; <a href="index.source.html" class="el_package">org.jacoco.core.tools</a> &gt; <span class="el_source">ExecDumpClient.java</span></div><h1>ExecDumpClient.java</h1><pre class="source lang-java linenums">/*******************************************************************************
    + * Copyright (c) 2009, 2024 Mountainminds GmbH &amp; Co. KG and Contributors
    + * This program and the accompanying materials are made available under
    + * the terms of the Eclipse Public License 2.0 which is available at
    + * http://www.eclipse.org/legal/epl-2.0
    + *
    + * SPDX-License-Identifier: EPL-2.0
    + *
    + * Contributors:
    + *    Marc R. Hoffmann - initial API and implementation
    + *
    + *******************************************************************************/
    +package org.jacoco.core.tools;
    +
    +import java.io.IOException;
    +import java.io.InterruptedIOException;
    +import java.net.InetAddress;
    +import java.net.Socket;
    +
    +import org.jacoco.core.runtime.RemoteControlReader;
    +import org.jacoco.core.runtime.RemoteControlWriter;
    +
    +/**
    + * A client for remote execution data dumps.
    + */
    +public class ExecDumpClient {
    +
    +	private boolean dump;
    +	private boolean reset;
    +	private int retryCount;
    +	private long retryDelay;
    +
    +	/**
    +	 * New instance with the defaults &lt;code&gt;dump==true&lt;/code&gt;,
    +	 * &lt;code&gt;reset==false&lt;/code&gt;, &lt;code&gt;retryCount==0&lt;/code&gt; and
    +	 * &lt;code&gt;retryDelay=1000&lt;/code&gt;.
    +	 */
    +<span class="fc" id="L38">	public ExecDumpClient() {</span>
    +<span class="fc" id="L39">		this.dump = true;</span>
    +<span class="fc" id="L40">		this.reset = false;</span>
    +<span class="fc" id="L41">		this.retryCount = 0;</span>
    +<span class="fc" id="L42">		this.setRetryDelay(1000);</span>
    +<span class="fc" id="L43">	}</span>
    +
    +	/**
    +	 * Specifies whether a dump should be requested
    +	 *
    +	 * @param dump
    +	 *            &lt;code&gt;true&lt;/code&gt; if a dump should be requested
    +	 */
    +	public void setDump(final boolean dump) {
    +<span class="fc" id="L52">		this.dump = dump;</span>
    +<span class="fc" id="L53">	}</span>
    +
    +	/**
    +	 * Specifies whether execution data should be reset.
    +	 *
    +	 * @param reset
    +	 *            &lt;code&gt;true&lt;/code&gt; if execution data should be reset
    +	 */
    +	public void setReset(final boolean reset) {
    +<span class="fc" id="L62">		this.reset = reset;</span>
    +<span class="fc" id="L63">	}</span>
    +
    +	/**
    +	 * Sets the number of retry attempts to connect to the target socket. This
    +	 * allows to wait for a certain time until the target agent has initialized.
    +	 *
    +	 * @param retryCount
    +	 *            number of retries
    +	 */
    +	public void setRetryCount(final int retryCount) {
    +<span class="fc" id="L73">		this.retryCount = retryCount;</span>
    +<span class="fc" id="L74">	}</span>
    +
    +	/**
    +	 * Sets the delay time before between connection attempts.
    +	 *
    +	 * @param retryDelay
    +	 *            delay in milliseconds
    +	 */
    +	public void setRetryDelay(final long retryDelay) {
    +<span class="fc" id="L83">		this.retryDelay = retryDelay;</span>
    +<span class="fc" id="L84">	}</span>
    +
    +	/**
    +	 * Requests a dump from the given end-point.
    +	 *
    +	 * @param address
    +	 *            IP-Address to connect to
    +	 * @param port
    +	 *            port to connect to
    +	 * @return container for the dumped data
    +	 * @throws IOException
    +	 *             in case the dump can not be requested
    +	 */
    +	public ExecFileLoader dump(final String address, final int port)
    +			throws IOException {
    +<span class="fc" id="L99">		return dump(InetAddress.getByName(address), port);</span>
    +	}
    +
    +	/**
    +	 * Requests a dump from the given end-point.
    +	 *
    +	 * @param address
    +	 *            host name or IP-Address to connect to
    +	 * @param port
    +	 *            port to connect to
    +	 * @return container for the dumped data
    +	 * @throws IOException
    +	 *             in case the dump can not be requested
    +	 */
    +	public ExecFileLoader dump(final InetAddress address, final int port)
    +			throws IOException {
    +<span class="fc" id="L115">		final ExecFileLoader loader = new ExecFileLoader();</span>
    +<span class="fc" id="L116">		final Socket socket = tryConnect(address, port);</span>
    +		try {
    +<span class="fc" id="L118">			final RemoteControlWriter remoteWriter = new RemoteControlWriter(</span>
    +					socket.getOutputStream());
    +<span class="fc" id="L120">			final RemoteControlReader remoteReader = new RemoteControlReader(</span>
    +					socket.getInputStream());
    +<span class="fc" id="L122">			remoteReader.setSessionInfoVisitor(loader.getSessionInfoStore());</span>
    +<span class="fc" id="L123">			remoteReader</span>
    +					.setExecutionDataVisitor(loader.getExecutionDataStore());
    +
    +<span class="fc" id="L126">			remoteWriter.visitDumpCommand(dump, reset);</span>
    +
    +<span class="fc bfc" id="L128" title="All 2 branches covered.">			if (!remoteReader.read()) {</span>
    +<span class="fc" id="L129">				throw new IOException(&quot;Socket closed unexpectedly.&quot;);</span>
    +			}
    +
    +		} finally {
    +<span class="fc" id="L133">			socket.close();</span>
    +		}
    +<span class="fc" id="L135">		return loader;</span>
    +	}
    +
    +	private Socket tryConnect(final InetAddress address, final int port)
    +			throws IOException {
    +<span class="fc" id="L140">		int count = 0;</span>
    +		while (true) {
    +			try {
    +<span class="fc" id="L143">				onConnecting(address, port);</span>
    +<span class="fc" id="L144">				return new Socket(address, port);</span>
    +<span class="fc" id="L145">			} catch (final IOException e) {</span>
    +<span class="fc bfc" id="L146" title="All 2 branches covered.">				if (++count &gt; retryCount) {</span>
    +<span class="fc" id="L147">					throw e;</span>
    +				}
    +<span class="fc" id="L149">				onConnectionFailure(e);</span>
    +<span class="fc" id="L150">				sleep();</span>
    +<span class="fc" id="L151">			}</span>
    +		}
    +	}
    +
    +	private void sleep() throws InterruptedIOException {
    +		try {
    +<span class="fc" id="L157">			Thread.sleep(retryDelay);</span>
    +<span class="nc" id="L158">		} catch (final InterruptedException e) {</span>
    +<span class="nc" id="L159">			throw new InterruptedIOException();</span>
    +<span class="fc" id="L160">		}</span>
    +<span class="fc" id="L161">	}</span>
    +
    +	/**
    +	 * This method can be overwritten to get an event just before a connection
    +	 * is made.
    +	 *
    +	 * @param address
    +	 *            target address
    +	 * @param port
    +	 *            target port
    +	 */
    +	protected void onConnecting(
    +			@SuppressWarnings(&quot;unused&quot;) final InetAddress address,
    +			@SuppressWarnings(&quot;unused&quot;) final int port) {
    +<span class="nc" id="L175">	}</span>
    +
    +	/**
    +	 * This method can be overwritten to get an event for connection failures
    +	 * when another retry will be attempted.
    +	 *
    +	 * @param exception
    +	 *            connection error
    +	 */
    +	protected void onConnectionFailure(
    +			@SuppressWarnings(&quot;unused&quot;) final IOException exception) {
    +<span class="nc" id="L186">	}</span>
    +
    +}
    +</pre><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.12.202403270442</span>Code Coverage Report for JaCoCo 0.8.12-SNAPSHOT</div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/trunk/coverage/org.jacoco.core/org.jacoco.core.tools/ExecFileLoader.html b/jacoco/trunk/coverage/org.jacoco.core/org.jacoco.core.tools/ExecFileLoader.html
    new file mode 100644
    index 00000000000..c5ad1e82b2d
    --- /dev/null
    +++ b/jacoco/trunk/coverage/org.jacoco.core/org.jacoco.core.tools/ExecFileLoader.html
    @@ -0,0 +1 @@
    +<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="en"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../../jacoco-resources/report.gif" type="image/gif"/><title>ExecFileLoader</title><script type="text/javascript" src="../../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../../index.html" class="el_report">JaCoCo</a> &gt; <a href="../index.html" class="el_bundle">org.jacoco.core</a> &gt; <a href="index.html" class="el_package">org.jacoco.core.tools</a> &gt; <span class="el_class">ExecFileLoader</span></div><h1>ExecFileLoader</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">0 of 93</td><td class="ctr2">100%</td><td class="bar">1 of 2</td><td class="ctr2">50%</td><td class="ctr1">1</td><td class="ctr2">8</td><td class="ctr1">0</td><td class="ctr2">28</td><td class="ctr1">0</td><td class="ctr2">7</td></tr></tfoot><tbody><tr><td id="a5"><a href="ExecFileLoader.java.html#L108" class="el_method">save(File, boolean)</a></td><td class="bar" id="b0"><img src="../../jacoco-resources/greenbar.gif" width="120" height="10" title="29" alt="29"/></td><td class="ctr2" id="c0">100%</td><td class="bar" id="d0"><img src="../../jacoco-resources/redbar.gif" width="60" height="10" title="1" alt="1"/><img src="../../jacoco-resources/greenbar.gif" width="60" height="10" title="1" alt="1"/></td><td class="ctr2" id="e0">50%</td><td class="ctr1" id="f0">1</td><td class="ctr2" id="g0">2</td><td class="ctr1" id="h0">0</td><td class="ctr2" id="i0">9</td><td class="ctr1" id="j0">0</td><td class="ctr2" id="k0">1</td></tr><tr><td id="a4"><a href="ExecFileLoader.java.html#L56" class="el_method">load(InputStream)</a></td><td class="bar" id="b1"><img src="../../jacoco-resources/greenbar.gif" width="82" height="10" title="20" alt="20"/></td><td class="ctr2" id="c1">100%</td><td class="bar" id="d1"/><td class="ctr2" id="e1">n/a</td><td class="ctr1" id="f1">0</td><td class="ctr2" id="g1">1</td><td class="ctr1" id="h1">0</td><td class="ctr2" id="i1">5</td><td class="ctr1" id="j1">0</td><td class="ctr2" id="k1">1</td></tr><tr><td id="a6"><a href="ExecFileLoader.java.html#L89" class="el_method">save(OutputStream)</a></td><td class="bar" id="b2"><img src="../../jacoco-resources/greenbar.gif" width="57" height="10" title="14" alt="14"/></td><td class="ctr2" id="c2">100%</td><td class="bar" id="d2"/><td class="ctr2" id="e2">n/a</td><td class="ctr1" id="f2">0</td><td class="ctr2" id="g2">1</td><td class="ctr1" id="h2">0</td><td class="ctr2" id="i2">4</td><td class="ctr1" id="j2">0</td><td class="ctr2" id="k2">1</td></tr><tr><td id="a0"><a href="ExecFileLoader.java.html#L42" class="el_method">ExecFileLoader()</a></td><td class="bar" id="b3"><img src="../../jacoco-resources/greenbar.gif" width="53" height="10" title="13" alt="13"/></td><td class="ctr2" id="c3">100%</td><td class="bar" id="d3"/><td class="ctr2" id="e3">n/a</td><td class="ctr1" id="f3">0</td><td class="ctr2" id="g3">1</td><td class="ctr1" id="h3">0</td><td class="ctr2" id="i3">4</td><td class="ctr1" id="j3">0</td><td class="ctr2" id="k3">1</td></tr><tr><td id="a3"><a href="ExecFileLoader.java.html#L72" class="el_method">load(File)</a></td><td class="bar" id="b4"><img src="../../jacoco-resources/greenbar.gif" width="45" height="10" title="11" alt="11"/></td><td class="ctr2" id="c4">100%</td><td class="bar" id="d4"/><td class="ctr2" id="e4">n/a</td><td class="ctr1" id="f4">0</td><td class="ctr2" id="g4">1</td><td class="ctr1" id="h4">0</td><td class="ctr2" id="i4">4</td><td class="ctr1" id="j4">0</td><td class="ctr2" id="k4">1</td></tr><tr><td id="a2"><a href="ExecFileLoader.java.html#L130" class="el_method">getSessionInfoStore()</a></td><td class="bar" id="b5"><img src="../../jacoco-resources/greenbar.gif" width="12" height="10" title="3" alt="3"/></td><td class="ctr2" id="c5">100%</td><td class="bar" id="d5"/><td class="ctr2" id="e5">n/a</td><td class="ctr1" id="f5">0</td><td class="ctr2" id="g5">1</td><td class="ctr1" id="h5">0</td><td class="ctr2" id="i5">1</td><td class="ctr1" id="j5">0</td><td class="ctr2" id="k5">1</td></tr><tr><td id="a1"><a href="ExecFileLoader.java.html#L139" class="el_method">getExecutionDataStore()</a></td><td class="bar" id="b6"><img src="../../jacoco-resources/greenbar.gif" width="12" height="10" title="3" alt="3"/></td><td class="ctr2" id="c6">100%</td><td class="bar" id="d6"/><td class="ctr2" id="e6">n/a</td><td class="ctr1" id="f6">0</td><td class="ctr2" id="g6">1</td><td class="ctr1" id="h6">0</td><td class="ctr2" id="i6">1</td><td class="ctr1" id="j6">0</td><td class="ctr2" id="k6">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.12.202403270442</span>Code Coverage Report for JaCoCo 0.8.12-SNAPSHOT</div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/trunk/coverage/org.jacoco.core/org.jacoco.core.tools/ExecFileLoader.java.html b/jacoco/trunk/coverage/org.jacoco.core/org.jacoco.core.tools/ExecFileLoader.java.html
    new file mode 100644
    index 00000000000..191653b9714
    --- /dev/null
    +++ b/jacoco/trunk/coverage/org.jacoco.core/org.jacoco.core.tools/ExecFileLoader.java.html
    @@ -0,0 +1,143 @@
    +<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="en"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../../jacoco-resources/report.gif" type="image/gif"/><title>ExecFileLoader.java</title><link rel="stylesheet" href="../../jacoco-resources/prettify.css" type="text/css"/><script type="text/javascript" src="../../jacoco-resources/prettify.js"></script></head><body onload="window['PR_TAB_WIDTH']=4;prettyPrint()"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../../index.html" class="el_report">JaCoCo</a> &gt; <a href="../index.html" class="el_bundle">org.jacoco.core</a> &gt; <a href="index.source.html" class="el_package">org.jacoco.core.tools</a> &gt; <span class="el_source">ExecFileLoader.java</span></div><h1>ExecFileLoader.java</h1><pre class="source lang-java linenums">/*******************************************************************************
    + * Copyright (c) 2009, 2024 Mountainminds GmbH &amp; Co. KG and Contributors
    + * This program and the accompanying materials are made available under
    + * the terms of the Eclipse Public License 2.0 which is available at
    + * http://www.eclipse.org/legal/epl-2.0
    + *
    + * SPDX-License-Identifier: EPL-2.0
    + *
    + * Contributors:
    + *    Marc R. Hoffmann - initial API and implementation
    + *
    + *******************************************************************************/
    +package org.jacoco.core.tools;
    +
    +import java.io.BufferedInputStream;
    +import java.io.BufferedOutputStream;
    +import java.io.File;
    +import java.io.FileInputStream;
    +import java.io.FileOutputStream;
    +import java.io.IOException;
    +import java.io.InputStream;
    +import java.io.OutputStream;
    +
    +import org.jacoco.core.data.ExecutionDataReader;
    +import org.jacoco.core.data.ExecutionDataStore;
    +import org.jacoco.core.data.ExecutionDataWriter;
    +import org.jacoco.core.data.SessionInfoStore;
    +
    +/**
    + * Convenience utility for loading *.exec files into a
    + * {@link ExecutionDataStore} and a {@link SessionInfoStore}.
    + */
    +public class ExecFileLoader {
    +
    +	private final SessionInfoStore sessionInfos;
    +	private final ExecutionDataStore executionData;
    +
    +	/**
    +	 * New instance to combine session infos and execution data from multiple
    +	 * files.
    +	 */
    +<span class="fc" id="L42">	public ExecFileLoader() {</span>
    +<span class="fc" id="L43">		sessionInfos = new SessionInfoStore();</span>
    +<span class="fc" id="L44">		executionData = new ExecutionDataStore();</span>
    +<span class="fc" id="L45">	}</span>
    +
    +	/**
    +	 * Reads all data from given input stream.
    +	 *
    +	 * @param stream
    +	 *            Stream to read data from
    +	 * @throws IOException
    +	 *             in case of problems while reading from the stream
    +	 */
    +	public void load(final InputStream stream) throws IOException {
    +<span class="fc" id="L56">		final ExecutionDataReader reader = new ExecutionDataReader(</span>
    +				new BufferedInputStream(stream));
    +<span class="fc" id="L58">		reader.setExecutionDataVisitor(executionData);</span>
    +<span class="fc" id="L59">		reader.setSessionInfoVisitor(sessionInfos);</span>
    +<span class="fc" id="L60">		reader.read();</span>
    +<span class="fc" id="L61">	}</span>
    +
    +	/**
    +	 * Reads all data from given input stream.
    +	 *
    +	 * @param file
    +	 *            file to read data from
    +	 * @throws IOException
    +	 *             in case of problems while reading from the stream
    +	 */
    +	public void load(final File file) throws IOException {
    +<span class="fc" id="L72">		final InputStream stream = new FileInputStream(file);</span>
    +		try {
    +<span class="fc" id="L74">			load(stream);</span>
    +		} finally {
    +<span class="fc" id="L76">			stream.close();</span>
    +		}
    +<span class="fc" id="L78">	}</span>
    +
    +	/**
    +	 * Saves the current content into the given output stream.
    +	 *
    +	 * @param stream
    +	 *            stream to save content to
    +	 * @throws IOException
    +	 *             in case of problems while writing to the stream
    +	 */
    +	public void save(final OutputStream stream) throws IOException {
    +<span class="fc" id="L89">		final ExecutionDataWriter dataWriter = new ExecutionDataWriter(stream);</span>
    +<span class="fc" id="L90">		sessionInfos.accept(dataWriter);</span>
    +<span class="fc" id="L91">		executionData.accept(dataWriter);</span>
    +<span class="fc" id="L92">	}</span>
    +
    +	/**
    +	 * Saves the current content into the given file. Parent directories are
    +	 * created as needed. Also a files system lock is acquired to avoid
    +	 * concurrent write access.
    +	 *
    +	 * @param file
    +	 *            file to save content to
    +	 * @param append
    +	 *            &lt;code&gt;true&lt;/code&gt; if the content should be appended, otherwise
    +	 *            the file is overwritten.
    +	 * @throws IOException
    +	 *             in case of problems while writing to the stream
    +	 */
    +	public void save(final File file, final boolean append) throws IOException {
    +<span class="fc" id="L108">		final File folder = file.getParentFile();</span>
    +<span class="pc bpc" id="L109" title="1 of 2 branches missed.">		if (folder != null) {</span>
    +<span class="fc" id="L110">			folder.mkdirs();</span>
    +		}
    +<span class="fc" id="L112">		final FileOutputStream fileStream = new FileOutputStream(file, append);</span>
    +		// Avoid concurrent writes from other processes:
    +<span class="fc" id="L114">		fileStream.getChannel().lock();</span>
    +<span class="fc" id="L115">		final OutputStream bufferedStream = new BufferedOutputStream(</span>
    +				fileStream);
    +		try {
    +<span class="fc" id="L118">			save(bufferedStream);</span>
    +		} finally {
    +<span class="fc" id="L120">			bufferedStream.close();</span>
    +		}
    +<span class="fc" id="L122">	}</span>
    +
    +	/**
    +	 * Returns the session info store with all loaded sessions.
    +	 *
    +	 * @return session info store
    +	 */
    +	public SessionInfoStore getSessionInfoStore() {
    +<span class="fc" id="L130">		return sessionInfos;</span>
    +	}
    +
    +	/**
    +	 * Returns the execution data store with data for all loaded classes.
    +	 *
    +	 * @return execution data store
    +	 */
    +	public ExecutionDataStore getExecutionDataStore() {
    +<span class="fc" id="L139">		return executionData;</span>
    +	}
    +
    +}
    +</pre><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.12.202403270442</span>Code Coverage Report for JaCoCo 0.8.12-SNAPSHOT</div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/trunk/coverage/org.jacoco.core/org.jacoco.core.tools/index.html b/jacoco/trunk/coverage/org.jacoco.core/org.jacoco.core.tools/index.html
    new file mode 100644
    index 00000000000..d2b70f5268f
    --- /dev/null
    +++ b/jacoco/trunk/coverage/org.jacoco.core/org.jacoco.core.tools/index.html
    @@ -0,0 +1 @@
    +<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="en"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../../jacoco-resources/report.gif" type="image/gif"/><title>org.jacoco.core.tools</title><script type="text/javascript" src="../../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb', 'coveragetable'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="index.source.html" class="el_source">Source Files</a><a href="../../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../../index.html" class="el_report">JaCoCo</a> &gt; <a href="../index.html" class="el_bundle">org.jacoco.core</a> &gt; <span class="el_package">org.jacoco.core.tools</span></div><h1>org.jacoco.core.tools</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td><td class="sortable ctr1" id="l" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="m" onclick="toggleSort(this)">Classes</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">7 of 215</td><td class="ctr2">96%</td><td class="bar">1 of 6</td><td class="ctr2">83%</td><td class="ctr1">3</td><td class="ctr2">21</td><td class="ctr1">4</td><td class="ctr2">70</td><td class="ctr1">2</td><td class="ctr2">18</td><td class="ctr1">0</td><td class="ctr2">2</td></tr></tfoot><tbody><tr><td id="a0"><a href="ExecDumpClient.html" class="el_class">ExecDumpClient</a></td><td class="bar" id="b0"><img src="../../jacoco-resources/redbar.gif" width="6" height="10" title="7" alt="7"/><img src="../../jacoco-resources/greenbar.gif" width="113" height="10" title="115" alt="115"/></td><td class="ctr2" id="c1">94%</td><td class="bar" id="d1"><img src="../../jacoco-resources/greenbar.gif" width="120" height="10" title="4" alt="4"/></td><td class="ctr2" id="e0">100%</td><td class="ctr1" id="f0">2</td><td class="ctr2" id="g0">13</td><td class="ctr1" id="h0">4</td><td class="ctr2" id="i0">42</td><td class="ctr1" id="j0">2</td><td class="ctr2" id="k0">11</td><td class="ctr1" id="l0">0</td><td class="ctr2" id="m0">1</td></tr><tr><td id="a1"><a href="ExecFileLoader.html" class="el_class">ExecFileLoader</a></td><td class="bar" id="b1"><img src="../../jacoco-resources/greenbar.gif" width="91" height="10" title="93" alt="93"/></td><td class="ctr2" id="c0">100%</td><td class="bar" id="d0"><img src="../../jacoco-resources/redbar.gif" width="30" height="10" title="1" alt="1"/><img src="../../jacoco-resources/greenbar.gif" width="30" height="10" title="1" alt="1"/></td><td class="ctr2" id="e1">50%</td><td class="ctr1" id="f1">1</td><td class="ctr2" id="g1">8</td><td class="ctr1" id="h1">0</td><td class="ctr2" id="i1">28</td><td class="ctr1" id="j1">0</td><td class="ctr2" id="k1">7</td><td class="ctr1" id="l1">0</td><td class="ctr2" id="m1">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.12.202403270442</span>Code Coverage Report for JaCoCo 0.8.12-SNAPSHOT</div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/trunk/coverage/org.jacoco.core/org.jacoco.core.tools/index.source.html b/jacoco/trunk/coverage/org.jacoco.core/org.jacoco.core.tools/index.source.html
    new file mode 100644
    index 00000000000..2d324a2704a
    --- /dev/null
    +++ b/jacoco/trunk/coverage/org.jacoco.core/org.jacoco.core.tools/index.source.html
    @@ -0,0 +1 @@
    +<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="en"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../../jacoco-resources/report.gif" type="image/gif"/><title>org.jacoco.core.tools</title><script type="text/javascript" src="../../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb', 'coveragetable'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="index.html" class="el_class">Classes</a><a href="../../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../../index.html" class="el_report">JaCoCo</a> &gt; <a href="../index.html" class="el_bundle">org.jacoco.core</a> &gt; <span class="el_package">org.jacoco.core.tools</span></div><h1>org.jacoco.core.tools</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td><td class="sortable ctr1" id="l" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="m" onclick="toggleSort(this)">Classes</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">7 of 215</td><td class="ctr2">96%</td><td class="bar">1 of 6</td><td class="ctr2">83%</td><td class="ctr1">3</td><td class="ctr2">21</td><td class="ctr1">4</td><td class="ctr2">70</td><td class="ctr1">2</td><td class="ctr2">18</td><td class="ctr1">0</td><td class="ctr2">2</td></tr></tfoot><tbody><tr><td id="a0"><a href="ExecDumpClient.java.html" class="el_source">ExecDumpClient.java</a></td><td class="bar" id="b0"><img src="../../jacoco-resources/redbar.gif" width="6" height="10" title="7" alt="7"/><img src="../../jacoco-resources/greenbar.gif" width="113" height="10" title="115" alt="115"/></td><td class="ctr2" id="c1">94%</td><td class="bar" id="d1"><img src="../../jacoco-resources/greenbar.gif" width="120" height="10" title="4" alt="4"/></td><td class="ctr2" id="e0">100%</td><td class="ctr1" id="f0">2</td><td class="ctr2" id="g0">13</td><td class="ctr1" id="h0">4</td><td class="ctr2" id="i0">42</td><td class="ctr1" id="j0">2</td><td class="ctr2" id="k0">11</td><td class="ctr1" id="l0">0</td><td class="ctr2" id="m0">1</td></tr><tr><td id="a1"><a href="ExecFileLoader.java.html" class="el_source">ExecFileLoader.java</a></td><td class="bar" id="b1"><img src="../../jacoco-resources/greenbar.gif" width="91" height="10" title="93" alt="93"/></td><td class="ctr2" id="c0">100%</td><td class="bar" id="d0"><img src="../../jacoco-resources/redbar.gif" width="30" height="10" title="1" alt="1"/><img src="../../jacoco-resources/greenbar.gif" width="30" height="10" title="1" alt="1"/></td><td class="ctr2" id="e1">50%</td><td class="ctr1" id="f1">1</td><td class="ctr2" id="g1">8</td><td class="ctr1" id="h1">0</td><td class="ctr2" id="i1">28</td><td class="ctr1" id="j1">0</td><td class="ctr2" id="k1">7</td><td class="ctr1" id="l1">0</td><td class="ctr2" id="m1">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.12.202403270442</span>Code Coverage Report for JaCoCo 0.8.12-SNAPSHOT</div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/trunk/coverage/org.jacoco.core/org.jacoco.core/JaCoCo.html b/jacoco/trunk/coverage/org.jacoco.core/org.jacoco.core/JaCoCo.html
    new file mode 100644
    index 00000000000..efb60c49f22
    --- /dev/null
    +++ b/jacoco/trunk/coverage/org.jacoco.core/org.jacoco.core/JaCoCo.html
    @@ -0,0 +1 @@
    +<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="en"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../../jacoco-resources/report.gif" type="image/gif"/><title>JaCoCo</title><script type="text/javascript" src="../../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../../index.html" class="el_report">JaCoCo</a> &gt; <a href="../index.html" class="el_bundle">org.jacoco.core</a> &gt; <a href="index.html" class="el_package">org.jacoco.core</a> &gt; <span class="el_class">JaCoCo</span></div><h1>JaCoCo</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">0 of 25</td><td class="ctr2">100%</td><td class="bar">0 of 0</td><td class="ctr2">n/a</td><td class="ctr1">0</td><td class="ctr2">1</td><td class="ctr1">0</td><td class="ctr2">7</td><td class="ctr1">0</td><td class="ctr2">1</td></tr></tfoot><tbody><tr><td id="a0"><a href="JaCoCo.java.html#L40" class="el_method">static {...}</a></td><td class="bar" id="b0"><img src="../../jacoco-resources/greenbar.gif" width="120" height="10" title="25" alt="25"/></td><td class="ctr2" id="c0">100%</td><td class="bar" id="d0"/><td class="ctr2" id="e0">n/a</td><td class="ctr1" id="f0">0</td><td class="ctr2" id="g0">1</td><td class="ctr1" id="h0">0</td><td class="ctr2" id="i0">7</td><td class="ctr1" id="j0">0</td><td class="ctr2" id="k0">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.12.202403270442</span>Code Coverage Report for JaCoCo 0.8.12-SNAPSHOT</div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/trunk/coverage/org.jacoco.core/org.jacoco.core/JaCoCo.java.html b/jacoco/trunk/coverage/org.jacoco.core/org.jacoco.core/JaCoCo.java.html
    new file mode 100644
    index 00000000000..6b065e4be0c
    --- /dev/null
    +++ b/jacoco/trunk/coverage/org.jacoco.core/org.jacoco.core/JaCoCo.java.html
    @@ -0,0 +1,53 @@
    +<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="en"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../../jacoco-resources/report.gif" type="image/gif"/><title>JaCoCo.java</title><link rel="stylesheet" href="../../jacoco-resources/prettify.css" type="text/css"/><script type="text/javascript" src="../../jacoco-resources/prettify.js"></script></head><body onload="window['PR_TAB_WIDTH']=4;prettyPrint()"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../../index.html" class="el_report">JaCoCo</a> &gt; <a href="../index.html" class="el_bundle">org.jacoco.core</a> &gt; <a href="index.source.html" class="el_package">org.jacoco.core</a> &gt; <span class="el_source">JaCoCo.java</span></div><h1>JaCoCo.java</h1><pre class="source lang-java linenums">/*******************************************************************************
    + * Copyright (c) 2009, 2024 Mountainminds GmbH &amp; Co. KG and Contributors
    + * This program and the accompanying materials are made available under
    + * the terms of the Eclipse Public License 2.0 which is available at
    + * http://www.eclipse.org/legal/epl-2.0
    + *
    + * SPDX-License-Identifier: EPL-2.0
    + *
    + * Contributors:
    + *    Marc R. Hoffmann - initial API and implementation
    + *
    + *******************************************************************************/
    +package org.jacoco.core;
    +
    +import java.util.ResourceBundle;
    +
    +/**
    + * Static Meta information about JaCoCo.
    + */
    +public final class JaCoCo {
    +
    +	/** Qualified version of JaCoCo core. */
    +	public static final String VERSION;
    +
    +	/** Commit ID of the source tree of JaCoCo core. */
    +	public static final String COMMITID;
    +
    +	/**
    +	 * Shortened (7 digit) commit ID of the source tree of JaCoCo core.
    +	 */
    +	public static final String COMMITID_SHORT;
    +
    +	/** Absolute URL of the current JaCoCo home page */
    +	public static final String HOMEURL;
    +
    +	/** Name of the runtime package of this build */
    +	public static final String RUNTIMEPACKAGE;
    +
    +	static {
    +<span class="fc" id="L40">		final ResourceBundle bundle = ResourceBundle</span>
    +				.getBundle(&quot;org.jacoco.core.jacoco&quot;);
    +<span class="fc" id="L42">		VERSION = bundle.getString(&quot;VERSION&quot;);</span>
    +<span class="fc" id="L43">		COMMITID = bundle.getString(&quot;COMMITID&quot;);</span>
    +<span class="fc" id="L44">		COMMITID_SHORT = COMMITID.substring(0, 7);</span>
    +<span class="fc" id="L45">		HOMEURL = bundle.getString(&quot;HOMEURL&quot;);</span>
    +<span class="fc" id="L46">		RUNTIMEPACKAGE = bundle.getString(&quot;RUNTIMEPACKAGE&quot;);</span>
    +<span class="fc" id="L47">	}</span>
    +
    +	private JaCoCo() {
    +	}
    +
    +}
    +</pre><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.12.202403270442</span>Code Coverage Report for JaCoCo 0.8.12-SNAPSHOT</div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/trunk/coverage/org.jacoco.core/org.jacoco.core/index.html b/jacoco/trunk/coverage/org.jacoco.core/org.jacoco.core/index.html
    new file mode 100644
    index 00000000000..0e9dedb62d6
    --- /dev/null
    +++ b/jacoco/trunk/coverage/org.jacoco.core/org.jacoco.core/index.html
    @@ -0,0 +1 @@
    +<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="en"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../../jacoco-resources/report.gif" type="image/gif"/><title>org.jacoco.core</title><script type="text/javascript" src="../../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb', 'coveragetable'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="index.source.html" class="el_source">Source Files</a><a href="../../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../../index.html" class="el_report">JaCoCo</a> &gt; <a href="../index.html" class="el_bundle">org.jacoco.core</a> &gt; <span class="el_package">org.jacoco.core</span></div><h1>org.jacoco.core</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td><td class="sortable ctr1" id="l" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="m" onclick="toggleSort(this)">Classes</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">0 of 25</td><td class="ctr2">100%</td><td class="bar">0 of 0</td><td class="ctr2">n/a</td><td class="ctr1">0</td><td class="ctr2">1</td><td class="ctr1">0</td><td class="ctr2">7</td><td class="ctr1">0</td><td class="ctr2">1</td><td class="ctr1">0</td><td class="ctr2">1</td></tr></tfoot><tbody><tr><td id="a0"><a href="JaCoCo.html" class="el_class">JaCoCo</a></td><td class="bar" id="b0"><img src="../../jacoco-resources/greenbar.gif" width="120" height="10" title="25" alt="25"/></td><td class="ctr2" id="c0">100%</td><td class="bar" id="d0"/><td class="ctr2" id="e0">n/a</td><td class="ctr1" id="f0">0</td><td class="ctr2" id="g0">1</td><td class="ctr1" id="h0">0</td><td class="ctr2" id="i0">7</td><td class="ctr1" id="j0">0</td><td class="ctr2" id="k0">1</td><td class="ctr1" id="l0">0</td><td class="ctr2" id="m0">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.12.202403270442</span>Code Coverage Report for JaCoCo 0.8.12-SNAPSHOT</div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/trunk/coverage/org.jacoco.core/org.jacoco.core/index.source.html b/jacoco/trunk/coverage/org.jacoco.core/org.jacoco.core/index.source.html
    new file mode 100644
    index 00000000000..a78f60c6a2a
    --- /dev/null
    +++ b/jacoco/trunk/coverage/org.jacoco.core/org.jacoco.core/index.source.html
    @@ -0,0 +1 @@
    +<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="en"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../../jacoco-resources/report.gif" type="image/gif"/><title>org.jacoco.core</title><script type="text/javascript" src="../../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb', 'coveragetable'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="index.html" class="el_class">Classes</a><a href="../../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../../index.html" class="el_report">JaCoCo</a> &gt; <a href="../index.html" class="el_bundle">org.jacoco.core</a> &gt; <span class="el_package">org.jacoco.core</span></div><h1>org.jacoco.core</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td><td class="sortable ctr1" id="l" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="m" onclick="toggleSort(this)">Classes</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">0 of 25</td><td class="ctr2">100%</td><td class="bar">0 of 0</td><td class="ctr2">n/a</td><td class="ctr1">0</td><td class="ctr2">1</td><td class="ctr1">0</td><td class="ctr2">7</td><td class="ctr1">0</td><td class="ctr2">1</td><td class="ctr1">0</td><td class="ctr2">1</td></tr></tfoot><tbody><tr><td id="a0"><a href="JaCoCo.java.html" class="el_source">JaCoCo.java</a></td><td class="bar" id="b0"><img src="../../jacoco-resources/greenbar.gif" width="120" height="10" title="25" alt="25"/></td><td class="ctr2" id="c0">100%</td><td class="bar" id="d0"/><td class="ctr2" id="e0">n/a</td><td class="ctr1" id="f0">0</td><td class="ctr2" id="g0">1</td><td class="ctr1" id="h0">0</td><td class="ctr2" id="i0">7</td><td class="ctr1" id="j0">0</td><td class="ctr2" id="k0">1</td><td class="ctr1" id="l0">0</td><td class="ctr2" id="m0">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.12.202403270442</span>Code Coverage Report for JaCoCo 0.8.12-SNAPSHOT</div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/trunk/coverage/org.jacoco.examples/index.html b/jacoco/trunk/coverage/org.jacoco.examples/index.html
    new file mode 100644
    index 00000000000..60982913cf2
    --- /dev/null
    +++ b/jacoco/trunk/coverage/org.jacoco.examples/index.html
    @@ -0,0 +1 @@
    +<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="en"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>org.jacoco.examples</title><script type="text/javascript" src="../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb', 'coveragetable'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">JaCoCo</a> &gt; <span class="el_bundle">org.jacoco.examples</span></div><h1>org.jacoco.examples</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td><td class="sortable ctr1" id="l" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="m" onclick="toggleSort(this)">Classes</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">411 of 982</td><td class="ctr2">58%</td><td class="bar">10 of 28</td><td class="ctr2">64%</td><td class="ctr1">24</td><td class="ctr2">53</td><td class="ctr1">97</td><td class="ctr2">193</td><td class="ctr1">19</td><td class="ctr2">38</td><td class="ctr1">6</td><td class="ctr2">12</td></tr></tfoot><tbody><tr><td id="a0"><a href="org.jacoco.examples/index.html" class="el_package">org.jacoco.examples</a></td><td class="bar" id="b0"><img src="../jacoco-resources/redbar.gif" width="50" height="10" title="411" alt="411"/><img src="../jacoco-resources/greenbar.gif" width="69" height="10" title="571" alt="571"/></td><td class="ctr2" id="c0">58%</td><td class="bar" id="d0"><img src="../jacoco-resources/redbar.gif" width="42" height="10" title="10" alt="10"/><img src="../jacoco-resources/greenbar.gif" width="77" height="10" title="18" alt="18"/></td><td class="ctr2" id="e0">64%</td><td class="ctr1" id="f0">24</td><td class="ctr2" id="g0">53</td><td class="ctr1" id="h0">97</td><td class="ctr2" id="i0">193</td><td class="ctr1" id="j0">19</td><td class="ctr2" id="k0">38</td><td class="ctr1" id="l0">6</td><td class="ctr2" id="m0">12</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.12.202403270442</span>Code Coverage Report for JaCoCo 0.8.12-SNAPSHOT</div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/trunk/coverage/org.jacoco.examples/org.jacoco.examples/ClassInfo.html b/jacoco/trunk/coverage/org.jacoco.examples/org.jacoco.examples/ClassInfo.html
    new file mode 100644
    index 00000000000..98777f10484
    --- /dev/null
    +++ b/jacoco/trunk/coverage/org.jacoco.examples/org.jacoco.examples/ClassInfo.html
    @@ -0,0 +1 @@
    +<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="en"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../../jacoco-resources/report.gif" type="image/gif"/><title>ClassInfo</title><script type="text/javascript" src="../../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../../index.html" class="el_report">JaCoCo</a> &gt; <a href="../index.html" class="el_bundle">org.jacoco.examples</a> &gt; <a href="index.html" class="el_package">org.jacoco.examples</a> &gt; <span class="el_class">ClassInfo</span></div><h1>ClassInfo</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">7 of 143</td><td class="ctr2">95%</td><td class="bar">0 of 2</td><td class="ctr2">100%</td><td class="ctr1">1</td><td class="ctr2">5</td><td class="ctr1">2</td><td class="ctr2">17</td><td class="ctr1">1</td><td class="ctr2">4</td></tr></tfoot><tbody><tr><td id="a2"><a href="ClassInfo.java.html#L82" class="el_method">main(String[])</a></td><td class="bar" id="b0"><img src="../../jacoco-resources/redbar.gif" width="8" height="10" title="7" alt="7"/></td><td class="ctr2" id="c3">0%</td><td class="bar" id="d1"/><td class="ctr2" id="e1">n/a</td><td class="ctr1" id="f0">1</td><td class="ctr2" id="g1">1</td><td class="ctr1" id="h0">2</td><td class="ctr2" id="i3">2</td><td class="ctr1" id="j0">1</td><td class="ctr2" id="k0">1</td></tr><tr><td id="a3"><a href="ClassInfo.java.html#L59" class="el_method">visitCoverage(IClassCoverage)</a></td><td class="bar" id="b1"><img src="../../jacoco-resources/greenbar.gif" width="120" height="10" title="96" alt="96"/></td><td class="ctr2" id="c0">100%</td><td class="bar" id="d2"/><td class="ctr2" id="e2">n/a</td><td class="ctr1" id="f1">0</td><td class="ctr2" id="g2">1</td><td class="ctr1" id="h1">0</td><td class="ctr2" id="i0">8</td><td class="ctr1" id="j1">0</td><td class="ctr2" id="k1">1</td></tr><tr><td id="a1"><a href="ClassInfo.java.html#L53" class="el_method">execute(String[])</a></td><td class="bar" id="b2"><img src="../../jacoco-resources/greenbar.gif" width="31" height="10" title="25" alt="25"/></td><td class="ctr2" id="c1">100%</td><td class="bar" id="d0"><img src="../../jacoco-resources/greenbar.gif" width="120" height="10" title="2" alt="2"/></td><td class="ctr2" id="e0">100%</td><td class="ctr1" id="f2">0</td><td class="ctr2" id="g0">2</td><td class="ctr1" id="h2">0</td><td class="ctr2" id="i2">3</td><td class="ctr1" id="j2">0</td><td class="ctr2" id="k2">1</td></tr><tr><td id="a0"><a href="ClassInfo.java.html#L39" class="el_method">ClassInfo(PrintStream)</a></td><td class="bar" id="b3"><img src="../../jacoco-resources/greenbar.gif" width="18" height="10" title="15" alt="15"/></td><td class="ctr2" id="c2">100%</td><td class="bar" id="d3"/><td class="ctr2" id="e3">n/a</td><td class="ctr1" id="f3">0</td><td class="ctr2" id="g3">1</td><td class="ctr1" id="h3">0</td><td class="ctr2" id="i1">4</td><td class="ctr1" id="j3">0</td><td class="ctr2" id="k3">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.12.202403270442</span>Code Coverage Report for JaCoCo 0.8.12-SNAPSHOT</div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/trunk/coverage/org.jacoco.examples/org.jacoco.examples/ClassInfo.java.html b/jacoco/trunk/coverage/org.jacoco.examples/org.jacoco.examples/ClassInfo.java.html
    new file mode 100644
    index 00000000000..64026514c2b
    --- /dev/null
    +++ b/jacoco/trunk/coverage/org.jacoco.examples/org.jacoco.examples/ClassInfo.java.html
    @@ -0,0 +1,86 @@
    +<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="en"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../../jacoco-resources/report.gif" type="image/gif"/><title>ClassInfo.java</title><link rel="stylesheet" href="../../jacoco-resources/prettify.css" type="text/css"/><script type="text/javascript" src="../../jacoco-resources/prettify.js"></script></head><body onload="window['PR_TAB_WIDTH']=4;prettyPrint()"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../../index.html" class="el_report">JaCoCo</a> &gt; <a href="../index.html" class="el_bundle">org.jacoco.examples</a> &gt; <a href="index.source.html" class="el_package">org.jacoco.examples</a> &gt; <span class="el_source">ClassInfo.java</span></div><h1>ClassInfo.java</h1><pre class="source lang-java linenums">/*******************************************************************************
    + * Copyright (c) 2009, 2024 Mountainminds GmbH &amp; Co. KG and Contributors
    + * This program and the accompanying materials are made available under
    + * the terms of the Eclipse Public License 2.0 which is available at
    + * http://www.eclipse.org/legal/epl-2.0
    + *
    + * SPDX-License-Identifier: EPL-2.0
    + *
    + * Contributors:
    + *    Marc R. Hoffmann - initial API and implementation
    + *
    + *******************************************************************************/
    +package org.jacoco.examples;
    +
    +import java.io.File;
    +import java.io.IOException;
    +import java.io.PrintStream;
    +
    +import org.jacoco.core.analysis.Analyzer;
    +import org.jacoco.core.analysis.IClassCoverage;
    +import org.jacoco.core.analysis.ICoverageVisitor;
    +import org.jacoco.core.data.ExecutionDataStore;
    +
    +/**
    + * This example reads Java class files, directories or JARs given as program
    + * arguments and dumps information about the classes.
    + */
    +public final class ClassInfo implements ICoverageVisitor {
    +
    +	private final PrintStream out;
    +	private final Analyzer analyzer;
    +
    +	/**
    +	 * Creates a new example instance printing to the given stream.
    +	 *
    +	 * @param out
    +	 *            stream for outputs
    +	 */
    +<span class="fc" id="L39">	public ClassInfo(final PrintStream out) {</span>
    +<span class="fc" id="L40">		this.out = out;</span>
    +<span class="fc" id="L41">		analyzer = new Analyzer(new ExecutionDataStore(), this);</span>
    +<span class="fc" id="L42">	}</span>
    +
    +	/**
    +	 * Run this example with the given parameters.
    +	 *
    +	 * @param args
    +	 *            command line parameters
    +	 * @throws IOException
    +	 *             in case of error reading a input file
    +	 */
    +	public void execute(final String[] args) throws IOException {
    +<span class="fc bfc" id="L53" title="All 2 branches covered.">		for (final String file : args) {</span>
    +<span class="fc" id="L54">			analyzer.analyzeAll(new File(file));</span>
    +		}
    +<span class="fc" id="L56">	}</span>
    +
    +	public void visitCoverage(final IClassCoverage coverage) {
    +<span class="fc" id="L59">		out.printf(&quot;class name:   %s%n&quot;, coverage.getName());</span>
    +<span class="fc" id="L60">		out.printf(&quot;class id:     %016x%n&quot;, Long.valueOf(coverage.getId()));</span>
    +<span class="fc" id="L61">		out.printf(&quot;instructions: %s%n&quot;, Integer</span>
    +				.valueOf(coverage.getInstructionCounter().getTotalCount()));
    +<span class="fc" id="L63">		out.printf(&quot;branches:     %s%n&quot;,</span>
    +				Integer.valueOf(coverage.getBranchCounter().getTotalCount()));
    +<span class="fc" id="L65">		out.printf(&quot;lines:        %s%n&quot;,</span>
    +				Integer.valueOf(coverage.getLineCounter().getTotalCount()));
    +<span class="fc" id="L67">		out.printf(&quot;methods:      %s%n&quot;,</span>
    +				Integer.valueOf(coverage.getMethodCounter().getTotalCount()));
    +<span class="fc" id="L69">		out.printf(&quot;complexity:   %s%n%n&quot;, Integer</span>
    +				.valueOf(coverage.getComplexityCounter().getTotalCount()));
    +<span class="fc" id="L71">	}</span>
    +
    +	/**
    +	 * Entry point to run this examples as a Java application.
    +	 *
    +	 * @param args
    +	 *            list of program arguments
    +	 * @throws IOException
    +	 *             in case of errors executing the example
    +	 */
    +	public static void main(final String[] args) throws IOException {
    +<span class="nc" id="L82">		new ClassInfo(System.out).execute(args);</span>
    +<span class="nc" id="L83">	}</span>
    +
    +}
    +</pre><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.12.202403270442</span>Code Coverage Report for JaCoCo 0.8.12-SNAPSHOT</div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/trunk/coverage/org.jacoco.examples/org.jacoco.examples/CoreTutorial$MemoryClassLoader.html b/jacoco/trunk/coverage/org.jacoco.examples/org.jacoco.examples/CoreTutorial$MemoryClassLoader.html
    new file mode 100644
    index 00000000000..5224dfecf81
    --- /dev/null
    +++ b/jacoco/trunk/coverage/org.jacoco.examples/org.jacoco.examples/CoreTutorial$MemoryClassLoader.html
    @@ -0,0 +1 @@
    +<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="en"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../../jacoco-resources/report.gif" type="image/gif"/><title>CoreTutorial.MemoryClassLoader</title><script type="text/javascript" src="../../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../../index.html" class="el_report">JaCoCo</a> &gt; <a href="../index.html" class="el_bundle">org.jacoco.examples</a> &gt; <a href="index.html" class="el_package">org.jacoco.examples</a> &gt; <span class="el_class">CoreTutorial.MemoryClassLoader</span></div><h1>CoreTutorial.MemoryClassLoader</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">0 of 36</td><td class="ctr2">100%</td><td class="bar">0 of 2</td><td class="ctr2">100%</td><td class="ctr1">0</td><td class="ctr2">4</td><td class="ctr1">0</td><td class="ctr2">8</td><td class="ctr1">0</td><td class="ctr2">3</td></tr></tfoot><tbody><tr><td id="a2"><a href="CoreTutorial.java.html#L80" class="el_method">loadClass(String, boolean)</a></td><td class="bar" id="b0"><img src="../../jacoco-resources/greenbar.gif" width="120" height="10" title="21" alt="21"/></td><td class="ctr2" id="c0">100%</td><td class="bar" id="d0"><img src="../../jacoco-resources/greenbar.gif" width="120" height="10" title="2" alt="2"/></td><td class="ctr2" id="e0">100%</td><td class="ctr1" id="f0">0</td><td class="ctr2" id="g0">2</td><td class="ctr1" id="h0">0</td><td class="ctr2" id="i0">4</td><td class="ctr1" id="j0">0</td><td class="ctr2" id="k0">1</td></tr><tr><td id="a1"><a href="CoreTutorial.java.html#L61" class="el_method">CoreTutorial.MemoryClassLoader()</a></td><td class="bar" id="b1"><img src="../../jacoco-resources/greenbar.gif" width="45" height="10" title="8" alt="8"/></td><td class="ctr2" id="c1">100%</td><td class="bar" id="d1"/><td class="ctr2" id="e1">n/a</td><td class="ctr1" id="f1">0</td><td class="ctr2" id="g1">1</td><td class="ctr1" id="h1">0</td><td class="ctr2" id="i1">2</td><td class="ctr1" id="j1">0</td><td class="ctr2" id="k1">1</td></tr><tr><td id="a0"><a href="CoreTutorial.java.html#L74" class="el_method">addDefinition(String, byte[])</a></td><td class="bar" id="b2"><img src="../../jacoco-resources/greenbar.gif" width="40" height="10" title="7" alt="7"/></td><td class="ctr2" id="c2">100%</td><td class="bar" id="d2"/><td class="ctr2" id="e2">n/a</td><td class="ctr1" id="f2">0</td><td class="ctr2" id="g2">1</td><td class="ctr1" id="h2">0</td><td class="ctr2" id="i2">2</td><td class="ctr1" id="j2">0</td><td class="ctr2" id="k2">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.12.202403270442</span>Code Coverage Report for JaCoCo 0.8.12-SNAPSHOT</div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/trunk/coverage/org.jacoco.examples/org.jacoco.examples/CoreTutorial$TestTarget.html b/jacoco/trunk/coverage/org.jacoco.examples/org.jacoco.examples/CoreTutorial$TestTarget.html
    new file mode 100644
    index 00000000000..fca836b2573
    --- /dev/null
    +++ b/jacoco/trunk/coverage/org.jacoco.examples/org.jacoco.examples/CoreTutorial$TestTarget.html
    @@ -0,0 +1 @@
    +<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="en"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../../jacoco-resources/report.gif" type="image/gif"/><title>CoreTutorial.TestTarget</title><script type="text/javascript" src="../../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../../index.html" class="el_report">JaCoCo</a> &gt; <a href="../index.html" class="el_bundle">org.jacoco.examples</a> &gt; <a href="index.html" class="el_package">org.jacoco.examples</a> &gt; <span class="el_class">CoreTutorial.TestTarget</span></div><h1>CoreTutorial.TestTarget</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">25 of 25</td><td class="ctr2">0%</td><td class="bar">4 of 4</td><td class="ctr2">0%</td><td class="ctr1">5</td><td class="ctr2">5</td><td class="ctr1">7</td><td class="ctr2">7</td><td class="ctr1">3</td><td class="ctr2">3</td></tr></tfoot><tbody><tr><td id="a1"><a href="CoreTutorial.java.html#L48" class="el_method">isPrime(int)</a></td><td class="bar" id="b0"><img src="../../jacoco-resources/redbar.gif" width="120" height="10" title="17" alt="17"/></td><td class="ctr2" id="c0">0%</td><td class="bar" id="d0"><img src="../../jacoco-resources/redbar.gif" width="120" height="10" title="4" alt="4"/></td><td class="ctr2" id="e0">0%</td><td class="ctr1" id="f0">3</td><td class="ctr2" id="g0">3</td><td class="ctr1" id="h0">4</td><td class="ctr2" id="i0">4</td><td class="ctr1" id="j0">1</td><td class="ctr2" id="k0">1</td></tr><tr><td id="a2"><a href="CoreTutorial.java.html#L44" class="el_method">run()</a></td><td class="bar" id="b1"><img src="../../jacoco-resources/redbar.gif" width="35" height="10" title="5" alt="5"/></td><td class="ctr2" id="c1">0%</td><td class="bar" id="d1"/><td class="ctr2" id="e1">n/a</td><td class="ctr1" id="f1">1</td><td class="ctr2" id="g1">1</td><td class="ctr1" id="h1">2</td><td class="ctr2" id="i1">2</td><td class="ctr1" id="j1">1</td><td class="ctr2" id="k1">1</td></tr><tr><td id="a0"><a href="CoreTutorial.java.html#L41" class="el_method">CoreTutorial.TestTarget()</a></td><td class="bar" id="b2"><img src="../../jacoco-resources/redbar.gif" width="21" height="10" title="3" alt="3"/></td><td class="ctr2" id="c2">0%</td><td class="bar" id="d2"/><td class="ctr2" id="e2">n/a</td><td class="ctr1" id="f2">1</td><td class="ctr2" id="g2">1</td><td class="ctr1" id="h2">1</td><td class="ctr2" id="i2">1</td><td class="ctr1" id="j2">1</td><td class="ctr2" id="k2">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.12.202403270442</span>Code Coverage Report for JaCoCo 0.8.12-SNAPSHOT</div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/trunk/coverage/org.jacoco.examples/org.jacoco.examples/CoreTutorial.html b/jacoco/trunk/coverage/org.jacoco.examples/org.jacoco.examples/CoreTutorial.html
    new file mode 100644
    index 00000000000..501af582b29
    --- /dev/null
    +++ b/jacoco/trunk/coverage/org.jacoco.examples/org.jacoco.examples/CoreTutorial.html
    @@ -0,0 +1 @@
    +<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="en"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../../jacoco-resources/report.gif" type="image/gif"/><title>CoreTutorial</title><script type="text/javascript" src="../../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../../index.html" class="el_report">JaCoCo</a> &gt; <a href="../index.html" class="el_bundle">org.jacoco.examples</a> &gt; <a href="index.html" class="el_package">org.jacoco.examples</a> &gt; <span class="el_class">CoreTutorial</span></div><h1>CoreTutorial</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">6 of 232</td><td class="ctr2">97%</td><td class="bar">0 of 8</td><td class="ctr2">100%</td><td class="ctr1">1</td><td class="ctr2">11</td><td class="ctr1">2</td><td class="ctr2">48</td><td class="ctr1">1</td><td class="ctr2">6</td></tr></tfoot><tbody><tr><td id="a4"><a href="CoreTutorial.java.html#L200" class="el_method">main(String[])</a></td><td class="bar" id="b0"><img src="../../jacoco-resources/redbar.gif" width="4" height="10" title="6" alt="6"/></td><td class="ctr2" id="c5">0%</td><td class="bar" id="d2"/><td class="ctr2" id="e2">n/a</td><td class="ctr1" id="f0">1</td><td class="ctr2" id="g2">1</td><td class="ctr1" id="h0">2</td><td class="ctr2" id="i4">2</td><td class="ctr1" id="j0">1</td><td class="ctr2" id="k0">1</td></tr><tr><td id="a1"><a href="CoreTutorial.java.html#L108" class="el_method">execute()</a></td><td class="bar" id="b1"><img src="../../jacoco-resources/greenbar.gif" width="120" height="10" title="163" alt="163"/></td><td class="ctr2" id="c0">100%</td><td class="bar" id="d0"><img src="../../jacoco-resources/greenbar.gif" width="120" height="10" title="4" alt="4"/></td><td class="ctr2" id="e0">100%</td><td class="ctr1" id="f1">0</td><td class="ctr2" id="g1">3</td><td class="ctr1" id="h1">0</td><td class="ctr2" id="i0">32</td><td class="ctr1" id="j1">0</td><td class="ctr2" id="k1">1</td></tr><tr><td id="a5"><a href="CoreTutorial.java.html#L174" class="el_method">printCounter(String, ICounter)</a></td><td class="bar" id="b2"><img src="../../jacoco-resources/greenbar.gif" width="20" height="10" title="28" alt="28"/></td><td class="ctr2" id="c1">100%</td><td class="bar" id="d3"/><td class="ctr2" id="e3">n/a</td><td class="ctr1" id="f2">0</td><td class="ctr2" id="g3">1</td><td class="ctr1" id="h2">0</td><td class="ctr2" id="i2">4</td><td class="ctr1" id="j2">0</td><td class="ctr2" id="k2">1</td></tr><tr><td id="a3"><a href="CoreTutorial.java.html#L169" class="el_method">getTargetClass(String)</a></td><td class="bar" id="b3"><img src="../../jacoco-resources/greenbar.gif" width="13" height="10" title="19" alt="19"/></td><td class="ctr2" id="c2">100%</td><td class="bar" id="d4"/><td class="ctr2" id="e4">n/a</td><td class="ctr1" id="f3">0</td><td class="ctr2" id="g4">1</td><td class="ctr1" id="h3">0</td><td class="ctr2" id="i5">2</td><td class="ctr1" id="j3">0</td><td class="ctr2" id="k3">1</td></tr><tr><td id="a2"><a href="CoreTutorial.java.html#L180" class="el_method">getColor(int)</a></td><td class="bar" id="b4"><img src="../../jacoco-resources/greenbar.gif" width="7" height="10" title="10" alt="10"/></td><td class="ctr2" id="c3">100%</td><td class="bar" id="d1"><img src="../../jacoco-resources/greenbar.gif" width="120" height="10" title="4" alt="4"/></td><td class="ctr2" id="e1">100%</td><td class="ctr1" id="f4">0</td><td class="ctr2" id="g0">4</td><td class="ctr1" id="h4">0</td><td class="ctr2" id="i1">5</td><td class="ctr1" id="j4">0</td><td class="ctr2" id="k4">1</td></tr><tr><td id="a0"><a href="CoreTutorial.java.html#L97" class="el_method">CoreTutorial(PrintStream)</a></td><td class="bar" id="b5"><img src="../../jacoco-resources/greenbar.gif" width="4" height="10" title="6" alt="6"/></td><td class="ctr2" id="c4">100%</td><td class="bar" id="d5"/><td class="ctr2" id="e5">n/a</td><td class="ctr1" id="f5">0</td><td class="ctr2" id="g5">1</td><td class="ctr1" id="h5">0</td><td class="ctr2" id="i3">3</td><td class="ctr1" id="j5">0</td><td class="ctr2" id="k5">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.12.202403270442</span>Code Coverage Report for JaCoCo 0.8.12-SNAPSHOT</div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/trunk/coverage/org.jacoco.examples/org.jacoco.examples/CoreTutorial.java.html b/jacoco/trunk/coverage/org.jacoco.examples/org.jacoco.examples/CoreTutorial.java.html
    new file mode 100644
    index 00000000000..34910a1cee6
    --- /dev/null
    +++ b/jacoco/trunk/coverage/org.jacoco.examples/org.jacoco.examples/CoreTutorial.java.html
    @@ -0,0 +1,204 @@
    +<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="en"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../../jacoco-resources/report.gif" type="image/gif"/><title>CoreTutorial.java</title><link rel="stylesheet" href="../../jacoco-resources/prettify.css" type="text/css"/><script type="text/javascript" src="../../jacoco-resources/prettify.js"></script></head><body onload="window['PR_TAB_WIDTH']=4;prettyPrint()"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../../index.html" class="el_report">JaCoCo</a> &gt; <a href="../index.html" class="el_bundle">org.jacoco.examples</a> &gt; <a href="index.source.html" class="el_package">org.jacoco.examples</a> &gt; <span class="el_source">CoreTutorial.java</span></div><h1>CoreTutorial.java</h1><pre class="source lang-java linenums">/*******************************************************************************
    + * Copyright (c) 2009, 2024 Mountainminds GmbH &amp; Co. KG and Contributors
    + * This program and the accompanying materials are made available under
    + * the terms of the Eclipse Public License 2.0 which is available at
    + * http://www.eclipse.org/legal/epl-2.0
    + *
    + * SPDX-License-Identifier: EPL-2.0
    + *
    + * Contributors:
    + *    Marc R. Hoffmann - initial API and implementation
    + *
    + *******************************************************************************/
    +package org.jacoco.examples;
    +
    +import java.io.InputStream;
    +import java.io.PrintStream;
    +import java.util.HashMap;
    +import java.util.Map;
    +
    +import org.jacoco.core.analysis.Analyzer;
    +import org.jacoco.core.analysis.CoverageBuilder;
    +import org.jacoco.core.analysis.IClassCoverage;
    +import org.jacoco.core.analysis.ICounter;
    +import org.jacoco.core.data.ExecutionDataStore;
    +import org.jacoco.core.data.SessionInfoStore;
    +import org.jacoco.core.instr.Instrumenter;
    +import org.jacoco.core.runtime.IRuntime;
    +import org.jacoco.core.runtime.LoggerRuntime;
    +import org.jacoco.core.runtime.RuntimeData;
    +
    +/**
    + * Example usage of the JaCoCo core API. In this tutorial a single target class
    + * will be instrumented and executed. Finally the coverage information will be
    + * dumped.
    + */
    +public final class CoreTutorial {
    +
    +	/**
    +	 * The test target we want to see code coverage for.
    +	 */
    +<span class="nc" id="L41">	public static class TestTarget implements Runnable {</span>
    +
    +		public void run() {
    +<span class="nc" id="L44">			isPrime(7);</span>
    +<span class="nc" id="L45">		}</span>
    +
    +		private boolean isPrime(final int n) {
    +<span class="nc bnc" id="L48" title="All 2 branches missed.">			for (int i = 2; i * i &lt;= n; i++) {</span>
    +<span class="nc bnc" id="L49" title="All 2 branches missed.">				if ((n ^ i) == 0) {</span>
    +<span class="nc" id="L50">					return false;</span>
    +				}
    +			}
    +<span class="nc" id="L53">			return true;</span>
    +		}
    +
    +	}
    +
    +	/**
    +	 * A class loader that loads classes from in-memory data.
    +	 */
    +<span class="fc" id="L61">	public static class MemoryClassLoader extends ClassLoader {</span>
    +
    +<span class="fc" id="L63">		private final Map&lt;String, byte[]&gt; definitions = new HashMap&lt;String, byte[]&gt;();</span>
    +
    +		/**
    +		 * Add a in-memory representation of a class.
    +		 *
    +		 * @param name
    +		 *            name of the class
    +		 * @param bytes
    +		 *            class definition
    +		 */
    +		public void addDefinition(final String name, final byte[] bytes) {
    +<span class="fc" id="L74">			definitions.put(name, bytes);</span>
    +<span class="fc" id="L75">		}</span>
    +
    +		@Override
    +		protected Class&lt;?&gt; loadClass(final String name, final boolean resolve)
    +				throws ClassNotFoundException {
    +<span class="fc" id="L80">			final byte[] bytes = definitions.get(name);</span>
    +<span class="fc bfc" id="L81" title="All 2 branches covered.">			if (bytes != null) {</span>
    +<span class="fc" id="L82">				return defineClass(name, bytes, 0, bytes.length);</span>
    +			}
    +<span class="fc" id="L84">			return super.loadClass(name, resolve);</span>
    +		}
    +
    +	}
    +
    +	private final PrintStream out;
    +
    +	/**
    +	 * Creates a new example instance printing to the given stream.
    +	 *
    +	 * @param out
    +	 *            stream for outputs
    +	 */
    +<span class="fc" id="L97">	public CoreTutorial(final PrintStream out) {</span>
    +<span class="fc" id="L98">		this.out = out;</span>
    +<span class="fc" id="L99">	}</span>
    +
    +	/**
    +	 * Run this example.
    +	 *
    +	 * @throws Exception
    +	 *             in case of errors
    +	 */
    +	public void execute() throws Exception {
    +<span class="fc" id="L108">		final String targetName = TestTarget.class.getName();</span>
    +
    +		// For instrumentation and runtime we need a IRuntime instance
    +		// to collect execution data:
    +<span class="fc" id="L112">		final IRuntime runtime = new LoggerRuntime();</span>
    +
    +		// The Instrumenter creates a modified version of our test target class
    +		// that contains additional probes for execution data recording:
    +<span class="fc" id="L116">		final Instrumenter instr = new Instrumenter(runtime);</span>
    +<span class="fc" id="L117">		InputStream original = getTargetClass(targetName);</span>
    +<span class="fc" id="L118">		final byte[] instrumented = instr.instrument(original, targetName);</span>
    +<span class="fc" id="L119">		original.close();</span>
    +
    +		// Now we're ready to run our instrumented class and need to startup the
    +		// runtime first:
    +<span class="fc" id="L123">		final RuntimeData data = new RuntimeData();</span>
    +<span class="fc" id="L124">		runtime.startup(data);</span>
    +
    +		// In this tutorial we use a special class loader to directly load the
    +		// instrumented class definition from a byte[] instances.
    +<span class="fc" id="L128">		final MemoryClassLoader memoryClassLoader = new MemoryClassLoader();</span>
    +<span class="fc" id="L129">		memoryClassLoader.addDefinition(targetName, instrumented);</span>
    +<span class="fc" id="L130">		final Class&lt;?&gt; targetClass = memoryClassLoader.loadClass(targetName);</span>
    +
    +		// Here we execute our test target class through its Runnable interface:
    +<span class="fc" id="L133">		final Runnable targetInstance = (Runnable) targetClass.newInstance();</span>
    +<span class="fc" id="L134">		targetInstance.run();</span>
    +
    +		// At the end of test execution we collect execution data and shutdown
    +		// the runtime:
    +<span class="fc" id="L138">		final ExecutionDataStore executionData = new ExecutionDataStore();</span>
    +<span class="fc" id="L139">		final SessionInfoStore sessionInfos = new SessionInfoStore();</span>
    +<span class="fc" id="L140">		data.collect(executionData, sessionInfos, false);</span>
    +<span class="fc" id="L141">		runtime.shutdown();</span>
    +
    +		// Together with the original class definition we can calculate coverage
    +		// information:
    +<span class="fc" id="L145">		final CoverageBuilder coverageBuilder = new CoverageBuilder();</span>
    +<span class="fc" id="L146">		final Analyzer analyzer = new Analyzer(executionData, coverageBuilder);</span>
    +<span class="fc" id="L147">		original = getTargetClass(targetName);</span>
    +<span class="fc" id="L148">		analyzer.analyzeClass(original, targetName);</span>
    +<span class="fc" id="L149">		original.close();</span>
    +
    +		// Let's dump some metrics and line coverage information:
    +<span class="fc bfc" id="L152" title="All 2 branches covered.">		for (final IClassCoverage cc : coverageBuilder.getClasses()) {</span>
    +<span class="fc" id="L153">			out.printf(&quot;Coverage of class %s%n&quot;, cc.getName());</span>
    +
    +<span class="fc" id="L155">			printCounter(&quot;instructions&quot;, cc.getInstructionCounter());</span>
    +<span class="fc" id="L156">			printCounter(&quot;branches&quot;, cc.getBranchCounter());</span>
    +<span class="fc" id="L157">			printCounter(&quot;lines&quot;, cc.getLineCounter());</span>
    +<span class="fc" id="L158">			printCounter(&quot;methods&quot;, cc.getMethodCounter());</span>
    +<span class="fc" id="L159">			printCounter(&quot;complexity&quot;, cc.getComplexityCounter());</span>
    +
    +<span class="fc bfc" id="L161" title="All 2 branches covered.">			for (int i = cc.getFirstLine(); i &lt;= cc.getLastLine(); i++) {</span>
    +<span class="fc" id="L162">				out.printf(&quot;Line %s: %s%n&quot;, Integer.valueOf(i),</span>
    +						getColor(cc.getLine(i).getStatus()));
    +			}
    +		}
    +<span class="fc" id="L166">	}</span>
    +
    +	private InputStream getTargetClass(final String name) {
    +<span class="fc" id="L169">		final String resource = '/' + name.replace('.', '/') + &quot;.class&quot;;</span>
    +<span class="fc" id="L170">		return getClass().getResourceAsStream(resource);</span>
    +	}
    +
    +	private void printCounter(final String unit, final ICounter counter) {
    +<span class="fc" id="L174">		final Integer missed = Integer.valueOf(counter.getMissedCount());</span>
    +<span class="fc" id="L175">		final Integer total = Integer.valueOf(counter.getTotalCount());</span>
    +<span class="fc" id="L176">		out.printf(&quot;%s of %s %s missed%n&quot;, missed, total, unit);</span>
    +<span class="fc" id="L177">	}</span>
    +
    +	private String getColor(final int status) {
    +<span class="fc bfc" id="L180" title="All 4 branches covered.">		switch (status) {</span>
    +		case ICounter.NOT_COVERED:
    +<span class="fc" id="L182">			return &quot;red&quot;;</span>
    +		case ICounter.PARTLY_COVERED:
    +<span class="fc" id="L184">			return &quot;yellow&quot;;</span>
    +		case ICounter.FULLY_COVERED:
    +<span class="fc" id="L186">			return &quot;green&quot;;</span>
    +		}
    +<span class="fc" id="L188">		return &quot;&quot;;</span>
    +	}
    +
    +	/**
    +	 * Entry point to run this examples as a Java application.
    +	 *
    +	 * @param args
    +	 *            list of program arguments
    +	 * @throws Exception
    +	 *             in case of errors
    +	 */
    +	public static void main(final String[] args) throws Exception {
    +<span class="nc" id="L200">		new CoreTutorial(System.out).execute();</span>
    +<span class="nc" id="L201">	}</span>
    +
    +}
    +</pre><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.12.202403270442</span>Code Coverage Report for JaCoCo 0.8.12-SNAPSHOT</div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/trunk/coverage/org.jacoco.examples/org.jacoco.examples/ExecDump$1.html b/jacoco/trunk/coverage/org.jacoco.examples/org.jacoco.examples/ExecDump$1.html
    new file mode 100644
    index 00000000000..1c582ec86e1
    --- /dev/null
    +++ b/jacoco/trunk/coverage/org.jacoco.examples/org.jacoco.examples/ExecDump$1.html
    @@ -0,0 +1 @@
    +<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="en"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../../jacoco-resources/report.gif" type="image/gif"/><title>ExecDump.new ISessionInfoVisitor() {...}</title><script type="text/javascript" src="../../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../../index.html" class="el_report">JaCoCo</a> &gt; <a href="../index.html" class="el_bundle">org.jacoco.examples</a> &gt; <a href="index.html" class="el_package">org.jacoco.examples</a> &gt; <span class="el_class">ExecDump.new ISessionInfoVisitor() {...}</span></div><h1>ExecDump.new ISessionInfoVisitor() {...}</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">0 of 36</td><td class="ctr2">100%</td><td class="bar">0 of 0</td><td class="ctr2">n/a</td><td class="ctr1">0</td><td class="ctr2">2</td><td class="ctr1">0</td><td class="ctr2">3</td><td class="ctr1">0</td><td class="ctr2">2</td></tr></tfoot><tbody><tr><td id="a0"><a href="ExecDump.java.html#L66" class="el_method">visitSessionInfo(SessionInfo)</a></td><td class="bar" id="b0"><img src="../../jacoco-resources/greenbar.gif" width="120" height="10" title="30" alt="30"/></td><td class="ctr2" id="c0">100%</td><td class="bar" id="d0"/><td class="ctr2" id="e0">n/a</td><td class="ctr1" id="f0">0</td><td class="ctr2" id="g0">1</td><td class="ctr1" id="h0">0</td><td class="ctr2" id="i0">2</td><td class="ctr1" id="j0">0</td><td class="ctr2" id="k0">1</td></tr><tr><td id="a1"><a href="ExecDump.java.html#L65" class="el_method">{...}</a></td><td class="bar" id="b1"><img src="../../jacoco-resources/greenbar.gif" width="24" height="10" title="6" alt="6"/></td><td class="ctr2" id="c1">100%</td><td class="bar" id="d1"/><td class="ctr2" id="e1">n/a</td><td class="ctr1" id="f1">0</td><td class="ctr2" id="g1">1</td><td class="ctr1" id="h1">0</td><td class="ctr2" id="i1">1</td><td class="ctr1" id="j1">0</td><td class="ctr2" id="k1">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.12.202403270442</span>Code Coverage Report for JaCoCo 0.8.12-SNAPSHOT</div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/trunk/coverage/org.jacoco.examples/org.jacoco.examples/ExecDump$2.html b/jacoco/trunk/coverage/org.jacoco.examples/org.jacoco.examples/ExecDump$2.html
    new file mode 100644
    index 00000000000..77096e2ba3c
    --- /dev/null
    +++ b/jacoco/trunk/coverage/org.jacoco.examples/org.jacoco.examples/ExecDump$2.html
    @@ -0,0 +1 @@
    +<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="en"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../../jacoco-resources/report.gif" type="image/gif"/><title>ExecDump.new IExecutionDataVisitor() {...}</title><script type="text/javascript" src="../../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../../index.html" class="el_report">JaCoCo</a> &gt; <a href="../index.html" class="el_bundle">org.jacoco.examples</a> &gt; <a href="index.html" class="el_package">org.jacoco.examples</a> &gt; <span class="el_class">ExecDump.new IExecutionDataVisitor() {...}</span></div><h1>ExecDump.new IExecutionDataVisitor() {...}</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">0 of 42</td><td class="ctr2">100%</td><td class="bar">0 of 0</td><td class="ctr2">n/a</td><td class="ctr1">0</td><td class="ctr2">2</td><td class="ctr1">0</td><td class="ctr2">3</td><td class="ctr1">0</td><td class="ctr2">2</td></tr></tfoot><tbody><tr><td id="a0"><a href="ExecDump.java.html#L73" class="el_method">visitClassExecution(ExecutionData)</a></td><td class="bar" id="b0"><img src="../../jacoco-resources/greenbar.gif" width="120" height="10" title="36" alt="36"/></td><td class="ctr2" id="c0">100%</td><td class="bar" id="d0"/><td class="ctr2" id="e0">n/a</td><td class="ctr1" id="f0">0</td><td class="ctr2" id="g0">1</td><td class="ctr1" id="h0">0</td><td class="ctr2" id="i0">2</td><td class="ctr1" id="j0">0</td><td class="ctr2" id="k0">1</td></tr><tr><td id="a1"><a href="ExecDump.java.html#L72" class="el_method">{...}</a></td><td class="bar" id="b1"><img src="../../jacoco-resources/greenbar.gif" width="20" height="10" title="6" alt="6"/></td><td class="ctr2" id="c1">100%</td><td class="bar" id="d1"/><td class="ctr2" id="e1">n/a</td><td class="ctr1" id="f1">0</td><td class="ctr2" id="g1">1</td><td class="ctr1" id="h1">0</td><td class="ctr2" id="i1">1</td><td class="ctr1" id="j1">0</td><td class="ctr2" id="k1">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.12.202403270442</span>Code Coverage Report for JaCoCo 0.8.12-SNAPSHOT</div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/trunk/coverage/org.jacoco.examples/org.jacoco.examples/ExecDump.html b/jacoco/trunk/coverage/org.jacoco.examples/org.jacoco.examples/ExecDump.html
    new file mode 100644
    index 00000000000..df43e9465e2
    --- /dev/null
    +++ b/jacoco/trunk/coverage/org.jacoco.examples/org.jacoco.examples/ExecDump.html
    @@ -0,0 +1 @@
    +<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="en"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../../jacoco-resources/report.gif" type="image/gif"/><title>ExecDump</title><script type="text/javascript" src="../../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../../index.html" class="el_report">JaCoCo</a> &gt; <a href="../index.html" class="el_bundle">org.jacoco.examples</a> &gt; <a href="index.html" class="el_package">org.jacoco.examples</a> &gt; <span class="el_class">ExecDump</span></div><h1>ExecDump</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">7 of 102</td><td class="ctr2">93%</td><td class="bar">0 of 6</td><td class="ctr2">100%</td><td class="ctr1">1</td><td class="ctr2">8</td><td class="ctr1">2</td><td class="ctr2">23</td><td class="ctr1">1</td><td class="ctr2">5</td></tr></tfoot><tbody><tr><td id="a4"><a href="ExecDump.java.html#L104" class="el_method">main(String[])</a></td><td class="bar" id="b0"><img src="../../jacoco-resources/redbar.gif" width="18" height="10" title="7" alt="7"/></td><td class="ctr2" id="c4">0%</td><td class="bar" id="d2"/><td class="ctr2" id="e2">n/a</td><td class="ctr1" id="f0">1</td><td class="ctr2" id="g2">1</td><td class="ctr1" id="h0">2</td><td class="ctr2" id="i4">2</td><td class="ctr1" id="j0">1</td><td class="ctr2" id="k0">1</td></tr><tr><td id="a0"><a href="ExecDump.java.html#L59" class="el_method">dump(String)</a></td><td class="bar" id="b1"><img src="../../jacoco-resources/greenbar.gif" width="120" height="10" title="46" alt="46"/></td><td class="ctr2" id="c0">100%</td><td class="bar" id="d3"/><td class="ctr2" id="e3">n/a</td><td class="ctr1" id="f1">0</td><td class="ctr2" id="g3">1</td><td class="ctr1" id="h1">0</td><td class="ctr2" id="i0">10</td><td class="ctr1" id="j1">0</td><td class="ctr2" id="k1">1</td></tr><tr><td id="a3"><a href="ExecDump.java.html#L86" class="el_method">getHitCount(boolean[])</a></td><td class="bar" id="b2"><img src="../../jacoco-resources/greenbar.gif" width="60" height="10" title="23" alt="23"/></td><td class="ctr2" id="c1">100%</td><td class="bar" id="d0"><img src="../../jacoco-resources/greenbar.gif" width="120" height="10" title="4" alt="4"/></td><td class="ctr2" id="e0">100%</td><td class="ctr1" id="f2">0</td><td class="ctr2" id="g0">3</td><td class="ctr1" id="h2">0</td><td class="ctr2" id="i1">5</td><td class="ctr1" id="j2">0</td><td class="ctr2" id="k2">1</td></tr><tr><td id="a2"><a href="ExecDump.java.html#L53" class="el_method">execute(String[])</a></td><td class="bar" id="b3"><img src="../../jacoco-resources/greenbar.gif" width="52" height="10" title="20" alt="20"/></td><td class="ctr2" id="c2">100%</td><td class="bar" id="d1"><img src="../../jacoco-resources/greenbar.gif" width="60" height="10" title="2" alt="2"/></td><td class="ctr2" id="e1">100%</td><td class="ctr1" id="f3">0</td><td class="ctr2" id="g1">2</td><td class="ctr1" id="h3">0</td><td class="ctr2" id="i2">3</td><td class="ctr1" id="j3">0</td><td class="ctr2" id="k3">1</td></tr><tr><td id="a1"><a href="ExecDump.java.html#L40" class="el_method">ExecDump(PrintStream)</a></td><td class="bar" id="b4"><img src="../../jacoco-resources/greenbar.gif" width="15" height="10" title="6" alt="6"/></td><td class="ctr2" id="c3">100%</td><td class="bar" id="d4"/><td class="ctr2" id="e4">n/a</td><td class="ctr1" id="f4">0</td><td class="ctr2" id="g4">1</td><td class="ctr1" id="h4">0</td><td class="ctr2" id="i3">3</td><td class="ctr1" id="j4">0</td><td class="ctr2" id="k4">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.12.202403270442</span>Code Coverage Report for JaCoCo 0.8.12-SNAPSHOT</div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/trunk/coverage/org.jacoco.examples/org.jacoco.examples/ExecDump.java.html b/jacoco/trunk/coverage/org.jacoco.examples/org.jacoco.examples/ExecDump.java.html
    new file mode 100644
    index 00000000000..7cb82f2af0c
    --- /dev/null
    +++ b/jacoco/trunk/coverage/org.jacoco.examples/org.jacoco.examples/ExecDump.java.html
    @@ -0,0 +1,107 @@
    +<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="en"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../../jacoco-resources/report.gif" type="image/gif"/><title>ExecDump.java</title><link rel="stylesheet" href="../../jacoco-resources/prettify.css" type="text/css"/><script type="text/javascript" src="../../jacoco-resources/prettify.js"></script></head><body onload="window['PR_TAB_WIDTH']=4;prettyPrint()"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../../index.html" class="el_report">JaCoCo</a> &gt; <a href="../index.html" class="el_bundle">org.jacoco.examples</a> &gt; <a href="index.source.html" class="el_package">org.jacoco.examples</a> &gt; <span class="el_source">ExecDump.java</span></div><h1>ExecDump.java</h1><pre class="source lang-java linenums">/*******************************************************************************
    + * Copyright (c) 2009, 2024 Mountainminds GmbH &amp; Co. KG and Contributors
    + * This program and the accompanying materials are made available under
    + * the terms of the Eclipse Public License 2.0 which is available at
    + * http://www.eclipse.org/legal/epl-2.0
    + *
    + * SPDX-License-Identifier: EPL-2.0
    + *
    + * Contributors:
    + *    Marc R. Hoffmann - initial API and implementation
    + *
    + *******************************************************************************/
    +package org.jacoco.examples;
    +
    +import java.io.FileInputStream;
    +import java.io.IOException;
    +import java.io.PrintStream;
    +import java.util.Date;
    +
    +import org.jacoco.core.data.ExecutionData;
    +import org.jacoco.core.data.ExecutionDataReader;
    +import org.jacoco.core.data.IExecutionDataVisitor;
    +import org.jacoco.core.data.ISessionInfoVisitor;
    +import org.jacoco.core.data.SessionInfo;
    +
    +/**
    + * This example reads execution data files given as program arguments and dumps
    + * their content.
    + */
    +public final class ExecDump {
    +
    +	private final PrintStream out;
    +
    +	/**
    +	 * Creates a new example instance printing to the given stream.
    +	 *
    +	 * @param out
    +	 *            stream for outputs
    +	 */
    +<span class="fc" id="L40">	public ExecDump(final PrintStream out) {</span>
    +<span class="fc" id="L41">		this.out = out;</span>
    +<span class="fc" id="L42">	}</span>
    +
    +	/**
    +	 * Run this example with the given parameters.
    +	 *
    +	 * @param args
    +	 *            command line parameters
    +	 * @throws IOException
    +	 *             in case of error reading a input file
    +	 */
    +	public void execute(final String[] args) throws IOException {
    +<span class="fc bfc" id="L53" title="All 2 branches covered.">		for (final String file : args) {</span>
    +<span class="fc" id="L54">			dump(file);</span>
    +		}
    +<span class="fc" id="L56">	}</span>
    +
    +	private void dump(final String file) throws IOException {
    +<span class="fc" id="L59">		out.printf(&quot;exec file: %s%n&quot;, file);</span>
    +<span class="fc" id="L60">		out.println(&quot;CLASS ID         HITS/PROBES   CLASS NAME&quot;);</span>
    +
    +<span class="fc" id="L62">		final FileInputStream in = new FileInputStream(file);</span>
    +<span class="fc" id="L63">		final ExecutionDataReader reader = new ExecutionDataReader(in);</span>
    +<span class="fc" id="L64">		reader.setSessionInfoVisitor(new ISessionInfoVisitor() {</span>
    +<span class="fc" id="L65">			public void visitSessionInfo(final SessionInfo info) {</span>
    +<span class="fc" id="L66">				out.printf(&quot;Session \&quot;%s\&quot;: %s - %s%n&quot;, info.getId(),</span>
    +						new Date(info.getStartTimeStamp()),
    +						new Date(info.getDumpTimeStamp()));
    +<span class="fc" id="L69">			}</span>
    +		});
    +<span class="fc" id="L71">		reader.setExecutionDataVisitor(new IExecutionDataVisitor() {</span>
    +<span class="fc" id="L72">			public void visitClassExecution(final ExecutionData data) {</span>
    +<span class="fc" id="L73">				out.printf(&quot;%016x  %3d of %3d   %s%n&quot;,</span>
    +						Long.valueOf(data.getId()),
    +						Integer.valueOf(getHitCount(data.getProbes())),
    +						Integer.valueOf(data.getProbes().length),
    +						data.getName());
    +<span class="fc" id="L78">			}</span>
    +		});
    +<span class="fc" id="L80">		reader.read();</span>
    +<span class="fc" id="L81">		in.close();</span>
    +<span class="fc" id="L82">		out.println();</span>
    +<span class="fc" id="L83">	}</span>
    +
    +	private int getHitCount(final boolean[] data) {
    +<span class="fc" id="L86">		int count = 0;</span>
    +<span class="fc bfc" id="L87" title="All 2 branches covered.">		for (final boolean hit : data) {</span>
    +<span class="fc bfc" id="L88" title="All 2 branches covered.">			if (hit) {</span>
    +<span class="fc" id="L89">				count++;</span>
    +			}
    +		}
    +<span class="fc" id="L92">		return count;</span>
    +	}
    +
    +	/**
    +	 * Entry point to run this examples as a Java application.
    +	 *
    +	 * @param args
    +	 *            list of program arguments
    +	 * @throws IOException
    +	 *             in case of errors executing the example
    +	 */
    +	public static void main(final String[] args) throws IOException {
    +<span class="nc" id="L104">		new ExecDump(System.out).execute(args);</span>
    +<span class="nc" id="L105">	}</span>
    +}
    +</pre><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.12.202403270442</span>Code Coverage Report for JaCoCo 0.8.12-SNAPSHOT</div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/trunk/coverage/org.jacoco.examples/org.jacoco.examples/ExecutionDataClient.html b/jacoco/trunk/coverage/org.jacoco.examples/org.jacoco.examples/ExecutionDataClient.html
    new file mode 100644
    index 00000000000..184a07f859c
    --- /dev/null
    +++ b/jacoco/trunk/coverage/org.jacoco.examples/org.jacoco.examples/ExecutionDataClient.html
    @@ -0,0 +1 @@
    +<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="en"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../../jacoco-resources/report.gif" type="image/gif"/><title>ExecutionDataClient</title><script type="text/javascript" src="../../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../../index.html" class="el_report">JaCoCo</a> &gt; <a href="../index.html" class="el_bundle">org.jacoco.examples</a> &gt; <a href="index.html" class="el_package">org.jacoco.examples</a> &gt; <span class="el_class">ExecutionDataClient</span></div><h1>ExecutionDataClient</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">52 of 52</td><td class="ctr2">0%</td><td class="bar">2 of 2</td><td class="ctr2">0%</td><td class="ctr1">2</td><td class="ctr2">2</td><td class="ctr1">13</td><td class="ctr2">13</td><td class="ctr1">1</td><td class="ctr2">1</td></tr></tfoot><tbody><tr><td id="a0"><a href="ExecutionDataClient.java.html#L44" class="el_method">main(String[])</a></td><td class="bar" id="b0"><img src="../../jacoco-resources/redbar.gif" width="120" height="10" title="52" alt="52"/></td><td class="ctr2" id="c0">0%</td><td class="bar" id="d0"><img src="../../jacoco-resources/redbar.gif" width="120" height="10" title="2" alt="2"/></td><td class="ctr2" id="e0">0%</td><td class="ctr1" id="f0">2</td><td class="ctr2" id="g0">2</td><td class="ctr1" id="h0">13</td><td class="ctr2" id="i0">13</td><td class="ctr1" id="j0">1</td><td class="ctr2" id="k0">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.12.202403270442</span>Code Coverage Report for JaCoCo 0.8.12-SNAPSHOT</div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/trunk/coverage/org.jacoco.examples/org.jacoco.examples/ExecutionDataClient.java.html b/jacoco/trunk/coverage/org.jacoco.examples/org.jacoco.examples/ExecutionDataClient.java.html
    new file mode 100644
    index 00000000000..f74e3c1bbb5
    --- /dev/null
    +++ b/jacoco/trunk/coverage/org.jacoco.examples/org.jacoco.examples/ExecutionDataClient.java.html
    @@ -0,0 +1,70 @@
    +<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="en"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../../jacoco-resources/report.gif" type="image/gif"/><title>ExecutionDataClient.java</title><link rel="stylesheet" href="../../jacoco-resources/prettify.css" type="text/css"/><script type="text/javascript" src="../../jacoco-resources/prettify.js"></script></head><body onload="window['PR_TAB_WIDTH']=4;prettyPrint()"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../../index.html" class="el_report">JaCoCo</a> &gt; <a href="../index.html" class="el_bundle">org.jacoco.examples</a> &gt; <a href="index.source.html" class="el_package">org.jacoco.examples</a> &gt; <span class="el_source">ExecutionDataClient.java</span></div><h1>ExecutionDataClient.java</h1><pre class="source lang-java linenums">/*******************************************************************************
    + * Copyright (c) 2009, 2024 Mountainminds GmbH &amp; Co. KG and Contributors
    + * This program and the accompanying materials are made available under
    + * the terms of the Eclipse Public License 2.0 which is available at
    + * http://www.eclipse.org/legal/epl-2.0
    + *
    + * SPDX-License-Identifier: EPL-2.0
    + *
    + * Contributors:
    + *    Marc R. Hoffmann - initial API and implementation
    + *
    + *******************************************************************************/
    +package org.jacoco.examples;
    +
    +import java.io.FileOutputStream;
    +import java.io.IOException;
    +import java.net.InetAddress;
    +import java.net.Socket;
    +
    +import org.jacoco.core.data.ExecutionDataWriter;
    +import org.jacoco.core.runtime.RemoteControlReader;
    +import org.jacoco.core.runtime.RemoteControlWriter;
    +
    +/**
    + * This example connects to a coverage agent that run in output mode
    + * &lt;code&gt;tcpserver&lt;/code&gt; and requests execution data. The collected data is
    + * dumped to a local file.
    + */
    +public final class ExecutionDataClient {
    +
    +	private static final String DESTFILE = &quot;jacoco-client.exec&quot;;
    +
    +	private static final String ADDRESS = &quot;localhost&quot;;
    +
    +	private static final int PORT = 6300;
    +
    +	/**
    +	 * Starts the execution data request.
    +	 *
    +	 * @param args
    +	 * @throws IOException
    +	 */
    +	public static void main(final String[] args) throws IOException {
    +<span class="nc" id="L44">		final FileOutputStream localFile = new FileOutputStream(DESTFILE);</span>
    +<span class="nc" id="L45">		final ExecutionDataWriter localWriter = new ExecutionDataWriter(</span>
    +				localFile);
    +
    +		// Open a socket to the coverage agent:
    +<span class="nc" id="L49">		final Socket socket = new Socket(InetAddress.getByName(ADDRESS), PORT);</span>
    +<span class="nc" id="L50">		final RemoteControlWriter writer = new RemoteControlWriter(</span>
    +				socket.getOutputStream());
    +<span class="nc" id="L52">		final RemoteControlReader reader = new RemoteControlReader(</span>
    +				socket.getInputStream());
    +<span class="nc" id="L54">		reader.setSessionInfoVisitor(localWriter);</span>
    +<span class="nc" id="L55">		reader.setExecutionDataVisitor(localWriter);</span>
    +
    +		// Send a dump command and read the response:
    +<span class="nc" id="L58">		writer.visitDumpCommand(true, false);</span>
    +<span class="nc bnc" id="L59" title="All 2 branches missed.">		if (!reader.read()) {</span>
    +<span class="nc" id="L60">			throw new IOException(&quot;Socket closed unexpectedly.&quot;);</span>
    +		}
    +
    +<span class="nc" id="L63">		socket.close();</span>
    +<span class="nc" id="L64">		localFile.close();</span>
    +<span class="nc" id="L65">	}</span>
    +
    +	private ExecutionDataClient() {
    +	}
    +}
    +</pre><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.12.202403270442</span>Code Coverage Report for JaCoCo 0.8.12-SNAPSHOT</div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/trunk/coverage/org.jacoco.examples/org.jacoco.examples/ExecutionDataServer$Handler.html b/jacoco/trunk/coverage/org.jacoco.examples/org.jacoco.examples/ExecutionDataServer$Handler.html
    new file mode 100644
    index 00000000000..3e1bfbbfc0f
    --- /dev/null
    +++ b/jacoco/trunk/coverage/org.jacoco.examples/org.jacoco.examples/ExecutionDataServer$Handler.html
    @@ -0,0 +1 @@
    +<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="en"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../../jacoco-resources/report.gif" type="image/gif"/><title>ExecutionDataServer.Handler</title><script type="text/javascript" src="../../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../../index.html" class="el_report">JaCoCo</a> &gt; <a href="../index.html" class="el_bundle">org.jacoco.examples</a> &gt; <a href="index.html" class="el_package">org.jacoco.examples</a> &gt; <span class="el_class">ExecutionDataServer.Handler</span></div><h1>ExecutionDataServer.Handler</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">91 of 91</td><td class="ctr2">0%</td><td class="bar">2 of 2</td><td class="ctr2">0%</td><td class="ctr1">5</td><td class="ctr2">5</td><td class="ctr1">26</td><td class="ctr2">26</td><td class="ctr1">4</td><td class="ctr2">4</td></tr></tfoot><tbody><tr><td id="a0"><a href="ExecutionDataServer.java.html#L69" class="el_method">ExecutionDataServer.Handler(Socket, ExecutionDataWriter)</a></td><td class="bar" id="b0"><img src="../../jacoco-resources/redbar.gif" width="120" height="10" title="30" alt="30"/></td><td class="ctr2" id="c0">0%</td><td class="bar" id="d1"/><td class="ctr2" id="e1">n/a</td><td class="ctr1" id="f1">1</td><td class="ctr2" id="g1">1</td><td class="ctr1" id="h1">8</td><td class="ctr2" id="i1">8</td><td class="ctr1" id="j0">1</td><td class="ctr2" id="k0">1</td></tr><tr><td id="a1"><a href="ExecutionDataServer.java.html#L83" class="el_method">run()</a></td><td class="bar" id="b1"><img src="../../jacoco-resources/redbar.gif" width="96" height="10" title="24" alt="24"/></td><td class="ctr2" id="c1">0%</td><td class="bar" id="d0"><img src="../../jacoco-resources/redbar.gif" width="120" height="10" title="2" alt="2"/></td><td class="ctr2" id="e0">0%</td><td class="ctr1" id="f0">2</td><td class="ctr2" id="g0">2</td><td class="ctr1" id="h0">9</td><td class="ctr2" id="i0">9</td><td class="ctr1" id="j1">1</td><td class="ctr2" id="k1">1</td></tr><tr><td id="a3"><a href="ExecutionDataServer.java.html#L95" class="el_method">visitSessionInfo(SessionInfo)</a></td><td class="bar" id="b2"><img src="../../jacoco-resources/redbar.gif" width="96" height="10" title="24" alt="24"/></td><td class="ctr2" id="c2">0%</td><td class="bar" id="d2"/><td class="ctr2" id="e2">n/a</td><td class="ctr1" id="f2">1</td><td class="ctr2" id="g2">1</td><td class="ctr1" id="h2">5</td><td class="ctr2" id="i2">5</td><td class="ctr1" id="j2">1</td><td class="ctr2" id="k2">1</td></tr><tr><td id="a2"><a href="ExecutionDataServer.java.html#L103" class="el_method">visitClassExecution(ExecutionData)</a></td><td class="bar" id="b3"><img src="../../jacoco-resources/redbar.gif" width="52" height="10" title="13" alt="13"/></td><td class="ctr2" id="c3">0%</td><td class="bar" id="d3"/><td class="ctr2" id="e3">n/a</td><td class="ctr1" id="f3">1</td><td class="ctr2" id="g3">1</td><td class="ctr1" id="h3">4</td><td class="ctr2" id="i3">4</td><td class="ctr1" id="j3">1</td><td class="ctr2" id="k3">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.12.202403270442</span>Code Coverage Report for JaCoCo 0.8.12-SNAPSHOT</div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/trunk/coverage/org.jacoco.examples/org.jacoco.examples/ExecutionDataServer.html b/jacoco/trunk/coverage/org.jacoco.examples/org.jacoco.examples/ExecutionDataServer.html
    new file mode 100644
    index 00000000000..6a8322138b3
    --- /dev/null
    +++ b/jacoco/trunk/coverage/org.jacoco.examples/org.jacoco.examples/ExecutionDataServer.html
    @@ -0,0 +1 @@
    +<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="en"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../../jacoco-resources/report.gif" type="image/gif"/><title>ExecutionDataServer</title><script type="text/javascript" src="../../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../../index.html" class="el_report">JaCoCo</a> &gt; <a href="../index.html" class="el_bundle">org.jacoco.examples</a> &gt; <a href="index.html" class="el_package">org.jacoco.examples</a> &gt; <span class="el_class">ExecutionDataServer</span></div><h1>ExecutionDataServer</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">29 of 29</td><td class="ctr2">0%</td><td class="bar">0 of 0</td><td class="ctr2">n/a</td><td class="ctr1">1</td><td class="ctr2">1</td><td class="ctr1">5</td><td class="ctr2">5</td><td class="ctr1">1</td><td class="ctr2">1</td></tr></tfoot><tbody><tr><td id="a0"><a href="ExecutionDataServer.java.html#L49" class="el_method">main(String[])</a></td><td class="bar" id="b0"><img src="../../jacoco-resources/redbar.gif" width="120" height="10" title="29" alt="29"/></td><td class="ctr2" id="c0">0%</td><td class="bar" id="d0"/><td class="ctr2" id="e0">n/a</td><td class="ctr1" id="f0">1</td><td class="ctr2" id="g0">1</td><td class="ctr1" id="h0">5</td><td class="ctr2" id="i0">5</td><td class="ctr1" id="j0">1</td><td class="ctr2" id="k0">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.12.202403270442</span>Code Coverage Report for JaCoCo 0.8.12-SNAPSHOT</div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/trunk/coverage/org.jacoco.examples/org.jacoco.examples/ExecutionDataServer.java.html b/jacoco/trunk/coverage/org.jacoco.examples/org.jacoco.examples/ExecutionDataServer.java.html
    new file mode 100644
    index 00000000000..018ce0a904a
    --- /dev/null
    +++ b/jacoco/trunk/coverage/org.jacoco.examples/org.jacoco.examples/ExecutionDataServer.java.html
    @@ -0,0 +1,112 @@
    +<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="en"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../../jacoco-resources/report.gif" type="image/gif"/><title>ExecutionDataServer.java</title><link rel="stylesheet" href="../../jacoco-resources/prettify.css" type="text/css"/><script type="text/javascript" src="../../jacoco-resources/prettify.js"></script></head><body onload="window['PR_TAB_WIDTH']=4;prettyPrint()"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../../index.html" class="el_report">JaCoCo</a> &gt; <a href="../index.html" class="el_bundle">org.jacoco.examples</a> &gt; <a href="index.source.html" class="el_package">org.jacoco.examples</a> &gt; <span class="el_source">ExecutionDataServer.java</span></div><h1>ExecutionDataServer.java</h1><pre class="source lang-java linenums">/*******************************************************************************
    + * Copyright (c) 2009, 2024 Mountainminds GmbH &amp; Co. KG and Contributors
    + * This program and the accompanying materials are made available under
    + * the terms of the Eclipse Public License 2.0 which is available at
    + * http://www.eclipse.org/legal/epl-2.0
    + *
    + * SPDX-License-Identifier: EPL-2.0
    + *
    + * Contributors:
    + *    Marc R. Hoffmann - initial API and implementation
    + *
    + *******************************************************************************/
    +package org.jacoco.examples;
    +
    +import java.io.FileOutputStream;
    +import java.io.IOException;
    +import java.net.InetAddress;
    +import java.net.ServerSocket;
    +import java.net.Socket;
    +
    +import org.jacoco.core.data.ExecutionData;
    +import org.jacoco.core.data.ExecutionDataWriter;
    +import org.jacoco.core.data.IExecutionDataVisitor;
    +import org.jacoco.core.data.ISessionInfoVisitor;
    +import org.jacoco.core.data.SessionInfo;
    +import org.jacoco.core.runtime.RemoteControlReader;
    +import org.jacoco.core.runtime.RemoteControlWriter;
    +
    +/**
    + * This example starts a socket server to collect coverage from agents that run
    + * in output mode &lt;code&gt;tcpclient&lt;/code&gt;. The collected data is dumped to a
    + * local file.
    + */
    +public final class ExecutionDataServer {
    +
    +	private static final String DESTFILE = &quot;jacoco-server.exec&quot;;
    +
    +	private static final String ADDRESS = &quot;localhost&quot;;
    +
    +	private static final int PORT = 6300;
    +
    +	/**
    +	 * Start the server as a standalone program.
    +	 *
    +	 * @param args
    +	 * @throws IOException
    +	 */
    +	public static void main(final String[] args) throws IOException {
    +<span class="nc" id="L49">		final ExecutionDataWriter fileWriter = new ExecutionDataWriter(</span>
    +				new FileOutputStream(DESTFILE));
    +<span class="nc" id="L51">		final ServerSocket server = new ServerSocket(PORT, 0,</span>
    +				InetAddress.getByName(ADDRESS));
    +		while (true) {
    +<span class="nc" id="L54">			final Handler handler = new Handler(server.accept(), fileWriter);</span>
    +<span class="nc" id="L55">			new Thread(handler).start();</span>
    +<span class="nc" id="L56">		}</span>
    +	}
    +
    +	private static class Handler
    +			implements Runnable, ISessionInfoVisitor, IExecutionDataVisitor {
    +
    +		private final Socket socket;
    +
    +		private final RemoteControlReader reader;
    +
    +		private final ExecutionDataWriter fileWriter;
    +
    +		Handler(final Socket socket, final ExecutionDataWriter fileWriter)
    +<span class="nc" id="L69">				throws IOException {</span>
    +<span class="nc" id="L70">			this.socket = socket;</span>
    +<span class="nc" id="L71">			this.fileWriter = fileWriter;</span>
    +
    +			// Just send a valid header:
    +<span class="nc" id="L74">			new RemoteControlWriter(socket.getOutputStream());</span>
    +
    +<span class="nc" id="L76">			reader = new RemoteControlReader(socket.getInputStream());</span>
    +<span class="nc" id="L77">			reader.setSessionInfoVisitor(this);</span>
    +<span class="nc" id="L78">			reader.setExecutionDataVisitor(this);</span>
    +<span class="nc" id="L79">		}</span>
    +
    +		public void run() {
    +			try {
    +<span class="nc bnc" id="L83" title="All 2 branches missed.">				while (reader.read()) {</span>
    +				}
    +<span class="nc" id="L85">				socket.close();</span>
    +<span class="nc" id="L86">				synchronized (fileWriter) {</span>
    +<span class="nc" id="L87">					fileWriter.flush();</span>
    +<span class="nc" id="L88">				}</span>
    +<span class="nc" id="L89">			} catch (final IOException e) {</span>
    +<span class="nc" id="L90">				e.printStackTrace();</span>
    +<span class="nc" id="L91">			}</span>
    +<span class="nc" id="L92">		}</span>
    +
    +		public void visitSessionInfo(final SessionInfo info) {
    +<span class="nc" id="L95">			System.out.printf(&quot;Retrieving execution Data for session: %s%n&quot;,</span>
    +					info.getId());
    +<span class="nc" id="L97">			synchronized (fileWriter) {</span>
    +<span class="nc" id="L98">				fileWriter.visitSessionInfo(info);</span>
    +<span class="nc" id="L99">			}</span>
    +<span class="nc" id="L100">		}</span>
    +
    +		public void visitClassExecution(final ExecutionData data) {
    +<span class="nc" id="L103">			synchronized (fileWriter) {</span>
    +<span class="nc" id="L104">				fileWriter.visitClassExecution(data);</span>
    +<span class="nc" id="L105">			}</span>
    +<span class="nc" id="L106">		}</span>
    +	}
    +
    +	private ExecutionDataServer() {
    +	}
    +}
    +</pre><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.12.202403270442</span>Code Coverage Report for JaCoCo 0.8.12-SNAPSHOT</div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/trunk/coverage/org.jacoco.examples/org.jacoco.examples/MBeanClient.html b/jacoco/trunk/coverage/org.jacoco.examples/org.jacoco.examples/MBeanClient.html
    new file mode 100644
    index 00000000000..393496566a7
    --- /dev/null
    +++ b/jacoco/trunk/coverage/org.jacoco.examples/org.jacoco.examples/MBeanClient.html
    @@ -0,0 +1 @@
    +<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="en"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../../jacoco-resources/report.gif" type="image/gif"/><title>MBeanClient</title><script type="text/javascript" src="../../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../../index.html" class="el_report">JaCoCo</a> &gt; <a href="../index.html" class="el_bundle">org.jacoco.examples</a> &gt; <a href="index.html" class="el_package">org.jacoco.examples</a> &gt; <span class="el_class">MBeanClient</span></div><h1>MBeanClient</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">61 of 61</td><td class="ctr2">0%</td><td class="bar">0 of 0</td><td class="ctr2">n/a</td><td class="ctr1">1</td><td class="ctr2">1</td><td class="ctr1">12</td><td class="ctr2">12</td><td class="ctr1">1</td><td class="ctr2">1</td></tr></tfoot><tbody><tr><td id="a0"><a href="MBeanClient.java.html#L43" class="el_method">main(String[])</a></td><td class="bar" id="b0"><img src="../../jacoco-resources/redbar.gif" width="120" height="10" title="61" alt="61"/></td><td class="ctr2" id="c0">0%</td><td class="bar" id="d0"/><td class="ctr2" id="e0">n/a</td><td class="ctr1" id="f0">1</td><td class="ctr2" id="g0">1</td><td class="ctr1" id="h0">12</td><td class="ctr2" id="i0">12</td><td class="ctr1" id="j0">1</td><td class="ctr2" id="k0">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.12.202403270442</span>Code Coverage Report for JaCoCo 0.8.12-SNAPSHOT</div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/trunk/coverage/org.jacoco.examples/org.jacoco.examples/MBeanClient.java.html b/jacoco/trunk/coverage/org.jacoco.examples/org.jacoco.examples/MBeanClient.java.html
    new file mode 100644
    index 00000000000..8854ad8b1b4
    --- /dev/null
    +++ b/jacoco/trunk/coverage/org.jacoco.examples/org.jacoco.examples/MBeanClient.java.html
    @@ -0,0 +1,84 @@
    +<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="en"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../../jacoco-resources/report.gif" type="image/gif"/><title>MBeanClient.java</title><link rel="stylesheet" href="../../jacoco-resources/prettify.css" type="text/css"/><script type="text/javascript" src="../../jacoco-resources/prettify.js"></script></head><body onload="window['PR_TAB_WIDTH']=4;prettyPrint()"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../../index.html" class="el_report">JaCoCo</a> &gt; <a href="../index.html" class="el_bundle">org.jacoco.examples</a> &gt; <a href="index.source.html" class="el_package">org.jacoco.examples</a> &gt; <span class="el_source">MBeanClient.java</span></div><h1>MBeanClient.java</h1><pre class="source lang-java linenums">/*******************************************************************************
    + * Copyright (c) 2009, 2024 Mountainminds GmbH &amp; Co. KG and Contributors
    + * This program and the accompanying materials are made available under
    + * the terms of the Eclipse Public License 2.0 which is available at
    + * http://www.eclipse.org/legal/epl-2.0
    + *
    + * SPDX-License-Identifier: EPL-2.0
    + *
    + * Contributors:
    + *    Evgeny Mandrikov - initial API and implementation
    + *
    + *******************************************************************************/
    +package org.jacoco.examples;
    +
    +import java.io.FileOutputStream;
    +
    +import javax.management.MBeanServerConnection;
    +import javax.management.MBeanServerInvocationHandler;
    +import javax.management.ObjectName;
    +import javax.management.remote.JMXConnector;
    +import javax.management.remote.JMXConnectorFactory;
    +import javax.management.remote.JMXServiceURL;
    +
    +/**
    + * This example connects to a JaCoCo agent that runs with the option
    + * &lt;code&gt;jmx=yes&lt;/code&gt; and requests execution data. The collected data is
    + * dumped to a local file.
    + */
    +public final class MBeanClient {
    +
    +	private static final String DESTFILE = &quot;jacoco-client.exec&quot;;
    +
    +	private static final String SERVICE_URL = &quot;service:jmx:rmi:///jndi/rmi://localhost:9999/jmxrmi&quot;;
    +
    +	/**
    +	 * Execute the example.
    +	 *
    +	 * @param args
    +	 * @throws Exception
    +	 */
    +	public static void main(final String[] args) throws Exception {
    +		// Open connection to the coverage agent:
    +<span class="nc" id="L43">		final JMXServiceURL url = new JMXServiceURL(SERVICE_URL);</span>
    +<span class="nc" id="L44">		final JMXConnector jmxc = JMXConnectorFactory.connect(url, null);</span>
    +<span class="nc" id="L45">		final MBeanServerConnection connection = jmxc</span>
    +				.getMBeanServerConnection();
    +
    +<span class="nc" id="L48">		final IProxy proxy = (IProxy) MBeanServerInvocationHandler</span>
    +				.newProxyInstance(connection,
    +						new ObjectName(&quot;org.jacoco:type=Runtime&quot;), IProxy.class,
    +						false);
    +
    +		// Retrieve JaCoCo version and session id:
    +<span class="nc" id="L54">		System.out.println(&quot;Version: &quot; + proxy.getVersion());</span>
    +<span class="nc" id="L55">		System.out.println(&quot;Session: &quot; + proxy.getSessionId());</span>
    +
    +		// Retrieve dump and write to file:
    +<span class="nc" id="L58">		final byte[] data = proxy.getExecutionData(false);</span>
    +<span class="nc" id="L59">		final FileOutputStream localFile = new FileOutputStream(DESTFILE);</span>
    +<span class="nc" id="L60">		localFile.write(data);</span>
    +<span class="nc" id="L61">		localFile.close();</span>
    +
    +		// Close connection:
    +<span class="nc" id="L64">		jmxc.close();</span>
    +<span class="nc" id="L65">	}</span>
    +
    +	interface IProxy {
    +		String getVersion();
    +
    +		String getSessionId();
    +
    +		void setSessionId(String id);
    +
    +		byte[] getExecutionData(boolean reset);
    +
    +		void dump(boolean reset);
    +
    +		void reset();
    +	}
    +
    +	private MBeanClient() {
    +	}
    +}
    +</pre><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.12.202403270442</span>Code Coverage Report for JaCoCo 0.8.12-SNAPSHOT</div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/trunk/coverage/org.jacoco.examples/org.jacoco.examples/ReportGenerator.html b/jacoco/trunk/coverage/org.jacoco.examples/org.jacoco.examples/ReportGenerator.html
    new file mode 100644
    index 00000000000..371e089be71
    --- /dev/null
    +++ b/jacoco/trunk/coverage/org.jacoco.examples/org.jacoco.examples/ReportGenerator.html
    @@ -0,0 +1 @@
    +<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="en"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../../jacoco-resources/report.gif" type="image/gif"/><title>ReportGenerator</title><script type="text/javascript" src="../../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../../index.html" class="el_report">JaCoCo</a> &gt; <a href="../index.html" class="el_bundle">org.jacoco.examples</a> &gt; <a href="index.html" class="el_package">org.jacoco.examples</a> &gt; <span class="el_class">ReportGenerator</span></div><h1>ReportGenerator</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">133 of 133</td><td class="ctr2">0%</td><td class="bar">2 of 2</td><td class="ctr2">0%</td><td class="ctr1">7</td><td class="ctr2">7</td><td class="ctr1">28</td><td class="ctr2">28</td><td class="ctr1">6</td><td class="ctr2">6</td></tr></tfoot><tbody><tr><td id="a5"><a href="ReportGenerator.java.html#L51" class="el_method">ReportGenerator(File)</a></td><td class="bar" id="b0"><img src="../../jacoco-resources/redbar.gif" width="120" height="10" title="35" alt="35"/></td><td class="ctr2" id="c0">0%</td><td class="bar" id="d1"/><td class="ctr2" id="e1">n/a</td><td class="ctr1" id="f1">1</td><td class="ctr2" id="g1">1</td><td class="ctr1" id="h0">7</td><td class="ctr2" id="i0">7</td><td class="ctr1" id="j0">1</td><td class="ctr2" id="k0">1</td></tr><tr><td id="a2"><a href="ReportGenerator.java.html#L87" class="el_method">createReport(IBundleCoverage)</a></td><td class="bar" id="b1"><img src="../../jacoco-resources/redbar.gif" width="120" height="10" title="35" alt="35"/></td><td class="ctr2" id="c1">0%</td><td class="bar" id="d2"/><td class="ctr2" id="e2">n/a</td><td class="ctr1" id="f2">1</td><td class="ctr2" id="g2">1</td><td class="ctr1" id="h1">6</td><td class="ctr2" id="i1">6</td><td class="ctr1" id="j1">1</td><td class="ctr2" id="k1">1</td></tr><tr><td id="a0"><a href="ReportGenerator.java.html#L114" class="el_method">analyzeStructure()</a></td><td class="bar" id="b2"><img src="../../jacoco-resources/redbar.gif" width="75" height="10" title="22" alt="22"/></td><td class="ctr2" id="c2">0%</td><td class="bar" id="d3"/><td class="ctr2" id="e3">n/a</td><td class="ctr1" id="f3">1</td><td class="ctr2" id="g3">1</td><td class="ctr1" id="h2">4</td><td class="ctr2" id="i2">4</td><td class="ctr1" id="j2">1</td><td class="ctr2" id="k2">1</td></tr><tr><td id="a4"><a href="ReportGenerator.java.html#L132" class="el_method">main(String[])</a></td><td class="bar" id="b3"><img src="../../jacoco-resources/redbar.gif" width="72" height="10" title="21" alt="21"/></td><td class="ctr2" id="c3">0%</td><td class="bar" id="d0"><img src="../../jacoco-resources/redbar.gif" width="120" height="10" title="2" alt="2"/></td><td class="ctr2" id="e0">0%</td><td class="ctr1" id="f0">2</td><td class="ctr2" id="g0">2</td><td class="ctr1" id="h3">4</td><td class="ctr2" id="i3">4</td><td class="ctr1" id="j3">1</td><td class="ctr2" id="k3">1</td></tr><tr><td id="a3"><a href="ReportGenerator.java.html#L109" class="el_method">loadExecutionData()</a></td><td class="bar" id="b4"><img src="../../jacoco-resources/redbar.gif" width="37" height="10" title="11" alt="11"/></td><td class="ctr2" id="c4">0%</td><td class="bar" id="d4"/><td class="ctr2" id="e4">n/a</td><td class="ctr1" id="f4">1</td><td class="ctr2" id="g4">1</td><td class="ctr1" id="h5">3</td><td class="ctr2" id="i5">3</td><td class="ctr1" id="j4">1</td><td class="ctr2" id="k4">1</td></tr><tr><td id="a1"><a href="ReportGenerator.java.html#L68" class="el_method">create()</a></td><td class="bar" id="b5"><img src="../../jacoco-resources/redbar.gif" width="30" height="10" title="9" alt="9"/></td><td class="ctr2" id="c5">0%</td><td class="bar" id="d5"/><td class="ctr2" id="e5">n/a</td><td class="ctr1" id="f5">1</td><td class="ctr2" id="g5">1</td><td class="ctr1" id="h4">4</td><td class="ctr2" id="i4">4</td><td class="ctr1" id="j5">1</td><td class="ctr2" id="k5">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.12.202403270442</span>Code Coverage Report for JaCoCo 0.8.12-SNAPSHOT</div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/trunk/coverage/org.jacoco.examples/org.jacoco.examples/ReportGenerator.java.html b/jacoco/trunk/coverage/org.jacoco.examples/org.jacoco.examples/ReportGenerator.java.html
    new file mode 100644
    index 00000000000..b9f4b489ab1
    --- /dev/null
    +++ b/jacoco/trunk/coverage/org.jacoco.examples/org.jacoco.examples/ReportGenerator.java.html
    @@ -0,0 +1,140 @@
    +<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="en"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../../jacoco-resources/report.gif" type="image/gif"/><title>ReportGenerator.java</title><link rel="stylesheet" href="../../jacoco-resources/prettify.css" type="text/css"/><script type="text/javascript" src="../../jacoco-resources/prettify.js"></script></head><body onload="window['PR_TAB_WIDTH']=4;prettyPrint()"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../../index.html" class="el_report">JaCoCo</a> &gt; <a href="../index.html" class="el_bundle">org.jacoco.examples</a> &gt; <a href="index.source.html" class="el_package">org.jacoco.examples</a> &gt; <span class="el_source">ReportGenerator.java</span></div><h1>ReportGenerator.java</h1><pre class="source lang-java linenums">/*******************************************************************************
    + * Copyright (c) 2009, 2024 Mountainminds GmbH &amp; Co. KG and Contributors
    + * This program and the accompanying materials are made available under
    + * the terms of the Eclipse Public License 2.0 which is available at
    + * http://www.eclipse.org/legal/epl-2.0
    + *
    + * SPDX-License-Identifier: EPL-2.0
    + *
    + * Contributors:
    + *    Brock Janiczak - initial API and implementation
    + *
    + *******************************************************************************/
    +package org.jacoco.examples;
    +
    +import java.io.File;
    +import java.io.IOException;
    +
    +import org.jacoco.core.analysis.Analyzer;
    +import org.jacoco.core.analysis.CoverageBuilder;
    +import org.jacoco.core.analysis.IBundleCoverage;
    +import org.jacoco.core.tools.ExecFileLoader;
    +import org.jacoco.report.DirectorySourceFileLocator;
    +import org.jacoco.report.FileMultiReportOutput;
    +import org.jacoco.report.IReportVisitor;
    +import org.jacoco.report.html.HTMLFormatter;
    +
    +/**
    + * This example creates a HTML report for eclipse like projects based on a
    + * single execution data store called jacoco.exec. The report contains no
    + * grouping information.
    + *
    + * The class files under test must be compiled with debug information, otherwise
    + * source highlighting will not work.
    + */
    +public class ReportGenerator {
    +
    +	private final String title;
    +
    +	private final File executionDataFile;
    +	private final File classesDirectory;
    +	private final File sourceDirectory;
    +	private final File reportDirectory;
    +
    +	private ExecFileLoader execFileLoader;
    +
    +	/**
    +	 * Create a new generator based for the given project.
    +	 *
    +	 * @param projectDirectory
    +	 */
    +<span class="nc" id="L51">	public ReportGenerator(final File projectDirectory) {</span>
    +<span class="nc" id="L52">		this.title = projectDirectory.getName();</span>
    +<span class="nc" id="L53">		this.executionDataFile = new File(projectDirectory, &quot;jacoco.exec&quot;);</span>
    +<span class="nc" id="L54">		this.classesDirectory = new File(projectDirectory, &quot;bin&quot;);</span>
    +<span class="nc" id="L55">		this.sourceDirectory = new File(projectDirectory, &quot;src&quot;);</span>
    +<span class="nc" id="L56">		this.reportDirectory = new File(projectDirectory, &quot;coveragereport&quot;);</span>
    +<span class="nc" id="L57">	}</span>
    +
    +	/**
    +	 * Create the report.
    +	 *
    +	 * @throws IOException
    +	 */
    +	public void create() throws IOException {
    +
    +		// Read the jacoco.exec file. Multiple data files could be merged
    +		// at this point
    +<span class="nc" id="L68">		loadExecutionData();</span>
    +
    +		// Run the structure analyzer on a single class folder to build up
    +		// the coverage model. The process would be similar if your classes
    +		// were in a jar file. Typically you would create a bundle for each
    +		// class folder and each jar you want in your report. If you have
    +		// more than one bundle you will need to add a grouping node to your
    +		// report
    +<span class="nc" id="L76">		final IBundleCoverage bundleCoverage = analyzeStructure();</span>
    +
    +<span class="nc" id="L78">		createReport(bundleCoverage);</span>
    +
    +<span class="nc" id="L80">	}</span>
    +
    +	private void createReport(final IBundleCoverage bundleCoverage)
    +			throws IOException {
    +
    +		// Create a concrete report visitor based on some supplied
    +		// configuration. In this case we use the defaults
    +<span class="nc" id="L87">		final HTMLFormatter htmlFormatter = new HTMLFormatter();</span>
    +<span class="nc" id="L88">		final IReportVisitor visitor = htmlFormatter</span>
    +				.createVisitor(new FileMultiReportOutput(reportDirectory));
    +
    +		// Initialize the report with all of the execution and session
    +		// information. At this point the report doesn't know about the
    +		// structure of the report being created
    +<span class="nc" id="L94">		visitor.visitInfo(execFileLoader.getSessionInfoStore().getInfos(),</span>
    +				execFileLoader.getExecutionDataStore().getContents());
    +
    +		// Populate the report structure with the bundle coverage information.
    +		// Call visitGroup if you need groups in your report.
    +<span class="nc" id="L99">		visitor.visitBundle(bundleCoverage,</span>
    +				new DirectorySourceFileLocator(sourceDirectory, &quot;utf-8&quot;, 4));
    +
    +		// Signal end of structure information to allow report to write all
    +		// information out
    +<span class="nc" id="L104">		visitor.visitEnd();</span>
    +
    +<span class="nc" id="L106">	}</span>
    +
    +	private void loadExecutionData() throws IOException {
    +<span class="nc" id="L109">		execFileLoader = new ExecFileLoader();</span>
    +<span class="nc" id="L110">		execFileLoader.load(executionDataFile);</span>
    +<span class="nc" id="L111">	}</span>
    +
    +	private IBundleCoverage analyzeStructure() throws IOException {
    +<span class="nc" id="L114">		final CoverageBuilder coverageBuilder = new CoverageBuilder();</span>
    +<span class="nc" id="L115">		final Analyzer analyzer = new Analyzer(</span>
    +				execFileLoader.getExecutionDataStore(), coverageBuilder);
    +
    +<span class="nc" id="L118">		analyzer.analyzeAll(classesDirectory);</span>
    +
    +<span class="nc" id="L120">		return coverageBuilder.getBundle(title);</span>
    +	}
    +
    +	/**
    +	 * Starts the report generation process
    +	 *
    +	 * @param args
    +	 *            Arguments to the application. This will be the location of the
    +	 *            eclipse projects that will be used to generate reports for
    +	 * @throws IOException
    +	 */
    +	public static void main(final String[] args) throws IOException {
    +<span class="nc bnc" id="L132" title="All 2 branches missed.">		for (int i = 0; i &lt; args.length; i++) {</span>
    +<span class="nc" id="L133">			final ReportGenerator generator = new ReportGenerator(</span>
    +					new File(args[i]));
    +<span class="nc" id="L135">			generator.create();</span>
    +		}
    +<span class="nc" id="L137">	}</span>
    +
    +}
    +</pre><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.12.202403270442</span>Code Coverage Report for JaCoCo 0.8.12-SNAPSHOT</div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/trunk/coverage/org.jacoco.examples/org.jacoco.examples/index.html b/jacoco/trunk/coverage/org.jacoco.examples/org.jacoco.examples/index.html
    new file mode 100644
    index 00000000000..77e43b9ff32
    --- /dev/null
    +++ b/jacoco/trunk/coverage/org.jacoco.examples/org.jacoco.examples/index.html
    @@ -0,0 +1 @@
    +<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="en"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../../jacoco-resources/report.gif" type="image/gif"/><title>org.jacoco.examples</title><script type="text/javascript" src="../../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb', 'coveragetable'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="index.source.html" class="el_source">Source Files</a><a href="../../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../../index.html" class="el_report">JaCoCo</a> &gt; <a href="../index.html" class="el_bundle">org.jacoco.examples</a> &gt; <span class="el_package">org.jacoco.examples</span></div><h1>org.jacoco.examples</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td><td class="sortable ctr1" id="l" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="m" onclick="toggleSort(this)">Classes</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">411 of 982</td><td class="ctr2">58%</td><td class="bar">10 of 28</td><td class="ctr2">64%</td><td class="ctr1">24</td><td class="ctr2">53</td><td class="ctr1">97</td><td class="ctr2">193</td><td class="ctr1">19</td><td class="ctr2">38</td><td class="ctr1">6</td><td class="ctr2">12</td></tr></tfoot><tbody><tr><td id="a11"><a href="ReportGenerator.html" class="el_class">ReportGenerator</a></td><td class="bar" id="b0"><img src="../../jacoco-resources/redbar.gif" width="68" height="10" title="133" alt="133"/></td><td class="ctr2" id="c6">0%</td><td class="bar" id="d1"><img src="../../jacoco-resources/redbar.gif" width="30" height="10" title="2" alt="2"/></td><td class="ctr2" id="e4">0%</td><td class="ctr1" id="f0">7</td><td class="ctr2" id="g2">7</td><td class="ctr1" id="h0">28</td><td class="ctr2" id="i1">28</td><td class="ctr1" id="j0">6</td><td class="ctr2" id="k0">6</td><td class="ctr1" id="l0">1</td><td class="ctr2" id="m0">1</td></tr><tr><td id="a9"><a href="ExecutionDataServer$Handler.html" class="el_class">ExecutionDataServer.Handler</a></td><td class="bar" id="b1"><img src="../../jacoco-resources/redbar.gif" width="47" height="10" title="91" alt="91"/></td><td class="ctr2" id="c7">0%</td><td class="bar" id="d2"><img src="../../jacoco-resources/redbar.gif" width="30" height="10" title="2" alt="2"/></td><td class="ctr2" id="e5">0%</td><td class="ctr1" id="f1">5</td><td class="ctr2" id="g3">5</td><td class="ctr1" id="h1">26</td><td class="ctr2" id="i2">26</td><td class="ctr1" id="j1">4</td><td class="ctr2" id="k3">4</td><td class="ctr1" id="l1">1</td><td class="ctr2" id="m1">1</td></tr><tr><td id="a10"><a href="MBeanClient.html" class="el_class">MBeanClient</a></td><td class="bar" id="b2"><img src="../../jacoco-resources/redbar.gif" width="31" height="10" title="61" alt="61"/></td><td class="ctr2" id="c8">0%</td><td class="bar" id="d8"/><td class="ctr2" id="e8">n/a</td><td class="ctr1" id="f4">1</td><td class="ctr2" id="g10">1</td><td class="ctr1" id="h3">12</td><td class="ctr2" id="i6">12</td><td class="ctr1" id="j3">1</td><td class="ctr2" id="k9">1</td><td class="ctr1" id="l2">1</td><td class="ctr2" id="m2">1</td></tr><tr><td id="a7"><a href="ExecutionDataClient.html" class="el_class">ExecutionDataClient</a></td><td class="bar" id="b3"><img src="../../jacoco-resources/redbar.gif" width="26" height="10" title="52" alt="52"/></td><td class="ctr2" id="c9">0%</td><td class="bar" id="d3"><img src="../../jacoco-resources/redbar.gif" width="30" height="10" title="2" alt="2"/></td><td class="ctr2" id="e6">0%</td><td class="ctr1" id="f3">2</td><td class="ctr2" id="g7">2</td><td class="ctr1" id="h2">13</td><td class="ctr2" id="i5">13</td><td class="ctr1" id="j4">1</td><td class="ctr2" id="k10">1</td><td class="ctr1" id="l3">1</td><td class="ctr2" id="m3">1</td></tr><tr><td id="a8"><a href="ExecutionDataServer.html" class="el_class">ExecutionDataServer</a></td><td class="bar" id="b4"><img src="../../jacoco-resources/redbar.gif" width="15" height="10" title="29" alt="29"/></td><td class="ctr2" id="c10">0%</td><td class="bar" id="d9"/><td class="ctr2" id="e9">n/a</td><td class="ctr1" id="f5">1</td><td class="ctr2" id="g11">1</td><td class="ctr1" id="h5">5</td><td class="ctr2" id="i9">5</td><td class="ctr1" id="j5">1</td><td class="ctr2" id="k11">1</td><td class="ctr1" id="l4">1</td><td class="ctr2" id="m4">1</td></tr><tr><td id="a3"><a href="CoreTutorial$TestTarget.html" class="el_class">CoreTutorial.TestTarget</a></td><td class="bar" id="b5"><img src="../../jacoco-resources/redbar.gif" width="12" height="10" title="25" alt="25"/></td><td class="ctr2" id="c11">0%</td><td class="bar" id="d0"><img src="../../jacoco-resources/redbar.gif" width="60" height="10" title="4" alt="4"/></td><td class="ctr2" id="e7">0%</td><td class="ctr1" id="f2">5</td><td class="ctr2" id="g4">5</td><td class="ctr1" id="h4">7</td><td class="ctr2" id="i8">7</td><td class="ctr1" id="j2">3</td><td class="ctr2" id="k5">3</td><td class="ctr1" id="l5">1</td><td class="ctr2" id="m5">1</td></tr><tr><td id="a0"><a href="ClassInfo.html" class="el_class">ClassInfo</a></td><td class="bar" id="b6"><img src="../../jacoco-resources/redbar.gif" width="3" height="10" title="7" alt="7"/><img src="../../jacoco-resources/greenbar.gif" width="70" height="10" title="136" alt="136"/></td><td class="ctr2" id="c4">95%</td><td class="bar" id="d6"><img src="../../jacoco-resources/greenbar.gif" width="30" height="10" title="2" alt="2"/></td><td class="ctr2" id="e0">100%</td><td class="ctr1" id="f6">1</td><td class="ctr2" id="g5">5</td><td class="ctr1" id="h6">2</td><td class="ctr2" id="i4">17</td><td class="ctr1" id="j6">1</td><td class="ctr2" id="k4">4</td><td class="ctr1" id="l6">0</td><td class="ctr2" id="m6">1</td></tr><tr><td id="a4"><a href="ExecDump.html" class="el_class">ExecDump</a></td><td class="bar" id="b7"><img src="../../jacoco-resources/redbar.gif" width="3" height="10" title="7" alt="7"/><img src="../../jacoco-resources/greenbar.gif" width="49" height="10" title="95" alt="95"/></td><td class="ctr2" id="c5">93%</td><td class="bar" id="d5"><img src="../../jacoco-resources/greenbar.gif" width="90" height="10" title="6" alt="6"/></td><td class="ctr2" id="e1">100%</td><td class="ctr1" id="f7">1</td><td class="ctr2" id="g1">8</td><td class="ctr1" id="h7">2</td><td class="ctr2" id="i3">23</td><td class="ctr1" id="j7">1</td><td class="ctr2" id="k2">5</td><td class="ctr1" id="l7">0</td><td class="ctr2" id="m7">1</td></tr><tr><td id="a1"><a href="CoreTutorial.html" class="el_class">CoreTutorial</a></td><td class="bar" id="b8"><img src="../../jacoco-resources/redbar.gif" width="3" height="10" title="6" alt="6"/><img src="../../jacoco-resources/greenbar.gif" width="116" height="10" title="226" alt="226"/></td><td class="ctr2" id="c3">97%</td><td class="bar" id="d4"><img src="../../jacoco-resources/greenbar.gif" width="120" height="10" title="8" alt="8"/></td><td class="ctr2" id="e2">100%</td><td class="ctr1" id="f8">1</td><td class="ctr2" id="g0">11</td><td class="ctr1" id="h8">2</td><td class="ctr2" id="i0">48</td><td class="ctr1" id="j8">1</td><td class="ctr2" id="k1">6</td><td class="ctr1" id="l8">0</td><td class="ctr2" id="m8">1</td></tr><tr><td id="a5"><a href="ExecDump$2.html" class="el_class">ExecDump.new IExecutionDataVisitor() {...}</a></td><td class="bar" id="b9"><img src="../../jacoco-resources/greenbar.gif" width="21" height="10" title="42" alt="42"/></td><td class="ctr2" id="c0">100%</td><td class="bar" id="d10"/><td class="ctr2" id="e10">n/a</td><td class="ctr1" id="f9">0</td><td class="ctr2" id="g8">2</td><td class="ctr1" id="h9">0</td><td class="ctr2" id="i10">3</td><td class="ctr1" id="j9">0</td><td class="ctr2" id="k7">2</td><td class="ctr1" id="l9">0</td><td class="ctr2" id="m9">1</td></tr><tr><td id="a2"><a href="CoreTutorial$MemoryClassLoader.html" class="el_class">CoreTutorial.MemoryClassLoader</a></td><td class="bar" id="b10"><img src="../../jacoco-resources/greenbar.gif" width="18" height="10" title="36" alt="36"/></td><td class="ctr2" id="c1">100%</td><td class="bar" id="d7"><img src="../../jacoco-resources/greenbar.gif" width="30" height="10" title="2" alt="2"/></td><td class="ctr2" id="e3">100%</td><td class="ctr1" id="f10">0</td><td class="ctr2" id="g6">4</td><td class="ctr1" id="h10">0</td><td class="ctr2" id="i7">8</td><td class="ctr1" id="j10">0</td><td class="ctr2" id="k6">3</td><td class="ctr1" id="l10">0</td><td class="ctr2" id="m10">1</td></tr><tr><td id="a6"><a href="ExecDump$1.html" class="el_class">ExecDump.new ISessionInfoVisitor() {...}</a></td><td class="bar" id="b11"><img src="../../jacoco-resources/greenbar.gif" width="18" height="10" title="36" alt="36"/></td><td class="ctr2" id="c2">100%</td><td class="bar" id="d11"/><td class="ctr2" id="e11">n/a</td><td class="ctr1" id="f11">0</td><td class="ctr2" id="g9">2</td><td class="ctr1" id="h11">0</td><td class="ctr2" id="i11">3</td><td class="ctr1" id="j11">0</td><td class="ctr2" id="k8">2</td><td class="ctr1" id="l11">0</td><td class="ctr2" id="m11">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.12.202403270442</span>Code Coverage Report for JaCoCo 0.8.12-SNAPSHOT</div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/trunk/coverage/org.jacoco.examples/org.jacoco.examples/index.source.html b/jacoco/trunk/coverage/org.jacoco.examples/org.jacoco.examples/index.source.html
    new file mode 100644
    index 00000000000..0ee1a0c0b2f
    --- /dev/null
    +++ b/jacoco/trunk/coverage/org.jacoco.examples/org.jacoco.examples/index.source.html
    @@ -0,0 +1 @@
    +<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="en"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../../jacoco-resources/report.gif" type="image/gif"/><title>org.jacoco.examples</title><script type="text/javascript" src="../../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb', 'coveragetable'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="index.html" class="el_class">Classes</a><a href="../../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../../index.html" class="el_report">JaCoCo</a> &gt; <a href="../index.html" class="el_bundle">org.jacoco.examples</a> &gt; <span class="el_package">org.jacoco.examples</span></div><h1>org.jacoco.examples</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td><td class="sortable ctr1" id="l" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="m" onclick="toggleSort(this)">Classes</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">411 of 982</td><td class="ctr2">58%</td><td class="bar">10 of 28</td><td class="ctr2">64%</td><td class="ctr1">24</td><td class="ctr2">53</td><td class="ctr1">97</td><td class="ctr2">193</td><td class="ctr1">19</td><td class="ctr2">38</td><td class="ctr1">6</td><td class="ctr2">12</td></tr></tfoot><tbody><tr><td id="a6"><a href="ReportGenerator.java.html" class="el_source">ReportGenerator.java</a></td><td class="bar" id="b0"><img src="../../jacoco-resources/redbar.gif" width="54" height="10" title="133" alt="133"/></td><td class="ctr2" id="c3">0%</td><td class="bar" id="d1"><img src="../../jacoco-resources/redbar.gif" width="17" height="10" title="2" alt="2"/></td><td class="ctr2" id="e3">0%</td><td class="ctr1" id="f0">7</td><td class="ctr2" id="g2">7</td><td class="ctr1" id="h1">28</td><td class="ctr2" id="i3">28</td><td class="ctr1" id="j0">6</td><td class="ctr2" id="k2">6</td><td class="ctr1" id="l1">1</td><td class="ctr2" id="m3">1</td></tr><tr><td id="a4"><a href="ExecutionDataServer.java.html" class="el_source">ExecutionDataServer.java</a></td><td class="bar" id="b1"><img src="../../jacoco-resources/redbar.gif" width="49" height="10" title="120" alt="120"/></td><td class="ctr2" id="c4">0%</td><td class="bar" id="d2"><img src="../../jacoco-resources/redbar.gif" width="17" height="10" title="2" alt="2"/></td><td class="ctr2" id="e4">0%</td><td class="ctr1" id="f1">6</td><td class="ctr2" id="g3">6</td><td class="ctr1" id="h0">31</td><td class="ctr2" id="i1">31</td><td class="ctr1" id="j1">5</td><td class="ctr2" id="k3">5</td><td class="ctr1" id="l0">2</td><td class="ctr2" id="m2">2</td></tr><tr><td id="a5"><a href="MBeanClient.java.html" class="el_source">MBeanClient.java</a></td><td class="bar" id="b2"><img src="../../jacoco-resources/redbar.gif" width="24" height="10" title="61" alt="61"/></td><td class="ctr2" id="c5">0%</td><td class="bar" id="d6"/><td class="ctr2" id="e6">n/a</td><td class="ctr1" id="f4">1</td><td class="ctr2" id="g6">1</td><td class="ctr1" id="h3">12</td><td class="ctr2" id="i6">12</td><td class="ctr1" id="j3">1</td><td class="ctr2" id="k5">1</td><td class="ctr1" id="l2">1</td><td class="ctr2" id="m4">1</td></tr><tr><td id="a3"><a href="ExecutionDataClient.java.html" class="el_source">ExecutionDataClient.java</a></td><td class="bar" id="b3"><img src="../../jacoco-resources/redbar.gif" width="21" height="10" title="52" alt="52"/></td><td class="ctr2" id="c6">0%</td><td class="bar" id="d3"><img src="../../jacoco-resources/redbar.gif" width="17" height="10" title="2" alt="2"/></td><td class="ctr2" id="e5">0%</td><td class="ctr1" id="f3">2</td><td class="ctr2" id="g5">2</td><td class="ctr1" id="h2">13</td><td class="ctr2" id="i5">13</td><td class="ctr1" id="j4">1</td><td class="ctr2" id="k6">1</td><td class="ctr1" id="l3">1</td><td class="ctr2" id="m5">1</td></tr><tr><td id="a1"><a href="CoreTutorial.java.html" class="el_source">CoreTutorial.java</a></td><td class="bar" id="b4"><img src="../../jacoco-resources/redbar.gif" width="12" height="10" title="31" alt="31"/><img src="../../jacoco-resources/greenbar.gif" width="107" height="10" title="262" alt="262"/></td><td class="ctr2" id="c2">89%</td><td class="bar" id="d0"><img src="../../jacoco-resources/redbar.gif" width="34" height="10" title="4" alt="4"/><img src="../../jacoco-resources/greenbar.gif" width="85" height="10" title="10" alt="10"/></td><td class="ctr2" id="e2">71%</td><td class="ctr1" id="f2">6</td><td class="ctr2" id="g0">20</td><td class="ctr1" id="h4">9</td><td class="ctr2" id="i0">63</td><td class="ctr1" id="j2">4</td><td class="ctr2" id="k0">12</td><td class="ctr1" id="l4">1</td><td class="ctr2" id="m0">3</td></tr><tr><td id="a2"><a href="ExecDump.java.html" class="el_source">ExecDump.java</a></td><td class="bar" id="b5"><img src="../../jacoco-resources/redbar.gif" width="2" height="10" title="7" alt="7"/><img src="../../jacoco-resources/greenbar.gif" width="70" height="10" title="173" alt="173"/></td><td class="ctr2" id="c0">96%</td><td class="bar" id="d4"><img src="../../jacoco-resources/greenbar.gif" width="51" height="10" title="6" alt="6"/></td><td class="ctr2" id="e0">100%</td><td class="ctr1" id="f5">1</td><td class="ctr2" id="g1">12</td><td class="ctr1" id="h5">2</td><td class="ctr2" id="i2">29</td><td class="ctr1" id="j5">1</td><td class="ctr2" id="k1">9</td><td class="ctr1" id="l5">0</td><td class="ctr2" id="m1">3</td></tr><tr><td id="a0"><a href="ClassInfo.java.html" class="el_source">ClassInfo.java</a></td><td class="bar" id="b6"><img src="../../jacoco-resources/redbar.gif" width="2" height="10" title="7" alt="7"/><img src="../../jacoco-resources/greenbar.gif" width="55" height="10" title="136" alt="136"/></td><td class="ctr2" id="c1">95%</td><td class="bar" id="d5"><img src="../../jacoco-resources/greenbar.gif" width="17" height="10" title="2" alt="2"/></td><td class="ctr2" id="e1">100%</td><td class="ctr1" id="f6">1</td><td class="ctr2" id="g4">5</td><td class="ctr1" id="h6">2</td><td class="ctr2" id="i4">17</td><td class="ctr1" id="j6">1</td><td class="ctr2" id="k4">4</td><td class="ctr1" id="l6">0</td><td class="ctr2" id="m6">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.12.202403270442</span>Code Coverage Report for JaCoCo 0.8.12-SNAPSHOT</div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/trunk/coverage/org.jacoco.report/index.html b/jacoco/trunk/coverage/org.jacoco.report/index.html
    new file mode 100644
    index 00000000000..93e46903326
    --- /dev/null
    +++ b/jacoco/trunk/coverage/org.jacoco.report/index.html
    @@ -0,0 +1 @@
    +<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="en"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>org.jacoco.report</title><script type="text/javascript" src="../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb', 'coveragetable'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">JaCoCo</a> &gt; <span class="el_bundle">org.jacoco.report</span></div><h1>org.jacoco.report</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td><td class="sortable ctr1" id="l" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="m" onclick="toggleSort(this)">Classes</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">28 of 5,941</td><td class="ctr2">99%</td><td class="bar">3 of 386</td><td class="ctr2">99%</td><td class="ctr1">4</td><td class="ctr2">572</td><td class="ctr1">2</td><td class="ctr2">1,345</td><td class="ctr1">1</td><td class="ctr2">371</td><td class="ctr1">0</td><td class="ctr2">64</td></tr></tfoot><tbody><tr><td id="a8"><a href="org.jacoco.report.internal.html.resources/index.html" class="el_package">org.jacoco.report.internal.html.resources</a></td><td class="bar" id="b0"><img src="../jacoco-resources/redbar.gif" width="1" height="10" title="18" alt="18"/><img src="../jacoco-resources/greenbar.gif" width="18" height="10" title="204" alt="204"/></td><td class="ctr2" id="c11">91%</td><td class="bar" id="d2"><img src="../jacoco-resources/redbar.gif" width="1" height="10" title="1" alt="1"/><img src="../jacoco-resources/greenbar.gif" width="22" height="10" title="16" alt="16"/></td><td class="ctr2" id="e10">94%</td><td class="ctr1" id="f1">1</td><td class="ctr2" id="g9">18</td><td class="ctr1" id="h0">1</td><td class="ctr2" id="i9">48</td><td class="ctr1" id="j1">0</td><td class="ctr2" id="k10">7</td><td class="ctr1" id="l0">0</td><td class="ctr2" id="m6">3</td></tr><tr><td id="a7"><a href="org.jacoco.report.internal.html.page/index.html" class="el_package">org.jacoco.report.internal.html.page</a></td><td class="bar" id="b1"><img src="../jacoco-resources/greenbar.gif" width="119" height="10" title="1,350" alt="1,350"/></td><td class="ctr2" id="c9">99%</td><td class="bar" id="d0"><img src="../jacoco-resources/redbar.gif" width="1" height="10" title="1" alt="1"/><img src="../jacoco-resources/greenbar.gif" width="98" height="10" title="69" alt="69"/></td><td class="ctr2" id="e8">98%</td><td class="ctr1" id="f0">2</td><td class="ctr2" id="g0">116</td><td class="ctr1" id="h1">1</td><td class="ctr2" id="i0">303</td><td class="ctr1" id="j0">1</td><td class="ctr2" id="k0">79</td><td class="ctr1" id="l1">0</td><td class="ctr2" id="m0">14</td></tr><tr><td id="a1"><a href="org.jacoco.report.check/index.html" class="el_package">org.jacoco.report.check</a></td><td class="bar" id="b2"><img src="../jacoco-resources/greenbar.gif" width="72" height="10" title="820" alt="820"/></td><td class="ctr2" id="c10">99%</td><td class="bar" id="d3"><img src="../jacoco-resources/greenbar.gif" width="120" height="10" title="84" alt="84"/></td><td class="ctr2" id="e0">100%</td><td class="ctr1" id="f3">0</td><td class="ctr2" id="g1">88</td><td class="ctr1" id="h2">0</td><td class="ctr2" id="i3">165</td><td class="ctr1" id="j2">0</td><td class="ctr2" id="k2">44</td><td class="ctr1" id="l2">0</td><td class="ctr2" id="m3">6</td></tr><tr><td id="a9"><a href="org.jacoco.report.internal.html.table/index.html" class="el_package">org.jacoco.report.internal.html.table</a></td><td class="bar" id="b3"><img src="../jacoco-resources/greenbar.gif" width="67" height="10" title="766" alt="766"/></td><td class="ctr2" id="c0">100%</td><td class="bar" id="d5"><img src="../jacoco-resources/greenbar.gif" width="62" height="10" title="44" alt="44"/></td><td class="ctr2" id="e1">100%</td><td class="ctr1" id="f4">0</td><td class="ctr2" id="g2">76</td><td class="ctr1" id="h3">0</td><td class="ctr2" id="i1">172</td><td class="ctr1" id="j3">0</td><td class="ctr2" id="k1">54</td><td class="ctr1" id="l3">0</td><td class="ctr2" id="m1">13</td></tr><tr><td id="a10"><a href="org.jacoco.report.internal.xml/index.html" class="el_package">org.jacoco.report.internal.xml</a></td><td class="bar" id="b4"><img src="../jacoco-resources/greenbar.gif" width="58" height="10" title="661" alt="661"/></td><td class="ctr2" id="c1">100%</td><td class="bar" id="d1"><img src="../jacoco-resources/redbar.gif" width="1" height="10" title="1" alt="1"/><img src="../jacoco-resources/greenbar.gif" width="74" height="10" title="52" alt="52"/></td><td class="ctr2" id="e9">98%</td><td class="ctr1" id="f2">1</td><td class="ctr2" id="g4">64</td><td class="ctr1" id="h4">0</td><td class="ctr2" id="i2">166</td><td class="ctr1" id="j4">0</td><td class="ctr2" id="k4">36</td><td class="ctr1" id="l4">0</td><td class="ctr2" id="m5">4</td></tr><tr><td id="a0"><a href="org.jacoco.report/index.html" class="el_package">org.jacoco.report</a></td><td class="bar" id="b5"><img src="../jacoco-resources/greenbar.gif" width="54" height="10" title="618" alt="618"/></td><td class="ctr2" id="c2">100%</td><td class="bar" id="d4"><img src="../jacoco-resources/greenbar.gif" width="88" height="10" title="62" alt="62"/></td><td class="ctr2" id="e2">100%</td><td class="ctr1" id="f5">0</td><td class="ctr2" id="g3">70</td><td class="ctr1" id="h5">0</td><td class="ctr2" id="i4">150</td><td class="ctr1" id="j5">0</td><td class="ctr2" id="k3">39</td><td class="ctr1" id="l5">0</td><td class="ctr2" id="m2">9</td></tr><tr><td id="a2"><a href="org.jacoco.report.csv/index.html" class="el_package">org.jacoco.report.csv</a></td><td class="bar" id="b6"><img src="../jacoco-resources/greenbar.gif" width="38" height="10" title="434" alt="434"/></td><td class="ctr2" id="c3">100%</td><td class="bar" id="d7"><img src="../jacoco-resources/greenbar.gif" width="31" height="10" title="22" alt="22"/></td><td class="ctr2" id="e3">100%</td><td class="ctr1" id="f6">0</td><td class="ctr2" id="g5">38</td><td class="ctr1" id="h6">0</td><td class="ctr2" id="i6">86</td><td class="ctr1" id="j6">0</td><td class="ctr2" id="k6">27</td><td class="ctr1" id="l6">0</td><td class="ctr2" id="m4">5</td></tr><tr><td id="a4"><a href="org.jacoco.report.internal/index.html" class="el_package">org.jacoco.report.internal</a></td><td class="bar" id="b7"><img src="../jacoco-resources/greenbar.gif" width="30" height="10" title="341" alt="341"/></td><td class="ctr2" id="c4">100%</td><td class="bar" id="d6"><img src="../jacoco-resources/greenbar.gif" width="34" height="10" title="24" alt="24"/></td><td class="ctr2" id="e4">100%</td><td class="ctr1" id="f7">0</td><td class="ctr2" id="g7">29</td><td class="ctr1" id="h7">0</td><td class="ctr2" id="i7">76</td><td class="ctr1" id="j7">0</td><td class="ctr2" id="k8">17</td><td class="ctr1" id="l7">0</td><td class="ctr2" id="m7">3</td></tr><tr><td id="a5"><a href="org.jacoco.report.internal.html/index.html" class="el_package">org.jacoco.report.internal.html</a></td><td class="bar" id="b8"><img src="../jacoco-resources/greenbar.gif" width="28" height="10" title="323" alt="323"/></td><td class="ctr2" id="c5">100%</td><td class="bar" id="d10"><img src="../jacoco-resources/greenbar.gif" width="2" height="10" title="2" alt="2"/></td><td class="ctr2" id="e5">100%</td><td class="ctr1" id="f8">0</td><td class="ctr2" id="g6">35</td><td class="ctr1" id="h8">0</td><td class="ctr2" id="i5">89</td><td class="ctr1" id="j8">0</td><td class="ctr2" id="k5">34</td><td class="ctr1" id="l8">0</td><td class="ctr2" id="m8">2</td></tr><tr><td id="a3"><a href="org.jacoco.report.html/index.html" class="el_package">org.jacoco.report.html</a></td><td class="bar" id="b9"><img src="../jacoco-resources/greenbar.gif" width="24" height="10" title="277" alt="277"/></td><td class="ctr2" id="c6">100%</td><td class="bar" id="d8"><img src="../jacoco-resources/greenbar.gif" width="5" height="10" title="4" alt="4"/></td><td class="ctr2" id="e6">100%</td><td class="ctr1" id="f9">0</td><td class="ctr2" id="g8">24</td><td class="ctr1" id="h9">0</td><td class="ctr2" id="i8">61</td><td class="ctr1" id="j9">0</td><td class="ctr2" id="k7">22</td><td class="ctr1" id="l9">0</td><td class="ctr2" id="m9">2</td></tr><tr><td id="a11"><a href="org.jacoco.report.xml/index.html" class="el_package">org.jacoco.report.xml</a></td><td class="bar" id="b10"><img src="../jacoco-resources/greenbar.gif" width="7" height="10" title="90" alt="90"/></td><td class="ctr2" id="c7">100%</td><td class="bar" id="d9"><img src="../jacoco-resources/greenbar.gif" width="5" height="10" title="4" alt="4"/></td><td class="ctr2" id="e7">100%</td><td class="ctr1" id="f10">0</td><td class="ctr2" id="g10">11</td><td class="ctr1" id="h10">0</td><td class="ctr2" id="i10">22</td><td class="ctr1" id="j10">0</td><td class="ctr2" id="k9">9</td><td class="ctr1" id="l10">0</td><td class="ctr2" id="m10">2</td></tr><tr><td id="a6"><a href="org.jacoco.report.internal.html.index/index.html" class="el_package">org.jacoco.report.internal.html.index</a></td><td class="bar" id="b11"><img src="../jacoco-resources/greenbar.gif" width="2" height="10" title="29" alt="29"/></td><td class="ctr2" id="c8">100%</td><td class="bar" id="d11"/><td class="ctr2" id="e11">n/a</td><td class="ctr1" id="f11">0</td><td class="ctr2" id="g11">3</td><td class="ctr1" id="h11">0</td><td class="ctr2" id="i11">7</td><td class="ctr1" id="j11">0</td><td class="ctr2" id="k11">3</td><td class="ctr1" id="l11">0</td><td class="ctr2" id="m11">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.12.202403270442</span>Code Coverage Report for JaCoCo 0.8.12-SNAPSHOT</div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/trunk/coverage/org.jacoco.report/org.jacoco.report.check/BundleChecker$1.html b/jacoco/trunk/coverage/org.jacoco.report/org.jacoco.report.check/BundleChecker$1.html
    new file mode 100644
    index 00000000000..e7bce1e5821
    --- /dev/null
    +++ b/jacoco/trunk/coverage/org.jacoco.report/org.jacoco.report.check/BundleChecker$1.html
    @@ -0,0 +1 @@
    +<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="en"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../../jacoco-resources/report.gif" type="image/gif"/><title>BundleChecker.new Object() {...}</title><script type="text/javascript" src="../../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../../index.html" class="el_report">JaCoCo</a> &gt; <a href="../index.html" class="el_bundle">org.jacoco.report</a> &gt; <a href="index.html" class="el_package">org.jacoco.report.check</a> &gt; <span class="el_class">BundleChecker.new Object() {...}</span></div><h1>BundleChecker.new Object() {...}</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">5 of 40</td><td class="ctr2">87%</td><td class="bar">0 of 0</td><td class="ctr2">n/a</td><td class="ctr1">0</td><td class="ctr2">1</td><td class="ctr1">0</td><td class="ctr2">1</td><td class="ctr1">0</td><td class="ctr2">1</td></tr></tfoot><tbody><tr><td id="a0"><a href="BundleChecker.java.html#L56" class="el_method">static {...}</a></td><td class="bar" id="b0"><img src="../../jacoco-resources/redbar.gif" width="15" height="10" title="5" alt="5"/><img src="../../jacoco-resources/greenbar.gif" width="105" height="10" title="35" alt="35"/></td><td class="ctr2" id="c0">87%</td><td class="bar" id="d0"/><td class="ctr2" id="e0">n/a</td><td class="ctr1" id="f0">0</td><td class="ctr2" id="g0">1</td><td class="ctr1" id="h0">0</td><td class="ctr2" id="i0">1</td><td class="ctr1" id="j0">0</td><td class="ctr2" id="k0">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.12.202403270442</span>Code Coverage Report for JaCoCo 0.8.12-SNAPSHOT</div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/trunk/coverage/org.jacoco.report/org.jacoco.report.check/BundleChecker.html b/jacoco/trunk/coverage/org.jacoco.report/org.jacoco.report.check/BundleChecker.html
    new file mode 100644
    index 00000000000..e618856851d
    --- /dev/null
    +++ b/jacoco/trunk/coverage/org.jacoco.report/org.jacoco.report.check/BundleChecker.html
    @@ -0,0 +1 @@
    +<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="en"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../../jacoco-resources/report.gif" type="image/gif"/><title>BundleChecker</title><script type="text/javascript" src="../../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../../index.html" class="el_report">JaCoCo</a> &gt; <a href="../index.html" class="el_bundle">org.jacoco.report</a> &gt; <a href="index.html" class="el_package">org.jacoco.report.check</a> &gt; <span class="el_class">BundleChecker</span></div><h1>BundleChecker</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">0 of 342</td><td class="ctr2">100%</td><td class="bar">0 of 46</td><td class="ctr2">100%</td><td class="ctr1">0</td><td class="ctr2">33</td><td class="ctr1">0</td><td class="ctr2">61</td><td class="ctr1">0</td><td class="ctr2">8</td></tr></tfoot><tbody><tr><td id="a0"><a href="BundleChecker.java.html#L47" class="el_method">BundleChecker(Collection, ILanguageNames, IViolationsOutput)</a></td><td class="bar" id="b0"><img src="../../jacoco-resources/greenbar.gif" width="120" height="10" title="125" alt="125"/></td><td class="ctr2" id="c0">100%</td><td class="bar" id="d0"><img src="../../jacoco-resources/greenbar.gif" width="120" height="10" title="22" alt="22"/></td><td class="ctr2" id="e0">100%</td><td class="ctr1" id="f0">0</td><td class="ctr2" id="g0">14</td><td class="ctr1" id="h0">0</td><td class="ctr2" id="i0">25</td><td class="ctr1" id="j0">0</td><td class="ctr2" id="k0">1</td></tr><tr><td id="a3"><a href="BundleChecker.java.html#L92" class="el_method">check(IPackageCoverage)</a></td><td class="bar" id="b1"><img src="../../jacoco-resources/greenbar.gif" width="48" height="10" title="50" alt="50"/></td><td class="ctr2" id="c1">100%</td><td class="bar" id="d1"><img src="../../jacoco-resources/greenbar.gif" width="43" height="10" title="8" alt="8"/></td><td class="ctr2" id="e1">100%</td><td class="ctr1" id="f1">0</td><td class="ctr2" id="g1">5</td><td class="ctr1" id="h1">0</td><td class="ctr2" id="i1">9</td><td class="ctr1" id="j1">0</td><td class="ctr2" id="k1">1</td></tr><tr><td id="a7"><a href="BundleChecker.java.html#L133" class="el_method">checkRules(ICoverageNode, Collection, String, String)</a></td><td class="bar" id="b2"><img src="../../jacoco-resources/greenbar.gif" width="33" height="10" title="35" alt="35"/></td><td class="ctr2" id="c2">100%</td><td class="bar" id="d2"><img src="../../jacoco-resources/greenbar.gif" width="32" height="10" title="6" alt="6"/></td><td class="ctr2" id="e2">100%</td><td class="ctr1" id="f2">0</td><td class="ctr2" id="g2">4</td><td class="ctr1" id="h2">0</td><td class="ctr2" id="i4">5</td><td class="ctr1" id="j2">0</td><td class="ctr2" id="k2">1</td></tr><tr><td id="a1"><a href="BundleChecker.java.html#L108" class="el_method">check(IClassCoverage)</a></td><td class="bar" id="b3"><img src="../../jacoco-resources/greenbar.gif" width="32" height="10" title="34" alt="34"/></td><td class="ctr2" id="c3">100%</td><td class="bar" id="d3"><img src="../../jacoco-resources/greenbar.gif" width="21" height="10" title="4" alt="4"/></td><td class="ctr2" id="e3">100%</td><td class="ctr1" id="f3">0</td><td class="ctr2" id="g3">3</td><td class="ctr1" id="h3">0</td><td class="ctr2" id="i2">6</td><td class="ctr1" id="j3">0</td><td class="ctr2" id="k3">1</td></tr><tr><td id="a5"><a href="BundleChecker.java.html#L82" class="el_method">checkBundle(IBundleCoverage)</a></td><td class="bar" id="b4"><img src="../../jacoco-resources/greenbar.gif" width="27" height="10" title="29" alt="29"/></td><td class="ctr2" id="c4">100%</td><td class="bar" id="d4"><img src="../../jacoco-resources/greenbar.gif" width="21" height="10" title="4" alt="4"/></td><td class="ctr2" id="e4">100%</td><td class="ctr1" id="f4">0</td><td class="ctr2" id="g4">3</td><td class="ctr1" id="h4">0</td><td class="ctr2" id="i3">6</td><td class="ctr1" id="j4">0</td><td class="ctr2" id="k4">1</td></tr><tr><td id="a6"><a href="BundleChecker.java.html#L144" class="el_method">checkLimit(ICoverageNode, String, String, Rule, Limit)</a></td><td class="bar" id="b5"><img src="../../jacoco-resources/greenbar.gif" width="27" height="10" title="29" alt="29"/></td><td class="ctr2" id="c5">100%</td><td class="bar" id="d5"><img src="../../jacoco-resources/greenbar.gif" width="10" height="10" title="2" alt="2"/></td><td class="ctr2" id="e5">100%</td><td class="ctr1" id="f5">0</td><td class="ctr2" id="g5">2</td><td class="ctr1" id="h5">0</td><td class="ctr2" id="i5">4</td><td class="ctr1" id="j5">0</td><td class="ctr2" id="k5">1</td></tr><tr><td id="a4"><a href="BundleChecker.java.html#L119" class="el_method">check(ISourceFileCoverage)</a></td><td class="bar" id="b6"><img src="../../jacoco-resources/greenbar.gif" width="20" height="10" title="21" alt="21"/></td><td class="ctr2" id="c6">100%</td><td class="bar" id="d6"/><td class="ctr2" id="e6">n/a</td><td class="ctr1" id="f6">0</td><td class="ctr2" id="g6">1</td><td class="ctr1" id="h6">0</td><td class="ctr2" id="i6">3</td><td class="ctr1" id="j6">0</td><td class="ctr2" id="k6">1</td></tr><tr><td id="a2"><a href="BundleChecker.java.html#L125" class="el_method">check(IMethodCoverage, String)</a></td><td class="bar" id="b7"><img src="../../jacoco-resources/greenbar.gif" width="18" height="10" title="19" alt="19"/></td><td class="ctr2" id="c7">100%</td><td class="bar" id="d7"/><td class="ctr2" id="e7">n/a</td><td class="ctr1" id="f7">0</td><td class="ctr2" id="g7">1</td><td class="ctr1" id="h7">0</td><td class="ctr2" id="i7">3</td><td class="ctr1" id="j7">0</td><td class="ctr2" id="k7">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.12.202403270442</span>Code Coverage Report for JaCoCo 0.8.12-SNAPSHOT</div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/trunk/coverage/org.jacoco.report/org.jacoco.report.check/BundleChecker.java.html b/jacoco/trunk/coverage/org.jacoco.report/org.jacoco.report.check/BundleChecker.java.html
    new file mode 100644
    index 00000000000..4b00b38d30c
    --- /dev/null
    +++ b/jacoco/trunk/coverage/org.jacoco.report/org.jacoco.report.check/BundleChecker.java.html
    @@ -0,0 +1,153 @@
    +<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="en"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../../jacoco-resources/report.gif" type="image/gif"/><title>BundleChecker.java</title><link rel="stylesheet" href="../../jacoco-resources/prettify.css" type="text/css"/><script type="text/javascript" src="../../jacoco-resources/prettify.js"></script></head><body onload="window['PR_TAB_WIDTH']=4;prettyPrint()"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../../index.html" class="el_report">JaCoCo</a> &gt; <a href="../index.html" class="el_bundle">org.jacoco.report</a> &gt; <a href="index.source.html" class="el_package">org.jacoco.report.check</a> &gt; <span class="el_source">BundleChecker.java</span></div><h1>BundleChecker.java</h1><pre class="source lang-java linenums">/*******************************************************************************
    + * Copyright (c) 2009, 2024 Mountainminds GmbH &amp; Co. KG and Contributors
    + * This program and the accompanying materials are made available under
    + * the terms of the Eclipse Public License 2.0 which is available at
    + * http://www.eclipse.org/legal/epl-2.0
    + *
    + * SPDX-License-Identifier: EPL-2.0
    + *
    + * Contributors:
    + *    Marc R. Hoffmann - initial API and implementation
    + *
    + *******************************************************************************/
    +package org.jacoco.report.check;
    +
    +import java.util.ArrayList;
    +import java.util.Collection;
    +
    +import org.jacoco.core.analysis.IBundleCoverage;
    +import org.jacoco.core.analysis.IClassCoverage;
    +import org.jacoco.core.analysis.ICoverageNode;
    +import org.jacoco.core.analysis.IMethodCoverage;
    +import org.jacoco.core.analysis.IPackageCoverage;
    +import org.jacoco.core.analysis.ISourceFileCoverage;
    +import org.jacoco.report.ILanguageNames;
    +
    +/**
    + * Internal class to check a list of rules against a {@link IBundleCoverage}
    + * instance.
    + */
    +class BundleChecker {
    +
    +	private final ILanguageNames names;
    +	private final IViolationsOutput output;
    +
    +	private final Collection&lt;Rule&gt; bundleRules;
    +	private final Collection&lt;Rule&gt; packageRules;
    +	private final Collection&lt;Rule&gt; classRules;
    +	private final Collection&lt;Rule&gt; sourceFileRules;
    +	private final Collection&lt;Rule&gt; methodRules;
    +
    +	private final boolean traversePackages;
    +	private final boolean traverseClasses;
    +	private final boolean traverseSourceFiles;
    +	private final boolean traverseMethods;
    +
    +	public BundleChecker(final Collection&lt;Rule&gt; rules,
    +<span class="fc" id="L47">			final ILanguageNames names, final IViolationsOutput output) {</span>
    +<span class="fc" id="L48">		this.names = names;</span>
    +<span class="fc" id="L49">		this.output = output;</span>
    +<span class="fc" id="L50">		this.bundleRules = new ArrayList&lt;Rule&gt;();</span>
    +<span class="fc" id="L51">		this.packageRules = new ArrayList&lt;Rule&gt;();</span>
    +<span class="fc" id="L52">		this.classRules = new ArrayList&lt;Rule&gt;();</span>
    +<span class="fc" id="L53">		this.sourceFileRules = new ArrayList&lt;Rule&gt;();</span>
    +<span class="fc" id="L54">		this.methodRules = new ArrayList&lt;Rule&gt;();</span>
    +<span class="fc bfc" id="L55" title="All 2 branches covered.">		for (final Rule rule : rules) {</span>
    +<span class="pc bfc" id="L56" title="All 6 branches covered.">			switch (rule.getElement()) {</span>
    +			case BUNDLE:
    +<span class="fc" id="L58">				bundleRules.add(rule);</span>
    +<span class="fc" id="L59">				break;</span>
    +			case PACKAGE:
    +<span class="fc" id="L61">				packageRules.add(rule);</span>
    +<span class="fc" id="L62">				break;</span>
    +			case CLASS:
    +<span class="fc" id="L64">				classRules.add(rule);</span>
    +<span class="fc" id="L65">				break;</span>
    +			case SOURCEFILE:
    +<span class="fc" id="L67">				sourceFileRules.add(rule);</span>
    +<span class="fc" id="L68">				break;</span>
    +			case METHOD:
    +<span class="fc" id="L70">				methodRules.add(rule);</span>
    +<span class="fc" id="L71">				break;</span>
    +			}
    +		}
    +<span class="fc bfc" id="L74" title="All 2 branches covered.">		traverseMethods = !methodRules.isEmpty();</span>
    +<span class="fc bfc" id="L75" title="All 4 branches covered.">		traverseClasses = !classRules.isEmpty() || traverseMethods;</span>
    +<span class="fc bfc" id="L76" title="All 2 branches covered.">		traverseSourceFiles = !sourceFileRules.isEmpty();</span>
    +<span class="fc bfc" id="L77" title="All 6 branches covered.">		traversePackages = !packageRules.isEmpty() || traverseClasses</span>
    +				|| traverseSourceFiles;
    +<span class="fc" id="L79">	}</span>
    +
    +	public void checkBundle(final IBundleCoverage bundleCoverage) {
    +<span class="fc" id="L82">		final String name = bundleCoverage.getName();</span>
    +<span class="fc" id="L83">		checkRules(bundleCoverage, bundleRules, &quot;bundle&quot;, name);</span>
    +<span class="fc bfc" id="L84" title="All 2 branches covered.">		if (traversePackages) {</span>
    +<span class="fc bfc" id="L85" title="All 2 branches covered.">			for (final IPackageCoverage p : bundleCoverage.getPackages()) {</span>
    +<span class="fc" id="L86">				check(p);</span>
    +			}
    +		}
    +<span class="fc" id="L89">	}</span>
    +
    +	private void check(final IPackageCoverage packageCoverage) {
    +<span class="fc" id="L92">		final String name = names.getPackageName(packageCoverage.getName());</span>
    +<span class="fc" id="L93">		checkRules(packageCoverage, packageRules, &quot;package&quot;, name);</span>
    +<span class="fc bfc" id="L94" title="All 2 branches covered.">		if (traverseClasses) {</span>
    +<span class="fc bfc" id="L95" title="All 2 branches covered.">			for (final IClassCoverage c : packageCoverage.getClasses()) {</span>
    +<span class="fc" id="L96">				check(c);</span>
    +			}
    +		}
    +<span class="fc bfc" id="L99" title="All 2 branches covered.">		if (traverseSourceFiles) {</span>
    +			for (final ISourceFileCoverage s : packageCoverage
    +<span class="fc bfc" id="L101" title="All 2 branches covered.">					.getSourceFiles()) {</span>
    +<span class="fc" id="L102">				check(s);</span>
    +			}
    +		}
    +<span class="fc" id="L105">	}</span>
    +
    +	private void check(final IClassCoverage classCoverage) {
    +<span class="fc" id="L108">		final String name = names</span>
    +				.getQualifiedClassName(classCoverage.getName());
    +<span class="fc" id="L110">		checkRules(classCoverage, classRules, &quot;class&quot;, name);</span>
    +<span class="fc bfc" id="L111" title="All 2 branches covered.">		if (traverseMethods) {</span>
    +<span class="fc bfc" id="L112" title="All 2 branches covered.">			for (final IMethodCoverage m : classCoverage.getMethods()) {</span>
    +<span class="fc" id="L113">				check(m, classCoverage.getName());</span>
    +			}
    +		}
    +<span class="fc" id="L116">	}</span>
    +
    +	private void check(final ISourceFileCoverage sourceFile) {
    +<span class="fc" id="L119">		final String name = sourceFile.getPackageName() + &quot;/&quot;</span>
    +				+ sourceFile.getName();
    +<span class="fc" id="L121">		checkRules(sourceFile, sourceFileRules, &quot;source file&quot;, name);</span>
    +<span class="fc" id="L122">	}</span>
    +
    +	private void check(final IMethodCoverage method, final String className) {
    +<span class="fc" id="L125">		final String name = names.getQualifiedMethodName(className,</span>
    +				method.getName(), method.getDesc(), method.getSignature());
    +<span class="fc" id="L127">		checkRules(method, methodRules, &quot;method&quot;, name);</span>
    +<span class="fc" id="L128">	}</span>
    +
    +	private void checkRules(final ICoverageNode node,
    +			final Collection&lt;Rule&gt; rules, final String typename,
    +			final String elementname) {
    +<span class="fc bfc" id="L133" title="All 2 branches covered.">		for (final Rule rule : rules) {</span>
    +<span class="fc bfc" id="L134" title="All 2 branches covered.">			if (rule.matches(elementname)) {</span>
    +<span class="fc bfc" id="L135" title="All 2 branches covered.">				for (final Limit limit : rule.getLimits()) {</span>
    +<span class="fc" id="L136">					checkLimit(node, typename, elementname, rule, limit);</span>
    +				}
    +			}
    +		}
    +<span class="fc" id="L140">	}</span>
    +
    +	private void checkLimit(final ICoverageNode node, final String elementtype,
    +			final String elementname, final Rule rule, final Limit limit) {
    +<span class="fc" id="L144">		final String message = limit.check(node);</span>
    +<span class="fc bfc" id="L145" title="All 2 branches covered.">		if (message != null) {</span>
    +<span class="fc" id="L146">			output.onViolation(node, rule, limit,</span>
    +					String.format(&quot;Rule violated for %s %s: %s&quot;, elementtype,
    +							elementname, message));
    +		}
    +<span class="fc" id="L150">	}</span>
    +
    +}
    +</pre><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.12.202403270442</span>Code Coverage Report for JaCoCo 0.8.12-SNAPSHOT</div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/trunk/coverage/org.jacoco.report/org.jacoco.report.check/Limit.html b/jacoco/trunk/coverage/org.jacoco.report/org.jacoco.report.check/Limit.html
    new file mode 100644
    index 00000000000..317d3902496
    --- /dev/null
    +++ b/jacoco/trunk/coverage/org.jacoco.report/org.jacoco.report.check/Limit.html
    @@ -0,0 +1 @@
    +<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="en"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../../jacoco-resources/report.gif" type="image/gif"/><title>Limit</title><script type="text/javascript" src="../../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../../index.html" class="el_report">JaCoCo</a> &gt; <a href="../index.html" class="el_bundle">org.jacoco.report</a> &gt; <a href="index.html" class="el_package">org.jacoco.report.check</a> &gt; <span class="el_class">Limit</span></div><h1>Limit</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">0 of 307</td><td class="ctr2">100%</td><td class="bar">0 of 34</td><td class="ctr2">100%</td><td class="ctr1">0</td><td class="ctr2">32</td><td class="ctr1">0</td><td class="ctr2">64</td><td class="ctr1">0</td><td class="ctr2">15</td></tr></tfoot><tbody><tr><td id="a14"><a href="Limit.java.html#L34" class="el_method">static {...}</a></td><td class="bar" id="b0"><img src="../../jacoco-resources/greenbar.gif" width="120" height="10" title="70" alt="70"/></td><td class="ctr2" id="c0">100%</td><td class="bar" id="d6"/><td class="ctr2" id="e6">n/a</td><td class="ctr1" id="f0">0</td><td class="ctr2" id="g6">1</td><td class="ctr1" id="h0">0</td><td class="ctr2" id="i0">16</td><td class="ctr1" id="j0">0</td><td class="ctr2" id="k0">1</td></tr><tr><td id="a0"><a href="Limit.java.html#L172" class="el_method">check(ICoverageNode)</a></td><td class="bar" id="b1"><img src="../../jacoco-resources/greenbar.gif" width="97" height="10" title="57" alt="57"/></td><td class="ctr2" id="c1">100%</td><td class="bar" id="d0"><img src="../../jacoco-resources/greenbar.gif" width="120" height="10" title="12" alt="12"/></td><td class="ctr2" id="e0">100%</td><td class="ctr1" id="f1">0</td><td class="ctr2" id="g0">7</td><td class="ctr1" id="h1">0</td><td class="ctr2" id="i1">12</td><td class="ctr1" id="j1">0</td><td class="ctr2" id="k1">1</td></tr><tr><td id="a8"><a href="Limit.java.html#L192" class="el_method">message(String, BigDecimal, BigDecimal, RoundingMode)</a></td><td class="bar" id="b2"><img src="../../jacoco-resources/greenbar.gif" width="66" height="10" title="39" alt="39"/></td><td class="ctr2" id="c2">100%</td><td class="bar" id="d7"/><td class="ctr2" id="e7">n/a</td><td class="ctr1" id="f2">0</td><td class="ctr2" id="g7">1</td><td class="ctr1" id="h2">0</td><td class="ctr2" id="i6">2</td><td class="ctr1" id="j2">0</td><td class="ctr2" id="k2">1</td></tr><tr><td id="a1"><a href="Limit.java.html#L199" class="el_method">checkRatioLimit()</a></td><td class="bar" id="b3"><img src="../../jacoco-resources/greenbar.gif" width="54" height="10" title="32" alt="32"/></td><td class="ctr2" id="c3">100%</td><td class="bar" id="d1"><img src="../../jacoco-resources/greenbar.gif" width="80" height="10" title="8" alt="8"/></td><td class="ctr2" id="e1">100%</td><td class="ctr1" id="f3">0</td><td class="ctr2" id="g1">5</td><td class="ctr1" id="h3">0</td><td class="ctr2" id="i2">8</td><td class="ctr1" id="j3">0</td><td class="ctr2" id="k3">1</td></tr><tr><td id="a9"><a href="Limit.java.html#L157" class="el_method">parseValue(String)</a></td><td class="bar" id="b4"><img src="../../jacoco-resources/greenbar.gif" width="53" height="10" title="31" alt="31"/></td><td class="ctr2" id="c4">100%</td><td class="bar" id="d3"><img src="../../jacoco-resources/greenbar.gif" width="40" height="10" title="4" alt="4"/></td><td class="ctr2" id="e2">100%</td><td class="ctr1" id="f4">0</td><td class="ctr2" id="g3">3</td><td class="ctr1" id="h4">0</td><td class="ctr2" id="i3">7</td><td class="ctr1" id="j4">0</td><td class="ctr2" id="k4">1</td></tr><tr><td id="a2"><a href="Limit.java.html#L214" class="el_method">checkRatioLimit(String, BigDecimal)</a></td><td class="bar" id="b5"><img src="../../jacoco-resources/greenbar.gif" width="42" height="10" title="25" alt="25"/></td><td class="ctr2" id="c5">100%</td><td class="bar" id="d2"><img src="../../jacoco-resources/greenbar.gif" width="60" height="10" title="6" alt="6"/></td><td class="ctr2" id="e3">100%</td><td class="ctr1" id="f5">0</td><td class="ctr2" id="g2">4</td><td class="ctr1" id="h5">0</td><td class="ctr2" id="i5">3</td><td class="ctr1" id="j5">0</td><td class="ctr2" id="k5">1</td></tr><tr><td id="a7"><a href="Limit.java.html#L69" class="el_method">Limit()</a></td><td class="bar" id="b6"><img src="../../jacoco-resources/greenbar.gif" width="15" height="10" title="9" alt="9"/></td><td class="ctr2" id="c6">100%</td><td class="bar" id="d8"/><td class="ctr2" id="e8">n/a</td><td class="ctr1" id="f6">0</td><td class="ctr2" id="g8">1</td><td class="ctr1" id="h6">0</td><td class="ctr2" id="i4">4</td><td class="ctr1" id="j6">0</td><td class="ctr2" id="k6">1</td></tr><tr><td id="a5"><a href="Limit.java.html#L115" class="el_method">getMinimum()</a></td><td class="bar" id="b7"><img src="../../jacoco-resources/greenbar.gif" width="15" height="10" title="9" alt="9"/></td><td class="ctr2" id="c7">100%</td><td class="bar" id="d4"><img src="../../jacoco-resources/greenbar.gif" width="20" height="10" title="2" alt="2"/></td><td class="ctr2" id="e4">100%</td><td class="ctr1" id="f7">0</td><td class="ctr2" id="g4">2</td><td class="ctr1" id="h7">0</td><td class="ctr2" id="i11">1</td><td class="ctr1" id="j7">0</td><td class="ctr2" id="k7">1</td></tr><tr><td id="a4"><a href="Limit.java.html#L138" class="el_method">getMaximum()</a></td><td class="bar" id="b8"><img src="../../jacoco-resources/greenbar.gif" width="15" height="10" title="9" alt="9"/></td><td class="ctr2" id="c8">100%</td><td class="bar" id="d5"><img src="../../jacoco-resources/greenbar.gif" width="20" height="10" title="2" alt="2"/></td><td class="ctr2" id="e5">100%</td><td class="ctr1" id="f8">0</td><td class="ctr2" id="g5">2</td><td class="ctr1" id="h8">0</td><td class="ctr2" id="i12">1</td><td class="ctr1" id="j8">0</td><td class="ctr2" id="k8">1</td></tr><tr><td id="a10"><a href="Limit.java.html#L89" class="el_method">setCounter(String)</a></td><td class="bar" id="b9"><img src="../../jacoco-resources/greenbar.gif" width="8" height="10" title="5" alt="5"/></td><td class="ctr2" id="c9">100%</td><td class="bar" id="d9"/><td class="ctr2" id="e9">n/a</td><td class="ctr1" id="f9">0</td><td class="ctr2" id="g9">1</td><td class="ctr1" id="h9">0</td><td class="ctr2" id="i7">2</td><td class="ctr1" id="j9">0</td><td class="ctr2" id="k9">1</td></tr><tr><td id="a13"><a href="Limit.java.html#L107" class="el_method">setValue(String)</a></td><td class="bar" id="b10"><img src="../../jacoco-resources/greenbar.gif" width="8" height="10" title="5" alt="5"/></td><td class="ctr2" id="c10">100%</td><td class="bar" id="d10"/><td class="ctr2" id="e10">n/a</td><td class="ctr1" id="f10">0</td><td class="ctr2" id="g10">1</td><td class="ctr1" id="h10">0</td><td class="ctr2" id="i8">2</td><td class="ctr1" id="j10">0</td><td class="ctr2" id="k10">1</td></tr><tr><td id="a12"><a href="Limit.java.html#L130" class="el_method">setMinimum(String)</a></td><td class="bar" id="b11"><img src="../../jacoco-resources/greenbar.gif" width="8" height="10" title="5" alt="5"/></td><td class="ctr2" id="c11">100%</td><td class="bar" id="d11"/><td class="ctr2" id="e11">n/a</td><td class="ctr1" id="f11">0</td><td class="ctr2" id="g11">1</td><td class="ctr1" id="h11">0</td><td class="ctr2" id="i9">2</td><td class="ctr1" id="j11">0</td><td class="ctr2" id="k11">1</td></tr><tr><td id="a11"><a href="Limit.java.html#L153" class="el_method">setMaximum(String)</a></td><td class="bar" id="b12"><img src="../../jacoco-resources/greenbar.gif" width="8" height="10" title="5" alt="5"/></td><td class="ctr2" id="c12">100%</td><td class="bar" id="d12"/><td class="ctr2" id="e12">n/a</td><td class="ctr1" id="f12">0</td><td class="ctr2" id="g12">1</td><td class="ctr1" id="h12">0</td><td class="ctr2" id="i10">2</td><td class="ctr1" id="j12">0</td><td class="ctr2" id="k12">1</td></tr><tr><td id="a3"><a href="Limit.java.html#L78" class="el_method">getEntity()</a></td><td class="bar" id="b13"><img src="../../jacoco-resources/greenbar.gif" width="5" height="10" title="3" alt="3"/></td><td class="ctr2" id="c13">100%</td><td class="bar" id="d13"/><td class="ctr2" id="e13">n/a</td><td class="ctr1" id="f13">0</td><td class="ctr2" id="g13">1</td><td class="ctr1" id="h13">0</td><td class="ctr2" id="i13">1</td><td class="ctr1" id="j13">0</td><td class="ctr2" id="k13">1</td></tr><tr><td id="a6"><a href="Limit.java.html#L96" class="el_method">getValue()</a></td><td class="bar" id="b14"><img src="../../jacoco-resources/greenbar.gif" width="5" height="10" title="3" alt="3"/></td><td class="ctr2" id="c14">100%</td><td class="bar" id="d14"/><td class="ctr2" id="e14">n/a</td><td class="ctr1" id="f14">0</td><td class="ctr2" id="g14">1</td><td class="ctr1" id="h14">0</td><td class="ctr2" id="i14">1</td><td class="ctr1" id="j14">0</td><td class="ctr2" id="k14">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.12.202403270442</span>Code Coverage Report for JaCoCo 0.8.12-SNAPSHOT</div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/trunk/coverage/org.jacoco.report/org.jacoco.report.check/Limit.java.html b/jacoco/trunk/coverage/org.jacoco.report/org.jacoco.report.check/Limit.java.html
    new file mode 100644
    index 00000000000..96883332059
    --- /dev/null
    +++ b/jacoco/trunk/coverage/org.jacoco.report/org.jacoco.report.check/Limit.java.html
    @@ -0,0 +1,224 @@
    +<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="en"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../../jacoco-resources/report.gif" type="image/gif"/><title>Limit.java</title><link rel="stylesheet" href="../../jacoco-resources/prettify.css" type="text/css"/><script type="text/javascript" src="../../jacoco-resources/prettify.js"></script></head><body onload="window['PR_TAB_WIDTH']=4;prettyPrint()"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../../index.html" class="el_report">JaCoCo</a> &gt; <a href="../index.html" class="el_bundle">org.jacoco.report</a> &gt; <a href="index.source.html" class="el_package">org.jacoco.report.check</a> &gt; <span class="el_source">Limit.java</span></div><h1>Limit.java</h1><pre class="source lang-java linenums">/*******************************************************************************
    + * Copyright (c) 2009, 2024 Mountainminds GmbH &amp; Co. KG and Contributors
    + * This program and the accompanying materials are made available under
    + * the terms of the Eclipse Public License 2.0 which is available at
    + * http://www.eclipse.org/legal/epl-2.0
    + *
    + * SPDX-License-Identifier: EPL-2.0
    + *
    + * Contributors:
    + *    Marc R. Hoffmann - initial API and implementation
    + *
    + *******************************************************************************/
    +package org.jacoco.report.check;
    +
    +import java.math.BigDecimal;
    +import java.math.RoundingMode;
    +import java.util.Collections;
    +import java.util.HashMap;
    +import java.util.Map;
    +
    +import org.jacoco.core.analysis.ICounter.CounterValue;
    +import org.jacoco.core.analysis.ICoverageNode;
    +import org.jacoco.core.analysis.ICoverageNode.CounterEntity;
    +
    +/**
    + * Descriptor for a limit which is given by a {@link Rule}.
    + */
    +public class Limit {
    +
    +	private static final Map&lt;CounterValue, String&gt; VALUE_NAMES;
    +	private static final Map&lt;CounterEntity, String&gt; ENTITY_NAMES;
    +
    +	static {
    +<span class="fc" id="L34">		final Map&lt;CounterValue, String&gt; values = new HashMap&lt;CounterValue, String&gt;();</span>
    +<span class="fc" id="L35">		values.put(CounterValue.TOTALCOUNT, &quot;total count&quot;);</span>
    +<span class="fc" id="L36">		values.put(CounterValue.MISSEDCOUNT, &quot;missed count&quot;);</span>
    +<span class="fc" id="L37">		values.put(CounterValue.COVEREDCOUNT, &quot;covered count&quot;);</span>
    +<span class="fc" id="L38">		values.put(CounterValue.MISSEDRATIO, &quot;missed ratio&quot;);</span>
    +<span class="fc" id="L39">		values.put(CounterValue.COVEREDRATIO, &quot;covered ratio&quot;);</span>
    +<span class="fc" id="L40">		VALUE_NAMES = Collections.unmodifiableMap(values);</span>
    +
    +<span class="fc" id="L42">		final Map&lt;CounterEntity, String&gt; entities = new HashMap&lt;CounterEntity, String&gt;();</span>
    +<span class="fc" id="L43">		entities.put(CounterEntity.INSTRUCTION, &quot;instructions&quot;);</span>
    +<span class="fc" id="L44">		entities.put(CounterEntity.BRANCH, &quot;branches&quot;);</span>
    +<span class="fc" id="L45">		entities.put(CounterEntity.COMPLEXITY, &quot;complexity&quot;);</span>
    +<span class="fc" id="L46">		entities.put(CounterEntity.LINE, &quot;lines&quot;);</span>
    +<span class="fc" id="L47">		entities.put(CounterEntity.METHOD, &quot;methods&quot;);</span>
    +<span class="fc" id="L48">		entities.put(CounterEntity.CLASS, &quot;classes&quot;);</span>
    +<span class="fc" id="L49">		ENTITY_NAMES = Collections.unmodifiableMap(entities);</span>
    +<span class="fc" id="L50">	}</span>
    +
    +	private CounterEntity entity;
    +
    +	private CounterValue value;
    +
    +	private BigDecimal minimum;
    +
    +	private BigDecimal maximum;
    +
    +	/**
    +	 * Creates a new instance with the following defaults:
    +	 * &lt;ul&gt;
    +	 * &lt;li&gt;counter entity: {@link CounterEntity#INSTRUCTION}
    +	 * &lt;li&gt;counter value: {@link CounterValue#COVEREDRATIO}
    +	 * &lt;li&gt;minimum: no limit
    +	 * &lt;li&gt;maximum: no limit
    +	 * &lt;/ul&gt;
    +	 */
    +<span class="fc" id="L69">	public Limit() {</span>
    +<span class="fc" id="L70">		this.entity = CounterEntity.INSTRUCTION;</span>
    +<span class="fc" id="L71">		this.value = CounterValue.COVEREDRATIO;</span>
    +<span class="fc" id="L72">	}</span>
    +
    +	/**
    +	 * @return the configured counter entity to check
    +	 */
    +	public CounterEntity getEntity() {
    +<span class="fc" id="L78">		return entity;</span>
    +	}
    +
    +	/**
    +	 * Sets the counter entity to check.
    +	 *
    +	 * @param entity
    +	 *            counter entity to check
    +	 */
    +	// TODO: use CounterEntity directly once Maven 3 is required.
    +	public void setCounter(final String entity) {
    +<span class="fc" id="L89">		this.entity = CounterEntity.valueOf(entity);</span>
    +<span class="fc" id="L90">	}</span>
    +
    +	/**
    +	 * @return the configured value to check
    +	 */
    +	public CounterValue getValue() {
    +<span class="fc" id="L96">		return value;</span>
    +	}
    +
    +	/**
    +	 * Sets the value to check.
    +	 *
    +	 * @param value
    +	 *            value to check
    +	 */
    +	// TODO: use CounterValue directly once Maven 3 is required.
    +	public void setValue(final String value) {
    +<span class="fc" id="L107">		this.value = CounterValue.valueOf(value);</span>
    +<span class="fc" id="L108">	}</span>
    +
    +	/**
    +	 * @return configured minimum value, or &lt;code&gt;null&lt;/code&gt; if no minimum is
    +	 *         given
    +	 */
    +	public String getMinimum() {
    +<span class="fc bfc" id="L115" title="All 2 branches covered.">		return minimum == null ? null : minimum.toPlainString();</span>
    +	}
    +
    +	/**
    +	 * Sets the expected minimum value. If the minimum refers to a ratio it must
    +	 * be in the range from 0.0 to 1.0 where the number of decimal places will
    +	 * also determine the precision in error messages. A limit ratio may
    +	 * optionally be declared as a percentage where 0.80 and 80% represent the
    +	 * same value.
    +	 *
    +	 * @param minimum
    +	 *            allowed minimum or &lt;code&gt;null&lt;/code&gt;, if no minimum should be
    +	 *            checked
    +	 */
    +	public void setMinimum(final String minimum) {
    +<span class="fc" id="L130">		this.minimum = parseValue(minimum);</span>
    +<span class="fc" id="L131">	}</span>
    +
    +	/**
    +	 * @return configured maximum value, or &lt;code&gt;null&lt;/code&gt; if no maximum is
    +	 *         given
    +	 */
    +	public String getMaximum() {
    +<span class="fc bfc" id="L138" title="All 2 branches covered.">		return maximum == null ? null : maximum.toPlainString();</span>
    +	}
    +
    +	/**
    +	 * Sets the expected maximum value. If the maximum refers to a ratio it must
    +	 * be in the range from 0.0 to 1.0 where the number of decimal places will
    +	 * also determine the precision in error messages. A limit ratio may
    +	 * optionally be declared as a percentage where 0.80 and 80% represent the
    +	 * same value.
    +	 *
    +	 * @param maximum
    +	 *            allowed maximum or &lt;code&gt;null&lt;/code&gt;, if no maximum should be
    +	 *            checked
    +	 */
    +	public void setMaximum(final String maximum) {
    +<span class="fc" id="L153">		this.maximum = parseValue(maximum);</span>
    +<span class="fc" id="L154">	}</span>
    +
    +	private static BigDecimal parseValue(final String value) {
    +<span class="fc bfc" id="L157" title="All 2 branches covered.">		if (value == null) {</span>
    +<span class="fc" id="L158">			return null;</span>
    +		}
    +
    +<span class="fc" id="L161">		final String trimmedValue = value.trim();</span>
    +<span class="fc bfc" id="L162" title="All 2 branches covered.">		if (trimmedValue.endsWith(&quot;%&quot;)) {</span>
    +<span class="fc" id="L163">			final String percent = trimmedValue.substring(0,</span>
    +					trimmedValue.length() - 1);
    +<span class="fc" id="L165">			return new BigDecimal(percent).movePointLeft(2);</span>
    +		}
    +
    +<span class="fc" id="L168">		return new BigDecimal(trimmedValue);</span>
    +	}
    +
    +	String check(final ICoverageNode node) {
    +<span class="fc" id="L172">		final String msg = checkRatioLimit();</span>
    +<span class="fc bfc" id="L173" title="All 2 branches covered.">		if (msg != null) {</span>
    +<span class="fc" id="L174">			return msg;</span>
    +		}
    +<span class="fc" id="L176">		final double d = node.getCounter(entity).getValue(value);</span>
    +<span class="fc bfc" id="L177" title="All 2 branches covered.">		if (Double.isNaN(d)) {</span>
    +<span class="fc" id="L178">			return null;</span>
    +		}
    +<span class="fc" id="L180">		final BigDecimal bd = BigDecimal.valueOf(d);</span>
    +<span class="fc bfc" id="L181" title="All 4 branches covered.">		if (minimum != null &amp;&amp; minimum.compareTo(bd) &gt; 0) {</span>
    +<span class="fc" id="L182">			return message(&quot;minimum&quot;, bd, minimum, RoundingMode.FLOOR);</span>
    +		}
    +<span class="fc bfc" id="L184" title="All 4 branches covered.">		if (maximum != null &amp;&amp; maximum.compareTo(bd) &lt; 0) {</span>
    +<span class="fc" id="L185">			return message(&quot;maximum&quot;, bd, maximum, RoundingMode.CEILING);</span>
    +		}
    +<span class="fc" id="L187">		return null;</span>
    +	}
    +
    +	private String message(final String minmax, final BigDecimal v,
    +			final BigDecimal ref, final RoundingMode mode) {
    +<span class="fc" id="L192">		final BigDecimal rounded = v.setScale(ref.scale(), mode);</span>
    +<span class="fc" id="L193">		return String.format(&quot;%s %s is %s, but expected %s is %s&quot;,</span>
    +				ENTITY_NAMES.get(entity), VALUE_NAMES.get(value),
    +				rounded.toPlainString(), minmax, ref.toPlainString());
    +	}
    +
    +	private String checkRatioLimit() {
    +<span class="fc bfc" id="L199" title="All 4 branches covered.">		if (CounterValue.MISSEDRATIO.equals(value)</span>
    +				|| CounterValue.COVEREDRATIO.equals(value)) {
    +<span class="fc" id="L201">			final String minmsg = checkRatioLimit(&quot;minimum&quot;, minimum);</span>
    +<span class="fc bfc" id="L202" title="All 2 branches covered.">			if (minmsg != null) {</span>
    +<span class="fc" id="L203">				return minmsg;</span>
    +			}
    +<span class="fc" id="L205">			final String maxmsg = checkRatioLimit(&quot;maximum&quot;, maximum);</span>
    +<span class="fc bfc" id="L206" title="All 2 branches covered.">			if (maxmsg != null) {</span>
    +<span class="fc" id="L207">				return maxmsg;</span>
    +			}
    +		}
    +<span class="fc" id="L210">		return null;</span>
    +	}
    +
    +	private String checkRatioLimit(final String minmax, final BigDecimal v) {
    +<span class="fc bfc" id="L214" title="All 6 branches covered.">		if (v != null &amp;&amp; (v.compareTo(BigDecimal.ZERO) &lt; 0</span>
    +				|| v.compareTo(BigDecimal.ONE) &gt; 0)) {
    +<span class="fc" id="L216">			return String.format(</span>
    +					&quot;given %s ratio is %s, but must be between 0.0 and 1.0&quot;,
    +					minmax, v);
    +		}
    +<span class="fc" id="L220">		return null;</span>
    +	}
    +
    +}
    +</pre><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.12.202403270442</span>Code Coverage Report for JaCoCo 0.8.12-SNAPSHOT</div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/trunk/coverage/org.jacoco.report/org.jacoco.report.check/Rule.html b/jacoco/trunk/coverage/org.jacoco.report/org.jacoco.report.check/Rule.html
    new file mode 100644
    index 00000000000..061eb7af5dc
    --- /dev/null
    +++ b/jacoco/trunk/coverage/org.jacoco.report/org.jacoco.report.check/Rule.html
    @@ -0,0 +1 @@
    +<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="en"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../../jacoco-resources/report.gif" type="image/gif"/><title>Rule</title><script type="text/javascript" src="../../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../../index.html" class="el_report">JaCoCo</a> &gt; <a href="../index.html" class="el_bundle">org.jacoco.report</a> &gt; <a href="index.html" class="el_package">org.jacoco.report.check</a> &gt; <span class="el_class">Rule</span></div><h1>Rule</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">0 of 82</td><td class="ctr2">100%</td><td class="bar">0 of 4</td><td class="ctr2">100%</td><td class="ctr1">0</td><td class="ctr2">13</td><td class="ctr1">0</td><td class="ctr2">24</td><td class="ctr1">0</td><td class="ctr2">11</td></tr></tfoot><tbody><tr><td id="a6"><a href="Rule.java.html#L38" class="el_method">Rule()</a></td><td class="bar" id="b0"><img src="../../jacoco-resources/greenbar.gif" width="120" height="10" title="17" alt="17"/></td><td class="ctr2" id="c0">100%</td><td class="bar" id="d1"/><td class="ctr2" id="e1">n/a</td><td class="ctr1" id="f0">0</td><td class="ctr2" id="g1">1</td><td class="ctr1" id="h0">0</td><td class="ctr2" id="i0">6</td><td class="ctr1" id="j0">0</td><td class="ctr2" id="k0">1</td></tr><tr><td id="a5"><a href="Rule.java.html#L120" class="el_method">matches(String)</a></td><td class="bar" id="b1"><img src="../../jacoco-resources/greenbar.gif" width="98" height="10" title="14" alt="14"/></td><td class="ctr2" id="c1">100%</td><td class="bar" id="d0"><img src="../../jacoco-resources/greenbar.gif" width="120" height="10" title="4" alt="4"/></td><td class="ctr2" id="e0">100%</td><td class="ctr1" id="f1">0</td><td class="ctr2" id="g0">3</td><td class="ctr1" id="h1">0</td><td class="ctr2" id="i6">1</td><td class="ctr1" id="j1">0</td><td class="ctr2" id="k1">1</td></tr><tr><td id="a0"><a href="Rule.java.html#L114" class="el_method">createLimit()</a></td><td class="bar" id="b2"><img src="../../jacoco-resources/greenbar.gif" width="77" height="10" title="11" alt="11"/></td><td class="ctr2" id="c2">100%</td><td class="bar" id="d2"/><td class="ctr2" id="e2">n/a</td><td class="ctr1" id="f2">0</td><td class="ctr2" id="g2">1</td><td class="ctr1" id="h2">0</td><td class="ctr2" id="i1">3</td><td class="ctr1" id="j2">0</td><td class="ctr2" id="k2">1</td></tr><tr><td id="a9"><a href="Rule.java.html#L72" class="el_method">setIncludes(String)</a></td><td class="bar" id="b3"><img src="../../jacoco-resources/greenbar.gif" width="70" height="10" title="10" alt="10"/></td><td class="ctr2" id="c3">100%</td><td class="bar" id="d3"/><td class="ctr2" id="e3">n/a</td><td class="ctr1" id="f3">0</td><td class="ctr2" id="g3">1</td><td class="ctr1" id="h3">0</td><td class="ctr2" id="i2">3</td><td class="ctr1" id="j3">0</td><td class="ctr2" id="k3">1</td></tr><tr><td id="a8"><a href="Rule.java.html#L89" class="el_method">setExcludes(String)</a></td><td class="bar" id="b4"><img src="../../jacoco-resources/greenbar.gif" width="70" height="10" title="10" alt="10"/></td><td class="ctr2" id="c4">100%</td><td class="bar" id="d4"/><td class="ctr2" id="e4">n/a</td><td class="ctr1" id="f4">0</td><td class="ctr2" id="g4">1</td><td class="ctr1" id="h4">0</td><td class="ctr2" id="i3">3</td><td class="ctr1" id="j4">0</td><td class="ctr2" id="k4">1</td></tr><tr><td id="a7"><a href="Rule.java.html#L57" class="el_method">setElement(ICoverageNode.ElementType)</a></td><td class="bar" id="b5"><img src="../../jacoco-resources/greenbar.gif" width="28" height="10" title="4" alt="4"/></td><td class="ctr2" id="c5">100%</td><td class="bar" id="d5"/><td class="ctr2" id="e5">n/a</td><td class="ctr1" id="f5">0</td><td class="ctr2" id="g5">1</td><td class="ctr1" id="h5">0</td><td class="ctr2" id="i4">2</td><td class="ctr1" id="j5">0</td><td class="ctr2" id="k5">1</td></tr><tr><td id="a10"><a href="Rule.java.html#L105" class="el_method">setLimits(List)</a></td><td class="bar" id="b6"><img src="../../jacoco-resources/greenbar.gif" width="28" height="10" title="4" alt="4"/></td><td class="ctr2" id="c6">100%</td><td class="bar" id="d6"/><td class="ctr2" id="e6">n/a</td><td class="ctr1" id="f6">0</td><td class="ctr2" id="g6">1</td><td class="ctr1" id="h6">0</td><td class="ctr2" id="i5">2</td><td class="ctr1" id="j6">0</td><td class="ctr2" id="k6">1</td></tr><tr><td id="a1"><a href="Rule.java.html#L49" class="el_method">getElement()</a></td><td class="bar" id="b7"><img src="../../jacoco-resources/greenbar.gif" width="21" height="10" title="3" alt="3"/></td><td class="ctr2" id="c7">100%</td><td class="bar" id="d7"/><td class="ctr2" id="e7">n/a</td><td class="ctr1" id="f7">0</td><td class="ctr2" id="g7">1</td><td class="ctr1" id="h7">0</td><td class="ctr2" id="i7">1</td><td class="ctr1" id="j7">0</td><td class="ctr2" id="k7">1</td></tr><tr><td id="a3"><a href="Rule.java.html#L64" class="el_method">getIncludes()</a></td><td class="bar" id="b8"><img src="../../jacoco-resources/greenbar.gif" width="21" height="10" title="3" alt="3"/></td><td class="ctr2" id="c8">100%</td><td class="bar" id="d8"/><td class="ctr2" id="e8">n/a</td><td class="ctr1" id="f8">0</td><td class="ctr2" id="g8">1</td><td class="ctr1" id="h8">0</td><td class="ctr2" id="i8">1</td><td class="ctr1" id="j8">0</td><td class="ctr2" id="k8">1</td></tr><tr><td id="a2"><a href="Rule.java.html#L80" class="el_method">getExcludes()</a></td><td class="bar" id="b9"><img src="../../jacoco-resources/greenbar.gif" width="21" height="10" title="3" alt="3"/></td><td class="ctr2" id="c9">100%</td><td class="bar" id="d9"/><td class="ctr2" id="e9">n/a</td><td class="ctr1" id="f9">0</td><td class="ctr2" id="g9">1</td><td class="ctr1" id="h9">0</td><td class="ctr2" id="i9">1</td><td class="ctr1" id="j9">0</td><td class="ctr2" id="k9">1</td></tr><tr><td id="a4"><a href="Rule.java.html#L97" class="el_method">getLimits()</a></td><td class="bar" id="b10"><img src="../../jacoco-resources/greenbar.gif" width="21" height="10" title="3" alt="3"/></td><td class="ctr2" id="c10">100%</td><td class="bar" id="d10"/><td class="ctr2" id="e10">n/a</td><td class="ctr1" id="f10">0</td><td class="ctr2" id="g10">1</td><td class="ctr1" id="h10">0</td><td class="ctr2" id="i10">1</td><td class="ctr1" id="j10">0</td><td class="ctr2" id="k10">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.12.202403270442</span>Code Coverage Report for JaCoCo 0.8.12-SNAPSHOT</div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/trunk/coverage/org.jacoco.report/org.jacoco.report.check/Rule.java.html b/jacoco/trunk/coverage/org.jacoco.report/org.jacoco.report.check/Rule.java.html
    new file mode 100644
    index 00000000000..3a8b66ebaa4
    --- /dev/null
    +++ b/jacoco/trunk/coverage/org.jacoco.report/org.jacoco.report.check/Rule.java.html
    @@ -0,0 +1,124 @@
    +<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="en"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../../jacoco-resources/report.gif" type="image/gif"/><title>Rule.java</title><link rel="stylesheet" href="../../jacoco-resources/prettify.css" type="text/css"/><script type="text/javascript" src="../../jacoco-resources/prettify.js"></script></head><body onload="window['PR_TAB_WIDTH']=4;prettyPrint()"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../../index.html" class="el_report">JaCoCo</a> &gt; <a href="../index.html" class="el_bundle">org.jacoco.report</a> &gt; <a href="index.source.html" class="el_package">org.jacoco.report.check</a> &gt; <span class="el_source">Rule.java</span></div><h1>Rule.java</h1><pre class="source lang-java linenums">/*******************************************************************************
    + * Copyright (c) 2009, 2024 Mountainminds GmbH &amp; Co. KG and Contributors
    + * This program and the accompanying materials are made available under
    + * the terms of the Eclipse Public License 2.0 which is available at
    + * http://www.eclipse.org/legal/epl-2.0
    + *
    + * SPDX-License-Identifier: EPL-2.0
    + *
    + * Contributors:
    + *    Marc R. Hoffmann - initial API and implementation
    + *
    + *******************************************************************************/
    +package org.jacoco.report.check;
    +
    +import java.util.ArrayList;
    +import java.util.List;
    +
    +import org.jacoco.core.analysis.ICoverageNode.ElementType;
    +import org.jacoco.core.runtime.WildcardMatcher;
    +
    +/**
    + * A rule applies for a certain element type and can define any number of limits
    + * for all elements of this type.
    + */
    +public final class Rule {
    +
    +	private ElementType element;
    +	private String includes;
    +	private String excludes;
    +	private List&lt;Limit&gt; limits;
    +
    +	private WildcardMatcher includesMatcher;
    +	private WildcardMatcher excludesMatcher;
    +
    +	/**
    +	 * Creates a new Rule without limits.
    +	 */
    +<span class="fc" id="L38">	public Rule() {</span>
    +<span class="fc" id="L39">		this.element = ElementType.BUNDLE;</span>
    +<span class="fc" id="L40">		this.limits = new ArrayList&lt;Limit&gt;();</span>
    +<span class="fc" id="L41">		this.setIncludes(&quot;*&quot;);</span>
    +<span class="fc" id="L42">		this.setExcludes(&quot;&quot;);</span>
    +<span class="fc" id="L43">	}</span>
    +
    +	/**
    +	 * @return element type this rule applies to
    +	 */
    +	public ElementType getElement() {
    +<span class="fc" id="L49">		return element;</span>
    +	}
    +
    +	/**
    +	 * @param elementType
    +	 *            element type this rule applies to
    +	 */
    +	public void setElement(final ElementType elementType) {
    +<span class="fc" id="L57">		this.element = elementType;</span>
    +<span class="fc" id="L58">	}</span>
    +
    +	/**
    +	 * @return includes pattern
    +	 */
    +	public String getIncludes() {
    +<span class="fc" id="L64">		return includes;</span>
    +	}
    +
    +	/**
    +	 * @param includes
    +	 *            includes pattern
    +	 */
    +	public void setIncludes(final String includes) {
    +<span class="fc" id="L72">		this.includes = includes;</span>
    +<span class="fc" id="L73">		this.includesMatcher = new WildcardMatcher(includes);</span>
    +<span class="fc" id="L74">	}</span>
    +
    +	/**
    +	 * @return excludes pattern
    +	 */
    +	public String getExcludes() {
    +<span class="fc" id="L80">		return excludes;</span>
    +	}
    +
    +	/**
    +	 *
    +	 * @param excludes
    +	 *            excludes patterns
    +	 */
    +	public void setExcludes(final String excludes) {
    +<span class="fc" id="L89">		this.excludes = excludes;</span>
    +<span class="fc" id="L90">		this.excludesMatcher = new WildcardMatcher(excludes);</span>
    +<span class="fc" id="L91">	}</span>
    +
    +	/**
    +	 * @return list of {@link Limit}s configured for this rule
    +	 */
    +	public List&lt;Limit&gt; getLimits() {
    +<span class="fc" id="L97">		return limits;</span>
    +	}
    +
    +	/**
    +	 * @param limits
    +	 *            list of {@link Limit}s configured for this rule
    +	 */
    +	public void setLimits(final List&lt;Limit&gt; limits) {
    +<span class="fc" id="L105">		this.limits = limits;</span>
    +<span class="fc" id="L106">	}</span>
    +
    +	/**
    +	 * Creates and adds a new {@link Limit}.
    +	 *
    +	 * @return creates {@link Limit}
    +	 */
    +	public Limit createLimit() {
    +<span class="fc" id="L114">		final Limit limit = new Limit();</span>
    +<span class="fc" id="L115">		this.limits.add(limit);</span>
    +<span class="fc" id="L116">		return limit;</span>
    +	}
    +
    +	boolean matches(final String name) {
    +<span class="fc bfc" id="L120" title="All 4 branches covered.">		return includesMatcher.matches(name) &amp;&amp; !excludesMatcher.matches(name);</span>
    +	}
    +
    +}
    +</pre><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.12.202403270442</span>Code Coverage Report for JaCoCo 0.8.12-SNAPSHOT</div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/trunk/coverage/org.jacoco.report/org.jacoco.report.check/RulesChecker$1.html b/jacoco/trunk/coverage/org.jacoco.report/org.jacoco.report.check/RulesChecker$1.html
    new file mode 100644
    index 00000000000..92656c21e08
    --- /dev/null
    +++ b/jacoco/trunk/coverage/org.jacoco.report/org.jacoco.report.check/RulesChecker$1.html
    @@ -0,0 +1 @@
    +<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="en"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../../jacoco-resources/report.gif" type="image/gif"/><title>RulesChecker.new IReportVisitor() {...}</title><script type="text/javascript" src="../../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../../index.html" class="el_report">JaCoCo</a> &gt; <a href="../index.html" class="el_bundle">org.jacoco.report</a> &gt; <a href="index.html" class="el_package">org.jacoco.report.check</a> &gt; <span class="el_class">RulesChecker.new IReportVisitor() {...}</span></div><h1>RulesChecker.new IReportVisitor() {...}</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">0 of 18</td><td class="ctr2">100%</td><td class="bar">0 of 0</td><td class="ctr2">n/a</td><td class="ctr1">0</td><td class="ctr2">5</td><td class="ctr1">0</td><td class="ctr2">6</td><td class="ctr1">0</td><td class="ctr2">5</td></tr></tfoot><tbody><tr><td id="a4"><a href="RulesChecker.java.html#L94" class="el_method">{...}</a></td><td class="bar" id="b0"><img src="../../jacoco-resources/greenbar.gif" width="120" height="10" title="9" alt="9"/></td><td class="ctr2" id="c0">100%</td><td class="bar" id="d0"/><td class="ctr2" id="e0">n/a</td><td class="ctr1" id="f0">0</td><td class="ctr2" id="g0">1</td><td class="ctr1" id="h0">0</td><td class="ctr2" id="i1">1</td><td class="ctr1" id="j0">0</td><td class="ctr2" id="k0">1</td></tr><tr><td id="a0"><a href="RulesChecker.java.html#L86" class="el_method">visitBundle(IBundleCoverage, ISourceFileLocator)</a></td><td class="bar" id="b1"><img src="../../jacoco-resources/greenbar.gif" width="66" height="10" title="5" alt="5"/></td><td class="ctr2" id="c1">100%</td><td class="bar" id="d1"/><td class="ctr2" id="e1">n/a</td><td class="ctr1" id="f1">0</td><td class="ctr2" id="g1">1</td><td class="ctr1" id="h1">0</td><td class="ctr2" id="i0">2</td><td class="ctr1" id="j1">0</td><td class="ctr2" id="k1">1</td></tr><tr><td id="a2"><a href="RulesChecker.java.html#L81" class="el_method">visitGroup(String)</a></td><td class="bar" id="b2"><img src="../../jacoco-resources/greenbar.gif" width="26" height="10" title="2" alt="2"/></td><td class="ctr2" id="c2">100%</td><td class="bar" id="d2"/><td class="ctr2" id="e2">n/a</td><td class="ctr1" id="f2">0</td><td class="ctr2" id="g2">1</td><td class="ctr1" id="h2">0</td><td class="ctr2" id="i2">1</td><td class="ctr1" id="j2">0</td><td class="ctr2" id="k2">1</td></tr><tr><td id="a3"><a href="RulesChecker.java.html#L92" class="el_method">visitInfo(List, Collection)</a></td><td class="bar" id="b3"><img src="../../jacoco-resources/greenbar.gif" width="13" height="10" title="1" alt="1"/></td><td class="ctr2" id="c3">100%</td><td class="bar" id="d3"/><td class="ctr2" id="e3">n/a</td><td class="ctr1" id="f3">0</td><td class="ctr2" id="g3">1</td><td class="ctr1" id="h3">0</td><td class="ctr2" id="i3">1</td><td class="ctr1" id="j3">0</td><td class="ctr2" id="k3">1</td></tr><tr><td id="a1"><a href="RulesChecker.java.html#L95" class="el_method">visitEnd()</a></td><td class="bar" id="b4"><img src="../../jacoco-resources/greenbar.gif" width="13" height="10" title="1" alt="1"/></td><td class="ctr2" id="c4">100%</td><td class="bar" id="d4"/><td class="ctr2" id="e4">n/a</td><td class="ctr1" id="f4">0</td><td class="ctr2" id="g4">1</td><td class="ctr1" id="h4">0</td><td class="ctr2" id="i4">1</td><td class="ctr1" id="j4">0</td><td class="ctr2" id="k4">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.12.202403270442</span>Code Coverage Report for JaCoCo 0.8.12-SNAPSHOT</div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/trunk/coverage/org.jacoco.report/org.jacoco.report.check/RulesChecker.html b/jacoco/trunk/coverage/org.jacoco.report/org.jacoco.report.check/RulesChecker.html
    new file mode 100644
    index 00000000000..08850529267
    --- /dev/null
    +++ b/jacoco/trunk/coverage/org.jacoco.report/org.jacoco.report.check/RulesChecker.html
    @@ -0,0 +1 @@
    +<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="en"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../../jacoco-resources/report.gif" type="image/gif"/><title>RulesChecker</title><script type="text/javascript" src="../../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../../index.html" class="el_report">JaCoCo</a> &gt; <a href="../index.html" class="el_bundle">org.jacoco.report</a> &gt; <a href="index.html" class="el_package">org.jacoco.report.check</a> &gt; <span class="el_class">RulesChecker</span></div><h1>RulesChecker</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">0 of 36</td><td class="ctr2">100%</td><td class="bar">0 of 0</td><td class="ctr2">n/a</td><td class="ctr1">0</td><td class="ctr2">4</td><td class="ctr1">0</td><td class="ctr2">10</td><td class="ctr1">0</td><td class="ctr2">4</td></tr></tfoot><tbody><tr><td id="a0"><a href="RulesChecker.java.html#L75" class="el_method">createVisitor(IViolationsOutput)</a></td><td class="bar" id="b0"><img src="../../jacoco-resources/greenbar.gif" width="120" height="10" title="15" alt="15"/></td><td class="ctr2" id="c0">100%</td><td class="bar" id="d0"/><td class="ctr2" id="e0">n/a</td><td class="ctr1" id="f0">0</td><td class="ctr2" id="g0">1</td><td class="ctr1" id="h0">0</td><td class="ctr2" id="i1">2</td><td class="ctr1" id="j0">0</td><td class="ctr2" id="k0">1</td></tr><tr><td id="a1"><a href="RulesChecker.java.html#L41" class="el_method">RulesChecker()</a></td><td class="bar" id="b1"><img src="../../jacoco-resources/greenbar.gif" width="104" height="10" title="13" alt="13"/></td><td class="ctr2" id="c1">100%</td><td class="bar" id="d1"/><td class="ctr2" id="e1">n/a</td><td class="ctr1" id="f1">0</td><td class="ctr2" id="g1">1</td><td class="ctr1" id="h1">0</td><td class="ctr2" id="i0">4</td><td class="ctr1" id="j1">0</td><td class="ctr2" id="k1">1</td></tr><tr><td id="a3"><a href="RulesChecker.java.html#L53" class="el_method">setRules(List)</a></td><td class="bar" id="b2"><img src="../../jacoco-resources/greenbar.gif" width="32" height="10" title="4" alt="4"/></td><td class="ctr2" id="c2">100%</td><td class="bar" id="d2"/><td class="ctr2" id="e2">n/a</td><td class="ctr1" id="f2">0</td><td class="ctr2" id="g2">1</td><td class="ctr1" id="h2">0</td><td class="ctr2" id="i2">2</td><td class="ctr1" id="j2">0</td><td class="ctr2" id="k2">1</td></tr><tr><td id="a2"><a href="RulesChecker.java.html#L64" class="el_method">setLanguageNames(ILanguageNames)</a></td><td class="bar" id="b3"><img src="../../jacoco-resources/greenbar.gif" width="32" height="10" title="4" alt="4"/></td><td class="ctr2" id="c3">100%</td><td class="bar" id="d3"/><td class="ctr2" id="e3">n/a</td><td class="ctr1" id="f3">0</td><td class="ctr2" id="g3">1</td><td class="ctr1" id="h3">0</td><td class="ctr2" id="i3">2</td><td class="ctr1" id="j3">0</td><td class="ctr2" id="k3">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.12.202403270442</span>Code Coverage Report for JaCoCo 0.8.12-SNAPSHOT</div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/trunk/coverage/org.jacoco.report/org.jacoco.report.check/RulesChecker.java.html b/jacoco/trunk/coverage/org.jacoco.report/org.jacoco.report.check/RulesChecker.java.html
    new file mode 100644
    index 00000000000..c226513269f
    --- /dev/null
    +++ b/jacoco/trunk/coverage/org.jacoco.report/org.jacoco.report.check/RulesChecker.java.html
    @@ -0,0 +1,100 @@
    +<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="en"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../../jacoco-resources/report.gif" type="image/gif"/><title>RulesChecker.java</title><link rel="stylesheet" href="../../jacoco-resources/prettify.css" type="text/css"/><script type="text/javascript" src="../../jacoco-resources/prettify.js"></script></head><body onload="window['PR_TAB_WIDTH']=4;prettyPrint()"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../../index.html" class="el_report">JaCoCo</a> &gt; <a href="../index.html" class="el_bundle">org.jacoco.report</a> &gt; <a href="index.source.html" class="el_package">org.jacoco.report.check</a> &gt; <span class="el_source">RulesChecker.java</span></div><h1>RulesChecker.java</h1><pre class="source lang-java linenums">/*******************************************************************************
    + * Copyright (c) 2009, 2024 Mountainminds GmbH &amp; Co. KG and Contributors
    + * This program and the accompanying materials are made available under
    + * the terms of the Eclipse Public License 2.0 which is available at
    + * http://www.eclipse.org/legal/epl-2.0
    + *
    + * SPDX-License-Identifier: EPL-2.0
    + *
    + * Contributors:
    + *    Marc R. Hoffmann - initial API and implementation
    + *
    + *******************************************************************************/
    +package org.jacoco.report.check;
    +
    +import java.io.IOException;
    +import java.util.ArrayList;
    +import java.util.Collection;
    +import java.util.List;
    +
    +import org.jacoco.core.analysis.IBundleCoverage;
    +import org.jacoco.core.data.ExecutionData;
    +import org.jacoco.core.data.SessionInfo;
    +import org.jacoco.report.ILanguageNames;
    +import org.jacoco.report.IReportGroupVisitor;
    +import org.jacoco.report.IReportVisitor;
    +import org.jacoco.report.ISourceFileLocator;
    +import org.jacoco.report.JavaNames;
    +
    +/**
    + * Formatter which checks a set of given rules and reports violations to a
    + * {@link IViolationsOutput} instance.
    + */
    +public class RulesChecker {
    +
    +	private List&lt;Rule&gt; rules;
    +	private ILanguageNames languageNames;
    +
    +	/**
    +	 * New formatter instance.
    +	 */
    +<span class="fc" id="L41">	public RulesChecker() {</span>
    +<span class="fc" id="L42">		this.rules = new ArrayList&lt;Rule&gt;();</span>
    +<span class="fc" id="L43">		this.setLanguageNames(new JavaNames());</span>
    +<span class="fc" id="L44">	}</span>
    +
    +	/**
    +	 * Sets the rules to check by this formatter.
    +	 *
    +	 * @param rules
    +	 *            rules to check
    +	 */
    +	public void setRules(final List&lt;Rule&gt; rules) {
    +<span class="fc" id="L53">		this.rules = rules;</span>
    +<span class="fc" id="L54">	}</span>
    +
    +	/**
    +	 * Sets the implementation for language name display for message formatting.
    +	 * Java language names are defined by default.
    +	 *
    +	 * @param languageNames
    +	 *            converter for language specific names
    +	 */
    +	public void setLanguageNames(final ILanguageNames languageNames) {
    +<span class="fc" id="L64">		this.languageNames = languageNames;</span>
    +<span class="fc" id="L65">	}</span>
    +
    +	/**
    +	 * Creates a new visitor to process the configured checks.
    +	 *
    +	 * @param output
    +	 *            call-back to report violations to
    +	 * @return visitor to emit the report data to
    +	 */
    +	public IReportVisitor createVisitor(final IViolationsOutput output) {
    +<span class="fc" id="L75">		final BundleChecker bundleChecker = new BundleChecker(rules,</span>
    +				languageNames, output);
    +<span class="fc" id="L77">		return new IReportVisitor() {</span>
    +
    +			public IReportGroupVisitor visitGroup(final String name)
    +					throws IOException {
    +<span class="fc" id="L81">				return this;</span>
    +			}
    +
    +			public void visitBundle(final IBundleCoverage bundle,
    +					final ISourceFileLocator locator) throws IOException {
    +<span class="fc" id="L86">				bundleChecker.checkBundle(bundle);</span>
    +<span class="fc" id="L87">			}</span>
    +
    +			public void visitInfo(final List&lt;SessionInfo&gt; sessionInfos,
    +					final Collection&lt;ExecutionData&gt; executionData)
    +					throws IOException {
    +<span class="fc" id="L92">			}</span>
    +
    +<span class="fc" id="L94">			public void visitEnd() throws IOException {</span>
    +<span class="fc" id="L95">			}</span>
    +		};
    +	}
    +
    +}
    +</pre><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.12.202403270442</span>Code Coverage Report for JaCoCo 0.8.12-SNAPSHOT</div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/trunk/coverage/org.jacoco.report/org.jacoco.report.check/index.html b/jacoco/trunk/coverage/org.jacoco.report/org.jacoco.report.check/index.html
    new file mode 100644
    index 00000000000..864e2859684
    --- /dev/null
    +++ b/jacoco/trunk/coverage/org.jacoco.report/org.jacoco.report.check/index.html
    @@ -0,0 +1 @@
    +<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="en"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../../jacoco-resources/report.gif" type="image/gif"/><title>org.jacoco.report.check</title><script type="text/javascript" src="../../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb', 'coveragetable'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="index.source.html" class="el_source">Source Files</a><a href="../../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../../index.html" class="el_report">JaCoCo</a> &gt; <a href="../index.html" class="el_bundle">org.jacoco.report</a> &gt; <span class="el_package">org.jacoco.report.check</span></div><h1>org.jacoco.report.check</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td><td class="sortable ctr1" id="l" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="m" onclick="toggleSort(this)">Classes</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">5 of 825</td><td class="ctr2">99%</td><td class="bar">0 of 84</td><td class="ctr2">100%</td><td class="ctr1">0</td><td class="ctr2">88</td><td class="ctr1">0</td><td class="ctr2">165</td><td class="ctr1">0</td><td class="ctr2">44</td><td class="ctr1">0</td><td class="ctr2">6</td></tr></tfoot><tbody><tr><td id="a1"><a href="BundleChecker$1.html" class="el_class">BundleChecker.new Object() {...}</a></td><td class="bar" id="b0"><img src="../../jacoco-resources/redbar.gif" width="1" height="10" title="5" alt="5"/><img src="../../jacoco-resources/greenbar.gif" width="12" height="10" title="35" alt="35"/></td><td class="ctr2" id="c5">87%</td><td class="bar" id="d3"/><td class="ctr2" id="e3">n/a</td><td class="ctr1" id="f0">0</td><td class="ctr2" id="g5">1</td><td class="ctr1" id="h0">0</td><td class="ctr2" id="i5">1</td><td class="ctr1" id="j0">0</td><td class="ctr2" id="k5">1</td><td class="ctr1" id="l0">0</td><td class="ctr2" id="m0">1</td></tr><tr><td id="a0"><a href="BundleChecker.html" class="el_class">BundleChecker</a></td><td class="bar" id="b1"><img src="../../jacoco-resources/greenbar.gif" width="120" height="10" title="342" alt="342"/></td><td class="ctr2" id="c0">100%</td><td class="bar" id="d0"><img src="../../jacoco-resources/greenbar.gif" width="120" height="10" title="46" alt="46"/></td><td class="ctr2" id="e0">100%</td><td class="ctr1" id="f1">0</td><td class="ctr2" id="g0">33</td><td class="ctr1" id="h1">0</td><td class="ctr2" id="i1">61</td><td class="ctr1" id="j1">0</td><td class="ctr2" id="k2">8</td><td class="ctr1" id="l1">0</td><td class="ctr2" id="m1">1</td></tr><tr><td id="a2"><a href="Limit.html" class="el_class">Limit</a></td><td class="bar" id="b2"><img src="../../jacoco-resources/greenbar.gif" width="107" height="10" title="307" alt="307"/></td><td class="ctr2" id="c1">100%</td><td class="bar" id="d1"><img src="../../jacoco-resources/greenbar.gif" width="88" height="10" title="34" alt="34"/></td><td class="ctr2" id="e1">100%</td><td class="ctr1" id="f2">0</td><td class="ctr2" id="g1">32</td><td class="ctr1" id="h2">0</td><td class="ctr2" id="i0">64</td><td class="ctr1" id="j2">0</td><td class="ctr2" id="k0">15</td><td class="ctr1" id="l2">0</td><td class="ctr2" id="m2">1</td></tr><tr><td id="a3"><a href="Rule.html" class="el_class">Rule</a></td><td class="bar" id="b3"><img src="../../jacoco-resources/greenbar.gif" width="28" height="10" title="82" alt="82"/></td><td class="ctr2" id="c2">100%</td><td class="bar" id="d2"><img src="../../jacoco-resources/greenbar.gif" width="10" height="10" title="4" alt="4"/></td><td class="ctr2" id="e2">100%</td><td class="ctr1" id="f3">0</td><td class="ctr2" id="g2">13</td><td class="ctr1" id="h3">0</td><td class="ctr2" id="i2">24</td><td class="ctr1" id="j3">0</td><td class="ctr2" id="k1">11</td><td class="ctr1" id="l3">0</td><td class="ctr2" id="m3">1</td></tr><tr><td id="a4"><a href="RulesChecker.html" class="el_class">RulesChecker</a></td><td class="bar" id="b4"><img src="../../jacoco-resources/greenbar.gif" width="12" height="10" title="36" alt="36"/></td><td class="ctr2" id="c3">100%</td><td class="bar" id="d4"/><td class="ctr2" id="e4">n/a</td><td class="ctr1" id="f4">0</td><td class="ctr2" id="g4">4</td><td class="ctr1" id="h4">0</td><td class="ctr2" id="i3">10</td><td class="ctr1" id="j4">0</td><td class="ctr2" id="k4">4</td><td class="ctr1" id="l4">0</td><td class="ctr2" id="m4">1</td></tr><tr><td id="a5"><a href="RulesChecker$1.html" class="el_class">RulesChecker.new IReportVisitor() {...}</a></td><td class="bar" id="b5"><img src="../../jacoco-resources/greenbar.gif" width="6" height="10" title="18" alt="18"/></td><td class="ctr2" id="c4">100%</td><td class="bar" id="d5"/><td class="ctr2" id="e5">n/a</td><td class="ctr1" id="f5">0</td><td class="ctr2" id="g3">5</td><td class="ctr1" id="h5">0</td><td class="ctr2" id="i4">6</td><td class="ctr1" id="j5">0</td><td class="ctr2" id="k3">5</td><td class="ctr1" id="l5">0</td><td class="ctr2" id="m5">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.12.202403270442</span>Code Coverage Report for JaCoCo 0.8.12-SNAPSHOT</div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/trunk/coverage/org.jacoco.report/org.jacoco.report.check/index.source.html b/jacoco/trunk/coverage/org.jacoco.report/org.jacoco.report.check/index.source.html
    new file mode 100644
    index 00000000000..2619a683ea8
    --- /dev/null
    +++ b/jacoco/trunk/coverage/org.jacoco.report/org.jacoco.report.check/index.source.html
    @@ -0,0 +1 @@
    +<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="en"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../../jacoco-resources/report.gif" type="image/gif"/><title>org.jacoco.report.check</title><script type="text/javascript" src="../../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb', 'coveragetable'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="index.html" class="el_class">Classes</a><a href="../../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../../index.html" class="el_report">JaCoCo</a> &gt; <a href="../index.html" class="el_bundle">org.jacoco.report</a> &gt; <span class="el_package">org.jacoco.report.check</span></div><h1>org.jacoco.report.check</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td><td class="sortable ctr1" id="l" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="m" onclick="toggleSort(this)">Classes</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">5 of 825</td><td class="ctr2">99%</td><td class="bar">0 of 84</td><td class="ctr2">100%</td><td class="ctr1">0</td><td class="ctr2">88</td><td class="ctr1">0</td><td class="ctr2">165</td><td class="ctr1">0</td><td class="ctr2">44</td><td class="ctr1">0</td><td class="ctr2">6</td></tr></tfoot><tbody><tr><td id="a0"><a href="BundleChecker.java.html" class="el_source">BundleChecker.java</a></td><td class="bar" id="b0"><img src="../../jacoco-resources/redbar.gif" width="1" height="10" title="5" alt="5"/><img src="../../jacoco-resources/greenbar.gif" width="118" height="10" title="377" alt="377"/></td><td class="ctr2" id="c3">98%</td><td class="bar" id="d0"><img src="../../jacoco-resources/greenbar.gif" width="120" height="10" title="46" alt="46"/></td><td class="ctr2" id="e0">100%</td><td class="ctr1" id="f0">0</td><td class="ctr2" id="g0">34</td><td class="ctr1" id="h0">0</td><td class="ctr2" id="i1">61</td><td class="ctr1" id="j0">0</td><td class="ctr2" id="k2">9</td><td class="ctr1" id="l0">0</td><td class="ctr2" id="m0">2</td></tr><tr><td id="a1"><a href="Limit.java.html" class="el_source">Limit.java</a></td><td class="bar" id="b1"><img src="../../jacoco-resources/greenbar.gif" width="96" height="10" title="307" alt="307"/></td><td class="ctr2" id="c0">100%</td><td class="bar" id="d1"><img src="../../jacoco-resources/greenbar.gif" width="88" height="10" title="34" alt="34"/></td><td class="ctr2" id="e1">100%</td><td class="ctr1" id="f1">0</td><td class="ctr2" id="g1">32</td><td class="ctr1" id="h1">0</td><td class="ctr2" id="i0">64</td><td class="ctr1" id="j1">0</td><td class="ctr2" id="k0">15</td><td class="ctr1" id="l1">0</td><td class="ctr2" id="m2">1</td></tr><tr><td id="a2"><a href="Rule.java.html" class="el_source">Rule.java</a></td><td class="bar" id="b2"><img src="../../jacoco-resources/greenbar.gif" width="25" height="10" title="82" alt="82"/></td><td class="ctr2" id="c1">100%</td><td class="bar" id="d2"><img src="../../jacoco-resources/greenbar.gif" width="10" height="10" title="4" alt="4"/></td><td class="ctr2" id="e2">100%</td><td class="ctr1" id="f2">0</td><td class="ctr2" id="g2">13</td><td class="ctr1" id="h2">0</td><td class="ctr2" id="i2">24</td><td class="ctr1" id="j2">0</td><td class="ctr2" id="k1">11</td><td class="ctr1" id="l2">0</td><td class="ctr2" id="m3">1</td></tr><tr><td id="a3"><a href="RulesChecker.java.html" class="el_source">RulesChecker.java</a></td><td class="bar" id="b3"><img src="../../jacoco-resources/greenbar.gif" width="16" height="10" title="54" alt="54"/></td><td class="ctr2" id="c2">100%</td><td class="bar" id="d3"/><td class="ctr2" id="e3">n/a</td><td class="ctr1" id="f3">0</td><td class="ctr2" id="g3">9</td><td class="ctr1" id="h3">0</td><td class="ctr2" id="i3">16</td><td class="ctr1" id="j3">0</td><td class="ctr2" id="k3">9</td><td class="ctr1" id="l3">0</td><td class="ctr2" id="m1">2</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.12.202403270442</span>Code Coverage Report for JaCoCo 0.8.12-SNAPSHOT</div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/trunk/coverage/org.jacoco.report/org.jacoco.report.csv/CSVFormatter$1Visitor.html b/jacoco/trunk/coverage/org.jacoco.report/org.jacoco.report.csv/CSVFormatter$1Visitor.html
    new file mode 100644
    index 00000000000..9ca08f02391
    --- /dev/null
    +++ b/jacoco/trunk/coverage/org.jacoco.report/org.jacoco.report.csv/CSVFormatter$1Visitor.html
    @@ -0,0 +1 @@
    +<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="en"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../../jacoco-resources/report.gif" type="image/gif"/><title>CSVFormatter.new IReportVisitor() {...}</title><script type="text/javascript" src="../../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../../index.html" class="el_report">JaCoCo</a> &gt; <a href="../index.html" class="el_bundle">org.jacoco.report</a> &gt; <a href="index.html" class="el_package">org.jacoco.report.csv</a> &gt; <span class="el_class">CSVFormatter.new IReportVisitor() {...}</span></div><h1>CSVFormatter.new IReportVisitor() {...}</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">0 of 18</td><td class="ctr2">100%</td><td class="bar">0 of 0</td><td class="ctr2">n/a</td><td class="ctr1">0</td><td class="ctr2">3</td><td class="ctr1">0</td><td class="ctr2">6</td><td class="ctr1">0</td><td class="ctr2">3</td></tr></tfoot><tbody><tr><td id="a2"><a href="CSVFormatter.java.html#L83" class="el_method">{...}</a></td><td class="bar" id="b0"><img src="../../jacoco-resources/greenbar.gif" width="120" height="10" title="13" alt="13"/></td><td class="ctr2" id="c0">100%</td><td class="bar" id="d0"/><td class="ctr2" id="e0">n/a</td><td class="ctr1" id="f0">0</td><td class="ctr2" id="g0">1</td><td class="ctr1" id="h0">0</td><td class="ctr2" id="i0">3</td><td class="ctr1" id="j0">0</td><td class="ctr2" id="k0">1</td></tr><tr><td id="a0"><a href="CSVFormatter.java.html#L94" class="el_method">visitEnd()</a></td><td class="bar" id="b1"><img src="../../jacoco-resources/greenbar.gif" width="36" height="10" title="4" alt="4"/></td><td class="ctr2" id="c1">100%</td><td class="bar" id="d1"/><td class="ctr2" id="e1">n/a</td><td class="ctr1" id="f1">0</td><td class="ctr2" id="g1">1</td><td class="ctr1" id="h1">0</td><td class="ctr2" id="i1">2</td><td class="ctr1" id="j1">0</td><td class="ctr2" id="k1">1</td></tr><tr><td id="a1"><a href="CSVFormatter.java.html#L91" class="el_method">visitInfo(List, Collection)</a></td><td class="bar" id="b2"><img src="../../jacoco-resources/greenbar.gif" width="9" height="10" title="1" alt="1"/></td><td class="ctr2" id="c2">100%</td><td class="bar" id="d2"/><td class="ctr2" id="e2">n/a</td><td class="ctr1" id="f2">0</td><td class="ctr2" id="g2">1</td><td class="ctr1" id="h2">0</td><td class="ctr2" id="i2">1</td><td class="ctr1" id="j2">0</td><td class="ctr2" id="k2">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.12.202403270442</span>Code Coverage Report for JaCoCo 0.8.12-SNAPSHOT</div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/trunk/coverage/org.jacoco.report/org.jacoco.report.csv/CSVFormatter.html b/jacoco/trunk/coverage/org.jacoco.report/org.jacoco.report.csv/CSVFormatter.html
    new file mode 100644
    index 00000000000..3a5da7775b6
    --- /dev/null
    +++ b/jacoco/trunk/coverage/org.jacoco.report/org.jacoco.report.csv/CSVFormatter.html
    @@ -0,0 +1 @@
    +<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="en"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../../jacoco-resources/report.gif" type="image/gif"/><title>CSVFormatter</title><script type="text/javascript" src="../../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../../index.html" class="el_report">JaCoCo</a> &gt; <a href="../index.html" class="el_bundle">org.jacoco.report</a> &gt; <a href="index.html" class="el_package">org.jacoco.report.csv</a> &gt; <span class="el_class">CSVFormatter</span></div><h1>CSVFormatter</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">0 of 46</td><td class="ctr2">100%</td><td class="bar">0 of 0</td><td class="ctr2">n/a</td><td class="ctr1">0</td><td class="ctr2">5</td><td class="ctr1">0</td><td class="ctr2">11</td><td class="ctr1">0</td><td class="ctr2">5</td></tr></tfoot><tbody><tr><td id="a0"><a href="CSVFormatter.java.html#L78" class="el_method">createVisitor(OutputStream)</a></td><td class="bar" id="b0"><img src="../../jacoco-resources/greenbar.gif" width="120" height="10" title="24" alt="24"/></td><td class="ctr2" id="c0">100%</td><td class="bar" id="d0"/><td class="ctr2" id="e0">n/a</td><td class="ctr1" id="f0">0</td><td class="ctr2" id="g0">1</td><td class="ctr1" id="h0">0</td><td class="ctr2" id="i0">3</td><td class="ctr1" id="j0">0</td><td class="ctr2" id="k0">1</td></tr><tr><td id="a1"><a href="CSVFormatter.java.html#L31" class="el_method">CSVFormatter()</a></td><td class="bar" id="b1"><img src="../../jacoco-resources/greenbar.gif" width="55" height="10" title="11" alt="11"/></td><td class="ctr2" id="c1">100%</td><td class="bar" id="d1"/><td class="ctr2" id="e1">n/a</td><td class="ctr1" id="f1">0</td><td class="ctr2" id="g1">1</td><td class="ctr1" id="h1">0</td><td class="ctr2" id="i1">3</td><td class="ctr1" id="j1">0</td><td class="ctr2" id="k1">1</td></tr><tr><td id="a3"><a href="CSVFormatter.java.html#L45" class="el_method">setLanguageNames(ILanguageNames)</a></td><td class="bar" id="b2"><img src="../../jacoco-resources/greenbar.gif" width="20" height="10" title="4" alt="4"/></td><td class="ctr2" id="c2">100%</td><td class="bar" id="d2"/><td class="ctr2" id="e2">n/a</td><td class="ctr1" id="f2">0</td><td class="ctr2" id="g2">1</td><td class="ctr1" id="h2">0</td><td class="ctr2" id="i2">2</td><td class="ctr1" id="j2">0</td><td class="ctr2" id="k2">1</td></tr><tr><td id="a4"><a href="CSVFormatter.java.html#L64" class="el_method">setOutputEncoding(String)</a></td><td class="bar" id="b3"><img src="../../jacoco-resources/greenbar.gif" width="20" height="10" title="4" alt="4"/></td><td class="ctr2" id="c3">100%</td><td class="bar" id="d3"/><td class="ctr2" id="e3">n/a</td><td class="ctr1" id="f3">0</td><td class="ctr2" id="g3">1</td><td class="ctr1" id="h3">0</td><td class="ctr2" id="i3">2</td><td class="ctr1" id="j3">0</td><td class="ctr2" id="k3">1</td></tr><tr><td id="a2"><a href="CSVFormatter.java.html#L54" class="el_method">getLanguageNames()</a></td><td class="bar" id="b4"><img src="../../jacoco-resources/greenbar.gif" width="15" height="10" title="3" alt="3"/></td><td class="ctr2" id="c4">100%</td><td class="bar" id="d4"/><td class="ctr2" id="e4">n/a</td><td class="ctr1" id="f4">0</td><td class="ctr2" id="g4">1</td><td class="ctr1" id="h4">0</td><td class="ctr2" id="i4">1</td><td class="ctr1" id="j4">0</td><td class="ctr2" id="k4">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.12.202403270442</span>Code Coverage Report for JaCoCo 0.8.12-SNAPSHOT</div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/trunk/coverage/org.jacoco.report/org.jacoco.report.csv/CSVFormatter.java.html b/jacoco/trunk/coverage/org.jacoco.report/org.jacoco.report.csv/CSVFormatter.java.html
    new file mode 100644
    index 00000000000..27305adf3ad
    --- /dev/null
    +++ b/jacoco/trunk/coverage/org.jacoco.report/org.jacoco.report.csv/CSVFormatter.java.html
    @@ -0,0 +1,101 @@
    +<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="en"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../../jacoco-resources/report.gif" type="image/gif"/><title>CSVFormatter.java</title><link rel="stylesheet" href="../../jacoco-resources/prettify.css" type="text/css"/><script type="text/javascript" src="../../jacoco-resources/prettify.js"></script></head><body onload="window['PR_TAB_WIDTH']=4;prettyPrint()"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../../index.html" class="el_report">JaCoCo</a> &gt; <a href="../index.html" class="el_bundle">org.jacoco.report</a> &gt; <a href="index.source.html" class="el_package">org.jacoco.report.csv</a> &gt; <span class="el_source">CSVFormatter.java</span></div><h1>CSVFormatter.java</h1><pre class="source lang-java linenums">/*******************************************************************************
    + * Copyright (c) 2009, 2024 Mountainminds GmbH &amp; Co. KG and Contributors
    + * This program and the accompanying materials are made available under
    + * the terms of the Eclipse Public License 2.0 which is available at
    + * http://www.eclipse.org/legal/epl-2.0
    + *
    + * SPDX-License-Identifier: EPL-2.0
    + *
    + * Contributors:
    + *    Brock Janiczak - initial API and implementation
    + *
    + *******************************************************************************/
    +package org.jacoco.report.csv;
    +
    +import java.io.IOException;
    +import java.io.OutputStream;
    +import java.io.OutputStreamWriter;
    +import java.util.Collection;
    +import java.util.List;
    +
    +import org.jacoco.core.data.ExecutionData;
    +import org.jacoco.core.data.SessionInfo;
    +import org.jacoco.report.ILanguageNames;
    +import org.jacoco.report.IReportVisitor;
    +import org.jacoco.report.JavaNames;
    +
    +/**
    + * Report formatter that will create a single CSV file. By default the filename
    + * used will be the name of the session.
    + */
    +<span class="fc" id="L31">public class CSVFormatter {</span>
    +
    +<span class="fc" id="L33">	private ILanguageNames languageNames = new JavaNames();</span>
    +
    +<span class="fc" id="L35">	private String outputEncoding = &quot;UTF-8&quot;;</span>
    +
    +	/**
    +	 * Sets the implementation for language name display. Java language names
    +	 * are defined by default.
    +	 *
    +	 * @param languageNames
    +	 *            converter for language specific names
    +	 */
    +	public void setLanguageNames(final ILanguageNames languageNames) {
    +<span class="fc" id="L45">		this.languageNames = languageNames;</span>
    +<span class="fc" id="L46">	}</span>
    +
    +	/**
    +	 * Returns the language names call-back used in this report.
    +	 *
    +	 * @return language names
    +	 */
    +	public ILanguageNames getLanguageNames() {
    +<span class="fc" id="L54">		return languageNames;</span>
    +	}
    +
    +	/**
    +	 * Sets the encoding used for generated CSV document. Default is UTF-8.
    +	 *
    +	 * @param outputEncoding
    +	 *            CSV output encoding
    +	 */
    +	public void setOutputEncoding(final String outputEncoding) {
    +<span class="fc" id="L64">		this.outputEncoding = outputEncoding;</span>
    +<span class="fc" id="L65">	}</span>
    +
    +	/**
    +	 * Creates a new visitor to write a report to the given stream.
    +	 *
    +	 * @param output
    +	 *            output stream to write the report to
    +	 * @return visitor to emit the report data to
    +	 * @throws IOException
    +	 *             in case of problems with the output stream
    +	 */
    +	public IReportVisitor createVisitor(final OutputStream output)
    +			throws IOException {
    +<span class="fc" id="L78">		final DelimitedWriter writer = new DelimitedWriter(</span>
    +				new OutputStreamWriter(output, outputEncoding));
    +<span class="fc" id="L80">		final ClassRowWriter rowWriter = new ClassRowWriter(writer,</span>
    +				languageNames);
    +		class Visitor extends CSVGroupHandler implements IReportVisitor {
    +<span class="fc" id="L83">			Visitor() {</span>
    +<span class="fc" id="L84">				super(rowWriter);</span>
    +<span class="fc" id="L85">			}</span>
    +
    +			public void visitInfo(final List&lt;SessionInfo&gt; sessionInfos,
    +					final Collection&lt;ExecutionData&gt; executionData)
    +					throws IOException {
    +				// Info not used for CSV report
    +<span class="fc" id="L91">			}</span>
    +
    +			public void visitEnd() throws IOException {
    +<span class="fc" id="L94">				writer.close();</span>
    +<span class="fc" id="L95">			}</span>
    +		}
    +<span class="fc" id="L97">		return new Visitor();</span>
    +	}
    +
    +}
    +</pre><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.12.202403270442</span>Code Coverage Report for JaCoCo 0.8.12-SNAPSHOT</div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/trunk/coverage/org.jacoco.report/org.jacoco.report.csv/CSVGroupHandler.html b/jacoco/trunk/coverage/org.jacoco.report/org.jacoco.report.csv/CSVGroupHandler.html
    new file mode 100644
    index 00000000000..5f4c19d5c08
    --- /dev/null
    +++ b/jacoco/trunk/coverage/org.jacoco.report/org.jacoco.report.csv/CSVGroupHandler.html
    @@ -0,0 +1 @@
    +<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="en"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../../jacoco-resources/report.gif" type="image/gif"/><title>CSVGroupHandler</title><script type="text/javascript" src="../../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../../index.html" class="el_report">JaCoCo</a> &gt; <a href="../index.html" class="el_bundle">org.jacoco.report</a> &gt; <a href="index.html" class="el_package">org.jacoco.report.csv</a> &gt; <span class="el_class">CSVGroupHandler</span></div><h1>CSVGroupHandler</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">0 of 82</td><td class="ctr2">100%</td><td class="bar">0 of 8</td><td class="ctr2">100%</td><td class="ctr1">0</td><td class="ctr2">9</td><td class="ctr1">0</td><td class="ctr2">16</td><td class="ctr1">0</td><td class="ctr2">5</td></tr></tfoot><tbody><tr><td id="a3"><a href="CSVGroupHandler.java.html#L44" class="el_method">visitBundle(IBundleCoverage, ISourceFileLocator)</a></td><td class="bar" id="b0"><img src="../../jacoco-resources/greenbar.gif" width="120" height="10" title="42" alt="42"/></td><td class="ctr2" id="c0">100%</td><td class="bar" id="d0"><img src="../../jacoco-resources/greenbar.gif" width="120" height="10" title="6" alt="6"/></td><td class="ctr2" id="e0">100%</td><td class="ctr1" id="f0">0</td><td class="ctr2" id="g0">4</td><td class="ctr1" id="h0">0</td><td class="ctr2" id="i0">8</td><td class="ctr1" id="j0">0</td><td class="ctr2" id="k0">1</td></tr><tr><td id="a0"><a href="CSVGroupHandler.java.html#L61" class="el_method">appendName(String)</a></td><td class="bar" id="b1"><img src="../../jacoco-resources/greenbar.gif" width="48" height="10" title="17" alt="17"/></td><td class="ctr2" id="c1">100%</td><td class="bar" id="d1"><img src="../../jacoco-resources/greenbar.gif" width="40" height="10" title="2" alt="2"/></td><td class="ctr2" id="e1">100%</td><td class="ctr1" id="f1">0</td><td class="ctr2" id="g1">2</td><td class="ctr1" id="h1">0</td><td class="ctr2" id="i3">1</td><td class="ctr1" id="j1">0</td><td class="ctr2" id="k1">1</td></tr><tr><td id="a2"><a href="CSVGroupHandler.java.html#L37" class="el_method">CSVGroupHandler(ClassRowWriter, String)</a></td><td class="bar" id="b2"><img src="../../jacoco-resources/greenbar.gif" width="25" height="10" title="9" alt="9"/></td><td class="ctr2" id="c2">100%</td><td class="bar" id="d2"/><td class="ctr2" id="e2">n/a</td><td class="ctr1" id="f2">0</td><td class="ctr2" id="g2">1</td><td class="ctr1" id="h2">0</td><td class="ctr2" id="i1">4</td><td class="ctr1" id="j2">0</td><td class="ctr2" id="k2">1</td></tr><tr><td id="a4"><a href="CSVGroupHandler.java.html#L57" class="el_method">visitGroup(String)</a></td><td class="bar" id="b3"><img src="../../jacoco-resources/greenbar.gif" width="25" height="10" title="9" alt="9"/></td><td class="ctr2" id="c3">100%</td><td class="bar" id="d3"/><td class="ctr2" id="e3">n/a</td><td class="ctr1" id="f3">0</td><td class="ctr2" id="g3">1</td><td class="ctr1" id="h3">0</td><td class="ctr2" id="i4">1</td><td class="ctr1" id="j3">0</td><td class="ctr2" id="k3">1</td></tr><tr><td id="a1"><a href="CSVGroupHandler.java.html#L33" class="el_method">CSVGroupHandler(ClassRowWriter)</a></td><td class="bar" id="b4"><img src="../../jacoco-resources/greenbar.gif" width="14" height="10" title="5" alt="5"/></td><td class="ctr2" id="c4">100%</td><td class="bar" id="d4"/><td class="ctr2" id="e4">n/a</td><td class="ctr1" id="f4">0</td><td class="ctr2" id="g4">1</td><td class="ctr1" id="h4">0</td><td class="ctr2" id="i2">2</td><td class="ctr1" id="j4">0</td><td class="ctr2" id="k4">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.12.202403270442</span>Code Coverage Report for JaCoCo 0.8.12-SNAPSHOT</div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/trunk/coverage/org.jacoco.report/org.jacoco.report.csv/CSVGroupHandler.java.html b/jacoco/trunk/coverage/org.jacoco.report/org.jacoco.report.csv/CSVGroupHandler.java.html
    new file mode 100644
    index 00000000000..a939fe72f03
    --- /dev/null
    +++ b/jacoco/trunk/coverage/org.jacoco.report/org.jacoco.report.csv/CSVGroupHandler.java.html
    @@ -0,0 +1,65 @@
    +<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="en"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../../jacoco-resources/report.gif" type="image/gif"/><title>CSVGroupHandler.java</title><link rel="stylesheet" href="../../jacoco-resources/prettify.css" type="text/css"/><script type="text/javascript" src="../../jacoco-resources/prettify.js"></script></head><body onload="window['PR_TAB_WIDTH']=4;prettyPrint()"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../../index.html" class="el_report">JaCoCo</a> &gt; <a href="../index.html" class="el_bundle">org.jacoco.report</a> &gt; <a href="index.source.html" class="el_package">org.jacoco.report.csv</a> &gt; <span class="el_source">CSVGroupHandler.java</span></div><h1>CSVGroupHandler.java</h1><pre class="source lang-java linenums">/*******************************************************************************
    + * Copyright (c) 2009, 2024 Mountainminds GmbH &amp; Co. KG and Contributors
    + * This program and the accompanying materials are made available under
    + * the terms of the Eclipse Public License 2.0 which is available at
    + * http://www.eclipse.org/legal/epl-2.0
    + *
    + * SPDX-License-Identifier: EPL-2.0
    + *
    + * Contributors:
    + *    Brock Janiczak - initial API and implementation
    + *
    + *******************************************************************************/
    +package org.jacoco.report.csv;
    +
    +import java.io.IOException;
    +
    +import org.jacoco.core.analysis.IBundleCoverage;
    +import org.jacoco.core.analysis.IClassCoverage;
    +import org.jacoco.core.analysis.IPackageCoverage;
    +import org.jacoco.report.IReportGroupVisitor;
    +import org.jacoco.report.ISourceFileLocator;
    +
    +/**
    + * Report visitor that handles coverage information for groups.
    + */
    +class CSVGroupHandler implements IReportGroupVisitor {
    +
    +	private final ClassRowWriter writer;
    +
    +	private final String groupName;
    +
    +	public CSVGroupHandler(final ClassRowWriter writer) {
    +<span class="fc" id="L33">		this(writer, null);</span>
    +<span class="fc" id="L34">	}</span>
    +
    +	private CSVGroupHandler(final ClassRowWriter writer,
    +<span class="fc" id="L37">			final String groupName) {</span>
    +<span class="fc" id="L38">		this.writer = writer;</span>
    +<span class="fc" id="L39">		this.groupName = groupName;</span>
    +<span class="fc" id="L40">	}</span>
    +
    +	public void visitBundle(final IBundleCoverage bundle,
    +			final ISourceFileLocator locator) throws IOException {
    +<span class="fc" id="L44">		final String name = appendName(bundle.getName());</span>
    +<span class="fc bfc" id="L45" title="All 2 branches covered.">		for (final IPackageCoverage p : bundle.getPackages()) {</span>
    +<span class="fc" id="L46">			final String packageName = p.getName();</span>
    +<span class="fc bfc" id="L47" title="All 2 branches covered.">			for (final IClassCoverage c : p.getClasses()) {</span>
    +<span class="fc bfc" id="L48" title="All 2 branches covered.">				if (c.containsCode()) {</span>
    +<span class="fc" id="L49">					writer.writeRow(name, packageName, c);</span>
    +				}
    +			}
    +<span class="fc" id="L52">		}</span>
    +<span class="fc" id="L53">	}</span>
    +
    +	public IReportGroupVisitor visitGroup(final String name)
    +			throws IOException {
    +<span class="fc" id="L57">		return new CSVGroupHandler(writer, appendName(name));</span>
    +	}
    +
    +	private String appendName(final String name) {
    +<span class="fc bfc" id="L61" title="All 2 branches covered.">		return groupName == null ? name : (groupName + &quot;/&quot; + name);</span>
    +	}
    +
    +}
    +</pre><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.12.202403270442</span>Code Coverage Report for JaCoCo 0.8.12-SNAPSHOT</div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/trunk/coverage/org.jacoco.report/org.jacoco.report.csv/ClassRowWriter.html b/jacoco/trunk/coverage/org.jacoco.report/org.jacoco.report.csv/ClassRowWriter.html
    new file mode 100644
    index 00000000000..8019391436e
    --- /dev/null
    +++ b/jacoco/trunk/coverage/org.jacoco.report/org.jacoco.report.csv/ClassRowWriter.html
    @@ -0,0 +1 @@
    +<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="en"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../../jacoco-resources/report.gif" type="image/gif"/><title>ClassRowWriter</title><script type="text/javascript" src="../../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../../index.html" class="el_report">JaCoCo</a> &gt; <a href="../index.html" class="el_bundle">org.jacoco.report</a> &gt; <a href="index.html" class="el_package">org.jacoco.report.csv</a> &gt; <span class="el_class">ClassRowWriter</span></div><h1>ClassRowWriter</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">0 of 157</td><td class="ctr2">100%</td><td class="bar">0 of 4</td><td class="ctr2">100%</td><td class="ctr1">0</td><td class="ctr2">6</td><td class="ctr1">0</td><td class="ctr2">22</td><td class="ctr1">0</td><td class="ctr2">4</td></tr></tfoot><tbody><tr><td id="a2"><a href="ClassRowWriter.java.html#L55" class="el_method">writeHeader()</a></td><td class="bar" id="b0"><img src="../../jacoco-resources/greenbar.gif" width="120" height="10" title="61" alt="61"/></td><td class="ctr2" id="c0">100%</td><td class="bar" id="d0"><img src="../../jacoco-resources/greenbar.gif" width="120" height="10" title="2" alt="2"/></td><td class="ctr2" id="e0">100%</td><td class="ctr1" id="f0">0</td><td class="ctr2" id="g0">2</td><td class="ctr1" id="h0">0</td><td class="ctr2" id="i1">6</td><td class="ctr1" id="j0">0</td><td class="ctr2" id="k0">1</td></tr><tr><td id="a3"><a href="ClassRowWriter.java.html#L77" class="el_method">writeRow(String, String, IClassCoverage)</a></td><td class="bar" id="b1"><img src="../../jacoco-resources/greenbar.gif" width="120" height="10" title="61" alt="61"/></td><td class="ctr2" id="c1">100%</td><td class="bar" id="d1"><img src="../../jacoco-resources/greenbar.gif" width="120" height="10" title="2" alt="2"/></td><td class="ctr2" id="e1">100%</td><td class="ctr1" id="f1">0</td><td class="ctr2" id="g1">2</td><td class="ctr1" id="h1">0</td><td class="ctr2" id="i0">10</td><td class="ctr1" id="j1">0</td><td class="ctr2" id="k1">1</td></tr><tr><td id="a1"><a href="ClassRowWriter.java.html#L28" class="el_method">static {...}</a></td><td class="bar" id="b2"><img src="../../jacoco-resources/greenbar.gif" width="47" height="10" title="24" alt="24"/></td><td class="ctr2" id="c2">100%</td><td class="bar" id="d2"/><td class="ctr2" id="e2">n/a</td><td class="ctr1" id="f2">0</td><td class="ctr2" id="g2">1</td><td class="ctr1" id="h2">0</td><td class="ctr2" id="i3">1</td><td class="ctr1" id="j2">0</td><td class="ctr2" id="k2">1</td></tr><tr><td id="a0"><a href="ClassRowWriter.java.html#L48" class="el_method">ClassRowWriter(DelimitedWriter, ILanguageNames)</a></td><td class="bar" id="b3"><img src="../../jacoco-resources/greenbar.gif" width="21" height="10" title="11" alt="11"/></td><td class="ctr2" id="c3">100%</td><td class="bar" id="d3"/><td class="ctr2" id="e3">n/a</td><td class="ctr1" id="f3">0</td><td class="ctr2" id="g3">1</td><td class="ctr1" id="h3">0</td><td class="ctr2" id="i2">5</td><td class="ctr1" id="j3">0</td><td class="ctr2" id="k3">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.12.202403270442</span>Code Coverage Report for JaCoCo 0.8.12-SNAPSHOT</div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/trunk/coverage/org.jacoco.report/org.jacoco.report.csv/ClassRowWriter.java.html b/jacoco/trunk/coverage/org.jacoco.report/org.jacoco.report.csv/ClassRowWriter.java.html
    new file mode 100644
    index 00000000000..f2d5fc5f297
    --- /dev/null
    +++ b/jacoco/trunk/coverage/org.jacoco.report/org.jacoco.report.csv/ClassRowWriter.java.html
    @@ -0,0 +1,94 @@
    +<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="en"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../../jacoco-resources/report.gif" type="image/gif"/><title>ClassRowWriter.java</title><link rel="stylesheet" href="../../jacoco-resources/prettify.css" type="text/css"/><script type="text/javascript" src="../../jacoco-resources/prettify.js"></script></head><body onload="window['PR_TAB_WIDTH']=4;prettyPrint()"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../../index.html" class="el_report">JaCoCo</a> &gt; <a href="../index.html" class="el_bundle">org.jacoco.report</a> &gt; <a href="index.source.html" class="el_package">org.jacoco.report.csv</a> &gt; <span class="el_source">ClassRowWriter.java</span></div><h1>ClassRowWriter.java</h1><pre class="source lang-java linenums">/*******************************************************************************
    + * Copyright (c) 2009, 2024 Mountainminds GmbH &amp; Co. KG and Contributors
    + * This program and the accompanying materials are made available under
    + * the terms of the Eclipse Public License 2.0 which is available at
    + * http://www.eclipse.org/legal/epl-2.0
    + *
    + * SPDX-License-Identifier: EPL-2.0
    + *
    + * Contributors:
    + *    Brock Janiczak - initial API and implementation
    + *
    + *******************************************************************************/
    +package org.jacoco.report.csv;
    +
    +import java.io.IOException;
    +
    +import org.jacoco.core.analysis.IClassCoverage;
    +import org.jacoco.core.analysis.ICounter;
    +import org.jacoco.core.analysis.ICoverageNode.CounterEntity;
    +import org.jacoco.report.ILanguageNames;
    +
    +/**
    + * Writer for rows in the CVS report representing the summary data of a single
    + * class.
    + */
    +class ClassRowWriter {
    +
    +<span class="fc" id="L28">	private static final CounterEntity[] COUNTERS = { CounterEntity.INSTRUCTION,</span>
    +			CounterEntity.BRANCH, CounterEntity.LINE, CounterEntity.COMPLEXITY,
    +			CounterEntity.METHOD };
    +
    +	private final DelimitedWriter writer;
    +
    +	private final ILanguageNames languageNames;
    +
    +	/**
    +	 * Creates a new row writer that writes class information to the given CSV
    +	 * writer.
    +	 *
    +	 * @param writer
    +	 *            writer for csv output
    +	 * @param languageNames
    +	 *            converter for Java identifiers
    +	 * @throws IOException
    +	 *             in case of problems with the writer
    +	 */
    +	public ClassRowWriter(final DelimitedWriter writer,
    +<span class="fc" id="L48">			final ILanguageNames languageNames) throws IOException {</span>
    +<span class="fc" id="L49">		this.writer = writer;</span>
    +<span class="fc" id="L50">		this.languageNames = languageNames;</span>
    +<span class="fc" id="L51">		writeHeader();</span>
    +<span class="fc" id="L52">	}</span>
    +
    +	private void writeHeader() throws IOException {
    +<span class="fc" id="L55">		writer.write(&quot;GROUP&quot;, &quot;PACKAGE&quot;, &quot;CLASS&quot;);</span>
    +<span class="fc bfc" id="L56" title="All 2 branches covered.">		for (final CounterEntity entity : COUNTERS) {</span>
    +<span class="fc" id="L57">			writer.write(entity.name() + &quot;_MISSED&quot;);</span>
    +<span class="fc" id="L58">			writer.write(entity.name() + &quot;_COVERED&quot;);</span>
    +		}
    +<span class="fc" id="L60">		writer.nextLine();</span>
    +<span class="fc" id="L61">	}</span>
    +
    +	/**
    +	 * Writes the class summary information as a row.
    +	 *
    +	 * @param groupName
    +	 *            name of the group
    +	 * @param packageName
    +	 *            vm name of the package
    +	 * @param node
    +	 *            class coverage data
    +	 * @throws IOException
    +	 *             in case of problems with the writer
    +	 */
    +	public void writeRow(final String groupName, final String packageName,
    +			final IClassCoverage node) throws IOException {
    +<span class="fc" id="L77">		writer.write(groupName);</span>
    +<span class="fc" id="L78">		writer.write(languageNames.getPackageName(packageName));</span>
    +<span class="fc" id="L79">		final String className = languageNames.getClassName(node.getName(),</span>
    +				node.getSignature(), node.getSuperName(),
    +				node.getInterfaceNames());
    +<span class="fc" id="L82">		writer.write(className);</span>
    +
    +<span class="fc bfc" id="L84" title="All 2 branches covered.">		for (final CounterEntity entity : COUNTERS) {</span>
    +<span class="fc" id="L85">			final ICounter counter = node.getCounter(entity);</span>
    +<span class="fc" id="L86">			writer.write(counter.getMissedCount());</span>
    +<span class="fc" id="L87">			writer.write(counter.getCoveredCount());</span>
    +		}
    +
    +<span class="fc" id="L90">		writer.nextLine();</span>
    +<span class="fc" id="L91">	}</span>
    +
    +}
    +</pre><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.12.202403270442</span>Code Coverage Report for JaCoCo 0.8.12-SNAPSHOT</div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/trunk/coverage/org.jacoco.report/org.jacoco.report.csv/DelimitedWriter.html b/jacoco/trunk/coverage/org.jacoco.report/org.jacoco.report.csv/DelimitedWriter.html
    new file mode 100644
    index 00000000000..3c4f2bb351e
    --- /dev/null
    +++ b/jacoco/trunk/coverage/org.jacoco.report/org.jacoco.report.csv/DelimitedWriter.html
    @@ -0,0 +1 @@
    +<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="en"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../../jacoco-resources/report.gif" type="image/gif"/><title>DelimitedWriter</title><script type="text/javascript" src="../../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../../index.html" class="el_report">JaCoCo</a> &gt; <a href="../index.html" class="el_bundle">org.jacoco.report</a> &gt; <a href="index.html" class="el_package">org.jacoco.report.csv</a> &gt; <span class="el_class">DelimitedWriter</span></div><h1>DelimitedWriter</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">0 of 131</td><td class="ctr2">100%</td><td class="bar">0 of 10</td><td class="ctr2">100%</td><td class="ctr1">0</td><td class="ctr2">15</td><td class="ctr1">0</td><td class="ctr2">31</td><td class="ctr1">0</td><td class="ctr2">10</td></tr></tfoot><tbody><tr><td id="a3"><a href="DelimitedWriter.java.html#L160" class="el_method">escape(String)</a></td><td class="bar" id="b0"><img src="../../jacoco-resources/greenbar.gif" width="120" height="10" title="31" alt="31"/></td><td class="ctr2" id="c0">100%</td><td class="bar" id="d0"><img src="../../jacoco-resources/greenbar.gif" width="120" height="10" title="4" alt="4"/></td><td class="ctr2" id="e0">100%</td><td class="ctr1" id="f0">0</td><td class="ctr2" id="g0">3</td><td class="ctr1" id="h0">0</td><td class="ctr2" id="i0">5</td><td class="ctr1" id="j0">0</td><td class="ctr2" id="k0">1</td></tr><tr><td id="a8"><a href="DelimitedWriter.java.html#L94" class="el_method">write(String)</a></td><td class="bar" id="b1"><img src="../../jacoco-resources/greenbar.gif" width="81" height="10" title="21" alt="21"/></td><td class="ctr2" id="c1">100%</td><td class="bar" id="d1"><img src="../../jacoco-resources/greenbar.gif" width="60" height="10" title="2" alt="2"/></td><td class="ctr2" id="e1">100%</td><td class="ctr1" id="f1">0</td><td class="ctr2" id="g1">2</td><td class="ctr1" id="h1">0</td><td class="ctr2" id="i1">5</td><td class="ctr1" id="j1">0</td><td class="ctr2" id="k1">1</td></tr><tr><td id="a7"><a href="DelimitedWriter.java.html#L122" class="el_method">write(int[])</a></td><td class="bar" id="b2"><img src="../../jacoco-resources/greenbar.gif" width="81" height="10" title="21" alt="21"/></td><td class="ctr2" id="c2">100%</td><td class="bar" id="d2"><img src="../../jacoco-resources/greenbar.gif" width="60" height="10" title="2" alt="2"/></td><td class="ctr2" id="e2">100%</td><td class="ctr1" id="f2">0</td><td class="ctr2" id="g2">2</td><td class="ctr1" id="h2">0</td><td class="ctr2" id="i3">3</td><td class="ctr1" id="j2">0</td><td class="ctr2" id="k2">1</td></tr><tr><td id="a9"><a href="DelimitedWriter.java.html#L78" class="el_method">write(String[])</a></td><td class="bar" id="b3"><img src="../../jacoco-resources/greenbar.gif" width="77" height="10" title="20" alt="20"/></td><td class="ctr2" id="c3">100%</td><td class="bar" id="d3"><img src="../../jacoco-resources/greenbar.gif" width="60" height="10" title="2" alt="2"/></td><td class="ctr2" id="e3">100%</td><td class="ctr1" id="f3">0</td><td class="ctr2" id="g3">2</td><td class="ctr1" id="h3">0</td><td class="ctr2" id="i4">3</td><td class="ctr1" id="j3">0</td><td class="ctr2" id="k3">1</td></tr><tr><td id="a2"><a href="DelimitedWriter.java.html#L43" class="el_method">DelimitedWriter(Writer, char)</a></td><td class="bar" id="b4"><img src="../../jacoco-resources/greenbar.gif" width="46" height="10" title="12" alt="12"/></td><td class="ctr2" id="c4">100%</td><td class="bar" id="d4"/><td class="ctr2" id="e4">n/a</td><td class="ctr1" id="f4">0</td><td class="ctr2" id="g4">1</td><td class="ctr1" id="h4">0</td><td class="ctr2" id="i2">5</td><td class="ctr1" id="j4">0</td><td class="ctr2" id="k4">1</td></tr><tr><td id="a4"><a href="DelimitedWriter.java.html#L135" class="el_method">nextLine()</a></td><td class="bar" id="b5"><img src="../../jacoco-resources/greenbar.gif" width="30" height="10" title="8" alt="8"/></td><td class="ctr2" id="c5">100%</td><td class="bar" id="d5"/><td class="ctr2" id="e5">n/a</td><td class="ctr1" id="f5">0</td><td class="ctr2" id="g5">1</td><td class="ctr1" id="h5">0</td><td class="ctr2" id="i5">3</td><td class="ctr1" id="j5">0</td><td class="ctr2" id="k5">1</td></tr><tr><td id="a1"><a href="DelimitedWriter.java.html#L52" class="el_method">DelimitedWriter(Writer)</a></td><td class="bar" id="b6"><img src="../../jacoco-resources/greenbar.gif" width="19" height="10" title="5" alt="5"/></td><td class="ctr2" id="c6">100%</td><td class="bar" id="d6"/><td class="ctr2" id="e6">n/a</td><td class="ctr1" id="f6">0</td><td class="ctr2" id="g6">1</td><td class="ctr1" id="h6">0</td><td class="ctr2" id="i6">2</td><td class="ctr1" id="j6">0</td><td class="ctr2" id="k6">1</td></tr><tr><td id="a6"><a href="DelimitedWriter.java.html#L110" class="el_method">write(int)</a></td><td class="bar" id="b7"><img src="../../jacoco-resources/greenbar.gif" width="19" height="10" title="5" alt="5"/></td><td class="ctr2" id="c7">100%</td><td class="bar" id="d7"/><td class="ctr2" id="e7">n/a</td><td class="ctr1" id="f7">0</td><td class="ctr2" id="g7">1</td><td class="ctr1" id="h7">0</td><td class="ctr2" id="i7">2</td><td class="ctr1" id="j7">0</td><td class="ctr2" id="k7">1</td></tr><tr><td id="a0"><a href="DelimitedWriter.java.html#L147" class="el_method">close()</a></td><td class="bar" id="b8"><img src="../../jacoco-resources/greenbar.gif" width="15" height="10" title="4" alt="4"/></td><td class="ctr2" id="c8">100%</td><td class="bar" id="d8"/><td class="ctr2" id="e8">n/a</td><td class="ctr1" id="f8">0</td><td class="ctr2" id="g8">1</td><td class="ctr1" id="h8">0</td><td class="ctr2" id="i8">2</td><td class="ctr1" id="j8">0</td><td class="ctr2" id="k8">1</td></tr><tr><td id="a5"><a href="DelimitedWriter.java.html#L40" class="el_method">static {...}</a></td><td class="bar" id="b9"><img src="../../jacoco-resources/greenbar.gif" width="15" height="10" title="4" alt="4"/></td><td class="ctr2" id="c9">100%</td><td class="bar" id="d9"/><td class="ctr2" id="e9">n/a</td><td class="ctr1" id="f9">0</td><td class="ctr2" id="g9">1</td><td class="ctr1" id="h9">0</td><td class="ctr2" id="i9">1</td><td class="ctr1" id="j9">0</td><td class="ctr2" id="k9">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.12.202403270442</span>Code Coverage Report for JaCoCo 0.8.12-SNAPSHOT</div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/trunk/coverage/org.jacoco.report/org.jacoco.report.csv/DelimitedWriter.java.html b/jacoco/trunk/coverage/org.jacoco.report/org.jacoco.report.csv/DelimitedWriter.java.html
    new file mode 100644
    index 00000000000..a4224dead45
    --- /dev/null
    +++ b/jacoco/trunk/coverage/org.jacoco.report/org.jacoco.report.csv/DelimitedWriter.java.html
    @@ -0,0 +1,172 @@
    +<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="en"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../../jacoco-resources/report.gif" type="image/gif"/><title>DelimitedWriter.java</title><link rel="stylesheet" href="../../jacoco-resources/prettify.css" type="text/css"/><script type="text/javascript" src="../../jacoco-resources/prettify.js"></script></head><body onload="window['PR_TAB_WIDTH']=4;prettyPrint()"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../../index.html" class="el_report">JaCoCo</a> &gt; <a href="../index.html" class="el_bundle">org.jacoco.report</a> &gt; <a href="index.source.html" class="el_package">org.jacoco.report.csv</a> &gt; <span class="el_source">DelimitedWriter.java</span></div><h1>DelimitedWriter.java</h1><pre class="source lang-java linenums">/*******************************************************************************
    + * Copyright (c) 2009, 2024 Mountainminds GmbH &amp; Co. KG and Contributors
    + * This program and the accompanying materials are made available under
    + * the terms of the Eclipse Public License 2.0 which is available at
    + * http://www.eclipse.org/legal/epl-2.0
    + *
    + * SPDX-License-Identifier: EPL-2.0
    + *
    + * Contributors:
    + *    Brock Janiczak - initial API and implementation
    + *
    + *******************************************************************************/
    +package org.jacoco.report.csv;
    +
    +import java.io.IOException;
    +import java.io.Writer;
    +
    +/**
    + * Helper class for writing out CSV or tab delimited files.
    + * &lt;p&gt;
    + * &lt;strong&gt;Example Usage:&lt;/strong&gt;
    + *
    + * &lt;pre&gt;
    + * delimitedWriter.writeFields(&amp;quot;header1&amp;quot;, &amp;quot;header2&amp;quot;, ...);
    + * for each line to be written {
    + *   delimitedWriter.writeField(value1);
    + *   delimitedWriter.writeField(value2);
    + *   delimitedWriter.nextLine();
    + * }
    + * delimitedWriter.close();
    + * &lt;/pre&gt;
    + *
    + * &lt;/p&gt;
    + */
    +class DelimitedWriter {
    +	private static final String QUOTE = &quot;\&quot;&quot;;
    +	private static final String ESCAPED_QUOTE = &quot;\&quot;\&quot;&quot;;
    +
    +	private static final char DEFAULT_DELIMITER = ',';
    +<span class="fc" id="L40">	private static final String NEW_LINE = System.getProperty(&quot;line.separator&quot;);</span>
    +	private final char delimiter;
    +	private final Writer delegate;
    +<span class="fc" id="L43">	private int fieldPosition = 0;</span>
    +
    +	/**
    +	 * Creates a new Delimited writer using the default delimiter
    +	 *
    +	 * @param delegate
    +	 *            Writer to delegate all writes to
    +	 */
    +	public DelimitedWriter(final Writer delegate) {
    +<span class="fc" id="L52">		this(delegate, DEFAULT_DELIMITER);</span>
    +<span class="fc" id="L53">	}</span>
    +
    +	/**
    +	 * Creates a new Delimited writer using the default delimiter
    +	 *
    +	 * @param delegate
    +	 *            Writer to delegate all writes to
    +	 * @param delimiter
    +	 *            delimiter to use (usually a comma, tab or space)
    +	 */
    +<span class="fc" id="L63">	public DelimitedWriter(final Writer delegate, final char delimiter) {</span>
    +<span class="fc" id="L64">		this.delegate = delegate;</span>
    +<span class="fc" id="L65">		this.delimiter = delimiter;</span>
    +<span class="fc" id="L66">	}</span>
    +
    +	/**
    +	 * Write multiple fields at once. Values will be auto escaped and quoted as
    +	 * needed. Each value will be separated using the current delimiter
    +	 *
    +	 * @param fields
    +	 *            Values to write
    +	 * @throws IOException
    +	 *             Error writing to the underlying writer object
    +	 */
    +	public void write(final String... fields) throws IOException {
    +<span class="fc bfc" id="L78" title="All 2 branches covered.">		for (final String field : fields) {</span>
    +<span class="fc" id="L79">			write(field);</span>
    +		}
    +<span class="fc" id="L81">	}</span>
    +
    +	/**
    +	 * Write a single value. Values will be auto escaped and quoted as needed.
    +	 * If this is not the first field of the current line the value will be
    +	 * prepended with the current delimiter
    +	 *
    +	 * @param field
    +	 *            Value to write
    +	 * @throws IOException
    +	 *             Error writing to the underlying writer object
    +	 */
    +	public void write(final String field) throws IOException {
    +<span class="fc bfc" id="L94" title="All 2 branches covered.">		if (fieldPosition != 0) {</span>
    +<span class="fc" id="L95">			delegate.write(delimiter);</span>
    +		}
    +<span class="fc" id="L97">		delegate.write(escape(field));</span>
    +<span class="fc" id="L98">		fieldPosition++;</span>
    +<span class="fc" id="L99">	}</span>
    +
    +	/**
    +	 * Write a single integer value.
    +	 *
    +	 * @param value
    +	 *            Value to write
    +	 * @throws IOException
    +	 *             Error writing to the underlying writer object
    +	 */
    +	public void write(final int value) throws IOException {
    +<span class="fc" id="L110">		write(Integer.toString(value));</span>
    +<span class="fc" id="L111">	}</span>
    +
    +	/**
    +	 * Write muliple integer values
    +	 *
    +	 * @param values
    +	 *            values to write
    +	 * @throws IOException
    +	 *             Error writing to the underlying writer object
    +	 */
    +	public void write(final int... values) throws IOException {
    +<span class="fc bfc" id="L122" title="All 2 branches covered.">		for (final int value : values) {</span>
    +<span class="fc" id="L123">			write(Integer.toString(value));</span>
    +		}
    +<span class="fc" id="L125">	}</span>
    +
    +	/**
    +	 * Output a new line and advance the writer to the next line. The line
    +	 * delimiter is the default for the platform.
    +	 *
    +	 * @throws IOException
    +	 *             Error writing to the underlying writer object
    +	 */
    +	public void nextLine() throws IOException {
    +<span class="fc" id="L135">		delegate.write(NEW_LINE);</span>
    +<span class="fc" id="L136">		fieldPosition = 0;</span>
    +<span class="fc" id="L137">	}</span>
    +
    +	/**
    +	 * Close the underlying writer object. Once closed all write operations will
    +	 * fail
    +	 *
    +	 * @throws IOException
    +	 *             Error closing the underlying writer object
    +	 */
    +	public void close() throws IOException {
    +<span class="fc" id="L147">		delegate.close();</span>
    +<span class="fc" id="L148">	}</span>
    +
    +	/**
    +	 * Escapes any occurrences of the quote character in value by replacing it
    +	 * with a double quote. Also Quotes the value if a quote or delimiter value
    +	 * is found.
    +	 *
    +	 * @param value
    +	 *            String that needs escaping
    +	 * @return New string with all values escaped
    +	 */
    +	private String escape(final String value) {
    +<span class="fc" id="L160">		String escapedValue = value;</span>
    +
    +		// Escape and quote if the source value contains the delimiter
    +		// or the quote character
    +<span class="fc bfc" id="L164" title="All 4 branches covered.">		if (value.indexOf(QUOTE) != -1 || value.indexOf(delimiter) != -1) {</span>
    +<span class="fc" id="L165">			escapedValue = value.replace(QUOTE, ESCAPED_QUOTE);</span>
    +<span class="fc" id="L166">			escapedValue = QUOTE + escapedValue + QUOTE;</span>
    +		}
    +
    +<span class="fc" id="L169">		return escapedValue;</span>
    +	}
    +}
    +</pre><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.12.202403270442</span>Code Coverage Report for JaCoCo 0.8.12-SNAPSHOT</div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/trunk/coverage/org.jacoco.report/org.jacoco.report.csv/index.html b/jacoco/trunk/coverage/org.jacoco.report/org.jacoco.report.csv/index.html
    new file mode 100644
    index 00000000000..1015c34478e
    --- /dev/null
    +++ b/jacoco/trunk/coverage/org.jacoco.report/org.jacoco.report.csv/index.html
    @@ -0,0 +1 @@
    +<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="en"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../../jacoco-resources/report.gif" type="image/gif"/><title>org.jacoco.report.csv</title><script type="text/javascript" src="../../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb', 'coveragetable'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="index.source.html" class="el_source">Source Files</a><a href="../../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../../index.html" class="el_report">JaCoCo</a> &gt; <a href="../index.html" class="el_bundle">org.jacoco.report</a> &gt; <span class="el_package">org.jacoco.report.csv</span></div><h1>org.jacoco.report.csv</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td><td class="sortable ctr1" id="l" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="m" onclick="toggleSort(this)">Classes</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">0 of 434</td><td class="ctr2">100%</td><td class="bar">0 of 22</td><td class="ctr2">100%</td><td class="ctr1">0</td><td class="ctr2">38</td><td class="ctr1">0</td><td class="ctr2">86</td><td class="ctr1">0</td><td class="ctr2">27</td><td class="ctr1">0</td><td class="ctr2">5</td></tr></tfoot><tbody><tr><td id="a0"><a href="ClassRowWriter.html" class="el_class">ClassRowWriter</a></td><td class="bar" id="b0"><img src="../../jacoco-resources/greenbar.gif" width="120" height="10" title="157" alt="157"/></td><td class="ctr2" id="c0">100%</td><td class="bar" id="d2"><img src="../../jacoco-resources/greenbar.gif" width="48" height="10" title="4" alt="4"/></td><td class="ctr2" id="e0">100%</td><td class="ctr1" id="f0">0</td><td class="ctr2" id="g2">6</td><td class="ctr1" id="h0">0</td><td class="ctr2" id="i1">22</td><td class="ctr1" id="j0">0</td><td class="ctr2" id="k3">4</td><td class="ctr1" id="l0">0</td><td class="ctr2" id="m0">1</td></tr><tr><td id="a4"><a href="DelimitedWriter.html" class="el_class">DelimitedWriter</a></td><td class="bar" id="b1"><img src="../../jacoco-resources/greenbar.gif" width="100" height="10" title="131" alt="131"/></td><td class="ctr2" id="c1">100%</td><td class="bar" id="d0"><img src="../../jacoco-resources/greenbar.gif" width="120" height="10" title="10" alt="10"/></td><td class="ctr2" id="e1">100%</td><td class="ctr1" id="f1">0</td><td class="ctr2" id="g0">15</td><td class="ctr1" id="h1">0</td><td class="ctr2" id="i0">31</td><td class="ctr1" id="j1">0</td><td class="ctr2" id="k0">10</td><td class="ctr1" id="l1">0</td><td class="ctr2" id="m1">1</td></tr><tr><td id="a3"><a href="CSVGroupHandler.html" class="el_class">CSVGroupHandler</a></td><td class="bar" id="b2"><img src="../../jacoco-resources/greenbar.gif" width="62" height="10" title="82" alt="82"/></td><td class="ctr2" id="c2">100%</td><td class="bar" id="d1"><img src="../../jacoco-resources/greenbar.gif" width="96" height="10" title="8" alt="8"/></td><td class="ctr2" id="e2">100%</td><td class="ctr1" id="f2">0</td><td class="ctr2" id="g1">9</td><td class="ctr1" id="h2">0</td><td class="ctr2" id="i2">16</td><td class="ctr1" id="j2">0</td><td class="ctr2" id="k1">5</td><td class="ctr1" id="l2">0</td><td class="ctr2" id="m2">1</td></tr><tr><td id="a1"><a href="CSVFormatter.html" class="el_class">CSVFormatter</a></td><td class="bar" id="b3"><img src="../../jacoco-resources/greenbar.gif" width="35" height="10" title="46" alt="46"/></td><td class="ctr2" id="c3">100%</td><td class="bar" id="d3"/><td class="ctr2" id="e3">n/a</td><td class="ctr1" id="f3">0</td><td class="ctr2" id="g3">5</td><td class="ctr1" id="h3">0</td><td class="ctr2" id="i3">11</td><td class="ctr1" id="j3">0</td><td class="ctr2" id="k2">5</td><td class="ctr1" id="l3">0</td><td class="ctr2" id="m3">1</td></tr><tr><td id="a2"><a href="CSVFormatter$1Visitor.html" class="el_class">CSVFormatter.new IReportVisitor() {...}</a></td><td class="bar" id="b4"><img src="../../jacoco-resources/greenbar.gif" width="13" height="10" title="18" alt="18"/></td><td class="ctr2" id="c4">100%</td><td class="bar" id="d4"/><td class="ctr2" id="e4">n/a</td><td class="ctr1" id="f4">0</td><td class="ctr2" id="g4">3</td><td class="ctr1" id="h4">0</td><td class="ctr2" id="i4">6</td><td class="ctr1" id="j4">0</td><td class="ctr2" id="k4">3</td><td class="ctr1" id="l4">0</td><td class="ctr2" id="m4">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.12.202403270442</span>Code Coverage Report for JaCoCo 0.8.12-SNAPSHOT</div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/trunk/coverage/org.jacoco.report/org.jacoco.report.csv/index.source.html b/jacoco/trunk/coverage/org.jacoco.report/org.jacoco.report.csv/index.source.html
    new file mode 100644
    index 00000000000..4ba05aa7de6
    --- /dev/null
    +++ b/jacoco/trunk/coverage/org.jacoco.report/org.jacoco.report.csv/index.source.html
    @@ -0,0 +1 @@
    +<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="en"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../../jacoco-resources/report.gif" type="image/gif"/><title>org.jacoco.report.csv</title><script type="text/javascript" src="../../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb', 'coveragetable'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="index.html" class="el_class">Classes</a><a href="../../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../../index.html" class="el_report">JaCoCo</a> &gt; <a href="../index.html" class="el_bundle">org.jacoco.report</a> &gt; <span class="el_package">org.jacoco.report.csv</span></div><h1>org.jacoco.report.csv</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td><td class="sortable ctr1" id="l" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="m" onclick="toggleSort(this)">Classes</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">0 of 434</td><td class="ctr2">100%</td><td class="bar">0 of 22</td><td class="ctr2">100%</td><td class="ctr1">0</td><td class="ctr2">38</td><td class="ctr1">0</td><td class="ctr2">86</td><td class="ctr1">0</td><td class="ctr2">27</td><td class="ctr1">0</td><td class="ctr2">5</td></tr></tfoot><tbody><tr><td id="a0"><a href="ClassRowWriter.java.html" class="el_source">ClassRowWriter.java</a></td><td class="bar" id="b0"><img src="../../jacoco-resources/greenbar.gif" width="120" height="10" title="157" alt="157"/></td><td class="ctr2" id="c0">100%</td><td class="bar" id="d2"><img src="../../jacoco-resources/greenbar.gif" width="48" height="10" title="4" alt="4"/></td><td class="ctr2" id="e0">100%</td><td class="ctr1" id="f0">0</td><td class="ctr2" id="g3">6</td><td class="ctr1" id="h0">0</td><td class="ctr2" id="i1">22</td><td class="ctr1" id="j0">0</td><td class="ctr2" id="k3">4</td><td class="ctr1" id="l0">0</td><td class="ctr2" id="m1">1</td></tr><tr><td id="a3"><a href="DelimitedWriter.java.html" class="el_source">DelimitedWriter.java</a></td><td class="bar" id="b1"><img src="../../jacoco-resources/greenbar.gif" width="100" height="10" title="131" alt="131"/></td><td class="ctr2" id="c1">100%</td><td class="bar" id="d0"><img src="../../jacoco-resources/greenbar.gif" width="120" height="10" title="10" alt="10"/></td><td class="ctr2" id="e1">100%</td><td class="ctr1" id="f1">0</td><td class="ctr2" id="g0">15</td><td class="ctr1" id="h1">0</td><td class="ctr2" id="i0">31</td><td class="ctr1" id="j1">0</td><td class="ctr2" id="k0">10</td><td class="ctr1" id="l1">0</td><td class="ctr2" id="m2">1</td></tr><tr><td id="a2"><a href="CSVGroupHandler.java.html" class="el_source">CSVGroupHandler.java</a></td><td class="bar" id="b2"><img src="../../jacoco-resources/greenbar.gif" width="62" height="10" title="82" alt="82"/></td><td class="ctr2" id="c2">100%</td><td class="bar" id="d1"><img src="../../jacoco-resources/greenbar.gif" width="96" height="10" title="8" alt="8"/></td><td class="ctr2" id="e2">100%</td><td class="ctr1" id="f2">0</td><td class="ctr2" id="g1">9</td><td class="ctr1" id="h2">0</td><td class="ctr2" id="i3">16</td><td class="ctr1" id="j2">0</td><td class="ctr2" id="k2">5</td><td class="ctr1" id="l2">0</td><td class="ctr2" id="m3">1</td></tr><tr><td id="a1"><a href="CSVFormatter.java.html" class="el_source">CSVFormatter.java</a></td><td class="bar" id="b3"><img src="../../jacoco-resources/greenbar.gif" width="48" height="10" title="64" alt="64"/></td><td class="ctr2" id="c3">100%</td><td class="bar" id="d3"/><td class="ctr2" id="e3">n/a</td><td class="ctr1" id="f3">0</td><td class="ctr2" id="g2">8</td><td class="ctr1" id="h3">0</td><td class="ctr2" id="i2">17</td><td class="ctr1" id="j3">0</td><td class="ctr2" id="k1">8</td><td class="ctr1" id="l3">0</td><td class="ctr2" id="m0">2</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.12.202403270442</span>Code Coverage Report for JaCoCo 0.8.12-SNAPSHOT</div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/trunk/coverage/org.jacoco.report/org.jacoco.report.html/HTMLFormatter$1.html b/jacoco/trunk/coverage/org.jacoco.report/org.jacoco.report.html/HTMLFormatter$1.html
    new file mode 100644
    index 00000000000..aa348543914
    --- /dev/null
    +++ b/jacoco/trunk/coverage/org.jacoco.report/org.jacoco.report.html/HTMLFormatter$1.html
    @@ -0,0 +1 @@
    +<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="en"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../../jacoco-resources/report.gif" type="image/gif"/><title>HTMLFormatter.new IReportVisitor() {...}</title><script type="text/javascript" src="../../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../../index.html" class="el_report">JaCoCo</a> &gt; <a href="../index.html" class="el_bundle">org.jacoco.report</a> &gt; <a href="index.html" class="el_package">org.jacoco.report.html</a> &gt; <span class="el_class">HTMLFormatter.new IReportVisitor() {...}</span></div><h1>HTMLFormatter.new IReportVisitor() {...}</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">0 of 89</td><td class="ctr2">100%</td><td class="bar">0 of 2</td><td class="ctr2">100%</td><td class="ctr1">0</td><td class="ctr2">7</td><td class="ctr1">0</td><td class="ctr2">18</td><td class="ctr1">0</td><td class="ctr2">6</td></tr></tfoot><tbody><tr><td id="a0"><a href="HTMLFormatter.java.html#L226" class="el_method">createSessionsPage(ReportPage)</a></td><td class="bar" id="b0"><img src="../../jacoco-resources/greenbar.gif" width="120" height="10" title="20" alt="20"/></td><td class="ctr2" id="c0">100%</td><td class="bar" id="d1"/><td class="ctr2" id="e1">n/a</td><td class="ctr1" id="f0">0</td><td class="ctr2" id="g1">1</td><td class="ctr1" id="h0">0</td><td class="ctr2" id="i4">2</td><td class="ctr1" id="j0">0</td><td class="ctr2" id="k0">1</td></tr><tr><td id="a3"><a href="HTMLFormatter.java.html#L218" class="el_method">visitGroup(String)</a></td><td class="bar" id="b1"><img src="../../jacoco-resources/greenbar.gif" width="114" height="10" title="19" alt="19"/></td><td class="ctr2" id="c1">100%</td><td class="bar" id="d2"/><td class="ctr2" id="e2">n/a</td><td class="ctr1" id="f1">0</td><td class="ctr2" id="g2">1</td><td class="ctr1" id="h1">0</td><td class="ctr2" id="i2">3</td><td class="ctr1" id="j1">0</td><td class="ctr2" id="k1">1</td></tr><tr><td id="a1"><a href="HTMLFormatter.java.html#L210" class="el_method">visitBundle(IBundleCoverage, ISourceFileLocator)</a></td><td class="bar" id="b2"><img src="../../jacoco-resources/greenbar.gif" width="102" height="10" title="17" alt="17"/></td><td class="ctr2" id="c2">100%</td><td class="bar" id="d3"/><td class="ctr2" id="e3">n/a</td><td class="ctr1" id="f2">0</td><td class="ctr2" id="g3">1</td><td class="ctr1" id="h2">0</td><td class="ctr2" id="i1">4</td><td class="ctr1" id="j2">0</td><td class="ctr2" id="k2">1</td></tr><tr><td id="a2"><a href="HTMLFormatter.java.html#L231" class="el_method">visitEnd()</a></td><td class="bar" id="b3"><img src="../../jacoco-resources/greenbar.gif" width="84" height="10" title="14" alt="14"/></td><td class="ctr2" id="c3">100%</td><td class="bar" id="d0"><img src="../../jacoco-resources/greenbar.gif" width="120" height="10" title="2" alt="2"/></td><td class="ctr2" id="e0">100%</td><td class="ctr1" id="f3">0</td><td class="ctr2" id="g0">2</td><td class="ctr1" id="h3">0</td><td class="ctr2" id="i0">5</td><td class="ctr1" id="j3">0</td><td class="ctr2" id="k3">1</td></tr><tr><td id="a5"><a href="HTMLFormatter.java.html#L230" class="el_method">{...}</a></td><td class="bar" id="b4"><img src="../../jacoco-resources/greenbar.gif" width="72" height="10" title="12" alt="12"/></td><td class="ctr2" id="c4">100%</td><td class="bar" id="d4"/><td class="ctr2" id="e4">n/a</td><td class="ctr1" id="f4">0</td><td class="ctr2" id="g4">1</td><td class="ctr1" id="h4">0</td><td class="ctr2" id="i5">1</td><td class="ctr1" id="j4">0</td><td class="ctr2" id="k4">1</td></tr><tr><td id="a4"><a href="HTMLFormatter.java.html#L204" class="el_method">visitInfo(List, Collection)</a></td><td class="bar" id="b5"><img src="../../jacoco-resources/greenbar.gif" width="42" height="10" title="7" alt="7"/></td><td class="ctr2" id="c5">100%</td><td class="bar" id="d5"/><td class="ctr2" id="e5">n/a</td><td class="ctr1" id="f5">0</td><td class="ctr2" id="g5">1</td><td class="ctr1" id="h5">0</td><td class="ctr2" id="i3">3</td><td class="ctr1" id="j5">0</td><td class="ctr2" id="k5">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.12.202403270442</span>Code Coverage Report for JaCoCo 0.8.12-SNAPSHOT</div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/trunk/coverage/org.jacoco.report/org.jacoco.report.html/HTMLFormatter.html b/jacoco/trunk/coverage/org.jacoco.report/org.jacoco.report.html/HTMLFormatter.html
    new file mode 100644
    index 00000000000..7e50b0f199b
    --- /dev/null
    +++ b/jacoco/trunk/coverage/org.jacoco.report/org.jacoco.report.html/HTMLFormatter.html
    @@ -0,0 +1 @@
    +<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="en"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../../jacoco-resources/report.gif" type="image/gif"/><title>HTMLFormatter</title><script type="text/javascript" src="../../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../../index.html" class="el_report">JaCoCo</a> &gt; <a href="../index.html" class="el_bundle">org.jacoco.report</a> &gt; <a href="index.html" class="el_package">org.jacoco.report.html</a> &gt; <span class="el_class">HTMLFormatter</span></div><h1>HTMLFormatter</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">0 of 188</td><td class="ctr2">100%</td><td class="bar">0 of 2</td><td class="ctr2">100%</td><td class="ctr1">0</td><td class="ctr2">17</td><td class="ctr1">0</td><td class="ctr2">43</td><td class="ctr1">0</td><td class="ctr2">16</td></tr></tfoot><tbody><tr><td id="a1"><a href="HTMLFormatter.java.html#L134" class="el_method">createTable()</a></td><td class="bar" id="b0"><img src="../../jacoco-resources/greenbar.gif" width="120" height="10" title="78" alt="78"/></td><td class="ctr2" id="c0">100%</td><td class="bar" id="d1"/><td class="ctr2" id="e1">n/a</td><td class="ctr1" id="f0">0</td><td class="ctr2" id="g1">1</td><td class="ctr1" id="h0">0</td><td class="ctr2" id="i0">11</td><td class="ctr1" id="j0">0</td><td class="ctr2" id="k0">1</td></tr><tr><td id="a2"><a href="HTMLFormatter.java.html#L190" class="el_method">createVisitor(IMultiReportOutput)</a></td><td class="bar" id="b1"><img src="../../jacoco-resources/greenbar.gif" width="41" height="10" title="27" alt="27"/></td><td class="ctr2" id="c1">100%</td><td class="bar" id="d2"/><td class="ctr2" id="e2">n/a</td><td class="ctr1" id="f1">0</td><td class="ctr2" id="g2">1</td><td class="ctr1" id="h1">0</td><td class="ctr2" id="i2">5</td><td class="ctr1" id="j1">0</td><td class="ctr2" id="k1">1</td></tr><tr><td id="a0"><a href="HTMLFormatter.java.html#L153" class="el_method">addMissedTotalColumns(Table, String, ICoverageNode.CounterEntity)</a></td><td class="bar" id="b2"><img src="../../jacoco-resources/greenbar.gif" width="29" height="10" title="19" alt="19"/></td><td class="ctr2" id="c2">100%</td><td class="bar" id="d3"/><td class="ctr2" id="e3">n/a</td><td class="ctr1" id="f2">0</td><td class="ctr2" id="g3">1</td><td class="ctr1" id="h2">0</td><td class="ctr2" id="i3">3</td><td class="ctr1" id="j2">0</td><td class="ctr2" id="k2">1</td></tr><tr><td id="a11"><a href="HTMLFormatter.java.html#L52" class="el_method">HTMLFormatter()</a></td><td class="bar" id="b3"><img src="../../jacoco-resources/greenbar.gif" width="26" height="10" title="17" alt="17"/></td><td class="ctr2" id="c3">100%</td><td class="bar" id="d4"/><td class="ctr2" id="e4">n/a</td><td class="ctr1" id="f3">0</td><td class="ctr2" id="g4">1</td><td class="ctr1" id="h3">0</td><td class="ctr2" id="i1">6</td><td class="ctr1" id="j3">0</td><td class="ctr2" id="k3">1</td></tr><tr><td id="a10"><a href="HTMLFormatter.java.html#L127" class="el_method">getTable()</a></td><td class="bar" id="b4"><img src="../../jacoco-resources/greenbar.gif" width="15" height="10" title="10" alt="10"/></td><td class="ctr2" id="c4">100%</td><td class="bar" id="d0"><img src="../../jacoco-resources/greenbar.gif" width="120" height="10" title="2" alt="2"/></td><td class="ctr2" id="e0">100%</td><td class="ctr1" id="f4">0</td><td class="ctr2" id="g0">2</td><td class="ctr1" id="h4">0</td><td class="ctr2" id="i4">3</td><td class="ctr1" id="j4">0</td><td class="ctr2" id="k4">1</td></tr><tr><td id="a13"><a href="HTMLFormatter.java.html#L82" class="el_method">setLanguageNames(ILanguageNames)</a></td><td class="bar" id="b5"><img src="../../jacoco-resources/greenbar.gif" width="6" height="10" title="4" alt="4"/></td><td class="ctr2" id="c5">100%</td><td class="bar" id="d5"/><td class="ctr2" id="e5">n/a</td><td class="ctr1" id="f5">0</td><td class="ctr2" id="g5">1</td><td class="ctr1" id="h5">0</td><td class="ctr2" id="i5">2</td><td class="ctr1" id="j5">0</td><td class="ctr2" id="k5">1</td></tr><tr><td id="a14"><a href="HTMLFormatter.java.html#L93" class="el_method">setLocale(Locale)</a></td><td class="bar" id="b6"><img src="../../jacoco-resources/greenbar.gif" width="6" height="10" title="4" alt="4"/></td><td class="ctr2" id="c6">100%</td><td class="bar" id="d6"/><td class="ctr2" id="e6">n/a</td><td class="ctr1" id="f6">0</td><td class="ctr2" id="g6">1</td><td class="ctr1" id="h6">0</td><td class="ctr2" id="i6">2</td><td class="ctr1" id="j6">0</td><td class="ctr2" id="k6">1</td></tr><tr><td id="a12"><a href="HTMLFormatter.java.html#L103" class="el_method">setFooterText(String)</a></td><td class="bar" id="b7"><img src="../../jacoco-resources/greenbar.gif" width="6" height="10" title="4" alt="4"/></td><td class="ctr2" id="c7">100%</td><td class="bar" id="d7"/><td class="ctr2" id="e7">n/a</td><td class="ctr1" id="f7">0</td><td class="ctr2" id="g7">1</td><td class="ctr1" id="h7">0</td><td class="ctr2" id="i7">2</td><td class="ctr1" id="j7">0</td><td class="ctr2" id="k7">1</td></tr><tr><td id="a15"><a href="HTMLFormatter.java.html#L113" class="el_method">setOutputEncoding(String)</a></td><td class="bar" id="b8"><img src="../../jacoco-resources/greenbar.gif" width="6" height="10" title="4" alt="4"/></td><td class="ctr2" id="c8">100%</td><td class="bar" id="d8"/><td class="ctr2" id="e8">n/a</td><td class="ctr1" id="f8">0</td><td class="ctr2" id="g8">1</td><td class="ctr1" id="h8">0</td><td class="ctr2" id="i8">2</td><td class="ctr1" id="j8">0</td><td class="ctr2" id="k8">1</td></tr><tr><td id="a5"><a href="HTMLFormatter.java.html#L119" class="el_method">getLanguageNames()</a></td><td class="bar" id="b9"><img src="../../jacoco-resources/greenbar.gif" width="4" height="10" title="3" alt="3"/></td><td class="ctr2" id="c9">100%</td><td class="bar" id="d9"/><td class="ctr2" id="e9">n/a</td><td class="ctr1" id="f9">0</td><td class="ctr2" id="g9">1</td><td class="ctr1" id="h9">0</td><td class="ctr2" id="i9">1</td><td class="ctr1" id="j9">0</td><td class="ctr2" id="k9">1</td></tr><tr><td id="a8"><a href="HTMLFormatter.java.html#L123" class="el_method">getResources()</a></td><td class="bar" id="b10"><img src="../../jacoco-resources/greenbar.gif" width="4" height="10" title="3" alt="3"/></td><td class="ctr2" id="c10">100%</td><td class="bar" id="d10"/><td class="ctr2" id="e10">n/a</td><td class="ctr1" id="f10">0</td><td class="ctr2" id="g10">1</td><td class="ctr1" id="h10">0</td><td class="ctr2" id="i10">1</td><td class="ctr1" id="j10">0</td><td class="ctr2" id="k10">1</td></tr><tr><td id="a3"><a href="HTMLFormatter.java.html#L160" class="el_method">getFooterText()</a></td><td class="bar" id="b11"><img src="../../jacoco-resources/greenbar.gif" width="4" height="10" title="3" alt="3"/></td><td class="ctr2" id="c11">100%</td><td class="bar" id="d11"/><td class="ctr2" id="e11">n/a</td><td class="ctr1" id="f11">0</td><td class="ctr2" id="g11">1</td><td class="ctr1" id="h11">0</td><td class="ctr2" id="i11">1</td><td class="ctr1" id="j11">0</td><td class="ctr2" id="k11">1</td></tr><tr><td id="a9"><a href="HTMLFormatter.java.html#L164" class="el_method">getSessionsPage()</a></td><td class="bar" id="b12"><img src="../../jacoco-resources/greenbar.gif" width="4" height="10" title="3" alt="3"/></td><td class="ctr2" id="c12">100%</td><td class="bar" id="d12"/><td class="ctr2" id="e12">n/a</td><td class="ctr1" id="f12">0</td><td class="ctr2" id="g12">1</td><td class="ctr1" id="h12">0</td><td class="ctr2" id="i12">1</td><td class="ctr1" id="j12">0</td><td class="ctr2" id="k12">1</td></tr><tr><td id="a7"><a href="HTMLFormatter.java.html#L168" class="el_method">getOutputEncoding()</a></td><td class="bar" id="b13"><img src="../../jacoco-resources/greenbar.gif" width="4" height="10" title="3" alt="3"/></td><td class="ctr2" id="c13">100%</td><td class="bar" id="d13"/><td class="ctr2" id="e13">n/a</td><td class="ctr1" id="f13">0</td><td class="ctr2" id="g13">1</td><td class="ctr1" id="h13">0</td><td class="ctr2" id="i13">1</td><td class="ctr1" id="j13">0</td><td class="ctr2" id="k13">1</td></tr><tr><td id="a4"><a href="HTMLFormatter.java.html#L172" class="el_method">getIndexUpdate()</a></td><td class="bar" id="b14"><img src="../../jacoco-resources/greenbar.gif" width="4" height="10" title="3" alt="3"/></td><td class="ctr2" id="c14">100%</td><td class="bar" id="d14"/><td class="ctr2" id="e14">n/a</td><td class="ctr1" id="f14">0</td><td class="ctr2" id="g14">1</td><td class="ctr1" id="h14">0</td><td class="ctr2" id="i14">1</td><td class="ctr1" id="j14">0</td><td class="ctr2" id="k14">1</td></tr><tr><td id="a6"><a href="HTMLFormatter.java.html#L176" class="el_method">getLocale()</a></td><td class="bar" id="b15"><img src="../../jacoco-resources/greenbar.gif" width="4" height="10" title="3" alt="3"/></td><td class="ctr2" id="c15">100%</td><td class="bar" id="d15"/><td class="ctr2" id="e15">n/a</td><td class="ctr1" id="f15">0</td><td class="ctr2" id="g15">1</td><td class="ctr1" id="h15">0</td><td class="ctr2" id="i15">1</td><td class="ctr1" id="j15">0</td><td class="ctr2" id="k15">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.12.202403270442</span>Code Coverage Report for JaCoCo 0.8.12-SNAPSHOT</div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/trunk/coverage/org.jacoco.report/org.jacoco.report.html/HTMLFormatter.java.html b/jacoco/trunk/coverage/org.jacoco.report/org.jacoco.report.html/HTMLFormatter.java.html
    new file mode 100644
    index 00000000000..26e24022d0b
    --- /dev/null
    +++ b/jacoco/trunk/coverage/org.jacoco.report/org.jacoco.report.html/HTMLFormatter.java.html
    @@ -0,0 +1,240 @@
    +<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="en"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../../jacoco-resources/report.gif" type="image/gif"/><title>HTMLFormatter.java</title><link rel="stylesheet" href="../../jacoco-resources/prettify.css" type="text/css"/><script type="text/javascript" src="../../jacoco-resources/prettify.js"></script></head><body onload="window['PR_TAB_WIDTH']=4;prettyPrint()"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../../index.html" class="el_report">JaCoCo</a> &gt; <a href="../index.html" class="el_bundle">org.jacoco.report</a> &gt; <a href="index.source.html" class="el_package">org.jacoco.report.html</a> &gt; <span class="el_source">HTMLFormatter.java</span></div><h1>HTMLFormatter.java</h1><pre class="source lang-java linenums">/*******************************************************************************
    + * Copyright (c) 2009, 2024 Mountainminds GmbH &amp; Co. KG and Contributors
    + * This program and the accompanying materials are made available under
    + * the terms of the Eclipse Public License 2.0 which is available at
    + * http://www.eclipse.org/legal/epl-2.0
    + *
    + * SPDX-License-Identifier: EPL-2.0
    + *
    + * Contributors:
    + *    Marc R. Hoffmann - initial API and implementation
    + *
    + *******************************************************************************/
    +package org.jacoco.report.html;
    +
    +import java.io.IOException;
    +import java.util.Collection;
    +import java.util.List;
    +import java.util.Locale;
    +
    +import org.jacoco.core.analysis.IBundleCoverage;
    +import org.jacoco.core.analysis.ICoverageNode.CounterEntity;
    +import org.jacoco.core.data.ExecutionData;
    +import org.jacoco.core.data.SessionInfo;
    +import org.jacoco.report.ILanguageNames;
    +import org.jacoco.report.IMultiReportOutput;
    +import org.jacoco.report.IReportGroupVisitor;
    +import org.jacoco.report.IReportVisitor;
    +import org.jacoco.report.ISourceFileLocator;
    +import org.jacoco.report.JavaNames;
    +import org.jacoco.report.internal.ReportOutputFolder;
    +import org.jacoco.report.internal.html.HTMLGroupVisitor;
    +import org.jacoco.report.internal.html.IHTMLReportContext;
    +import org.jacoco.report.internal.html.ILinkable;
    +import org.jacoco.report.internal.html.index.ElementIndex;
    +import org.jacoco.report.internal.html.index.IIndexUpdate;
    +import org.jacoco.report.internal.html.page.BundlePage;
    +import org.jacoco.report.internal.html.page.ReportPage;
    +import org.jacoco.report.internal.html.page.SessionsPage;
    +import org.jacoco.report.internal.html.resources.Resources;
    +import org.jacoco.report.internal.html.resources.Styles;
    +import org.jacoco.report.internal.html.table.BarColumn;
    +import org.jacoco.report.internal.html.table.CounterColumn;
    +import org.jacoco.report.internal.html.table.LabelColumn;
    +import org.jacoco.report.internal.html.table.PercentageColumn;
    +import org.jacoco.report.internal.html.table.Table;
    +
    +/**
    + * Formatter for coverage reports in multiple HTML pages.
    + */
    +public class HTMLFormatter implements IHTMLReportContext {
    +
    +<span class="fc" id="L52">	private ILanguageNames languageNames = new JavaNames();</span>
    +
    +<span class="fc" id="L54">	private Locale locale = Locale.getDefault();</span>
    +
    +<span class="fc" id="L56">	private String footerText = &quot;&quot;;</span>
    +
    +<span class="fc" id="L58">	private String outputEncoding = &quot;UTF-8&quot;;</span>
    +
    +	private Resources resources;
    +
    +	private ElementIndex index;
    +
    +	private SessionsPage sessionsPage;
    +
    +	private Table table;
    +
    +	/**
    +	 * New instance with default settings.
    +	 */
    +<span class="fc" id="L71">	public HTMLFormatter() {</span>
    +<span class="fc" id="L72">	}</span>
    +
    +	/**
    +	 * Sets the implementation for language name display. Java language names
    +	 * are defined by default.
    +	 *
    +	 * @param languageNames
    +	 *            converter for language specific names
    +	 */
    +	public void setLanguageNames(final ILanguageNames languageNames) {
    +<span class="fc" id="L82">		this.languageNames = languageNames;</span>
    +<span class="fc" id="L83">	}</span>
    +
    +	/**
    +	 * Sets the locale used for report rendering. The current default locale is
    +	 * used by default.
    +	 *
    +	 * @param locale
    +	 *            locale used for report rendering
    +	 */
    +	public void setLocale(final Locale locale) {
    +<span class="fc" id="L93">		this.locale = locale;</span>
    +<span class="fc" id="L94">	}</span>
    +
    +	/**
    +	 * Sets the optional text that should be included in every footer page.
    +	 *
    +	 * @param footerText
    +	 *            footer text
    +	 */
    +	public void setFooterText(final String footerText) {
    +<span class="fc" id="L103">		this.footerText = footerText;</span>
    +<span class="fc" id="L104">	}</span>
    +
    +	/**
    +	 * Sets the encoding used for generated HTML pages. Default is UTF-8.
    +	 *
    +	 * @param outputEncoding
    +	 *            HTML output encoding
    +	 */
    +	public void setOutputEncoding(final String outputEncoding) {
    +<span class="fc" id="L113">		this.outputEncoding = outputEncoding;</span>
    +<span class="fc" id="L114">	}</span>
    +
    +	// === IHTMLReportContext ===
    +
    +	public ILanguageNames getLanguageNames() {
    +<span class="fc" id="L119">		return languageNames;</span>
    +	}
    +
    +	public Resources getResources() {
    +<span class="fc" id="L123">		return resources;</span>
    +	}
    +
    +	public Table getTable() {
    +<span class="fc bfc" id="L127" title="All 2 branches covered.">		if (table == null) {</span>
    +<span class="fc" id="L128">			table = createTable();</span>
    +		}
    +<span class="fc" id="L130">		return table;</span>
    +	}
    +
    +	private Table createTable() {
    +<span class="fc" id="L134">		final Table t = new Table();</span>
    +<span class="fc" id="L135">		t.add(&quot;Element&quot;, null, new LabelColumn(), false);</span>
    +<span class="fc" id="L136">		t.add(&quot;Missed Instructions&quot;, Styles.BAR,</span>
    +				new BarColumn(CounterEntity.INSTRUCTION, locale), true);
    +<span class="fc" id="L138">		t.add(&quot;Cov.&quot;, Styles.CTR2,</span>
    +				new PercentageColumn(CounterEntity.INSTRUCTION, locale), false);
    +<span class="fc" id="L140">		t.add(&quot;Missed Branches&quot;, Styles.BAR,</span>
    +				new BarColumn(CounterEntity.BRANCH, locale), false);
    +<span class="fc" id="L142">		t.add(&quot;Cov.&quot;, Styles.CTR2,</span>
    +				new PercentageColumn(CounterEntity.BRANCH, locale), false);
    +<span class="fc" id="L144">		addMissedTotalColumns(t, &quot;Cxty&quot;, CounterEntity.COMPLEXITY);</span>
    +<span class="fc" id="L145">		addMissedTotalColumns(t, &quot;Lines&quot;, CounterEntity.LINE);</span>
    +<span class="fc" id="L146">		addMissedTotalColumns(t, &quot;Methods&quot;, CounterEntity.METHOD);</span>
    +<span class="fc" id="L147">		addMissedTotalColumns(t, &quot;Classes&quot;, CounterEntity.CLASS);</span>
    +<span class="fc" id="L148">		return t;</span>
    +	}
    +
    +	private void addMissedTotalColumns(final Table table, final String label,
    +			final CounterEntity entity) {
    +<span class="fc" id="L153">		table.add(&quot;Missed&quot;, Styles.CTR1,</span>
    +				CounterColumn.newMissed(entity, locale), false);
    +<span class="fc" id="L155">		table.add(label, Styles.CTR2, CounterColumn.newTotal(entity, locale),</span>
    +				false);
    +<span class="fc" id="L157">	}</span>
    +
    +	public String getFooterText() {
    +<span class="fc" id="L160">		return footerText;</span>
    +	}
    +
    +	public ILinkable getSessionsPage() {
    +<span class="fc" id="L164">		return sessionsPage;</span>
    +	}
    +
    +	public String getOutputEncoding() {
    +<span class="fc" id="L168">		return outputEncoding;</span>
    +	}
    +
    +	public IIndexUpdate getIndexUpdate() {
    +<span class="fc" id="L172">		return index;</span>
    +	}
    +
    +	public Locale getLocale() {
    +<span class="fc" id="L176">		return locale;</span>
    +	}
    +
    +	/**
    +	 * Creates a new visitor to write a report to the given output.
    +	 *
    +	 * @param output
    +	 *            output to write the report to
    +	 * @return visitor to emit the report data to
    +	 * @throws IOException
    +	 *             in case of problems with the output stream
    +	 */
    +	public IReportVisitor createVisitor(final IMultiReportOutput output)
    +			throws IOException {
    +<span class="fc" id="L190">		final ReportOutputFolder root = new ReportOutputFolder(output);</span>
    +<span class="fc" id="L191">		resources = new Resources(root);</span>
    +<span class="fc" id="L192">		resources.copyResources();</span>
    +<span class="fc" id="L193">		index = new ElementIndex(root);</span>
    +<span class="fc" id="L194">		return new IReportVisitor() {</span>
    +
    +			private List&lt;SessionInfo&gt; sessionInfos;
    +			private Collection&lt;ExecutionData&gt; executionData;
    +
    +			private HTMLGroupVisitor groupHandler;
    +
    +			public void visitInfo(final List&lt;SessionInfo&gt; sessionInfos,
    +					final Collection&lt;ExecutionData&gt; executionData)
    +					throws IOException {
    +<span class="fc" id="L204">				this.sessionInfos = sessionInfos;</span>
    +<span class="fc" id="L205">				this.executionData = executionData;</span>
    +<span class="fc" id="L206">			}</span>
    +
    +			public void visitBundle(final IBundleCoverage bundle,
    +					final ISourceFileLocator locator) throws IOException {
    +<span class="fc" id="L210">				final BundlePage page = new BundlePage(bundle, null, locator,</span>
    +						root, HTMLFormatter.this);
    +<span class="fc" id="L212">				createSessionsPage(page);</span>
    +<span class="fc" id="L213">				page.render();</span>
    +<span class="fc" id="L214">			}</span>
    +
    +			public IReportGroupVisitor visitGroup(final String name)
    +					throws IOException {
    +<span class="fc" id="L218">				groupHandler = new HTMLGroupVisitor(null, root,</span>
    +						HTMLFormatter.this, name);
    +<span class="fc" id="L220">				createSessionsPage(groupHandler.getPage());</span>
    +<span class="fc" id="L221">				return groupHandler;</span>
    +
    +			}
    +
    +			private void createSessionsPage(final ReportPage rootpage) {
    +<span class="fc" id="L226">				sessionsPage = new SessionsPage(sessionInfos, executionData,</span>
    +						index, rootpage, root, HTMLFormatter.this);
    +<span class="fc" id="L228">			}</span>
    +
    +<span class="fc" id="L230">			public void visitEnd() throws IOException {</span>
    +<span class="fc bfc" id="L231" title="All 2 branches covered.">				if (groupHandler != null) {</span>
    +<span class="fc" id="L232">					groupHandler.visitEnd();</span>
    +				}
    +<span class="fc" id="L234">				sessionsPage.render();</span>
    +<span class="fc" id="L235">				output.close();</span>
    +<span class="fc" id="L236">			}</span>
    +		};
    +	}
    +}
    +</pre><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.12.202403270442</span>Code Coverage Report for JaCoCo 0.8.12-SNAPSHOT</div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/trunk/coverage/org.jacoco.report/org.jacoco.report.html/index.html b/jacoco/trunk/coverage/org.jacoco.report/org.jacoco.report.html/index.html
    new file mode 100644
    index 00000000000..b27f2133907
    --- /dev/null
    +++ b/jacoco/trunk/coverage/org.jacoco.report/org.jacoco.report.html/index.html
    @@ -0,0 +1 @@
    +<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="en"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../../jacoco-resources/report.gif" type="image/gif"/><title>org.jacoco.report.html</title><script type="text/javascript" src="../../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb', 'coveragetable'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="index.source.html" class="el_source">Source Files</a><a href="../../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../../index.html" class="el_report">JaCoCo</a> &gt; <a href="../index.html" class="el_bundle">org.jacoco.report</a> &gt; <span class="el_package">org.jacoco.report.html</span></div><h1>org.jacoco.report.html</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td><td class="sortable ctr1" id="l" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="m" onclick="toggleSort(this)">Classes</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">0 of 277</td><td class="ctr2">100%</td><td class="bar">0 of 4</td><td class="ctr2">100%</td><td class="ctr1">0</td><td class="ctr2">24</td><td class="ctr1">0</td><td class="ctr2">61</td><td class="ctr1">0</td><td class="ctr2">22</td><td class="ctr1">0</td><td class="ctr2">2</td></tr></tfoot><tbody><tr><td id="a0"><a href="HTMLFormatter.html" class="el_class">HTMLFormatter</a></td><td class="bar" id="b0"><img src="../../jacoco-resources/greenbar.gif" width="120" height="10" title="188" alt="188"/></td><td class="ctr2" id="c0">100%</td><td class="bar" id="d0"><img src="../../jacoco-resources/greenbar.gif" width="120" height="10" title="2" alt="2"/></td><td class="ctr2" id="e0">100%</td><td class="ctr1" id="f0">0</td><td class="ctr2" id="g0">17</td><td class="ctr1" id="h0">0</td><td class="ctr2" id="i0">43</td><td class="ctr1" id="j0">0</td><td class="ctr2" id="k0">16</td><td class="ctr1" id="l0">0</td><td class="ctr2" id="m0">1</td></tr><tr><td id="a1"><a href="HTMLFormatter$1.html" class="el_class">HTMLFormatter.new IReportVisitor() {...}</a></td><td class="bar" id="b1"><img src="../../jacoco-resources/greenbar.gif" width="56" height="10" title="89" alt="89"/></td><td class="ctr2" id="c1">100%</td><td class="bar" id="d1"><img src="../../jacoco-resources/greenbar.gif" width="120" height="10" title="2" alt="2"/></td><td class="ctr2" id="e1">100%</td><td class="ctr1" id="f1">0</td><td class="ctr2" id="g1">7</td><td class="ctr1" id="h1">0</td><td class="ctr2" id="i1">18</td><td class="ctr1" id="j1">0</td><td class="ctr2" id="k1">6</td><td class="ctr1" id="l1">0</td><td class="ctr2" id="m1">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.12.202403270442</span>Code Coverage Report for JaCoCo 0.8.12-SNAPSHOT</div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/trunk/coverage/org.jacoco.report/org.jacoco.report.html/index.source.html b/jacoco/trunk/coverage/org.jacoco.report/org.jacoco.report.html/index.source.html
    new file mode 100644
    index 00000000000..f2d96a2f101
    --- /dev/null
    +++ b/jacoco/trunk/coverage/org.jacoco.report/org.jacoco.report.html/index.source.html
    @@ -0,0 +1 @@
    +<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="en"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../../jacoco-resources/report.gif" type="image/gif"/><title>org.jacoco.report.html</title><script type="text/javascript" src="../../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb', 'coveragetable'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="index.html" class="el_class">Classes</a><a href="../../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../../index.html" class="el_report">JaCoCo</a> &gt; <a href="../index.html" class="el_bundle">org.jacoco.report</a> &gt; <span class="el_package">org.jacoco.report.html</span></div><h1>org.jacoco.report.html</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td><td class="sortable ctr1" id="l" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="m" onclick="toggleSort(this)">Classes</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">0 of 277</td><td class="ctr2">100%</td><td class="bar">0 of 4</td><td class="ctr2">100%</td><td class="ctr1">0</td><td class="ctr2">24</td><td class="ctr1">0</td><td class="ctr2">61</td><td class="ctr1">0</td><td class="ctr2">22</td><td class="ctr1">0</td><td class="ctr2">2</td></tr></tfoot><tbody><tr><td id="a0"><a href="HTMLFormatter.java.html" class="el_source">HTMLFormatter.java</a></td><td class="bar" id="b0"><img src="../../jacoco-resources/greenbar.gif" width="120" height="10" title="277" alt="277"/></td><td class="ctr2" id="c0">100%</td><td class="bar" id="d0"><img src="../../jacoco-resources/greenbar.gif" width="120" height="10" title="4" alt="4"/></td><td class="ctr2" id="e0">100%</td><td class="ctr1" id="f0">0</td><td class="ctr2" id="g0">24</td><td class="ctr1" id="h0">0</td><td class="ctr2" id="i0">61</td><td class="ctr1" id="j0">0</td><td class="ctr2" id="k0">22</td><td class="ctr1" id="l0">0</td><td class="ctr2" id="m0">2</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.12.202403270442</span>Code Coverage Report for JaCoCo 0.8.12-SNAPSHOT</div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/trunk/coverage/org.jacoco.report/org.jacoco.report.internal.html.index/ElementIndex.html b/jacoco/trunk/coverage/org.jacoco.report/org.jacoco.report.internal.html.index/ElementIndex.html
    new file mode 100644
    index 00000000000..4ee782acd65
    --- /dev/null
    +++ b/jacoco/trunk/coverage/org.jacoco.report/org.jacoco.report.internal.html.index/ElementIndex.html
    @@ -0,0 +1 @@
    +<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="en"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../../jacoco-resources/report.gif" type="image/gif"/><title>ElementIndex</title><script type="text/javascript" src="../../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../../index.html" class="el_report">JaCoCo</a> &gt; <a href="../index.html" class="el_bundle">org.jacoco.report</a> &gt; <a href="index.html" class="el_package">org.jacoco.report.internal.html.index</a> &gt; <span class="el_class">ElementIndex</span></div><h1>ElementIndex</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">0 of 29</td><td class="ctr2">100%</td><td class="bar">0 of 0</td><td class="ctr2">n/a</td><td class="ctr1">0</td><td class="ctr2">3</td><td class="ctr1">0</td><td class="ctr2">7</td><td class="ctr1">0</td><td class="ctr2">3</td></tr></tfoot><tbody><tr><td id="a1"><a href="ElementIndex.java.html#L29" class="el_method">ElementIndex(ReportOutputFolder)</a></td><td class="bar" id="b0"><img src="../../jacoco-resources/greenbar.gif" width="120" height="10" title="11" alt="11"/></td><td class="ctr2" id="c0">100%</td><td class="bar" id="d0"/><td class="ctr2" id="e0">n/a</td><td class="ctr1" id="f0">0</td><td class="ctr2" id="g0">1</td><td class="ctr1" id="h0">0</td><td class="ctr2" id="i0">4</td><td class="ctr1" id="j0">0</td><td class="ctr2" id="k0">1</td></tr><tr><td id="a0"><a href="ElementIndex.java.html#L56" class="el_method">addClass(ILinkable, long)</a></td><td class="bar" id="b1"><img src="../../jacoco-resources/greenbar.gif" width="120" height="10" title="11" alt="11"/></td><td class="ctr2" id="c1">100%</td><td class="bar" id="d1"/><td class="ctr2" id="e1">n/a</td><td class="ctr1" id="f1">0</td><td class="ctr2" id="g1">1</td><td class="ctr1" id="h1">0</td><td class="ctr2" id="i1">2</td><td class="ctr1" id="j1">0</td><td class="ctr2" id="k1">1</td></tr><tr><td id="a2"><a href="ElementIndex.java.html#L50" class="el_method">getLinkToClass(long)</a></td><td class="bar" id="b2"><img src="../../jacoco-resources/greenbar.gif" width="76" height="10" title="7" alt="7"/></td><td class="ctr2" id="c2">100%</td><td class="bar" id="d2"/><td class="ctr2" id="e2">n/a</td><td class="ctr1" id="f2">0</td><td class="ctr2" id="g2">1</td><td class="ctr1" id="h2">0</td><td class="ctr2" id="i2">1</td><td class="ctr1" id="j2">0</td><td class="ctr2" id="k2">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.12.202403270442</span>Code Coverage Report for JaCoCo 0.8.12-SNAPSHOT</div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/trunk/coverage/org.jacoco.report/org.jacoco.report.internal.html.index/ElementIndex.java.html b/jacoco/trunk/coverage/org.jacoco.report/org.jacoco.report.internal.html.index/ElementIndex.java.html
    new file mode 100644
    index 00000000000..b40a30b85e3
    --- /dev/null
    +++ b/jacoco/trunk/coverage/org.jacoco.report/org.jacoco.report.internal.html.index/ElementIndex.java.html
    @@ -0,0 +1,60 @@
    +<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="en"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../../jacoco-resources/report.gif" type="image/gif"/><title>ElementIndex.java</title><link rel="stylesheet" href="../../jacoco-resources/prettify.css" type="text/css"/><script type="text/javascript" src="../../jacoco-resources/prettify.js"></script></head><body onload="window['PR_TAB_WIDTH']=4;prettyPrint()"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../../index.html" class="el_report">JaCoCo</a> &gt; <a href="../index.html" class="el_bundle">org.jacoco.report</a> &gt; <a href="index.source.html" class="el_package">org.jacoco.report.internal.html.index</a> &gt; <span class="el_source">ElementIndex.java</span></div><h1>ElementIndex.java</h1><pre class="source lang-java linenums">/*******************************************************************************
    + * Copyright (c) 2009, 2024 Mountainminds GmbH &amp; Co. KG and Contributors
    + * This program and the accompanying materials are made available under
    + * the terms of the Eclipse Public License 2.0 which is available at
    + * http://www.eclipse.org/legal/epl-2.0
    + *
    + * SPDX-License-Identifier: EPL-2.0
    + *
    + * Contributors:
    + *    Marc R. Hoffmann - initial API and implementation
    + *
    + *******************************************************************************/
    +package org.jacoco.report.internal.html.index;
    +
    +import java.util.HashMap;
    +import java.util.Map;
    +
    +import org.jacoco.report.internal.ReportOutputFolder;
    +import org.jacoco.report.internal.html.ILinkable;
    +
    +/**
    + * An index over all report pages that allows queries according to certain
    + * criteria.
    + */
    +public class ElementIndex implements IIndexUpdate {
    +
    +	private final ReportOutputFolder baseFolder;
    +
    +<span class="fc" id="L29">	private final Map&lt;Long, String&gt; allClasses = new HashMap&lt;Long, String&gt;();</span>
    +
    +	/**
    +	 * Creates a new empty index for a HTML report.
    +	 *
    +	 * @param baseFolder
    +	 *            base folder where all links are calculated relative to
    +	 */
    +<span class="fc" id="L37">	public ElementIndex(final ReportOutputFolder baseFolder) {</span>
    +<span class="fc" id="L38">		this.baseFolder = baseFolder;</span>
    +<span class="fc" id="L39">	}</span>
    +
    +	/**
    +	 * Returns the link to the class with the given identifier if a
    +	 * corresponding page exists.
    +	 *
    +	 * @param classid
    +	 *            class identifier
    +	 * @return Link or null
    +	 */
    +	public String getLinkToClass(final long classid) {
    +<span class="fc" id="L50">		return allClasses.get(Long.valueOf(classid));</span>
    +	}
    +
    +	// === IIndexUpdater ===
    +
    +	public void addClass(final ILinkable link, final long classid) {
    +<span class="fc" id="L56">		allClasses.put(Long.valueOf(classid), link.getLink(baseFolder));</span>
    +<span class="fc" id="L57">	}</span>
    +
    +}
    +</pre><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.12.202403270442</span>Code Coverage Report for JaCoCo 0.8.12-SNAPSHOT</div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/trunk/coverage/org.jacoco.report/org.jacoco.report.internal.html.index/index.html b/jacoco/trunk/coverage/org.jacoco.report/org.jacoco.report.internal.html.index/index.html
    new file mode 100644
    index 00000000000..00fe8301df5
    --- /dev/null
    +++ b/jacoco/trunk/coverage/org.jacoco.report/org.jacoco.report.internal.html.index/index.html
    @@ -0,0 +1 @@
    +<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="en"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../../jacoco-resources/report.gif" type="image/gif"/><title>org.jacoco.report.internal.html.index</title><script type="text/javascript" src="../../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb', 'coveragetable'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="index.source.html" class="el_source">Source Files</a><a href="../../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../../index.html" class="el_report">JaCoCo</a> &gt; <a href="../index.html" class="el_bundle">org.jacoco.report</a> &gt; <span class="el_package">org.jacoco.report.internal.html.index</span></div><h1>org.jacoco.report.internal.html.index</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td><td class="sortable ctr1" id="l" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="m" onclick="toggleSort(this)">Classes</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">0 of 29</td><td class="ctr2">100%</td><td class="bar">0 of 0</td><td class="ctr2">n/a</td><td class="ctr1">0</td><td class="ctr2">3</td><td class="ctr1">0</td><td class="ctr2">7</td><td class="ctr1">0</td><td class="ctr2">3</td><td class="ctr1">0</td><td class="ctr2">1</td></tr></tfoot><tbody><tr><td id="a0"><a href="ElementIndex.html" class="el_class">ElementIndex</a></td><td class="bar" id="b0"><img src="../../jacoco-resources/greenbar.gif" width="120" height="10" title="29" alt="29"/></td><td class="ctr2" id="c0">100%</td><td class="bar" id="d0"/><td class="ctr2" id="e0">n/a</td><td class="ctr1" id="f0">0</td><td class="ctr2" id="g0">3</td><td class="ctr1" id="h0">0</td><td class="ctr2" id="i0">7</td><td class="ctr1" id="j0">0</td><td class="ctr2" id="k0">3</td><td class="ctr1" id="l0">0</td><td class="ctr2" id="m0">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.12.202403270442</span>Code Coverage Report for JaCoCo 0.8.12-SNAPSHOT</div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/trunk/coverage/org.jacoco.report/org.jacoco.report.internal.html.index/index.source.html b/jacoco/trunk/coverage/org.jacoco.report/org.jacoco.report.internal.html.index/index.source.html
    new file mode 100644
    index 00000000000..0a7c08e0226
    --- /dev/null
    +++ b/jacoco/trunk/coverage/org.jacoco.report/org.jacoco.report.internal.html.index/index.source.html
    @@ -0,0 +1 @@
    +<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="en"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../../jacoco-resources/report.gif" type="image/gif"/><title>org.jacoco.report.internal.html.index</title><script type="text/javascript" src="../../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb', 'coveragetable'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="index.html" class="el_class">Classes</a><a href="../../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../../index.html" class="el_report">JaCoCo</a> &gt; <a href="../index.html" class="el_bundle">org.jacoco.report</a> &gt; <span class="el_package">org.jacoco.report.internal.html.index</span></div><h1>org.jacoco.report.internal.html.index</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td><td class="sortable ctr1" id="l" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="m" onclick="toggleSort(this)">Classes</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">0 of 29</td><td class="ctr2">100%</td><td class="bar">0 of 0</td><td class="ctr2">n/a</td><td class="ctr1">0</td><td class="ctr2">3</td><td class="ctr1">0</td><td class="ctr2">7</td><td class="ctr1">0</td><td class="ctr2">3</td><td class="ctr1">0</td><td class="ctr2">1</td></tr></tfoot><tbody><tr><td id="a0"><a href="ElementIndex.java.html" class="el_source">ElementIndex.java</a></td><td class="bar" id="b0"><img src="../../jacoco-resources/greenbar.gif" width="120" height="10" title="29" alt="29"/></td><td class="ctr2" id="c0">100%</td><td class="bar" id="d0"/><td class="ctr2" id="e0">n/a</td><td class="ctr1" id="f0">0</td><td class="ctr2" id="g0">3</td><td class="ctr1" id="h0">0</td><td class="ctr2" id="i0">7</td><td class="ctr1" id="j0">0</td><td class="ctr2" id="k0">3</td><td class="ctr1" id="l0">0</td><td class="ctr2" id="m0">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.12.202403270442</span>Code Coverage Report for JaCoCo 0.8.12-SNAPSHOT</div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/trunk/coverage/org.jacoco.report/org.jacoco.report.internal.html.page/BundlePage.html b/jacoco/trunk/coverage/org.jacoco.report/org.jacoco.report.internal.html.page/BundlePage.html
    new file mode 100644
    index 00000000000..cff268b1f3f
    --- /dev/null
    +++ b/jacoco/trunk/coverage/org.jacoco.report/org.jacoco.report.internal.html.page/BundlePage.html
    @@ -0,0 +1 @@
    +<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="en"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../../jacoco-resources/report.gif" type="image/gif"/><title>BundlePage</title><script type="text/javascript" src="../../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../../index.html" class="el_report">JaCoCo</a> &gt; <a href="../index.html" class="el_bundle">org.jacoco.report</a> &gt; <a href="index.html" class="el_package">org.jacoco.report.internal.html.page</a> &gt; <span class="el_class">BundlePage</span></div><h1>BundlePage</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">2 of 99</td><td class="ctr2">97%</td><td class="bar">1 of 10</td><td class="ctr2">90%</td><td class="ctr1">1</td><td class="ctr2">11</td><td class="ctr1">0</td><td class="ctr2">26</td><td class="ctr1">0</td><td class="ctr2">6</td></tr></tfoot><tbody><tr><td id="a5"><a href="BundlePage.java.html#L66" class="el_method">renderPackages()</a></td><td class="bar" id="b0"><img src="../../jacoco-resources/redbar.gif" width="4" height="10" title="2" alt="2"/><img src="../../jacoco-resources/greenbar.gif" width="115" height="10" title="48" alt="48"/></td><td class="ctr2" id="c5">96%</td><td class="bar" id="d0"><img src="../../jacoco-resources/redbar.gif" width="20" height="10" title="1" alt="1"/><img src="../../jacoco-resources/greenbar.gif" width="100" height="10" title="5" alt="5"/></td><td class="ctr2" id="e1">83%</td><td class="ctr1" id="f0">1</td><td class="ctr2" id="g0">4</td><td class="ctr1" id="h0">0</td><td class="ctr2" id="i0">10</td><td class="ctr1" id="j0">0</td><td class="ctr2" id="k0">1</td></tr><tr><td id="a1"><a href="BundlePage.java.html#L92" class="el_method">content(HTMLElement)</a></td><td class="bar" id="b1"><img src="../../jacoco-resources/greenbar.gif" width="55" height="10" title="23" alt="23"/></td><td class="ctr2" id="c0">100%</td><td class="bar" id="d1"><img src="../../jacoco-resources/greenbar.gif" width="80" height="10" title="4" alt="4"/></td><td class="ctr2" id="e0">100%</td><td class="ctr1" id="f1">0</td><td class="ctr2" id="g1">3</td><td class="ctr1" id="h1">0</td><td class="ctr2" id="i1">6</td><td class="ctr1" id="j1">0</td><td class="ctr2" id="k1">1</td></tr><tr><td id="a0"><a href="BundlePage.java.html#L52" class="el_method">BundlePage(IBundleCoverage, ReportPage, ISourceFileLocator, ReportOutputFolder, IHTMLReportContext)</a></td><td class="bar" id="b2"><img src="../../jacoco-resources/greenbar.gif" width="33" height="10" title="14" alt="14"/></td><td class="ctr2" id="c1">100%</td><td class="bar" id="d2"/><td class="ctr2" id="e2">n/a</td><td class="ctr1" id="f2">0</td><td class="ctr2" id="g2">1</td><td class="ctr1" id="h2">0</td><td class="ctr2" id="i2">4</td><td class="ctr1" id="j2">0</td><td class="ctr2" id="k2">1</td></tr><tr><td id="a4"><a href="BundlePage.java.html#L59" class="el_method">render()</a></td><td class="bar" id="b3"><img src="../../jacoco-resources/greenbar.gif" width="19" height="10" title="8" alt="8"/></td><td class="ctr2" id="c2">100%</td><td class="bar" id="d3"/><td class="ctr2" id="e3">n/a</td><td class="ctr1" id="f3">0</td><td class="ctr2" id="g3">1</td><td class="ctr1" id="h3">0</td><td class="ctr2" id="i3">4</td><td class="ctr1" id="j3">0</td><td class="ctr2" id="k3">1</td></tr><tr><td id="a3"><a href="BundlePage.java.html#L82" class="el_method">getOnload()</a></td><td class="bar" id="b4"><img src="../../jacoco-resources/greenbar.gif" width="4" height="10" title="2" alt="2"/></td><td class="ctr2" id="c3">100%</td><td class="bar" id="d4"/><td class="ctr2" id="e4">n/a</td><td class="ctr1" id="f4">0</td><td class="ctr2" id="g4">1</td><td class="ctr1" id="h4">0</td><td class="ctr2" id="i4">1</td><td class="ctr1" id="j4">0</td><td class="ctr2" id="k4">1</td></tr><tr><td id="a2"><a href="BundlePage.java.html#L87" class="el_method">getFileName()</a></td><td class="bar" id="b5"><img src="../../jacoco-resources/greenbar.gif" width="4" height="10" title="2" alt="2"/></td><td class="ctr2" id="c4">100%</td><td class="bar" id="d5"/><td class="ctr2" id="e5">n/a</td><td class="ctr1" id="f5">0</td><td class="ctr2" id="g5">1</td><td class="ctr1" id="h5">0</td><td class="ctr2" id="i5">1</td><td class="ctr1" id="j5">0</td><td class="ctr2" id="k5">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.12.202403270442</span>Code Coverage Report for JaCoCo 0.8.12-SNAPSHOT</div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/trunk/coverage/org.jacoco.report/org.jacoco.report.internal.html.page/BundlePage.java.html b/jacoco/trunk/coverage/org.jacoco.report/org.jacoco.report.internal.html.page/BundlePage.java.html
    new file mode 100644
    index 00000000000..ae38b0082bc
    --- /dev/null
    +++ b/jacoco/trunk/coverage/org.jacoco.report/org.jacoco.report.internal.html.page/BundlePage.java.html
    @@ -0,0 +1,103 @@
    +<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="en"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../../jacoco-resources/report.gif" type="image/gif"/><title>BundlePage.java</title><link rel="stylesheet" href="../../jacoco-resources/prettify.css" type="text/css"/><script type="text/javascript" src="../../jacoco-resources/prettify.js"></script></head><body onload="window['PR_TAB_WIDTH']=4;prettyPrint()"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../../index.html" class="el_report">JaCoCo</a> &gt; <a href="../index.html" class="el_bundle">org.jacoco.report</a> &gt; <a href="index.source.html" class="el_package">org.jacoco.report.internal.html.page</a> &gt; <span class="el_source">BundlePage.java</span></div><h1>BundlePage.java</h1><pre class="source lang-java linenums">/*******************************************************************************
    + * Copyright (c) 2009, 2024 Mountainminds GmbH &amp; Co. KG and Contributors
    + * This program and the accompanying materials are made available under
    + * the terms of the Eclipse Public License 2.0 which is available at
    + * http://www.eclipse.org/legal/epl-2.0
    + *
    + * SPDX-License-Identifier: EPL-2.0
    + *
    + * Contributors:
    + *    Marc R. Hoffmann - initial API and implementation
    + *
    + *******************************************************************************/
    +package org.jacoco.report.internal.html.page;
    +
    +import java.io.IOException;
    +
    +import org.jacoco.core.analysis.IBundleCoverage;
    +import org.jacoco.core.analysis.ICoverageNode;
    +import org.jacoco.core.analysis.IPackageCoverage;
    +import org.jacoco.report.ISourceFileLocator;
    +import org.jacoco.report.internal.ReportOutputFolder;
    +import org.jacoco.report.internal.html.HTMLElement;
    +import org.jacoco.report.internal.html.IHTMLReportContext;
    +
    +/**
    + * Page showing coverage information for a bundle. The page contains a table
    + * with all packages of the bundle.
    + */
    +public class BundlePage extends TablePage&lt;ICoverageNode&gt; {
    +
    +	private final ISourceFileLocator locator;
    +
    +	private IBundleCoverage bundle;
    +
    +	/**
    +	 * Creates a new visitor in the given context.
    +	 *
    +	 * @param bundle
    +	 *            coverage date for the bundle
    +	 * @param parent
    +	 *            optional hierarchical parent
    +	 * @param locator
    +	 *            source locator
    +	 * @param folder
    +	 *            base folder for this bundle
    +	 * @param context
    +	 *            settings context
    +	 */
    +	public BundlePage(final IBundleCoverage bundle, final ReportPage parent,
    +			final ISourceFileLocator locator, final ReportOutputFolder folder,
    +			final IHTMLReportContext context) {
    +<span class="fc" id="L52">		super(bundle.getPlainCopy(), parent, folder, context);</span>
    +<span class="fc" id="L53">		this.bundle = bundle;</span>
    +<span class="fc" id="L54">		this.locator = locator;</span>
    +<span class="fc" id="L55">	}</span>
    +
    +	@Override
    +	public void render() throws IOException {
    +<span class="fc" id="L59">		renderPackages();</span>
    +<span class="fc" id="L60">		super.render();</span>
    +		// Don't keep the bundle structure in memory
    +<span class="fc" id="L62">		bundle = null;</span>
    +<span class="fc" id="L63">	}</span>
    +
    +	private void renderPackages() throws IOException {
    +<span class="fc bfc" id="L66" title="All 2 branches covered.">		for (final IPackageCoverage p : bundle.getPackages()) {</span>
    +<span class="fc bfc" id="L67" title="All 2 branches covered.">			if (!p.containsCode()) {</span>
    +<span class="fc" id="L68">				continue;</span>
    +			}
    +<span class="fc" id="L70">			final String packagename = p.getName();</span>
    +<span class="pc bpc" id="L71" title="1 of 2 branches missed.">			final String foldername = packagename.length() == 0 ? &quot;default&quot;</span>
    +					: packagename.replace('/', '.');
    +<span class="fc" id="L73">			final PackagePage page = new PackagePage(p, this, locator,</span>
    +					folder.subFolder(foldername), context);
    +<span class="fc" id="L75">			page.render();</span>
    +<span class="fc" id="L76">			addItem(page);</span>
    +<span class="fc" id="L77">		}</span>
    +<span class="fc" id="L78">	}</span>
    +
    +	@Override
    +	protected String getOnload() {
    +<span class="fc" id="L82">		return &quot;initialSort(['breadcrumb', 'coveragetable'])&quot;;</span>
    +	}
    +
    +	@Override
    +	protected String getFileName() {
    +<span class="fc" id="L87">		return &quot;index.html&quot;;</span>
    +	}
    +
    +	@Override
    +	protected void content(HTMLElement body) throws IOException {
    +<span class="fc bfc" id="L92" title="All 2 branches covered.">		if (bundle.getPackages().isEmpty()) {</span>
    +<span class="fc" id="L93">			body.p().text(&quot;No class files specified.&quot;);</span>
    +<span class="fc bfc" id="L94" title="All 2 branches covered.">		} else if (!bundle.containsCode()) {</span>
    +<span class="fc" id="L95">			body.p().text(</span>
    +					&quot;None of the analyzed classes contain code relevant for code coverage.&quot;);
    +		} else {
    +<span class="fc" id="L98">			super.content(body);</span>
    +		}
    +<span class="fc" id="L100">	}</span>
    +
    +}
    +</pre><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.12.202403270442</span>Code Coverage Report for JaCoCo 0.8.12-SNAPSHOT</div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/trunk/coverage/org.jacoco.report/org.jacoco.report.internal.html.page/ClassPage.html b/jacoco/trunk/coverage/org.jacoco.report/org.jacoco.report.internal.html.page/ClassPage.html
    new file mode 100644
    index 00000000000..5c2a9bc57d1
    --- /dev/null
    +++ b/jacoco/trunk/coverage/org.jacoco.report/org.jacoco.report.internal.html.page/ClassPage.html
    @@ -0,0 +1 @@
    +<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="en"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../../jacoco-resources/report.gif" type="image/gif"/><title>ClassPage</title><script type="text/javascript" src="../../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../../index.html" class="el_report">JaCoCo</a> &gt; <a href="../index.html" class="el_bundle">org.jacoco.report</a> &gt; <a href="index.html" class="el_package">org.jacoco.report.internal.html.page</a> &gt; <span class="el_class">ClassPage</span></div><h1>ClassPage</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">0 of 183</td><td class="ctr2">100%</td><td class="bar">0 of 14</td><td class="ctr2">100%</td><td class="ctr1">0</td><td class="ctr2">13</td><td class="ctr1">0</td><td class="ctr2">30</td><td class="ctr1">0</td><td class="ctr2">6</td></tr></tfoot><tbody><tr><td id="a1"><a href="ClassPage.java.html#L87" class="el_method">content(HTMLElement)</a></td><td class="bar" id="b0"><img src="../../jacoco-resources/greenbar.gif" width="120" height="10" title="74" alt="74"/></td><td class="ctr2" id="c0">100%</td><td class="bar" id="d0"><img src="../../jacoco-resources/greenbar.gif" width="120" height="10" title="10" alt="10"/></td><td class="ctr2" id="e0">100%</td><td class="ctr1" id="f0">0</td><td class="ctr2" id="g0">6</td><td class="ctr1" id="h0">0</td><td class="ctr2" id="i0">14</td><td class="ctr1" id="j0">0</td><td class="ctr2" id="k0">1</td></tr><tr><td id="a5"><a href="ClassPage.java.html#L61" class="el_method">render()</a></td><td class="bar" id="b1"><img src="../../jacoco-resources/greenbar.gif" width="66" height="10" title="41" alt="41"/></td><td class="ctr2" id="c1">100%</td><td class="bar" id="d1"><img src="../../jacoco-resources/greenbar.gif" width="24" height="10" title="2" alt="2"/></td><td class="ctr2" id="e1">100%</td><td class="ctr1" id="f1">0</td><td class="ctr2" id="g1">2</td><td class="ctr1" id="h1">0</td><td class="ctr2" id="i1">6</td><td class="ctr1" id="j1">0</td><td class="ctr2" id="k1">1</td></tr><tr><td id="a2"><a href="ClassPage.java.html#L72" class="el_method">getFileName()</a></td><td class="bar" id="b2"><img src="../../jacoco-resources/greenbar.gif" width="47" height="10" title="29" alt="29"/></td><td class="ctr2" id="c2">100%</td><td class="bar" id="d2"><img src="../../jacoco-resources/greenbar.gif" width="24" height="10" title="2" alt="2"/></td><td class="ctr2" id="e2">100%</td><td class="ctr1" id="f2">0</td><td class="ctr2" id="g2">2</td><td class="ctr1" id="h2">0</td><td class="ctr2" id="i2">4</td><td class="ctr1" id="j2">0</td><td class="ctr2" id="k2">1</td></tr><tr><td id="a3"><a href="ClassPage.java.html#L80" class="el_method">getLinkLabel()</a></td><td class="bar" id="b3"><img src="../../jacoco-resources/greenbar.gif" width="34" height="10" title="21" alt="21"/></td><td class="ctr2" id="c3">100%</td><td class="bar" id="d3"/><td class="ctr2" id="e3">n/a</td><td class="ctr1" id="f3">0</td><td class="ctr2" id="g3">1</td><td class="ctr1" id="h3">0</td><td class="ctr2" id="i4">1</td><td class="ctr1" id="j3">0</td><td class="ctr2" id="k3">1</td></tr><tr><td id="a0"><a href="ClassPage.java.html#L49" class="el_method">ClassPage(IClassCoverage, ReportPage, ILinkable, ReportOutputFolder, IHTMLReportContext)</a></td><td class="bar" id="b4"><img src="../../jacoco-resources/greenbar.gif" width="25" height="10" title="16" alt="16"/></td><td class="ctr2" id="c4">100%</td><td class="bar" id="d4"/><td class="ctr2" id="e4">n/a</td><td class="ctr1" id="f4">0</td><td class="ctr2" id="g4">1</td><td class="ctr1" id="h4">0</td><td class="ctr2" id="i3">4</td><td class="ctr1" id="j4">0</td><td class="ctr2" id="k4">1</td></tr><tr><td id="a4"><a href="ClassPage.java.html#L56" class="el_method">getOnload()</a></td><td class="bar" id="b5"><img src="../../jacoco-resources/greenbar.gif" width="3" height="10" title="2" alt="2"/></td><td class="ctr2" id="c5">100%</td><td class="bar" id="d5"/><td class="ctr2" id="e5">n/a</td><td class="ctr1" id="f5">0</td><td class="ctr2" id="g5">1</td><td class="ctr1" id="h5">0</td><td class="ctr2" id="i5">1</td><td class="ctr1" id="j5">0</td><td class="ctr2" id="k5">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.12.202403270442</span>Code Coverage Report for JaCoCo 0.8.12-SNAPSHOT</div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/trunk/coverage/org.jacoco.report/org.jacoco.report.internal.html.page/ClassPage.java.html b/jacoco/trunk/coverage/org.jacoco.report/org.jacoco.report.internal.html.page/ClassPage.java.html
    new file mode 100644
    index 00000000000..76cb0a5b642
    --- /dev/null
    +++ b/jacoco/trunk/coverage/org.jacoco.report/org.jacoco.report.internal.html.page/ClassPage.java.html
    @@ -0,0 +1,117 @@
    +<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="en"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../../jacoco-resources/report.gif" type="image/gif"/><title>ClassPage.java</title><link rel="stylesheet" href="../../jacoco-resources/prettify.css" type="text/css"/><script type="text/javascript" src="../../jacoco-resources/prettify.js"></script></head><body onload="window['PR_TAB_WIDTH']=4;prettyPrint()"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../../index.html" class="el_report">JaCoCo</a> &gt; <a href="../index.html" class="el_bundle">org.jacoco.report</a> &gt; <a href="index.source.html" class="el_package">org.jacoco.report.internal.html.page</a> &gt; <span class="el_source">ClassPage.java</span></div><h1>ClassPage.java</h1><pre class="source lang-java linenums">/*******************************************************************************
    + * Copyright (c) 2009, 2024 Mountainminds GmbH &amp; Co. KG and Contributors
    + * This program and the accompanying materials are made available under
    + * the terms of the Eclipse Public License 2.0 which is available at
    + * http://www.eclipse.org/legal/epl-2.0
    + *
    + * SPDX-License-Identifier: EPL-2.0
    + *
    + * Contributors:
    + *    Marc R. Hoffmann - initial API and implementation
    + *
    + *******************************************************************************/
    +package org.jacoco.report.internal.html.page;
    +
    +import java.io.IOException;
    +
    +import org.jacoco.core.analysis.IClassCoverage;
    +import org.jacoco.core.analysis.IMethodCoverage;
    +import org.jacoco.report.internal.ReportOutputFolder;
    +import org.jacoco.report.internal.html.HTMLElement;
    +import org.jacoco.report.internal.html.IHTMLReportContext;
    +import org.jacoco.report.internal.html.ILinkable;
    +
    +/**
    + * Page showing coverage information for a class as a table of methods. The
    + * methods are linked to the corresponding source file.
    + */
    +public class ClassPage extends TablePage&lt;IClassCoverage&gt; {
    +
    +	private final ILinkable sourcePage;
    +
    +	/**
    +	 * Creates a new visitor in the given context.
    +	 *
    +	 * @param classNode
    +	 *            coverage data for this class
    +	 * @param parent
    +	 *            optional hierarchical parent
    +	 * @param sourcePage
    +	 *            corresponding source page or &lt;code&gt;null&lt;/code&gt;
    +	 * @param folder
    +	 *            base folder to create this page in
    +	 * @param context
    +	 *            settings context
    +	 */
    +	public ClassPage(final IClassCoverage classNode, final ReportPage parent,
    +			final ILinkable sourcePage, final ReportOutputFolder folder,
    +			final IHTMLReportContext context) {
    +<span class="fc" id="L49">		super(classNode, parent, folder, context);</span>
    +<span class="fc" id="L50">		this.sourcePage = sourcePage;</span>
    +<span class="fc" id="L51">		context.getIndexUpdate().addClass(this, classNode.getId());</span>
    +<span class="fc" id="L52">	}</span>
    +
    +	@Override
    +	protected String getOnload() {
    +<span class="fc" id="L56">		return &quot;initialSort(['breadcrumb'])&quot;;</span>
    +	}
    +
    +	@Override
    +	public void render() throws IOException {
    +<span class="fc bfc" id="L61" title="All 2 branches covered.">		for (final IMethodCoverage m : getNode().getMethods()) {</span>
    +<span class="fc" id="L62">			final String label = context.getLanguageNames().getMethodName(</span>
    +					getNode().getName(), m.getName(), m.getDesc(),
    +					m.getSignature());
    +<span class="fc" id="L65">			addItem(new MethodItem(m, label, sourcePage));</span>
    +<span class="fc" id="L66">		}</span>
    +<span class="fc" id="L67">		super.render();</span>
    +<span class="fc" id="L68">	}</span>
    +
    +	@Override
    +	protected String getFileName() {
    +<span class="fc" id="L72">		final String vmname = getNode().getName();</span>
    +<span class="fc" id="L73">		final int pos = vmname.lastIndexOf('/');</span>
    +<span class="fc bfc" id="L74" title="All 2 branches covered.">		final String shortname = pos == -1 ? vmname : vmname.substring(pos + 1);</span>
    +<span class="fc" id="L75">		return shortname + &quot;.html&quot;;</span>
    +	}
    +
    +	@Override
    +	public String getLinkLabel() {
    +<span class="fc" id="L80">		return context.getLanguageNames().getClassName(getNode().getName(),</span>
    +				getNode().getSignature(), getNode().getSuperName(),
    +				getNode().getInterfaceNames());
    +	}
    +
    +	@Override
    +	protected void content(HTMLElement body) throws IOException {
    +<span class="fc bfc" id="L87" title="All 2 branches covered.">		if (getNode().isNoMatch()) {</span>
    +<span class="fc" id="L88">			body.p().text(</span>
    +					&quot;A different version of class was executed at runtime.&quot;);
    +		}
    +
    +<span class="fc bfc" id="L92" title="All 2 branches covered.">		if (getNode().getLineCounter().getTotalCount() == 0) {</span>
    +<span class="fc" id="L93">			body.p().text(</span>
    +					&quot;Class files must be compiled with debug information to show line coverage.&quot;);
    +		}
    +
    +<span class="fc" id="L97">		final String sourceFileName = getNode().getSourceFileName();</span>
    +<span class="fc bfc" id="L98" title="All 2 branches covered.">		if (sourceFileName == null) {</span>
    +<span class="fc" id="L99">			body.p().text(</span>
    +					&quot;Class files must be compiled with debug information to link with source files.&quot;);
    +
    +<span class="fc bfc" id="L102" title="All 2 branches covered.">		} else if (sourcePage == null) {</span>
    +			final String sourcePath;
    +<span class="fc bfc" id="L104" title="All 2 branches covered.">			if (getNode().getPackageName().length() != 0) {</span>
    +<span class="fc" id="L105">				sourcePath = getNode().getPackageName() + &quot;/&quot; + sourceFileName;</span>
    +			} else {
    +<span class="fc" id="L107">				sourcePath = sourceFileName;</span>
    +			}
    +<span class="fc" id="L109">			body.p().text(&quot;Source file \&quot;&quot; + sourcePath</span>
    +					+ &quot;\&quot; was not found during generation of report.&quot;);
    +		}
    +
    +<span class="fc" id="L113">		super.content(body);</span>
    +<span class="fc" id="L114">	}</span>
    +
    +}
    +</pre><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.12.202403270442</span>Code Coverage Report for JaCoCo 0.8.12-SNAPSHOT</div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/trunk/coverage/org.jacoco.report/org.jacoco.report.internal.html.page/GroupPage.html b/jacoco/trunk/coverage/org.jacoco.report/org.jacoco.report.internal.html.page/GroupPage.html
    new file mode 100644
    index 00000000000..4eeebc111dd
    --- /dev/null
    +++ b/jacoco/trunk/coverage/org.jacoco.report/org.jacoco.report.internal.html.page/GroupPage.html
    @@ -0,0 +1 @@
    +<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="en"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../../jacoco-resources/report.gif" type="image/gif"/><title>GroupPage</title><script type="text/javascript" src="../../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../../index.html" class="el_report">JaCoCo</a> &gt; <a href="../index.html" class="el_bundle">org.jacoco.report</a> &gt; <a href="index.html" class="el_package">org.jacoco.report.internal.html.page</a> &gt; <span class="el_class">GroupPage</span></div><h1>GroupPage</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">0 of 11</td><td class="ctr2">100%</td><td class="bar">0 of 0</td><td class="ctr2">n/a</td><td class="ctr1">0</td><td class="ctr2">3</td><td class="ctr1">0</td><td class="ctr2">4</td><td class="ctr1">0</td><td class="ctr2">3</td></tr></tfoot><tbody><tr><td id="a2"><a href="GroupPage.java.html#L39" class="el_method">GroupPage(ICoverageNode, ReportPage, ReportOutputFolder, IHTMLReportContext)</a></td><td class="bar" id="b0"><img src="../../jacoco-resources/greenbar.gif" width="120" height="10" title="7" alt="7"/></td><td class="ctr2" id="c0">100%</td><td class="bar" id="d0"/><td class="ctr2" id="e0">n/a</td><td class="ctr1" id="f0">0</td><td class="ctr2" id="g0">1</td><td class="ctr1" id="h0">0</td><td class="ctr2" id="i0">2</td><td class="ctr1" id="j0">0</td><td class="ctr2" id="k0">1</td></tr><tr><td id="a1"><a href="GroupPage.java.html#L44" class="el_method">getOnload()</a></td><td class="bar" id="b1"><img src="../../jacoco-resources/greenbar.gif" width="34" height="10" title="2" alt="2"/></td><td class="ctr2" id="c1">100%</td><td class="bar" id="d1"/><td class="ctr2" id="e1">n/a</td><td class="ctr1" id="f1">0</td><td class="ctr2" id="g1">1</td><td class="ctr1" id="h1">0</td><td class="ctr2" id="i1">1</td><td class="ctr1" id="j1">0</td><td class="ctr2" id="k1">1</td></tr><tr><td id="a0"><a href="GroupPage.java.html#L49" class="el_method">getFileName()</a></td><td class="bar" id="b2"><img src="../../jacoco-resources/greenbar.gif" width="34" height="10" title="2" alt="2"/></td><td class="ctr2" id="c2">100%</td><td class="bar" id="d2"/><td class="ctr2" id="e2">n/a</td><td class="ctr1" id="f2">0</td><td class="ctr2" id="g2">1</td><td class="ctr1" id="h2">0</td><td class="ctr2" id="i2">1</td><td class="ctr1" id="j2">0</td><td class="ctr2" id="k2">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.12.202403270442</span>Code Coverage Report for JaCoCo 0.8.12-SNAPSHOT</div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/trunk/coverage/org.jacoco.report/org.jacoco.report.internal.html.page/GroupPage.java.html b/jacoco/trunk/coverage/org.jacoco.report/org.jacoco.report.internal.html.page/GroupPage.java.html
    new file mode 100644
    index 00000000000..b1670753b93
    --- /dev/null
    +++ b/jacoco/trunk/coverage/org.jacoco.report/org.jacoco.report.internal.html.page/GroupPage.java.html
    @@ -0,0 +1,53 @@
    +<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="en"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../../jacoco-resources/report.gif" type="image/gif"/><title>GroupPage.java</title><link rel="stylesheet" href="../../jacoco-resources/prettify.css" type="text/css"/><script type="text/javascript" src="../../jacoco-resources/prettify.js"></script></head><body onload="window['PR_TAB_WIDTH']=4;prettyPrint()"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../../index.html" class="el_report">JaCoCo</a> &gt; <a href="../index.html" class="el_bundle">org.jacoco.report</a> &gt; <a href="index.source.html" class="el_package">org.jacoco.report.internal.html.page</a> &gt; <span class="el_source">GroupPage.java</span></div><h1>GroupPage.java</h1><pre class="source lang-java linenums">/*******************************************************************************
    + * Copyright (c) 2009, 2024 Mountainminds GmbH &amp; Co. KG and Contributors
    + * This program and the accompanying materials are made available under
    + * the terms of the Eclipse Public License 2.0 which is available at
    + * http://www.eclipse.org/legal/epl-2.0
    + *
    + * SPDX-License-Identifier: EPL-2.0
    + *
    + * Contributors:
    + *    Marc R. Hoffmann - initial API and implementation
    + *
    + *******************************************************************************/
    +package org.jacoco.report.internal.html.page;
    +
    +import org.jacoco.core.analysis.ICoverageNode;
    +import org.jacoco.report.internal.ReportOutputFolder;
    +import org.jacoco.report.internal.html.IHTMLReportContext;
    +
    +/**
    + * Page showing coverage information for a node that groups other nodes. The
    + * page shows a table of linked nodes.
    + */
    +public class GroupPage extends TablePage&lt;ICoverageNode&gt; {
    +
    +	/**
    +	 * Creates a new visitor in the given context.
    +	 *
    +	 * @param node
    +	 *            corresponding coverage data
    +	 * @param parent
    +	 *            optional hierarchical parent
    +	 * @param folder
    +	 *            base folder to create this page in
    +	 * @param context
    +	 *            settings context
    +	 */
    +	public GroupPage(final ICoverageNode node, final ReportPage parent,
    +			final ReportOutputFolder folder, final IHTMLReportContext context) {
    +<span class="fc" id="L39">		super(node, parent, folder, context);</span>
    +<span class="fc" id="L40">	}</span>
    +
    +	@Override
    +	protected String getOnload() {
    +<span class="fc" id="L44">		return &quot;initialSort(['breadcrumb', 'coveragetable'])&quot;;</span>
    +	}
    +
    +	@Override
    +	protected String getFileName() {
    +<span class="fc" id="L49">		return &quot;index.html&quot;;</span>
    +	}
    +
    +}
    +</pre><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.12.202403270442</span>Code Coverage Report for JaCoCo 0.8.12-SNAPSHOT</div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/trunk/coverage/org.jacoco.report/org.jacoco.report.internal.html.page/MethodItem.html b/jacoco/trunk/coverage/org.jacoco.report/org.jacoco.report.internal.html.page/MethodItem.html
    new file mode 100644
    index 00000000000..5ef8000724e
    --- /dev/null
    +++ b/jacoco/trunk/coverage/org.jacoco.report/org.jacoco.report.internal.html.page/MethodItem.html
    @@ -0,0 +1 @@
    +<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="en"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../../jacoco-resources/report.gif" type="image/gif"/><title>MethodItem</title><script type="text/javascript" src="../../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../../index.html" class="el_report">JaCoCo</a> &gt; <a href="../index.html" class="el_bundle">org.jacoco.report</a> &gt; <a href="index.html" class="el_package">org.jacoco.report.internal.html.page</a> &gt; <span class="el_class">MethodItem</span></div><h1>MethodItem</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">0 of 50</td><td class="ctr2">100%</td><td class="bar">0 of 4</td><td class="ctr2">100%</td><td class="ctr1">0</td><td class="ctr2">7</td><td class="ctr1">0</td><td class="ctr2">13</td><td class="ctr1">0</td><td class="ctr2">5</td></tr></tfoot><tbody><tr><td id="a0"><a href="MethodItem.java.html#L50" class="el_method">getLink(ReportOutputFolder)</a></td><td class="bar" id="b0"><img src="../../jacoco-resources/greenbar.gif" width="120" height="10" title="30" alt="30"/></td><td class="ctr2" id="c0">100%</td><td class="bar" id="d0"><img src="../../jacoco-resources/greenbar.gif" width="120" height="10" title="4" alt="4"/></td><td class="ctr2" id="e0">100%</td><td class="ctr1" id="f0">0</td><td class="ctr2" id="g0">3</td><td class="ctr1" id="h0">0</td><td class="ctr2" id="i0">5</td><td class="ctr1" id="j0">0</td><td class="ctr2" id="k0">1</td></tr><tr><td id="a4"><a href="MethodItem.java.html#L35" class="el_method">MethodItem(IMethodCoverage, String, ILinkable)</a></td><td class="bar" id="b1"><img src="../../jacoco-resources/greenbar.gif" width="48" height="10" title="12" alt="12"/></td><td class="ctr2" id="c1">100%</td><td class="bar" id="d1"/><td class="ctr2" id="e1">n/a</td><td class="ctr1" id="f1">0</td><td class="ctr2" id="g1">1</td><td class="ctr1" id="h1">0</td><td class="ctr2" id="i1">5</td><td class="ctr1" id="j1">0</td><td class="ctr2" id="k1">1</td></tr><tr><td id="a1"><a href="MethodItem.java.html#L42" class="el_method">getLinkLabel()</a></td><td class="bar" id="b2"><img src="../../jacoco-resources/greenbar.gif" width="12" height="10" title="3" alt="3"/></td><td class="ctr2" id="c2">100%</td><td class="bar" id="d2"/><td class="ctr2" id="e2">n/a</td><td class="ctr1" id="f2">0</td><td class="ctr2" id="g2">1</td><td class="ctr1" id="h2">0</td><td class="ctr2" id="i2">1</td><td class="ctr1" id="j2">0</td><td class="ctr2" id="k2">1</td></tr><tr><td id="a3"><a href="MethodItem.java.html#L59" class="el_method">getNode()</a></td><td class="bar" id="b3"><img src="../../jacoco-resources/greenbar.gif" width="12" height="10" title="3" alt="3"/></td><td class="ctr2" id="c3">100%</td><td class="bar" id="d3"/><td class="ctr2" id="e3">n/a</td><td class="ctr1" id="f3">0</td><td class="ctr2" id="g3">1</td><td class="ctr1" id="h3">0</td><td class="ctr2" id="i3">1</td><td class="ctr1" id="j3">0</td><td class="ctr2" id="k3">1</td></tr><tr><td id="a2"><a href="MethodItem.java.html#L46" class="el_method">getLinkStyle()</a></td><td class="bar" id="b4"><img src="../../jacoco-resources/greenbar.gif" width="8" height="10" title="2" alt="2"/></td><td class="ctr2" id="c4">100%</td><td class="bar" id="d4"/><td class="ctr2" id="e4">n/a</td><td class="ctr1" id="f4">0</td><td class="ctr2" id="g4">1</td><td class="ctr1" id="h4">0</td><td class="ctr2" id="i4">1</td><td class="ctr1" id="j4">0</td><td class="ctr2" id="k4">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.12.202403270442</span>Code Coverage Report for JaCoCo 0.8.12-SNAPSHOT</div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/trunk/coverage/org.jacoco.report/org.jacoco.report.internal.html.page/MethodItem.java.html b/jacoco/trunk/coverage/org.jacoco.report/org.jacoco.report.internal.html.page/MethodItem.java.html
    new file mode 100644
    index 00000000000..efffbad99df
    --- /dev/null
    +++ b/jacoco/trunk/coverage/org.jacoco.report/org.jacoco.report.internal.html.page/MethodItem.java.html
    @@ -0,0 +1,63 @@
    +<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="en"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../../jacoco-resources/report.gif" type="image/gif"/><title>MethodItem.java</title><link rel="stylesheet" href="../../jacoco-resources/prettify.css" type="text/css"/><script type="text/javascript" src="../../jacoco-resources/prettify.js"></script></head><body onload="window['PR_TAB_WIDTH']=4;prettyPrint()"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../../index.html" class="el_report">JaCoCo</a> &gt; <a href="../index.html" class="el_bundle">org.jacoco.report</a> &gt; <a href="index.source.html" class="el_package">org.jacoco.report.internal.html.page</a> &gt; <span class="el_source">MethodItem.java</span></div><h1>MethodItem.java</h1><pre class="source lang-java linenums">/*******************************************************************************
    + * Copyright (c) 2009, 2024 Mountainminds GmbH &amp; Co. KG and Contributors
    + * This program and the accompanying materials are made available under
    + * the terms of the Eclipse Public License 2.0 which is available at
    + * http://www.eclipse.org/legal/epl-2.0
    + *
    + * SPDX-License-Identifier: EPL-2.0
    + *
    + * Contributors:
    + *    Marc R. Hoffmann - initial API and implementation
    + *
    + *******************************************************************************/
    +package org.jacoco.report.internal.html.page;
    +
    +import org.jacoco.core.analysis.ICoverageNode;
    +import org.jacoco.core.analysis.IMethodCoverage;
    +import org.jacoco.core.analysis.ISourceNode;
    +import org.jacoco.report.internal.ReportOutputFolder;
    +import org.jacoco.report.internal.html.ILinkable;
    +import org.jacoco.report.internal.html.resources.Styles;
    +import org.jacoco.report.internal.html.table.ITableItem;
    +
    +/**
    + * Table items representing a method.
    + */
    +final class MethodItem implements ITableItem {
    +
    +	private final IMethodCoverage node;
    +
    +	private final String label;
    +
    +	private final ILinkable sourcePage;
    +
    +	MethodItem(final IMethodCoverage node, final String label,
    +<span class="fc" id="L35">			final ILinkable sourcePage) {</span>
    +<span class="fc" id="L36">		this.node = node;</span>
    +<span class="fc" id="L37">		this.label = label;</span>
    +<span class="fc" id="L38">		this.sourcePage = sourcePage;</span>
    +<span class="fc" id="L39">	}</span>
    +
    +	public String getLinkLabel() {
    +<span class="fc" id="L42">		return label;</span>
    +	}
    +
    +	public String getLinkStyle() {
    +<span class="fc" id="L46">		return Styles.EL_METHOD;</span>
    +	}
    +
    +	public String getLink(final ReportOutputFolder base) {
    +<span class="fc bfc" id="L50" title="All 2 branches covered.">		if (sourcePage == null) {</span>
    +<span class="fc" id="L51">			return null;</span>
    +		}
    +<span class="fc" id="L53">		final String link = sourcePage.getLink(base);</span>
    +<span class="fc" id="L54">		final int first = node.getFirstLine();</span>
    +<span class="fc bfc" id="L55" title="All 2 branches covered.">		return first != ISourceNode.UNKNOWN_LINE ? link + &quot;#L&quot; + first : link;</span>
    +	}
    +
    +	public ICoverageNode getNode() {
    +<span class="fc" id="L59">		return node;</span>
    +	}
    +
    +}
    +</pre><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.12.202403270442</span>Code Coverage Report for JaCoCo 0.8.12-SNAPSHOT</div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/trunk/coverage/org.jacoco.report/org.jacoco.report.internal.html.page/NodePage.html b/jacoco/trunk/coverage/org.jacoco.report/org.jacoco.report.internal.html.page/NodePage.html
    new file mode 100644
    index 00000000000..6d8d95e248a
    --- /dev/null
    +++ b/jacoco/trunk/coverage/org.jacoco.report/org.jacoco.report.internal.html.page/NodePage.html
    @@ -0,0 +1 @@
    +<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="en"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../../jacoco-resources/report.gif" type="image/gif"/><title>NodePage</title><script type="text/javascript" src="../../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../../index.html" class="el_report">JaCoCo</a> &gt; <a href="../index.html" class="el_bundle">org.jacoco.report</a> &gt; <a href="index.html" class="el_package">org.jacoco.report.internal.html.page</a> &gt; <span class="el_class">NodePage</span></div><h1>NodePage</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">0 of 26</td><td class="ctr2">100%</td><td class="bar">0 of 2</td><td class="ctr2">100%</td><td class="ctr1">0</td><td class="ctr2">5</td><td class="ctr1">0</td><td class="ctr2">8</td><td class="ctr1">0</td><td class="ctr2">4</td></tr></tfoot><tbody><tr><td id="a1"><a href="NodePage.java.html#L54" class="el_method">getLinkStyle()</a></td><td class="bar" id="b0"><img src="../../jacoco-resources/greenbar.gif" width="120" height="10" title="10" alt="10"/></td><td class="ctr2" id="c0">100%</td><td class="bar" id="d0"><img src="../../jacoco-resources/greenbar.gif" width="120" height="10" title="2" alt="2"/></td><td class="ctr2" id="e0">100%</td><td class="ctr1" id="f0">0</td><td class="ctr2" id="g0">2</td><td class="ctr1" id="h0">0</td><td class="ctr2" id="i0">3</td><td class="ctr1" id="j0">0</td><td class="ctr2" id="k0">1</td></tr><tr><td id="a3"><a href="NodePage.java.html#L47" class="el_method">NodePage(ICoverageNode, ReportPage, ReportOutputFolder, IHTMLReportContext)</a></td><td class="bar" id="b1"><img src="../../jacoco-resources/greenbar.gif" width="108" height="10" title="9" alt="9"/></td><td class="ctr2" id="c1">100%</td><td class="bar" id="d1"/><td class="ctr2" id="e1">n/a</td><td class="ctr1" id="f1">0</td><td class="ctr2" id="g1">1</td><td class="ctr1" id="h1">0</td><td class="ctr2" id="i1">3</td><td class="ctr1" id="j1">0</td><td class="ctr2" id="k1">1</td></tr><tr><td id="a0"><a href="NodePage.java.html#L62" class="el_method">getLinkLabel()</a></td><td class="bar" id="b2"><img src="../../jacoco-resources/greenbar.gif" width="48" height="10" title="4" alt="4"/></td><td class="ctr2" id="c2">100%</td><td class="bar" id="d2"/><td class="ctr2" id="e2">n/a</td><td class="ctr1" id="f2">0</td><td class="ctr2" id="g2">1</td><td class="ctr1" id="h2">0</td><td class="ctr2" id="i2">1</td><td class="ctr1" id="j2">0</td><td class="ctr2" id="k2">1</td></tr><tr><td id="a2"><a href="NodePage.java.html#L68" class="el_method">getNode()</a></td><td class="bar" id="b3"><img src="../../jacoco-resources/greenbar.gif" width="36" height="10" title="3" alt="3"/></td><td class="ctr2" id="c3">100%</td><td class="bar" id="d3"/><td class="ctr2" id="e3">n/a</td><td class="ctr1" id="f3">0</td><td class="ctr2" id="g3">1</td><td class="ctr1" id="h3">0</td><td class="ctr2" id="i3">1</td><td class="ctr1" id="j3">0</td><td class="ctr2" id="k3">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.12.202403270442</span>Code Coverage Report for JaCoCo 0.8.12-SNAPSHOT</div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/trunk/coverage/org.jacoco.report/org.jacoco.report.internal.html.page/NodePage.java.html b/jacoco/trunk/coverage/org.jacoco.report/org.jacoco.report.internal.html.page/NodePage.java.html
    new file mode 100644
    index 00000000000..fa075d14a9b
    --- /dev/null
    +++ b/jacoco/trunk/coverage/org.jacoco.report/org.jacoco.report.internal.html.page/NodePage.java.html
    @@ -0,0 +1,72 @@
    +<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="en"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../../jacoco-resources/report.gif" type="image/gif"/><title>NodePage.java</title><link rel="stylesheet" href="../../jacoco-resources/prettify.css" type="text/css"/><script type="text/javascript" src="../../jacoco-resources/prettify.js"></script></head><body onload="window['PR_TAB_WIDTH']=4;prettyPrint()"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../../index.html" class="el_report">JaCoCo</a> &gt; <a href="../index.html" class="el_bundle">org.jacoco.report</a> &gt; <a href="index.source.html" class="el_package">org.jacoco.report.internal.html.page</a> &gt; <span class="el_source">NodePage.java</span></div><h1>NodePage.java</h1><pre class="source lang-java linenums">/*******************************************************************************
    + * Copyright (c) 2009, 2024 Mountainminds GmbH &amp; Co. KG and Contributors
    + * This program and the accompanying materials are made available under
    + * the terms of the Eclipse Public License 2.0 which is available at
    + * http://www.eclipse.org/legal/epl-2.0
    + *
    + * SPDX-License-Identifier: EPL-2.0
    + *
    + * Contributors:
    + *    Marc R. Hoffmann - initial API and implementation
    + *
    + *******************************************************************************/
    +package org.jacoco.report.internal.html.page;
    +
    +import org.jacoco.core.analysis.ICoverageNode;
    +import org.jacoco.report.internal.ReportOutputFolder;
    +import org.jacoco.report.internal.html.IHTMLReportContext;
    +import org.jacoco.report.internal.html.resources.Resources;
    +import org.jacoco.report.internal.html.resources.Styles;
    +import org.jacoco.report.internal.html.table.ITableItem;
    +
    +/**
    + * Report page that represents a coverage node.
    + *
    + * @param &lt;NodeType&gt;
    + *            type of the node represented by this page
    + */
    +public abstract class NodePage&lt;NodeType extends ICoverageNode&gt;
    +		extends ReportPage implements ITableItem {
    +
    +	private final NodeType node;
    +
    +	/**
    +	 * Creates a new node page.
    +	 *
    +	 * @param node
    +	 *            corresponding node
    +	 * @param parent
    +	 *            optional hierarchical parent
    +	 * @param folder
    +	 *            base folder to create this page in
    +	 * @param context
    +	 *            settings context
    +	 */
    +	protected NodePage(final NodeType node, final ReportPage parent,
    +			final ReportOutputFolder folder, final IHTMLReportContext context) {
    +<span class="fc" id="L47">		super(parent, folder, context);</span>
    +<span class="fc" id="L48">		this.node = node;</span>
    +<span class="fc" id="L49">	}</span>
    +
    +	// === ILinkable ===
    +
    +	public String getLinkStyle() {
    +<span class="fc bfc" id="L54" title="All 2 branches covered.">		if (isRootPage()) {</span>
    +<span class="fc" id="L55">			return Styles.EL_REPORT;</span>
    +		} else {
    +<span class="fc" id="L57">			return Resources.getElementStyle(node.getElementType());</span>
    +		}
    +	}
    +
    +	public String getLinkLabel() {
    +<span class="fc" id="L62">		return node.getName();</span>
    +	}
    +
    +	// === ICoverageTableItem ===
    +
    +	public NodeType getNode() {
    +<span class="fc" id="L68">		return node;</span>
    +	}
    +
    +}
    +</pre><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.12.202403270442</span>Code Coverage Report for JaCoCo 0.8.12-SNAPSHOT</div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/trunk/coverage/org.jacoco.report/org.jacoco.report.internal.html.page/PackagePage.html b/jacoco/trunk/coverage/org.jacoco.report/org.jacoco.report.internal.html.page/PackagePage.html
    new file mode 100644
    index 00000000000..061069dfc60
    --- /dev/null
    +++ b/jacoco/trunk/coverage/org.jacoco.report/org.jacoco.report.internal.html.page/PackagePage.html
    @@ -0,0 +1 @@
    +<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="en"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../../jacoco-resources/report.gif" type="image/gif"/><title>PackagePage</title><script type="text/javascript" src="../../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../../index.html" class="el_report">JaCoCo</a> &gt; <a href="../index.html" class="el_bundle">org.jacoco.report</a> &gt; <a href="index.html" class="el_package">org.jacoco.report.internal.html.page</a> &gt; <span class="el_class">PackagePage</span></div><h1>PackagePage</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">0 of 111</td><td class="ctr2">100%</td><td class="bar">0 of 10</td><td class="ctr2">100%</td><td class="ctr1">0</td><td class="ctr2">12</td><td class="ctr1">0</td><td class="ctr2">26</td><td class="ctr1">0</td><td class="ctr2">7</td></tr></tfoot><tbody><tr><td id="a6"><a href="PackagePage.java.html#L68" class="el_method">renderClasses()</a></td><td class="bar" id="b0"><img src="../../jacoco-resources/greenbar.gif" width="120" height="10" title="41" alt="41"/></td><td class="ctr2" id="c0">100%</td><td class="bar" id="d0"><img src="../../jacoco-resources/greenbar.gif" width="120" height="10" title="4" alt="4"/></td><td class="ctr2" id="e0">100%</td><td class="ctr1" id="f0">0</td><td class="ctr2" id="g0">3</td><td class="ctr1" id="h0">0</td><td class="ctr2" id="i0">9</td><td class="ctr1" id="j0">0</td><td class="ctr2" id="k0">1</td></tr><tr><td id="a4"><a href="PackagePage.java.html#L52" class="el_method">PackagePage(IPackageCoverage, ReportPage, ISourceFileLocator, ReportOutputFolder, IHTMLReportContext)</a></td><td class="bar" id="b1"><img src="../../jacoco-resources/greenbar.gif" width="79" height="10" title="27" alt="27"/></td><td class="ctr2" id="c1">100%</td><td class="bar" id="d1"><img src="../../jacoco-resources/greenbar.gif" width="60" height="10" title="2" alt="2"/></td><td class="ctr2" id="e1">100%</td><td class="ctr1" id="f1">0</td><td class="ctr2" id="g1">2</td><td class="ctr1" id="h1">0</td><td class="ctr2" id="i3">4</td><td class="ctr1" id="j1">0</td><td class="ctr2" id="k1">1</td></tr><tr><td id="a3"><a href="PackagePage.java.html#L98" class="el_method">infoLinks(HTMLElement)</a></td><td class="bar" id="b2"><img src="../../jacoco-resources/greenbar.gif" width="55" height="10" title="19" alt="19"/></td><td class="ctr2" id="c2">100%</td><td class="bar" id="d2"><img src="../../jacoco-resources/greenbar.gif" width="60" height="10" title="2" alt="2"/></td><td class="ctr2" id="e2">100%</td><td class="ctr1" id="f2">0</td><td class="ctr2" id="g2">2</td><td class="ctr1" id="h2">0</td><td class="ctr2" id="i1">5</td><td class="ctr1" id="j2">0</td><td class="ctr2" id="k2">1</td></tr><tr><td id="a5"><a href="PackagePage.java.html#L60" class="el_method">render()</a></td><td class="bar" id="b3"><img src="../../jacoco-resources/greenbar.gif" width="32" height="10" title="11" alt="11"/></td><td class="ctr2" id="c3">100%</td><td class="bar" id="d3"><img src="../../jacoco-resources/greenbar.gif" width="60" height="10" title="2" alt="2"/></td><td class="ctr2" id="e3">100%</td><td class="ctr1" id="f3">0</td><td class="ctr2" id="g3">2</td><td class="ctr1" id="h3">0</td><td class="ctr2" id="i2">5</td><td class="ctr1" id="j3">0</td><td class="ctr2" id="k3">1</td></tr><tr><td id="a1"><a href="PackagePage.java.html#L93" class="el_method">getLinkLabel()</a></td><td class="bar" id="b4"><img src="../../jacoco-resources/greenbar.gif" width="26" height="10" title="9" alt="9"/></td><td class="ctr2" id="c4">100%</td><td class="bar" id="d4"/><td class="ctr2" id="e4">n/a</td><td class="ctr1" id="f4">0</td><td class="ctr2" id="g4">1</td><td class="ctr1" id="h4">0</td><td class="ctr2" id="i4">1</td><td class="ctr1" id="j4">0</td><td class="ctr2" id="k4">1</td></tr><tr><td id="a2"><a href="PackagePage.java.html#L83" class="el_method">getOnload()</a></td><td class="bar" id="b5"><img src="../../jacoco-resources/greenbar.gif" width="5" height="10" title="2" alt="2"/></td><td class="ctr2" id="c5">100%</td><td class="bar" id="d5"/><td class="ctr2" id="e5">n/a</td><td class="ctr1" id="f5">0</td><td class="ctr2" id="g5">1</td><td class="ctr1" id="h5">0</td><td class="ctr2" id="i5">1</td><td class="ctr1" id="j5">0</td><td class="ctr2" id="k5">1</td></tr><tr><td id="a0"><a href="PackagePage.java.html#L88" class="el_method">getFileName()</a></td><td class="bar" id="b6"><img src="../../jacoco-resources/greenbar.gif" width="5" height="10" title="2" alt="2"/></td><td class="ctr2" id="c6">100%</td><td class="bar" id="d6"/><td class="ctr2" id="e6">n/a</td><td class="ctr1" id="f6">0</td><td class="ctr2" id="g6">1</td><td class="ctr1" id="h6">0</td><td class="ctr2" id="i6">1</td><td class="ctr1" id="j6">0</td><td class="ctr2" id="k6">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.12.202403270442</span>Code Coverage Report for JaCoCo 0.8.12-SNAPSHOT</div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/trunk/coverage/org.jacoco.report/org.jacoco.report.internal.html.page/PackagePage.java.html b/jacoco/trunk/coverage/org.jacoco.report/org.jacoco.report.internal.html.page/PackagePage.java.html
    new file mode 100644
    index 00000000000..2c53bae304a
    --- /dev/null
    +++ b/jacoco/trunk/coverage/org.jacoco.report/org.jacoco.report.internal.html.page/PackagePage.java.html
    @@ -0,0 +1,106 @@
    +<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="en"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../../jacoco-resources/report.gif" type="image/gif"/><title>PackagePage.java</title><link rel="stylesheet" href="../../jacoco-resources/prettify.css" type="text/css"/><script type="text/javascript" src="../../jacoco-resources/prettify.js"></script></head><body onload="window['PR_TAB_WIDTH']=4;prettyPrint()"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../../index.html" class="el_report">JaCoCo</a> &gt; <a href="../index.html" class="el_bundle">org.jacoco.report</a> &gt; <a href="index.source.html" class="el_package">org.jacoco.report.internal.html.page</a> &gt; <span class="el_source">PackagePage.java</span></div><h1>PackagePage.java</h1><pre class="source lang-java linenums">/*******************************************************************************
    + * Copyright (c) 2009, 2024 Mountainminds GmbH &amp; Co. KG and Contributors
    + * This program and the accompanying materials are made available under
    + * the terms of the Eclipse Public License 2.0 which is available at
    + * http://www.eclipse.org/legal/epl-2.0
    + *
    + * SPDX-License-Identifier: EPL-2.0
    + *
    + * Contributors:
    + *    Marc R. Hoffmann - initial API and implementation
    + *
    + *******************************************************************************/
    +package org.jacoco.report.internal.html.page;
    +
    +import java.io.IOException;
    +
    +import org.jacoco.core.analysis.IClassCoverage;
    +import org.jacoco.core.analysis.IPackageCoverage;
    +import org.jacoco.report.ISourceFileLocator;
    +import org.jacoco.report.internal.ReportOutputFolder;
    +import org.jacoco.report.internal.html.HTMLElement;
    +import org.jacoco.report.internal.html.IHTMLReportContext;
    +import org.jacoco.report.internal.html.ILinkable;
    +import org.jacoco.report.internal.html.resources.Styles;
    +
    +/**
    + * Page showing coverage information for a Java package. The page contains a
    + * table with all classes of the package.
    + */
    +public class PackagePage extends TablePage&lt;IPackageCoverage&gt; {
    +
    +	private final PackageSourcePage packageSourcePage;
    +	private final boolean sourceCoverageExists;
    +
    +	/**
    +	 * Creates a new visitor in the given context.
    +	 *
    +	 * @param node
    +	 *            coverage data for this package
    +	 * @param parent
    +	 *            optional hierarchical parent
    +	 * @param locator
    +	 *            source locator
    +	 * @param folder
    +	 *            base folder to create this page in
    +	 * @param context
    +	 *            settings context
    +	 */
    +	public PackagePage(final IPackageCoverage node, final ReportPage parent,
    +			final ISourceFileLocator locator, final ReportOutputFolder folder,
    +			final IHTMLReportContext context) {
    +<span class="fc" id="L52">		super(node, parent, folder, context);</span>
    +<span class="fc" id="L53">		packageSourcePage = new PackageSourcePage(node, parent, locator, folder,</span>
    +				context, this);
    +<span class="fc bfc" id="L55" title="All 2 branches covered.">		sourceCoverageExists = !node.getSourceFiles().isEmpty();</span>
    +<span class="fc" id="L56">	}</span>
    +
    +	@Override
    +	public void render() throws IOException {
    +<span class="fc bfc" id="L60" title="All 2 branches covered.">		if (sourceCoverageExists) {</span>
    +<span class="fc" id="L61">			packageSourcePage.render();</span>
    +		}
    +<span class="fc" id="L63">		renderClasses();</span>
    +<span class="fc" id="L64">		super.render();</span>
    +<span class="fc" id="L65">	}</span>
    +
    +	private void renderClasses() throws IOException {
    +<span class="fc bfc" id="L68" title="All 2 branches covered.">		for (final IClassCoverage c : getNode().getClasses()) {</span>
    +<span class="fc bfc" id="L69" title="All 2 branches covered.">			if (!c.containsCode()) {</span>
    +<span class="fc" id="L70">				continue;</span>
    +			}
    +<span class="fc" id="L72">			final ILinkable sourceFilePage = packageSourcePage</span>
    +					.getSourceFilePage(c.getSourceFileName());
    +<span class="fc" id="L74">			final ClassPage page = new ClassPage(c, this, sourceFilePage,</span>
    +					folder, context);
    +<span class="fc" id="L76">			page.render();</span>
    +<span class="fc" id="L77">			addItem(page);</span>
    +<span class="fc" id="L78">		}</span>
    +<span class="fc" id="L79">	}</span>
    +
    +	@Override
    +	protected String getOnload() {
    +<span class="fc" id="L83">		return &quot;initialSort(['breadcrumb', 'coveragetable'])&quot;;</span>
    +	}
    +
    +	@Override
    +	protected String getFileName() {
    +<span class="fc" id="L88">		return &quot;index.html&quot;;</span>
    +	}
    +
    +	@Override
    +	public String getLinkLabel() {
    +<span class="fc" id="L93">		return context.getLanguageNames().getPackageName(getNode().getName());</span>
    +	}
    +
    +	@Override
    +	protected void infoLinks(final HTMLElement span) throws IOException {
    +<span class="fc bfc" id="L98" title="All 2 branches covered.">		if (sourceCoverageExists) {</span>
    +<span class="fc" id="L99">			final String link = packageSourcePage.getLink(folder);</span>
    +<span class="fc" id="L100">			span.a(link, Styles.EL_SOURCE).text(&quot;Source Files&quot;);</span>
    +		}
    +<span class="fc" id="L102">		super.infoLinks(span);</span>
    +<span class="fc" id="L103">	}</span>
    +
    +}
    +</pre><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.12.202403270442</span>Code Coverage Report for JaCoCo 0.8.12-SNAPSHOT</div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/trunk/coverage/org.jacoco.report/org.jacoco.report.internal.html.page/PackageSourcePage.html b/jacoco/trunk/coverage/org.jacoco.report/org.jacoco.report.internal.html.page/PackageSourcePage.html
    new file mode 100644
    index 00000000000..b084f11264f
    --- /dev/null
    +++ b/jacoco/trunk/coverage/org.jacoco.report/org.jacoco.report.internal.html.page/PackageSourcePage.html
    @@ -0,0 +1 @@
    +<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="en"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../../jacoco-resources/report.gif" type="image/gif"/><title>PackageSourcePage</title><script type="text/javascript" src="../../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../../index.html" class="el_report">JaCoCo</a> &gt; <a href="../index.html" class="el_bundle">org.jacoco.report</a> &gt; <a href="index.html" class="el_package">org.jacoco.report.internal.html.page</a> &gt; <span class="el_class">PackageSourcePage</span></div><h1>PackageSourcePage</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">0 of 125</td><td class="ctr2">100%</td><td class="bar">0 of 6</td><td class="ctr2">100%</td><td class="ctr1">0</td><td class="ctr2">11</td><td class="ctr1">0</td><td class="ctr2">30</td><td class="ctr1">0</td><td class="ctr2">8</td></tr></tfoot><tbody><tr><td id="a7"><a href="PackageSourcePage.java.html#L81" class="el_method">renderSourceFilePages()</a></td><td class="bar" id="b0"><img src="../../jacoco-resources/greenbar.gif" width="120" height="10" title="67" alt="67"/></td><td class="ctr2" id="c0">100%</td><td class="bar" id="d0"><img src="../../jacoco-resources/greenbar.gif" width="120" height="10" title="6" alt="6"/></td><td class="ctr2" id="e0">100%</td><td class="ctr1" id="f0">0</td><td class="ctr2" id="g0">4</td><td class="ctr1" id="h0">0</td><td class="ctr2" id="i0">14</td><td class="ctr1" id="j0">0</td><td class="ctr2" id="k0">1</td></tr><tr><td id="a5"><a href="PackageSourcePage.java.html#L59" class="el_method">PackageSourcePage(IPackageCoverage, ReportPage, ISourceFileLocator, ReportOutputFolder, IHTMLReportContext, ILinkable)</a></td><td class="bar" id="b1"><img src="../../jacoco-resources/greenbar.gif" width="32" height="10" title="18" alt="18"/></td><td class="ctr2" id="c1">100%</td><td class="bar" id="d1"/><td class="ctr2" id="e1">n/a</td><td class="ctr1" id="f1">0</td><td class="ctr2" id="g1">1</td><td class="ctr1" id="h1">0</td><td class="ctr2" id="i1">5</td><td class="ctr1" id="j1">0</td><td class="ctr2" id="k1">1</td></tr><tr><td id="a4"><a href="PackageSourcePage.java.html#L119" class="el_method">infoLinks(HTMLElement)</a></td><td class="bar" id="b2"><img src="../../jacoco-resources/greenbar.gif" width="28" height="10" title="16" alt="16"/></td><td class="ctr2" id="c2">100%</td><td class="bar" id="d2"/><td class="ctr2" id="e2">n/a</td><td class="ctr1" id="f2">0</td><td class="ctr2" id="g2">1</td><td class="ctr1" id="h2">0</td><td class="ctr2" id="i2">4</td><td class="ctr1" id="j2">0</td><td class="ctr2" id="k2">1</td></tr><tr><td id="a1"><a href="PackageSourcePage.java.html#L114" class="el_method">getLinkLabel()</a></td><td class="bar" id="b3"><img src="../../jacoco-resources/greenbar.gif" width="16" height="10" title="9" alt="9"/></td><td class="ctr2" id="c3">100%</td><td class="bar" id="d3"/><td class="ctr2" id="e3">n/a</td><td class="ctr1" id="f3">0</td><td class="ctr2" id="g3">1</td><td class="ctr1" id="h3">0</td><td class="ctr2" id="i4">1</td><td class="ctr1" id="j3">0</td><td class="ctr2" id="k3">1</td></tr><tr><td id="a3"><a href="PackageSourcePage.java.html#L77" class="el_method">getSourceFilePage(String)</a></td><td class="bar" id="b4"><img src="../../jacoco-resources/greenbar.gif" width="10" height="10" title="6" alt="6"/></td><td class="ctr2" id="c4">100%</td><td class="bar" id="d4"/><td class="ctr2" id="e4">n/a</td><td class="ctr1" id="f4">0</td><td class="ctr2" id="g4">1</td><td class="ctr1" id="h4">0</td><td class="ctr2" id="i5">1</td><td class="ctr1" id="j4">0</td><td class="ctr2" id="k4">1</td></tr><tr><td id="a6"><a href="PackageSourcePage.java.html#L67" class="el_method">render()</a></td><td class="bar" id="b5"><img src="../../jacoco-resources/greenbar.gif" width="8" height="10" title="5" alt="5"/></td><td class="ctr2" id="c5">100%</td><td class="bar" id="d5"/><td class="ctr2" id="e5">n/a</td><td class="ctr1" id="f5">0</td><td class="ctr2" id="g5">1</td><td class="ctr1" id="h5">0</td><td class="ctr2" id="i3">3</td><td class="ctr1" id="j5">0</td><td class="ctr2" id="k5">1</td></tr><tr><td id="a2"><a href="PackageSourcePage.java.html#L104" class="el_method">getOnload()</a></td><td class="bar" id="b6"><img src="../../jacoco-resources/greenbar.gif" width="3" height="10" title="2" alt="2"/></td><td class="ctr2" id="c6">100%</td><td class="bar" id="d6"/><td class="ctr2" id="e6">n/a</td><td class="ctr1" id="f6">0</td><td class="ctr2" id="g6">1</td><td class="ctr1" id="h6">0</td><td class="ctr2" id="i6">1</td><td class="ctr1" id="j6">0</td><td class="ctr2" id="k6">1</td></tr><tr><td id="a0"><a href="PackageSourcePage.java.html#L109" class="el_method">getFileName()</a></td><td class="bar" id="b7"><img src="../../jacoco-resources/greenbar.gif" width="3" height="10" title="2" alt="2"/></td><td class="ctr2" id="c7">100%</td><td class="bar" id="d7"/><td class="ctr2" id="e7">n/a</td><td class="ctr1" id="f7">0</td><td class="ctr2" id="g7">1</td><td class="ctr1" id="h7">0</td><td class="ctr2" id="i7">1</td><td class="ctr1" id="j7">0</td><td class="ctr2" id="k7">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.12.202403270442</span>Code Coverage Report for JaCoCo 0.8.12-SNAPSHOT</div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/trunk/coverage/org.jacoco.report/org.jacoco.report.internal.html.page/PackageSourcePage.java.html b/jacoco/trunk/coverage/org.jacoco.report/org.jacoco.report.internal.html.page/PackageSourcePage.java.html
    new file mode 100644
    index 00000000000..93848ea50f8
    --- /dev/null
    +++ b/jacoco/trunk/coverage/org.jacoco.report/org.jacoco.report.internal.html.page/PackageSourcePage.java.html
    @@ -0,0 +1,125 @@
    +<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="en"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../../jacoco-resources/report.gif" type="image/gif"/><title>PackageSourcePage.java</title><link rel="stylesheet" href="../../jacoco-resources/prettify.css" type="text/css"/><script type="text/javascript" src="../../jacoco-resources/prettify.js"></script></head><body onload="window['PR_TAB_WIDTH']=4;prettyPrint()"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../../index.html" class="el_report">JaCoCo</a> &gt; <a href="../index.html" class="el_bundle">org.jacoco.report</a> &gt; <a href="index.source.html" class="el_package">org.jacoco.report.internal.html.page</a> &gt; <span class="el_source">PackageSourcePage.java</span></div><h1>PackageSourcePage.java</h1><pre class="source lang-java linenums">/*******************************************************************************
    + * Copyright (c) 2009, 2024 Mountainminds GmbH &amp; Co. KG and Contributors
    + * This program and the accompanying materials are made available under
    + * the terms of the Eclipse Public License 2.0 which is available at
    + * http://www.eclipse.org/legal/epl-2.0
    + *
    + * SPDX-License-Identifier: EPL-2.0
    + *
    + * Contributors:
    + *    Marc R. Hoffmann - initial API and implementation
    + *
    + *******************************************************************************/
    +package org.jacoco.report.internal.html.page;
    +
    +import java.io.IOException;
    +import java.io.Reader;
    +import java.util.HashMap;
    +import java.util.Map;
    +
    +import org.jacoco.core.analysis.IPackageCoverage;
    +import org.jacoco.core.analysis.ISourceFileCoverage;
    +import org.jacoco.report.ISourceFileLocator;
    +import org.jacoco.report.internal.ReportOutputFolder;
    +import org.jacoco.report.internal.html.HTMLElement;
    +import org.jacoco.report.internal.html.IHTMLReportContext;
    +import org.jacoco.report.internal.html.ILinkable;
    +import org.jacoco.report.internal.html.resources.Styles;
    +
    +/**
    + * Page showing coverage information for a Java package. The page contains a
    + * table with all classes of the package.
    + */
    +public class PackageSourcePage extends TablePage&lt;IPackageCoverage&gt; {
    +
    +	private final ISourceFileLocator locator;
    +	private final Map&lt;String, ILinkable&gt; sourceFilePages;
    +	private final ILinkable packagePage;
    +
    +	/**
    +	 * Creates a new visitor in the given context.
    +	 *
    +	 * @param node
    +	 *            coverage data for this package
    +	 * @param parent
    +	 *            optional hierarchical parent
    +	 * @param locator
    +	 *            source locator
    +	 * @param folder
    +	 *            base folder to create this page in
    +	 * @param context
    +	 *            settings context
    +	 * @param packagePage
    +	 *            page listing the classes of this package
    +	 */
    +	public PackageSourcePage(final IPackageCoverage node,
    +			final ReportPage parent, final ISourceFileLocator locator,
    +			final ReportOutputFolder folder, final IHTMLReportContext context,
    +			final ILinkable packagePage) {
    +<span class="fc" id="L59">		super(node, parent, folder, context);</span>
    +<span class="fc" id="L60">		this.locator = locator;</span>
    +<span class="fc" id="L61">		this.packagePage = packagePage;</span>
    +<span class="fc" id="L62">		this.sourceFilePages = new HashMap&lt;String, ILinkable&gt;();</span>
    +<span class="fc" id="L63">	}</span>
    +
    +	@Override
    +	public void render() throws IOException {
    +<span class="fc" id="L67">		renderSourceFilePages();</span>
    +<span class="fc" id="L68">		super.render();</span>
    +<span class="fc" id="L69">	}</span>
    +
    +	/**
    +	 * Returns the link to the source file page of the source file with the
    +	 * given name. If no source file was located, &lt;code&gt;null&lt;/code&gt; is
    +	 * returned..
    +	 */
    +	ILinkable getSourceFilePage(final String name) {
    +<span class="fc" id="L77">		return sourceFilePages.get(name);</span>
    +	}
    +
    +	private final void renderSourceFilePages() throws IOException {
    +<span class="fc" id="L81">		final String packagename = getNode().getName();</span>
    +<span class="fc bfc" id="L82" title="All 2 branches covered.">		for (final ISourceFileCoverage s : getNode().getSourceFiles()) {</span>
    +<span class="fc bfc" id="L83" title="All 2 branches covered.">			if (!s.containsCode()) {</span>
    +<span class="fc" id="L84">				continue;</span>
    +			}
    +<span class="fc" id="L86">			final String sourcename = s.getName();</span>
    +<span class="fc" id="L87">			final Reader reader = locator.getSourceFile(packagename,</span>
    +					sourcename);
    +<span class="fc bfc" id="L89" title="All 2 branches covered.">			if (reader == null) {</span>
    +<span class="fc" id="L90">				addItem(new SourceFileItem(s));</span>
    +			} else {
    +<span class="fc" id="L92">				final SourceFilePage sourcePage = new SourceFilePage(s, reader,</span>
    +						locator.getTabWidth(), this, folder, context);
    +<span class="fc" id="L94">				sourcePage.render();</span>
    +<span class="fc" id="L95">				sourceFilePages.put(sourcename, sourcePage);</span>
    +<span class="fc" id="L96">				addItem(sourcePage);</span>
    +			}
    +
    +<span class="fc" id="L99">		}</span>
    +<span class="fc" id="L100">	}</span>
    +
    +	@Override
    +	protected String getOnload() {
    +<span class="fc" id="L104">		return &quot;initialSort(['breadcrumb', 'coveragetable'])&quot;;</span>
    +	}
    +
    +	@Override
    +	protected String getFileName() {
    +<span class="fc" id="L109">		return &quot;index.source.html&quot;;</span>
    +	}
    +
    +	@Override
    +	public String getLinkLabel() {
    +<span class="fc" id="L114">		return context.getLanguageNames().getPackageName(getNode().getName());</span>
    +	}
    +
    +	@Override
    +	protected void infoLinks(final HTMLElement span) throws IOException {
    +<span class="fc" id="L119">		final String link = packagePage.getLink(folder);</span>
    +<span class="fc" id="L120">		span.a(link, Styles.EL_CLASS).text(&quot;Classes&quot;);</span>
    +<span class="fc" id="L121">		super.infoLinks(span);</span>
    +<span class="fc" id="L122">	}</span>
    +
    +}
    +</pre><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.12.202403270442</span>Code Coverage Report for JaCoCo 0.8.12-SNAPSHOT</div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/trunk/coverage/org.jacoco.report/org.jacoco.report.internal.html.page/ReportPage.html b/jacoco/trunk/coverage/org.jacoco.report/org.jacoco.report.internal.html.page/ReportPage.html
    new file mode 100644
    index 00000000000..ba17b75cdf3
    --- /dev/null
    +++ b/jacoco/trunk/coverage/org.jacoco.report/org.jacoco.report.internal.html.page/ReportPage.html
    @@ -0,0 +1 @@
    +<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="en"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../../jacoco-resources/report.gif" type="image/gif"/><title>ReportPage</title><script type="text/javascript" src="../../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../../index.html" class="el_report">JaCoCo</a> &gt; <a href="../index.html" class="el_bundle">org.jacoco.report</a> &gt; <a href="index.html" class="el_package">org.jacoco.report.internal.html.page</a> &gt; <span class="el_class">ReportPage</span></div><h1>ReportPage</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">0 of 194</td><td class="ctr2">100%</td><td class="bar">0 of 4</td><td class="ctr2">100%</td><td class="ctr1">0</td><td class="ctr2">13</td><td class="ctr1">0</td><td class="ctr2">46</td><td class="ctr1">0</td><td class="ctr2">11</td></tr></tfoot><tbody><tr><td id="a6"><a href="ReportPage.java.html#L91" class="el_method">head(HTMLElement)</a></td><td class="bar" id="b0"><img src="../../jacoco-resources/greenbar.gif" width="120" height="10" title="35" alt="35"/></td><td class="ctr2" id="c0">100%</td><td class="bar" id="d2"/><td class="ctr2" id="e2">n/a</td><td class="ctr1" id="f0">0</td><td class="ctr2" id="g2">1</td><td class="ctr1" id="h0">0</td><td class="ctr2" id="i3">5</td><td class="ctr1" id="j0">0</td><td class="ctr2" id="k0">1</td></tr><tr><td id="a0"><a href="ReportPage.java.html#L102" class="el_method">body(HTMLElement)</a></td><td class="bar" id="b1"><img src="../../jacoco-resources/greenbar.gif" width="120" height="10" title="35" alt="35"/></td><td class="ctr2" id="c1">100%</td><td class="bar" id="d3"/><td class="ctr2" id="e3">n/a</td><td class="ctr1" id="f1">0</td><td class="ctr2" id="g3">1</td><td class="ctr1" id="h1">0</td><td class="ctr2" id="i0">9</td><td class="ctr1" id="j1">0</td><td class="ctr2" id="k1">1</td></tr><tr><td id="a9"><a href="ReportPage.java.html#L74" class="el_method">render()</a></td><td class="bar" id="b2"><img src="../../jacoco-resources/greenbar.gif" width="102" height="10" title="30" alt="30"/></td><td class="ctr2" id="c2">100%</td><td class="bar" id="d4"/><td class="ctr2" id="e4">n/a</td><td class="ctr1" id="f2">0</td><td class="ctr2" id="g4">1</td><td class="ctr1" id="h2">0</td><td class="ctr2" id="i2">6</td><td class="ctr1" id="j2">0</td><td class="ctr2" id="k2">1</td></tr><tr><td id="a3"><a href="ReportPage.java.html#L150" class="el_method">footer(HTMLElement)</a></td><td class="bar" id="b3"><img src="../../jacoco-resources/greenbar.gif" width="96" height="10" title="28" alt="28"/></td><td class="ctr2" id="c3">100%</td><td class="bar" id="d5"/><td class="ctr2" id="e5">n/a</td><td class="ctr1" id="f3">0</td><td class="ctr2" id="g5">1</td><td class="ctr1" id="h3">0</td><td class="ctr2" id="i1">8</td><td class="ctr1" id="j3">0</td><td class="ctr2" id="k3">1</td></tr><tr><td id="a2"><a href="ReportPage.java.html#L142" class="el_method">breadcrumbParent(ReportPage, HTMLElement, ReportOutputFolder)</a></td><td class="bar" id="b4"><img src="../../jacoco-resources/greenbar.gif" width="54" height="10" title="16" alt="16"/></td><td class="ctr2" id="c4">100%</td><td class="bar" id="d0"><img src="../../jacoco-resources/greenbar.gif" width="120" height="10" title="2" alt="2"/></td><td class="ctr2" id="e0">100%</td><td class="ctr1" id="f4">0</td><td class="ctr2" id="g0">2</td><td class="ctr1" id="h4">0</td><td class="ctr2" id="i4">5</td><td class="ctr1" id="j4">0</td><td class="ctr2" id="k4">1</td></tr><tr><td id="a1"><a href="ReportPage.java.html#L135" class="el_method">breadcrumb(HTMLElement, ReportOutputFolder)</a></td><td class="bar" id="b5"><img src="../../jacoco-resources/greenbar.gif" width="44" height="10" title="13" alt="13"/></td><td class="ctr2" id="c5">100%</td><td class="bar" id="d6"/><td class="ctr2" id="e6">n/a</td><td class="ctr1" id="f5">0</td><td class="ctr2" id="g6">1</td><td class="ctr1" id="h5">0</td><td class="ctr2" id="i6">3</td><td class="ctr1" id="j5">0</td><td class="ctr2" id="k5">1</td></tr><tr><td id="a10"><a href="ReportPage.java.html#L51" class="el_method">ReportPage(ReportPage, ReportOutputFolder, IHTMLReportContext)</a></td><td class="bar" id="b6"><img src="../../jacoco-resources/greenbar.gif" width="41" height="10" title="12" alt="12"/></td><td class="ctr2" id="c6">100%</td><td class="bar" id="d7"/><td class="ctr2" id="e7">n/a</td><td class="ctr1" id="f6">0</td><td class="ctr2" id="g7">1</td><td class="ctr1" id="h6">0</td><td class="ctr2" id="i5">5</td><td class="ctr1" id="j6">0</td><td class="ctr2" id="k6">1</td></tr><tr><td id="a7"><a href="ReportPage.java.html#L130" class="el_method">infoLinks(HTMLElement)</a></td><td class="bar" id="b7"><img src="../../jacoco-resources/greenbar.gif" width="30" height="10" title="9" alt="9"/></td><td class="ctr2" id="c7">100%</td><td class="bar" id="d8"/><td class="ctr2" id="e8">n/a</td><td class="ctr1" id="f7">0</td><td class="ctr2" id="g8">1</td><td class="ctr1" id="h7">0</td><td class="ctr2" id="i7">2</td><td class="ctr1" id="j7">0</td><td class="ctr2" id="k7">1</td></tr><tr><td id="a8"><a href="ReportPage.java.html#L63" class="el_method">isRootPage()</a></td><td class="bar" id="b8"><img src="../../jacoco-resources/greenbar.gif" width="24" height="10" title="7" alt="7"/></td><td class="ctr2" id="c8">100%</td><td class="bar" id="d1"><img src="../../jacoco-resources/greenbar.gif" width="120" height="10" title="2" alt="2"/></td><td class="ctr2" id="e1">100%</td><td class="ctr1" id="f8">0</td><td class="ctr2" id="g1">2</td><td class="ctr1" id="h8">0</td><td class="ctr2" id="i8">1</td><td class="ctr1" id="j8">0</td><td class="ctr2" id="k8">1</td></tr><tr><td id="a4"><a href="ReportPage.java.html#L179" class="el_method">getLink(ReportOutputFolder)</a></td><td class="bar" id="b9"><img src="../../jacoco-resources/greenbar.gif" width="24" height="10" title="7" alt="7"/></td><td class="ctr2" id="c9">100%</td><td class="bar" id="d9"/><td class="ctr2" id="e9">n/a</td><td class="ctr1" id="f9">0</td><td class="ctr2" id="g9">1</td><td class="ctr1" id="h9">0</td><td class="ctr2" id="i9">1</td><td class="ctr1" id="j9">0</td><td class="ctr2" id="k9">1</td></tr><tr><td id="a5"><a href="ReportPage.java.html#L118" class="el_method">getOnload()</a></td><td class="bar" id="b10"><img src="../../jacoco-resources/greenbar.gif" width="6" height="10" title="2" alt="2"/></td><td class="ctr2" id="c10">100%</td><td class="bar" id="d10"/><td class="ctr2" id="e10">n/a</td><td class="ctr1" id="f10">0</td><td class="ctr2" id="g10">1</td><td class="ctr1" id="h10">0</td><td class="ctr2" id="i10">1</td><td class="ctr1" id="j10">0</td><td class="ctr2" id="k10">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.12.202403270442</span>Code Coverage Report for JaCoCo 0.8.12-SNAPSHOT</div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/trunk/coverage/org.jacoco.report/org.jacoco.report.internal.html.page/ReportPage.java.html b/jacoco/trunk/coverage/org.jacoco.report/org.jacoco.report.internal.html.page/ReportPage.java.html
    new file mode 100644
    index 00000000000..9a56abe7035
    --- /dev/null
    +++ b/jacoco/trunk/coverage/org.jacoco.report/org.jacoco.report.internal.html.page/ReportPage.java.html
    @@ -0,0 +1,183 @@
    +<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="en"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../../jacoco-resources/report.gif" type="image/gif"/><title>ReportPage.java</title><link rel="stylesheet" href="../../jacoco-resources/prettify.css" type="text/css"/><script type="text/javascript" src="../../jacoco-resources/prettify.js"></script></head><body onload="window['PR_TAB_WIDTH']=4;prettyPrint()"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../../index.html" class="el_report">JaCoCo</a> &gt; <a href="../index.html" class="el_bundle">org.jacoco.report</a> &gt; <a href="index.source.html" class="el_package">org.jacoco.report.internal.html.page</a> &gt; <span class="el_source">ReportPage.java</span></div><h1>ReportPage.java</h1><pre class="source lang-java linenums">/*******************************************************************************
    + * Copyright (c) 2009, 2024 Mountainminds GmbH &amp; Co. KG and Contributors
    + * This program and the accompanying materials are made available under
    + * the terms of the Eclipse Public License 2.0 which is available at
    + * http://www.eclipse.org/legal/epl-2.0
    + *
    + * SPDX-License-Identifier: EPL-2.0
    + *
    + * Contributors:
    + *    Marc R. Hoffmann - initial API and implementation
    + *
    + *******************************************************************************/
    +package org.jacoco.report.internal.html.page;
    +
    +import java.io.IOException;
    +
    +import org.jacoco.core.JaCoCo;
    +import org.jacoco.report.internal.ReportOutputFolder;
    +import org.jacoco.report.internal.html.HTMLElement;
    +import org.jacoco.report.internal.html.IHTMLReportContext;
    +import org.jacoco.report.internal.html.ILinkable;
    +import org.jacoco.report.internal.html.resources.Resources;
    +import org.jacoco.report.internal.html.resources.Styles;
    +
    +/**
    + * Base class for HTML page generators. It renders the page skeleton with the
    + * breadcrumb, the title and the footer. Every report page is part of a
    + * hierarchy and has a parent page (except the root page).
    + */
    +public abstract class ReportPage implements ILinkable {
    +
    +	private final ReportPage parent;
    +
    +	/** output folder for this node */
    +	protected final ReportOutputFolder folder;
    +
    +	/** context for this report */
    +	protected final IHTMLReportContext context;
    +
    +	/**
    +	 * Creates a new report page.
    +	 *
    +	 * @param parent
    +	 *            optional hierarchical parent
    +	 * @param folder
    +	 *            base folder to create this report in
    +	 * @param context
    +	 *            settings context
    +	 */
    +	protected ReportPage(final ReportPage parent,
    +<span class="fc" id="L51">			final ReportOutputFolder folder, final IHTMLReportContext context) {</span>
    +<span class="fc" id="L52">		this.parent = parent;</span>
    +<span class="fc" id="L53">		this.context = context;</span>
    +<span class="fc" id="L54">		this.folder = folder;</span>
    +<span class="fc" id="L55">	}</span>
    +
    +	/**
    +	 * Checks whether this is the root page of the report.
    +	 *
    +	 * @return &lt;code&gt;true&lt;/code&gt; if this is the root page
    +	 */
    +	protected final boolean isRootPage() {
    +<span class="fc bfc" id="L63" title="All 2 branches covered.">		return parent == null;</span>
    +	}
    +
    +	/**
    +	 * Renders this page's content and optionally additional pages. This method
    +	 * must be called at most once.
    +	 *
    +	 * @throws IOException
    +	 *             if the page can't be written
    +	 */
    +	public void render() throws IOException {
    +<span class="fc" id="L74">		final HTMLElement html = new HTMLElement(</span>
    +				folder.createFile(getFileName()), context.getOutputEncoding());
    +<span class="fc" id="L76">		html.attr(&quot;lang&quot;, context.getLocale().getLanguage());</span>
    +<span class="fc" id="L77">		head(html.head());</span>
    +<span class="fc" id="L78">		body(html.body());</span>
    +<span class="fc" id="L79">		html.close();</span>
    +<span class="fc" id="L80">	}</span>
    +
    +	/**
    +	 * Creates the elements within the head element.
    +	 *
    +	 * @param head
    +	 *            head tag of the page
    +	 * @throws IOException
    +	 *             in case of IO problems with the report writer
    +	 */
    +	protected void head(final HTMLElement head) throws IOException {
    +<span class="fc" id="L91">		head.meta(&quot;Content-Type&quot;, &quot;text/html;charset=UTF-8&quot;);</span>
    +<span class="fc" id="L92">		head.link(&quot;stylesheet&quot;,</span>
    +				context.getResources().getLink(folder, Resources.STYLESHEET),
    +				&quot;text/css&quot;);
    +<span class="fc" id="L95">		head.link(&quot;shortcut icon&quot;,</span>
    +				context.getResources().getLink(folder, &quot;report.gif&quot;),
    +				&quot;image/gif&quot;);
    +<span class="fc" id="L98">		head.title().text(getLinkLabel());</span>
    +<span class="fc" id="L99">	}</span>
    +
    +	private void body(final HTMLElement body) throws IOException {
    +<span class="fc" id="L102">		body.attr(&quot;onload&quot;, getOnload());</span>
    +<span class="fc" id="L103">		final HTMLElement navigation = body.div(Styles.BREADCRUMB);</span>
    +<span class="fc" id="L104">		navigation.attr(&quot;id&quot;, &quot;breadcrumb&quot;);</span>
    +<span class="fc" id="L105">		infoLinks(navigation.span(Styles.INFO));</span>
    +<span class="fc" id="L106">		breadcrumb(navigation, folder);</span>
    +<span class="fc" id="L107">		body.h1().text(getLinkLabel());</span>
    +<span class="fc" id="L108">		content(body);</span>
    +<span class="fc" id="L109">		footer(body);</span>
    +<span class="fc" id="L110">	}</span>
    +
    +	/**
    +	 * Returns the onload handler for this page.
    +	 *
    +	 * @return handler or &lt;code&gt;null&lt;/code&gt;
    +	 */
    +	protected String getOnload() {
    +<span class="fc" id="L118">		return null;</span>
    +	}
    +
    +	/**
    +	 * Inserts additional links on the top right corner.
    +	 *
    +	 * @param span
    +	 *            parent element
    +	 * @throws IOException
    +	 *             in case of IO problems with the report writer
    +	 */
    +	protected void infoLinks(final HTMLElement span) throws IOException {
    +<span class="fc" id="L130">		span.a(context.getSessionsPage(), folder);</span>
    +<span class="fc" id="L131">	}</span>
    +
    +	private void breadcrumb(final HTMLElement div,
    +			final ReportOutputFolder base) throws IOException {
    +<span class="fc" id="L135">		breadcrumbParent(parent, div, base);</span>
    +<span class="fc" id="L136">		div.span(getLinkStyle()).text(getLinkLabel());</span>
    +<span class="fc" id="L137">	}</span>
    +
    +	private static void breadcrumbParent(final ReportPage page,
    +			final HTMLElement div, final ReportOutputFolder base)
    +			throws IOException {
    +<span class="fc bfc" id="L142" title="All 2 branches covered.">		if (page != null) {</span>
    +<span class="fc" id="L143">			breadcrumbParent(page.parent, div, base);</span>
    +<span class="fc" id="L144">			div.a(page, base);</span>
    +<span class="fc" id="L145">			div.text(&quot; &gt; &quot;);</span>
    +		}
    +<span class="fc" id="L147">	}</span>
    +
    +	private void footer(final HTMLElement body) throws IOException {
    +<span class="fc" id="L150">		final HTMLElement footer = body.div(Styles.FOOTER);</span>
    +<span class="fc" id="L151">		final HTMLElement versioninfo = footer.span(Styles.RIGHT);</span>
    +<span class="fc" id="L152">		versioninfo.text(&quot;Created with &quot;);</span>
    +<span class="fc" id="L153">		versioninfo.a(JaCoCo.HOMEURL).text(&quot;JaCoCo&quot;);</span>
    +<span class="fc" id="L154">		versioninfo.text(&quot; &quot;);</span>
    +<span class="fc" id="L155">		versioninfo.text(JaCoCo.VERSION);</span>
    +<span class="fc" id="L156">		footer.text(context.getFooterText());</span>
    +<span class="fc" id="L157">	}</span>
    +
    +	/**
    +	 * Specifies the local file name of this page.
    +	 *
    +	 * @return local file name
    +	 */
    +	protected abstract String getFileName();
    +
    +	/**
    +	 * Creates the actual content of the page.
    +	 *
    +	 * @param body
    +	 *            body tag of the page
    +	 * @throws IOException
    +	 *             in case of IO problems with the report writer
    +	 */
    +	protected abstract void content(final HTMLElement body) throws IOException;
    +
    +	// === ILinkable ===
    +
    +	public final String getLink(final ReportOutputFolder base) {
    +<span class="fc" id="L179">		return folder.getLink(base, getFileName());</span>
    +	}
    +
    +}
    +</pre><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.12.202403270442</span>Code Coverage Report for JaCoCo 0.8.12-SNAPSHOT</div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/trunk/coverage/org.jacoco.report/org.jacoco.report.internal.html.page/SessionsPage$1.html b/jacoco/trunk/coverage/org.jacoco.report/org.jacoco.report.internal.html.page/SessionsPage$1.html
    new file mode 100644
    index 00000000000..546e42899e6
    --- /dev/null
    +++ b/jacoco/trunk/coverage/org.jacoco.report/org.jacoco.report.internal.html.page/SessionsPage$1.html
    @@ -0,0 +1 @@
    +<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="en"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../../jacoco-resources/report.gif" type="image/gif"/><title>SessionsPage.new Comparator() {...}</title><script type="text/javascript" src="../../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../../index.html" class="el_report">JaCoCo</a> &gt; <a href="../index.html" class="el_bundle">org.jacoco.report</a> &gt; <a href="index.html" class="el_package">org.jacoco.report.internal.html.page</a> &gt; <span class="el_class">SessionsPage.new Comparator() {...}</span></div><h1>SessionsPage.new Comparator() {...}</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">0 of 21</td><td class="ctr2">100%</td><td class="bar">0 of 0</td><td class="ctr2">n/a</td><td class="ctr1">0</td><td class="ctr2">2</td><td class="ctr1">0</td><td class="ctr2">2</td><td class="ctr1">0</td><td class="ctr2">2</td></tr></tfoot><tbody><tr><td id="a0"><a href="SessionsPage.java.html#L85" class="el_method">compare(ExecutionData, ExecutionData)</a></td><td class="bar" id="b0"><img src="../../jacoco-resources/greenbar.gif" width="120" height="10" title="12" alt="12"/></td><td class="ctr2" id="c0">100%</td><td class="bar" id="d0"/><td class="ctr2" id="e0">n/a</td><td class="ctr1" id="f0">0</td><td class="ctr2" id="g0">1</td><td class="ctr1" id="h0">0</td><td class="ctr2" id="i0">1</td><td class="ctr1" id="j0">0</td><td class="ctr2" id="k0">1</td></tr><tr><td id="a1"><a href="SessionsPage.java.html#L84" class="el_method">{...}</a></td><td class="bar" id="b1"><img src="../../jacoco-resources/greenbar.gif" width="90" height="10" title="9" alt="9"/></td><td class="ctr2" id="c1">100%</td><td class="bar" id="d1"/><td class="ctr2" id="e1">n/a</td><td class="ctr1" id="f1">0</td><td class="ctr2" id="g1">1</td><td class="ctr1" id="h1">0</td><td class="ctr2" id="i1">1</td><td class="ctr1" id="j1">0</td><td class="ctr2" id="k1">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.12.202403270442</span>Code Coverage Report for JaCoCo 0.8.12-SNAPSHOT</div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/trunk/coverage/org.jacoco.report/org.jacoco.report.internal.html.page/SessionsPage.html b/jacoco/trunk/coverage/org.jacoco.report/org.jacoco.report.internal.html.page/SessionsPage.html
    new file mode 100644
    index 00000000000..3d86ef862dc
    --- /dev/null
    +++ b/jacoco/trunk/coverage/org.jacoco.report/org.jacoco.report.internal.html.page/SessionsPage.html
    @@ -0,0 +1 @@
    +<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="en"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../../jacoco-resources/report.gif" type="image/gif"/><title>SessionsPage</title><script type="text/javascript" src="../../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../../index.html" class="el_report">JaCoCo</a> &gt; <a href="../index.html" class="el_bundle">org.jacoco.report</a> &gt; <a href="index.html" class="el_package">org.jacoco.report.internal.html.page</a> &gt; <span class="el_class">SessionsPage</span></div><h1>SessionsPage</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">0 of 225</td><td class="ctr2">100%</td><td class="bar">0 of 10</td><td class="ctr2">100%</td><td class="ctr1">0</td><td class="ctr2">12</td><td class="ctr1">0</td><td class="ctr2">50</td><td class="ctr1">0</td><td class="ctr2">7</td></tr></tfoot><tbody><tr><td id="a1"><a href="SessionsPage.java.html#L125" class="el_method">executionDataTable(HTMLElement)</a></td><td class="bar" id="b0"><img src="../../jacoco-resources/greenbar.gif" width="120" height="10" title="82" alt="82"/></td><td class="ctr2" id="c0">100%</td><td class="bar" id="d0"><img src="../../jacoco-resources/greenbar.gif" width="120" height="10" title="4" alt="4"/></td><td class="ctr2" id="e0">100%</td><td class="ctr1" id="f0">0</td><td class="ctr2" id="g0">3</td><td class="ctr1" id="h0">0</td><td class="ctr2" id="i0">17</td><td class="ctr1" id="j0">0</td><td class="ctr2" id="k0">1</td></tr><tr><td id="a6"><a href="SessionsPage.java.html#L108" class="el_method">sessionTable(HTMLElement)</a></td><td class="bar" id="b1"><img src="../../jacoco-resources/greenbar.gif" width="99" height="10" title="68" alt="68"/></td><td class="ctr2" id="c1">100%</td><td class="bar" id="d2"><img src="../../jacoco-resources/greenbar.gif" width="60" height="10" title="2" alt="2"/></td><td class="ctr2" id="e1">100%</td><td class="ctr1" id="f1">0</td><td class="ctr2" id="g2">2</td><td class="ctr1" id="h1">0</td><td class="ctr2" id="i1">13</td><td class="ctr1" id="j1">0</td><td class="ctr2" id="k1">1</td></tr><tr><td id="a5"><a href="SessionsPage.java.html#L76" class="el_method">SessionsPage(List, Collection, ElementIndex, ReportPage, ReportOutputFolder, IHTMLReportContext)</a></td><td class="bar" id="b2"><img src="../../jacoco-resources/greenbar.gif" width="52" height="10" title="36" alt="36"/></td><td class="ctr2" id="c2">100%</td><td class="bar" id="d3"/><td class="ctr2" id="e3">n/a</td><td class="ctr1" id="f2">0</td><td class="ctr2" id="g3">1</td><td class="ctr1" id="h2">0</td><td class="ctr2" id="i3">8</td><td class="ctr1" id="j2">0</td><td class="ctr2" id="k2">1</td></tr><tr><td id="a0"><a href="SessionsPage.java.html#L93" class="el_method">content(HTMLElement)</a></td><td class="bar" id="b3"><img src="../../jacoco-resources/greenbar.gif" width="48" height="10" title="33" alt="33"/></td><td class="ctr2" id="c3">100%</td><td class="bar" id="d1"><img src="../../jacoco-resources/greenbar.gif" width="120" height="10" title="4" alt="4"/></td><td class="ctr2" id="e2">100%</td><td class="ctr1" id="f3">0</td><td class="ctr2" id="g1">3</td><td class="ctr1" id="h3">0</td><td class="ctr2" id="i2">9</td><td class="ctr1" id="j3">0</td><td class="ctr2" id="k3">1</td></tr><tr><td id="a2"><a href="SessionsPage.java.html#L150" class="el_method">getFileName()</a></td><td class="bar" id="b4"><img src="../../jacoco-resources/greenbar.gif" width="2" height="10" title="2" alt="2"/></td><td class="ctr2" id="c4">100%</td><td class="bar" id="d4"/><td class="ctr2" id="e4">n/a</td><td class="ctr1" id="f4">0</td><td class="ctr2" id="g4">1</td><td class="ctr1" id="h4">0</td><td class="ctr2" id="i4">1</td><td class="ctr1" id="j4">0</td><td class="ctr2" id="k4">1</td></tr><tr><td id="a4"><a href="SessionsPage.java.html#L154" class="el_method">getLinkStyle()</a></td><td class="bar" id="b5"><img src="../../jacoco-resources/greenbar.gif" width="2" height="10" title="2" alt="2"/></td><td class="ctr2" id="c5">100%</td><td class="bar" id="d5"/><td class="ctr2" id="e5">n/a</td><td class="ctr1" id="f5">0</td><td class="ctr2" id="g5">1</td><td class="ctr1" id="h5">0</td><td class="ctr2" id="i5">1</td><td class="ctr1" id="j5">0</td><td class="ctr2" id="k5">1</td></tr><tr><td id="a3"><a href="SessionsPage.java.html#L158" class="el_method">getLinkLabel()</a></td><td class="bar" id="b6"><img src="../../jacoco-resources/greenbar.gif" width="2" height="10" title="2" alt="2"/></td><td class="ctr2" id="c6">100%</td><td class="bar" id="d6"/><td class="ctr2" id="e6">n/a</td><td class="ctr1" id="f6">0</td><td class="ctr2" id="g6">1</td><td class="ctr1" id="h6">0</td><td class="ctr2" id="i6">1</td><td class="ctr1" id="j6">0</td><td class="ctr2" id="k6">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.12.202403270442</span>Code Coverage Report for JaCoCo 0.8.12-SNAPSHOT</div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/trunk/coverage/org.jacoco.report/org.jacoco.report.internal.html.page/SessionsPage.java.html b/jacoco/trunk/coverage/org.jacoco.report/org.jacoco.report.internal.html.page/SessionsPage.java.html
    new file mode 100644
    index 00000000000..b8ddb9eebf6
    --- /dev/null
    +++ b/jacoco/trunk/coverage/org.jacoco.report/org.jacoco.report.internal.html.page/SessionsPage.java.html
    @@ -0,0 +1,162 @@
    +<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="en"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../../jacoco-resources/report.gif" type="image/gif"/><title>SessionsPage.java</title><link rel="stylesheet" href="../../jacoco-resources/prettify.css" type="text/css"/><script type="text/javascript" src="../../jacoco-resources/prettify.js"></script></head><body onload="window['PR_TAB_WIDTH']=4;prettyPrint()"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../../index.html" class="el_report">JaCoCo</a> &gt; <a href="../index.html" class="el_bundle">org.jacoco.report</a> &gt; <a href="index.source.html" class="el_package">org.jacoco.report.internal.html.page</a> &gt; <span class="el_source">SessionsPage.java</span></div><h1>SessionsPage.java</h1><pre class="source lang-java linenums">/*******************************************************************************
    + * Copyright (c) 2009, 2024 Mountainminds GmbH &amp; Co. KG and Contributors
    + * This program and the accompanying materials are made available under
    + * the terms of the Eclipse Public License 2.0 which is available at
    + * http://www.eclipse.org/legal/epl-2.0
    + *
    + * SPDX-License-Identifier: EPL-2.0
    + *
    + * Contributors:
    + *    Marc R. Hoffmann - initial API and implementation
    + *
    + *******************************************************************************/
    +package org.jacoco.report.internal.html.page;
    +
    +import java.io.IOException;
    +import java.text.DateFormat;
    +import java.util.ArrayList;
    +import java.util.Collection;
    +import java.util.Collections;
    +import java.util.Comparator;
    +import java.util.Date;
    +import java.util.List;
    +
    +import org.jacoco.core.data.ExecutionData;
    +import org.jacoco.core.data.SessionInfo;
    +import org.jacoco.report.ILanguageNames;
    +import org.jacoco.report.internal.ReportOutputFolder;
    +import org.jacoco.report.internal.html.HTMLElement;
    +import org.jacoco.report.internal.html.IHTMLReportContext;
    +import org.jacoco.report.internal.html.index.ElementIndex;
    +import org.jacoco.report.internal.html.resources.Styles;
    +
    +/**
    + * Page to display information about sessions covered by this report.
    + */
    +public class SessionsPage extends ReportPage {
    +
    +	private static final String MSG_SESSIONS = &quot;This coverage report is based &quot;
    +			+ &quot;on execution data from the following sessions:&quot;;
    +
    +	private static final String MSG_NO_SESSIONS = &quot;No session information available.&quot;;
    +
    +	private static final String MSG_EXECDATA = &quot;Execution data for the &quot;
    +			+ &quot;following classes is considered in this report:&quot;;
    +
    +	private static final String MSG_NO_EXECDATA = &quot;No execution data available.&quot;;
    +
    +	private final List&lt;SessionInfo&gt; sessionInfos;
    +
    +	private final DateFormat dateFormat;
    +
    +	private final List&lt;ExecutionData&gt; executionData;
    +
    +	private final ElementIndex index;
    +
    +	/**
    +	 * Creates a new page page to display session information.
    +	 *
    +	 * @param sessionInfos
    +	 *            session info objects
    +	 * @param executionData
    +	 *            execution data objects
    +	 * @param index
    +	 *            index for cross-linking
    +	 * @param parent
    +	 *            optional hierarchical parent
    +	 * @param folder
    +	 *            base folder to create this page in
    +	 * @param context
    +	 *            settings context
    +	 */
    +	public SessionsPage(final List&lt;SessionInfo&gt; sessionInfos,
    +			final Collection&lt;ExecutionData&gt; executionData,
    +			final ElementIndex index, final ReportPage parent,
    +			final ReportOutputFolder folder, final IHTMLReportContext context) {
    +<span class="fc" id="L76">		super(parent, folder, context);</span>
    +<span class="fc" id="L77">		this.sessionInfos = sessionInfos;</span>
    +<span class="fc" id="L78">		this.executionData = new ArrayList&lt;ExecutionData&gt;(executionData);</span>
    +<span class="fc" id="L79">		this.index = index;</span>
    +<span class="fc" id="L80">		this.dateFormat = DateFormat.getDateTimeInstance(DateFormat.DEFAULT,</span>
    +				DateFormat.DEFAULT, context.getLocale());
    +<span class="fc" id="L82">		final ILanguageNames names = context.getLanguageNames();</span>
    +<span class="fc" id="L83">		Collections.sort(this.executionData, new Comparator&lt;ExecutionData&gt;() {</span>
    +<span class="fc" id="L84">			public int compare(final ExecutionData e1, final ExecutionData e2) {</span>
    +<span class="fc" id="L85">				return names.getQualifiedClassName(e1.getName())</span>
    +						.compareTo(names.getQualifiedClassName(e2.getName()));
    +			}
    +		});
    +<span class="fc" id="L89">	}</span>
    +
    +	@Override
    +	protected void content(final HTMLElement body) throws IOException {
    +<span class="fc bfc" id="L93" title="All 2 branches covered.">		if (sessionInfos.isEmpty()) {</span>
    +<span class="fc" id="L94">			body.p().text(MSG_NO_SESSIONS);</span>
    +		} else {
    +<span class="fc" id="L96">			body.p().text(MSG_SESSIONS);</span>
    +<span class="fc" id="L97">			sessionTable(body);</span>
    +		}
    +<span class="fc bfc" id="L99" title="All 2 branches covered.">		if (executionData.isEmpty()) {</span>
    +<span class="fc" id="L100">			body.p().text(MSG_NO_EXECDATA);</span>
    +		} else {
    +<span class="fc" id="L102">			body.p().text(MSG_EXECDATA);</span>
    +<span class="fc" id="L103">			executionDataTable(body);</span>
    +		}
    +<span class="fc" id="L105">	}</span>
    +
    +	private void sessionTable(final HTMLElement body) throws IOException {
    +<span class="fc" id="L108">		final HTMLElement table = body.table(Styles.COVERAGETABLE);</span>
    +		{
    +<span class="fc" id="L110">			final HTMLElement tr = table.thead().tr();</span>
    +<span class="fc" id="L111">			tr.td().text(&quot;Session&quot;);</span>
    +<span class="fc" id="L112">			tr.td().text(&quot;Start Time&quot;);</span>
    +<span class="fc" id="L113">			tr.td().text(&quot;Dump Time&quot;);</span>
    +		}
    +<span class="fc" id="L115">		final HTMLElement tbody = table.tbody();</span>
    +<span class="fc bfc" id="L116" title="All 2 branches covered.">		for (final SessionInfo i : sessionInfos) {</span>
    +<span class="fc" id="L117">			final HTMLElement tr = tbody.tr();</span>
    +<span class="fc" id="L118">			tr.td().span(Styles.EL_SESSION).text(i.getId());</span>
    +<span class="fc" id="L119">			tr.td().text(dateFormat.format(new Date(i.getStartTimeStamp())));</span>
    +<span class="fc" id="L120">			tr.td().text(dateFormat.format(new Date(i.getDumpTimeStamp())));</span>
    +<span class="fc" id="L121">		}</span>
    +<span class="fc" id="L122">	}</span>
    +
    +	private void executionDataTable(final HTMLElement body) throws IOException {
    +<span class="fc" id="L125">		final HTMLElement table = body.table(Styles.COVERAGETABLE);</span>
    +		{
    +<span class="fc" id="L127">			final HTMLElement tr = table.thead().tr();</span>
    +<span class="fc" id="L128">			tr.td().text(&quot;Class&quot;);</span>
    +<span class="fc" id="L129">			tr.td().text(&quot;Id&quot;);</span>
    +		}
    +<span class="fc" id="L131">		final HTMLElement tbody = table.tbody();</span>
    +<span class="fc" id="L132">		final ILanguageNames names = context.getLanguageNames();</span>
    +<span class="fc bfc" id="L133" title="All 2 branches covered.">		for (final ExecutionData e : executionData) {</span>
    +<span class="fc" id="L134">			final HTMLElement tr = tbody.tr();</span>
    +<span class="fc" id="L135">			final String link = index.getLinkToClass(e.getId());</span>
    +<span class="fc" id="L136">			final String qualifiedName = names</span>
    +					.getQualifiedClassName(e.getName());
    +<span class="fc bfc" id="L138" title="All 2 branches covered.">			if (link == null) {</span>
    +<span class="fc" id="L139">				tr.td().span(Styles.EL_CLASS).text(qualifiedName);</span>
    +			} else {
    +<span class="fc" id="L141">				tr.td().a(link, Styles.EL_CLASS).text(qualifiedName);</span>
    +			}
    +<span class="fc" id="L143">			final String id = String.format(&quot;%016x&quot;, Long.valueOf(e.getId()));</span>
    +<span class="fc" id="L144">			tr.td().code().text(id);</span>
    +<span class="fc" id="L145">		}</span>
    +<span class="fc" id="L146">	}</span>
    +
    +	@Override
    +	protected String getFileName() {
    +<span class="fc" id="L150">		return &quot;jacoco-sessions.html&quot;;</span>
    +	}
    +
    +	public String getLinkStyle() {
    +<span class="fc" id="L154">		return Styles.EL_SESSION;</span>
    +	}
    +
    +	public String getLinkLabel() {
    +<span class="fc" id="L158">		return &quot;Sessions&quot;;</span>
    +	}
    +
    +}
    +</pre><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.12.202403270442</span>Code Coverage Report for JaCoCo 0.8.12-SNAPSHOT</div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/trunk/coverage/org.jacoco.report/org.jacoco.report.internal.html.page/SourceFileItem.html b/jacoco/trunk/coverage/org.jacoco.report/org.jacoco.report.internal.html.page/SourceFileItem.html
    new file mode 100644
    index 00000000000..fc5309df01a
    --- /dev/null
    +++ b/jacoco/trunk/coverage/org.jacoco.report/org.jacoco.report.internal.html.page/SourceFileItem.html
    @@ -0,0 +1 @@
    +<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="en"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../../jacoco-resources/report.gif" type="image/gif"/><title>SourceFileItem</title><script type="text/javascript" src="../../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../../index.html" class="el_report">JaCoCo</a> &gt; <a href="../index.html" class="el_bundle">org.jacoco.report</a> &gt; <a href="index.html" class="el_package">org.jacoco.report.internal.html.page</a> &gt; <span class="el_class">SourceFileItem</span></div><h1>SourceFileItem</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">3 of 17</td><td class="ctr2">82%</td><td class="bar">0 of 0</td><td class="ctr2">n/a</td><td class="ctr1">1</td><td class="ctr2">5</td><td class="ctr1">1</td><td class="ctr2">7</td><td class="ctr1">1</td><td class="ctr2">5</td></tr></tfoot><tbody><tr><td id="a3"><a href="SourceFileItem.java.html#L46" class="el_method">getNode()</a></td><td class="bar" id="b0"><img src="../../jacoco-resources/redbar.gif" width="60" height="10" title="3" alt="3"/></td><td class="ctr2" id="c4">0%</td><td class="bar" id="d0"/><td class="ctr2" id="e0">n/a</td><td class="ctr1" id="f0">1</td><td class="ctr2" id="g0">1</td><td class="ctr1" id="h0">1</td><td class="ctr2" id="i1">1</td><td class="ctr1" id="j0">1</td><td class="ctr2" id="k0">1</td></tr><tr><td id="a4"><a href="SourceFileItem.java.html#L29" class="el_method">SourceFileItem(ISourceFileCoverage)</a></td><td class="bar" id="b1"><img src="../../jacoco-resources/greenbar.gif" width="120" height="10" title="6" alt="6"/></td><td class="ctr2" id="c0">100%</td><td class="bar" id="d1"/><td class="ctr2" id="e1">n/a</td><td class="ctr1" id="f1">0</td><td class="ctr2" id="g1">1</td><td class="ctr1" id="h1">0</td><td class="ctr2" id="i0">3</td><td class="ctr1" id="j1">0</td><td class="ctr2" id="k1">1</td></tr><tr><td id="a1"><a href="SourceFileItem.java.html#L34" class="el_method">getLinkLabel()</a></td><td class="bar" id="b2"><img src="../../jacoco-resources/greenbar.gif" width="80" height="10" title="4" alt="4"/></td><td class="ctr2" id="c1">100%</td><td class="bar" id="d2"/><td class="ctr2" id="e2">n/a</td><td class="ctr1" id="f2">0</td><td class="ctr2" id="g2">1</td><td class="ctr1" id="h2">0</td><td class="ctr2" id="i2">1</td><td class="ctr1" id="j2">0</td><td class="ctr2" id="k2">1</td></tr><tr><td id="a2"><a href="SourceFileItem.java.html#L38" class="el_method">getLinkStyle()</a></td><td class="bar" id="b3"><img src="../../jacoco-resources/greenbar.gif" width="40" height="10" title="2" alt="2"/></td><td class="ctr2" id="c2">100%</td><td class="bar" id="d3"/><td class="ctr2" id="e3">n/a</td><td class="ctr1" id="f3">0</td><td class="ctr2" id="g3">1</td><td class="ctr1" id="h3">0</td><td class="ctr2" id="i3">1</td><td class="ctr1" id="j3">0</td><td class="ctr2" id="k3">1</td></tr><tr><td id="a0"><a href="SourceFileItem.java.html#L42" class="el_method">getLink(ReportOutputFolder)</a></td><td class="bar" id="b4"><img src="../../jacoco-resources/greenbar.gif" width="40" height="10" title="2" alt="2"/></td><td class="ctr2" id="c3">100%</td><td class="bar" id="d4"/><td class="ctr2" id="e4">n/a</td><td class="ctr1" id="f4">0</td><td class="ctr2" id="g4">1</td><td class="ctr1" id="h4">0</td><td class="ctr2" id="i4">1</td><td class="ctr1" id="j4">0</td><td class="ctr2" id="k4">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.12.202403270442</span>Code Coverage Report for JaCoCo 0.8.12-SNAPSHOT</div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/trunk/coverage/org.jacoco.report/org.jacoco.report.internal.html.page/SourceFileItem.java.html b/jacoco/trunk/coverage/org.jacoco.report/org.jacoco.report.internal.html.page/SourceFileItem.java.html
    new file mode 100644
    index 00000000000..a499d554952
    --- /dev/null
    +++ b/jacoco/trunk/coverage/org.jacoco.report/org.jacoco.report.internal.html.page/SourceFileItem.java.html
    @@ -0,0 +1,50 @@
    +<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="en"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../../jacoco-resources/report.gif" type="image/gif"/><title>SourceFileItem.java</title><link rel="stylesheet" href="../../jacoco-resources/prettify.css" type="text/css"/><script type="text/javascript" src="../../jacoco-resources/prettify.js"></script></head><body onload="window['PR_TAB_WIDTH']=4;prettyPrint()"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../../index.html" class="el_report">JaCoCo</a> &gt; <a href="../index.html" class="el_bundle">org.jacoco.report</a> &gt; <a href="index.source.html" class="el_package">org.jacoco.report.internal.html.page</a> &gt; <span class="el_source">SourceFileItem.java</span></div><h1>SourceFileItem.java</h1><pre class="source lang-java linenums">/*******************************************************************************
    + * Copyright (c) 2009, 2024 Mountainminds GmbH &amp; Co. KG and Contributors
    + * This program and the accompanying materials are made available under
    + * the terms of the Eclipse Public License 2.0 which is available at
    + * http://www.eclipse.org/legal/epl-2.0
    + *
    + * SPDX-License-Identifier: EPL-2.0
    + *
    + * Contributors:
    + *    Marc R. Hoffmann - initial API and implementation
    + *
    + *******************************************************************************/
    +package org.jacoco.report.internal.html.page;
    +
    +import org.jacoco.core.analysis.ICoverageNode;
    +import org.jacoco.core.analysis.ISourceFileCoverage;
    +import org.jacoco.report.internal.ReportOutputFolder;
    +import org.jacoco.report.internal.html.resources.Styles;
    +import org.jacoco.report.internal.html.table.ITableItem;
    +
    +/**
    + * Table items representing a source file which cannot be linked.
    + *
    + */
    +final class SourceFileItem implements ITableItem {
    +
    +	private final ICoverageNode node;
    +
    +<span class="fc" id="L29">	SourceFileItem(final ISourceFileCoverage node) {</span>
    +<span class="fc" id="L30">		this.node = node;</span>
    +<span class="fc" id="L31">	}</span>
    +
    +	public String getLinkLabel() {
    +<span class="fc" id="L34">		return node.getName();</span>
    +	}
    +
    +	public String getLinkStyle() {
    +<span class="fc" id="L38">		return Styles.EL_SOURCE;</span>
    +	}
    +
    +	public String getLink(final ReportOutputFolder base) {
    +<span class="fc" id="L42">		return null;</span>
    +	}
    +
    +	public ICoverageNode getNode() {
    +<span class="nc" id="L46">		return node;</span>
    +	}
    +
    +}
    +</pre><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.12.202403270442</span>Code Coverage Report for JaCoCo 0.8.12-SNAPSHOT</div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/trunk/coverage/org.jacoco.report/org.jacoco.report.internal.html.page/SourceFilePage.html b/jacoco/trunk/coverage/org.jacoco.report/org.jacoco.report.internal.html.page/SourceFilePage.html
    new file mode 100644
    index 00000000000..944879b07c7
    --- /dev/null
    +++ b/jacoco/trunk/coverage/org.jacoco.report/org.jacoco.report.internal.html.page/SourceFilePage.html
    @@ -0,0 +1 @@
    +<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="en"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../../jacoco-resources/report.gif" type="image/gif"/><title>SourceFilePage</title><script type="text/javascript" src="../../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../../index.html" class="el_report">JaCoCo</a> &gt; <a href="../index.html" class="el_bundle">org.jacoco.report</a> &gt; <a href="index.html" class="el_package">org.jacoco.report.internal.html.page</a> &gt; <span class="el_class">SourceFilePage</span></div><h1>SourceFilePage</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">0 of 80</td><td class="ctr2">100%</td><td class="bar">0 of 0</td><td class="ctr2">n/a</td><td class="ctr1">0</td><td class="ctr2">5</td><td class="ctr1">0</td><td class="ctr2">14</td><td class="ctr1">0</td><td class="ctr2">5</td></tr></tfoot><tbody><tr><td id="a3"><a href="SourceFilePage.java.html#L70" class="el_method">head(HTMLElement)</a></td><td class="bar" id="b0"><img src="../../jacoco-resources/greenbar.gif" width="120" height="10" title="25" alt="25"/></td><td class="ctr2" id="c0">100%</td><td class="bar" id="d0"/><td class="ctr2" id="e0">n/a</td><td class="ctr1" id="f0">0</td><td class="ctr2" id="g0">1</td><td class="ctr1" id="h0">0</td><td class="ctr2" id="i0">4</td><td class="ctr1" id="j0">0</td><td class="ctr2" id="k0">1</td></tr><tr><td id="a0"><a href="SourceFilePage.java.html#L63" class="el_method">content(HTMLElement)</a></td><td class="bar" id="b1"><img src="../../jacoco-resources/greenbar.gif" width="91" height="10" title="19" alt="19"/></td><td class="ctr2" id="c1">100%</td><td class="bar" id="d1"/><td class="ctr2" id="e1">n/a</td><td class="ctr1" id="f1">0</td><td class="ctr2" id="g1">1</td><td class="ctr1" id="h1">0</td><td class="ctr2" id="i1">4</td><td class="ctr1" id="j1">0</td><td class="ctr2" id="k1">1</td></tr><tr><td id="a4"><a href="SourceFilePage.java.html#L56" class="el_method">SourceFilePage(ISourceNode, Reader, int, ReportPage, ReportOutputFolder, IHTMLReportContext)</a></td><td class="bar" id="b2"><img src="../../jacoco-resources/greenbar.gif" width="62" height="10" title="13" alt="13"/></td><td class="ctr2" id="c2">100%</td><td class="bar" id="d2"/><td class="ctr2" id="e2">n/a</td><td class="ctr1" id="f2">0</td><td class="ctr2" id="g2">1</td><td class="ctr1" id="h2">0</td><td class="ctr2" id="i2">4</td><td class="ctr1" id="j2">0</td><td class="ctr2" id="k2">1</td></tr><tr><td id="a1"><a href="SourceFilePage.java.html#L85" class="el_method">getFileName()</a></td><td class="bar" id="b3"><img src="../../jacoco-resources/greenbar.gif" width="57" height="10" title="12" alt="12"/></td><td class="ctr2" id="c3">100%</td><td class="bar" id="d3"/><td class="ctr2" id="e3">n/a</td><td class="ctr1" id="f3">0</td><td class="ctr2" id="g3">1</td><td class="ctr1" id="h3">0</td><td class="ctr2" id="i3">1</td><td class="ctr1" id="j3">0</td><td class="ctr2" id="k3">1</td></tr><tr><td id="a2"><a href="SourceFilePage.java.html#L79" class="el_method">getOnload()</a></td><td class="bar" id="b4"><img src="../../jacoco-resources/greenbar.gif" width="52" height="10" title="11" alt="11"/></td><td class="ctr2" id="c4">100%</td><td class="bar" id="d4"/><td class="ctr2" id="e4">n/a</td><td class="ctr1" id="f4">0</td><td class="ctr2" id="g4">1</td><td class="ctr1" id="h4">0</td><td class="ctr2" id="i4">1</td><td class="ctr1" id="j4">0</td><td class="ctr2" id="k4">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.12.202403270442</span>Code Coverage Report for JaCoCo 0.8.12-SNAPSHOT</div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/trunk/coverage/org.jacoco.report/org.jacoco.report.internal.html.page/SourceFilePage.java.html b/jacoco/trunk/coverage/org.jacoco.report/org.jacoco.report.internal.html.page/SourceFilePage.java.html
    new file mode 100644
    index 00000000000..9cae46908ca
    --- /dev/null
    +++ b/jacoco/trunk/coverage/org.jacoco.report/org.jacoco.report.internal.html.page/SourceFilePage.java.html
    @@ -0,0 +1,89 @@
    +<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="en"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../../jacoco-resources/report.gif" type="image/gif"/><title>SourceFilePage.java</title><link rel="stylesheet" href="../../jacoco-resources/prettify.css" type="text/css"/><script type="text/javascript" src="../../jacoco-resources/prettify.js"></script></head><body onload="window['PR_TAB_WIDTH']=4;prettyPrint()"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../../index.html" class="el_report">JaCoCo</a> &gt; <a href="../index.html" class="el_bundle">org.jacoco.report</a> &gt; <a href="index.source.html" class="el_package">org.jacoco.report.internal.html.page</a> &gt; <span class="el_source">SourceFilePage.java</span></div><h1>SourceFilePage.java</h1><pre class="source lang-java linenums">/*******************************************************************************
    + * Copyright (c) 2009, 2024 Mountainminds GmbH &amp; Co. KG and Contributors
    + * This program and the accompanying materials are made available under
    + * the terms of the Eclipse Public License 2.0 which is available at
    + * http://www.eclipse.org/legal/epl-2.0
    + *
    + * SPDX-License-Identifier: EPL-2.0
    + *
    + * Contributors:
    + *    Marc R. Hoffmann - initial API and implementation
    + *
    + *******************************************************************************/
    +package org.jacoco.report.internal.html.page;
    +
    +import static java.lang.String.format;
    +
    +import java.io.IOException;
    +import java.io.Reader;
    +
    +import org.jacoco.core.analysis.ISourceNode;
    +import org.jacoco.report.internal.ReportOutputFolder;
    +import org.jacoco.report.internal.html.HTMLElement;
    +import org.jacoco.report.internal.html.IHTMLReportContext;
    +import org.jacoco.report.internal.html.resources.Resources;
    +
    +/**
    + * Page showing the content of a source file with numbered and highlighted
    + * source lines.
    + */
    +public class SourceFilePage extends NodePage&lt;ISourceNode&gt; {
    +
    +	private final Reader sourceReader;
    +
    +	private final int tabWidth;
    +
    +	/**
    +	 * Creates a new page with given information.
    +	 *
    +	 * @param sourceFileNode
    +	 *            coverage data for this source file
    +	 * @param sourceReader
    +	 *            reader for the source code
    +	 * @param tabWidth
    +	 *            number of character per tab
    +	 * @param parent
    +	 *            optional hierarchical parent
    +	 * @param folder
    +	 *            base folder for this page
    +	 * @param context
    +	 *            settings context
    +	 */
    +	public SourceFilePage(final ISourceNode sourceFileNode,
    +			final Reader sourceReader, final int tabWidth,
    +			final ReportPage parent, final ReportOutputFolder folder,
    +			final IHTMLReportContext context) {
    +<span class="fc" id="L56">		super(sourceFileNode, parent, folder, context);</span>
    +<span class="fc" id="L57">		this.sourceReader = sourceReader;</span>
    +<span class="fc" id="L58">		this.tabWidth = tabWidth;</span>
    +<span class="fc" id="L59">	}</span>
    +
    +	@Override
    +	protected void content(final HTMLElement body) throws IOException {
    +<span class="fc" id="L63">		final SourceHighlighter hl = new SourceHighlighter(context.getLocale());</span>
    +<span class="fc" id="L64">		hl.render(body, getNode(), sourceReader);</span>
    +<span class="fc" id="L65">		sourceReader.close();</span>
    +<span class="fc" id="L66">	}</span>
    +
    +	@Override
    +	protected void head(final HTMLElement head) throws IOException {
    +<span class="fc" id="L70">		super.head(head);</span>
    +<span class="fc" id="L71">		head.link(&quot;stylesheet&quot;, context.getResources().getLink(folder,</span>
    +				Resources.PRETTIFY_STYLESHEET), &quot;text/css&quot;);
    +<span class="fc" id="L73">		head.script(context.getResources().getLink(folder,</span>
    +				Resources.PRETTIFY_SCRIPT));
    +<span class="fc" id="L75">	}</span>
    +
    +	@Override
    +	protected String getOnload() {
    +<span class="fc" id="L79">		return format(&quot;window['PR_TAB_WIDTH']=%d;prettyPrint()&quot;,</span>
    +				Integer.valueOf(tabWidth));
    +	}
    +
    +	@Override
    +	protected String getFileName() {
    +<span class="fc" id="L85">		return getNode().getName() + &quot;.html&quot;;</span>
    +	}
    +
    +}
    +</pre><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.12.202403270442</span>Code Coverage Report for JaCoCo 0.8.12-SNAPSHOT</div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/trunk/coverage/org.jacoco.report/org.jacoco.report.internal.html.page/SourceHighlighter.html b/jacoco/trunk/coverage/org.jacoco.report/org.jacoco.report.internal.html.page/SourceHighlighter.html
    new file mode 100644
    index 00000000000..6431e615ae4
    --- /dev/null
    +++ b/jacoco/trunk/coverage/org.jacoco.report/org.jacoco.report.internal.html.page/SourceHighlighter.html
    @@ -0,0 +1 @@
    +<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="en"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../../jacoco-resources/report.gif" type="image/gif"/><title>SourceHighlighter</title><script type="text/javascript" src="../../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../../index.html" class="el_report">JaCoCo</a> &gt; <a href="../index.html" class="el_bundle">org.jacoco.report</a> &gt; <a href="index.html" class="el_package">org.jacoco.report.internal.html.page</a> &gt; <span class="el_class">SourceHighlighter</span></div><h1>SourceHighlighter</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">0 of 164</td><td class="ctr2">100%</td><td class="bar">0 of 10</td><td class="ctr2">100%</td><td class="ctr1">0</td><td class="ctr2">13</td><td class="ctr1">0</td><td class="ctr2">36</td><td class="ctr1">0</td><td class="ctr2">6</td></tr></tfoot><tbody><tr><td id="a0"><a href="SourceHighlighter.java.html#L91" class="el_method">highlight(HTMLElement, ILine, int)</a></td><td class="bar" id="b0"><img src="../../jacoco-resources/greenbar.gif" width="120" height="10" title="62" alt="62"/></td><td class="ctr2" id="c0">100%</td><td class="bar" id="d0"><img src="../../jacoco-resources/greenbar.gif" width="120" height="10" title="8" alt="8"/></td><td class="ctr2" id="e0">100%</td><td class="ctr1" id="f0">0</td><td class="ctr2" id="g0">7</td><td class="ctr1" id="h0">0</td><td class="ctr2" id="i0">15</td><td class="ctr1" id="j0">0</td><td class="ctr2" id="k0">1</td></tr><tr><td id="a5"><a href="SourceHighlighter.java.html#L125" class="el_method">span(HTMLElement, String, String, String, String, ICounter)</a></td><td class="bar" id="b1"><img src="../../jacoco-resources/greenbar.gif" width="79" height="10" title="41" alt="41"/></td><td class="ctr2" id="c1">100%</td><td class="bar" id="d2"/><td class="ctr2" id="e2">n/a</td><td class="ctr1" id="f1">0</td><td class="ctr2" id="g2">1</td><td class="ctr1" id="h1">0</td><td class="ctr2" id="i2">5</td><td class="ctr1" id="j1">0</td><td class="ctr2" id="k1">1</td></tr><tr><td id="a1"><a href="SourceHighlighter.java.html#L71" class="el_method">render(HTMLElement, ISourceNode, Reader)</a></td><td class="bar" id="b2"><img src="../../jacoco-resources/greenbar.gif" width="71" height="10" title="37" alt="37"/></td><td class="ctr2" id="c2">100%</td><td class="bar" id="d1"><img src="../../jacoco-resources/greenbar.gif" width="30" height="10" title="2" alt="2"/></td><td class="ctr2" id="e1">100%</td><td class="ctr1" id="f2">0</td><td class="ctr2" id="g1">2</td><td class="ctr1" id="h2">0</td><td class="ctr2" id="i1">7</td><td class="ctr1" id="j2">0</td><td class="ctr2" id="k2">1</td></tr><tr><td id="a2"><a href="SourceHighlighter.java.html#L84" class="el_method">renderCodeLine(HTMLElement, String, ILine, int)</a></td><td class="bar" id="b3"><img src="../../jacoco-resources/greenbar.gif" width="21" height="10" title="11" alt="11"/></td><td class="ctr2" id="c3">100%</td><td class="bar" id="d3"/><td class="ctr2" id="e3">n/a</td><td class="ctr1" id="f3">0</td><td class="ctr2" id="g3">1</td><td class="ctr1" id="h3">0</td><td class="ctr2" id="i4">3</td><td class="ctr1" id="j3">0</td><td class="ctr2" id="k3">1</td></tr><tr><td id="a4"><a href="SourceHighlighter.java.html#L41" class="el_method">SourceHighlighter(Locale)</a></td><td class="bar" id="b4"><img src="../../jacoco-resources/greenbar.gif" width="17" height="10" title="9" alt="9"/></td><td class="ctr2" id="c4">100%</td><td class="bar" id="d4"/><td class="ctr2" id="e4">n/a</td><td class="ctr1" id="f4">0</td><td class="ctr2" id="g4">1</td><td class="ctr1" id="h4">0</td><td class="ctr2" id="i3">4</td><td class="ctr1" id="j4">0</td><td class="ctr2" id="k4">1</td></tr><tr><td id="a3"><a href="SourceHighlighter.java.html#L54" class="el_method">setLanguage(String)</a></td><td class="bar" id="b5"><img src="../../jacoco-resources/greenbar.gif" width="7" height="10" title="4" alt="4"/></td><td class="ctr2" id="c5">100%</td><td class="bar" id="d5"/><td class="ctr2" id="e5">n/a</td><td class="ctr1" id="f5">0</td><td class="ctr2" id="g5">1</td><td class="ctr1" id="h5">0</td><td class="ctr2" id="i5">2</td><td class="ctr1" id="j5">0</td><td class="ctr2" id="k5">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.12.202403270442</span>Code Coverage Report for JaCoCo 0.8.12-SNAPSHOT</div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/trunk/coverage/org.jacoco.report/org.jacoco.report.internal.html.page/SourceHighlighter.java.html b/jacoco/trunk/coverage/org.jacoco.report/org.jacoco.report.internal.html.page/SourceHighlighter.java.html
    new file mode 100644
    index 00000000000..bd4deb727f9
    --- /dev/null
    +++ b/jacoco/trunk/coverage/org.jacoco.report/org.jacoco.report.internal.html.page/SourceHighlighter.java.html
    @@ -0,0 +1,133 @@
    +<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="en"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../../jacoco-resources/report.gif" type="image/gif"/><title>SourceHighlighter.java</title><link rel="stylesheet" href="../../jacoco-resources/prettify.css" type="text/css"/><script type="text/javascript" src="../../jacoco-resources/prettify.js"></script></head><body onload="window['PR_TAB_WIDTH']=4;prettyPrint()"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../../index.html" class="el_report">JaCoCo</a> &gt; <a href="../index.html" class="el_bundle">org.jacoco.report</a> &gt; <a href="index.source.html" class="el_package">org.jacoco.report.internal.html.page</a> &gt; <span class="el_source">SourceHighlighter.java</span></div><h1>SourceHighlighter.java</h1><pre class="source lang-java linenums">/*******************************************************************************
    + * Copyright (c) 2009, 2024 Mountainminds GmbH &amp; Co. KG and Contributors
    + * This program and the accompanying materials are made available under
    + * the terms of the Eclipse Public License 2.0 which is available at
    + * http://www.eclipse.org/legal/epl-2.0
    + *
    + * SPDX-License-Identifier: EPL-2.0
    + *
    + * Contributors:
    + *    Marc R. Hoffmann - initial API and implementation
    + *
    + *******************************************************************************/
    +package org.jacoco.report.internal.html.page;
    +
    +import java.io.BufferedReader;
    +import java.io.IOException;
    +import java.io.Reader;
    +import java.util.Locale;
    +
    +import org.jacoco.core.analysis.ICounter;
    +import org.jacoco.core.analysis.ILine;
    +import org.jacoco.core.analysis.ISourceNode;
    +import org.jacoco.report.internal.html.HTMLElement;
    +import org.jacoco.report.internal.html.resources.Styles;
    +
    +/**
    + * Creates a highlighted output of a source file.
    + */
    +final class SourceHighlighter {
    +
    +	private final Locale locale;
    +
    +	private String lang;
    +
    +	/**
    +	 * Creates a new highlighter with default settings.
    +	 *
    +	 * @param locale
    +	 *            locale for tooltip rendering
    +	 */
    +<span class="fc" id="L41">	public SourceHighlighter(final Locale locale) {</span>
    +<span class="fc" id="L42">		this.locale = locale;</span>
    +<span class="fc" id="L43">		lang = &quot;java&quot;;</span>
    +<span class="fc" id="L44">	}</span>
    +
    +	/**
    +	 * Specifies the source language. This value might be used for syntax
    +	 * highlighting. Default is &quot;java&quot;.
    +	 *
    +	 * @param lang
    +	 *            source language identifier
    +	 */
    +	public void setLanguage(final String lang) {
    +<span class="fc" id="L54">		this.lang = lang;</span>
    +<span class="fc" id="L55">	}</span>
    +
    +	/**
    +	 * Highlights the given source file.
    +	 *
    +	 * @param parent
    +	 *            parent HTML element
    +	 * @param source
    +	 *            highlighting information
    +	 * @param contents
    +	 *            contents of the source file
    +	 * @throws IOException
    +	 *             problems while reading the source file or writing the output
    +	 */
    +	public void render(final HTMLElement parent, final ISourceNode source,
    +			final Reader contents) throws IOException {
    +<span class="fc" id="L71">		final HTMLElement pre = parent</span>
    +				.pre(Styles.SOURCE + &quot; lang-&quot; + lang + &quot; linenums&quot;);
    +<span class="fc" id="L73">		final BufferedReader lineBuffer = new BufferedReader(contents);</span>
    +		String line;
    +<span class="fc" id="L75">		int nr = 0;</span>
    +<span class="fc bfc" id="L76" title="All 2 branches covered.">		while ((line = lineBuffer.readLine()) != null) {</span>
    +<span class="fc" id="L77">			nr++;</span>
    +<span class="fc" id="L78">			renderCodeLine(pre, line, source.getLine(nr), nr);</span>
    +		}
    +<span class="fc" id="L80">	}</span>
    +
    +	private void renderCodeLine(final HTMLElement pre, final String linesrc,
    +			final ILine line, final int lineNr) throws IOException {
    +<span class="fc" id="L84">		highlight(pre, line, lineNr).text(linesrc);</span>
    +<span class="fc" id="L85">		pre.text(&quot;\n&quot;);</span>
    +<span class="fc" id="L86">	}</span>
    +
    +	HTMLElement highlight(final HTMLElement pre, final ILine line,
    +			final int lineNr) throws IOException {
    +		final String style;
    +<span class="fc bfc" id="L91" title="All 4 branches covered.">		switch (line.getStatus()) {</span>
    +		case ICounter.NOT_COVERED:
    +<span class="fc" id="L93">			style = Styles.NOT_COVERED;</span>
    +<span class="fc" id="L94">			break;</span>
    +		case ICounter.FULLY_COVERED:
    +<span class="fc" id="L96">			style = Styles.FULLY_COVERED;</span>
    +<span class="fc" id="L97">			break;</span>
    +		case ICounter.PARTLY_COVERED:
    +<span class="fc" id="L99">			style = Styles.PARTLY_COVERED;</span>
    +<span class="fc" id="L100">			break;</span>
    +		default:
    +<span class="fc" id="L102">			return pre;</span>
    +		}
    +
    +<span class="fc" id="L105">		final String lineId = &quot;L&quot; + Integer.toString(lineNr);</span>
    +<span class="fc" id="L106">		final ICounter branches = line.getBranchCounter();</span>
    +<span class="fc bfc" id="L107" title="All 4 branches covered.">		switch (branches.getStatus()) {</span>
    +		case ICounter.NOT_COVERED:
    +<span class="fc" id="L109">			return span(pre, lineId, style, Styles.BRANCH_NOT_COVERED,</span>
    +					&quot;All %2$d branches missed.&quot;, branches);
    +		case ICounter.FULLY_COVERED:
    +<span class="fc" id="L112">			return span(pre, lineId, style, Styles.BRANCH_FULLY_COVERED,</span>
    +					&quot;All %2$d branches covered.&quot;, branches);
    +		case ICounter.PARTLY_COVERED:
    +<span class="fc" id="L115">			return span(pre, lineId, style, Styles.BRANCH_PARTLY_COVERED,</span>
    +					&quot;%1$d of %2$d branches missed.&quot;, branches);
    +		default:
    +<span class="fc" id="L118">			return pre.span(style, lineId);</span>
    +		}
    +	}
    +
    +	private HTMLElement span(final HTMLElement parent, final String id,
    +			final String style1, final String style2, final String title,
    +			final ICounter branches) throws IOException {
    +<span class="fc" id="L125">		final HTMLElement span = parent.span(style1 + &quot; &quot; + style2, id);</span>
    +<span class="fc" id="L126">		final Integer missed = Integer.valueOf(branches.getMissedCount());</span>
    +<span class="fc" id="L127">		final Integer total = Integer.valueOf(branches.getTotalCount());</span>
    +<span class="fc" id="L128">		span.attr(&quot;title&quot;, String.format(locale, title, missed, total));</span>
    +<span class="fc" id="L129">		return span;</span>
    +	}
    +
    +}
    +</pre><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.12.202403270442</span>Code Coverage Report for JaCoCo 0.8.12-SNAPSHOT</div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/trunk/coverage/org.jacoco.report/org.jacoco.report.internal.html.page/TablePage.html b/jacoco/trunk/coverage/org.jacoco.report/org.jacoco.report.internal.html.page/TablePage.html
    new file mode 100644
    index 00000000000..2ffa6f36007
    --- /dev/null
    +++ b/jacoco/trunk/coverage/org.jacoco.report/org.jacoco.report.internal.html.page/TablePage.html
    @@ -0,0 +1 @@
    +<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="en"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../../jacoco-resources/report.gif" type="image/gif"/><title>TablePage</title><script type="text/javascript" src="../../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../../index.html" class="el_report">JaCoCo</a> &gt; <a href="../index.html" class="el_bundle">org.jacoco.report</a> &gt; <a href="index.html" class="el_package">org.jacoco.report.internal.html.page</a> &gt; <span class="el_class">TablePage</span></div><h1>TablePage</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">0 of 49</td><td class="ctr2">100%</td><td class="bar">0 of 0</td><td class="ctr2">n/a</td><td class="ctr1">0</td><td class="ctr2">4</td><td class="ctr1">0</td><td class="ctr2">11</td><td class="ctr1">0</td><td class="ctr2">4</td></tr></tfoot><tbody><tr><td id="a1"><a href="TablePage.java.html#L74" class="el_method">content(HTMLElement)</a></td><td class="bar" id="b0"><img src="../../jacoco-resources/greenbar.gif" width="120" height="10" title="18" alt="18"/></td><td class="ctr2" id="c0">100%</td><td class="bar" id="d0"/><td class="ctr2" id="e0">n/a</td><td class="ctr1" id="f0">0</td><td class="ctr2" id="g0">1</td><td class="ctr1" id="h0">0</td><td class="ctr2" id="i0">3</td><td class="ctr1" id="j0">0</td><td class="ctr2" id="k0">1</td></tr><tr><td id="a2"><a href="TablePage.java.html#L67" class="el_method">head(HTMLElement)</a></td><td class="bar" id="b1"><img src="../../jacoco-resources/greenbar.gif" width="86" height="10" title="13" alt="13"/></td><td class="ctr2" id="c1">100%</td><td class="bar" id="d1"/><td class="ctr2" id="e1">n/a</td><td class="ctr1" id="f1">0</td><td class="ctr2" id="g1">1</td><td class="ctr1" id="h1">0</td><td class="ctr2" id="i1">3</td><td class="ctr1" id="j1">0</td><td class="ctr2" id="k1">1</td></tr><tr><td id="a3"><a href="TablePage.java.html#L35" class="el_method">TablePage(ICoverageNode, ReportPage, ReportOutputFolder, IHTMLReportContext)</a></td><td class="bar" id="b2"><img src="../../jacoco-resources/greenbar.gif" width="80" height="10" title="12" alt="12"/></td><td class="ctr2" id="c2">100%</td><td class="bar" id="d2"/><td class="ctr2" id="e2">n/a</td><td class="ctr1" id="f2">0</td><td class="ctr2" id="g2">1</td><td class="ctr1" id="h2">0</td><td class="ctr2" id="i2">3</td><td class="ctr1" id="j2">0</td><td class="ctr2" id="k2">1</td></tr><tr><td id="a0"><a href="TablePage.java.html#L62" class="el_method">addItem(ITableItem)</a></td><td class="bar" id="b3"><img src="../../jacoco-resources/greenbar.gif" width="40" height="10" title="6" alt="6"/></td><td class="ctr2" id="c3">100%</td><td class="bar" id="d3"/><td class="ctr2" id="e3">n/a</td><td class="ctr1" id="f3">0</td><td class="ctr2" id="g3">1</td><td class="ctr1" id="h3">0</td><td class="ctr2" id="i3">2</td><td class="ctr1" id="j3">0</td><td class="ctr2" id="k3">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.12.202403270442</span>Code Coverage Report for JaCoCo 0.8.12-SNAPSHOT</div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/trunk/coverage/org.jacoco.report/org.jacoco.report.internal.html.page/TablePage.java.html b/jacoco/trunk/coverage/org.jacoco.report/org.jacoco.report.internal.html.page/TablePage.java.html
    new file mode 100644
    index 00000000000..e996ec98a86
    --- /dev/null
    +++ b/jacoco/trunk/coverage/org.jacoco.report/org.jacoco.report.internal.html.page/TablePage.java.html
    @@ -0,0 +1,81 @@
    +<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="en"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../../jacoco-resources/report.gif" type="image/gif"/><title>TablePage.java</title><link rel="stylesheet" href="../../jacoco-resources/prettify.css" type="text/css"/><script type="text/javascript" src="../../jacoco-resources/prettify.js"></script></head><body onload="window['PR_TAB_WIDTH']=4;prettyPrint()"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../../index.html" class="el_report">JaCoCo</a> &gt; <a href="../index.html" class="el_bundle">org.jacoco.report</a> &gt; <a href="index.source.html" class="el_package">org.jacoco.report.internal.html.page</a> &gt; <span class="el_source">TablePage.java</span></div><h1>TablePage.java</h1><pre class="source lang-java linenums">/*******************************************************************************
    + * Copyright (c) 2009, 2024 Mountainminds GmbH &amp; Co. KG and Contributors
    + * This program and the accompanying materials are made available under
    + * the terms of the Eclipse Public License 2.0 which is available at
    + * http://www.eclipse.org/legal/epl-2.0
    + *
    + * SPDX-License-Identifier: EPL-2.0
    + *
    + * Contributors:
    + *    Marc R. Hoffmann - initial API and implementation
    + *
    + *******************************************************************************/
    +package org.jacoco.report.internal.html.page;
    +
    +import java.io.IOException;
    +import java.util.ArrayList;
    +import java.util.List;
    +
    +import org.jacoco.core.analysis.ICoverageNode;
    +import org.jacoco.report.internal.ReportOutputFolder;
    +import org.jacoco.report.internal.html.HTMLElement;
    +import org.jacoco.report.internal.html.IHTMLReportContext;
    +import org.jacoco.report.internal.html.resources.Resources;
    +import org.jacoco.report.internal.html.table.ITableItem;
    +
    +/**
    + * Report page that contains a table of items linked to other pages.
    + *
    + * @param &lt;NodeType&gt;
    + *            type of the node represented by this page
    + */
    +public abstract class TablePage&lt;NodeType extends ICoverageNode&gt;
    +		extends NodePage&lt;NodeType&gt; {
    +
    +<span class="fc" id="L35">	private final List&lt;ITableItem&gt; items = new ArrayList&lt;ITableItem&gt;();</span>
    +
    +	/**
    +	 * Creates a new node page.
    +	 *
    +	 * @param node
    +	 *            corresponding node
    +	 * @param parent
    +	 *            optional hierarchical parent
    +	 * @param folder
    +	 *            base folder to create this report in
    +	 * @param context
    +	 *            settings context
    +	 */
    +	protected TablePage(final NodeType node, final ReportPage parent,
    +			final ReportOutputFolder folder, final IHTMLReportContext context) {
    +<span class="fc" id="L51">		super(node, parent, folder, context);</span>
    +<span class="fc" id="L52">	}</span>
    +
    +	/**
    +	 * Adds the given item to the table. Method must be called before the page
    +	 * is rendered.
    +	 *
    +	 * @param item
    +	 *            table item to add
    +	 */
    +	public void addItem(final ITableItem item) {
    +<span class="fc" id="L62">		items.add(item);</span>
    +<span class="fc" id="L63">	}</span>
    +
    +	@Override
    +	protected void head(final HTMLElement head) throws IOException {
    +<span class="fc" id="L67">		super.head(head);</span>
    +<span class="fc" id="L68">		head.script(</span>
    +				context.getResources().getLink(folder, Resources.SORT_SCRIPT));
    +<span class="fc" id="L70">	}</span>
    +
    +	@Override
    +	protected void content(final HTMLElement body) throws IOException {
    +<span class="fc" id="L74">		context.getTable().render(body, items, getNode(),</span>
    +				context.getResources(), folder);
    +		// free memory, otherwise we will keep the complete page tree:
    +<span class="fc" id="L77">		items.clear();</span>
    +<span class="fc" id="L78">	}</span>
    +
    +}
    +</pre><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.12.202403270442</span>Code Coverage Report for JaCoCo 0.8.12-SNAPSHOT</div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/trunk/coverage/org.jacoco.report/org.jacoco.report.internal.html.page/index.html b/jacoco/trunk/coverage/org.jacoco.report/org.jacoco.report.internal.html.page/index.html
    new file mode 100644
    index 00000000000..13c2c509c5a
    --- /dev/null
    +++ b/jacoco/trunk/coverage/org.jacoco.report/org.jacoco.report.internal.html.page/index.html
    @@ -0,0 +1 @@
    +<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="en"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../../jacoco-resources/report.gif" type="image/gif"/><title>org.jacoco.report.internal.html.page</title><script type="text/javascript" src="../../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb', 'coveragetable'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="index.source.html" class="el_source">Source Files</a><a href="../../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../../index.html" class="el_report">JaCoCo</a> &gt; <a href="../index.html" class="el_bundle">org.jacoco.report</a> &gt; <span class="el_package">org.jacoco.report.internal.html.page</span></div><h1>org.jacoco.report.internal.html.page</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td><td class="sortable ctr1" id="l" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="m" onclick="toggleSort(this)">Classes</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">5 of 1,355</td><td class="ctr2">99%</td><td class="bar">1 of 70</td><td class="ctr2">98%</td><td class="ctr1">2</td><td class="ctr2">116</td><td class="ctr1">1</td><td class="ctr2">303</td><td class="ctr1">1</td><td class="ctr2">79</td><td class="ctr1">0</td><td class="ctr2">14</td></tr></tfoot><tbody><tr><td id="a10"><a href="SourceFileItem.html" class="el_class">SourceFileItem</a></td><td class="bar" id="b0"><img src="../../jacoco-resources/redbar.gif" width="1" height="10" title="3" alt="3"/><img src="../../jacoco-resources/greenbar.gif" width="7" height="10" title="14" alt="14"/></td><td class="ctr2" id="c13">82%</td><td class="bar" id="d9"/><td class="ctr2" id="e9">n/a</td><td class="ctr1" id="f0">1</td><td class="ctr2" id="g8">5</td><td class="ctr1" id="h0">1</td><td class="ctr2" id="i11">7</td><td class="ctr1" id="j0">1</td><td class="ctr2" id="k7">5</td><td class="ctr1" id="l0">0</td><td class="ctr2" id="m0">1</td></tr><tr><td id="a0"><a href="BundlePage.html" class="el_class">BundlePage</a></td><td class="bar" id="b1"><img src="../../jacoco-resources/redbar.gif" width="1" height="10" title="2" alt="2"/><img src="../../jacoco-resources/greenbar.gif" width="51" height="10" title="97" alt="97"/></td><td class="ctr2" id="c12">97%</td><td class="bar" id="d0"><img src="../../jacoco-resources/redbar.gif" width="8" height="10" title="1" alt="1"/><img src="../../jacoco-resources/greenbar.gif" width="77" height="10" title="9" alt="9"/></td><td class="ctr2" id="e8">90%</td><td class="ctr1" id="f1">1</td><td class="ctr2" id="g5">11</td><td class="ctr1" id="h1">0</td><td class="ctr2" id="i5">26</td><td class="ctr1" id="j1">0</td><td class="ctr2" id="k4">6</td><td class="ctr1" id="l1">0</td><td class="ctr2" id="m1">1</td></tr><tr><td id="a8"><a href="SessionsPage.html" class="el_class">SessionsPage</a></td><td class="bar" id="b2"><img src="../../jacoco-resources/greenbar.gif" width="120" height="10" title="225" alt="225"/></td><td class="ctr2" id="c0">100%</td><td class="bar" id="d2"><img src="../../jacoco-resources/greenbar.gif" width="85" height="10" title="10" alt="10"/></td><td class="ctr2" id="e0">100%</td><td class="ctr1" id="f2">0</td><td class="ctr2" id="g3">12</td><td class="ctr1" id="h2">0</td><td class="ctr2" id="i0">50</td><td class="ctr1" id="j2">0</td><td class="ctr2" id="k2">7</td><td class="ctr1" id="l2">0</td><td class="ctr2" id="m2">1</td></tr><tr><td id="a7"><a href="ReportPage.html" class="el_class">ReportPage</a></td><td class="bar" id="b3"><img src="../../jacoco-resources/greenbar.gif" width="103" height="10" title="194" alt="194"/></td><td class="ctr2" id="c1">100%</td><td class="bar" id="d6"><img src="../../jacoco-resources/greenbar.gif" width="34" height="10" title="4" alt="4"/></td><td class="ctr2" id="e1">100%</td><td class="ctr1" id="f3">0</td><td class="ctr2" id="g0">13</td><td class="ctr1" id="h3">0</td><td class="ctr2" id="i1">46</td><td class="ctr1" id="j3">0</td><td class="ctr2" id="k0">11</td><td class="ctr1" id="l3">0</td><td class="ctr2" id="m3">1</td></tr><tr><td id="a1"><a href="ClassPage.html" class="el_class">ClassPage</a></td><td class="bar" id="b4"><img src="../../jacoco-resources/greenbar.gif" width="97" height="10" title="183" alt="183"/></td><td class="ctr2" id="c2">100%</td><td class="bar" id="d1"><img src="../../jacoco-resources/greenbar.gif" width="120" height="10" title="14" alt="14"/></td><td class="ctr2" id="e2">100%</td><td class="ctr1" id="f4">0</td><td class="ctr2" id="g1">13</td><td class="ctr1" id="h4">0</td><td class="ctr2" id="i3">30</td><td class="ctr1" id="j4">0</td><td class="ctr2" id="k5">6</td><td class="ctr1" id="l4">0</td><td class="ctr2" id="m4">1</td></tr><tr><td id="a12"><a href="SourceHighlighter.html" class="el_class">SourceHighlighter</a></td><td class="bar" id="b5"><img src="../../jacoco-resources/greenbar.gif" width="87" height="10" title="164" alt="164"/></td><td class="ctr2" id="c3">100%</td><td class="bar" id="d3"><img src="../../jacoco-resources/greenbar.gif" width="85" height="10" title="10" alt="10"/></td><td class="ctr2" id="e3">100%</td><td class="ctr1" id="f5">0</td><td class="ctr2" id="g2">13</td><td class="ctr1" id="h5">0</td><td class="ctr2" id="i2">36</td><td class="ctr1" id="j5">0</td><td class="ctr2" id="k6">6</td><td class="ctr1" id="l5">0</td><td class="ctr2" id="m5">1</td></tr><tr><td id="a6"><a href="PackageSourcePage.html" class="el_class">PackageSourcePage</a></td><td class="bar" id="b6"><img src="../../jacoco-resources/greenbar.gif" width="66" height="10" title="125" alt="125"/></td><td class="ctr2" id="c4">100%</td><td class="bar" id="d5"><img src="../../jacoco-resources/greenbar.gif" width="51" height="10" title="6" alt="6"/></td><td class="ctr2" id="e4">100%</td><td class="ctr1" id="f6">0</td><td class="ctr2" id="g6">11</td><td class="ctr1" id="h6">0</td><td class="ctr2" id="i4">30</td><td class="ctr1" id="j6">0</td><td class="ctr2" id="k1">8</td><td class="ctr1" id="l6">0</td><td class="ctr2" id="m6">1</td></tr><tr><td id="a5"><a href="PackagePage.html" class="el_class">PackagePage</a></td><td class="bar" id="b7"><img src="../../jacoco-resources/greenbar.gif" width="59" height="10" title="111" alt="111"/></td><td class="ctr2" id="c5">100%</td><td class="bar" id="d4"><img src="../../jacoco-resources/greenbar.gif" width="85" height="10" title="10" alt="10"/></td><td class="ctr2" id="e5">100%</td><td class="ctr1" id="f7">0</td><td class="ctr2" id="g4">12</td><td class="ctr1" id="h7">0</td><td class="ctr2" id="i6">26</td><td class="ctr1" id="j7">0</td><td class="ctr2" id="k3">7</td><td class="ctr1" id="l7">0</td><td class="ctr2" id="m7">1</td></tr><tr><td id="a11"><a href="SourceFilePage.html" class="el_class">SourceFilePage</a></td><td class="bar" id="b8"><img src="../../jacoco-resources/greenbar.gif" width="42" height="10" title="80" alt="80"/></td><td class="ctr2" id="c6">100%</td><td class="bar" id="d10"/><td class="ctr2" id="e10">n/a</td><td class="ctr1" id="f8">0</td><td class="ctr2" id="g9">5</td><td class="ctr1" id="h8">0</td><td class="ctr2" id="i7">14</td><td class="ctr1" id="j8">0</td><td class="ctr2" id="k8">5</td><td class="ctr1" id="l8">0</td><td class="ctr2" id="m8">1</td></tr><tr><td id="a3"><a href="MethodItem.html" class="el_class">MethodItem</a></td><td class="bar" id="b9"><img src="../../jacoco-resources/greenbar.gif" width="26" height="10" title="50" alt="50"/></td><td class="ctr2" id="c7">100%</td><td class="bar" id="d7"><img src="../../jacoco-resources/greenbar.gif" width="34" height="10" title="4" alt="4"/></td><td class="ctr2" id="e6">100%</td><td class="ctr1" id="f9">0</td><td class="ctr2" id="g7">7</td><td class="ctr1" id="h9">0</td><td class="ctr2" id="i8">13</td><td class="ctr1" id="j9">0</td><td class="ctr2" id="k9">5</td><td class="ctr1" id="l9">0</td><td class="ctr2" id="m9">1</td></tr><tr><td id="a13"><a href="TablePage.html" class="el_class">TablePage</a></td><td class="bar" id="b10"><img src="../../jacoco-resources/greenbar.gif" width="26" height="10" title="49" alt="49"/></td><td class="ctr2" id="c8">100%</td><td class="bar" id="d11"/><td class="ctr2" id="e11">n/a</td><td class="ctr1" id="f10">0</td><td class="ctr2" id="g11">4</td><td class="ctr1" id="h10">0</td><td class="ctr2" id="i9">11</td><td class="ctr1" id="j10">0</td><td class="ctr2" id="k10">4</td><td class="ctr1" id="l10">0</td><td class="ctr2" id="m10">1</td></tr><tr><td id="a4"><a href="NodePage.html" class="el_class">NodePage</a></td><td class="bar" id="b11"><img src="../../jacoco-resources/greenbar.gif" width="13" height="10" title="26" alt="26"/></td><td class="ctr2" id="c9">100%</td><td class="bar" id="d8"><img src="../../jacoco-resources/greenbar.gif" width="17" height="10" title="2" alt="2"/></td><td class="ctr2" id="e7">100%</td><td class="ctr1" id="f11">0</td><td class="ctr2" id="g10">5</td><td class="ctr1" id="h11">0</td><td class="ctr2" id="i10">8</td><td class="ctr1" id="j11">0</td><td class="ctr2" id="k11">4</td><td class="ctr1" id="l11">0</td><td class="ctr2" id="m11">1</td></tr><tr><td id="a9"><a href="SessionsPage$1.html" class="el_class">SessionsPage.new Comparator() {...}</a></td><td class="bar" id="b12"><img src="../../jacoco-resources/greenbar.gif" width="11" height="10" title="21" alt="21"/></td><td class="ctr2" id="c10">100%</td><td class="bar" id="d12"/><td class="ctr2" id="e12">n/a</td><td class="ctr1" id="f12">0</td><td class="ctr2" id="g13">2</td><td class="ctr1" id="h12">0</td><td class="ctr2" id="i13">2</td><td class="ctr1" id="j12">0</td><td class="ctr2" id="k13">2</td><td class="ctr1" id="l12">0</td><td class="ctr2" id="m12">1</td></tr><tr><td id="a2"><a href="GroupPage.html" class="el_class">GroupPage</a></td><td class="bar" id="b13"><img src="../../jacoco-resources/greenbar.gif" width="5" height="10" title="11" alt="11"/></td><td class="ctr2" id="c11">100%</td><td class="bar" id="d13"/><td class="ctr2" id="e13">n/a</td><td class="ctr1" id="f13">0</td><td class="ctr2" id="g12">3</td><td class="ctr1" id="h13">0</td><td class="ctr2" id="i12">4</td><td class="ctr1" id="j13">0</td><td class="ctr2" id="k12">3</td><td class="ctr1" id="l13">0</td><td class="ctr2" id="m13">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.12.202403270442</span>Code Coverage Report for JaCoCo 0.8.12-SNAPSHOT</div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/trunk/coverage/org.jacoco.report/org.jacoco.report.internal.html.page/index.source.html b/jacoco/trunk/coverage/org.jacoco.report/org.jacoco.report.internal.html.page/index.source.html
    new file mode 100644
    index 00000000000..d3dc5f577b4
    --- /dev/null
    +++ b/jacoco/trunk/coverage/org.jacoco.report/org.jacoco.report.internal.html.page/index.source.html
    @@ -0,0 +1 @@
    +<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="en"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../../jacoco-resources/report.gif" type="image/gif"/><title>org.jacoco.report.internal.html.page</title><script type="text/javascript" src="../../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb', 'coveragetable'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="index.html" class="el_class">Classes</a><a href="../../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../../index.html" class="el_report">JaCoCo</a> &gt; <a href="../index.html" class="el_bundle">org.jacoco.report</a> &gt; <span class="el_package">org.jacoco.report.internal.html.page</span></div><h1>org.jacoco.report.internal.html.page</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td><td class="sortable ctr1" id="l" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="m" onclick="toggleSort(this)">Classes</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">5 of 1,355</td><td class="ctr2">99%</td><td class="bar">1 of 70</td><td class="ctr2">98%</td><td class="ctr1">2</td><td class="ctr2">116</td><td class="ctr1">1</td><td class="ctr2">303</td><td class="ctr1">1</td><td class="ctr2">79</td><td class="ctr1">0</td><td class="ctr2">14</td></tr></tfoot><tbody><tr><td id="a9"><a href="SourceFileItem.java.html" class="el_source">SourceFileItem.java</a></td><td class="bar" id="b0"><img src="../../jacoco-resources/redbar.gif" width="1" height="10" title="3" alt="3"/><img src="../../jacoco-resources/greenbar.gif" width="6" height="10" title="14" alt="14"/></td><td class="ctr2" id="c12">82%</td><td class="bar" id="d9"/><td class="ctr2" id="e9">n/a</td><td class="ctr1" id="f0">1</td><td class="ctr2" id="g8">5</td><td class="ctr1" id="h0">1</td><td class="ctr2" id="i11">7</td><td class="ctr1" id="j0">1</td><td class="ctr2" id="k7">5</td><td class="ctr1" id="l0">0</td><td class="ctr2" id="m1">1</td></tr><tr><td id="a0"><a href="BundlePage.java.html" class="el_source">BundlePage.java</a></td><td class="bar" id="b1"><img src="../../jacoco-resources/greenbar.gif" width="47" height="10" title="97" alt="97"/></td><td class="ctr2" id="c11">97%</td><td class="bar" id="d0"><img src="../../jacoco-resources/redbar.gif" width="8" height="10" title="1" alt="1"/><img src="../../jacoco-resources/greenbar.gif" width="77" height="10" title="9" alt="9"/></td><td class="ctr2" id="e8">90%</td><td class="ctr1" id="f1">1</td><td class="ctr2" id="g5">11</td><td class="ctr1" id="h1">0</td><td class="ctr2" id="i5">26</td><td class="ctr1" id="j1">0</td><td class="ctr2" id="k4">6</td><td class="ctr1" id="l1">0</td><td class="ctr2" id="m2">1</td></tr><tr><td id="a8"><a href="SessionsPage.java.html" class="el_source">SessionsPage.java</a></td><td class="bar" id="b2"><img src="../../jacoco-resources/greenbar.gif" width="120" height="10" title="246" alt="246"/></td><td class="ctr2" id="c0">100%</td><td class="bar" id="d2"><img src="../../jacoco-resources/greenbar.gif" width="85" height="10" title="10" alt="10"/></td><td class="ctr2" id="e0">100%</td><td class="ctr1" id="f2">0</td><td class="ctr2" id="g0">14</td><td class="ctr1" id="h2">0</td><td class="ctr2" id="i0">52</td><td class="ctr1" id="j2">0</td><td class="ctr2" id="k1">9</td><td class="ctr1" id="l2">0</td><td class="ctr2" id="m0">2</td></tr><tr><td id="a7"><a href="ReportPage.java.html" class="el_source">ReportPage.java</a></td><td class="bar" id="b3"><img src="../../jacoco-resources/greenbar.gif" width="94" height="10" title="194" alt="194"/></td><td class="ctr2" id="c1">100%</td><td class="bar" id="d6"><img src="../../jacoco-resources/greenbar.gif" width="34" height="10" title="4" alt="4"/></td><td class="ctr2" id="e1">100%</td><td class="ctr1" id="f3">0</td><td class="ctr2" id="g1">13</td><td class="ctr1" id="h3">0</td><td class="ctr2" id="i1">46</td><td class="ctr1" id="j3">0</td><td class="ctr2" id="k0">11</td><td class="ctr1" id="l3">0</td><td class="ctr2" id="m3">1</td></tr><tr><td id="a1"><a href="ClassPage.java.html" class="el_source">ClassPage.java</a></td><td class="bar" id="b4"><img src="../../jacoco-resources/greenbar.gif" width="89" height="10" title="183" alt="183"/></td><td class="ctr2" id="c2">100%</td><td class="bar" id="d1"><img src="../../jacoco-resources/greenbar.gif" width="120" height="10" title="14" alt="14"/></td><td class="ctr2" id="e2">100%</td><td class="ctr1" id="f4">0</td><td class="ctr2" id="g2">13</td><td class="ctr1" id="h4">0</td><td class="ctr2" id="i3">30</td><td class="ctr1" id="j4">0</td><td class="ctr2" id="k5">6</td><td class="ctr1" id="l4">0</td><td class="ctr2" id="m4">1</td></tr><tr><td id="a11"><a href="SourceHighlighter.java.html" class="el_source">SourceHighlighter.java</a></td><td class="bar" id="b5"><img src="../../jacoco-resources/greenbar.gif" width="80" height="10" title="164" alt="164"/></td><td class="ctr2" id="c3">100%</td><td class="bar" id="d3"><img src="../../jacoco-resources/greenbar.gif" width="85" height="10" title="10" alt="10"/></td><td class="ctr2" id="e3">100%</td><td class="ctr1" id="f5">0</td><td class="ctr2" id="g3">13</td><td class="ctr1" id="h5">0</td><td class="ctr2" id="i2">36</td><td class="ctr1" id="j5">0</td><td class="ctr2" id="k6">6</td><td class="ctr1" id="l5">0</td><td class="ctr2" id="m5">1</td></tr><tr><td id="a6"><a href="PackageSourcePage.java.html" class="el_source">PackageSourcePage.java</a></td><td class="bar" id="b6"><img src="../../jacoco-resources/greenbar.gif" width="60" height="10" title="125" alt="125"/></td><td class="ctr2" id="c4">100%</td><td class="bar" id="d5"><img src="../../jacoco-resources/greenbar.gif" width="51" height="10" title="6" alt="6"/></td><td class="ctr2" id="e4">100%</td><td class="ctr1" id="f6">0</td><td class="ctr2" id="g6">11</td><td class="ctr1" id="h6">0</td><td class="ctr2" id="i4">30</td><td class="ctr1" id="j6">0</td><td class="ctr2" id="k2">8</td><td class="ctr1" id="l6">0</td><td class="ctr2" id="m6">1</td></tr><tr><td id="a5"><a href="PackagePage.java.html" class="el_source">PackagePage.java</a></td><td class="bar" id="b7"><img src="../../jacoco-resources/greenbar.gif" width="54" height="10" title="111" alt="111"/></td><td class="ctr2" id="c5">100%</td><td class="bar" id="d4"><img src="../../jacoco-resources/greenbar.gif" width="85" height="10" title="10" alt="10"/></td><td class="ctr2" id="e5">100%</td><td class="ctr1" id="f7">0</td><td class="ctr2" id="g4">12</td><td class="ctr1" id="h7">0</td><td class="ctr2" id="i6">26</td><td class="ctr1" id="j7">0</td><td class="ctr2" id="k3">7</td><td class="ctr1" id="l7">0</td><td class="ctr2" id="m7">1</td></tr><tr><td id="a10"><a href="SourceFilePage.java.html" class="el_source">SourceFilePage.java</a></td><td class="bar" id="b8"><img src="../../jacoco-resources/greenbar.gif" width="39" height="10" title="80" alt="80"/></td><td class="ctr2" id="c6">100%</td><td class="bar" id="d10"/><td class="ctr2" id="e10">n/a</td><td class="ctr1" id="f8">0</td><td class="ctr2" id="g9">5</td><td class="ctr1" id="h8">0</td><td class="ctr2" id="i7">14</td><td class="ctr1" id="j8">0</td><td class="ctr2" id="k8">5</td><td class="ctr1" id="l8">0</td><td class="ctr2" id="m8">1</td></tr><tr><td id="a3"><a href="MethodItem.java.html" class="el_source">MethodItem.java</a></td><td class="bar" id="b9"><img src="../../jacoco-resources/greenbar.gif" width="24" height="10" title="50" alt="50"/></td><td class="ctr2" id="c7">100%</td><td class="bar" id="d7"><img src="../../jacoco-resources/greenbar.gif" width="34" height="10" title="4" alt="4"/></td><td class="ctr2" id="e6">100%</td><td class="ctr1" id="f9">0</td><td class="ctr2" id="g7">7</td><td class="ctr1" id="h9">0</td><td class="ctr2" id="i8">13</td><td class="ctr1" id="j9">0</td><td class="ctr2" id="k9">5</td><td class="ctr1" id="l9">0</td><td class="ctr2" id="m9">1</td></tr><tr><td id="a12"><a href="TablePage.java.html" class="el_source">TablePage.java</a></td><td class="bar" id="b10"><img src="../../jacoco-resources/greenbar.gif" width="23" height="10" title="49" alt="49"/></td><td class="ctr2" id="c8">100%</td><td class="bar" id="d11"/><td class="ctr2" id="e11">n/a</td><td class="ctr1" id="f10">0</td><td class="ctr2" id="g11">4</td><td class="ctr1" id="h10">0</td><td class="ctr2" id="i9">11</td><td class="ctr1" id="j10">0</td><td class="ctr2" id="k10">4</td><td class="ctr1" id="l10">0</td><td class="ctr2" id="m10">1</td></tr><tr><td id="a4"><a href="NodePage.java.html" class="el_source">NodePage.java</a></td><td class="bar" id="b11"><img src="../../jacoco-resources/greenbar.gif" width="12" height="10" title="26" alt="26"/></td><td class="ctr2" id="c9">100%</td><td class="bar" id="d8"><img src="../../jacoco-resources/greenbar.gif" width="17" height="10" title="2" alt="2"/></td><td class="ctr2" id="e7">100%</td><td class="ctr1" id="f11">0</td><td class="ctr2" id="g10">5</td><td class="ctr1" id="h11">0</td><td class="ctr2" id="i10">8</td><td class="ctr1" id="j11">0</td><td class="ctr2" id="k11">4</td><td class="ctr1" id="l11">0</td><td class="ctr2" id="m11">1</td></tr><tr><td id="a2"><a href="GroupPage.java.html" class="el_source">GroupPage.java</a></td><td class="bar" id="b12"><img src="../../jacoco-resources/greenbar.gif" width="5" height="10" title="11" alt="11"/></td><td class="ctr2" id="c10">100%</td><td class="bar" id="d12"/><td class="ctr2" id="e12">n/a</td><td class="ctr1" id="f12">0</td><td class="ctr2" id="g12">3</td><td class="ctr1" id="h12">0</td><td class="ctr2" id="i12">4</td><td class="ctr1" id="j12">0</td><td class="ctr2" id="k12">3</td><td class="ctr1" id="l12">0</td><td class="ctr2" id="m12">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.12.202403270442</span>Code Coverage Report for JaCoCo 0.8.12-SNAPSHOT</div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/trunk/coverage/org.jacoco.report/org.jacoco.report.internal.html.resources/Resources$1.html b/jacoco/trunk/coverage/org.jacoco.report/org.jacoco.report.internal.html.resources/Resources$1.html
    new file mode 100644
    index 00000000000..6c349680294
    --- /dev/null
    +++ b/jacoco/trunk/coverage/org.jacoco.report/org.jacoco.report.internal.html.resources/Resources$1.html
    @@ -0,0 +1 @@
    +<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="en"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../../jacoco-resources/report.gif" type="image/gif"/><title>Resources.new Object() {...}</title><script type="text/javascript" src="../../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../../index.html" class="el_report">JaCoCo</a> &gt; <a href="../index.html" class="el_bundle">org.jacoco.report</a> &gt; <a href="index.html" class="el_package">org.jacoco.report.internal.html.resources</a> &gt; <span class="el_class">Resources.new Object() {...}</span></div><h1>Resources.new Object() {...}</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">6 of 47</td><td class="ctr2">87%</td><td class="bar">0 of 0</td><td class="ctr2">n/a</td><td class="ctr1">0</td><td class="ctr2">1</td><td class="ctr1">0</td><td class="ctr2">1</td><td class="ctr1">0</td><td class="ctr2">1</td></tr></tfoot><tbody><tr><td id="a0"><a href="Resources.java.html#L79" class="el_method">static {...}</a></td><td class="bar" id="b0"><img src="../../jacoco-resources/redbar.gif" width="15" height="10" title="6" alt="6"/><img src="../../jacoco-resources/greenbar.gif" width="104" height="10" title="41" alt="41"/></td><td class="ctr2" id="c0">87%</td><td class="bar" id="d0"/><td class="ctr2" id="e0">n/a</td><td class="ctr1" id="f0">0</td><td class="ctr2" id="g0">1</td><td class="ctr1" id="h0">0</td><td class="ctr2" id="i0">1</td><td class="ctr1" id="j0">0</td><td class="ctr2" id="k0">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.12.202403270442</span>Code Coverage Report for JaCoCo 0.8.12-SNAPSHOT</div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/trunk/coverage/org.jacoco.report/org.jacoco.report.internal.html.resources/Resources.html b/jacoco/trunk/coverage/org.jacoco.report/org.jacoco.report.internal.html.resources/Resources.html
    new file mode 100644
    index 00000000000..20051f6e5ee
    --- /dev/null
    +++ b/jacoco/trunk/coverage/org.jacoco.report/org.jacoco.report.internal.html.resources/Resources.html
    @@ -0,0 +1 @@
    +<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="en"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../../jacoco-resources/report.gif" type="image/gif"/><title>Resources</title><script type="text/javascript" src="../../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../../index.html" class="el_report">JaCoCo</a> &gt; <a href="../index.html" class="el_bundle">org.jacoco.report</a> &gt; <a href="index.html" class="el_package">org.jacoco.report.internal.html.resources</a> &gt; <span class="el_class">Resources</span></div><h1>Resources</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">12 of 134</td><td class="ctr2">91%</td><td class="bar">1 of 9</td><td class="ctr2">88%</td><td class="ctr1">1</td><td class="ctr2">12</td><td class="ctr1">1</td><td class="ctr2">41</td><td class="ctr1">0</td><td class="ctr2">5</td></tr></tfoot><tbody><tr><td id="a2"><a href="Resources.java.html#L79" class="el_method">getElementStyle(ICoverageNode.ElementType)</a></td><td class="bar" id="b0"><img src="../../jacoco-resources/redbar.gif" width="23" height="10" title="12" alt="12"/><img src="../../jacoco-resources/greenbar.gif" width="33" height="10" title="17" alt="17"/></td><td class="ctr2" id="c4">58%</td><td class="bar" id="d0"><img src="../../jacoco-resources/redbar.gif" width="17" height="10" title="1" alt="1"/><img src="../../jacoco-resources/greenbar.gif" width="102" height="10" title="6" alt="6"/></td><td class="ctr2" id="e1">85%</td><td class="ctr1" id="f0">1</td><td class="ctr2" id="g0">7</td><td class="ctr1" id="h0">1</td><td class="ctr2" id="i1">8</td><td class="ctr1" id="j0">0</td><td class="ctr2" id="k0">1</td></tr><tr><td id="a1"><a href="Resources.java.html#L103" class="el_method">copyResources()</a></td><td class="bar" id="b1"><img src="../../jacoco-resources/greenbar.gif" width="120" height="10" title="61" alt="61"/></td><td class="ctr2" id="c0">100%</td><td class="bar" id="d2"/><td class="ctr2" id="e2">n/a</td><td class="ctr1" id="f1">0</td><td class="ctr2" id="g2">1</td><td class="ctr1" id="h1">0</td><td class="ctr2" id="i0">21</td><td class="ctr1" id="j1">0</td><td class="ctr2" id="k1">1</td></tr><tr><td id="a0"><a href="Resources.java.html#L126" class="el_method">copyResource(String)</a></td><td class="bar" id="b2"><img src="../../jacoco-resources/greenbar.gif" width="59" height="10" title="30" alt="30"/></td><td class="ctr2" id="c1">100%</td><td class="bar" id="d1"><img src="../../jacoco-resources/greenbar.gif" width="34" height="10" title="2" alt="2"/></td><td class="ctr2" id="e0">100%</td><td class="ctr1" id="f2">0</td><td class="ctr2" id="g1">2</td><td class="ctr1" id="h2">0</td><td class="ctr2" id="i2">8</td><td class="ctr1" id="j2">0</td><td class="ctr2" id="k2">1</td></tr><tr><td id="a4"><a href="Resources.java.html#L54" class="el_method">Resources(ReportOutputFolder)</a></td><td class="bar" id="b3"><img src="../../jacoco-resources/greenbar.gif" width="15" height="10" title="8" alt="8"/></td><td class="ctr2" id="c2">100%</td><td class="bar" id="d3"/><td class="ctr2" id="e3">n/a</td><td class="ctr1" id="f3">0</td><td class="ctr2" id="g3">1</td><td class="ctr1" id="h3">0</td><td class="ctr2" id="i3">3</td><td class="ctr1" id="j3">0</td><td class="ctr2" id="k3">1</td></tr><tr><td id="a3"><a href="Resources.java.html#L68" class="el_method">getLink(ReportOutputFolder, String)</a></td><td class="bar" id="b4"><img src="../../jacoco-resources/greenbar.gif" width="11" height="10" title="6" alt="6"/></td><td class="ctr2" id="c3">100%</td><td class="bar" id="d4"/><td class="ctr2" id="e4">n/a</td><td class="ctr1" id="f4">0</td><td class="ctr2" id="g4">1</td><td class="ctr1" id="h4">0</td><td class="ctr2" id="i4">1</td><td class="ctr1" id="j4">0</td><td class="ctr2" id="k4">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.12.202403270442</span>Code Coverage Report for JaCoCo 0.8.12-SNAPSHOT</div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/trunk/coverage/org.jacoco.report/org.jacoco.report.internal.html.resources/Resources.java.html b/jacoco/trunk/coverage/org.jacoco.report/org.jacoco.report.internal.html.resources/Resources.java.html
    new file mode 100644
    index 00000000000..ea78ea3f605
    --- /dev/null
    +++ b/jacoco/trunk/coverage/org.jacoco.report/org.jacoco.report.internal.html.resources/Resources.java.html
    @@ -0,0 +1,138 @@
    +<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="en"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../../jacoco-resources/report.gif" type="image/gif"/><title>Resources.java</title><link rel="stylesheet" href="../../jacoco-resources/prettify.css" type="text/css"/><script type="text/javascript" src="../../jacoco-resources/prettify.js"></script></head><body onload="window['PR_TAB_WIDTH']=4;prettyPrint()"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../../index.html" class="el_report">JaCoCo</a> &gt; <a href="../index.html" class="el_bundle">org.jacoco.report</a> &gt; <a href="index.source.html" class="el_package">org.jacoco.report.internal.html.resources</a> &gt; <span class="el_source">Resources.java</span></div><h1>Resources.java</h1><pre class="source lang-java linenums">/*******************************************************************************
    + * Copyright (c) 2009, 2024 Mountainminds GmbH &amp; Co. KG and Contributors
    + * This program and the accompanying materials are made available under
    + * the terms of the Eclipse Public License 2.0 which is available at
    + * http://www.eclipse.org/legal/epl-2.0
    + *
    + * SPDX-License-Identifier: EPL-2.0
    + *
    + * Contributors:
    + *    Marc R. Hoffmann - initial API and implementation
    + *
    + *******************************************************************************/
    +package org.jacoco.report.internal.html.resources;
    +
    +import java.io.IOException;
    +import java.io.InputStream;
    +import java.io.OutputStream;
    +
    +import org.jacoco.core.analysis.ICoverageNode.ElementType;
    +import org.jacoco.report.internal.ReportOutputFolder;
    +
    +/**
    + * Static resource that are included with the coverage report and might be
    + * referenced from created HTML pages.
    + */
    +public class Resources {
    +
    +	/** The name of the style sheet */
    +	public static final String STYLESHEET = &quot;report.css&quot;;
    +
    +	/** The name of the prettify style sheet */
    +	public static final String PRETTIFY_STYLESHEET = &quot;prettify.css&quot;;
    +
    +	/** The name of the prettify script */
    +	public static final String PRETTIFY_SCRIPT = &quot;prettify.js&quot;;
    +
    +	/** The name of the sort script */
    +	public static final String SORT_SCRIPT = &quot;sort.js&quot;;
    +
    +	/** The name of the red part of the coverage bar */
    +	public static final String REDBAR = &quot;redbar.gif&quot;;
    +
    +	/** The name of the green part of the coverage bar */
    +	public static final String GREENBAR = &quot;greenbar.gif&quot;;
    +
    +	private final ReportOutputFolder folder;
    +
    +	/**
    +	 * Attaches resources to the report with the given root folder.
    +	 *
    +	 * @param root
    +	 *            root folder of the report
    +	 */
    +<span class="fc" id="L54">	public Resources(final ReportOutputFolder root) {</span>
    +<span class="fc" id="L55">		folder = root.subFolder(&quot;jacoco-resources&quot;);</span>
    +<span class="fc" id="L56">	}</span>
    +
    +	/**
    +	 * Returns a relative link to a static resource.
    +	 *
    +	 * @param base
    +	 *            base folder from where the link should be created
    +	 * @param name
    +	 *            name of the static resource, see constants in this class
    +	 * @return relative link
    +	 */
    +	public String getLink(final ReportOutputFolder base, final String name) {
    +<span class="fc" id="L68">		return folder.getLink(base, name);</span>
    +	}
    +
    +	/**
    +	 * Determines the style sheet class for the given element type.
    +	 *
    +	 * @param type
    +	 *            type of the element
    +	 * @return style class name
    +	 */
    +	public static String getElementStyle(final ElementType type) {
    +<span class="pc bpc" id="L79" title="1 of 7 branches missed.">		switch (type) {</span>
    +		case GROUP:
    +<span class="fc" id="L81">			return Styles.EL_GROUP;</span>
    +		case BUNDLE:
    +<span class="fc" id="L83">			return Styles.EL_BUNDLE;</span>
    +		case PACKAGE:
    +<span class="fc" id="L85">			return Styles.EL_PACKAGE;</span>
    +		case SOURCEFILE:
    +<span class="fc" id="L87">			return Styles.EL_SOURCE;</span>
    +		case CLASS:
    +<span class="fc" id="L89">			return Styles.EL_CLASS;</span>
    +		case METHOD:
    +<span class="fc" id="L91">			return Styles.EL_METHOD;</span>
    +		}
    +<span class="nc" id="L93">		throw new AssertionError(&quot;Unknown element type: &quot; + type);</span>
    +	}
    +
    +	/**
    +	 * Copies all static resources into the report.
    +	 *
    +	 * @throws IOException
    +	 *             if the resources can't be written to the report
    +	 */
    +	public void copyResources() throws IOException {
    +<span class="fc" id="L103">		copyResource(STYLESHEET);</span>
    +<span class="fc" id="L104">		copyResource(&quot;report.gif&quot;);</span>
    +<span class="fc" id="L105">		copyResource(&quot;group.gif&quot;);</span>
    +<span class="fc" id="L106">		copyResource(&quot;bundle.gif&quot;);</span>
    +<span class="fc" id="L107">		copyResource(&quot;package.gif&quot;);</span>
    +<span class="fc" id="L108">		copyResource(&quot;source.gif&quot;);</span>
    +<span class="fc" id="L109">		copyResource(&quot;class.gif&quot;);</span>
    +<span class="fc" id="L110">		copyResource(&quot;method.gif&quot;);</span>
    +<span class="fc" id="L111">		copyResource(&quot;session.gif&quot;);</span>
    +<span class="fc" id="L112">		copyResource(&quot;sort.gif&quot;);</span>
    +<span class="fc" id="L113">		copyResource(&quot;up.gif&quot;);</span>
    +<span class="fc" id="L114">		copyResource(&quot;down.gif&quot;);</span>
    +<span class="fc" id="L115">		copyResource(&quot;branchfc.gif&quot;);</span>
    +<span class="fc" id="L116">		copyResource(&quot;branchnc.gif&quot;);</span>
    +<span class="fc" id="L117">		copyResource(&quot;branchpc.gif&quot;);</span>
    +<span class="fc" id="L118">		copyResource(REDBAR);</span>
    +<span class="fc" id="L119">		copyResource(GREENBAR);</span>
    +<span class="fc" id="L120">		copyResource(PRETTIFY_STYLESHEET);</span>
    +<span class="fc" id="L121">		copyResource(PRETTIFY_SCRIPT);</span>
    +<span class="fc" id="L122">		copyResource(SORT_SCRIPT);</span>
    +<span class="fc" id="L123">	}</span>
    +
    +	private void copyResource(final String name) throws IOException {
    +<span class="fc" id="L126">		final InputStream in = Resources.class.getResourceAsStream(name);</span>
    +<span class="fc" id="L127">		final OutputStream out = folder.createFile(name);</span>
    +<span class="fc" id="L128">		final byte[] buffer = new byte[256];</span>
    +		int len;
    +<span class="fc bfc" id="L130" title="All 2 branches covered.">		while ((len = in.read(buffer)) != -1) {</span>
    +<span class="fc" id="L131">			out.write(buffer, 0, len);</span>
    +		}
    +<span class="fc" id="L133">		in.close();</span>
    +<span class="fc" id="L134">		out.close();</span>
    +<span class="fc" id="L135">	}</span>
    +
    +}
    +</pre><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.12.202403270442</span>Code Coverage Report for JaCoCo 0.8.12-SNAPSHOT</div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/trunk/coverage/org.jacoco.report/org.jacoco.report.internal.html.resources/Styles.html b/jacoco/trunk/coverage/org.jacoco.report/org.jacoco.report.internal.html.resources/Styles.html
    new file mode 100644
    index 00000000000..6908399df6c
    --- /dev/null
    +++ b/jacoco/trunk/coverage/org.jacoco.report/org.jacoco.report.internal.html.resources/Styles.html
    @@ -0,0 +1 @@
    +<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="en"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../../jacoco-resources/report.gif" type="image/gif"/><title>Styles</title><script type="text/javascript" src="../../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../../index.html" class="el_report">JaCoCo</a> &gt; <a href="../index.html" class="el_bundle">org.jacoco.report</a> &gt; <a href="index.html" class="el_package">org.jacoco.report.internal.html.resources</a> &gt; <span class="el_class">Styles</span></div><h1>Styles</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">0 of 41</td><td class="ctr2">100%</td><td class="bar">0 of 8</td><td class="ctr2">100%</td><td class="ctr1">0</td><td class="ctr2">5</td><td class="ctr1">0</td><td class="ctr2">7</td><td class="ctr1">0</td><td class="ctr2">1</td></tr></tfoot><tbody><tr><td id="a0"><a href="Styles.java.html#L109" class="el_method">combine(String[])</a></td><td class="bar" id="b0"><img src="../../jacoco-resources/greenbar.gif" width="120" height="10" title="41" alt="41"/></td><td class="ctr2" id="c0">100%</td><td class="bar" id="d0"><img src="../../jacoco-resources/greenbar.gif" width="120" height="10" title="8" alt="8"/></td><td class="ctr2" id="e0">100%</td><td class="ctr1" id="f0">0</td><td class="ctr2" id="g0">5</td><td class="ctr1" id="h0">0</td><td class="ctr2" id="i0">7</td><td class="ctr1" id="j0">0</td><td class="ctr2" id="k0">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.12.202403270442</span>Code Coverage Report for JaCoCo 0.8.12-SNAPSHOT</div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/trunk/coverage/org.jacoco.report/org.jacoco.report.internal.html.resources/Styles.java.html b/jacoco/trunk/coverage/org.jacoco.report/org.jacoco.report.internal.html.resources/Styles.java.html
    new file mode 100644
    index 00000000000..0f8978fec77
    --- /dev/null
    +++ b/jacoco/trunk/coverage/org.jacoco.report/org.jacoco.report.internal.html.resources/Styles.java.html
    @@ -0,0 +1,125 @@
    +<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="en"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../../jacoco-resources/report.gif" type="image/gif"/><title>Styles.java</title><link rel="stylesheet" href="../../jacoco-resources/prettify.css" type="text/css"/><script type="text/javascript" src="../../jacoco-resources/prettify.js"></script></head><body onload="window['PR_TAB_WIDTH']=4;prettyPrint()"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../../index.html" class="el_report">JaCoCo</a> &gt; <a href="../index.html" class="el_bundle">org.jacoco.report</a> &gt; <a href="index.source.html" class="el_package">org.jacoco.report.internal.html.resources</a> &gt; <span class="el_source">Styles.java</span></div><h1>Styles.java</h1><pre class="source lang-java linenums">/*******************************************************************************
    + * Copyright (c) 2009, 2024 Mountainminds GmbH &amp; Co. KG and Contributors
    + * This program and the accompanying materials are made available under
    + * the terms of the Eclipse Public License 2.0 which is available at
    + * http://www.eclipse.org/legal/epl-2.0
    + *
    + * SPDX-License-Identifier: EPL-2.0
    + *
    + * Contributors:
    + *    Marc R. Hoffmann - initial API and implementation
    + *
    + *******************************************************************************/
    +package org.jacoco.report.internal.html.resources;
    +
    +/**
    + * Constants for styles defined by the report style sheet.
    + */
    +public final class Styles {
    +
    +	/** Breadcrumb bar */
    +	public static final String BREADCRUMB = &quot;breadcrumb&quot;;
    +
    +	/** Info links within the Breadcrumb bar */
    +	public static final String INFO = &quot;info&quot;;
    +
    +	/** Footer */
    +	public static final String FOOTER = &quot;footer&quot;;
    +
    +	/** Text block aligned to the right */
    +	public static final String RIGHT = &quot;right&quot;;
    +
    +	/** Report element */
    +	public static final String EL_REPORT = &quot;el_report&quot;;
    +
    +	/** Sessions element */
    +	public static final String EL_SESSION = &quot;el_session&quot;;
    +
    +	/** Group element */
    +	public static final String EL_GROUP = &quot;el_group&quot;;
    +
    +	/** Bundle element */
    +	public static final String EL_BUNDLE = &quot;el_bundle&quot;;
    +
    +	/** Package element */
    +	public static final String EL_PACKAGE = &quot;el_package&quot;;
    +
    +	/** Source file element */
    +	public static final String EL_SOURCE = &quot;el_source&quot;;
    +
    +	/** Class element */
    +	public static final String EL_CLASS = &quot;el_class&quot;;
    +
    +	/** Method element */
    +	public static final String EL_METHOD = &quot;el_method&quot;;
    +
    +	/** Coverage table */
    +	public static final String COVERAGETABLE = &quot;coverage&quot;;
    +
    +	/** Table cells for a graphical bar */
    +	public static final String BAR = &quot;bar&quot;;
    +
    +	/** Table cells for the first column of a counter */
    +	public static final String CTR1 = &quot;ctr1&quot;;
    +
    +	/** Table cells for the second column of a counter */
    +	public static final String CTR2 = &quot;ctr2&quot;;
    +
    +	/** Table header for sortable columns */
    +	public static final String SORTABLE = &quot;sortable&quot;;
    +
    +	/** Table header for column sorted upwards */
    +	public static final String UP = &quot;up&quot;;
    +
    +	/** Table header for column sorted downwards */
    +	public static final String DOWN = &quot;down&quot;;
    +
    +	/** Block of source code */
    +	public static final String SOURCE = &quot;source&quot;;
    +
    +	/** Line number before each source line */
    +	public static final String NR = &quot;nr&quot;;
    +
    +	/** Part of source code where instructions are not covered */
    +	public static final String NOT_COVERED = &quot;nc&quot;;
    +
    +	/** Part of source code where instructions are partly covered */
    +	public static final String PARTLY_COVERED = &quot;pc&quot;;
    +
    +	/** Part of source code where instructions are is fully covered */
    +	public static final String FULLY_COVERED = &quot;fc&quot;;
    +
    +	/** Part of source code where branches are not covered */
    +	public static final String BRANCH_NOT_COVERED = &quot;bnc&quot;;
    +
    +	/** Part of source code where branches are partly covered */
    +	public static final String BRANCH_PARTLY_COVERED = &quot;bpc&quot;;
    +
    +	/** Part of source code where branches are fully covered */
    +	public static final String BRANCH_FULLY_COVERED = &quot;bfc&quot;;
    +
    +	/**
    +	 * Returns a combined style from the given styles.
    +	 *
    +	 * @param styles
    +	 *            list of separate styles, entries might be null
    +	 * @return combined style or &lt;code&gt;null&lt;/code&gt; if no style is given
    +	 */
    +	public static String combine(final String... styles) {
    +<span class="fc" id="L109">		final StringBuilder sb = new StringBuilder();</span>
    +<span class="fc bfc" id="L110" title="All 2 branches covered.">		for (final String style : styles) {</span>
    +<span class="fc bfc" id="L111" title="All 2 branches covered.">			if (style != null) {</span>
    +<span class="fc bfc" id="L112" title="All 2 branches covered.">				if (sb.length() &gt; 0) {</span>
    +<span class="fc" id="L113">					sb.append(&quot; &quot;);</span>
    +				}
    +<span class="fc" id="L115">				sb.append(style);</span>
    +			}
    +		}
    +<span class="fc bfc" id="L118" title="All 2 branches covered.">		return sb.length() == 0 ? null : sb.toString();</span>
    +	}
    +
    +	private Styles() {
    +	}
    +
    +}
    +</pre><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.12.202403270442</span>Code Coverage Report for JaCoCo 0.8.12-SNAPSHOT</div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/trunk/coverage/org.jacoco.report/org.jacoco.report.internal.html.resources/index.html b/jacoco/trunk/coverage/org.jacoco.report/org.jacoco.report.internal.html.resources/index.html
    new file mode 100644
    index 00000000000..0fc4eb03909
    --- /dev/null
    +++ b/jacoco/trunk/coverage/org.jacoco.report/org.jacoco.report.internal.html.resources/index.html
    @@ -0,0 +1 @@
    +<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="en"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../../jacoco-resources/report.gif" type="image/gif"/><title>org.jacoco.report.internal.html.resources</title><script type="text/javascript" src="../../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb', 'coveragetable'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="index.source.html" class="el_source">Source Files</a><a href="../../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../../index.html" class="el_report">JaCoCo</a> &gt; <a href="../index.html" class="el_bundle">org.jacoco.report</a> &gt; <span class="el_package">org.jacoco.report.internal.html.resources</span></div><h1>org.jacoco.report.internal.html.resources</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td><td class="sortable ctr1" id="l" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="m" onclick="toggleSort(this)">Classes</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">18 of 222</td><td class="ctr2">91%</td><td class="bar">1 of 17</td><td class="ctr2">94%</td><td class="ctr1">1</td><td class="ctr2">18</td><td class="ctr1">1</td><td class="ctr2">48</td><td class="ctr1">0</td><td class="ctr2">7</td><td class="ctr1">0</td><td class="ctr2">3</td></tr></tfoot><tbody><tr><td id="a0"><a href="Resources.html" class="el_class">Resources</a></td><td class="bar" id="b0"><img src="../../jacoco-resources/redbar.gif" width="10" height="10" title="12" alt="12"/><img src="../../jacoco-resources/greenbar.gif" width="109" height="10" title="122" alt="122"/></td><td class="ctr2" id="c1">91%</td><td class="bar" id="d0"><img src="../../jacoco-resources/redbar.gif" width="13" height="10" title="1" alt="1"/><img src="../../jacoco-resources/greenbar.gif" width="106" height="10" title="8" alt="8"/></td><td class="ctr2" id="e1">88%</td><td class="ctr1" id="f0">1</td><td class="ctr2" id="g0">12</td><td class="ctr1" id="h0">1</td><td class="ctr2" id="i0">41</td><td class="ctr1" id="j0">0</td><td class="ctr2" id="k0">5</td><td class="ctr1" id="l0">0</td><td class="ctr2" id="m0">1</td></tr><tr><td id="a1"><a href="Resources$1.html" class="el_class">Resources.new Object() {...}</a></td><td class="bar" id="b1"><img src="../../jacoco-resources/redbar.gif" width="5" height="10" title="6" alt="6"/><img src="../../jacoco-resources/greenbar.gif" width="36" height="10" title="41" alt="41"/></td><td class="ctr2" id="c2">87%</td><td class="bar" id="d2"/><td class="ctr2" id="e2">n/a</td><td class="ctr1" id="f1">0</td><td class="ctr2" id="g2">1</td><td class="ctr1" id="h1">0</td><td class="ctr2" id="i2">1</td><td class="ctr1" id="j1">0</td><td class="ctr2" id="k1">1</td><td class="ctr1" id="l1">0</td><td class="ctr2" id="m1">1</td></tr><tr><td id="a2"><a href="Styles.html" class="el_class">Styles</a></td><td class="bar" id="b2"><img src="../../jacoco-resources/greenbar.gif" width="36" height="10" title="41" alt="41"/></td><td class="ctr2" id="c0">100%</td><td class="bar" id="d1"><img src="../../jacoco-resources/greenbar.gif" width="106" height="10" title="8" alt="8"/></td><td class="ctr2" id="e0">100%</td><td class="ctr1" id="f2">0</td><td class="ctr2" id="g1">5</td><td class="ctr1" id="h2">0</td><td class="ctr2" id="i1">7</td><td class="ctr1" id="j2">0</td><td class="ctr2" id="k2">1</td><td class="ctr1" id="l2">0</td><td class="ctr2" id="m2">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.12.202403270442</span>Code Coverage Report for JaCoCo 0.8.12-SNAPSHOT</div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/trunk/coverage/org.jacoco.report/org.jacoco.report.internal.html.resources/index.source.html b/jacoco/trunk/coverage/org.jacoco.report/org.jacoco.report.internal.html.resources/index.source.html
    new file mode 100644
    index 00000000000..38fd439240d
    --- /dev/null
    +++ b/jacoco/trunk/coverage/org.jacoco.report/org.jacoco.report.internal.html.resources/index.source.html
    @@ -0,0 +1 @@
    +<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="en"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../../jacoco-resources/report.gif" type="image/gif"/><title>org.jacoco.report.internal.html.resources</title><script type="text/javascript" src="../../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb', 'coveragetable'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="index.html" class="el_class">Classes</a><a href="../../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../../index.html" class="el_report">JaCoCo</a> &gt; <a href="../index.html" class="el_bundle">org.jacoco.report</a> &gt; <span class="el_package">org.jacoco.report.internal.html.resources</span></div><h1>org.jacoco.report.internal.html.resources</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td><td class="sortable ctr1" id="l" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="m" onclick="toggleSort(this)">Classes</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">18 of 222</td><td class="ctr2">91%</td><td class="bar">1 of 17</td><td class="ctr2">94%</td><td class="ctr1">1</td><td class="ctr2">18</td><td class="ctr1">1</td><td class="ctr2">48</td><td class="ctr1">0</td><td class="ctr2">7</td><td class="ctr1">0</td><td class="ctr2">3</td></tr></tfoot><tbody><tr><td id="a0"><a href="Resources.java.html" class="el_source">Resources.java</a></td><td class="bar" id="b0"><img src="../../jacoco-resources/redbar.gif" width="11" height="10" title="18" alt="18"/><img src="../../jacoco-resources/greenbar.gif" width="108" height="10" title="163" alt="163"/></td><td class="ctr2" id="c1">90%</td><td class="bar" id="d0"><img src="../../jacoco-resources/redbar.gif" width="13" height="10" title="1" alt="1"/><img src="../../jacoco-resources/greenbar.gif" width="106" height="10" title="8" alt="8"/></td><td class="ctr2" id="e1">88%</td><td class="ctr1" id="f0">1</td><td class="ctr2" id="g0">13</td><td class="ctr1" id="h0">1</td><td class="ctr2" id="i0">41</td><td class="ctr1" id="j0">0</td><td class="ctr2" id="k0">6</td><td class="ctr1" id="l0">0</td><td class="ctr2" id="m0">2</td></tr><tr><td id="a1"><a href="Styles.java.html" class="el_source">Styles.java</a></td><td class="bar" id="b1"><img src="../../jacoco-resources/greenbar.gif" width="27" height="10" title="41" alt="41"/></td><td class="ctr2" id="c0">100%</td><td class="bar" id="d1"><img src="../../jacoco-resources/greenbar.gif" width="106" height="10" title="8" alt="8"/></td><td class="ctr2" id="e0">100%</td><td class="ctr1" id="f1">0</td><td class="ctr2" id="g1">5</td><td class="ctr1" id="h1">0</td><td class="ctr2" id="i1">7</td><td class="ctr1" id="j1">0</td><td class="ctr2" id="k1">1</td><td class="ctr1" id="l1">0</td><td class="ctr2" id="m1">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.12.202403270442</span>Code Coverage Report for JaCoCo 0.8.12-SNAPSHOT</div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/trunk/coverage/org.jacoco.report/org.jacoco.report.internal.html.table/BarColumn.html b/jacoco/trunk/coverage/org.jacoco.report/org.jacoco.report.internal.html.table/BarColumn.html
    new file mode 100644
    index 00000000000..bf82cce9848
    --- /dev/null
    +++ b/jacoco/trunk/coverage/org.jacoco.report/org.jacoco.report.internal.html.table/BarColumn.html
    @@ -0,0 +1 @@
    +<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="en"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../../jacoco-resources/report.gif" type="image/gif"/><title>BarColumn</title><script type="text/javascript" src="../../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../../index.html" class="el_report">JaCoCo</a> &gt; <a href="../index.html" class="el_bundle">org.jacoco.report</a> &gt; <a href="index.html" class="el_package">org.jacoco.report.internal.html.table</a> &gt; <span class="el_class">BarColumn</span></div><h1>BarColumn</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">0 of 135</td><td class="ctr2">100%</td><td class="bar">0 of 8</td><td class="ctr2">100%</td><td class="ctr1">0</td><td class="ctr2">10</td><td class="ctr1">0</td><td class="ctr2">29</td><td class="ctr1">0</td><td class="ctr2">6</td></tr></tfoot><tbody><tr><td id="a4"><a href="BarColumn.java.html#L65" class="el_method">init(List, ICoverageNode)</a></td><td class="bar" id="b0"><img src="../../jacoco-resources/greenbar.gif" width="120" height="10" title="30" alt="30"/></td><td class="ctr2" id="c0">100%</td><td class="bar" id="d0"><img src="../../jacoco-resources/greenbar.gif" width="120" height="10" title="4" alt="4"/></td><td class="ctr2" id="e0">100%</td><td class="ctr1" id="f0">0</td><td class="ctr2" id="g0">3</td><td class="ctr1" id="h0">0</td><td class="ctr2" id="i0">7</td><td class="ctr1" id="j0">0</td><td class="ctr2" id="k0">1</td></tr><tr><td id="a5"><a href="BarColumn.java.html#L87" class="el_method">item(HTMLElement, ITableItem, Resources, ReportOutputFolder)</a></td><td class="bar" id="b1"><img src="../../jacoco-resources/greenbar.gif" width="120" height="10" title="30" alt="30"/></td><td class="ctr2" id="c1">100%</td><td class="bar" id="d1"><img src="../../jacoco-resources/greenbar.gif" width="60" height="10" title="2" alt="2"/></td><td class="ctr2" id="e1">100%</td><td class="ctr1" id="f1">0</td><td class="ctr2" id="g1">2</td><td class="ctr1" id="h1">0</td><td class="ctr2" id="i1">7</td><td class="ctr1" id="j1">0</td><td class="ctr2" id="k1">1</td></tr><tr><td id="a2"><a href="BarColumn.java.html#L78" class="el_method">footer(HTMLElement, ICoverageNode, Resources, ReportOutputFolder)</a></td><td class="bar" id="b2"><img src="../../jacoco-resources/greenbar.gif" width="100" height="10" title="25" alt="25"/></td><td class="ctr2" id="c2">100%</td><td class="bar" id="d3"/><td class="ctr2" id="e3">n/a</td><td class="ctr1" id="f2">0</td><td class="ctr2" id="g3">1</td><td class="ctr1" id="h2">0</td><td class="ctr2" id="i2">5</td><td class="ctr1" id="j2">0</td><td class="ctr2" id="k2">1</td></tr><tr><td id="a1"><a href="BarColumn.java.html#L55" class="el_method">BarColumn(ICoverageNode.CounterEntity, Locale)</a></td><td class="bar" id="b3"><img src="../../jacoco-resources/greenbar.gif" width="96" height="10" title="24" alt="24"/></td><td class="ctr2" id="c3">100%</td><td class="bar" id="d4"/><td class="ctr2" id="e4">n/a</td><td class="ctr1" id="f3">0</td><td class="ctr2" id="g4">1</td><td class="ctr1" id="h3">0</td><td class="ctr2" id="i3">5</td><td class="ctr1" id="j3">0</td><td class="ctr2" id="k3">1</td></tr><tr><td id="a0"><a href="BarColumn.java.html#L99" class="el_method">bar(HTMLElement, int, String, Resources, ReportOutputFolder)</a></td><td class="bar" id="b4"><img src="../../jacoco-resources/greenbar.gif" width="92" height="10" title="23" alt="23"/></td><td class="ctr2" id="c4">100%</td><td class="bar" id="d2"><img src="../../jacoco-resources/greenbar.gif" width="60" height="10" title="2" alt="2"/></td><td class="ctr2" id="e2">100%</td><td class="ctr1" id="f4">0</td><td class="ctr2" id="g2">2</td><td class="ctr1" id="h4">0</td><td class="ctr2" id="i4">4</td><td class="ctr1" id="j4">0</td><td class="ctr2" id="k4">1</td></tr><tr><td id="a3"><a href="BarColumn.java.html#L107" class="el_method">getComparator()</a></td><td class="bar" id="b5"><img src="../../jacoco-resources/greenbar.gif" width="12" height="10" title="3" alt="3"/></td><td class="ctr2" id="c5">100%</td><td class="bar" id="d5"/><td class="ctr2" id="e5">n/a</td><td class="ctr1" id="f5">0</td><td class="ctr2" id="g5">1</td><td class="ctr1" id="h5">0</td><td class="ctr2" id="i5">1</td><td class="ctr1" id="j5">0</td><td class="ctr2" id="k5">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.12.202403270442</span>Code Coverage Report for JaCoCo 0.8.12-SNAPSHOT</div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/trunk/coverage/org.jacoco.report/org.jacoco.report.internal.html.table/BarColumn.java.html b/jacoco/trunk/coverage/org.jacoco.report/org.jacoco.report.internal.html.table/BarColumn.java.html
    new file mode 100644
    index 00000000000..9dc0ef15fc9
    --- /dev/null
    +++ b/jacoco/trunk/coverage/org.jacoco.report/org.jacoco.report.internal.html.table/BarColumn.java.html
    @@ -0,0 +1,111 @@
    +<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="en"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../../jacoco-resources/report.gif" type="image/gif"/><title>BarColumn.java</title><link rel="stylesheet" href="../../jacoco-resources/prettify.css" type="text/css"/><script type="text/javascript" src="../../jacoco-resources/prettify.js"></script></head><body onload="window['PR_TAB_WIDTH']=4;prettyPrint()"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../../index.html" class="el_report">JaCoCo</a> &gt; <a href="../index.html" class="el_bundle">org.jacoco.report</a> &gt; <a href="index.source.html" class="el_package">org.jacoco.report.internal.html.table</a> &gt; <span class="el_source">BarColumn.java</span></div><h1>BarColumn.java</h1><pre class="source lang-java linenums">/*******************************************************************************
    + * Copyright (c) 2009, 2024 Mountainminds GmbH &amp; Co. KG and Contributors
    + * This program and the accompanying materials are made available under
    + * the terms of the Eclipse Public License 2.0 which is available at
    + * http://www.eclipse.org/legal/epl-2.0
    + *
    + * SPDX-License-Identifier: EPL-2.0
    + *
    + * Contributors:
    + *    Marc R. Hoffmann - initial API and implementation
    + *
    + *******************************************************************************/
    +package org.jacoco.report.internal.html.table;
    +
    +import java.io.IOException;
    +import java.text.NumberFormat;
    +import java.util.Comparator;
    +import java.util.List;
    +import java.util.Locale;
    +
    +import org.jacoco.core.analysis.CounterComparator;
    +import org.jacoco.core.analysis.ICounter;
    +import org.jacoco.core.analysis.ICoverageNode;
    +import org.jacoco.core.analysis.ICoverageNode.CounterEntity;
    +import org.jacoco.report.internal.ReportOutputFolder;
    +import org.jacoco.report.internal.html.HTMLElement;
    +import org.jacoco.report.internal.html.resources.Resources;
    +
    +/**
    + * Column with a graphical bar that represents the total amount of items in with
    + * length, and the coverage ratio with a red/green sections. The implementation
    + * is stateful, instances must not be used in parallel.
    + */
    +public class BarColumn implements IColumnRenderer {
    +
    +	private static final int WIDTH = 120;
    +
    +	private final CounterEntity entity;
    +
    +	private final NumberFormat integerFormat;
    +
    +	private int max;
    +
    +	private final Comparator&lt;ITableItem&gt; comparator;
    +
    +	/**
    +	 * Creates a new column that is based on the {@link ICounter} for the given
    +	 * entity.
    +	 *
    +	 * @param entity
    +	 *            counter entity for visualization
    +	 * @param locale
    +	 *            locale for rendering numbers
    +	 */
    +<span class="fc" id="L55">	public BarColumn(final CounterEntity entity, final Locale locale) {</span>
    +<span class="fc" id="L56">		this.entity = entity;</span>
    +<span class="fc" id="L57">		this.integerFormat = NumberFormat.getIntegerInstance(locale);</span>
    +<span class="fc" id="L58">		this.comparator = new TableItemComparator(</span>
    +				CounterComparator.MISSEDITEMS.reverse().on(entity).second(
    +						CounterComparator.TOTALITEMS.reverse().on(entity)));
    +<span class="fc" id="L61">	}</span>
    +
    +	public boolean init(final List&lt;? extends ITableItem&gt; items,
    +			final ICoverageNode total) {
    +<span class="fc" id="L65">		this.max = 0;</span>
    +<span class="fc bfc" id="L66" title="All 2 branches covered.">		for (final ITableItem item : items) {</span>
    +<span class="fc" id="L67">			final int count = item.getNode().getCounter(entity).getTotalCount();</span>
    +<span class="fc bfc" id="L68" title="All 2 branches covered.">			if (count &gt; this.max) {</span>
    +<span class="fc" id="L69">				this.max = count;</span>
    +			}
    +<span class="fc" id="L71">		}</span>
    +<span class="fc" id="L72">		return true;</span>
    +	}
    +
    +	public void footer(final HTMLElement td, final ICoverageNode total,
    +			final Resources resources, final ReportOutputFolder base)
    +			throws IOException {
    +<span class="fc" id="L78">		final ICounter counter = total.getCounter(entity);</span>
    +<span class="fc" id="L79">		td.text(integerFormat.format(counter.getMissedCount()));</span>
    +<span class="fc" id="L80">		td.text(&quot; of &quot;);</span>
    +<span class="fc" id="L81">		td.text(integerFormat.format(counter.getTotalCount()));</span>
    +<span class="fc" id="L82">	}</span>
    +
    +	public void item(final HTMLElement td, final ITableItem item,
    +			final Resources resources, final ReportOutputFolder base)
    +			throws IOException {
    +<span class="fc bfc" id="L87" title="All 2 branches covered.">		if (max &gt; 0) {</span>
    +<span class="fc" id="L88">			final ICounter counter = item.getNode().getCounter(entity);</span>
    +<span class="fc" id="L89">			final int missed = counter.getMissedCount();</span>
    +<span class="fc" id="L90">			bar(td, missed, Resources.REDBAR, resources, base);</span>
    +<span class="fc" id="L91">			final int covered = counter.getCoveredCount();</span>
    +<span class="fc" id="L92">			bar(td, covered, Resources.GREENBAR, resources, base);</span>
    +		}
    +<span class="fc" id="L94">	}</span>
    +
    +	private void bar(final HTMLElement td, final int count, final String image,
    +			final Resources resources, final ReportOutputFolder base)
    +			throws IOException {
    +<span class="fc" id="L99">		final int width = count * WIDTH / max;</span>
    +<span class="fc bfc" id="L100" title="All 2 branches covered.">		if (width &gt; 0) {</span>
    +<span class="fc" id="L101">			td.img(resources.getLink(base, image), width, 10,</span>
    +					integerFormat.format(count));
    +		}
    +<span class="fc" id="L104">	}</span>
    +
    +	public Comparator&lt;ITableItem&gt; getComparator() {
    +<span class="fc" id="L107">		return comparator;</span>
    +	}
    +
    +}
    +</pre><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.12.202403270442</span>Code Coverage Report for JaCoCo 0.8.12-SNAPSHOT</div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/trunk/coverage/org.jacoco.report/org.jacoco.report.internal.html.table/CounterColumn$1.html b/jacoco/trunk/coverage/org.jacoco.report/org.jacoco.report.internal.html.table/CounterColumn$1.html
    new file mode 100644
    index 00000000000..d498bedf67c
    --- /dev/null
    +++ b/jacoco/trunk/coverage/org.jacoco.report/org.jacoco.report.internal.html.table/CounterColumn$1.html
    @@ -0,0 +1 @@
    +<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="en"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../../jacoco-resources/report.gif" type="image/gif"/><title>CounterColumn.new CounterColumn() {...}</title><script type="text/javascript" src="../../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../../index.html" class="el_report">JaCoCo</a> &gt; <a href="../index.html" class="el_bundle">org.jacoco.report</a> &gt; <a href="index.html" class="el_package">org.jacoco.report.internal.html.table</a> &gt; <span class="el_class">CounterColumn.new CounterColumn() {...}</span></div><h1>CounterColumn.new CounterColumn() {...}</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">0 of 9</td><td class="ctr2">100%</td><td class="bar">0 of 0</td><td class="ctr2">n/a</td><td class="ctr1">0</td><td class="ctr2">2</td><td class="ctr1">0</td><td class="ctr2">2</td><td class="ctr1">0</td><td class="ctr2">2</td></tr></tfoot><tbody><tr><td id="a1"><a href="CounterColumn.java.html#L50" class="el_method">{...}</a></td><td class="bar" id="b0"><img src="../../jacoco-resources/greenbar.gif" width="120" height="10" title="6" alt="6"/></td><td class="ctr2" id="c0">100%</td><td class="bar" id="d0"/><td class="ctr2" id="e0">n/a</td><td class="ctr1" id="f0">0</td><td class="ctr2" id="g0">1</td><td class="ctr1" id="h0">0</td><td class="ctr2" id="i0">1</td><td class="ctr1" id="j0">0</td><td class="ctr2" id="k0">1</td></tr><tr><td id="a0"><a href="CounterColumn.java.html#L51" class="el_method">getValue(ICounter)</a></td><td class="bar" id="b1"><img src="../../jacoco-resources/greenbar.gif" width="60" height="10" title="3" alt="3"/></td><td class="ctr2" id="c1">100%</td><td class="bar" id="d1"/><td class="ctr2" id="e1">n/a</td><td class="ctr1" id="f1">0</td><td class="ctr2" id="g1">1</td><td class="ctr1" id="h1">0</td><td class="ctr2" id="i1">1</td><td class="ctr1" id="j1">0</td><td class="ctr2" id="k1">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.12.202403270442</span>Code Coverage Report for JaCoCo 0.8.12-SNAPSHOT</div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/trunk/coverage/org.jacoco.report/org.jacoco.report.internal.html.table/CounterColumn$2.html b/jacoco/trunk/coverage/org.jacoco.report/org.jacoco.report.internal.html.table/CounterColumn$2.html
    new file mode 100644
    index 00000000000..217f7ecfb43
    --- /dev/null
    +++ b/jacoco/trunk/coverage/org.jacoco.report/org.jacoco.report.internal.html.table/CounterColumn$2.html
    @@ -0,0 +1 @@
    +<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="en"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../../jacoco-resources/report.gif" type="image/gif"/><title>CounterColumn.new CounterColumn() {...}</title><script type="text/javascript" src="../../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../../index.html" class="el_report">JaCoCo</a> &gt; <a href="../index.html" class="el_bundle">org.jacoco.report</a> &gt; <a href="index.html" class="el_package">org.jacoco.report.internal.html.table</a> &gt; <span class="el_class">CounterColumn.new CounterColumn() {...}</span></div><h1>CounterColumn.new CounterColumn() {...}</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">0 of 9</td><td class="ctr2">100%</td><td class="bar">0 of 0</td><td class="ctr2">n/a</td><td class="ctr1">0</td><td class="ctr2">2</td><td class="ctr1">0</td><td class="ctr2">2</td><td class="ctr1">0</td><td class="ctr2">2</td></tr></tfoot><tbody><tr><td id="a1"><a href="CounterColumn.java.html#L70" class="el_method">{...}</a></td><td class="bar" id="b0"><img src="../../jacoco-resources/greenbar.gif" width="120" height="10" title="6" alt="6"/></td><td class="ctr2" id="c0">100%</td><td class="bar" id="d0"/><td class="ctr2" id="e0">n/a</td><td class="ctr1" id="f0">0</td><td class="ctr2" id="g0">1</td><td class="ctr1" id="h0">0</td><td class="ctr2" id="i0">1</td><td class="ctr1" id="j0">0</td><td class="ctr2" id="k0">1</td></tr><tr><td id="a0"><a href="CounterColumn.java.html#L71" class="el_method">getValue(ICounter)</a></td><td class="bar" id="b1"><img src="../../jacoco-resources/greenbar.gif" width="60" height="10" title="3" alt="3"/></td><td class="ctr2" id="c1">100%</td><td class="bar" id="d1"/><td class="ctr2" id="e1">n/a</td><td class="ctr1" id="f1">0</td><td class="ctr2" id="g1">1</td><td class="ctr1" id="h1">0</td><td class="ctr2" id="i1">1</td><td class="ctr1" id="j1">0</td><td class="ctr2" id="k1">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.12.202403270442</span>Code Coverage Report for JaCoCo 0.8.12-SNAPSHOT</div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/trunk/coverage/org.jacoco.report/org.jacoco.report.internal.html.table/CounterColumn$3.html b/jacoco/trunk/coverage/org.jacoco.report/org.jacoco.report.internal.html.table/CounterColumn$3.html
    new file mode 100644
    index 00000000000..b3677c1fd1f
    --- /dev/null
    +++ b/jacoco/trunk/coverage/org.jacoco.report/org.jacoco.report.internal.html.table/CounterColumn$3.html
    @@ -0,0 +1 @@
    +<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="en"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../../jacoco-resources/report.gif" type="image/gif"/><title>CounterColumn.new CounterColumn() {...}</title><script type="text/javascript" src="../../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../../index.html" class="el_report">JaCoCo</a> &gt; <a href="../index.html" class="el_bundle">org.jacoco.report</a> &gt; <a href="index.html" class="el_package">org.jacoco.report.internal.html.table</a> &gt; <span class="el_class">CounterColumn.new CounterColumn() {...}</span></div><h1>CounterColumn.new CounterColumn() {...}</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">0 of 9</td><td class="ctr2">100%</td><td class="bar">0 of 0</td><td class="ctr2">n/a</td><td class="ctr1">0</td><td class="ctr2">2</td><td class="ctr1">0</td><td class="ctr2">2</td><td class="ctr1">0</td><td class="ctr2">2</td></tr></tfoot><tbody><tr><td id="a1"><a href="CounterColumn.java.html#L90" class="el_method">{...}</a></td><td class="bar" id="b0"><img src="../../jacoco-resources/greenbar.gif" width="120" height="10" title="6" alt="6"/></td><td class="ctr2" id="c0">100%</td><td class="bar" id="d0"/><td class="ctr2" id="e0">n/a</td><td class="ctr1" id="f0">0</td><td class="ctr2" id="g0">1</td><td class="ctr1" id="h0">0</td><td class="ctr2" id="i0">1</td><td class="ctr1" id="j0">0</td><td class="ctr2" id="k0">1</td></tr><tr><td id="a0"><a href="CounterColumn.java.html#L91" class="el_method">getValue(ICounter)</a></td><td class="bar" id="b1"><img src="../../jacoco-resources/greenbar.gif" width="60" height="10" title="3" alt="3"/></td><td class="ctr2" id="c1">100%</td><td class="bar" id="d1"/><td class="ctr2" id="e1">n/a</td><td class="ctr1" id="f1">0</td><td class="ctr2" id="g1">1</td><td class="ctr1" id="h1">0</td><td class="ctr2" id="i1">1</td><td class="ctr1" id="j1">0</td><td class="ctr2" id="k1">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.12.202403270442</span>Code Coverage Report for JaCoCo 0.8.12-SNAPSHOT</div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/trunk/coverage/org.jacoco.report/org.jacoco.report.internal.html.table/CounterColumn.html b/jacoco/trunk/coverage/org.jacoco.report/org.jacoco.report.internal.html.table/CounterColumn.html
    new file mode 100644
    index 00000000000..376241f3074
    --- /dev/null
    +++ b/jacoco/trunk/coverage/org.jacoco.report/org.jacoco.report.internal.html.table/CounterColumn.html
    @@ -0,0 +1 @@
    +<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="en"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../../jacoco-resources/report.gif" type="image/gif"/><title>CounterColumn</title><script type="text/javascript" src="../../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../../index.html" class="el_report">JaCoCo</a> &gt; <a href="../index.html" class="el_bundle">org.jacoco.report</a> &gt; <a href="index.html" class="el_package">org.jacoco.report.internal.html.table</a> &gt; <span class="el_class">CounterColumn</span></div><h1>CounterColumn</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">0 of 97</td><td class="ctr2">100%</td><td class="bar">0 of 4</td><td class="ctr2">100%</td><td class="ctr1">0</td><td class="ctr2">11</td><td class="ctr1">0</td><td class="ctr2">20</td><td class="ctr1">0</td><td class="ctr2">9</td></tr></tfoot><tbody><tr><td id="a4"><a href="CounterColumn.java.html#L122" class="el_method">init(List, ICoverageNode)</a></td><td class="bar" id="b0"><img src="../../jacoco-resources/greenbar.gif" width="120" height="10" title="22" alt="22"/></td><td class="ctr2" id="c0">100%</td><td class="bar" id="d0"><img src="../../jacoco-resources/greenbar.gif" width="120" height="10" title="4" alt="4"/></td><td class="ctr2" id="e0">100%</td><td class="ctr1" id="f0">0</td><td class="ctr2" id="g0">3</td><td class="ctr1" id="h0">0</td><td class="ctr2" id="i1">4</td><td class="ctr1" id="j0">0</td><td class="ctr2" id="k0">1</td></tr><tr><td id="a1"><a href="CounterColumn.java.html#L114" class="el_method">CounterColumn(ICoverageNode.CounterEntity, Locale, Comparator)</a></td><td class="bar" id="b1"><img src="../../jacoco-resources/greenbar.gif" width="87" height="10" title="16" alt="16"/></td><td class="ctr2" id="c1">100%</td><td class="bar" id="d1"/><td class="ctr2" id="e1">n/a</td><td class="ctr1" id="f1">0</td><td class="ctr2" id="g1">1</td><td class="ctr1" id="h1">0</td><td class="ctr2" id="i0">5</td><td class="ctr1" id="j1">0</td><td class="ctr2" id="k1">1</td></tr><tr><td id="a0"><a href="CounterColumn.java.html#L144" class="el_method">cell(HTMLElement, ICoverageNode)</a></td><td class="bar" id="b2"><img src="../../jacoco-resources/greenbar.gif" width="81" height="10" title="15" alt="15"/></td><td class="ctr2" id="c2">100%</td><td class="bar" id="d2"/><td class="ctr2" id="e2">n/a</td><td class="ctr1" id="f2">0</td><td class="ctr2" id="g2">1</td><td class="ctr1" id="h2">0</td><td class="ctr2" id="i2">3</td><td class="ctr1" id="j2">0</td><td class="ctr2" id="k2">1</td></tr><tr><td id="a8"><a href="CounterColumn.java.html#L47" class="el_method">newTotal(ICoverageNode.CounterEntity, Locale)</a></td><td class="bar" id="b3"><img src="../../jacoco-resources/greenbar.gif" width="54" height="10" title="10" alt="10"/></td><td class="ctr2" id="c3">100%</td><td class="bar" id="d3"/><td class="ctr2" id="e3">n/a</td><td class="ctr1" id="f3">0</td><td class="ctr2" id="g3">1</td><td class="ctr1" id="h3">0</td><td class="ctr2" id="i5">1</td><td class="ctr1" id="j3">0</td><td class="ctr2" id="k3">1</td></tr><tr><td id="a7"><a href="CounterColumn.java.html#L67" class="el_method">newMissed(ICoverageNode.CounterEntity, Locale)</a></td><td class="bar" id="b4"><img src="../../jacoco-resources/greenbar.gif" width="54" height="10" title="10" alt="10"/></td><td class="ctr2" id="c4">100%</td><td class="bar" id="d4"/><td class="ctr2" id="e4">n/a</td><td class="ctr1" id="f4">0</td><td class="ctr2" id="g4">1</td><td class="ctr1" id="h4">0</td><td class="ctr2" id="i6">1</td><td class="ctr1" id="j4">0</td><td class="ctr2" id="k4">1</td></tr><tr><td id="a6"><a href="CounterColumn.java.html#L87" class="el_method">newCovered(ICoverageNode.CounterEntity, Locale)</a></td><td class="bar" id="b5"><img src="../../jacoco-resources/greenbar.gif" width="54" height="10" title="10" alt="10"/></td><td class="ctr2" id="c5">100%</td><td class="bar" id="d5"/><td class="ctr2" id="e5">n/a</td><td class="ctr1" id="f5">0</td><td class="ctr2" id="g5">1</td><td class="ctr1" id="h5">0</td><td class="ctr2" id="i7">1</td><td class="ctr1" id="j5">0</td><td class="ctr2" id="k5">1</td></tr><tr><td id="a5"><a href="CounterColumn.java.html#L139" class="el_method">item(HTMLElement, ITableItem, Resources, ReportOutputFolder)</a></td><td class="bar" id="b6"><img src="../../jacoco-resources/greenbar.gif" width="32" height="10" title="6" alt="6"/></td><td class="ctr2" id="c6">100%</td><td class="bar" id="d6"/><td class="ctr2" id="e6">n/a</td><td class="ctr1" id="f6">0</td><td class="ctr2" id="g6">1</td><td class="ctr1" id="h6">0</td><td class="ctr2" id="i3">2</td><td class="ctr1" id="j6">0</td><td class="ctr2" id="k6">1</td></tr><tr><td id="a2"><a href="CounterColumn.java.html#L133" class="el_method">footer(HTMLElement, ICoverageNode, Resources, ReportOutputFolder)</a></td><td class="bar" id="b7"><img src="../../jacoco-resources/greenbar.gif" width="27" height="10" title="5" alt="5"/></td><td class="ctr2" id="c7">100%</td><td class="bar" id="d7"/><td class="ctr2" id="e7">n/a</td><td class="ctr1" id="f7">0</td><td class="ctr2" id="g7">1</td><td class="ctr1" id="h7">0</td><td class="ctr2" id="i4">2</td><td class="ctr1" id="j7">0</td><td class="ctr2" id="k7">1</td></tr><tr><td id="a3"><a href="CounterColumn.java.html#L149" class="el_method">getComparator()</a></td><td class="bar" id="b8"><img src="../../jacoco-resources/greenbar.gif" width="16" height="10" title="3" alt="3"/></td><td class="ctr2" id="c8">100%</td><td class="bar" id="d8"/><td class="ctr2" id="e8">n/a</td><td class="ctr1" id="f8">0</td><td class="ctr2" id="g8">1</td><td class="ctr1" id="h8">0</td><td class="ctr2" id="i8">1</td><td class="ctr1" id="j8">0</td><td class="ctr2" id="k8">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.12.202403270442</span>Code Coverage Report for JaCoCo 0.8.12-SNAPSHOT</div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/trunk/coverage/org.jacoco.report/org.jacoco.report.internal.html.table/CounterColumn.java.html b/jacoco/trunk/coverage/org.jacoco.report/org.jacoco.report.internal.html.table/CounterColumn.java.html
    new file mode 100644
    index 00000000000..8559145cc43
    --- /dev/null
    +++ b/jacoco/trunk/coverage/org.jacoco.report/org.jacoco.report.internal.html.table/CounterColumn.java.html
    @@ -0,0 +1,162 @@
    +<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="en"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../../jacoco-resources/report.gif" type="image/gif"/><title>CounterColumn.java</title><link rel="stylesheet" href="../../jacoco-resources/prettify.css" type="text/css"/><script type="text/javascript" src="../../jacoco-resources/prettify.js"></script></head><body onload="window['PR_TAB_WIDTH']=4;prettyPrint()"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../../index.html" class="el_report">JaCoCo</a> &gt; <a href="../index.html" class="el_bundle">org.jacoco.report</a> &gt; <a href="index.source.html" class="el_package">org.jacoco.report.internal.html.table</a> &gt; <span class="el_source">CounterColumn.java</span></div><h1>CounterColumn.java</h1><pre class="source lang-java linenums">/*******************************************************************************
    + * Copyright (c) 2009, 2024 Mountainminds GmbH &amp; Co. KG and Contributors
    + * This program and the accompanying materials are made available under
    + * the terms of the Eclipse Public License 2.0 which is available at
    + * http://www.eclipse.org/legal/epl-2.0
    + *
    + * SPDX-License-Identifier: EPL-2.0
    + *
    + * Contributors:
    + *    Marc R. Hoffmann - initial API and implementation
    + *
    + *******************************************************************************/
    +package org.jacoco.report.internal.html.table;
    +
    +import java.io.IOException;
    +import java.text.NumberFormat;
    +import java.util.Comparator;
    +import java.util.List;
    +import java.util.Locale;
    +
    +import org.jacoco.core.analysis.CounterComparator;
    +import org.jacoco.core.analysis.ICounter;
    +import org.jacoco.core.analysis.ICoverageNode;
    +import org.jacoco.core.analysis.ICoverageNode.CounterEntity;
    +import org.jacoco.report.internal.ReportOutputFolder;
    +import org.jacoco.report.internal.html.HTMLElement;
    +import org.jacoco.report.internal.html.resources.Resources;
    +
    +/**
    + * Column that prints the counter values of entities for each item and a summary
    + * in the footer. If the total number of items is zero, no column is emitted at
    + * all. The implementation is stateful, instances must not be used in parallel.
    + */
    +public abstract class CounterColumn implements IColumnRenderer {
    +
    +	/**
    +	 * Creates a new column that shows the total count for the given entity.
    +	 *
    +	 * @param entity
    +	 *            counter entity for this column
    +	 * @param locale
    +	 *            locale for rendering numbers
    +	 * @return column instance
    +	 */
    +	public static CounterColumn newTotal(final CounterEntity entity,
    +			final Locale locale) {
    +<span class="fc" id="L47">		return new CounterColumn(entity, locale,</span>
    +				CounterComparator.TOTALITEMS.reverse().on(entity)) {
    +			@Override
    +<span class="fc" id="L50">			protected int getValue(final ICounter counter) {</span>
    +<span class="fc" id="L51">				return counter.getTotalCount();</span>
    +			}
    +		};
    +	}
    +
    +	/**
    +	 * Creates a new column that shows the missed count for the given entity.
    +	 *
    +	 * @param entity
    +	 *            counter entity for this column
    +	 * @param locale
    +	 *            locale for rendering numbers
    +	 * @return column instance
    +	 */
    +	public static CounterColumn newMissed(final CounterEntity entity,
    +			final Locale locale) {
    +<span class="fc" id="L67">		return new CounterColumn(entity, locale,</span>
    +				CounterComparator.MISSEDITEMS.reverse().on(entity)) {
    +			@Override
    +<span class="fc" id="L70">			protected int getValue(final ICounter counter) {</span>
    +<span class="fc" id="L71">				return counter.getMissedCount();</span>
    +			}
    +		};
    +	}
    +
    +	/**
    +	 * Creates a new column that shows the covered count for the given entity.
    +	 *
    +	 * @param entity
    +	 *            counter entity for this column
    +	 * @param locale
    +	 *            locale for rendering numbers
    +	 * @return column instance
    +	 */
    +	public static CounterColumn newCovered(final CounterEntity entity,
    +			final Locale locale) {
    +<span class="fc" id="L87">		return new CounterColumn(entity, locale,</span>
    +				CounterComparator.COVEREDITEMS.reverse().on(entity)) {
    +			@Override
    +<span class="fc" id="L90">			protected int getValue(final ICounter counter) {</span>
    +<span class="fc" id="L91">				return counter.getCoveredCount();</span>
    +			}
    +		};
    +	}
    +
    +	private final CounterEntity entity;
    +
    +	private final NumberFormat integerFormat;
    +
    +	private final Comparator&lt;ITableItem&gt; comparator;
    +
    +	/**
    +	 * Creates a new column that is based on the {@link ICounter} for the given
    +	 * entity.
    +	 *
    +	 * @param entity
    +	 *            counter entity for this column
    +	 * @param locale
    +	 *            locale for rendering numbers
    +	 * @param comparator
    +	 *            comparator for the nodes of this column
    +	 */
    +	protected CounterColumn(final CounterEntity entity, final Locale locale,
    +<span class="fc" id="L114">			final Comparator&lt;ICoverageNode&gt; comparator) {</span>
    +<span class="fc" id="L115">		this.entity = entity;</span>
    +<span class="fc" id="L116">		this.integerFormat = NumberFormat.getIntegerInstance(locale);</span>
    +<span class="fc" id="L117">		this.comparator = new TableItemComparator(comparator);</span>
    +<span class="fc" id="L118">	}</span>
    +
    +	public boolean init(final List&lt;? extends ITableItem&gt; items,
    +			final ICoverageNode total) {
    +<span class="fc bfc" id="L122" title="All 2 branches covered.">		for (final ITableItem i : items) {</span>
    +<span class="fc bfc" id="L123" title="All 2 branches covered.">			if (i.getNode().getCounter(entity).getTotalCount() &gt; 0) {</span>
    +<span class="fc" id="L124">				return true;</span>
    +			}
    +		}
    +<span class="fc" id="L127">		return false;</span>
    +	}
    +
    +	public void footer(final HTMLElement td, final ICoverageNode total,
    +			final Resources resources, final ReportOutputFolder base)
    +			throws IOException {
    +<span class="fc" id="L133">		cell(td, total);</span>
    +<span class="fc" id="L134">	}</span>
    +
    +	public void item(final HTMLElement td, final ITableItem item,
    +			final Resources resources, final ReportOutputFolder base)
    +			throws IOException {
    +<span class="fc" id="L139">		cell(td, item.getNode());</span>
    +<span class="fc" id="L140">	}</span>
    +
    +	private void cell(final HTMLElement td, final ICoverageNode node)
    +			throws IOException {
    +<span class="fc" id="L144">		final int value = getValue(node.getCounter(entity));</span>
    +<span class="fc" id="L145">		td.text(integerFormat.format(value));</span>
    +<span class="fc" id="L146">	}</span>
    +
    +	public Comparator&lt;ITableItem&gt; getComparator() {
    +<span class="fc" id="L149">		return comparator;</span>
    +	}
    +
    +	/**
    +	 * Retrieves the respective value from the counter.
    +	 *
    +	 * @param counter
    +	 *            counter object
    +	 * @return value of interest
    +	 */
    +	protected abstract int getValue(ICounter counter);
    +
    +}
    +</pre><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.12.202403270442</span>Code Coverage Report for JaCoCo 0.8.12-SNAPSHOT</div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/trunk/coverage/org.jacoco.report/org.jacoco.report.internal.html.table/LabelColumn$1.html b/jacoco/trunk/coverage/org.jacoco.report/org.jacoco.report.internal.html.table/LabelColumn$1.html
    new file mode 100644
    index 00000000000..a437d96e08d
    --- /dev/null
    +++ b/jacoco/trunk/coverage/org.jacoco.report/org.jacoco.report.internal.html.table/LabelColumn$1.html
    @@ -0,0 +1 @@
    +<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="en"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../../jacoco-resources/report.gif" type="image/gif"/><title>LabelColumn.new Comparator() {...}</title><script type="text/javascript" src="../../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../../index.html" class="el_report">JaCoCo</a> &gt; <a href="../index.html" class="el_bundle">org.jacoco.report</a> &gt; <a href="index.html" class="el_package">org.jacoco.report.internal.html.table</a> &gt; <span class="el_class">LabelColumn.new Comparator() {...}</span></div><h1>LabelColumn.new Comparator() {...}</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">0 of 9</td><td class="ctr2">100%</td><td class="bar">0 of 0</td><td class="ctr2">n/a</td><td class="ctr1">0</td><td class="ctr2">2</td><td class="ctr1">0</td><td class="ctr2">2</td><td class="ctr1">0</td><td class="ctr2">2</td></tr></tfoot><tbody><tr><td id="a0"><a href="LabelColumn.java.html#L32" class="el_method">compare(ITableItem, ITableItem)</a></td><td class="bar" id="b0"><img src="../../jacoco-resources/greenbar.gif" width="120" height="10" title="6" alt="6"/></td><td class="ctr2" id="c0">100%</td><td class="bar" id="d0"/><td class="ctr2" id="e0">n/a</td><td class="ctr1" id="f0">0</td><td class="ctr2" id="g0">1</td><td class="ctr1" id="h0">0</td><td class="ctr2" id="i0">1</td><td class="ctr1" id="j0">0</td><td class="ctr2" id="k0">1</td></tr><tr><td id="a1"><a href="LabelColumn.java.html#L31" class="el_method">{...}</a></td><td class="bar" id="b1"><img src="../../jacoco-resources/greenbar.gif" width="60" height="10" title="3" alt="3"/></td><td class="ctr2" id="c1">100%</td><td class="bar" id="d1"/><td class="ctr2" id="e1">n/a</td><td class="ctr1" id="f1">0</td><td class="ctr2" id="g1">1</td><td class="ctr1" id="h1">0</td><td class="ctr2" id="i1">1</td><td class="ctr1" id="j1">0</td><td class="ctr2" id="k1">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.12.202403270442</span>Code Coverage Report for JaCoCo 0.8.12-SNAPSHOT</div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/trunk/coverage/org.jacoco.report/org.jacoco.report.internal.html.table/LabelColumn.html b/jacoco/trunk/coverage/org.jacoco.report/org.jacoco.report.internal.html.table/LabelColumn.html
    new file mode 100644
    index 00000000000..2cb9b4d9c54
    --- /dev/null
    +++ b/jacoco/trunk/coverage/org.jacoco.report/org.jacoco.report.internal.html.table/LabelColumn.html
    @@ -0,0 +1 @@
    +<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="en"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../../jacoco-resources/report.gif" type="image/gif"/><title>LabelColumn</title><script type="text/javascript" src="../../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../../index.html" class="el_report">JaCoCo</a> &gt; <a href="../index.html" class="el_bundle">org.jacoco.report</a> &gt; <a href="index.html" class="el_package">org.jacoco.report.internal.html.table</a> &gt; <span class="el_class">LabelColumn</span></div><h1>LabelColumn</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">0 of 22</td><td class="ctr2">100%</td><td class="bar">0 of 0</td><td class="ctr2">n/a</td><td class="ctr1">0</td><td class="ctr2">6</td><td class="ctr1">0</td><td class="ctr2">8</td><td class="ctr1">0</td><td class="ctr2">6</td></tr></tfoot><tbody><tr><td id="a3"><a href="LabelColumn.java.html#L50" class="el_method">item(HTMLElement, ITableItem, Resources, ReportOutputFolder)</a></td><td class="bar" id="b0"><img src="../../jacoco-resources/greenbar.gif" width="120" height="10" title="6" alt="6"/></td><td class="ctr2" id="c0">100%</td><td class="bar" id="d0"/><td class="ctr2" id="e0">n/a</td><td class="ctr1" id="f0">0</td><td class="ctr2" id="g0">1</td><td class="ctr1" id="h0">0</td><td class="ctr2" id="i0">2</td><td class="ctr1" id="j0">0</td><td class="ctr2" id="k0">1</td></tr><tr><td id="a5"><a href="LabelColumn.java.html#L30" class="el_method">static {...}</a></td><td class="bar" id="b1"><img src="../../jacoco-resources/greenbar.gif" width="100" height="10" title="5" alt="5"/></td><td class="ctr2" id="c1">100%</td><td class="bar" id="d1"/><td class="ctr2" id="e1">n/a</td><td class="ctr1" id="f1">0</td><td class="ctr2" id="g1">1</td><td class="ctr1" id="h1">0</td><td class="ctr2" id="i2">1</td><td class="ctr1" id="j1">0</td><td class="ctr2" id="k1">1</td></tr><tr><td id="a0"><a href="LabelColumn.java.html#L44" class="el_method">footer(HTMLElement, ICoverageNode, Resources, ReportOutputFolder)</a></td><td class="bar" id="b2"><img src="../../jacoco-resources/greenbar.gif" width="80" height="10" title="4" alt="4"/></td><td class="ctr2" id="c2">100%</td><td class="bar" id="d2"/><td class="ctr2" id="e2">n/a</td><td class="ctr1" id="f2">0</td><td class="ctr2" id="g2">1</td><td class="ctr1" id="h2">0</td><td class="ctr2" id="i1">2</td><td class="ctr1" id="j2">0</td><td class="ctr2" id="k2">1</td></tr><tr><td id="a4"><a href="LabelColumn.java.html#L28" class="el_method">LabelColumn()</a></td><td class="bar" id="b3"><img src="../../jacoco-resources/greenbar.gif" width="60" height="10" title="3" alt="3"/></td><td class="ctr2" id="c3">100%</td><td class="bar" id="d3"/><td class="ctr2" id="e3">n/a</td><td class="ctr1" id="f3">0</td><td class="ctr2" id="g3">1</td><td class="ctr1" id="h3">0</td><td class="ctr2" id="i3">1</td><td class="ctr1" id="j3">0</td><td class="ctr2" id="k3">1</td></tr><tr><td id="a2"><a href="LabelColumn.java.html#L38" class="el_method">init(List, ICoverageNode)</a></td><td class="bar" id="b4"><img src="../../jacoco-resources/greenbar.gif" width="40" height="10" title="2" alt="2"/></td><td class="ctr2" id="c4">100%</td><td class="bar" id="d4"/><td class="ctr2" id="e4">n/a</td><td class="ctr1" id="f4">0</td><td class="ctr2" id="g4">1</td><td class="ctr1" id="h4">0</td><td class="ctr2" id="i4">1</td><td class="ctr1" id="j4">0</td><td class="ctr2" id="k4">1</td></tr><tr><td id="a1"><a href="LabelColumn.java.html#L54" class="el_method">getComparator()</a></td><td class="bar" id="b5"><img src="../../jacoco-resources/greenbar.gif" width="40" height="10" title="2" alt="2"/></td><td class="ctr2" id="c5">100%</td><td class="bar" id="d5"/><td class="ctr2" id="e5">n/a</td><td class="ctr1" id="f5">0</td><td class="ctr2" id="g5">1</td><td class="ctr1" id="h5">0</td><td class="ctr2" id="i5">1</td><td class="ctr1" id="j5">0</td><td class="ctr2" id="k5">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.12.202403270442</span>Code Coverage Report for JaCoCo 0.8.12-SNAPSHOT</div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/trunk/coverage/org.jacoco.report/org.jacoco.report.internal.html.table/LabelColumn.java.html b/jacoco/trunk/coverage/org.jacoco.report/org.jacoco.report.internal.html.table/LabelColumn.java.html
    new file mode 100644
    index 00000000000..fab53714e5f
    --- /dev/null
    +++ b/jacoco/trunk/coverage/org.jacoco.report/org.jacoco.report.internal.html.table/LabelColumn.java.html
    @@ -0,0 +1,58 @@
    +<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="en"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../../jacoco-resources/report.gif" type="image/gif"/><title>LabelColumn.java</title><link rel="stylesheet" href="../../jacoco-resources/prettify.css" type="text/css"/><script type="text/javascript" src="../../jacoco-resources/prettify.js"></script></head><body onload="window['PR_TAB_WIDTH']=4;prettyPrint()"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../../index.html" class="el_report">JaCoCo</a> &gt; <a href="../index.html" class="el_bundle">org.jacoco.report</a> &gt; <a href="index.source.html" class="el_package">org.jacoco.report.internal.html.table</a> &gt; <span class="el_source">LabelColumn.java</span></div><h1>LabelColumn.java</h1><pre class="source lang-java linenums">/*******************************************************************************
    + * Copyright (c) 2009, 2024 Mountainminds GmbH &amp; Co. KG and Contributors
    + * This program and the accompanying materials are made available under
    + * the terms of the Eclipse Public License 2.0 which is available at
    + * http://www.eclipse.org/legal/epl-2.0
    + *
    + * SPDX-License-Identifier: EPL-2.0
    + *
    + * Contributors:
    + *    Marc R. Hoffmann - initial API and implementation
    + *
    + *******************************************************************************/
    +package org.jacoco.report.internal.html.table;
    +
    +import java.io.IOException;
    +import java.util.Comparator;
    +import java.util.List;
    +
    +import org.jacoco.core.analysis.ICoverageNode;
    +import org.jacoco.report.internal.ReportOutputFolder;
    +import org.jacoco.report.internal.html.HTMLElement;
    +import org.jacoco.report.internal.html.resources.Resources;
    +
    +/**
    + * Column for the item label. The implementation is stateless, instances might
    + * be used in parallel.
    + */
    +<span class="fc" id="L28">public class LabelColumn implements IColumnRenderer {</span>
    +
    +<span class="fc" id="L30">	private static final Comparator&lt;ITableItem&gt; COMPARATOR = new Comparator&lt;ITableItem&gt;() {</span>
    +<span class="fc" id="L31">		public int compare(final ITableItem i1, final ITableItem i2) {</span>
    +<span class="fc" id="L32">			return i1.getLinkLabel().compareToIgnoreCase(i2.getLinkLabel());</span>
    +		}
    +	};
    +
    +	public boolean init(final List&lt;? extends ITableItem&gt; items,
    +			final ICoverageNode total) {
    +<span class="fc" id="L38">		return true;</span>
    +	}
    +
    +	public void footer(final HTMLElement td, final ICoverageNode total,
    +			final Resources resources, final ReportOutputFolder base)
    +			throws IOException {
    +<span class="fc" id="L44">		td.text(&quot;Total&quot;);</span>
    +<span class="fc" id="L45">	}</span>
    +
    +	public void item(final HTMLElement td, final ITableItem item,
    +			final Resources resources, final ReportOutputFolder base)
    +			throws IOException {
    +<span class="fc" id="L50">		td.a(item, base);</span>
    +<span class="fc" id="L51">	}</span>
    +
    +	public Comparator&lt;ITableItem&gt; getComparator() {
    +<span class="fc" id="L54">		return COMPARATOR;</span>
    +	}
    +
    +}
    +</pre><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.12.202403270442</span>Code Coverage Report for JaCoCo 0.8.12-SNAPSHOT</div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/trunk/coverage/org.jacoco.report/org.jacoco.report.internal.html.table/PercentageColumn.html b/jacoco/trunk/coverage/org.jacoco.report/org.jacoco.report.internal.html.table/PercentageColumn.html
    new file mode 100644
    index 00000000000..3b433097f1c
    --- /dev/null
    +++ b/jacoco/trunk/coverage/org.jacoco.report/org.jacoco.report.internal.html.table/PercentageColumn.html
    @@ -0,0 +1 @@
    +<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="en"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../../jacoco-resources/report.gif" type="image/gif"/><title>PercentageColumn</title><script type="text/javascript" src="../../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../../index.html" class="el_report">JaCoCo</a> &gt; <a href="../index.html" class="el_bundle">org.jacoco.report</a> &gt; <a href="index.html" class="el_package">org.jacoco.report.internal.html.table</a> &gt; <span class="el_class">PercentageColumn</span></div><h1>PercentageColumn</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">0 of 64</td><td class="ctr2">100%</td><td class="bar">0 of 2</td><td class="ctr2">100%</td><td class="ctr1">0</td><td class="ctr2">8</td><td class="ctr1">0</td><td class="ctr2">18</td><td class="ctr1">0</td><td class="ctr2">7</td></tr></tfoot><tbody><tr><td id="a0"><a href="PercentageColumn.java.html#L79" class="el_method">cell(HTMLElement, ICoverageNode)</a></td><td class="bar" id="b0"><img src="../../jacoco-resources/greenbar.gif" width="120" height="10" title="21" alt="21"/></td><td class="ctr2" id="c0">100%</td><td class="bar" id="d0"><img src="../../jacoco-resources/greenbar.gif" width="120" height="10" title="2" alt="2"/></td><td class="ctr2" id="e0">100%</td><td class="ctr1" id="f0">0</td><td class="ctr2" id="g0">2</td><td class="ctr1" id="h0">0</td><td class="ctr2" id="i0">6</td><td class="ctr1" id="j0">0</td><td class="ctr2" id="k0">1</td></tr><tr><td id="a6"><a href="PercentageColumn.java.html#L53" class="el_method">PercentageColumn(ICoverageNode.CounterEntity, Locale)</a></td><td class="bar" id="b1"><img src="../../jacoco-resources/greenbar.gif" width="102" height="10" title="18" alt="18"/></td><td class="ctr2" id="c1">100%</td><td class="bar" id="d1"/><td class="ctr2" id="e1">n/a</td><td class="ctr1" id="f1">0</td><td class="ctr2" id="g1">1</td><td class="ctr1" id="h1">0</td><td class="ctr2" id="i1">5</td><td class="ctr1" id="j1">0</td><td class="ctr2" id="k1">1</td></tr><tr><td id="a2"><a href="PercentageColumn.java.html#L95" class="el_method">format(double)</a></td><td class="bar" id="b2"><img src="../../jacoco-resources/greenbar.gif" width="51" height="10" title="9" alt="9"/></td><td class="ctr2" id="c2">100%</td><td class="bar" id="d2"/><td class="ctr2" id="e2">n/a</td><td class="ctr1" id="f2">0</td><td class="ctr2" id="g2">1</td><td class="ctr1" id="h2">0</td><td class="ctr2" id="i4">1</td><td class="ctr1" id="j2">0</td><td class="ctr2" id="k2">1</td></tr><tr><td id="a5"><a href="PercentageColumn.java.html#L74" class="el_method">item(HTMLElement, ITableItem, Resources, ReportOutputFolder)</a></td><td class="bar" id="b3"><img src="../../jacoco-resources/greenbar.gif" width="34" height="10" title="6" alt="6"/></td><td class="ctr2" id="c3">100%</td><td class="bar" id="d3"/><td class="ctr2" id="e3">n/a</td><td class="ctr1" id="f3">0</td><td class="ctr2" id="g3">1</td><td class="ctr1" id="h3">0</td><td class="ctr2" id="i2">2</td><td class="ctr1" id="j3">0</td><td class="ctr2" id="k3">1</td></tr><tr><td id="a1"><a href="PercentageColumn.java.html#L68" class="el_method">footer(HTMLElement, ICoverageNode, Resources, ReportOutputFolder)</a></td><td class="bar" id="b4"><img src="../../jacoco-resources/greenbar.gif" width="28" height="10" title="5" alt="5"/></td><td class="ctr2" id="c4">100%</td><td class="bar" id="d4"/><td class="ctr2" id="e4">n/a</td><td class="ctr1" id="f4">0</td><td class="ctr2" id="g4">1</td><td class="ctr1" id="h4">0</td><td class="ctr2" id="i3">2</td><td class="ctr1" id="j4">0</td><td class="ctr2" id="k4">1</td></tr><tr><td id="a3"><a href="PercentageColumn.java.html#L100" class="el_method">getComparator()</a></td><td class="bar" id="b5"><img src="../../jacoco-resources/greenbar.gif" width="17" height="10" title="3" alt="3"/></td><td class="ctr2" id="c5">100%</td><td class="bar" id="d5"/><td class="ctr2" id="e5">n/a</td><td class="ctr1" id="f5">0</td><td class="ctr2" id="g5">1</td><td class="ctr1" id="h5">0</td><td class="ctr2" id="i5">1</td><td class="ctr1" id="j5">0</td><td class="ctr2" id="k5">1</td></tr><tr><td id="a4"><a href="PercentageColumn.java.html#L62" class="el_method">init(List, ICoverageNode)</a></td><td class="bar" id="b6"><img src="../../jacoco-resources/greenbar.gif" width="11" height="10" title="2" alt="2"/></td><td class="ctr2" id="c6">100%</td><td class="bar" id="d6"/><td class="ctr2" id="e6">n/a</td><td class="ctr1" id="f6">0</td><td class="ctr2" id="g6">1</td><td class="ctr1" id="h6">0</td><td class="ctr2" id="i6">1</td><td class="ctr1" id="j6">0</td><td class="ctr2" id="k6">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.12.202403270442</span>Code Coverage Report for JaCoCo 0.8.12-SNAPSHOT</div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/trunk/coverage/org.jacoco.report/org.jacoco.report.internal.html.table/PercentageColumn.java.html b/jacoco/trunk/coverage/org.jacoco.report/org.jacoco.report.internal.html.table/PercentageColumn.java.html
    new file mode 100644
    index 00000000000..b6ecf7e0719
    --- /dev/null
    +++ b/jacoco/trunk/coverage/org.jacoco.report/org.jacoco.report.internal.html.table/PercentageColumn.java.html
    @@ -0,0 +1,104 @@
    +<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="en"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../../jacoco-resources/report.gif" type="image/gif"/><title>PercentageColumn.java</title><link rel="stylesheet" href="../../jacoco-resources/prettify.css" type="text/css"/><script type="text/javascript" src="../../jacoco-resources/prettify.js"></script></head><body onload="window['PR_TAB_WIDTH']=4;prettyPrint()"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../../index.html" class="el_report">JaCoCo</a> &gt; <a href="../index.html" class="el_bundle">org.jacoco.report</a> &gt; <a href="index.source.html" class="el_package">org.jacoco.report.internal.html.table</a> &gt; <span class="el_source">PercentageColumn.java</span></div><h1>PercentageColumn.java</h1><pre class="source lang-java linenums">/*******************************************************************************
    + * Copyright (c) 2009, 2024 Mountainminds GmbH &amp; Co. KG and Contributors
    + * This program and the accompanying materials are made available under
    + * the terms of the Eclipse Public License 2.0 which is available at
    + * http://www.eclipse.org/legal/epl-2.0
    + *
    + * SPDX-License-Identifier: EPL-2.0
    + *
    + * Contributors:
    + *    Marc R. Hoffmann - initial API and implementation
    + *
    + *******************************************************************************/
    +package org.jacoco.report.internal.html.table;
    +
    +import java.io.IOException;
    +import java.math.BigDecimal;
    +import java.math.RoundingMode;
    +import java.text.NumberFormat;
    +import java.util.Comparator;
    +import java.util.List;
    +import java.util.Locale;
    +
    +import org.jacoco.core.analysis.CounterComparator;
    +import org.jacoco.core.analysis.ICounter;
    +import org.jacoco.core.analysis.ICoverageNode;
    +import org.jacoco.core.analysis.ICoverageNode.CounterEntity;
    +import org.jacoco.report.internal.ReportOutputFolder;
    +import org.jacoco.report.internal.html.HTMLElement;
    +import org.jacoco.report.internal.html.resources.Resources;
    +
    +/**
    + * Column that prints the coverage percentage for each item and the total
    + * percentage in the footer. The implementation is stateless, instances might be
    + * used in parallel.
    + */
    +public class PercentageColumn implements IColumnRenderer {
    +
    +	private final CounterEntity entity;
    +
    +	private final NumberFormat percentageFormat;
    +
    +	private final Comparator&lt;ITableItem&gt; comparator;
    +
    +	/**
    +	 * Creates a new column that is based on the {@link ICounter} for the given
    +	 * entity.
    +	 *
    +	 * @param entity
    +	 *            counter entity for this column
    +	 * @param locale
    +	 *            locale for rendering numbers
    +	 */
    +<span class="fc" id="L53">	public PercentageColumn(final CounterEntity entity, final Locale locale) {</span>
    +<span class="fc" id="L54">		this.entity = entity;</span>
    +<span class="fc" id="L55">		this.percentageFormat = NumberFormat.getPercentInstance(locale);</span>
    +<span class="fc" id="L56">		comparator = new TableItemComparator(</span>
    +				CounterComparator.MISSEDRATIO.on(entity));
    +<span class="fc" id="L58">	}</span>
    +
    +	public boolean init(final List&lt;? extends ITableItem&gt; items,
    +			final ICoverageNode total) {
    +<span class="fc" id="L62">		return true;</span>
    +	}
    +
    +	public void footer(final HTMLElement td, final ICoverageNode total,
    +			final Resources resources, final ReportOutputFolder base)
    +			throws IOException {
    +<span class="fc" id="L68">		cell(td, total);</span>
    +<span class="fc" id="L69">	}</span>
    +
    +	public void item(final HTMLElement td, final ITableItem item,
    +			final Resources resources, final ReportOutputFolder base)
    +			throws IOException {
    +<span class="fc" id="L74">		cell(td, item.getNode());</span>
    +<span class="fc" id="L75">	}</span>
    +
    +	private void cell(final HTMLElement td, final ICoverageNode node)
    +			throws IOException {
    +<span class="fc" id="L79">		final ICounter counter = node.getCounter(entity);</span>
    +<span class="fc" id="L80">		final int total = counter.getTotalCount();</span>
    +<span class="fc bfc" id="L81" title="All 2 branches covered.">		if (total == 0) {</span>
    +<span class="fc" id="L82">			td.text(&quot;n/a&quot;);</span>
    +		} else {
    +<span class="fc" id="L84">			td.text(format(counter.getCoveredRatio()));</span>
    +		}
    +<span class="fc" id="L86">	}</span>
    +
    +	/**
    +	 * Ratio 199/(1+199)=0.995 must be displayed as &quot;99%&quot;, not as &quot;100%&quot;.
    +	 * Unfortunately {@link NumberFormat} uses {@link RoundingMode#HALF_EVEN} by
    +	 * default and ability to change available only starting from JDK 6, so
    +	 * perform rounding using {@link RoundingMode#FLOOR} before formatting.
    +	 */
    +	private String format(double ratio) {
    +<span class="fc" id="L95">		return percentageFormat.format(</span>
    +				BigDecimal.valueOf(ratio).setScale(2, RoundingMode.FLOOR));
    +	}
    +
    +	public Comparator&lt;ITableItem&gt; getComparator() {
    +<span class="fc" id="L100">		return comparator;</span>
    +	}
    +
    +}
    +</pre><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.12.202403270442</span>Code Coverage Report for JaCoCo 0.8.12-SNAPSHOT</div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/trunk/coverage/org.jacoco.report/org.jacoco.report.internal.html.table/SortIndex$Entry.html b/jacoco/trunk/coverage/org.jacoco.report/org.jacoco.report.internal.html.table/SortIndex$Entry.html
    new file mode 100644
    index 00000000000..3c9fa658458
    --- /dev/null
    +++ b/jacoco/trunk/coverage/org.jacoco.report/org.jacoco.report.internal.html.table/SortIndex$Entry.html
    @@ -0,0 +1 @@
    +<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="en"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../../jacoco-resources/report.gif" type="image/gif"/><title>SortIndex.Entry</title><script type="text/javascript" src="../../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../../index.html" class="el_report">JaCoCo</a> &gt; <a href="../index.html" class="el_bundle">org.jacoco.report</a> &gt; <a href="index.html" class="el_package">org.jacoco.report.internal.html.table</a> &gt; <span class="el_class">SortIndex.Entry</span></div><h1>SortIndex.Entry</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">0 of 21</td><td class="ctr2">100%</td><td class="bar">0 of 0</td><td class="ctr2">n/a</td><td class="ctr1">0</td><td class="ctr2">2</td><td class="ctr1">0</td><td class="ctr2">5</td><td class="ctr1">0</td><td class="ctr2">2</td></tr></tfoot><tbody><tr><td id="a1"><a href="SortIndex.java.html#L37" class="el_method">SortIndex.Entry(SortIndex, int, Object)</a></td><td class="bar" id="b0"><img src="../../jacoco-resources/greenbar.gif" width="120" height="10" title="12" alt="12"/></td><td class="ctr2" id="c0">100%</td><td class="bar" id="d0"/><td class="ctr2" id="e0">n/a</td><td class="ctr1" id="f0">0</td><td class="ctr2" id="g0">1</td><td class="ctr1" id="h0">0</td><td class="ctr2" id="i0">4</td><td class="ctr1" id="j0">0</td><td class="ctr2" id="k0">1</td></tr><tr><td id="a0"><a href="SortIndex.java.html#L43" class="el_method">compareTo(SortIndex.Entry)</a></td><td class="bar" id="b1"><img src="../../jacoco-resources/greenbar.gif" width="90" height="10" title="9" alt="9"/></td><td class="ctr2" id="c1">100%</td><td class="bar" id="d1"/><td class="ctr2" id="e1">n/a</td><td class="ctr1" id="f1">0</td><td class="ctr2" id="g1">1</td><td class="ctr1" id="h1">0</td><td class="ctr2" id="i1">1</td><td class="ctr1" id="j1">0</td><td class="ctr2" id="k1">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.12.202403270442</span>Code Coverage Report for JaCoCo 0.8.12-SNAPSHOT</div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/trunk/coverage/org.jacoco.report/org.jacoco.report.internal.html.table/SortIndex.html b/jacoco/trunk/coverage/org.jacoco.report/org.jacoco.report.internal.html.table/SortIndex.html
    new file mode 100644
    index 00000000000..00b65bc1127
    --- /dev/null
    +++ b/jacoco/trunk/coverage/org.jacoco.report/org.jacoco.report.internal.html.table/SortIndex.html
    @@ -0,0 +1 @@
    +<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="en"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../../jacoco-resources/report.gif" type="image/gif"/><title>SortIndex</title><script type="text/javascript" src="../../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../../index.html" class="el_report">JaCoCo</a> &gt; <a href="../index.html" class="el_bundle">org.jacoco.report</a> &gt; <a href="index.html" class="el_package">org.jacoco.report.internal.html.table</a> &gt; <span class="el_class">SortIndex</span></div><h1>SortIndex</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">0 of 83</td><td class="ctr2">100%</td><td class="bar">0 of 8</td><td class="ctr2">100%</td><td class="ctr1">0</td><td class="ctr2">7</td><td class="ctr1">0</td><td class="ctr2">18</td><td class="ctr1">0</td><td class="ctr2">3</td></tr></tfoot><tbody><tr><td id="a1"><a href="SortIndex.java.html#L69" class="el_method">init(List)</a></td><td class="bar" id="b0"><img src="../../jacoco-resources/greenbar.gif" width="120" height="10" title="67" alt="67"/></td><td class="ctr2" id="c0">100%</td><td class="bar" id="d0"><img src="../../jacoco-resources/greenbar.gif" width="120" height="10" title="8" alt="8"/></td><td class="ctr2" id="e0">100%</td><td class="ctr1" id="f0">0</td><td class="ctr2" id="g0">5</td><td class="ctr1" id="h0">0</td><td class="ctr2" id="i0">13</td><td class="ctr1" id="j0">0</td><td class="ctr2" id="k0">1</td></tr><tr><td id="a2"><a href="SortIndex.java.html#L48" class="el_method">SortIndex(Comparator)</a></td><td class="bar" id="b1"><img src="../../jacoco-resources/greenbar.gif" width="19" height="10" title="11" alt="11"/></td><td class="ctr2" id="c1">100%</td><td class="bar" id="d1"/><td class="ctr2" id="e1">n/a</td><td class="ctr1" id="f1">0</td><td class="ctr2" id="g1">1</td><td class="ctr1" id="h1">0</td><td class="ctr2" id="i1">4</td><td class="ctr1" id="j1">0</td><td class="ctr2" id="k1">1</td></tr><tr><td id="a0"><a href="SortIndex.java.html#L94" class="el_method">getPosition(int)</a></td><td class="bar" id="b2"><img src="../../jacoco-resources/greenbar.gif" width="8" height="10" title="5" alt="5"/></td><td class="ctr2" id="c2">100%</td><td class="bar" id="d2"/><td class="ctr2" id="e2">n/a</td><td class="ctr1" id="f2">0</td><td class="ctr2" id="g2">1</td><td class="ctr1" id="h2">0</td><td class="ctr2" id="i2">1</td><td class="ctr1" id="j2">0</td><td class="ctr2" id="k2">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.12.202403270442</span>Code Coverage Report for JaCoCo 0.8.12-SNAPSHOT</div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/trunk/coverage/org.jacoco.report/org.jacoco.report.internal.html.table/SortIndex.java.html b/jacoco/trunk/coverage/org.jacoco.report/org.jacoco.report.internal.html.table/SortIndex.java.html
    new file mode 100644
    index 00000000000..e89b4066d25
    --- /dev/null
    +++ b/jacoco/trunk/coverage/org.jacoco.report/org.jacoco.report.internal.html.table/SortIndex.java.html
    @@ -0,0 +1,98 @@
    +<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="en"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../../jacoco-resources/report.gif" type="image/gif"/><title>SortIndex.java</title><link rel="stylesheet" href="../../jacoco-resources/prettify.css" type="text/css"/><script type="text/javascript" src="../../jacoco-resources/prettify.js"></script></head><body onload="window['PR_TAB_WIDTH']=4;prettyPrint()"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../../index.html" class="el_report">JaCoCo</a> &gt; <a href="../index.html" class="el_bundle">org.jacoco.report</a> &gt; <a href="index.source.html" class="el_package">org.jacoco.report.internal.html.table</a> &gt; <span class="el_source">SortIndex.java</span></div><h1>SortIndex.java</h1><pre class="source lang-java linenums">/*******************************************************************************
    + * Copyright (c) 2009, 2024 Mountainminds GmbH &amp; Co. KG and Contributors
    + * This program and the accompanying materials are made available under
    + * the terms of the Eclipse Public License 2.0 which is available at
    + * http://www.eclipse.org/legal/epl-2.0
    + *
    + * SPDX-License-Identifier: EPL-2.0
    + *
    + * Contributors:
    + *    Marc R. Hoffmann - initial API and implementation
    + *
    + *******************************************************************************/
    +package org.jacoco.report.internal.html.table;
    +
    +import java.util.ArrayList;
    +import java.util.Collections;
    +import java.util.Comparator;
    +import java.util.List;
    +
    +/**
    + * A index on a list of items sorted with a given {@link Comparator}. The index
    + * does not change the list itself.
    + *
    + * @param &lt;T&gt;
    + *            type of the items
    + */
    +final class SortIndex&lt;T&gt; {
    +
    +	private final Comparator&lt;? super T&gt; comparator;
    +
    +	private class Entry implements Comparable&lt;Entry&gt; {
    +
    +		final int idx;
    +
    +		final T item;
    +
    +<span class="fc" id="L37">		Entry(final int idx, final T item) {</span>
    +<span class="fc" id="L38">			this.idx = idx;</span>
    +<span class="fc" id="L39">			this.item = item;</span>
    +<span class="fc" id="L40">		}</span>
    +
    +		public int compareTo(final Entry o) {
    +<span class="fc" id="L43">			return comparator.compare(item, o.item);</span>
    +		}
    +
    +	}
    +
    +<span class="fc" id="L48">	private final List&lt;Entry&gt; list = new ArrayList&lt;Entry&gt;();</span>
    +
    +	private int[] positions;
    +
    +	/**
    +	 * Creates a new index based in the given comparator.
    +	 *
    +	 * @param comparator
    +	 *            comparator to sort items
    +	 */
    +<span class="fc" id="L58">	public SortIndex(final Comparator&lt;? super T&gt; comparator) {</span>
    +<span class="fc" id="L59">		this.comparator = comparator;</span>
    +<span class="fc" id="L60">	}</span>
    +
    +	/**
    +	 * Initializes the index for the given list of items.
    +	 *
    +	 * @param items
    +	 *            list of items
    +	 */
    +	public void init(final List&lt;? extends T&gt; items) {
    +<span class="fc" id="L69">		this.list.clear();</span>
    +<span class="fc" id="L70">		int idx = 0;</span>
    +<span class="fc bfc" id="L71" title="All 2 branches covered.">		for (final T i : items) {</span>
    +<span class="fc" id="L72">			final Entry entry = new Entry(idx++, i);</span>
    +<span class="fc" id="L73">			this.list.add(entry);</span>
    +<span class="fc" id="L74">		}</span>
    +<span class="fc" id="L75">		Collections.sort(list);</span>
    +<span class="fc bfc" id="L76" title="All 4 branches covered.">		if (positions == null || positions.length &lt; items.size()) {</span>
    +<span class="fc" id="L77">			positions = new int[items.size()];</span>
    +		}
    +<span class="fc" id="L79">		int pos = 0;</span>
    +<span class="fc bfc" id="L80" title="All 2 branches covered.">		for (final Entry e : this.list) {</span>
    +<span class="fc" id="L81">			positions[e.idx] = pos++;</span>
    +		}
    +<span class="fc" id="L83">	}</span>
    +
    +	/**
    +	 * Returns the sorted position of the element with the given index in the
    +	 * items list provided to the init() method.
    +	 *
    +	 * @param idx
    +	 *            index of a element of the list
    +	 * @return its position in a sorted list
    +	 */
    +	public int getPosition(final int idx) {
    +<span class="fc" id="L94">		return positions[idx];</span>
    +	}
    +
    +}
    +</pre><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.12.202403270442</span>Code Coverage Report for JaCoCo 0.8.12-SNAPSHOT</div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/trunk/coverage/org.jacoco.report/org.jacoco.report.internal.html.table/Table$Column.html b/jacoco/trunk/coverage/org.jacoco.report/org.jacoco.report.internal.html.table/Table$Column.html
    new file mode 100644
    index 00000000000..b00527dbd64
    --- /dev/null
    +++ b/jacoco/trunk/coverage/org.jacoco.report/org.jacoco.report.internal.html.table/Table$Column.html
    @@ -0,0 +1 @@
    +<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="en"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../../jacoco-resources/report.gif" type="image/gif"/><title>Table.Column</title><script type="text/javascript" src="../../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../../index.html" class="el_report">JaCoCo</a> &gt; <a href="../index.html" class="el_bundle">org.jacoco.report</a> &gt; <a href="index.html" class="el_package">org.jacoco.report.internal.html.table</a> &gt; <span class="el_class">Table.Column</span></div><h1>Table.Column</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">0 of 126</td><td class="ctr2">100%</td><td class="bar">0 of 8</td><td class="ctr2">100%</td><td class="ctr1">0</td><td class="ctr2">8</td><td class="ctr1">0</td><td class="ctr2">24</td><td class="ctr1">0</td><td class="ctr2">4</td></tr></tfoot><tbody><tr><td id="a3"><a href="Table.java.html#L153" class="el_method">Table.Column(int, String, String, IColumnRenderer, boolean)</a></td><td class="bar" id="b0"><img src="../../jacoco-resources/greenbar.gif" width="120" height="10" title="46" alt="46"/></td><td class="ctr2" id="c0">100%</td><td class="bar" id="d0"><img src="../../jacoco-resources/greenbar.gif" width="120" height="10" title="2" alt="2"/></td><td class="ctr2" id="e0">100%</td><td class="ctr1" id="f0">0</td><td class="ctr2" id="g0">2</td><td class="ctr1" id="h0">0</td><td class="ctr2" id="i0">8</td><td class="ctr1" id="j0">0</td><td class="ctr2" id="k0">1</td></tr><tr><td id="a2"><a href="Table.java.html#L166" class="el_method">init(HTMLElement, List, ICoverageNode)</a></td><td class="bar" id="b1"><img src="../../jacoco-resources/greenbar.gif" width="88" height="10" title="34" alt="34"/></td><td class="ctr2" id="c1">100%</td><td class="bar" id="d1"><img src="../../jacoco-resources/greenbar.gif" width="120" height="10" title="2" alt="2"/></td><td class="ctr2" id="e1">100%</td><td class="ctr1" id="f1">0</td><td class="ctr2" id="g1">2</td><td class="ctr1" id="h1">0</td><td class="ctr2" id="i1">8</td><td class="ctr1" id="j1">0</td><td class="ctr2" id="k1">1</td></tr><tr><td id="a0"><a href="Table.java.html#L187" class="el_method">body(HTMLElement, int, ITableItem, Resources, ReportOutputFolder)</a></td><td class="bar" id="b2"><img src="../../jacoco-resources/greenbar.gif" width="83" height="10" title="32" alt="32"/></td><td class="ctr2" id="c2">100%</td><td class="bar" id="d2"><img src="../../jacoco-resources/greenbar.gif" width="120" height="10" title="2" alt="2"/></td><td class="ctr2" id="e2">100%</td><td class="ctr1" id="f2">0</td><td class="ctr2" id="g2">2</td><td class="ctr1" id="h2">0</td><td class="ctr2" id="i2">5</td><td class="ctr1" id="j2">0</td><td class="ctr2" id="k2">1</td></tr><tr><td id="a1"><a href="Table.java.html#L179" class="el_method">footer(HTMLElement, ICoverageNode, Resources, ReportOutputFolder)</a></td><td class="bar" id="b3"><img src="../../jacoco-resources/greenbar.gif" width="36" height="10" title="14" alt="14"/></td><td class="ctr2" id="c3">100%</td><td class="bar" id="d3"><img src="../../jacoco-resources/greenbar.gif" width="120" height="10" title="2" alt="2"/></td><td class="ctr2" id="e3">100%</td><td class="ctr1" id="f3">0</td><td class="ctr2" id="g3">2</td><td class="ctr1" id="h3">0</td><td class="ctr2" id="i3">3</td><td class="ctr1" id="j3">0</td><td class="ctr2" id="k3">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.12.202403270442</span>Code Coverage Report for JaCoCo 0.8.12-SNAPSHOT</div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/trunk/coverage/org.jacoco.report/org.jacoco.report.internal.html.table/Table.html b/jacoco/trunk/coverage/org.jacoco.report/org.jacoco.report.internal.html.table/Table.html
    new file mode 100644
    index 00000000000..d6b3187b584
    --- /dev/null
    +++ b/jacoco/trunk/coverage/org.jacoco.report/org.jacoco.report.internal.html.table/Table.html
    @@ -0,0 +1 @@
    +<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="en"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../../jacoco-resources/report.gif" type="image/gif"/><title>Table</title><script type="text/javascript" src="../../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../../index.html" class="el_report">JaCoCo</a> &gt; <a href="../index.html" class="el_bundle">org.jacoco.report</a> &gt; <a href="index.html" class="el_package">org.jacoco.report.internal.html.table</a> &gt; <span class="el_class">Table</span></div><h1>Table</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">0 of 168</td><td class="ctr2">100%</td><td class="bar">0 of 14</td><td class="ctr2">100%</td><td class="ctr1">0</td><td class="ctr2">14</td><td class="ctr1">0</td><td class="ctr2">38</td><td class="ctr1">0</td><td class="ctr2">7</td></tr></tfoot><tbody><tr><td id="a1"><a href="Table.java.html#L121" class="el_method">body(HTMLElement, List, Resources, ReportOutputFolder)</a></td><td class="bar" id="b0"><img src="../../jacoco-resources/greenbar.gif" width="120" height="10" title="40" alt="40"/></td><td class="ctr2" id="c0">100%</td><td class="bar" id="d0"><img src="../../jacoco-resources/greenbar.gif" width="120" height="10" title="4" alt="4"/></td><td class="ctr2" id="e0">100%</td><td class="ctr1" id="f0">0</td><td class="ctr2" id="g0">3</td><td class="ctr1" id="h0">0</td><td class="ctr2" id="i0">9</td><td class="ctr1" id="j0">0</td><td class="ctr2" id="k0">1</td></tr><tr><td id="a4"><a href="Table.java.html#L92" class="el_method">render(HTMLElement, List, ICoverageNode, Resources, ReportOutputFolder)</a></td><td class="bar" id="b1"><img src="../../jacoco-resources/greenbar.gif" width="90" height="10" title="30" alt="30"/></td><td class="ctr2" id="c1">100%</td><td class="bar" id="d5"/><td class="ctr2" id="e5">n/a</td><td class="ctr1" id="f1">0</td><td class="ctr2" id="g5">1</td><td class="ctr1" id="h1">0</td><td class="ctr2" id="i1">7</td><td class="ctr1" id="j1">0</td><td class="ctr2" id="k1">1</td></tr><tr><td id="a0"><a href="Table.java.html#L60" class="el_method">add(String, String, IColumnRenderer, boolean)</a></td><td class="bar" id="b2"><img src="../../jacoco-resources/greenbar.gif" width="87" height="10" title="29" alt="29"/></td><td class="ctr2" id="c2">100%</td><td class="bar" id="d1"><img src="../../jacoco-resources/greenbar.gif" width="120" height="10" title="4" alt="4"/></td><td class="ctr2" id="e1">100%</td><td class="ctr1" id="f2">0</td><td class="ctr2" id="g1">3</td><td class="ctr1" id="h2">0</td><td class="ctr2" id="i2">6</td><td class="ctr1" id="j2">0</td><td class="ctr2" id="k2">1</td></tr><tr><td id="a2"><a href="Table.java.html#L112" class="el_method">footer(HTMLElement, ICoverageNode, Resources, ReportOutputFolder)</a></td><td class="bar" id="b3"><img src="../../jacoco-resources/greenbar.gif" width="69" height="10" title="23" alt="23"/></td><td class="ctr2" id="c3">100%</td><td class="bar" id="d2"><img src="../../jacoco-resources/greenbar.gif" width="60" height="10" title="2" alt="2"/></td><td class="ctr2" id="e2">100%</td><td class="ctr1" id="f3">0</td><td class="ctr2" id="g2">2</td><td class="ctr1" id="h3">0</td><td class="ctr2" id="i4">4</td><td class="ctr1" id="j3">0</td><td class="ctr2" id="k3">1</td></tr><tr><td id="a3"><a href="Table.java.html#L103" class="el_method">header(HTMLElement, List, ICoverageNode)</a></td><td class="bar" id="b4"><img src="../../jacoco-resources/greenbar.gif" width="66" height="10" title="22" alt="22"/></td><td class="ctr2" id="c4">100%</td><td class="bar" id="d3"><img src="../../jacoco-resources/greenbar.gif" width="60" height="10" title="2" alt="2"/></td><td class="ctr2" id="e3">100%</td><td class="ctr1" id="f4">0</td><td class="ctr2" id="g3">2</td><td class="ctr1" id="h4">0</td><td class="ctr2" id="i5">4</td><td class="ctr1" id="j4">0</td><td class="ctr2" id="k4">1</td></tr><tr><td id="a5"><a href="Table.java.html#L134" class="el_method">sort(List)</a></td><td class="bar" id="b5"><img src="../../jacoco-resources/greenbar.gif" width="48" height="10" title="16" alt="16"/></td><td class="ctr2" id="c5">100%</td><td class="bar" id="d4"><img src="../../jacoco-resources/greenbar.gif" width="60" height="10" title="2" alt="2"/></td><td class="ctr2" id="e4">100%</td><td class="ctr1" id="f5">0</td><td class="ctr2" id="g4">2</td><td class="ctr1" id="h5">0</td><td class="ctr2" id="i3">5</td><td class="ctr1" id="j5">0</td><td class="ctr2" id="k5">1</td></tr><tr><td id="a6"><a href="Table.java.html#L39" class="el_method">Table()</a></td><td class="bar" id="b6"><img src="../../jacoco-resources/greenbar.gif" width="24" height="10" title="8" alt="8"/></td><td class="ctr2" id="c6">100%</td><td class="bar" id="d6"/><td class="ctr2" id="e6">n/a</td><td class="ctr1" id="f6">0</td><td class="ctr2" id="g6">1</td><td class="ctr1" id="h6">0</td><td class="ctr2" id="i6">3</td><td class="ctr1" id="j6">0</td><td class="ctr2" id="k6">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.12.202403270442</span>Code Coverage Report for JaCoCo 0.8.12-SNAPSHOT</div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/trunk/coverage/org.jacoco.report/org.jacoco.report.internal.html.table/Table.java.html b/jacoco/trunk/coverage/org.jacoco.report/org.jacoco.report.internal.html.table/Table.java.html
    new file mode 100644
    index 00000000000..1c39d4bf3dc
    --- /dev/null
    +++ b/jacoco/trunk/coverage/org.jacoco.report/org.jacoco.report.internal.html.table/Table.java.html
    @@ -0,0 +1,198 @@
    +<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="en"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../../jacoco-resources/report.gif" type="image/gif"/><title>Table.java</title><link rel="stylesheet" href="../../jacoco-resources/prettify.css" type="text/css"/><script type="text/javascript" src="../../jacoco-resources/prettify.js"></script></head><body onload="window['PR_TAB_WIDTH']=4;prettyPrint()"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../../index.html" class="el_report">JaCoCo</a> &gt; <a href="../index.html" class="el_bundle">org.jacoco.report</a> &gt; <a href="index.source.html" class="el_package">org.jacoco.report.internal.html.table</a> &gt; <span class="el_source">Table.java</span></div><h1>Table.java</h1><pre class="source lang-java linenums">/*******************************************************************************
    + * Copyright (c) 2009, 2024 Mountainminds GmbH &amp; Co. KG and Contributors
    + * This program and the accompanying materials are made available under
    + * the terms of the Eclipse Public License 2.0 which is available at
    + * http://www.eclipse.org/legal/epl-2.0
    + *
    + * SPDX-License-Identifier: EPL-2.0
    + *
    + * Contributors:
    + *    Marc R. Hoffmann - initial API and implementation
    + *
    + *******************************************************************************/
    +package org.jacoco.report.internal.html.table;
    +
    +import java.io.IOException;
    +import java.util.ArrayList;
    +import java.util.Collections;
    +import java.util.Comparator;
    +import java.util.List;
    +
    +import org.jacoco.core.analysis.ICoverageNode;
    +import org.jacoco.report.internal.ReportOutputFolder;
    +import org.jacoco.report.internal.html.HTMLElement;
    +import org.jacoco.report.internal.html.resources.Resources;
    +import org.jacoco.report.internal.html.resources.Styles;
    +
    +/**
    + * Renderer for a table of {@link ITableItem}s.
    + */
    +public class Table {
    +
    +	private final List&lt;Column&gt; columns;
    +
    +	private Comparator&lt;ITableItem&gt; defaultComparator;
    +
    +	/**
    +	 * Create a new table without any columns yet.
    +	 */
    +<span class="fc" id="L39">	public Table() {</span>
    +<span class="fc" id="L40">		this.columns = new ArrayList&lt;Table.Column&gt;();</span>
    +<span class="fc" id="L41">	}</span>
    +
    +	/**
    +	 * Adds a new column with the given properties to the table.
    +	 *
    +	 * @param header
    +	 *            column header caption
    +	 * @param style
    +	 *            optional CSS style class name for the td-Elements of this
    +	 *            column
    +	 * @param renderer
    +	 *            callback for column rendering
    +	 * @param defaultSorting
    +	 *            If &lt;code&gt;true&lt;/code&gt;, this column is the default sorting
    +	 *            column. Only one column can be selected for default sorting.
    +	 *
    +	 */
    +	public void add(final String header, final String style,
    +			final IColumnRenderer renderer, final boolean defaultSorting) {
    +<span class="fc" id="L60">		columns.add(new Column(columns.size(), header, style, renderer,</span>
    +				defaultSorting));
    +<span class="fc bfc" id="L62" title="All 2 branches covered.">		if (defaultSorting) {</span>
    +<span class="fc bfc" id="L63" title="All 2 branches covered.">			if (defaultComparator != null) {</span>
    +<span class="fc" id="L64">				throw new IllegalStateException(</span>
    +						&quot;Default sorting only allowed for one column.&quot;);
    +			}
    +<span class="fc" id="L67">			this.defaultComparator = renderer.getComparator();</span>
    +		}
    +<span class="fc" id="L69">	}</span>
    +
    +	/**
    +	 * Renders a table for the given icon
    +	 *
    +	 * @param parent
    +	 *            parent element in which the table is created
    +	 * @param items
    +	 *            items that will make the table rows
    +	 * @param total
    +	 *            the summary of all coverage data items in the table static
    +	 *            resources that might be referenced
    +	 * @param resources
    +	 *            static resources that might be referenced
    +	 * @param base
    +	 *            base folder of the table
    +	 * @throws IOException
    +	 *             in case of IO problems with the element output
    +	 */
    +	public void render(final HTMLElement parent,
    +			final List&lt;? extends ITableItem&gt; items, final ICoverageNode total,
    +			final Resources resources, final ReportOutputFolder base)
    +			throws IOException {
    +<span class="fc" id="L92">		final List&lt;? extends ITableItem&gt; sortedItems = sort(items);</span>
    +<span class="fc" id="L93">		final HTMLElement table = parent.table(Styles.COVERAGETABLE);</span>
    +<span class="fc" id="L94">		table.attr(&quot;id&quot;, &quot;coveragetable&quot;);</span>
    +<span class="fc" id="L95">		header(table, sortedItems, total);</span>
    +<span class="fc" id="L96">		footer(table, total, resources, base);</span>
    +<span class="fc" id="L97">		body(table, sortedItems, resources, base);</span>
    +<span class="fc" id="L98">	}</span>
    +
    +	private void header(final HTMLElement table,
    +			final List&lt;? extends ITableItem&gt; items, final ICoverageNode total)
    +			throws IOException {
    +<span class="fc" id="L103">		final HTMLElement tr = table.thead().tr();</span>
    +<span class="fc bfc" id="L104" title="All 2 branches covered.">		for (final Column c : columns) {</span>
    +<span class="fc" id="L105">			c.init(tr, items, total);</span>
    +		}
    +<span class="fc" id="L107">	}</span>
    +
    +	private void footer(final HTMLElement table, final ICoverageNode total,
    +			final Resources resources, final ReportOutputFolder base)
    +			throws IOException {
    +<span class="fc" id="L112">		final HTMLElement tr = table.tfoot().tr();</span>
    +<span class="fc bfc" id="L113" title="All 2 branches covered.">		for (final Column c : columns) {</span>
    +<span class="fc" id="L114">			c.footer(tr, total, resources, base);</span>
    +		}
    +<span class="fc" id="L116">	}</span>
    +
    +	private void body(final HTMLElement table,
    +			final List&lt;? extends ITableItem&gt; items, final Resources resources,
    +			final ReportOutputFolder base) throws IOException {
    +<span class="fc" id="L121">		final HTMLElement tbody = table.tbody();</span>
    +<span class="fc" id="L122">		int idx = 0;</span>
    +<span class="fc bfc" id="L123" title="All 2 branches covered.">		for (final ITableItem item : items) {</span>
    +<span class="fc" id="L124">			final HTMLElement tr = tbody.tr();</span>
    +<span class="fc bfc" id="L125" title="All 2 branches covered.">			for (final Column c : columns) {</span>
    +<span class="fc" id="L126">				c.body(tr, idx, item, resources, base);</span>
    +			}
    +<span class="fc" id="L128">			idx++;</span>
    +<span class="fc" id="L129">		}</span>
    +<span class="fc" id="L130">	}</span>
    +
    +	private List&lt;? extends ITableItem&gt; sort(
    +			final List&lt;? extends ITableItem&gt; items) {
    +<span class="fc bfc" id="L134" title="All 2 branches covered.">		if (defaultComparator != null) {</span>
    +<span class="fc" id="L135">			final List&lt;ITableItem&gt; result = new ArrayList&lt;ITableItem&gt;(items);</span>
    +<span class="fc" id="L136">			Collections.sort(result, defaultComparator);</span>
    +<span class="fc" id="L137">			return result;</span>
    +		}
    +<span class="fc" id="L139">		return items;</span>
    +	}
    +
    +	private static class Column {
    +
    +		private final char idprefix;
    +		private final String header;
    +		private final IColumnRenderer renderer;
    +		private final SortIndex&lt;ITableItem&gt; index;
    +		private final String style, headerStyle;
    +
    +		private boolean visible;
    +
    +		Column(final int idx, final String header, final String style,
    +<span class="fc" id="L153">				final IColumnRenderer renderer, final boolean defaultSorting) {</span>
    +<span class="fc" id="L154">			this.idprefix = (char) ('a' + idx);</span>
    +<span class="fc" id="L155">			this.header = header;</span>
    +<span class="fc" id="L156">			this.renderer = renderer;</span>
    +<span class="fc" id="L157">			index = new SortIndex&lt;ITableItem&gt;(renderer.getComparator());</span>
    +<span class="fc" id="L158">			this.style = style;</span>
    +<span class="fc bfc" id="L159" title="All 2 branches covered.">			this.headerStyle = Styles.combine(</span>
    +					defaultSorting ? Styles.DOWN : null, Styles.SORTABLE,
    +					style);
    +<span class="fc" id="L162">		}</span>
    +
    +		void init(final HTMLElement tr, final List&lt;? extends ITableItem&gt; items,
    +				final ICoverageNode total) throws IOException {
    +<span class="fc" id="L166">			visible = renderer.init(items, total);</span>
    +<span class="fc bfc" id="L167" title="All 2 branches covered.">			if (visible) {</span>
    +<span class="fc" id="L168">				index.init(items);</span>
    +<span class="fc" id="L169">				final HTMLElement td = tr.td(headerStyle);</span>
    +<span class="fc" id="L170">				td.attr(&quot;id&quot;, String.valueOf(idprefix));</span>
    +<span class="fc" id="L171">				td.attr(&quot;onclick&quot;, &quot;toggleSort(this)&quot;);</span>
    +<span class="fc" id="L172">				td.text(header);</span>
    +			}
    +<span class="fc" id="L174">		}</span>
    +
    +		void footer(final HTMLElement tr, final ICoverageNode total,
    +				final Resources resources, final ReportOutputFolder base)
    +				throws IOException {
    +<span class="fc bfc" id="L179" title="All 2 branches covered.">			if (visible) {</span>
    +<span class="fc" id="L180">				renderer.footer(tr.td(style), total, resources, base);</span>
    +			}
    +<span class="fc" id="L182">		}</span>
    +
    +		void body(final HTMLElement tr, final int idx, final ITableItem item,
    +				final Resources resources, final ReportOutputFolder base)
    +				throws IOException {
    +<span class="fc bfc" id="L187" title="All 2 branches covered.">			if (visible) {</span>
    +<span class="fc" id="L188">				final HTMLElement td = tr.td(style);</span>
    +<span class="fc" id="L189">				td.attr(&quot;id&quot;,</span>
    +						idprefix + String.valueOf(index.getPosition(idx)));
    +<span class="fc" id="L191">				renderer.item(td, item, resources, base);</span>
    +			}
    +<span class="fc" id="L193">		}</span>
    +
    +	}
    +
    +}
    +</pre><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.12.202403270442</span>Code Coverage Report for JaCoCo 0.8.12-SNAPSHOT</div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/trunk/coverage/org.jacoco.report/org.jacoco.report.internal.html.table/TableItemComparator.html b/jacoco/trunk/coverage/org.jacoco.report/org.jacoco.report.internal.html.table/TableItemComparator.html
    new file mode 100644
    index 00000000000..0f1434e4c3c
    --- /dev/null
    +++ b/jacoco/trunk/coverage/org.jacoco.report/org.jacoco.report.internal.html.table/TableItemComparator.html
    @@ -0,0 +1 @@
    +<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="en"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../../jacoco-resources/report.gif" type="image/gif"/><title>TableItemComparator</title><script type="text/javascript" src="../../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../../index.html" class="el_report">JaCoCo</a> &gt; <a href="../index.html" class="el_bundle">org.jacoco.report</a> &gt; <a href="index.html" class="el_package">org.jacoco.report.internal.html.table</a> &gt; <span class="el_class">TableItemComparator</span></div><h1>TableItemComparator</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">0 of 14</td><td class="ctr2">100%</td><td class="bar">0 of 0</td><td class="ctr2">n/a</td><td class="ctr1">0</td><td class="ctr2">2</td><td class="ctr1">0</td><td class="ctr2">4</td><td class="ctr1">0</td><td class="ctr2">2</td></tr></tfoot><tbody><tr><td id="a0"><a href="TableItemComparator.java.html#L31" class="el_method">compare(ITableItem, ITableItem)</a></td><td class="bar" id="b0"><img src="../../jacoco-resources/greenbar.gif" width="120" height="10" title="8" alt="8"/></td><td class="ctr2" id="c0">100%</td><td class="bar" id="d0"/><td class="ctr2" id="e0">n/a</td><td class="ctr1" id="f0">0</td><td class="ctr2" id="g0">1</td><td class="ctr1" id="h0">0</td><td class="ctr2" id="i1">1</td><td class="ctr1" id="j0">0</td><td class="ctr2" id="k0">1</td></tr><tr><td id="a1"><a href="TableItemComparator.java.html#L26" class="el_method">TableItemComparator(Comparator)</a></td><td class="bar" id="b1"><img src="../../jacoco-resources/greenbar.gif" width="90" height="10" title="6" alt="6"/></td><td class="ctr2" id="c1">100%</td><td class="bar" id="d1"/><td class="ctr2" id="e1">n/a</td><td class="ctr1" id="f1">0</td><td class="ctr2" id="g1">1</td><td class="ctr1" id="h1">0</td><td class="ctr2" id="i0">3</td><td class="ctr1" id="j1">0</td><td class="ctr2" id="k1">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.12.202403270442</span>Code Coverage Report for JaCoCo 0.8.12-SNAPSHOT</div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/trunk/coverage/org.jacoco.report/org.jacoco.report.internal.html.table/TableItemComparator.java.html b/jacoco/trunk/coverage/org.jacoco.report/org.jacoco.report.internal.html.table/TableItemComparator.java.html
    new file mode 100644
    index 00000000000..56f980ff116
    --- /dev/null
    +++ b/jacoco/trunk/coverage/org.jacoco.report/org.jacoco.report.internal.html.table/TableItemComparator.java.html
    @@ -0,0 +1,35 @@
    +<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="en"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../../jacoco-resources/report.gif" type="image/gif"/><title>TableItemComparator.java</title><link rel="stylesheet" href="../../jacoco-resources/prettify.css" type="text/css"/><script type="text/javascript" src="../../jacoco-resources/prettify.js"></script></head><body onload="window['PR_TAB_WIDTH']=4;prettyPrint()"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../../index.html" class="el_report">JaCoCo</a> &gt; <a href="../index.html" class="el_bundle">org.jacoco.report</a> &gt; <a href="index.source.html" class="el_package">org.jacoco.report.internal.html.table</a> &gt; <span class="el_source">TableItemComparator.java</span></div><h1>TableItemComparator.java</h1><pre class="source lang-java linenums">/*******************************************************************************
    + * Copyright (c) 2009, 2024 Mountainminds GmbH &amp; Co. KG and Contributors
    + * This program and the accompanying materials are made available under
    + * the terms of the Eclipse Public License 2.0 which is available at
    + * http://www.eclipse.org/legal/epl-2.0
    + *
    + * SPDX-License-Identifier: EPL-2.0
    + *
    + * Contributors:
    + *    Marc R. Hoffmann - initial API and implementation
    + *
    + *******************************************************************************/
    +package org.jacoco.report.internal.html.table;
    +
    +import java.util.Comparator;
    +
    +import org.jacoco.core.analysis.ICoverageNode;
    +
    +/**
    + * Adapter to sort table items based on their coverage nodes.
    + */
    +class TableItemComparator implements Comparator&lt;ITableItem&gt; {
    +
    +	private final Comparator&lt;ICoverageNode&gt; comparator;
    +
    +<span class="fc" id="L26">	TableItemComparator(final Comparator&lt;ICoverageNode&gt; comparator) {</span>
    +<span class="fc" id="L27">		this.comparator = comparator;</span>
    +<span class="fc" id="L28">	}</span>
    +
    +	public int compare(final ITableItem i1, final ITableItem i2) {
    +<span class="fc" id="L31">		return comparator.compare(i1.getNode(), i2.getNode());</span>
    +	}
    +
    +}
    +</pre><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.12.202403270442</span>Code Coverage Report for JaCoCo 0.8.12-SNAPSHOT</div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/trunk/coverage/org.jacoco.report/org.jacoco.report.internal.html.table/index.html b/jacoco/trunk/coverage/org.jacoco.report/org.jacoco.report.internal.html.table/index.html
    new file mode 100644
    index 00000000000..35b9834de93
    --- /dev/null
    +++ b/jacoco/trunk/coverage/org.jacoco.report/org.jacoco.report.internal.html.table/index.html
    @@ -0,0 +1 @@
    +<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="en"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../../jacoco-resources/report.gif" type="image/gif"/><title>org.jacoco.report.internal.html.table</title><script type="text/javascript" src="../../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb', 'coveragetable'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="index.source.html" class="el_source">Source Files</a><a href="../../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../../index.html" class="el_report">JaCoCo</a> &gt; <a href="../index.html" class="el_bundle">org.jacoco.report</a> &gt; <span class="el_package">org.jacoco.report.internal.html.table</span></div><h1>org.jacoco.report.internal.html.table</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td><td class="sortable ctr1" id="l" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="m" onclick="toggleSort(this)">Classes</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">0 of 766</td><td class="ctr2">100%</td><td class="bar">0 of 44</td><td class="ctr2">100%</td><td class="ctr1">0</td><td class="ctr2">76</td><td class="ctr1">0</td><td class="ctr2">172</td><td class="ctr1">0</td><td class="ctr2">54</td><td class="ctr1">0</td><td class="ctr2">13</td></tr></tfoot><tbody><tr><td id="a10"><a href="Table.html" class="el_class">Table</a></td><td class="bar" id="b0"><img src="../../jacoco-resources/greenbar.gif" width="120" height="10" title="168" alt="168"/></td><td class="ctr2" id="c0">100%</td><td class="bar" id="d0"><img src="../../jacoco-resources/greenbar.gif" width="120" height="10" title="14" alt="14"/></td><td class="ctr2" id="e0">100%</td><td class="ctr1" id="f0">0</td><td class="ctr2" id="g0">14</td><td class="ctr1" id="h0">0</td><td class="ctr2" id="i0">38</td><td class="ctr1" id="j0">0</td><td class="ctr2" id="k1">7</td><td class="ctr1" id="l0">0</td><td class="ctr2" id="m0">1</td></tr><tr><td id="a0"><a href="BarColumn.html" class="el_class">BarColumn</a></td><td class="bar" id="b1"><img src="../../jacoco-resources/greenbar.gif" width="96" height="10" title="135" alt="135"/></td><td class="ctr2" id="c1">100%</td><td class="bar" id="d1"><img src="../../jacoco-resources/greenbar.gif" width="68" height="10" title="8" alt="8"/></td><td class="ctr2" id="e1">100%</td><td class="ctr1" id="f1">0</td><td class="ctr2" id="g2">10</td><td class="ctr1" id="h1">0</td><td class="ctr2" id="i1">29</td><td class="ctr1" id="j1">0</td><td class="ctr2" id="k3">6</td><td class="ctr1" id="l1">0</td><td class="ctr2" id="m1">1</td></tr><tr><td id="a11"><a href="Table$Column.html" class="el_class">Table.Column</a></td><td class="bar" id="b2"><img src="../../jacoco-resources/greenbar.gif" width="90" height="10" title="126" alt="126"/></td><td class="ctr2" id="c2">100%</td><td class="bar" id="d2"><img src="../../jacoco-resources/greenbar.gif" width="68" height="10" title="8" alt="8"/></td><td class="ctr2" id="e2">100%</td><td class="ctr1" id="f2">0</td><td class="ctr2" id="g3">8</td><td class="ctr1" id="h2">0</td><td class="ctr2" id="i2">24</td><td class="ctr1" id="j2">0</td><td class="ctr2" id="k5">4</td><td class="ctr1" id="l2">0</td><td class="ctr2" id="m2">1</td></tr><tr><td id="a1"><a href="CounterColumn.html" class="el_class">CounterColumn</a></td><td class="bar" id="b3"><img src="../../jacoco-resources/greenbar.gif" width="69" height="10" title="97" alt="97"/></td><td class="ctr2" id="c3">100%</td><td class="bar" id="d4"><img src="../../jacoco-resources/greenbar.gif" width="34" height="10" title="4" alt="4"/></td><td class="ctr2" id="e3">100%</td><td class="ctr1" id="f3">0</td><td class="ctr2" id="g1">11</td><td class="ctr1" id="h3">0</td><td class="ctr2" id="i3">20</td><td class="ctr1" id="j3">0</td><td class="ctr2" id="k0">9</td><td class="ctr1" id="l3">0</td><td class="ctr2" id="m3">1</td></tr><tr><td id="a8"><a href="SortIndex.html" class="el_class">SortIndex</a></td><td class="bar" id="b4"><img src="../../jacoco-resources/greenbar.gif" width="59" height="10" title="83" alt="83"/></td><td class="ctr2" id="c4">100%</td><td class="bar" id="d3"><img src="../../jacoco-resources/greenbar.gif" width="68" height="10" title="8" alt="8"/></td><td class="ctr2" id="e4">100%</td><td class="ctr1" id="f4">0</td><td class="ctr2" id="g5">7</td><td class="ctr1" id="h4">0</td><td class="ctr2" id="i4">18</td><td class="ctr1" id="j4">0</td><td class="ctr2" id="k6">3</td><td class="ctr1" id="l4">0</td><td class="ctr2" id="m4">1</td></tr><tr><td id="a7"><a href="PercentageColumn.html" class="el_class">PercentageColumn</a></td><td class="bar" id="b5"><img src="../../jacoco-resources/greenbar.gif" width="45" height="10" title="64" alt="64"/></td><td class="ctr2" id="c5">100%</td><td class="bar" id="d5"><img src="../../jacoco-resources/greenbar.gif" width="17" height="10" title="2" alt="2"/></td><td class="ctr2" id="e5">100%</td><td class="ctr1" id="f5">0</td><td class="ctr2" id="g4">8</td><td class="ctr1" id="h5">0</td><td class="ctr2" id="i5">18</td><td class="ctr1" id="j5">0</td><td class="ctr2" id="k2">7</td><td class="ctr1" id="l5">0</td><td class="ctr2" id="m5">1</td></tr><tr><td id="a5"><a href="LabelColumn.html" class="el_class">LabelColumn</a></td><td class="bar" id="b6"><img src="../../jacoco-resources/greenbar.gif" width="15" height="10" title="22" alt="22"/></td><td class="ctr2" id="c6">100%</td><td class="bar" id="d6"/><td class="ctr2" id="e6">n/a</td><td class="ctr1" id="f6">0</td><td class="ctr2" id="g6">6</td><td class="ctr1" id="h6">0</td><td class="ctr2" id="i6">8</td><td class="ctr1" id="j6">0</td><td class="ctr2" id="k4">6</td><td class="ctr1" id="l6">0</td><td class="ctr2" id="m6">1</td></tr><tr><td id="a9"><a href="SortIndex$Entry.html" class="el_class">SortIndex.Entry</a></td><td class="bar" id="b7"><img src="../../jacoco-resources/greenbar.gif" width="15" height="10" title="21" alt="21"/></td><td class="ctr2" id="c7">100%</td><td class="bar" id="d7"/><td class="ctr2" id="e7">n/a</td><td class="ctr1" id="f7">0</td><td class="ctr2" id="g7">2</td><td class="ctr1" id="h7">0</td><td class="ctr2" id="i7">5</td><td class="ctr1" id="j7">0</td><td class="ctr2" id="k7">2</td><td class="ctr1" id="l7">0</td><td class="ctr2" id="m7">1</td></tr><tr><td id="a12"><a href="TableItemComparator.html" class="el_class">TableItemComparator</a></td><td class="bar" id="b8"><img src="../../jacoco-resources/greenbar.gif" width="10" height="10" title="14" alt="14"/></td><td class="ctr2" id="c8">100%</td><td class="bar" id="d8"/><td class="ctr2" id="e8">n/a</td><td class="ctr1" id="f8">0</td><td class="ctr2" id="g8">2</td><td class="ctr1" id="h8">0</td><td class="ctr2" id="i8">4</td><td class="ctr1" id="j8">0</td><td class="ctr2" id="k8">2</td><td class="ctr1" id="l8">0</td><td class="ctr2" id="m8">1</td></tr><tr><td id="a2"><a href="CounterColumn$1.html" class="el_class">CounterColumn.new CounterColumn() {...}</a></td><td class="bar" id="b9"><img src="../../jacoco-resources/greenbar.gif" width="6" height="10" title="9" alt="9"/></td><td class="ctr2" id="c9">100%</td><td class="bar" id="d9"/><td class="ctr2" id="e9">n/a</td><td class="ctr1" id="f9">0</td><td class="ctr2" id="g9">2</td><td class="ctr1" id="h9">0</td><td class="ctr2" id="i9">2</td><td class="ctr1" id="j9">0</td><td class="ctr2" id="k9">2</td><td class="ctr1" id="l9">0</td><td class="ctr2" id="m9">1</td></tr><tr><td id="a3"><a href="CounterColumn$2.html" class="el_class">CounterColumn.new CounterColumn() {...}</a></td><td class="bar" id="b10"><img src="../../jacoco-resources/greenbar.gif" width="6" height="10" title="9" alt="9"/></td><td class="ctr2" id="c10">100%</td><td class="bar" id="d10"/><td class="ctr2" id="e10">n/a</td><td class="ctr1" id="f10">0</td><td class="ctr2" id="g10">2</td><td class="ctr1" id="h10">0</td><td class="ctr2" id="i10">2</td><td class="ctr1" id="j10">0</td><td class="ctr2" id="k10">2</td><td class="ctr1" id="l10">0</td><td class="ctr2" id="m10">1</td></tr><tr><td id="a4"><a href="CounterColumn$3.html" class="el_class">CounterColumn.new CounterColumn() {...}</a></td><td class="bar" id="b11"><img src="../../jacoco-resources/greenbar.gif" width="6" height="10" title="9" alt="9"/></td><td class="ctr2" id="c11">100%</td><td class="bar" id="d11"/><td class="ctr2" id="e11">n/a</td><td class="ctr1" id="f11">0</td><td class="ctr2" id="g11">2</td><td class="ctr1" id="h11">0</td><td class="ctr2" id="i11">2</td><td class="ctr1" id="j11">0</td><td class="ctr2" id="k11">2</td><td class="ctr1" id="l11">0</td><td class="ctr2" id="m11">1</td></tr><tr><td id="a6"><a href="LabelColumn$1.html" class="el_class">LabelColumn.new Comparator() {...}</a></td><td class="bar" id="b12"><img src="../../jacoco-resources/greenbar.gif" width="6" height="10" title="9" alt="9"/></td><td class="ctr2" id="c12">100%</td><td class="bar" id="d12"/><td class="ctr2" id="e12">n/a</td><td class="ctr1" id="f12">0</td><td class="ctr2" id="g12">2</td><td class="ctr1" id="h12">0</td><td class="ctr2" id="i12">2</td><td class="ctr1" id="j12">0</td><td class="ctr2" id="k12">2</td><td class="ctr1" id="l12">0</td><td class="ctr2" id="m12">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.12.202403270442</span>Code Coverage Report for JaCoCo 0.8.12-SNAPSHOT</div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/trunk/coverage/org.jacoco.report/org.jacoco.report.internal.html.table/index.source.html b/jacoco/trunk/coverage/org.jacoco.report/org.jacoco.report.internal.html.table/index.source.html
    new file mode 100644
    index 00000000000..dfeb89d2af8
    --- /dev/null
    +++ b/jacoco/trunk/coverage/org.jacoco.report/org.jacoco.report.internal.html.table/index.source.html
    @@ -0,0 +1 @@
    +<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="en"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../../jacoco-resources/report.gif" type="image/gif"/><title>org.jacoco.report.internal.html.table</title><script type="text/javascript" src="../../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb', 'coveragetable'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="index.html" class="el_class">Classes</a><a href="../../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../../index.html" class="el_report">JaCoCo</a> &gt; <a href="../index.html" class="el_bundle">org.jacoco.report</a> &gt; <span class="el_package">org.jacoco.report.internal.html.table</span></div><h1>org.jacoco.report.internal.html.table</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td><td class="sortable ctr1" id="l" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="m" onclick="toggleSort(this)">Classes</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">0 of 766</td><td class="ctr2">100%</td><td class="bar">0 of 44</td><td class="ctr2">100%</td><td class="ctr1">0</td><td class="ctr2">76</td><td class="ctr1">0</td><td class="ctr2">172</td><td class="ctr1">0</td><td class="ctr2">54</td><td class="ctr1">0</td><td class="ctr2">13</td></tr></tfoot><tbody><tr><td id="a5"><a href="Table.java.html" class="el_source">Table.java</a></td><td class="bar" id="b0"><img src="../../jacoco-resources/greenbar.gif" width="120" height="10" title="294" alt="294"/></td><td class="ctr2" id="c0">100%</td><td class="bar" id="d0"><img src="../../jacoco-resources/greenbar.gif" width="120" height="10" title="22" alt="22"/></td><td class="ctr2" id="e0">100%</td><td class="ctr1" id="f0">0</td><td class="ctr2" id="g0">22</td><td class="ctr1" id="h0">0</td><td class="ctr2" id="i0">62</td><td class="ctr1" id="j0">0</td><td class="ctr2" id="k1">11</td><td class="ctr1" id="l0">0</td><td class="ctr2" id="m1">2</td></tr><tr><td id="a0"><a href="BarColumn.java.html" class="el_source">BarColumn.java</a></td><td class="bar" id="b1"><img src="../../jacoco-resources/greenbar.gif" width="55" height="10" title="135" alt="135"/></td><td class="ctr2" id="c1">100%</td><td class="bar" id="d1"><img src="../../jacoco-resources/greenbar.gif" width="43" height="10" title="8" alt="8"/></td><td class="ctr2" id="e1">100%</td><td class="ctr1" id="f1">0</td><td class="ctr2" id="g2">10</td><td class="ctr1" id="h1">0</td><td class="ctr2" id="i1">29</td><td class="ctr1" id="j1">0</td><td class="ctr2" id="k4">6</td><td class="ctr1" id="l1">0</td><td class="ctr2" id="m4">1</td></tr><tr><td id="a1"><a href="CounterColumn.java.html" class="el_source">CounterColumn.java</a></td><td class="bar" id="b2"><img src="../../jacoco-resources/greenbar.gif" width="50" height="10" title="124" alt="124"/></td><td class="ctr2" id="c2">100%</td><td class="bar" id="d3"><img src="../../jacoco-resources/greenbar.gif" width="21" height="10" title="4" alt="4"/></td><td class="ctr2" id="e2">100%</td><td class="ctr1" id="f2">0</td><td class="ctr2" id="g1">17</td><td class="ctr1" id="h2">0</td><td class="ctr2" id="i2">26</td><td class="ctr1" id="j2">0</td><td class="ctr2" id="k0">15</td><td class="ctr1" id="l2">0</td><td class="ctr2" id="m0">4</td></tr><tr><td id="a4"><a href="SortIndex.java.html" class="el_source">SortIndex.java</a></td><td class="bar" id="b3"><img src="../../jacoco-resources/greenbar.gif" width="42" height="10" title="104" alt="104"/></td><td class="ctr2" id="c3">100%</td><td class="bar" id="d2"><img src="../../jacoco-resources/greenbar.gif" width="43" height="10" title="8" alt="8"/></td><td class="ctr2" id="e3">100%</td><td class="ctr1" id="f3">0</td><td class="ctr2" id="g3">9</td><td class="ctr1" id="h3">0</td><td class="ctr2" id="i3">23</td><td class="ctr1" id="j3">0</td><td class="ctr2" id="k5">5</td><td class="ctr1" id="l3">0</td><td class="ctr2" id="m2">2</td></tr><tr><td id="a3"><a href="PercentageColumn.java.html" class="el_source">PercentageColumn.java</a></td><td class="bar" id="b4"><img src="../../jacoco-resources/greenbar.gif" width="26" height="10" title="64" alt="64"/></td><td class="ctr2" id="c4">100%</td><td class="bar" id="d4"><img src="../../jacoco-resources/greenbar.gif" width="10" height="10" title="2" alt="2"/></td><td class="ctr2" id="e4">100%</td><td class="ctr1" id="f4">0</td><td class="ctr2" id="g4">8</td><td class="ctr1" id="h4">0</td><td class="ctr2" id="i4">18</td><td class="ctr1" id="j4">0</td><td class="ctr2" id="k3">7</td><td class="ctr1" id="l4">0</td><td class="ctr2" id="m5">1</td></tr><tr><td id="a2"><a href="LabelColumn.java.html" class="el_source">LabelColumn.java</a></td><td class="bar" id="b5"><img src="../../jacoco-resources/greenbar.gif" width="12" height="10" title="31" alt="31"/></td><td class="ctr2" id="c5">100%</td><td class="bar" id="d5"/><td class="ctr2" id="e5">n/a</td><td class="ctr1" id="f5">0</td><td class="ctr2" id="g5">8</td><td class="ctr1" id="h5">0</td><td class="ctr2" id="i5">10</td><td class="ctr1" id="j5">0</td><td class="ctr2" id="k2">8</td><td class="ctr1" id="l5">0</td><td class="ctr2" id="m3">2</td></tr><tr><td id="a6"><a href="TableItemComparator.java.html" class="el_source">TableItemComparator.java</a></td><td class="bar" id="b6"><img src="../../jacoco-resources/greenbar.gif" width="5" height="10" title="14" alt="14"/></td><td class="ctr2" id="c6">100%</td><td class="bar" id="d6"/><td class="ctr2" id="e6">n/a</td><td class="ctr1" id="f6">0</td><td class="ctr2" id="g6">2</td><td class="ctr1" id="h6">0</td><td class="ctr2" id="i6">4</td><td class="ctr1" id="j6">0</td><td class="ctr2" id="k6">2</td><td class="ctr1" id="l6">0</td><td class="ctr2" id="m6">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.12.202403270442</span>Code Coverage Report for JaCoCo 0.8.12-SNAPSHOT</div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/trunk/coverage/org.jacoco.report/org.jacoco.report.internal.html/HTMLElement.html b/jacoco/trunk/coverage/org.jacoco.report/org.jacoco.report.internal.html/HTMLElement.html
    new file mode 100644
    index 00000000000..0e5500d55bf
    --- /dev/null
    +++ b/jacoco/trunk/coverage/org.jacoco.report/org.jacoco.report.internal.html/HTMLElement.html
    @@ -0,0 +1 @@
    +<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="en"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../../jacoco-resources/report.gif" type="image/gif"/><title>HTMLElement</title><script type="text/javascript" src="../../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../../index.html" class="el_report">JaCoCo</a> &gt; <a href="../index.html" class="el_bundle">org.jacoco.report</a> &gt; <a href="index.html" class="el_package">org.jacoco.report.internal.html</a> &gt; <span class="el_class">HTMLElement</span></div><h1>HTMLElement</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">0 of 254</td><td class="ctr2">100%</td><td class="bar">0 of 2</td><td class="ctr2">100%</td><td class="ctr1">0</td><td class="ctr2">30</td><td class="ctr1">0</td><td class="ctr2">74</td><td class="ctr1">0</td><td class="ctr2">29</td></tr></tfoot><tbody><tr><td id="a12"><a href="HTMLElement.java.html#L401" class="el_method">img(String, int, int, String)</a></td><td class="bar" id="b0"><img src="../../jacoco-resources/greenbar.gif" width="120" height="10" title="27" alt="27"/></td><td class="ctr2" id="c0">100%</td><td class="bar" id="d1"/><td class="ctr2" id="e1">n/a</td><td class="ctr1" id="f0">0</td><td class="ctr2" id="g1">1</td><td class="ctr1" id="h0">0</td><td class="ctr2" id="i0">8</td><td class="ctr1" id="j0">0</td><td class="ctr2" id="k0">1</td></tr><tr><td id="a0"><a href="HTMLElement.java.html#L289" class="el_method">a(ILinkable, ReportOutputFolder)</a></td><td class="bar" id="b1"><img src="../../jacoco-resources/greenbar.gif" width="106" height="10" title="24" alt="24"/></td><td class="ctr2" id="c1">100%</td><td class="bar" id="d0"><img src="../../jacoco-resources/greenbar.gif" width="120" height="10" title="2" alt="2"/></td><td class="ctr2" id="e0">100%</td><td class="ctr1" id="f1">0</td><td class="ctr2" id="g0">2</td><td class="ctr1" id="h1">0</td><td class="ctr2" id="i1">6</td><td class="ctr1" id="j1">0</td><td class="ctr2" id="k1">1</td></tr><tr><td id="a13"><a href="HTMLElement.java.html#L117" class="el_method">link(String, String, String)</a></td><td class="bar" id="b2"><img src="../../jacoco-resources/greenbar.gif" width="80" height="10" title="18" alt="18"/></td><td class="ctr2" id="c2">100%</td><td class="bar" id="d2"/><td class="ctr2" id="e2">n/a</td><td class="ctr1" id="f2">0</td><td class="ctr2" id="g2">1</td><td class="ctr1" id="h2">0</td><td class="ctr2" id="i3">5</td><td class="ctr1" id="j2">0</td><td class="ctr2" id="k2">1</td></tr><tr><td id="a17"><a href="HTMLElement.java.html#L419" class="el_method">script(String)</a></td><td class="bar" id="b3"><img src="../../jacoco-resources/greenbar.gif" width="80" height="10" title="18" alt="18"/></td><td class="ctr2" id="c3">100%</td><td class="bar" id="d3"/><td class="ctr2" id="e3">n/a</td><td class="ctr1" id="f3">0</td><td class="ctr2" id="g3">1</td><td class="ctr1" id="h3">0</td><td class="ctr2" id="i2">6</td><td class="ctr1" id="j3">0</td><td class="ctr2" id="k3">1</td></tr><tr><td id="a14"><a href="HTMLElement.java.html#L96" class="el_method">meta(String, String)</a></td><td class="bar" id="b4"><img src="../../jacoco-resources/greenbar.gif" width="62" height="10" title="14" alt="14"/></td><td class="ctr2" id="c4">100%</td><td class="bar" id="d4"/><td class="ctr2" id="e4">n/a</td><td class="ctr1" id="f4">0</td><td class="ctr2" id="g4">1</td><td class="ctr1" id="h4">0</td><td class="ctr2" id="i4">4</td><td class="ctr1" id="j4">0</td><td class="ctr2" id="k4">1</td></tr><tr><td id="a10"><a href="HTMLElement.java.html#L43" class="el_method">HTMLElement(OutputStream, String)</a></td><td class="bar" id="b5"><img src="../../jacoco-resources/greenbar.gif" width="57" height="10" title="13" alt="13"/></td><td class="ctr2" id="c5">100%</td><td class="bar" id="d5"/><td class="ctr2" id="e5">n/a</td><td class="ctr1" id="f5">0</td><td class="ctr2" id="g5">1</td><td class="ctr1" id="h5">0</td><td class="ctr2" id="i6">3</td><td class="ctr1" id="j5">0</td><td class="ctr2" id="k5">1</td></tr><tr><td id="a21"><a href="HTMLElement.java.html#L309" class="el_method">table(String)</a></td><td class="bar" id="b6"><img src="../../jacoco-resources/greenbar.gif" width="57" height="10" title="13" alt="13"/></td><td class="ctr2" id="c6">100%</td><td class="bar" id="d6"/><td class="ctr2" id="e6">n/a</td><td class="ctr1" id="f6">0</td><td class="ctr2" id="g6">1</td><td class="ctr1" id="h6">0</td><td class="ctr2" id="i5">4</td><td class="ctr1" id="j6">0</td><td class="ctr2" id="k6">1</td></tr><tr><td id="a20"><a href="HTMLElement.java.html#L196" class="el_method">span(String, String)</a></td><td class="bar" id="b7"><img src="../../jacoco-resources/greenbar.gif" width="44" height="10" title="10" alt="10"/></td><td class="ctr2" id="c7">100%</td><td class="bar" id="d7"/><td class="ctr2" id="e7">n/a</td><td class="ctr1" id="f7">0</td><td class="ctr2" id="g7">1</td><td class="ctr1" id="h7">0</td><td class="ctr2" id="i7">3</td><td class="ctr1" id="j7">0</td><td class="ctr2" id="k7">1</td></tr><tr><td id="a1"><a href="HTMLElement.java.html#L252" class="el_method">a(String)</a></td><td class="bar" id="b8"><img src="../../jacoco-resources/greenbar.gif" width="44" height="10" title="10" alt="10"/></td><td class="ctr2" id="c8">100%</td><td class="bar" id="d8"/><td class="ctr2" id="e8">n/a</td><td class="ctr1" id="f8">0</td><td class="ctr2" id="g8">1</td><td class="ctr1" id="h8">0</td><td class="ctr2" id="i8">3</td><td class="ctr1" id="j8">0</td><td class="ctr2" id="k8">1</td></tr><tr><td id="a6"><a href="HTMLElement.java.html#L211" class="el_method">div(String)</a></td><td class="bar" id="b9"><img src="../../jacoco-resources/greenbar.gif" width="40" height="10" title="9" alt="9"/></td><td class="ctr2" id="c9">100%</td><td class="bar" id="d9"/><td class="ctr2" id="e9">n/a</td><td class="ctr1" id="f9">0</td><td class="ctr2" id="g9">1</td><td class="ctr1" id="h9">0</td><td class="ctr2" id="i9">3</td><td class="ctr1" id="j9">0</td><td class="ctr2" id="k9">1</td></tr><tr><td id="a16"><a href="HTMLElement.java.html#L237" class="el_method">pre(String)</a></td><td class="bar" id="b10"><img src="../../jacoco-resources/greenbar.gif" width="40" height="10" title="9" alt="9"/></td><td class="ctr2" id="c10">100%</td><td class="bar" id="d10"/><td class="ctr2" id="e10">n/a</td><td class="ctr1" id="f10">0</td><td class="ctr2" id="g10">1</td><td class="ctr1" id="h10">0</td><td class="ctr2" id="i10">3</td><td class="ctr1" id="j10">0</td><td class="ctr2" id="k10">1</td></tr><tr><td id="a2"><a href="HTMLElement.java.html#L270" class="el_method">a(String, String)</a></td><td class="bar" id="b11"><img src="../../jacoco-resources/greenbar.gif" width="40" height="10" title="9" alt="9"/></td><td class="ctr2" id="c11">100%</td><td class="bar" id="d11"/><td class="ctr2" id="e11">n/a</td><td class="ctr1" id="f11">0</td><td class="ctr2" id="g11">1</td><td class="ctr1" id="h11">0</td><td class="ctr2" id="i11">3</td><td class="ctr1" id="j11">0</td><td class="ctr2" id="k11">1</td></tr><tr><td id="a19"><a href="HTMLElement.java.html#L178" class="el_method">span(String)</a></td><td class="bar" id="b12"><img src="../../jacoco-resources/greenbar.gif" width="35" height="10" title="8" alt="8"/></td><td class="ctr2" id="c12">100%</td><td class="bar" id="d12"/><td class="ctr2" id="e12">n/a</td><td class="ctr1" id="f12">0</td><td class="ctr2" id="g12">1</td><td class="ctr1" id="h12">0</td><td class="ctr2" id="i12">3</td><td class="ctr1" id="j12">0</td><td class="ctr2" id="k12">1</td></tr><tr><td id="a24"><a href="HTMLElement.java.html#L380" class="el_method">td(String)</a></td><td class="bar" id="b13"><img src="../../jacoco-resources/greenbar.gif" width="35" height="10" title="8" alt="8"/></td><td class="ctr2" id="c13">100%</td><td class="bar" id="d13"/><td class="ctr2" id="e13">n/a</td><td class="ctr1" id="f13">0</td><td class="ctr2" id="g13">1</td><td class="ctr1" id="h13">0</td><td class="ctr2" id="i13">3</td><td class="ctr1" id="j13">0</td><td class="ctr2" id="k13">1</td></tr><tr><td id="a7"><a href="HTMLElement.java.html#L54" class="el_method">element(String)</a></td><td class="bar" id="b14"><img src="../../jacoco-resources/greenbar.gif" width="26" height="10" title="6" alt="6"/></td><td class="ctr2" id="c14">100%</td><td class="bar" id="d14"/><td class="ctr2" id="e14">n/a</td><td class="ctr1" id="f14">0</td><td class="ctr2" id="g14">1</td><td class="ctr1" id="h14">0</td><td class="ctr2" id="i16">1</td><td class="ctr1" id="j14">0</td><td class="ctr2" id="k14">1</td></tr><tr><td id="a11"><a href="HTMLElement.java.html#L49" class="el_method">HTMLElement(String, HTMLElement)</a></td><td class="bar" id="b15"><img src="../../jacoco-resources/greenbar.gif" width="22" height="10" title="5" alt="5"/></td><td class="ctr2" id="c15">100%</td><td class="bar" id="d15"/><td class="ctr2" id="e15">n/a</td><td class="ctr1" id="f15">0</td><td class="ctr2" id="g15">1</td><td class="ctr1" id="h15">0</td><td class="ctr2" id="i14">2</td><td class="ctr1" id="j15">0</td><td class="ctr2" id="k15">1</td></tr><tr><td id="a4"><a href="HTMLElement.java.html#L58" class="el_method">classattr(String)</a></td><td class="bar" id="b16"><img src="../../jacoco-resources/greenbar.gif" width="22" height="10" title="5" alt="5"/></td><td class="ctr2" id="c16">100%</td><td class="bar" id="d16"/><td class="ctr2" id="e16">n/a</td><td class="ctr1" id="f16">0</td><td class="ctr2" id="g16">1</td><td class="ctr1" id="h16">0</td><td class="ctr2" id="i15">2</td><td class="ctr1" id="j16">0</td><td class="ctr2" id="k16">1</td></tr><tr><td id="a9"><a href="HTMLElement.java.html#L69" class="el_method">head()</a></td><td class="bar" id="b17"><img src="../../jacoco-resources/greenbar.gif" width="17" height="10" title="4" alt="4"/></td><td class="ctr2" id="c17">100%</td><td class="bar" id="d17"/><td class="ctr2" id="e17">n/a</td><td class="ctr1" id="f17">0</td><td class="ctr2" id="g17">1</td><td class="ctr1" id="h17">0</td><td class="ctr2" id="i17">1</td><td class="ctr1" id="j17">0</td><td class="ctr2" id="k17">1</td></tr><tr><td id="a3"><a href="HTMLElement.java.html#L80" class="el_method">body()</a></td><td class="bar" id="b18"><img src="../../jacoco-resources/greenbar.gif" width="17" height="10" title="4" alt="4"/></td><td class="ctr2" id="c18">100%</td><td class="bar" id="d18"/><td class="ctr2" id="e18">n/a</td><td class="ctr1" id="f18">0</td><td class="ctr2" id="g18">1</td><td class="ctr1" id="h18">0</td><td class="ctr2" id="i18">1</td><td class="ctr1" id="j18">0</td><td class="ctr2" id="k18">1</td></tr><tr><td id="a27"><a href="HTMLElement.java.html#L132" class="el_method">title()</a></td><td class="bar" id="b19"><img src="../../jacoco-resources/greenbar.gif" width="17" height="10" title="4" alt="4"/></td><td class="ctr2" id="c19">100%</td><td class="bar" id="d19"/><td class="ctr2" id="e19">n/a</td><td class="ctr1" id="f19">0</td><td class="ctr2" id="g19">1</td><td class="ctr1" id="h19">0</td><td class="ctr2" id="i19">1</td><td class="ctr1" id="j19">0</td><td class="ctr2" id="k19">1</td></tr><tr><td id="a8"><a href="HTMLElement.java.html#L143" class="el_method">h1()</a></td><td class="bar" id="b20"><img src="../../jacoco-resources/greenbar.gif" width="17" height="10" title="4" alt="4"/></td><td class="ctr2" id="c20">100%</td><td class="bar" id="d20"/><td class="ctr2" id="e20">n/a</td><td class="ctr1" id="f20">0</td><td class="ctr2" id="g20">1</td><td class="ctr1" id="h20">0</td><td class="ctr2" id="i20">1</td><td class="ctr1" id="j20">0</td><td class="ctr2" id="k20">1</td></tr><tr><td id="a15"><a href="HTMLElement.java.html#L154" class="el_method">p()</a></td><td class="bar" id="b21"><img src="../../jacoco-resources/greenbar.gif" width="17" height="10" title="4" alt="4"/></td><td class="ctr2" id="c21">100%</td><td class="bar" id="d21"/><td class="ctr2" id="e21">n/a</td><td class="ctr1" id="f21">0</td><td class="ctr2" id="g21">1</td><td class="ctr1" id="h21">0</td><td class="ctr2" id="i21">1</td><td class="ctr1" id="j21">0</td><td class="ctr2" id="k21">1</td></tr><tr><td id="a18"><a href="HTMLElement.java.html#L165" class="el_method">span()</a></td><td class="bar" id="b22"><img src="../../jacoco-resources/greenbar.gif" width="17" height="10" title="4" alt="4"/></td><td class="ctr2" id="c22">100%</td><td class="bar" id="d22"/><td class="ctr2" id="e22">n/a</td><td class="ctr1" id="f22">0</td><td class="ctr2" id="g22">1</td><td class="ctr1" id="h22">0</td><td class="ctr2" id="i22">1</td><td class="ctr1" id="j22">0</td><td class="ctr2" id="k22">1</td></tr><tr><td id="a5"><a href="HTMLElement.java.html#L224" class="el_method">code()</a></td><td class="bar" id="b23"><img src="../../jacoco-resources/greenbar.gif" width="17" height="10" title="4" alt="4"/></td><td class="ctr2" id="c23">100%</td><td class="bar" id="d23"/><td class="ctr2" id="e23">n/a</td><td class="ctr1" id="f23">0</td><td class="ctr2" id="g23">1</td><td class="ctr1" id="h23">0</td><td class="ctr2" id="i23">1</td><td class="ctr1" id="j23">0</td><td class="ctr2" id="k23">1</td></tr><tr><td id="a26"><a href="HTMLElement.java.html#L323" class="el_method">thead()</a></td><td class="bar" id="b24"><img src="../../jacoco-resources/greenbar.gif" width="17" height="10" title="4" alt="4"/></td><td class="ctr2" id="c24">100%</td><td class="bar" id="d24"/><td class="ctr2" id="e24">n/a</td><td class="ctr1" id="f24">0</td><td class="ctr2" id="g24">1</td><td class="ctr1" id="h24">0</td><td class="ctr2" id="i24">1</td><td class="ctr1" id="j24">0</td><td class="ctr2" id="k24">1</td></tr><tr><td id="a25"><a href="HTMLElement.java.html#L334" class="el_method">tfoot()</a></td><td class="bar" id="b25"><img src="../../jacoco-resources/greenbar.gif" width="17" height="10" title="4" alt="4"/></td><td class="ctr2" id="c25">100%</td><td class="bar" id="d25"/><td class="ctr2" id="e25">n/a</td><td class="ctr1" id="f25">0</td><td class="ctr2" id="g25">1</td><td class="ctr1" id="h25">0</td><td class="ctr2" id="i25">1</td><td class="ctr1" id="j25">0</td><td class="ctr2" id="k25">1</td></tr><tr><td id="a22"><a href="HTMLElement.java.html#L345" class="el_method">tbody()</a></td><td class="bar" id="b26"><img src="../../jacoco-resources/greenbar.gif" width="17" height="10" title="4" alt="4"/></td><td class="ctr2" id="c26">100%</td><td class="bar" id="d26"/><td class="ctr2" id="e26">n/a</td><td class="ctr1" id="f26">0</td><td class="ctr2" id="g26">1</td><td class="ctr1" id="h26">0</td><td class="ctr2" id="i26">1</td><td class="ctr1" id="j26">0</td><td class="ctr2" id="k26">1</td></tr><tr><td id="a28"><a href="HTMLElement.java.html#L356" class="el_method">tr()</a></td><td class="bar" id="b27"><img src="../../jacoco-resources/greenbar.gif" width="17" height="10" title="4" alt="4"/></td><td class="ctr2" id="c27">100%</td><td class="bar" id="d27"/><td class="ctr2" id="e27">n/a</td><td class="ctr1" id="f27">0</td><td class="ctr2" id="g27">1</td><td class="ctr1" id="h27">0</td><td class="ctr2" id="i27">1</td><td class="ctr1" id="j27">0</td><td class="ctr2" id="k27">1</td></tr><tr><td id="a23"><a href="HTMLElement.java.html#L367" class="el_method">td()</a></td><td class="bar" id="b28"><img src="../../jacoco-resources/greenbar.gif" width="17" height="10" title="4" alt="4"/></td><td class="ctr2" id="c28">100%</td><td class="bar" id="d28"/><td class="ctr2" id="e28">n/a</td><td class="ctr1" id="f28">0</td><td class="ctr2" id="g28">1</td><td class="ctr1" id="h28">0</td><td class="ctr2" id="i28">1</td><td class="ctr1" id="j28">0</td><td class="ctr2" id="k28">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.12.202403270442</span>Code Coverage Report for JaCoCo 0.8.12-SNAPSHOT</div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/trunk/coverage/org.jacoco.report/org.jacoco.report.internal.html/HTMLElement.java.html b/jacoco/trunk/coverage/org.jacoco.report/org.jacoco.report.internal.html/HTMLElement.java.html
    new file mode 100644
    index 00000000000..c36dd20ba5b
    --- /dev/null
    +++ b/jacoco/trunk/coverage/org.jacoco.report/org.jacoco.report.internal.html/HTMLElement.java.html
    @@ -0,0 +1,428 @@
    +<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="en"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../../jacoco-resources/report.gif" type="image/gif"/><title>HTMLElement.java</title><link rel="stylesheet" href="../../jacoco-resources/prettify.css" type="text/css"/><script type="text/javascript" src="../../jacoco-resources/prettify.js"></script></head><body onload="window['PR_TAB_WIDTH']=4;prettyPrint()"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../../index.html" class="el_report">JaCoCo</a> &gt; <a href="../index.html" class="el_bundle">org.jacoco.report</a> &gt; <a href="index.source.html" class="el_package">org.jacoco.report.internal.html</a> &gt; <span class="el_source">HTMLElement.java</span></div><h1>HTMLElement.java</h1><pre class="source lang-java linenums">/*******************************************************************************
    + * Copyright (c) 2009, 2024 Mountainminds GmbH &amp; Co. KG and Contributors
    + * This program and the accompanying materials are made available under
    + * the terms of the Eclipse Public License 2.0 which is available at
    + * http://www.eclipse.org/legal/epl-2.0
    + *
    + * SPDX-License-Identifier: EPL-2.0
    + *
    + * Contributors:
    + *    Marc R. Hoffmann - initial API and implementation
    + *
    + *******************************************************************************/
    +package org.jacoco.report.internal.html;
    +
    +import java.io.IOException;
    +import java.io.OutputStream;
    +
    +import org.jacoco.report.internal.ReportOutputFolder;
    +import org.jacoco.report.internal.xml.XMLElement;
    +
    +/**
    + * A {@link XMLElement} with utility methods to create XHTML documents. It
    + * provides methods of HTML tags to avoid magic strings in the generators.
    + */
    +public class HTMLElement extends XMLElement {
    +
    +	private static final String PUBID = &quot;-//W3C//DTD XHTML 1.0 Strict//EN&quot;;
    +
    +	private static final String SYSTEM = &quot;http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd&quot;;
    +
    +	/**
    +	 * Creates a &lt;code&gt;html&lt;/code&gt; root element of a XHTML document.
    +	 *
    +	 * @param encoding
    +	 *            character encoding used for output
    +	 * @param output
    +	 *            output stream will be closed if the root element is closed
    +	 * @throws IOException
    +	 *             in case of problems with the underlying output
    +	 */
    +	public HTMLElement(final OutputStream output, final String encoding)
    +			throws IOException {
    +<span class="fc" id="L43">		super(&quot;html&quot;, PUBID, SYSTEM, false, encoding, output);</span>
    +<span class="fc" id="L44">		attr(&quot;xmlns&quot;, &quot;http://www.w3.org/1999/xhtml&quot;);</span>
    +<span class="fc" id="L45">	}</span>
    +
    +	private HTMLElement(final String name, final HTMLElement parent)
    +			throws IOException {
    +<span class="fc" id="L49">		super(name, parent);</span>
    +<span class="fc" id="L50">	}</span>
    +
    +	@Override
    +	public HTMLElement element(final String name) throws IOException {
    +<span class="fc" id="L54">		return new HTMLElement(name, this);</span>
    +	}
    +
    +	private void classattr(final String classattr) throws IOException {
    +<span class="fc" id="L58">		attr(&quot;class&quot;, classattr);</span>
    +<span class="fc" id="L59">	}</span>
    +
    +	/**
    +	 * Creates a 'head' element.
    +	 *
    +	 * @return 'head' element
    +	 * @throws IOException
    +	 *             in case of problems with the underlying output
    +	 */
    +	public HTMLElement head() throws IOException {
    +<span class="fc" id="L69">		return element(&quot;head&quot;);</span>
    +	}
    +
    +	/**
    +	 * Creates a 'body' element.
    +	 *
    +	 * @return 'body' element
    +	 * @throws IOException
    +	 *             in case of problems with the underlying output
    +	 */
    +	public HTMLElement body() throws IOException {
    +<span class="fc" id="L80">		return element(&quot;body&quot;);</span>
    +	}
    +
    +	/**
    +	 * Creates a 'meta' element.
    +	 *
    +	 * @param httpequivattr
    +	 *            value of the http-equiv attribute
    +	 * @param contentattr
    +	 *            value for the content attribute
    +	 * @return 'meta' element
    +	 * @throws IOException
    +	 *             in case of problems with the underlying output
    +	 */
    +	public HTMLElement meta(final String httpequivattr,
    +			final String contentattr) throws IOException {
    +<span class="fc" id="L96">		final HTMLElement meta = element(&quot;meta&quot;);</span>
    +<span class="fc" id="L97">		meta.attr(&quot;http-equiv&quot;, httpequivattr);</span>
    +<span class="fc" id="L98">		meta.attr(&quot;content&quot;, contentattr);</span>
    +<span class="fc" id="L99">		return meta;</span>
    +	}
    +
    +	/**
    +	 * Creates a 'link' element.
    +	 *
    +	 * @param relattr
    +	 *            value of the rel attribute
    +	 * @param hrefattr
    +	 *            value for the href attribute
    +	 * @param typeattr
    +	 *            value for the type attribute
    +	 * @return 'link' element
    +	 * @throws IOException
    +	 *             in case of problems with the underlying output
    +	 */
    +	public HTMLElement link(final String relattr, final String hrefattr,
    +			final String typeattr) throws IOException {
    +<span class="fc" id="L117">		final HTMLElement link = element(&quot;link&quot;);</span>
    +<span class="fc" id="L118">		link.attr(&quot;rel&quot;, relattr);</span>
    +<span class="fc" id="L119">		link.attr(&quot;href&quot;, hrefattr);</span>
    +<span class="fc" id="L120">		link.attr(&quot;type&quot;, typeattr);</span>
    +<span class="fc" id="L121">		return link;</span>
    +	}
    +
    +	/**
    +	 * Creates a 'title' element.
    +	 *
    +	 * @return 'title' element
    +	 * @throws IOException
    +	 *             in case of problems with the underlying output
    +	 */
    +	public HTMLElement title() throws IOException {
    +<span class="fc" id="L132">		return element(&quot;title&quot;);</span>
    +	}
    +
    +	/**
    +	 * Creates a 'h1' element.
    +	 *
    +	 * @return 'h1' element
    +	 * @throws IOException
    +	 *             in case of problems with the underlying output
    +	 */
    +	public HTMLElement h1() throws IOException {
    +<span class="fc" id="L143">		return element(&quot;h1&quot;);</span>
    +	}
    +
    +	/**
    +	 * Creates a 'p' element.
    +	 *
    +	 * @return 'p' element
    +	 * @throws IOException
    +	 *             in case of problems with the underlying output
    +	 */
    +	public HTMLElement p() throws IOException {
    +<span class="fc" id="L154">		return element(&quot;p&quot;);</span>
    +	}
    +
    +	/**
    +	 * Creates a 'span' element.
    +	 *
    +	 * @return 'span' element
    +	 * @throws IOException
    +	 *             in case of problems with the underlying output
    +	 */
    +	public HTMLElement span() throws IOException {
    +<span class="fc" id="L165">		return element(&quot;span&quot;);</span>
    +	}
    +
    +	/**
    +	 * Creates a 'span' element.
    +	 *
    +	 * @param classattr
    +	 *            value of the class attribute
    +	 * @return 'span' element
    +	 * @throws IOException
    +	 *             in case of problems with the underlying output
    +	 */
    +	public HTMLElement span(final String classattr) throws IOException {
    +<span class="fc" id="L178">		final HTMLElement span = span();</span>
    +<span class="fc" id="L179">		span.classattr(classattr);</span>
    +<span class="fc" id="L180">		return span;</span>
    +	}
    +
    +	/**
    +	 * Creates a 'span' element.
    +	 *
    +	 * @param classattr
    +	 *            value of the class attribute
    +	 * @param idattr
    +	 *            value of the id attribute
    +	 * @return 'span' element
    +	 * @throws IOException
    +	 *             in case of problems with the underlying output
    +	 */
    +	public HTMLElement span(final String classattr, final String idattr)
    +			throws IOException {
    +<span class="fc" id="L196">		final HTMLElement span = span(classattr);</span>
    +<span class="fc" id="L197">		span.attr(&quot;id&quot;, idattr);</span>
    +<span class="fc" id="L198">		return span;</span>
    +	}
    +
    +	/**
    +	 * Creates a 'div' element.
    +	 *
    +	 * @param classattr
    +	 *            value of the class attribute
    +	 * @return 'div' element
    +	 * @throws IOException
    +	 *             in case of problems with the underlying output
    +	 */
    +	public HTMLElement div(final String classattr) throws IOException {
    +<span class="fc" id="L211">		final HTMLElement div = element(&quot;div&quot;);</span>
    +<span class="fc" id="L212">		div.classattr(classattr);</span>
    +<span class="fc" id="L213">		return div;</span>
    +	}
    +
    +	/**
    +	 * Creates a 'code' element.
    +	 *
    +	 * @return 'code' element
    +	 * @throws IOException
    +	 *             in case of problems with the underlying output
    +	 */
    +	public HTMLElement code() throws IOException {
    +<span class="fc" id="L224">		return element(&quot;code&quot;);</span>
    +	}
    +
    +	/**
    +	 * Creates a 'pre' element.
    +	 *
    +	 * @param classattr
    +	 *            value of the class attribute
    +	 * @return 'pre' element
    +	 * @throws IOException
    +	 *             in case of problems with the underlying output
    +	 */
    +	public HTMLElement pre(final String classattr) throws IOException {
    +<span class="fc" id="L237">		final HTMLElement pre = element(&quot;pre&quot;);</span>
    +<span class="fc" id="L238">		pre.classattr(classattr);</span>
    +<span class="fc" id="L239">		return pre;</span>
    +	}
    +
    +	/**
    +	 * Creates a 'a' element.
    +	 *
    +	 * @param hrefattr
    +	 *            value of the href attribute
    +	 * @return 'a' element
    +	 * @throws IOException
    +	 *             in case of problems with the underlying output
    +	 */
    +	public HTMLElement a(final String hrefattr) throws IOException {
    +<span class="fc" id="L252">		final HTMLElement a = element(&quot;a&quot;);</span>
    +<span class="fc" id="L253">		a.attr(&quot;href&quot;, hrefattr);</span>
    +<span class="fc" id="L254">		return a;</span>
    +	}
    +
    +	/**
    +	 * Creates a 'a' element.
    +	 *
    +	 * @param hrefattr
    +	 *            value of the href attribute
    +	 * @param classattr
    +	 *            value of the class attribute
    +	 * @return 'a' element
    +	 * @throws IOException
    +	 *             in case of problems with the underlying output
    +	 */
    +	public HTMLElement a(final String hrefattr, final String classattr)
    +			throws IOException {
    +<span class="fc" id="L270">		final HTMLElement a = a(hrefattr);</span>
    +<span class="fc" id="L271">		a.classattr(classattr);</span>
    +<span class="fc" id="L272">		return a;</span>
    +	}
    +
    +	/**
    +	 * Creates a link to the given {@link ILinkable}.
    +	 *
    +	 * @param linkable
    +	 *            object to link to
    +	 * @param base
    +	 *            base folder where the link should be placed
    +	 * @return 'a' element or 'span' element, if the link target does not exist
    +	 * @throws IOException
    +	 *             in case of problems with the underlying output
    +	 */
    +	public HTMLElement a(final ILinkable linkable,
    +			final ReportOutputFolder base) throws IOException {
    +		final HTMLElement a;
    +<span class="fc" id="L289">		final String link = linkable.getLink(base);</span>
    +<span class="fc bfc" id="L290" title="All 2 branches covered.">		if (link == null) {</span>
    +<span class="fc" id="L291">			a = span(linkable.getLinkStyle());</span>
    +		} else {
    +<span class="fc" id="L293">			a = a(link, linkable.getLinkStyle());</span>
    +		}
    +<span class="fc" id="L295">		a.text(linkable.getLinkLabel());</span>
    +<span class="fc" id="L296">		return a;</span>
    +	}
    +
    +	/**
    +	 * Creates a 'table' element.
    +	 *
    +	 * @param classattr
    +	 *            value of the class attribute
    +	 * @return 'table' element
    +	 * @throws IOException
    +	 *             in case of problems with the underlying output
    +	 */
    +	public HTMLElement table(final String classattr) throws IOException {
    +<span class="fc" id="L309">		final HTMLElement table = element(&quot;table&quot;);</span>
    +<span class="fc" id="L310">		table.classattr(classattr);</span>
    +<span class="fc" id="L311">		table.attr(&quot;cellspacing&quot;, &quot;0&quot;);</span>
    +<span class="fc" id="L312">		return table;</span>
    +	}
    +
    +	/**
    +	 * Creates a 'thead' element.
    +	 *
    +	 * @return 'thead' element
    +	 * @throws IOException
    +	 *             in case of problems with the underlying output
    +	 */
    +	public HTMLElement thead() throws IOException {
    +<span class="fc" id="L323">		return element(&quot;thead&quot;);</span>
    +	}
    +
    +	/**
    +	 * Creates a 'tfoot' element.
    +	 *
    +	 * @return 'tfoot' element
    +	 * @throws IOException
    +	 *             in case of problems with the underlying output
    +	 */
    +	public HTMLElement tfoot() throws IOException {
    +<span class="fc" id="L334">		return element(&quot;tfoot&quot;);</span>
    +	}
    +
    +	/**
    +	 * Creates a 'tbody' element.
    +	 *
    +	 * @return 'tbody' element
    +	 * @throws IOException
    +	 *             in case of problems with the underlying output
    +	 */
    +	public HTMLElement tbody() throws IOException {
    +<span class="fc" id="L345">		return element(&quot;tbody&quot;);</span>
    +	}
    +
    +	/**
    +	 * Creates a 'tr' element.
    +	 *
    +	 * @return 'tr' element
    +	 * @throws IOException
    +	 *             in case of problems with the underlying output
    +	 */
    +	public HTMLElement tr() throws IOException {
    +<span class="fc" id="L356">		return element(&quot;tr&quot;);</span>
    +	}
    +
    +	/**
    +	 * Creates a 'td' element.
    +	 *
    +	 * @return 'td' element
    +	 * @throws IOException
    +	 *             in case of problems with the underlying output
    +	 */
    +	public HTMLElement td() throws IOException {
    +<span class="fc" id="L367">		return element(&quot;td&quot;);</span>
    +	}
    +
    +	/**
    +	 * Creates a 'td' element.
    +	 *
    +	 * @param classattr
    +	 *            value of the class attribute
    +	 * @return 'td' element
    +	 * @throws IOException
    +	 *             in case of problems with the underlying output
    +	 */
    +	public HTMLElement td(final String classattr) throws IOException {
    +<span class="fc" id="L380">		final HTMLElement td = td();</span>
    +<span class="fc" id="L381">		td.classattr(classattr);</span>
    +<span class="fc" id="L382">		return td;</span>
    +	}
    +
    +	/**
    +	 * Creates a 'img' element.
    +	 *
    +	 * @param srcattr
    +	 *            value of the src attribute
    +	 * @param widthattr
    +	 *            value of the width attribute
    +	 * @param heightattr
    +	 *            value of the height attribute
    +	 * @param titleattr
    +	 *            value of the title and alt attribute
    +	 * @throws IOException
    +	 *             in case of problems with the underlying output
    +	 */
    +	public void img(final String srcattr, final int widthattr,
    +			final int heightattr, final String titleattr) throws IOException {
    +<span class="fc" id="L401">		final HTMLElement img = element(&quot;img&quot;);</span>
    +<span class="fc" id="L402">		img.attr(&quot;src&quot;, srcattr);</span>
    +<span class="fc" id="L403">		img.attr(&quot;width&quot;, widthattr);</span>
    +<span class="fc" id="L404">		img.attr(&quot;height&quot;, heightattr);</span>
    +<span class="fc" id="L405">		img.attr(&quot;title&quot;, titleattr);</span>
    +<span class="fc" id="L406">		img.attr(&quot;alt&quot;, titleattr);</span>
    +<span class="fc" id="L407">		img.close();</span>
    +<span class="fc" id="L408">	}</span>
    +
    +	/**
    +	 * Creates a JavaScript 'script' element.
    +	 *
    +	 * @param srcattr
    +	 *            value of the src attribute
    +	 * @throws IOException
    +	 *             in case of problems with the underlying output
    +	 */
    +	public void script(final String srcattr) throws IOException {
    +<span class="fc" id="L419">		final HTMLElement script = element(&quot;script&quot;);</span>
    +<span class="fc" id="L420">		script.attr(&quot;type&quot;, &quot;text/javascript&quot;);</span>
    +<span class="fc" id="L421">		script.attr(&quot;src&quot;, srcattr);</span>
    +		// Enforce open and closing tag otherwise it won't work in browsers:
    +<span class="fc" id="L423">		script.text(&quot;&quot;);</span>
    +<span class="fc" id="L424">		script.close();</span>
    +<span class="fc" id="L425">	}</span>
    +
    +}
    +</pre><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.12.202403270442</span>Code Coverage Report for JaCoCo 0.8.12-SNAPSHOT</div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/trunk/coverage/org.jacoco.report/org.jacoco.report.internal.html/HTMLGroupVisitor.html b/jacoco/trunk/coverage/org.jacoco.report/org.jacoco.report.internal.html/HTMLGroupVisitor.html
    new file mode 100644
    index 00000000000..af3d2ad694c
    --- /dev/null
    +++ b/jacoco/trunk/coverage/org.jacoco.report/org.jacoco.report.internal.html/HTMLGroupVisitor.html
    @@ -0,0 +1 @@
    +<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="en"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../../jacoco-resources/report.gif" type="image/gif"/><title>HTMLGroupVisitor</title><script type="text/javascript" src="../../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../../index.html" class="el_report">JaCoCo</a> &gt; <a href="../index.html" class="el_bundle">org.jacoco.report</a> &gt; <a href="index.html" class="el_package">org.jacoco.report.internal.html</a> &gt; <span class="el_class">HTMLGroupVisitor</span></div><h1>HTMLGroupVisitor</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">0 of 69</td><td class="ctr2">100%</td><td class="bar">0 of 0</td><td class="ctr2">n/a</td><td class="ctr1">0</td><td class="ctr2">5</td><td class="ctr1">0</td><td class="ctr2">15</td><td class="ctr1">0</td><td class="ctr2">5</td></tr></tfoot><tbody><tr><td id="a1"><a href="HTMLGroupVisitor.java.html#L71" class="el_method">handleBundle(IBundleCoverage, ISourceFileLocator)</a></td><td class="bar" id="b0"><img src="../../jacoco-resources/greenbar.gif" width="120" height="10" title="22" alt="22"/></td><td class="ctr2" id="c0">100%</td><td class="bar" id="d0"/><td class="ctr2" id="e0">n/a</td><td class="ctr1" id="f0">0</td><td class="ctr2" id="g0">1</td><td class="ctr1" id="h0">0</td><td class="ctr2" id="i1">4</td><td class="ctr1" id="j0">0</td><td class="ctr2" id="k0">1</td></tr><tr><td id="a4"><a href="HTMLGroupVisitor.java.html#L53" class="el_method">HTMLGroupVisitor(ReportPage, ReportOutputFolder, IHTMLReportContext, String)</a></td><td class="bar" id="b1"><img src="../../jacoco-resources/greenbar.gif" width="109" height="10" title="20" alt="20"/></td><td class="ctr2" id="c1">100%</td><td class="bar" id="d1"/><td class="ctr2" id="e1">n/a</td><td class="ctr1" id="f1">0</td><td class="ctr2" id="g1">1</td><td class="ctr1" id="h1">0</td><td class="ctr2" id="i0">5</td><td class="ctr1" id="j1">0</td><td class="ctr2" id="k1">1</td></tr><tr><td id="a3"><a href="HTMLGroupVisitor.java.html#L80" class="el_method">handleGroup(String)</a></td><td class="bar" id="b2"><img src="../../jacoco-resources/greenbar.gif" width="109" height="10" title="20" alt="20"/></td><td class="ctr2" id="c2">100%</td><td class="bar" id="d2"/><td class="ctr2" id="e2">n/a</td><td class="ctr1" id="f2">0</td><td class="ctr2" id="g2">1</td><td class="ctr1" id="h2">0</td><td class="ctr2" id="i2">3</td><td class="ctr1" id="j2">0</td><td class="ctr2" id="k2">1</td></tr><tr><td id="a2"><a href="HTMLGroupVisitor.java.html#L88" class="el_method">handleEnd()</a></td><td class="bar" id="b3"><img src="../../jacoco-resources/greenbar.gif" width="21" height="10" title="4" alt="4"/></td><td class="ctr2" id="c3">100%</td><td class="bar" id="d3"/><td class="ctr2" id="e3">n/a</td><td class="ctr1" id="f3">0</td><td class="ctr2" id="g3">1</td><td class="ctr1" id="h3">0</td><td class="ctr2" id="i3">2</td><td class="ctr1" id="j3">0</td><td class="ctr2" id="k3">1</td></tr><tr><td id="a0"><a href="HTMLGroupVisitor.java.html#L65" class="el_method">getPage()</a></td><td class="bar" id="b4"><img src="../../jacoco-resources/greenbar.gif" width="16" height="10" title="3" alt="3"/></td><td class="ctr2" id="c4">100%</td><td class="bar" id="d4"/><td class="ctr2" id="e4">n/a</td><td class="ctr1" id="f4">0</td><td class="ctr2" id="g4">1</td><td class="ctr1" id="h4">0</td><td class="ctr2" id="i4">1</td><td class="ctr1" id="j4">0</td><td class="ctr2" id="k4">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.12.202403270442</span>Code Coverage Report for JaCoCo 0.8.12-SNAPSHOT</div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/trunk/coverage/org.jacoco.report/org.jacoco.report.internal.html/HTMLGroupVisitor.java.html b/jacoco/trunk/coverage/org.jacoco.report/org.jacoco.report.internal.html/HTMLGroupVisitor.java.html
    new file mode 100644
    index 00000000000..569fd4f45b1
    --- /dev/null
    +++ b/jacoco/trunk/coverage/org.jacoco.report/org.jacoco.report.internal.html/HTMLGroupVisitor.java.html
    @@ -0,0 +1,92 @@
    +<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="en"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../../jacoco-resources/report.gif" type="image/gif"/><title>HTMLGroupVisitor.java</title><link rel="stylesheet" href="../../jacoco-resources/prettify.css" type="text/css"/><script type="text/javascript" src="../../jacoco-resources/prettify.js"></script></head><body onload="window['PR_TAB_WIDTH']=4;prettyPrint()"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../../index.html" class="el_report">JaCoCo</a> &gt; <a href="../index.html" class="el_bundle">org.jacoco.report</a> &gt; <a href="index.source.html" class="el_package">org.jacoco.report.internal.html</a> &gt; <span class="el_source">HTMLGroupVisitor.java</span></div><h1>HTMLGroupVisitor.java</h1><pre class="source lang-java linenums">/*******************************************************************************
    + * Copyright (c) 2009, 2024 Mountainminds GmbH &amp; Co. KG and Contributors
    + * This program and the accompanying materials are made available under
    + * the terms of the Eclipse Public License 2.0 which is available at
    + * http://www.eclipse.org/legal/epl-2.0
    + *
    + * SPDX-License-Identifier: EPL-2.0
    + *
    + * Contributors:
    + *    Marc R. Hoffmann - initial API and implementation
    + *
    + *******************************************************************************/
    +package org.jacoco.report.internal.html;
    +
    +import java.io.IOException;
    +
    +import org.jacoco.core.analysis.IBundleCoverage;
    +import org.jacoco.core.analysis.ICoverageNode;
    +import org.jacoco.report.ISourceFileLocator;
    +import org.jacoco.report.internal.AbstractGroupVisitor;
    +import org.jacoco.report.internal.ReportOutputFolder;
    +import org.jacoco.report.internal.html.page.BundlePage;
    +import org.jacoco.report.internal.html.page.GroupPage;
    +import org.jacoco.report.internal.html.page.NodePage;
    +import org.jacoco.report.internal.html.page.ReportPage;
    +
    +/**
    + * Group visitor for HTML reports.
    + */
    +public class HTMLGroupVisitor extends AbstractGroupVisitor {
    +
    +	private final ReportOutputFolder folder;
    +
    +	private final IHTMLReportContext context;
    +
    +	private final GroupPage page;
    +
    +	/**
    +	 * Create a new group handler.
    +	 *
    +	 * @param parent
    +	 *            optional hierarchical parent
    +	 * @param folder
    +	 *            base folder for this group
    +	 * @param context
    +	 *            settings context
    +	 * @param name
    +	 *            group name
    +	 */
    +	public HTMLGroupVisitor(final ReportPage parent,
    +			final ReportOutputFolder folder, final IHTMLReportContext context,
    +			final String name) {
    +<span class="fc" id="L53">		super(name);</span>
    +<span class="fc" id="L54">		this.folder = folder;</span>
    +<span class="fc" id="L55">		this.context = context;</span>
    +<span class="fc" id="L56">		page = new GroupPage(total, parent, folder, context);</span>
    +<span class="fc" id="L57">	}</span>
    +
    +	/**
    +	 * Returns the page rendered for this group.
    +	 *
    +	 * @return page for this group
    +	 */
    +	public NodePage&lt;ICoverageNode&gt; getPage() {
    +<span class="fc" id="L65">		return page;</span>
    +	}
    +
    +	@Override
    +	protected void handleBundle(final IBundleCoverage bundle,
    +			final ISourceFileLocator locator) throws IOException {
    +<span class="fc" id="L71">		final BundlePage bundlepage = new BundlePage(bundle, page, locator,</span>
    +				folder.subFolder(bundle.getName()), context);
    +<span class="fc" id="L73">		bundlepage.render();</span>
    +<span class="fc" id="L74">		page.addItem(bundlepage);</span>
    +<span class="fc" id="L75">	}</span>
    +
    +	@Override
    +	protected AbstractGroupVisitor handleGroup(final String name)
    +			throws IOException {
    +<span class="fc" id="L80">		final HTMLGroupVisitor handler = new HTMLGroupVisitor(page,</span>
    +				folder.subFolder(name), context, name);
    +<span class="fc" id="L82">		page.addItem(handler.getPage());</span>
    +<span class="fc" id="L83">		return handler;</span>
    +	}
    +
    +	@Override
    +	protected void handleEnd() throws IOException {
    +<span class="fc" id="L88">		page.render();</span>
    +<span class="fc" id="L89">	}</span>
    +
    +}
    +</pre><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.12.202403270442</span>Code Coverage Report for JaCoCo 0.8.12-SNAPSHOT</div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/trunk/coverage/org.jacoco.report/org.jacoco.report.internal.html/index.html b/jacoco/trunk/coverage/org.jacoco.report/org.jacoco.report.internal.html/index.html
    new file mode 100644
    index 00000000000..239f70f7346
    --- /dev/null
    +++ b/jacoco/trunk/coverage/org.jacoco.report/org.jacoco.report.internal.html/index.html
    @@ -0,0 +1 @@
    +<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="en"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../../jacoco-resources/report.gif" type="image/gif"/><title>org.jacoco.report.internal.html</title><script type="text/javascript" src="../../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb', 'coveragetable'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="index.source.html" class="el_source">Source Files</a><a href="../../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../../index.html" class="el_report">JaCoCo</a> &gt; <a href="../index.html" class="el_bundle">org.jacoco.report</a> &gt; <span class="el_package">org.jacoco.report.internal.html</span></div><h1>org.jacoco.report.internal.html</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td><td class="sortable ctr1" id="l" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="m" onclick="toggleSort(this)">Classes</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">0 of 323</td><td class="ctr2">100%</td><td class="bar">0 of 2</td><td class="ctr2">100%</td><td class="ctr1">0</td><td class="ctr2">35</td><td class="ctr1">0</td><td class="ctr2">89</td><td class="ctr1">0</td><td class="ctr2">34</td><td class="ctr1">0</td><td class="ctr2">2</td></tr></tfoot><tbody><tr><td id="a0"><a href="HTMLElement.html" class="el_class">HTMLElement</a></td><td class="bar" id="b0"><img src="../../jacoco-resources/greenbar.gif" width="120" height="10" title="254" alt="254"/></td><td class="ctr2" id="c0">100%</td><td class="bar" id="d0"><img src="../../jacoco-resources/greenbar.gif" width="120" height="10" title="2" alt="2"/></td><td class="ctr2" id="e0">100%</td><td class="ctr1" id="f0">0</td><td class="ctr2" id="g0">30</td><td class="ctr1" id="h0">0</td><td class="ctr2" id="i0">74</td><td class="ctr1" id="j0">0</td><td class="ctr2" id="k0">29</td><td class="ctr1" id="l0">0</td><td class="ctr2" id="m0">1</td></tr><tr><td id="a1"><a href="HTMLGroupVisitor.html" class="el_class">HTMLGroupVisitor</a></td><td class="bar" id="b1"><img src="../../jacoco-resources/greenbar.gif" width="32" height="10" title="69" alt="69"/></td><td class="ctr2" id="c1">100%</td><td class="bar" id="d1"/><td class="ctr2" id="e1">n/a</td><td class="ctr1" id="f1">0</td><td class="ctr2" id="g1">5</td><td class="ctr1" id="h1">0</td><td class="ctr2" id="i1">15</td><td class="ctr1" id="j1">0</td><td class="ctr2" id="k1">5</td><td class="ctr1" id="l1">0</td><td class="ctr2" id="m1">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.12.202403270442</span>Code Coverage Report for JaCoCo 0.8.12-SNAPSHOT</div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/trunk/coverage/org.jacoco.report/org.jacoco.report.internal.html/index.source.html b/jacoco/trunk/coverage/org.jacoco.report/org.jacoco.report.internal.html/index.source.html
    new file mode 100644
    index 00000000000..74b7378ad8d
    --- /dev/null
    +++ b/jacoco/trunk/coverage/org.jacoco.report/org.jacoco.report.internal.html/index.source.html
    @@ -0,0 +1 @@
    +<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="en"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../../jacoco-resources/report.gif" type="image/gif"/><title>org.jacoco.report.internal.html</title><script type="text/javascript" src="../../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb', 'coveragetable'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="index.html" class="el_class">Classes</a><a href="../../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../../index.html" class="el_report">JaCoCo</a> &gt; <a href="../index.html" class="el_bundle">org.jacoco.report</a> &gt; <span class="el_package">org.jacoco.report.internal.html</span></div><h1>org.jacoco.report.internal.html</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td><td class="sortable ctr1" id="l" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="m" onclick="toggleSort(this)">Classes</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">0 of 323</td><td class="ctr2">100%</td><td class="bar">0 of 2</td><td class="ctr2">100%</td><td class="ctr1">0</td><td class="ctr2">35</td><td class="ctr1">0</td><td class="ctr2">89</td><td class="ctr1">0</td><td class="ctr2">34</td><td class="ctr1">0</td><td class="ctr2">2</td></tr></tfoot><tbody><tr><td id="a0"><a href="HTMLElement.java.html" class="el_source">HTMLElement.java</a></td><td class="bar" id="b0"><img src="../../jacoco-resources/greenbar.gif" width="120" height="10" title="254" alt="254"/></td><td class="ctr2" id="c0">100%</td><td class="bar" id="d0"><img src="../../jacoco-resources/greenbar.gif" width="120" height="10" title="2" alt="2"/></td><td class="ctr2" id="e0">100%</td><td class="ctr1" id="f0">0</td><td class="ctr2" id="g0">30</td><td class="ctr1" id="h0">0</td><td class="ctr2" id="i0">74</td><td class="ctr1" id="j0">0</td><td class="ctr2" id="k0">29</td><td class="ctr1" id="l0">0</td><td class="ctr2" id="m0">1</td></tr><tr><td id="a1"><a href="HTMLGroupVisitor.java.html" class="el_source">HTMLGroupVisitor.java</a></td><td class="bar" id="b1"><img src="../../jacoco-resources/greenbar.gif" width="32" height="10" title="69" alt="69"/></td><td class="ctr2" id="c1">100%</td><td class="bar" id="d1"/><td class="ctr2" id="e1">n/a</td><td class="ctr1" id="f1">0</td><td class="ctr2" id="g1">5</td><td class="ctr1" id="h1">0</td><td class="ctr2" id="i1">15</td><td class="ctr1" id="j1">0</td><td class="ctr2" id="k1">5</td><td class="ctr1" id="l1">0</td><td class="ctr2" id="m1">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.12.202403270442</span>Code Coverage Report for JaCoCo 0.8.12-SNAPSHOT</div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/trunk/coverage/org.jacoco.report/org.jacoco.report.internal.xml/ReportElement.html b/jacoco/trunk/coverage/org.jacoco.report/org.jacoco.report.internal.xml/ReportElement.html
    new file mode 100644
    index 00000000000..c24c6092436
    --- /dev/null
    +++ b/jacoco/trunk/coverage/org.jacoco.report/org.jacoco.report.internal.xml/ReportElement.html
    @@ -0,0 +1 @@
    +<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="en"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../../jacoco-resources/report.gif" type="image/gif"/><title>ReportElement</title><script type="text/javascript" src="../../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../../index.html" class="el_report">JaCoCo</a> &gt; <a href="../index.html" class="el_bundle">org.jacoco.report</a> &gt; <a href="index.html" class="el_package">org.jacoco.report.internal.xml</a> &gt; <span class="el_class">ReportElement</span></div><h1>ReportElement</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">0 of 152</td><td class="ctr2">100%</td><td class="bar">1 of 2</td><td class="ctr2">50%</td><td class="ctr1">1</td><td class="ctr2">14</td><td class="ctr1">0</td><td class="ctr2">38</td><td class="ctr1">0</td><td class="ctr2">13</td></tr></tfoot><tbody><tr><td id="a6"><a href="ReportElement.java.html#L137" class="el_method">method(IMethodCoverage)</a></td><td class="bar" id="b0"><img src="../../jacoco-resources/greenbar.gif" width="120" height="10" title="23" alt="23"/></td><td class="ctr2" id="c0">100%</td><td class="bar" id="d0"><img src="../../jacoco-resources/redbar.gif" width="60" height="10" title="1" alt="1"/><img src="../../jacoco-resources/greenbar.gif" width="60" height="10" title="1" alt="1"/></td><td class="ctr2" id="e0">50%</td><td class="ctr1" id="f0">1</td><td class="ctr2" id="g0">2</td><td class="ctr1" id="h0">0</td><td class="ctr2" id="i0">6</td><td class="ctr1" id="j0">0</td><td class="ctr2" id="k0">1</td></tr><tr><td id="a5"><a href="ReportElement.java.html#L172" class="el_method">line(int, ILine)</a></td><td class="bar" id="b1"><img src="../../jacoco-resources/greenbar.gif" width="109" height="10" title="21" alt="21"/></td><td class="ctr2" id="c1">100%</td><td class="bar" id="d1"/><td class="ctr2" id="e1">n/a</td><td class="ctr1" id="f1">0</td><td class="ctr2" id="g1">1</td><td class="ctr1" id="h1">0</td><td class="ctr2" id="i1">5</td><td class="ctr1" id="j1">0</td><td class="ctr2" id="k1">1</td></tr><tr><td id="a11"><a href="ReportElement.java.html#L78" class="el_method">sessioninfo(SessionInfo)</a></td><td class="bar" id="b2"><img src="../../jacoco-resources/greenbar.gif" width="104" height="10" title="20" alt="20"/></td><td class="ctr2" id="c2">100%</td><td class="bar" id="d2"/><td class="ctr2" id="e2">n/a</td><td class="ctr1" id="f2">0</td><td class="ctr2" id="g2">1</td><td class="ctr1" id="h2">0</td><td class="ctr2" id="i2">5</td><td class="ctr1" id="j2">0</td><td class="ctr2" id="k2">1</td></tr><tr><td id="a1"><a href="ReportElement.java.html#L192" class="el_method">counter(ICoverageNode.CounterEntity, ICounter)</a></td><td class="bar" id="b3"><img src="../../jacoco-resources/greenbar.gif" width="78" height="10" title="15" alt="15"/></td><td class="ctr2" id="c3">100%</td><td class="bar" id="d3"/><td class="ctr2" id="e3">n/a</td><td class="ctr1" id="f3">0</td><td class="ctr2" id="g3">1</td><td class="ctr1" id="h3">0</td><td class="ctr2" id="i3">4</td><td class="ctr1" id="j3">0</td><td class="ctr2" id="k3">1</td></tr><tr><td id="a9"><a href="ReportElement.java.html#L48" class="el_method">ReportElement(String, OutputStream, String)</a></td><td class="bar" id="b4"><img src="../../jacoco-resources/greenbar.gif" width="67" height="10" title="13" alt="13"/></td><td class="ctr2" id="c4">100%</td><td class="bar" id="d4"/><td class="ctr2" id="e4">n/a</td><td class="ctr1" id="f4">0</td><td class="ctr2" id="g4">1</td><td class="ctr1" id="h4">0</td><td class="ctr2" id="i4">3</td><td class="ctr1" id="j4">0</td><td class="ctr2" id="k4">1</td></tr><tr><td id="a0"><a href="ReportElement.java.html#L121" class="el_method">classElement(IClassCoverage)</a></td><td class="bar" id="b5"><img src="../../jacoco-resources/greenbar.gif" width="67" height="10" title="13" alt="13"/></td><td class="ctr2" id="c5">100%</td><td class="bar" id="d5"/><td class="ctr2" id="e5">n/a</td><td class="ctr1" id="f5">0</td><td class="ctr2" id="g5">1</td><td class="ctr1" id="h5">0</td><td class="ctr2" id="i5">3</td><td class="ctr1" id="j5">0</td><td class="ctr2" id="k5">1</td></tr><tr><td id="a2"><a href="ReportElement.java.html#L200" class="el_method">counterAttributes(XMLElement, String, String, ICounter)</a></td><td class="bar" id="b6"><img src="../../jacoco-resources/greenbar.gif" width="57" height="10" title="11" alt="11"/></td><td class="ctr2" id="c6">100%</td><td class="bar" id="d6"/><td class="ctr2" id="e6">n/a</td><td class="ctr1" id="f6">0</td><td class="ctr2" id="g6">1</td><td class="ctr1" id="h6">0</td><td class="ctr2" id="i6">3</td><td class="ctr1" id="j6">0</td><td class="ctr2" id="k6">1</td></tr><tr><td id="a7"><a href="ReportElement.java.html#L64" class="el_method">namedElement(String, String)</a></td><td class="bar" id="b7"><img src="../../jacoco-resources/greenbar.gif" width="52" height="10" title="10" alt="10"/></td><td class="ctr2" id="c7">100%</td><td class="bar" id="d7"/><td class="ctr2" id="e7">n/a</td><td class="ctr1" id="f7">0</td><td class="ctr2" id="g7">1</td><td class="ctr1" id="h7">0</td><td class="ctr2" id="i7">3</td><td class="ctr1" id="j7">0</td><td class="ctr2" id="k7">1</td></tr><tr><td id="a3"><a href="ReportElement.java.html#L59" class="el_method">element(String)</a></td><td class="bar" id="b8"><img src="../../jacoco-resources/greenbar.gif" width="31" height="10" title="6" alt="6"/></td><td class="ctr2" id="c8">100%</td><td class="bar" id="d8"/><td class="ctr2" id="e8">n/a</td><td class="ctr1" id="f8">0</td><td class="ctr2" id="g8">1</td><td class="ctr1" id="h8">0</td><td class="ctr2" id="i9">1</td><td class="ctr1" id="j8">0</td><td class="ctr2" id="k8">1</td></tr><tr><td id="a10"><a href="ReportElement.java.html#L54" class="el_method">ReportElement(String, ReportElement)</a></td><td class="bar" id="b9"><img src="../../jacoco-resources/greenbar.gif" width="26" height="10" title="5" alt="5"/></td><td class="ctr2" id="c9">100%</td><td class="bar" id="d9"/><td class="ctr2" id="e9">n/a</td><td class="ctr1" id="f9">0</td><td class="ctr2" id="g9">1</td><td class="ctr1" id="h9">0</td><td class="ctr2" id="i8">2</td><td class="ctr1" id="j9">0</td><td class="ctr2" id="k9">1</td></tr><tr><td id="a4"><a href="ReportElement.java.html#L94" class="el_method">group(String)</a></td><td class="bar" id="b10"><img src="../../jacoco-resources/greenbar.gif" width="26" height="10" title="5" alt="5"/></td><td class="ctr2" id="c10">100%</td><td class="bar" id="d10"/><td class="ctr2" id="e10">n/a</td><td class="ctr1" id="f10">0</td><td class="ctr2" id="g10">1</td><td class="ctr1" id="h10">0</td><td class="ctr2" id="i10">1</td><td class="ctr1" id="j10">0</td><td class="ctr2" id="k10">1</td></tr><tr><td id="a8"><a href="ReportElement.java.html#L107" class="el_method">packageElement(String)</a></td><td class="bar" id="b11"><img src="../../jacoco-resources/greenbar.gif" width="26" height="10" title="5" alt="5"/></td><td class="ctr2" id="c11">100%</td><td class="bar" id="d11"/><td class="ctr2" id="e11">n/a</td><td class="ctr1" id="f11">0</td><td class="ctr2" id="g11">1</td><td class="ctr1" id="h11">0</td><td class="ctr2" id="i11">1</td><td class="ctr1" id="j11">0</td><td class="ctr2" id="k11">1</td></tr><tr><td id="a12"><a href="ReportElement.java.html#L157" class="el_method">sourcefile(String)</a></td><td class="bar" id="b12"><img src="../../jacoco-resources/greenbar.gif" width="26" height="10" title="5" alt="5"/></td><td class="ctr2" id="c12">100%</td><td class="bar" id="d12"/><td class="ctr2" id="e12">n/a</td><td class="ctr1" id="f12">0</td><td class="ctr2" id="g12">1</td><td class="ctr1" id="h12">0</td><td class="ctr2" id="i12">1</td><td class="ctr1" id="j12">0</td><td class="ctr2" id="k12">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.12.202403270442</span>Code Coverage Report for JaCoCo 0.8.12-SNAPSHOT</div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/trunk/coverage/org.jacoco.report/org.jacoco.report.internal.xml/ReportElement.java.html b/jacoco/trunk/coverage/org.jacoco.report/org.jacoco.report.internal.xml/ReportElement.java.html
    new file mode 100644
    index 00000000000..6d2ad9f2c3d
    --- /dev/null
    +++ b/jacoco/trunk/coverage/org.jacoco.report/org.jacoco.report.internal.xml/ReportElement.java.html
    @@ -0,0 +1,205 @@
    +<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="en"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../../jacoco-resources/report.gif" type="image/gif"/><title>ReportElement.java</title><link rel="stylesheet" href="../../jacoco-resources/prettify.css" type="text/css"/><script type="text/javascript" src="../../jacoco-resources/prettify.js"></script></head><body onload="window['PR_TAB_WIDTH']=4;prettyPrint()"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../../index.html" class="el_report">JaCoCo</a> &gt; <a href="../index.html" class="el_bundle">org.jacoco.report</a> &gt; <a href="index.source.html" class="el_package">org.jacoco.report.internal.xml</a> &gt; <span class="el_source">ReportElement.java</span></div><h1>ReportElement.java</h1><pre class="source lang-java linenums">/*******************************************************************************
    + * Copyright (c) 2009, 2024 Mountainminds GmbH &amp; Co. KG and Contributors
    + * This program and the accompanying materials are made available under
    + * the terms of the Eclipse Public License 2.0 which is available at
    + * http://www.eclipse.org/legal/epl-2.0
    + *
    + * SPDX-License-Identifier: EPL-2.0
    + *
    + * Contributors:
    + *    Marc R. Hoffmann - initial API and implementation
    + *
    + *******************************************************************************/
    +package org.jacoco.report.internal.xml;
    +
    +import java.io.IOException;
    +import java.io.OutputStream;
    +
    +import org.jacoco.core.analysis.IClassCoverage;
    +import org.jacoco.core.analysis.ICounter;
    +import org.jacoco.core.analysis.ICoverageNode.CounterEntity;
    +import org.jacoco.core.analysis.ILine;
    +import org.jacoco.core.analysis.IMethodCoverage;
    +import org.jacoco.core.data.SessionInfo;
    +
    +/**
    + * A {@link XMLElement} with utility methods to create JaCoCo XML reports.
    + */
    +public class ReportElement extends XMLElement {
    +
    +	private static final String PUBID = &quot;-//JACOCO//DTD Report 1.1//EN&quot;;
    +
    +	private static final String SYSTEM = &quot;report.dtd&quot;;
    +
    +	/**
    +	 * Creates a &lt;code&gt;report&lt;/code&gt; root element for a XML report.
    +	 *
    +	 * @param name
    +	 *            value for the name attribute
    +	 * @param encoding
    +	 *            character encoding used for output
    +	 * @param output
    +	 *            output stream will be closed if the root element is closed
    +	 * @throws IOException
    +	 *             in case of problems with the underlying output
    +	 */
    +	public ReportElement(final String name, final OutputStream output,
    +			final String encoding) throws IOException {
    +<span class="fc" id="L48">		super(&quot;report&quot;, PUBID, SYSTEM, true, encoding, output);</span>
    +<span class="fc" id="L49">		attr(&quot;name&quot;, name);</span>
    +<span class="fc" id="L50">	}</span>
    +
    +	private ReportElement(final String name, final ReportElement parent)
    +			throws IOException {
    +<span class="fc" id="L54">		super(name, parent);</span>
    +<span class="fc" id="L55">	}</span>
    +
    +	@Override
    +	public ReportElement element(final String name) throws IOException {
    +<span class="fc" id="L59">		return new ReportElement(name, this);</span>
    +	}
    +
    +	private ReportElement namedElement(final String elementName,
    +			final String name) throws IOException {
    +<span class="fc" id="L64">		final ReportElement element = element(elementName);</span>
    +<span class="fc" id="L65">		element.attr(&quot;name&quot;, name);</span>
    +<span class="fc" id="L66">		return element;</span>
    +	}
    +
    +	/**
    +	 * Creates a 'sessioninfo' element.
    +	 *
    +	 * @param info
    +	 *            info object to write out
    +	 * @throws IOException
    +	 *             in case of problems with the underlying output
    +	 */
    +	public void sessioninfo(final SessionInfo info) throws IOException {
    +<span class="fc" id="L78">		final ReportElement sessioninfo = element(&quot;sessioninfo&quot;);</span>
    +<span class="fc" id="L79">		sessioninfo.attr(&quot;id&quot;, info.getId());</span>
    +<span class="fc" id="L80">		sessioninfo.attr(&quot;start&quot;, info.getStartTimeStamp());</span>
    +<span class="fc" id="L81">		sessioninfo.attr(&quot;dump&quot;, info.getDumpTimeStamp());</span>
    +<span class="fc" id="L82">	}</span>
    +
    +	/**
    +	 * Creates a 'group' element.
    +	 *
    +	 * @param name
    +	 *            value for the name attribute
    +	 * @return 'group' element
    +	 * @throws IOException
    +	 *             in case of problems with the underlying output
    +	 */
    +	public ReportElement group(final String name) throws IOException {
    +<span class="fc" id="L94">		return namedElement(&quot;group&quot;, name);</span>
    +	}
    +
    +	/**
    +	 * Creates a 'package' element.
    +	 *
    +	 * @param name
    +	 *            value for the name attribute
    +	 * @return 'package' element
    +	 * @throws IOException
    +	 *             in case of problems with the underlying output
    +	 */
    +	public ReportElement packageElement(final String name) throws IOException {
    +<span class="fc" id="L107">		return namedElement(&quot;package&quot;, name);</span>
    +	}
    +
    +	/**
    +	 * Creates a 'class' element.
    +	 *
    +	 * @param coverage
    +	 *            class coverage node to write out
    +	 * @return 'class' element
    +	 * @throws IOException
    +	 *             in case of problems with the underlying output
    +	 */
    +	public ReportElement classElement(final IClassCoverage coverage)
    +			throws IOException {
    +<span class="fc" id="L121">		final ReportElement element = namedElement(&quot;class&quot;, coverage.getName());</span>
    +<span class="fc" id="L122">		element.attr(&quot;sourcefilename&quot;, coverage.getSourceFileName());</span>
    +<span class="fc" id="L123">		return element;</span>
    +	}
    +
    +	/**
    +	 * Creates a 'method' element.
    +	 *
    +	 * @param coverage
    +	 *            method coverage node to write out
    +	 * @return 'method' element
    +	 * @throws IOException
    +	 *             in case of problems with the underlying output
    +	 */
    +	public ReportElement method(final IMethodCoverage coverage)
    +			throws IOException {
    +<span class="fc" id="L137">		final ReportElement element = namedElement(&quot;method&quot;,</span>
    +				coverage.getName());
    +<span class="fc" id="L139">		element.attr(&quot;desc&quot;, coverage.getDesc());</span>
    +<span class="fc" id="L140">		final int line = coverage.getFirstLine();</span>
    +<span class="pc bpc" id="L141" title="1 of 2 branches missed.">		if (line != -1) {</span>
    +<span class="fc" id="L142">			element.attr(&quot;line&quot;, line);</span>
    +		}
    +<span class="fc" id="L144">		return element;</span>
    +	}
    +
    +	/**
    +	 * Creates a 'sourcefile' element.
    +	 *
    +	 * @param name
    +	 *            value for the name attribute
    +	 * @return 'sourcefile' element
    +	 * @throws IOException
    +	 *             in case of problems with the underlying output
    +	 */
    +	public ReportElement sourcefile(final String name) throws IOException {
    +<span class="fc" id="L157">		return namedElement(&quot;sourcefile&quot;, name);</span>
    +	}
    +
    +	/**
    +	 * Creates a 'line' element.
    +	 *
    +	 * @param nr
    +	 *            line number
    +	 * @param line
    +	 *            line object to write out
    +	 *
    +	 * @throws IOException
    +	 *             in case of problems with the underlying output
    +	 */
    +	public void line(final int nr, final ILine line) throws IOException {
    +<span class="fc" id="L172">		final ReportElement element = element(&quot;line&quot;);</span>
    +<span class="fc" id="L173">		element.attr(&quot;nr&quot;, nr);</span>
    +<span class="fc" id="L174">		counterAttributes(element, &quot;mi&quot;, &quot;ci&quot;, line.getInstructionCounter());</span>
    +<span class="fc" id="L175">		counterAttributes(element, &quot;mb&quot;, &quot;cb&quot;, line.getBranchCounter());</span>
    +<span class="fc" id="L176">	}</span>
    +
    +	/**
    +	 * Creates a 'counter' element.
    +	 *
    +	 * @param counterEntity
    +	 *            entity of this counter
    +	 *
    +	 * @param counter
    +	 *            counter object to write out
    +	 *
    +	 * @throws IOException
    +	 *             in case of problems with the underlying output
    +	 */
    +	public void counter(final CounterEntity counterEntity,
    +			final ICounter counter) throws IOException {
    +<span class="fc" id="L192">		final ReportElement counterNode = element(&quot;counter&quot;);</span>
    +<span class="fc" id="L193">		counterNode.attr(&quot;type&quot;, counterEntity.name());</span>
    +<span class="fc" id="L194">		counterAttributes(counterNode, &quot;missed&quot;, &quot;covered&quot;, counter);</span>
    +<span class="fc" id="L195">	}</span>
    +
    +	private static void counterAttributes(final XMLElement element,
    +			final String missedattr, final String coveredattr,
    +			final ICounter counter) throws IOException {
    +<span class="fc" id="L200">		element.attr(missedattr, counter.getMissedCount());</span>
    +<span class="fc" id="L201">		element.attr(coveredattr, counter.getCoveredCount());</span>
    +<span class="fc" id="L202">	}</span>
    +
    +}
    +</pre><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.12.202403270442</span>Code Coverage Report for JaCoCo 0.8.12-SNAPSHOT</div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/trunk/coverage/org.jacoco.report/org.jacoco.report.internal.xml/XMLCoverageWriter.html b/jacoco/trunk/coverage/org.jacoco.report/org.jacoco.report.internal.xml/XMLCoverageWriter.html
    new file mode 100644
    index 00000000000..d4cd404bcea
    --- /dev/null
    +++ b/jacoco/trunk/coverage/org.jacoco.report/org.jacoco.report.internal.xml/XMLCoverageWriter.html
    @@ -0,0 +1 @@
    +<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="en"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../../jacoco-resources/report.gif" type="image/gif"/><title>XMLCoverageWriter</title><script type="text/javascript" src="../../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../../index.html" class="el_report">JaCoCo</a> &gt; <a href="../index.html" class="el_bundle">org.jacoco.report</a> &gt; <a href="index.html" class="el_package">org.jacoco.report.internal.xml</a> &gt; <span class="el_class">XMLCoverageWriter</span></div><h1>XMLCoverageWriter</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">0 of 152</td><td class="ctr2">100%</td><td class="bar">0 of 16</td><td class="ctr2">100%</td><td class="ctr1">0</td><td class="ctr2">15</td><td class="ctr1">0</td><td class="ctr2">34</td><td class="ctr1">0</td><td class="ctr2">7</td></tr></tfoot><tbody><tr><td id="a5"><a href="XMLCoverageWriter.java.html#L53" class="el_method">writePackage(IPackageCoverage, ReportElement)</a></td><td class="bar" id="b0"><img src="../../jacoco-resources/greenbar.gif" width="120" height="10" title="39" alt="39"/></td><td class="ctr2" id="c0">100%</td><td class="bar" id="d0"><img src="../../jacoco-resources/greenbar.gif" width="120" height="10" title="4" alt="4"/></td><td class="ctr2" id="e0">100%</td><td class="ctr1" id="f0">0</td><td class="ctr2" id="g0">3</td><td class="ctr1" id="h0">0</td><td class="ctr2" id="i0">7</td><td class="ctr1" id="j0">0</td><td class="ctr2" id="k0">1</td></tr><tr><td id="a2"><a href="XMLCoverageWriter.java.html#L97" class="el_method">writeCounters(ICoverageNode, ReportElement)</a></td><td class="bar" id="b1"><img src="../../jacoco-resources/greenbar.gif" width="86" height="10" title="28" alt="28"/></td><td class="ctr2" id="c1">100%</td><td class="bar" id="d1"><img src="../../jacoco-resources/greenbar.gif" width="120" height="10" title="4" alt="4"/></td><td class="ctr2" id="e1">100%</td><td class="ctr1" id="f1">0</td><td class="ctr2" id="g1">3</td><td class="ctr1" id="h1">0</td><td class="ctr2" id="i2">5</td><td class="ctr1" id="j1">0</td><td class="ctr2" id="k1">1</td></tr><tr><td id="a1"><a href="XMLCoverageWriter.java.html#L65" class="el_method">writeClass(IClassCoverage, ReportElement)</a></td><td class="bar" id="b2"><img src="../../jacoco-resources/greenbar.gif" width="70" height="10" title="23" alt="23"/></td><td class="ctr2" id="c2">100%</td><td class="bar" id="d3"><img src="../../jacoco-resources/greenbar.gif" width="60" height="10" title="2" alt="2"/></td><td class="ctr2" id="e2">100%</td><td class="ctr1" id="f2">0</td><td class="ctr2" id="g3">2</td><td class="ctr1" id="h2">0</td><td class="ctr2" id="i3">5</td><td class="ctr1" id="j2">0</td><td class="ctr2" id="k2">1</td></tr><tr><td id="a3"><a href="XMLCoverageWriter.java.html#L107" class="el_method">writeLines(ISourceNode, ReportElement)</a></td><td class="bar" id="b3"><img src="../../jacoco-resources/greenbar.gif" width="70" height="10" title="23" alt="23"/></td><td class="ctr2" id="c3">100%</td><td class="bar" id="d2"><img src="../../jacoco-resources/greenbar.gif" width="120" height="10" title="4" alt="4"/></td><td class="ctr2" id="e3">100%</td><td class="ctr1" id="f3">0</td><td class="ctr2" id="g2">3</td><td class="ctr1" id="h3">0</td><td class="ctr2" id="i1">6</td><td class="ctr1" id="j3">0</td><td class="ctr2" id="k3">1</td></tr><tr><td id="a0"><a href="XMLCoverageWriter.java.html#L45" class="el_method">writeBundle(IBundleCoverage, ReportElement)</a></td><td class="bar" id="b4"><img src="../../jacoco-resources/greenbar.gif" width="58" height="10" title="19" alt="19"/></td><td class="ctr2" id="c4">100%</td><td class="bar" id="d4"><img src="../../jacoco-resources/greenbar.gif" width="60" height="10" title="2" alt="2"/></td><td class="ctr2" id="e4">100%</td><td class="ctr1" id="f4">0</td><td class="ctr2" id="g4">2</td><td class="ctr1" id="h4">0</td><td class="ctr2" id="i4">4</td><td class="ctr1" id="j4">0</td><td class="ctr2" id="k4">1</td></tr><tr><td id="a6"><a href="XMLCoverageWriter.java.html#L80" class="el_method">writeSourceFile(ISourceFileCoverage, ReportElement)</a></td><td class="bar" id="b5"><img src="../../jacoco-resources/greenbar.gif" width="36" height="10" title="12" alt="12"/></td><td class="ctr2" id="c5">100%</td><td class="bar" id="d5"/><td class="ctr2" id="e5">n/a</td><td class="ctr1" id="f5">0</td><td class="ctr2" id="g5">1</td><td class="ctr1" id="h5">0</td><td class="ctr2" id="i5">4</td><td class="ctr1" id="j5">0</td><td class="ctr2" id="k5">1</td></tr><tr><td id="a4"><a href="XMLCoverageWriter.java.html#L74" class="el_method">writeMethod(IMethodCoverage, ReportElement)</a></td><td class="bar" id="b6"><img src="../../jacoco-resources/greenbar.gif" width="24" height="10" title="8" alt="8"/></td><td class="ctr2" id="c6">100%</td><td class="bar" id="d6"/><td class="ctr2" id="e6">n/a</td><td class="ctr1" id="f6">0</td><td class="ctr2" id="g6">1</td><td class="ctr1" id="h6">0</td><td class="ctr2" id="i6">3</td><td class="ctr1" id="j6">0</td><td class="ctr2" id="k6">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.12.202403270442</span>Code Coverage Report for JaCoCo 0.8.12-SNAPSHOT</div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/trunk/coverage/org.jacoco.report/org.jacoco.report.internal.xml/XMLCoverageWriter.java.html b/jacoco/trunk/coverage/org.jacoco.report/org.jacoco.report.internal.xml/XMLCoverageWriter.java.html
    new file mode 100644
    index 00000000000..8c3ae645def
    --- /dev/null
    +++ b/jacoco/trunk/coverage/org.jacoco.report/org.jacoco.report.internal.xml/XMLCoverageWriter.java.html
    @@ -0,0 +1,120 @@
    +<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="en"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../../jacoco-resources/report.gif" type="image/gif"/><title>XMLCoverageWriter.java</title><link rel="stylesheet" href="../../jacoco-resources/prettify.css" type="text/css"/><script type="text/javascript" src="../../jacoco-resources/prettify.js"></script></head><body onload="window['PR_TAB_WIDTH']=4;prettyPrint()"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../../index.html" class="el_report">JaCoCo</a> &gt; <a href="../index.html" class="el_bundle">org.jacoco.report</a> &gt; <a href="index.source.html" class="el_package">org.jacoco.report.internal.xml</a> &gt; <span class="el_source">XMLCoverageWriter.java</span></div><h1>XMLCoverageWriter.java</h1><pre class="source lang-java linenums">/*******************************************************************************
    + * Copyright (c) 2009, 2024 Mountainminds GmbH &amp; Co. KG and Contributors
    + * This program and the accompanying materials are made available under
    + * the terms of the Eclipse Public License 2.0 which is available at
    + * http://www.eclipse.org/legal/epl-2.0
    + *
    + * SPDX-License-Identifier: EPL-2.0
    + *
    + * Contributors:
    + *    Marc R. Hoffmann - initial API and implementation
    + *
    + *******************************************************************************/
    +package org.jacoco.report.internal.xml;
    +
    +import java.io.IOException;
    +
    +import org.jacoco.core.analysis.IBundleCoverage;
    +import org.jacoco.core.analysis.IClassCoverage;
    +import org.jacoco.core.analysis.ICounter;
    +import org.jacoco.core.analysis.ICoverageNode;
    +import org.jacoco.core.analysis.ICoverageNode.CounterEntity;
    +import org.jacoco.core.analysis.ILine;
    +import org.jacoco.core.analysis.IMethodCoverage;
    +import org.jacoco.core.analysis.IPackageCoverage;
    +import org.jacoco.core.analysis.ISourceFileCoverage;
    +import org.jacoco.core.analysis.ISourceNode;
    +
    +/**
    + * Serializes coverage data as XML fragments.
    + */
    +public final class XMLCoverageWriter {
    +
    +	/**
    +	 * Writes the structure of a given bundle.
    +	 *
    +	 * @param bundle
    +	 *            bundle coverage data
    +	 * @param element
    +	 *            container element for the bundle data
    +	 * @throws IOException
    +	 *             if XML can't be written to the underlying output
    +	 */
    +	public static void writeBundle(final IBundleCoverage bundle,
    +			final ReportElement element) throws IOException {
    +<span class="fc bfc" id="L45" title="All 2 branches covered.">		for (final IPackageCoverage p : bundle.getPackages()) {</span>
    +<span class="fc" id="L46">			writePackage(p, element);</span>
    +		}
    +<span class="fc" id="L48">		writeCounters(bundle, element);</span>
    +<span class="fc" id="L49">	}</span>
    +
    +	private static void writePackage(final IPackageCoverage p,
    +			final ReportElement parent) throws IOException {
    +<span class="fc" id="L53">		final ReportElement element = parent.packageElement(p.getName());</span>
    +<span class="fc bfc" id="L54" title="All 2 branches covered.">		for (final IClassCoverage c : p.getClasses()) {</span>
    +<span class="fc" id="L55">			writeClass(c, element);</span>
    +		}
    +<span class="fc bfc" id="L57" title="All 2 branches covered.">		for (final ISourceFileCoverage s : p.getSourceFiles()) {</span>
    +<span class="fc" id="L58">			writeSourceFile(s, element);</span>
    +		}
    +<span class="fc" id="L60">		writeCounters(p, element);</span>
    +<span class="fc" id="L61">	}</span>
    +
    +	private static void writeClass(final IClassCoverage c,
    +			final ReportElement parent) throws IOException {
    +<span class="fc" id="L65">		final ReportElement element = parent.classElement(c);</span>
    +<span class="fc bfc" id="L66" title="All 2 branches covered.">		for (final IMethodCoverage m : c.getMethods()) {</span>
    +<span class="fc" id="L67">			writeMethod(m, element);</span>
    +		}
    +<span class="fc" id="L69">		writeCounters(c, element);</span>
    +<span class="fc" id="L70">	}</span>
    +
    +	private static void writeMethod(final IMethodCoverage m,
    +			final ReportElement parent) throws IOException {
    +<span class="fc" id="L74">		final ReportElement element = parent.method(m);</span>
    +<span class="fc" id="L75">		writeCounters(m, element);</span>
    +<span class="fc" id="L76">	}</span>
    +
    +	private static void writeSourceFile(final ISourceFileCoverage s,
    +			final ReportElement parent) throws IOException {
    +<span class="fc" id="L80">		final ReportElement element = parent.sourcefile(s.getName());</span>
    +<span class="fc" id="L81">		writeLines(s, element);</span>
    +<span class="fc" id="L82">		writeCounters(s, element);</span>
    +<span class="fc" id="L83">	}</span>
    +
    +	/**
    +	 * Writes all non-zero counters of the given node.
    +	 *
    +	 * @param node
    +	 *            node to retrieve counters from
    +	 * @param parent
    +	 *            container for the counter elements
    +	 * @throws IOException
    +	 *             if XML can't be written to the underlying output
    +	 */
    +	public static void writeCounters(final ICoverageNode node,
    +			final ReportElement parent) throws IOException {
    +<span class="fc bfc" id="L97" title="All 2 branches covered.">		for (final CounterEntity counterEntity : CounterEntity.values()) {</span>
    +<span class="fc" id="L98">			final ICounter counter = node.getCounter(counterEntity);</span>
    +<span class="fc bfc" id="L99" title="All 2 branches covered.">			if (counter.getTotalCount() &gt; 0) {</span>
    +<span class="fc" id="L100">				parent.counter(counterEntity, counter);</span>
    +			}
    +		}
    +<span class="fc" id="L103">	}</span>
    +
    +	private static void writeLines(final ISourceNode source,
    +			final ReportElement parent) throws IOException {
    +<span class="fc" id="L107">		final int last = source.getLastLine();</span>
    +<span class="fc bfc" id="L108" title="All 2 branches covered.">		for (int nr = source.getFirstLine(); nr &lt;= last; nr++) {</span>
    +<span class="fc" id="L109">			final ILine line = source.getLine(nr);</span>
    +<span class="fc bfc" id="L110" title="All 2 branches covered.">			if (line.getStatus() != ICounter.EMPTY) {</span>
    +<span class="fc" id="L111">				parent.line(nr, line);</span>
    +			}
    +		}
    +<span class="fc" id="L114">	}</span>
    +
    +	private XMLCoverageWriter() {
    +	}
    +
    +}
    +</pre><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.12.202403270442</span>Code Coverage Report for JaCoCo 0.8.12-SNAPSHOT</div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/trunk/coverage/org.jacoco.report/org.jacoco.report.internal.xml/XMLElement.html b/jacoco/trunk/coverage/org.jacoco.report/org.jacoco.report.internal.xml/XMLElement.html
    new file mode 100644
    index 00000000000..3059a69c0ad
    --- /dev/null
    +++ b/jacoco/trunk/coverage/org.jacoco.report/org.jacoco.report.internal.xml/XMLElement.html
    @@ -0,0 +1 @@
    +<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="en"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../../jacoco-resources/report.gif" type="image/gif"/><title>XMLElement</title><script type="text/javascript" src="../../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../../index.html" class="el_report">JaCoCo</a> &gt; <a href="../index.html" class="el_bundle">org.jacoco.report</a> &gt; <a href="index.html" class="el_package">org.jacoco.report.internal.xml</a> &gt; <span class="el_class">XMLElement</span></div><h1>XMLElement</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">0 of 323</td><td class="ctr2">100%</td><td class="bar">0 of 35</td><td class="ctr2">100%</td><td class="ctr1">0</td><td class="ctr2">31</td><td class="ctr1">0</td><td class="ctr2">84</td><td class="ctr1">0</td><td class="ctr2">12</td></tr></tfoot><tbody><tr><td id="a9"><a href="XMLElement.java.html#L84" class="el_method">XMLElement(String, String, String, boolean, String, OutputStream)</a></td><td class="bar" id="b0"><img src="../../jacoco-resources/greenbar.gif" width="120" height="10" title="64" alt="64"/></td><td class="ctr2" id="c0">100%</td><td class="bar" id="d3"><img src="../../jacoco-resources/greenbar.gif" width="60" height="10" title="4" alt="4"/></td><td class="ctr2" id="e0">100%</td><td class="ctr1" id="f0">0</td><td class="ctr2" id="g3">3</td><td class="ctr1" id="h0">0</td><td class="ctr2" id="i3">9</td><td class="ctr1" id="j0">0</td><td class="ctr2" id="k0">1</td></tr><tr><td id="a4"><a href="XMLElement.java.html#L268" class="el_method">close()</a></td><td class="bar" id="b1"><img src="../../jacoco-resources/greenbar.gif" width="88" height="10" title="47" alt="47"/></td><td class="ctr2" id="c1">100%</td><td class="bar" id="d0"><img src="../../jacoco-resources/greenbar.gif" width="120" height="10" title="8" alt="8"/></td><td class="ctr2" id="e1">100%</td><td class="ctr1" id="f1">0</td><td class="ctr2" id="g1">5</td><td class="ctr1" id="h1">0</td><td class="ctr2" id="i0">14</td><td class="ctr1" id="j1">0</td><td class="ctr2" id="k1">1</td></tr><tr><td id="a3"><a href="XMLElement.java.html#L175" class="el_method">attr(String, String)</a></td><td class="bar" id="b2"><img src="../../jacoco-resources/greenbar.gif" width="86" height="10" title="46" alt="46"/></td><td class="ctr2" id="c2">100%</td><td class="bar" id="d2"><img src="../../jacoco-resources/greenbar.gif" width="90" height="10" title="6" alt="6"/></td><td class="ctr2" id="e2">100%</td><td class="ctr1" id="f2">0</td><td class="ctr2" id="g2">4</td><td class="ctr1" id="h2">0</td><td class="ctr2" id="i2">11</td><td class="ctr1" id="j2">0</td><td class="ctr2" id="k2">1</td></tr><tr><td id="a7"><a href="XMLElement.java.html#L136" class="el_method">quote(String)</a></td><td class="bar" id="b3"><img src="../../jacoco-resources/greenbar.gif" width="76" height="10" title="41" alt="41"/></td><td class="ctr2" id="c3">100%</td><td class="bar" id="d1"><img src="../../jacoco-resources/greenbar.gif" width="105" height="10" title="7" alt="7"/></td><td class="ctr2" id="e3">100%</td><td class="ctr1" id="f3">0</td><td class="ctr2" id="g0">6</td><td class="ctr1" id="h3">0</td><td class="ctr2" id="i1">14</td><td class="ctr1" id="j3">0</td><td class="ctr2" id="k3">1</td></tr><tr><td id="a0"><a href="XMLElement.java.html#L118" class="el_method">addChildElement(XMLElement)</a></td><td class="bar" id="b4"><img src="../../jacoco-resources/greenbar.gif" width="52" height="10" title="28" alt="28"/></td><td class="ctr2" id="c4">100%</td><td class="bar" id="d4"><img src="../../jacoco-resources/greenbar.gif" width="60" height="10" title="4" alt="4"/></td><td class="ctr2" id="e4">100%</td><td class="ctr1" id="f4">0</td><td class="ctr2" id="g4">3</td><td class="ctr1" id="h4">0</td><td class="ctr2" id="i5">7</td><td class="ctr1" id="j4">0</td><td class="ctr2" id="k4">1</td></tr><tr><td id="a8"><a href="XMLElement.java.html#L237" class="el_method">text(String)</a></td><td class="bar" id="b5"><img src="../../jacoco-resources/greenbar.gif" width="52" height="10" title="28" alt="28"/></td><td class="ctr2" id="c5">100%</td><td class="bar" id="d5"><img src="../../jacoco-resources/greenbar.gif" width="60" height="10" title="4" alt="4"/></td><td class="ctr2" id="e5">100%</td><td class="ctr1" id="f5">0</td><td class="ctr2" id="g5">3</td><td class="ctr1" id="h5">0</td><td class="ctr2" id="i6">7</td><td class="ctr1" id="j5">0</td><td class="ctr2" id="k5">1</td></tr><tr><td id="a11"><a href="XMLElement.java.html#L53" class="el_method">XMLElement(Writer, String, boolean)</a></td><td class="bar" id="b6"><img src="../../jacoco-resources/greenbar.gif" width="39" height="10" title="21" alt="21"/></td><td class="ctr2" id="c6">100%</td><td class="bar" id="d7"/><td class="ctr2" id="e7">n/a</td><td class="ctr1" id="f6">0</td><td class="ctr2" id="g7">1</td><td class="ctr1" id="h6">0</td><td class="ctr2" id="i4">8</td><td class="ctr1" id="j6">0</td><td class="ctr2" id="k6">1</td></tr><tr><td id="a10"><a href="XMLElement.java.html#L111" class="el_method">XMLElement(String, XMLElement)</a></td><td class="bar" id="b7"><img src="../../jacoco-resources/greenbar.gif" width="33" height="10" title="18" alt="18"/></td><td class="ctr2" id="c7">100%</td><td class="bar" id="d8"/><td class="ctr2" id="e8">n/a</td><td class="ctr1" id="f7">0</td><td class="ctr2" id="g8">1</td><td class="ctr1" id="h7">0</td><td class="ctr2" id="i7">5</td><td class="ctr1" id="j7">0</td><td class="ctr2" id="k7">1</td></tr><tr><td id="a6"><a href="XMLElement.java.html#L129" class="el_method">finishOpenTag()</a></td><td class="bar" id="b8"><img src="../../jacoco-resources/greenbar.gif" width="22" height="10" title="12" alt="12"/></td><td class="ctr2" id="c8">100%</td><td class="bar" id="d6"><img src="../../jacoco-resources/greenbar.gif" width="30" height="10" title="2" alt="2"/></td><td class="ctr2" id="e6">100%</td><td class="ctr1" id="f8">0</td><td class="ctr2" id="g6">2</td><td class="ctr1" id="h8">0</td><td class="ctr2" id="i8">4</td><td class="ctr1" id="j8">0</td><td class="ctr2" id="k8">1</td></tr><tr><td id="a1"><a href="XMLElement.java.html#L205" class="el_method">attr(String, int)</a></td><td class="bar" id="b9"><img src="../../jacoco-resources/greenbar.gif" width="11" height="10" title="6" alt="6"/></td><td class="ctr2" id="c9">100%</td><td class="bar" id="d9"/><td class="ctr2" id="e9">n/a</td><td class="ctr1" id="f9">0</td><td class="ctr2" id="g9">1</td><td class="ctr1" id="h9">0</td><td class="ctr2" id="i9">2</td><td class="ctr1" id="j9">0</td><td class="ctr2" id="k9">1</td></tr><tr><td id="a2"><a href="XMLElement.java.html#L223" class="el_method">attr(String, long)</a></td><td class="bar" id="b10"><img src="../../jacoco-resources/greenbar.gif" width="11" height="10" title="6" alt="6"/></td><td class="ctr2" id="c10">100%</td><td class="bar" id="d10"/><td class="ctr2" id="e10">n/a</td><td class="ctr1" id="f10">0</td><td class="ctr2" id="g10">1</td><td class="ctr1" id="h10">0</td><td class="ctr2" id="i10">2</td><td class="ctr1" id="j10">0</td><td class="ctr2" id="k10">1</td></tr><tr><td id="a5"><a href="XMLElement.java.html#L258" class="el_method">element(String)</a></td><td class="bar" id="b11"><img src="../../jacoco-resources/greenbar.gif" width="11" height="10" title="6" alt="6"/></td><td class="ctr2" id="c11">100%</td><td class="bar" id="d11"/><td class="ctr2" id="e11">n/a</td><td class="ctr1" id="f11">0</td><td class="ctr2" id="g11">1</td><td class="ctr1" id="h11">0</td><td class="ctr2" id="i11">1</td><td class="ctr1" id="j11">0</td><td class="ctr2" id="k11">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.12.202403270442</span>Code Coverage Report for JaCoCo 0.8.12-SNAPSHOT</div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/trunk/coverage/org.jacoco.report/org.jacoco.report.internal.xml/XMLElement.java.html b/jacoco/trunk/coverage/org.jacoco.report/org.jacoco.report.internal.xml/XMLElement.java.html
    new file mode 100644
    index 00000000000..5733a3009cc
    --- /dev/null
    +++ b/jacoco/trunk/coverage/org.jacoco.report/org.jacoco.report.internal.xml/XMLElement.java.html
    @@ -0,0 +1,289 @@
    +<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="en"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../../jacoco-resources/report.gif" type="image/gif"/><title>XMLElement.java</title><link rel="stylesheet" href="../../jacoco-resources/prettify.css" type="text/css"/><script type="text/javascript" src="../../jacoco-resources/prettify.js"></script></head><body onload="window['PR_TAB_WIDTH']=4;prettyPrint()"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../../index.html" class="el_report">JaCoCo</a> &gt; <a href="../index.html" class="el_bundle">org.jacoco.report</a> &gt; <a href="index.source.html" class="el_package">org.jacoco.report.internal.xml</a> &gt; <span class="el_source">XMLElement.java</span></div><h1>XMLElement.java</h1><pre class="source lang-java linenums">/*******************************************************************************
    + * Copyright (c) 2009, 2024 Mountainminds GmbH &amp; Co. KG and Contributors
    + * This program and the accompanying materials are made available under
    + * the terms of the Eclipse Public License 2.0 which is available at
    + * http://www.eclipse.org/legal/epl-2.0
    + *
    + * SPDX-License-Identifier: EPL-2.0
    + *
    + * Contributors:
    + *    Marc R. Hoffmann - initial API and implementation
    + *
    + *******************************************************************************/
    +package org.jacoco.report.internal.xml;
    +
    +import static java.lang.String.format;
    +
    +import java.io.IOException;
    +import java.io.OutputStream;
    +import java.io.OutputStreamWriter;
    +import java.io.Writer;
    +
    +/**
    + * Simple API to create well formed XML streams with minimal memory overhead. A
    + * {@link XMLElement} instance represents a single element in a XML document.
    + * {@link XMLElement} can be used directly or might be subclassed for schema
    + * specific convenience methods.
    + */
    +public class XMLElement {
    +
    +	/** XML header template */
    +	private static final String HEADER = &quot;&lt;?xml version=\&quot;1.0\&quot; encoding=\&quot;%s\&quot;?&gt;&quot;;
    +
    +	/** XML header template for standalone documents */
    +	private static final String HEADER_STANDALONE = &quot;&lt;?xml version=\&quot;1.0\&quot; encoding=\&quot;%s\&quot; standalone=\&quot;yes\&quot;?&gt;&quot;;
    +
    +	/** DOCTYPE declaration template */
    +	private static final String DOCTYPE = &quot;&lt;!DOCTYPE %s PUBLIC \&quot;%s\&quot; \&quot;%s\&quot;&gt;&quot;;
    +
    +	/** Writer for content output */
    +	protected final Writer writer;
    +
    +	private final String name;
    +
    +	private boolean openTagDone;
    +
    +	private boolean closed;
    +
    +	private XMLElement lastchild;
    +
    +	private final boolean root;
    +
    +	private XMLElement(final Writer writer, final String name,
    +<span class="fc" id="L53">			final boolean root) throws IOException {</span>
    +<span class="fc" id="L54">		this.writer = writer;</span>
    +<span class="fc" id="L55">		this.name = name;</span>
    +<span class="fc" id="L56">		this.openTagDone = false;</span>
    +<span class="fc" id="L57">		this.closed = false;</span>
    +<span class="fc" id="L58">		this.lastchild = null;</span>
    +<span class="fc" id="L59">		this.root = root;</span>
    +<span class="fc" id="L60">	}</span>
    +
    +	/**
    +	 * Creates a root element of a XML document.
    +	 *
    +	 * @param name
    +	 *            element name
    +	 * @param pubId
    +	 *            optional schema public identifier
    +	 * @param system
    +	 *            optional schema system identifier
    +	 * @param standalone
    +	 *            if &lt;code&gt;true&lt;/code&gt; the document is declared as standalone
    +	 * @param encoding
    +	 *            character encoding used for output
    +	 * @param output
    +	 *            output stream will be closed if the root element is closed
    +	 * @throws IOException
    +	 *             in case of problems with the underlying output
    +	 */
    +	public XMLElement(final String name, final String pubId,
    +			final String system, final boolean standalone,
    +			final String encoding, final OutputStream output)
    +			throws IOException {
    +<span class="fc" id="L84">		this(new OutputStreamWriter(output, encoding), name, true);</span>
    +<span class="fc bfc" id="L85" title="All 2 branches covered.">		if (standalone) {</span>
    +<span class="fc" id="L86">			writer.write(format(HEADER_STANDALONE, encoding));</span>
    +		} else {
    +<span class="fc" id="L88">			writer.write(format(HEADER, encoding));</span>
    +		}
    +<span class="fc bfc" id="L90" title="All 2 branches covered.">		if (pubId != null) {</span>
    +<span class="fc" id="L91">			writer.write(format(DOCTYPE, name, pubId, system));</span>
    +		}
    +<span class="fc" id="L93">		writer.write('&lt;');</span>
    +<span class="fc" id="L94">		writer.write(name);</span>
    +<span class="fc" id="L95">	}</span>
    +
    +	/**
    +	 * Creates a new child element within a XML document. May only be called
    +	 * before the parent element has been closed.
    +	 *
    +	 * @param name
    +	 *            element name
    +	 * @param parent
    +	 *            parent of this element
    +	 * @throws IOException
    +	 *             in case of problems with the underlying output or if the
    +	 *             parent element is already closed
    +	 */
    +	protected XMLElement(final String name, final XMLElement parent)
    +			throws IOException {
    +<span class="fc" id="L111">		this(parent.writer, name, false);</span>
    +<span class="fc" id="L112">		parent.addChildElement(this);</span>
    +<span class="fc" id="L113">		writer.write('&lt;');</span>
    +<span class="fc" id="L114">		writer.write(name);</span>
    +<span class="fc" id="L115">	}</span>
    +
    +	private void addChildElement(final XMLElement child) throws IOException {
    +<span class="fc bfc" id="L118" title="All 2 branches covered.">		if (closed) {</span>
    +<span class="fc" id="L119">			throw new IOException(format(&quot;Element %s already closed.&quot;, name));</span>
    +		}
    +<span class="fc" id="L121">		finishOpenTag();</span>
    +<span class="fc bfc" id="L122" title="All 2 branches covered.">		if (lastchild != null) {</span>
    +<span class="fc" id="L123">			lastchild.close();</span>
    +		}
    +<span class="fc" id="L125">		lastchild = child;</span>
    +<span class="fc" id="L126">	}</span>
    +
    +	private void finishOpenTag() throws IOException {
    +<span class="fc bfc" id="L129" title="All 2 branches covered.">		if (!openTagDone) {</span>
    +<span class="fc" id="L130">			writer.append('&gt;');</span>
    +<span class="fc" id="L131">			openTagDone = true;</span>
    +		}
    +<span class="fc" id="L133">	}</span>
    +
    +	private void quote(final String text) throws IOException {
    +<span class="fc" id="L136">		final int len = text.length();</span>
    +<span class="fc bfc" id="L137" title="All 2 branches covered.">		for (int i = 0; i &lt; len; i++) {</span>
    +<span class="fc" id="L138">			final char c = text.charAt(i);</span>
    +<span class="fc bfc" id="L139" title="All 5 branches covered.">			switch (c) {</span>
    +			case '&lt;':
    +<span class="fc" id="L141">				writer.write(&quot;&amp;lt;&quot;);</span>
    +<span class="fc" id="L142">				break;</span>
    +			case '&gt;':
    +<span class="fc" id="L144">				writer.write(&quot;&amp;gt;&quot;);</span>
    +<span class="fc" id="L145">				break;</span>
    +			case '&quot;':
    +<span class="fc" id="L147">				writer.write(&quot;&amp;quot;&quot;);</span>
    +<span class="fc" id="L148">				break;</span>
    +			case '&amp;':
    +<span class="fc" id="L150">				writer.write(&quot;&amp;amp;&quot;);</span>
    +<span class="fc" id="L151">				break;</span>
    +			default:
    +<span class="fc" id="L153">				writer.write(c);</span>
    +				break;
    +			}
    +		}
    +<span class="fc" id="L157">	}</span>
    +
    +	/**
    +	 * Adds an attribute to this element. May only be called before an child
    +	 * element is added or this element has been closed. The attribute value
    +	 * will be quoted. If the value is &lt;code&gt;null&lt;/code&gt; the attribute will not
    +	 * be added.
    +	 *
    +	 * @param name
    +	 *            attribute name
    +	 * @param value
    +	 *            attribute value or &lt;code&gt;null&lt;/code&gt;
    +	 * @throws IOException
    +	 *             in case of problems with the underlying output or if the
    +	 *             element is already closed.
    +	 */
    +	public final void attr(final String name, final String value)
    +			throws IOException {
    +<span class="fc bfc" id="L175" title="All 2 branches covered.">		if (value == null) {</span>
    +<span class="fc" id="L176">			return;</span>
    +		}
    +<span class="fc bfc" id="L178" title="All 4 branches covered.">		if (closed || openTagDone) {</span>
    +<span class="fc" id="L179">			throw new IOException(</span>
    +					format(&quot;Element %s already closed.&quot;, this.name));
    +		}
    +<span class="fc" id="L182">		writer.write(' ');</span>
    +<span class="fc" id="L183">		writer.write(name);</span>
    +<span class="fc" id="L184">		writer.write('=');</span>
    +<span class="fc" id="L185">		writer.write('&quot;');</span>
    +<span class="fc" id="L186">		quote(value);</span>
    +<span class="fc" id="L187">		writer.write('&quot;');</span>
    +<span class="fc" id="L188">	}</span>
    +
    +	/**
    +	 * Adds an attribute to this element. May only be called before an child
    +	 * element is added or this element has been closed. The attribute value is
    +	 * the decimal representation of the given int value.
    +	 *
    +	 * @param name
    +	 *            attribute name
    +	 * @param value
    +	 *            attribute value
    +	 * @throws IOException
    +	 *             in case of problems with the underlying output or if the
    +	 *             element is already closed.
    +	 */
    +	public final void attr(final String name, final int value)
    +			throws IOException {
    +<span class="fc" id="L205">		attr(name, String.valueOf(value));</span>
    +<span class="fc" id="L206">	}</span>
    +
    +	/**
    +	 * Adds an attribute to this element. May only be called before an child
    +	 * element is added or this element has been closed. The attribute value is
    +	 * the decimal representation of the given long value.
    +	 *
    +	 * @param name
    +	 *            attribute name
    +	 * @param value
    +	 *            attribute value
    +	 * @throws IOException
    +	 *             in case of problems with the underlying output or if the
    +	 *             element is already closed.
    +	 */
    +	public final void attr(final String name, final long value)
    +			throws IOException {
    +<span class="fc" id="L223">		attr(name, String.valueOf(value));</span>
    +<span class="fc" id="L224">	}</span>
    +
    +	/**
    +	 * Adds the given text as a child to this node. The text will be quoted. May
    +	 * only be called before this element has been closed.
    +	 *
    +	 * @param text
    +	 *            text to add
    +	 * @throws IOException
    +	 *             in case of problems with the underlying output or if the
    +	 *             element is already closed.
    +	 */
    +	public final void text(final String text) throws IOException {
    +<span class="fc bfc" id="L237" title="All 2 branches covered.">		if (closed) {</span>
    +<span class="fc" id="L238">			throw new IOException(format(&quot;Element %s already closed.&quot;, name));</span>
    +		}
    +<span class="fc" id="L240">		finishOpenTag();</span>
    +<span class="fc bfc" id="L241" title="All 2 branches covered.">		if (lastchild != null) {</span>
    +<span class="fc" id="L242">			lastchild.close();</span>
    +		}
    +<span class="fc" id="L244">		quote(text);</span>
    +<span class="fc" id="L245">	}</span>
    +
    +	/**
    +	 * Creates a new child element for this element. Might be overridden in
    +	 * subclasses to return a instance of the subclass.
    +	 *
    +	 * @param name
    +	 *            name of the child element
    +	 * @return child element instance
    +	 * @throws IOException
    +	 *             in case of problems with the underlying output
    +	 */
    +	public XMLElement element(final String name) throws IOException {
    +<span class="fc" id="L258">		return new XMLElement(name, this);</span>
    +	}
    +
    +	/**
    +	 * Closes this element if it has not been closed before.
    +	 *
    +	 * @throws IOException
    +	 *             in case of problems with the underlying output
    +	 */
    +	public final void close() throws IOException {
    +<span class="fc bfc" id="L268" title="All 2 branches covered.">		if (!closed) {</span>
    +<span class="fc bfc" id="L269" title="All 2 branches covered.">			if (lastchild != null) {</span>
    +<span class="fc" id="L270">				lastchild.close();</span>
    +			}
    +<span class="fc bfc" id="L272" title="All 2 branches covered.">			if (openTagDone) {</span>
    +<span class="fc" id="L273">				writer.write('&lt;');</span>
    +<span class="fc" id="L274">				writer.write('/');</span>
    +<span class="fc" id="L275">				writer.write(name);</span>
    +			} else {
    +<span class="fc" id="L277">				writer.write('/');</span>
    +			}
    +<span class="fc" id="L279">			writer.write('&gt;');</span>
    +<span class="fc" id="L280">			closed = true;</span>
    +<span class="fc" id="L281">			openTagDone = true;</span>
    +<span class="fc bfc" id="L282" title="All 2 branches covered.">			if (root) {</span>
    +<span class="fc" id="L283">				writer.close();</span>
    +			}
    +		}
    +<span class="fc" id="L286">	}</span>
    +
    +}
    +</pre><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.12.202403270442</span>Code Coverage Report for JaCoCo 0.8.12-SNAPSHOT</div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/trunk/coverage/org.jacoco.report/org.jacoco.report.internal.xml/XMLGroupVisitor.html b/jacoco/trunk/coverage/org.jacoco.report/org.jacoco.report.internal.xml/XMLGroupVisitor.html
    new file mode 100644
    index 00000000000..5a6b1052656
    --- /dev/null
    +++ b/jacoco/trunk/coverage/org.jacoco.report/org.jacoco.report.internal.xml/XMLGroupVisitor.html
    @@ -0,0 +1 @@
    +<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="en"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../../jacoco-resources/report.gif" type="image/gif"/><title>XMLGroupVisitor</title><script type="text/javascript" src="../../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../../index.html" class="el_report">JaCoCo</a> &gt; <a href="../index.html" class="el_bundle">org.jacoco.report</a> &gt; <a href="index.html" class="el_package">org.jacoco.report.internal.xml</a> &gt; <span class="el_class">XMLGroupVisitor</span></div><h1>XMLGroupVisitor</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">0 of 34</td><td class="ctr2">100%</td><td class="bar">0 of 0</td><td class="ctr2">n/a</td><td class="ctr1">0</td><td class="ctr2">4</td><td class="ctr1">0</td><td class="ctr2">10</td><td class="ctr1">0</td><td class="ctr2">4</td></tr></tfoot><tbody><tr><td id="a2"><a href="XMLGroupVisitor.java.html#L58" class="el_method">handleGroup(String)</a></td><td class="bar" id="b0"><img src="../../jacoco-resources/greenbar.gif" width="120" height="10" title="11" alt="11"/></td><td class="ctr2" id="c0">100%</td><td class="bar" id="d0"/><td class="ctr2" id="e0">n/a</td><td class="ctr1" id="f0">0</td><td class="ctr2" id="g0">1</td><td class="ctr1" id="h0">0</td><td class="ctr2" id="i2">2</td><td class="ctr1" id="j0">0</td><td class="ctr2" id="k0">1</td></tr><tr><td id="a0"><a href="XMLGroupVisitor.java.html#L51" class="el_method">handleBundle(IBundleCoverage, ISourceFileLocator)</a></td><td class="bar" id="b1"><img src="../../jacoco-resources/greenbar.gif" width="109" height="10" title="10" alt="10"/></td><td class="ctr2" id="c1">100%</td><td class="bar" id="d1"/><td class="ctr2" id="e1">n/a</td><td class="ctr1" id="f1">0</td><td class="ctr2" id="g1">1</td><td class="ctr1" id="h1">0</td><td class="ctr2" id="i0">3</td><td class="ctr1" id="j1">0</td><td class="ctr2" id="k1">1</td></tr><tr><td id="a3"><a href="XMLGroupVisitor.java.html#L44" class="el_method">XMLGroupVisitor(ReportElement, String)</a></td><td class="bar" id="b2"><img src="../../jacoco-resources/greenbar.gif" width="76" height="10" title="7" alt="7"/></td><td class="ctr2" id="c2">100%</td><td class="bar" id="d2"/><td class="ctr2" id="e2">n/a</td><td class="ctr1" id="f2">0</td><td class="ctr2" id="g2">1</td><td class="ctr1" id="h2">0</td><td class="ctr2" id="i1">3</td><td class="ctr1" id="j2">0</td><td class="ctr2" id="k2">1</td></tr><tr><td id="a1"><a href="XMLGroupVisitor.java.html#L64" class="el_method">handleEnd()</a></td><td class="bar" id="b3"><img src="../../jacoco-resources/greenbar.gif" width="65" height="10" title="6" alt="6"/></td><td class="ctr2" id="c3">100%</td><td class="bar" id="d3"/><td class="ctr2" id="e3">n/a</td><td class="ctr1" id="f3">0</td><td class="ctr2" id="g3">1</td><td class="ctr1" id="h3">0</td><td class="ctr2" id="i3">2</td><td class="ctr1" id="j3">0</td><td class="ctr2" id="k3">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.12.202403270442</span>Code Coverage Report for JaCoCo 0.8.12-SNAPSHOT</div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/trunk/coverage/org.jacoco.report/org.jacoco.report.internal.xml/XMLGroupVisitor.java.html b/jacoco/trunk/coverage/org.jacoco.report/org.jacoco.report.internal.xml/XMLGroupVisitor.java.html
    new file mode 100644
    index 00000000000..83af6d3ab18
    --- /dev/null
    +++ b/jacoco/trunk/coverage/org.jacoco.report/org.jacoco.report.internal.xml/XMLGroupVisitor.java.html
    @@ -0,0 +1,68 @@
    +<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="en"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../../jacoco-resources/report.gif" type="image/gif"/><title>XMLGroupVisitor.java</title><link rel="stylesheet" href="../../jacoco-resources/prettify.css" type="text/css"/><script type="text/javascript" src="../../jacoco-resources/prettify.js"></script></head><body onload="window['PR_TAB_WIDTH']=4;prettyPrint()"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../../index.html" class="el_report">JaCoCo</a> &gt; <a href="../index.html" class="el_bundle">org.jacoco.report</a> &gt; <a href="index.source.html" class="el_package">org.jacoco.report.internal.xml</a> &gt; <span class="el_source">XMLGroupVisitor.java</span></div><h1>XMLGroupVisitor.java</h1><pre class="source lang-java linenums">/*******************************************************************************
    + * Copyright (c) 2009, 2024 Mountainminds GmbH &amp; Co. KG and Contributors
    + * This program and the accompanying materials are made available under
    + * the terms of the Eclipse Public License 2.0 which is available at
    + * http://www.eclipse.org/legal/epl-2.0
    + *
    + * SPDX-License-Identifier: EPL-2.0
    + *
    + * Contributors:
    + *    Brock Janiczak - initial API and implementation
    + *    Marc R. Hoffmann - generalized structure, line info
    + *
    + *******************************************************************************/
    +package org.jacoco.report.internal.xml;
    +
    +import java.io.IOException;
    +
    +import org.jacoco.core.analysis.IBundleCoverage;
    +import org.jacoco.report.ISourceFileLocator;
    +import org.jacoco.report.internal.AbstractGroupVisitor;
    +
    +/**
    + * A {@link org.jacoco.report.IReportGroupVisitor} that transforms the report
    + * structure into XML elements.
    + */
    +public class XMLGroupVisitor extends AbstractGroupVisitor {
    +
    +	/** XML element of this group */
    +	protected final ReportElement element;
    +
    +	/**
    +	 * New handler for a group with the given name.
    +	 *
    +	 * @param element
    +	 *            XML-Element representing this coverage node. The start tag
    +	 *            must not be closed yet to allow adding additional attributes.
    +	 * @param name
    +	 *            name of the group
    +	 * @throws IOException
    +	 *             in case of problems with the underlying writer
    +	 */
    +	public XMLGroupVisitor(final ReportElement element, final String name)
    +			throws IOException {
    +<span class="fc" id="L44">		super(name);</span>
    +<span class="fc" id="L45">		this.element = element;</span>
    +<span class="fc" id="L46">	}</span>
    +
    +	@Override
    +	protected void handleBundle(final IBundleCoverage bundle,
    +			final ISourceFileLocator locator) throws IOException {
    +<span class="fc" id="L51">		final ReportElement child = element.group(bundle.getName());</span>
    +<span class="fc" id="L52">		XMLCoverageWriter.writeBundle(bundle, child);</span>
    +<span class="fc" id="L53">	}</span>
    +
    +	@Override
    +	protected AbstractGroupVisitor handleGroup(final String name)
    +			throws IOException {
    +<span class="fc" id="L58">		final ReportElement child = element.group(name);</span>
    +<span class="fc" id="L59">		return new XMLGroupVisitor(child, name);</span>
    +	}
    +
    +	@Override
    +	protected void handleEnd() throws IOException {
    +<span class="fc" id="L64">		XMLCoverageWriter.writeCounters(total, element);</span>
    +<span class="fc" id="L65">	}</span>
    +
    +}
    +</pre><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.12.202403270442</span>Code Coverage Report for JaCoCo 0.8.12-SNAPSHOT</div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/trunk/coverage/org.jacoco.report/org.jacoco.report.internal.xml/index.html b/jacoco/trunk/coverage/org.jacoco.report/org.jacoco.report.internal.xml/index.html
    new file mode 100644
    index 00000000000..8190648b2ec
    --- /dev/null
    +++ b/jacoco/trunk/coverage/org.jacoco.report/org.jacoco.report.internal.xml/index.html
    @@ -0,0 +1 @@
    +<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="en"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../../jacoco-resources/report.gif" type="image/gif"/><title>org.jacoco.report.internal.xml</title><script type="text/javascript" src="../../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb', 'coveragetable'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="index.source.html" class="el_source">Source Files</a><a href="../../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../../index.html" class="el_report">JaCoCo</a> &gt; <a href="../index.html" class="el_bundle">org.jacoco.report</a> &gt; <span class="el_package">org.jacoco.report.internal.xml</span></div><h1>org.jacoco.report.internal.xml</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td><td class="sortable ctr1" id="l" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="m" onclick="toggleSort(this)">Classes</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">0 of 661</td><td class="ctr2">100%</td><td class="bar">1 of 53</td><td class="ctr2">98%</td><td class="ctr1">1</td><td class="ctr2">64</td><td class="ctr1">0</td><td class="ctr2">166</td><td class="ctr1">0</td><td class="ctr2">36</td><td class="ctr1">0</td><td class="ctr2">4</td></tr></tfoot><tbody><tr><td id="a2"><a href="XMLElement.html" class="el_class">XMLElement</a></td><td class="bar" id="b0"><img src="../../jacoco-resources/greenbar.gif" width="120" height="10" title="323" alt="323"/></td><td class="ctr2" id="c0">100%</td><td class="bar" id="d1"><img src="../../jacoco-resources/greenbar.gif" width="120" height="10" title="35" alt="35"/></td><td class="ctr2" id="e0">100%</td><td class="ctr1" id="f1">0</td><td class="ctr2" id="g0">31</td><td class="ctr1" id="h0">0</td><td class="ctr2" id="i0">84</td><td class="ctr1" id="j0">0</td><td class="ctr2" id="k1">12</td><td class="ctr1" id="l0">0</td><td class="ctr2" id="m0">1</td></tr><tr><td id="a0"><a href="ReportElement.html" class="el_class">ReportElement</a></td><td class="bar" id="b1"><img src="../../jacoco-resources/greenbar.gif" width="56" height="10" title="152" alt="152"/></td><td class="ctr2" id="c1">100%</td><td class="bar" id="d0"><img src="../../jacoco-resources/redbar.gif" width="3" height="10" title="1" alt="1"/><img src="../../jacoco-resources/greenbar.gif" width="3" height="10" title="1" alt="1"/></td><td class="ctr2" id="e2">50%</td><td class="ctr1" id="f0">1</td><td class="ctr2" id="g2">14</td><td class="ctr1" id="h1">0</td><td class="ctr2" id="i1">38</td><td class="ctr1" id="j1">0</td><td class="ctr2" id="k0">13</td><td class="ctr1" id="l1">0</td><td class="ctr2" id="m1">1</td></tr><tr><td id="a1"><a href="XMLCoverageWriter.html" class="el_class">XMLCoverageWriter</a></td><td class="bar" id="b2"><img src="../../jacoco-resources/greenbar.gif" width="56" height="10" title="152" alt="152"/></td><td class="ctr2" id="c2">100%</td><td class="bar" id="d2"><img src="../../jacoco-resources/greenbar.gif" width="54" height="10" title="16" alt="16"/></td><td class="ctr2" id="e1">100%</td><td class="ctr1" id="f2">0</td><td class="ctr2" id="g1">15</td><td class="ctr1" id="h2">0</td><td class="ctr2" id="i2">34</td><td class="ctr1" id="j2">0</td><td class="ctr2" id="k2">7</td><td class="ctr1" id="l2">0</td><td class="ctr2" id="m2">1</td></tr><tr><td id="a3"><a href="XMLGroupVisitor.html" class="el_class">XMLGroupVisitor</a></td><td class="bar" id="b3"><img src="../../jacoco-resources/greenbar.gif" width="12" height="10" title="34" alt="34"/></td><td class="ctr2" id="c3">100%</td><td class="bar" id="d3"/><td class="ctr2" id="e3">n/a</td><td class="ctr1" id="f3">0</td><td class="ctr2" id="g3">4</td><td class="ctr1" id="h3">0</td><td class="ctr2" id="i3">10</td><td class="ctr1" id="j3">0</td><td class="ctr2" id="k3">4</td><td class="ctr1" id="l3">0</td><td class="ctr2" id="m3">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.12.202403270442</span>Code Coverage Report for JaCoCo 0.8.12-SNAPSHOT</div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/trunk/coverage/org.jacoco.report/org.jacoco.report.internal.xml/index.source.html b/jacoco/trunk/coverage/org.jacoco.report/org.jacoco.report.internal.xml/index.source.html
    new file mode 100644
    index 00000000000..00503ec463b
    --- /dev/null
    +++ b/jacoco/trunk/coverage/org.jacoco.report/org.jacoco.report.internal.xml/index.source.html
    @@ -0,0 +1 @@
    +<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="en"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../../jacoco-resources/report.gif" type="image/gif"/><title>org.jacoco.report.internal.xml</title><script type="text/javascript" src="../../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb', 'coveragetable'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="index.html" class="el_class">Classes</a><a href="../../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../../index.html" class="el_report">JaCoCo</a> &gt; <a href="../index.html" class="el_bundle">org.jacoco.report</a> &gt; <span class="el_package">org.jacoco.report.internal.xml</span></div><h1>org.jacoco.report.internal.xml</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td><td class="sortable ctr1" id="l" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="m" onclick="toggleSort(this)">Classes</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">0 of 661</td><td class="ctr2">100%</td><td class="bar">1 of 53</td><td class="ctr2">98%</td><td class="ctr1">1</td><td class="ctr2">64</td><td class="ctr1">0</td><td class="ctr2">166</td><td class="ctr1">0</td><td class="ctr2">36</td><td class="ctr1">0</td><td class="ctr2">4</td></tr></tfoot><tbody><tr><td id="a2"><a href="XMLElement.java.html" class="el_source">XMLElement.java</a></td><td class="bar" id="b0"><img src="../../jacoco-resources/greenbar.gif" width="120" height="10" title="323" alt="323"/></td><td class="ctr2" id="c0">100%</td><td class="bar" id="d1"><img src="../../jacoco-resources/greenbar.gif" width="120" height="10" title="35" alt="35"/></td><td class="ctr2" id="e0">100%</td><td class="ctr1" id="f1">0</td><td class="ctr2" id="g0">31</td><td class="ctr1" id="h0">0</td><td class="ctr2" id="i0">84</td><td class="ctr1" id="j0">0</td><td class="ctr2" id="k1">12</td><td class="ctr1" id="l0">0</td><td class="ctr2" id="m0">1</td></tr><tr><td id="a0"><a href="ReportElement.java.html" class="el_source">ReportElement.java</a></td><td class="bar" id="b1"><img src="../../jacoco-resources/greenbar.gif" width="56" height="10" title="152" alt="152"/></td><td class="ctr2" id="c1">100%</td><td class="bar" id="d0"><img src="../../jacoco-resources/redbar.gif" width="3" height="10" title="1" alt="1"/><img src="../../jacoco-resources/greenbar.gif" width="3" height="10" title="1" alt="1"/></td><td class="ctr2" id="e2">50%</td><td class="ctr1" id="f0">1</td><td class="ctr2" id="g2">14</td><td class="ctr1" id="h1">0</td><td class="ctr2" id="i1">38</td><td class="ctr1" id="j1">0</td><td class="ctr2" id="k0">13</td><td class="ctr1" id="l1">0</td><td class="ctr2" id="m1">1</td></tr><tr><td id="a1"><a href="XMLCoverageWriter.java.html" class="el_source">XMLCoverageWriter.java</a></td><td class="bar" id="b2"><img src="../../jacoco-resources/greenbar.gif" width="56" height="10" title="152" alt="152"/></td><td class="ctr2" id="c2">100%</td><td class="bar" id="d2"><img src="../../jacoco-resources/greenbar.gif" width="54" height="10" title="16" alt="16"/></td><td class="ctr2" id="e1">100%</td><td class="ctr1" id="f2">0</td><td class="ctr2" id="g1">15</td><td class="ctr1" id="h2">0</td><td class="ctr2" id="i2">34</td><td class="ctr1" id="j2">0</td><td class="ctr2" id="k2">7</td><td class="ctr1" id="l2">0</td><td class="ctr2" id="m2">1</td></tr><tr><td id="a3"><a href="XMLGroupVisitor.java.html" class="el_source">XMLGroupVisitor.java</a></td><td class="bar" id="b3"><img src="../../jacoco-resources/greenbar.gif" width="12" height="10" title="34" alt="34"/></td><td class="ctr2" id="c3">100%</td><td class="bar" id="d3"/><td class="ctr2" id="e3">n/a</td><td class="ctr1" id="f3">0</td><td class="ctr2" id="g3">4</td><td class="ctr1" id="h3">0</td><td class="ctr2" id="i3">10</td><td class="ctr1" id="j3">0</td><td class="ctr2" id="k3">4</td><td class="ctr1" id="l3">0</td><td class="ctr2" id="m3">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.12.202403270442</span>Code Coverage Report for JaCoCo 0.8.12-SNAPSHOT</div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/trunk/coverage/org.jacoco.report/org.jacoco.report.internal/AbstractGroupVisitor.html b/jacoco/trunk/coverage/org.jacoco.report/org.jacoco.report.internal/AbstractGroupVisitor.html
    new file mode 100644
    index 00000000000..1c23ffe2115
    --- /dev/null
    +++ b/jacoco/trunk/coverage/org.jacoco.report/org.jacoco.report.internal/AbstractGroupVisitor.html
    @@ -0,0 +1 @@
    +<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="en"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../../jacoco-resources/report.gif" type="image/gif"/><title>AbstractGroupVisitor</title><script type="text/javascript" src="../../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../../index.html" class="el_report">JaCoCo</a> &gt; <a href="../index.html" class="el_bundle">org.jacoco.report</a> &gt; <a href="index.html" class="el_package">org.jacoco.report.internal</a> &gt; <span class="el_class">AbstractGroupVisitor</span></div><h1>AbstractGroupVisitor</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">0 of 52</td><td class="ctr2">100%</td><td class="bar">0 of 2</td><td class="ctr2">100%</td><td class="ctr1">0</td><td class="ctr2">6</td><td class="ctr1">0</td><td class="ctr2">18</td><td class="ctr1">0</td><td class="ctr2">5</td></tr></tfoot><tbody><tr><td id="a1"><a href="AbstractGroupVisitor.java.html#L103" class="el_method">finalizeLastChild()</a></td><td class="bar" id="b0"><img src="../../jacoco-resources/greenbar.gif" width="120" height="10" title="16" alt="16"/></td><td class="ctr2" id="c0">100%</td><td class="bar" id="d0"><img src="../../jacoco-resources/greenbar.gif" width="120" height="10" title="2" alt="2"/></td><td class="ctr2" id="e0">100%</td><td class="ctr1" id="f0">0</td><td class="ctr2" id="g0">2</td><td class="ctr1" id="h0">0</td><td class="ctr2" id="i0">5</td><td class="ctr1" id="j0">0</td><td class="ctr2" id="k0">1</td></tr><tr><td id="a2"><a href="AbstractGroupVisitor.java.html#L46" class="el_method">visitBundle(IBundleCoverage, ISourceFileLocator)</a></td><td class="bar" id="b1"><img src="../../jacoco-resources/greenbar.gif" width="82" height="10" title="11" alt="11"/></td><td class="ctr2" id="c1">100%</td><td class="bar" id="d1"/><td class="ctr2" id="e1">n/a</td><td class="ctr1" id="f1">0</td><td class="ctr2" id="g1">1</td><td class="ctr1" id="h1">0</td><td class="ctr2" id="i1">4</td><td class="ctr1" id="j1">0</td><td class="ctr2" id="k1">1</td></tr><tr><td id="a0"><a href="AbstractGroupVisitor.java.html#L40" class="el_method">AbstractGroupVisitor(String)</a></td><td class="bar" id="b2"><img src="../../jacoco-resources/greenbar.gif" width="75" height="10" title="10" alt="10"/></td><td class="ctr2" id="c2">100%</td><td class="bar" id="d2"/><td class="ctr2" id="e2">n/a</td><td class="ctr1" id="f2">0</td><td class="ctr2" id="g2">1</td><td class="ctr1" id="h2">0</td><td class="ctr2" id="i2">3</td><td class="ctr1" id="j2">0</td><td class="ctr2" id="k2">1</td></tr><tr><td id="a4"><a href="AbstractGroupVisitor.java.html#L66" class="el_method">visitGroup(String)</a></td><td class="bar" id="b3"><img src="../../jacoco-resources/greenbar.gif" width="75" height="10" title="10" alt="10"/></td><td class="ctr2" id="c3">100%</td><td class="bar" id="d3"/><td class="ctr2" id="e3">n/a</td><td class="ctr1" id="f3">0</td><td class="ctr2" id="g3">1</td><td class="ctr1" id="h3">0</td><td class="ctr2" id="i3">3</td><td class="ctr1" id="j3">0</td><td class="ctr2" id="k3">1</td></tr><tr><td id="a3"><a href="AbstractGroupVisitor.java.html#L90" class="el_method">visitEnd()</a></td><td class="bar" id="b4"><img src="../../jacoco-resources/greenbar.gif" width="37" height="10" title="5" alt="5"/></td><td class="ctr2" id="c4">100%</td><td class="bar" id="d4"/><td class="ctr2" id="e4">n/a</td><td class="ctr1" id="f4">0</td><td class="ctr2" id="g4">1</td><td class="ctr1" id="h4">0</td><td class="ctr2" id="i4">3</td><td class="ctr1" id="j4">0</td><td class="ctr2" id="k4">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.12.202403270442</span>Code Coverage Report for JaCoCo 0.8.12-SNAPSHOT</div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/trunk/coverage/org.jacoco.report/org.jacoco.report.internal/AbstractGroupVisitor.java.html b/jacoco/trunk/coverage/org.jacoco.report/org.jacoco.report.internal/AbstractGroupVisitor.java.html
    new file mode 100644
    index 00000000000..3cf8eda0825
    --- /dev/null
    +++ b/jacoco/trunk/coverage/org.jacoco.report/org.jacoco.report.internal/AbstractGroupVisitor.java.html
    @@ -0,0 +1,111 @@
    +<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="en"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../../jacoco-resources/report.gif" type="image/gif"/><title>AbstractGroupVisitor.java</title><link rel="stylesheet" href="../../jacoco-resources/prettify.css" type="text/css"/><script type="text/javascript" src="../../jacoco-resources/prettify.js"></script></head><body onload="window['PR_TAB_WIDTH']=4;prettyPrint()"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../../index.html" class="el_report">JaCoCo</a> &gt; <a href="../index.html" class="el_bundle">org.jacoco.report</a> &gt; <a href="index.source.html" class="el_package">org.jacoco.report.internal</a> &gt; <span class="el_source">AbstractGroupVisitor.java</span></div><h1>AbstractGroupVisitor.java</h1><pre class="source lang-java linenums">/*******************************************************************************
    + * Copyright (c) 2009, 2024 Mountainminds GmbH &amp; Co. KG and Contributors
    + * This program and the accompanying materials are made available under
    + * the terms of the Eclipse Public License 2.0 which is available at
    + * http://www.eclipse.org/legal/epl-2.0
    + *
    + * SPDX-License-Identifier: EPL-2.0
    + *
    + * Contributors:
    + *    Marc R. Hoffmann - initial API and implementation
    + *
    + *******************************************************************************/
    +package org.jacoco.report.internal;
    +
    +import java.io.IOException;
    +
    +import org.jacoco.core.analysis.CoverageNodeImpl;
    +import org.jacoco.core.analysis.IBundleCoverage;
    +import org.jacoco.core.analysis.ICoverageNode.ElementType;
    +import org.jacoco.report.IReportGroupVisitor;
    +import org.jacoco.report.ISourceFileLocator;
    +
    +/**
    + * Internal base visitor to calculate group counter summaries for hierarchical
    + * reports.
    + */
    +public abstract class AbstractGroupVisitor implements IReportGroupVisitor {
    +
    +	/** coverage node for this group to total counters */
    +	protected final CoverageNodeImpl total;
    +
    +	private AbstractGroupVisitor lastChild;
    +
    +	/**
    +	 * Creates a new group with the given name.
    +	 *
    +	 * @param name
    +	 *            name for the coverage node created internally
    +	 */
    +<span class="fc" id="L40">	protected AbstractGroupVisitor(final String name) {</span>
    +<span class="fc" id="L41">		total = new CoverageNodeImpl(ElementType.GROUP, name);</span>
    +<span class="fc" id="L42">	}</span>
    +
    +	public final void visitBundle(final IBundleCoverage bundle,
    +			final ISourceFileLocator locator) throws IOException {
    +<span class="fc" id="L46">		finalizeLastChild();</span>
    +<span class="fc" id="L47">		total.increment(bundle);</span>
    +<span class="fc" id="L48">		handleBundle(bundle, locator);</span>
    +<span class="fc" id="L49">	}</span>
    +
    +	/**
    +	 * Called to handle the given bundle in a specific way.
    +	 *
    +	 * @param bundle
    +	 *            analyzed bundle
    +	 * @param locator
    +	 *            source locator
    +	 * @throws IOException
    +	 *             if the report can't be written
    +	 */
    +	protected abstract void handleBundle(IBundleCoverage bundle,
    +			ISourceFileLocator locator) throws IOException;
    +
    +	public final IReportGroupVisitor visitGroup(final String name)
    +			throws IOException {
    +<span class="fc" id="L66">		finalizeLastChild();</span>
    +<span class="fc" id="L67">		lastChild = handleGroup(name);</span>
    +<span class="fc" id="L68">		return lastChild;</span>
    +	}
    +
    +	/**
    +	 * Called to handle a group with the given name in a specific way.
    +	 *
    +	 * @param name
    +	 *            name of the group
    +	 * @return created child group
    +	 * @throws IOException
    +	 *             if the report can't be written
    +	 */
    +	protected abstract AbstractGroupVisitor handleGroup(final String name)
    +			throws IOException;
    +
    +	/**
    +	 * Must be called at the end of every group.
    +	 *
    +	 * @throws IOException
    +	 *             if the report can't be written
    +	 */
    +	public final void visitEnd() throws IOException {
    +<span class="fc" id="L90">		finalizeLastChild();</span>
    +<span class="fc" id="L91">		handleEnd();</span>
    +<span class="fc" id="L92">	}</span>
    +
    +	/**
    +	 * Called to handle the end of this group in a specific way.
    +	 *
    +	 * @throws IOException
    +	 *             if the report can't be written
    +	 */
    +	protected abstract void handleEnd() throws IOException;
    +
    +	private void finalizeLastChild() throws IOException {
    +<span class="fc bfc" id="L103" title="All 2 branches covered.">		if (lastChild != null) {</span>
    +<span class="fc" id="L104">			lastChild.visitEnd();</span>
    +<span class="fc" id="L105">			total.increment(lastChild.total);</span>
    +<span class="fc" id="L106">			lastChild = null;</span>
    +		}
    +<span class="fc" id="L108">	}</span>
    +
    +}
    +</pre><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.12.202403270442</span>Code Coverage Report for JaCoCo 0.8.12-SNAPSHOT</div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/trunk/coverage/org.jacoco.report/org.jacoco.report.internal/NormalizedFileNames.html b/jacoco/trunk/coverage/org.jacoco.report/org.jacoco.report.internal/NormalizedFileNames.html
    new file mode 100644
    index 00000000000..c104bc0f8cf
    --- /dev/null
    +++ b/jacoco/trunk/coverage/org.jacoco.report/org.jacoco.report.internal/NormalizedFileNames.html
    @@ -0,0 +1 @@
    +<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="en"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../../jacoco-resources/report.gif" type="image/gif"/><title>NormalizedFileNames</title><script type="text/javascript" src="../../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../../index.html" class="el_report">JaCoCo</a> &gt; <a href="../index.html" class="el_bundle">org.jacoco.report</a> &gt; <a href="index.html" class="el_package">org.jacoco.report.internal</a> &gt; <span class="el_class">NormalizedFileNames</span></div><h1>NormalizedFileNames</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">0 of 145</td><td class="ctr2">100%</td><td class="bar">0 of 12</td><td class="ctr2">100%</td><td class="ctr1">0</td><td class="ctr2">11</td><td class="ctr1">0</td><td class="ctr2">32</td><td class="ctr1">0</td><td class="ctr2">5</td></tr></tfoot><tbody><tr><td id="a3"><a href="NormalizedFileNames.java.html#L65" class="el_method">replaceIllegalChars(String)</a></td><td class="bar" id="b0"><img src="../../jacoco-resources/greenbar.gif" width="120" height="10" title="42" alt="42"/></td><td class="ctr2" id="c0">100%</td><td class="bar" id="d0"><img src="../../jacoco-resources/greenbar.gif" width="120" height="10" title="6" alt="6"/></td><td class="ctr2" id="e0">100%</td><td class="ctr1" id="f0">0</td><td class="ctr2" id="g0">4</td><td class="ctr1" id="h0">0</td><td class="ctr2" id="i0">9</td><td class="ctr1" id="j0">0</td><td class="ctr2" id="k0">1</td></tr><tr><td id="a0"><a href="NormalizedFileNames.java.html#L80" class="el_method">ensureUniqueness(String)</a></td><td class="bar" id="b1"><img src="../../jacoco-resources/greenbar.gif" width="105" height="10" title="37" alt="37"/></td><td class="ctr2" id="c1">100%</td><td class="bar" id="d1"><img src="../../jacoco-resources/greenbar.gif" width="40" height="10" title="2" alt="2"/></td><td class="ctr2" id="e1">100%</td><td class="ctr1" id="f1">0</td><td class="ctr2" id="g1">2</td><td class="ctr1" id="h1">0</td><td class="ctr2" id="i1">8</td><td class="ctr1" id="j1">0</td><td class="ctr2" id="k1">1</td></tr><tr><td id="a4"><a href="NormalizedFileNames.java.html#L39" class="el_method">static {...}</a></td><td class="bar" id="b2"><img src="../../jacoco-resources/greenbar.gif" width="77" height="10" title="27" alt="27"/></td><td class="ctr2" id="c2">100%</td><td class="bar" id="d2"><img src="../../jacoco-resources/greenbar.gif" width="40" height="10" title="2" alt="2"/></td><td class="ctr2" id="e2">100%</td><td class="ctr1" id="f2">0</td><td class="ctr2" id="g2">2</td><td class="ctr1" id="h2">0</td><td class="ctr2" id="i3">5</td><td class="ctr1" id="j2">0</td><td class="ctr2" id="k2">1</td></tr><tr><td id="a1"><a href="NormalizedFileNames.java.html#L54" class="el_method">getFileName(String)</a></td><td class="bar" id="b3"><img src="../../jacoco-resources/greenbar.gif" width="74" height="10" title="26" alt="26"/></td><td class="ctr2" id="c3">100%</td><td class="bar" id="d3"><img src="../../jacoco-resources/greenbar.gif" width="40" height="10" title="2" alt="2"/></td><td class="ctr2" id="e3">100%</td><td class="ctr1" id="f3">0</td><td class="ctr2" id="g3">2</td><td class="ctr1" id="h3">0</td><td class="ctr2" id="i2">7</td><td class="ctr1" id="j3">0</td><td class="ctr2" id="k3">1</td></tr><tr><td id="a2"><a href="NormalizedFileNames.java.html#L37" class="el_method">NormalizedFileNames()</a></td><td class="bar" id="b4"><img src="../../jacoco-resources/greenbar.gif" width="37" height="10" title="13" alt="13"/></td><td class="ctr2" id="c4">100%</td><td class="bar" id="d4"/><td class="ctr2" id="e4">n/a</td><td class="ctr1" id="f4">0</td><td class="ctr2" id="g4">1</td><td class="ctr1" id="h4">0</td><td class="ctr2" id="i4">3</td><td class="ctr1" id="j4">0</td><td class="ctr2" id="k4">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.12.202403270442</span>Code Coverage Report for JaCoCo 0.8.12-SNAPSHOT</div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/trunk/coverage/org.jacoco.report/org.jacoco.report.internal/NormalizedFileNames.java.html b/jacoco/trunk/coverage/org.jacoco.report/org.jacoco.report.internal/NormalizedFileNames.java.html
    new file mode 100644
    index 00000000000..90b16984531
    --- /dev/null
    +++ b/jacoco/trunk/coverage/org.jacoco.report/org.jacoco.report.internal/NormalizedFileNames.java.html
    @@ -0,0 +1,92 @@
    +<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="en"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../../jacoco-resources/report.gif" type="image/gif"/><title>NormalizedFileNames.java</title><link rel="stylesheet" href="../../jacoco-resources/prettify.css" type="text/css"/><script type="text/javascript" src="../../jacoco-resources/prettify.js"></script></head><body onload="window['PR_TAB_WIDTH']=4;prettyPrint()"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../../index.html" class="el_report">JaCoCo</a> &gt; <a href="../index.html" class="el_bundle">org.jacoco.report</a> &gt; <a href="index.source.html" class="el_package">org.jacoco.report.internal</a> &gt; <span class="el_source">NormalizedFileNames.java</span></div><h1>NormalizedFileNames.java</h1><pre class="source lang-java linenums">/*******************************************************************************
    + * Copyright (c) 2009, 2024 Mountainminds GmbH &amp; Co. KG and Contributors
    + * This program and the accompanying materials are made available under
    + * the terms of the Eclipse Public License 2.0 which is available at
    + * http://www.eclipse.org/legal/epl-2.0
    + *
    + * SPDX-License-Identifier: EPL-2.0
    + *
    + * Contributors:
    + *    Marc R. Hoffmann - initial API and implementation
    + *
    + *******************************************************************************/
    +package org.jacoco.report.internal;
    +
    +import java.util.BitSet;
    +import java.util.HashMap;
    +import java.util.HashSet;
    +import java.util.Locale;
    +import java.util.Map;
    +import java.util.Set;
    +
    +/**
    + * Internal utility to create normalized file names from string ids. The file
    + * names generated by an instance of this class have the following properties:
    + *
    + * &lt;ul&gt;
    + * &lt;li&gt;The same input id is mapped to the same file name.&lt;/li&gt;
    + * &lt;li&gt;Different ids are mapped to different file names.&lt;/li&gt;
    + * &lt;li&gt;For safe characters the file name corresponds to the input id, other
    + * characters are replaced by &lt;code&gt;_&lt;/code&gt; (underscore).&lt;/li&gt;
    + * &lt;li&gt;File names are case aware, i.e. the same file name but with different
    + * upper/lower case characters is not possible.&lt;/li&gt;
    + * &lt;li&gt;If unique filenames can't directly created from the ids, additional
    + * suffixes are appended.&lt;/li&gt;
    + * &lt;/ul&gt;
    + */
    +<span class="fc" id="L37">class NormalizedFileNames {</span>
    +
    +<span class="fc" id="L39">	private static final BitSet LEGAL_CHARS = new BitSet();</span>
    +
    +	static {
    +<span class="fc" id="L42">		final String legal = &quot;abcdefghijklmnopqrstuvwxyz&quot;</span>
    +				+ &quot;ABCDEFGHIJKLMNOPQRSTUVWYXZ0123456789$-._&quot;;
    +<span class="fc bfc" id="L44" title="All 2 branches covered.">		for (final char c : legal.toCharArray()) {</span>
    +<span class="fc" id="L45">			LEGAL_CHARS.set(c);</span>
    +		}
    +<span class="fc" id="L47">	}</span>
    +
    +<span class="fc" id="L49">	private final Map&lt;String, String&gt; mapping = new HashMap&lt;String, String&gt;();</span>
    +
    +<span class="fc" id="L51">	private final Set&lt;String&gt; usedNames = new HashSet&lt;String&gt;();</span>
    +
    +	public String getFileName(final String id) {
    +<span class="fc" id="L54">		String name = mapping.get(id);</span>
    +<span class="fc bfc" id="L55" title="All 2 branches covered.">		if (name != null) {</span>
    +<span class="fc" id="L56">			return name;</span>
    +		}
    +<span class="fc" id="L58">		name = replaceIllegalChars(id);</span>
    +<span class="fc" id="L59">		name = ensureUniqueness(name);</span>
    +<span class="fc" id="L60">		mapping.put(id, name);</span>
    +<span class="fc" id="L61">		return name;</span>
    +	}
    +
    +	private String replaceIllegalChars(final String s) {
    +<span class="fc" id="L65">		final StringBuilder sb = new StringBuilder(s.length());</span>
    +<span class="fc" id="L66">		boolean modified = false;</span>
    +<span class="fc bfc" id="L67" title="All 2 branches covered.">		for (int i = 0; i &lt; s.length(); i++) {</span>
    +<span class="fc" id="L68">			final char c = s.charAt(i);</span>
    +<span class="fc bfc" id="L69" title="All 2 branches covered.">			if (LEGAL_CHARS.get(c)) {</span>
    +<span class="fc" id="L70">				sb.append(c);</span>
    +			} else {
    +<span class="fc" id="L72">				sb.append('_');</span>
    +<span class="fc" id="L73">				modified = true;</span>
    +			}
    +		}
    +<span class="fc bfc" id="L76" title="All 2 branches covered.">		return modified ? sb.toString() : s;</span>
    +	}
    +
    +	private String ensureUniqueness(final String s) {
    +<span class="fc" id="L80">		String unique = s;</span>
    +<span class="fc" id="L81">		String lower = unique.toLowerCase(Locale.ENGLISH);</span>
    +<span class="fc" id="L82">		int idx = 1;</span>
    +<span class="fc bfc" id="L83" title="All 2 branches covered.">		while (usedNames.contains(lower)) {</span>
    +<span class="fc" id="L84">			unique = s + '~' + idx++;</span>
    +<span class="fc" id="L85">			lower = unique.toLowerCase(Locale.ENGLISH);</span>
    +		}
    +<span class="fc" id="L87">		usedNames.add(lower);</span>
    +<span class="fc" id="L88">		return unique;</span>
    +	}
    +
    +}
    +</pre><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.12.202403270442</span>Code Coverage Report for JaCoCo 0.8.12-SNAPSHOT</div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/trunk/coverage/org.jacoco.report/org.jacoco.report.internal/ReportOutputFolder.html b/jacoco/trunk/coverage/org.jacoco.report/org.jacoco.report.internal/ReportOutputFolder.html
    new file mode 100644
    index 00000000000..33d8cd943c2
    --- /dev/null
    +++ b/jacoco/trunk/coverage/org.jacoco.report/org.jacoco.report.internal/ReportOutputFolder.html
    @@ -0,0 +1 @@
    +<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="en"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../../jacoco-resources/report.gif" type="image/gif"/><title>ReportOutputFolder</title><script type="text/javascript" src="../../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../../index.html" class="el_report">JaCoCo</a> &gt; <a href="../index.html" class="el_bundle">org.jacoco.report</a> &gt; <a href="index.html" class="el_package">org.jacoco.report.internal</a> &gt; <span class="el_class">ReportOutputFolder</span></div><h1>ReportOutputFolder</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">0 of 144</td><td class="ctr2">100%</td><td class="bar">0 of 10</td><td class="ctr2">100%</td><td class="ctr1">0</td><td class="ctr2">12</td><td class="ctr1">0</td><td class="ctr2">26</td><td class="ctr1">0</td><td class="ctr2">7</td></tr></tfoot><tbody><tr><td id="a1"><a href="ReportOutputFolder.java.html#L107" class="el_method">getLink(ReportOutputFolder, String)</a></td><td class="bar" id="b0"><img src="../../jacoco-resources/greenbar.gif" width="120" height="10" title="41" alt="41"/></td><td class="ctr2" id="c0">100%</td><td class="bar" id="d0"><img src="../../jacoco-resources/greenbar.gif" width="120" height="10" title="4" alt="4"/></td><td class="ctr2" id="e0">100%</td><td class="ctr1" id="f0">0</td><td class="ctr2" id="g0">3</td><td class="ctr1" id="h0">0</td><td class="ctr2" id="i2">5</td><td class="ctr1" id="j0">0</td><td class="ctr2" id="k0">1</td></tr><tr><td id="a6"><a href="ReportOutputFolder.java.html#L71" class="el_method">subFolder(String)</a></td><td class="bar" id="b1"><img src="../../jacoco-resources/greenbar.gif" width="117" height="10" title="40" alt="40"/></td><td class="ctr2" id="c1">100%</td><td class="bar" id="d2"><img src="../../jacoco-resources/greenbar.gif" width="60" height="10" title="2" alt="2"/></td><td class="ctr2" id="e1">100%</td><td class="ctr1" id="f1">0</td><td class="ctr2" id="g2">2</td><td class="ctr1" id="h1">0</td><td class="ctr2" id="i0">7</td><td class="ctr1" id="j1">0</td><td class="ctr2" id="k1">1</td></tr><tr><td id="a5"><a href="ReportOutputFolder.java.html#L35" class="el_method">ReportOutputFolder(IMultiReportOutput, ReportOutputFolder, String)</a></td><td class="bar" id="b2"><img src="../../jacoco-resources/greenbar.gif" width="64" height="10" title="22" alt="22"/></td><td class="ctr2" id="c2">100%</td><td class="bar" id="d3"/><td class="ctr2" id="e3">n/a</td><td class="ctr1" id="f2">0</td><td class="ctr2" id="g3">1</td><td class="ctr1" id="h2">0</td><td class="ctr2" id="i1">7</td><td class="ctr1" id="j2">0</td><td class="ctr2" id="k2">1</td></tr><tr><td id="a0"><a href="ReportOutputFolder.java.html#L92" class="el_method">createFile(String)</a></td><td class="bar" id="b3"><img src="../../jacoco-resources/greenbar.gif" width="43" height="10" title="15" alt="15"/></td><td class="ctr2" id="c3">100%</td><td class="bar" id="d4"/><td class="ctr2" id="e4">n/a</td><td class="ctr1" id="f3">0</td><td class="ctr2" id="g4">1</td><td class="ctr1" id="h3">0</td><td class="ctr2" id="i5">1</td><td class="ctr1" id="j3">0</td><td class="ctr2" id="k3">1</td></tr><tr><td id="a2"><a href="ReportOutputFolder.java.html#L117" class="el_method">isAncestorOf(ReportOutputFolder)</a></td><td class="bar" id="b4"><img src="../../jacoco-resources/greenbar.gif" width="43" height="10" title="15" alt="15"/></td><td class="ctr2" id="c4">100%</td><td class="bar" id="d1"><img src="../../jacoco-resources/greenbar.gif" width="120" height="10" title="4" alt="4"/></td><td class="ctr2" id="e2">100%</td><td class="ctr1" id="f4">0</td><td class="ctr2" id="g1">3</td><td class="ctr1" id="h4">0</td><td class="ctr2" id="i3">3</td><td class="ctr1" id="j4">0</td><td class="ctr2" id="k4">1</td></tr><tr><td id="a4"><a href="ReportOutputFolder.java.html#L46" class="el_method">ReportOutputFolder(IMultiReportOutput)</a></td><td class="bar" id="b5"><img src="../../jacoco-resources/greenbar.gif" width="17" height="10" title="6" alt="6"/></td><td class="ctr2" id="c5">100%</td><td class="bar" id="d5"/><td class="ctr2" id="e5">n/a</td><td class="ctr1" id="f5">0</td><td class="ctr2" id="g5">1</td><td class="ctr1" id="h5">0</td><td class="ctr2" id="i4">2</td><td class="ctr1" id="j5">0</td><td class="ctr2" id="k5">1</td></tr><tr><td id="a3"><a href="ReportOutputFolder.java.html#L124" class="el_method">normalize(String)</a></td><td class="bar" id="b6"><img src="../../jacoco-resources/greenbar.gif" width="14" height="10" title="5" alt="5"/></td><td class="ctr2" id="c6">100%</td><td class="bar" id="d6"/><td class="ctr2" id="e6">n/a</td><td class="ctr1" id="f6">0</td><td class="ctr2" id="g6">1</td><td class="ctr1" id="h6">0</td><td class="ctr2" id="i6">1</td><td class="ctr1" id="j6">0</td><td class="ctr2" id="k6">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.12.202403270442</span>Code Coverage Report for JaCoCo 0.8.12-SNAPSHOT</div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/trunk/coverage/org.jacoco.report/org.jacoco.report.internal/ReportOutputFolder.java.html b/jacoco/trunk/coverage/org.jacoco.report/org.jacoco.report.internal/ReportOutputFolder.java.html
    new file mode 100644
    index 00000000000..26ae9250e76
    --- /dev/null
    +++ b/jacoco/trunk/coverage/org.jacoco.report/org.jacoco.report.internal/ReportOutputFolder.java.html
    @@ -0,0 +1,128 @@
    +<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="en"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../../jacoco-resources/report.gif" type="image/gif"/><title>ReportOutputFolder.java</title><link rel="stylesheet" href="../../jacoco-resources/prettify.css" type="text/css"/><script type="text/javascript" src="../../jacoco-resources/prettify.js"></script></head><body onload="window['PR_TAB_WIDTH']=4;prettyPrint()"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../../index.html" class="el_report">JaCoCo</a> &gt; <a href="../index.html" class="el_bundle">org.jacoco.report</a> &gt; <a href="index.source.html" class="el_package">org.jacoco.report.internal</a> &gt; <span class="el_source">ReportOutputFolder.java</span></div><h1>ReportOutputFolder.java</h1><pre class="source lang-java linenums">/*******************************************************************************
    + * Copyright (c) 2009, 2024 Mountainminds GmbH &amp; Co. KG and Contributors
    + * This program and the accompanying materials are made available under
    + * the terms of the Eclipse Public License 2.0 which is available at
    + * http://www.eclipse.org/legal/epl-2.0
    + *
    + * SPDX-License-Identifier: EPL-2.0
    + *
    + * Contributors:
    + *    Marc R. Hoffmann - initial API and implementation
    + *
    + *******************************************************************************/
    +package org.jacoco.report.internal;
    +
    +import java.io.IOException;
    +import java.io.OutputStream;
    +import java.util.HashMap;
    +import java.util.Map;
    +
    +import org.jacoco.report.IMultiReportOutput;
    +
    +/**
    + * Logical representation of a folder in the output structure. This utility
    + * ensures valid and unique file names and helps to create relative links.
    + */
    +public class ReportOutputFolder {
    +
    +	private final IMultiReportOutput output;
    +
    +	private final ReportOutputFolder parent;
    +
    +	private final String path;
    +
    +	/** Cached sub-folder instances to guarantee stable normalization */
    +<span class="fc" id="L35">	private final Map&lt;String, ReportOutputFolder&gt; subFolders = new HashMap&lt;String, ReportOutputFolder&gt;();</span>
    +
    +	private final NormalizedFileNames fileNames;
    +
    +	/**
    +	 * Creates a new root folder for the given output.
    +	 *
    +	 * @param output
    +	 *            output for generated files
    +	 */
    +	public ReportOutputFolder(final IMultiReportOutput output) {
    +<span class="fc" id="L46">		this(output, null, &quot;&quot;);</span>
    +<span class="fc" id="L47">	}</span>
    +
    +	/**
    +	 * Creates a new root folder for the given output.
    +	 *
    +	 * @param output
    +	 *            output for generated files
    +	 */
    +	private ReportOutputFolder(final IMultiReportOutput output,
    +<span class="fc" id="L56">			final ReportOutputFolder parent, final String path) {</span>
    +<span class="fc" id="L57">		this.output = output;</span>
    +<span class="fc" id="L58">		this.parent = parent;</span>
    +<span class="fc" id="L59">		this.path = path;</span>
    +<span class="fc" id="L60">		fileNames = new NormalizedFileNames();</span>
    +<span class="fc" id="L61">	}</span>
    +
    +	/**
    +	 * Creates a sub-folder with the given name.
    +	 *
    +	 * @param name
    +	 *            name of the sub-folder
    +	 * @return handle for output into the sub-folder
    +	 */
    +	public ReportOutputFolder subFolder(final String name) {
    +<span class="fc" id="L71">		final String normalizedName = normalize(name);</span>
    +<span class="fc" id="L72">		ReportOutputFolder folder = subFolders.get(normalizedName);</span>
    +<span class="fc bfc" id="L73" title="All 2 branches covered.">		if (folder != null) {</span>
    +<span class="fc" id="L74">			return folder;</span>
    +		}
    +<span class="fc" id="L76">		folder = new ReportOutputFolder(output, this,</span>
    +				path + normalizedName + &quot;/&quot;);
    +<span class="fc" id="L78">		subFolders.put(normalizedName, folder);</span>
    +<span class="fc" id="L79">		return folder;</span>
    +	}
    +
    +	/**
    +	 * Creates a new file in this folder with the given local name.
    +	 *
    +	 * @param name
    +	 *            name of the sub-folder
    +	 * @return handle for output into the sub-folder
    +	 * @throws IOException
    +	 *             if the file creation fails
    +	 */
    +	public OutputStream createFile(final String name) throws IOException {
    +<span class="fc" id="L92">		return output.createFile(path + normalize(name));</span>
    +	}
    +
    +	/**
    +	 * Returns a link relative to a given base to a resource within this folder.
    +	 *
    +	 * @param base
    +	 *            base to create the relative link from
    +	 * @param name
    +	 *            name of the file or folder in this folder
    +	 * @return relative link
    +	 * @throws IllegalArgumentException
    +	 *             if this folder and the base do not have the same root
    +	 */
    +	public String getLink(final ReportOutputFolder base, final String name) {
    +<span class="fc bfc" id="L107" title="All 2 branches covered.">		if (base.isAncestorOf(this)) {</span>
    +<span class="fc" id="L108">			return this.path.substring(base.path.length()) + normalize(name);</span>
    +		}
    +<span class="fc bfc" id="L110" title="All 2 branches covered.">		if (base.parent == null) {</span>
    +<span class="fc" id="L111">			throw new IllegalArgumentException(&quot;Folders with different roots.&quot;);</span>
    +		}
    +<span class="fc" id="L113">		return &quot;../&quot; + this.getLink(base.parent, name);</span>
    +	}
    +
    +	private boolean isAncestorOf(final ReportOutputFolder folder) {
    +<span class="fc bfc" id="L117" title="All 2 branches covered.">		if (this == folder) {</span>
    +<span class="fc" id="L118">			return true;</span>
    +		}
    +<span class="fc bfc" id="L120" title="All 2 branches covered.">		return folder.parent == null ? false : isAncestorOf(folder.parent);</span>
    +	}
    +
    +	private String normalize(final String name) {
    +<span class="fc" id="L124">		return fileNames.getFileName(name);</span>
    +	}
    +
    +}
    +</pre><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.12.202403270442</span>Code Coverage Report for JaCoCo 0.8.12-SNAPSHOT</div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/trunk/coverage/org.jacoco.report/org.jacoco.report.internal/index.html b/jacoco/trunk/coverage/org.jacoco.report/org.jacoco.report.internal/index.html
    new file mode 100644
    index 00000000000..e98defd6390
    --- /dev/null
    +++ b/jacoco/trunk/coverage/org.jacoco.report/org.jacoco.report.internal/index.html
    @@ -0,0 +1 @@
    +<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="en"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../../jacoco-resources/report.gif" type="image/gif"/><title>org.jacoco.report.internal</title><script type="text/javascript" src="../../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb', 'coveragetable'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="index.source.html" class="el_source">Source Files</a><a href="../../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../../index.html" class="el_report">JaCoCo</a> &gt; <a href="../index.html" class="el_bundle">org.jacoco.report</a> &gt; <span class="el_package">org.jacoco.report.internal</span></div><h1>org.jacoco.report.internal</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td><td class="sortable ctr1" id="l" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="m" onclick="toggleSort(this)">Classes</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">0 of 341</td><td class="ctr2">100%</td><td class="bar">0 of 24</td><td class="ctr2">100%</td><td class="ctr1">0</td><td class="ctr2">29</td><td class="ctr1">0</td><td class="ctr2">76</td><td class="ctr1">0</td><td class="ctr2">17</td><td class="ctr1">0</td><td class="ctr2">3</td></tr></tfoot><tbody><tr><td id="a1"><a href="NormalizedFileNames.html" class="el_class">NormalizedFileNames</a></td><td class="bar" id="b0"><img src="../../jacoco-resources/greenbar.gif" width="120" height="10" title="145" alt="145"/></td><td class="ctr2" id="c0">100%</td><td class="bar" id="d0"><img src="../../jacoco-resources/greenbar.gif" width="120" height="10" title="12" alt="12"/></td><td class="ctr2" id="e0">100%</td><td class="ctr1" id="f0">0</td><td class="ctr2" id="g1">11</td><td class="ctr1" id="h0">0</td><td class="ctr2" id="i0">32</td><td class="ctr1" id="j0">0</td><td class="ctr2" id="k1">5</td><td class="ctr1" id="l0">0</td><td class="ctr2" id="m0">1</td></tr><tr><td id="a2"><a href="ReportOutputFolder.html" class="el_class">ReportOutputFolder</a></td><td class="bar" id="b1"><img src="../../jacoco-resources/greenbar.gif" width="119" height="10" title="144" alt="144"/></td><td class="ctr2" id="c1">100%</td><td class="bar" id="d1"><img src="../../jacoco-resources/greenbar.gif" width="100" height="10" title="10" alt="10"/></td><td class="ctr2" id="e1">100%</td><td class="ctr1" id="f1">0</td><td class="ctr2" id="g0">12</td><td class="ctr1" id="h1">0</td><td class="ctr2" id="i1">26</td><td class="ctr1" id="j1">0</td><td class="ctr2" id="k0">7</td><td class="ctr1" id="l1">0</td><td class="ctr2" id="m1">1</td></tr><tr><td id="a0"><a href="AbstractGroupVisitor.html" class="el_class">AbstractGroupVisitor</a></td><td class="bar" id="b2"><img src="../../jacoco-resources/greenbar.gif" width="43" height="10" title="52" alt="52"/></td><td class="ctr2" id="c2">100%</td><td class="bar" id="d2"><img src="../../jacoco-resources/greenbar.gif" width="20" height="10" title="2" alt="2"/></td><td class="ctr2" id="e2">100%</td><td class="ctr1" id="f2">0</td><td class="ctr2" id="g2">6</td><td class="ctr1" id="h2">0</td><td class="ctr2" id="i2">18</td><td class="ctr1" id="j2">0</td><td class="ctr2" id="k2">5</td><td class="ctr1" id="l2">0</td><td class="ctr2" id="m2">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.12.202403270442</span>Code Coverage Report for JaCoCo 0.8.12-SNAPSHOT</div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/trunk/coverage/org.jacoco.report/org.jacoco.report.internal/index.source.html b/jacoco/trunk/coverage/org.jacoco.report/org.jacoco.report.internal/index.source.html
    new file mode 100644
    index 00000000000..3a86b531cf9
    --- /dev/null
    +++ b/jacoco/trunk/coverage/org.jacoco.report/org.jacoco.report.internal/index.source.html
    @@ -0,0 +1 @@
    +<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="en"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../../jacoco-resources/report.gif" type="image/gif"/><title>org.jacoco.report.internal</title><script type="text/javascript" src="../../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb', 'coveragetable'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="index.html" class="el_class">Classes</a><a href="../../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../../index.html" class="el_report">JaCoCo</a> &gt; <a href="../index.html" class="el_bundle">org.jacoco.report</a> &gt; <span class="el_package">org.jacoco.report.internal</span></div><h1>org.jacoco.report.internal</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td><td class="sortable ctr1" id="l" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="m" onclick="toggleSort(this)">Classes</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">0 of 341</td><td class="ctr2">100%</td><td class="bar">0 of 24</td><td class="ctr2">100%</td><td class="ctr1">0</td><td class="ctr2">29</td><td class="ctr1">0</td><td class="ctr2">76</td><td class="ctr1">0</td><td class="ctr2">17</td><td class="ctr1">0</td><td class="ctr2">3</td></tr></tfoot><tbody><tr><td id="a1"><a href="NormalizedFileNames.java.html" class="el_source">NormalizedFileNames.java</a></td><td class="bar" id="b0"><img src="../../jacoco-resources/greenbar.gif" width="120" height="10" title="145" alt="145"/></td><td class="ctr2" id="c0">100%</td><td class="bar" id="d0"><img src="../../jacoco-resources/greenbar.gif" width="120" height="10" title="12" alt="12"/></td><td class="ctr2" id="e0">100%</td><td class="ctr1" id="f0">0</td><td class="ctr2" id="g1">11</td><td class="ctr1" id="h0">0</td><td class="ctr2" id="i0">32</td><td class="ctr1" id="j0">0</td><td class="ctr2" id="k1">5</td><td class="ctr1" id="l0">0</td><td class="ctr2" id="m0">1</td></tr><tr><td id="a2"><a href="ReportOutputFolder.java.html" class="el_source">ReportOutputFolder.java</a></td><td class="bar" id="b1"><img src="../../jacoco-resources/greenbar.gif" width="119" height="10" title="144" alt="144"/></td><td class="ctr2" id="c1">100%</td><td class="bar" id="d1"><img src="../../jacoco-resources/greenbar.gif" width="100" height="10" title="10" alt="10"/></td><td class="ctr2" id="e1">100%</td><td class="ctr1" id="f1">0</td><td class="ctr2" id="g0">12</td><td class="ctr1" id="h1">0</td><td class="ctr2" id="i1">26</td><td class="ctr1" id="j1">0</td><td class="ctr2" id="k0">7</td><td class="ctr1" id="l1">0</td><td class="ctr2" id="m1">1</td></tr><tr><td id="a0"><a href="AbstractGroupVisitor.java.html" class="el_source">AbstractGroupVisitor.java</a></td><td class="bar" id="b2"><img src="../../jacoco-resources/greenbar.gif" width="43" height="10" title="52" alt="52"/></td><td class="ctr2" id="c2">100%</td><td class="bar" id="d2"><img src="../../jacoco-resources/greenbar.gif" width="20" height="10" title="2" alt="2"/></td><td class="ctr2" id="e2">100%</td><td class="ctr1" id="f2">0</td><td class="ctr2" id="g2">6</td><td class="ctr1" id="h2">0</td><td class="ctr2" id="i2">18</td><td class="ctr1" id="j2">0</td><td class="ctr2" id="k2">5</td><td class="ctr1" id="l2">0</td><td class="ctr2" id="m2">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.12.202403270442</span>Code Coverage Report for JaCoCo 0.8.12-SNAPSHOT</div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/trunk/coverage/org.jacoco.report/org.jacoco.report.xml/XMLFormatter$1RootVisitor.html b/jacoco/trunk/coverage/org.jacoco.report/org.jacoco.report.xml/XMLFormatter$1RootVisitor.html
    new file mode 100644
    index 00000000000..c152827b434
    --- /dev/null
    +++ b/jacoco/trunk/coverage/org.jacoco.report/org.jacoco.report.xml/XMLFormatter$1RootVisitor.html
    @@ -0,0 +1 @@
    +<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="en"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../../jacoco-resources/report.gif" type="image/gif"/><title>XMLFormatter.new IReportVisitor() {...}</title><script type="text/javascript" src="../../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../../index.html" class="el_report">JaCoCo</a> &gt; <a href="../index.html" class="el_bundle">org.jacoco.report</a> &gt; <a href="index.html" class="el_package">org.jacoco.report.xml</a> &gt; <span class="el_class">XMLFormatter.new IReportVisitor() {...}</span></div><h1>XMLFormatter.new IReportVisitor() {...}</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">0 of 74</td><td class="ctr2">100%</td><td class="bar">0 of 4</td><td class="ctr2">100%</td><td class="ctr1">0</td><td class="ctr2">8</td><td class="ctr1">0</td><td class="ctr2">17</td><td class="ctr1">0</td><td class="ctr2">6</td></tr></tfoot><tbody><tr><td id="a0"><a href="XMLFormatter.java.html#L85" class="el_method">createRootElement(String)</a></td><td class="bar" id="b0"><img src="../../jacoco-resources/greenbar.gif" width="120" height="10" title="28" alt="28"/></td><td class="ctr2" id="c0">100%</td><td class="bar" id="d0"><img src="../../jacoco-resources/greenbar.gif" width="120" height="10" title="2" alt="2"/></td><td class="ctr2" id="e0">100%</td><td class="ctr1" id="f0">0</td><td class="ctr2" id="g0">2</td><td class="ctr1" id="h0">0</td><td class="ctr2" id="i0">4</td><td class="ctr1" id="j0">0</td><td class="ctr2" id="k0">1</td></tr><tr><td id="a3"><a href="XMLFormatter.java.html#L78" class="el_method">visitGroup(String)</a></td><td class="bar" id="b1"><img src="../../jacoco-resources/greenbar.gif" width="60" height="10" title="14" alt="14"/></td><td class="ctr2" id="c1">100%</td><td class="bar" id="d2"/><td class="ctr2" id="e2">n/a</td><td class="ctr1" id="f1">0</td><td class="ctr2" id="g2">1</td><td class="ctr1" id="h1">0</td><td class="ctr2" id="i2">3</td><td class="ctr1" id="j1">0</td><td class="ctr2" id="k1">1</td></tr><tr><td id="a2"><a href="XMLFormatter.java.html#L92" class="el_method">visitEnd()</a></td><td class="bar" id="b2"><img src="../../jacoco-resources/greenbar.gif" width="42" height="10" title="10" alt="10"/></td><td class="ctr2" id="c2">100%</td><td class="bar" id="d1"><img src="../../jacoco-resources/greenbar.gif" width="120" height="10" title="2" alt="2"/></td><td class="ctr2" id="e1">100%</td><td class="ctr1" id="f2">0</td><td class="ctr2" id="g1">2</td><td class="ctr1" id="h2">0</td><td class="ctr2" id="i1">4</td><td class="ctr1" id="j2">0</td><td class="ctr2" id="k2">1</td></tr><tr><td id="a5"><a href="XMLFormatter.java.html#L58" class="el_method">{...}</a></td><td class="bar" id="b3"><img src="../../jacoco-resources/greenbar.gif" width="38" height="10" title="9" alt="9"/></td><td class="ctr2" id="c3">100%</td><td class="bar" id="d3"/><td class="ctr2" id="e3">n/a</td><td class="ctr1" id="f3">0</td><td class="ctr2" id="g3">1</td><td class="ctr1" id="h3">0</td><td class="ctr2" id="i5">1</td><td class="ctr1" id="j3">0</td><td class="ctr2" id="k3">1</td></tr><tr><td id="a1"><a href="XMLFormatter.java.html#L72" class="el_method">visitBundle(IBundleCoverage, ISourceFileLocator)</a></td><td class="bar" id="b4"><img src="../../jacoco-resources/greenbar.gif" width="38" height="10" title="9" alt="9"/></td><td class="ctr2" id="c4">100%</td><td class="bar" id="d4"/><td class="ctr2" id="e4">n/a</td><td class="ctr1" id="f4">0</td><td class="ctr2" id="g4">1</td><td class="ctr1" id="h4">0</td><td class="ctr2" id="i3">3</td><td class="ctr1" id="j4">0</td><td class="ctr2" id="k4">1</td></tr><tr><td id="a4"><a href="XMLFormatter.java.html#L67" class="el_method">visitInfo(List, Collection)</a></td><td class="bar" id="b5"><img src="../../jacoco-resources/greenbar.gif" width="17" height="10" title="4" alt="4"/></td><td class="ctr2" id="c5">100%</td><td class="bar" id="d5"/><td class="ctr2" id="e5">n/a</td><td class="ctr1" id="f5">0</td><td class="ctr2" id="g5">1</td><td class="ctr1" id="h5">0</td><td class="ctr2" id="i4">2</td><td class="ctr1" id="j5">0</td><td class="ctr2" id="k5">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.12.202403270442</span>Code Coverage Report for JaCoCo 0.8.12-SNAPSHOT</div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/trunk/coverage/org.jacoco.report/org.jacoco.report.xml/XMLFormatter.html b/jacoco/trunk/coverage/org.jacoco.report/org.jacoco.report.xml/XMLFormatter.html
    new file mode 100644
    index 00000000000..75d66b21858
    --- /dev/null
    +++ b/jacoco/trunk/coverage/org.jacoco.report/org.jacoco.report.xml/XMLFormatter.html
    @@ -0,0 +1 @@
    +<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="en"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../../jacoco-resources/report.gif" type="image/gif"/><title>XMLFormatter</title><script type="text/javascript" src="../../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../../index.html" class="el_report">JaCoCo</a> &gt; <a href="../index.html" class="el_bundle">org.jacoco.report</a> &gt; <a href="index.html" class="el_package">org.jacoco.report.xml</a> &gt; <span class="el_class">XMLFormatter</span></div><h1>XMLFormatter</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">0 of 16</td><td class="ctr2">100%</td><td class="bar">0 of 0</td><td class="ctr2">n/a</td><td class="ctr1">0</td><td class="ctr2">3</td><td class="ctr1">0</td><td class="ctr2">5</td><td class="ctr1">0</td><td class="ctr2">3</td></tr></tfoot><tbody><tr><td id="a2"><a href="XMLFormatter.java.html#L33" class="el_method">XMLFormatter()</a></td><td class="bar" id="b0"><img src="../../jacoco-resources/greenbar.gif" width="120" height="10" title="6" alt="6"/></td><td class="ctr2" id="c0">100%</td><td class="bar" id="d0"/><td class="ctr2" id="e0">n/a</td><td class="ctr1" id="f0">0</td><td class="ctr2" id="g0">1</td><td class="ctr1" id="h0">0</td><td class="ctr2" id="i0">2</td><td class="ctr1" id="j0">0</td><td class="ctr2" id="k0">1</td></tr><tr><td id="a0"><a href="XMLFormatter.java.html#L98" class="el_method">createVisitor(OutputStream)</a></td><td class="bar" id="b1"><img src="../../jacoco-resources/greenbar.gif" width="120" height="10" title="6" alt="6"/></td><td class="ctr2" id="c1">100%</td><td class="bar" id="d1"/><td class="ctr2" id="e1">n/a</td><td class="ctr1" id="f1">0</td><td class="ctr2" id="g1">1</td><td class="ctr1" id="h1">0</td><td class="ctr2" id="i2">1</td><td class="ctr1" id="j1">0</td><td class="ctr2" id="k1">1</td></tr><tr><td id="a1"><a href="XMLFormatter.java.html#L44" class="el_method">setOutputEncoding(String)</a></td><td class="bar" id="b2"><img src="../../jacoco-resources/greenbar.gif" width="80" height="10" title="4" alt="4"/></td><td class="ctr2" id="c2">100%</td><td class="bar" id="d2"/><td class="ctr2" id="e2">n/a</td><td class="ctr1" id="f2">0</td><td class="ctr2" id="g2">1</td><td class="ctr1" id="h2">0</td><td class="ctr2" id="i1">2</td><td class="ctr1" id="j2">0</td><td class="ctr2" id="k2">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.12.202403270442</span>Code Coverage Report for JaCoCo 0.8.12-SNAPSHOT</div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/trunk/coverage/org.jacoco.report/org.jacoco.report.xml/XMLFormatter.java.html b/jacoco/trunk/coverage/org.jacoco.report/org.jacoco.report.xml/XMLFormatter.java.html
    new file mode 100644
    index 00000000000..14e4ee7002f
    --- /dev/null
    +++ b/jacoco/trunk/coverage/org.jacoco.report/org.jacoco.report.xml/XMLFormatter.java.html
    @@ -0,0 +1,102 @@
    +<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="en"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../../jacoco-resources/report.gif" type="image/gif"/><title>XMLFormatter.java</title><link rel="stylesheet" href="../../jacoco-resources/prettify.css" type="text/css"/><script type="text/javascript" src="../../jacoco-resources/prettify.js"></script></head><body onload="window['PR_TAB_WIDTH']=4;prettyPrint()"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../../index.html" class="el_report">JaCoCo</a> &gt; <a href="../index.html" class="el_bundle">org.jacoco.report</a> &gt; <a href="index.source.html" class="el_package">org.jacoco.report.xml</a> &gt; <span class="el_source">XMLFormatter.java</span></div><h1>XMLFormatter.java</h1><pre class="source lang-java linenums">/*******************************************************************************
    + * Copyright (c) 2009, 2024 Mountainminds GmbH &amp; Co. KG and Contributors
    + * This program and the accompanying materials are made available under
    + * the terms of the Eclipse Public License 2.0 which is available at
    + * http://www.eclipse.org/legal/epl-2.0
    + *
    + * SPDX-License-Identifier: EPL-2.0
    + *
    + * Contributors:
    + *    Brock Janiczak -initial API and implementation
    + *
    + *******************************************************************************/
    +package org.jacoco.report.xml;
    +
    +import java.io.IOException;
    +import java.io.OutputStream;
    +import java.util.Collection;
    +import java.util.List;
    +
    +import org.jacoco.core.analysis.IBundleCoverage;
    +import org.jacoco.core.data.ExecutionData;
    +import org.jacoco.core.data.SessionInfo;
    +import org.jacoco.report.IReportGroupVisitor;
    +import org.jacoco.report.IReportVisitor;
    +import org.jacoco.report.ISourceFileLocator;
    +import org.jacoco.report.internal.xml.ReportElement;
    +import org.jacoco.report.internal.xml.XMLCoverageWriter;
    +import org.jacoco.report.internal.xml.XMLGroupVisitor;
    +
    +/**
    + * Report formatter that creates a single XML file for a coverage session
    + */
    +<span class="fc" id="L33">public class XMLFormatter {</span>
    +
    +<span class="fc" id="L35">	private String outputEncoding = &quot;UTF-8&quot;;</span>
    +
    +	/**
    +	 * Sets the encoding used for generated XML document. Default is UTF-8.
    +	 *
    +	 * @param outputEncoding
    +	 *            XML output encoding
    +	 */
    +	public void setOutputEncoding(final String outputEncoding) {
    +<span class="fc" id="L44">		this.outputEncoding = outputEncoding;</span>
    +<span class="fc" id="L45">	}</span>
    +
    +	/**
    +	 * Creates a new visitor to write a report to the given stream.
    +	 *
    +	 * @param output
    +	 *            output stream to write the report to
    +	 * @return visitor to emit the report data to
    +	 * @throws IOException
    +	 *             in case of problems with the output stream
    +	 */
    +	public IReportVisitor createVisitor(final OutputStream output)
    +			throws IOException {
    +<span class="fc" id="L58">		class RootVisitor implements IReportVisitor {</span>
    +
    +			private ReportElement report;
    +			private List&lt;SessionInfo&gt; sessionInfos;
    +			private XMLGroupVisitor groupVisitor;
    +
    +			public void visitInfo(final List&lt;SessionInfo&gt; sessionInfos,
    +					final Collection&lt;ExecutionData&gt; executionData)
    +					throws IOException {
    +<span class="fc" id="L67">				this.sessionInfos = sessionInfos;</span>
    +<span class="fc" id="L68">			}</span>
    +
    +			public void visitBundle(final IBundleCoverage bundle,
    +					final ISourceFileLocator locator) throws IOException {
    +<span class="fc" id="L72">				createRootElement(bundle.getName());</span>
    +<span class="fc" id="L73">				XMLCoverageWriter.writeBundle(bundle, report);</span>
    +<span class="fc" id="L74">			}</span>
    +
    +			public IReportGroupVisitor visitGroup(final String name)
    +					throws IOException {
    +<span class="fc" id="L78">				createRootElement(name);</span>
    +<span class="fc" id="L79">				groupVisitor = new XMLGroupVisitor(report, name);</span>
    +<span class="fc" id="L80">				return groupVisitor;</span>
    +			}
    +
    +			private void createRootElement(final String name)
    +					throws IOException {
    +<span class="fc" id="L85">				report = new ReportElement(name, output, outputEncoding);</span>
    +<span class="fc bfc" id="L86" title="All 2 branches covered.">				for (final SessionInfo i : sessionInfos) {</span>
    +<span class="fc" id="L87">					report.sessioninfo(i);</span>
    +				}
    +<span class="fc" id="L89">			}</span>
    +
    +			public void visitEnd() throws IOException {
    +<span class="fc bfc" id="L92" title="All 2 branches covered.">				if (groupVisitor != null) {</span>
    +<span class="fc" id="L93">					groupVisitor.visitEnd();</span>
    +				}
    +<span class="fc" id="L95">				report.close();</span>
    +<span class="fc" id="L96">			}</span>
    +		}
    +<span class="fc" id="L98">		return new RootVisitor();</span>
    +	}
    +
    +}
    +</pre><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.12.202403270442</span>Code Coverage Report for JaCoCo 0.8.12-SNAPSHOT</div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/trunk/coverage/org.jacoco.report/org.jacoco.report.xml/index.html b/jacoco/trunk/coverage/org.jacoco.report/org.jacoco.report.xml/index.html
    new file mode 100644
    index 00000000000..8becb706e73
    --- /dev/null
    +++ b/jacoco/trunk/coverage/org.jacoco.report/org.jacoco.report.xml/index.html
    @@ -0,0 +1 @@
    +<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="en"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../../jacoco-resources/report.gif" type="image/gif"/><title>org.jacoco.report.xml</title><script type="text/javascript" src="../../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb', 'coveragetable'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="index.source.html" class="el_source">Source Files</a><a href="../../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../../index.html" class="el_report">JaCoCo</a> &gt; <a href="../index.html" class="el_bundle">org.jacoco.report</a> &gt; <span class="el_package">org.jacoco.report.xml</span></div><h1>org.jacoco.report.xml</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td><td class="sortable ctr1" id="l" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="m" onclick="toggleSort(this)">Classes</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">0 of 90</td><td class="ctr2">100%</td><td class="bar">0 of 4</td><td class="ctr2">100%</td><td class="ctr1">0</td><td class="ctr2">11</td><td class="ctr1">0</td><td class="ctr2">22</td><td class="ctr1">0</td><td class="ctr2">9</td><td class="ctr1">0</td><td class="ctr2">2</td></tr></tfoot><tbody><tr><td id="a1"><a href="XMLFormatter$1RootVisitor.html" class="el_class">XMLFormatter.new IReportVisitor() {...}</a></td><td class="bar" id="b0"><img src="../../jacoco-resources/greenbar.gif" width="120" height="10" title="74" alt="74"/></td><td class="ctr2" id="c0">100%</td><td class="bar" id="d0"><img src="../../jacoco-resources/greenbar.gif" width="120" height="10" title="4" alt="4"/></td><td class="ctr2" id="e0">100%</td><td class="ctr1" id="f0">0</td><td class="ctr2" id="g0">8</td><td class="ctr1" id="h0">0</td><td class="ctr2" id="i0">17</td><td class="ctr1" id="j0">0</td><td class="ctr2" id="k0">6</td><td class="ctr1" id="l0">0</td><td class="ctr2" id="m0">1</td></tr><tr><td id="a0"><a href="XMLFormatter.html" class="el_class">XMLFormatter</a></td><td class="bar" id="b1"><img src="../../jacoco-resources/greenbar.gif" width="25" height="10" title="16" alt="16"/></td><td class="ctr2" id="c1">100%</td><td class="bar" id="d1"/><td class="ctr2" id="e1">n/a</td><td class="ctr1" id="f1">0</td><td class="ctr2" id="g1">3</td><td class="ctr1" id="h1">0</td><td class="ctr2" id="i1">5</td><td class="ctr1" id="j1">0</td><td class="ctr2" id="k1">3</td><td class="ctr1" id="l1">0</td><td class="ctr2" id="m1">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.12.202403270442</span>Code Coverage Report for JaCoCo 0.8.12-SNAPSHOT</div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/trunk/coverage/org.jacoco.report/org.jacoco.report.xml/index.source.html b/jacoco/trunk/coverage/org.jacoco.report/org.jacoco.report.xml/index.source.html
    new file mode 100644
    index 00000000000..27e576dbd8e
    --- /dev/null
    +++ b/jacoco/trunk/coverage/org.jacoco.report/org.jacoco.report.xml/index.source.html
    @@ -0,0 +1 @@
    +<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="en"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../../jacoco-resources/report.gif" type="image/gif"/><title>org.jacoco.report.xml</title><script type="text/javascript" src="../../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb', 'coveragetable'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="index.html" class="el_class">Classes</a><a href="../../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../../index.html" class="el_report">JaCoCo</a> &gt; <a href="../index.html" class="el_bundle">org.jacoco.report</a> &gt; <span class="el_package">org.jacoco.report.xml</span></div><h1>org.jacoco.report.xml</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td><td class="sortable ctr1" id="l" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="m" onclick="toggleSort(this)">Classes</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">0 of 90</td><td class="ctr2">100%</td><td class="bar">0 of 4</td><td class="ctr2">100%</td><td class="ctr1">0</td><td class="ctr2">11</td><td class="ctr1">0</td><td class="ctr2">22</td><td class="ctr1">0</td><td class="ctr2">9</td><td class="ctr1">0</td><td class="ctr2">2</td></tr></tfoot><tbody><tr><td id="a0"><a href="XMLFormatter.java.html" class="el_source">XMLFormatter.java</a></td><td class="bar" id="b0"><img src="../../jacoco-resources/greenbar.gif" width="120" height="10" title="90" alt="90"/></td><td class="ctr2" id="c0">100%</td><td class="bar" id="d0"><img src="../../jacoco-resources/greenbar.gif" width="120" height="10" title="4" alt="4"/></td><td class="ctr2" id="e0">100%</td><td class="ctr1" id="f0">0</td><td class="ctr2" id="g0">11</td><td class="ctr1" id="h0">0</td><td class="ctr2" id="i0">22</td><td class="ctr1" id="j0">0</td><td class="ctr2" id="k0">9</td><td class="ctr1" id="l0">0</td><td class="ctr2" id="m0">2</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.12.202403270442</span>Code Coverage Report for JaCoCo 0.8.12-SNAPSHOT</div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/trunk/coverage/org.jacoco.report/org.jacoco.report/DirectorySourceFileLocator.html b/jacoco/trunk/coverage/org.jacoco.report/org.jacoco.report/DirectorySourceFileLocator.html
    new file mode 100644
    index 00000000000..ecbfbe56156
    --- /dev/null
    +++ b/jacoco/trunk/coverage/org.jacoco.report/org.jacoco.report/DirectorySourceFileLocator.html
    @@ -0,0 +1 @@
    +<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="en"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../../jacoco-resources/report.gif" type="image/gif"/><title>DirectorySourceFileLocator</title><script type="text/javascript" src="../../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../../index.html" class="el_report">JaCoCo</a> &gt; <a href="../index.html" class="el_bundle">org.jacoco.report</a> &gt; <a href="index.html" class="el_package">org.jacoco.report</a> &gt; <span class="el_class">DirectorySourceFileLocator</span></div><h1>DirectorySourceFileLocator</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">0 of 25</td><td class="ctr2">100%</td><td class="bar">0 of 2</td><td class="ctr2">100%</td><td class="ctr1">0</td><td class="ctr2">3</td><td class="ctr1">0</td><td class="ctr2">7</td><td class="ctr1">0</td><td class="ctr2">2</td></tr></tfoot><tbody><tr><td id="a1"><a href="DirectorySourceFileLocator.java.html#L49" class="el_method">getSourceStream(String)</a></td><td class="bar" id="b0"><img src="../../jacoco-resources/greenbar.gif" width="120" height="10" title="17" alt="17"/></td><td class="ctr2" id="c0">100%</td><td class="bar" id="d0"><img src="../../jacoco-resources/greenbar.gif" width="120" height="10" title="2" alt="2"/></td><td class="ctr2" id="e0">100%</td><td class="ctr1" id="f0">0</td><td class="ctr2" id="g0">2</td><td class="ctr1" id="h0">0</td><td class="ctr2" id="i0">4</td><td class="ctr1" id="j0">0</td><td class="ctr2" id="k0">1</td></tr><tr><td id="a0"><a href="DirectorySourceFileLocator.java.html#L42" class="el_method">DirectorySourceFileLocator(File, String, int)</a></td><td class="bar" id="b1"><img src="../../jacoco-resources/greenbar.gif" width="56" height="10" title="8" alt="8"/></td><td class="ctr2" id="c1">100%</td><td class="bar" id="d1"/><td class="ctr2" id="e1">n/a</td><td class="ctr1" id="f1">0</td><td class="ctr2" id="g1">1</td><td class="ctr1" id="h1">0</td><td class="ctr2" id="i1">3</td><td class="ctr1" id="j1">0</td><td class="ctr2" id="k1">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.12.202403270442</span>Code Coverage Report for JaCoCo 0.8.12-SNAPSHOT</div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/trunk/coverage/org.jacoco.report/org.jacoco.report/DirectorySourceFileLocator.java.html b/jacoco/trunk/coverage/org.jacoco.report/org.jacoco.report/DirectorySourceFileLocator.java.html
    new file mode 100644
    index 00000000000..645a8ce37d9
    --- /dev/null
    +++ b/jacoco/trunk/coverage/org.jacoco.report/org.jacoco.report/DirectorySourceFileLocator.java.html
    @@ -0,0 +1,58 @@
    +<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="en"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../../jacoco-resources/report.gif" type="image/gif"/><title>DirectorySourceFileLocator.java</title><link rel="stylesheet" href="../../jacoco-resources/prettify.css" type="text/css"/><script type="text/javascript" src="../../jacoco-resources/prettify.js"></script></head><body onload="window['PR_TAB_WIDTH']=4;prettyPrint()"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../../index.html" class="el_report">JaCoCo</a> &gt; <a href="../index.html" class="el_bundle">org.jacoco.report</a> &gt; <a href="index.source.html" class="el_package">org.jacoco.report</a> &gt; <span class="el_source">DirectorySourceFileLocator.java</span></div><h1>DirectorySourceFileLocator.java</h1><pre class="source lang-java linenums">/*******************************************************************************
    + * Copyright (c) 2009, 2024 Mountainminds GmbH &amp; Co. KG and Contributors
    + * This program and the accompanying materials are made available under
    + * the terms of the Eclipse Public License 2.0 which is available at
    + * http://www.eclipse.org/legal/epl-2.0
    + *
    + * SPDX-License-Identifier: EPL-2.0
    + *
    + * Contributors:
    + *    Marc R. Hoffmann - initial API and implementation
    + *
    + *******************************************************************************/
    +package org.jacoco.report;
    +
    +import java.io.File;
    +import java.io.FileInputStream;
    +import java.io.IOException;
    +import java.io.InputStream;
    +
    +/**
    + * Locator for source files that picks source files from a given directory in
    + * the file system.
    + */
    +public class DirectorySourceFileLocator extends InputStreamSourceFileLocator {
    +
    +	private final File directory;
    +
    +	/**
    +	 * Creates a new locator that searches for source files in the given
    +	 * directory.
    +	 *
    +	 * @param directory
    +	 *            directory to search for source file
    +	 * @param encoding
    +	 *            encoding of the source files, &lt;code&gt;null&lt;/code&gt; for platform
    +	 *            default encoding
    +	 * @param tabWidth
    +	 *            tab width in source files as number of blanks
    +	 */
    +	public DirectorySourceFileLocator(final File directory,
    +			final String encoding, final int tabWidth) {
    +<span class="fc" id="L42">		super(encoding, tabWidth);</span>
    +<span class="fc" id="L43">		this.directory = directory;</span>
    +<span class="fc" id="L44">	}</span>
    +
    +	@Override
    +	protected InputStream getSourceStream(final String path)
    +			throws IOException {
    +<span class="fc" id="L49">		final File file = new File(directory, path);</span>
    +<span class="fc bfc" id="L50" title="All 2 branches covered.">		if (file.isFile()) {</span>
    +<span class="fc" id="L51">			return new FileInputStream(file);</span>
    +		} else {
    +<span class="fc" id="L53">			return null;</span>
    +		}
    +	}
    +
    +}
    +</pre><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.12.202403270442</span>Code Coverage Report for JaCoCo 0.8.12-SNAPSHOT</div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/trunk/coverage/org.jacoco.report/org.jacoco.report/FileMultiReportOutput.html b/jacoco/trunk/coverage/org.jacoco.report/org.jacoco.report/FileMultiReportOutput.html
    new file mode 100644
    index 00000000000..fba079ae11c
    --- /dev/null
    +++ b/jacoco/trunk/coverage/org.jacoco.report/org.jacoco.report/FileMultiReportOutput.html
    @@ -0,0 +1 @@
    +<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="en"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../../jacoco-resources/report.gif" type="image/gif"/><title>FileMultiReportOutput</title><script type="text/javascript" src="../../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../../index.html" class="el_report">JaCoCo</a> &gt; <a href="../index.html" class="el_bundle">org.jacoco.report</a> &gt; <a href="index.html" class="el_package">org.jacoco.report</a> &gt; <span class="el_class">FileMultiReportOutput</span></div><h1>FileMultiReportOutput</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">0 of 43</td><td class="ctr2">100%</td><td class="bar">0 of 2</td><td class="ctr2">100%</td><td class="ctr1">0</td><td class="ctr2">4</td><td class="ctr1">0</td><td class="ctr2">10</td><td class="ctr1">0</td><td class="ctr2">3</td></tr></tfoot><tbody><tr><td id="a1"><a href="FileMultiReportOutput.java.html#L42" class="el_method">createFile(String)</a></td><td class="bar" id="b0"><img src="../../jacoco-resources/greenbar.gif" width="120" height="10" title="36" alt="36"/></td><td class="ctr2" id="c0">100%</td><td class="bar" id="d0"><img src="../../jacoco-resources/greenbar.gif" width="120" height="10" title="2" alt="2"/></td><td class="ctr2" id="e0">100%</td><td class="ctr1" id="f0">0</td><td class="ctr2" id="g0">2</td><td class="ctr1" id="h0">0</td><td class="ctr2" id="i0">6</td><td class="ctr1" id="j0">0</td><td class="ctr2" id="k0">1</td></tr><tr><td id="a2"><a href="FileMultiReportOutput.java.html#L37" class="el_method">FileMultiReportOutput(File)</a></td><td class="bar" id="b1"><img src="../../jacoco-resources/greenbar.gif" width="20" height="10" title="6" alt="6"/></td><td class="ctr2" id="c1">100%</td><td class="bar" id="d1"/><td class="ctr2" id="e1">n/a</td><td class="ctr1" id="f1">0</td><td class="ctr2" id="g1">1</td><td class="ctr1" id="h1">0</td><td class="ctr2" id="i1">3</td><td class="ctr1" id="j1">0</td><td class="ctr2" id="k1">1</td></tr><tr><td id="a0"><a href="FileMultiReportOutput.java.html#L53" class="el_method">close()</a></td><td class="bar" id="b2"><img src="../../jacoco-resources/greenbar.gif" width="3" height="10" title="1" alt="1"/></td><td class="ctr2" id="c2">100%</td><td class="bar" id="d2"/><td class="ctr2" id="e2">n/a</td><td class="ctr1" id="f2">0</td><td class="ctr2" id="g2">1</td><td class="ctr1" id="h2">0</td><td class="ctr2" id="i2">1</td><td class="ctr1" id="j2">0</td><td class="ctr2" id="k2">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.12.202403270442</span>Code Coverage Report for JaCoCo 0.8.12-SNAPSHOT</div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/trunk/coverage/org.jacoco.report/org.jacoco.report/FileMultiReportOutput.java.html b/jacoco/trunk/coverage/org.jacoco.report/org.jacoco.report/FileMultiReportOutput.java.html
    new file mode 100644
    index 00000000000..fbc73c2c824
    --- /dev/null
    +++ b/jacoco/trunk/coverage/org.jacoco.report/org.jacoco.report/FileMultiReportOutput.java.html
    @@ -0,0 +1,56 @@
    +<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="en"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../../jacoco-resources/report.gif" type="image/gif"/><title>FileMultiReportOutput.java</title><link rel="stylesheet" href="../../jacoco-resources/prettify.css" type="text/css"/><script type="text/javascript" src="../../jacoco-resources/prettify.js"></script></head><body onload="window['PR_TAB_WIDTH']=4;prettyPrint()"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../../index.html" class="el_report">JaCoCo</a> &gt; <a href="../index.html" class="el_bundle">org.jacoco.report</a> &gt; <a href="index.source.html" class="el_package">org.jacoco.report</a> &gt; <span class="el_source">FileMultiReportOutput.java</span></div><h1>FileMultiReportOutput.java</h1><pre class="source lang-java linenums">/*******************************************************************************
    + * Copyright (c) 2009, 2024 Mountainminds GmbH &amp; Co. KG and Contributors
    + * This program and the accompanying materials are made available under
    + * the terms of the Eclipse Public License 2.0 which is available at
    + * http://www.eclipse.org/legal/epl-2.0
    + *
    + * SPDX-License-Identifier: EPL-2.0
    + *
    + * Contributors:
    + *    Marc R. Hoffmann - initial API and implementation
    + *
    + *******************************************************************************/
    +package org.jacoco.report;
    +
    +import static java.lang.String.format;
    +
    +import java.io.BufferedOutputStream;
    +import java.io.File;
    +import java.io.FileOutputStream;
    +import java.io.IOException;
    +import java.io.OutputStream;
    +
    +/**
    + * Implementation of {@link IMultiReportOutput} that writes files directly to a
    + * given directory.
    + */
    +public class FileMultiReportOutput implements IMultiReportOutput {
    +
    +	private final File basedir;
    +
    +	/**
    +	 * Creates a new instance for document output in the given base directory.
    +	 *
    +	 * @param basedir
    +	 *            base directory
    +	 */
    +<span class="fc" id="L37">	public FileMultiReportOutput(final File basedir) {</span>
    +<span class="fc" id="L38">		this.basedir = basedir;</span>
    +<span class="fc" id="L39">	}</span>
    +
    +	public OutputStream createFile(final String path) throws IOException {
    +<span class="fc" id="L42">		final File file = new File(basedir, path);</span>
    +<span class="fc" id="L43">		final File parent = file.getParentFile();</span>
    +<span class="fc" id="L44">		parent.mkdirs();</span>
    +<span class="fc bfc" id="L45" title="All 2 branches covered.">		if (!parent.isDirectory()) {</span>
    +<span class="fc" id="L46">			throw new IOException(format(&quot;Can't create directory %s.&quot;, parent));</span>
    +		}
    +<span class="fc" id="L48">		return new BufferedOutputStream(new FileOutputStream(file));</span>
    +	}
    +
    +	public void close() throws IOException {
    +		// nothing to do here
    +<span class="fc" id="L53">	}</span>
    +
    +}
    +</pre><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.12.202403270442</span>Code Coverage Report for JaCoCo 0.8.12-SNAPSHOT</div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/trunk/coverage/org.jacoco.report/org.jacoco.report/InputStreamSourceFileLocator.html b/jacoco/trunk/coverage/org.jacoco.report/org.jacoco.report/InputStreamSourceFileLocator.html
    new file mode 100644
    index 00000000000..1d9af44d6c1
    --- /dev/null
    +++ b/jacoco/trunk/coverage/org.jacoco.report/org.jacoco.report/InputStreamSourceFileLocator.html
    @@ -0,0 +1 @@
    +<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="en"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../../jacoco-resources/report.gif" type="image/gif"/><title>InputStreamSourceFileLocator</title><script type="text/javascript" src="../../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../../index.html" class="el_report">JaCoCo</a> &gt; <a href="../index.html" class="el_bundle">org.jacoco.report</a> &gt; <a href="index.html" class="el_package">org.jacoco.report</a> &gt; <span class="el_class">InputStreamSourceFileLocator</span></div><h1>InputStreamSourceFileLocator</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">0 of 52</td><td class="ctr2">100%</td><td class="bar">0 of 6</td><td class="ctr2">100%</td><td class="ctr1">0</td><td class="ctr2">6</td><td class="ctr1">0</td><td class="ctr2">13</td><td class="ctr1">0</td><td class="ctr2">3</td></tr></tfoot><tbody><tr><td id="a0"><a href="InputStreamSourceFileLocator.java.html#L49" class="el_method">getSourceFile(String, String)</a></td><td class="bar" id="b0"><img src="../../jacoco-resources/greenbar.gif" width="120" height="10" title="40" alt="40"/></td><td class="ctr2" id="c0">100%</td><td class="bar" id="d0"><img src="../../jacoco-resources/greenbar.gif" width="120" height="10" title="6" alt="6"/></td><td class="ctr2" id="e0">100%</td><td class="ctr1" id="f0">0</td><td class="ctr2" id="g0">4</td><td class="ctr1" id="h0">0</td><td class="ctr2" id="i0">8</td><td class="ctr1" id="j0">0</td><td class="ctr2" id="k0">1</td></tr><tr><td id="a2"><a href="InputStreamSourceFileLocator.java.html#L41" class="el_method">InputStreamSourceFileLocator(String, int)</a></td><td class="bar" id="b1"><img src="../../jacoco-resources/greenbar.gif" width="27" height="10" title="9" alt="9"/></td><td class="ctr2" id="c1">100%</td><td class="bar" id="d1"/><td class="ctr2" id="e1">n/a</td><td class="ctr1" id="f1">0</td><td class="ctr2" id="g1">1</td><td class="ctr1" id="h1">0</td><td class="ctr2" id="i1">4</td><td class="ctr1" id="j1">0</td><td class="ctr2" id="k1">1</td></tr><tr><td id="a1"><a href="InputStreamSourceFileLocator.java.html#L67" class="el_method">getTabWidth()</a></td><td class="bar" id="b2"><img src="../../jacoco-resources/greenbar.gif" width="9" height="10" title="3" alt="3"/></td><td class="ctr2" id="c2">100%</td><td class="bar" id="d2"/><td class="ctr2" id="e2">n/a</td><td class="ctr1" id="f2">0</td><td class="ctr2" id="g2">1</td><td class="ctr1" id="h2">0</td><td class="ctr2" id="i2">1</td><td class="ctr1" id="j2">0</td><td class="ctr2" id="k2">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.12.202403270442</span>Code Coverage Report for JaCoCo 0.8.12-SNAPSHOT</div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/trunk/coverage/org.jacoco.report/org.jacoco.report/InputStreamSourceFileLocator.java.html b/jacoco/trunk/coverage/org.jacoco.report/org.jacoco.report/InputStreamSourceFileLocator.java.html
    new file mode 100644
    index 00000000000..cd20ddb7c2d
    --- /dev/null
    +++ b/jacoco/trunk/coverage/org.jacoco.report/org.jacoco.report/InputStreamSourceFileLocator.java.html
    @@ -0,0 +1,83 @@
    +<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="en"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../../jacoco-resources/report.gif" type="image/gif"/><title>InputStreamSourceFileLocator.java</title><link rel="stylesheet" href="../../jacoco-resources/prettify.css" type="text/css"/><script type="text/javascript" src="../../jacoco-resources/prettify.js"></script></head><body onload="window['PR_TAB_WIDTH']=4;prettyPrint()"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../../index.html" class="el_report">JaCoCo</a> &gt; <a href="../index.html" class="el_bundle">org.jacoco.report</a> &gt; <a href="index.source.html" class="el_package">org.jacoco.report</a> &gt; <span class="el_source">InputStreamSourceFileLocator.java</span></div><h1>InputStreamSourceFileLocator.java</h1><pre class="source lang-java linenums">/*******************************************************************************
    + * Copyright (c) 2009, 2024 Mountainminds GmbH &amp; Co. KG and Contributors
    + * This program and the accompanying materials are made available under
    + * the terms of the Eclipse Public License 2.0 which is available at
    + * http://www.eclipse.org/legal/epl-2.0
    + *
    + * SPDX-License-Identifier: EPL-2.0
    + *
    + * Contributors:
    + *    Marc R. Hoffmann - initial API and implementation
    + *
    + *******************************************************************************/
    +package org.jacoco.report;
    +
    +import java.io.IOException;
    +import java.io.InputStream;
    +import java.io.InputStreamReader;
    +import java.io.Reader;
    +
    +/**
    + * Abstract base class for {@link ISourceFileLocator} locator implementations
    + * based on {@link InputStream}s. It handles the encoding and tab width.
    + */
    +public abstract class InputStreamSourceFileLocator
    +		implements ISourceFileLocator {
    +
    +	private final String encoding;
    +	private final int tabWidth;
    +
    +	/**
    +	 * Creates a new locator with the given specification.
    +	 *
    +	 * @param encoding
    +	 *            encoding of the source files, &lt;code&gt;null&lt;/code&gt; for platform
    +	 *            default encoding
    +	 * @param tabWidth
    +	 *            tab width in source files as number of blanks
    +	 *
    +	 */
    +	protected InputStreamSourceFileLocator(final String encoding,
    +<span class="fc" id="L41">			final int tabWidth) {</span>
    +<span class="fc" id="L42">		this.encoding = encoding;</span>
    +<span class="fc" id="L43">		this.tabWidth = tabWidth;</span>
    +<span class="fc" id="L44">	}</span>
    +
    +	public Reader getSourceFile(final String packageName, final String fileName)
    +			throws IOException {
    +		final InputStream in;
    +<span class="fc bfc" id="L49" title="All 2 branches covered.">		if (packageName.length() &gt; 0) {</span>
    +<span class="fc" id="L50">			in = getSourceStream(packageName + &quot;/&quot; + fileName);</span>
    +		} else {
    +<span class="fc" id="L52">			in = getSourceStream(fileName);</span>
    +		}
    +
    +<span class="fc bfc" id="L55" title="All 2 branches covered.">		if (in == null) {</span>
    +<span class="fc" id="L56">			return null;</span>
    +		}
    +
    +<span class="fc bfc" id="L59" title="All 2 branches covered.">		if (encoding == null) {</span>
    +<span class="fc" id="L60">			return new InputStreamReader(in);</span>
    +		} else {
    +<span class="fc" id="L62">			return new InputStreamReader(in, encoding);</span>
    +		}
    +	}
    +
    +	public int getTabWidth() {
    +<span class="fc" id="L67">		return tabWidth;</span>
    +	}
    +
    +	/**
    +	 * Tries to locate the given source file and opens its binary content.
    +	 *
    +	 * @param path
    +	 *            local path to the resource
    +	 * @return stream if the file could be located, &lt;code&gt;null&lt;/code&gt; otherwise
    +	 * @throws IOException
    +	 *             in case of problems while opening the stream
    +	 */
    +	protected abstract InputStream getSourceStream(String path)
    +			throws IOException;
    +
    +}
    +</pre><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.12.202403270442</span>Code Coverage Report for JaCoCo 0.8.12-SNAPSHOT</div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/trunk/coverage/org.jacoco.report/org.jacoco.report/JavaNames.html b/jacoco/trunk/coverage/org.jacoco.report/org.jacoco.report/JavaNames.html
    new file mode 100644
    index 00000000000..a570fe8fa77
    --- /dev/null
    +++ b/jacoco/trunk/coverage/org.jacoco.report/org.jacoco.report/JavaNames.html
    @@ -0,0 +1 @@
    +<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="en"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../../jacoco-resources/report.gif" type="image/gif"/><title>JavaNames</title><script type="text/javascript" src="../../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../../index.html" class="el_report">JaCoCo</a> &gt; <a href="../index.html" class="el_bundle">org.jacoco.report</a> &gt; <a href="index.html" class="el_package">org.jacoco.report</a> &gt; <span class="el_class">JavaNames</span></div><h1>JavaNames</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">0 of 262</td><td class="ctr2">100%</td><td class="bar">0 of 34</td><td class="ctr2">100%</td><td class="ctr1">0</td><td class="ctr2">27</td><td class="ctr1">0</td><td class="ctr2">54</td><td class="ctr1">0</td><td class="ctr2">10</td></tr></tfoot><tbody><tr><td id="a2"><a href="JavaNames.java.html#L94" class="el_method">getMethodName(String, String, String, boolean)</a></td><td class="bar" id="b0"><img src="../../jacoco-resources/greenbar.gif" width="120" height="10" title="88" alt="88"/></td><td class="ctr2" id="c0">100%</td><td class="bar" id="d0"><img src="../../jacoco-resources/greenbar.gif" width="120" height="10" title="12" alt="12"/></td><td class="ctr2" id="e0">100%</td><td class="ctr1" id="f0">0</td><td class="ctr2" id="g0">7</td><td class="ctr1" id="h0">0</td><td class="ctr2" id="i0">20</td><td class="ctr1" id="j0">0</td><td class="ctr2" id="k0">1</td></tr><tr><td id="a1"><a href="JavaNames.java.html#L52" class="el_method">getClassName(String, String, String, String[])</a></td><td class="bar" id="b1"><img src="../../jacoco-resources/greenbar.gif" width="75" height="10" title="55" alt="55"/></td><td class="ctr2" id="c1">100%</td><td class="bar" id="d1"><img src="../../jacoco-resources/greenbar.gif" width="100" height="10" title="10" alt="10"/></td><td class="ctr2" id="e1">100%</td><td class="ctr1" id="f1">0</td><td class="ctr2" id="g1">6</td><td class="ctr1" id="h1">0</td><td class="ctr2" id="i1">12</td><td class="ctr1" id="j1">0</td><td class="ctr2" id="k1">1</td></tr><tr><td id="a8"><a href="JavaNames.java.html#L36" class="el_method">isAnonymous(String)</a></td><td class="bar" id="b2"><img src="../../jacoco-resources/greenbar.gif" width="40" height="10" title="30" alt="30"/></td><td class="ctr2" id="c2">100%</td><td class="bar" id="d2"><img src="../../jacoco-resources/greenbar.gif" width="60" height="10" title="6" alt="6"/></td><td class="ctr2" id="e2">100%</td><td class="ctr1" id="f2">0</td><td class="ctr2" id="g2">4</td><td class="ctr1" id="h2">0</td><td class="ctr2" id="i2">8</td><td class="ctr1" id="j2">0</td><td class="ctr2" id="k2">1</td></tr><tr><td id="a7"><a href="JavaNames.java.html#L127" class="el_method">getShortTypeName(Type)</a></td><td class="bar" id="b3"><img src="../../jacoco-resources/greenbar.gif" width="31" height="10" title="23" alt="23"/></td><td class="ctr2" id="c3">100%</td><td class="bar" id="d3"><img src="../../jacoco-resources/greenbar.gif" width="20" height="10" title="2" alt="2"/></td><td class="ctr2" id="e3">100%</td><td class="ctr1" id="f3">0</td><td class="ctr2" id="g3">2</td><td class="ctr1" id="h3">0</td><td class="ctr2" id="i3">4</td><td class="ctr1" id="j3">0</td><td class="ctr2" id="k3">1</td></tr><tr><td id="a0"><a href="JavaNames.java.html#L30" class="el_method">getClassName(String)</a></td><td class="bar" id="b4"><img src="../../jacoco-resources/greenbar.gif" width="27" height="10" title="20" alt="20"/></td><td class="ctr2" id="c4">100%</td><td class="bar" id="d4"><img src="../../jacoco-resources/greenbar.gif" width="20" height="10" title="2" alt="2"/></td><td class="ctr2" id="e4">100%</td><td class="ctr1" id="f4">0</td><td class="ctr2" id="g4">2</td><td class="ctr1" id="h4">0</td><td class="ctr2" id="i4">3</td><td class="ctr1" id="j4">0</td><td class="ctr2" id="k4">1</td></tr><tr><td id="a6"><a href="JavaNames.java.html#L87" class="el_method">getQualifiedMethodName(String, String, String, String)</a></td><td class="bar" id="b5"><img src="../../jacoco-resources/greenbar.gif" width="24" height="10" title="18" alt="18"/></td><td class="ctr2" id="c5">100%</td><td class="bar" id="d6"/><td class="ctr2" id="e6">n/a</td><td class="ctr1" id="f5">0</td><td class="ctr2" id="g6">1</td><td class="ctr1" id="h5">0</td><td class="ctr2" id="i6">1</td><td class="ctr1" id="j5">0</td><td class="ctr2" id="k5">1</td></tr><tr><td id="a4"><a href="JavaNames.java.html#L23" class="el_method">getPackageName(String)</a></td><td class="bar" id="b6"><img src="../../jacoco-resources/greenbar.gif" width="13" height="10" title="10" alt="10"/></td><td class="ctr2" id="c6">100%</td><td class="bar" id="d5"><img src="../../jacoco-resources/greenbar.gif" width="20" height="10" title="2" alt="2"/></td><td class="ctr2" id="e5">100%</td><td class="ctr1" id="f6">0</td><td class="ctr2" id="g5">2</td><td class="ctr1" id="h6">0</td><td class="ctr2" id="i5">3</td><td class="ctr1" id="j6">0</td><td class="ctr2" id="k6">1</td></tr><tr><td id="a5"><a href="JavaNames.java.html#L75" class="el_method">getQualifiedClassName(String)</a></td><td class="bar" id="b7"><img src="../../jacoco-resources/greenbar.gif" width="10" height="10" title="8" alt="8"/></td><td class="ctr2" id="c7">100%</td><td class="bar" id="d7"/><td class="ctr2" id="e7">n/a</td><td class="ctr1" id="f7">0</td><td class="ctr2" id="g7">1</td><td class="ctr1" id="h7">0</td><td class="ctr2" id="i7">1</td><td class="ctr1" id="j7">0</td><td class="ctr2" id="k7">1</td></tr><tr><td id="a3"><a href="JavaNames.java.html#L81" class="el_method">getMethodName(String, String, String, String)</a></td><td class="bar" id="b8"><img src="../../jacoco-resources/greenbar.gif" width="9" height="10" title="7" alt="7"/></td><td class="ctr2" id="c8">100%</td><td class="bar" id="d8"/><td class="ctr2" id="e8">n/a</td><td class="ctr1" id="f8">0</td><td class="ctr2" id="g8">1</td><td class="ctr1" id="h8">0</td><td class="ctr2" id="i8">1</td><td class="ctr1" id="j8">0</td><td class="ctr2" id="k8">1</td></tr><tr><td id="a9"><a href="JavaNames.java.html#L20" class="el_method">JavaNames()</a></td><td class="bar" id="b9"><img src="../../jacoco-resources/greenbar.gif" width="4" height="10" title="3" alt="3"/></td><td class="ctr2" id="c9">100%</td><td class="bar" id="d9"/><td class="ctr2" id="e9">n/a</td><td class="ctr1" id="f9">0</td><td class="ctr2" id="g9">1</td><td class="ctr1" id="h9">0</td><td class="ctr2" id="i9">1</td><td class="ctr1" id="j9">0</td><td class="ctr2" id="k9">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.12.202403270442</span>Code Coverage Report for JaCoCo 0.8.12-SNAPSHOT</div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/trunk/coverage/org.jacoco.report/org.jacoco.report/JavaNames.java.html b/jacoco/trunk/coverage/org.jacoco.report/org.jacoco.report/JavaNames.java.html
    new file mode 100644
    index 00000000000..6c68878e561
    --- /dev/null
    +++ b/jacoco/trunk/coverage/org.jacoco.report/org.jacoco.report/JavaNames.java.html
    @@ -0,0 +1,134 @@
    +<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="en"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../../jacoco-resources/report.gif" type="image/gif"/><title>JavaNames.java</title><link rel="stylesheet" href="../../jacoco-resources/prettify.css" type="text/css"/><script type="text/javascript" src="../../jacoco-resources/prettify.js"></script></head><body onload="window['PR_TAB_WIDTH']=4;prettyPrint()"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../../index.html" class="el_report">JaCoCo</a> &gt; <a href="../index.html" class="el_bundle">org.jacoco.report</a> &gt; <a href="index.source.html" class="el_package">org.jacoco.report</a> &gt; <span class="el_source">JavaNames.java</span></div><h1>JavaNames.java</h1><pre class="source lang-java linenums">/*******************************************************************************
    + * Copyright (c) 2009, 2024 Mountainminds GmbH &amp; Co. KG and Contributors
    + * This program and the accompanying materials are made available under
    + * the terms of the Eclipse Public License 2.0 which is available at
    + * http://www.eclipse.org/legal/epl-2.0
    + *
    + * SPDX-License-Identifier: EPL-2.0
    + *
    + * Contributors:
    + *    Marc R. Hoffmann - initial API and implementation
    + *
    + *******************************************************************************/
    +package org.jacoco.report;
    +
    +import org.objectweb.asm.Type;
    +
    +/**
    + * Names for the Java language.
    + */
    +<span class="fc" id="L20">public class JavaNames implements ILanguageNames {</span>
    +
    +	public String getPackageName(final String vmname) {
    +<span class="fc bfc" id="L23" title="All 2 branches covered.">		if (vmname.length() == 0) {</span>
    +<span class="fc" id="L24">			return &quot;default&quot;;</span>
    +		}
    +<span class="fc" id="L26">		return vmname.replace('/', '.');</span>
    +	}
    +
    +	private String getClassName(final String vmname) {
    +<span class="fc" id="L30">		final int pos = vmname.lastIndexOf('/');</span>
    +<span class="fc bfc" id="L31" title="All 2 branches covered.">		final String name = pos == -1 ? vmname : vmname.substring(pos + 1);</span>
    +<span class="fc" id="L32">		return name.replace('$', '.');</span>
    +	}
    +
    +	private boolean isAnonymous(final String vmname) {
    +<span class="fc" id="L36">		final int dollarPosition = vmname.lastIndexOf('$');</span>
    +<span class="fc bfc" id="L37" title="All 2 branches covered.">		if (dollarPosition == -1) {</span>
    +<span class="fc" id="L38">			return false;</span>
    +		}
    +<span class="fc" id="L40">		final int internalPosition = dollarPosition + 1;</span>
    +<span class="fc bfc" id="L41" title="All 2 branches covered.">		if (internalPosition == vmname.length()) {</span>
    +			// shouldn't happen for classes compiled from Java source
    +<span class="fc" id="L43">			return false;</span>
    +		}
    +		// assume non-identifier start character for anonymous classes
    +<span class="fc" id="L46">		final char start = vmname.charAt(internalPosition);</span>
    +<span class="fc bfc" id="L47" title="All 2 branches covered.">		return !Character.isJavaIdentifierStart(start);</span>
    +	}
    +
    +	public String getClassName(final String vmname, final String vmsignature,
    +			final String vmsuperclass, final String[] vminterfaces) {
    +<span class="fc bfc" id="L52" title="All 2 branches covered.">		if (isAnonymous(vmname)) {</span>
    +			final String vmsupertype;
    +<span class="fc bfc" id="L54" title="All 4 branches covered.">			if (vminterfaces != null &amp;&amp; vminterfaces.length &gt; 0) {</span>
    +<span class="fc" id="L55">				vmsupertype = vminterfaces[0];</span>
    +<span class="fc bfc" id="L56" title="All 2 branches covered.">			} else if (vmsuperclass != null) {</span>
    +<span class="fc" id="L57">				vmsupertype = vmsuperclass;</span>
    +			} else {
    +<span class="fc" id="L59">				vmsupertype = null;</span>
    +			}
    +			// append Eclipse style label, e.g. &quot;Foo.new Bar() {...}&quot;
    +<span class="fc bfc" id="L62" title="All 2 branches covered.">			if (vmsupertype != null) {</span>
    +<span class="fc" id="L63">				final StringBuilder builder = new StringBuilder();</span>
    +<span class="fc" id="L64">				final String vmenclosing = vmname.substring(0,</span>
    +						vmname.lastIndexOf('$'));
    +<span class="fc" id="L66">				builder.append(getClassName(vmenclosing)).append(&quot;.new &quot;)</span>
    +						.append(getClassName(vmsupertype)).append(&quot;() {...}&quot;);
    +<span class="fc" id="L68">				return builder.toString();</span>
    +			}
    +		}
    +<span class="fc" id="L71">		return getClassName(vmname);</span>
    +	}
    +
    +	public String getQualifiedClassName(final String vmname) {
    +<span class="fc" id="L75">		return vmname.replace('/', '.').replace('$', '.');</span>
    +	}
    +
    +	public String getMethodName(final String vmclassname,
    +			final String vmmethodname, final String vmdesc,
    +			final String vmsignature) {
    +<span class="fc" id="L81">		return getMethodName(vmclassname, vmmethodname, vmdesc, false);</span>
    +	}
    +
    +	public String getQualifiedMethodName(final String vmclassname,
    +			final String vmmethodname, final String vmdesc,
    +			final String vmsignature) {
    +<span class="fc" id="L87">		return getQualifiedClassName(vmclassname) + &quot;.&quot;</span>
    +				+ getMethodName(vmclassname, vmmethodname, vmdesc, true);
    +	}
    +
    +	private String getMethodName(final String vmclassname,
    +			final String vmmethodname, final String vmdesc,
    +			final boolean qualifiedParams) {
    +<span class="fc bfc" id="L94" title="All 2 branches covered.">		if (&quot;&lt;clinit&gt;&quot;.equals(vmmethodname)) {</span>
    +<span class="fc" id="L95">			return &quot;static {...}&quot;;</span>
    +		}
    +<span class="fc" id="L97">		final StringBuilder result = new StringBuilder();</span>
    +<span class="fc bfc" id="L98" title="All 2 branches covered.">		if (&quot;&lt;init&gt;&quot;.equals(vmmethodname)) {</span>
    +<span class="fc bfc" id="L99" title="All 2 branches covered.">			if (isAnonymous(vmclassname)) {</span>
    +<span class="fc" id="L100">				return &quot;{...}&quot;;</span>
    +			} else {
    +<span class="fc" id="L102">				result.append(getClassName(vmclassname));</span>
    +			}
    +		} else {
    +<span class="fc" id="L105">			result.append(vmmethodname);</span>
    +		}
    +<span class="fc" id="L107">		result.append('(');</span>
    +<span class="fc" id="L108">		final Type[] arguments = Type.getArgumentTypes(vmdesc);</span>
    +<span class="fc" id="L109">		boolean comma = false;</span>
    +<span class="fc bfc" id="L110" title="All 2 branches covered.">		for (final Type arg : arguments) {</span>
    +<span class="fc bfc" id="L111" title="All 2 branches covered.">			if (comma) {</span>
    +<span class="fc" id="L112">				result.append(&quot;, &quot;);</span>
    +			} else {
    +<span class="fc" id="L114">				comma = true;</span>
    +			}
    +<span class="fc bfc" id="L116" title="All 2 branches covered.">			if (qualifiedParams) {</span>
    +<span class="fc" id="L117">				result.append(getQualifiedClassName(arg.getClassName()));</span>
    +			} else {
    +<span class="fc" id="L119">				result.append(getShortTypeName(arg));</span>
    +			}
    +		}
    +<span class="fc" id="L122">		result.append(')');</span>
    +<span class="fc" id="L123">		return result.toString();</span>
    +	}
    +
    +	private String getShortTypeName(final Type type) {
    +<span class="fc" id="L127">		final String name = type.getClassName();</span>
    +<span class="fc" id="L128">		final int pos = name.lastIndexOf('.');</span>
    +<span class="fc bfc" id="L129" title="All 2 branches covered.">		final String shortName = pos == -1 ? name : name.substring(pos + 1);</span>
    +<span class="fc" id="L130">		return shortName.replace('$', '.');</span>
    +	}
    +
    +}
    +</pre><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.12.202403270442</span>Code Coverage Report for JaCoCo 0.8.12-SNAPSHOT</div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/trunk/coverage/org.jacoco.report/org.jacoco.report/MultiGroupVisitor.html b/jacoco/trunk/coverage/org.jacoco.report/org.jacoco.report/MultiGroupVisitor.html
    new file mode 100644
    index 00000000000..26c8980c7db
    --- /dev/null
    +++ b/jacoco/trunk/coverage/org.jacoco.report/org.jacoco.report/MultiGroupVisitor.html
    @@ -0,0 +1 @@
    +<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="en"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../../jacoco-resources/report.gif" type="image/gif"/><title>MultiGroupVisitor</title><script type="text/javascript" src="../../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../../index.html" class="el_report">JaCoCo</a> &gt; <a href="../index.html" class="el_bundle">org.jacoco.report</a> &gt; <a href="index.html" class="el_package">org.jacoco.report</a> &gt; <span class="el_class">MultiGroupVisitor</span></div><h1>MultiGroupVisitor</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">0 of 50</td><td class="ctr2">100%</td><td class="bar">0 of 4</td><td class="ctr2">100%</td><td class="ctr1">0</td><td class="ctr2">5</td><td class="ctr1">0</td><td class="ctr2">10</td><td class="ctr1">0</td><td class="ctr2">3</td></tr></tfoot><tbody><tr><td id="a2"><a href="MultiReportVisitor.java.html#L76" class="el_method">visitGroup(String)</a></td><td class="bar" id="b0"><img src="../../jacoco-resources/greenbar.gif" width="120" height="10" title="27" alt="27"/></td><td class="ctr2" id="c0">100%</td><td class="bar" id="d0"><img src="../../jacoco-resources/greenbar.gif" width="120" height="10" title="2" alt="2"/></td><td class="ctr2" id="e0">100%</td><td class="ctr1" id="f0">0</td><td class="ctr2" id="g0">2</td><td class="ctr1" id="h0">0</td><td class="ctr2" id="i0">4</td><td class="ctr1" id="j0">0</td><td class="ctr2" id="k0">1</td></tr><tr><td id="a1"><a href="MultiReportVisitor.java.html#L69" class="el_method">visitBundle(IBundleCoverage, ISourceFileLocator)</a></td><td class="bar" id="b1"><img src="../../jacoco-resources/greenbar.gif" width="75" height="10" title="17" alt="17"/></td><td class="ctr2" id="c1">100%</td><td class="bar" id="d1"><img src="../../jacoco-resources/greenbar.gif" width="120" height="10" title="2" alt="2"/></td><td class="ctr2" id="e1">100%</td><td class="ctr1" id="f1">0</td><td class="ctr2" id="g1">2</td><td class="ctr1" id="h1">0</td><td class="ctr2" id="i1">3</td><td class="ctr1" id="j1">0</td><td class="ctr2" id="k1">1</td></tr><tr><td id="a0"><a href="MultiReportVisitor.java.html#L63" class="el_method">MultiGroupVisitor(List)</a></td><td class="bar" id="b2"><img src="../../jacoco-resources/greenbar.gif" width="26" height="10" title="6" alt="6"/></td><td class="ctr2" id="c2">100%</td><td class="bar" id="d2"/><td class="ctr2" id="e2">n/a</td><td class="ctr1" id="f2">0</td><td class="ctr2" id="g2">1</td><td class="ctr1" id="h2">0</td><td class="ctr2" id="i2">3</td><td class="ctr1" id="j2">0</td><td class="ctr2" id="k2">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.12.202403270442</span>Code Coverage Report for JaCoCo 0.8.12-SNAPSHOT</div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/trunk/coverage/org.jacoco.report/org.jacoco.report/MultiReportVisitor.html b/jacoco/trunk/coverage/org.jacoco.report/org.jacoco.report/MultiReportVisitor.html
    new file mode 100644
    index 00000000000..1bd1f4d190a
    --- /dev/null
    +++ b/jacoco/trunk/coverage/org.jacoco.report/org.jacoco.report/MultiReportVisitor.html
    @@ -0,0 +1 @@
    +<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="en"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../../jacoco-resources/report.gif" type="image/gif"/><title>MultiReportVisitor</title><script type="text/javascript" src="../../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../../index.html" class="el_report">JaCoCo</a> &gt; <a href="../index.html" class="el_bundle">org.jacoco.report</a> &gt; <a href="index.html" class="el_package">org.jacoco.report</a> &gt; <span class="el_class">MultiReportVisitor</span></div><h1>MultiReportVisitor</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">0 of 39</td><td class="ctr2">100%</td><td class="bar">0 of 4</td><td class="ctr2">100%</td><td class="ctr1">0</td><td class="ctr2">5</td><td class="ctr1">0</td><td class="ctr2">9</td><td class="ctr1">0</td><td class="ctr2">3</td></tr></tfoot><tbody><tr><td id="a2"><a href="MultiReportVisitor.java.html#L46" class="el_method">visitInfo(List, Collection)</a></td><td class="bar" id="b0"><img src="../../jacoco-resources/greenbar.gif" width="120" height="10" title="17" alt="17"/></td><td class="ctr2" id="c0">100%</td><td class="bar" id="d0"><img src="../../jacoco-resources/greenbar.gif" width="120" height="10" title="2" alt="2"/></td><td class="ctr2" id="e0">100%</td><td class="ctr1" id="f0">0</td><td class="ctr2" id="g0">2</td><td class="ctr1" id="h0">0</td><td class="ctr2" id="i0">3</td><td class="ctr1" id="j0">0</td><td class="ctr2" id="k0">1</td></tr><tr><td id="a1"><a href="MultiReportVisitor.java.html#L52" class="el_method">visitEnd()</a></td><td class="bar" id="b1"><img src="../../jacoco-resources/greenbar.gif" width="105" height="10" title="15" alt="15"/></td><td class="ctr2" id="c1">100%</td><td class="bar" id="d1"><img src="../../jacoco-resources/greenbar.gif" width="120" height="10" title="2" alt="2"/></td><td class="ctr2" id="e1">100%</td><td class="ctr1" id="f1">0</td><td class="ctr2" id="g1">2</td><td class="ctr1" id="h1">0</td><td class="ctr2" id="i1">3</td><td class="ctr1" id="j1">0</td><td class="ctr2" id="k1">1</td></tr><tr><td id="a0"><a href="MultiReportVisitor.java.html#L40" class="el_method">MultiReportVisitor(List)</a></td><td class="bar" id="b2"><img src="../../jacoco-resources/greenbar.gif" width="49" height="10" title="7" alt="7"/></td><td class="ctr2" id="c2">100%</td><td class="bar" id="d2"/><td class="ctr2" id="e2">n/a</td><td class="ctr1" id="f2">0</td><td class="ctr2" id="g2">1</td><td class="ctr1" id="h2">0</td><td class="ctr2" id="i2">3</td><td class="ctr1" id="j2">0</td><td class="ctr2" id="k2">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.12.202403270442</span>Code Coverage Report for JaCoCo 0.8.12-SNAPSHOT</div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/trunk/coverage/org.jacoco.report/org.jacoco.report/MultiReportVisitor.java.html b/jacoco/trunk/coverage/org.jacoco.report/org.jacoco.report/MultiReportVisitor.java.html
    new file mode 100644
    index 00000000000..834ba5292a4
    --- /dev/null
    +++ b/jacoco/trunk/coverage/org.jacoco.report/org.jacoco.report/MultiReportVisitor.java.html
    @@ -0,0 +1,84 @@
    +<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="en"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../../jacoco-resources/report.gif" type="image/gif"/><title>MultiReportVisitor.java</title><link rel="stylesheet" href="../../jacoco-resources/prettify.css" type="text/css"/><script type="text/javascript" src="../../jacoco-resources/prettify.js"></script></head><body onload="window['PR_TAB_WIDTH']=4;prettyPrint()"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../../index.html" class="el_report">JaCoCo</a> &gt; <a href="../index.html" class="el_bundle">org.jacoco.report</a> &gt; <a href="index.source.html" class="el_package">org.jacoco.report</a> &gt; <span class="el_source">MultiReportVisitor.java</span></div><h1>MultiReportVisitor.java</h1><pre class="source lang-java linenums">/*******************************************************************************
    + * Copyright (c) 2009, 2024 Mountainminds GmbH &amp; Co. KG and Contributors
    + * This program and the accompanying materials are made available under
    + * the terms of the Eclipse Public License 2.0 which is available at
    + * http://www.eclipse.org/legal/epl-2.0
    + *
    + * SPDX-License-Identifier: EPL-2.0
    + *
    + * Contributors:
    + *    Marc R. Hoffmann - initial API and implementation
    + *
    + *******************************************************************************/
    +package org.jacoco.report;
    +
    +import java.io.IOException;
    +import java.util.ArrayList;
    +import java.util.Collection;
    +import java.util.List;
    +
    +import org.jacoco.core.analysis.IBundleCoverage;
    +import org.jacoco.core.data.ExecutionData;
    +import org.jacoco.core.data.SessionInfo;
    +
    +/**
    + * A report visitor that is composed from multiple other visitors. This can be
    + * used to create more than one report format in one run.
    + */
    +public class MultiReportVisitor extends MultiGroupVisitor
    +		implements IReportVisitor {
    +
    +	private final List&lt;IReportVisitor&gt; visitors;
    +
    +	/**
    +	 * New visitor delegating to all given visitors.
    +	 *
    +	 * @param visitors
    +	 *            visitors to delegate to
    +	 */
    +	public MultiReportVisitor(final List&lt;IReportVisitor&gt; visitors) {
    +<span class="fc" id="L40">		super(visitors);</span>
    +<span class="fc" id="L41">		this.visitors = visitors;</span>
    +<span class="fc" id="L42">	}</span>
    +
    +	public void visitInfo(final List&lt;SessionInfo&gt; sessionInfos,
    +			final Collection&lt;ExecutionData&gt; executionData) throws IOException {
    +<span class="fc bfc" id="L46" title="All 2 branches covered.">		for (final IReportVisitor v : visitors) {</span>
    +<span class="fc" id="L47">			v.visitInfo(sessionInfos, executionData);</span>
    +		}
    +<span class="fc" id="L49">	}</span>
    +
    +	public void visitEnd() throws IOException {
    +<span class="fc bfc" id="L52" title="All 2 branches covered.">		for (final IReportVisitor v : visitors) {</span>
    +<span class="fc" id="L53">			v.visitEnd();</span>
    +		}
    +<span class="fc" id="L55">	}</span>
    +
    +}
    +
    +class MultiGroupVisitor implements IReportGroupVisitor {
    +
    +	private final List&lt;? extends IReportGroupVisitor&gt; visitors;
    +
    +<span class="fc" id="L63">	MultiGroupVisitor(final List&lt;? extends IReportGroupVisitor&gt; visitors) {</span>
    +<span class="fc" id="L64">		this.visitors = visitors;</span>
    +<span class="fc" id="L65">	}</span>
    +
    +	public void visitBundle(final IBundleCoverage bundle,
    +			final ISourceFileLocator locator) throws IOException {
    +<span class="fc bfc" id="L69" title="All 2 branches covered.">		for (final IReportGroupVisitor v : visitors) {</span>
    +<span class="fc" id="L70">			v.visitBundle(bundle, locator);</span>
    +		}
    +<span class="fc" id="L72">	}</span>
    +
    +	public IReportGroupVisitor visitGroup(final String name)
    +			throws IOException {
    +<span class="fc" id="L76">		final List&lt;IReportGroupVisitor&gt; children = new ArrayList&lt;IReportGroupVisitor&gt;();</span>
    +<span class="fc bfc" id="L77" title="All 2 branches covered.">		for (final IReportGroupVisitor v : visitors) {</span>
    +<span class="fc" id="L78">			children.add(v.visitGroup(name));</span>
    +		}
    +<span class="fc" id="L80">		return new MultiGroupVisitor(children);</span>
    +	}
    +
    +}
    +</pre><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.12.202403270442</span>Code Coverage Report for JaCoCo 0.8.12-SNAPSHOT</div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/trunk/coverage/org.jacoco.report/org.jacoco.report/MultiSourceFileLocator.html b/jacoco/trunk/coverage/org.jacoco.report/org.jacoco.report/MultiSourceFileLocator.html
    new file mode 100644
    index 00000000000..d9c6b3a5dab
    --- /dev/null
    +++ b/jacoco/trunk/coverage/org.jacoco.report/org.jacoco.report/MultiSourceFileLocator.html
    @@ -0,0 +1 @@
    +<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="en"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../../jacoco-resources/report.gif" type="image/gif"/><title>MultiSourceFileLocator</title><script type="text/javascript" src="../../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../../index.html" class="el_report">JaCoCo</a> &gt; <a href="../index.html" class="el_bundle">org.jacoco.report</a> &gt; <a href="index.html" class="el_package">org.jacoco.report</a> &gt; <span class="el_class">MultiSourceFileLocator</span></div><h1>MultiSourceFileLocator</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">0 of 43</td><td class="ctr2">100%</td><td class="bar">0 of 4</td><td class="ctr2">100%</td><td class="ctr1">0</td><td class="ctr2">6</td><td class="ctr1">0</td><td class="ctr2">13</td><td class="ctr1">0</td><td class="ctr2">4</td></tr></tfoot><tbody><tr><td id="a1"><a href="MultiSourceFileLocator.java.html#L56" class="el_method">getSourceFile(String, String)</a></td><td class="bar" id="b0"><img src="../../jacoco-resources/greenbar.gif" width="120" height="10" title="23" alt="23"/></td><td class="ctr2" id="c0">100%</td><td class="bar" id="d0"><img src="../../jacoco-resources/greenbar.gif" width="120" height="10" title="4" alt="4"/></td><td class="ctr2" id="e0">100%</td><td class="ctr1" id="f0">0</td><td class="ctr2" id="g0">3</td><td class="ctr1" id="h0">0</td><td class="ctr2" id="i0">6</td><td class="ctr1" id="j0">0</td><td class="ctr2" id="k0">1</td></tr><tr><td id="a3"><a href="MultiSourceFileLocator.java.html#L38" class="el_method">MultiSourceFileLocator(int)</a></td><td class="bar" id="b1"><img src="../../jacoco-resources/greenbar.gif" width="57" height="10" title="11" alt="11"/></td><td class="ctr2" id="c1">100%</td><td class="bar" id="d1"/><td class="ctr2" id="e1">n/a</td><td class="ctr1" id="f1">0</td><td class="ctr2" id="g1">1</td><td class="ctr1" id="h1">0</td><td class="ctr2" id="i1">4</td><td class="ctr1" id="j1">0</td><td class="ctr2" id="k1">1</td></tr><tr><td id="a0"><a href="MultiSourceFileLocator.java.html#L51" class="el_method">add(ISourceFileLocator)</a></td><td class="bar" id="b2"><img src="../../jacoco-resources/greenbar.gif" width="31" height="10" title="6" alt="6"/></td><td class="ctr2" id="c2">100%</td><td class="bar" id="d2"/><td class="ctr2" id="e2">n/a</td><td class="ctr1" id="f2">0</td><td class="ctr2" id="g2">1</td><td class="ctr1" id="h2">0</td><td class="ctr2" id="i2">2</td><td class="ctr1" id="j2">0</td><td class="ctr2" id="k2">1</td></tr><tr><td id="a2"><a href="MultiSourceFileLocator.java.html#L66" class="el_method">getTabWidth()</a></td><td class="bar" id="b3"><img src="../../jacoco-resources/greenbar.gif" width="15" height="10" title="3" alt="3"/></td><td class="ctr2" id="c3">100%</td><td class="bar" id="d3"/><td class="ctr2" id="e3">n/a</td><td class="ctr1" id="f3">0</td><td class="ctr2" id="g3">1</td><td class="ctr1" id="h3">0</td><td class="ctr2" id="i3">1</td><td class="ctr1" id="j3">0</td><td class="ctr2" id="k3">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.12.202403270442</span>Code Coverage Report for JaCoCo 0.8.12-SNAPSHOT</div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/trunk/coverage/org.jacoco.report/org.jacoco.report/MultiSourceFileLocator.java.html b/jacoco/trunk/coverage/org.jacoco.report/org.jacoco.report/MultiSourceFileLocator.java.html
    new file mode 100644
    index 00000000000..26eb0fe5948
    --- /dev/null
    +++ b/jacoco/trunk/coverage/org.jacoco.report/org.jacoco.report/MultiSourceFileLocator.java.html
    @@ -0,0 +1,70 @@
    +<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="en"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../../jacoco-resources/report.gif" type="image/gif"/><title>MultiSourceFileLocator.java</title><link rel="stylesheet" href="../../jacoco-resources/prettify.css" type="text/css"/><script type="text/javascript" src="../../jacoco-resources/prettify.js"></script></head><body onload="window['PR_TAB_WIDTH']=4;prettyPrint()"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../../index.html" class="el_report">JaCoCo</a> &gt; <a href="../index.html" class="el_bundle">org.jacoco.report</a> &gt; <a href="index.source.html" class="el_package">org.jacoco.report</a> &gt; <span class="el_source">MultiSourceFileLocator.java</span></div><h1>MultiSourceFileLocator.java</h1><pre class="source lang-java linenums">/*******************************************************************************
    + * Copyright (c) 2009, 2024 Mountainminds GmbH &amp; Co. KG and Contributors
    + * This program and the accompanying materials are made available under
    + * the terms of the Eclipse Public License 2.0 which is available at
    + * http://www.eclipse.org/legal/epl-2.0
    + *
    + * SPDX-License-Identifier: EPL-2.0
    + *
    + * Contributors:
    + *    Marc R. Hoffmann - initial API and implementation
    + *
    + *******************************************************************************/
    +package org.jacoco.report;
    +
    +import java.io.IOException;
    +import java.io.Reader;
    +import java.util.ArrayList;
    +import java.util.List;
    +
    +/**
    + * Locator that searches source files in multiple {@link ISourceFileLocator}
    + * instances. For each lookup request the first locator that returns a
    + * {@link Reader} for source content is selected.
    + */
    +public class MultiSourceFileLocator implements ISourceFileLocator {
    +
    +	private final int tabWidth;
    +
    +	private final List&lt;ISourceFileLocator&gt; delegates;
    +
    +	/**
    +	 * Creates a new empty locator.
    +	 *
    +	 * @param tabWidth
    +	 *            tab width in source files as number of blanks used for all
    +	 *            source files
    +	 */
    +<span class="fc" id="L38">	public MultiSourceFileLocator(final int tabWidth) {</span>
    +<span class="fc" id="L39">		this.tabWidth = tabWidth;</span>
    +<span class="fc" id="L40">		this.delegates = new ArrayList&lt;ISourceFileLocator&gt;();</span>
    +<span class="fc" id="L41">	}</span>
    +
    +	/**
    +	 * Adds the given locator. Locators are queried in the sequence they have
    +	 * been added.
    +	 *
    +	 * @param locator
    +	 *            Additional locator to query
    +	 */
    +	public void add(final ISourceFileLocator locator) {
    +<span class="fc" id="L51">		delegates.add(locator);</span>
    +<span class="fc" id="L52">	}</span>
    +
    +	public Reader getSourceFile(final String packageName, final String fileName)
    +			throws IOException {
    +<span class="fc bfc" id="L56" title="All 2 branches covered.">		for (final ISourceFileLocator d : delegates) {</span>
    +<span class="fc" id="L57">			final Reader reader = d.getSourceFile(packageName, fileName);</span>
    +<span class="fc bfc" id="L58" title="All 2 branches covered.">			if (reader != null) {</span>
    +<span class="fc" id="L59">				return reader;</span>
    +			}
    +<span class="fc" id="L61">		}</span>
    +<span class="fc" id="L62">		return null;</span>
    +	}
    +
    +	public int getTabWidth() {
    +<span class="fc" id="L66">		return tabWidth;</span>
    +	}
    +
    +}
    +</pre><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.12.202403270442</span>Code Coverage Report for JaCoCo 0.8.12-SNAPSHOT</div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/trunk/coverage/org.jacoco.report/org.jacoco.report/ZipMultiReportOutput$EntryOutput.html b/jacoco/trunk/coverage/org.jacoco.report/org.jacoco.report/ZipMultiReportOutput$EntryOutput.html
    new file mode 100644
    index 00000000000..6e752396f45
    --- /dev/null
    +++ b/jacoco/trunk/coverage/org.jacoco.report/org.jacoco.report/ZipMultiReportOutput$EntryOutput.html
    @@ -0,0 +1 @@
    +<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="en"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../../jacoco-resources/report.gif" type="image/gif"/><title>ZipMultiReportOutput.EntryOutput</title><script type="text/javascript" src="../../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../../index.html" class="el_report">JaCoCo</a> &gt; <a href="../index.html" class="el_bundle">org.jacoco.report</a> &gt; <a href="index.html" class="el_package">org.jacoco.report</a> &gt; <span class="el_class">ZipMultiReportOutput.EntryOutput</span></div><h1>ZipMultiReportOutput.EntryOutput</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">0 of 62</td><td class="ctr2">100%</td><td class="bar">0 of 4</td><td class="ctr2">100%</td><td class="ctr1">0</td><td class="ctr2">9</td><td class="ctr1">0</td><td class="ctr2">21</td><td class="ctr1">0</td><td class="ctr2">7</td></tr></tfoot><tbody><tr><td id="a0"><a href="ZipMultiReportOutput.java.html#L95" class="el_method">close()</a></td><td class="bar" id="b0"><img src="../../jacoco-resources/greenbar.gif" width="120" height="10" title="11" alt="11"/></td><td class="ctr2" id="c0">100%</td><td class="bar" id="d0"><img src="../../jacoco-resources/greenbar.gif" width="120" height="10" title="2" alt="2"/></td><td class="ctr2" id="e0">100%</td><td class="ctr1" id="f0">0</td><td class="ctr2" id="g0">2</td><td class="ctr1" id="h0">0</td><td class="ctr2" id="i0">4</td><td class="ctr1" id="j0">0</td><td class="ctr2" id="k0">1</td></tr><tr><td id="a4"><a href="ZipMultiReportOutput.java.html#L71" class="el_method">write(byte[], int, int)</a></td><td class="bar" id="b1"><img src="../../jacoco-resources/greenbar.gif" width="109" height="10" title="10" alt="10"/></td><td class="ctr2" id="c1">100%</td><td class="bar" id="d2"/><td class="ctr2" id="e2">n/a</td><td class="ctr1" id="f1">0</td><td class="ctr2" id="g2">1</td><td class="ctr1" id="h1">0</td><td class="ctr2" id="i1">3</td><td class="ctr1" id="j1">0</td><td class="ctr2" id="k1">1</td></tr><tr><td id="a6"><a href="ZipMultiReportOutput.java.html#L64" class="el_method">ZipMultiReportOutput.EntryOutput(ZipMultiReportOutput)</a></td><td class="bar" id="b2"><img src="../../jacoco-resources/greenbar.gif" width="98" height="10" title="9" alt="9"/></td><td class="ctr2" id="c2">100%</td><td class="bar" id="d3"/><td class="ctr2" id="e3">n/a</td><td class="ctr1" id="f2">0</td><td class="ctr2" id="g3">1</td><td class="ctr1" id="h2">0</td><td class="ctr2" id="i6">2</td><td class="ctr1" id="j2">0</td><td class="ctr2" id="k2">1</td></tr><tr><td id="a1"><a href="ZipMultiReportOutput.java.html#L102" class="el_method">ensureNotClosed()</a></td><td class="bar" id="b3"><img src="../../jacoco-resources/greenbar.gif" width="98" height="10" title="9" alt="9"/></td><td class="ctr2" id="c3">100%</td><td class="bar" id="d1"><img src="../../jacoco-resources/greenbar.gif" width="120" height="10" title="2" alt="2"/></td><td class="ctr2" id="e1">100%</td><td class="ctr1" id="f3">0</td><td class="ctr2" id="g1">2</td><td class="ctr1" id="h3">0</td><td class="ctr2" id="i2">3</td><td class="ctr1" id="j3">0</td><td class="ctr2" id="k3">1</td></tr><tr><td id="a3"><a href="ZipMultiReportOutput.java.html#L77" class="el_method">write(byte[])</a></td><td class="bar" id="b4"><img src="../../jacoco-resources/greenbar.gif" width="87" height="10" title="8" alt="8"/></td><td class="ctr2" id="c4">100%</td><td class="bar" id="d4"/><td class="ctr2" id="e4">n/a</td><td class="ctr1" id="f4">0</td><td class="ctr2" id="g4">1</td><td class="ctr1" id="h4">0</td><td class="ctr2" id="i3">3</td><td class="ctr1" id="j4">0</td><td class="ctr2" id="k4">1</td></tr><tr><td id="a5"><a href="ZipMultiReportOutput.java.html#L83" class="el_method">write(int)</a></td><td class="bar" id="b5"><img src="../../jacoco-resources/greenbar.gif" width="87" height="10" title="8" alt="8"/></td><td class="ctr2" id="c5">100%</td><td class="bar" id="d5"/><td class="ctr2" id="e5">n/a</td><td class="ctr1" id="f5">0</td><td class="ctr2" id="g5">1</td><td class="ctr1" id="h5">0</td><td class="ctr2" id="i4">3</td><td class="ctr1" id="j5">0</td><td class="ctr2" id="k5">1</td></tr><tr><td id="a2"><a href="ZipMultiReportOutput.java.html#L89" class="el_method">flush()</a></td><td class="bar" id="b6"><img src="../../jacoco-resources/greenbar.gif" width="76" height="10" title="7" alt="7"/></td><td class="ctr2" id="c6">100%</td><td class="bar" id="d6"/><td class="ctr2" id="e6">n/a</td><td class="ctr1" id="f6">0</td><td class="ctr2" id="g6">1</td><td class="ctr1" id="h6">0</td><td class="ctr2" id="i5">3</td><td class="ctr1" id="j6">0</td><td class="ctr2" id="k6">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.12.202403270442</span>Code Coverage Report for JaCoCo 0.8.12-SNAPSHOT</div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/trunk/coverage/org.jacoco.report/org.jacoco.report/ZipMultiReportOutput.html b/jacoco/trunk/coverage/org.jacoco.report/org.jacoco.report/ZipMultiReportOutput.html
    new file mode 100644
    index 00000000000..4b7a5856230
    --- /dev/null
    +++ b/jacoco/trunk/coverage/org.jacoco.report/org.jacoco.report/ZipMultiReportOutput.html
    @@ -0,0 +1 @@
    +<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="en"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../../jacoco-resources/report.gif" type="image/gif"/><title>ZipMultiReportOutput</title><script type="text/javascript" src="../../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../../index.html" class="el_report">JaCoCo</a> &gt; <a href="../index.html" class="el_bundle">org.jacoco.report</a> &gt; <a href="index.html" class="el_package">org.jacoco.report</a> &gt; <span class="el_class">ZipMultiReportOutput</span></div><h1>ZipMultiReportOutput</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">0 of 42</td><td class="ctr2">100%</td><td class="bar">0 of 2</td><td class="ctr2">100%</td><td class="ctr1">0</td><td class="ctr2">5</td><td class="ctr1">0</td><td class="ctr2">13</td><td class="ctr1">0</td><td class="ctr2">4</td></tr></tfoot><tbody><tr><td id="a1"><a href="ZipMultiReportOutput.java.html#L51" class="el_method">createFile(String)</a></td><td class="bar" id="b0"><img src="../../jacoco-resources/greenbar.gif" width="120" height="10" title="25" alt="25"/></td><td class="ctr2" id="c0">100%</td><td class="bar" id="d0"><img src="../../jacoco-resources/greenbar.gif" width="120" height="10" title="2" alt="2"/></td><td class="ctr2" id="e0">100%</td><td class="ctr1" id="f0">0</td><td class="ctr2" id="g0">2</td><td class="ctr1" id="h0">0</td><td class="ctr2" id="i0">6</td><td class="ctr1" id="j0">0</td><td class="ctr2" id="k0">1</td></tr><tr><td id="a2"><a href="ZipMultiReportOutput.java.html#L47" class="el_method">ZipMultiReportOutput(OutputStream)</a></td><td class="bar" id="b1"><img src="../../jacoco-resources/greenbar.gif" width="33" height="10" title="7" alt="7"/></td><td class="ctr2" id="c1">100%</td><td class="bar" id="d1"/><td class="ctr2" id="e1">n/a</td><td class="ctr1" id="f1">0</td><td class="ctr2" id="g1">1</td><td class="ctr1" id="h1">0</td><td class="ctr2" id="i2">2</td><td class="ctr1" id="j1">0</td><td class="ctr2" id="k1">1</td></tr><tr><td id="a3"><a href="ZipMultiReportOutput.java.html#L36" class="el_method">ZipMultiReportOutput(ZipOutputStream)</a></td><td class="bar" id="b2"><img src="../../jacoco-resources/greenbar.gif" width="28" height="10" title="6" alt="6"/></td><td class="ctr2" id="c2">100%</td><td class="bar" id="d2"/><td class="ctr2" id="e2">n/a</td><td class="ctr1" id="f2">0</td><td class="ctr2" id="g2">1</td><td class="ctr1" id="h2">0</td><td class="ctr2" id="i1">3</td><td class="ctr1" id="j2">0</td><td class="ctr2" id="k2">1</td></tr><tr><td id="a0"><a href="ZipMultiReportOutput.java.html#L61" class="el_method">close()</a></td><td class="bar" id="b3"><img src="../../jacoco-resources/greenbar.gif" width="19" height="10" title="4" alt="4"/></td><td class="ctr2" id="c3">100%</td><td class="bar" id="d3"/><td class="ctr2" id="e3">n/a</td><td class="ctr1" id="f3">0</td><td class="ctr2" id="g3">1</td><td class="ctr1" id="h3">0</td><td class="ctr2" id="i3">2</td><td class="ctr1" id="j3">0</td><td class="ctr2" id="k3">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.12.202403270442</span>Code Coverage Report for JaCoCo 0.8.12-SNAPSHOT</div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/trunk/coverage/org.jacoco.report/org.jacoco.report/ZipMultiReportOutput.java.html b/jacoco/trunk/coverage/org.jacoco.report/org.jacoco.report/ZipMultiReportOutput.java.html
    new file mode 100644
    index 00000000000..63fce6c96a8
    --- /dev/null
    +++ b/jacoco/trunk/coverage/org.jacoco.report/org.jacoco.report/ZipMultiReportOutput.java.html
    @@ -0,0 +1,110 @@
    +<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="en"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../../jacoco-resources/report.gif" type="image/gif"/><title>ZipMultiReportOutput.java</title><link rel="stylesheet" href="../../jacoco-resources/prettify.css" type="text/css"/><script type="text/javascript" src="../../jacoco-resources/prettify.js"></script></head><body onload="window['PR_TAB_WIDTH']=4;prettyPrint()"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../../index.html" class="el_report">JaCoCo</a> &gt; <a href="../index.html" class="el_bundle">org.jacoco.report</a> &gt; <a href="index.source.html" class="el_package">org.jacoco.report</a> &gt; <span class="el_source">ZipMultiReportOutput.java</span></div><h1>ZipMultiReportOutput.java</h1><pre class="source lang-java linenums">/*******************************************************************************
    + * Copyright (c) 2009, 2024 Mountainminds GmbH &amp; Co. KG and Contributors
    + * This program and the accompanying materials are made available under
    + * the terms of the Eclipse Public License 2.0 which is available at
    + * http://www.eclipse.org/legal/epl-2.0
    + *
    + * SPDX-License-Identifier: EPL-2.0
    + *
    + * Contributors:
    + *    Marc R. Hoffmann - initial API and implementation
    + *
    + *******************************************************************************/
    +package org.jacoco.report;
    +
    +import java.io.IOException;
    +import java.io.OutputStream;
    +import java.util.zip.ZipEntry;
    +import java.util.zip.ZipOutputStream;
    +
    +/**
    + * Implementation of {@link IMultiReportOutput} that writes files into a
    + * {@link ZipOutputStream}.
    + */
    +public class ZipMultiReportOutput implements IMultiReportOutput {
    +
    +	private final ZipOutputStream zip;
    +
    +	private OutputStream currentEntry;
    +
    +	/**
    +	 * Creates a new instance based on the given {@link ZipOutputStream}.
    +	 *
    +	 * @param zip
    +	 *            stream to write file entries to
    +	 */
    +<span class="fc" id="L36">	public ZipMultiReportOutput(final ZipOutputStream zip) {</span>
    +<span class="fc" id="L37">		this.zip = zip;</span>
    +<span class="fc" id="L38">	}</span>
    +
    +	/**
    +	 * Creates a new instance based on the given {@link OutputStream}.
    +	 *
    +	 * @param out
    +	 *            stream to write file entries to
    +	 */
    +	public ZipMultiReportOutput(final OutputStream out) {
    +<span class="fc" id="L47">		this(new ZipOutputStream(out));</span>
    +<span class="fc" id="L48">	}</span>
    +
    +	public OutputStream createFile(final String path) throws IOException {
    +<span class="fc bfc" id="L51" title="All 2 branches covered.">		if (currentEntry != null) {</span>
    +<span class="fc" id="L52">			currentEntry.close();</span>
    +		}
    +<span class="fc" id="L54">		final ZipEntry entry = new ZipEntry(path);</span>
    +<span class="fc" id="L55">		zip.putNextEntry(entry);</span>
    +<span class="fc" id="L56">		currentEntry = new EntryOutput();</span>
    +<span class="fc" id="L57">		return currentEntry;</span>
    +	}
    +
    +	public void close() throws IOException {
    +<span class="fc" id="L61">		zip.close();</span>
    +<span class="fc" id="L62">	}</span>
    +
    +<span class="fc" id="L64">	private final class EntryOutput extends OutputStream {</span>
    +
    +<span class="fc" id="L66">		private boolean closed = false;</span>
    +
    +		@Override
    +		public void write(final byte[] b, final int off, final int len)
    +				throws IOException {
    +<span class="fc" id="L71">			ensureNotClosed();</span>
    +<span class="fc" id="L72">			zip.write(b, off, len);</span>
    +<span class="fc" id="L73">		}</span>
    +
    +		@Override
    +		public void write(final byte[] b) throws IOException {
    +<span class="fc" id="L77">			ensureNotClosed();</span>
    +<span class="fc" id="L78">			zip.write(b);</span>
    +<span class="fc" id="L79">		}</span>
    +
    +		@Override
    +		public void write(final int b) throws IOException {
    +<span class="fc" id="L83">			ensureNotClosed();</span>
    +<span class="fc" id="L84">			zip.write(b);</span>
    +<span class="fc" id="L85">		}</span>
    +
    +		@Override
    +		public void flush() throws IOException {
    +<span class="fc" id="L89">			ensureNotClosed();</span>
    +<span class="fc" id="L90">			zip.flush();</span>
    +<span class="fc" id="L91">		}</span>
    +
    +		@Override
    +		public void close() throws IOException {
    +<span class="fc bfc" id="L95" title="All 2 branches covered.">			if (!closed) {</span>
    +<span class="fc" id="L96">				closed = true;</span>
    +<span class="fc" id="L97">				zip.closeEntry();</span>
    +			}
    +<span class="fc" id="L99">		}</span>
    +
    +		private void ensureNotClosed() throws IOException {
    +<span class="fc bfc" id="L102" title="All 2 branches covered.">			if (closed) {</span>
    +<span class="fc" id="L103">				throw new IOException(&quot;Zip entry already closed.&quot;);</span>
    +			}
    +<span class="fc" id="L105">		}</span>
    +
    +	}
    +
    +}
    +</pre><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.12.202403270442</span>Code Coverage Report for JaCoCo 0.8.12-SNAPSHOT</div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/trunk/coverage/org.jacoco.report/org.jacoco.report/index.html b/jacoco/trunk/coverage/org.jacoco.report/org.jacoco.report/index.html
    new file mode 100644
    index 00000000000..b85995a3901
    --- /dev/null
    +++ b/jacoco/trunk/coverage/org.jacoco.report/org.jacoco.report/index.html
    @@ -0,0 +1 @@
    +<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="en"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../../jacoco-resources/report.gif" type="image/gif"/><title>org.jacoco.report</title><script type="text/javascript" src="../../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb', 'coveragetable'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="index.source.html" class="el_source">Source Files</a><a href="../../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../../index.html" class="el_report">JaCoCo</a> &gt; <a href="../index.html" class="el_bundle">org.jacoco.report</a> &gt; <span class="el_package">org.jacoco.report</span></div><h1>org.jacoco.report</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td><td class="sortable ctr1" id="l" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="m" onclick="toggleSort(this)">Classes</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">0 of 618</td><td class="ctr2">100%</td><td class="bar">0 of 62</td><td class="ctr2">100%</td><td class="ctr1">0</td><td class="ctr2">70</td><td class="ctr1">0</td><td class="ctr2">150</td><td class="ctr1">0</td><td class="ctr2">39</td><td class="ctr1">0</td><td class="ctr2">9</td></tr></tfoot><tbody><tr><td id="a3"><a href="JavaNames.html" class="el_class">JavaNames</a></td><td class="bar" id="b0"><img src="../../jacoco-resources/greenbar.gif" width="120" height="10" title="262" alt="262"/></td><td class="ctr2" id="c0">100%</td><td class="bar" id="d0"><img src="../../jacoco-resources/greenbar.gif" width="120" height="10" title="34" alt="34"/></td><td class="ctr2" id="e0">100%</td><td class="ctr1" id="f0">0</td><td class="ctr2" id="g0">27</td><td class="ctr1" id="h0">0</td><td class="ctr2" id="i0">54</td><td class="ctr1" id="j0">0</td><td class="ctr2" id="k0">10</td><td class="ctr1" id="l0">0</td><td class="ctr2" id="m0">1</td></tr><tr><td id="a8"><a href="ZipMultiReportOutput$EntryOutput.html" class="el_class">ZipMultiReportOutput.EntryOutput</a></td><td class="bar" id="b1"><img src="../../jacoco-resources/greenbar.gif" width="28" height="10" title="62" alt="62"/></td><td class="ctr2" id="c1">100%</td><td class="bar" id="d2"><img src="../../jacoco-resources/greenbar.gif" width="14" height="10" title="4" alt="4"/></td><td class="ctr2" id="e1">100%</td><td class="ctr1" id="f1">0</td><td class="ctr2" id="g1">9</td><td class="ctr1" id="h1">0</td><td class="ctr2" id="i1">21</td><td class="ctr1" id="j1">0</td><td class="ctr2" id="k1">7</td><td class="ctr1" id="l1">0</td><td class="ctr2" id="m1">1</td></tr><tr><td id="a2"><a href="InputStreamSourceFileLocator.html" class="el_class">InputStreamSourceFileLocator</a></td><td class="bar" id="b2"><img src="../../jacoco-resources/greenbar.gif" width="23" height="10" title="52" alt="52"/></td><td class="ctr2" id="c2">100%</td><td class="bar" id="d1"><img src="../../jacoco-resources/greenbar.gif" width="21" height="10" title="6" alt="6"/></td><td class="ctr2" id="e2">100%</td><td class="ctr1" id="f2">0</td><td class="ctr2" id="g2">6</td><td class="ctr1" id="h2">0</td><td class="ctr2" id="i2">13</td><td class="ctr1" id="j2">0</td><td class="ctr2" id="k4">3</td><td class="ctr1" id="l2">0</td><td class="ctr2" id="m2">1</td></tr><tr><td id="a4"><a href="MultiGroupVisitor.html" class="el_class">MultiGroupVisitor</a></td><td class="bar" id="b3"><img src="../../jacoco-resources/greenbar.gif" width="22" height="10" title="50" alt="50"/></td><td class="ctr2" id="c3">100%</td><td class="bar" id="d3"><img src="../../jacoco-resources/greenbar.gif" width="14" height="10" title="4" alt="4"/></td><td class="ctr2" id="e3">100%</td><td class="ctr1" id="f3">0</td><td class="ctr2" id="g4">5</td><td class="ctr1" id="h3">0</td><td class="ctr2" id="i5">10</td><td class="ctr1" id="j3">0</td><td class="ctr2" id="k5">3</td><td class="ctr1" id="l3">0</td><td class="ctr2" id="m3">1</td></tr><tr><td id="a6"><a href="MultiSourceFileLocator.html" class="el_class">MultiSourceFileLocator</a></td><td class="bar" id="b4"><img src="../../jacoco-resources/greenbar.gif" width="19" height="10" title="43" alt="43"/></td><td class="ctr2" id="c4">100%</td><td class="bar" id="d4"><img src="../../jacoco-resources/greenbar.gif" width="14" height="10" title="4" alt="4"/></td><td class="ctr2" id="e4">100%</td><td class="ctr1" id="f4">0</td><td class="ctr2" id="g3">6</td><td class="ctr1" id="h4">0</td><td class="ctr2" id="i3">13</td><td class="ctr1" id="j4">0</td><td class="ctr2" id="k2">4</td><td class="ctr1" id="l4">0</td><td class="ctr2" id="m4">1</td></tr><tr><td id="a1"><a href="FileMultiReportOutput.html" class="el_class">FileMultiReportOutput</a></td><td class="bar" id="b5"><img src="../../jacoco-resources/greenbar.gif" width="19" height="10" title="43" alt="43"/></td><td class="ctr2" id="c5">100%</td><td class="bar" id="d6"><img src="../../jacoco-resources/greenbar.gif" width="7" height="10" title="2" alt="2"/></td><td class="ctr2" id="e5">100%</td><td class="ctr1" id="f5">0</td><td class="ctr2" id="g7">4</td><td class="ctr1" id="h5">0</td><td class="ctr2" id="i6">10</td><td class="ctr1" id="j5">0</td><td class="ctr2" id="k6">3</td><td class="ctr1" id="l5">0</td><td class="ctr2" id="m5">1</td></tr><tr><td id="a7"><a href="ZipMultiReportOutput.html" class="el_class">ZipMultiReportOutput</a></td><td class="bar" id="b6"><img src="../../jacoco-resources/greenbar.gif" width="19" height="10" title="42" alt="42"/></td><td class="ctr2" id="c6">100%</td><td class="bar" id="d7"><img src="../../jacoco-resources/greenbar.gif" width="7" height="10" title="2" alt="2"/></td><td class="ctr2" id="e6">100%</td><td class="ctr1" id="f6">0</td><td class="ctr2" id="g5">5</td><td class="ctr1" id="h6">0</td><td class="ctr2" id="i4">13</td><td class="ctr1" id="j6">0</td><td class="ctr2" id="k3">4</td><td class="ctr1" id="l6">0</td><td class="ctr2" id="m6">1</td></tr><tr><td id="a5"><a href="MultiReportVisitor.html" class="el_class">MultiReportVisitor</a></td><td class="bar" id="b7"><img src="../../jacoco-resources/greenbar.gif" width="17" height="10" title="39" alt="39"/></td><td class="ctr2" id="c7">100%</td><td class="bar" id="d5"><img src="../../jacoco-resources/greenbar.gif" width="14" height="10" title="4" alt="4"/></td><td class="ctr2" id="e7">100%</td><td class="ctr1" id="f7">0</td><td class="ctr2" id="g6">5</td><td class="ctr1" id="h7">0</td><td class="ctr2" id="i7">9</td><td class="ctr1" id="j7">0</td><td class="ctr2" id="k7">3</td><td class="ctr1" id="l7">0</td><td class="ctr2" id="m7">1</td></tr><tr><td id="a0"><a href="DirectorySourceFileLocator.html" class="el_class">DirectorySourceFileLocator</a></td><td class="bar" id="b8"><img src="../../jacoco-resources/greenbar.gif" width="11" height="10" title="25" alt="25"/></td><td class="ctr2" id="c8">100%</td><td class="bar" id="d8"><img src="../../jacoco-resources/greenbar.gif" width="7" height="10" title="2" alt="2"/></td><td class="ctr2" id="e8">100%</td><td class="ctr1" id="f8">0</td><td class="ctr2" id="g8">3</td><td class="ctr1" id="h8">0</td><td class="ctr2" id="i8">7</td><td class="ctr1" id="j8">0</td><td class="ctr2" id="k8">2</td><td class="ctr1" id="l8">0</td><td class="ctr2" id="m8">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.12.202403270442</span>Code Coverage Report for JaCoCo 0.8.12-SNAPSHOT</div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/trunk/coverage/org.jacoco.report/org.jacoco.report/index.source.html b/jacoco/trunk/coverage/org.jacoco.report/org.jacoco.report/index.source.html
    new file mode 100644
    index 00000000000..c56a927c667
    --- /dev/null
    +++ b/jacoco/trunk/coverage/org.jacoco.report/org.jacoco.report/index.source.html
    @@ -0,0 +1 @@
    +<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="en"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../../jacoco-resources/report.gif" type="image/gif"/><title>org.jacoco.report</title><script type="text/javascript" src="../../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb', 'coveragetable'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="index.html" class="el_class">Classes</a><a href="../../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../../index.html" class="el_report">JaCoCo</a> &gt; <a href="../index.html" class="el_bundle">org.jacoco.report</a> &gt; <span class="el_package">org.jacoco.report</span></div><h1>org.jacoco.report</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td><td class="sortable ctr1" id="l" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="m" onclick="toggleSort(this)">Classes</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">0 of 618</td><td class="ctr2">100%</td><td class="bar">0 of 62</td><td class="ctr2">100%</td><td class="ctr1">0</td><td class="ctr2">70</td><td class="ctr1">0</td><td class="ctr2">150</td><td class="ctr1">0</td><td class="ctr2">39</td><td class="ctr1">0</td><td class="ctr2">9</td></tr></tfoot><tbody><tr><td id="a3"><a href="JavaNames.java.html" class="el_source">JavaNames.java</a></td><td class="bar" id="b0"><img src="../../jacoco-resources/greenbar.gif" width="120" height="10" title="262" alt="262"/></td><td class="ctr2" id="c0">100%</td><td class="bar" id="d0"><img src="../../jacoco-resources/greenbar.gif" width="120" height="10" title="34" alt="34"/></td><td class="ctr2" id="e0">100%</td><td class="ctr1" id="f0">0</td><td class="ctr2" id="g0">27</td><td class="ctr1" id="h0">0</td><td class="ctr2" id="i0">54</td><td class="ctr1" id="j0">0</td><td class="ctr2" id="k1">10</td><td class="ctr1" id="l0">0</td><td class="ctr2" id="m2">1</td></tr><tr><td id="a6"><a href="ZipMultiReportOutput.java.html" class="el_source">ZipMultiReportOutput.java</a></td><td class="bar" id="b1"><img src="../../jacoco-resources/greenbar.gif" width="47" height="10" title="104" alt="104"/></td><td class="ctr2" id="c1">100%</td><td class="bar" id="d2"><img src="../../jacoco-resources/greenbar.gif" width="21" height="10" title="6" alt="6"/></td><td class="ctr2" id="e1">100%</td><td class="ctr1" id="f1">0</td><td class="ctr2" id="g1">14</td><td class="ctr1" id="h1">0</td><td class="ctr2" id="i1">34</td><td class="ctr1" id="j1">0</td><td class="ctr2" id="k0">11</td><td class="ctr1" id="l1">0</td><td class="ctr2" id="m0">2</td></tr><tr><td id="a4"><a href="MultiReportVisitor.java.html" class="el_source">MultiReportVisitor.java</a></td><td class="bar" id="b2"><img src="../../jacoco-resources/greenbar.gif" width="40" height="10" title="89" alt="89"/></td><td class="ctr2" id="c2">100%</td><td class="bar" id="d1"><img src="../../jacoco-resources/greenbar.gif" width="28" height="10" title="8" alt="8"/></td><td class="ctr2" id="e2">100%</td><td class="ctr1" id="f2">0</td><td class="ctr2" id="g2">10</td><td class="ctr1" id="h2">0</td><td class="ctr2" id="i2">19</td><td class="ctr1" id="j2">0</td><td class="ctr2" id="k2">6</td><td class="ctr1" id="l2">0</td><td class="ctr2" id="m1">2</td></tr><tr><td id="a2"><a href="InputStreamSourceFileLocator.java.html" class="el_source">InputStreamSourceFileLocator.java</a></td><td class="bar" id="b3"><img src="../../jacoco-resources/greenbar.gif" width="23" height="10" title="52" alt="52"/></td><td class="ctr2" id="c3">100%</td><td class="bar" id="d3"><img src="../../jacoco-resources/greenbar.gif" width="21" height="10" title="6" alt="6"/></td><td class="ctr2" id="e3">100%</td><td class="ctr1" id="f3">0</td><td class="ctr2" id="g3">6</td><td class="ctr1" id="h3">0</td><td class="ctr2" id="i3">13</td><td class="ctr1" id="j3">0</td><td class="ctr2" id="k4">3</td><td class="ctr1" id="l3">0</td><td class="ctr2" id="m3">1</td></tr><tr><td id="a5"><a href="MultiSourceFileLocator.java.html" class="el_source">MultiSourceFileLocator.java</a></td><td class="bar" id="b4"><img src="../../jacoco-resources/greenbar.gif" width="19" height="10" title="43" alt="43"/></td><td class="ctr2" id="c4">100%</td><td class="bar" id="d4"><img src="../../jacoco-resources/greenbar.gif" width="14" height="10" title="4" alt="4"/></td><td class="ctr2" id="e4">100%</td><td class="ctr1" id="f4">0</td><td class="ctr2" id="g4">6</td><td class="ctr1" id="h4">0</td><td class="ctr2" id="i4">13</td><td class="ctr1" id="j4">0</td><td class="ctr2" id="k3">4</td><td class="ctr1" id="l4">0</td><td class="ctr2" id="m4">1</td></tr><tr><td id="a1"><a href="FileMultiReportOutput.java.html" class="el_source">FileMultiReportOutput.java</a></td><td class="bar" id="b5"><img src="../../jacoco-resources/greenbar.gif" width="19" height="10" title="43" alt="43"/></td><td class="ctr2" id="c5">100%</td><td class="bar" id="d5"><img src="../../jacoco-resources/greenbar.gif" width="7" height="10" title="2" alt="2"/></td><td class="ctr2" id="e5">100%</td><td class="ctr1" id="f5">0</td><td class="ctr2" id="g5">4</td><td class="ctr1" id="h5">0</td><td class="ctr2" id="i5">10</td><td class="ctr1" id="j5">0</td><td class="ctr2" id="k5">3</td><td class="ctr1" id="l5">0</td><td class="ctr2" id="m5">1</td></tr><tr><td id="a0"><a href="DirectorySourceFileLocator.java.html" class="el_source">DirectorySourceFileLocator.java</a></td><td class="bar" id="b6"><img src="../../jacoco-resources/greenbar.gif" width="11" height="10" title="25" alt="25"/></td><td class="ctr2" id="c6">100%</td><td class="bar" id="d6"><img src="../../jacoco-resources/greenbar.gif" width="7" height="10" title="2" alt="2"/></td><td class="ctr2" id="e6">100%</td><td class="ctr1" id="f6">0</td><td class="ctr2" id="g6">3</td><td class="ctr1" id="h6">0</td><td class="ctr2" id="i6">7</td><td class="ctr1" id="j6">0</td><td class="ctr2" id="k6">2</td><td class="ctr1" id="l6">0</td><td class="ctr2" id="m6">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.12.202403270442</span>Code Coverage Report for JaCoCo 0.8.12-SNAPSHOT</div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/trunk/coverage/report.dtd b/jacoco/trunk/coverage/report.dtd
    new file mode 100644
    index 00000000000..5415ec9a47e
    --- /dev/null
    +++ b/jacoco/trunk/coverage/report.dtd
    @@ -0,0 +1,85 @@
    +<!--
    +   Copyright (c) 2009, 2024 Mountainminds GmbH & Co. KG and Contributors
    +   This program and the accompanying materials are made available under
    +   the terms of the Eclipse Public License 2.0 which is available at
    +   http://www.eclipse.org/legal/epl-2.0
    +
    +   SPDX-License-Identifier: EPL-2.0
    +
    +   Contributors:
    +      Brock Janiczak - initial API and implementation
    +      Marc R. Hoffmann - generalized report structure, line info, documentation
    +-->
    +
    +<!-- This DTD describes the JaCoCo XML report format. It is identified by the
    +     following identifiers:
    +
    +        PUBID  = "-//JACOCO//DTD Report 1.1//EN"
    +        SYSTEM = "report.dtd"
    +-->
    +
    +<!-- report root node -->
    +<!ELEMENT report (sessioninfo*, (group* | package*), counter*)>
    +  <!ATTLIST report name CDATA #REQUIRED>
    +
    +<!-- information about a session which contributed execution data -->
    +<!ELEMENT sessioninfo EMPTY>
    +  <!-- session id -->
    +  <!ATTLIST sessioninfo id CDATA #REQUIRED>
    +  <!-- start time stamp -->
    +  <!ATTLIST sessioninfo start CDATA #REQUIRED>
    +  <!-- dump time stamp -->
    +  <!ATTLIST sessioninfo dump CDATA #REQUIRED>
    +
    +<!-- representation of a group -->
    +<!ELEMENT group ((group* | package*), counter*)>
    +  <!-- group name -->
    +  <!ATTLIST group name CDATA #REQUIRED>
    +
    +<!-- representation of a package -->
    +<!ELEMENT package ((class | sourcefile)*, counter*)>
    +  <!-- package name in VM notation -->
    +  <!ATTLIST package name CDATA #REQUIRED>
    +
    +<!-- representation of a class -->
    +<!ELEMENT class (method*, counter*)>
    +  <!-- fully qualified VM name -->
    +  <!ATTLIST class name CDATA #REQUIRED>
    +  <!-- name of the corresponding source file -->
    +  <!ATTLIST class sourcefilename CDATA #IMPLIED>
    +
    +<!-- representation of a method -->
    +<!ELEMENT method (counter*)>
    +  <!-- method name -->
    +  <!ATTLIST method name CDATA #REQUIRED>
    +  <!-- method descriptor -->
    +  <!ATTLIST method desc CDATA #REQUIRED>
    +  <!-- first source line number of this method -->
    +  <!ATTLIST method line CDATA #IMPLIED>
    +
    +<!-- representation of a source file -->
    +<!ELEMENT sourcefile (line*, counter*)>
    +  <!-- local source file name -->
    +  <!ATTLIST sourcefile name CDATA #REQUIRED>
    +
    +<!-- representation of a source line -->
    +<!ELEMENT line EMPTY>
    +  <!-- line number -->
    +  <!ATTLIST line nr CDATA #REQUIRED>
    +  <!-- number of missed instructions -->
    +  <!ATTLIST line mi CDATA #IMPLIED>
    +  <!-- number of covered instructions -->
    +  <!ATTLIST line ci CDATA #IMPLIED>
    +  <!-- number of missed branches -->
    +  <!ATTLIST line mb CDATA #IMPLIED>
    +  <!-- number of covered branches -->
    +  <!ATTLIST line cb CDATA #IMPLIED>
    +
    +<!-- coverage data counter for different metrics -->
    +<!ELEMENT counter EMPTY>
    +  <!-- metric type -->
    +  <!ATTLIST counter type (INSTRUCTION|BRANCH|LINE|COMPLEXITY|METHOD|CLASS) #REQUIRED>
    +  <!-- number of missed items -->
    +  <!ATTLIST counter missed CDATA #REQUIRED>
    +  <!-- number of covered items -->
    +  <!ATTLIST counter covered CDATA #REQUIRED>
    diff --git a/jacoco/trunk/doc/agent.html b/jacoco/trunk/doc/agent.html
    new file mode 100644
    index 00000000000..254aa8a32c7
    --- /dev/null
    +++ b/jacoco/trunk/doc/agent.html
    @@ -0,0 +1,231 @@
    +<?xml version="1.0" encoding="UTF-8" ?>
    +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
    +<html xmlns="http://www.w3.org/1999/xhtml" lang="en">
    +<head>
    +  <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
    +  <link rel="stylesheet" href="resources/doc.css" charset="UTF-8" type="text/css" />
    +  <link rel="shortcut icon" href="resources/report.gif" type="image/gif" />
    +  <title>JaCoCo - Java Agent</title>
    +</head>
    +<body>
    +
    +<div class="breadcrumb">
    +  <a href="../index.html" class="el_report">JaCoCo</a> &gt;
    +  <a href="index.html" class="el_group">Documentation</a> &gt;
    +  <span class="el_source">Java Agent</span>
    +</div>
    +<div id="content">
    +
    +<h1>Java Agent</h1>
    +
    +<p>
    +  JaCoCo uses class file instrumentation to record execution coverage data.
    +  Class files are instrumented on-the-fly using a so called Java agent. This
    +  mechanism allows in-memory pre-processing of all class files during class
    +  loading independent of the application framework.
    +</p>
    +
    +<p class="hint">
    +  If you use the <a href="ant.html">JaCoCo Ant tasks</a> or
    +  <a href="maven.html">JaCoCo Maven plug-in</a> you don't have to care about the
    +  agent and its options directly. This is transparently handled by them.
    +</p>
    +
    +<p>
    +  The JaCoCo agent collects execution information and dumps it on request or
    +  when the JVM exits. There are three different modes for execution data output:
    +</p>
    +
    +<ul>
    +  <li>File System: At JVM termination execution data is written to a local
    +      file.</li>
    +  <li>TCP Socket Server: External tools can connect to the JVM and retrieve
    +      execution data over the socket connection. Optional execution data reset
    +      and execution data dump on VM exit is possible.</li>
    +  <li>TCP Socket Client: At startup the JaCoCo agent connects to a given TCP
    +      endpoint. Execution data is written to the socket connection on request.
    +      Optional execution data reset and execution data dump on VM exit is
    +      possible.</li>
    +</ul>
    +
    +<p>
    +  The agent <code>jacocoagent.jar</code> is part of the JaCoCo distribution and
    +  includes all required dependencies. A Java agent can be activated with the
    +  following JVM option:
    +</p>
    +
    +<pre>
    +  -javaagent:<i>[yourpath/]</i>jacocoagent.jar=<i>[option1]</i>=<i>[value1]</i>,<i>[option2]</i>=<i>[value2]</i>
    +</pre>
    +
    +<p>
    +  The JaCoCo agent accepts the following options:
    +</p>
    +
    +<table class="coverage">
    +  <thead>
    +    <tr>
    +      <td>Option</td>
    +      <td>Description</td>
    +      <td>Default</td>
    +    </tr>
    +  </thead>
    +  <tbody>
    +    <tr>
    +      <td><code>destfile</code></td>
    +      <td>Path to the output file for execution data.</td>
    +      <td><code>jacoco.exec</code></td>
    +    </tr>
    +    <tr>
    +      <td><code>append</code></td>
    +      <td>If set to <code>true</code> and the execution data file already
    +          exists, coverage data is appended to the existing file. If set to
    +          <code>false</code>, an existing execution data file will be replaced.
    +      </td>
    +      <td><code>true</code></td>
    +    </tr>
    +    <tr>
    +      <td><code>includes</code></td>
    +      <td>A list of class names that should be included in execution analysis.
    +          The list entries are separated by a colon (<code>:</code>) and
    +          may use wildcard characters (<code>*</code> and <code>?</code>).
    +          Except for performance optimization or technical corner cases this
    +          option is normally not required.
    +      </td>
    +      <td><code>*</code> (all classes)</td>
    +    </tr>
    +    <tr>
    +      <td><code>excludes</code></td>
    +      <td>A list of class names that should be excluded from execution analysis.
    +          The list entries are separated by a colon (<code>:</code>) and
    +          may use wildcard characters (<code>*</code> and <code>?</code>).
    +          Except for performance optimization or technical corner cases this
    +          option is normally not required. If you want to exclude classes from
    +          the report please configure the respective report generation tool
    +          accordingly.
    +      </td>
    +      <td><i>empty</i> (no excluded classes)</td>
    +    </tr>
    +    <tr>
    +      <td><code>exclclassloader</code></td>
    +      <td>A list of class loader names that should be excluded from execution
    +          analysis. The list entries are separated by a colon
    +          (<code>:</code>) and may use wildcard characters (<code>*</code> and
    +          <code>?</code>). This option might be required in case of special
    +          frameworks that conflict with JaCoCo code instrumentation, in
    +          particular class loaders that do not have access to the Java runtime
    +          classes.
    +      </td>
    +      <td><code>sun.reflect.DelegatingClassLoader</code></td>
    +    </tr>
    +    <tr>
    +      <td><code>inclbootstrapclasses</code></td>
    +      <td>Specifies whether also classes from the bootstrap classloader should
    +          be instrumented. Use this feature with caution, it needs heavy
    +          includes/excludes tuning.
    +      </td>
    +      <td><code>false</code></td>
    +    </tr>
    +    <tr>
    +      <td><code>inclnolocationclasses</code></td>
    +      <td>Specifies whether also classes without a source location should be
    +          instrumented. Normally such classes are generated at runtime e.g. by
    +          mocking frameworks and are therefore excluded by default.
    +      </td>
    +      <td><code>false</code></td>
    +    </tr>
    +    <tr>
    +      <td><code>sessionid</code></td>
    +      <td>A session identifier that is written with the execution data. Without
    +          this parameter a random identifier is created by the agent.
    +      </td>
    +      <td><i>auto-generated</i></td>
    +    </tr>
    +    <tr>
    +      <td><code>dumponexit</code></td>
    +      <td>If set to <code>true</code> coverage data will be written on VM
    +          shutdown. The dump can only be written if either <code>file</code> is
    +          specified or the output is <code>tcpserver</code>/<code>tcpclient</code>
    +          and a connection is open at the time when the VM terminates.
    +      </td>
    +      <td><code>true</code></td>
    +    </tr>
    +    <tr>
    +      <td><code>output</code></td>
    +      <td>Output method to use for writing coverage data. Valid options are:
    +        <ul>
    +          <li><code>file</code>: At VM termination execution data is written to
    +              the file specified in the <code>destfile</code> attribute.</li>
    +          <li><code>tcpserver</code>: The agent listens for incoming connections
    +              on the TCP port specified by the <code>address</code> and
    +              <code>port</code> attribute. Execution data is written to this
    +              TCP connection.</li>
    +          <li><code>tcpclient</code>: At startup the agent connects to the TCP
    +              port specified by the <code>address</code> and <code>port</code>
    +              attribute. Execution data is written to this TCP connection.</li>
    +          <li><code>none</code>: Do not produce any output.</li>
    +        </ul>
    +        Please see the security considerations below.
    +      </td>
    +      <td><code>file</code></td>
    +    </tr>
    +    <tr>
    +      <td><code>address</code></td>
    +      <td>IP address or hostname to bind to when the output method is
    +          <code>tcpserver</code> or connect to when the output method is
    +          <code>tcpclient</code>. In <code>tcpserver</code> mode the value
    +          "<code>*</code>" causes the agent to accept connections on any local
    +          address.
    +      </td>
    +      <td><i>loopback interface</i></td>
    +    </tr>
    +    <tr>
    +      <td><code>port</code></td>
    +      <td>Port to bind to when the output method is <code>tcpserver</code> or
    +          connect to when the output method is <code>tcpclient</code>. In
    +          <code>tcpserver</code> mode the port must be available, which means
    +          that if multiple JaCoCo agents should run on the same machine,
    +          different ports have to be specified.
    +      </td>
    +      <td><code>6300</code></td>
    +    </tr>
    +    <tr>
    +      <td><code>classdumpdir</code></td>
    +      <td>Location relative to the working directory where all class files seen
    +          by the agent are dumped to. This can be useful for debugging purposes
    +          or in case of dynamically created classes for example when scripting
    +          engines are used.
    +      </td>
    +      <td><i>no dumps</i></td>
    +    </tr>
    +    <tr>
    +      <td><code>jmx</code></td>
    +      <td>If set to <code>true</code> the agent exposes
    +          <a href="./api/org/jacoco/agent/rt/IAgent.html">functionality</a> via
    +          JMX under the name <code>org.jacoco:type=Runtime</code>. Please see
    +          the security considerations below.
    +      </td>
    +      <td><code>false</code></td>
    +    </tr>
    +  </tbody>
    +</table>
    +
    +<h2>Security Consideration for Remote Agent Control</h2>
    +
    +<p>
    +  The ports and connections opened in <code>tcpserver</code> and
    +  <code>tcpclient</code> mode and the JMX interface do not provide any
    +  authentication mechanism. If you run JaCoCo on production systems make sure
    +  that no untrusted sources have access to the TCP server port, or JaCoCo TCP
    +  clients only connect to trusted targets. Otherwise internal information of the
    +  application might be revealed or DOS attacks are possible.
    +</p>
    +
    +</div>
    +<div class="footer">
    +  <span class="right"><a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.12.202403270442</span>
    +  <a href="license.html">Copyright</a> &copy; 2009, 2024 Mountainminds GmbH &amp; Co. KG and Contributors
    +</div>
    +
    +</body>
    +</html>
    diff --git a/jacoco/trunk/doc/ant.html b/jacoco/trunk/doc/ant.html
    new file mode 100644
    index 00000000000..4744ff073ab
    --- /dev/null
    +++ b/jacoco/trunk/doc/ant.html
    @@ -0,0 +1,936 @@
    +<?xml version="1.0" encoding="UTF-8" ?>
    +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
    +<html xmlns="http://www.w3.org/1999/xhtml" lang="en">
    +<head>
    +  <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
    +  <link rel="stylesheet" href="resources/doc.css" charset="UTF-8" type="text/css" />
    +  <link rel="stylesheet" href="../coverage/jacoco-resources/prettify.css" charset="UTF-8" type="text/css" />
    +  <link rel="shortcut icon" href="resources/report.gif" type="image/gif" />
    +  <script type="text/javascript" src="../coverage/jacoco-resources/prettify.js"></script>
    +  <title>JaCoCo - Ant Tasks</title>
    +</head>
    +<body onload="prettyPrint()">
    +
    +<div class="breadcrumb">
    +  <a href="../index.html" class="el_report">JaCoCo</a> &gt;
    +  <a href="index.html" class="el_group">Documentation</a> &gt;
    +  <span class="el_source">Ant Tasks</span>
    +</div>
    +<div id="content">
    +
    +<h1>Ant Tasks</h1>
    +
    +<p>
    +  JaCoCo comes with Ant tasks to launch Java programs with execution recording
    +  and for creating coverage reports from the recorded data. Execution data can
    +  be collected and managed with the tasks
    +  <a href="#coverage"><code>coverage</code></a>,
    +  <a href="#agent"><code>agent</code></a>,
    +  <a href="#dump"><code>dump</code></a> and
    +  <a href="#merge"><code>merge</code></a>. Reports in different formats are
    +  created with the <a href="#report"><code>report</code></a> task. For
    +  <a href="offline.html">offline instrumentation</a> the task
    +  <a href="#instrument"><code>instrument</code></a> can be used to prepare class
    +  files.
    +</p>
    +
    +<p class="hint">
    +  If you want to have line number information included in the coverage reports
    +  or you want source code highlighting the class files of the test target must
    +  be compiled with debug information.
    +</p>
    +
    +<h2>Example</h2>
    +
    +<p>
    +  The JaCoCo distribution contains a simple example how code coverage can be
    +  added to a Ant based build. The
    +  <a href="examples/build/build.xml">build script</a> compiles Java sources,
    +  runs an simple Java program and creates a coverage report. The complete
    +  example is located in the <code>./doc/examples/build</code> folder of the
    +  distribution.
    +</p>
    +
    +
    +<h2>Prerequisites</h2>
    +
    +<p>
    +  The JaCoCo Ant tasks require
    +</p>
    +
    +<ul>
    +  <li>Ant 1.7.0 or higher and</li>
    +  <li>Java 1.5 or higher (for both, the Ant runner and the test executor).</li>
    +</ul>
    +
    +
    +<p>All tasks are defined in <code>jacocoant.jar</code> (which is part of the
    +  distribution) and can be included in your Ant scripts with the usual
    +  <code>taskdef</code> declaration:
    +</p>
    +
    +<pre class="source lang-xml linenums">
    +&lt;project name="Example" xmlns:jacoco="antlib:org.jacoco.ant"&gt;
    +
    +    &lt;taskdef uri="antlib:org.jacoco.ant" resource="org/jacoco/ant/antlib.xml"&gt;
    +        &lt;classpath path="<i>path_to_jacoco</i>/lib/jacocoant.jar"/&gt;
    +    &lt;/taskdef&gt;
    +
    +    ...
    +
    +&lt;/project&gt;
    +</pre>
    +
    +<p>
    +  Alternatively you might also place the <code>jacocoant.jar</code> in your
    +  Ant <code><i>ANT_HOME</i>/lib</code> folder. If you use the name space URI
    +  <code>antlib:org.jacoco.ant</code> for JaCoCo tasks Ant will find them
    +  automatically without the <code>taskdef</code> declaration above.
    +</p>
    +
    +<p class="hint">
    +  Declaring a XML namespace for JaCoCo tasks is optional but always recommended
    +  if you mix tasks from different libraries. All subsequent examples use the
    +  <code>jacoco</code> prefix declared above. If you don't declare a separate
    +  namespace the <code>jacoco</code> prefix must be removed from the following
    +  examples.
    +</p>
    +
    +<h2><a name="coverage">Task <code>coverage</code></a></h2>
    +
    +<p>
    +  The standard Ant tasks to launch Java programs are <code>java</code>, <code>junit</code> and
    +  <code>testng</code>. To add code coverage recording to these tasks they can
    +  simply be wrapped with the <code>coverage</code> task as shown in the
    +  following examples:
    +</p>
    +
    +<pre class="source lang-xml linenums">
    +&lt;jacoco:coverage>
    +    &lt;java classname="org.jacoco.examples.HelloJaCoCo" fork="true"&gt;
    +        &lt;classpath&gt;
    +            &lt;pathelement location="./bin"/&gt;
    +        &lt;/classpath&gt;
    +    &lt;/java&gt;
    +&lt;/jacoco:coverage&gt;
    +
    +
    +&lt;jacoco:coverage>
    +    &lt;junit fork="true" forkmode="once"&gt;
    +        &lt;test name="org.jacoco.examples.HelloJaCoCoTest"/&gt;
    +        &lt;classpath&gt;
    +            &lt;pathelement location="./bin"/&gt;
    +        &lt;/classpath&gt;
    +    &lt;/junit&gt;
    +&lt;/jacoco:coverage&gt;
    +</pre>
    +
    +<p>
    +  Resulting coverage information is collected during execution and written
    +  to a file when the process terminates. Note the <code>fork</code> attribute
    +  above in the wrapped <code>java</code> task.
    +</p>
    +
    +<p class="hint">
    +  The nested task always has to declare <code>fork="true"</code>, otherwise the
    +  <code>coverage</code> task can't record coverage information and will fail.
    +  In addition the <code>junit</code> task should declare
    +  <code>forkmode="once"</code> to avoid starting a new JVM for every single test
    +  case and decreasing execution performance dramatically (unless this is
    +  required by the nature of the test cases). Note that
    +  <code>forkmode="perTest"</code> or <code>forkmode="perBatch"</code> should not
    +  be combined with <code>append="false"</code> as the execution data file is
    +  overwritten with the execution of every test.
    +</p>
    +
    +<p>
    +  The coverage task must wrap exactly one task. While it typically works without
    +  any configuration, the behavior can be adjusted with some optional attributes:
    +</p>
    +
    +<table class="coverage">
    +  <thead>
    +    <tr>
    +      <td>Attribute</td>
    +      <td>Description</td>
    +      <td>Default</td>
    +    </tr>
    +  </thead>
    +  <tbody>
    +    <tr>
    +      <td><code>enabled</code></td>
    +      <td>If set to <code>true</code> coverage data will be collected for the contained task.</td>
    +      <td><code>true</code></td>
    +    </tr>
    +    <tr>
    +      <td><code>destfile</code></td>
    +      <td>Path to the output file for execution data.</td>
    +      <td><code>jacoco.exec</code></td>
    +    </tr>
    +    <tr>
    +      <td><code>append</code></td>
    +      <td>If set to <code>true</code> and the execution data file already
    +          exists, coverage data is appended to the existing file. If set to
    +          <code>false</code>, an existing execution data file will be replaced.
    +      </td>
    +      <td><code>true</code></td>
    +    </tr>
    +    <tr>
    +      <td><code>includes</code></td>
    +      <td>A list of class names that should be included in execution analysis.
    +          The list entries are separated by a colon (<code>:</code>) and
    +          may use wildcard characters (<code>*</code> and <code>?</code>).
    +          Except for performance optimization or technical corner cases this
    +          option is normally not required.
    +      </td>
    +      <td><code>*</code> (all classes)</td>
    +    </tr>
    +    <tr>
    +      <td><code>excludes</code></td>
    +      <td>A list of class names that should be excluded from execution analysis.
    +          The list entries are separated by a colon (<code>:</code>) and
    +          may use wildcard characters (<code>*</code> and <code>?</code>).
    +          Except for performance optimization or technical corner cases this
    +          option is normally not required. If you want to exclude classes from
    +          the report please configure the <code>report</code> task accordingly.
    +      </td>
    +      <td><i>empty</i> (no excluded classes)</td>
    +    </tr>
    +    <tr>
    +      <td><code>exclclassloader</code></td>
    +      <td>A list of class loader names, that should be excluded from execution
    +          analysis. The list entries are separated by a colon
    +          (<code>:</code>) and may use wildcard characters (<code>*</code> and
    +          <code>?</code>). This option might be required in case of special
    +          frameworks that conflict with JaCoCo code instrumentation, in
    +          particular class loaders that do not have access to the Java runtime
    +          classes.
    +      </td>
    +      <td><code>sun.reflect.DelegatingClassLoader</code></td>
    +    </tr>
    +    <tr>
    +      <td><code>inclbootstrapclasses</code></td>
    +      <td>Specifies whether also classes from the bootstrap classloader should
    +          be instrumented. Use this feature with caution, it needs heavy
    +          includes/excludes tuning.
    +      </td>
    +      <td><code>false</code></td>
    +    </tr>
    +    <tr>
    +      <td><code>inclnolocationclasses</code></td>
    +      <td>Specifies whether also classes without a source location should be
    +          instrumented. Normally such classes are generated at runtime e.g. by
    +          mocking frameworks and are therefore excluded by default.
    +      </td>
    +      <td><code>false</code></td>
    +    </tr>
    +    <tr>
    +      <td><code>sessionid</code></td>
    +      <td>A session identifier that is written with the execution data. Without
    +          this parameter a random identifier is created by the agent.
    +      </td>
    +      <td><i>auto-generated</i></td>
    +    </tr>
    +    <tr>
    +      <td><code>dumponexit</code></td>
    +      <td>If set to <code>true</code> coverage data will be written on VM
    +          shutdown.
    +      </td>
    +      <td><code>true</code></td>
    +    </tr>
    +    <tr>
    +      <td><code>output</code></td>
    +      <td>Output method to use for writing coverage data. Valid options are:
    +        <ul>
    +          <li><code>file</code>: At VM termination execution data is written to
    +              the file specified in the <code>destfile</code> attribute.</li>
    +          <li><code>tcpserver</code>: The agent listens for incoming connections
    +              on the TCP port specified by the <code>address</code> and
    +              <code>port</code> attribute. Execution data is written to this
    +              TCP connection.</li>
    +          <li><code>tcpclient</code>: At startup the agent connects to the TCP
    +              port specified by the <code>address</code> and <code>port</code>
    +              attribute. Execution data is written to this TCP connection.</li>
    +          <li><code>none</code>: Do not produce any output.</li>
    +        </ul>
    +      </td>
    +      <td><code>file</code></td>
    +    </tr>
    +    <tr>
    +      <td><code>address</code></td>
    +      <td>IP address or hostname to bind to when the output method is
    +          <code>tcpserver</code> or connect to when the output method is
    +          <code>tcpclient</code>.  In <code>tcpserver</code> mode the value
    +          "<code>*</code>" causes the agent to accept connections on any local
    +          address.
    +      </td>
    +      <td><i>loopback interface</i></td>
    +    </tr>
    +    <tr>
    +      <td><code>port</code></td>
    +      <td>Port to bind to when the output method is <code>tcpserver</code> or
    +          connect to when the output method is <code>tcpclient</code>. In
    +          <code>tcpserver</code> mode the port must be available, which means
    +          that if multiple JaCoCo agents should run on the same machine,
    +          different ports have to be specified.
    +      </td>
    +      <td><code>6300</code></td>
    +    </tr>
    +    <tr>
    +      <td><code>classdumpdir</code></td>
    +      <td>Location relative to the working directory where all class files seen
    +          by the agent are dumped to. This can be useful for debugging purposes
    +          or in case of dynamically created classes for example when scripting
    +          engines are used.
    +      </td>
    +      <td><i>no dumps</i></td>
    +    </tr>
    +    <tr>
    +      <td><code>jmx</code></td>
    +      <td>If set to <code>true</code> the agent exposes
    +          <a href="./api/org/jacoco/agent/rt/IAgent.html">functionality</a> via
    +          JMX under the name <code>org.jacoco:type=Runtime</code>.
    +      </td>
    +      <td><code>false</code></td>
    +    </tr>
    +  </tbody>
    +</table>
    +
    +
    +<h2><a name="agent">Task <code>agent</code></a></h2>
    +
    +<p>
    +  If the <code>coverage</code> task is not suitable for your launch target, you
    +  might alternatively use the <code>agent</code> task to create the
    +  <a href="agent.html">Java agent</a> parameter. The following example defines a
    +  Ant property with the name <code>agentvmparam</code> that can be directly used
    +  as a Java VM parameter:
    +</p>
    +
    +<pre class="source lang-xml linenums">
    +&lt;jacoco:agent property="agentvmparam"/&gt;
    +</pre>
    +
    +<p>
    +  This task has the same attributes as the <code>coverage</code> task plus an
    +  additional property to specify the target property name:
    +</p>
    +
    +<table class="coverage">
    +  <thead>
    +    <tr>
    +      <td>Attribute</td>
    +      <td>Description</td>
    +      <td>Default</td>
    +    </tr>
    +  </thead>
    +  <tbody>
    +    <tr>
    +      <td><code>enabled</code></td>
    +      <td>When this variable is set to <code>false</code> the value of <code>property</code> will be set to an empty string, effectively
    +          disabling coverage instrumentation for any tasks that used the value.</td>
    +      <td><code>true</code></td>
    +    </tr>
    +    <tr>
    +      <td><code>property</code></td>
    +      <td>Name of the Ant property to set.</td>
    +      <td><i>none (required)</i></td>
    +    </tr>
    +    <tr>
    +      <td colspan="3"><i>All attributes of the <code>coverage</code> task.</i></td>
    +    </tr>
    +  </tbody>
    +</table>
    +
    +
    +<h2><a name="dump">Task <code>dump</code></a></h2>
    +
    +<p>
    +  This task allows to remotely collect execution data from another JVM without
    +  stopping it. For example:
    +</p>
    +
    +<pre class="source lang-xml linenums">
    +&lt;jacoco:dump address="server.example.com" reset="true" destfile="remote.exec"/&gt;
    +</pre>
    +
    +<p>
    +  Remote dumps are usefull for long running Java processes like application
    +  servers.
    +</p>
    +
    +<p class="hint">
    +  The target JVM needs to have a <a href="agent.html">JaCoCo agent</a>
    +  configured with <code>output</code> mode <code>tcpserver</code>. See
    +  <a href="#coverage"><code>coverage</code></a> and
    +  <a href="#agent"><code>agent</code></a> tasks above.
    +</p>
    +
    +<p>
    +  The <code>dump</code> task has the following attributes:
    +</p>
    +
    +<table class="coverage">
    +  <thead>
    +    <tr>
    +      <td>Attribute</td>
    +      <td>Description</td>
    +      <td>Default</td>
    +    </tr>
    +  </thead>
    +  <tbody>
    +    <tr>
    +      <td><code>address</code></td>
    +      <td>Target IP address or DNS name.</td>
    +      <td><code>localhost</code></td>
    +    </tr>
    +    <tr>
    +      <td><code>port</code></td>
    +      <td>Target TCP port.</td>
    +      <td><code>6300</code></td>
    +    </tr>
    +    <tr>
    +      <td><code>retryCount</code></td>
    +      <td>Number of retries which the goal will attempt to establish a
    +          connection. This can be used to wait until the target JVM is
    +          successfully launched.</td>
    +      <td><code>10</code></td>
    +    </tr>
    +    <tr>
    +      <td><code>dump</code></td>
    +      <td>Flag whether execution data should be dumped.</td>
    +      <td><code>true</code></td>
    +    </tr>
    +    <tr>
    +      <td><code>reset</code></td>
    +      <td>Flag whether execution data should be reset in the target agent after
    +          the dump.</td>
    +      <td><code>false</code></td>
    +    </tr>
    +    <tr>
    +      <td><code>destfile</code></td>
    +      <td>File location to write the collected execution data to.</td>
    +      <td><i>none (required if dump=true)</i></td>
    +    </tr>
    +    <tr>
    +      <td><code>append</code></td>
    +      <td>If set to <code>true</code> and the execution data file already
    +          exists, coverage data is appended to the existing file. If set to
    +          <code>false</code>, an existing execution data file will be replaced.
    +      </td>
    +      <td><code>true</code></td>
    +    </tr>
    +  </tbody>
    +</table>
    +
    +
    +<h2><a name="merge">Task <code>merge</code></a></h2>
    +
    +<p>
    +  This task can be used to merge the execution data from multiple test runs
    +  into a single data store.
    +</p>
    +
    +<pre class="source lang-xml linenums">
    +&lt;jacoco:merge destfile="merged.exec"&gt;
    +    &lt;fileset dir="executionData" includes="*.exec"/&gt;
    +&lt;/jacoco:merge&gt;
    +</pre>
    +
    +<p>
    +  The task definition can contain any number of resource collection types and
    +  has the following mandatory attribute:
    +</p>
    +
    +<table class="coverage">
    +  <thead>
    +    <tr>
    +      <td>Attribute</td>
    +      <td>Description</td>
    +      <td>Default</td>
    +    </tr>
    +  </thead>
    +  <tbody>
    +    <tr>
    +      <td><code>destfile</code></td>
    +      <td>File location to write the merged execution data to.</td>
    +      <td><i>none (required)</i></td>
    +    </tr>
    +  </tbody>
    +</table>
    +
    +
    +<h2><a name="report">Task <code>report</code></a></h2>
    +
    +<p>
    +  Finally different reports can be created with the <code>report</code> task.
    +  A report task declaration consists of different sections, two specify the
    +  input data, additional ones specify the output formats:
    +</p>
    +
    +<pre class="source lang-xml linenums">
    +&lt;jacoco:report&gt;
    +
    +    &lt;executiondata&gt;
    +        &lt;file file="jacoco.exec"/&gt;
    +    &lt;/executiondata&gt;
    +
    +    &lt;structure name="Example Project"&gt;
    +        &lt;classfiles&gt;
    +            &lt;fileset dir="classes"/&gt;
    +        &lt;/classfiles&gt;
    +        &lt;sourcefiles encoding="UTF-8"&gt;
    +            &lt;fileset dir="src"/&gt;
    +        &lt;/sourcefiles&gt;
    +    &lt;/structure&gt;
    +
    +    &lt;html destdir="report"/&gt;
    +
    +&lt;/jacoco:report&gt;
    +</pre>
    +
    +<p>
    +  As you can see from the example above the <code>report</code> task is based
    +  on several nested elements:
    +</p>
    +
    +<h3>Element <code>executiondata</code></h3>
    +
    +<p>
    +  Within this element Ant resources and resource collections can be specified,
    +  that represent JaCoCo execution data files. If more than one execution data
    +  file is specified, execution data is combined. A particular piece of code is
    +  considered executed when it is marked as such in any of the input files.
    +</p>
    +
    +<h3>Element <code>structure</code></h3>
    +
    +<p>
    +  This element defines the report structure. It might contain the following
    +  nested elements:
    +</p>
    +
    +<ul>
    +  <li><code>classfiles</code>: Container element for Ant resources and resource
    +    collections that can specify Java class files, archive files (jar, war, ear
    +    etc. or Pack200) or folders containing class files. Archives and folders are
    +    searched recursively for class files.</li>
    +  <li><code>sourcefiles</code>: Optional container element for Ant resources and
    +    resource collections that specify corresponding source files. If source
    +    files are specified, some report formats include highlighted source code.
    +    Source files can be specified as individual files or as source directories.</li>
    +</ul>
    +
    +<p>
    +  The <code>sourcefiles</code> element has these optional attributes:
    +</p>
    +
    +<table class="coverage">
    +  <thead>
    +    <tr>
    +      <td>Attribute</td>
    +      <td>Description</td>
    +      <td>Default</td>
    +    </tr>
    +  </thead>
    +  <tbody>
    +    <tr>
    +      <td><code>encoding</code></td>
    +      <td>Character encoding of the source files.</td>
    +      <td>Platform default encoding</td>
    +    </tr>
    +    <tr>
    +      <td><code>tabwidth</code></td>
    +      <td>Number of whitespace characters that represent a tab character.</td>
    +      <td>4 characters</td>
    +    </tr>
    +  </tbody>
    +</table>
    +
    +<p class="hint">
    +  <b>Important:</b> Source file resources must always be specified relative to
    +  the respective source folder. If directory resources are given, they must
    +  directly point to source folders. Otherwise source lookup will not succeed.
    +</p>
    +
    +<p>
    +  Note that the <code>classfiles</code> and <code>sourcefiles</code> elements
    +  accept any
    +  <a href="http://ant.apache.org/manual/Types/resources.html#collection">Ant
    +  resource collection</a>. Therefore also filtering the class file set is
    +  possible and allows to narrow the scope of the report, for example:
    +</p>
    +
    +<pre class="source lang-xml linenums">
    +&lt;classfiles&gt;
    +    &lt;fileset dir="classes"&gt;
    +        &lt;include name="org/jacoco/examples/important/**/*.class"/&gt;
    +    &lt;/fileset&gt;
    +&lt;/classfiles&gt;
    +</pre>
    +
    +<p class="hint">
    +  <b>Performance Warning:</b> Although it is technically possible and sometimes
    +  convenient to use Ant's <code>zipfileset</code> to specify class or source
    +  files, this resource type has poor performance characteristics and comes with
    +  an huge memory overhead especially for large scale projects.
    +</p>
    +
    +<p>
    +  The structure can be refined with a hierarchy of <code>group</code> elements.
    +  This way the coverage report can reflect different modules of a software
    +  project. For each group element the corresponding class and source files can
    +  be specified separately. For example:
    +</p>
    +
    +<pre class="source lang-xml linenums">
    +&lt;structure name="Example Project"&gt;
    +    &lt;group name="Server"&gt;
    +        &lt;classfiles&gt;
    +            &lt;fileset dir="${workspace.dir}/org.jacoco.example.server/classes"/&gt;
    +        &lt;/classfiles&gt;
    +        &lt;sourcefiles&gt;
    +            &lt;fileset dir="${workspace.dir}/org.jacoco.example.server/src"/&gt;
    +        &lt;/sourcefiles&gt;
    +    &lt;/group&gt;
    +    &lt;group name="Client"&gt;
    +        &lt;classfiles&gt;
    +            &lt;fileset dir="${workspace.dir}/org.jacoco.example.client/classes"/&gt;
    +        &lt;/classfiles&gt;
    +        &lt;sourcefiles&gt;
    +            &lt;fileset dir="${workspace.dir}/org.jacoco.example.client/src"/&gt;
    +        &lt;/sourcefiles&gt;
    +    &lt;/group&gt;
    +
    +    ...
    +
    +&lt;/structure&gt;
    +</pre>
    +
    +<p>
    +  Both <code>structure</code> and <code>group</code> elements have the following
    +  mandatory attribute:
    +</p>
    +
    +<table class="coverage">
    +  <thead>
    +    <tr>
    +      <td>Attribute</td>
    +      <td>Description</td>
    +      <td>Default</td>
    +    </tr>
    +  </thead>
    +  <tbody>
    +    <tr>
    +      <td><code>name</code></td>
    +      <td>Name of the structure or group.</td>
    +      <td><i>none (required)</i></td>
    +    </tr>
    +  </tbody>
    +</table>
    +
    +<h3>Element <code>html</code></h3>
    +
    +<p>
    +  Create a multi-page report in HTML format. The report can either be written as
    +  multiple files into a directory or compressed into a single ZIP file.
    +</p>
    +
    +<table class="coverage">
    +  <thead>
    +    <tr>
    +      <td>Attribute</td>
    +      <td>Description</td>
    +      <td>Default</td>
    +    </tr>
    +  </thead>
    +  <tbody>
    +    <tr>
    +      <td><code>destdir</code></td>
    +      <td>Directory to create the report in. Either this property or
    +        <code>destfile</code> has to be supplied.</td>
    +      <td><i>none (required)</i></td>
    +    </tr>
    +    <tr>
    +      <td><code>destfile</code></td>
    +      <td>Zip file to create the report in.  Either this property or
    +        <code>destdir</code> has to be supplied.</td>
    +      <td><i>none (required)</i></td>
    +    </tr>
    +    <tr>
    +      <td><code>footer</code></td>
    +      <td>Footer text for each report page.</td>
    +      <td><i>no footer</i></td>
    +    </tr>
    +    <tr>
    +      <td><code>encoding</code></td>
    +      <td>Character encoding of generated HTML pages.</td>
    +      <td><code>UTF-8</code></td>
    +    </tr>
    +    <tr>
    +      <td><code>locale</code></td>
    +      <td>Locale specified as ISO code (en, fr, jp, ...) used for number
    +      formatting. Locale country and variant can be separated with an underscore
    +      (de_CH).</td>
    +      <td><i>platform locale</i></td>
    +    </tr>
    +  </tbody>
    +</table>
    +
    +<h3>Element <code>xml</code></h3>
    +
    +<p>
    +  Create a single-file report in XML format.
    +</p>
    +
    +<table class="coverage">
    +  <thead>
    +    <tr>
    +      <td>Attribute</td>
    +      <td>Description</td>
    +      <td>Default</td>
    +    </tr>
    +  </thead>
    +  <tbody>
    +    <tr>
    +      <td><code>destfile</code></td>
    +      <td>Location to write the report file to.</td>
    +      <td><i>none (required)</i></td>
    +    </tr>
    +    <tr>
    +      <td><code>encoding</code></td>
    +      <td>Encoding of the generated XML document.</td>
    +      <td><code>UTF-8</code></td>
    +    </tr>
    +  </tbody>
    +</table>
    +
    +<h3>Element <code>csv</code></h3>
    +
    +<p>
    +  Create single-file report in CSV format.
    +</p>
    +
    +<table class="coverage">
    +  <thead>
    +    <tr>
    +      <td>Attribute</td>
    +      <td>Description</td>
    +      <td>Default</td>
    +    </tr>
    +  </thead>
    +  <tbody>
    +    <tr>
    +      <td><code>destfile</code></td>
    +      <td>Location to write the report file to.</td>
    +      <td><i>none (required)</i></td>
    +    </tr>
    +    <tr>
    +      <td><code>encoding</code></td>
    +      <td>Encoding of the generated CSV document.</td>
    +      <td><code>UTF-8</code></td>
    +    </tr>
    +  </tbody>
    +</table>
    +
    +<h3>Element <code>check</code></h3>
    +
    +<p>
    +  This report type does not actually create a report. It checks coverage
    +  counters and reports violations of configured rules. Every rule is applied to
    +  elements of a given type (class, package, bundle, etc.) and has a list of
    +  limits which are checked for every element. The following example checks that
    +  for every package the line coverage is at least 80% and no class is missed:
    +</p>
    +
    +<pre class="source lang-xml linenums">
    +&lt;check&gt;
    +    &lt;rule element="PACKAGE"&gt;
    +        &lt;limit counter="LINE" value="COVEREDRATIO" minimum="80%"/&gt;
    +        &lt;limit counter="CLASS" value="MISSEDCOUNT" maximum="0"/&gt;
    +    &lt;/rule&gt;
    +&lt;/check&gt;
    +</pre>
    +
    +<p>
    +  The <code>check</code> element has the following attributes:
    +</p>
    +
    +<table class="coverage">
    +  <thead>
    +    <tr>
    +      <td>Attribute</td>
    +      <td>Description</td>
    +      <td>Default</td>
    +    </tr>
    +  </thead>
    +  <tbody>
    +    <tr>
    +      <td><code>rules</code></td>
    +      <td>List of rules to check.</td>
    +      <td><i>none</i></td>
    +    </tr>
    +    <tr>
    +      <td><code>failonviolation</code></td>
    +      <td>Specifies whether build should fail in case of rule violations.</td>
    +      <td><code>true</code></td>
    +    </tr>
    +    <tr>
    +      <td><code>violationsproperty</code></td>
    +      <td>The name of an Ant property which is filled with the violation
    +          messages.</td>
    +      <td><i>none</i></td>
    +    </tr>
    +  </tbody>
    +</table>
    +
    +<p>
    +  Within the <code>check</code> element any number of <code>rule</code> elements
    +  can be nested:
    +</p>
    +
    +<table class="coverage">
    +  <thead>
    +    <tr>
    +      <td>Attribute</td>
    +      <td>Description</td>
    +      <td>Default</td>
    +    </tr>
    +  </thead>
    +  <tbody>
    +    <tr>
    +      <td><code>element</code></td>
    +      <td>The elements this rule applies to. Possible values are
    +          <code>BUNDLE</code>, <code>PACKAGE</code>, <code>CLASS</code>,
    +          <code>SOURCEFILE</code> and <code>METHOD</code>.</td>
    +      <td><code>BUNDLE</code></td>
    +    </tr>
    +    <tr>
    +      <td><code>includes</code></td>
    +      <td>A list of element names that should be checked. The list entries are
    +          separated by a colon (:) and may use wildcard characters (* and ?).</td>
    +      <td><code>*</code></td>
    +    </tr>
    +    <tr>
    +      <td><code>excludes</code></td>
    +      <td>A list of element names that should not be checked. The list entries
    +          are separated by a colon (:) and may use wildcard characters (* and ?).</td>
    +      <td><i>empty (no excludes)</i></td>
    +    </tr>
    +    <tr>
    +      <td><code>limits</code></td>
    +      <td>List of limits to check.</td>
    +      <td><i>none</i></td>
    +    </tr>
    +  </tbody>
    +</table>
    +
    +<p>
    +  Within the <code>rule</code> element any number of <code>limit</code> elements
    +  can be nested:
    +</p>
    +
    +<table class="coverage">
    +  <thead>
    +    <tr>
    +      <td>Attribute</td>
    +      <td>Description</td>
    +      <td>Default</td>
    +    </tr>
    +  </thead>
    +  <tbody>
    +    <tr>
    +      <td><code>counter</code></td>
    +      <td>The <a href="counters.html">counter</a> which should be checked.
    +          Possible options are <code>INSTRUCTION</code>, <code>LINE</code>,
    +          <code>BRANCH</code>, <code>COMPLEXITY</code>, <code>METHOD</code> and
    +          <code>CLASS</code>.</td>
    +      <td><code>INSTRUCTION</code></td>
    +    </tr>
    +    <tr>
    +      <td><code>value</code></td>
    +      <td>The counter value that should be checked. Possible options are
    +      <code>TOTALCOUNT</code>, <code>MISSEDCOUNT</code>,
    +      <code>COVEREDCOUNT</code>, <code>MISSEDRATIO</code> and
    +      <code>COVEREDRATIO</code>.</td>
    +      <td><code>COVEREDRATIO</code></td>
    +    </tr>
    +    <tr>
    +      <td><code>minimum</code></td>
    +      <td>Expected minimum value. If the minimum refers to a ratio it must be
    +          in the range from 0.0 to 1.0 where the number of decimal places will
    +          also determine the precision in error messages. A limit ratio may
    +          optionally be declared as a percentage where 0.80 and 80% represent
    +          the same value.</td>
    +      <td><i>none</i></td>
    +    </tr>
    +    <tr>
    +      <td><code>maximum</code></td>
    +      <td>Expected maximum value, see <code>minimum</code> for details.</td>
    +      <td><i>none</i></td>
    +    </tr>
    +  </tbody>
    +</table>
    +
    +<h2><a name="instrument">Task <code>instrument</code></a></h2>
    +
    +<p class="hint">
    +  <b>Warning:</b> The preferred way for code coverage analysis with JaCoCo is
    +  on-the-fly instrumentation. Offline instrumentation has several drawbacks and
    +  should only be used if a specific scenario explicitly requires this mode.
    +  Please consult <a href="offline.html">documentation</a> about offline
    +  instrumentation before using this mode.
    +</p>
    +
    +<p>
    +  This task is used for <a href="offline.html">offline instrumentation</a> of
    +  class files. The task takes a set of files and writes instrumented
    +  versions to a specified location. The task takes any file type as input. Java
    +  class files are instrumented. Archives (jar, war, ear etc. or Pack200) are
    +  searched recursively for class files which then get instrumented. All other
    +  files are copied without modification.
    +</p>
    +
    +<pre class="source lang-xml linenums">
    +&lt;jacoco:instrument destdir="target/classes-instr"&gt;
    +    &lt;fileset dir="target/classes" includes="**/*.class"/&gt;
    +&lt;/jacoco:instrument&gt;
    +</pre>
    +
    +<p>
    +  The task definition can contain any number of resource collection types and
    +  has the following mandatory attribute:
    +</p>
    +
    +<table class="coverage">
    +  <thead>
    +    <tr>
    +      <td>Attribute</td>
    +      <td>Description</td>
    +      <td>Default</td>
    +    </tr>
    +  </thead>
    +  <tbody>
    +    <tr>
    +      <td><code>destdir</code></td>
    +      <td>Directory location to write the instrumented files to.</td>
    +      <td><i>none (required)</i></td>
    +    </tr>
    +    <tr>
    +      <td><code>removesignatures</code></td>
    +      <td>If set to <code>true</code> all signature related information is
    +          stripped from JARs. This is typically necessary as instrumentation
    +          breaks the signatures of the original class files.</td>
    +      <td><code>true</code></td>
    +    </tr>
    +  </tbody>
    +</table>
    +
    +</div>
    +<div class="footer">
    +  <span class="right"><a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.12.202403270442</span>
    +  <a href="license.html">Copyright</a> &copy; 2009, 2024 Mountainminds GmbH &amp; Co. KG and Contributors
    +</div>
    +
    +</body>
    +</html>
    diff --git a/jacoco/trunk/doc/api.html b/jacoco/trunk/doc/api.html
    new file mode 100644
    index 00000000000..3203f87b834
    --- /dev/null
    +++ b/jacoco/trunk/doc/api.html
    @@ -0,0 +1,93 @@
    +<?xml version="1.0" encoding="UTF-8" ?>
    +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
    +<html xmlns="http://www.w3.org/1999/xhtml" lang="en">
    +<head>
    +  <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
    +  <link rel="stylesheet" href="resources/doc.css" charset="UTF-8" type="text/css" />
    +  <link rel="shortcut icon" href="resources/report.gif" type="image/gif" />
    +  <title>JaCoCo - API Usage Examples</title>
    +</head>
    +<body>
    +
    +<div class="breadcrumb">
    +  <a href="../index.html" class="el_report">JaCoCo</a> &gt;
    +  <a href="index.html" class="el_group">Documentation</a> &gt;
    +  <span class="el_source">API Usage Examples</span>
    +</div>
    +<div id="content">
    +
    +<h1>API Usage Examples</h1>
    +
    +<p>
    +  To get familiar with the API these examples demonstrate different aspects of
    +  the JaCoCo API. Each example can be separately compiled and executed as a Java
    +  main program. Some examples require additional command line arguments.
    +</p>
    +
    +<p>
    +  To compile and run these example you need
    +  <a href="https://asm.ow2.io/">ASM</a> 9.7 in addition to the JaCoCo
    +  libraries.
    +</p>
    +
    +<table class="coverage">
    +  <thead>
    +    <tr>
    +      <td>File</td>
    +      <td>Description</td>
    +    </tr>
    +  </thead>
    +  <tbody>
    +    <tr>
    +      <td><a class="el_source" href="examples/java/CoreTutorial.java">CoreTutorial.java</a></td>
    +      <td>This tutorial-like example instruments, executes and analyzes a single
    +          target class. Finally line coverage information is printed to the
    +          console.
    +      </td>
    +    </tr>
    +    <tr>
    +      <td><a class="el_source" href="examples/java/ClassInfo.java">ClassInfo.java</a></td>
    +      <td>This example writes JaCoCo specific information for given Java class
    +          files.
    +      </td>
    +    </tr>
    +    <tr>
    +      <td><a class="el_source" href="examples/java/ExecDump.java">ExecDump.java</a></td>
    +      <td>Utility to dump the content of execution data files in readable form.
    +      </td>
    +    </tr>
    +    <tr>
    +      <td><a class="el_source" href="examples/java/MBeanClient.java">MBeanClient.java</a></td>
    +      <td>This example connects to a coverage agent to collect execution data
    +          over the JMX.
    +      </td>
    +    </tr>
    +    <tr>
    +      <td><a class="el_source" href="examples/java/ExecutionDataClient.java">ExecutionDataClient.java</a></td>
    +      <td>This example connects to a coverage agent to collect execution data
    +          over the remote protocol.
    +      </td>
    +    </tr>
    +    <tr>
    +      <td><a class="el_source" href="examples/java/ExecutionDataServer.java">ExecutionDataServer.java</a></td>
    +      <td>This example starts a socket server to collect execution data from
    +          agents over the remote protocol.
    +      </td>
    +    </tr>
    +    <tr>
    +      <td><a class="el_source" href="examples/java/ReportGenerator.java">ReportGenerator.java</a></td>
    +      <td>This example generates HTML reports based on a simple project layout and well known execution
    +          data store file name.</td>
    +    </tr>
    +  </tbody>
    +</table>
    +
    +
    +</div>
    +<div class="footer">
    +  <span class="right"><a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.12.202403270442</span>
    +  <a href="license.html">Copyright</a> &copy; 2009, 2024 Mountainminds GmbH &amp; Co. KG and Contributors
    +</div>
    +
    +</body>
    +</html>
    diff --git a/jacoco/trunk/doc/api/allclasses-frame.html b/jacoco/trunk/doc/api/allclasses-frame.html
    new file mode 100644
    index 00000000000..b9d807be7a3
    --- /dev/null
    +++ b/jacoco/trunk/doc/api/allclasses-frame.html
    @@ -0,0 +1,167 @@
    +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
    +<!--NewPage-->
    +<HTML>
    +<HEAD>
    +<!-- Generated by javadoc (build 1.5.0_22) on Wed Mar 27 16:45:42 UTC 2024 -->
    +<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
    +<TITLE>
    +All Classes (JaCoCo 0.8.12.202403270442 API)
    +</TITLE>
    +
    +
    +<LINK REL ="stylesheet" TYPE="text/css" HREF="stylesheet.css" TITLE="Style">
    +
    +
    +</HEAD>
    +
    +<BODY BGCOLOR="white">
    +<FONT size="+1" CLASS="FrameHeadingFont">
    +<B>All Classes</B></FONT>
    +<BR>
    +
    +<TABLE BORDER="0" WIDTH="100%" SUMMARY="">
    +<TR>
    +<TD NOWRAP><FONT CLASS="FrameItemFont"><A HREF="org/jacoco/core/runtime/AbstractRuntime.html" title="class in org.jacoco.core.runtime" target="classFrame">AbstractRuntime</A>
    +<BR>
    +<A HREF="org/jacoco/agent/AgentJar.html" title="class in org.jacoco.agent" target="classFrame">AgentJar</A>
    +<BR>
    +<A HREF="org/jacoco/core/runtime/AgentOptions.html" title="class in org.jacoco.core.runtime" target="classFrame">AgentOptions</A>
    +<BR>
    +<A HREF="org/jacoco/core/runtime/AgentOptions.OutputMode.html" title="enum in org.jacoco.core.runtime" target="classFrame">AgentOptions.OutputMode</A>
    +<BR>
    +<A HREF="org/jacoco/core/analysis/Analyzer.html" title="class in org.jacoco.core.analysis" target="classFrame">Analyzer</A>
    +<BR>
    +<A HREF="org/jacoco/core/analysis/CounterComparator.html" title="class in org.jacoco.core.analysis" target="classFrame">CounterComparator</A>
    +<BR>
    +<A HREF="org/jacoco/core/analysis/CoverageBuilder.html" title="class in org.jacoco.core.analysis" target="classFrame">CoverageBuilder</A>
    +<BR>
    +<A HREF="org/jacoco/core/analysis/CoverageNodeImpl.html" title="class in org.jacoco.core.analysis" target="classFrame">CoverageNodeImpl</A>
    +<BR>
    +<A HREF="org/jacoco/report/csv/CSVFormatter.html" title="class in org.jacoco.report.csv" target="classFrame">CSVFormatter</A>
    +<BR>
    +<A HREF="org/jacoco/report/DirectorySourceFileLocator.html" title="class in org.jacoco.report" target="classFrame">DirectorySourceFileLocator</A>
    +<BR>
    +<A HREF="org/jacoco/core/tools/ExecDumpClient.html" title="class in org.jacoco.core.tools" target="classFrame">ExecDumpClient</A>
    +<BR>
    +<A HREF="org/jacoco/core/tools/ExecFileLoader.html" title="class in org.jacoco.core.tools" target="classFrame">ExecFileLoader</A>
    +<BR>
    +<A HREF="org/jacoco/core/data/ExecutionData.html" title="class in org.jacoco.core.data" target="classFrame">ExecutionData</A>
    +<BR>
    +<A HREF="org/jacoco/core/data/ExecutionDataReader.html" title="class in org.jacoco.core.data" target="classFrame">ExecutionDataReader</A>
    +<BR>
    +<A HREF="org/jacoco/core/data/ExecutionDataStore.html" title="class in org.jacoco.core.data" target="classFrame">ExecutionDataStore</A>
    +<BR>
    +<A HREF="org/jacoco/core/data/ExecutionDataWriter.html" title="class in org.jacoco.core.data" target="classFrame">ExecutionDataWriter</A>
    +<BR>
    +<A HREF="org/jacoco/report/FileMultiReportOutput.html" title="class in org.jacoco.report" target="classFrame">FileMultiReportOutput</A>
    +<BR>
    +<A HREF="org/jacoco/report/html/HTMLFormatter.html" title="class in org.jacoco.report.html" target="classFrame">HTMLFormatter</A>
    +<BR>
    +<A HREF="org/jacoco/agent/rt/IAgent.html" title="interface in org.jacoco.agent.rt" target="classFrame"><I>IAgent</I></A>
    +<BR>
    +<A HREF="org/jacoco/core/analysis/IBundleCoverage.html" title="interface in org.jacoco.core.analysis" target="classFrame"><I>IBundleCoverage</I></A>
    +<BR>
    +<A HREF="org/jacoco/core/analysis/IClassCoverage.html" title="interface in org.jacoco.core.analysis" target="classFrame"><I>IClassCoverage</I></A>
    +<BR>
    +<A HREF="org/jacoco/core/analysis/ICounter.html" title="interface in org.jacoco.core.analysis" target="classFrame"><I>ICounter</I></A>
    +<BR>
    +<A HREF="org/jacoco/core/analysis/ICounter.CounterValue.html" title="enum in org.jacoco.core.analysis" target="classFrame">ICounter.CounterValue</A>
    +<BR>
    +<A HREF="org/jacoco/core/analysis/ICoverageNode.html" title="interface in org.jacoco.core.analysis" target="classFrame"><I>ICoverageNode</I></A>
    +<BR>
    +<A HREF="org/jacoco/core/analysis/ICoverageNode.CounterEntity.html" title="enum in org.jacoco.core.analysis" target="classFrame">ICoverageNode.CounterEntity</A>
    +<BR>
    +<A HREF="org/jacoco/core/analysis/ICoverageNode.ElementType.html" title="enum in org.jacoco.core.analysis" target="classFrame">ICoverageNode.ElementType</A>
    +<BR>
    +<A HREF="org/jacoco/core/analysis/ICoverageVisitor.html" title="interface in org.jacoco.core.analysis" target="classFrame"><I>ICoverageVisitor</I></A>
    +<BR>
    +<A HREF="org/jacoco/core/runtime/IExecutionDataAccessorGenerator.html" title="interface in org.jacoco.core.runtime" target="classFrame"><I>IExecutionDataAccessorGenerator</I></A>
    +<BR>
    +<A HREF="org/jacoco/core/data/IExecutionDataVisitor.html" title="interface in org.jacoco.core.data" target="classFrame"><I>IExecutionDataVisitor</I></A>
    +<BR>
    +<A HREF="org/jacoco/report/ILanguageNames.html" title="interface in org.jacoco.report" target="classFrame"><I>ILanguageNames</I></A>
    +<BR>
    +<A HREF="org/jacoco/core/analysis/ILine.html" title="interface in org.jacoco.core.analysis" target="classFrame"><I>ILine</I></A>
    +<BR>
    +<A HREF="org/jacoco/core/analysis/IMethodCoverage.html" title="interface in org.jacoco.core.analysis" target="classFrame"><I>IMethodCoverage</I></A>
    +<BR>
    +<A HREF="org/jacoco/report/IMultiReportOutput.html" title="interface in org.jacoco.report" target="classFrame"><I>IMultiReportOutput</I></A>
    +<BR>
    +<A HREF="org/jacoco/core/data/IncompatibleExecDataVersionException.html" title="class in org.jacoco.core.data" target="classFrame">IncompatibleExecDataVersionException</A>
    +<BR>
    +<A HREF="org/jacoco/core/runtime/InjectedClassRuntime.html" title="class in org.jacoco.core.runtime" target="classFrame">InjectedClassRuntime</A>
    +<BR>
    +<A HREF="org/jacoco/report/InputStreamSourceFileLocator.html" title="class in org.jacoco.report" target="classFrame">InputStreamSourceFileLocator</A>
    +<BR>
    +<A HREF="org/jacoco/core/instr/Instrumenter.html" title="class in org.jacoco.core.instr" target="classFrame">Instrumenter</A>
    +<BR>
    +<A HREF="org/jacoco/core/analysis/IPackageCoverage.html" title="interface in org.jacoco.core.analysis" target="classFrame"><I>IPackageCoverage</I></A>
    +<BR>
    +<A HREF="org/jacoco/core/runtime/IRemoteCommandVisitor.html" title="interface in org.jacoco.core.runtime" target="classFrame"><I>IRemoteCommandVisitor</I></A>
    +<BR>
    +<A HREF="org/jacoco/report/IReportGroupVisitor.html" title="interface in org.jacoco.report" target="classFrame"><I>IReportGroupVisitor</I></A>
    +<BR>
    +<A HREF="org/jacoco/report/IReportVisitor.html" title="interface in org.jacoco.report" target="classFrame"><I>IReportVisitor</I></A>
    +<BR>
    +<A HREF="org/jacoco/core/runtime/IRuntime.html" title="interface in org.jacoco.core.runtime" target="classFrame"><I>IRuntime</I></A>
    +<BR>
    +<A HREF="org/jacoco/core/data/ISessionInfoVisitor.html" title="interface in org.jacoco.core.data" target="classFrame"><I>ISessionInfoVisitor</I></A>
    +<BR>
    +<A HREF="org/jacoco/core/analysis/ISourceFileCoverage.html" title="interface in org.jacoco.core.analysis" target="classFrame"><I>ISourceFileCoverage</I></A>
    +<BR>
    +<A HREF="org/jacoco/report/ISourceFileLocator.html" title="interface in org.jacoco.report" target="classFrame"><I>ISourceFileLocator</I></A>
    +<BR>
    +<A HREF="org/jacoco/core/analysis/ISourceNode.html" title="interface in org.jacoco.core.analysis" target="classFrame"><I>ISourceNode</I></A>
    +<BR>
    +<A HREF="org/jacoco/report/check/IViolationsOutput.html" title="interface in org.jacoco.report.check" target="classFrame"><I>IViolationsOutput</I></A>
    +<BR>
    +<A HREF="org/jacoco/core/JaCoCo.html" title="class in org.jacoco.core" target="classFrame">JaCoCo</A>
    +<BR>
    +<A HREF="org/jacoco/report/JavaNames.html" title="class in org.jacoco.report" target="classFrame">JavaNames</A>
    +<BR>
    +<A HREF="org/jacoco/report/check/Limit.html" title="class in org.jacoco.report.check" target="classFrame">Limit</A>
    +<BR>
    +<A HREF="org/jacoco/core/runtime/LoggerRuntime.html" title="class in org.jacoco.core.runtime" target="classFrame">LoggerRuntime</A>
    +<BR>
    +<A HREF="org/jacoco/core/runtime/ModifiedSystemClassRuntime.html" title="class in org.jacoco.core.runtime" target="classFrame">ModifiedSystemClassRuntime</A>
    +<BR>
    +<A HREF="org/jacoco/report/MultiReportVisitor.html" title="class in org.jacoco.report" target="classFrame">MultiReportVisitor</A>
    +<BR>
    +<A HREF="org/jacoco/report/MultiSourceFileLocator.html" title="class in org.jacoco.report" target="classFrame">MultiSourceFileLocator</A>
    +<BR>
    +<A HREF="org/jacoco/core/analysis/NodeComparator.html" title="class in org.jacoco.core.analysis" target="classFrame">NodeComparator</A>
    +<BR>
    +<A HREF="org/jacoco/core/runtime/OfflineInstrumentationAccessGenerator.html" title="class in org.jacoco.core.runtime" target="classFrame">OfflineInstrumentationAccessGenerator</A>
    +<BR>
    +<A HREF="org/jacoco/core/runtime/RemoteControlReader.html" title="class in org.jacoco.core.runtime" target="classFrame">RemoteControlReader</A>
    +<BR>
    +<A HREF="org/jacoco/core/runtime/RemoteControlWriter.html" title="class in org.jacoco.core.runtime" target="classFrame">RemoteControlWriter</A>
    +<BR>
    +<A HREF="com/vladium/emma/rt/RT.html" title="class in com.vladium.emma.rt" target="classFrame">RT</A>
    +<BR>
    +<A HREF="org/jacoco/agent/rt/RT.html" title="class in org.jacoco.agent.rt" target="classFrame">RT</A>
    +<BR>
    +<A HREF="org/jacoco/report/check/Rule.html" title="class in org.jacoco.report.check" target="classFrame">Rule</A>
    +<BR>
    +<A HREF="org/jacoco/report/check/RulesChecker.html" title="class in org.jacoco.report.check" target="classFrame">RulesChecker</A>
    +<BR>
    +<A HREF="org/jacoco/core/runtime/RuntimeData.html" title="class in org.jacoco.core.runtime" target="classFrame">RuntimeData</A>
    +<BR>
    +<A HREF="org/jacoco/core/data/SessionInfo.html" title="class in org.jacoco.core.data" target="classFrame">SessionInfo</A>
    +<BR>
    +<A HREF="org/jacoco/core/data/SessionInfoStore.html" title="class in org.jacoco.core.data" target="classFrame">SessionInfoStore</A>
    +<BR>
    +<A HREF="org/jacoco/core/runtime/SystemPropertiesRuntime.html" title="class in org.jacoco.core.runtime" target="classFrame">SystemPropertiesRuntime</A>
    +<BR>
    +<A HREF="org/jacoco/core/runtime/WildcardMatcher.html" title="class in org.jacoco.core.runtime" target="classFrame">WildcardMatcher</A>
    +<BR>
    +<A HREF="org/jacoco/report/xml/XMLFormatter.html" title="class in org.jacoco.report.xml" target="classFrame">XMLFormatter</A>
    +<BR>
    +<A HREF="org/jacoco/report/ZipMultiReportOutput.html" title="class in org.jacoco.report" target="classFrame">ZipMultiReportOutput</A>
    +<BR>
    +</FONT></TD>
    +</TR>
    +</TABLE>
    +
    +</BODY>
    +</HTML>
    diff --git a/jacoco/trunk/doc/api/allclasses-noframe.html b/jacoco/trunk/doc/api/allclasses-noframe.html
    new file mode 100644
    index 00000000000..b56e1bf06cd
    --- /dev/null
    +++ b/jacoco/trunk/doc/api/allclasses-noframe.html
    @@ -0,0 +1,167 @@
    +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
    +<!--NewPage-->
    +<HTML>
    +<HEAD>
    +<!-- Generated by javadoc (build 1.5.0_22) on Wed Mar 27 16:45:42 UTC 2024 -->
    +<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
    +<TITLE>
    +All Classes (JaCoCo 0.8.12.202403270442 API)
    +</TITLE>
    +
    +
    +<LINK REL ="stylesheet" TYPE="text/css" HREF="stylesheet.css" TITLE="Style">
    +
    +
    +</HEAD>
    +
    +<BODY BGCOLOR="white">
    +<FONT size="+1" CLASS="FrameHeadingFont">
    +<B>All Classes</B></FONT>
    +<BR>
    +
    +<TABLE BORDER="0" WIDTH="100%" SUMMARY="">
    +<TR>
    +<TD NOWRAP><FONT CLASS="FrameItemFont"><A HREF="org/jacoco/core/runtime/AbstractRuntime.html" title="class in org.jacoco.core.runtime">AbstractRuntime</A>
    +<BR>
    +<A HREF="org/jacoco/agent/AgentJar.html" title="class in org.jacoco.agent">AgentJar</A>
    +<BR>
    +<A HREF="org/jacoco/core/runtime/AgentOptions.html" title="class in org.jacoco.core.runtime">AgentOptions</A>
    +<BR>
    +<A HREF="org/jacoco/core/runtime/AgentOptions.OutputMode.html" title="enum in org.jacoco.core.runtime">AgentOptions.OutputMode</A>
    +<BR>
    +<A HREF="org/jacoco/core/analysis/Analyzer.html" title="class in org.jacoco.core.analysis">Analyzer</A>
    +<BR>
    +<A HREF="org/jacoco/core/analysis/CounterComparator.html" title="class in org.jacoco.core.analysis">CounterComparator</A>
    +<BR>
    +<A HREF="org/jacoco/core/analysis/CoverageBuilder.html" title="class in org.jacoco.core.analysis">CoverageBuilder</A>
    +<BR>
    +<A HREF="org/jacoco/core/analysis/CoverageNodeImpl.html" title="class in org.jacoco.core.analysis">CoverageNodeImpl</A>
    +<BR>
    +<A HREF="org/jacoco/report/csv/CSVFormatter.html" title="class in org.jacoco.report.csv">CSVFormatter</A>
    +<BR>
    +<A HREF="org/jacoco/report/DirectorySourceFileLocator.html" title="class in org.jacoco.report">DirectorySourceFileLocator</A>
    +<BR>
    +<A HREF="org/jacoco/core/tools/ExecDumpClient.html" title="class in org.jacoco.core.tools">ExecDumpClient</A>
    +<BR>
    +<A HREF="org/jacoco/core/tools/ExecFileLoader.html" title="class in org.jacoco.core.tools">ExecFileLoader</A>
    +<BR>
    +<A HREF="org/jacoco/core/data/ExecutionData.html" title="class in org.jacoco.core.data">ExecutionData</A>
    +<BR>
    +<A HREF="org/jacoco/core/data/ExecutionDataReader.html" title="class in org.jacoco.core.data">ExecutionDataReader</A>
    +<BR>
    +<A HREF="org/jacoco/core/data/ExecutionDataStore.html" title="class in org.jacoco.core.data">ExecutionDataStore</A>
    +<BR>
    +<A HREF="org/jacoco/core/data/ExecutionDataWriter.html" title="class in org.jacoco.core.data">ExecutionDataWriter</A>
    +<BR>
    +<A HREF="org/jacoco/report/FileMultiReportOutput.html" title="class in org.jacoco.report">FileMultiReportOutput</A>
    +<BR>
    +<A HREF="org/jacoco/report/html/HTMLFormatter.html" title="class in org.jacoco.report.html">HTMLFormatter</A>
    +<BR>
    +<A HREF="org/jacoco/agent/rt/IAgent.html" title="interface in org.jacoco.agent.rt"><I>IAgent</I></A>
    +<BR>
    +<A HREF="org/jacoco/core/analysis/IBundleCoverage.html" title="interface in org.jacoco.core.analysis"><I>IBundleCoverage</I></A>
    +<BR>
    +<A HREF="org/jacoco/core/analysis/IClassCoverage.html" title="interface in org.jacoco.core.analysis"><I>IClassCoverage</I></A>
    +<BR>
    +<A HREF="org/jacoco/core/analysis/ICounter.html" title="interface in org.jacoco.core.analysis"><I>ICounter</I></A>
    +<BR>
    +<A HREF="org/jacoco/core/analysis/ICounter.CounterValue.html" title="enum in org.jacoco.core.analysis">ICounter.CounterValue</A>
    +<BR>
    +<A HREF="org/jacoco/core/analysis/ICoverageNode.html" title="interface in org.jacoco.core.analysis"><I>ICoverageNode</I></A>
    +<BR>
    +<A HREF="org/jacoco/core/analysis/ICoverageNode.CounterEntity.html" title="enum in org.jacoco.core.analysis">ICoverageNode.CounterEntity</A>
    +<BR>
    +<A HREF="org/jacoco/core/analysis/ICoverageNode.ElementType.html" title="enum in org.jacoco.core.analysis">ICoverageNode.ElementType</A>
    +<BR>
    +<A HREF="org/jacoco/core/analysis/ICoverageVisitor.html" title="interface in org.jacoco.core.analysis"><I>ICoverageVisitor</I></A>
    +<BR>
    +<A HREF="org/jacoco/core/runtime/IExecutionDataAccessorGenerator.html" title="interface in org.jacoco.core.runtime"><I>IExecutionDataAccessorGenerator</I></A>
    +<BR>
    +<A HREF="org/jacoco/core/data/IExecutionDataVisitor.html" title="interface in org.jacoco.core.data"><I>IExecutionDataVisitor</I></A>
    +<BR>
    +<A HREF="org/jacoco/report/ILanguageNames.html" title="interface in org.jacoco.report"><I>ILanguageNames</I></A>
    +<BR>
    +<A HREF="org/jacoco/core/analysis/ILine.html" title="interface in org.jacoco.core.analysis"><I>ILine</I></A>
    +<BR>
    +<A HREF="org/jacoco/core/analysis/IMethodCoverage.html" title="interface in org.jacoco.core.analysis"><I>IMethodCoverage</I></A>
    +<BR>
    +<A HREF="org/jacoco/report/IMultiReportOutput.html" title="interface in org.jacoco.report"><I>IMultiReportOutput</I></A>
    +<BR>
    +<A HREF="org/jacoco/core/data/IncompatibleExecDataVersionException.html" title="class in org.jacoco.core.data">IncompatibleExecDataVersionException</A>
    +<BR>
    +<A HREF="org/jacoco/core/runtime/InjectedClassRuntime.html" title="class in org.jacoco.core.runtime">InjectedClassRuntime</A>
    +<BR>
    +<A HREF="org/jacoco/report/InputStreamSourceFileLocator.html" title="class in org.jacoco.report">InputStreamSourceFileLocator</A>
    +<BR>
    +<A HREF="org/jacoco/core/instr/Instrumenter.html" title="class in org.jacoco.core.instr">Instrumenter</A>
    +<BR>
    +<A HREF="org/jacoco/core/analysis/IPackageCoverage.html" title="interface in org.jacoco.core.analysis"><I>IPackageCoverage</I></A>
    +<BR>
    +<A HREF="org/jacoco/core/runtime/IRemoteCommandVisitor.html" title="interface in org.jacoco.core.runtime"><I>IRemoteCommandVisitor</I></A>
    +<BR>
    +<A HREF="org/jacoco/report/IReportGroupVisitor.html" title="interface in org.jacoco.report"><I>IReportGroupVisitor</I></A>
    +<BR>
    +<A HREF="org/jacoco/report/IReportVisitor.html" title="interface in org.jacoco.report"><I>IReportVisitor</I></A>
    +<BR>
    +<A HREF="org/jacoco/core/runtime/IRuntime.html" title="interface in org.jacoco.core.runtime"><I>IRuntime</I></A>
    +<BR>
    +<A HREF="org/jacoco/core/data/ISessionInfoVisitor.html" title="interface in org.jacoco.core.data"><I>ISessionInfoVisitor</I></A>
    +<BR>
    +<A HREF="org/jacoco/core/analysis/ISourceFileCoverage.html" title="interface in org.jacoco.core.analysis"><I>ISourceFileCoverage</I></A>
    +<BR>
    +<A HREF="org/jacoco/report/ISourceFileLocator.html" title="interface in org.jacoco.report"><I>ISourceFileLocator</I></A>
    +<BR>
    +<A HREF="org/jacoco/core/analysis/ISourceNode.html" title="interface in org.jacoco.core.analysis"><I>ISourceNode</I></A>
    +<BR>
    +<A HREF="org/jacoco/report/check/IViolationsOutput.html" title="interface in org.jacoco.report.check"><I>IViolationsOutput</I></A>
    +<BR>
    +<A HREF="org/jacoco/core/JaCoCo.html" title="class in org.jacoco.core">JaCoCo</A>
    +<BR>
    +<A HREF="org/jacoco/report/JavaNames.html" title="class in org.jacoco.report">JavaNames</A>
    +<BR>
    +<A HREF="org/jacoco/report/check/Limit.html" title="class in org.jacoco.report.check">Limit</A>
    +<BR>
    +<A HREF="org/jacoco/core/runtime/LoggerRuntime.html" title="class in org.jacoco.core.runtime">LoggerRuntime</A>
    +<BR>
    +<A HREF="org/jacoco/core/runtime/ModifiedSystemClassRuntime.html" title="class in org.jacoco.core.runtime">ModifiedSystemClassRuntime</A>
    +<BR>
    +<A HREF="org/jacoco/report/MultiReportVisitor.html" title="class in org.jacoco.report">MultiReportVisitor</A>
    +<BR>
    +<A HREF="org/jacoco/report/MultiSourceFileLocator.html" title="class in org.jacoco.report">MultiSourceFileLocator</A>
    +<BR>
    +<A HREF="org/jacoco/core/analysis/NodeComparator.html" title="class in org.jacoco.core.analysis">NodeComparator</A>
    +<BR>
    +<A HREF="org/jacoco/core/runtime/OfflineInstrumentationAccessGenerator.html" title="class in org.jacoco.core.runtime">OfflineInstrumentationAccessGenerator</A>
    +<BR>
    +<A HREF="org/jacoco/core/runtime/RemoteControlReader.html" title="class in org.jacoco.core.runtime">RemoteControlReader</A>
    +<BR>
    +<A HREF="org/jacoco/core/runtime/RemoteControlWriter.html" title="class in org.jacoco.core.runtime">RemoteControlWriter</A>
    +<BR>
    +<A HREF="com/vladium/emma/rt/RT.html" title="class in com.vladium.emma.rt">RT</A>
    +<BR>
    +<A HREF="org/jacoco/agent/rt/RT.html" title="class in org.jacoco.agent.rt">RT</A>
    +<BR>
    +<A HREF="org/jacoco/report/check/Rule.html" title="class in org.jacoco.report.check">Rule</A>
    +<BR>
    +<A HREF="org/jacoco/report/check/RulesChecker.html" title="class in org.jacoco.report.check">RulesChecker</A>
    +<BR>
    +<A HREF="org/jacoco/core/runtime/RuntimeData.html" title="class in org.jacoco.core.runtime">RuntimeData</A>
    +<BR>
    +<A HREF="org/jacoco/core/data/SessionInfo.html" title="class in org.jacoco.core.data">SessionInfo</A>
    +<BR>
    +<A HREF="org/jacoco/core/data/SessionInfoStore.html" title="class in org.jacoco.core.data">SessionInfoStore</A>
    +<BR>
    +<A HREF="org/jacoco/core/runtime/SystemPropertiesRuntime.html" title="class in org.jacoco.core.runtime">SystemPropertiesRuntime</A>
    +<BR>
    +<A HREF="org/jacoco/core/runtime/WildcardMatcher.html" title="class in org.jacoco.core.runtime">WildcardMatcher</A>
    +<BR>
    +<A HREF="org/jacoco/report/xml/XMLFormatter.html" title="class in org.jacoco.report.xml">XMLFormatter</A>
    +<BR>
    +<A HREF="org/jacoco/report/ZipMultiReportOutput.html" title="class in org.jacoco.report">ZipMultiReportOutput</A>
    +<BR>
    +</FONT></TD>
    +</TR>
    +</TABLE>
    +
    +</BODY>
    +</HTML>
    diff --git a/jacoco/trunk/doc/api/com/vladium/emma/rt/RT.html b/jacoco/trunk/doc/api/com/vladium/emma/rt/RT.html
    new file mode 100644
    index 00000000000..8b042de1023
    --- /dev/null
    +++ b/jacoco/trunk/doc/api/com/vladium/emma/rt/RT.html
    @@ -0,0 +1,266 @@
    +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
    +<!--NewPage-->
    +<HTML>
    +<HEAD>
    +<!-- Generated by javadoc (build 1.5.0_22) on Wed Mar 27 16:45:42 UTC 2024 -->
    +<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
    +<TITLE>
    +RT (JaCoCo 0.8.12.202403270442 API)
    +</TITLE>
    +
    +<META NAME="keywords" CONTENT="com.vladium.emma.rt.RT class">
    +
    +<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../stylesheet.css" TITLE="Style">
    +
    +<SCRIPT type="text/javascript">
    +function windowTitle()
    +{
    +    parent.document.title="RT (JaCoCo 0.8.12.202403270442 API)";
    +}
    +</SCRIPT>
    +<NOSCRIPT>
    +</NOSCRIPT>
    +
    +</HEAD>
    +
    +<BODY BGCOLOR="white" onload="windowTitle();">
    +
    +
    +<!-- ========= START OF TOP NAVBAR ======= -->
    +<A NAME="navbar_top"><!-- --></A>
    +<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
    +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
    +<TR>
    +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
    +<A NAME="navbar_top_firstrow"><!-- --></A>
    +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
    +  <TR ALIGN="center" VALIGN="top">
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="class-use/RT.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
    +  </TR>
    +</TABLE>
    +</TD>
    +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
    +</EM>
    +</TD>
    +</TR>
    +
    +<TR>
    +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
    +&nbsp;PREV CLASS&nbsp;
    +&nbsp;NEXT CLASS</FONT></TD>
    +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
    +  <A HREF="../../../../index.html?com/vladium/emma/rt/RT.html" target="_top"><B>FRAMES</B></A>  &nbsp;
    +&nbsp;<A HREF="RT.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
    +&nbsp;<SCRIPT type="text/javascript">
    +  <!--
    +  if(window==top) {
    +    document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>');
    +  }
    +  //-->
    +</SCRIPT>
    +<NOSCRIPT>
    +  <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>
    +</NOSCRIPT>
    +
    +
    +</FONT></TD>
    +</TR>
    +<TR>
    +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
    +  SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;FIELD&nbsp;|&nbsp;CONSTR&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD>
    +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
    +DETAIL:&nbsp;FIELD&nbsp;|&nbsp;CONSTR&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD>
    +</TR>
    +</TABLE>
    +<A NAME="skip-navbar_top"></A>
    +<!-- ========= END OF TOP NAVBAR ========= -->
    +
    +<HR>
    +<!-- ======== START OF CLASS DATA ======== -->
    +<H2>
    +<FONT SIZE="-1">
    +com.vladium.emma.rt</FONT>
    +<BR>
    +Class RT</H2>
    +<PRE>
    +<A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html" title="class or interface in java.lang">java.lang.Object</A>
    +  <IMG SRC="../../../../resources/inherit.gif" ALT="extended by "><B>com.vladium.emma.rt.RT</B>
    +</PRE>
    +<HR>
    +<B>Deprecated.</B>&nbsp;<I>Use <A HREF="../../../../org/jacoco/agent/rt/IAgent.html" title="interface in org.jacoco.agent.rt"><CODE>IAgent</CODE></A> instead.</I>
    +<P>
    +<DL>
    +<DT><PRE><FONT SIZE="-1"><A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Deprecated.html" title="class or interface in java.lang">@Deprecated</A>
    +</FONT>public final class <B>RT</B><DT>extends <A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html" title="class or interface in java.lang">Object</A></DL>
    +</PRE>
    +
    +<P>
    +Compatibility layer for the EMMA runtime which allows to trigger dumps
    + through EMMA APIs. Note that even this class emulates an EMMA API the files
    + written are in JaCoCo execution data format.
    +<P>
    +
    +<P>
    +<HR>
    +
    +<P>
    +
    +<!-- ========== METHOD SUMMARY =========== -->
    +
    +<A NAME="method_summary"><!-- --></A>
    +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
    +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
    +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
    +<B>Method Summary</B></FONT></TH>
    +</TR>
    +<TR BGCOLOR="white" CLASS="TableRowColor">
    +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
    +<CODE>static&nbsp;void</CODE></FONT></TD>
    +<TD><CODE><B><A HREF="../../../../com/vladium/emma/rt/RT.html#dumpCoverageData(java.io.File, boolean)">dumpCoverageData</A></B>(<A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/io/File.html" title="class or interface in java.io">File</A>&nbsp;outFile,
    +                 boolean&nbsp;stopDataCollection)</CODE>
    +
    +<BR>
    +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<B>Deprecated.</B>&nbsp;Writes the current execution data to the given file in JaCoCo execution
    + data format.</TD>
    +</TR>
    +<TR BGCOLOR="white" CLASS="TableRowColor">
    +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
    +<CODE>static&nbsp;void</CODE></FONT></TD>
    +<TD><CODE><B><A HREF="../../../../com/vladium/emma/rt/RT.html#dumpCoverageData(java.io.File, boolean, boolean)">dumpCoverageData</A></B>(<A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/io/File.html" title="class or interface in java.io">File</A>&nbsp;outFile,
    +                 boolean&nbsp;merge,
    +                 boolean&nbsp;stopDataCollection)</CODE>
    +
    +<BR>
    +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<B>Deprecated.</B>&nbsp;Writes the current execution data to the given file in JaCoCo execution
    + data format.</TD>
    +</TR>
    +</TABLE>
    +&nbsp;<A NAME="methods_inherited_from_class_java.lang.Object"><!-- --></A>
    +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
    +<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
    +<TH ALIGN="left"><B>Methods inherited from class java.lang.<A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html" title="class or interface in java.lang">Object</A></B></TH>
    +</TR>
    +<TR BGCOLOR="white" CLASS="TableRowColor">
    +<TD><CODE><A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html#clone()" title="class or interface in java.lang">clone</A>, <A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html#equals(java.lang.Object)" title="class or interface in java.lang">equals</A>, <A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html#finalize()" title="class or interface in java.lang">finalize</A>, <A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html#getClass()" title="class or interface in java.lang">getClass</A>, <A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html#hashCode()" title="class or interface in java.lang">hashCode</A>, <A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html#notify()" title="class or interface in java.lang">notify</A>, <A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html#notifyAll()" title="class or interface in java.lang">notifyAll</A>, <A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html#toString()" title="class or interface in java.lang">toString</A>, <A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html#wait()" title="class or interface in java.lang">wait</A>, <A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html#wait(long)" title="class or interface in java.lang">wait</A>, <A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html#wait(long, int)" title="class or interface in java.lang">wait</A></CODE></TD>
    +</TR>
    +</TABLE>
    +&nbsp;
    +<P>
    +
    +<!-- ============ METHOD DETAIL ========== -->
    +
    +<A NAME="method_detail"><!-- --></A>
    +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
    +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
    +<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2">
    +<B>Method Detail</B></FONT></TH>
    +</TR>
    +</TABLE>
    +
    +<A NAME="dumpCoverageData(java.io.File, boolean, boolean)"><!-- --></A><H3>
    +dumpCoverageData</H3>
    +<PRE>
    +public static void <B>dumpCoverageData</B>(<A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/io/File.html" title="class or interface in java.io">File</A>&nbsp;outFile,
    +                                    boolean&nbsp;merge,
    +                                    boolean&nbsp;stopDataCollection)
    +                             throws <A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/io/IOException.html" title="class or interface in java.io">IOException</A></PRE>
    +<DL>
    +<DD><B>Deprecated.</B>&nbsp;<DD>Writes the current execution data to the given file in JaCoCo execution
    + data format.
    +<P>
    +<DD><DL>
    +<DT><B>Parameters:</B><DD><CODE>outFile</CODE> - file to write execution data to<DD><CODE>merge</CODE> - if <code>true</code>, execution data is appended to an
    +            existing file<DD><CODE>stopDataCollection</CODE> - ignored
    +<DT><B>Throws:</B>
    +<DD><CODE><A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/io/IOException.html" title="class or interface in java.io">IOException</A></CODE> - in case of problems with the file output</DL>
    +</DD>
    +</DL>
    +<HR>
    +
    +<A NAME="dumpCoverageData(java.io.File, boolean)"><!-- --></A><H3>
    +dumpCoverageData</H3>
    +<PRE>
    +public static void <B>dumpCoverageData</B>(<A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/io/File.html" title="class or interface in java.io">File</A>&nbsp;outFile,
    +                                    boolean&nbsp;stopDataCollection)
    +                             throws <A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/io/IOException.html" title="class or interface in java.io">IOException</A></PRE>
    +<DL>
    +<DD><B>Deprecated.</B>&nbsp;<DD>Writes the current execution data to the given file in JaCoCo execution
    + data format. If the file already exists new data is appended.
    +<P>
    +<DD><DL>
    +<DT><B>Parameters:</B><DD><CODE>outFile</CODE> - file to write execution data to<DD><CODE>stopDataCollection</CODE> - ignored
    +<DT><B>Throws:</B>
    +<DD><CODE><A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/io/IOException.html" title="class or interface in java.io">IOException</A></CODE> - in case of problems with the file output</DL>
    +</DD>
    +</DL>
    +<!-- ========= END OF CLASS DATA ========= -->
    +<HR>
    +
    +
    +<!-- ======= START OF BOTTOM NAVBAR ====== -->
    +<A NAME="navbar_bottom"><!-- --></A>
    +<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
    +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
    +<TR>
    +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
    +<A NAME="navbar_bottom_firstrow"><!-- --></A>
    +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
    +  <TR ALIGN="center" VALIGN="top">
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="class-use/RT.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
    +  </TR>
    +</TABLE>
    +</TD>
    +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
    +</EM>
    +</TD>
    +</TR>
    +
    +<TR>
    +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
    +&nbsp;PREV CLASS&nbsp;
    +&nbsp;NEXT CLASS</FONT></TD>
    +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
    +  <A HREF="../../../../index.html?com/vladium/emma/rt/RT.html" target="_top"><B>FRAMES</B></A>  &nbsp;
    +&nbsp;<A HREF="RT.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
    +&nbsp;<SCRIPT type="text/javascript">
    +  <!--
    +  if(window==top) {
    +    document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>');
    +  }
    +  //-->
    +</SCRIPT>
    +<NOSCRIPT>
    +  <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>
    +</NOSCRIPT>
    +
    +
    +</FONT></TD>
    +</TR>
    +<TR>
    +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
    +  SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;FIELD&nbsp;|&nbsp;CONSTR&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD>
    +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
    +DETAIL:&nbsp;FIELD&nbsp;|&nbsp;CONSTR&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD>
    +</TR>
    +</TABLE>
    +<A NAME="skip-navbar_bottom"></A>
    +<!-- ======== END OF BOTTOM NAVBAR ======= -->
    +
    +<HR>
    +Copyright &#169; 2009&#x2013;2024 Mountainminds GmbH & Co. KG. All rights reserved.
    +</BODY>
    +</HTML>
    diff --git a/jacoco/trunk/doc/api/com/vladium/emma/rt/class-use/RT.html b/jacoco/trunk/doc/api/com/vladium/emma/rt/class-use/RT.html
    new file mode 100644
    index 00000000000..dac4456c3ea
    --- /dev/null
    +++ b/jacoco/trunk/doc/api/com/vladium/emma/rt/class-use/RT.html
    @@ -0,0 +1,141 @@
    +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
    +<!--NewPage-->
    +<HTML>
    +<HEAD>
    +<!-- Generated by javadoc (build 1.5.0_22) on Wed Mar 27 16:45:42 UTC 2024 -->
    +<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
    +<TITLE>
    +Uses of Class com.vladium.emma.rt.RT (JaCoCo 0.8.12.202403270442 API)
    +</TITLE>
    +
    +
    +<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../../stylesheet.css" TITLE="Style">
    +
    +<SCRIPT type="text/javascript">
    +function windowTitle()
    +{
    +    parent.document.title="Uses of Class com.vladium.emma.rt.RT (JaCoCo 0.8.12.202403270442 API)";
    +}
    +</SCRIPT>
    +<NOSCRIPT>
    +</NOSCRIPT>
    +
    +</HEAD>
    +
    +<BODY BGCOLOR="white" onload="windowTitle();">
    +
    +
    +<!-- ========= START OF TOP NAVBAR ======= -->
    +<A NAME="navbar_top"><!-- --></A>
    +<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
    +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
    +<TR>
    +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
    +<A NAME="navbar_top_firstrow"><!-- --></A>
    +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
    +  <TR ALIGN="center" VALIGN="top">
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../com/vladium/emma/rt/RT.html" title="class in com.vladium.emma.rt"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
    +  </TR>
    +</TABLE>
    +</TD>
    +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
    +</EM>
    +</TD>
    +</TR>
    +
    +<TR>
    +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
    +&nbsp;PREV&nbsp;
    +&nbsp;NEXT</FONT></TD>
    +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
    +  <A HREF="../../../../../index.html?com/vladium/emma/rt/class-use/RT.html" target="_top"><B>FRAMES</B></A>  &nbsp;
    +&nbsp;<A HREF="RT.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
    +&nbsp;<SCRIPT type="text/javascript">
    +  <!--
    +  if(window==top) {
    +    document.writeln('<A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>');
    +  }
    +  //-->
    +</SCRIPT>
    +<NOSCRIPT>
    +  <A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>
    +</NOSCRIPT>
    +
    +
    +</FONT></TD>
    +</TR>
    +</TABLE>
    +<A NAME="skip-navbar_top"></A>
    +<!-- ========= END OF TOP NAVBAR ========= -->
    +
    +<HR>
    +<CENTER>
    +<H2>
    +<B>Uses of Class<br>com.vladium.emma.rt.RT</B></H2>
    +</CENTER>
    +No usage of com.vladium.emma.rt.RT
    +<P>
    +<HR>
    +
    +
    +<!-- ======= START OF BOTTOM NAVBAR ====== -->
    +<A NAME="navbar_bottom"><!-- --></A>
    +<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
    +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
    +<TR>
    +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
    +<A NAME="navbar_bottom_firstrow"><!-- --></A>
    +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
    +  <TR ALIGN="center" VALIGN="top">
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../com/vladium/emma/rt/RT.html" title="class in com.vladium.emma.rt"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
    +  </TR>
    +</TABLE>
    +</TD>
    +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
    +</EM>
    +</TD>
    +</TR>
    +
    +<TR>
    +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
    +&nbsp;PREV&nbsp;
    +&nbsp;NEXT</FONT></TD>
    +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
    +  <A HREF="../../../../../index.html?com/vladium/emma/rt/class-use/RT.html" target="_top"><B>FRAMES</B></A>  &nbsp;
    +&nbsp;<A HREF="RT.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
    +&nbsp;<SCRIPT type="text/javascript">
    +  <!--
    +  if(window==top) {
    +    document.writeln('<A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>');
    +  }
    +  //-->
    +</SCRIPT>
    +<NOSCRIPT>
    +  <A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>
    +</NOSCRIPT>
    +
    +
    +</FONT></TD>
    +</TR>
    +</TABLE>
    +<A NAME="skip-navbar_bottom"></A>
    +<!-- ======== END OF BOTTOM NAVBAR ======= -->
    +
    +<HR>
    +Copyright &#169; 2009&#x2013;2024 Mountainminds GmbH & Co. KG. All rights reserved.
    +</BODY>
    +</HTML>
    diff --git a/jacoco/trunk/doc/api/com/vladium/emma/rt/package-frame.html b/jacoco/trunk/doc/api/com/vladium/emma/rt/package-frame.html
    new file mode 100644
    index 00000000000..211344e333e
    --- /dev/null
    +++ b/jacoco/trunk/doc/api/com/vladium/emma/rt/package-frame.html
    @@ -0,0 +1,33 @@
    +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
    +<!--NewPage-->
    +<HTML>
    +<HEAD>
    +<!-- Generated by javadoc (build 1.5.0_22) on Wed Mar 27 16:45:42 UTC 2024 -->
    +<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
    +<TITLE>
    +com.vladium.emma.rt (JaCoCo 0.8.12.202403270442 API)
    +</TITLE>
    +
    +<META NAME="keywords" CONTENT="com.vladium.emma.rt package">
    +
    +<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../stylesheet.css" TITLE="Style">
    +
    +
    +</HEAD>
    +
    +<BODY BGCOLOR="white">
    +<FONT size="+1" CLASS="FrameTitleFont">
    +<A HREF="../../../../com/vladium/emma/rt/package-summary.html" target="classFrame">com.vladium.emma.rt</A></FONT>
    +<TABLE BORDER="0" WIDTH="100%" SUMMARY="">
    +<TR>
    +<TD NOWRAP><FONT size="+1" CLASS="FrameHeadingFont">
    +Classes</FONT>&nbsp;
    +<FONT CLASS="FrameItemFont">
    +<BR>
    +<A HREF="RT.html" title="class in com.vladium.emma.rt" target="classFrame">RT</A></FONT></TD>
    +</TR>
    +</TABLE>
    +
    +
    +</BODY>
    +</HTML>
    diff --git a/jacoco/trunk/doc/api/com/vladium/emma/rt/package-summary.html b/jacoco/trunk/doc/api/com/vladium/emma/rt/package-summary.html
    new file mode 100644
    index 00000000000..9226084d3df
    --- /dev/null
    +++ b/jacoco/trunk/doc/api/com/vladium/emma/rt/package-summary.html
    @@ -0,0 +1,170 @@
    +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
    +<!--NewPage-->
    +<HTML>
    +<HEAD>
    +<!-- Generated by javadoc (build 1.5.0_22) on Wed Mar 27 16:45:42 UTC 2024 -->
    +<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
    +<TITLE>
    +com.vladium.emma.rt (JaCoCo 0.8.12.202403270442 API)
    +</TITLE>
    +
    +<META NAME="keywords" CONTENT="com.vladium.emma.rt package">
    +
    +<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../stylesheet.css" TITLE="Style">
    +
    +<SCRIPT type="text/javascript">
    +function windowTitle()
    +{
    +    parent.document.title="com.vladium.emma.rt (JaCoCo 0.8.12.202403270442 API)";
    +}
    +</SCRIPT>
    +<NOSCRIPT>
    +</NOSCRIPT>
    +
    +</HEAD>
    +
    +<BODY BGCOLOR="white" onload="windowTitle();">
    +
    +
    +<!-- ========= START OF TOP NAVBAR ======= -->
    +<A NAME="navbar_top"><!-- --></A>
    +<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
    +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
    +<TR>
    +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
    +<A NAME="navbar_top_firstrow"><!-- --></A>
    +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
    +  <TR ALIGN="center" VALIGN="top">
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Package</B></FONT>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <FONT CLASS="NavBarFont1">Class</FONT>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-use.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
    +  </TR>
    +</TABLE>
    +</TD>
    +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
    +</EM>
    +</TD>
    +</TR>
    +
    +<TR>
    +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
    +&nbsp;PREV PACKAGE&nbsp;
    +&nbsp;<A HREF="../../../../org/jacoco/agent/package-summary.html"><B>NEXT PACKAGE</B></A></FONT></TD>
    +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
    +  <A HREF="../../../../index.html?com/vladium/emma/rt/package-summary.html" target="_top"><B>FRAMES</B></A>  &nbsp;
    +&nbsp;<A HREF="package-summary.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
    +&nbsp;<SCRIPT type="text/javascript">
    +  <!--
    +  if(window==top) {
    +    document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>');
    +  }
    +  //-->
    +</SCRIPT>
    +<NOSCRIPT>
    +  <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>
    +</NOSCRIPT>
    +
    +
    +</FONT></TD>
    +</TR>
    +</TABLE>
    +<A NAME="skip-navbar_top"></A>
    +<!-- ========= END OF TOP NAVBAR ========= -->
    +
    +<HR>
    +<H2>
    +Package com.vladium.emma.rt
    +</H2>
    +Compatibility API for EMMA runtime.
    +<P>
    +<B>See:</B>
    +<BR>
    +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<A HREF="#package_description"><B>Description</B></A>
    +<P>
    +
    +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
    +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
    +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
    +<B>Class Summary</B></FONT></TH>
    +</TR>
    +<TR BGCOLOR="white" CLASS="TableRowColor">
    +<TD WIDTH="15%"><B><A HREF="../../../../com/vladium/emma/rt/RT.html" title="class in com.vladium.emma.rt">RT</A></B></TD>
    +<TD><B>Deprecated.</B>&nbsp;<I>Use <A HREF="../../../../org/jacoco/agent/rt/IAgent.html" title="interface in org.jacoco.agent.rt"><CODE>IAgent</CODE></A> instead.</I></TD>
    +</TR>
    +</TABLE>
    +&nbsp;
    +
    +<P>
    +<A NAME="package_description"><!-- --></A><H2>
    +Package com.vladium.emma.rt Description
    +</H2>
    +
    +<P>
    +Compatibility API for EMMA runtime.
    +<P>
    +
    +<P>
    +<DL>
    +</DL>
    +<HR>
    +
    +
    +<!-- ======= START OF BOTTOM NAVBAR ====== -->
    +<A NAME="navbar_bottom"><!-- --></A>
    +<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
    +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
    +<TR>
    +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
    +<A NAME="navbar_bottom_firstrow"><!-- --></A>
    +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
    +  <TR ALIGN="center" VALIGN="top">
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Package</B></FONT>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <FONT CLASS="NavBarFont1">Class</FONT>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-use.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
    +  </TR>
    +</TABLE>
    +</TD>
    +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
    +</EM>
    +</TD>
    +</TR>
    +
    +<TR>
    +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
    +&nbsp;PREV PACKAGE&nbsp;
    +&nbsp;<A HREF="../../../../org/jacoco/agent/package-summary.html"><B>NEXT PACKAGE</B></A></FONT></TD>
    +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
    +  <A HREF="../../../../index.html?com/vladium/emma/rt/package-summary.html" target="_top"><B>FRAMES</B></A>  &nbsp;
    +&nbsp;<A HREF="package-summary.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
    +&nbsp;<SCRIPT type="text/javascript">
    +  <!--
    +  if(window==top) {
    +    document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>');
    +  }
    +  //-->
    +</SCRIPT>
    +<NOSCRIPT>
    +  <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>
    +</NOSCRIPT>
    +
    +
    +</FONT></TD>
    +</TR>
    +</TABLE>
    +<A NAME="skip-navbar_bottom"></A>
    +<!-- ======== END OF BOTTOM NAVBAR ======= -->
    +
    +<HR>
    +Copyright &#169; 2009&#x2013;2024 Mountainminds GmbH & Co. KG. All rights reserved.
    +</BODY>
    +</HTML>
    diff --git a/jacoco/trunk/doc/api/com/vladium/emma/rt/package-tree.html b/jacoco/trunk/doc/api/com/vladium/emma/rt/package-tree.html
    new file mode 100644
    index 00000000000..0f6af91e38d
    --- /dev/null
    +++ b/jacoco/trunk/doc/api/com/vladium/emma/rt/package-tree.html
    @@ -0,0 +1,150 @@
    +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
    +<!--NewPage-->
    +<HTML>
    +<HEAD>
    +<!-- Generated by javadoc (build 1.5.0_22) on Wed Mar 27 16:45:42 UTC 2024 -->
    +<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
    +<TITLE>
    +com.vladium.emma.rt Class Hierarchy (JaCoCo 0.8.12.202403270442 API)
    +</TITLE>
    +
    +
    +<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../stylesheet.css" TITLE="Style">
    +
    +<SCRIPT type="text/javascript">
    +function windowTitle()
    +{
    +    parent.document.title="com.vladium.emma.rt Class Hierarchy (JaCoCo 0.8.12.202403270442 API)";
    +}
    +</SCRIPT>
    +<NOSCRIPT>
    +</NOSCRIPT>
    +
    +</HEAD>
    +
    +<BODY BGCOLOR="white" onload="windowTitle();">
    +
    +
    +<!-- ========= START OF TOP NAVBAR ======= -->
    +<A NAME="navbar_top"><!-- --></A>
    +<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
    +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
    +<TR>
    +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
    +<A NAME="navbar_top_firstrow"><!-- --></A>
    +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
    +  <TR ALIGN="center" VALIGN="top">
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <FONT CLASS="NavBarFont1">Class</FONT>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <FONT CLASS="NavBarFont1">Use</FONT>&nbsp;</TD>
    +  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Tree</B></FONT>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
    +  </TR>
    +</TABLE>
    +</TD>
    +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
    +</EM>
    +</TD>
    +</TR>
    +
    +<TR>
    +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
    +&nbsp;PREV&nbsp;
    +&nbsp;<A HREF="../../../../org/jacoco/agent/package-tree.html"><B>NEXT</B></A></FONT></TD>
    +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
    +  <A HREF="../../../../index.html?com/vladium/emma/rt/package-tree.html" target="_top"><B>FRAMES</B></A>  &nbsp;
    +&nbsp;<A HREF="package-tree.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
    +&nbsp;<SCRIPT type="text/javascript">
    +  <!--
    +  if(window==top) {
    +    document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>');
    +  }
    +  //-->
    +</SCRIPT>
    +<NOSCRIPT>
    +  <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>
    +</NOSCRIPT>
    +
    +
    +</FONT></TD>
    +</TR>
    +</TABLE>
    +<A NAME="skip-navbar_top"></A>
    +<!-- ========= END OF TOP NAVBAR ========= -->
    +
    +<HR>
    +<CENTER>
    +<H2>
    +Hierarchy For Package com.vladium.emma.rt
    +</H2>
    +</CENTER>
    +<DL>
    +<DT><B>Package Hierarchies:</B><DD><A HREF="../../../../overview-tree.html">All Packages</A></DL>
    +<HR>
    +<H2>
    +Class Hierarchy
    +</H2>
    +<UL>
    +<LI TYPE="circle">java.lang.<A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html" title="class or interface in java.lang"><B>Object</B></A><UL>
    +<LI TYPE="circle">com.vladium.emma.rt.<A HREF="../../../../com/vladium/emma/rt/RT.html" title="class in com.vladium.emma.rt"><B>RT</B></A></UL>
    +</UL>
    +<HR>
    +
    +
    +<!-- ======= START OF BOTTOM NAVBAR ====== -->
    +<A NAME="navbar_bottom"><!-- --></A>
    +<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
    +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
    +<TR>
    +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
    +<A NAME="navbar_bottom_firstrow"><!-- --></A>
    +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
    +  <TR ALIGN="center" VALIGN="top">
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <FONT CLASS="NavBarFont1">Class</FONT>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <FONT CLASS="NavBarFont1">Use</FONT>&nbsp;</TD>
    +  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Tree</B></FONT>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
    +  </TR>
    +</TABLE>
    +</TD>
    +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
    +</EM>
    +</TD>
    +</TR>
    +
    +<TR>
    +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
    +&nbsp;PREV&nbsp;
    +&nbsp;<A HREF="../../../../org/jacoco/agent/package-tree.html"><B>NEXT</B></A></FONT></TD>
    +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
    +  <A HREF="../../../../index.html?com/vladium/emma/rt/package-tree.html" target="_top"><B>FRAMES</B></A>  &nbsp;
    +&nbsp;<A HREF="package-tree.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
    +&nbsp;<SCRIPT type="text/javascript">
    +  <!--
    +  if(window==top) {
    +    document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>');
    +  }
    +  //-->
    +</SCRIPT>
    +<NOSCRIPT>
    +  <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>
    +</NOSCRIPT>
    +
    +
    +</FONT></TD>
    +</TR>
    +</TABLE>
    +<A NAME="skip-navbar_bottom"></A>
    +<!-- ======== END OF BOTTOM NAVBAR ======= -->
    +
    +<HR>
    +Copyright &#169; 2009&#x2013;2024 Mountainminds GmbH & Co. KG. All rights reserved.
    +</BODY>
    +</HTML>
    diff --git a/jacoco/trunk/doc/api/com/vladium/emma/rt/package-use.html b/jacoco/trunk/doc/api/com/vladium/emma/rt/package-use.html
    new file mode 100644
    index 00000000000..aa707c70ff9
    --- /dev/null
    +++ b/jacoco/trunk/doc/api/com/vladium/emma/rt/package-use.html
    @@ -0,0 +1,141 @@
    +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
    +<!--NewPage-->
    +<HTML>
    +<HEAD>
    +<!-- Generated by javadoc (build 1.5.0_22) on Wed Mar 27 16:45:42 UTC 2024 -->
    +<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
    +<TITLE>
    +Uses of Package com.vladium.emma.rt (JaCoCo 0.8.12.202403270442 API)
    +</TITLE>
    +
    +
    +<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../stylesheet.css" TITLE="Style">
    +
    +<SCRIPT type="text/javascript">
    +function windowTitle()
    +{
    +    parent.document.title="Uses of Package com.vladium.emma.rt (JaCoCo 0.8.12.202403270442 API)";
    +}
    +</SCRIPT>
    +<NOSCRIPT>
    +</NOSCRIPT>
    +
    +</HEAD>
    +
    +<BODY BGCOLOR="white" onload="windowTitle();">
    +
    +
    +<!-- ========= START OF TOP NAVBAR ======= -->
    +<A NAME="navbar_top"><!-- --></A>
    +<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
    +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
    +<TR>
    +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
    +<A NAME="navbar_top_firstrow"><!-- --></A>
    +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
    +  <TR ALIGN="center" VALIGN="top">
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <FONT CLASS="NavBarFont1">Class</FONT>&nbsp;</TD>
    +  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
    +  </TR>
    +</TABLE>
    +</TD>
    +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
    +</EM>
    +</TD>
    +</TR>
    +
    +<TR>
    +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
    +&nbsp;PREV&nbsp;
    +&nbsp;NEXT</FONT></TD>
    +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
    +  <A HREF="../../../../index.html?com/vladium/emma/rt/package-use.html" target="_top"><B>FRAMES</B></A>  &nbsp;
    +&nbsp;<A HREF="package-use.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
    +&nbsp;<SCRIPT type="text/javascript">
    +  <!--
    +  if(window==top) {
    +    document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>');
    +  }
    +  //-->
    +</SCRIPT>
    +<NOSCRIPT>
    +  <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>
    +</NOSCRIPT>
    +
    +
    +</FONT></TD>
    +</TR>
    +</TABLE>
    +<A NAME="skip-navbar_top"></A>
    +<!-- ========= END OF TOP NAVBAR ========= -->
    +
    +<HR>
    +<CENTER>
    +<H2>
    +<B>Uses of Package<br>com.vladium.emma.rt</B></H2>
    +</CENTER>
    +No usage of com.vladium.emma.rt
    +<P>
    +<HR>
    +
    +
    +<!-- ======= START OF BOTTOM NAVBAR ====== -->
    +<A NAME="navbar_bottom"><!-- --></A>
    +<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
    +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
    +<TR>
    +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
    +<A NAME="navbar_bottom_firstrow"><!-- --></A>
    +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
    +  <TR ALIGN="center" VALIGN="top">
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <FONT CLASS="NavBarFont1">Class</FONT>&nbsp;</TD>
    +  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
    +  </TR>
    +</TABLE>
    +</TD>
    +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
    +</EM>
    +</TD>
    +</TR>
    +
    +<TR>
    +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
    +&nbsp;PREV&nbsp;
    +&nbsp;NEXT</FONT></TD>
    +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
    +  <A HREF="../../../../index.html?com/vladium/emma/rt/package-use.html" target="_top"><B>FRAMES</B></A>  &nbsp;
    +&nbsp;<A HREF="package-use.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
    +&nbsp;<SCRIPT type="text/javascript">
    +  <!--
    +  if(window==top) {
    +    document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>');
    +  }
    +  //-->
    +</SCRIPT>
    +<NOSCRIPT>
    +  <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>
    +</NOSCRIPT>
    +
    +
    +</FONT></TD>
    +</TR>
    +</TABLE>
    +<A NAME="skip-navbar_bottom"></A>
    +<!-- ======== END OF BOTTOM NAVBAR ======= -->
    +
    +<HR>
    +Copyright &#169; 2009&#x2013;2024 Mountainminds GmbH & Co. KG. All rights reserved.
    +</BODY>
    +</HTML>
    diff --git a/jacoco/trunk/doc/api/constant-values.html b/jacoco/trunk/doc/api/constant-values.html
    new file mode 100644
    index 00000000000..4865288c17e
    --- /dev/null
    +++ b/jacoco/trunk/doc/api/constant-values.html
    @@ -0,0 +1,375 @@
    +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
    +<!--NewPage-->
    +<HTML>
    +<HEAD>
    +<!-- Generated by javadoc (build 1.5.0_22) on Wed Mar 27 16:45:42 UTC 2024 -->
    +<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
    +<TITLE>
    +Constant Field Values (JaCoCo 0.8.12.202403270442 API)
    +</TITLE>
    +
    +
    +<LINK REL ="stylesheet" TYPE="text/css" HREF="stylesheet.css" TITLE="Style">
    +
    +<SCRIPT type="text/javascript">
    +function windowTitle()
    +{
    +    parent.document.title="Constant Field Values (JaCoCo 0.8.12.202403270442 API)";
    +}
    +</SCRIPT>
    +<NOSCRIPT>
    +</NOSCRIPT>
    +
    +</HEAD>
    +
    +<BODY BGCOLOR="white" onload="windowTitle();">
    +
    +
    +<!-- ========= START OF TOP NAVBAR ======= -->
    +<A NAME="navbar_top"><!-- --></A>
    +<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
    +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
    +<TR>
    +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
    +<A NAME="navbar_top_firstrow"><!-- --></A>
    +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
    +  <TR ALIGN="center" VALIGN="top">
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <FONT CLASS="NavBarFont1">Package</FONT>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <FONT CLASS="NavBarFont1">Class</FONT>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <FONT CLASS="NavBarFont1">Use</FONT>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="overview-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
    +  </TR>
    +</TABLE>
    +</TD>
    +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
    +</EM>
    +</TD>
    +</TR>
    +
    +<TR>
    +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
    +&nbsp;PREV&nbsp;
    +&nbsp;NEXT</FONT></TD>
    +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
    +  <A HREF="index.html?constant-values.html" target="_top"><B>FRAMES</B></A>  &nbsp;
    +&nbsp;<A HREF="constant-values.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
    +&nbsp;<SCRIPT type="text/javascript">
    +  <!--
    +  if(window==top) {
    +    document.writeln('<A HREF="allclasses-noframe.html"><B>All Classes</B></A>');
    +  }
    +  //-->
    +</SCRIPT>
    +<NOSCRIPT>
    +  <A HREF="allclasses-noframe.html"><B>All Classes</B></A>
    +</NOSCRIPT>
    +
    +
    +</FONT></TD>
    +</TR>
    +</TABLE>
    +<A NAME="skip-navbar_top"></A>
    +<!-- ========= END OF TOP NAVBAR ========= -->
    +
    +<HR>
    +<CENTER>
    +<H1>
    +Constant Field Values</H1>
    +</CENTER>
    +<HR SIZE="4" NOSHADE>
    +<B>Contents</B><UL>
    +<LI><A HREF="#org.jacoco">org.jacoco.*</A>
    +</UL>
    +
    +<A NAME="org.jacoco"><!-- --></A>
    +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
    +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
    +<TH ALIGN="left"><FONT SIZE="+2">
    +org.jacoco.*</FONT></TH>
    +</TR>
    +</TABLE>
    +
    +<P>
    +
    +<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
    +<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
    +<TH ALIGN="left" COLSPAN="3">org.jacoco.core.analysis.<A HREF="org/jacoco/core/analysis/ICounter.html" title="interface in org.jacoco.core.analysis">ICounter</A></TH>
    +</TR>
    +<TR BGCOLOR="white" CLASS="TableRowColor">
    +<A NAME="org.jacoco.core.analysis.ICounter.EMPTY"><!-- --></A><TD ALIGN="right"><FONT SIZE="-1">
    +<CODE>public&nbsp;static&nbsp;final&nbsp;int</CODE></FONT></TD>
    +<TD ALIGN="left"><CODE><A HREF="org/jacoco/core/analysis/ICounter.html#EMPTY">EMPTY</A></CODE></TD>
    +<TD ALIGN="right"><CODE>0</CODE></TD>
    +</TR>
    +<TR BGCOLOR="white" CLASS="TableRowColor">
    +<A NAME="org.jacoco.core.analysis.ICounter.FULLY_COVERED"><!-- --></A><TD ALIGN="right"><FONT SIZE="-1">
    +<CODE>public&nbsp;static&nbsp;final&nbsp;int</CODE></FONT></TD>
    +<TD ALIGN="left"><CODE><A HREF="org/jacoco/core/analysis/ICounter.html#FULLY_COVERED">FULLY_COVERED</A></CODE></TD>
    +<TD ALIGN="right"><CODE>2</CODE></TD>
    +</TR>
    +<TR BGCOLOR="white" CLASS="TableRowColor">
    +<A NAME="org.jacoco.core.analysis.ICounter.NOT_COVERED"><!-- --></A><TD ALIGN="right"><FONT SIZE="-1">
    +<CODE>public&nbsp;static&nbsp;final&nbsp;int</CODE></FONT></TD>
    +<TD ALIGN="left"><CODE><A HREF="org/jacoco/core/analysis/ICounter.html#NOT_COVERED">NOT_COVERED</A></CODE></TD>
    +<TD ALIGN="right"><CODE>1</CODE></TD>
    +</TR>
    +<TR BGCOLOR="white" CLASS="TableRowColor">
    +<A NAME="org.jacoco.core.analysis.ICounter.PARTLY_COVERED"><!-- --></A><TD ALIGN="right"><FONT SIZE="-1">
    +<CODE>public&nbsp;static&nbsp;final&nbsp;int</CODE></FONT></TD>
    +<TD ALIGN="left"><CODE><A HREF="org/jacoco/core/analysis/ICounter.html#PARTLY_COVERED">PARTLY_COVERED</A></CODE></TD>
    +<TD ALIGN="right"><CODE>3</CODE></TD>
    +</TR>
    +</FONT></TD>
    +</TR>
    +</TABLE>
    +
    +<P>
    +
    +<P>
    +
    +<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
    +<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
    +<TH ALIGN="left" COLSPAN="3">org.jacoco.core.analysis.<A HREF="org/jacoco/core/analysis/ISourceNode.html" title="interface in org.jacoco.core.analysis">ISourceNode</A></TH>
    +</TR>
    +<TR BGCOLOR="white" CLASS="TableRowColor">
    +<A NAME="org.jacoco.core.analysis.ISourceNode.UNKNOWN_LINE"><!-- --></A><TD ALIGN="right"><FONT SIZE="-1">
    +<CODE>public&nbsp;static&nbsp;final&nbsp;int</CODE></FONT></TD>
    +<TD ALIGN="left"><CODE><A HREF="org/jacoco/core/analysis/ISourceNode.html#UNKNOWN_LINE">UNKNOWN_LINE</A></CODE></TD>
    +<TD ALIGN="right"><CODE>-1</CODE></TD>
    +</TR>
    +</FONT></TD>
    +</TR>
    +</TABLE>
    +
    +<P>
    +
    +<P>
    +
    +<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
    +<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
    +<TH ALIGN="left" COLSPAN="3">org.jacoco.core.data.<A HREF="org/jacoco/core/data/ExecutionDataWriter.html" title="class in org.jacoco.core.data">ExecutionDataWriter</A></TH>
    +</TR>
    +<TR BGCOLOR="white" CLASS="TableRowColor">
    +<A NAME="org.jacoco.core.data.ExecutionDataWriter.BLOCK_EXECUTIONDATA"><!-- --></A><TD ALIGN="right"><FONT SIZE="-1">
    +<CODE>public&nbsp;static&nbsp;final&nbsp;byte</CODE></FONT></TD>
    +<TD ALIGN="left"><CODE><A HREF="org/jacoco/core/data/ExecutionDataWriter.html#BLOCK_EXECUTIONDATA">BLOCK_EXECUTIONDATA</A></CODE></TD>
    +<TD ALIGN="right"><CODE>17</CODE></TD>
    +</TR>
    +<TR BGCOLOR="white" CLASS="TableRowColor">
    +<A NAME="org.jacoco.core.data.ExecutionDataWriter.BLOCK_HEADER"><!-- --></A><TD ALIGN="right"><FONT SIZE="-1">
    +<CODE>public&nbsp;static&nbsp;final&nbsp;byte</CODE></FONT></TD>
    +<TD ALIGN="left"><CODE><A HREF="org/jacoco/core/data/ExecutionDataWriter.html#BLOCK_HEADER">BLOCK_HEADER</A></CODE></TD>
    +<TD ALIGN="right"><CODE>1</CODE></TD>
    +</TR>
    +<TR BGCOLOR="white" CLASS="TableRowColor">
    +<A NAME="org.jacoco.core.data.ExecutionDataWriter.BLOCK_SESSIONINFO"><!-- --></A><TD ALIGN="right"><FONT SIZE="-1">
    +<CODE>public&nbsp;static&nbsp;final&nbsp;byte</CODE></FONT></TD>
    +<TD ALIGN="left"><CODE><A HREF="org/jacoco/core/data/ExecutionDataWriter.html#BLOCK_SESSIONINFO">BLOCK_SESSIONINFO</A></CODE></TD>
    +<TD ALIGN="right"><CODE>16</CODE></TD>
    +</TR>
    +<TR BGCOLOR="white" CLASS="TableRowColor">
    +<A NAME="org.jacoco.core.data.ExecutionDataWriter.MAGIC_NUMBER"><!-- --></A><TD ALIGN="right"><FONT SIZE="-1">
    +<CODE>public&nbsp;static&nbsp;final&nbsp;char</CODE></FONT></TD>
    +<TD ALIGN="left"><CODE><A HREF="org/jacoco/core/data/ExecutionDataWriter.html#MAGIC_NUMBER">MAGIC_NUMBER</A></CODE></TD>
    +<TD ALIGN="right"><CODE>49344</CODE></TD>
    +</TR>
    +</FONT></TD>
    +</TR>
    +</TABLE>
    +
    +<P>
    +
    +<P>
    +
    +<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
    +<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
    +<TH ALIGN="left" COLSPAN="3">org.jacoco.core.runtime.<A HREF="org/jacoco/core/runtime/AgentOptions.html" title="class in org.jacoco.core.runtime">AgentOptions</A></TH>
    +</TR>
    +<TR BGCOLOR="white" CLASS="TableRowColor">
    +<A NAME="org.jacoco.core.runtime.AgentOptions.ADDRESS"><!-- --></A><TD ALIGN="right"><FONT SIZE="-1">
    +<CODE>public&nbsp;static&nbsp;final&nbsp;<A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A></CODE></FONT></TD>
    +<TD ALIGN="left"><CODE><A HREF="org/jacoco/core/runtime/AgentOptions.html#ADDRESS">ADDRESS</A></CODE></TD>
    +<TD ALIGN="right"><CODE>"address"</CODE></TD>
    +</TR>
    +<TR BGCOLOR="white" CLASS="TableRowColor">
    +<A NAME="org.jacoco.core.runtime.AgentOptions.APPEND"><!-- --></A><TD ALIGN="right"><FONT SIZE="-1">
    +<CODE>public&nbsp;static&nbsp;final&nbsp;<A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A></CODE></FONT></TD>
    +<TD ALIGN="left"><CODE><A HREF="org/jacoco/core/runtime/AgentOptions.html#APPEND">APPEND</A></CODE></TD>
    +<TD ALIGN="right"><CODE>"append"</CODE></TD>
    +</TR>
    +<TR BGCOLOR="white" CLASS="TableRowColor">
    +<A NAME="org.jacoco.core.runtime.AgentOptions.CLASSDUMPDIR"><!-- --></A><TD ALIGN="right"><FONT SIZE="-1">
    +<CODE>public&nbsp;static&nbsp;final&nbsp;<A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A></CODE></FONT></TD>
    +<TD ALIGN="left"><CODE><A HREF="org/jacoco/core/runtime/AgentOptions.html#CLASSDUMPDIR">CLASSDUMPDIR</A></CODE></TD>
    +<TD ALIGN="right"><CODE>"classdumpdir"</CODE></TD>
    +</TR>
    +<TR BGCOLOR="white" CLASS="TableRowColor">
    +<A NAME="org.jacoco.core.runtime.AgentOptions.DEFAULT_DESTFILE"><!-- --></A><TD ALIGN="right"><FONT SIZE="-1">
    +<CODE>public&nbsp;static&nbsp;final&nbsp;<A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A></CODE></FONT></TD>
    +<TD ALIGN="left"><CODE><A HREF="org/jacoco/core/runtime/AgentOptions.html#DEFAULT_DESTFILE">DEFAULT_DESTFILE</A></CODE></TD>
    +<TD ALIGN="right"><CODE>"jacoco.exec"</CODE></TD>
    +</TR>
    +<TR BGCOLOR="white" CLASS="TableRowColor">
    +<A NAME="org.jacoco.core.runtime.AgentOptions.DEFAULT_PORT"><!-- --></A><TD ALIGN="right"><FONT SIZE="-1">
    +<CODE>public&nbsp;static&nbsp;final&nbsp;int</CODE></FONT></TD>
    +<TD ALIGN="left"><CODE><A HREF="org/jacoco/core/runtime/AgentOptions.html#DEFAULT_PORT">DEFAULT_PORT</A></CODE></TD>
    +<TD ALIGN="right"><CODE>6300</CODE></TD>
    +</TR>
    +<TR BGCOLOR="white" CLASS="TableRowColor">
    +<A NAME="org.jacoco.core.runtime.AgentOptions.DESTFILE"><!-- --></A><TD ALIGN="right"><FONT SIZE="-1">
    +<CODE>public&nbsp;static&nbsp;final&nbsp;<A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A></CODE></FONT></TD>
    +<TD ALIGN="left"><CODE><A HREF="org/jacoco/core/runtime/AgentOptions.html#DESTFILE">DESTFILE</A></CODE></TD>
    +<TD ALIGN="right"><CODE>"destfile"</CODE></TD>
    +</TR>
    +<TR BGCOLOR="white" CLASS="TableRowColor">
    +<A NAME="org.jacoco.core.runtime.AgentOptions.DUMPONEXIT"><!-- --></A><TD ALIGN="right"><FONT SIZE="-1">
    +<CODE>public&nbsp;static&nbsp;final&nbsp;<A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A></CODE></FONT></TD>
    +<TD ALIGN="left"><CODE><A HREF="org/jacoco/core/runtime/AgentOptions.html#DUMPONEXIT">DUMPONEXIT</A></CODE></TD>
    +<TD ALIGN="right"><CODE>"dumponexit"</CODE></TD>
    +</TR>
    +<TR BGCOLOR="white" CLASS="TableRowColor">
    +<A NAME="org.jacoco.core.runtime.AgentOptions.EXCLCLASSLOADER"><!-- --></A><TD ALIGN="right"><FONT SIZE="-1">
    +<CODE>public&nbsp;static&nbsp;final&nbsp;<A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A></CODE></FONT></TD>
    +<TD ALIGN="left"><CODE><A HREF="org/jacoco/core/runtime/AgentOptions.html#EXCLCLASSLOADER">EXCLCLASSLOADER</A></CODE></TD>
    +<TD ALIGN="right"><CODE>"exclclassloader"</CODE></TD>
    +</TR>
    +<TR BGCOLOR="white" CLASS="TableRowColor">
    +<A NAME="org.jacoco.core.runtime.AgentOptions.EXCLUDES"><!-- --></A><TD ALIGN="right"><FONT SIZE="-1">
    +<CODE>public&nbsp;static&nbsp;final&nbsp;<A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A></CODE></FONT></TD>
    +<TD ALIGN="left"><CODE><A HREF="org/jacoco/core/runtime/AgentOptions.html#EXCLUDES">EXCLUDES</A></CODE></TD>
    +<TD ALIGN="right"><CODE>"excludes"</CODE></TD>
    +</TR>
    +<TR BGCOLOR="white" CLASS="TableRowColor">
    +<A NAME="org.jacoco.core.runtime.AgentOptions.INCLBOOTSTRAPCLASSES"><!-- --></A><TD ALIGN="right"><FONT SIZE="-1">
    +<CODE>public&nbsp;static&nbsp;final&nbsp;<A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A></CODE></FONT></TD>
    +<TD ALIGN="left"><CODE><A HREF="org/jacoco/core/runtime/AgentOptions.html#INCLBOOTSTRAPCLASSES">INCLBOOTSTRAPCLASSES</A></CODE></TD>
    +<TD ALIGN="right"><CODE>"inclbootstrapclasses"</CODE></TD>
    +</TR>
    +<TR BGCOLOR="white" CLASS="TableRowColor">
    +<A NAME="org.jacoco.core.runtime.AgentOptions.INCLNOLOCATIONCLASSES"><!-- --></A><TD ALIGN="right"><FONT SIZE="-1">
    +<CODE>public&nbsp;static&nbsp;final&nbsp;<A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A></CODE></FONT></TD>
    +<TD ALIGN="left"><CODE><A HREF="org/jacoco/core/runtime/AgentOptions.html#INCLNOLOCATIONCLASSES">INCLNOLOCATIONCLASSES</A></CODE></TD>
    +<TD ALIGN="right"><CODE>"inclnolocationclasses"</CODE></TD>
    +</TR>
    +<TR BGCOLOR="white" CLASS="TableRowColor">
    +<A NAME="org.jacoco.core.runtime.AgentOptions.INCLUDES"><!-- --></A><TD ALIGN="right"><FONT SIZE="-1">
    +<CODE>public&nbsp;static&nbsp;final&nbsp;<A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A></CODE></FONT></TD>
    +<TD ALIGN="left"><CODE><A HREF="org/jacoco/core/runtime/AgentOptions.html#INCLUDES">INCLUDES</A></CODE></TD>
    +<TD ALIGN="right"><CODE>"includes"</CODE></TD>
    +</TR>
    +<TR BGCOLOR="white" CLASS="TableRowColor">
    +<A NAME="org.jacoco.core.runtime.AgentOptions.JMX"><!-- --></A><TD ALIGN="right"><FONT SIZE="-1">
    +<CODE>public&nbsp;static&nbsp;final&nbsp;<A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A></CODE></FONT></TD>
    +<TD ALIGN="left"><CODE><A HREF="org/jacoco/core/runtime/AgentOptions.html#JMX">JMX</A></CODE></TD>
    +<TD ALIGN="right"><CODE>"jmx"</CODE></TD>
    +</TR>
    +<TR BGCOLOR="white" CLASS="TableRowColor">
    +<A NAME="org.jacoco.core.runtime.AgentOptions.OUTPUT"><!-- --></A><TD ALIGN="right"><FONT SIZE="-1">
    +<CODE>public&nbsp;static&nbsp;final&nbsp;<A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A></CODE></FONT></TD>
    +<TD ALIGN="left"><CODE><A HREF="org/jacoco/core/runtime/AgentOptions.html#OUTPUT">OUTPUT</A></CODE></TD>
    +<TD ALIGN="right"><CODE>"output"</CODE></TD>
    +</TR>
    +<TR BGCOLOR="white" CLASS="TableRowColor">
    +<A NAME="org.jacoco.core.runtime.AgentOptions.PORT"><!-- --></A><TD ALIGN="right"><FONT SIZE="-1">
    +<CODE>public&nbsp;static&nbsp;final&nbsp;<A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A></CODE></FONT></TD>
    +<TD ALIGN="left"><CODE><A HREF="org/jacoco/core/runtime/AgentOptions.html#PORT">PORT</A></CODE></TD>
    +<TD ALIGN="right"><CODE>"port"</CODE></TD>
    +</TR>
    +<TR BGCOLOR="white" CLASS="TableRowColor">
    +<A NAME="org.jacoco.core.runtime.AgentOptions.SESSIONID"><!-- --></A><TD ALIGN="right"><FONT SIZE="-1">
    +<CODE>public&nbsp;static&nbsp;final&nbsp;<A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A></CODE></FONT></TD>
    +<TD ALIGN="left"><CODE><A HREF="org/jacoco/core/runtime/AgentOptions.html#SESSIONID">SESSIONID</A></CODE></TD>
    +<TD ALIGN="right"><CODE>"sessionid"</CODE></TD>
    +</TR>
    +</FONT></TD>
    +</TR>
    +</TABLE>
    +
    +<P>
    +
    +<P>
    +
    +<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
    +<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
    +<TH ALIGN="left" COLSPAN="3">org.jacoco.core.runtime.<A HREF="org/jacoco/core/runtime/RemoteControlWriter.html" title="class in org.jacoco.core.runtime">RemoteControlWriter</A></TH>
    +</TR>
    +<TR BGCOLOR="white" CLASS="TableRowColor">
    +<A NAME="org.jacoco.core.runtime.RemoteControlWriter.BLOCK_CMDDUMP"><!-- --></A><TD ALIGN="right"><FONT SIZE="-1">
    +<CODE>public&nbsp;static&nbsp;final&nbsp;byte</CODE></FONT></TD>
    +<TD ALIGN="left"><CODE><A HREF="org/jacoco/core/runtime/RemoteControlWriter.html#BLOCK_CMDDUMP">BLOCK_CMDDUMP</A></CODE></TD>
    +<TD ALIGN="right"><CODE>64</CODE></TD>
    +</TR>
    +<TR BGCOLOR="white" CLASS="TableRowColor">
    +<A NAME="org.jacoco.core.runtime.RemoteControlWriter.BLOCK_CMDOK"><!-- --></A><TD ALIGN="right"><FONT SIZE="-1">
    +<CODE>public&nbsp;static&nbsp;final&nbsp;byte</CODE></FONT></TD>
    +<TD ALIGN="left"><CODE><A HREF="org/jacoco/core/runtime/RemoteControlWriter.html#BLOCK_CMDOK">BLOCK_CMDOK</A></CODE></TD>
    +<TD ALIGN="right"><CODE>32</CODE></TD>
    +</TR>
    +</FONT></TD>
    +</TR>
    +</TABLE>
    +
    +<P>
    +
    +<P>
    +<HR>
    +
    +
    +<!-- ======= START OF BOTTOM NAVBAR ====== -->
    +<A NAME="navbar_bottom"><!-- --></A>
    +<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
    +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
    +<TR>
    +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
    +<A NAME="navbar_bottom_firstrow"><!-- --></A>
    +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
    +  <TR ALIGN="center" VALIGN="top">
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <FONT CLASS="NavBarFont1">Package</FONT>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <FONT CLASS="NavBarFont1">Class</FONT>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <FONT CLASS="NavBarFont1">Use</FONT>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="overview-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
    +  </TR>
    +</TABLE>
    +</TD>
    +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
    +</EM>
    +</TD>
    +</TR>
    +
    +<TR>
    +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
    +&nbsp;PREV&nbsp;
    +&nbsp;NEXT</FONT></TD>
    +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
    +  <A HREF="index.html?constant-values.html" target="_top"><B>FRAMES</B></A>  &nbsp;
    +&nbsp;<A HREF="constant-values.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
    +&nbsp;<SCRIPT type="text/javascript">
    +  <!--
    +  if(window==top) {
    +    document.writeln('<A HREF="allclasses-noframe.html"><B>All Classes</B></A>');
    +  }
    +  //-->
    +</SCRIPT>
    +<NOSCRIPT>
    +  <A HREF="allclasses-noframe.html"><B>All Classes</B></A>
    +</NOSCRIPT>
    +
    +
    +</FONT></TD>
    +</TR>
    +</TABLE>
    +<A NAME="skip-navbar_bottom"></A>
    +<!-- ======== END OF BOTTOM NAVBAR ======= -->
    +
    +<HR>
    +Copyright &#169; 2009&#x2013;2024 Mountainminds GmbH & Co. KG. All rights reserved.
    +</BODY>
    +</HTML>
    diff --git a/jacoco/trunk/doc/api/deprecated-list.html b/jacoco/trunk/doc/api/deprecated-list.html
    new file mode 100644
    index 00000000000..d8d4353318a
    --- /dev/null
    +++ b/jacoco/trunk/doc/api/deprecated-list.html
    @@ -0,0 +1,158 @@
    +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
    +<!--NewPage-->
    +<HTML>
    +<HEAD>
    +<!-- Generated by javadoc (build 1.5.0_22) on Wed Mar 27 16:45:42 UTC 2024 -->
    +<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
    +<TITLE>
    +Deprecated List (JaCoCo 0.8.12.202403270442 API)
    +</TITLE>
    +
    +
    +<LINK REL ="stylesheet" TYPE="text/css" HREF="stylesheet.css" TITLE="Style">
    +
    +<SCRIPT type="text/javascript">
    +function windowTitle()
    +{
    +    parent.document.title="Deprecated List (JaCoCo 0.8.12.202403270442 API)";
    +}
    +</SCRIPT>
    +<NOSCRIPT>
    +</NOSCRIPT>
    +
    +</HEAD>
    +
    +<BODY BGCOLOR="white" onload="windowTitle();">
    +
    +
    +<!-- ========= START OF TOP NAVBAR ======= -->
    +<A NAME="navbar_top"><!-- --></A>
    +<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
    +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
    +<TR>
    +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
    +<A NAME="navbar_top_firstrow"><!-- --></A>
    +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
    +  <TR ALIGN="center" VALIGN="top">
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <FONT CLASS="NavBarFont1">Package</FONT>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <FONT CLASS="NavBarFont1">Class</FONT>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <FONT CLASS="NavBarFont1">Use</FONT>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="overview-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Deprecated</B></FONT>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
    +  </TR>
    +</TABLE>
    +</TD>
    +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
    +</EM>
    +</TD>
    +</TR>
    +
    +<TR>
    +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
    +&nbsp;PREV&nbsp;
    +&nbsp;NEXT</FONT></TD>
    +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
    +  <A HREF="index.html?deprecated-list.html" target="_top"><B>FRAMES</B></A>  &nbsp;
    +&nbsp;<A HREF="deprecated-list.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
    +&nbsp;<SCRIPT type="text/javascript">
    +  <!--
    +  if(window==top) {
    +    document.writeln('<A HREF="allclasses-noframe.html"><B>All Classes</B></A>');
    +  }
    +  //-->
    +</SCRIPT>
    +<NOSCRIPT>
    +  <A HREF="allclasses-noframe.html"><B>All Classes</B></A>
    +</NOSCRIPT>
    +
    +
    +</FONT></TD>
    +</TR>
    +</TABLE>
    +<A NAME="skip-navbar_top"></A>
    +<!-- ========= END OF TOP NAVBAR ========= -->
    +
    +<HR>
    +<CENTER>
    +<H2>
    +<B>Deprecated API</B></H2>
    +</CENTER>
    +<HR SIZE="4" NOSHADE>
    +<B>Contents</B><UL>
    +<LI><A HREF="#class">Deprecated Classes</A>
    +</UL>
    +
    +<A NAME="class"><!-- --></A>
    +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
    +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
    +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
    +<B>Deprecated Classes</B></FONT></TH>
    +</TR>
    +<TR BGCOLOR="white" CLASS="TableRowColor">
    +<TD><A HREF="com/vladium/emma/rt/RT.html" title="class in com.vladium.emma.rt">com.vladium.emma.rt.RT</A>
    +<BR>
    +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<I>Use <A HREF="org/jacoco/agent/rt/IAgent.html" title="interface in org.jacoco.agent.rt"><CODE>IAgent</CODE></A> instead.</I>&nbsp;</TD>
    +</TR>
    +</TABLE>
    +&nbsp;
    +<P>
    +<HR>
    +
    +
    +<!-- ======= START OF BOTTOM NAVBAR ====== -->
    +<A NAME="navbar_bottom"><!-- --></A>
    +<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
    +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
    +<TR>
    +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
    +<A NAME="navbar_bottom_firstrow"><!-- --></A>
    +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
    +  <TR ALIGN="center" VALIGN="top">
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <FONT CLASS="NavBarFont1">Package</FONT>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <FONT CLASS="NavBarFont1">Class</FONT>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <FONT CLASS="NavBarFont1">Use</FONT>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="overview-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Deprecated</B></FONT>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
    +  </TR>
    +</TABLE>
    +</TD>
    +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
    +</EM>
    +</TD>
    +</TR>
    +
    +<TR>
    +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
    +&nbsp;PREV&nbsp;
    +&nbsp;NEXT</FONT></TD>
    +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
    +  <A HREF="index.html?deprecated-list.html" target="_top"><B>FRAMES</B></A>  &nbsp;
    +&nbsp;<A HREF="deprecated-list.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
    +&nbsp;<SCRIPT type="text/javascript">
    +  <!--
    +  if(window==top) {
    +    document.writeln('<A HREF="allclasses-noframe.html"><B>All Classes</B></A>');
    +  }
    +  //-->
    +</SCRIPT>
    +<NOSCRIPT>
    +  <A HREF="allclasses-noframe.html"><B>All Classes</B></A>
    +</NOSCRIPT>
    +
    +
    +</FONT></TD>
    +</TR>
    +</TABLE>
    +<A NAME="skip-navbar_bottom"></A>
    +<!-- ======== END OF BOTTOM NAVBAR ======= -->
    +
    +<HR>
    +Copyright &#169; 2009&#x2013;2024 Mountainminds GmbH & Co. KG. All rights reserved.
    +</BODY>
    +</HTML>
    diff --git a/jacoco/trunk/doc/api/help-doc.html b/jacoco/trunk/doc/api/help-doc.html
    new file mode 100644
    index 00000000000..bcb95ff2e68
    --- /dev/null
    +++ b/jacoco/trunk/doc/api/help-doc.html
    @@ -0,0 +1,220 @@
    +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
    +<!--NewPage-->
    +<HTML>
    +<HEAD>
    +<!-- Generated by javadoc (build 1.5.0_22) on Wed Mar 27 16:45:42 UTC 2024 -->
    +<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
    +<TITLE>
    +API Help (JaCoCo 0.8.12.202403270442 API)
    +</TITLE>
    +
    +
    +<LINK REL ="stylesheet" TYPE="text/css" HREF="stylesheet.css" TITLE="Style">
    +
    +<SCRIPT type="text/javascript">
    +function windowTitle()
    +{
    +    parent.document.title="API Help (JaCoCo 0.8.12.202403270442 API)";
    +}
    +</SCRIPT>
    +<NOSCRIPT>
    +</NOSCRIPT>
    +
    +</HEAD>
    +
    +<BODY BGCOLOR="white" onload="windowTitle();">
    +
    +
    +<!-- ========= START OF TOP NAVBAR ======= -->
    +<A NAME="navbar_top"><!-- --></A>
    +<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
    +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
    +<TR>
    +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
    +<A NAME="navbar_top_firstrow"><!-- --></A>
    +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
    +  <TR ALIGN="center" VALIGN="top">
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <FONT CLASS="NavBarFont1">Package</FONT>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <FONT CLASS="NavBarFont1">Class</FONT>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <FONT CLASS="NavBarFont1">Use</FONT>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="overview-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Help</B></FONT>&nbsp;</TD>
    +  </TR>
    +</TABLE>
    +</TD>
    +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
    +</EM>
    +</TD>
    +</TR>
    +
    +<TR>
    +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
    +&nbsp;PREV&nbsp;
    +&nbsp;NEXT</FONT></TD>
    +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
    +  <A HREF="index.html?help-doc.html" target="_top"><B>FRAMES</B></A>  &nbsp;
    +&nbsp;<A HREF="help-doc.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
    +&nbsp;<SCRIPT type="text/javascript">
    +  <!--
    +  if(window==top) {
    +    document.writeln('<A HREF="allclasses-noframe.html"><B>All Classes</B></A>');
    +  }
    +  //-->
    +</SCRIPT>
    +<NOSCRIPT>
    +  <A HREF="allclasses-noframe.html"><B>All Classes</B></A>
    +</NOSCRIPT>
    +
    +
    +</FONT></TD>
    +</TR>
    +</TABLE>
    +<A NAME="skip-navbar_top"></A>
    +<!-- ========= END OF TOP NAVBAR ========= -->
    +
    +<HR>
    +<CENTER>
    +<H1>
    +How This API Document Is Organized</H1>
    +</CENTER>
    +This API (Application Programming Interface) document has pages corresponding to the items in the navigation bar, described as follows.<H3>
    +Overview</H3>
    +<BLOCKQUOTE>
    +
    +<P>
    +The <A HREF="overview-summary.html">Overview</A> page is the front page of this API document and provides a list of all packages with a summary for each.  This page can also contain an overall description of the set of packages.</BLOCKQUOTE>
    +<H3>
    +Package</H3>
    +<BLOCKQUOTE>
    +
    +<P>
    +Each package has a page that contains a list of its classes and interfaces, with a summary for each. This page can contain four categories:<UL>
    +<LI>Interfaces (italic)<LI>Classes<LI>Enums<LI>Exceptions<LI>Errors<LI>Annotation Types</UL>
    +</BLOCKQUOTE>
    +<H3>
    +Class/Interface</H3>
    +<BLOCKQUOTE>
    +
    +<P>
    +Each class, interface, nested class and nested interface has its own separate page. Each of these pages has three sections consisting of a class/interface description, summary tables, and detailed member descriptions:<UL>
    +<LI>Class inheritance diagram<LI>Direct Subclasses<LI>All Known Subinterfaces<LI>All Known Implementing Classes<LI>Class/interface declaration<LI>Class/interface description
    +<P>
    +<LI>Nested Class Summary<LI>Field Summary<LI>Constructor Summary<LI>Method Summary
    +<P>
    +<LI>Field Detail<LI>Constructor Detail<LI>Method Detail</UL>
    +Each summary entry contains the first sentence from the detailed description for that item. The summary entries are alphabetical, while the detailed descriptions are in the order they appear in the source code. This preserves the logical groupings established by the programmer.</BLOCKQUOTE>
    +</BLOCKQUOTE>
    +<H3>
    +Annotation Type</H3>
    +<BLOCKQUOTE>
    +
    +<P>
    +Each annotation type has its own separate page with the following sections:<UL>
    +<LI>Annotation Type declaration<LI>Annotation Type description<LI>Required Element Summary<LI>Optional Element Summary<LI>Element Detail</UL>
    +</BLOCKQUOTE>
    +</BLOCKQUOTE>
    +<H3>
    +Enum</H3>
    +<BLOCKQUOTE>
    +
    +<P>
    +Each enum has its own separate page with the following sections:<UL>
    +<LI>Enum declaration<LI>Enum description<LI>Enum Constant Summary<LI>Enum Constant Detail</UL>
    +</BLOCKQUOTE>
    +<H3>
    +Use</H3>
    +<BLOCKQUOTE>
    +Each documented package, class and interface has its own Use page.  This page describes what packages, classes, methods, constructors and fields use any part of the given class or package. Given a class or interface A, its Use page includes subclasses of A, fields declared as A, methods that return A, and methods and constructors with parameters of type A.  You can access this page by first going to the package, class or interface, then clicking on the "Use" link in the navigation bar.</BLOCKQUOTE>
    +<H3>
    +Tree (Class Hierarchy)</H3>
    +<BLOCKQUOTE>
    +There is a <A HREF="overview-tree.html">Class Hierarchy</A> page for all packages, plus a hierarchy for each package. Each hierarchy page contains a list of classes and a list of interfaces. The classes are organized by inheritance structure starting with <code>java.lang.Object</code>. The interfaces do not inherit from <code>java.lang.Object</code>.<UL>
    +<LI>When viewing the Overview page, clicking on "Tree" displays the hierarchy for all packages.<LI>When viewing a particular package, class or interface page, clicking "Tree" displays the hierarchy for only that package.</UL>
    +</BLOCKQUOTE>
    +<H3>
    +Deprecated API</H3>
    +<BLOCKQUOTE>
    +The <A HREF="deprecated-list.html">Deprecated API</A> page lists all of the API that have been deprecated. A deprecated API is not recommended for use, generally due to improvements, and a replacement API is usually given. Deprecated APIs may be removed in future implementations.</BLOCKQUOTE>
    +<H3>
    +Index</H3>
    +<BLOCKQUOTE>
    +The <A HREF="index-all.html">Index</A> contains an alphabetic list of all classes, interfaces, constructors, methods, and fields.</BLOCKQUOTE>
    +<H3>
    +Prev/Next</H3>
    +These links take you to the next or previous class, interface, package, or related page.<H3>
    +Frames/No Frames</H3>
    +These links show and hide the HTML frames.  All pages are available with or without frames.
    +<P>
    +<H3>
    +Serialized Form</H3>
    +Each serializable or externalizable class has a description of its serialization fields and methods. This information is of interest to re-implementors, not to developers using the API. While there is no link in the navigation bar, you can get to this information by going to any serialized class and clicking "Serialized Form" in the "See also" section of the class description.
    +<P>
    +<H3>
    +Constant Field Values</H3>
    +The <a href="constant-values.html">Constant Field Values</a> page lists the static final fields and their values.
    +<P>
    +<FONT SIZE="-1">
    +<EM>
    +This help file applies to API documentation generated using the standard doclet.</EM>
    +</FONT>
    +<BR>
    +<HR>
    +
    +
    +<!-- ======= START OF BOTTOM NAVBAR ====== -->
    +<A NAME="navbar_bottom"><!-- --></A>
    +<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
    +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
    +<TR>
    +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
    +<A NAME="navbar_bottom_firstrow"><!-- --></A>
    +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
    +  <TR ALIGN="center" VALIGN="top">
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <FONT CLASS="NavBarFont1">Package</FONT>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <FONT CLASS="NavBarFont1">Class</FONT>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <FONT CLASS="NavBarFont1">Use</FONT>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="overview-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Help</B></FONT>&nbsp;</TD>
    +  </TR>
    +</TABLE>
    +</TD>
    +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
    +</EM>
    +</TD>
    +</TR>
    +
    +<TR>
    +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
    +&nbsp;PREV&nbsp;
    +&nbsp;NEXT</FONT></TD>
    +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
    +  <A HREF="index.html?help-doc.html" target="_top"><B>FRAMES</B></A>  &nbsp;
    +&nbsp;<A HREF="help-doc.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
    +&nbsp;<SCRIPT type="text/javascript">
    +  <!--
    +  if(window==top) {
    +    document.writeln('<A HREF="allclasses-noframe.html"><B>All Classes</B></A>');
    +  }
    +  //-->
    +</SCRIPT>
    +<NOSCRIPT>
    +  <A HREF="allclasses-noframe.html"><B>All Classes</B></A>
    +</NOSCRIPT>
    +
    +
    +</FONT></TD>
    +</TR>
    +</TABLE>
    +<A NAME="skip-navbar_bottom"></A>
    +<!-- ======== END OF BOTTOM NAVBAR ======= -->
    +
    +<HR>
    +Copyright &#169; 2009&#x2013;2024 Mountainminds GmbH & Co. KG. All rights reserved.
    +</BODY>
    +</HTML>
    diff --git a/jacoco/trunk/doc/api/index-all.html b/jacoco/trunk/doc/api/index-all.html
    new file mode 100644
    index 00000000000..d09127ac4b6
    --- /dev/null
    +++ b/jacoco/trunk/doc/api/index-all.html
    @@ -0,0 +1,1483 @@
    +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
    +<!--NewPage-->
    +<HTML>
    +<HEAD>
    +<!-- Generated by javadoc (build 1.5.0_22) on Wed Mar 27 16:45:42 UTC 2024 -->
    +<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
    +<TITLE>
    +Index (JaCoCo 0.8.12.202403270442 API)
    +</TITLE>
    +
    +
    +<LINK REL ="stylesheet" TYPE="text/css" HREF="./stylesheet.css" TITLE="Style">
    +
    +<SCRIPT type="text/javascript">
    +function windowTitle()
    +{
    +    parent.document.title="Index (JaCoCo 0.8.12.202403270442 API)";
    +}
    +</SCRIPT>
    +<NOSCRIPT>
    +</NOSCRIPT>
    +
    +</HEAD>
    +
    +<BODY BGCOLOR="white" onload="windowTitle();">
    +
    +
    +<!-- ========= START OF TOP NAVBAR ======= -->
    +<A NAME="navbar_top"><!-- --></A>
    +<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
    +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
    +<TR>
    +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
    +<A NAME="navbar_top_firstrow"><!-- --></A>
    +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
    +  <TR ALIGN="center" VALIGN="top">
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="./overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <FONT CLASS="NavBarFont1">Package</FONT>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <FONT CLASS="NavBarFont1">Class</FONT>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <FONT CLASS="NavBarFont1">Use</FONT>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="./overview-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="./deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Index</B></FONT>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="./help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
    +  </TR>
    +</TABLE>
    +</TD>
    +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
    +</EM>
    +</TD>
    +</TR>
    +
    +<TR>
    +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
    +&nbsp;PREV&nbsp;
    +&nbsp;NEXT</FONT></TD>
    +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
    +  <A HREF="./index.html?index-all.html" target="_top"><B>FRAMES</B></A>  &nbsp;
    +&nbsp;<A HREF="index-all.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
    +&nbsp;<SCRIPT type="text/javascript">
    +  <!--
    +  if(window==top) {
    +    document.writeln('<A HREF="./allclasses-noframe.html"><B>All Classes</B></A>');
    +  }
    +  //-->
    +</SCRIPT>
    +<NOSCRIPT>
    +  <A HREF="./allclasses-noframe.html"><B>All Classes</B></A>
    +</NOSCRIPT>
    +
    +
    +</FONT></TD>
    +</TR>
    +</TABLE>
    +<A NAME="skip-navbar_top"></A>
    +<!-- ========= END OF TOP NAVBAR ========= -->
    +
    +<A HREF="#_A_">A</A> <A HREF="#_B_">B</A> <A HREF="#_C_">C</A> <A HREF="#_D_">D</A> <A HREF="#_E_">E</A> <A HREF="#_F_">F</A> <A HREF="#_G_">G</A> <A HREF="#_H_">H</A> <A HREF="#_I_">I</A> <A HREF="#_J_">J</A> <A HREF="#_L_">L</A> <A HREF="#_M_">M</A> <A HREF="#_N_">N</A> <A HREF="#_O_">O</A> <A HREF="#_P_">P</A> <A HREF="#_R_">R</A> <A HREF="#_S_">S</A> <A HREF="#_T_">T</A> <A HREF="#_U_">U</A> <A HREF="#_V_">V</A> <A HREF="#_W_">W</A> <A HREF="#_X_">X</A> <A HREF="#_Z_">Z</A> <HR>
    +<A NAME="_A_"><!-- --></A><H2>
    +<B>A</B></H2>
    +<DL>
    +<DT><A HREF="./org/jacoco/core/runtime/AbstractRuntime.html" title="class in org.jacoco.core.runtime"><B>AbstractRuntime</B></A> - Class in <A HREF="./org/jacoco/core/runtime/package-summary.html">org.jacoco.core.runtime</A><DD>Base <A HREF="./org/jacoco/core/runtime/IRuntime.html" title="interface in org.jacoco.core.runtime"><CODE>IRuntime</CODE></A> implementation.<DT><A HREF="./org/jacoco/core/runtime/AbstractRuntime.html#AbstractRuntime()"><B>AbstractRuntime()</B></A> - 
    +Constructor for class org.jacoco.core.runtime.<A HREF="./org/jacoco/core/runtime/AbstractRuntime.html" title="class in org.jacoco.core.runtime">AbstractRuntime</A>
    +<DD>&nbsp;
    +<DT><A HREF="./org/jacoco/core/data/ExecutionDataStore.html#accept(org.jacoco.core.data.IExecutionDataVisitor)"><B>accept(IExecutionDataVisitor)</B></A> - 
    +Method in class org.jacoco.core.data.<A HREF="./org/jacoco/core/data/ExecutionDataStore.html" title="class in org.jacoco.core.data">ExecutionDataStore</A>
    +<DD>Writes the content of the store to the given visitor interface.
    +<DT><A HREF="./org/jacoco/core/data/SessionInfoStore.html#accept(org.jacoco.core.data.ISessionInfoVisitor)"><B>accept(ISessionInfoVisitor)</B></A> - 
    +Method in class org.jacoco.core.data.<A HREF="./org/jacoco/core/data/SessionInfoStore.html" title="class in org.jacoco.core.data">SessionInfoStore</A>
    +<DD>Writes all contained <A HREF="./org/jacoco/core/data/SessionInfo.html" title="class in org.jacoco.core.data"><CODE>SessionInfo</CODE></A> objects into the given visitor.
    +<DT><A HREF="./org/jacoco/report/MultiSourceFileLocator.html#add(org.jacoco.report.ISourceFileLocator)"><B>add(ISourceFileLocator)</B></A> - 
    +Method in class org.jacoco.report.<A HREF="./org/jacoco/report/MultiSourceFileLocator.html" title="class in org.jacoco.report">MultiSourceFileLocator</A>
    +<DD>Adds the given locator.
    +<DT><A HREF="./org/jacoco/core/runtime/AgentOptions.html#ADDRESS"><B>ADDRESS</B></A> - 
    +Static variable in class org.jacoco.core.runtime.<A HREF="./org/jacoco/core/runtime/AgentOptions.html" title="class in org.jacoco.core.runtime">AgentOptions</A>
    +<DD>The IP address or DNS name the tcpserver binds to or the tcpclient
    + connects to.
    +<DT><A HREF="./org/jacoco/agent/AgentJar.html" title="class in org.jacoco.agent"><B>AgentJar</B></A> - Class in <A HREF="./org/jacoco/agent/package-summary.html">org.jacoco.agent</A><DD>API to access the agent JAR file as a resource.<DT><A HREF="./org/jacoco/core/runtime/AgentOptions.html" title="class in org.jacoco.core.runtime"><B>AgentOptions</B></A> - Class in <A HREF="./org/jacoco/core/runtime/package-summary.html">org.jacoco.core.runtime</A><DD>Utility to create and parse options for the runtime agent.<DT><A HREF="./org/jacoco/core/runtime/AgentOptions.html#AgentOptions()"><B>AgentOptions()</B></A> - 
    +Constructor for class org.jacoco.core.runtime.<A HREF="./org/jacoco/core/runtime/AgentOptions.html" title="class in org.jacoco.core.runtime">AgentOptions</A>
    +<DD>New instance with all values set to default.
    +<DT><A HREF="./org/jacoco/core/runtime/AgentOptions.html#AgentOptions(java.lang.String)"><B>AgentOptions(String)</B></A> - 
    +Constructor for class org.jacoco.core.runtime.<A HREF="./org/jacoco/core/runtime/AgentOptions.html" title="class in org.jacoco.core.runtime">AgentOptions</A>
    +<DD>New instance parsed from the given option string.
    +<DT><A HREF="./org/jacoco/core/runtime/AgentOptions.html#AgentOptions(java.util.Properties)"><B>AgentOptions(Properties)</B></A> - 
    +Constructor for class org.jacoco.core.runtime.<A HREF="./org/jacoco/core/runtime/AgentOptions.html" title="class in org.jacoco.core.runtime">AgentOptions</A>
    +<DD>New instance read from the given <A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/util/Properties.html" title="class or interface in java.util"><CODE>Properties</CODE></A> object.
    +<DT><A HREF="./org/jacoco/core/runtime/AgentOptions.OutputMode.html" title="enum in org.jacoco.core.runtime"><B>AgentOptions.OutputMode</B></A> - Enum in <A HREF="./org/jacoco/core/runtime/package-summary.html">org.jacoco.core.runtime</A><DD>Possible values for <A HREF="./org/jacoco/core/runtime/AgentOptions.html#OUTPUT"><CODE>AgentOptions.OUTPUT</CODE></A>.<DT><A HREF="./org/jacoco/core/analysis/Analyzer.html#analyzeAll(java.io.InputStream, java.lang.String)"><B>analyzeAll(InputStream, String)</B></A> - 
    +Method in class org.jacoco.core.analysis.<A HREF="./org/jacoco/core/analysis/Analyzer.html" title="class in org.jacoco.core.analysis">Analyzer</A>
    +<DD>Analyzes all classes found in the given input stream.
    +<DT><A HREF="./org/jacoco/core/analysis/Analyzer.html#analyzeAll(java.io.File)"><B>analyzeAll(File)</B></A> - 
    +Method in class org.jacoco.core.analysis.<A HREF="./org/jacoco/core/analysis/Analyzer.html" title="class in org.jacoco.core.analysis">Analyzer</A>
    +<DD>Analyzes all class files contained in the given file or folder.
    +<DT><A HREF="./org/jacoco/core/analysis/Analyzer.html#analyzeAll(java.lang.String, java.io.File)"><B>analyzeAll(String, File)</B></A> - 
    +Method in class org.jacoco.core.analysis.<A HREF="./org/jacoco/core/analysis/Analyzer.html" title="class in org.jacoco.core.analysis">Analyzer</A>
    +<DD>Analyzes all classes from the given class path.
    +<DT><A HREF="./org/jacoco/core/analysis/Analyzer.html#analyzeClass(byte[], java.lang.String)"><B>analyzeClass(byte[], String)</B></A> - 
    +Method in class org.jacoco.core.analysis.<A HREF="./org/jacoco/core/analysis/Analyzer.html" title="class in org.jacoco.core.analysis">Analyzer</A>
    +<DD>Analyzes the class definition from a given in-memory buffer.
    +<DT><A HREF="./org/jacoco/core/analysis/Analyzer.html#analyzeClass(java.io.InputStream, java.lang.String)"><B>analyzeClass(InputStream, String)</B></A> - 
    +Method in class org.jacoco.core.analysis.<A HREF="./org/jacoco/core/analysis/Analyzer.html" title="class in org.jacoco.core.analysis">Analyzer</A>
    +<DD>Analyzes the class definition from a given input stream.
    +<DT><A HREF="./org/jacoco/core/analysis/Analyzer.html" title="class in org.jacoco.core.analysis"><B>Analyzer</B></A> - Class in <A HREF="./org/jacoco/core/analysis/package-summary.html">org.jacoco.core.analysis</A><DD>An <A HREF="./org/jacoco/core/analysis/Analyzer.html" title="class in org.jacoco.core.analysis"><CODE>Analyzer</CODE></A> instance processes a set of Java class files and
    + calculates coverage data for them.<DT><A HREF="./org/jacoco/core/analysis/Analyzer.html#Analyzer(org.jacoco.core.data.ExecutionDataStore, org.jacoco.core.analysis.ICoverageVisitor)"><B>Analyzer(ExecutionDataStore, ICoverageVisitor)</B></A> - 
    +Constructor for class org.jacoco.core.analysis.<A HREF="./org/jacoco/core/analysis/Analyzer.html" title="class in org.jacoco.core.analysis">Analyzer</A>
    +<DD>Creates a new analyzer reporting to the given output.
    +<DT><A HREF="./org/jacoco/core/runtime/AgentOptions.html#APPEND"><B>APPEND</B></A> - 
    +Static variable in class org.jacoco.core.runtime.<A HREF="./org/jacoco/core/runtime/AgentOptions.html" title="class in org.jacoco.core.runtime">AgentOptions</A>
    +<DD>Specifies whether execution data should be appended to the output file.
    +<DT><A HREF="./org/jacoco/core/data/ExecutionData.html#assertCompatibility(long, java.lang.String, int)"><B>assertCompatibility(long, String, int)</B></A> - 
    +Method in class org.jacoco.core.data.<A HREF="./org/jacoco/core/data/ExecutionData.html" title="class in org.jacoco.core.data">ExecutionData</A>
    +<DD>Asserts that this execution data object is compatible with the given
    + parameters.
    +</DL>
    +<HR>
    +<A NAME="_B_"><!-- --></A><H2>
    +<B>B</B></H2>
    +<DL>
    +<DT><A HREF="./org/jacoco/core/runtime/RemoteControlWriter.html#BLOCK_CMDDUMP"><B>BLOCK_CMDDUMP</B></A> - 
    +Static variable in class org.jacoco.core.runtime.<A HREF="./org/jacoco/core/runtime/RemoteControlWriter.html" title="class in org.jacoco.core.runtime">RemoteControlWriter</A>
    +<DD>Block identifier for dump command
    +<DT><A HREF="./org/jacoco/core/runtime/RemoteControlWriter.html#BLOCK_CMDOK"><B>BLOCK_CMDOK</B></A> - 
    +Static variable in class org.jacoco.core.runtime.<A HREF="./org/jacoco/core/runtime/RemoteControlWriter.html" title="class in org.jacoco.core.runtime">RemoteControlWriter</A>
    +<DD>Block identifier to confirm successful command execution.
    +<DT><A HREF="./org/jacoco/core/data/ExecutionDataWriter.html#BLOCK_EXECUTIONDATA"><B>BLOCK_EXECUTIONDATA</B></A> - 
    +Static variable in class org.jacoco.core.data.<A HREF="./org/jacoco/core/data/ExecutionDataWriter.html" title="class in org.jacoco.core.data">ExecutionDataWriter</A>
    +<DD>Block identifier for execution data of a single class.
    +<DT><A HREF="./org/jacoco/core/data/ExecutionDataWriter.html#BLOCK_HEADER"><B>BLOCK_HEADER</B></A> - 
    +Static variable in class org.jacoco.core.data.<A HREF="./org/jacoco/core/data/ExecutionDataWriter.html" title="class in org.jacoco.core.data">ExecutionDataWriter</A>
    +<DD>Block identifier for file headers.
    +<DT><A HREF="./org/jacoco/core/data/ExecutionDataWriter.html#BLOCK_SESSIONINFO"><B>BLOCK_SESSIONINFO</B></A> - 
    +Static variable in class org.jacoco.core.data.<A HREF="./org/jacoco/core/data/ExecutionDataWriter.html" title="class in org.jacoco.core.data">ExecutionDataWriter</A>
    +<DD>Block identifier for session information.
    +<DT><A HREF="./org/jacoco/core/analysis/CoverageNodeImpl.html#branchCounter"><B>branchCounter</B></A> - 
    +Variable in class org.jacoco.core.analysis.<A HREF="./org/jacoco/core/analysis/CoverageNodeImpl.html" title="class in org.jacoco.core.analysis">CoverageNodeImpl</A>
    +<DD>Counter for branches.
    +</DL>
    +<HR>
    +<A NAME="_C_"><!-- --></A><H2>
    +<B>C</B></H2>
    +<DL>
    +<DT><A HREF="./org/jacoco/core/analysis/CoverageNodeImpl.html#classCounter"><B>classCounter</B></A> - 
    +Variable in class org.jacoco.core.analysis.<A HREF="./org/jacoco/core/analysis/CoverageNodeImpl.html" title="class in org.jacoco.core.analysis">CoverageNodeImpl</A>
    +<DD>Counter for classes.
    +<DT><A HREF="./org/jacoco/core/runtime/AgentOptions.html#CLASSDUMPDIR"><B>CLASSDUMPDIR</B></A> - 
    +Static variable in class org.jacoco.core.runtime.<A HREF="./org/jacoco/core/runtime/AgentOptions.html" title="class in org.jacoco.core.runtime">AgentOptions</A>
    +<DD>Specifies where the agent dumps all class files it encounters.
    +<DT><A HREF="./org/jacoco/report/FileMultiReportOutput.html#close()"><B>close()</B></A> - 
    +Method in class org.jacoco.report.<A HREF="./org/jacoco/report/FileMultiReportOutput.html" title="class in org.jacoco.report">FileMultiReportOutput</A>
    +<DD>&nbsp;
    +<DT><A HREF="./org/jacoco/report/IMultiReportOutput.html#close()"><B>close()</B></A> - 
    +Method in interface org.jacoco.report.<A HREF="./org/jacoco/report/IMultiReportOutput.html" title="interface in org.jacoco.report">IMultiReportOutput</A>
    +<DD>Closes the underlying resource container.
    +<DT><A HREF="./org/jacoco/report/ZipMultiReportOutput.html#close()"><B>close()</B></A> - 
    +Method in class org.jacoco.report.<A HREF="./org/jacoco/report/ZipMultiReportOutput.html" title="class in org.jacoco.report">ZipMultiReportOutput</A>
    +<DD>&nbsp;
    +<DT><A HREF="./org/jacoco/core/runtime/RuntimeData.html#collect(org.jacoco.core.data.IExecutionDataVisitor, org.jacoco.core.data.ISessionInfoVisitor, boolean)"><B>collect(IExecutionDataVisitor, ISessionInfoVisitor, boolean)</B></A> - 
    +Method in class org.jacoco.core.runtime.<A HREF="./org/jacoco/core/runtime/RuntimeData.html" title="class in org.jacoco.core.runtime">RuntimeData</A>
    +<DD>Collects the current execution data and writes it to the given
    + <A HREF="./org/jacoco/core/data/IExecutionDataVisitor.html" title="interface in org.jacoco.core.data"><CODE>IExecutionDataVisitor</CODE></A> object.
    +<DT><A HREF="./com/vladium/emma/rt/package-summary.html"><B>com.vladium.emma.rt</B></A> - package com.vladium.emma.rt<DD>Compatibility API for EMMA runtime.<DT><A HREF="./org/jacoco/core/JaCoCo.html#COMMITID"><B>COMMITID</B></A> - 
    +Static variable in class org.jacoco.core.<A HREF="./org/jacoco/core/JaCoCo.html" title="class in org.jacoco.core">JaCoCo</A>
    +<DD>Commit ID of the source tree of JaCoCo core.
    +<DT><A HREF="./org/jacoco/core/JaCoCo.html#COMMITID_SHORT"><B>COMMITID_SHORT</B></A> - 
    +Static variable in class org.jacoco.core.<A HREF="./org/jacoco/core/JaCoCo.html" title="class in org.jacoco.core">JaCoCo</A>
    +<DD>Shortened (7 digit) commit ID of the source tree of JaCoCo core.
    +<DT><A HREF="./org/jacoco/core/analysis/CounterComparator.html#compare(org.jacoco.core.analysis.ICounter, org.jacoco.core.analysis.ICounter)"><B>compare(ICounter, ICounter)</B></A> - 
    +Method in class org.jacoco.core.analysis.<A HREF="./org/jacoco/core/analysis/CounterComparator.html" title="class in org.jacoco.core.analysis">CounterComparator</A>
    +<DD>&nbsp;
    +<DT><A HREF="./org/jacoco/core/analysis/NodeComparator.html#compare(org.jacoco.core.analysis.ICoverageNode, org.jacoco.core.analysis.ICoverageNode)"><B>compare(ICoverageNode, ICoverageNode)</B></A> - 
    +Method in class org.jacoco.core.analysis.<A HREF="./org/jacoco/core/analysis/NodeComparator.html" title="class in org.jacoco.core.analysis">NodeComparator</A>
    +<DD>&nbsp;
    +<DT><A HREF="./org/jacoco/core/data/SessionInfo.html#compareTo(org.jacoco.core.data.SessionInfo)"><B>compareTo(SessionInfo)</B></A> - 
    +Method in class org.jacoco.core.data.<A HREF="./org/jacoco/core/data/SessionInfo.html" title="class in org.jacoco.core.data">SessionInfo</A>
    +<DD>&nbsp;
    +<DT><A HREF="./org/jacoco/core/analysis/CoverageNodeImpl.html#complexityCounter"><B>complexityCounter</B></A> - 
    +Variable in class org.jacoco.core.analysis.<A HREF="./org/jacoco/core/analysis/CoverageNodeImpl.html" title="class in org.jacoco.core.analysis">CoverageNodeImpl</A>
    +<DD>Counter for complexity.
    +<DT><A HREF="./org/jacoco/core/data/ExecutionDataStore.html#contains(java.lang.String)"><B>contains(String)</B></A> - 
    +Method in class org.jacoco.core.data.<A HREF="./org/jacoco/core/data/ExecutionDataStore.html" title="class in org.jacoco.core.data">ExecutionDataStore</A>
    +<DD>Checks whether execution data for classes with the given name are
    + contained in the store.
    +<DT><A HREF="./org/jacoco/core/analysis/CoverageNodeImpl.html#containsCode()"><B>containsCode()</B></A> - 
    +Method in class org.jacoco.core.analysis.<A HREF="./org/jacoco/core/analysis/CoverageNodeImpl.html" title="class in org.jacoco.core.analysis">CoverageNodeImpl</A>
    +<DD>&nbsp;
    +<DT><A HREF="./org/jacoco/core/analysis/ICoverageNode.html#containsCode()"><B>containsCode()</B></A> - 
    +Method in interface org.jacoco.core.analysis.<A HREF="./org/jacoco/core/analysis/ICoverageNode.html" title="interface in org.jacoco.core.analysis">ICoverageNode</A>
    +<DD>Checks whether this node contains code relevant for code coverage.
    +<DT><A HREF="./org/jacoco/core/analysis/CounterComparator.html" title="class in org.jacoco.core.analysis"><B>CounterComparator</B></A> - Class in <A HREF="./org/jacoco/core/analysis/package-summary.html">org.jacoco.core.analysis</A><DD>Collection of comparators to compare <A HREF="./org/jacoco/core/analysis/ICounter.html" title="interface in org.jacoco.core.analysis"><CODE>ICounter</CODE></A> objects by different
    + criteria.<DT><A HREF="./org/jacoco/core/analysis/CoverageBuilder.html" title="class in org.jacoco.core.analysis"><B>CoverageBuilder</B></A> - Class in <A HREF="./org/jacoco/core/analysis/package-summary.html">org.jacoco.core.analysis</A><DD>Builder for hierarchical <A HREF="./org/jacoco/core/analysis/ICoverageNode.html" title="interface in org.jacoco.core.analysis"><CODE>ICoverageNode</CODE></A> structures from single
    + <A HREF="./org/jacoco/core/analysis/IClassCoverage.html" title="interface in org.jacoco.core.analysis"><CODE>IClassCoverage</CODE></A> nodes.<DT><A HREF="./org/jacoco/core/analysis/CoverageBuilder.html#CoverageBuilder()"><B>CoverageBuilder()</B></A> - 
    +Constructor for class org.jacoco.core.analysis.<A HREF="./org/jacoco/core/analysis/CoverageBuilder.html" title="class in org.jacoco.core.analysis">CoverageBuilder</A>
    +<DD>Create a new builder.
    +<DT><A HREF="./org/jacoco/core/analysis/CoverageNodeImpl.html" title="class in org.jacoco.core.analysis"><B>CoverageNodeImpl</B></A> - Class in <A HREF="./org/jacoco/core/analysis/package-summary.html">org.jacoco.core.analysis</A><DD>Base implementation for coverage data nodes.<DT><A HREF="./org/jacoco/core/analysis/CoverageNodeImpl.html#CoverageNodeImpl(org.jacoco.core.analysis.ICoverageNode.ElementType, java.lang.String)"><B>CoverageNodeImpl(ICoverageNode.ElementType, String)</B></A> - 
    +Constructor for class org.jacoco.core.analysis.<A HREF="./org/jacoco/core/analysis/CoverageNodeImpl.html" title="class in org.jacoco.core.analysis">CoverageNodeImpl</A>
    +<DD>Creates a new coverage data node.
    +<DT><A HREF="./org/jacoco/core/analysis/CounterComparator.html#COVEREDITEMS"><B>COVEREDITEMS</B></A> - 
    +Static variable in class org.jacoco.core.analysis.<A HREF="./org/jacoco/core/analysis/CounterComparator.html" title="class in org.jacoco.core.analysis">CounterComparator</A>
    +<DD>Compares the absolute number of covered items.
    +<DT><A HREF="./org/jacoco/core/analysis/CounterComparator.html#COVEREDRATIO"><B>COVEREDRATIO</B></A> - 
    +Static variable in class org.jacoco.core.analysis.<A HREF="./org/jacoco/core/analysis/CounterComparator.html" title="class in org.jacoco.core.analysis">CounterComparator</A>
    +<DD>Compares the ratio of covered items.
    +<DT><A HREF="./org/jacoco/report/FileMultiReportOutput.html#createFile(java.lang.String)"><B>createFile(String)</B></A> - 
    +Method in class org.jacoco.report.<A HREF="./org/jacoco/report/FileMultiReportOutput.html" title="class in org.jacoco.report">FileMultiReportOutput</A>
    +<DD>&nbsp;
    +<DT><A HREF="./org/jacoco/report/IMultiReportOutput.html#createFile(java.lang.String)"><B>createFile(String)</B></A> - 
    +Method in interface org.jacoco.report.<A HREF="./org/jacoco/report/IMultiReportOutput.html" title="interface in org.jacoco.report">IMultiReportOutput</A>
    +<DD>Creates a file at the given local path.
    +<DT><A HREF="./org/jacoco/report/ZipMultiReportOutput.html#createFile(java.lang.String)"><B>createFile(String)</B></A> - 
    +Method in class org.jacoco.report.<A HREF="./org/jacoco/report/ZipMultiReportOutput.html" title="class in org.jacoco.report">ZipMultiReportOutput</A>
    +<DD>&nbsp;
    +<DT><A HREF="./org/jacoco/core/runtime/ModifiedSystemClassRuntime.html#createFor(java.lang.instrument.Instrumentation, java.lang.String)"><B>createFor(Instrumentation, String)</B></A> - 
    +Static method in class org.jacoco.core.runtime.<A HREF="./org/jacoco/core/runtime/ModifiedSystemClassRuntime.html" title="class in org.jacoco.core.runtime">ModifiedSystemClassRuntime</A>
    +<DD>Creates a new <A HREF="./org/jacoco/core/runtime/ModifiedSystemClassRuntime.html" title="class in org.jacoco.core.runtime"><CODE>ModifiedSystemClassRuntime</CODE></A> using the given class as
    + the data container.
    +<DT><A HREF="./org/jacoco/core/runtime/ModifiedSystemClassRuntime.html#createFor(java.lang.instrument.Instrumentation, java.lang.String, java.lang.String)"><B>createFor(Instrumentation, String, String)</B></A> - 
    +Static method in class org.jacoco.core.runtime.<A HREF="./org/jacoco/core/runtime/ModifiedSystemClassRuntime.html" title="class in org.jacoco.core.runtime">ModifiedSystemClassRuntime</A>
    +<DD>Creates a new <A HREF="./org/jacoco/core/runtime/ModifiedSystemClassRuntime.html" title="class in org.jacoco.core.runtime"><CODE>ModifiedSystemClassRuntime</CODE></A> using the given class as
    + the data container.
    +<DT><A HREF="./org/jacoco/report/check/Rule.html#createLimit()"><B>createLimit()</B></A> - 
    +Method in class org.jacoco.report.check.<A HREF="./org/jacoco/report/check/Rule.html" title="class in org.jacoco.report.check">Rule</A>
    +<DD>Creates and adds a new <A HREF="./org/jacoco/report/check/Limit.html" title="class in org.jacoco.report.check"><CODE>Limit</CODE></A>.
    +<DT><A HREF="./org/jacoco/core/runtime/AbstractRuntime.html#createRandomId()"><B>createRandomId()</B></A> - 
    +Static method in class org.jacoco.core.runtime.<A HREF="./org/jacoco/core/runtime/AbstractRuntime.html" title="class in org.jacoco.core.runtime">AbstractRuntime</A>
    +<DD>Creates a random session identifier.
    +<DT><A HREF="./org/jacoco/report/check/RulesChecker.html#createVisitor(org.jacoco.report.check.IViolationsOutput)"><B>createVisitor(IViolationsOutput)</B></A> - 
    +Method in class org.jacoco.report.check.<A HREF="./org/jacoco/report/check/RulesChecker.html" title="class in org.jacoco.report.check">RulesChecker</A>
    +<DD>Creates a new visitor to process the configured checks.
    +<DT><A HREF="./org/jacoco/report/csv/CSVFormatter.html#createVisitor(java.io.OutputStream)"><B>createVisitor(OutputStream)</B></A> - 
    +Method in class org.jacoco.report.csv.<A HREF="./org/jacoco/report/csv/CSVFormatter.html" title="class in org.jacoco.report.csv">CSVFormatter</A>
    +<DD>Creates a new visitor to write a report to the given stream.
    +<DT><A HREF="./org/jacoco/report/html/HTMLFormatter.html#createVisitor(org.jacoco.report.IMultiReportOutput)"><B>createVisitor(IMultiReportOutput)</B></A> - 
    +Method in class org.jacoco.report.html.<A HREF="./org/jacoco/report/html/HTMLFormatter.html" title="class in org.jacoco.report.html">HTMLFormatter</A>
    +<DD>Creates a new visitor to write a report to the given output.
    +<DT><A HREF="./org/jacoco/report/xml/XMLFormatter.html#createVisitor(java.io.OutputStream)"><B>createVisitor(OutputStream)</B></A> - 
    +Method in class org.jacoco.report.xml.<A HREF="./org/jacoco/report/xml/XMLFormatter.html" title="class in org.jacoco.report.xml">XMLFormatter</A>
    +<DD>Creates a new visitor to write a report to the given stream.
    +<DT><A HREF="./org/jacoco/report/csv/CSVFormatter.html" title="class in org.jacoco.report.csv"><B>CSVFormatter</B></A> - Class in <A HREF="./org/jacoco/report/csv/package-summary.html">org.jacoco.report.csv</A><DD>Report formatter that will create a single CSV file.<DT><A HREF="./org/jacoco/report/csv/CSVFormatter.html#CSVFormatter()"><B>CSVFormatter()</B></A> - 
    +Constructor for class org.jacoco.report.csv.<A HREF="./org/jacoco/report/csv/CSVFormatter.html" title="class in org.jacoco.report.csv">CSVFormatter</A>
    +<DD>&nbsp;
    +</DL>
    +<HR>
    +<A NAME="_D_"><!-- --></A><H2>
    +<B>D</B></H2>
    +<DL>
    +<DT><A HREF="./org/jacoco/core/runtime/AbstractRuntime.html#data"><B>data</B></A> - 
    +Variable in class org.jacoco.core.runtime.<A HREF="./org/jacoco/core/runtime/AbstractRuntime.html" title="class in org.jacoco.core.runtime">AbstractRuntime</A>
    +<DD>access to the runtime data
    +<DT><A HREF="./org/jacoco/core/runtime/AgentOptions.html#DEFAULT_ADDRESS"><B>DEFAULT_ADDRESS</B></A> - 
    +Static variable in class org.jacoco.core.runtime.<A HREF="./org/jacoco/core/runtime/AgentOptions.html" title="class in org.jacoco.core.runtime">AgentOptions</A>
    +<DD>Default value for the "address" agent option.
    +<DT><A HREF="./org/jacoco/core/runtime/AgentOptions.html#DEFAULT_DESTFILE"><B>DEFAULT_DESTFILE</B></A> - 
    +Static variable in class org.jacoco.core.runtime.<A HREF="./org/jacoco/core/runtime/AgentOptions.html" title="class in org.jacoco.core.runtime">AgentOptions</A>
    +<DD>Default value for the "destfile" agent option.
    +<DT><A HREF="./org/jacoco/core/runtime/AgentOptions.html#DEFAULT_PORT"><B>DEFAULT_PORT</B></A> - 
    +Static variable in class org.jacoco.core.runtime.<A HREF="./org/jacoco/core/runtime/AgentOptions.html" title="class in org.jacoco.core.runtime">AgentOptions</A>
    +<DD>Default value for the "port" agent option.
    +<DT><A HREF="./org/jacoco/core/runtime/AgentOptions.html#DESTFILE"><B>DESTFILE</B></A> - 
    +Static variable in class org.jacoco.core.runtime.<A HREF="./org/jacoco/core/runtime/AgentOptions.html" title="class in org.jacoco.core.runtime">AgentOptions</A>
    +<DD>Specifies the output file for execution data.
    +<DT><A HREF="./org/jacoco/report/DirectorySourceFileLocator.html" title="class in org.jacoco.report"><B>DirectorySourceFileLocator</B></A> - Class in <A HREF="./org/jacoco/report/package-summary.html">org.jacoco.report</A><DD>Locator for source files that picks source files from a given directory in
    + the file system.<DT><A HREF="./org/jacoco/report/DirectorySourceFileLocator.html#DirectorySourceFileLocator(java.io.File, java.lang.String, int)"><B>DirectorySourceFileLocator(File, String, int)</B></A> - 
    +Constructor for class org.jacoco.report.<A HREF="./org/jacoco/report/DirectorySourceFileLocator.html" title="class in org.jacoco.report">DirectorySourceFileLocator</A>
    +<DD>Creates a new locator that searches for source files in the given
    + directory.
    +<DT><A HREF="./org/jacoco/agent/rt/IAgent.html#dump(boolean)"><B>dump(boolean)</B></A> - 
    +Method in interface org.jacoco.agent.rt.<A HREF="./org/jacoco/agent/rt/IAgent.html" title="interface in org.jacoco.agent.rt">IAgent</A>
    +<DD>Triggers a dump of the current execution data through the configured
    + output.
    +<DT><A HREF="./org/jacoco/core/tools/ExecDumpClient.html#dump(java.lang.String, int)"><B>dump(String, int)</B></A> - 
    +Method in class org.jacoco.core.tools.<A HREF="./org/jacoco/core/tools/ExecDumpClient.html" title="class in org.jacoco.core.tools">ExecDumpClient</A>
    +<DD>Requests a dump from the given end-point.
    +<DT><A HREF="./org/jacoco/core/tools/ExecDumpClient.html#dump(java.net.InetAddress, int)"><B>dump(InetAddress, int)</B></A> - 
    +Method in class org.jacoco.core.tools.<A HREF="./org/jacoco/core/tools/ExecDumpClient.html" title="class in org.jacoco.core.tools">ExecDumpClient</A>
    +<DD>Requests a dump from the given end-point.
    +<DT><A HREF="./com/vladium/emma/rt/RT.html#dumpCoverageData(java.io.File, boolean, boolean)"><B>dumpCoverageData(File, boolean, boolean)</B></A> - 
    +Static method in class com.vladium.emma.rt.<A HREF="./com/vladium/emma/rt/RT.html" title="class in com.vladium.emma.rt">RT</A>
    +<DD><B>Deprecated.</B>&nbsp;Writes the current execution data to the given file in JaCoCo execution
    + data format.
    +<DT><A HREF="./com/vladium/emma/rt/RT.html#dumpCoverageData(java.io.File, boolean)"><B>dumpCoverageData(File, boolean)</B></A> - 
    +Static method in class com.vladium.emma.rt.<A HREF="./com/vladium/emma/rt/RT.html" title="class in com.vladium.emma.rt">RT</A>
    +<DD><B>Deprecated.</B>&nbsp;Writes the current execution data to the given file in JaCoCo execution
    + data format.
    +<DT><A HREF="./org/jacoco/core/runtime/AgentOptions.html#DUMPONEXIT"><B>DUMPONEXIT</B></A> - 
    +Static variable in class org.jacoco.core.runtime.<A HREF="./org/jacoco/core/runtime/AgentOptions.html" title="class in org.jacoco.core.runtime">AgentOptions</A>
    +<DD>Specifies whether the agent will automatically dump coverage data on VM
    + exit.
    +</DL>
    +<HR>
    +<A NAME="_E_"><!-- --></A><H2>
    +<B>E</B></H2>
    +<DL>
    +<DT><A HREF="./org/jacoco/core/analysis/ICounter.html#EMPTY"><B>EMPTY</B></A> - 
    +Static variable in interface org.jacoco.core.analysis.<A HREF="./org/jacoco/core/analysis/ICounter.html" title="interface in org.jacoco.core.analysis">ICounter</A>
    +<DD>Status flag for no items (value is 0x00).
    +<DT><A HREF="./org/jacoco/core/runtime/RuntimeData.html#equals(java.lang.Object)"><B>equals(Object)</B></A> - 
    +Method in class org.jacoco.core.runtime.<A HREF="./org/jacoco/core/runtime/RuntimeData.html" title="class in org.jacoco.core.runtime">RuntimeData</A>
    +<DD>In violation of the regular semantic of <A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html#equals(java.lang.Object)" title="class or interface in java.lang"><CODE>Object.equals(Object)</CODE></A>
    + this implementation is used as the interface to the execution data store.
    +<DT><A HREF="./org/jacoco/core/runtime/AgentOptions.html#EXCLCLASSLOADER"><B>EXCLCLASSLOADER</B></A> - 
    +Static variable in class org.jacoco.core.runtime.<A HREF="./org/jacoco/core/runtime/AgentOptions.html" title="class in org.jacoco.core.runtime">AgentOptions</A>
    +<DD>Wildcard expression for class loaders names for classes that should be
    + excluded from code coverage.
    +<DT><A HREF="./org/jacoco/core/runtime/AgentOptions.html#EXCLUDES"><B>EXCLUDES</B></A> - 
    +Static variable in class org.jacoco.core.runtime.<A HREF="./org/jacoco/core/runtime/AgentOptions.html" title="class in org.jacoco.core.runtime">AgentOptions</A>
    +<DD>Wildcard expression for class names that should be excluded from code
    + coverage.
    +<DT><A HREF="./org/jacoco/core/tools/ExecDumpClient.html" title="class in org.jacoco.core.tools"><B>ExecDumpClient</B></A> - Class in <A HREF="./org/jacoco/core/tools/package-summary.html">org.jacoco.core.tools</A><DD>A client for remote execution data dumps.<DT><A HREF="./org/jacoco/core/tools/ExecDumpClient.html#ExecDumpClient()"><B>ExecDumpClient()</B></A> - 
    +Constructor for class org.jacoco.core.tools.<A HREF="./org/jacoco/core/tools/ExecDumpClient.html" title="class in org.jacoco.core.tools">ExecDumpClient</A>
    +<DD>New instance with the defaults <code>dump==true</code>,
    + <code>reset==false</code>, <code>retryCount==0</code> and
    + <code>retryDelay=1000</code>.
    +<DT><A HREF="./org/jacoco/core/tools/ExecFileLoader.html" title="class in org.jacoco.core.tools"><B>ExecFileLoader</B></A> - Class in <A HREF="./org/jacoco/core/tools/package-summary.html">org.jacoco.core.tools</A><DD>Convenience utility for loading *.exec files into a
    + <A HREF="./org/jacoco/core/data/ExecutionDataStore.html" title="class in org.jacoco.core.data"><CODE>ExecutionDataStore</CODE></A> and a <A HREF="./org/jacoco/core/data/SessionInfoStore.html" title="class in org.jacoco.core.data"><CODE>SessionInfoStore</CODE></A>.<DT><A HREF="./org/jacoco/core/tools/ExecFileLoader.html#ExecFileLoader()"><B>ExecFileLoader()</B></A> - 
    +Constructor for class org.jacoco.core.tools.<A HREF="./org/jacoco/core/tools/ExecFileLoader.html" title="class in org.jacoco.core.tools">ExecFileLoader</A>
    +<DD>New instance to combine session infos and execution data from multiple
    + files.
    +<DT><A HREF="./org/jacoco/core/data/ExecutionData.html" title="class in org.jacoco.core.data"><B>ExecutionData</B></A> - Class in <A HREF="./org/jacoco/core/data/package-summary.html">org.jacoco.core.data</A><DD>Execution data for a single Java class.<DT><A HREF="./org/jacoco/core/data/ExecutionData.html#ExecutionData(long, java.lang.String, boolean[])"><B>ExecutionData(long, String, boolean[])</B></A> - 
    +Constructor for class org.jacoco.core.data.<A HREF="./org/jacoco/core/data/ExecutionData.html" title="class in org.jacoco.core.data">ExecutionData</A>
    +<DD>Creates a new <A HREF="./org/jacoco/core/data/ExecutionData.html" title="class in org.jacoco.core.data"><CODE>ExecutionData</CODE></A> object with the given probe data.
    +<DT><A HREF="./org/jacoco/core/data/ExecutionData.html#ExecutionData(long, java.lang.String, int)"><B>ExecutionData(long, String, int)</B></A> - 
    +Constructor for class org.jacoco.core.data.<A HREF="./org/jacoco/core/data/ExecutionData.html" title="class in org.jacoco.core.data">ExecutionData</A>
    +<DD>Creates a new <A HREF="./org/jacoco/core/data/ExecutionData.html" title="class in org.jacoco.core.data"><CODE>ExecutionData</CODE></A> object with the given probe data
    + length.
    +<DT><A HREF="./org/jacoco/core/data/ExecutionDataReader.html" title="class in org.jacoco.core.data"><B>ExecutionDataReader</B></A> - Class in <A HREF="./org/jacoco/core/data/package-summary.html">org.jacoco.core.data</A><DD>Deserialization of execution data from binary streams.<DT><A HREF="./org/jacoco/core/data/ExecutionDataReader.html#ExecutionDataReader(java.io.InputStream)"><B>ExecutionDataReader(InputStream)</B></A> - 
    +Constructor for class org.jacoco.core.data.<A HREF="./org/jacoco/core/data/ExecutionDataReader.html" title="class in org.jacoco.core.data">ExecutionDataReader</A>
    +<DD>Creates a new reader based on the given input stream input.
    +<DT><A HREF="./org/jacoco/core/data/ExecutionDataStore.html" title="class in org.jacoco.core.data"><B>ExecutionDataStore</B></A> - Class in <A HREF="./org/jacoco/core/data/package-summary.html">org.jacoco.core.data</A><DD>In-memory data store for execution data.<DT><A HREF="./org/jacoco/core/data/ExecutionDataStore.html#ExecutionDataStore()"><B>ExecutionDataStore()</B></A> - 
    +Constructor for class org.jacoco.core.data.<A HREF="./org/jacoco/core/data/ExecutionDataStore.html" title="class in org.jacoco.core.data">ExecutionDataStore</A>
    +<DD>&nbsp;
    +<DT><A HREF="./org/jacoco/core/data/ExecutionDataWriter.html" title="class in org.jacoco.core.data"><B>ExecutionDataWriter</B></A> - Class in <A HREF="./org/jacoco/core/data/package-summary.html">org.jacoco.core.data</A><DD>Serialization of execution data into binary streams.<DT><A HREF="./org/jacoco/core/data/ExecutionDataWriter.html#ExecutionDataWriter(java.io.OutputStream)"><B>ExecutionDataWriter(OutputStream)</B></A> - 
    +Constructor for class org.jacoco.core.data.<A HREF="./org/jacoco/core/data/ExecutionDataWriter.html" title="class in org.jacoco.core.data">ExecutionDataWriter</A>
    +<DD>Creates a new writer based on the given output stream.
    +<DT><A HREF="./org/jacoco/agent/AgentJar.html#extractTo(java.io.File)"><B>extractTo(File)</B></A> - 
    +Static method in class org.jacoco.agent.<A HREF="./org/jacoco/agent/AgentJar.html" title="class in org.jacoco.agent">AgentJar</A>
    +<DD>Extract the JaCoCo agent JAR and put it into the specified location.
    +<DT><A HREF="./org/jacoco/agent/AgentJar.html#extractToTempLocation()"><B>extractToTempLocation()</B></A> - 
    +Static method in class org.jacoco.agent.<A HREF="./org/jacoco/agent/AgentJar.html" title="class in org.jacoco.agent">AgentJar</A>
    +<DD>Extract the JaCoCo agent JAR and put it into a temporary location.
    +</DL>
    +<HR>
    +<A NAME="_F_"><!-- --></A><H2>
    +<B>F</B></H2>
    +<DL>
    +<DT><A HREF="./org/jacoco/report/FileMultiReportOutput.html" title="class in org.jacoco.report"><B>FileMultiReportOutput</B></A> - Class in <A HREF="./org/jacoco/report/package-summary.html">org.jacoco.report</A><DD>Implementation of <A HREF="./org/jacoco/report/IMultiReportOutput.html" title="interface in org.jacoco.report"><CODE>IMultiReportOutput</CODE></A> that writes files directly to a
    + given directory.<DT><A HREF="./org/jacoco/report/FileMultiReportOutput.html#FileMultiReportOutput(java.io.File)"><B>FileMultiReportOutput(File)</B></A> - 
    +Constructor for class org.jacoco.report.<A HREF="./org/jacoco/report/FileMultiReportOutput.html" title="class in org.jacoco.report">FileMultiReportOutput</A>
    +<DD>Creates a new instance for document output in the given base directory.
    +<DT><A HREF="./org/jacoco/core/data/ExecutionDataWriter.html#flush()"><B>flush()</B></A> - 
    +Method in class org.jacoco.core.data.<A HREF="./org/jacoco/core/data/ExecutionDataWriter.html" title="class in org.jacoco.core.data">ExecutionDataWriter</A>
    +<DD>Flushes the underlying stream.
    +<DT><A HREF="./org/jacoco/core/data/ExecutionDataWriter.html#FORMAT_VERSION"><B>FORMAT_VERSION</B></A> - 
    +Static variable in class org.jacoco.core.data.<A HREF="./org/jacoco/core/data/ExecutionDataWriter.html" title="class in org.jacoco.core.data">ExecutionDataWriter</A>
    +<DD>File format version, will be incremented for each incompatible change.
    +<DT><A HREF="./org/jacoco/core/analysis/ICounter.html#FULLY_COVERED"><B>FULLY_COVERED</B></A> - 
    +Static variable in interface org.jacoco.core.analysis.<A HREF="./org/jacoco/core/analysis/ICounter.html" title="interface in org.jacoco.core.analysis">ICounter</A>
    +<DD>Status flag when all items are covered (value is 0x02).
    +</DL>
    +<HR>
    +<A NAME="_G_"><!-- --></A><H2>
    +<B>G</B></H2>
    +<DL>
    +<DT><A HREF="./org/jacoco/core/runtime/RuntimeData.html#generateAccessCall(long, java.lang.String, int, org.objectweb.asm.MethodVisitor)"><B>generateAccessCall(long, String, int, MethodVisitor)</B></A> - 
    +Static method in class org.jacoco.core.runtime.<A HREF="./org/jacoco/core/runtime/RuntimeData.html" title="class in org.jacoco.core.runtime">RuntimeData</A>
    +<DD>Generates the code that calls a <A HREF="./org/jacoco/core/runtime/RuntimeData.html" title="class in org.jacoco.core.runtime"><CODE>RuntimeData</CODE></A> instance through the
    + JRE API method <A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html#equals(java.lang.Object)" title="class or interface in java.lang"><CODE>Object.equals(Object)</CODE></A>.
    +<DT><A HREF="./org/jacoco/core/runtime/RuntimeData.html#generateArgumentArray(long, java.lang.String, int, org.objectweb.asm.MethodVisitor)"><B>generateArgumentArray(long, String, int, MethodVisitor)</B></A> - 
    +Static method in class org.jacoco.core.runtime.<A HREF="./org/jacoco/core/runtime/RuntimeData.html" title="class in org.jacoco.core.runtime">RuntimeData</A>
    +<DD>Generates code that creates the argument array for the
    + <A HREF="./org/jacoco/core/runtime/RuntimeData.html#getProbes(java.lang.Object[])"><CODE>RuntimeData.getProbes(Object[])</CODE></A> method.
    +<DT><A HREF="./org/jacoco/core/runtime/IExecutionDataAccessorGenerator.html#generateDataAccessor(long, java.lang.String, int, org.objectweb.asm.MethodVisitor)"><B>generateDataAccessor(long, String, int, MethodVisitor)</B></A> - 
    +Method in interface org.jacoco.core.runtime.<A HREF="./org/jacoco/core/runtime/IExecutionDataAccessorGenerator.html" title="interface in org.jacoco.core.runtime">IExecutionDataAccessorGenerator</A>
    +<DD>This method generates the byte code required to obtain the coverage data
    + structure for the class with the given id.
    +<DT><A HREF="./org/jacoco/core/runtime/InjectedClassRuntime.html#generateDataAccessor(long, java.lang.String, int, org.objectweb.asm.MethodVisitor)"><B>generateDataAccessor(long, String, int, MethodVisitor)</B></A> - 
    +Method in class org.jacoco.core.runtime.<A HREF="./org/jacoco/core/runtime/InjectedClassRuntime.html" title="class in org.jacoco.core.runtime">InjectedClassRuntime</A>
    +<DD>&nbsp;
    +<DT><A HREF="./org/jacoco/core/runtime/LoggerRuntime.html#generateDataAccessor(long, java.lang.String, int, org.objectweb.asm.MethodVisitor)"><B>generateDataAccessor(long, String, int, MethodVisitor)</B></A> - 
    +Method in class org.jacoco.core.runtime.<A HREF="./org/jacoco/core/runtime/LoggerRuntime.html" title="class in org.jacoco.core.runtime">LoggerRuntime</A>
    +<DD>&nbsp;
    +<DT><A HREF="./org/jacoco/core/runtime/ModifiedSystemClassRuntime.html#generateDataAccessor(long, java.lang.String, int, org.objectweb.asm.MethodVisitor)"><B>generateDataAccessor(long, String, int, MethodVisitor)</B></A> - 
    +Method in class org.jacoco.core.runtime.<A HREF="./org/jacoco/core/runtime/ModifiedSystemClassRuntime.html" title="class in org.jacoco.core.runtime">ModifiedSystemClassRuntime</A>
    +<DD>&nbsp;
    +<DT><A HREF="./org/jacoco/core/runtime/OfflineInstrumentationAccessGenerator.html#generateDataAccessor(long, java.lang.String, int, org.objectweb.asm.MethodVisitor)"><B>generateDataAccessor(long, String, int, MethodVisitor)</B></A> - 
    +Method in class org.jacoco.core.runtime.<A HREF="./org/jacoco/core/runtime/OfflineInstrumentationAccessGenerator.html" title="class in org.jacoco.core.runtime">OfflineInstrumentationAccessGenerator</A>
    +<DD>&nbsp;
    +<DT><A HREF="./org/jacoco/core/runtime/SystemPropertiesRuntime.html#generateDataAccessor(long, java.lang.String, int, org.objectweb.asm.MethodVisitor)"><B>generateDataAccessor(long, String, int, MethodVisitor)</B></A> - 
    +Method in class org.jacoco.core.runtime.<A HREF="./org/jacoco/core/runtime/SystemPropertiesRuntime.html" title="class in org.jacoco.core.runtime">SystemPropertiesRuntime</A>
    +<DD>&nbsp;
    +<DT><A HREF="./org/jacoco/core/data/ExecutionDataStore.html#get(long)"><B>get(long)</B></A> - 
    +Method in class org.jacoco.core.data.<A HREF="./org/jacoco/core/data/ExecutionDataStore.html" title="class in org.jacoco.core.data">ExecutionDataStore</A>
    +<DD>Returns the <A HREF="./org/jacoco/core/data/ExecutionData.html" title="class in org.jacoco.core.data"><CODE>ExecutionData</CODE></A> entry with the given id if it exists in
    + this store.
    +<DT><A HREF="./org/jacoco/core/data/ExecutionDataStore.html#get(java.lang.Long, java.lang.String, int)"><B>get(Long, String, int)</B></A> - 
    +Method in class org.jacoco.core.data.<A HREF="./org/jacoco/core/data/ExecutionDataStore.html" title="class in org.jacoco.core.data">ExecutionDataStore</A>
    +<DD>Returns the coverage data for the class with the given identifier.
    +<DT><A HREF="./org/jacoco/core/data/IncompatibleExecDataVersionException.html#getActualVersion()"><B>getActualVersion()</B></A> - 
    +Method in exception org.jacoco.core.data.<A HREF="./org/jacoco/core/data/IncompatibleExecDataVersionException.html" title="class in org.jacoco.core.data">IncompatibleExecDataVersionException</A>
    +<DD>Gets the actual version found in the execution data.
    +<DT><A HREF="./org/jacoco/core/runtime/AgentOptions.html#getAddress()"><B>getAddress()</B></A> - 
    +Method in class org.jacoco.core.runtime.<A HREF="./org/jacoco/core/runtime/AgentOptions.html" title="class in org.jacoco.core.runtime">AgentOptions</A>
    +<DD>Gets the hostname or IP address to listen to when output is
    + <code>tcpserver</code> or connect to when output is
    + <code>tcpclient</code>
    +<DT><A HREF="./org/jacoco/agent/rt/RT.html#getAgent()"><B>getAgent()</B></A> - 
    +Static method in class org.jacoco.agent.rt.<A HREF="./org/jacoco/agent/rt/RT.html" title="class in org.jacoco.agent.rt">RT</A>
    +<DD>Returns the agent instance of the JaCoCo runtime in this JVM.
    +<DT><A HREF="./org/jacoco/core/runtime/AgentOptions.html#getAppend()"><B>getAppend()</B></A> - 
    +Method in class org.jacoco.core.runtime.<A HREF="./org/jacoco/core/runtime/AgentOptions.html" title="class in org.jacoco.core.runtime">AgentOptions</A>
    +<DD>Returns whether the output should be appended to an existing file.
    +<DT><A HREF="./org/jacoco/core/analysis/CoverageNodeImpl.html#getBranchCounter()"><B>getBranchCounter()</B></A> - 
    +Method in class org.jacoco.core.analysis.<A HREF="./org/jacoco/core/analysis/CoverageNodeImpl.html" title="class in org.jacoco.core.analysis">CoverageNodeImpl</A>
    +<DD>&nbsp;
    +<DT><A HREF="./org/jacoco/core/analysis/ICoverageNode.html#getBranchCounter()"><B>getBranchCounter()</B></A> - 
    +Method in interface org.jacoco.core.analysis.<A HREF="./org/jacoco/core/analysis/ICoverageNode.html" title="interface in org.jacoco.core.analysis">ICoverageNode</A>
    +<DD>Returns the counter for branches.
    +<DT><A HREF="./org/jacoco/core/analysis/ILine.html#getBranchCounter()"><B>getBranchCounter()</B></A> - 
    +Method in interface org.jacoco.core.analysis.<A HREF="./org/jacoco/core/analysis/ILine.html" title="interface in org.jacoco.core.analysis">ILine</A>
    +<DD>Returns the branches counter for this line.
    +<DT><A HREF="./org/jacoco/core/analysis/CoverageBuilder.html#getBundle(java.lang.String)"><B>getBundle(String)</B></A> - 
    +Method in class org.jacoco.core.analysis.<A HREF="./org/jacoco/core/analysis/CoverageBuilder.html" title="class in org.jacoco.core.analysis">CoverageBuilder</A>
    +<DD>Creates a bundle from all nodes currently contained in this bundle.
    +<DT><A HREF="./org/jacoco/core/analysis/CoverageNodeImpl.html#getClassCounter()"><B>getClassCounter()</B></A> - 
    +Method in class org.jacoco.core.analysis.<A HREF="./org/jacoco/core/analysis/CoverageNodeImpl.html" title="class in org.jacoco.core.analysis">CoverageNodeImpl</A>
    +<DD>&nbsp;
    +<DT><A HREF="./org/jacoco/core/analysis/ICoverageNode.html#getClassCounter()"><B>getClassCounter()</B></A> - 
    +Method in interface org.jacoco.core.analysis.<A HREF="./org/jacoco/core/analysis/ICoverageNode.html" title="interface in org.jacoco.core.analysis">ICoverageNode</A>
    +<DD>Returns the counter for classes.
    +<DT><A HREF="./org/jacoco/core/runtime/AgentOptions.html#getClassDumpDir()"><B>getClassDumpDir()</B></A> - 
    +Method in class org.jacoco.core.runtime.<A HREF="./org/jacoco/core/runtime/AgentOptions.html" title="class in org.jacoco.core.runtime">AgentOptions</A>
    +<DD>Returns the location of the directory where class files should be dumped
    + to.
    +<DT><A HREF="./org/jacoco/core/analysis/CoverageBuilder.html#getClasses()"><B>getClasses()</B></A> - 
    +Method in class org.jacoco.core.analysis.<A HREF="./org/jacoco/core/analysis/CoverageBuilder.html" title="class in org.jacoco.core.analysis">CoverageBuilder</A>
    +<DD>Returns all class nodes currently contained in this builder.
    +<DT><A HREF="./org/jacoco/core/analysis/IPackageCoverage.html#getClasses()"><B>getClasses()</B></A> - 
    +Method in interface org.jacoco.core.analysis.<A HREF="./org/jacoco/core/analysis/IPackageCoverage.html" title="interface in org.jacoco.core.analysis">IPackageCoverage</A>
    +<DD>Returns all classes contained in this package.
    +<DT><A HREF="./org/jacoco/report/ILanguageNames.html#getClassName(java.lang.String, java.lang.String, java.lang.String, java.lang.String[])"><B>getClassName(String, String, String, String[])</B></A> - 
    +Method in interface org.jacoco.report.<A HREF="./org/jacoco/report/ILanguageNames.html" title="interface in org.jacoco.report">ILanguageNames</A>
    +<DD>Calculates the language specific name of a class.
    +<DT><A HREF="./org/jacoco/report/JavaNames.html#getClassName(java.lang.String, java.lang.String, java.lang.String, java.lang.String[])"><B>getClassName(String, String, String, String[])</B></A> - 
    +Method in class org.jacoco.report.<A HREF="./org/jacoco/report/JavaNames.html" title="class in org.jacoco.report">JavaNames</A>
    +<DD>&nbsp;
    +<DT><A HREF="./org/jacoco/core/analysis/CoverageNodeImpl.html#getComplexityCounter()"><B>getComplexityCounter()</B></A> - 
    +Method in class org.jacoco.core.analysis.<A HREF="./org/jacoco/core/analysis/CoverageNodeImpl.html" title="class in org.jacoco.core.analysis">CoverageNodeImpl</A>
    +<DD>&nbsp;
    +<DT><A HREF="./org/jacoco/core/analysis/ICoverageNode.html#getComplexityCounter()"><B>getComplexityCounter()</B></A> - 
    +Method in interface org.jacoco.core.analysis.<A HREF="./org/jacoco/core/analysis/ICoverageNode.html" title="interface in org.jacoco.core.analysis">ICoverageNode</A>
    +<DD>Returns the counter for cyclomatic complexity.
    +<DT><A HREF="./org/jacoco/core/data/ExecutionDataStore.html#getContents()"><B>getContents()</B></A> - 
    +Method in class org.jacoco.core.data.<A HREF="./org/jacoco/core/data/ExecutionDataStore.html" title="class in org.jacoco.core.data">ExecutionDataStore</A>
    +<DD>Returns a collection that represents current contents of the store.
    +<DT><A HREF="./org/jacoco/core/analysis/CoverageNodeImpl.html#getCounter(org.jacoco.core.analysis.ICoverageNode.CounterEntity)"><B>getCounter(ICoverageNode.CounterEntity)</B></A> - 
    +Method in class org.jacoco.core.analysis.<A HREF="./org/jacoco/core/analysis/CoverageNodeImpl.html" title="class in org.jacoco.core.analysis">CoverageNodeImpl</A>
    +<DD>&nbsp;
    +<DT><A HREF="./org/jacoco/core/analysis/ICoverageNode.html#getCounter(org.jacoco.core.analysis.ICoverageNode.CounterEntity)"><B>getCounter(ICoverageNode.CounterEntity)</B></A> - 
    +Method in interface org.jacoco.core.analysis.<A HREF="./org/jacoco/core/analysis/ICoverageNode.html" title="interface in org.jacoco.core.analysis">ICoverageNode</A>
    +<DD>Generic access to the counters.
    +<DT><A HREF="./org/jacoco/core/analysis/ICounter.html#getCoveredCount()"><B>getCoveredCount()</B></A> - 
    +Method in interface org.jacoco.core.analysis.<A HREF="./org/jacoco/core/analysis/ICounter.html" title="interface in org.jacoco.core.analysis">ICounter</A>
    +<DD>Returns the count of covered items.
    +<DT><A HREF="./org/jacoco/core/analysis/ICounter.html#getCoveredRatio()"><B>getCoveredRatio()</B></A> - 
    +Method in interface org.jacoco.core.analysis.<A HREF="./org/jacoco/core/analysis/ICounter.html" title="interface in org.jacoco.core.analysis">ICounter</A>
    +<DD>Calculates the ratio of covered to total count items.
    +<DT><A HREF="./org/jacoco/core/analysis/IMethodCoverage.html#getDesc()"><B>getDesc()</B></A> - 
    +Method in interface org.jacoco.core.analysis.<A HREF="./org/jacoco/core/analysis/IMethodCoverage.html" title="interface in org.jacoco.core.analysis">IMethodCoverage</A>
    +<DD>Returns the descriptor of the method.
    +<DT><A HREF="./org/jacoco/core/runtime/AgentOptions.html#getDestfile()"><B>getDestfile()</B></A> - 
    +Method in class org.jacoco.core.runtime.<A HREF="./org/jacoco/core/runtime/AgentOptions.html" title="class in org.jacoco.core.runtime">AgentOptions</A>
    +<DD>Returns the output file location.
    +<DT><A HREF="./org/jacoco/core/runtime/AgentOptions.html#getDumpOnExit()"><B>getDumpOnExit()</B></A> - 
    +Method in class org.jacoco.core.runtime.<A HREF="./org/jacoco/core/runtime/AgentOptions.html" title="class in org.jacoco.core.runtime">AgentOptions</A>
    +<DD>Returns whether coverage data should be dumped on exit.
    +<DT><A HREF="./org/jacoco/core/data/SessionInfo.html#getDumpTimeStamp()"><B>getDumpTimeStamp()</B></A> - 
    +Method in class org.jacoco.core.data.<A HREF="./org/jacoco/core/data/SessionInfo.html" title="class in org.jacoco.core.data">SessionInfo</A>
    +<DD>&nbsp;
    +<DT><A HREF="./org/jacoco/report/check/Rule.html#getElement()"><B>getElement()</B></A> - 
    +Method in class org.jacoco.report.check.<A HREF="./org/jacoco/report/check/Rule.html" title="class in org.jacoco.report.check">Rule</A>
    +<DD>&nbsp;
    +<DT><A HREF="./org/jacoco/core/analysis/CoverageNodeImpl.html#getElementType()"><B>getElementType()</B></A> - 
    +Method in class org.jacoco.core.analysis.<A HREF="./org/jacoco/core/analysis/CoverageNodeImpl.html" title="class in org.jacoco.core.analysis">CoverageNodeImpl</A>
    +<DD>&nbsp;
    +<DT><A HREF="./org/jacoco/core/analysis/ICoverageNode.html#getElementType()"><B>getElementType()</B></A> - 
    +Method in interface org.jacoco.core.analysis.<A HREF="./org/jacoco/core/analysis/ICoverageNode.html" title="interface in org.jacoco.core.analysis">ICoverageNode</A>
    +<DD>Returns the type of element represented by this node.
    +<DT><A HREF="./org/jacoco/report/check/Limit.html#getEntity()"><B>getEntity()</B></A> - 
    +Method in class org.jacoco.report.check.<A HREF="./org/jacoco/report/check/Limit.html" title="class in org.jacoco.report.check">Limit</A>
    +<DD>&nbsp;
    +<DT><A HREF="./org/jacoco/core/runtime/AgentOptions.html#getExclClassloader()"><B>getExclClassloader()</B></A> - 
    +Method in class org.jacoco.core.runtime.<A HREF="./org/jacoco/core/runtime/AgentOptions.html" title="class in org.jacoco.core.runtime">AgentOptions</A>
    +<DD>Returns the wildcard expression for excluded class loaders.
    +<DT><A HREF="./org/jacoco/core/runtime/AgentOptions.html#getExcludes()"><B>getExcludes()</B></A> - 
    +Method in class org.jacoco.core.runtime.<A HREF="./org/jacoco/core/runtime/AgentOptions.html" title="class in org.jacoco.core.runtime">AgentOptions</A>
    +<DD>Returns the wildcard expression for classes to exclude.
    +<DT><A HREF="./org/jacoco/report/check/Rule.html#getExcludes()"><B>getExcludes()</B></A> - 
    +Method in class org.jacoco.report.check.<A HREF="./org/jacoco/report/check/Rule.html" title="class in org.jacoco.report.check">Rule</A>
    +<DD>&nbsp;
    +<DT><A HREF="./org/jacoco/agent/rt/IAgent.html#getExecutionData(boolean)"><B>getExecutionData(boolean)</B></A> - 
    +Method in interface org.jacoco.agent.rt.<A HREF="./org/jacoco/agent/rt/IAgent.html" title="interface in org.jacoco.agent.rt">IAgent</A>
    +<DD>Returns current execution data.
    +<DT><A HREF="./org/jacoco/core/runtime/RuntimeData.html#getExecutionData(java.lang.Long, java.lang.String, int)"><B>getExecutionData(Long, String, int)</B></A> - 
    +Method in class org.jacoco.core.runtime.<A HREF="./org/jacoco/core/runtime/RuntimeData.html" title="class in org.jacoco.core.runtime">RuntimeData</A>
    +<DD>Returns the coverage data for the class with the given identifier.
    +<DT><A HREF="./org/jacoco/core/tools/ExecFileLoader.html#getExecutionDataStore()"><B>getExecutionDataStore()</B></A> - 
    +Method in class org.jacoco.core.tools.<A HREF="./org/jacoco/core/tools/ExecFileLoader.html" title="class in org.jacoco.core.tools">ExecFileLoader</A>
    +<DD>Returns the execution data store with data for all loaded classes.
    +<DT><A HREF="./org/jacoco/core/data/IncompatibleExecDataVersionException.html#getExpectedVersion()"><B>getExpectedVersion()</B></A> - 
    +Method in exception org.jacoco.core.data.<A HREF="./org/jacoco/core/data/IncompatibleExecDataVersionException.html" title="class in org.jacoco.core.data">IncompatibleExecDataVersionException</A>
    +<DD>Gets the version expected in the execution data which can be read by this
    + version of JaCoCo.
    +<DT><A HREF="./org/jacoco/core/data/ExecutionDataWriter.html#getFileHeader()"><B>getFileHeader()</B></A> - 
    +Static method in class org.jacoco.core.data.<A HREF="./org/jacoco/core/data/ExecutionDataWriter.html" title="class in org.jacoco.core.data">ExecutionDataWriter</A>
    +<DD>Returns the first bytes of a file that represents a valid execution data
    + file.
    +<DT><A HREF="./org/jacoco/core/analysis/ISourceNode.html#getFirstLine()"><B>getFirstLine()</B></A> - 
    +Method in interface org.jacoco.core.analysis.<A HREF="./org/jacoco/core/analysis/ISourceNode.html" title="interface in org.jacoco.core.analysis">ISourceNode</A>
    +<DD>The number of the first line coverage information is available for.
    +<DT><A HREF="./org/jacoco/report/html/HTMLFormatter.html#getFooterText()"><B>getFooterText()</B></A> - 
    +Method in class org.jacoco.report.html.<A HREF="./org/jacoco/report/html/HTMLFormatter.html" title="class in org.jacoco.report.html">HTMLFormatter</A>
    +<DD>&nbsp;
    +<DT><A HREF="./org/jacoco/core/analysis/IClassCoverage.html#getId()"><B>getId()</B></A> - 
    +Method in interface org.jacoco.core.analysis.<A HREF="./org/jacoco/core/analysis/IClassCoverage.html" title="interface in org.jacoco.core.analysis">IClassCoverage</A>
    +<DD>Returns the identifier for this class which is the CRC64 signature of the
    + class definition.
    +<DT><A HREF="./org/jacoco/core/data/ExecutionData.html#getId()"><B>getId()</B></A> - 
    +Method in class org.jacoco.core.data.<A HREF="./org/jacoco/core/data/ExecutionData.html" title="class in org.jacoco.core.data">ExecutionData</A>
    +<DD>Return the unique identifier for this class.
    +<DT><A HREF="./org/jacoco/core/data/SessionInfo.html#getId()"><B>getId()</B></A> - 
    +Method in class org.jacoco.core.data.<A HREF="./org/jacoco/core/data/SessionInfo.html" title="class in org.jacoco.core.data">SessionInfo</A>
    +<DD>&nbsp;
    +<DT><A HREF="./org/jacoco/core/runtime/AgentOptions.html#getInclBootstrapClasses()"><B>getInclBootstrapClasses()</B></A> - 
    +Method in class org.jacoco.core.runtime.<A HREF="./org/jacoco/core/runtime/AgentOptions.html" title="class in org.jacoco.core.runtime">AgentOptions</A>
    +<DD>Returns whether classes from the bootstrap classloader should be
    + instrumented.
    +<DT><A HREF="./org/jacoco/core/runtime/AgentOptions.html#getInclNoLocationClasses()"><B>getInclNoLocationClasses()</B></A> - 
    +Method in class org.jacoco.core.runtime.<A HREF="./org/jacoco/core/runtime/AgentOptions.html" title="class in org.jacoco.core.runtime">AgentOptions</A>
    +<DD>Returns whether classes without source location should be instrumented.
    +<DT><A HREF="./org/jacoco/core/runtime/AgentOptions.html#getIncludes()"><B>getIncludes()</B></A> - 
    +Method in class org.jacoco.core.runtime.<A HREF="./org/jacoco/core/runtime/AgentOptions.html" title="class in org.jacoco.core.runtime">AgentOptions</A>
    +<DD>Returns the wildcard expression for classes to include.
    +<DT><A HREF="./org/jacoco/report/check/Rule.html#getIncludes()"><B>getIncludes()</B></A> - 
    +Method in class org.jacoco.report.check.<A HREF="./org/jacoco/report/check/Rule.html" title="class in org.jacoco.report.check">Rule</A>
    +<DD>&nbsp;
    +<DT><A HREF="./org/jacoco/report/html/HTMLFormatter.html#getIndexUpdate()"><B>getIndexUpdate()</B></A> - 
    +Method in class org.jacoco.report.html.<A HREF="./org/jacoco/report/html/HTMLFormatter.html" title="class in org.jacoco.report.html">HTMLFormatter</A>
    +<DD>&nbsp;
    +<DT><A HREF="./org/jacoco/core/data/SessionInfoStore.html#getInfos()"><B>getInfos()</B></A> - 
    +Method in class org.jacoco.core.data.<A HREF="./org/jacoco/core/data/SessionInfoStore.html" title="class in org.jacoco.core.data">SessionInfoStore</A>
    +<DD>Returns all <A HREF="./org/jacoco/core/data/SessionInfo.html" title="class in org.jacoco.core.data"><CODE>SessionInfo</CODE></A> objects currently contained in the store.
    +<DT><A HREF="./org/jacoco/core/analysis/CoverageNodeImpl.html#getInstructionCounter()"><B>getInstructionCounter()</B></A> - 
    +Method in class org.jacoco.core.analysis.<A HREF="./org/jacoco/core/analysis/CoverageNodeImpl.html" title="class in org.jacoco.core.analysis">CoverageNodeImpl</A>
    +<DD>&nbsp;
    +<DT><A HREF="./org/jacoco/core/analysis/ICoverageNode.html#getInstructionCounter()"><B>getInstructionCounter()</B></A> - 
    +Method in interface org.jacoco.core.analysis.<A HREF="./org/jacoco/core/analysis/ICoverageNode.html" title="interface in org.jacoco.core.analysis">ICoverageNode</A>
    +<DD>Returns the counter for byte code instructions.
    +<DT><A HREF="./org/jacoco/core/analysis/ILine.html#getInstructionCounter()"><B>getInstructionCounter()</B></A> - 
    +Method in interface org.jacoco.core.analysis.<A HREF="./org/jacoco/core/analysis/ILine.html" title="interface in org.jacoco.core.analysis">ILine</A>
    +<DD>Returns the instruction counter for this line.
    +<DT><A HREF="./org/jacoco/core/analysis/IClassCoverage.html#getInterfaceNames()"><B>getInterfaceNames()</B></A> - 
    +Method in interface org.jacoco.core.analysis.<A HREF="./org/jacoco/core/analysis/IClassCoverage.html" title="interface in org.jacoco.core.analysis">IClassCoverage</A>
    +<DD>Returns the VM names of implemented/extended interfaces.
    +<DT><A HREF="./org/jacoco/core/runtime/AgentOptions.html#getJmx()"><B>getJmx()</B></A> - 
    +Method in class org.jacoco.core.runtime.<A HREF="./org/jacoco/core/runtime/AgentOptions.html" title="class in org.jacoco.core.runtime">AgentOptions</A>
    +<DD>Returns whether the agent exposes functionality via JMX.
    +<DT><A HREF="./org/jacoco/report/csv/CSVFormatter.html#getLanguageNames()"><B>getLanguageNames()</B></A> - 
    +Method in class org.jacoco.report.csv.<A HREF="./org/jacoco/report/csv/CSVFormatter.html" title="class in org.jacoco.report.csv">CSVFormatter</A>
    +<DD>Returns the language names call-back used in this report.
    +<DT><A HREF="./org/jacoco/report/html/HTMLFormatter.html#getLanguageNames()"><B>getLanguageNames()</B></A> - 
    +Method in class org.jacoco.report.html.<A HREF="./org/jacoco/report/html/HTMLFormatter.html" title="class in org.jacoco.report.html">HTMLFormatter</A>
    +<DD>&nbsp;
    +<DT><A HREF="./org/jacoco/core/analysis/ISourceNode.html#getLastLine()"><B>getLastLine()</B></A> - 
    +Method in interface org.jacoco.core.analysis.<A HREF="./org/jacoco/core/analysis/ISourceNode.html" title="interface in org.jacoco.core.analysis">ISourceNode</A>
    +<DD>The number of the last line coverage information is available for.
    +<DT><A HREF="./org/jacoco/report/check/Rule.html#getLimits()"><B>getLimits()</B></A> - 
    +Method in class org.jacoco.report.check.<A HREF="./org/jacoco/report/check/Rule.html" title="class in org.jacoco.report.check">Rule</A>
    +<DD>&nbsp;
    +<DT><A HREF="./org/jacoco/core/analysis/ISourceNode.html#getLine(int)"><B>getLine(int)</B></A> - 
    +Method in interface org.jacoco.core.analysis.<A HREF="./org/jacoco/core/analysis/ISourceNode.html" title="interface in org.jacoco.core.analysis">ISourceNode</A>
    +<DD>Returns the line information for given line.
    +<DT><A HREF="./org/jacoco/core/analysis/CoverageNodeImpl.html#getLineCounter()"><B>getLineCounter()</B></A> - 
    +Method in class org.jacoco.core.analysis.<A HREF="./org/jacoco/core/analysis/CoverageNodeImpl.html" title="class in org.jacoco.core.analysis">CoverageNodeImpl</A>
    +<DD>&nbsp;
    +<DT><A HREF="./org/jacoco/core/analysis/ICoverageNode.html#getLineCounter()"><B>getLineCounter()</B></A> - 
    +Method in interface org.jacoco.core.analysis.<A HREF="./org/jacoco/core/analysis/ICoverageNode.html" title="interface in org.jacoco.core.analysis">ICoverageNode</A>
    +<DD>Returns the counter for lines.
    +<DT><A HREF="./org/jacoco/report/html/HTMLFormatter.html#getLocale()"><B>getLocale()</B></A> - 
    +Method in class org.jacoco.report.html.<A HREF="./org/jacoco/report/html/HTMLFormatter.html" title="class in org.jacoco.report.html">HTMLFormatter</A>
    +<DD>&nbsp;
    +<DT><A HREF="./org/jacoco/report/check/Limit.html#getMaximum()"><B>getMaximum()</B></A> - 
    +Method in class org.jacoco.report.check.<A HREF="./org/jacoco/report/check/Limit.html" title="class in org.jacoco.report.check">Limit</A>
    +<DD>&nbsp;
    +<DT><A HREF="./org/jacoco/core/data/SessionInfoStore.html#getMerged(java.lang.String)"><B>getMerged(String)</B></A> - 
    +Method in class org.jacoco.core.data.<A HREF="./org/jacoco/core/data/SessionInfoStore.html" title="class in org.jacoco.core.data">SessionInfoStore</A>
    +<DD>Returns a new session info with the given id that contains a merged
    + version from all contained version.
    +<DT><A HREF="./org/jacoco/core/analysis/CoverageNodeImpl.html#getMethodCounter()"><B>getMethodCounter()</B></A> - 
    +Method in class org.jacoco.core.analysis.<A HREF="./org/jacoco/core/analysis/CoverageNodeImpl.html" title="class in org.jacoco.core.analysis">CoverageNodeImpl</A>
    +<DD>&nbsp;
    +<DT><A HREF="./org/jacoco/core/analysis/ICoverageNode.html#getMethodCounter()"><B>getMethodCounter()</B></A> - 
    +Method in interface org.jacoco.core.analysis.<A HREF="./org/jacoco/core/analysis/ICoverageNode.html" title="interface in org.jacoco.core.analysis">ICoverageNode</A>
    +<DD>Returns the counter for methods.
    +<DT><A HREF="./org/jacoco/report/ILanguageNames.html#getMethodName(java.lang.String, java.lang.String, java.lang.String, java.lang.String)"><B>getMethodName(String, String, String, String)</B></A> - 
    +Method in interface org.jacoco.report.<A HREF="./org/jacoco/report/ILanguageNames.html" title="interface in org.jacoco.report">ILanguageNames</A>
    +<DD>Calculates the language specific name of a method.
    +<DT><A HREF="./org/jacoco/report/JavaNames.html#getMethodName(java.lang.String, java.lang.String, java.lang.String, java.lang.String)"><B>getMethodName(String, String, String, String)</B></A> - 
    +Method in class org.jacoco.report.<A HREF="./org/jacoco/report/JavaNames.html" title="class in org.jacoco.report">JavaNames</A>
    +<DD>&nbsp;
    +<DT><A HREF="./org/jacoco/core/analysis/IClassCoverage.html#getMethods()"><B>getMethods()</B></A> - 
    +Method in interface org.jacoco.core.analysis.<A HREF="./org/jacoco/core/analysis/IClassCoverage.html" title="interface in org.jacoco.core.analysis">IClassCoverage</A>
    +<DD>Returns the methods included in this class.
    +<DT><A HREF="./org/jacoco/report/check/Limit.html#getMinimum()"><B>getMinimum()</B></A> - 
    +Method in class org.jacoco.report.check.<A HREF="./org/jacoco/report/check/Limit.html" title="class in org.jacoco.report.check">Limit</A>
    +<DD>&nbsp;
    +<DT><A HREF="./org/jacoco/core/analysis/ICounter.html#getMissedCount()"><B>getMissedCount()</B></A> - 
    +Method in interface org.jacoco.core.analysis.<A HREF="./org/jacoco/core/analysis/ICounter.html" title="interface in org.jacoco.core.analysis">ICounter</A>
    +<DD>Returns the count of missed items.
    +<DT><A HREF="./org/jacoco/core/analysis/ICounter.html#getMissedRatio()"><B>getMissedRatio()</B></A> - 
    +Method in interface org.jacoco.core.analysis.<A HREF="./org/jacoco/core/analysis/ICounter.html" title="interface in org.jacoco.core.analysis">ICounter</A>
    +<DD>Calculates the ratio of missed to total count items.
    +<DT><A HREF="./org/jacoco/core/analysis/CoverageNodeImpl.html#getName()"><B>getName()</B></A> - 
    +Method in class org.jacoco.core.analysis.<A HREF="./org/jacoco/core/analysis/CoverageNodeImpl.html" title="class in org.jacoco.core.analysis">CoverageNodeImpl</A>
    +<DD>&nbsp;
    +<DT><A HREF="./org/jacoco/core/analysis/ICoverageNode.html#getName()"><B>getName()</B></A> - 
    +Method in interface org.jacoco.core.analysis.<A HREF="./org/jacoco/core/analysis/ICoverageNode.html" title="interface in org.jacoco.core.analysis">ICoverageNode</A>
    +<DD>Returns the name of this node.
    +<DT><A HREF="./org/jacoco/core/data/ExecutionData.html#getName()"><B>getName()</B></A> - 
    +Method in class org.jacoco.core.data.<A HREF="./org/jacoco/core/data/ExecutionData.html" title="class in org.jacoco.core.data">ExecutionData</A>
    +<DD>The VM name of the class.
    +<DT><A HREF="./org/jacoco/core/analysis/CoverageBuilder.html#getNoMatchClasses()"><B>getNoMatchClasses()</B></A> - 
    +Method in class org.jacoco.core.analysis.<A HREF="./org/jacoco/core/analysis/CoverageBuilder.html" title="class in org.jacoco.core.analysis">CoverageBuilder</A>
    +<DD>Returns all classes for which execution data does not match.
    +<DT><A HREF="./org/jacoco/core/runtime/AgentOptions.html#getOutput()"><B>getOutput()</B></A> - 
    +Method in class org.jacoco.core.runtime.<A HREF="./org/jacoco/core/runtime/AgentOptions.html" title="class in org.jacoco.core.runtime">AgentOptions</A>
    +<DD>Returns the output mode
    +<DT><A HREF="./org/jacoco/report/html/HTMLFormatter.html#getOutputEncoding()"><B>getOutputEncoding()</B></A> - 
    +Method in class org.jacoco.report.html.<A HREF="./org/jacoco/report/html/HTMLFormatter.html" title="class in org.jacoco.report.html">HTMLFormatter</A>
    +<DD>&nbsp;
    +<DT><A HREF="./org/jacoco/core/analysis/IClassCoverage.html#getPackageName()"><B>getPackageName()</B></A> - 
    +Method in interface org.jacoco.core.analysis.<A HREF="./org/jacoco/core/analysis/IClassCoverage.html" title="interface in org.jacoco.core.analysis">IClassCoverage</A>
    +<DD>Returns the VM name of the package this class belongs to.
    +<DT><A HREF="./org/jacoco/core/analysis/ISourceFileCoverage.html#getPackageName()"><B>getPackageName()</B></A> - 
    +Method in interface org.jacoco.core.analysis.<A HREF="./org/jacoco/core/analysis/ISourceFileCoverage.html" title="interface in org.jacoco.core.analysis">ISourceFileCoverage</A>
    +<DD>Returns the VM name of the package the source file belongs to.
    +<DT><A HREF="./org/jacoco/report/ILanguageNames.html#getPackageName(java.lang.String)"><B>getPackageName(String)</B></A> - 
    +Method in interface org.jacoco.report.<A HREF="./org/jacoco/report/ILanguageNames.html" title="interface in org.jacoco.report">ILanguageNames</A>
    +<DD>Calculates the language specific name of a package.
    +<DT><A HREF="./org/jacoco/report/JavaNames.html#getPackageName(java.lang.String)"><B>getPackageName(String)</B></A> - 
    +Method in class org.jacoco.report.<A HREF="./org/jacoco/report/JavaNames.html" title="class in org.jacoco.report">JavaNames</A>
    +<DD>&nbsp;
    +<DT><A HREF="./org/jacoco/core/analysis/IBundleCoverage.html#getPackages()"><B>getPackages()</B></A> - 
    +Method in interface org.jacoco.core.analysis.<A HREF="./org/jacoco/core/analysis/IBundleCoverage.html" title="interface in org.jacoco.core.analysis">IBundleCoverage</A>
    +<DD>Returns all packages contained in this bundle.
    +<DT><A HREF="./org/jacoco/core/analysis/CoverageNodeImpl.html#getPlainCopy()"><B>getPlainCopy()</B></A> - 
    +Method in class org.jacoco.core.analysis.<A HREF="./org/jacoco/core/analysis/CoverageNodeImpl.html" title="class in org.jacoco.core.analysis">CoverageNodeImpl</A>
    +<DD>&nbsp;
    +<DT><A HREF="./org/jacoco/core/analysis/ICoverageNode.html#getPlainCopy()"><B>getPlainCopy()</B></A> - 
    +Method in interface org.jacoco.core.analysis.<A HREF="./org/jacoco/core/analysis/ICoverageNode.html" title="interface in org.jacoco.core.analysis">ICoverageNode</A>
    +<DD>Creates a plain copy of this node.
    +<DT><A HREF="./org/jacoco/core/runtime/AgentOptions.html#getPort()"><B>getPort()</B></A> - 
    +Method in class org.jacoco.core.runtime.<A HREF="./org/jacoco/core/runtime/AgentOptions.html" title="class in org.jacoco.core.runtime">AgentOptions</A>
    +<DD>Returns the port on which to listen to when the output is
    + <code>tcpserver</code> or the port to connect to when output is
    + <code>tcpclient</code>.
    +<DT><A HREF="./org/jacoco/core/data/ExecutionData.html#getProbes()"><B>getProbes()</B></A> - 
    +Method in class org.jacoco.core.data.<A HREF="./org/jacoco/core/data/ExecutionData.html" title="class in org.jacoco.core.data">ExecutionData</A>
    +<DD>Returns the execution data probes.
    +<DT><A HREF="./org/jacoco/core/runtime/RuntimeData.html#getProbes(java.lang.Object[])"><B>getProbes(Object[])</B></A> - 
    +Method in class org.jacoco.core.runtime.<A HREF="./org/jacoco/core/runtime/RuntimeData.html" title="class in org.jacoco.core.runtime">RuntimeData</A>
    +<DD>Retrieves the execution probe array for a given class.
    +<DT><A HREF="./org/jacoco/report/ILanguageNames.html#getQualifiedClassName(java.lang.String)"><B>getQualifiedClassName(String)</B></A> - 
    +Method in interface org.jacoco.report.<A HREF="./org/jacoco/report/ILanguageNames.html" title="interface in org.jacoco.report">ILanguageNames</A>
    +<DD>Calculates the language specific qualified name of a class.
    +<DT><A HREF="./org/jacoco/report/JavaNames.html#getQualifiedClassName(java.lang.String)"><B>getQualifiedClassName(String)</B></A> - 
    +Method in class org.jacoco.report.<A HREF="./org/jacoco/report/JavaNames.html" title="class in org.jacoco.report">JavaNames</A>
    +<DD>&nbsp;
    +<DT><A HREF="./org/jacoco/report/ILanguageNames.html#getQualifiedMethodName(java.lang.String, java.lang.String, java.lang.String, java.lang.String)"><B>getQualifiedMethodName(String, String, String, String)</B></A> - 
    +Method in interface org.jacoco.report.<A HREF="./org/jacoco/report/ILanguageNames.html" title="interface in org.jacoco.report">ILanguageNames</A>
    +<DD>Calculates the language specific fully qualified name of a method.
    +<DT><A HREF="./org/jacoco/report/JavaNames.html#getQualifiedMethodName(java.lang.String, java.lang.String, java.lang.String, java.lang.String)"><B>getQualifiedMethodName(String, String, String, String)</B></A> - 
    +Method in class org.jacoco.report.<A HREF="./org/jacoco/report/JavaNames.html" title="class in org.jacoco.report">JavaNames</A>
    +<DD>&nbsp;
    +<DT><A HREF="./org/jacoco/core/runtime/AgentOptions.html#getQuotedVMArgument(java.io.File)"><B>getQuotedVMArgument(File)</B></A> - 
    +Method in class org.jacoco.core.runtime.<A HREF="./org/jacoco/core/runtime/AgentOptions.html" title="class in org.jacoco.core.runtime">AgentOptions</A>
    +<DD>Generate required quoted JVM argument based on current configuration and
    + supplied agent jar location.
    +<DT><A HREF="./org/jacoco/agent/AgentJar.html#getResource()"><B>getResource()</B></A> - 
    +Static method in class org.jacoco.agent.<A HREF="./org/jacoco/agent/AgentJar.html" title="class in org.jacoco.agent">AgentJar</A>
    +<DD>Returns a URL pointing to the JAR file.
    +<DT><A HREF="./org/jacoco/agent/AgentJar.html#getResourceAsStream()"><B>getResourceAsStream()</B></A> - 
    +Static method in class org.jacoco.agent.<A HREF="./org/jacoco/agent/AgentJar.html" title="class in org.jacoco.agent">AgentJar</A>
    +<DD>Returns the content of the JAR file as a stream.
    +<DT><A HREF="./org/jacoco/report/html/HTMLFormatter.html#getResources()"><B>getResources()</B></A> - 
    +Method in class org.jacoco.report.html.<A HREF="./org/jacoco/report/html/HTMLFormatter.html" title="class in org.jacoco.report.html">HTMLFormatter</A>
    +<DD>&nbsp;
    +<DT><A HREF="./org/jacoco/agent/rt/IAgent.html#getSessionId()"><B>getSessionId()</B></A> - 
    +Method in interface org.jacoco.agent.rt.<A HREF="./org/jacoco/agent/rt/IAgent.html" title="interface in org.jacoco.agent.rt">IAgent</A>
    +<DD>Returns current a session identifier.
    +<DT><A HREF="./org/jacoco/core/runtime/AgentOptions.html#getSessionId()"><B>getSessionId()</B></A> - 
    +Method in class org.jacoco.core.runtime.<A HREF="./org/jacoco/core/runtime/AgentOptions.html" title="class in org.jacoco.core.runtime">AgentOptions</A>
    +<DD>Returns the session identifier.
    +<DT><A HREF="./org/jacoco/core/runtime/RuntimeData.html#getSessionId()"><B>getSessionId()</B></A> - 
    +Method in class org.jacoco.core.runtime.<A HREF="./org/jacoco/core/runtime/RuntimeData.html" title="class in org.jacoco.core.runtime">RuntimeData</A>
    +<DD>Get the current a session identifier for this runtime.
    +<DT><A HREF="./org/jacoco/core/tools/ExecFileLoader.html#getSessionInfoStore()"><B>getSessionInfoStore()</B></A> - 
    +Method in class org.jacoco.core.tools.<A HREF="./org/jacoco/core/tools/ExecFileLoader.html" title="class in org.jacoco.core.tools">ExecFileLoader</A>
    +<DD>Returns the session info store with all loaded sessions.
    +<DT><A HREF="./org/jacoco/report/html/HTMLFormatter.html#getSessionsPage()"><B>getSessionsPage()</B></A> - 
    +Method in class org.jacoco.report.html.<A HREF="./org/jacoco/report/html/HTMLFormatter.html" title="class in org.jacoco.report.html">HTMLFormatter</A>
    +<DD>&nbsp;
    +<DT><A HREF="./org/jacoco/core/analysis/IClassCoverage.html#getSignature()"><B>getSignature()</B></A> - 
    +Method in interface org.jacoco.core.analysis.<A HREF="./org/jacoco/core/analysis/IClassCoverage.html" title="interface in org.jacoco.core.analysis">IClassCoverage</A>
    +<DD>Returns the VM signature of the class.
    +<DT><A HREF="./org/jacoco/core/analysis/IMethodCoverage.html#getSignature()"><B>getSignature()</B></A> - 
    +Method in interface org.jacoco.core.analysis.<A HREF="./org/jacoco/core/analysis/IMethodCoverage.html" title="interface in org.jacoco.core.analysis">IMethodCoverage</A>
    +<DD>Returns the generic signature of the method if defined.
    +<DT><A HREF="./org/jacoco/report/InputStreamSourceFileLocator.html#getSourceFile(java.lang.String, java.lang.String)"><B>getSourceFile(String, String)</B></A> - 
    +Method in class org.jacoco.report.<A HREF="./org/jacoco/report/InputStreamSourceFileLocator.html" title="class in org.jacoco.report">InputStreamSourceFileLocator</A>
    +<DD>&nbsp;
    +<DT><A HREF="./org/jacoco/report/ISourceFileLocator.html#getSourceFile(java.lang.String, java.lang.String)"><B>getSourceFile(String, String)</B></A> - 
    +Method in interface org.jacoco.report.<A HREF="./org/jacoco/report/ISourceFileLocator.html" title="interface in org.jacoco.report">ISourceFileLocator</A>
    +<DD>Tries to locate the given source file and opens a reader with the
    + appropriate encoding.
    +<DT><A HREF="./org/jacoco/report/MultiSourceFileLocator.html#getSourceFile(java.lang.String, java.lang.String)"><B>getSourceFile(String, String)</B></A> - 
    +Method in class org.jacoco.report.<A HREF="./org/jacoco/report/MultiSourceFileLocator.html" title="class in org.jacoco.report">MultiSourceFileLocator</A>
    +<DD>&nbsp;
    +<DT><A HREF="./org/jacoco/core/analysis/IClassCoverage.html#getSourceFileName()"><B>getSourceFileName()</B></A> - 
    +Method in interface org.jacoco.core.analysis.<A HREF="./org/jacoco/core/analysis/IClassCoverage.html" title="interface in org.jacoco.core.analysis">IClassCoverage</A>
    +<DD>Returns the optional name of the corresponding source file.
    +<DT><A HREF="./org/jacoco/core/analysis/CoverageBuilder.html#getSourceFiles()"><B>getSourceFiles()</B></A> - 
    +Method in class org.jacoco.core.analysis.<A HREF="./org/jacoco/core/analysis/CoverageBuilder.html" title="class in org.jacoco.core.analysis">CoverageBuilder</A>
    +<DD>Returns all source file nodes currently contained in this builder.
    +<DT><A HREF="./org/jacoco/core/analysis/IPackageCoverage.html#getSourceFiles()"><B>getSourceFiles()</B></A> - 
    +Method in interface org.jacoco.core.analysis.<A HREF="./org/jacoco/core/analysis/IPackageCoverage.html" title="interface in org.jacoco.core.analysis">IPackageCoverage</A>
    +<DD>Returns all source files in this package.
    +<DT><A HREF="./org/jacoco/report/DirectorySourceFileLocator.html#getSourceStream(java.lang.String)"><B>getSourceStream(String)</B></A> - 
    +Method in class org.jacoco.report.<A HREF="./org/jacoco/report/DirectorySourceFileLocator.html" title="class in org.jacoco.report">DirectorySourceFileLocator</A>
    +<DD>&nbsp;
    +<DT><A HREF="./org/jacoco/report/InputStreamSourceFileLocator.html#getSourceStream(java.lang.String)"><B>getSourceStream(String)</B></A> - 
    +Method in class org.jacoco.report.<A HREF="./org/jacoco/report/InputStreamSourceFileLocator.html" title="class in org.jacoco.report">InputStreamSourceFileLocator</A>
    +<DD>Tries to locate the given source file and opens its binary content.
    +<DT><A HREF="./org/jacoco/core/data/SessionInfo.html#getStartTimeStamp()"><B>getStartTimeStamp()</B></A> - 
    +Method in class org.jacoco.core.data.<A HREF="./org/jacoco/core/data/SessionInfo.html" title="class in org.jacoco.core.data">SessionInfo</A>
    +<DD>&nbsp;
    +<DT><A HREF="./org/jacoco/core/analysis/ICounter.html#getStatus()"><B>getStatus()</B></A> - 
    +Method in interface org.jacoco.core.analysis.<A HREF="./org/jacoco/core/analysis/ICounter.html" title="interface in org.jacoco.core.analysis">ICounter</A>
    +<DD>Returns the coverage status of this counter.
    +<DT><A HREF="./org/jacoco/core/analysis/ILine.html#getStatus()"><B>getStatus()</B></A> - 
    +Method in interface org.jacoco.core.analysis.<A HREF="./org/jacoco/core/analysis/ILine.html" title="interface in org.jacoco.core.analysis">ILine</A>
    +<DD>Returns the coverage status of this line, calculated from the
    + instructions counter and branch counter.
    +<DT><A HREF="./org/jacoco/core/analysis/IClassCoverage.html#getSuperName()"><B>getSuperName()</B></A> - 
    +Method in interface org.jacoco.core.analysis.<A HREF="./org/jacoco/core/analysis/IClassCoverage.html" title="interface in org.jacoco.core.analysis">IClassCoverage</A>
    +<DD>Returns the VM name of the superclass.
    +<DT><A HREF="./org/jacoco/report/html/HTMLFormatter.html#getTable()"><B>getTable()</B></A> - 
    +Method in class org.jacoco.report.html.<A HREF="./org/jacoco/report/html/HTMLFormatter.html" title="class in org.jacoco.report.html">HTMLFormatter</A>
    +<DD>&nbsp;
    +<DT><A HREF="./org/jacoco/report/InputStreamSourceFileLocator.html#getTabWidth()"><B>getTabWidth()</B></A> - 
    +Method in class org.jacoco.report.<A HREF="./org/jacoco/report/InputStreamSourceFileLocator.html" title="class in org.jacoco.report">InputStreamSourceFileLocator</A>
    +<DD>&nbsp;
    +<DT><A HREF="./org/jacoco/report/ISourceFileLocator.html#getTabWidth()"><B>getTabWidth()</B></A> - 
    +Method in interface org.jacoco.report.<A HREF="./org/jacoco/report/ISourceFileLocator.html" title="interface in org.jacoco.report">ISourceFileLocator</A>
    +<DD>Returns number of blank characters that represent a tab in source code.
    +<DT><A HREF="./org/jacoco/report/MultiSourceFileLocator.html#getTabWidth()"><B>getTabWidth()</B></A> - 
    +Method in class org.jacoco.report.<A HREF="./org/jacoco/report/MultiSourceFileLocator.html" title="class in org.jacoco.report">MultiSourceFileLocator</A>
    +<DD>&nbsp;
    +<DT><A HREF="./org/jacoco/core/analysis/ICounter.html#getTotalCount()"><B>getTotalCount()</B></A> - 
    +Method in interface org.jacoco.core.analysis.<A HREF="./org/jacoco/core/analysis/ICounter.html" title="interface in org.jacoco.core.analysis">ICounter</A>
    +<DD>Returns the total count of items.
    +<DT><A HREF="./org/jacoco/core/analysis/ICounter.html#getValue(org.jacoco.core.analysis.ICounter.CounterValue)"><B>getValue(ICounter.CounterValue)</B></A> - 
    +Method in interface org.jacoco.core.analysis.<A HREF="./org/jacoco/core/analysis/ICounter.html" title="interface in org.jacoco.core.analysis">ICounter</A>
    +<DD>Returns the counter value of the given type.
    +<DT><A HREF="./org/jacoco/report/check/Limit.html#getValue()"><B>getValue()</B></A> - 
    +Method in class org.jacoco.report.check.<A HREF="./org/jacoco/report/check/Limit.html" title="class in org.jacoco.report.check">Limit</A>
    +<DD>&nbsp;
    +<DT><A HREF="./org/jacoco/agent/rt/IAgent.html#getVersion()"><B>getVersion()</B></A> - 
    +Method in interface org.jacoco.agent.rt.<A HREF="./org/jacoco/agent/rt/IAgent.html" title="interface in org.jacoco.agent.rt">IAgent</A>
    +<DD>Returns version of JaCoCo.
    +<DT><A HREF="./org/jacoco/core/runtime/AgentOptions.html#getVMArgument(java.io.File)"><B>getVMArgument(File)</B></A> - 
    +Method in class org.jacoco.core.runtime.<A HREF="./org/jacoco/core/runtime/AgentOptions.html" title="class in org.jacoco.core.runtime">AgentOptions</A>
    +<DD>Generate required JVM argument based on current configuration and
    + supplied agent jar location.
    +</DL>
    +<HR>
    +<A NAME="_H_"><!-- --></A><H2>
    +<B>H</B></H2>
    +<DL>
    +<DT><A HREF="./org/jacoco/core/data/ExecutionData.html#hasHits()"><B>hasHits()</B></A> - 
    +Method in class org.jacoco.core.data.<A HREF="./org/jacoco/core/data/ExecutionData.html" title="class in org.jacoco.core.data">ExecutionData</A>
    +<DD>Checks whether any probe has been hit.
    +<DT><A HREF="./org/jacoco/core/JaCoCo.html#HOMEURL"><B>HOMEURL</B></A> - 
    +Static variable in class org.jacoco.core.<A HREF="./org/jacoco/core/JaCoCo.html" title="class in org.jacoco.core">JaCoCo</A>
    +<DD>Absolute URL of the current JaCoCo home page
    +<DT><A HREF="./org/jacoco/report/html/HTMLFormatter.html" title="class in org.jacoco.report.html"><B>HTMLFormatter</B></A> - Class in <A HREF="./org/jacoco/report/html/package-summary.html">org.jacoco.report.html</A><DD>Formatter for coverage reports in multiple HTML pages.<DT><A HREF="./org/jacoco/report/html/HTMLFormatter.html#HTMLFormatter()"><B>HTMLFormatter()</B></A> - 
    +Constructor for class org.jacoco.report.html.<A HREF="./org/jacoco/report/html/HTMLFormatter.html" title="class in org.jacoco.report.html">HTMLFormatter</A>
    +<DD>New instance with default settings.
    +</DL>
    +<HR>
    +<A NAME="_I_"><!-- --></A><H2>
    +<B>I</B></H2>
    +<DL>
    +<DT><A HREF="./org/jacoco/agent/rt/IAgent.html" title="interface in org.jacoco.agent.rt"><B>IAgent</B></A> - Interface in <A HREF="./org/jacoco/agent/rt/package-summary.html">org.jacoco.agent.rt</A><DD>Runtime API and MBean agent interface.<DT><A HREF="./org/jacoco/core/analysis/IBundleCoverage.html" title="interface in org.jacoco.core.analysis"><B>IBundleCoverage</B></A> - Interface in <A HREF="./org/jacoco/core/analysis/package-summary.html">org.jacoco.core.analysis</A><DD>Coverage data of a bundle.<DT><A HREF="./org/jacoco/core/analysis/IClassCoverage.html" title="interface in org.jacoco.core.analysis"><B>IClassCoverage</B></A> - Interface in <A HREF="./org/jacoco/core/analysis/package-summary.html">org.jacoco.core.analysis</A><DD>Coverage data of a single class containing methods.<DT><A HREF="./org/jacoco/core/analysis/ICounter.html" title="interface in org.jacoco.core.analysis"><B>ICounter</B></A> - Interface in <A HREF="./org/jacoco/core/analysis/package-summary.html">org.jacoco.core.analysis</A><DD>A counter holds the missed and the covered number of particular items like
    + classes, methods, branches or instructions.<DT><A HREF="./org/jacoco/core/analysis/ICounter.CounterValue.html" title="enum in org.jacoco.core.analysis"><B>ICounter.CounterValue</B></A> - Enum in <A HREF="./org/jacoco/core/analysis/package-summary.html">org.jacoco.core.analysis</A><DD>Different values provided by a counter.<DT><A HREF="./org/jacoco/core/analysis/ICoverageNode.html" title="interface in org.jacoco.core.analysis"><B>ICoverageNode</B></A> - Interface in <A HREF="./org/jacoco/core/analysis/package-summary.html">org.jacoco.core.analysis</A><DD>Interface for hierarchical coverage data nodes with different coverage
    + counters.<DT><A HREF="./org/jacoco/core/analysis/ICoverageNode.CounterEntity.html" title="enum in org.jacoco.core.analysis"><B>ICoverageNode.CounterEntity</B></A> - Enum in <A HREF="./org/jacoco/core/analysis/package-summary.html">org.jacoco.core.analysis</A><DD>Different counter types supported by JaCoCo.<DT><A HREF="./org/jacoco/core/analysis/ICoverageNode.ElementType.html" title="enum in org.jacoco.core.analysis"><B>ICoverageNode.ElementType</B></A> - Enum in <A HREF="./org/jacoco/core/analysis/package-summary.html">org.jacoco.core.analysis</A><DD>Type of a Java element represented by a <A HREF="./org/jacoco/core/analysis/ICoverageNode.html" title="interface in org.jacoco.core.analysis"><CODE>ICoverageNode</CODE></A> instance.<DT><A HREF="./org/jacoco/core/analysis/ICoverageVisitor.html" title="interface in org.jacoco.core.analysis"><B>ICoverageVisitor</B></A> - Interface in <A HREF="./org/jacoco/core/analysis/package-summary.html">org.jacoco.core.analysis</A><DD>Interface for coverage data output as a stream of <A HREF="./org/jacoco/core/analysis/IClassCoverage.html" title="interface in org.jacoco.core.analysis"><CODE>IClassCoverage</CODE></A>
    + instances.<DT><A HREF="./org/jacoco/core/runtime/IExecutionDataAccessorGenerator.html" title="interface in org.jacoco.core.runtime"><B>IExecutionDataAccessorGenerator</B></A> - Interface in <A HREF="./org/jacoco/core/runtime/package-summary.html">org.jacoco.core.runtime</A><DD>The instrumented classes need a piece of code that obtains a
    + <code>boolean[]</code> instance from the runtime.<DT><A HREF="./org/jacoco/core/data/IExecutionDataVisitor.html" title="interface in org.jacoco.core.data"><B>IExecutionDataVisitor</B></A> - Interface in <A HREF="./org/jacoco/core/data/package-summary.html">org.jacoco.core.data</A><DD>Interface for data output of collected execution data.<DT><A HREF="./org/jacoco/report/ILanguageNames.html" title="interface in org.jacoco.report"><B>ILanguageNames</B></A> - Interface in <A HREF="./org/jacoco/report/package-summary.html">org.jacoco.report</A><DD>Interface to create programming language specific names from VM names.<DT><A HREF="./org/jacoco/core/analysis/ILine.html" title="interface in org.jacoco.core.analysis"><B>ILine</B></A> - Interface in <A HREF="./org/jacoco/core/analysis/package-summary.html">org.jacoco.core.analysis</A><DD>The instruction and branch coverage of a single source line is described by
    + this interface.<DT><A HREF="./org/jacoco/core/analysis/IMethodCoverage.html" title="interface in org.jacoco.core.analysis"><B>IMethodCoverage</B></A> - Interface in <A HREF="./org/jacoco/core/analysis/package-summary.html">org.jacoco.core.analysis</A><DD>Coverage data of a single method.<DT><A HREF="./org/jacoco/report/IMultiReportOutput.html" title="interface in org.jacoco.report"><B>IMultiReportOutput</B></A> - Interface in <A HREF="./org/jacoco/report/package-summary.html">org.jacoco.report</A><DD>Interface to emit multiple binary files.<DT><A HREF="./org/jacoco/core/data/ExecutionDataReader.html#in"><B>in</B></A> - 
    +Variable in class org.jacoco.core.data.<A HREF="./org/jacoco/core/data/ExecutionDataReader.html" title="class in org.jacoco.core.data">ExecutionDataReader</A>
    +<DD>Underlying data input
    +<DT><A HREF="./org/jacoco/core/runtime/AgentOptions.html#INCLBOOTSTRAPCLASSES"><B>INCLBOOTSTRAPCLASSES</B></A> - 
    +Static variable in class org.jacoco.core.runtime.<A HREF="./org/jacoco/core/runtime/AgentOptions.html" title="class in org.jacoco.core.runtime">AgentOptions</A>
    +<DD>Specifies whether also classes from the bootstrap classloader should be
    + instrumented.
    +<DT><A HREF="./org/jacoco/core/runtime/AgentOptions.html#INCLNOLOCATIONCLASSES"><B>INCLNOLOCATIONCLASSES</B></A> - 
    +Static variable in class org.jacoco.core.runtime.<A HREF="./org/jacoco/core/runtime/AgentOptions.html" title="class in org.jacoco.core.runtime">AgentOptions</A>
    +<DD>Specifies whether also classes without a source location should be
    + instrumented.
    +<DT><A HREF="./org/jacoco/core/runtime/AgentOptions.html#INCLUDES"><B>INCLUDES</B></A> - 
    +Static variable in class org.jacoco.core.runtime.<A HREF="./org/jacoco/core/runtime/AgentOptions.html" title="class in org.jacoco.core.runtime">AgentOptions</A>
    +<DD>Wildcard expression for class names that should be included for code
    + coverage.
    +<DT><A HREF="./org/jacoco/core/data/IncompatibleExecDataVersionException.html" title="class in org.jacoco.core.data"><B>IncompatibleExecDataVersionException</B></A> - Exception in <A HREF="./org/jacoco/core/data/package-summary.html">org.jacoco.core.data</A><DD>Signals that execution data in an incompatible version was tried to read.<DT><A HREF="./org/jacoco/core/data/IncompatibleExecDataVersionException.html#IncompatibleExecDataVersionException(int)"><B>IncompatibleExecDataVersionException(int)</B></A> - 
    +Constructor for exception org.jacoco.core.data.<A HREF="./org/jacoco/core/data/IncompatibleExecDataVersionException.html" title="class in org.jacoco.core.data">IncompatibleExecDataVersionException</A>
    +<DD>Creates a new exception to flag version mismatches in execution data.
    +<DT><A HREF="./org/jacoco/core/analysis/CoverageNodeImpl.html#increment(org.jacoco.core.analysis.ICoverageNode)"><B>increment(ICoverageNode)</B></A> - 
    +Method in class org.jacoco.core.analysis.<A HREF="./org/jacoco/core/analysis/CoverageNodeImpl.html" title="class in org.jacoco.core.analysis">CoverageNodeImpl</A>
    +<DD>Increments the counters by the values given by another element.
    +<DT><A HREF="./org/jacoco/core/analysis/CoverageNodeImpl.html#increment(java.util.Collection)"><B>increment(Collection&lt;? extends ICoverageNode&gt;)</B></A> - 
    +Method in class org.jacoco.core.analysis.<A HREF="./org/jacoco/core/analysis/CoverageNodeImpl.html" title="class in org.jacoco.core.analysis">CoverageNodeImpl</A>
    +<DD>Increments the counters by the values given by the collection of
    + elements.
    +<DT><A HREF="./org/jacoco/core/runtime/InjectedClassRuntime.html" title="class in org.jacoco.core.runtime"><B>InjectedClassRuntime</B></A> - Class in <A HREF="./org/jacoco/core/runtime/package-summary.html">org.jacoco.core.runtime</A><DD><A HREF="./org/jacoco/core/runtime/IRuntime.html" title="interface in org.jacoco.core.runtime"><CODE>IRuntime</CODE></A> which defines a new class using
    + <code>java.lang.invoke.MethodHandles.Lookup.defineClass</code> introduced in Java
    + 9.<DT><A HREF="./org/jacoco/core/runtime/InjectedClassRuntime.html#InjectedClassRuntime(java.lang.Class, java.lang.String)"><B>InjectedClassRuntime(Class&lt;?&gt;, String)</B></A> - 
    +Constructor for class org.jacoco.core.runtime.<A HREF="./org/jacoco/core/runtime/InjectedClassRuntime.html" title="class in org.jacoco.core.runtime">InjectedClassRuntime</A>
    +<DD>Creates a new runtime which will define a class to the same class loader
    + and in the same package and protection domain as given class.
    +<DT><A HREF="./org/jacoco/report/InputStreamSourceFileLocator.html" title="class in org.jacoco.report"><B>InputStreamSourceFileLocator</B></A> - Class in <A HREF="./org/jacoco/report/package-summary.html">org.jacoco.report</A><DD>Abstract base class for <A HREF="./org/jacoco/report/ISourceFileLocator.html" title="interface in org.jacoco.report"><CODE>ISourceFileLocator</CODE></A> locator implementations
    + based on <A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/io/InputStream.html" title="class or interface in java.io"><CODE>InputStream</CODE></A>s.<DT><A HREF="./org/jacoco/report/InputStreamSourceFileLocator.html#InputStreamSourceFileLocator(java.lang.String, int)"><B>InputStreamSourceFileLocator(String, int)</B></A> - 
    +Constructor for class org.jacoco.report.<A HREF="./org/jacoco/report/InputStreamSourceFileLocator.html" title="class in org.jacoco.report">InputStreamSourceFileLocator</A>
    +<DD>Creates a new locator with the given specification.
    +<DT><A HREF="./org/jacoco/core/analysis/CoverageNodeImpl.html#instructionCounter"><B>instructionCounter</B></A> - 
    +Variable in class org.jacoco.core.analysis.<A HREF="./org/jacoco/core/analysis/CoverageNodeImpl.html" title="class in org.jacoco.core.analysis">CoverageNodeImpl</A>
    +<DD>Counter for instructions.
    +<DT><A HREF="./org/jacoco/core/instr/Instrumenter.html#instrument(byte[], java.lang.String)"><B>instrument(byte[], String)</B></A> - 
    +Method in class org.jacoco.core.instr.<A HREF="./org/jacoco/core/instr/Instrumenter.html" title="class in org.jacoco.core.instr">Instrumenter</A>
    +<DD>Creates a instrumented version of the given class if possible.
    +<DT><A HREF="./org/jacoco/core/instr/Instrumenter.html#instrument(java.io.InputStream, java.lang.String)"><B>instrument(InputStream, String)</B></A> - 
    +Method in class org.jacoco.core.instr.<A HREF="./org/jacoco/core/instr/Instrumenter.html" title="class in org.jacoco.core.instr">Instrumenter</A>
    +<DD>Creates a instrumented version of the given class if possible.
    +<DT><A HREF="./org/jacoco/core/instr/Instrumenter.html#instrument(java.io.InputStream, java.io.OutputStream, java.lang.String)"><B>instrument(InputStream, OutputStream, String)</B></A> - 
    +Method in class org.jacoco.core.instr.<A HREF="./org/jacoco/core/instr/Instrumenter.html" title="class in org.jacoco.core.instr">Instrumenter</A>
    +<DD>Creates a instrumented version of the given class file.
    +<DT><A HREF="./org/jacoco/core/runtime/ModifiedSystemClassRuntime.html#instrument(byte[], java.lang.String)"><B>instrument(byte[], String)</B></A> - 
    +Static method in class org.jacoco.core.runtime.<A HREF="./org/jacoco/core/runtime/ModifiedSystemClassRuntime.html" title="class in org.jacoco.core.runtime">ModifiedSystemClassRuntime</A>
    +<DD>Adds the static data field to the given class definition.
    +<DT><A HREF="./org/jacoco/core/instr/Instrumenter.html#instrumentAll(java.io.InputStream, java.io.OutputStream, java.lang.String)"><B>instrumentAll(InputStream, OutputStream, String)</B></A> - 
    +Method in class org.jacoco.core.instr.<A HREF="./org/jacoco/core/instr/Instrumenter.html" title="class in org.jacoco.core.instr">Instrumenter</A>
    +<DD>Creates a instrumented version of the given resource depending on its
    + type.
    +<DT><A HREF="./org/jacoco/core/instr/Instrumenter.html" title="class in org.jacoco.core.instr"><B>Instrumenter</B></A> - Class in <A HREF="./org/jacoco/core/instr/package-summary.html">org.jacoco.core.instr</A><DD>Several APIs to instrument Java class definitions for coverage tracing.<DT><A HREF="./org/jacoco/core/instr/Instrumenter.html#Instrumenter(org.jacoco.core.runtime.IExecutionDataAccessorGenerator)"><B>Instrumenter(IExecutionDataAccessorGenerator)</B></A> - 
    +Constructor for class org.jacoco.core.instr.<A HREF="./org/jacoco/core/instr/Instrumenter.html" title="class in org.jacoco.core.instr">Instrumenter</A>
    +<DD>Creates a new instance based on the given runtime.
    +<DT><A HREF="./org/jacoco/core/analysis/IPackageCoverage.html" title="interface in org.jacoco.core.analysis"><B>IPackageCoverage</B></A> - Interface in <A HREF="./org/jacoco/core/analysis/package-summary.html">org.jacoco.core.analysis</A><DD>Coverage data of a Java package containing classes and source files.<DT><A HREF="./org/jacoco/core/runtime/IRemoteCommandVisitor.html" title="interface in org.jacoco.core.runtime"><B>IRemoteCommandVisitor</B></A> - Interface in <A HREF="./org/jacoco/core/runtime/package-summary.html">org.jacoco.core.runtime</A><DD>Interface for remote commands to a coverage runtime.<DT><A HREF="./org/jacoco/report/IReportGroupVisitor.html" title="interface in org.jacoco.report"><B>IReportGroupVisitor</B></A> - Interface in <A HREF="./org/jacoco/report/package-summary.html">org.jacoco.report</A><DD>Output-Interface for hierarchical report structures.<DT><A HREF="./org/jacoco/report/IReportVisitor.html" title="interface in org.jacoco.report"><B>IReportVisitor</B></A> - Interface in <A HREF="./org/jacoco/report/package-summary.html">org.jacoco.report</A><DD>Interface for all implementations to retrieve structured report data.<DT><A HREF="./org/jacoco/core/runtime/IRuntime.html" title="interface in org.jacoco.core.runtime"><B>IRuntime</B></A> - Interface in <A HREF="./org/jacoco/core/runtime/package-summary.html">org.jacoco.core.runtime</A><DD>This interface represents a particular mechanism to collect execution
    + information in the target VM at runtime.<DT><A HREF="./org/jacoco/core/data/SessionInfoStore.html#isEmpty()"><B>isEmpty()</B></A> - 
    +Method in class org.jacoco.core.data.<A HREF="./org/jacoco/core/data/SessionInfoStore.html" title="class in org.jacoco.core.data">SessionInfoStore</A>
    +<DD>Tests whether the store is empty.
    +<DT><A HREF="./org/jacoco/core/data/ISessionInfoVisitor.html" title="interface in org.jacoco.core.data"><B>ISessionInfoVisitor</B></A> - Interface in <A HREF="./org/jacoco/core/data/package-summary.html">org.jacoco.core.data</A><DD>Interface for data output of collected session information.<DT><A HREF="./org/jacoco/core/analysis/IClassCoverage.html#isNoMatch()"><B>isNoMatch()</B></A> - 
    +Method in interface org.jacoco.core.analysis.<A HREF="./org/jacoco/core/analysis/IClassCoverage.html" title="interface in org.jacoco.core.analysis">IClassCoverage</A>
    +<DD>Returns if the analyzed class does match the execution data provided.
    +<DT><A HREF="./org/jacoco/core/analysis/ISourceFileCoverage.html" title="interface in org.jacoco.core.analysis"><B>ISourceFileCoverage</B></A> - Interface in <A HREF="./org/jacoco/core/analysis/package-summary.html">org.jacoco.core.analysis</A><DD>Coverage data of a single source file.<DT><A HREF="./org/jacoco/report/ISourceFileLocator.html" title="interface in org.jacoco.report"><B>ISourceFileLocator</B></A> - Interface in <A HREF="./org/jacoco/report/package-summary.html">org.jacoco.report</A><DD>Interface to look-up source files that will be included with the report.<DT><A HREF="./org/jacoco/core/analysis/ISourceNode.html" title="interface in org.jacoco.core.analysis"><B>ISourceNode</B></A> - Interface in <A HREF="./org/jacoco/core/analysis/package-summary.html">org.jacoco.core.analysis</A><DD>Interface for coverage nodes that have individual source lines like methods,
    + classes and source files.<DT><A HREF="./org/jacoco/report/check/IViolationsOutput.html" title="interface in org.jacoco.report.check"><B>IViolationsOutput</B></A> - Interface in <A HREF="./org/jacoco/report/check/package-summary.html">org.jacoco.report.check</A><DD>Call-back interface which is used to report rule violations to.</DL>
    +<HR>
    +<A NAME="_J_"><!-- --></A><H2>
    +<B>J</B></H2>
    +<DL>
    +<DT><A HREF="./org/jacoco/core/JaCoCo.html" title="class in org.jacoco.core"><B>JaCoCo</B></A> - Class in <A HREF="./org/jacoco/core/package-summary.html">org.jacoco.core</A><DD>Static Meta information about JaCoCo.<DT><A HREF="./org/jacoco/report/JavaNames.html" title="class in org.jacoco.report"><B>JavaNames</B></A> - Class in <A HREF="./org/jacoco/report/package-summary.html">org.jacoco.report</A><DD>Names for the Java language.<DT><A HREF="./org/jacoco/report/JavaNames.html#JavaNames()"><B>JavaNames()</B></A> - 
    +Constructor for class org.jacoco.report.<A HREF="./org/jacoco/report/JavaNames.html" title="class in org.jacoco.report">JavaNames</A>
    +<DD>&nbsp;
    +<DT><A HREF="./org/jacoco/core/runtime/AgentOptions.html#JMX"><B>JMX</B></A> - 
    +Static variable in class org.jacoco.core.runtime.<A HREF="./org/jacoco/core/runtime/AgentOptions.html" title="class in org.jacoco.core.runtime">AgentOptions</A>
    +<DD>Specifies whether the agent should expose functionality via JMX under the
    + name "org.jacoco:type=Runtime".
    +</DL>
    +<HR>
    +<A NAME="_L_"><!-- --></A><H2>
    +<B>L</B></H2>
    +<DL>
    +<DT><A HREF="./org/jacoco/report/check/Limit.html" title="class in org.jacoco.report.check"><B>Limit</B></A> - Class in <A HREF="./org/jacoco/report/check/package-summary.html">org.jacoco.report.check</A><DD>Descriptor for a limit which is given by a <A HREF="./org/jacoco/report/check/Rule.html" title="class in org.jacoco.report.check"><CODE>Rule</CODE></A>.<DT><A HREF="./org/jacoco/report/check/Limit.html#Limit()"><B>Limit()</B></A> - 
    +Constructor for class org.jacoco.report.check.<A HREF="./org/jacoco/report/check/Limit.html" title="class in org.jacoco.report.check">Limit</A>
    +<DD>Creates a new instance with the following defaults:
    + 
    + counter entity: <A HREF="./org/jacoco/core/analysis/ICoverageNode.CounterEntity.html#INSTRUCTION"><CODE>ICoverageNode.CounterEntity.INSTRUCTION</CODE></A>
    + counter value: <A HREF="./org/jacoco/core/analysis/ICounter.CounterValue.html#COVEREDRATIO"><CODE>ICounter.CounterValue.COVEREDRATIO</CODE></A>
    + minimum: no limit
    + maximum: no limit
    + 
    +<DT><A HREF="./org/jacoco/core/analysis/CoverageNodeImpl.html#lineCounter"><B>lineCounter</B></A> - 
    +Variable in class org.jacoco.core.analysis.<A HREF="./org/jacoco/core/analysis/CoverageNodeImpl.html" title="class in org.jacoco.core.analysis">CoverageNodeImpl</A>
    +<DD>Counter for lines
    +<DT><A HREF="./org/jacoco/core/tools/ExecFileLoader.html#load(java.io.InputStream)"><B>load(InputStream)</B></A> - 
    +Method in class org.jacoco.core.tools.<A HREF="./org/jacoco/core/tools/ExecFileLoader.html" title="class in org.jacoco.core.tools">ExecFileLoader</A>
    +<DD>Reads all data from given input stream.
    +<DT><A HREF="./org/jacoco/core/tools/ExecFileLoader.html#load(java.io.File)"><B>load(File)</B></A> - 
    +Method in class org.jacoco.core.tools.<A HREF="./org/jacoco/core/tools/ExecFileLoader.html" title="class in org.jacoco.core.tools">ExecFileLoader</A>
    +<DD>Reads all data from given input stream.
    +<DT><A HREF="./org/jacoco/core/runtime/LoggerRuntime.html" title="class in org.jacoco.core.runtime"><B>LoggerRuntime</B></A> - Class in <A HREF="./org/jacoco/core/runtime/package-summary.html">org.jacoco.core.runtime</A><DD>This <A HREF="./org/jacoco/core/runtime/IRuntime.html" title="interface in org.jacoco.core.runtime"><CODE>IRuntime</CODE></A> implementation uses the Java logging API to report
    + coverage data.<DT><A HREF="./org/jacoco/core/runtime/LoggerRuntime.html#LoggerRuntime()"><B>LoggerRuntime()</B></A> - 
    +Constructor for class org.jacoco.core.runtime.<A HREF="./org/jacoco/core/runtime/LoggerRuntime.html" title="class in org.jacoco.core.runtime">LoggerRuntime</A>
    +<DD>Creates a new runtime.
    +</DL>
    +<HR>
    +<A NAME="_M_"><!-- --></A><H2>
    +<B>M</B></H2>
    +<DL>
    +<DT><A HREF="./org/jacoco/core/data/ExecutionDataWriter.html#MAGIC_NUMBER"><B>MAGIC_NUMBER</B></A> - 
    +Static variable in class org.jacoco.core.data.<A HREF="./org/jacoco/core/data/ExecutionDataWriter.html" title="class in org.jacoco.core.data">ExecutionDataWriter</A>
    +<DD>Magic number in header for file format identification.
    +<DT><A HREF="./org/jacoco/core/runtime/WildcardMatcher.html#matches(java.lang.String)"><B>matches(String)</B></A> - 
    +Method in class org.jacoco.core.runtime.<A HREF="./org/jacoco/core/runtime/WildcardMatcher.html" title="class in org.jacoco.core.runtime">WildcardMatcher</A>
    +<DD>Matches the given string against the expressions of this matcher.
    +<DT><A HREF="./org/jacoco/core/data/ExecutionData.html#merge(org.jacoco.core.data.ExecutionData)"><B>merge(ExecutionData)</B></A> - 
    +Method in class org.jacoco.core.data.<A HREF="./org/jacoco/core/data/ExecutionData.html" title="class in org.jacoco.core.data">ExecutionData</A>
    +<DD>Merges the given execution data into the probe data of this object.
    +<DT><A HREF="./org/jacoco/core/data/ExecutionData.html#merge(org.jacoco.core.data.ExecutionData, boolean)"><B>merge(ExecutionData, boolean)</B></A> - 
    +Method in class org.jacoco.core.data.<A HREF="./org/jacoco/core/data/ExecutionData.html" title="class in org.jacoco.core.data">ExecutionData</A>
    +<DD>Merges the given execution data into the probe data of this object.
    +<DT><A HREF="./org/jacoco/core/analysis/CoverageNodeImpl.html#methodCounter"><B>methodCounter</B></A> - 
    +Variable in class org.jacoco.core.analysis.<A HREF="./org/jacoco/core/analysis/CoverageNodeImpl.html" title="class in org.jacoco.core.analysis">CoverageNodeImpl</A>
    +<DD>Counter for methods.
    +<DT><A HREF="./org/jacoco/core/analysis/CounterComparator.html#MISSEDITEMS"><B>MISSEDITEMS</B></A> - 
    +Static variable in class org.jacoco.core.analysis.<A HREF="./org/jacoco/core/analysis/CounterComparator.html" title="class in org.jacoco.core.analysis">CounterComparator</A>
    +<DD>Compares the absolute number of missed items.
    +<DT><A HREF="./org/jacoco/core/analysis/CounterComparator.html#MISSEDRATIO"><B>MISSEDRATIO</B></A> - 
    +Static variable in class org.jacoco.core.analysis.<A HREF="./org/jacoco/core/analysis/CounterComparator.html" title="class in org.jacoco.core.analysis">CounterComparator</A>
    +<DD>Compares the ratio of missed items.
    +<DT><A HREF="./org/jacoco/core/runtime/ModifiedSystemClassRuntime.html" title="class in org.jacoco.core.runtime"><B>ModifiedSystemClassRuntime</B></A> - Class in <A HREF="./org/jacoco/core/runtime/package-summary.html">org.jacoco.core.runtime</A><DD>This <A HREF="./org/jacoco/core/runtime/IRuntime.html" title="interface in org.jacoco.core.runtime"><CODE>IRuntime</CODE></A> implementation works with a modified system class.<DT><A HREF="./org/jacoco/core/runtime/ModifiedSystemClassRuntime.html#ModifiedSystemClassRuntime(java.lang.Class, java.lang.String)"><B>ModifiedSystemClassRuntime(Class&lt;?&gt;, String)</B></A> - 
    +Constructor for class org.jacoco.core.runtime.<A HREF="./org/jacoco/core/runtime/ModifiedSystemClassRuntime.html" title="class in org.jacoco.core.runtime">ModifiedSystemClassRuntime</A>
    +<DD>Creates a new runtime based on the given class and members.
    +<DT><A HREF="./org/jacoco/report/MultiReportVisitor.html" title="class in org.jacoco.report"><B>MultiReportVisitor</B></A> - Class in <A HREF="./org/jacoco/report/package-summary.html">org.jacoco.report</A><DD>A report visitor that is composed from multiple other visitors.<DT><A HREF="./org/jacoco/report/MultiReportVisitor.html#MultiReportVisitor(java.util.List)"><B>MultiReportVisitor(List&lt;IReportVisitor&gt;)</B></A> - 
    +Constructor for class org.jacoco.report.<A HREF="./org/jacoco/report/MultiReportVisitor.html" title="class in org.jacoco.report">MultiReportVisitor</A>
    +<DD>New visitor delegating to all given visitors.
    +<DT><A HREF="./org/jacoco/report/MultiSourceFileLocator.html" title="class in org.jacoco.report"><B>MultiSourceFileLocator</B></A> - Class in <A HREF="./org/jacoco/report/package-summary.html">org.jacoco.report</A><DD>Locator that searches source files in multiple <A HREF="./org/jacoco/report/ISourceFileLocator.html" title="interface in org.jacoco.report"><CODE>ISourceFileLocator</CODE></A>
    + instances.<DT><A HREF="./org/jacoco/report/MultiSourceFileLocator.html#MultiSourceFileLocator(int)"><B>MultiSourceFileLocator(int)</B></A> - 
    +Constructor for class org.jacoco.report.<A HREF="./org/jacoco/report/MultiSourceFileLocator.html" title="class in org.jacoco.report">MultiSourceFileLocator</A>
    +<DD>Creates a new empty locator.
    +</DL>
    +<HR>
    +<A NAME="_N_"><!-- --></A><H2>
    +<B>N</B></H2>
    +<DL>
    +<DT><A HREF="./org/jacoco/core/analysis/NodeComparator.html" title="class in org.jacoco.core.analysis"><B>NodeComparator</B></A> - Class in <A HREF="./org/jacoco/core/analysis/package-summary.html">org.jacoco.core.analysis</A><DD>Comparator to compare <A HREF="./org/jacoco/core/analysis/ICoverageNode.html" title="interface in org.jacoco.core.analysis"><CODE>ICoverageNode</CODE></A> objects by different counter
    + criteria.<DT><A HREF="./org/jacoco/core/analysis/ICounter.html#NOT_COVERED"><B>NOT_COVERED</B></A> - 
    +Static variable in interface org.jacoco.core.analysis.<A HREF="./org/jacoco/core/analysis/ICounter.html" title="interface in org.jacoco.core.analysis">ICounter</A>
    +<DD>Status flag when all items are not covered (value is 0x01).
    +</DL>
    +<HR>
    +<A NAME="_O_"><!-- --></A><H2>
    +<B>O</B></H2>
    +<DL>
    +<DT><A HREF="./org/jacoco/core/runtime/OfflineInstrumentationAccessGenerator.html" title="class in org.jacoco.core.runtime"><B>OfflineInstrumentationAccessGenerator</B></A> - Class in <A HREF="./org/jacoco/core/runtime/package-summary.html">org.jacoco.core.runtime</A><DD>This implementation of <A HREF="./org/jacoco/core/runtime/IExecutionDataAccessorGenerator.html" title="interface in org.jacoco.core.runtime"><CODE>IExecutionDataAccessorGenerator</CODE></A> generate a
    + direct dependency to the JaCoCo runtime agent to initialize the runtime and
    + obtain probe arrays.<DT><A HREF="./org/jacoco/core/runtime/OfflineInstrumentationAccessGenerator.html#OfflineInstrumentationAccessGenerator()"><B>OfflineInstrumentationAccessGenerator()</B></A> - 
    +Constructor for class org.jacoco.core.runtime.<A HREF="./org/jacoco/core/runtime/OfflineInstrumentationAccessGenerator.html" title="class in org.jacoco.core.runtime">OfflineInstrumentationAccessGenerator</A>
    +<DD>Creates a new instance for offline instrumentation.
    +<DT><A HREF="./org/jacoco/core/analysis/CounterComparator.html#on(org.jacoco.core.analysis.ICoverageNode.CounterEntity)"><B>on(ICoverageNode.CounterEntity)</B></A> - 
    +Method in class org.jacoco.core.analysis.<A HREF="./org/jacoco/core/analysis/CounterComparator.html" title="class in org.jacoco.core.analysis">CounterComparator</A>
    +<DD>Creates a new comparator for <A HREF="./org/jacoco/core/analysis/ICoverageNode.html" title="interface in org.jacoco.core.analysis"><CODE>ICoverageNode</CODE></A> counters of the given
    + entity based on this counter sorting criteria.
    +<DT><A HREF="./org/jacoco/core/tools/ExecDumpClient.html#onConnecting(java.net.InetAddress, int)"><B>onConnecting(InetAddress, int)</B></A> - 
    +Method in class org.jacoco.core.tools.<A HREF="./org/jacoco/core/tools/ExecDumpClient.html" title="class in org.jacoco.core.tools">ExecDumpClient</A>
    +<DD>This method can be overwritten to get an event just before a connection
    + is made.
    +<DT><A HREF="./org/jacoco/core/tools/ExecDumpClient.html#onConnectionFailure(java.io.IOException)"><B>onConnectionFailure(IOException)</B></A> - 
    +Method in class org.jacoco.core.tools.<A HREF="./org/jacoco/core/tools/ExecDumpClient.html" title="class in org.jacoco.core.tools">ExecDumpClient</A>
    +<DD>This method can be overwritten to get an event for connection failures
    + when another retry will be attempted.
    +<DT><A HREF="./org/jacoco/report/check/IViolationsOutput.html#onViolation(org.jacoco.core.analysis.ICoverageNode, org.jacoco.report.check.Rule, org.jacoco.report.check.Limit, java.lang.String)"><B>onViolation(ICoverageNode, Rule, Limit, String)</B></A> - 
    +Method in interface org.jacoco.report.check.<A HREF="./org/jacoco/report/check/IViolationsOutput.html" title="interface in org.jacoco.report.check">IViolationsOutput</A>
    +<DD>Called for every rule violation.
    +<DT><A HREF="./org/jacoco/agent/package-summary.html"><B>org.jacoco.agent</B></A> - package org.jacoco.agent<DD>Provides the runtime Java agent (JAR file) as a resource.<DT><A HREF="./org/jacoco/agent/rt/package-summary.html"><B>org.jacoco.agent.rt</B></A> - package org.jacoco.agent.rt<DD>API to access the JaCoCo agent from within the JVM under test.<DT><A HREF="./org/jacoco/core/package-summary.html"><B>org.jacoco.core</B></A> - package org.jacoco.core<DD>Meta information about JaCoCo.<DT><A HREF="./org/jacoco/core/analysis/package-summary.html"><B>org.jacoco.core.analysis</B></A> - package org.jacoco.core.analysis<DD>
    + Coverage calculation and analysis.<DT><A HREF="./org/jacoco/core/data/package-summary.html"><B>org.jacoco.core.data</B></A> - package org.jacoco.core.data<DD>Representation and persistence of execution data and session information.<DT><A HREF="./org/jacoco/core/instr/package-summary.html"><B>org.jacoco.core.instr</B></A> - package org.jacoco.core.instr<DD>
    + Instrumentation of Java class files for code coverage.<DT><A HREF="./org/jacoco/core/runtime/package-summary.html"><B>org.jacoco.core.runtime</B></A> - package org.jacoco.core.runtime<DD>Runtime control and execution data collection.<DT><A HREF="./org/jacoco/core/tools/package-summary.html"><B>org.jacoco.core.tools</B></A> - package org.jacoco.core.tools<DD>Collection of tools build on top of the JaCoCo core APIs.<DT><A HREF="./org/jacoco/report/package-summary.html"><B>org.jacoco.report</B></A> - package org.jacoco.report<DD>Common interfaces and utilities for report generation.<DT><A HREF="./org/jacoco/report/check/package-summary.html"><B>org.jacoco.report.check</B></A> - package org.jacoco.report.check<DD>Rules check implementation.<DT><A HREF="./org/jacoco/report/csv/package-summary.html"><B>org.jacoco.report.csv</B></A> - package org.jacoco.report.csv<DD>CSV report implementation.<DT><A HREF="./org/jacoco/report/html/package-summary.html"><B>org.jacoco.report.html</B></A> - package org.jacoco.report.html<DD>HTML report implementation.<DT><A HREF="./org/jacoco/report/xml/package-summary.html"><B>org.jacoco.report.xml</B></A> - package org.jacoco.report.xml<DD>XML report implementation.<DT><A HREF="./org/jacoco/core/data/ExecutionDataWriter.html#out"><B>out</B></A> - 
    +Variable in class org.jacoco.core.data.<A HREF="./org/jacoco/core/data/ExecutionDataWriter.html" title="class in org.jacoco.core.data">ExecutionDataWriter</A>
    +<DD>Underlying data output
    +<DT><A HREF="./org/jacoco/core/runtime/AgentOptions.html#OUTPUT"><B>OUTPUT</B></A> - 
    +Static variable in class org.jacoco.core.runtime.<A HREF="./org/jacoco/core/runtime/AgentOptions.html" title="class in org.jacoco.core.runtime">AgentOptions</A>
    +<DD>Specifies the output mode.
    +</DL>
    +<HR>
    +<A NAME="_P_"><!-- --></A><H2>
    +<B>P</B></H2>
    +<DL>
    +<DT><A HREF="./org/jacoco/core/analysis/ICounter.html#PARTLY_COVERED"><B>PARTLY_COVERED</B></A> - 
    +Static variable in interface org.jacoco.core.analysis.<A HREF="./org/jacoco/core/analysis/ICounter.html" title="interface in org.jacoco.core.analysis">ICounter</A>
    +<DD>Status flag when items are partly covered (value is 0x03).
    +<DT><A HREF="./org/jacoco/core/runtime/AgentOptions.html#PORT"><B>PORT</B></A> - 
    +Static variable in class org.jacoco.core.runtime.<A HREF="./org/jacoco/core/runtime/AgentOptions.html" title="class in org.jacoco.core.runtime">AgentOptions</A>
    +<DD>The port the tcpserver binds to or the tcpclient connects to.
    +<DT><A HREF="./org/jacoco/core/runtime/AgentOptions.html#prependVMArguments(java.lang.String, java.io.File)"><B>prependVMArguments(String, File)</B></A> - 
    +Method in class org.jacoco.core.runtime.<A HREF="./org/jacoco/core/runtime/AgentOptions.html" title="class in org.jacoco.core.runtime">AgentOptions</A>
    +<DD>Generate required quotes JVM argument based on current configuration and
    + prepends it to the given argument command line.
    +<DT><A HREF="./org/jacoco/core/data/ExecutionDataStore.html#put(org.jacoco.core.data.ExecutionData)"><B>put(ExecutionData)</B></A> - 
    +Method in class org.jacoco.core.data.<A HREF="./org/jacoco/core/data/ExecutionDataStore.html" title="class in org.jacoco.core.data">ExecutionDataStore</A>
    +<DD>Adds the given <A HREF="./org/jacoco/core/data/ExecutionData.html" title="class in org.jacoco.core.data"><CODE>ExecutionData</CODE></A> object into the store.
    +</DL>
    +<HR>
    +<A NAME="_R_"><!-- --></A><H2>
    +<B>R</B></H2>
    +<DL>
    +<DT><A HREF="./org/jacoco/core/data/ExecutionDataReader.html#read()"><B>read()</B></A> - 
    +Method in class org.jacoco.core.data.<A HREF="./org/jacoco/core/data/ExecutionDataReader.html" title="class in org.jacoco.core.data">ExecutionDataReader</A>
    +<DD>Reads all data and reports it to the corresponding visitors.
    +<DT><A HREF="./org/jacoco/core/data/ExecutionDataReader.html#readBlock(byte)"><B>readBlock(byte)</B></A> - 
    +Method in class org.jacoco.core.data.<A HREF="./org/jacoco/core/data/ExecutionDataReader.html" title="class in org.jacoco.core.data">ExecutionDataReader</A>
    +<DD>Reads a block of data identified by the given id.
    +<DT><A HREF="./org/jacoco/core/runtime/RemoteControlReader.html#readBlock(byte)"><B>readBlock(byte)</B></A> - 
    +Method in class org.jacoco.core.runtime.<A HREF="./org/jacoco/core/runtime/RemoteControlReader.html" title="class in org.jacoco.core.runtime">RemoteControlReader</A>
    +<DD>&nbsp;
    +<DT><A HREF="./org/jacoco/core/runtime/RemoteControlReader.html" title="class in org.jacoco.core.runtime"><B>RemoteControlReader</B></A> - Class in <A HREF="./org/jacoco/core/runtime/package-summary.html">org.jacoco.core.runtime</A><DD><A HREF="./org/jacoco/core/data/ExecutionDataReader.html" title="class in org.jacoco.core.data"><CODE>ExecutionDataReader</CODE></A> with commands added for runtime remote control.<DT><A HREF="./org/jacoco/core/runtime/RemoteControlReader.html#RemoteControlReader(java.io.InputStream)"><B>RemoteControlReader(InputStream)</B></A> - 
    +Constructor for class org.jacoco.core.runtime.<A HREF="./org/jacoco/core/runtime/RemoteControlReader.html" title="class in org.jacoco.core.runtime">RemoteControlReader</A>
    +<DD>Create a new read based on the given input stream.
    +<DT><A HREF="./org/jacoco/core/runtime/RemoteControlWriter.html" title="class in org.jacoco.core.runtime"><B>RemoteControlWriter</B></A> - Class in <A HREF="./org/jacoco/core/runtime/package-summary.html">org.jacoco.core.runtime</A><DD><A HREF="./org/jacoco/core/data/ExecutionDataWriter.html" title="class in org.jacoco.core.data"><CODE>ExecutionDataWriter</CODE></A> with commands added for runtime remote control.<DT><A HREF="./org/jacoco/core/runtime/RemoteControlWriter.html#RemoteControlWriter(java.io.OutputStream)"><B>RemoteControlWriter(OutputStream)</B></A> - 
    +Constructor for class org.jacoco.core.runtime.<A HREF="./org/jacoco/core/runtime/RemoteControlWriter.html" title="class in org.jacoco.core.runtime">RemoteControlWriter</A>
    +<DD>Creates a new writer based on the given output stream.
    +<DT><A HREF="./org/jacoco/agent/rt/IAgent.html#reset()"><B>reset()</B></A> - 
    +Method in interface org.jacoco.agent.rt.<A HREF="./org/jacoco/agent/rt/IAgent.html" title="interface in org.jacoco.agent.rt">IAgent</A>
    +<DD>Resets all coverage information.
    +<DT><A HREF="./org/jacoco/core/data/ExecutionData.html#reset()"><B>reset()</B></A> - 
    +Method in class org.jacoco.core.data.<A HREF="./org/jacoco/core/data/ExecutionData.html" title="class in org.jacoco.core.data">ExecutionData</A>
    +<DD>Sets all probes to <code>false</code>.
    +<DT><A HREF="./org/jacoco/core/data/ExecutionDataStore.html#reset()"><B>reset()</B></A> - 
    +Method in class org.jacoco.core.data.<A HREF="./org/jacoco/core/data/ExecutionDataStore.html" title="class in org.jacoco.core.data">ExecutionDataStore</A>
    +<DD>Resets all execution data probes, i.e.
    +<DT><A HREF="./org/jacoco/core/runtime/RuntimeData.html#reset()"><B>reset()</B></A> - 
    +Method in class org.jacoco.core.runtime.<A HREF="./org/jacoco/core/runtime/RuntimeData.html" title="class in org.jacoco.core.runtime">RuntimeData</A>
    +<DD>Resets all coverage information.
    +<DT><A HREF="./org/jacoco/core/analysis/CounterComparator.html#reverse()"><B>reverse()</B></A> - 
    +Method in class org.jacoco.core.analysis.<A HREF="./org/jacoco/core/analysis/CounterComparator.html" title="class in org.jacoco.core.analysis">CounterComparator</A>
    +<DD>Creates a new version of this comparator that sorts in reverse order.
    +<DT><A HREF="./com/vladium/emma/rt/RT.html" title="class in com.vladium.emma.rt"><B>RT</B></A> - Class in <A HREF="./com/vladium/emma/rt/package-summary.html">com.vladium.emma.rt</A><DD><B>Deprecated.</B>&nbsp;<I>Use <A HREF="./org/jacoco/agent/rt/IAgent.html" title="interface in org.jacoco.agent.rt"><CODE>IAgent</CODE></A> instead.</I><DT><A HREF="./org/jacoco/agent/rt/RT.html" title="class in org.jacoco.agent.rt"><B>RT</B></A> - Class in <A HREF="./org/jacoco/agent/rt/package-summary.html">org.jacoco.agent.rt</A><DD>Entry point to access the JaCoCo agent runtime.<DT><A HREF="./org/jacoco/report/check/Rule.html" title="class in org.jacoco.report.check"><B>Rule</B></A> - Class in <A HREF="./org/jacoco/report/check/package-summary.html">org.jacoco.report.check</A><DD>A rule applies for a certain element type and can define any number of limits
    + for all elements of this type.<DT><A HREF="./org/jacoco/report/check/Rule.html#Rule()"><B>Rule()</B></A> - 
    +Constructor for class org.jacoco.report.check.<A HREF="./org/jacoco/report/check/Rule.html" title="class in org.jacoco.report.check">Rule</A>
    +<DD>Creates a new Rule without limits.
    +<DT><A HREF="./org/jacoco/report/check/RulesChecker.html" title="class in org.jacoco.report.check"><B>RulesChecker</B></A> - Class in <A HREF="./org/jacoco/report/check/package-summary.html">org.jacoco.report.check</A><DD>Formatter which checks a set of given rules and reports violations to a
    + <A HREF="./org/jacoco/report/check/IViolationsOutput.html" title="interface in org.jacoco.report.check"><CODE>IViolationsOutput</CODE></A> instance.<DT><A HREF="./org/jacoco/report/check/RulesChecker.html#RulesChecker()"><B>RulesChecker()</B></A> - 
    +Constructor for class org.jacoco.report.check.<A HREF="./org/jacoco/report/check/RulesChecker.html" title="class in org.jacoco.report.check">RulesChecker</A>
    +<DD>New formatter instance.
    +<DT><A HREF="./org/jacoco/core/runtime/RuntimeData.html" title="class in org.jacoco.core.runtime"><B>RuntimeData</B></A> - Class in <A HREF="./org/jacoco/core/runtime/package-summary.html">org.jacoco.core.runtime</A><DD>Container for runtime execution and meta data.<DT><A HREF="./org/jacoco/core/runtime/RuntimeData.html#RuntimeData()"><B>RuntimeData()</B></A> - 
    +Constructor for class org.jacoco.core.runtime.<A HREF="./org/jacoco/core/runtime/RuntimeData.html" title="class in org.jacoco.core.runtime">RuntimeData</A>
    +<DD>Creates a new runtime.
    +<DT><A HREF="./org/jacoco/core/JaCoCo.html#RUNTIMEPACKAGE"><B>RUNTIMEPACKAGE</B></A> - 
    +Static variable in class org.jacoco.core.<A HREF="./org/jacoco/core/JaCoCo.html" title="class in org.jacoco.core">JaCoCo</A>
    +<DD>Name of the runtime package of this build
    +</DL>
    +<HR>
    +<A NAME="_S_"><!-- --></A><H2>
    +<B>S</B></H2>
    +<DL>
    +<DT><A HREF="./org/jacoco/core/tools/ExecFileLoader.html#save(java.io.OutputStream)"><B>save(OutputStream)</B></A> - 
    +Method in class org.jacoco.core.tools.<A HREF="./org/jacoco/core/tools/ExecFileLoader.html" title="class in org.jacoco.core.tools">ExecFileLoader</A>
    +<DD>Saves the current content into the given output stream.
    +<DT><A HREF="./org/jacoco/core/tools/ExecFileLoader.html#save(java.io.File, boolean)"><B>save(File, boolean)</B></A> - 
    +Method in class org.jacoco.core.tools.<A HREF="./org/jacoco/core/tools/ExecFileLoader.html" title="class in org.jacoco.core.tools">ExecFileLoader</A>
    +<DD>Saves the current content into the given file.
    +<DT><A HREF="./org/jacoco/core/analysis/NodeComparator.html#second(java.util.Comparator)"><B>second(Comparator&lt;ICoverageNode&gt;)</B></A> - 
    +Method in class org.jacoco.core.analysis.<A HREF="./org/jacoco/core/analysis/NodeComparator.html" title="class in org.jacoco.core.analysis">NodeComparator</A>
    +<DD>Creates a new composite comparator with a second search criterion.
    +<DT><A HREF="./org/jacoco/core/runtime/RemoteControlWriter.html#sendCmdOk()"><B>sendCmdOk()</B></A> - 
    +Method in class org.jacoco.core.runtime.<A HREF="./org/jacoco/core/runtime/RemoteControlWriter.html" title="class in org.jacoco.core.runtime">RemoteControlWriter</A>
    +<DD>Sends a confirmation that a commands has been successfully executed and
    + the response is completed.
    +<DT><A HREF="./org/jacoco/core/runtime/AgentOptions.html#SESSIONID"><B>SESSIONID</B></A> - 
    +Static variable in class org.jacoco.core.runtime.<A HREF="./org/jacoco/core/runtime/AgentOptions.html" title="class in org.jacoco.core.runtime">AgentOptions</A>
    +<DD>Specifies a session identifier that is written with the execution data.
    +<DT><A HREF="./org/jacoco/core/data/SessionInfo.html" title="class in org.jacoco.core.data"><B>SessionInfo</B></A> - Class in <A HREF="./org/jacoco/core/data/package-summary.html">org.jacoco.core.data</A><DD>Data object describing a session which was the source of execution data.<DT><A HREF="./org/jacoco/core/data/SessionInfo.html#SessionInfo(java.lang.String, long, long)"><B>SessionInfo(String, long, long)</B></A> - 
    +Constructor for class org.jacoco.core.data.<A HREF="./org/jacoco/core/data/SessionInfo.html" title="class in org.jacoco.core.data">SessionInfo</A>
    +<DD>Create a immutable session info with the given data.
    +<DT><A HREF="./org/jacoco/core/data/SessionInfoStore.html" title="class in org.jacoco.core.data"><B>SessionInfoStore</B></A> - Class in <A HREF="./org/jacoco/core/data/package-summary.html">org.jacoco.core.data</A><DD>Container to collect and merge session <A HREF="./org/jacoco/core/data/SessionInfo.html" title="class in org.jacoco.core.data"><CODE>SessionInfo</CODE></A> objects.<DT><A HREF="./org/jacoco/core/data/SessionInfoStore.html#SessionInfoStore()"><B>SessionInfoStore()</B></A> - 
    +Constructor for class org.jacoco.core.data.<A HREF="./org/jacoco/core/data/SessionInfoStore.html" title="class in org.jacoco.core.data">SessionInfoStore</A>
    +<DD>&nbsp;
    +<DT><A HREF="./org/jacoco/core/runtime/AgentOptions.html#setAddress(java.lang.String)"><B>setAddress(String)</B></A> - 
    +Method in class org.jacoco.core.runtime.<A HREF="./org/jacoco/core/runtime/AgentOptions.html" title="class in org.jacoco.core.runtime">AgentOptions</A>
    +<DD>Sets the hostname or IP address to listen to when output is
    + <code>tcpserver</code> or connect to when output is
    + <code>tcpclient</code>
    +<DT><A HREF="./org/jacoco/core/runtime/AgentOptions.html#setAppend(boolean)"><B>setAppend(boolean)</B></A> - 
    +Method in class org.jacoco.core.runtime.<A HREF="./org/jacoco/core/runtime/AgentOptions.html" title="class in org.jacoco.core.runtime">AgentOptions</A>
    +<DD>Sets whether the output should be appended to an existing file.
    +<DT><A HREF="./org/jacoco/core/runtime/AgentOptions.html#setClassDumpDir(java.lang.String)"><B>setClassDumpDir(String)</B></A> - 
    +Method in class org.jacoco.core.runtime.<A HREF="./org/jacoco/core/runtime/AgentOptions.html" title="class in org.jacoco.core.runtime">AgentOptions</A>
    +<DD>Sets the directory where class files should be dumped to.
    +<DT><A HREF="./org/jacoco/report/check/Limit.html#setCounter(java.lang.String)"><B>setCounter(String)</B></A> - 
    +Method in class org.jacoco.report.check.<A HREF="./org/jacoco/report/check/Limit.html" title="class in org.jacoco.report.check">Limit</A>
    +<DD>Sets the counter entity to check.
    +<DT><A HREF="./org/jacoco/core/runtime/AgentOptions.html#setDestfile(java.lang.String)"><B>setDestfile(String)</B></A> - 
    +Method in class org.jacoco.core.runtime.<A HREF="./org/jacoco/core/runtime/AgentOptions.html" title="class in org.jacoco.core.runtime">AgentOptions</A>
    +<DD>Sets the output file location.
    +<DT><A HREF="./org/jacoco/core/tools/ExecDumpClient.html#setDump(boolean)"><B>setDump(boolean)</B></A> - 
    +Method in class org.jacoco.core.tools.<A HREF="./org/jacoco/core/tools/ExecDumpClient.html" title="class in org.jacoco.core.tools">ExecDumpClient</A>
    +<DD>Specifies whether a dump should be requested
    +<DT><A HREF="./org/jacoco/core/runtime/AgentOptions.html#setDumpOnExit(boolean)"><B>setDumpOnExit(boolean)</B></A> - 
    +Method in class org.jacoco.core.runtime.<A HREF="./org/jacoco/core/runtime/AgentOptions.html" title="class in org.jacoco.core.runtime">AgentOptions</A>
    +<DD>Sets whether coverage data should be dumped on exit.
    +<DT><A HREF="./org/jacoco/report/check/Rule.html#setElement(org.jacoco.core.analysis.ICoverageNode.ElementType)"><B>setElement(ICoverageNode.ElementType)</B></A> - 
    +Method in class org.jacoco.report.check.<A HREF="./org/jacoco/report/check/Rule.html" title="class in org.jacoco.report.check">Rule</A>
    +<DD>&nbsp;
    +<DT><A HREF="./org/jacoco/core/runtime/AgentOptions.html#setExclClassloader(java.lang.String)"><B>setExclClassloader(String)</B></A> - 
    +Method in class org.jacoco.core.runtime.<A HREF="./org/jacoco/core/runtime/AgentOptions.html" title="class in org.jacoco.core.runtime">AgentOptions</A>
    +<DD>Sets the wildcard expression for excluded class loaders.
    +<DT><A HREF="./org/jacoco/core/runtime/AgentOptions.html#setExcludes(java.lang.String)"><B>setExcludes(String)</B></A> - 
    +Method in class org.jacoco.core.runtime.<A HREF="./org/jacoco/core/runtime/AgentOptions.html" title="class in org.jacoco.core.runtime">AgentOptions</A>
    +<DD>Sets the wildcard expression for classes to exclude.
    +<DT><A HREF="./org/jacoco/report/check/Rule.html#setExcludes(java.lang.String)"><B>setExcludes(String)</B></A> - 
    +Method in class org.jacoco.report.check.<A HREF="./org/jacoco/report/check/Rule.html" title="class in org.jacoco.report.check">Rule</A>
    +<DD>&nbsp;
    +<DT><A HREF="./org/jacoco/core/data/ExecutionDataReader.html#setExecutionDataVisitor(org.jacoco.core.data.IExecutionDataVisitor)"><B>setExecutionDataVisitor(IExecutionDataVisitor)</B></A> - 
    +Method in class org.jacoco.core.data.<A HREF="./org/jacoco/core/data/ExecutionDataReader.html" title="class in org.jacoco.core.data">ExecutionDataReader</A>
    +<DD>Sets an listener for execution data.
    +<DT><A HREF="./org/jacoco/report/html/HTMLFormatter.html#setFooterText(java.lang.String)"><B>setFooterText(String)</B></A> - 
    +Method in class org.jacoco.report.html.<A HREF="./org/jacoco/report/html/HTMLFormatter.html" title="class in org.jacoco.report.html">HTMLFormatter</A>
    +<DD>Sets the optional text that should be included in every footer page.
    +<DT><A HREF="./org/jacoco/core/runtime/AgentOptions.html#setInclBootstrapClasses(boolean)"><B>setInclBootstrapClasses(boolean)</B></A> - 
    +Method in class org.jacoco.core.runtime.<A HREF="./org/jacoco/core/runtime/AgentOptions.html" title="class in org.jacoco.core.runtime">AgentOptions</A>
    +<DD>Sets whether classes from the bootstrap classloader should be
    + instrumented.
    +<DT><A HREF="./org/jacoco/core/runtime/AgentOptions.html#setInclNoLocationClasses(boolean)"><B>setInclNoLocationClasses(boolean)</B></A> - 
    +Method in class org.jacoco.core.runtime.<A HREF="./org/jacoco/core/runtime/AgentOptions.html" title="class in org.jacoco.core.runtime">AgentOptions</A>
    +<DD>Sets whether classes without source location should be instrumented.
    +<DT><A HREF="./org/jacoco/core/runtime/AgentOptions.html#setIncludes(java.lang.String)"><B>setIncludes(String)</B></A> - 
    +Method in class org.jacoco.core.runtime.<A HREF="./org/jacoco/core/runtime/AgentOptions.html" title="class in org.jacoco.core.runtime">AgentOptions</A>
    +<DD>Sets the wildcard expression for classes to include.
    +<DT><A HREF="./org/jacoco/report/check/Rule.html#setIncludes(java.lang.String)"><B>setIncludes(String)</B></A> - 
    +Method in class org.jacoco.report.check.<A HREF="./org/jacoco/report/check/Rule.html" title="class in org.jacoco.report.check">Rule</A>
    +<DD>&nbsp;
    +<DT><A HREF="./org/jacoco/core/runtime/AgentOptions.html#setJmx(boolean)"><B>setJmx(boolean)</B></A> - 
    +Method in class org.jacoco.core.runtime.<A HREF="./org/jacoco/core/runtime/AgentOptions.html" title="class in org.jacoco.core.runtime">AgentOptions</A>
    +<DD>Sets whether the agent should expose functionality via JMX.
    +<DT><A HREF="./org/jacoco/report/check/RulesChecker.html#setLanguageNames(org.jacoco.report.ILanguageNames)"><B>setLanguageNames(ILanguageNames)</B></A> - 
    +Method in class org.jacoco.report.check.<A HREF="./org/jacoco/report/check/RulesChecker.html" title="class in org.jacoco.report.check">RulesChecker</A>
    +<DD>Sets the implementation for language name display for message formatting.
    +<DT><A HREF="./org/jacoco/report/csv/CSVFormatter.html#setLanguageNames(org.jacoco.report.ILanguageNames)"><B>setLanguageNames(ILanguageNames)</B></A> - 
    +Method in class org.jacoco.report.csv.<A HREF="./org/jacoco/report/csv/CSVFormatter.html" title="class in org.jacoco.report.csv">CSVFormatter</A>
    +<DD>Sets the implementation for language name display.
    +<DT><A HREF="./org/jacoco/report/html/HTMLFormatter.html#setLanguageNames(org.jacoco.report.ILanguageNames)"><B>setLanguageNames(ILanguageNames)</B></A> - 
    +Method in class org.jacoco.report.html.<A HREF="./org/jacoco/report/html/HTMLFormatter.html" title="class in org.jacoco.report.html">HTMLFormatter</A>
    +<DD>Sets the implementation for language name display.
    +<DT><A HREF="./org/jacoco/report/check/Rule.html#setLimits(java.util.List)"><B>setLimits(List&lt;Limit&gt;)</B></A> - 
    +Method in class org.jacoco.report.check.<A HREF="./org/jacoco/report/check/Rule.html" title="class in org.jacoco.report.check">Rule</A>
    +<DD>&nbsp;
    +<DT><A HREF="./org/jacoco/report/html/HTMLFormatter.html#setLocale(java.util.Locale)"><B>setLocale(Locale)</B></A> - 
    +Method in class org.jacoco.report.html.<A HREF="./org/jacoco/report/html/HTMLFormatter.html" title="class in org.jacoco.report.html">HTMLFormatter</A>
    +<DD>Sets the locale used for report rendering.
    +<DT><A HREF="./org/jacoco/report/check/Limit.html#setMaximum(java.lang.String)"><B>setMaximum(String)</B></A> - 
    +Method in class org.jacoco.report.check.<A HREF="./org/jacoco/report/check/Limit.html" title="class in org.jacoco.report.check">Limit</A>
    +<DD>Sets the expected maximum value.
    +<DT><A HREF="./org/jacoco/report/check/Limit.html#setMinimum(java.lang.String)"><B>setMinimum(String)</B></A> - 
    +Method in class org.jacoco.report.check.<A HREF="./org/jacoco/report/check/Limit.html" title="class in org.jacoco.report.check">Limit</A>
    +<DD>Sets the expected minimum value.
    +<DT><A HREF="./org/jacoco/core/runtime/AgentOptions.html#setOutput(java.lang.String)"><B>setOutput(String)</B></A> - 
    +Method in class org.jacoco.core.runtime.<A HREF="./org/jacoco/core/runtime/AgentOptions.html" title="class in org.jacoco.core.runtime">AgentOptions</A>
    +<DD>Sets the output mode
    +<DT><A HREF="./org/jacoco/core/runtime/AgentOptions.html#setOutput(org.jacoco.core.runtime.AgentOptions.OutputMode)"><B>setOutput(AgentOptions.OutputMode)</B></A> - 
    +Method in class org.jacoco.core.runtime.<A HREF="./org/jacoco/core/runtime/AgentOptions.html" title="class in org.jacoco.core.runtime">AgentOptions</A>
    +<DD>Sets the output mode
    +<DT><A HREF="./org/jacoco/report/csv/CSVFormatter.html#setOutputEncoding(java.lang.String)"><B>setOutputEncoding(String)</B></A> - 
    +Method in class org.jacoco.report.csv.<A HREF="./org/jacoco/report/csv/CSVFormatter.html" title="class in org.jacoco.report.csv">CSVFormatter</A>
    +<DD>Sets the encoding used for generated CSV document.
    +<DT><A HREF="./org/jacoco/report/html/HTMLFormatter.html#setOutputEncoding(java.lang.String)"><B>setOutputEncoding(String)</B></A> - 
    +Method in class org.jacoco.report.html.<A HREF="./org/jacoco/report/html/HTMLFormatter.html" title="class in org.jacoco.report.html">HTMLFormatter</A>
    +<DD>Sets the encoding used for generated HTML pages.
    +<DT><A HREF="./org/jacoco/report/xml/XMLFormatter.html#setOutputEncoding(java.lang.String)"><B>setOutputEncoding(String)</B></A> - 
    +Method in class org.jacoco.report.xml.<A HREF="./org/jacoco/report/xml/XMLFormatter.html" title="class in org.jacoco.report.xml">XMLFormatter</A>
    +<DD>Sets the encoding used for generated XML document.
    +<DT><A HREF="./org/jacoco/core/runtime/AgentOptions.html#setPort(int)"><B>setPort(int)</B></A> - 
    +Method in class org.jacoco.core.runtime.<A HREF="./org/jacoco/core/runtime/AgentOptions.html" title="class in org.jacoco.core.runtime">AgentOptions</A>
    +<DD>Sets the port on which to listen to when output is <code>tcpserver</code>
    + or the port to connect to when output is <code>tcpclient</code>
    +<DT><A HREF="./org/jacoco/core/runtime/RemoteControlReader.html#setRemoteCommandVisitor(org.jacoco.core.runtime.IRemoteCommandVisitor)"><B>setRemoteCommandVisitor(IRemoteCommandVisitor)</B></A> - 
    +Method in class org.jacoco.core.runtime.<A HREF="./org/jacoco/core/runtime/RemoteControlReader.html" title="class in org.jacoco.core.runtime">RemoteControlReader</A>
    +<DD>Sets an listener for agent commands.
    +<DT><A HREF="./org/jacoco/core/instr/Instrumenter.html#setRemoveSignatures(boolean)"><B>setRemoveSignatures(boolean)</B></A> - 
    +Method in class org.jacoco.core.instr.<A HREF="./org/jacoco/core/instr/Instrumenter.html" title="class in org.jacoco.core.instr">Instrumenter</A>
    +<DD>Determines whether signatures should be removed from JAR files.
    +<DT><A HREF="./org/jacoco/core/tools/ExecDumpClient.html#setReset(boolean)"><B>setReset(boolean)</B></A> - 
    +Method in class org.jacoco.core.tools.<A HREF="./org/jacoco/core/tools/ExecDumpClient.html" title="class in org.jacoco.core.tools">ExecDumpClient</A>
    +<DD>Specifies whether execution data should be reset.
    +<DT><A HREF="./org/jacoco/core/tools/ExecDumpClient.html#setRetryCount(int)"><B>setRetryCount(int)</B></A> - 
    +Method in class org.jacoco.core.tools.<A HREF="./org/jacoco/core/tools/ExecDumpClient.html" title="class in org.jacoco.core.tools">ExecDumpClient</A>
    +<DD>Sets the number of retry attempts to connect to the target socket.
    +<DT><A HREF="./org/jacoco/core/tools/ExecDumpClient.html#setRetryDelay(long)"><B>setRetryDelay(long)</B></A> - 
    +Method in class org.jacoco.core.tools.<A HREF="./org/jacoco/core/tools/ExecDumpClient.html" title="class in org.jacoco.core.tools">ExecDumpClient</A>
    +<DD>Sets the delay time before between connection attempts.
    +<DT><A HREF="./org/jacoco/report/check/RulesChecker.html#setRules(java.util.List)"><B>setRules(List&lt;Rule&gt;)</B></A> - 
    +Method in class org.jacoco.report.check.<A HREF="./org/jacoco/report/check/RulesChecker.html" title="class in org.jacoco.report.check">RulesChecker</A>
    +<DD>Sets the rules to check by this formatter.
    +<DT><A HREF="./org/jacoco/agent/rt/IAgent.html#setSessionId(java.lang.String)"><B>setSessionId(String)</B></A> - 
    +Method in interface org.jacoco.agent.rt.<A HREF="./org/jacoco/agent/rt/IAgent.html" title="interface in org.jacoco.agent.rt">IAgent</A>
    +<DD>Sets a session identifier.
    +<DT><A HREF="./org/jacoco/core/runtime/AgentOptions.html#setSessionId(java.lang.String)"><B>setSessionId(String)</B></A> - 
    +Method in class org.jacoco.core.runtime.<A HREF="./org/jacoco/core/runtime/AgentOptions.html" title="class in org.jacoco.core.runtime">AgentOptions</A>
    +<DD>Sets the session identifier.
    +<DT><A HREF="./org/jacoco/core/runtime/RuntimeData.html#setSessionId(java.lang.String)"><B>setSessionId(String)</B></A> - 
    +Method in class org.jacoco.core.runtime.<A HREF="./org/jacoco/core/runtime/RuntimeData.html" title="class in org.jacoco.core.runtime">RuntimeData</A>
    +<DD>Sets a session identifier for this runtime.
    +<DT><A HREF="./org/jacoco/core/data/ExecutionDataReader.html#setSessionInfoVisitor(org.jacoco.core.data.ISessionInfoVisitor)"><B>setSessionInfoVisitor(ISessionInfoVisitor)</B></A> - 
    +Method in class org.jacoco.core.data.<A HREF="./org/jacoco/core/data/ExecutionDataReader.html" title="class in org.jacoco.core.data">ExecutionDataReader</A>
    +<DD>Sets an listener for session information.
    +<DT><A HREF="./org/jacoco/report/check/Limit.html#setValue(java.lang.String)"><B>setValue(String)</B></A> - 
    +Method in class org.jacoco.report.check.<A HREF="./org/jacoco/report/check/Limit.html" title="class in org.jacoco.report.check">Limit</A>
    +<DD>Sets the value to check.
    +<DT><A HREF="./org/jacoco/core/runtime/InjectedClassRuntime.html#shutdown()"><B>shutdown()</B></A> - 
    +Method in class org.jacoco.core.runtime.<A HREF="./org/jacoco/core/runtime/InjectedClassRuntime.html" title="class in org.jacoco.core.runtime">InjectedClassRuntime</A>
    +<DD>&nbsp;
    +<DT><A HREF="./org/jacoco/core/runtime/IRuntime.html#shutdown()"><B>shutdown()</B></A> - 
    +Method in interface org.jacoco.core.runtime.<A HREF="./org/jacoco/core/runtime/IRuntime.html" title="interface in org.jacoco.core.runtime">IRuntime</A>
    +<DD>Allows the coverage runtime to cleanup internals.
    +<DT><A HREF="./org/jacoco/core/runtime/LoggerRuntime.html#shutdown()"><B>shutdown()</B></A> - 
    +Method in class org.jacoco.core.runtime.<A HREF="./org/jacoco/core/runtime/LoggerRuntime.html" title="class in org.jacoco.core.runtime">LoggerRuntime</A>
    +<DD>&nbsp;
    +<DT><A HREF="./org/jacoco/core/runtime/ModifiedSystemClassRuntime.html#shutdown()"><B>shutdown()</B></A> - 
    +Method in class org.jacoco.core.runtime.<A HREF="./org/jacoco/core/runtime/ModifiedSystemClassRuntime.html" title="class in org.jacoco.core.runtime">ModifiedSystemClassRuntime</A>
    +<DD>&nbsp;
    +<DT><A HREF="./org/jacoco/core/runtime/SystemPropertiesRuntime.html#shutdown()"><B>shutdown()</B></A> - 
    +Method in class org.jacoco.core.runtime.<A HREF="./org/jacoco/core/runtime/SystemPropertiesRuntime.html" title="class in org.jacoco.core.runtime">SystemPropertiesRuntime</A>
    +<DD>&nbsp;
    +<DT><A HREF="./org/jacoco/core/analysis/NodeComparator.html#sort(java.util.Collection)"><B>sort(Collection&lt;T&gt;)</B></A> - 
    +Method in class org.jacoco.core.analysis.<A HREF="./org/jacoco/core/analysis/NodeComparator.html" title="class in org.jacoco.core.analysis">NodeComparator</A>
    +<DD>Returns a sorted copy of the given collection of <A HREF="./org/jacoco/core/analysis/ICoverageNode.html" title="interface in org.jacoco.core.analysis"><CODE>ICoverageNode</CODE></A>
    + elements.
    +<DT><A HREF="./org/jacoco/core/runtime/AbstractRuntime.html#startup(org.jacoco.core.runtime.RuntimeData)"><B>startup(RuntimeData)</B></A> - 
    +Method in class org.jacoco.core.runtime.<A HREF="./org/jacoco/core/runtime/AbstractRuntime.html" title="class in org.jacoco.core.runtime">AbstractRuntime</A>
    +<DD>Subclasses must call this method when overwriting it.
    +<DT><A HREF="./org/jacoco/core/runtime/InjectedClassRuntime.html#startup(org.jacoco.core.runtime.RuntimeData)"><B>startup(RuntimeData)</B></A> - 
    +Method in class org.jacoco.core.runtime.<A HREF="./org/jacoco/core/runtime/InjectedClassRuntime.html" title="class in org.jacoco.core.runtime">InjectedClassRuntime</A>
    +<DD>&nbsp;
    +<DT><A HREF="./org/jacoco/core/runtime/IRuntime.html#startup(org.jacoco.core.runtime.RuntimeData)"><B>startup(RuntimeData)</B></A> - 
    +Method in interface org.jacoco.core.runtime.<A HREF="./org/jacoco/core/runtime/IRuntime.html" title="interface in org.jacoco.core.runtime">IRuntime</A>
    +<DD>Starts the coverage runtime.
    +<DT><A HREF="./org/jacoco/core/runtime/LoggerRuntime.html#startup(org.jacoco.core.runtime.RuntimeData)"><B>startup(RuntimeData)</B></A> - 
    +Method in class org.jacoco.core.runtime.<A HREF="./org/jacoco/core/runtime/LoggerRuntime.html" title="class in org.jacoco.core.runtime">LoggerRuntime</A>
    +<DD>&nbsp;
    +<DT><A HREF="./org/jacoco/core/runtime/ModifiedSystemClassRuntime.html#startup(org.jacoco.core.runtime.RuntimeData)"><B>startup(RuntimeData)</B></A> - 
    +Method in class org.jacoco.core.runtime.<A HREF="./org/jacoco/core/runtime/ModifiedSystemClassRuntime.html" title="class in org.jacoco.core.runtime">ModifiedSystemClassRuntime</A>
    +<DD>&nbsp;
    +<DT><A HREF="./org/jacoco/core/runtime/SystemPropertiesRuntime.html#startup(org.jacoco.core.runtime.RuntimeData)"><B>startup(RuntimeData)</B></A> - 
    +Method in class org.jacoco.core.runtime.<A HREF="./org/jacoco/core/runtime/SystemPropertiesRuntime.html" title="class in org.jacoco.core.runtime">SystemPropertiesRuntime</A>
    +<DD>&nbsp;
    +<DT><A HREF="./org/jacoco/core/runtime/RuntimeData.html#store"><B>store</B></A> - 
    +Variable in class org.jacoco.core.runtime.<A HREF="./org/jacoco/core/runtime/RuntimeData.html" title="class in org.jacoco.core.runtime">RuntimeData</A>
    +<DD>store for execution data
    +<DT><A HREF="./org/jacoco/core/data/ExecutionDataStore.html#subtract(org.jacoco.core.data.ExecutionData)"><B>subtract(ExecutionData)</B></A> - 
    +Method in class org.jacoco.core.data.<A HREF="./org/jacoco/core/data/ExecutionDataStore.html" title="class in org.jacoco.core.data">ExecutionDataStore</A>
    +<DD>Subtracts the probes in the given <A HREF="./org/jacoco/core/data/ExecutionData.html" title="class in org.jacoco.core.data"><CODE>ExecutionData</CODE></A> object from the
    + store.
    +<DT><A HREF="./org/jacoco/core/data/ExecutionDataStore.html#subtract(org.jacoco.core.data.ExecutionDataStore)"><B>subtract(ExecutionDataStore)</B></A> - 
    +Method in class org.jacoco.core.data.<A HREF="./org/jacoco/core/data/ExecutionDataStore.html" title="class in org.jacoco.core.data">ExecutionDataStore</A>
    +<DD>Subtracts all probes in the given execution data store from this store.
    +<DT><A HREF="./org/jacoco/core/runtime/SystemPropertiesRuntime.html" title="class in org.jacoco.core.runtime"><B>SystemPropertiesRuntime</B></A> - Class in <A HREF="./org/jacoco/core/runtime/package-summary.html">org.jacoco.core.runtime</A><DD>This <A HREF="./org/jacoco/core/runtime/IRuntime.html" title="interface in org.jacoco.core.runtime"><CODE>IRuntime</CODE></A> implementation makes the execution data available
    + through a special entry in the <A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/System.html#getProperties()" title="class or interface in java.lang"><CODE>System.getProperties()</CODE></A> hash table.<DT><A HREF="./org/jacoco/core/runtime/SystemPropertiesRuntime.html#SystemPropertiesRuntime()"><B>SystemPropertiesRuntime()</B></A> - 
    +Constructor for class org.jacoco.core.runtime.<A HREF="./org/jacoco/core/runtime/SystemPropertiesRuntime.html" title="class in org.jacoco.core.runtime">SystemPropertiesRuntime</A>
    +<DD>Creates a new runtime.
    +</DL>
    +<HR>
    +<A NAME="_T_"><!-- --></A><H2>
    +<B>T</B></H2>
    +<DL>
    +<DT><A HREF="./org/jacoco/core/analysis/CoverageNodeImpl.html#toString()"><B>toString()</B></A> - 
    +Method in class org.jacoco.core.analysis.<A HREF="./org/jacoco/core/analysis/CoverageNodeImpl.html" title="class in org.jacoco.core.analysis">CoverageNodeImpl</A>
    +<DD>&nbsp;
    +<DT><A HREF="./org/jacoco/core/data/ExecutionData.html#toString()"><B>toString()</B></A> - 
    +Method in class org.jacoco.core.data.<A HREF="./org/jacoco/core/data/ExecutionData.html" title="class in org.jacoco.core.data">ExecutionData</A>
    +<DD>&nbsp;
    +<DT><A HREF="./org/jacoco/core/data/SessionInfo.html#toString()"><B>toString()</B></A> - 
    +Method in class org.jacoco.core.data.<A HREF="./org/jacoco/core/data/SessionInfo.html" title="class in org.jacoco.core.data">SessionInfo</A>
    +<DD>&nbsp;
    +<DT><A HREF="./org/jacoco/core/runtime/AgentOptions.html#toString()"><B>toString()</B></A> - 
    +Method in class org.jacoco.core.runtime.<A HREF="./org/jacoco/core/runtime/AgentOptions.html" title="class in org.jacoco.core.runtime">AgentOptions</A>
    +<DD>Creates a string representation that can be passed to the agent via the
    + command line.
    +<DT><A HREF="./org/jacoco/core/analysis/CounterComparator.html#TOTALITEMS"><B>TOTALITEMS</B></A> - 
    +Static variable in class org.jacoco.core.analysis.<A HREF="./org/jacoco/core/analysis/CounterComparator.html" title="class in org.jacoco.core.analysis">CounterComparator</A>
    +<DD>Compares the absolute number of total items.
    +</DL>
    +<HR>
    +<A NAME="_U_"><!-- --></A><H2>
    +<B>U</B></H2>
    +<DL>
    +<DT><A HREF="./org/jacoco/core/analysis/ISourceNode.html#UNKNOWN_LINE"><B>UNKNOWN_LINE</B></A> - 
    +Static variable in interface org.jacoco.core.analysis.<A HREF="./org/jacoco/core/analysis/ISourceNode.html" title="interface in org.jacoco.core.analysis">ISourceNode</A>
    +<DD>Place holder for unknown lines (no debug information)
    +</DL>
    +<HR>
    +<A NAME="_V_"><!-- --></A><H2>
    +<B>V</B></H2>
    +<DL>
    +<DT><A HREF="./org/jacoco/core/analysis/ICounter.CounterValue.html#valueOf(java.lang.String)"><B>valueOf(String)</B></A> - 
    +Static method in enum org.jacoco.core.analysis.<A HREF="./org/jacoco/core/analysis/ICounter.CounterValue.html" title="enum in org.jacoco.core.analysis">ICounter.CounterValue</A>
    +<DD>Returns the enum constant of this type with the specified name.
    +<DT><A HREF="./org/jacoco/core/analysis/ICoverageNode.CounterEntity.html#valueOf(java.lang.String)"><B>valueOf(String)</B></A> - 
    +Static method in enum org.jacoco.core.analysis.<A HREF="./org/jacoco/core/analysis/ICoverageNode.CounterEntity.html" title="enum in org.jacoco.core.analysis">ICoverageNode.CounterEntity</A>
    +<DD>Returns the enum constant of this type with the specified name.
    +<DT><A HREF="./org/jacoco/core/analysis/ICoverageNode.ElementType.html#valueOf(java.lang.String)"><B>valueOf(String)</B></A> - 
    +Static method in enum org.jacoco.core.analysis.<A HREF="./org/jacoco/core/analysis/ICoverageNode.ElementType.html" title="enum in org.jacoco.core.analysis">ICoverageNode.ElementType</A>
    +<DD>Returns the enum constant of this type with the specified name.
    +<DT><A HREF="./org/jacoco/core/runtime/AgentOptions.OutputMode.html#valueOf(java.lang.String)"><B>valueOf(String)</B></A> - 
    +Static method in enum org.jacoco.core.runtime.<A HREF="./org/jacoco/core/runtime/AgentOptions.OutputMode.html" title="enum in org.jacoco.core.runtime">AgentOptions.OutputMode</A>
    +<DD>Returns the enum constant of this type with the specified name.
    +<DT><A HREF="./org/jacoco/core/analysis/ICounter.CounterValue.html#values()"><B>values()</B></A> - 
    +Static method in enum org.jacoco.core.analysis.<A HREF="./org/jacoco/core/analysis/ICounter.CounterValue.html" title="enum in org.jacoco.core.analysis">ICounter.CounterValue</A>
    +<DD>Returns an array containing the constants of this enum type, in
    +the order they're declared.
    +<DT><A HREF="./org/jacoco/core/analysis/ICoverageNode.CounterEntity.html#values()"><B>values()</B></A> - 
    +Static method in enum org.jacoco.core.analysis.<A HREF="./org/jacoco/core/analysis/ICoverageNode.CounterEntity.html" title="enum in org.jacoco.core.analysis">ICoverageNode.CounterEntity</A>
    +<DD>Returns an array containing the constants of this enum type, in
    +the order they're declared.
    +<DT><A HREF="./org/jacoco/core/analysis/ICoverageNode.ElementType.html#values()"><B>values()</B></A> - 
    +Static method in enum org.jacoco.core.analysis.<A HREF="./org/jacoco/core/analysis/ICoverageNode.ElementType.html" title="enum in org.jacoco.core.analysis">ICoverageNode.ElementType</A>
    +<DD>Returns an array containing the constants of this enum type, in
    +the order they're declared.
    +<DT><A HREF="./org/jacoco/core/runtime/AgentOptions.OutputMode.html#values()"><B>values()</B></A> - 
    +Static method in enum org.jacoco.core.runtime.<A HREF="./org/jacoco/core/runtime/AgentOptions.OutputMode.html" title="enum in org.jacoco.core.runtime">AgentOptions.OutputMode</A>
    +<DD>Returns an array containing the constants of this enum type, in
    +the order they're declared.
    +<DT><A HREF="./org/jacoco/core/JaCoCo.html#VERSION"><B>VERSION</B></A> - 
    +Static variable in class org.jacoco.core.<A HREF="./org/jacoco/core/JaCoCo.html" title="class in org.jacoco.core">JaCoCo</A>
    +<DD>Qualified version of JaCoCo core.
    +<DT><A HREF="./org/jacoco/report/IReportGroupVisitor.html#visitBundle(org.jacoco.core.analysis.IBundleCoverage, org.jacoco.report.ISourceFileLocator)"><B>visitBundle(IBundleCoverage, ISourceFileLocator)</B></A> - 
    +Method in interface org.jacoco.report.<A HREF="./org/jacoco/report/IReportGroupVisitor.html" title="interface in org.jacoco.report">IReportGroupVisitor</A>
    +<DD>Called to add a bundle to the report.
    +<DT><A HREF="./org/jacoco/core/data/ExecutionDataStore.html#visitClassExecution(org.jacoco.core.data.ExecutionData)"><B>visitClassExecution(ExecutionData)</B></A> - 
    +Method in class org.jacoco.core.data.<A HREF="./org/jacoco/core/data/ExecutionDataStore.html" title="class in org.jacoco.core.data">ExecutionDataStore</A>
    +<DD>&nbsp;
    +<DT><A HREF="./org/jacoco/core/data/ExecutionDataWriter.html#visitClassExecution(org.jacoco.core.data.ExecutionData)"><B>visitClassExecution(ExecutionData)</B></A> - 
    +Method in class org.jacoco.core.data.<A HREF="./org/jacoco/core/data/ExecutionDataWriter.html" title="class in org.jacoco.core.data">ExecutionDataWriter</A>
    +<DD>&nbsp;
    +<DT><A HREF="./org/jacoco/core/data/IExecutionDataVisitor.html#visitClassExecution(org.jacoco.core.data.ExecutionData)"><B>visitClassExecution(ExecutionData)</B></A> - 
    +Method in interface org.jacoco.core.data.<A HREF="./org/jacoco/core/data/IExecutionDataVisitor.html" title="interface in org.jacoco.core.data">IExecutionDataVisitor</A>
    +<DD>Provides execution data for a class.
    +<DT><A HREF="./org/jacoco/core/analysis/CoverageBuilder.html#visitCoverage(org.jacoco.core.analysis.IClassCoverage)"><B>visitCoverage(IClassCoverage)</B></A> - 
    +Method in class org.jacoco.core.analysis.<A HREF="./org/jacoco/core/analysis/CoverageBuilder.html" title="class in org.jacoco.core.analysis">CoverageBuilder</A>
    +<DD>&nbsp;
    +<DT><A HREF="./org/jacoco/core/analysis/ICoverageVisitor.html#visitCoverage(org.jacoco.core.analysis.IClassCoverage)"><B>visitCoverage(IClassCoverage)</B></A> - 
    +Method in interface org.jacoco.core.analysis.<A HREF="./org/jacoco/core/analysis/ICoverageVisitor.html" title="interface in org.jacoco.core.analysis">ICoverageVisitor</A>
    +<DD>For analyzed class coverage data is emitted to this method.
    +<DT><A HREF="./org/jacoco/core/runtime/IRemoteCommandVisitor.html#visitDumpCommand(boolean, boolean)"><B>visitDumpCommand(boolean, boolean)</B></A> - 
    +Method in interface org.jacoco.core.runtime.<A HREF="./org/jacoco/core/runtime/IRemoteCommandVisitor.html" title="interface in org.jacoco.core.runtime">IRemoteCommandVisitor</A>
    +<DD>Requests a execution data dump with an optional reset.
    +<DT><A HREF="./org/jacoco/core/runtime/RemoteControlWriter.html#visitDumpCommand(boolean, boolean)"><B>visitDumpCommand(boolean, boolean)</B></A> - 
    +Method in class org.jacoco.core.runtime.<A HREF="./org/jacoco/core/runtime/RemoteControlWriter.html" title="class in org.jacoco.core.runtime">RemoteControlWriter</A>
    +<DD>&nbsp;
    +<DT><A HREF="./org/jacoco/report/IReportVisitor.html#visitEnd()"><B>visitEnd()</B></A> - 
    +Method in interface org.jacoco.report.<A HREF="./org/jacoco/report/IReportVisitor.html" title="interface in org.jacoco.report">IReportVisitor</A>
    +<DD>Has to be called after all report data has been emitted.
    +<DT><A HREF="./org/jacoco/report/MultiReportVisitor.html#visitEnd()"><B>visitEnd()</B></A> - 
    +Method in class org.jacoco.report.<A HREF="./org/jacoco/report/MultiReportVisitor.html" title="class in org.jacoco.report">MultiReportVisitor</A>
    +<DD>&nbsp;
    +<DT><A HREF="./org/jacoco/report/IReportGroupVisitor.html#visitGroup(java.lang.String)"><B>visitGroup(String)</B></A> - 
    +Method in interface org.jacoco.report.<A HREF="./org/jacoco/report/IReportGroupVisitor.html" title="interface in org.jacoco.report">IReportGroupVisitor</A>
    +<DD>Called to add a new group to the report.
    +<DT><A HREF="./org/jacoco/report/IReportVisitor.html#visitInfo(java.util.List, java.util.Collection)"><B>visitInfo(List&lt;SessionInfo&gt;, Collection&lt;ExecutionData&gt;)</B></A> - 
    +Method in interface org.jacoco.report.<A HREF="./org/jacoco/report/IReportVisitor.html" title="interface in org.jacoco.report">IReportVisitor</A>
    +<DD>Initializes the report with global information.
    +<DT><A HREF="./org/jacoco/report/MultiReportVisitor.html#visitInfo(java.util.List, java.util.Collection)"><B>visitInfo(List&lt;SessionInfo&gt;, Collection&lt;ExecutionData&gt;)</B></A> - 
    +Method in class org.jacoco.report.<A HREF="./org/jacoco/report/MultiReportVisitor.html" title="class in org.jacoco.report">MultiReportVisitor</A>
    +<DD>&nbsp;
    +<DT><A HREF="./org/jacoco/core/data/ExecutionDataWriter.html#visitSessionInfo(org.jacoco.core.data.SessionInfo)"><B>visitSessionInfo(SessionInfo)</B></A> - 
    +Method in class org.jacoco.core.data.<A HREF="./org/jacoco/core/data/ExecutionDataWriter.html" title="class in org.jacoco.core.data">ExecutionDataWriter</A>
    +<DD>&nbsp;
    +<DT><A HREF="./org/jacoco/core/data/ISessionInfoVisitor.html#visitSessionInfo(org.jacoco.core.data.SessionInfo)"><B>visitSessionInfo(SessionInfo)</B></A> - 
    +Method in interface org.jacoco.core.data.<A HREF="./org/jacoco/core/data/ISessionInfoVisitor.html" title="interface in org.jacoco.core.data">ISessionInfoVisitor</A>
    +<DD>Provides session information for the subsequent execution data calls.
    +<DT><A HREF="./org/jacoco/core/data/SessionInfoStore.html#visitSessionInfo(org.jacoco.core.data.SessionInfo)"><B>visitSessionInfo(SessionInfo)</B></A> - 
    +Method in class org.jacoco.core.data.<A HREF="./org/jacoco/core/data/SessionInfoStore.html" title="class in org.jacoco.core.data">SessionInfoStore</A>
    +<DD>&nbsp;
    +</DL>
    +<HR>
    +<A NAME="_W_"><!-- --></A><H2>
    +<B>W</B></H2>
    +<DL>
    +<DT><A HREF="./org/jacoco/core/runtime/WildcardMatcher.html" title="class in org.jacoco.core.runtime"><B>WildcardMatcher</B></A> - Class in <A HREF="./org/jacoco/core/runtime/package-summary.html">org.jacoco.core.runtime</A><DD>Matches strings against glob like wildcard expressions where <code>?</code>
    + matches any single character and <code>*</code> matches any number of any
    + character.<DT><A HREF="./org/jacoco/core/runtime/WildcardMatcher.html#WildcardMatcher(java.lang.String)"><B>WildcardMatcher(String)</B></A> - 
    +Constructor for class org.jacoco.core.runtime.<A HREF="./org/jacoco/core/runtime/WildcardMatcher.html" title="class in org.jacoco.core.runtime">WildcardMatcher</A>
    +<DD>Creates a new matcher with the given expression.
    +</DL>
    +<HR>
    +<A NAME="_X_"><!-- --></A><H2>
    +<B>X</B></H2>
    +<DL>
    +<DT><A HREF="./org/jacoco/report/xml/XMLFormatter.html" title="class in org.jacoco.report.xml"><B>XMLFormatter</B></A> - Class in <A HREF="./org/jacoco/report/xml/package-summary.html">org.jacoco.report.xml</A><DD>Report formatter that creates a single XML file for a coverage session<DT><A HREF="./org/jacoco/report/xml/XMLFormatter.html#XMLFormatter()"><B>XMLFormatter()</B></A> - 
    +Constructor for class org.jacoco.report.xml.<A HREF="./org/jacoco/report/xml/XMLFormatter.html" title="class in org.jacoco.report.xml">XMLFormatter</A>
    +<DD>&nbsp;
    +</DL>
    +<HR>
    +<A NAME="_Z_"><!-- --></A><H2>
    +<B>Z</B></H2>
    +<DL>
    +<DT><A HREF="./org/jacoco/report/ZipMultiReportOutput.html" title="class in org.jacoco.report"><B>ZipMultiReportOutput</B></A> - Class in <A HREF="./org/jacoco/report/package-summary.html">org.jacoco.report</A><DD>Implementation of <A HREF="./org/jacoco/report/IMultiReportOutput.html" title="interface in org.jacoco.report"><CODE>IMultiReportOutput</CODE></A> that writes files into a
    + <A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/util/zip/ZipOutputStream.html" title="class or interface in java.util.zip"><CODE>ZipOutputStream</CODE></A>.<DT><A HREF="./org/jacoco/report/ZipMultiReportOutput.html#ZipMultiReportOutput(java.util.zip.ZipOutputStream)"><B>ZipMultiReportOutput(ZipOutputStream)</B></A> - 
    +Constructor for class org.jacoco.report.<A HREF="./org/jacoco/report/ZipMultiReportOutput.html" title="class in org.jacoco.report">ZipMultiReportOutput</A>
    +<DD>Creates a new instance based on the given <A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/util/zip/ZipOutputStream.html" title="class or interface in java.util.zip"><CODE>ZipOutputStream</CODE></A>.
    +<DT><A HREF="./org/jacoco/report/ZipMultiReportOutput.html#ZipMultiReportOutput(java.io.OutputStream)"><B>ZipMultiReportOutput(OutputStream)</B></A> - 
    +Constructor for class org.jacoco.report.<A HREF="./org/jacoco/report/ZipMultiReportOutput.html" title="class in org.jacoco.report">ZipMultiReportOutput</A>
    +<DD>Creates a new instance based on the given <A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/io/OutputStream.html" title="class or interface in java.io"><CODE>OutputStream</CODE></A>.
    +</DL>
    +<HR>
    +<A HREF="#_A_">A</A> <A HREF="#_B_">B</A> <A HREF="#_C_">C</A> <A HREF="#_D_">D</A> <A HREF="#_E_">E</A> <A HREF="#_F_">F</A> <A HREF="#_G_">G</A> <A HREF="#_H_">H</A> <A HREF="#_I_">I</A> <A HREF="#_J_">J</A> <A HREF="#_L_">L</A> <A HREF="#_M_">M</A> <A HREF="#_N_">N</A> <A HREF="#_O_">O</A> <A HREF="#_P_">P</A> <A HREF="#_R_">R</A> <A HREF="#_S_">S</A> <A HREF="#_T_">T</A> <A HREF="#_U_">U</A> <A HREF="#_V_">V</A> <A HREF="#_W_">W</A> <A HREF="#_X_">X</A> <A HREF="#_Z_">Z</A> 
    +
    +<!-- ======= START OF BOTTOM NAVBAR ====== -->
    +<A NAME="navbar_bottom"><!-- --></A>
    +<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
    +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
    +<TR>
    +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
    +<A NAME="navbar_bottom_firstrow"><!-- --></A>
    +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
    +  <TR ALIGN="center" VALIGN="top">
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="./overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <FONT CLASS="NavBarFont1">Package</FONT>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <FONT CLASS="NavBarFont1">Class</FONT>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <FONT CLASS="NavBarFont1">Use</FONT>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="./overview-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="./deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Index</B></FONT>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="./help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
    +  </TR>
    +</TABLE>
    +</TD>
    +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
    +</EM>
    +</TD>
    +</TR>
    +
    +<TR>
    +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
    +&nbsp;PREV&nbsp;
    +&nbsp;NEXT</FONT></TD>
    +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
    +  <A HREF="./index.html?index-all.html" target="_top"><B>FRAMES</B></A>  &nbsp;
    +&nbsp;<A HREF="index-all.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
    +&nbsp;<SCRIPT type="text/javascript">
    +  <!--
    +  if(window==top) {
    +    document.writeln('<A HREF="./allclasses-noframe.html"><B>All Classes</B></A>');
    +  }
    +  //-->
    +</SCRIPT>
    +<NOSCRIPT>
    +  <A HREF="./allclasses-noframe.html"><B>All Classes</B></A>
    +</NOSCRIPT>
    +
    +
    +</FONT></TD>
    +</TR>
    +</TABLE>
    +<A NAME="skip-navbar_bottom"></A>
    +<!-- ======== END OF BOTTOM NAVBAR ======= -->
    +
    +<HR>
    +Copyright &#169; 2009&#x2013;2024 Mountainminds GmbH & Co. KG. All rights reserved.
    +</BODY>
    +</HTML>
    diff --git a/jacoco/trunk/doc/api/index.html b/jacoco/trunk/doc/api/index.html
    new file mode 100644
    index 00000000000..1c242f52ce0
    --- /dev/null
    +++ b/jacoco/trunk/doc/api/index.html
    @@ -0,0 +1,76 @@
    +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Frameset//EN" "http://www.w3.org/TR/html4/frameset.dtd">
    +<!--NewPage-->
    +<HTML>
    +<HEAD>
    +<!-- Generated by javadoc on Wed Mar 27 16:45:42 UTC 2024-->
    +<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
    +<TITLE>
    +JaCoCo 0.8.12.202403270442 API
    +</TITLE>
    +<SCRIPT type="text/javascript">
    +    targetPage = "" + window.location.search;
    +    if (targetPage != "" && targetPage != "undefined")
    +        targetPage = targetPage.substring(1);
    +    if (targetPage.indexOf(":") != -1)
    +        targetPage = "undefined";
    +    if (targetPage != "" && !validURL(targetPage))
    +        targetPage = "undefined";
    +    function validURL(url) {
    +        var pos = url.indexOf(".html");
    +        if (pos == -1 || pos != url.length - 5)
    +            return false;
    +        var allowNumber = false;
    +        var allowSep = false;
    +        var seenDot = false;
    +        for (var i = 0; i < url.length - 5; i++) {
    +            var ch = url.charAt(i);
    +            if ('a' <= ch && ch <= 'z' ||
    +                    'A' <= ch && ch <= 'Z' ||
    +                    ch == '$' ||
    +                    ch == '_') {
    +                allowNumber = true;
    +                allowSep = true;
    +            } else if ('0' <= ch && ch <= '9'
    +                    || ch == '-') {
    +                if (!allowNumber)
    +                     return false;
    +            } else if (ch == '/' || ch == '.') {
    +                if (!allowSep)
    +                    return false;
    +                allowNumber = false;
    +                allowSep = false;
    +                if (ch == '.')
    +                     seenDot = true;
    +                if (ch == '/' && seenDot)
    +                     return false;
    +            } else {
    +                return false;
    +            }
    +        }
    +        return true;
    +    }
    +    function loadFrames() {
    +        if (targetPage != "" && targetPage != "undefined")
    +             top.classFrame.location = top.targetPage;
    +    }
    +</SCRIPT>
    +<NOSCRIPT>
    +</NOSCRIPT>
    +</HEAD>
    +<FRAMESET cols="20%,80%" title="" onLoad="top.loadFrames()">
    +<FRAMESET rows="30%,70%" title="" onLoad="top.loadFrames()">
    +<FRAME src="overview-frame.html" name="packageListFrame" title="All Packages">
    +<FRAME src="allclasses-frame.html" name="packageFrame" title="All classes and interfaces (except non-static nested types)">
    +</FRAMESET>
    +<FRAME src="overview-summary.html" name="classFrame" title="Package, class and interface descriptions" scrolling="yes">
    +<NOFRAMES>
    +<H2>
    +Frame Alert</H2>
    +
    +<P>
    +This document is designed to be viewed using the frames feature. If you see this message, you are using a non-frame-capable web client.
    +<BR>
    +Link to<A HREF="overview-summary.html">Non-frame version.</A>
    +</NOFRAMES>
    +</FRAMESET>
    +</HTML>
    diff --git a/jacoco/trunk/doc/api/org/jacoco/agent/AgentJar.html b/jacoco/trunk/doc/api/org/jacoco/agent/AgentJar.html
    new file mode 100644
    index 00000000000..444ea005586
    --- /dev/null
    +++ b/jacoco/trunk/doc/api/org/jacoco/agent/AgentJar.html
    @@ -0,0 +1,300 @@
    +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
    +<!--NewPage-->
    +<HTML>
    +<HEAD>
    +<!-- Generated by javadoc (build 1.5.0_22) on Wed Mar 27 16:45:42 UTC 2024 -->
    +<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
    +<TITLE>
    +AgentJar (JaCoCo 0.8.12.202403270442 API)
    +</TITLE>
    +
    +<META NAME="keywords" CONTENT="org.jacoco.agent.AgentJar class">
    +
    +<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../stylesheet.css" TITLE="Style">
    +
    +<SCRIPT type="text/javascript">
    +function windowTitle()
    +{
    +    parent.document.title="AgentJar (JaCoCo 0.8.12.202403270442 API)";
    +}
    +</SCRIPT>
    +<NOSCRIPT>
    +</NOSCRIPT>
    +
    +</HEAD>
    +
    +<BODY BGCOLOR="white" onload="windowTitle();">
    +
    +
    +<!-- ========= START OF TOP NAVBAR ======= -->
    +<A NAME="navbar_top"><!-- --></A>
    +<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
    +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
    +<TR>
    +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
    +<A NAME="navbar_top_firstrow"><!-- --></A>
    +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
    +  <TR ALIGN="center" VALIGN="top">
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="class-use/AgentJar.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
    +  </TR>
    +</TABLE>
    +</TD>
    +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
    +</EM>
    +</TD>
    +</TR>
    +
    +<TR>
    +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
    +&nbsp;PREV CLASS&nbsp;
    +&nbsp;NEXT CLASS</FONT></TD>
    +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
    +  <A HREF="../../../index.html?org/jacoco/agent/AgentJar.html" target="_top"><B>FRAMES</B></A>  &nbsp;
    +&nbsp;<A HREF="AgentJar.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
    +&nbsp;<SCRIPT type="text/javascript">
    +  <!--
    +  if(window==top) {
    +    document.writeln('<A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>');
    +  }
    +  //-->
    +</SCRIPT>
    +<NOSCRIPT>
    +  <A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>
    +</NOSCRIPT>
    +
    +
    +</FONT></TD>
    +</TR>
    +<TR>
    +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
    +  SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;FIELD&nbsp;|&nbsp;CONSTR&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD>
    +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
    +DETAIL:&nbsp;FIELD&nbsp;|&nbsp;CONSTR&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD>
    +</TR>
    +</TABLE>
    +<A NAME="skip-navbar_top"></A>
    +<!-- ========= END OF TOP NAVBAR ========= -->
    +
    +<HR>
    +<!-- ======== START OF CLASS DATA ======== -->
    +<H2>
    +<FONT SIZE="-1">
    +org.jacoco.agent</FONT>
    +<BR>
    +Class AgentJar</H2>
    +<PRE>
    +<A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html" title="class or interface in java.lang">java.lang.Object</A>
    +  <IMG SRC="../../../resources/inherit.gif" ALT="extended by "><B>org.jacoco.agent.AgentJar</B>
    +</PRE>
    +<HR>
    +<DL>
    +<DT><PRE>public final class <B>AgentJar</B><DT>extends <A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html" title="class or interface in java.lang">Object</A></DL>
    +</PRE>
    +
    +<P>
    +API to access the agent JAR file as a resource. While the agent is a JAR file
    + it is considered as a plain resource that must be configured for the
    + application under test (target JVM). The agent JAR does not provide any
    + public Java API.
    +<P>
    +
    +<P>
    +<HR>
    +
    +<P>
    +
    +<!-- ========== METHOD SUMMARY =========== -->
    +
    +<A NAME="method_summary"><!-- --></A>
    +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
    +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
    +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
    +<B>Method Summary</B></FONT></TH>
    +</TR>
    +<TR BGCOLOR="white" CLASS="TableRowColor">
    +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
    +<CODE>static&nbsp;void</CODE></FONT></TD>
    +<TD><CODE><B><A HREF="../../../org/jacoco/agent/AgentJar.html#extractTo(java.io.File)">extractTo</A></B>(<A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/io/File.html" title="class or interface in java.io">File</A>&nbsp;destination)</CODE>
    +
    +<BR>
    +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Extract the JaCoCo agent JAR and put it into the specified location.</TD>
    +</TR>
    +<TR BGCOLOR="white" CLASS="TableRowColor">
    +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
    +<CODE>static&nbsp;<A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/io/File.html" title="class or interface in java.io">File</A></CODE></FONT></TD>
    +<TD><CODE><B><A HREF="../../../org/jacoco/agent/AgentJar.html#extractToTempLocation()">extractToTempLocation</A></B>()</CODE>
    +
    +<BR>
    +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Extract the JaCoCo agent JAR and put it into a temporary location.</TD>
    +</TR>
    +<TR BGCOLOR="white" CLASS="TableRowColor">
    +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
    +<CODE>static&nbsp;<A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/net/URL.html" title="class or interface in java.net">URL</A></CODE></FONT></TD>
    +<TD><CODE><B><A HREF="../../../org/jacoco/agent/AgentJar.html#getResource()">getResource</A></B>()</CODE>
    +
    +<BR>
    +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns a URL pointing to the JAR file.</TD>
    +</TR>
    +<TR BGCOLOR="white" CLASS="TableRowColor">
    +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
    +<CODE>static&nbsp;<A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/io/InputStream.html" title="class or interface in java.io">InputStream</A></CODE></FONT></TD>
    +<TD><CODE><B><A HREF="../../../org/jacoco/agent/AgentJar.html#getResourceAsStream()">getResourceAsStream</A></B>()</CODE>
    +
    +<BR>
    +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns the content of the JAR file as a stream.</TD>
    +</TR>
    +</TABLE>
    +&nbsp;<A NAME="methods_inherited_from_class_java.lang.Object"><!-- --></A>
    +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
    +<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
    +<TH ALIGN="left"><B>Methods inherited from class java.lang.<A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html" title="class or interface in java.lang">Object</A></B></TH>
    +</TR>
    +<TR BGCOLOR="white" CLASS="TableRowColor">
    +<TD><CODE><A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html#clone()" title="class or interface in java.lang">clone</A>, <A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html#equals(java.lang.Object)" title="class or interface in java.lang">equals</A>, <A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html#finalize()" title="class or interface in java.lang">finalize</A>, <A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html#getClass()" title="class or interface in java.lang">getClass</A>, <A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html#hashCode()" title="class or interface in java.lang">hashCode</A>, <A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html#notify()" title="class or interface in java.lang">notify</A>, <A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html#notifyAll()" title="class or interface in java.lang">notifyAll</A>, <A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html#toString()" title="class or interface in java.lang">toString</A>, <A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html#wait()" title="class or interface in java.lang">wait</A>, <A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html#wait(long)" title="class or interface in java.lang">wait</A>, <A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html#wait(long, int)" title="class or interface in java.lang">wait</A></CODE></TD>
    +</TR>
    +</TABLE>
    +&nbsp;
    +<P>
    +
    +<!-- ============ METHOD DETAIL ========== -->
    +
    +<A NAME="method_detail"><!-- --></A>
    +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
    +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
    +<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2">
    +<B>Method Detail</B></FONT></TH>
    +</TR>
    +</TABLE>
    +
    +<A NAME="getResource()"><!-- --></A><H3>
    +getResource</H3>
    +<PRE>
    +public static <A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/net/URL.html" title="class or interface in java.net">URL</A> <B>getResource</B>()</PRE>
    +<DL>
    +<DD>Returns a URL pointing to the JAR file.
    +<P>
    +<DD><DL>
    +
    +<DT><B>Returns:</B><DD>URL of the JAR file</DL>
    +</DD>
    +</DL>
    +<HR>
    +
    +<A NAME="getResourceAsStream()"><!-- --></A><H3>
    +getResourceAsStream</H3>
    +<PRE>
    +public static <A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/io/InputStream.html" title="class or interface in java.io">InputStream</A> <B>getResourceAsStream</B>()</PRE>
    +<DL>
    +<DD>Returns the content of the JAR file as a stream.
    +<P>
    +<DD><DL>
    +
    +<DT><B>Returns:</B><DD>content of the JAR file</DL>
    +</DD>
    +</DL>
    +<HR>
    +
    +<A NAME="extractToTempLocation()"><!-- --></A><H3>
    +extractToTempLocation</H3>
    +<PRE>
    +public static <A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/io/File.html" title="class or interface in java.io">File</A> <B>extractToTempLocation</B>()
    +                                  throws <A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/io/IOException.html" title="class or interface in java.io">IOException</A></PRE>
    +<DL>
    +<DD>Extract the JaCoCo agent JAR and put it into a temporary location. This
    + file should be deleted on exit, but may not if the VM is terminated
    +<P>
    +<DD><DL>
    +
    +<DT><B>Returns:</B><DD>Location of the Agent Jar file in the local file system. The file
    +         should exist and be readable.
    +<DT><B>Throws:</B>
    +<DD><CODE><A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/io/IOException.html" title="class or interface in java.io">IOException</A></CODE> - Unable to unpack agent jar</DL>
    +</DD>
    +</DL>
    +<HR>
    +
    +<A NAME="extractTo(java.io.File)"><!-- --></A><H3>
    +extractTo</H3>
    +<PRE>
    +public static void <B>extractTo</B>(<A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/io/File.html" title="class or interface in java.io">File</A>&nbsp;destination)
    +                      throws <A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/io/IOException.html" title="class or interface in java.io">IOException</A></PRE>
    +<DL>
    +<DD>Extract the JaCoCo agent JAR and put it into the specified location.
    +<P>
    +<DD><DL>
    +<DT><B>Parameters:</B><DD><CODE>destination</CODE> - Location to write JaCoCo Agent Jar to. Must be writeable
    +<DT><B>Throws:</B>
    +<DD><CODE><A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/io/IOException.html" title="class or interface in java.io">IOException</A></CODE> - Unable to unpack agent jar</DL>
    +</DD>
    +</DL>
    +<!-- ========= END OF CLASS DATA ========= -->
    +<HR>
    +
    +
    +<!-- ======= START OF BOTTOM NAVBAR ====== -->
    +<A NAME="navbar_bottom"><!-- --></A>
    +<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
    +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
    +<TR>
    +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
    +<A NAME="navbar_bottom_firstrow"><!-- --></A>
    +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
    +  <TR ALIGN="center" VALIGN="top">
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="class-use/AgentJar.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
    +  </TR>
    +</TABLE>
    +</TD>
    +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
    +</EM>
    +</TD>
    +</TR>
    +
    +<TR>
    +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
    +&nbsp;PREV CLASS&nbsp;
    +&nbsp;NEXT CLASS</FONT></TD>
    +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
    +  <A HREF="../../../index.html?org/jacoco/agent/AgentJar.html" target="_top"><B>FRAMES</B></A>  &nbsp;
    +&nbsp;<A HREF="AgentJar.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
    +&nbsp;<SCRIPT type="text/javascript">
    +  <!--
    +  if(window==top) {
    +    document.writeln('<A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>');
    +  }
    +  //-->
    +</SCRIPT>
    +<NOSCRIPT>
    +  <A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>
    +</NOSCRIPT>
    +
    +
    +</FONT></TD>
    +</TR>
    +<TR>
    +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
    +  SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;FIELD&nbsp;|&nbsp;CONSTR&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD>
    +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
    +DETAIL:&nbsp;FIELD&nbsp;|&nbsp;CONSTR&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD>
    +</TR>
    +</TABLE>
    +<A NAME="skip-navbar_bottom"></A>
    +<!-- ======== END OF BOTTOM NAVBAR ======= -->
    +
    +<HR>
    +Copyright &#169; 2009&#x2013;2024 Mountainminds GmbH & Co. KG. All rights reserved.
    +</BODY>
    +</HTML>
    diff --git a/jacoco/trunk/doc/api/org/jacoco/agent/class-use/AgentJar.html b/jacoco/trunk/doc/api/org/jacoco/agent/class-use/AgentJar.html
    new file mode 100644
    index 00000000000..01097778ca1
    --- /dev/null
    +++ b/jacoco/trunk/doc/api/org/jacoco/agent/class-use/AgentJar.html
    @@ -0,0 +1,141 @@
    +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
    +<!--NewPage-->
    +<HTML>
    +<HEAD>
    +<!-- Generated by javadoc (build 1.5.0_22) on Wed Mar 27 16:45:42 UTC 2024 -->
    +<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
    +<TITLE>
    +Uses of Class org.jacoco.agent.AgentJar (JaCoCo 0.8.12.202403270442 API)
    +</TITLE>
    +
    +
    +<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../stylesheet.css" TITLE="Style">
    +
    +<SCRIPT type="text/javascript">
    +function windowTitle()
    +{
    +    parent.document.title="Uses of Class org.jacoco.agent.AgentJar (JaCoCo 0.8.12.202403270442 API)";
    +}
    +</SCRIPT>
    +<NOSCRIPT>
    +</NOSCRIPT>
    +
    +</HEAD>
    +
    +<BODY BGCOLOR="white" onload="windowTitle();">
    +
    +
    +<!-- ========= START OF TOP NAVBAR ======= -->
    +<A NAME="navbar_top"><!-- --></A>
    +<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
    +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
    +<TR>
    +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
    +<A NAME="navbar_top_firstrow"><!-- --></A>
    +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
    +  <TR ALIGN="center" VALIGN="top">
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../org/jacoco/agent/AgentJar.html" title="class in org.jacoco.agent"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
    +  </TR>
    +</TABLE>
    +</TD>
    +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
    +</EM>
    +</TD>
    +</TR>
    +
    +<TR>
    +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
    +&nbsp;PREV&nbsp;
    +&nbsp;NEXT</FONT></TD>
    +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
    +  <A HREF="../../../../index.html?org/jacoco/agent/class-use/AgentJar.html" target="_top"><B>FRAMES</B></A>  &nbsp;
    +&nbsp;<A HREF="AgentJar.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
    +&nbsp;<SCRIPT type="text/javascript">
    +  <!--
    +  if(window==top) {
    +    document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>');
    +  }
    +  //-->
    +</SCRIPT>
    +<NOSCRIPT>
    +  <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>
    +</NOSCRIPT>
    +
    +
    +</FONT></TD>
    +</TR>
    +</TABLE>
    +<A NAME="skip-navbar_top"></A>
    +<!-- ========= END OF TOP NAVBAR ========= -->
    +
    +<HR>
    +<CENTER>
    +<H2>
    +<B>Uses of Class<br>org.jacoco.agent.AgentJar</B></H2>
    +</CENTER>
    +No usage of org.jacoco.agent.AgentJar
    +<P>
    +<HR>
    +
    +
    +<!-- ======= START OF BOTTOM NAVBAR ====== -->
    +<A NAME="navbar_bottom"><!-- --></A>
    +<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
    +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
    +<TR>
    +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
    +<A NAME="navbar_bottom_firstrow"><!-- --></A>
    +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
    +  <TR ALIGN="center" VALIGN="top">
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../org/jacoco/agent/AgentJar.html" title="class in org.jacoco.agent"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
    +  </TR>
    +</TABLE>
    +</TD>
    +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
    +</EM>
    +</TD>
    +</TR>
    +
    +<TR>
    +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
    +&nbsp;PREV&nbsp;
    +&nbsp;NEXT</FONT></TD>
    +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
    +  <A HREF="../../../../index.html?org/jacoco/agent/class-use/AgentJar.html" target="_top"><B>FRAMES</B></A>  &nbsp;
    +&nbsp;<A HREF="AgentJar.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
    +&nbsp;<SCRIPT type="text/javascript">
    +  <!--
    +  if(window==top) {
    +    document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>');
    +  }
    +  //-->
    +</SCRIPT>
    +<NOSCRIPT>
    +  <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>
    +</NOSCRIPT>
    +
    +
    +</FONT></TD>
    +</TR>
    +</TABLE>
    +<A NAME="skip-navbar_bottom"></A>
    +<!-- ======== END OF BOTTOM NAVBAR ======= -->
    +
    +<HR>
    +Copyright &#169; 2009&#x2013;2024 Mountainminds GmbH & Co. KG. All rights reserved.
    +</BODY>
    +</HTML>
    diff --git a/jacoco/trunk/doc/api/org/jacoco/agent/package-frame.html b/jacoco/trunk/doc/api/org/jacoco/agent/package-frame.html
    new file mode 100644
    index 00000000000..b712376bcdf
    --- /dev/null
    +++ b/jacoco/trunk/doc/api/org/jacoco/agent/package-frame.html
    @@ -0,0 +1,33 @@
    +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
    +<!--NewPage-->
    +<HTML>
    +<HEAD>
    +<!-- Generated by javadoc (build 1.5.0_22) on Wed Mar 27 16:45:42 UTC 2024 -->
    +<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
    +<TITLE>
    +org.jacoco.agent (JaCoCo 0.8.12.202403270442 API)
    +</TITLE>
    +
    +<META NAME="keywords" CONTENT="org.jacoco.agent package">
    +
    +<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../stylesheet.css" TITLE="Style">
    +
    +
    +</HEAD>
    +
    +<BODY BGCOLOR="white">
    +<FONT size="+1" CLASS="FrameTitleFont">
    +<A HREF="../../../org/jacoco/agent/package-summary.html" target="classFrame">org.jacoco.agent</A></FONT>
    +<TABLE BORDER="0" WIDTH="100%" SUMMARY="">
    +<TR>
    +<TD NOWRAP><FONT size="+1" CLASS="FrameHeadingFont">
    +Classes</FONT>&nbsp;
    +<FONT CLASS="FrameItemFont">
    +<BR>
    +<A HREF="AgentJar.html" title="class in org.jacoco.agent" target="classFrame">AgentJar</A></FONT></TD>
    +</TR>
    +</TABLE>
    +
    +
    +</BODY>
    +</HTML>
    diff --git a/jacoco/trunk/doc/api/org/jacoco/agent/package-summary.html b/jacoco/trunk/doc/api/org/jacoco/agent/package-summary.html
    new file mode 100644
    index 00000000000..c94b6b41434
    --- /dev/null
    +++ b/jacoco/trunk/doc/api/org/jacoco/agent/package-summary.html
    @@ -0,0 +1,170 @@
    +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
    +<!--NewPage-->
    +<HTML>
    +<HEAD>
    +<!-- Generated by javadoc (build 1.5.0_22) on Wed Mar 27 16:45:42 UTC 2024 -->
    +<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
    +<TITLE>
    +org.jacoco.agent (JaCoCo 0.8.12.202403270442 API)
    +</TITLE>
    +
    +<META NAME="keywords" CONTENT="org.jacoco.agent package">
    +
    +<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../stylesheet.css" TITLE="Style">
    +
    +<SCRIPT type="text/javascript">
    +function windowTitle()
    +{
    +    parent.document.title="org.jacoco.agent (JaCoCo 0.8.12.202403270442 API)";
    +}
    +</SCRIPT>
    +<NOSCRIPT>
    +</NOSCRIPT>
    +
    +</HEAD>
    +
    +<BODY BGCOLOR="white" onload="windowTitle();">
    +
    +
    +<!-- ========= START OF TOP NAVBAR ======= -->
    +<A NAME="navbar_top"><!-- --></A>
    +<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
    +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
    +<TR>
    +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
    +<A NAME="navbar_top_firstrow"><!-- --></A>
    +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
    +  <TR ALIGN="center" VALIGN="top">
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Package</B></FONT>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <FONT CLASS="NavBarFont1">Class</FONT>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-use.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
    +  </TR>
    +</TABLE>
    +</TD>
    +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
    +</EM>
    +</TD>
    +</TR>
    +
    +<TR>
    +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
    +&nbsp;<A HREF="../../../com/vladium/emma/rt/package-summary.html"><B>PREV PACKAGE</B></A>&nbsp;
    +&nbsp;<A HREF="../../../org/jacoco/agent/rt/package-summary.html"><B>NEXT PACKAGE</B></A></FONT></TD>
    +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
    +  <A HREF="../../../index.html?org/jacoco/agent/package-summary.html" target="_top"><B>FRAMES</B></A>  &nbsp;
    +&nbsp;<A HREF="package-summary.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
    +&nbsp;<SCRIPT type="text/javascript">
    +  <!--
    +  if(window==top) {
    +    document.writeln('<A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>');
    +  }
    +  //-->
    +</SCRIPT>
    +<NOSCRIPT>
    +  <A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>
    +</NOSCRIPT>
    +
    +
    +</FONT></TD>
    +</TR>
    +</TABLE>
    +<A NAME="skip-navbar_top"></A>
    +<!-- ========= END OF TOP NAVBAR ========= -->
    +
    +<HR>
    +<H2>
    +Package org.jacoco.agent
    +</H2>
    +Provides the runtime Java agent (JAR file) as a resource.
    +<P>
    +<B>See:</B>
    +<BR>
    +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<A HREF="#package_description"><B>Description</B></A>
    +<P>
    +
    +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
    +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
    +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
    +<B>Class Summary</B></FONT></TH>
    +</TR>
    +<TR BGCOLOR="white" CLASS="TableRowColor">
    +<TD WIDTH="15%"><B><A HREF="../../../org/jacoco/agent/AgentJar.html" title="class in org.jacoco.agent">AgentJar</A></B></TD>
    +<TD>API to access the agent JAR file as a resource.</TD>
    +</TR>
    +</TABLE>
    +&nbsp;
    +
    +<P>
    +<A NAME="package_description"><!-- --></A><H2>
    +Package org.jacoco.agent Description
    +</H2>
    +
    +<P>
    +Provides the runtime Java agent (JAR file) as a resource.
    +<P>
    +
    +<P>
    +<DL>
    +</DL>
    +<HR>
    +
    +
    +<!-- ======= START OF BOTTOM NAVBAR ====== -->
    +<A NAME="navbar_bottom"><!-- --></A>
    +<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
    +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
    +<TR>
    +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
    +<A NAME="navbar_bottom_firstrow"><!-- --></A>
    +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
    +  <TR ALIGN="center" VALIGN="top">
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Package</B></FONT>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <FONT CLASS="NavBarFont1">Class</FONT>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-use.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
    +  </TR>
    +</TABLE>
    +</TD>
    +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
    +</EM>
    +</TD>
    +</TR>
    +
    +<TR>
    +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
    +&nbsp;<A HREF="../../../com/vladium/emma/rt/package-summary.html"><B>PREV PACKAGE</B></A>&nbsp;
    +&nbsp;<A HREF="../../../org/jacoco/agent/rt/package-summary.html"><B>NEXT PACKAGE</B></A></FONT></TD>
    +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
    +  <A HREF="../../../index.html?org/jacoco/agent/package-summary.html" target="_top"><B>FRAMES</B></A>  &nbsp;
    +&nbsp;<A HREF="package-summary.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
    +&nbsp;<SCRIPT type="text/javascript">
    +  <!--
    +  if(window==top) {
    +    document.writeln('<A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>');
    +  }
    +  //-->
    +</SCRIPT>
    +<NOSCRIPT>
    +  <A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>
    +</NOSCRIPT>
    +
    +
    +</FONT></TD>
    +</TR>
    +</TABLE>
    +<A NAME="skip-navbar_bottom"></A>
    +<!-- ======== END OF BOTTOM NAVBAR ======= -->
    +
    +<HR>
    +Copyright &#169; 2009&#x2013;2024 Mountainminds GmbH & Co. KG. All rights reserved.
    +</BODY>
    +</HTML>
    diff --git a/jacoco/trunk/doc/api/org/jacoco/agent/package-tree.html b/jacoco/trunk/doc/api/org/jacoco/agent/package-tree.html
    new file mode 100644
    index 00000000000..cfa4f734a80
    --- /dev/null
    +++ b/jacoco/trunk/doc/api/org/jacoco/agent/package-tree.html
    @@ -0,0 +1,150 @@
    +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
    +<!--NewPage-->
    +<HTML>
    +<HEAD>
    +<!-- Generated by javadoc (build 1.5.0_22) on Wed Mar 27 16:45:42 UTC 2024 -->
    +<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
    +<TITLE>
    +org.jacoco.agent Class Hierarchy (JaCoCo 0.8.12.202403270442 API)
    +</TITLE>
    +
    +
    +<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../stylesheet.css" TITLE="Style">
    +
    +<SCRIPT type="text/javascript">
    +function windowTitle()
    +{
    +    parent.document.title="org.jacoco.agent Class Hierarchy (JaCoCo 0.8.12.202403270442 API)";
    +}
    +</SCRIPT>
    +<NOSCRIPT>
    +</NOSCRIPT>
    +
    +</HEAD>
    +
    +<BODY BGCOLOR="white" onload="windowTitle();">
    +
    +
    +<!-- ========= START OF TOP NAVBAR ======= -->
    +<A NAME="navbar_top"><!-- --></A>
    +<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
    +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
    +<TR>
    +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
    +<A NAME="navbar_top_firstrow"><!-- --></A>
    +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
    +  <TR ALIGN="center" VALIGN="top">
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <FONT CLASS="NavBarFont1">Class</FONT>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <FONT CLASS="NavBarFont1">Use</FONT>&nbsp;</TD>
    +  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Tree</B></FONT>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
    +  </TR>
    +</TABLE>
    +</TD>
    +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
    +</EM>
    +</TD>
    +</TR>
    +
    +<TR>
    +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
    +&nbsp;<A HREF="../../../com/vladium/emma/rt/package-tree.html"><B>PREV</B></A>&nbsp;
    +&nbsp;<A HREF="../../../org/jacoco/agent/rt/package-tree.html"><B>NEXT</B></A></FONT></TD>
    +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
    +  <A HREF="../../../index.html?org/jacoco/agent/package-tree.html" target="_top"><B>FRAMES</B></A>  &nbsp;
    +&nbsp;<A HREF="package-tree.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
    +&nbsp;<SCRIPT type="text/javascript">
    +  <!--
    +  if(window==top) {
    +    document.writeln('<A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>');
    +  }
    +  //-->
    +</SCRIPT>
    +<NOSCRIPT>
    +  <A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>
    +</NOSCRIPT>
    +
    +
    +</FONT></TD>
    +</TR>
    +</TABLE>
    +<A NAME="skip-navbar_top"></A>
    +<!-- ========= END OF TOP NAVBAR ========= -->
    +
    +<HR>
    +<CENTER>
    +<H2>
    +Hierarchy For Package org.jacoco.agent
    +</H2>
    +</CENTER>
    +<DL>
    +<DT><B>Package Hierarchies:</B><DD><A HREF="../../../overview-tree.html">All Packages</A></DL>
    +<HR>
    +<H2>
    +Class Hierarchy
    +</H2>
    +<UL>
    +<LI TYPE="circle">java.lang.<A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html" title="class or interface in java.lang"><B>Object</B></A><UL>
    +<LI TYPE="circle">org.jacoco.agent.<A HREF="../../../org/jacoco/agent/AgentJar.html" title="class in org.jacoco.agent"><B>AgentJar</B></A></UL>
    +</UL>
    +<HR>
    +
    +
    +<!-- ======= START OF BOTTOM NAVBAR ====== -->
    +<A NAME="navbar_bottom"><!-- --></A>
    +<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
    +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
    +<TR>
    +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
    +<A NAME="navbar_bottom_firstrow"><!-- --></A>
    +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
    +  <TR ALIGN="center" VALIGN="top">
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <FONT CLASS="NavBarFont1">Class</FONT>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <FONT CLASS="NavBarFont1">Use</FONT>&nbsp;</TD>
    +  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Tree</B></FONT>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
    +  </TR>
    +</TABLE>
    +</TD>
    +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
    +</EM>
    +</TD>
    +</TR>
    +
    +<TR>
    +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
    +&nbsp;<A HREF="../../../com/vladium/emma/rt/package-tree.html"><B>PREV</B></A>&nbsp;
    +&nbsp;<A HREF="../../../org/jacoco/agent/rt/package-tree.html"><B>NEXT</B></A></FONT></TD>
    +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
    +  <A HREF="../../../index.html?org/jacoco/agent/package-tree.html" target="_top"><B>FRAMES</B></A>  &nbsp;
    +&nbsp;<A HREF="package-tree.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
    +&nbsp;<SCRIPT type="text/javascript">
    +  <!--
    +  if(window==top) {
    +    document.writeln('<A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>');
    +  }
    +  //-->
    +</SCRIPT>
    +<NOSCRIPT>
    +  <A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>
    +</NOSCRIPT>
    +
    +
    +</FONT></TD>
    +</TR>
    +</TABLE>
    +<A NAME="skip-navbar_bottom"></A>
    +<!-- ======== END OF BOTTOM NAVBAR ======= -->
    +
    +<HR>
    +Copyright &#169; 2009&#x2013;2024 Mountainminds GmbH & Co. KG. All rights reserved.
    +</BODY>
    +</HTML>
    diff --git a/jacoco/trunk/doc/api/org/jacoco/agent/package-use.html b/jacoco/trunk/doc/api/org/jacoco/agent/package-use.html
    new file mode 100644
    index 00000000000..a3099dd2a13
    --- /dev/null
    +++ b/jacoco/trunk/doc/api/org/jacoco/agent/package-use.html
    @@ -0,0 +1,141 @@
    +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
    +<!--NewPage-->
    +<HTML>
    +<HEAD>
    +<!-- Generated by javadoc (build 1.5.0_22) on Wed Mar 27 16:45:42 UTC 2024 -->
    +<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
    +<TITLE>
    +Uses of Package org.jacoco.agent (JaCoCo 0.8.12.202403270442 API)
    +</TITLE>
    +
    +
    +<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../stylesheet.css" TITLE="Style">
    +
    +<SCRIPT type="text/javascript">
    +function windowTitle()
    +{
    +    parent.document.title="Uses of Package org.jacoco.agent (JaCoCo 0.8.12.202403270442 API)";
    +}
    +</SCRIPT>
    +<NOSCRIPT>
    +</NOSCRIPT>
    +
    +</HEAD>
    +
    +<BODY BGCOLOR="white" onload="windowTitle();">
    +
    +
    +<!-- ========= START OF TOP NAVBAR ======= -->
    +<A NAME="navbar_top"><!-- --></A>
    +<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
    +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
    +<TR>
    +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
    +<A NAME="navbar_top_firstrow"><!-- --></A>
    +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
    +  <TR ALIGN="center" VALIGN="top">
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <FONT CLASS="NavBarFont1">Class</FONT>&nbsp;</TD>
    +  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
    +  </TR>
    +</TABLE>
    +</TD>
    +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
    +</EM>
    +</TD>
    +</TR>
    +
    +<TR>
    +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
    +&nbsp;PREV&nbsp;
    +&nbsp;NEXT</FONT></TD>
    +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
    +  <A HREF="../../../index.html?org/jacoco/agent/package-use.html" target="_top"><B>FRAMES</B></A>  &nbsp;
    +&nbsp;<A HREF="package-use.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
    +&nbsp;<SCRIPT type="text/javascript">
    +  <!--
    +  if(window==top) {
    +    document.writeln('<A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>');
    +  }
    +  //-->
    +</SCRIPT>
    +<NOSCRIPT>
    +  <A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>
    +</NOSCRIPT>
    +
    +
    +</FONT></TD>
    +</TR>
    +</TABLE>
    +<A NAME="skip-navbar_top"></A>
    +<!-- ========= END OF TOP NAVBAR ========= -->
    +
    +<HR>
    +<CENTER>
    +<H2>
    +<B>Uses of Package<br>org.jacoco.agent</B></H2>
    +</CENTER>
    +No usage of org.jacoco.agent
    +<P>
    +<HR>
    +
    +
    +<!-- ======= START OF BOTTOM NAVBAR ====== -->
    +<A NAME="navbar_bottom"><!-- --></A>
    +<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
    +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
    +<TR>
    +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
    +<A NAME="navbar_bottom_firstrow"><!-- --></A>
    +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
    +  <TR ALIGN="center" VALIGN="top">
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <FONT CLASS="NavBarFont1">Class</FONT>&nbsp;</TD>
    +  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
    +  </TR>
    +</TABLE>
    +</TD>
    +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
    +</EM>
    +</TD>
    +</TR>
    +
    +<TR>
    +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
    +&nbsp;PREV&nbsp;
    +&nbsp;NEXT</FONT></TD>
    +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
    +  <A HREF="../../../index.html?org/jacoco/agent/package-use.html" target="_top"><B>FRAMES</B></A>  &nbsp;
    +&nbsp;<A HREF="package-use.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
    +&nbsp;<SCRIPT type="text/javascript">
    +  <!--
    +  if(window==top) {
    +    document.writeln('<A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>');
    +  }
    +  //-->
    +</SCRIPT>
    +<NOSCRIPT>
    +  <A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>
    +</NOSCRIPT>
    +
    +
    +</FONT></TD>
    +</TR>
    +</TABLE>
    +<A NAME="skip-navbar_bottom"></A>
    +<!-- ======== END OF BOTTOM NAVBAR ======= -->
    +
    +<HR>
    +Copyright &#169; 2009&#x2013;2024 Mountainminds GmbH & Co. KG. All rights reserved.
    +</BODY>
    +</HTML>
    diff --git a/jacoco/trunk/doc/api/org/jacoco/agent/rt/IAgent.html b/jacoco/trunk/doc/api/org/jacoco/agent/rt/IAgent.html
    new file mode 100644
    index 00000000000..ae47d8186f3
    --- /dev/null
    +++ b/jacoco/trunk/doc/api/org/jacoco/agent/rt/IAgent.html
    @@ -0,0 +1,325 @@
    +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
    +<!--NewPage-->
    +<HTML>
    +<HEAD>
    +<!-- Generated by javadoc (build 1.5.0_22) on Wed Mar 27 16:45:42 UTC 2024 -->
    +<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
    +<TITLE>
    +IAgent (JaCoCo 0.8.12.202403270442 API)
    +</TITLE>
    +
    +<META NAME="keywords" CONTENT="org.jacoco.agent.rt.IAgent interface">
    +
    +<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../stylesheet.css" TITLE="Style">
    +
    +<SCRIPT type="text/javascript">
    +function windowTitle()
    +{
    +    parent.document.title="IAgent (JaCoCo 0.8.12.202403270442 API)";
    +}
    +</SCRIPT>
    +<NOSCRIPT>
    +</NOSCRIPT>
    +
    +</HEAD>
    +
    +<BODY BGCOLOR="white" onload="windowTitle();">
    +
    +
    +<!-- ========= START OF TOP NAVBAR ======= -->
    +<A NAME="navbar_top"><!-- --></A>
    +<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
    +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
    +<TR>
    +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
    +<A NAME="navbar_top_firstrow"><!-- --></A>
    +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
    +  <TR ALIGN="center" VALIGN="top">
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="class-use/IAgent.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
    +  </TR>
    +</TABLE>
    +</TD>
    +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
    +</EM>
    +</TD>
    +</TR>
    +
    +<TR>
    +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
    +&nbsp;PREV CLASS&nbsp;
    +&nbsp;<A HREF="../../../../org/jacoco/agent/rt/RT.html" title="class in org.jacoco.agent.rt"><B>NEXT CLASS</B></A></FONT></TD>
    +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
    +  <A HREF="../../../../index.html?org/jacoco/agent/rt/IAgent.html" target="_top"><B>FRAMES</B></A>  &nbsp;
    +&nbsp;<A HREF="IAgent.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
    +&nbsp;<SCRIPT type="text/javascript">
    +  <!--
    +  if(window==top) {
    +    document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>');
    +  }
    +  //-->
    +</SCRIPT>
    +<NOSCRIPT>
    +  <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>
    +</NOSCRIPT>
    +
    +
    +</FONT></TD>
    +</TR>
    +<TR>
    +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
    +  SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;FIELD&nbsp;|&nbsp;CONSTR&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD>
    +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
    +DETAIL:&nbsp;FIELD&nbsp;|&nbsp;CONSTR&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD>
    +</TR>
    +</TABLE>
    +<A NAME="skip-navbar_top"></A>
    +<!-- ========= END OF TOP NAVBAR ========= -->
    +
    +<HR>
    +<!-- ======== START OF CLASS DATA ======== -->
    +<H2>
    +<FONT SIZE="-1">
    +org.jacoco.agent.rt</FONT>
    +<BR>
    +Interface IAgent</H2>
    +<HR>
    +<DL>
    +<DT><PRE>public interface <B>IAgent</B></DL>
    +</PRE>
    +
    +<P>
    +Runtime API and MBean agent interface.
    +<P>
    +
    +<P>
    +<HR>
    +
    +<P>
    +
    +<!-- ========== METHOD SUMMARY =========== -->
    +
    +<A NAME="method_summary"><!-- --></A>
    +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
    +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
    +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
    +<B>Method Summary</B></FONT></TH>
    +</TR>
    +<TR BGCOLOR="white" CLASS="TableRowColor">
    +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
    +<CODE>&nbsp;void</CODE></FONT></TD>
    +<TD><CODE><B><A HREF="../../../../org/jacoco/agent/rt/IAgent.html#dump(boolean)">dump</A></B>(boolean&nbsp;reset)</CODE>
    +
    +<BR>
    +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Triggers a dump of the current execution data through the configured
    + output.</TD>
    +</TR>
    +<TR BGCOLOR="white" CLASS="TableRowColor">
    +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
    +<CODE>&nbsp;byte[]</CODE></FONT></TD>
    +<TD><CODE><B><A HREF="../../../../org/jacoco/agent/rt/IAgent.html#getExecutionData(boolean)">getExecutionData</A></B>(boolean&nbsp;reset)</CODE>
    +
    +<BR>
    +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns current execution data.</TD>
    +</TR>
    +<TR BGCOLOR="white" CLASS="TableRowColor">
    +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
    +<CODE>&nbsp;<A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A></CODE></FONT></TD>
    +<TD><CODE><B><A HREF="../../../../org/jacoco/agent/rt/IAgent.html#getSessionId()">getSessionId</A></B>()</CODE>
    +
    +<BR>
    +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns current a session identifier.</TD>
    +</TR>
    +<TR BGCOLOR="white" CLASS="TableRowColor">
    +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
    +<CODE>&nbsp;<A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A></CODE></FONT></TD>
    +<TD><CODE><B><A HREF="../../../../org/jacoco/agent/rt/IAgent.html#getVersion()">getVersion</A></B>()</CODE>
    +
    +<BR>
    +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns version of JaCoCo.</TD>
    +</TR>
    +<TR BGCOLOR="white" CLASS="TableRowColor">
    +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
    +<CODE>&nbsp;void</CODE></FONT></TD>
    +<TD><CODE><B><A HREF="../../../../org/jacoco/agent/rt/IAgent.html#reset()">reset</A></B>()</CODE>
    +
    +<BR>
    +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Resets all coverage information.</TD>
    +</TR>
    +<TR BGCOLOR="white" CLASS="TableRowColor">
    +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
    +<CODE>&nbsp;void</CODE></FONT></TD>
    +<TD><CODE><B><A HREF="../../../../org/jacoco/agent/rt/IAgent.html#setSessionId(java.lang.String)">setSessionId</A></B>(<A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A>&nbsp;id)</CODE>
    +
    +<BR>
    +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Sets a session identifier.</TD>
    +</TR>
    +</TABLE>
    +&nbsp;
    +<P>
    +
    +<!-- ============ METHOD DETAIL ========== -->
    +
    +<A NAME="method_detail"><!-- --></A>
    +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
    +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
    +<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2">
    +<B>Method Detail</B></FONT></TH>
    +</TR>
    +</TABLE>
    +
    +<A NAME="getVersion()"><!-- --></A><H3>
    +getVersion</H3>
    +<PRE>
    +<A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> <B>getVersion</B>()</PRE>
    +<DL>
    +<DD>Returns version of JaCoCo.
    +<P>
    +<DD><DL>
    +
    +<DT><B>Returns:</B><DD>version of JaCoCo</DL>
    +</DD>
    +</DL>
    +<HR>
    +
    +<A NAME="getSessionId()"><!-- --></A><H3>
    +getSessionId</H3>
    +<PRE>
    +<A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> <B>getSessionId</B>()</PRE>
    +<DL>
    +<DD>Returns current a session identifier.
    +<P>
    +<DD><DL>
    +
    +<DT><B>Returns:</B><DD>current session identifier</DL>
    +</DD>
    +</DL>
    +<HR>
    +
    +<A NAME="setSessionId(java.lang.String)"><!-- --></A><H3>
    +setSessionId</H3>
    +<PRE>
    +void <B>setSessionId</B>(<A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A>&nbsp;id)</PRE>
    +<DL>
    +<DD>Sets a session identifier.
    +<P>
    +<DD><DL>
    +<DT><B>Parameters:</B><DD><CODE>id</CODE> - new session identifier</DL>
    +</DD>
    +</DL>
    +<HR>
    +
    +<A NAME="reset()"><!-- --></A><H3>
    +reset</H3>
    +<PRE>
    +void <B>reset</B>()</PRE>
    +<DL>
    +<DD>Resets all coverage information.
    +<P>
    +<DD><DL>
    +</DL>
    +</DD>
    +</DL>
    +<HR>
    +
    +<A NAME="getExecutionData(boolean)"><!-- --></A><H3>
    +getExecutionData</H3>
    +<PRE>
    +byte[] <B>getExecutionData</B>(boolean&nbsp;reset)</PRE>
    +<DL>
    +<DD>Returns current execution data.
    +<P>
    +<DD><DL>
    +<DT><B>Parameters:</B><DD><CODE>reset</CODE> - if <code>true</code> the current execution data is cleared
    +            afterwards
    +<DT><B>Returns:</B><DD>dump of current execution data in JaCoCo binary format</DL>
    +</DD>
    +</DL>
    +<HR>
    +
    +<A NAME="dump(boolean)"><!-- --></A><H3>
    +dump</H3>
    +<PRE>
    +void <B>dump</B>(boolean&nbsp;reset)
    +          throws <A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/io/IOException.html" title="class or interface in java.io">IOException</A></PRE>
    +<DL>
    +<DD>Triggers a dump of the current execution data through the configured
    + output.
    +<P>
    +<DD><DL>
    +<DT><B>Parameters:</B><DD><CODE>reset</CODE> - if <code>true</code> the current execution data is cleared
    +            afterwards
    +<DT><B>Throws:</B>
    +<DD><CODE><A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/io/IOException.html" title="class or interface in java.io">IOException</A></CODE> - if the output can't write execution data</DL>
    +</DD>
    +</DL>
    +<!-- ========= END OF CLASS DATA ========= -->
    +<HR>
    +
    +
    +<!-- ======= START OF BOTTOM NAVBAR ====== -->
    +<A NAME="navbar_bottom"><!-- --></A>
    +<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
    +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
    +<TR>
    +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
    +<A NAME="navbar_bottom_firstrow"><!-- --></A>
    +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
    +  <TR ALIGN="center" VALIGN="top">
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="class-use/IAgent.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
    +  </TR>
    +</TABLE>
    +</TD>
    +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
    +</EM>
    +</TD>
    +</TR>
    +
    +<TR>
    +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
    +&nbsp;PREV CLASS&nbsp;
    +&nbsp;<A HREF="../../../../org/jacoco/agent/rt/RT.html" title="class in org.jacoco.agent.rt"><B>NEXT CLASS</B></A></FONT></TD>
    +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
    +  <A HREF="../../../../index.html?org/jacoco/agent/rt/IAgent.html" target="_top"><B>FRAMES</B></A>  &nbsp;
    +&nbsp;<A HREF="IAgent.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
    +&nbsp;<SCRIPT type="text/javascript">
    +  <!--
    +  if(window==top) {
    +    document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>');
    +  }
    +  //-->
    +</SCRIPT>
    +<NOSCRIPT>
    +  <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>
    +</NOSCRIPT>
    +
    +
    +</FONT></TD>
    +</TR>
    +<TR>
    +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
    +  SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;FIELD&nbsp;|&nbsp;CONSTR&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD>
    +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
    +DETAIL:&nbsp;FIELD&nbsp;|&nbsp;CONSTR&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD>
    +</TR>
    +</TABLE>
    +<A NAME="skip-navbar_bottom"></A>
    +<!-- ======== END OF BOTTOM NAVBAR ======= -->
    +
    +<HR>
    +Copyright &#169; 2009&#x2013;2024 Mountainminds GmbH & Co. KG. All rights reserved.
    +</BODY>
    +</HTML>
    diff --git a/jacoco/trunk/doc/api/org/jacoco/agent/rt/RT.html b/jacoco/trunk/doc/api/org/jacoco/agent/rt/RT.html
    new file mode 100644
    index 00000000000..022ab54653a
    --- /dev/null
    +++ b/jacoco/trunk/doc/api/org/jacoco/agent/rt/RT.html
    @@ -0,0 +1,227 @@
    +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
    +<!--NewPage-->
    +<HTML>
    +<HEAD>
    +<!-- Generated by javadoc (build 1.5.0_22) on Wed Mar 27 16:45:42 UTC 2024 -->
    +<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
    +<TITLE>
    +RT (JaCoCo 0.8.12.202403270442 API)
    +</TITLE>
    +
    +<META NAME="keywords" CONTENT="org.jacoco.agent.rt.RT class">
    +
    +<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../stylesheet.css" TITLE="Style">
    +
    +<SCRIPT type="text/javascript">
    +function windowTitle()
    +{
    +    parent.document.title="RT (JaCoCo 0.8.12.202403270442 API)";
    +}
    +</SCRIPT>
    +<NOSCRIPT>
    +</NOSCRIPT>
    +
    +</HEAD>
    +
    +<BODY BGCOLOR="white" onload="windowTitle();">
    +
    +
    +<!-- ========= START OF TOP NAVBAR ======= -->
    +<A NAME="navbar_top"><!-- --></A>
    +<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
    +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
    +<TR>
    +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
    +<A NAME="navbar_top_firstrow"><!-- --></A>
    +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
    +  <TR ALIGN="center" VALIGN="top">
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="class-use/RT.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
    +  </TR>
    +</TABLE>
    +</TD>
    +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
    +</EM>
    +</TD>
    +</TR>
    +
    +<TR>
    +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
    +&nbsp;<A HREF="../../../../org/jacoco/agent/rt/IAgent.html" title="interface in org.jacoco.agent.rt"><B>PREV CLASS</B></A>&nbsp;
    +&nbsp;NEXT CLASS</FONT></TD>
    +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
    +  <A HREF="../../../../index.html?org/jacoco/agent/rt/RT.html" target="_top"><B>FRAMES</B></A>  &nbsp;
    +&nbsp;<A HREF="RT.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
    +&nbsp;<SCRIPT type="text/javascript">
    +  <!--
    +  if(window==top) {
    +    document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>');
    +  }
    +  //-->
    +</SCRIPT>
    +<NOSCRIPT>
    +  <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>
    +</NOSCRIPT>
    +
    +
    +</FONT></TD>
    +</TR>
    +<TR>
    +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
    +  SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;FIELD&nbsp;|&nbsp;CONSTR&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD>
    +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
    +DETAIL:&nbsp;FIELD&nbsp;|&nbsp;CONSTR&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD>
    +</TR>
    +</TABLE>
    +<A NAME="skip-navbar_top"></A>
    +<!-- ========= END OF TOP NAVBAR ========= -->
    +
    +<HR>
    +<!-- ======== START OF CLASS DATA ======== -->
    +<H2>
    +<FONT SIZE="-1">
    +org.jacoco.agent.rt</FONT>
    +<BR>
    +Class RT</H2>
    +<PRE>
    +<A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html" title="class or interface in java.lang">java.lang.Object</A>
    +  <IMG SRC="../../../../resources/inherit.gif" ALT="extended by "><B>org.jacoco.agent.rt.RT</B>
    +</PRE>
    +<HR>
    +<DL>
    +<DT><PRE>public final class <B>RT</B><DT>extends <A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html" title="class or interface in java.lang">Object</A></DL>
    +</PRE>
    +
    +<P>
    +Entry point to access the JaCoCo agent runtime.
    +<P>
    +
    +<P>
    +<HR>
    +
    +<P>
    +
    +<!-- ========== METHOD SUMMARY =========== -->
    +
    +<A NAME="method_summary"><!-- --></A>
    +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
    +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
    +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
    +<B>Method Summary</B></FONT></TH>
    +</TR>
    +<TR BGCOLOR="white" CLASS="TableRowColor">
    +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
    +<CODE>static&nbsp;<A HREF="../../../../org/jacoco/agent/rt/IAgent.html" title="interface in org.jacoco.agent.rt">IAgent</A></CODE></FONT></TD>
    +<TD><CODE><B><A HREF="../../../../org/jacoco/agent/rt/RT.html#getAgent()">getAgent</A></B>()</CODE>
    +
    +<BR>
    +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns the agent instance of the JaCoCo runtime in this JVM.</TD>
    +</TR>
    +</TABLE>
    +&nbsp;<A NAME="methods_inherited_from_class_java.lang.Object"><!-- --></A>
    +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
    +<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
    +<TH ALIGN="left"><B>Methods inherited from class java.lang.<A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html" title="class or interface in java.lang">Object</A></B></TH>
    +</TR>
    +<TR BGCOLOR="white" CLASS="TableRowColor">
    +<TD><CODE><A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html#clone()" title="class or interface in java.lang">clone</A>, <A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html#equals(java.lang.Object)" title="class or interface in java.lang">equals</A>, <A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html#finalize()" title="class or interface in java.lang">finalize</A>, <A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html#getClass()" title="class or interface in java.lang">getClass</A>, <A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html#hashCode()" title="class or interface in java.lang">hashCode</A>, <A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html#notify()" title="class or interface in java.lang">notify</A>, <A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html#notifyAll()" title="class or interface in java.lang">notifyAll</A>, <A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html#toString()" title="class or interface in java.lang">toString</A>, <A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html#wait()" title="class or interface in java.lang">wait</A>, <A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html#wait(long)" title="class or interface in java.lang">wait</A>, <A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html#wait(long, int)" title="class or interface in java.lang">wait</A></CODE></TD>
    +</TR>
    +</TABLE>
    +&nbsp;
    +<P>
    +
    +<!-- ============ METHOD DETAIL ========== -->
    +
    +<A NAME="method_detail"><!-- --></A>
    +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
    +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
    +<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2">
    +<B>Method Detail</B></FONT></TH>
    +</TR>
    +</TABLE>
    +
    +<A NAME="getAgent()"><!-- --></A><H3>
    +getAgent</H3>
    +<PRE>
    +public static <A HREF="../../../../org/jacoco/agent/rt/IAgent.html" title="interface in org.jacoco.agent.rt">IAgent</A> <B>getAgent</B>()
    +                       throws <A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/IllegalStateException.html" title="class or interface in java.lang">IllegalStateException</A></PRE>
    +<DL>
    +<DD>Returns the agent instance of the JaCoCo runtime in this JVM.
    +<P>
    +<DD><DL>
    +
    +<DT><B>Returns:</B><DD>agent instance
    +<DT><B>Throws:</B>
    +<DD><CODE><A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/IllegalStateException.html" title="class or interface in java.lang">IllegalStateException</A></CODE> - if no Agent has been started yet</DL>
    +</DD>
    +</DL>
    +<!-- ========= END OF CLASS DATA ========= -->
    +<HR>
    +
    +
    +<!-- ======= START OF BOTTOM NAVBAR ====== -->
    +<A NAME="navbar_bottom"><!-- --></A>
    +<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
    +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
    +<TR>
    +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
    +<A NAME="navbar_bottom_firstrow"><!-- --></A>
    +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
    +  <TR ALIGN="center" VALIGN="top">
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="class-use/RT.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
    +  </TR>
    +</TABLE>
    +</TD>
    +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
    +</EM>
    +</TD>
    +</TR>
    +
    +<TR>
    +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
    +&nbsp;<A HREF="../../../../org/jacoco/agent/rt/IAgent.html" title="interface in org.jacoco.agent.rt"><B>PREV CLASS</B></A>&nbsp;
    +&nbsp;NEXT CLASS</FONT></TD>
    +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
    +  <A HREF="../../../../index.html?org/jacoco/agent/rt/RT.html" target="_top"><B>FRAMES</B></A>  &nbsp;
    +&nbsp;<A HREF="RT.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
    +&nbsp;<SCRIPT type="text/javascript">
    +  <!--
    +  if(window==top) {
    +    document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>');
    +  }
    +  //-->
    +</SCRIPT>
    +<NOSCRIPT>
    +  <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>
    +</NOSCRIPT>
    +
    +
    +</FONT></TD>
    +</TR>
    +<TR>
    +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
    +  SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;FIELD&nbsp;|&nbsp;CONSTR&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD>
    +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
    +DETAIL:&nbsp;FIELD&nbsp;|&nbsp;CONSTR&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD>
    +</TR>
    +</TABLE>
    +<A NAME="skip-navbar_bottom"></A>
    +<!-- ======== END OF BOTTOM NAVBAR ======= -->
    +
    +<HR>
    +Copyright &#169; 2009&#x2013;2024 Mountainminds GmbH & Co. KG. All rights reserved.
    +</BODY>
    +</HTML>
    diff --git a/jacoco/trunk/doc/api/org/jacoco/agent/rt/class-use/IAgent.html b/jacoco/trunk/doc/api/org/jacoco/agent/rt/class-use/IAgent.html
    new file mode 100644
    index 00000000000..5a9d3962813
    --- /dev/null
    +++ b/jacoco/trunk/doc/api/org/jacoco/agent/rt/class-use/IAgent.html
    @@ -0,0 +1,177 @@
    +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
    +<!--NewPage-->
    +<HTML>
    +<HEAD>
    +<!-- Generated by javadoc (build 1.5.0_22) on Wed Mar 27 16:45:42 UTC 2024 -->
    +<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
    +<TITLE>
    +Uses of Interface org.jacoco.agent.rt.IAgent (JaCoCo 0.8.12.202403270442 API)
    +</TITLE>
    +
    +
    +<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../../stylesheet.css" TITLE="Style">
    +
    +<SCRIPT type="text/javascript">
    +function windowTitle()
    +{
    +    parent.document.title="Uses of Interface org.jacoco.agent.rt.IAgent (JaCoCo 0.8.12.202403270442 API)";
    +}
    +</SCRIPT>
    +<NOSCRIPT>
    +</NOSCRIPT>
    +
    +</HEAD>
    +
    +<BODY BGCOLOR="white" onload="windowTitle();">
    +
    +
    +<!-- ========= START OF TOP NAVBAR ======= -->
    +<A NAME="navbar_top"><!-- --></A>
    +<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
    +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
    +<TR>
    +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
    +<A NAME="navbar_top_firstrow"><!-- --></A>
    +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
    +  <TR ALIGN="center" VALIGN="top">
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../org/jacoco/agent/rt/IAgent.html" title="interface in org.jacoco.agent.rt"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
    +  </TR>
    +</TABLE>
    +</TD>
    +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
    +</EM>
    +</TD>
    +</TR>
    +
    +<TR>
    +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
    +&nbsp;PREV&nbsp;
    +&nbsp;NEXT</FONT></TD>
    +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
    +  <A HREF="../../../../../index.html?org/jacoco/agent/rt/class-use/IAgent.html" target="_top"><B>FRAMES</B></A>  &nbsp;
    +&nbsp;<A HREF="IAgent.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
    +&nbsp;<SCRIPT type="text/javascript">
    +  <!--
    +  if(window==top) {
    +    document.writeln('<A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>');
    +  }
    +  //-->
    +</SCRIPT>
    +<NOSCRIPT>
    +  <A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>
    +</NOSCRIPT>
    +
    +
    +</FONT></TD>
    +</TR>
    +</TABLE>
    +<A NAME="skip-navbar_top"></A>
    +<!-- ========= END OF TOP NAVBAR ========= -->
    +
    +<HR>
    +<CENTER>
    +<H2>
    +<B>Uses of Interface<br>org.jacoco.agent.rt.IAgent</B></H2>
    +</CENTER>
    +
    +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
    +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
    +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
    +Packages that use <A HREF="../../../../../org/jacoco/agent/rt/IAgent.html" title="interface in org.jacoco.agent.rt">IAgent</A></FONT></TH>
    +</TR>
    +<TR BGCOLOR="white" CLASS="TableRowColor">
    +<TD><A HREF="#org.jacoco.agent.rt"><B>org.jacoco.agent.rt</B></A></TD>
    +<TD>API to access the JaCoCo agent from within the JVM under test.&nbsp;</TD>
    +</TR>
    +</TABLE>
    +&nbsp;
    +<P>
    +<A NAME="org.jacoco.agent.rt"><!-- --></A>
    +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
    +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
    +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
    +Uses of <A HREF="../../../../../org/jacoco/agent/rt/IAgent.html" title="interface in org.jacoco.agent.rt">IAgent</A> in <A HREF="../../../../../org/jacoco/agent/rt/package-summary.html">org.jacoco.agent.rt</A></FONT></TH>
    +</TR>
    +</TABLE>
    +&nbsp;
    +<P>
    +
    +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
    +<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor">
    +<TH ALIGN="left" COLSPAN="2">Methods in <A HREF="../../../../../org/jacoco/agent/rt/package-summary.html">org.jacoco.agent.rt</A> that return <A HREF="../../../../../org/jacoco/agent/rt/IAgent.html" title="interface in org.jacoco.agent.rt">IAgent</A></FONT></TH>
    +</TR>
    +<TR BGCOLOR="white" CLASS="TableRowColor">
    +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
    +<CODE>static&nbsp;<A HREF="../../../../../org/jacoco/agent/rt/IAgent.html" title="interface in org.jacoco.agent.rt">IAgent</A></CODE></FONT></TD>
    +<TD><CODE><B>RT.</B><B><A HREF="../../../../../org/jacoco/agent/rt/RT.html#getAgent()">getAgent</A></B>()</CODE>
    +
    +<BR>
    +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns the agent instance of the JaCoCo runtime in this JVM.</TD>
    +</TR>
    +</TABLE>
    +&nbsp;
    +<P>
    +<HR>
    +
    +
    +<!-- ======= START OF BOTTOM NAVBAR ====== -->
    +<A NAME="navbar_bottom"><!-- --></A>
    +<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
    +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
    +<TR>
    +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
    +<A NAME="navbar_bottom_firstrow"><!-- --></A>
    +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
    +  <TR ALIGN="center" VALIGN="top">
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../org/jacoco/agent/rt/IAgent.html" title="interface in org.jacoco.agent.rt"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
    +  </TR>
    +</TABLE>
    +</TD>
    +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
    +</EM>
    +</TD>
    +</TR>
    +
    +<TR>
    +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
    +&nbsp;PREV&nbsp;
    +&nbsp;NEXT</FONT></TD>
    +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
    +  <A HREF="../../../../../index.html?org/jacoco/agent/rt/class-use/IAgent.html" target="_top"><B>FRAMES</B></A>  &nbsp;
    +&nbsp;<A HREF="IAgent.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
    +&nbsp;<SCRIPT type="text/javascript">
    +  <!--
    +  if(window==top) {
    +    document.writeln('<A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>');
    +  }
    +  //-->
    +</SCRIPT>
    +<NOSCRIPT>
    +  <A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>
    +</NOSCRIPT>
    +
    +
    +</FONT></TD>
    +</TR>
    +</TABLE>
    +<A NAME="skip-navbar_bottom"></A>
    +<!-- ======== END OF BOTTOM NAVBAR ======= -->
    +
    +<HR>
    +Copyright &#169; 2009&#x2013;2024 Mountainminds GmbH & Co. KG. All rights reserved.
    +</BODY>
    +</HTML>
    diff --git a/jacoco/trunk/doc/api/org/jacoco/agent/rt/class-use/RT.html b/jacoco/trunk/doc/api/org/jacoco/agent/rt/class-use/RT.html
    new file mode 100644
    index 00000000000..faf5c57e198
    --- /dev/null
    +++ b/jacoco/trunk/doc/api/org/jacoco/agent/rt/class-use/RT.html
    @@ -0,0 +1,141 @@
    +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
    +<!--NewPage-->
    +<HTML>
    +<HEAD>
    +<!-- Generated by javadoc (build 1.5.0_22) on Wed Mar 27 16:45:42 UTC 2024 -->
    +<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
    +<TITLE>
    +Uses of Class org.jacoco.agent.rt.RT (JaCoCo 0.8.12.202403270442 API)
    +</TITLE>
    +
    +
    +<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../../stylesheet.css" TITLE="Style">
    +
    +<SCRIPT type="text/javascript">
    +function windowTitle()
    +{
    +    parent.document.title="Uses of Class org.jacoco.agent.rt.RT (JaCoCo 0.8.12.202403270442 API)";
    +}
    +</SCRIPT>
    +<NOSCRIPT>
    +</NOSCRIPT>
    +
    +</HEAD>
    +
    +<BODY BGCOLOR="white" onload="windowTitle();">
    +
    +
    +<!-- ========= START OF TOP NAVBAR ======= -->
    +<A NAME="navbar_top"><!-- --></A>
    +<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
    +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
    +<TR>
    +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
    +<A NAME="navbar_top_firstrow"><!-- --></A>
    +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
    +  <TR ALIGN="center" VALIGN="top">
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../org/jacoco/agent/rt/RT.html" title="class in org.jacoco.agent.rt"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
    +  </TR>
    +</TABLE>
    +</TD>
    +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
    +</EM>
    +</TD>
    +</TR>
    +
    +<TR>
    +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
    +&nbsp;PREV&nbsp;
    +&nbsp;NEXT</FONT></TD>
    +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
    +  <A HREF="../../../../../index.html?org/jacoco/agent/rt/class-use/RT.html" target="_top"><B>FRAMES</B></A>  &nbsp;
    +&nbsp;<A HREF="RT.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
    +&nbsp;<SCRIPT type="text/javascript">
    +  <!--
    +  if(window==top) {
    +    document.writeln('<A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>');
    +  }
    +  //-->
    +</SCRIPT>
    +<NOSCRIPT>
    +  <A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>
    +</NOSCRIPT>
    +
    +
    +</FONT></TD>
    +</TR>
    +</TABLE>
    +<A NAME="skip-navbar_top"></A>
    +<!-- ========= END OF TOP NAVBAR ========= -->
    +
    +<HR>
    +<CENTER>
    +<H2>
    +<B>Uses of Class<br>org.jacoco.agent.rt.RT</B></H2>
    +</CENTER>
    +No usage of org.jacoco.agent.rt.RT
    +<P>
    +<HR>
    +
    +
    +<!-- ======= START OF BOTTOM NAVBAR ====== -->
    +<A NAME="navbar_bottom"><!-- --></A>
    +<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
    +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
    +<TR>
    +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
    +<A NAME="navbar_bottom_firstrow"><!-- --></A>
    +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
    +  <TR ALIGN="center" VALIGN="top">
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../org/jacoco/agent/rt/RT.html" title="class in org.jacoco.agent.rt"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
    +  </TR>
    +</TABLE>
    +</TD>
    +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
    +</EM>
    +</TD>
    +</TR>
    +
    +<TR>
    +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
    +&nbsp;PREV&nbsp;
    +&nbsp;NEXT</FONT></TD>
    +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
    +  <A HREF="../../../../../index.html?org/jacoco/agent/rt/class-use/RT.html" target="_top"><B>FRAMES</B></A>  &nbsp;
    +&nbsp;<A HREF="RT.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
    +&nbsp;<SCRIPT type="text/javascript">
    +  <!--
    +  if(window==top) {
    +    document.writeln('<A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>');
    +  }
    +  //-->
    +</SCRIPT>
    +<NOSCRIPT>
    +  <A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>
    +</NOSCRIPT>
    +
    +
    +</FONT></TD>
    +</TR>
    +</TABLE>
    +<A NAME="skip-navbar_bottom"></A>
    +<!-- ======== END OF BOTTOM NAVBAR ======= -->
    +
    +<HR>
    +Copyright &#169; 2009&#x2013;2024 Mountainminds GmbH & Co. KG. All rights reserved.
    +</BODY>
    +</HTML>
    diff --git a/jacoco/trunk/doc/api/org/jacoco/agent/rt/package-frame.html b/jacoco/trunk/doc/api/org/jacoco/agent/rt/package-frame.html
    new file mode 100644
    index 00000000000..4355eb387dc
    --- /dev/null
    +++ b/jacoco/trunk/doc/api/org/jacoco/agent/rt/package-frame.html
    @@ -0,0 +1,44 @@
    +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
    +<!--NewPage-->
    +<HTML>
    +<HEAD>
    +<!-- Generated by javadoc (build 1.5.0_22) on Wed Mar 27 16:45:42 UTC 2024 -->
    +<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
    +<TITLE>
    +org.jacoco.agent.rt (JaCoCo 0.8.12.202403270442 API)
    +</TITLE>
    +
    +<META NAME="keywords" CONTENT="org.jacoco.agent.rt package">
    +
    +<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../stylesheet.css" TITLE="Style">
    +
    +
    +</HEAD>
    +
    +<BODY BGCOLOR="white">
    +<FONT size="+1" CLASS="FrameTitleFont">
    +<A HREF="../../../../org/jacoco/agent/rt/package-summary.html" target="classFrame">org.jacoco.agent.rt</A></FONT>
    +<TABLE BORDER="0" WIDTH="100%" SUMMARY="">
    +<TR>
    +<TD NOWRAP><FONT size="+1" CLASS="FrameHeadingFont">
    +Interfaces</FONT>&nbsp;
    +<FONT CLASS="FrameItemFont">
    +<BR>
    +<A HREF="IAgent.html" title="interface in org.jacoco.agent.rt" target="classFrame"><I>IAgent</I></A></FONT></TD>
    +</TR>
    +</TABLE>
    +
    +
    +<TABLE BORDER="0" WIDTH="100%" SUMMARY="">
    +<TR>
    +<TD NOWRAP><FONT size="+1" CLASS="FrameHeadingFont">
    +Classes</FONT>&nbsp;
    +<FONT CLASS="FrameItemFont">
    +<BR>
    +<A HREF="RT.html" title="class in org.jacoco.agent.rt" target="classFrame">RT</A></FONT></TD>
    +</TR>
    +</TABLE>
    +
    +
    +</BODY>
    +</HTML>
    diff --git a/jacoco/trunk/doc/api/org/jacoco/agent/rt/package-summary.html b/jacoco/trunk/doc/api/org/jacoco/agent/rt/package-summary.html
    new file mode 100644
    index 00000000000..b31ab9882ec
    --- /dev/null
    +++ b/jacoco/trunk/doc/api/org/jacoco/agent/rt/package-summary.html
    @@ -0,0 +1,184 @@
    +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
    +<!--NewPage-->
    +<HTML>
    +<HEAD>
    +<!-- Generated by javadoc (build 1.5.0_22) on Wed Mar 27 16:45:42 UTC 2024 -->
    +<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
    +<TITLE>
    +org.jacoco.agent.rt (JaCoCo 0.8.12.202403270442 API)
    +</TITLE>
    +
    +<META NAME="keywords" CONTENT="org.jacoco.agent.rt package">
    +
    +<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../stylesheet.css" TITLE="Style">
    +
    +<SCRIPT type="text/javascript">
    +function windowTitle()
    +{
    +    parent.document.title="org.jacoco.agent.rt (JaCoCo 0.8.12.202403270442 API)";
    +}
    +</SCRIPT>
    +<NOSCRIPT>
    +</NOSCRIPT>
    +
    +</HEAD>
    +
    +<BODY BGCOLOR="white" onload="windowTitle();">
    +
    +
    +<!-- ========= START OF TOP NAVBAR ======= -->
    +<A NAME="navbar_top"><!-- --></A>
    +<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
    +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
    +<TR>
    +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
    +<A NAME="navbar_top_firstrow"><!-- --></A>
    +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
    +  <TR ALIGN="center" VALIGN="top">
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Package</B></FONT>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <FONT CLASS="NavBarFont1">Class</FONT>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-use.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
    +  </TR>
    +</TABLE>
    +</TD>
    +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
    +</EM>
    +</TD>
    +</TR>
    +
    +<TR>
    +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
    +&nbsp;<A HREF="../../../../org/jacoco/agent/package-summary.html"><B>PREV PACKAGE</B></A>&nbsp;
    +&nbsp;<A HREF="../../../../org/jacoco/core/package-summary.html"><B>NEXT PACKAGE</B></A></FONT></TD>
    +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
    +  <A HREF="../../../../index.html?org/jacoco/agent/rt/package-summary.html" target="_top"><B>FRAMES</B></A>  &nbsp;
    +&nbsp;<A HREF="package-summary.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
    +&nbsp;<SCRIPT type="text/javascript">
    +  <!--
    +  if(window==top) {
    +    document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>');
    +  }
    +  //-->
    +</SCRIPT>
    +<NOSCRIPT>
    +  <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>
    +</NOSCRIPT>
    +
    +
    +</FONT></TD>
    +</TR>
    +</TABLE>
    +<A NAME="skip-navbar_top"></A>
    +<!-- ========= END OF TOP NAVBAR ========= -->
    +
    +<HR>
    +<H2>
    +Package org.jacoco.agent.rt
    +</H2>
    +API to access the JaCoCo agent from within the JVM under test.
    +<P>
    +<B>See:</B>
    +<BR>
    +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<A HREF="#package_description"><B>Description</B></A>
    +<P>
    +
    +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
    +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
    +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
    +<B>Interface Summary</B></FONT></TH>
    +</TR>
    +<TR BGCOLOR="white" CLASS="TableRowColor">
    +<TD WIDTH="15%"><B><A HREF="../../../../org/jacoco/agent/rt/IAgent.html" title="interface in org.jacoco.agent.rt">IAgent</A></B></TD>
    +<TD>Runtime API and MBean agent interface.</TD>
    +</TR>
    +</TABLE>
    +&nbsp;
    +
    +<P>
    +
    +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
    +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
    +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
    +<B>Class Summary</B></FONT></TH>
    +</TR>
    +<TR BGCOLOR="white" CLASS="TableRowColor">
    +<TD WIDTH="15%"><B><A HREF="../../../../org/jacoco/agent/rt/RT.html" title="class in org.jacoco.agent.rt">RT</A></B></TD>
    +<TD>Entry point to access the JaCoCo agent runtime.</TD>
    +</TR>
    +</TABLE>
    +&nbsp;
    +
    +<P>
    +<A NAME="package_description"><!-- --></A><H2>
    +Package org.jacoco.agent.rt Description
    +</H2>
    +
    +<P>
    +API to access the JaCoCo agent from within the JVM under test.
    +<P>
    +
    +<P>
    +<DL>
    +</DL>
    +<HR>
    +
    +
    +<!-- ======= START OF BOTTOM NAVBAR ====== -->
    +<A NAME="navbar_bottom"><!-- --></A>
    +<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
    +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
    +<TR>
    +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
    +<A NAME="navbar_bottom_firstrow"><!-- --></A>
    +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
    +  <TR ALIGN="center" VALIGN="top">
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Package</B></FONT>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <FONT CLASS="NavBarFont1">Class</FONT>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-use.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
    +  </TR>
    +</TABLE>
    +</TD>
    +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
    +</EM>
    +</TD>
    +</TR>
    +
    +<TR>
    +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
    +&nbsp;<A HREF="../../../../org/jacoco/agent/package-summary.html"><B>PREV PACKAGE</B></A>&nbsp;
    +&nbsp;<A HREF="../../../../org/jacoco/core/package-summary.html"><B>NEXT PACKAGE</B></A></FONT></TD>
    +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
    +  <A HREF="../../../../index.html?org/jacoco/agent/rt/package-summary.html" target="_top"><B>FRAMES</B></A>  &nbsp;
    +&nbsp;<A HREF="package-summary.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
    +&nbsp;<SCRIPT type="text/javascript">
    +  <!--
    +  if(window==top) {
    +    document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>');
    +  }
    +  //-->
    +</SCRIPT>
    +<NOSCRIPT>
    +  <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>
    +</NOSCRIPT>
    +
    +
    +</FONT></TD>
    +</TR>
    +</TABLE>
    +<A NAME="skip-navbar_bottom"></A>
    +<!-- ======== END OF BOTTOM NAVBAR ======= -->
    +
    +<HR>
    +Copyright &#169; 2009&#x2013;2024 Mountainminds GmbH & Co. KG. All rights reserved.
    +</BODY>
    +</HTML>
    diff --git a/jacoco/trunk/doc/api/org/jacoco/agent/rt/package-tree.html b/jacoco/trunk/doc/api/org/jacoco/agent/rt/package-tree.html
    new file mode 100644
    index 00000000000..4cdd98c073f
    --- /dev/null
    +++ b/jacoco/trunk/doc/api/org/jacoco/agent/rt/package-tree.html
    @@ -0,0 +1,155 @@
    +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
    +<!--NewPage-->
    +<HTML>
    +<HEAD>
    +<!-- Generated by javadoc (build 1.5.0_22) on Wed Mar 27 16:45:42 UTC 2024 -->
    +<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
    +<TITLE>
    +org.jacoco.agent.rt Class Hierarchy (JaCoCo 0.8.12.202403270442 API)
    +</TITLE>
    +
    +
    +<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../stylesheet.css" TITLE="Style">
    +
    +<SCRIPT type="text/javascript">
    +function windowTitle()
    +{
    +    parent.document.title="org.jacoco.agent.rt Class Hierarchy (JaCoCo 0.8.12.202403270442 API)";
    +}
    +</SCRIPT>
    +<NOSCRIPT>
    +</NOSCRIPT>
    +
    +</HEAD>
    +
    +<BODY BGCOLOR="white" onload="windowTitle();">
    +
    +
    +<!-- ========= START OF TOP NAVBAR ======= -->
    +<A NAME="navbar_top"><!-- --></A>
    +<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
    +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
    +<TR>
    +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
    +<A NAME="navbar_top_firstrow"><!-- --></A>
    +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
    +  <TR ALIGN="center" VALIGN="top">
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <FONT CLASS="NavBarFont1">Class</FONT>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <FONT CLASS="NavBarFont1">Use</FONT>&nbsp;</TD>
    +  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Tree</B></FONT>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
    +  </TR>
    +</TABLE>
    +</TD>
    +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
    +</EM>
    +</TD>
    +</TR>
    +
    +<TR>
    +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
    +&nbsp;<A HREF="../../../../org/jacoco/agent/package-tree.html"><B>PREV</B></A>&nbsp;
    +&nbsp;<A HREF="../../../../org/jacoco/core/package-tree.html"><B>NEXT</B></A></FONT></TD>
    +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
    +  <A HREF="../../../../index.html?org/jacoco/agent/rt/package-tree.html" target="_top"><B>FRAMES</B></A>  &nbsp;
    +&nbsp;<A HREF="package-tree.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
    +&nbsp;<SCRIPT type="text/javascript">
    +  <!--
    +  if(window==top) {
    +    document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>');
    +  }
    +  //-->
    +</SCRIPT>
    +<NOSCRIPT>
    +  <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>
    +</NOSCRIPT>
    +
    +
    +</FONT></TD>
    +</TR>
    +</TABLE>
    +<A NAME="skip-navbar_top"></A>
    +<!-- ========= END OF TOP NAVBAR ========= -->
    +
    +<HR>
    +<CENTER>
    +<H2>
    +Hierarchy For Package org.jacoco.agent.rt
    +</H2>
    +</CENTER>
    +<DL>
    +<DT><B>Package Hierarchies:</B><DD><A HREF="../../../../overview-tree.html">All Packages</A></DL>
    +<HR>
    +<H2>
    +Class Hierarchy
    +</H2>
    +<UL>
    +<LI TYPE="circle">java.lang.<A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html" title="class or interface in java.lang"><B>Object</B></A><UL>
    +<LI TYPE="circle">org.jacoco.agent.rt.<A HREF="../../../../org/jacoco/agent/rt/RT.html" title="class in org.jacoco.agent.rt"><B>RT</B></A></UL>
    +</UL>
    +<H2>
    +Interface Hierarchy
    +</H2>
    +<UL>
    +<LI TYPE="circle">org.jacoco.agent.rt.<A HREF="../../../../org/jacoco/agent/rt/IAgent.html" title="interface in org.jacoco.agent.rt"><B>IAgent</B></A></UL>
    +<HR>
    +
    +
    +<!-- ======= START OF BOTTOM NAVBAR ====== -->
    +<A NAME="navbar_bottom"><!-- --></A>
    +<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
    +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
    +<TR>
    +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
    +<A NAME="navbar_bottom_firstrow"><!-- --></A>
    +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
    +  <TR ALIGN="center" VALIGN="top">
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <FONT CLASS="NavBarFont1">Class</FONT>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <FONT CLASS="NavBarFont1">Use</FONT>&nbsp;</TD>
    +  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Tree</B></FONT>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
    +  </TR>
    +</TABLE>
    +</TD>
    +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
    +</EM>
    +</TD>
    +</TR>
    +
    +<TR>
    +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
    +&nbsp;<A HREF="../../../../org/jacoco/agent/package-tree.html"><B>PREV</B></A>&nbsp;
    +&nbsp;<A HREF="../../../../org/jacoco/core/package-tree.html"><B>NEXT</B></A></FONT></TD>
    +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
    +  <A HREF="../../../../index.html?org/jacoco/agent/rt/package-tree.html" target="_top"><B>FRAMES</B></A>  &nbsp;
    +&nbsp;<A HREF="package-tree.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
    +&nbsp;<SCRIPT type="text/javascript">
    +  <!--
    +  if(window==top) {
    +    document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>');
    +  }
    +  //-->
    +</SCRIPT>
    +<NOSCRIPT>
    +  <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>
    +</NOSCRIPT>
    +
    +
    +</FONT></TD>
    +</TR>
    +</TABLE>
    +<A NAME="skip-navbar_bottom"></A>
    +<!-- ======== END OF BOTTOM NAVBAR ======= -->
    +
    +<HR>
    +Copyright &#169; 2009&#x2013;2024 Mountainminds GmbH & Co. KG. All rights reserved.
    +</BODY>
    +</HTML>
    diff --git a/jacoco/trunk/doc/api/org/jacoco/agent/rt/package-use.html b/jacoco/trunk/doc/api/org/jacoco/agent/rt/package-use.html
    new file mode 100644
    index 00000000000..b6f23f16d4b
    --- /dev/null
    +++ b/jacoco/trunk/doc/api/org/jacoco/agent/rt/package-use.html
    @@ -0,0 +1,167 @@
    +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
    +<!--NewPage-->
    +<HTML>
    +<HEAD>
    +<!-- Generated by javadoc (build 1.5.0_22) on Wed Mar 27 16:45:42 UTC 2024 -->
    +<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
    +<TITLE>
    +Uses of Package org.jacoco.agent.rt (JaCoCo 0.8.12.202403270442 API)
    +</TITLE>
    +
    +
    +<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../stylesheet.css" TITLE="Style">
    +
    +<SCRIPT type="text/javascript">
    +function windowTitle()
    +{
    +    parent.document.title="Uses of Package org.jacoco.agent.rt (JaCoCo 0.8.12.202403270442 API)";
    +}
    +</SCRIPT>
    +<NOSCRIPT>
    +</NOSCRIPT>
    +
    +</HEAD>
    +
    +<BODY BGCOLOR="white" onload="windowTitle();">
    +
    +
    +<!-- ========= START OF TOP NAVBAR ======= -->
    +<A NAME="navbar_top"><!-- --></A>
    +<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
    +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
    +<TR>
    +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
    +<A NAME="navbar_top_firstrow"><!-- --></A>
    +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
    +  <TR ALIGN="center" VALIGN="top">
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <FONT CLASS="NavBarFont1">Class</FONT>&nbsp;</TD>
    +  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
    +  </TR>
    +</TABLE>
    +</TD>
    +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
    +</EM>
    +</TD>
    +</TR>
    +
    +<TR>
    +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
    +&nbsp;PREV&nbsp;
    +&nbsp;NEXT</FONT></TD>
    +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
    +  <A HREF="../../../../index.html?org/jacoco/agent/rt/package-use.html" target="_top"><B>FRAMES</B></A>  &nbsp;
    +&nbsp;<A HREF="package-use.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
    +&nbsp;<SCRIPT type="text/javascript">
    +  <!--
    +  if(window==top) {
    +    document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>');
    +  }
    +  //-->
    +</SCRIPT>
    +<NOSCRIPT>
    +  <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>
    +</NOSCRIPT>
    +
    +
    +</FONT></TD>
    +</TR>
    +</TABLE>
    +<A NAME="skip-navbar_top"></A>
    +<!-- ========= END OF TOP NAVBAR ========= -->
    +
    +<HR>
    +<CENTER>
    +<H2>
    +<B>Uses of Package<br>org.jacoco.agent.rt</B></H2>
    +</CENTER>
    +
    +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
    +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
    +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
    +Packages that use <A HREF="../../../../org/jacoco/agent/rt/package-summary.html">org.jacoco.agent.rt</A></FONT></TH>
    +</TR>
    +<TR BGCOLOR="white" CLASS="TableRowColor">
    +<TD><A HREF="#org.jacoco.agent.rt"><B>org.jacoco.agent.rt</B></A></TD>
    +<TD>API to access the JaCoCo agent from within the JVM under test.&nbsp;</TD>
    +</TR>
    +</TABLE>
    +&nbsp;
    +<P>
    +<A NAME="org.jacoco.agent.rt"><!-- --></A>
    +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
    +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
    +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
    +Classes in <A HREF="../../../../org/jacoco/agent/rt/package-summary.html">org.jacoco.agent.rt</A> used by <A HREF="../../../../org/jacoco/agent/rt/package-summary.html">org.jacoco.agent.rt</A></FONT></TH>
    +</TR>
    +<TR BGCOLOR="white" CLASS="TableRowColor">
    +<TD><B><A HREF="../../../../org/jacoco/agent/rt/class-use/IAgent.html#org.jacoco.agent.rt"><B>IAgent</B></A></B>
    +
    +<BR>
    +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Runtime API and MBean agent interface.</TD>
    +</TR>
    +</TABLE>
    +&nbsp;
    +<P>
    +<HR>
    +
    +
    +<!-- ======= START OF BOTTOM NAVBAR ====== -->
    +<A NAME="navbar_bottom"><!-- --></A>
    +<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
    +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
    +<TR>
    +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
    +<A NAME="navbar_bottom_firstrow"><!-- --></A>
    +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
    +  <TR ALIGN="center" VALIGN="top">
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <FONT CLASS="NavBarFont1">Class</FONT>&nbsp;</TD>
    +  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
    +  </TR>
    +</TABLE>
    +</TD>
    +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
    +</EM>
    +</TD>
    +</TR>
    +
    +<TR>
    +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
    +&nbsp;PREV&nbsp;
    +&nbsp;NEXT</FONT></TD>
    +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
    +  <A HREF="../../../../index.html?org/jacoco/agent/rt/package-use.html" target="_top"><B>FRAMES</B></A>  &nbsp;
    +&nbsp;<A HREF="package-use.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
    +&nbsp;<SCRIPT type="text/javascript">
    +  <!--
    +  if(window==top) {
    +    document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>');
    +  }
    +  //-->
    +</SCRIPT>
    +<NOSCRIPT>
    +  <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>
    +</NOSCRIPT>
    +
    +
    +</FONT></TD>
    +</TR>
    +</TABLE>
    +<A NAME="skip-navbar_bottom"></A>
    +<!-- ======== END OF BOTTOM NAVBAR ======= -->
    +
    +<HR>
    +Copyright &#169; 2009&#x2013;2024 Mountainminds GmbH & Co. KG. All rights reserved.
    +</BODY>
    +</HTML>
    diff --git a/jacoco/trunk/doc/api/org/jacoco/core/JaCoCo.html b/jacoco/trunk/doc/api/org/jacoco/core/JaCoCo.html
    new file mode 100644
    index 00000000000..4f3d113b68f
    --- /dev/null
    +++ b/jacoco/trunk/doc/api/org/jacoco/core/JaCoCo.html
    @@ -0,0 +1,311 @@
    +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
    +<!--NewPage-->
    +<HTML>
    +<HEAD>
    +<!-- Generated by javadoc (build 1.5.0_22) on Wed Mar 27 16:45:41 UTC 2024 -->
    +<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
    +<TITLE>
    +JaCoCo (JaCoCo 0.8.12.202403270442 API)
    +</TITLE>
    +
    +<META NAME="keywords" CONTENT="org.jacoco.core.JaCoCo class">
    +
    +<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../stylesheet.css" TITLE="Style">
    +
    +<SCRIPT type="text/javascript">
    +function windowTitle()
    +{
    +    parent.document.title="JaCoCo (JaCoCo 0.8.12.202403270442 API)";
    +}
    +</SCRIPT>
    +<NOSCRIPT>
    +</NOSCRIPT>
    +
    +</HEAD>
    +
    +<BODY BGCOLOR="white" onload="windowTitle();">
    +
    +
    +<!-- ========= START OF TOP NAVBAR ======= -->
    +<A NAME="navbar_top"><!-- --></A>
    +<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
    +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
    +<TR>
    +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
    +<A NAME="navbar_top_firstrow"><!-- --></A>
    +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
    +  <TR ALIGN="center" VALIGN="top">
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="class-use/JaCoCo.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
    +  </TR>
    +</TABLE>
    +</TD>
    +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
    +</EM>
    +</TD>
    +</TR>
    +
    +<TR>
    +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
    +&nbsp;PREV CLASS&nbsp;
    +&nbsp;NEXT CLASS</FONT></TD>
    +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
    +  <A HREF="../../../index.html?org/jacoco/core/JaCoCo.html" target="_top"><B>FRAMES</B></A>  &nbsp;
    +&nbsp;<A HREF="JaCoCo.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
    +&nbsp;<SCRIPT type="text/javascript">
    +  <!--
    +  if(window==top) {
    +    document.writeln('<A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>');
    +  }
    +  //-->
    +</SCRIPT>
    +<NOSCRIPT>
    +  <A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>
    +</NOSCRIPT>
    +
    +
    +</FONT></TD>
    +</TR>
    +<TR>
    +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
    +  SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;<A HREF="#field_summary">FIELD</A>&nbsp;|&nbsp;CONSTR&nbsp;|&nbsp;<A HREF="#methods_inherited_from_class_java.lang.Object">METHOD</A></FONT></TD>
    +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
    +DETAIL:&nbsp;<A HREF="#field_detail">FIELD</A>&nbsp;|&nbsp;CONSTR&nbsp;|&nbsp;METHOD</FONT></TD>
    +</TR>
    +</TABLE>
    +<A NAME="skip-navbar_top"></A>
    +<!-- ========= END OF TOP NAVBAR ========= -->
    +
    +<HR>
    +<!-- ======== START OF CLASS DATA ======== -->
    +<H2>
    +<FONT SIZE="-1">
    +org.jacoco.core</FONT>
    +<BR>
    +Class JaCoCo</H2>
    +<PRE>
    +<A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html" title="class or interface in java.lang">java.lang.Object</A>
    +  <IMG SRC="../../../resources/inherit.gif" ALT="extended by "><B>org.jacoco.core.JaCoCo</B>
    +</PRE>
    +<HR>
    +<DL>
    +<DT><PRE>public final class <B>JaCoCo</B><DT>extends <A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html" title="class or interface in java.lang">Object</A></DL>
    +</PRE>
    +
    +<P>
    +Static Meta information about JaCoCo.
    +<P>
    +
    +<P>
    +<HR>
    +
    +<P>
    +<!-- =========== FIELD SUMMARY =========== -->
    +
    +<A NAME="field_summary"><!-- --></A>
    +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
    +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
    +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
    +<B>Field Summary</B></FONT></TH>
    +</TR>
    +<TR BGCOLOR="white" CLASS="TableRowColor">
    +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
    +<CODE>static&nbsp;<A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A></CODE></FONT></TD>
    +<TD><CODE><B><A HREF="../../../org/jacoco/core/JaCoCo.html#COMMITID">COMMITID</A></B></CODE>
    +
    +<BR>
    +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Commit ID of the source tree of JaCoCo core.</TD>
    +</TR>
    +<TR BGCOLOR="white" CLASS="TableRowColor">
    +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
    +<CODE>static&nbsp;<A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A></CODE></FONT></TD>
    +<TD><CODE><B><A HREF="../../../org/jacoco/core/JaCoCo.html#COMMITID_SHORT">COMMITID_SHORT</A></B></CODE>
    +
    +<BR>
    +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Shortened (7 digit) commit ID of the source tree of JaCoCo core.</TD>
    +</TR>
    +<TR BGCOLOR="white" CLASS="TableRowColor">
    +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
    +<CODE>static&nbsp;<A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A></CODE></FONT></TD>
    +<TD><CODE><B><A HREF="../../../org/jacoco/core/JaCoCo.html#HOMEURL">HOMEURL</A></B></CODE>
    +
    +<BR>
    +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Absolute URL of the current JaCoCo home page</TD>
    +</TR>
    +<TR BGCOLOR="white" CLASS="TableRowColor">
    +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
    +<CODE>static&nbsp;<A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A></CODE></FONT></TD>
    +<TD><CODE><B><A HREF="../../../org/jacoco/core/JaCoCo.html#RUNTIMEPACKAGE">RUNTIMEPACKAGE</A></B></CODE>
    +
    +<BR>
    +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Name of the runtime package of this build</TD>
    +</TR>
    +<TR BGCOLOR="white" CLASS="TableRowColor">
    +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
    +<CODE>static&nbsp;<A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A></CODE></FONT></TD>
    +<TD><CODE><B><A HREF="../../../org/jacoco/core/JaCoCo.html#VERSION">VERSION</A></B></CODE>
    +
    +<BR>
    +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Qualified version of JaCoCo core.</TD>
    +</TR>
    +</TABLE>
    +&nbsp;
    +<!-- ========== METHOD SUMMARY =========== -->
    +
    +<A NAME="method_summary"><!-- --></A>
    +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
    +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
    +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
    +<B>Method Summary</B></FONT></TH>
    +</TR>
    +</TABLE>
    +&nbsp;<A NAME="methods_inherited_from_class_java.lang.Object"><!-- --></A>
    +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
    +<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
    +<TH ALIGN="left"><B>Methods inherited from class java.lang.<A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html" title="class or interface in java.lang">Object</A></B></TH>
    +</TR>
    +<TR BGCOLOR="white" CLASS="TableRowColor">
    +<TD><CODE><A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html#clone()" title="class or interface in java.lang">clone</A>, <A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html#equals(java.lang.Object)" title="class or interface in java.lang">equals</A>, <A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html#finalize()" title="class or interface in java.lang">finalize</A>, <A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html#getClass()" title="class or interface in java.lang">getClass</A>, <A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html#hashCode()" title="class or interface in java.lang">hashCode</A>, <A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html#notify()" title="class or interface in java.lang">notify</A>, <A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html#notifyAll()" title="class or interface in java.lang">notifyAll</A>, <A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html#toString()" title="class or interface in java.lang">toString</A>, <A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html#wait()" title="class or interface in java.lang">wait</A>, <A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html#wait(long)" title="class or interface in java.lang">wait</A>, <A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html#wait(long, int)" title="class or interface in java.lang">wait</A></CODE></TD>
    +</TR>
    +</TABLE>
    +&nbsp;
    +<P>
    +
    +<!-- ============ FIELD DETAIL =========== -->
    +
    +<A NAME="field_detail"><!-- --></A>
    +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
    +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
    +<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2">
    +<B>Field Detail</B></FONT></TH>
    +</TR>
    +</TABLE>
    +
    +<A NAME="VERSION"><!-- --></A><H3>
    +VERSION</H3>
    +<PRE>
    +public static final <A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> <B>VERSION</B></PRE>
    +<DL>
    +<DD>Qualified version of JaCoCo core.
    +<P>
    +<DL>
    +</DL>
    +</DL>
    +<HR>
    +
    +<A NAME="COMMITID"><!-- --></A><H3>
    +COMMITID</H3>
    +<PRE>
    +public static final <A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> <B>COMMITID</B></PRE>
    +<DL>
    +<DD>Commit ID of the source tree of JaCoCo core.
    +<P>
    +<DL>
    +</DL>
    +</DL>
    +<HR>
    +
    +<A NAME="COMMITID_SHORT"><!-- --></A><H3>
    +COMMITID_SHORT</H3>
    +<PRE>
    +public static final <A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> <B>COMMITID_SHORT</B></PRE>
    +<DL>
    +<DD>Shortened (7 digit) commit ID of the source tree of JaCoCo core.
    +<P>
    +<DL>
    +</DL>
    +</DL>
    +<HR>
    +
    +<A NAME="HOMEURL"><!-- --></A><H3>
    +HOMEURL</H3>
    +<PRE>
    +public static final <A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> <B>HOMEURL</B></PRE>
    +<DL>
    +<DD>Absolute URL of the current JaCoCo home page
    +<P>
    +<DL>
    +</DL>
    +</DL>
    +<HR>
    +
    +<A NAME="RUNTIMEPACKAGE"><!-- --></A><H3>
    +RUNTIMEPACKAGE</H3>
    +<PRE>
    +public static final <A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> <B>RUNTIMEPACKAGE</B></PRE>
    +<DL>
    +<DD>Name of the runtime package of this build
    +<P>
    +<DL>
    +</DL>
    +</DL>
    +<!-- ========= END OF CLASS DATA ========= -->
    +<HR>
    +
    +
    +<!-- ======= START OF BOTTOM NAVBAR ====== -->
    +<A NAME="navbar_bottom"><!-- --></A>
    +<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
    +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
    +<TR>
    +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
    +<A NAME="navbar_bottom_firstrow"><!-- --></A>
    +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
    +  <TR ALIGN="center" VALIGN="top">
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="class-use/JaCoCo.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
    +  </TR>
    +</TABLE>
    +</TD>
    +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
    +</EM>
    +</TD>
    +</TR>
    +
    +<TR>
    +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
    +&nbsp;PREV CLASS&nbsp;
    +&nbsp;NEXT CLASS</FONT></TD>
    +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
    +  <A HREF="../../../index.html?org/jacoco/core/JaCoCo.html" target="_top"><B>FRAMES</B></A>  &nbsp;
    +&nbsp;<A HREF="JaCoCo.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
    +&nbsp;<SCRIPT type="text/javascript">
    +  <!--
    +  if(window==top) {
    +    document.writeln('<A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>');
    +  }
    +  //-->
    +</SCRIPT>
    +<NOSCRIPT>
    +  <A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>
    +</NOSCRIPT>
    +
    +
    +</FONT></TD>
    +</TR>
    +<TR>
    +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
    +  SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;<A HREF="#field_summary">FIELD</A>&nbsp;|&nbsp;CONSTR&nbsp;|&nbsp;<A HREF="#methods_inherited_from_class_java.lang.Object">METHOD</A></FONT></TD>
    +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
    +DETAIL:&nbsp;<A HREF="#field_detail">FIELD</A>&nbsp;|&nbsp;CONSTR&nbsp;|&nbsp;METHOD</FONT></TD>
    +</TR>
    +</TABLE>
    +<A NAME="skip-navbar_bottom"></A>
    +<!-- ======== END OF BOTTOM NAVBAR ======= -->
    +
    +<HR>
    +Copyright &#169; 2009&#x2013;2024 Mountainminds GmbH & Co. KG. All rights reserved.
    +</BODY>
    +</HTML>
    diff --git a/jacoco/trunk/doc/api/org/jacoco/core/analysis/Analyzer.html b/jacoco/trunk/doc/api/org/jacoco/core/analysis/Analyzer.html
    new file mode 100644
    index 00000000000..552de2ba7d5
    --- /dev/null
    +++ b/jacoco/trunk/doc/api/org/jacoco/core/analysis/Analyzer.html
    @@ -0,0 +1,388 @@
    +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
    +<!--NewPage-->
    +<HTML>
    +<HEAD>
    +<!-- Generated by javadoc (build 1.5.0_22) on Wed Mar 27 16:45:41 UTC 2024 -->
    +<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
    +<TITLE>
    +Analyzer (JaCoCo 0.8.12.202403270442 API)
    +</TITLE>
    +
    +<META NAME="keywords" CONTENT="org.jacoco.core.analysis.Analyzer class">
    +
    +<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../stylesheet.css" TITLE="Style">
    +
    +<SCRIPT type="text/javascript">
    +function windowTitle()
    +{
    +    parent.document.title="Analyzer (JaCoCo 0.8.12.202403270442 API)";
    +}
    +</SCRIPT>
    +<NOSCRIPT>
    +</NOSCRIPT>
    +
    +</HEAD>
    +
    +<BODY BGCOLOR="white" onload="windowTitle();">
    +
    +
    +<!-- ========= START OF TOP NAVBAR ======= -->
    +<A NAME="navbar_top"><!-- --></A>
    +<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
    +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
    +<TR>
    +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
    +<A NAME="navbar_top_firstrow"><!-- --></A>
    +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
    +  <TR ALIGN="center" VALIGN="top">
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="class-use/Analyzer.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
    +  </TR>
    +</TABLE>
    +</TD>
    +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
    +</EM>
    +</TD>
    +</TR>
    +
    +<TR>
    +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
    +&nbsp;PREV CLASS&nbsp;
    +&nbsp;<A HREF="../../../../org/jacoco/core/analysis/CounterComparator.html" title="class in org.jacoco.core.analysis"><B>NEXT CLASS</B></A></FONT></TD>
    +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
    +  <A HREF="../../../../index.html?org/jacoco/core/analysis/Analyzer.html" target="_top"><B>FRAMES</B></A>  &nbsp;
    +&nbsp;<A HREF="Analyzer.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
    +&nbsp;<SCRIPT type="text/javascript">
    +  <!--
    +  if(window==top) {
    +    document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>');
    +  }
    +  //-->
    +</SCRIPT>
    +<NOSCRIPT>
    +  <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>
    +</NOSCRIPT>
    +
    +
    +</FONT></TD>
    +</TR>
    +<TR>
    +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
    +  SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;FIELD&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD>
    +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
    +DETAIL:&nbsp;FIELD&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD>
    +</TR>
    +</TABLE>
    +<A NAME="skip-navbar_top"></A>
    +<!-- ========= END OF TOP NAVBAR ========= -->
    +
    +<HR>
    +<!-- ======== START OF CLASS DATA ======== -->
    +<H2>
    +<FONT SIZE="-1">
    +org.jacoco.core.analysis</FONT>
    +<BR>
    +Class Analyzer</H2>
    +<PRE>
    +<A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html" title="class or interface in java.lang">java.lang.Object</A>
    +  <IMG SRC="../../../../resources/inherit.gif" ALT="extended by "><B>org.jacoco.core.analysis.Analyzer</B>
    +</PRE>
    +<HR>
    +<DL>
    +<DT><PRE>public class <B>Analyzer</B><DT>extends <A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html" title="class or interface in java.lang">Object</A></DL>
    +</PRE>
    +
    +<P>
    +An <A HREF="../../../../org/jacoco/core/analysis/Analyzer.html" title="class in org.jacoco.core.analysis"><CODE>Analyzer</CODE></A> instance processes a set of Java class files and
    + calculates coverage data for them. For each class file the result is reported
    + to a given <A HREF="../../../../org/jacoco/core/analysis/ICoverageVisitor.html" title="interface in org.jacoco.core.analysis"><CODE>ICoverageVisitor</CODE></A> instance. In addition the
    + <A HREF="../../../../org/jacoco/core/analysis/Analyzer.html" title="class in org.jacoco.core.analysis"><CODE>Analyzer</CODE></A> requires a <A HREF="../../../../org/jacoco/core/data/ExecutionDataStore.html" title="class in org.jacoco.core.data"><CODE>ExecutionDataStore</CODE></A> instance that holds
    + the execution data for the classes to analyze. The <A HREF="../../../../org/jacoco/core/analysis/Analyzer.html" title="class in org.jacoco.core.analysis"><CODE>Analyzer</CODE></A> offers
    + several methods to analyze classes from a variety of sources.
    +<P>
    +
    +<P>
    +<HR>
    +
    +<P>
    +
    +<!-- ======== CONSTRUCTOR SUMMARY ======== -->
    +
    +<A NAME="constructor_summary"><!-- --></A>
    +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
    +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
    +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
    +<B>Constructor Summary</B></FONT></TH>
    +</TR>
    +<TR BGCOLOR="white" CLASS="TableRowColor">
    +<TD><CODE><B><A HREF="../../../../org/jacoco/core/analysis/Analyzer.html#Analyzer(org.jacoco.core.data.ExecutionDataStore, org.jacoco.core.analysis.ICoverageVisitor)">Analyzer</A></B>(<A HREF="../../../../org/jacoco/core/data/ExecutionDataStore.html" title="class in org.jacoco.core.data">ExecutionDataStore</A>&nbsp;executionData,
    +         <A HREF="../../../../org/jacoco/core/analysis/ICoverageVisitor.html" title="interface in org.jacoco.core.analysis">ICoverageVisitor</A>&nbsp;coverageVisitor)</CODE>
    +
    +<BR>
    +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Creates a new analyzer reporting to the given output.</TD>
    +</TR>
    +</TABLE>
    +&nbsp;
    +<!-- ========== METHOD SUMMARY =========== -->
    +
    +<A NAME="method_summary"><!-- --></A>
    +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
    +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
    +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
    +<B>Method Summary</B></FONT></TH>
    +</TR>
    +<TR BGCOLOR="white" CLASS="TableRowColor">
    +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
    +<CODE>&nbsp;int</CODE></FONT></TD>
    +<TD><CODE><B><A HREF="../../../../org/jacoco/core/analysis/Analyzer.html#analyzeAll(java.io.File)">analyzeAll</A></B>(<A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/io/File.html" title="class or interface in java.io">File</A>&nbsp;file)</CODE>
    +
    +<BR>
    +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Analyzes all class files contained in the given file or folder.</TD>
    +</TR>
    +<TR BGCOLOR="white" CLASS="TableRowColor">
    +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
    +<CODE>&nbsp;int</CODE></FONT></TD>
    +<TD><CODE><B><A HREF="../../../../org/jacoco/core/analysis/Analyzer.html#analyzeAll(java.io.InputStream, java.lang.String)">analyzeAll</A></B>(<A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/io/InputStream.html" title="class or interface in java.io">InputStream</A>&nbsp;input,
    +           <A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A>&nbsp;location)</CODE>
    +
    +<BR>
    +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Analyzes all classes found in the given input stream.</TD>
    +</TR>
    +<TR BGCOLOR="white" CLASS="TableRowColor">
    +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
    +<CODE>&nbsp;int</CODE></FONT></TD>
    +<TD><CODE><B><A HREF="../../../../org/jacoco/core/analysis/Analyzer.html#analyzeAll(java.lang.String, java.io.File)">analyzeAll</A></B>(<A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A>&nbsp;path,
    +           <A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/io/File.html" title="class or interface in java.io">File</A>&nbsp;basedir)</CODE>
    +
    +<BR>
    +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Analyzes all classes from the given class path.</TD>
    +</TR>
    +<TR BGCOLOR="white" CLASS="TableRowColor">
    +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
    +<CODE>&nbsp;void</CODE></FONT></TD>
    +<TD><CODE><B><A HREF="../../../../org/jacoco/core/analysis/Analyzer.html#analyzeClass(byte[], java.lang.String)">analyzeClass</A></B>(byte[]&nbsp;buffer,
    +             <A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A>&nbsp;location)</CODE>
    +
    +<BR>
    +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Analyzes the class definition from a given in-memory buffer.</TD>
    +</TR>
    +<TR BGCOLOR="white" CLASS="TableRowColor">
    +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
    +<CODE>&nbsp;void</CODE></FONT></TD>
    +<TD><CODE><B><A HREF="../../../../org/jacoco/core/analysis/Analyzer.html#analyzeClass(java.io.InputStream, java.lang.String)">analyzeClass</A></B>(<A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/io/InputStream.html" title="class or interface in java.io">InputStream</A>&nbsp;input,
    +             <A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A>&nbsp;location)</CODE>
    +
    +<BR>
    +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Analyzes the class definition from a given input stream.</TD>
    +</TR>
    +</TABLE>
    +&nbsp;<A NAME="methods_inherited_from_class_java.lang.Object"><!-- --></A>
    +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
    +<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
    +<TH ALIGN="left"><B>Methods inherited from class java.lang.<A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html" title="class or interface in java.lang">Object</A></B></TH>
    +</TR>
    +<TR BGCOLOR="white" CLASS="TableRowColor">
    +<TD><CODE><A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html#clone()" title="class or interface in java.lang">clone</A>, <A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html#equals(java.lang.Object)" title="class or interface in java.lang">equals</A>, <A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html#finalize()" title="class or interface in java.lang">finalize</A>, <A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html#getClass()" title="class or interface in java.lang">getClass</A>, <A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html#hashCode()" title="class or interface in java.lang">hashCode</A>, <A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html#notify()" title="class or interface in java.lang">notify</A>, <A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html#notifyAll()" title="class or interface in java.lang">notifyAll</A>, <A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html#toString()" title="class or interface in java.lang">toString</A>, <A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html#wait()" title="class or interface in java.lang">wait</A>, <A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html#wait(long)" title="class or interface in java.lang">wait</A>, <A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html#wait(long, int)" title="class or interface in java.lang">wait</A></CODE></TD>
    +</TR>
    +</TABLE>
    +&nbsp;
    +<P>
    +
    +<!-- ========= CONSTRUCTOR DETAIL ======== -->
    +
    +<A NAME="constructor_detail"><!-- --></A>
    +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
    +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
    +<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2">
    +<B>Constructor Detail</B></FONT></TH>
    +</TR>
    +</TABLE>
    +
    +<A NAME="Analyzer(org.jacoco.core.data.ExecutionDataStore, org.jacoco.core.analysis.ICoverageVisitor)"><!-- --></A><H3>
    +Analyzer</H3>
    +<PRE>
    +public <B>Analyzer</B>(<A HREF="../../../../org/jacoco/core/data/ExecutionDataStore.html" title="class in org.jacoco.core.data">ExecutionDataStore</A>&nbsp;executionData,
    +                <A HREF="../../../../org/jacoco/core/analysis/ICoverageVisitor.html" title="interface in org.jacoco.core.analysis">ICoverageVisitor</A>&nbsp;coverageVisitor)</PRE>
    +<DL>
    +<DD>Creates a new analyzer reporting to the given output.
    +<P>
    +<DL>
    +<DT><B>Parameters:</B><DD><CODE>executionData</CODE> - execution data<DD><CODE>coverageVisitor</CODE> - the output instance that will coverage data for every analyzed
    +            class</DL>
    +</DL>
    +
    +<!-- ============ METHOD DETAIL ========== -->
    +
    +<A NAME="method_detail"><!-- --></A>
    +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
    +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
    +<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2">
    +<B>Method Detail</B></FONT></TH>
    +</TR>
    +</TABLE>
    +
    +<A NAME="analyzeClass(byte[], java.lang.String)"><!-- --></A><H3>
    +analyzeClass</H3>
    +<PRE>
    +public void <B>analyzeClass</B>(byte[]&nbsp;buffer,
    +                         <A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A>&nbsp;location)
    +                  throws <A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/io/IOException.html" title="class or interface in java.io">IOException</A></PRE>
    +<DL>
    +<DD>Analyzes the class definition from a given in-memory buffer.
    +<P>
    +<DD><DL>
    +<DT><B>Parameters:</B><DD><CODE>buffer</CODE> - class definitions<DD><CODE>location</CODE> - a location description used for exception messages
    +<DT><B>Throws:</B>
    +<DD><CODE><A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/io/IOException.html" title="class or interface in java.io">IOException</A></CODE> - if the class can't be analyzed</DL>
    +</DD>
    +</DL>
    +<HR>
    +
    +<A NAME="analyzeClass(java.io.InputStream, java.lang.String)"><!-- --></A><H3>
    +analyzeClass</H3>
    +<PRE>
    +public void <B>analyzeClass</B>(<A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/io/InputStream.html" title="class or interface in java.io">InputStream</A>&nbsp;input,
    +                         <A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A>&nbsp;location)
    +                  throws <A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/io/IOException.html" title="class or interface in java.io">IOException</A></PRE>
    +<DL>
    +<DD>Analyzes the class definition from a given input stream. The provided
    + <A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/io/InputStream.html" title="class or interface in java.io"><CODE>InputStream</CODE></A> is not closed by this method.
    +<P>
    +<DD><DL>
    +<DT><B>Parameters:</B><DD><CODE>input</CODE> - stream to read class definition from<DD><CODE>location</CODE> - a location description used for exception messages
    +<DT><B>Throws:</B>
    +<DD><CODE><A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/io/IOException.html" title="class or interface in java.io">IOException</A></CODE> - if the stream can't be read or the class can't be analyzed</DL>
    +</DD>
    +</DL>
    +<HR>
    +
    +<A NAME="analyzeAll(java.io.InputStream, java.lang.String)"><!-- --></A><H3>
    +analyzeAll</H3>
    +<PRE>
    +public int <B>analyzeAll</B>(<A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/io/InputStream.html" title="class or interface in java.io">InputStream</A>&nbsp;input,
    +                      <A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A>&nbsp;location)
    +               throws <A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/io/IOException.html" title="class or interface in java.io">IOException</A></PRE>
    +<DL>
    +<DD>Analyzes all classes found in the given input stream. The input stream
    + may either represent a single class file, a ZIP archive, a Pack200
    + archive or a gzip stream that is searched recursively for class files.
    + All other content types are ignored. The provided <A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/io/InputStream.html" title="class or interface in java.io"><CODE>InputStream</CODE></A> is
    + not closed by this method.
    +<P>
    +<DD><DL>
    +<DT><B>Parameters:</B><DD><CODE>input</CODE> - input data<DD><CODE>location</CODE> - a location description used for exception messages
    +<DT><B>Returns:</B><DD>number of class files found
    +<DT><B>Throws:</B>
    +<DD><CODE><A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/io/IOException.html" title="class or interface in java.io">IOException</A></CODE> - if the stream can't be read or a class can't be analyzed</DL>
    +</DD>
    +</DL>
    +<HR>
    +
    +<A NAME="analyzeAll(java.io.File)"><!-- --></A><H3>
    +analyzeAll</H3>
    +<PRE>
    +public int <B>analyzeAll</B>(<A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/io/File.html" title="class or interface in java.io">File</A>&nbsp;file)
    +               throws <A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/io/IOException.html" title="class or interface in java.io">IOException</A></PRE>
    +<DL>
    +<DD>Analyzes all class files contained in the given file or folder. Class
    + files as well as ZIP files are considered. Folders are searched
    + recursively.
    +<P>
    +<DD><DL>
    +<DT><B>Parameters:</B><DD><CODE>file</CODE> - file or folder to look for class files
    +<DT><B>Returns:</B><DD>number of class files found
    +<DT><B>Throws:</B>
    +<DD><CODE><A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/io/IOException.html" title="class or interface in java.io">IOException</A></CODE> - if the file can't be read or a class can't be analyzed</DL>
    +</DD>
    +</DL>
    +<HR>
    +
    +<A NAME="analyzeAll(java.lang.String, java.io.File)"><!-- --></A><H3>
    +analyzeAll</H3>
    +<PRE>
    +public int <B>analyzeAll</B>(<A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A>&nbsp;path,
    +                      <A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/io/File.html" title="class or interface in java.io">File</A>&nbsp;basedir)
    +               throws <A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/io/IOException.html" title="class or interface in java.io">IOException</A></PRE>
    +<DL>
    +<DD>Analyzes all classes from the given class path. Directories containing
    + class files as well as archive files are considered.
    +<P>
    +<DD><DL>
    +<DT><B>Parameters:</B><DD><CODE>path</CODE> - path definition<DD><CODE>basedir</CODE> - optional base directory, if <code>null</code> the current
    +            working directory is used as the base for relative path
    +            entries
    +<DT><B>Returns:</B><DD>number of class files found
    +<DT><B>Throws:</B>
    +<DD><CODE><A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/io/IOException.html" title="class or interface in java.io">IOException</A></CODE> - if a file can't be read or a class can't be analyzed</DL>
    +</DD>
    +</DL>
    +<!-- ========= END OF CLASS DATA ========= -->
    +<HR>
    +
    +
    +<!-- ======= START OF BOTTOM NAVBAR ====== -->
    +<A NAME="navbar_bottom"><!-- --></A>
    +<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
    +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
    +<TR>
    +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
    +<A NAME="navbar_bottom_firstrow"><!-- --></A>
    +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
    +  <TR ALIGN="center" VALIGN="top">
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="class-use/Analyzer.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
    +  </TR>
    +</TABLE>
    +</TD>
    +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
    +</EM>
    +</TD>
    +</TR>
    +
    +<TR>
    +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
    +&nbsp;PREV CLASS&nbsp;
    +&nbsp;<A HREF="../../../../org/jacoco/core/analysis/CounterComparator.html" title="class in org.jacoco.core.analysis"><B>NEXT CLASS</B></A></FONT></TD>
    +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
    +  <A HREF="../../../../index.html?org/jacoco/core/analysis/Analyzer.html" target="_top"><B>FRAMES</B></A>  &nbsp;
    +&nbsp;<A HREF="Analyzer.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
    +&nbsp;<SCRIPT type="text/javascript">
    +  <!--
    +  if(window==top) {
    +    document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>');
    +  }
    +  //-->
    +</SCRIPT>
    +<NOSCRIPT>
    +  <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>
    +</NOSCRIPT>
    +
    +
    +</FONT></TD>
    +</TR>
    +<TR>
    +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
    +  SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;FIELD&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD>
    +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
    +DETAIL:&nbsp;FIELD&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD>
    +</TR>
    +</TABLE>
    +<A NAME="skip-navbar_bottom"></A>
    +<!-- ======== END OF BOTTOM NAVBAR ======= -->
    +
    +<HR>
    +Copyright &#169; 2009&#x2013;2024 Mountainminds GmbH & Co. KG. All rights reserved.
    +</BODY>
    +</HTML>
    diff --git a/jacoco/trunk/doc/api/org/jacoco/core/analysis/CounterComparator.html b/jacoco/trunk/doc/api/org/jacoco/core/analysis/CounterComparator.html
    new file mode 100644
    index 00000000000..e0308474195
    --- /dev/null
    +++ b/jacoco/trunk/doc/api/org/jacoco/core/analysis/CounterComparator.html
    @@ -0,0 +1,411 @@
    +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
    +<!--NewPage-->
    +<HTML>
    +<HEAD>
    +<!-- Generated by javadoc (build 1.5.0_22) on Wed Mar 27 16:45:41 UTC 2024 -->
    +<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
    +<TITLE>
    +CounterComparator (JaCoCo 0.8.12.202403270442 API)
    +</TITLE>
    +
    +<META NAME="keywords" CONTENT="org.jacoco.core.analysis.CounterComparator class">
    +
    +<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../stylesheet.css" TITLE="Style">
    +
    +<SCRIPT type="text/javascript">
    +function windowTitle()
    +{
    +    parent.document.title="CounterComparator (JaCoCo 0.8.12.202403270442 API)";
    +}
    +</SCRIPT>
    +<NOSCRIPT>
    +</NOSCRIPT>
    +
    +</HEAD>
    +
    +<BODY BGCOLOR="white" onload="windowTitle();">
    +
    +
    +<!-- ========= START OF TOP NAVBAR ======= -->
    +<A NAME="navbar_top"><!-- --></A>
    +<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
    +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
    +<TR>
    +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
    +<A NAME="navbar_top_firstrow"><!-- --></A>
    +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
    +  <TR ALIGN="center" VALIGN="top">
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="class-use/CounterComparator.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
    +  </TR>
    +</TABLE>
    +</TD>
    +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
    +</EM>
    +</TD>
    +</TR>
    +
    +<TR>
    +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
    +&nbsp;<A HREF="../../../../org/jacoco/core/analysis/Analyzer.html" title="class in org.jacoco.core.analysis"><B>PREV CLASS</B></A>&nbsp;
    +&nbsp;<A HREF="../../../../org/jacoco/core/analysis/CoverageBuilder.html" title="class in org.jacoco.core.analysis"><B>NEXT CLASS</B></A></FONT></TD>
    +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
    +  <A HREF="../../../../index.html?org/jacoco/core/analysis/CounterComparator.html" target="_top"><B>FRAMES</B></A>  &nbsp;
    +&nbsp;<A HREF="CounterComparator.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
    +&nbsp;<SCRIPT type="text/javascript">
    +  <!--
    +  if(window==top) {
    +    document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>');
    +  }
    +  //-->
    +</SCRIPT>
    +<NOSCRIPT>
    +  <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>
    +</NOSCRIPT>
    +
    +
    +</FONT></TD>
    +</TR>
    +<TR>
    +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
    +  SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;<A HREF="#field_summary">FIELD</A>&nbsp;|&nbsp;CONSTR&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD>
    +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
    +DETAIL:&nbsp;<A HREF="#field_detail">FIELD</A>&nbsp;|&nbsp;CONSTR&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD>
    +</TR>
    +</TABLE>
    +<A NAME="skip-navbar_top"></A>
    +<!-- ========= END OF TOP NAVBAR ========= -->
    +
    +<HR>
    +<!-- ======== START OF CLASS DATA ======== -->
    +<H2>
    +<FONT SIZE="-1">
    +org.jacoco.core.analysis</FONT>
    +<BR>
    +Class CounterComparator</H2>
    +<PRE>
    +<A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html" title="class or interface in java.lang">java.lang.Object</A>
    +  <IMG SRC="../../../../resources/inherit.gif" ALT="extended by "><B>org.jacoco.core.analysis.CounterComparator</B>
    +</PRE>
    +<DL>
    +<DT><B>All Implemented Interfaces:</B> <DD><A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/io/Serializable.html" title="class or interface in java.io">Serializable</A>, <A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/util/Comparator.html" title="class or interface in java.util">Comparator</A>&lt;<A HREF="../../../../org/jacoco/core/analysis/ICounter.html" title="interface in org.jacoco.core.analysis">ICounter</A>&gt;</DD>
    +</DL>
    +<HR>
    +<DL>
    +<DT><PRE>public class <B>CounterComparator</B><DT>extends <A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html" title="class or interface in java.lang">Object</A><DT>implements <A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/util/Comparator.html" title="class or interface in java.util">Comparator</A>&lt;<A HREF="../../../../org/jacoco/core/analysis/ICounter.html" title="interface in org.jacoco.core.analysis">ICounter</A>&gt;, <A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/io/Serializable.html" title="class or interface in java.io">Serializable</A></DL>
    +</PRE>
    +
    +<P>
    +Collection of comparators to compare <A HREF="../../../../org/jacoco/core/analysis/ICounter.html" title="interface in org.jacoco.core.analysis"><CODE>ICounter</CODE></A> objects by different
    + criteria.
    +<P>
    +
    +<P>
    +<DL>
    +<DT><B>See Also:</B><DD><A HREF="../../../../serialized-form.html#org.jacoco.core.analysis.CounterComparator">Serialized Form</A></DL>
    +<HR>
    +
    +<P>
    +<!-- =========== FIELD SUMMARY =========== -->
    +
    +<A NAME="field_summary"><!-- --></A>
    +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
    +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
    +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
    +<B>Field Summary</B></FONT></TH>
    +</TR>
    +<TR BGCOLOR="white" CLASS="TableRowColor">
    +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
    +<CODE>static&nbsp;<A HREF="../../../../org/jacoco/core/analysis/CounterComparator.html" title="class in org.jacoco.core.analysis">CounterComparator</A></CODE></FONT></TD>
    +<TD><CODE><B><A HREF="../../../../org/jacoco/core/analysis/CounterComparator.html#COVEREDITEMS">COVEREDITEMS</A></B></CODE>
    +
    +<BR>
    +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Compares the absolute number of covered items.</TD>
    +</TR>
    +<TR BGCOLOR="white" CLASS="TableRowColor">
    +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
    +<CODE>static&nbsp;<A HREF="../../../../org/jacoco/core/analysis/CounterComparator.html" title="class in org.jacoco.core.analysis">CounterComparator</A></CODE></FONT></TD>
    +<TD><CODE><B><A HREF="../../../../org/jacoco/core/analysis/CounterComparator.html#COVEREDRATIO">COVEREDRATIO</A></B></CODE>
    +
    +<BR>
    +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Compares the ratio of covered items.</TD>
    +</TR>
    +<TR BGCOLOR="white" CLASS="TableRowColor">
    +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
    +<CODE>static&nbsp;<A HREF="../../../../org/jacoco/core/analysis/CounterComparator.html" title="class in org.jacoco.core.analysis">CounterComparator</A></CODE></FONT></TD>
    +<TD><CODE><B><A HREF="../../../../org/jacoco/core/analysis/CounterComparator.html#MISSEDITEMS">MISSEDITEMS</A></B></CODE>
    +
    +<BR>
    +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Compares the absolute number of missed items.</TD>
    +</TR>
    +<TR BGCOLOR="white" CLASS="TableRowColor">
    +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
    +<CODE>static&nbsp;<A HREF="../../../../org/jacoco/core/analysis/CounterComparator.html" title="class in org.jacoco.core.analysis">CounterComparator</A></CODE></FONT></TD>
    +<TD><CODE><B><A HREF="../../../../org/jacoco/core/analysis/CounterComparator.html#MISSEDRATIO">MISSEDRATIO</A></B></CODE>
    +
    +<BR>
    +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Compares the ratio of missed items.</TD>
    +</TR>
    +<TR BGCOLOR="white" CLASS="TableRowColor">
    +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
    +<CODE>static&nbsp;<A HREF="../../../../org/jacoco/core/analysis/CounterComparator.html" title="class in org.jacoco.core.analysis">CounterComparator</A></CODE></FONT></TD>
    +<TD><CODE><B><A HREF="../../../../org/jacoco/core/analysis/CounterComparator.html#TOTALITEMS">TOTALITEMS</A></B></CODE>
    +
    +<BR>
    +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Compares the absolute number of total items.</TD>
    +</TR>
    +</TABLE>
    +&nbsp;
    +<!-- ========== METHOD SUMMARY =========== -->
    +
    +<A NAME="method_summary"><!-- --></A>
    +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
    +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
    +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
    +<B>Method Summary</B></FONT></TH>
    +</TR>
    +<TR BGCOLOR="white" CLASS="TableRowColor">
    +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
    +<CODE>&nbsp;int</CODE></FONT></TD>
    +<TD><CODE><B><A HREF="../../../../org/jacoco/core/analysis/CounterComparator.html#compare(org.jacoco.core.analysis.ICounter, org.jacoco.core.analysis.ICounter)">compare</A></B>(<A HREF="../../../../org/jacoco/core/analysis/ICounter.html" title="interface in org.jacoco.core.analysis">ICounter</A>&nbsp;c1,
    +        <A HREF="../../../../org/jacoco/core/analysis/ICounter.html" title="interface in org.jacoco.core.analysis">ICounter</A>&nbsp;c2)</CODE>
    +
    +<BR>
    +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
    +</TR>
    +<TR BGCOLOR="white" CLASS="TableRowColor">
    +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
    +<CODE>&nbsp;<A HREF="../../../../org/jacoco/core/analysis/NodeComparator.html" title="class in org.jacoco.core.analysis">NodeComparator</A></CODE></FONT></TD>
    +<TD><CODE><B><A HREF="../../../../org/jacoco/core/analysis/CounterComparator.html#on(org.jacoco.core.analysis.ICoverageNode.CounterEntity)">on</A></B>(<A HREF="../../../../org/jacoco/core/analysis/ICoverageNode.CounterEntity.html" title="enum in org.jacoco.core.analysis">ICoverageNode.CounterEntity</A>&nbsp;entity)</CODE>
    +
    +<BR>
    +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Creates a new comparator for <A HREF="../../../../org/jacoco/core/analysis/ICoverageNode.html" title="interface in org.jacoco.core.analysis"><CODE>ICoverageNode</CODE></A> counters of the given
    + entity based on this counter sorting criteria.</TD>
    +</TR>
    +<TR BGCOLOR="white" CLASS="TableRowColor">
    +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
    +<CODE>&nbsp;<A HREF="../../../../org/jacoco/core/analysis/CounterComparator.html" title="class in org.jacoco.core.analysis">CounterComparator</A></CODE></FONT></TD>
    +<TD><CODE><B><A HREF="../../../../org/jacoco/core/analysis/CounterComparator.html#reverse()">reverse</A></B>()</CODE>
    +
    +<BR>
    +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Creates a new version of this comparator that sorts in reverse order.</TD>
    +</TR>
    +</TABLE>
    +&nbsp;<A NAME="methods_inherited_from_class_java.lang.Object"><!-- --></A>
    +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
    +<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
    +<TH ALIGN="left"><B>Methods inherited from class java.lang.<A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html" title="class or interface in java.lang">Object</A></B></TH>
    +</TR>
    +<TR BGCOLOR="white" CLASS="TableRowColor">
    +<TD><CODE><A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html#clone()" title="class or interface in java.lang">clone</A>, <A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html#equals(java.lang.Object)" title="class or interface in java.lang">equals</A>, <A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html#finalize()" title="class or interface in java.lang">finalize</A>, <A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html#getClass()" title="class or interface in java.lang">getClass</A>, <A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html#hashCode()" title="class or interface in java.lang">hashCode</A>, <A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html#notify()" title="class or interface in java.lang">notify</A>, <A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html#notifyAll()" title="class or interface in java.lang">notifyAll</A>, <A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html#toString()" title="class or interface in java.lang">toString</A>, <A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html#wait()" title="class or interface in java.lang">wait</A>, <A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html#wait(long)" title="class or interface in java.lang">wait</A>, <A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html#wait(long, int)" title="class or interface in java.lang">wait</A></CODE></TD>
    +</TR>
    +</TABLE>
    +&nbsp;<A NAME="methods_inherited_from_class_java.util.Comparator"><!-- --></A>
    +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
    +<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
    +<TH ALIGN="left"><B>Methods inherited from interface java.util.<A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/util/Comparator.html" title="class or interface in java.util">Comparator</A></B></TH>
    +</TR>
    +<TR BGCOLOR="white" CLASS="TableRowColor">
    +<TD><CODE><A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/util/Comparator.html#equals(java.lang.Object)" title="class or interface in java.util">equals</A></CODE></TD>
    +</TR>
    +</TABLE>
    +&nbsp;
    +<P>
    +
    +<!-- ============ FIELD DETAIL =========== -->
    +
    +<A NAME="field_detail"><!-- --></A>
    +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
    +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
    +<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2">
    +<B>Field Detail</B></FONT></TH>
    +</TR>
    +</TABLE>
    +
    +<A NAME="TOTALITEMS"><!-- --></A><H3>
    +TOTALITEMS</H3>
    +<PRE>
    +public static final <A HREF="../../../../org/jacoco/core/analysis/CounterComparator.html" title="class in org.jacoco.core.analysis">CounterComparator</A> <B>TOTALITEMS</B></PRE>
    +<DL>
    +<DD>Compares the absolute number of total items.
    +<P>
    +<DL>
    +</DL>
    +</DL>
    +<HR>
    +
    +<A NAME="COVEREDITEMS"><!-- --></A><H3>
    +COVEREDITEMS</H3>
    +<PRE>
    +public static final <A HREF="../../../../org/jacoco/core/analysis/CounterComparator.html" title="class in org.jacoco.core.analysis">CounterComparator</A> <B>COVEREDITEMS</B></PRE>
    +<DL>
    +<DD>Compares the absolute number of covered items.
    +<P>
    +<DL>
    +</DL>
    +</DL>
    +<HR>
    +
    +<A NAME="MISSEDITEMS"><!-- --></A><H3>
    +MISSEDITEMS</H3>
    +<PRE>
    +public static final <A HREF="../../../../org/jacoco/core/analysis/CounterComparator.html" title="class in org.jacoco.core.analysis">CounterComparator</A> <B>MISSEDITEMS</B></PRE>
    +<DL>
    +<DD>Compares the absolute number of missed items.
    +<P>
    +<DL>
    +</DL>
    +</DL>
    +<HR>
    +
    +<A NAME="COVEREDRATIO"><!-- --></A><H3>
    +COVEREDRATIO</H3>
    +<PRE>
    +public static final <A HREF="../../../../org/jacoco/core/analysis/CounterComparator.html" title="class in org.jacoco.core.analysis">CounterComparator</A> <B>COVEREDRATIO</B></PRE>
    +<DL>
    +<DD>Compares the ratio of covered items.
    +<P>
    +<DL>
    +</DL>
    +</DL>
    +<HR>
    +
    +<A NAME="MISSEDRATIO"><!-- --></A><H3>
    +MISSEDRATIO</H3>
    +<PRE>
    +public static final <A HREF="../../../../org/jacoco/core/analysis/CounterComparator.html" title="class in org.jacoco.core.analysis">CounterComparator</A> <B>MISSEDRATIO</B></PRE>
    +<DL>
    +<DD>Compares the ratio of missed items.
    +<P>
    +<DL>
    +</DL>
    +</DL>
    +
    +<!-- ============ METHOD DETAIL ========== -->
    +
    +<A NAME="method_detail"><!-- --></A>
    +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
    +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
    +<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2">
    +<B>Method Detail</B></FONT></TH>
    +</TR>
    +</TABLE>
    +
    +<A NAME="compare(org.jacoco.core.analysis.ICounter, org.jacoco.core.analysis.ICounter)"><!-- --></A><H3>
    +compare</H3>
    +<PRE>
    +public int <B>compare</B>(<A HREF="../../../../org/jacoco/core/analysis/ICounter.html" title="interface in org.jacoco.core.analysis">ICounter</A>&nbsp;c1,
    +                   <A HREF="../../../../org/jacoco/core/analysis/ICounter.html" title="interface in org.jacoco.core.analysis">ICounter</A>&nbsp;c2)</PRE>
    +<DL>
    +<DD><DL>
    +<DT><B>Specified by:</B><DD><CODE><A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/util/Comparator.html#compare(T, T)" title="class or interface in java.util">compare</A></CODE> in interface <CODE><A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/util/Comparator.html" title="class or interface in java.util">Comparator</A>&lt;<A HREF="../../../../org/jacoco/core/analysis/ICounter.html" title="interface in org.jacoco.core.analysis">ICounter</A>&gt;</CODE></DL>
    +</DD>
    +<DD><DL>
    +</DL>
    +</DD>
    +</DL>
    +<HR>
    +
    +<A NAME="reverse()"><!-- --></A><H3>
    +reverse</H3>
    +<PRE>
    +public <A HREF="../../../../org/jacoco/core/analysis/CounterComparator.html" title="class in org.jacoco.core.analysis">CounterComparator</A> <B>reverse</B>()</PRE>
    +<DL>
    +<DD>Creates a new version of this comparator that sorts in reverse order.
    +<P>
    +<DD><DL>
    +</DL>
    +</DD>
    +<DD><DL>
    +
    +<DT><B>Returns:</B><DD>reverse comparator</DL>
    +</DD>
    +</DL>
    +<HR>
    +
    +<A NAME="on(org.jacoco.core.analysis.ICoverageNode.CounterEntity)"><!-- --></A><H3>
    +on</H3>
    +<PRE>
    +public <A HREF="../../../../org/jacoco/core/analysis/NodeComparator.html" title="class in org.jacoco.core.analysis">NodeComparator</A> <B>on</B>(<A HREF="../../../../org/jacoco/core/analysis/ICoverageNode.CounterEntity.html" title="enum in org.jacoco.core.analysis">ICoverageNode.CounterEntity</A>&nbsp;entity)</PRE>
    +<DL>
    +<DD>Creates a new comparator for <A HREF="../../../../org/jacoco/core/analysis/ICoverageNode.html" title="interface in org.jacoco.core.analysis"><CODE>ICoverageNode</CODE></A> counters of the given
    + entity based on this counter sorting criteria.
    +<P>
    +<DD><DL>
    +</DL>
    +</DD>
    +<DD><DL>
    +<DT><B>Parameters:</B><DD><CODE>entity</CODE> - counter entity to sort on
    +<DT><B>Returns:</B><DD>comparator for <A HREF="../../../../org/jacoco/core/analysis/ICoverageNode.html" title="interface in org.jacoco.core.analysis"><CODE>ICoverageNode</CODE></A> elements</DL>
    +</DD>
    +</DL>
    +<!-- ========= END OF CLASS DATA ========= -->
    +<HR>
    +
    +
    +<!-- ======= START OF BOTTOM NAVBAR ====== -->
    +<A NAME="navbar_bottom"><!-- --></A>
    +<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
    +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
    +<TR>
    +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
    +<A NAME="navbar_bottom_firstrow"><!-- --></A>
    +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
    +  <TR ALIGN="center" VALIGN="top">
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="class-use/CounterComparator.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
    +  </TR>
    +</TABLE>
    +</TD>
    +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
    +</EM>
    +</TD>
    +</TR>
    +
    +<TR>
    +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
    +&nbsp;<A HREF="../../../../org/jacoco/core/analysis/Analyzer.html" title="class in org.jacoco.core.analysis"><B>PREV CLASS</B></A>&nbsp;
    +&nbsp;<A HREF="../../../../org/jacoco/core/analysis/CoverageBuilder.html" title="class in org.jacoco.core.analysis"><B>NEXT CLASS</B></A></FONT></TD>
    +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
    +  <A HREF="../../../../index.html?org/jacoco/core/analysis/CounterComparator.html" target="_top"><B>FRAMES</B></A>  &nbsp;
    +&nbsp;<A HREF="CounterComparator.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
    +&nbsp;<SCRIPT type="text/javascript">
    +  <!--
    +  if(window==top) {
    +    document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>');
    +  }
    +  //-->
    +</SCRIPT>
    +<NOSCRIPT>
    +  <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>
    +</NOSCRIPT>
    +
    +
    +</FONT></TD>
    +</TR>
    +<TR>
    +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
    +  SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;<A HREF="#field_summary">FIELD</A>&nbsp;|&nbsp;CONSTR&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD>
    +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
    +DETAIL:&nbsp;<A HREF="#field_detail">FIELD</A>&nbsp;|&nbsp;CONSTR&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD>
    +</TR>
    +</TABLE>
    +<A NAME="skip-navbar_bottom"></A>
    +<!-- ======== END OF BOTTOM NAVBAR ======= -->
    +
    +<HR>
    +Copyright &#169; 2009&#x2013;2024 Mountainminds GmbH & Co. KG. All rights reserved.
    +</BODY>
    +</HTML>
    diff --git a/jacoco/trunk/doc/api/org/jacoco/core/analysis/CoverageBuilder.html b/jacoco/trunk/doc/api/org/jacoco/core/analysis/CoverageBuilder.html
    new file mode 100644
    index 00000000000..f827e45e9bf
    --- /dev/null
    +++ b/jacoco/trunk/doc/api/org/jacoco/core/analysis/CoverageBuilder.html
    @@ -0,0 +1,376 @@
    +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
    +<!--NewPage-->
    +<HTML>
    +<HEAD>
    +<!-- Generated by javadoc (build 1.5.0_22) on Wed Mar 27 16:45:41 UTC 2024 -->
    +<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
    +<TITLE>
    +CoverageBuilder (JaCoCo 0.8.12.202403270442 API)
    +</TITLE>
    +
    +<META NAME="keywords" CONTENT="org.jacoco.core.analysis.CoverageBuilder class">
    +
    +<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../stylesheet.css" TITLE="Style">
    +
    +<SCRIPT type="text/javascript">
    +function windowTitle()
    +{
    +    parent.document.title="CoverageBuilder (JaCoCo 0.8.12.202403270442 API)";
    +}
    +</SCRIPT>
    +<NOSCRIPT>
    +</NOSCRIPT>
    +
    +</HEAD>
    +
    +<BODY BGCOLOR="white" onload="windowTitle();">
    +
    +
    +<!-- ========= START OF TOP NAVBAR ======= -->
    +<A NAME="navbar_top"><!-- --></A>
    +<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
    +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
    +<TR>
    +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
    +<A NAME="navbar_top_firstrow"><!-- --></A>
    +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
    +  <TR ALIGN="center" VALIGN="top">
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="class-use/CoverageBuilder.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
    +  </TR>
    +</TABLE>
    +</TD>
    +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
    +</EM>
    +</TD>
    +</TR>
    +
    +<TR>
    +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
    +&nbsp;<A HREF="../../../../org/jacoco/core/analysis/CounterComparator.html" title="class in org.jacoco.core.analysis"><B>PREV CLASS</B></A>&nbsp;
    +&nbsp;<A HREF="../../../../org/jacoco/core/analysis/CoverageNodeImpl.html" title="class in org.jacoco.core.analysis"><B>NEXT CLASS</B></A></FONT></TD>
    +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
    +  <A HREF="../../../../index.html?org/jacoco/core/analysis/CoverageBuilder.html" target="_top"><B>FRAMES</B></A>  &nbsp;
    +&nbsp;<A HREF="CoverageBuilder.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
    +&nbsp;<SCRIPT type="text/javascript">
    +  <!--
    +  if(window==top) {
    +    document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>');
    +  }
    +  //-->
    +</SCRIPT>
    +<NOSCRIPT>
    +  <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>
    +</NOSCRIPT>
    +
    +
    +</FONT></TD>
    +</TR>
    +<TR>
    +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
    +  SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;FIELD&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD>
    +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
    +DETAIL:&nbsp;FIELD&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD>
    +</TR>
    +</TABLE>
    +<A NAME="skip-navbar_top"></A>
    +<!-- ========= END OF TOP NAVBAR ========= -->
    +
    +<HR>
    +<!-- ======== START OF CLASS DATA ======== -->
    +<H2>
    +<FONT SIZE="-1">
    +org.jacoco.core.analysis</FONT>
    +<BR>
    +Class CoverageBuilder</H2>
    +<PRE>
    +<A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html" title="class or interface in java.lang">java.lang.Object</A>
    +  <IMG SRC="../../../../resources/inherit.gif" ALT="extended by "><B>org.jacoco.core.analysis.CoverageBuilder</B>
    +</PRE>
    +<DL>
    +<DT><B>All Implemented Interfaces:</B> <DD><A HREF="../../../../org/jacoco/core/analysis/ICoverageVisitor.html" title="interface in org.jacoco.core.analysis">ICoverageVisitor</A></DD>
    +</DL>
    +<HR>
    +<DL>
    +<DT><PRE>public class <B>CoverageBuilder</B><DT>extends <A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html" title="class or interface in java.lang">Object</A><DT>implements <A HREF="../../../../org/jacoco/core/analysis/ICoverageVisitor.html" title="interface in org.jacoco.core.analysis">ICoverageVisitor</A></DL>
    +</PRE>
    +
    +<P>
    +Builder for hierarchical <A HREF="../../../../org/jacoco/core/analysis/ICoverageNode.html" title="interface in org.jacoco.core.analysis"><CODE>ICoverageNode</CODE></A> structures from single
    + <A HREF="../../../../org/jacoco/core/analysis/IClassCoverage.html" title="interface in org.jacoco.core.analysis"><CODE>IClassCoverage</CODE></A> nodes. The nodes are feed into the builder through its
    + <A HREF="../../../../org/jacoco/core/analysis/ICoverageVisitor.html" title="interface in org.jacoco.core.analysis"><CODE>ICoverageVisitor</CODE></A> interface. Afterwards the aggregated data can be
    + obtained with <A HREF="../../../../org/jacoco/core/analysis/CoverageBuilder.html#getClasses()"><CODE>getClasses()</CODE></A>, <A HREF="../../../../org/jacoco/core/analysis/CoverageBuilder.html#getSourceFiles()"><CODE>getSourceFiles()</CODE></A> or
    + <A HREF="../../../../org/jacoco/core/analysis/CoverageBuilder.html#getBundle(java.lang.String)"><CODE>getBundle(String)</CODE></A> in the following hierarchy:
    +
    + <pre>
    + <A HREF="../../../../org/jacoco/core/analysis/IBundleCoverage.html" title="interface in org.jacoco.core.analysis"><CODE>IBundleCoverage</CODE></A>
    + +-- <A HREF="../../../../org/jacoco/core/analysis/IPackageCoverage.html" title="interface in org.jacoco.core.analysis"><CODE>IPackageCoverage</CODE></A>*
    +     +-- <A HREF="../../../../org/jacoco/core/analysis/IClassCoverage.html" title="interface in org.jacoco.core.analysis"><CODE>IClassCoverage</CODE></A>*
    +     +-- <A HREF="../../../../org/jacoco/core/analysis/ISourceFileCoverage.html" title="interface in org.jacoco.core.analysis"><CODE>ISourceFileCoverage</CODE></A>*
    + </pre>
    +<P>
    +
    +<P>
    +<HR>
    +
    +<P>
    +
    +<!-- ======== CONSTRUCTOR SUMMARY ======== -->
    +
    +<A NAME="constructor_summary"><!-- --></A>
    +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
    +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
    +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
    +<B>Constructor Summary</B></FONT></TH>
    +</TR>
    +<TR BGCOLOR="white" CLASS="TableRowColor">
    +<TD><CODE><B><A HREF="../../../../org/jacoco/core/analysis/CoverageBuilder.html#CoverageBuilder()">CoverageBuilder</A></B>()</CODE>
    +
    +<BR>
    +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Create a new builder.</TD>
    +</TR>
    +</TABLE>
    +&nbsp;
    +<!-- ========== METHOD SUMMARY =========== -->
    +
    +<A NAME="method_summary"><!-- --></A>
    +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
    +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
    +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
    +<B>Method Summary</B></FONT></TH>
    +</TR>
    +<TR BGCOLOR="white" CLASS="TableRowColor">
    +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
    +<CODE>&nbsp;<A HREF="../../../../org/jacoco/core/analysis/IBundleCoverage.html" title="interface in org.jacoco.core.analysis">IBundleCoverage</A></CODE></FONT></TD>
    +<TD><CODE><B><A HREF="../../../../org/jacoco/core/analysis/CoverageBuilder.html#getBundle(java.lang.String)">getBundle</A></B>(<A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A>&nbsp;name)</CODE>
    +
    +<BR>
    +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Creates a bundle from all nodes currently contained in this bundle.</TD>
    +</TR>
    +<TR BGCOLOR="white" CLASS="TableRowColor">
    +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
    +<CODE>&nbsp;<A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/util/Collection.html" title="class or interface in java.util">Collection</A>&lt;<A HREF="../../../../org/jacoco/core/analysis/IClassCoverage.html" title="interface in org.jacoco.core.analysis">IClassCoverage</A>&gt;</CODE></FONT></TD>
    +<TD><CODE><B><A HREF="../../../../org/jacoco/core/analysis/CoverageBuilder.html#getClasses()">getClasses</A></B>()</CODE>
    +
    +<BR>
    +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns all class nodes currently contained in this builder.</TD>
    +</TR>
    +<TR BGCOLOR="white" CLASS="TableRowColor">
    +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
    +<CODE>&nbsp;<A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/util/Collection.html" title="class or interface in java.util">Collection</A>&lt;<A HREF="../../../../org/jacoco/core/analysis/IClassCoverage.html" title="interface in org.jacoco.core.analysis">IClassCoverage</A>&gt;</CODE></FONT></TD>
    +<TD><CODE><B><A HREF="../../../../org/jacoco/core/analysis/CoverageBuilder.html#getNoMatchClasses()">getNoMatchClasses</A></B>()</CODE>
    +
    +<BR>
    +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns all classes for which execution data does not match.</TD>
    +</TR>
    +<TR BGCOLOR="white" CLASS="TableRowColor">
    +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
    +<CODE>&nbsp;<A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/util/Collection.html" title="class or interface in java.util">Collection</A>&lt;<A HREF="../../../../org/jacoco/core/analysis/ISourceFileCoverage.html" title="interface in org.jacoco.core.analysis">ISourceFileCoverage</A>&gt;</CODE></FONT></TD>
    +<TD><CODE><B><A HREF="../../../../org/jacoco/core/analysis/CoverageBuilder.html#getSourceFiles()">getSourceFiles</A></B>()</CODE>
    +
    +<BR>
    +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns all source file nodes currently contained in this builder.</TD>
    +</TR>
    +<TR BGCOLOR="white" CLASS="TableRowColor">
    +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
    +<CODE>&nbsp;void</CODE></FONT></TD>
    +<TD><CODE><B><A HREF="../../../../org/jacoco/core/analysis/CoverageBuilder.html#visitCoverage(org.jacoco.core.analysis.IClassCoverage)">visitCoverage</A></B>(<A HREF="../../../../org/jacoco/core/analysis/IClassCoverage.html" title="interface in org.jacoco.core.analysis">IClassCoverage</A>&nbsp;coverage)</CODE>
    +
    +<BR>
    +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;For analyzed class coverage data is emitted to this method.</TD>
    +</TR>
    +</TABLE>
    +&nbsp;<A NAME="methods_inherited_from_class_java.lang.Object"><!-- --></A>
    +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
    +<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
    +<TH ALIGN="left"><B>Methods inherited from class java.lang.<A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html" title="class or interface in java.lang">Object</A></B></TH>
    +</TR>
    +<TR BGCOLOR="white" CLASS="TableRowColor">
    +<TD><CODE><A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html#clone()" title="class or interface in java.lang">clone</A>, <A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html#equals(java.lang.Object)" title="class or interface in java.lang">equals</A>, <A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html#finalize()" title="class or interface in java.lang">finalize</A>, <A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html#getClass()" title="class or interface in java.lang">getClass</A>, <A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html#hashCode()" title="class or interface in java.lang">hashCode</A>, <A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html#notify()" title="class or interface in java.lang">notify</A>, <A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html#notifyAll()" title="class or interface in java.lang">notifyAll</A>, <A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html#toString()" title="class or interface in java.lang">toString</A>, <A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html#wait()" title="class or interface in java.lang">wait</A>, <A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html#wait(long)" title="class or interface in java.lang">wait</A>, <A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html#wait(long, int)" title="class or interface in java.lang">wait</A></CODE></TD>
    +</TR>
    +</TABLE>
    +&nbsp;
    +<P>
    +
    +<!-- ========= CONSTRUCTOR DETAIL ======== -->
    +
    +<A NAME="constructor_detail"><!-- --></A>
    +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
    +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
    +<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2">
    +<B>Constructor Detail</B></FONT></TH>
    +</TR>
    +</TABLE>
    +
    +<A NAME="CoverageBuilder()"><!-- --></A><H3>
    +CoverageBuilder</H3>
    +<PRE>
    +public <B>CoverageBuilder</B>()</PRE>
    +<DL>
    +<DD>Create a new builder.
    +<P>
    +</DL>
    +
    +<!-- ============ METHOD DETAIL ========== -->
    +
    +<A NAME="method_detail"><!-- --></A>
    +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
    +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
    +<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2">
    +<B>Method Detail</B></FONT></TH>
    +</TR>
    +</TABLE>
    +
    +<A NAME="getClasses()"><!-- --></A><H3>
    +getClasses</H3>
    +<PRE>
    +public <A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/util/Collection.html" title="class or interface in java.util">Collection</A>&lt;<A HREF="../../../../org/jacoco/core/analysis/IClassCoverage.html" title="interface in org.jacoco.core.analysis">IClassCoverage</A>&gt; <B>getClasses</B>()</PRE>
    +<DL>
    +<DD>Returns all class nodes currently contained in this builder.
    +<P>
    +<DD><DL>
    +</DL>
    +</DD>
    +<DD><DL>
    +
    +<DT><B>Returns:</B><DD>all class nodes</DL>
    +</DD>
    +</DL>
    +<HR>
    +
    +<A NAME="getSourceFiles()"><!-- --></A><H3>
    +getSourceFiles</H3>
    +<PRE>
    +public <A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/util/Collection.html" title="class or interface in java.util">Collection</A>&lt;<A HREF="../../../../org/jacoco/core/analysis/ISourceFileCoverage.html" title="interface in org.jacoco.core.analysis">ISourceFileCoverage</A>&gt; <B>getSourceFiles</B>()</PRE>
    +<DL>
    +<DD>Returns all source file nodes currently contained in this builder.
    +<P>
    +<DD><DL>
    +</DL>
    +</DD>
    +<DD><DL>
    +
    +<DT><B>Returns:</B><DD>all source file nodes</DL>
    +</DD>
    +</DL>
    +<HR>
    +
    +<A NAME="getBundle(java.lang.String)"><!-- --></A><H3>
    +getBundle</H3>
    +<PRE>
    +public <A HREF="../../../../org/jacoco/core/analysis/IBundleCoverage.html" title="interface in org.jacoco.core.analysis">IBundleCoverage</A> <B>getBundle</B>(<A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A>&nbsp;name)</PRE>
    +<DL>
    +<DD>Creates a bundle from all nodes currently contained in this bundle.
    +<P>
    +<DD><DL>
    +</DL>
    +</DD>
    +<DD><DL>
    +<DT><B>Parameters:</B><DD><CODE>name</CODE> - Name of the bundle
    +<DT><B>Returns:</B><DD>bundle containing all classes and source files</DL>
    +</DD>
    +</DL>
    +<HR>
    +
    +<A NAME="getNoMatchClasses()"><!-- --></A><H3>
    +getNoMatchClasses</H3>
    +<PRE>
    +public <A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/util/Collection.html" title="class or interface in java.util">Collection</A>&lt;<A HREF="../../../../org/jacoco/core/analysis/IClassCoverage.html" title="interface in org.jacoco.core.analysis">IClassCoverage</A>&gt; <B>getNoMatchClasses</B>()</PRE>
    +<DL>
    +<DD>Returns all classes for which execution data does not match.
    +<P>
    +<DD><DL>
    +</DL>
    +</DD>
    +<DD><DL>
    +
    +<DT><B>Returns:</B><DD>collection of classes with non-matching execution data<DT><B>See Also:</B><DD><A HREF="../../../../org/jacoco/core/analysis/IClassCoverage.html#isNoMatch()"><CODE>IClassCoverage.isNoMatch()</CODE></A></DL>
    +</DD>
    +</DL>
    +<HR>
    +
    +<A NAME="visitCoverage(org.jacoco.core.analysis.IClassCoverage)"><!-- --></A><H3>
    +visitCoverage</H3>
    +<PRE>
    +public void <B>visitCoverage</B>(<A HREF="../../../../org/jacoco/core/analysis/IClassCoverage.html" title="interface in org.jacoco.core.analysis">IClassCoverage</A>&nbsp;coverage)</PRE>
    +<DL>
    +<DD><B>Description copied from interface: <CODE><A HREF="../../../../org/jacoco/core/analysis/ICoverageVisitor.html#visitCoverage(org.jacoco.core.analysis.IClassCoverage)">ICoverageVisitor</A></CODE></B></DD>
    +<DD>For analyzed class coverage data is emitted to this method.
    +<P>
    +<DD><DL>
    +<DT><B>Specified by:</B><DD><CODE><A HREF="../../../../org/jacoco/core/analysis/ICoverageVisitor.html#visitCoverage(org.jacoco.core.analysis.IClassCoverage)">visitCoverage</A></CODE> in interface <CODE><A HREF="../../../../org/jacoco/core/analysis/ICoverageVisitor.html" title="interface in org.jacoco.core.analysis">ICoverageVisitor</A></CODE></DL>
    +</DD>
    +<DD><DL>
    +<DT><B>Parameters:</B><DD><CODE>coverage</CODE> - coverage data for a class</DL>
    +</DD>
    +</DL>
    +<!-- ========= END OF CLASS DATA ========= -->
    +<HR>
    +
    +
    +<!-- ======= START OF BOTTOM NAVBAR ====== -->
    +<A NAME="navbar_bottom"><!-- --></A>
    +<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
    +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
    +<TR>
    +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
    +<A NAME="navbar_bottom_firstrow"><!-- --></A>
    +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
    +  <TR ALIGN="center" VALIGN="top">
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="class-use/CoverageBuilder.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
    +  </TR>
    +</TABLE>
    +</TD>
    +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
    +</EM>
    +</TD>
    +</TR>
    +
    +<TR>
    +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
    +&nbsp;<A HREF="../../../../org/jacoco/core/analysis/CounterComparator.html" title="class in org.jacoco.core.analysis"><B>PREV CLASS</B></A>&nbsp;
    +&nbsp;<A HREF="../../../../org/jacoco/core/analysis/CoverageNodeImpl.html" title="class in org.jacoco.core.analysis"><B>NEXT CLASS</B></A></FONT></TD>
    +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
    +  <A HREF="../../../../index.html?org/jacoco/core/analysis/CoverageBuilder.html" target="_top"><B>FRAMES</B></A>  &nbsp;
    +&nbsp;<A HREF="CoverageBuilder.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
    +&nbsp;<SCRIPT type="text/javascript">
    +  <!--
    +  if(window==top) {
    +    document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>');
    +  }
    +  //-->
    +</SCRIPT>
    +<NOSCRIPT>
    +  <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>
    +</NOSCRIPT>
    +
    +
    +</FONT></TD>
    +</TR>
    +<TR>
    +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
    +  SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;FIELD&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD>
    +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
    +DETAIL:&nbsp;FIELD&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD>
    +</TR>
    +</TABLE>
    +<A NAME="skip-navbar_bottom"></A>
    +<!-- ======== END OF BOTTOM NAVBAR ======= -->
    +
    +<HR>
    +Copyright &#169; 2009&#x2013;2024 Mountainminds GmbH & Co. KG. All rights reserved.
    +</BODY>
    +</HTML>
    diff --git a/jacoco/trunk/doc/api/org/jacoco/core/analysis/CoverageNodeImpl.html b/jacoco/trunk/doc/api/org/jacoco/core/analysis/CoverageNodeImpl.html
    new file mode 100644
    index 00000000000..4ad3bab3fb3
    --- /dev/null
    +++ b/jacoco/trunk/doc/api/org/jacoco/core/analysis/CoverageNodeImpl.html
    @@ -0,0 +1,763 @@
    +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
    +<!--NewPage-->
    +<HTML>
    +<HEAD>
    +<!-- Generated by javadoc (build 1.5.0_22) on Wed Mar 27 16:45:41 UTC 2024 -->
    +<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
    +<TITLE>
    +CoverageNodeImpl (JaCoCo 0.8.12.202403270442 API)
    +</TITLE>
    +
    +<META NAME="keywords" CONTENT="org.jacoco.core.analysis.CoverageNodeImpl class">
    +
    +<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../stylesheet.css" TITLE="Style">
    +
    +<SCRIPT type="text/javascript">
    +function windowTitle()
    +{
    +    parent.document.title="CoverageNodeImpl (JaCoCo 0.8.12.202403270442 API)";
    +}
    +</SCRIPT>
    +<NOSCRIPT>
    +</NOSCRIPT>
    +
    +</HEAD>
    +
    +<BODY BGCOLOR="white" onload="windowTitle();">
    +
    +
    +<!-- ========= START OF TOP NAVBAR ======= -->
    +<A NAME="navbar_top"><!-- --></A>
    +<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
    +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
    +<TR>
    +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
    +<A NAME="navbar_top_firstrow"><!-- --></A>
    +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
    +  <TR ALIGN="center" VALIGN="top">
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="class-use/CoverageNodeImpl.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
    +  </TR>
    +</TABLE>
    +</TD>
    +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
    +</EM>
    +</TD>
    +</TR>
    +
    +<TR>
    +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
    +&nbsp;<A HREF="../../../../org/jacoco/core/analysis/CoverageBuilder.html" title="class in org.jacoco.core.analysis"><B>PREV CLASS</B></A>&nbsp;
    +&nbsp;<A HREF="../../../../org/jacoco/core/analysis/IBundleCoverage.html" title="interface in org.jacoco.core.analysis"><B>NEXT CLASS</B></A></FONT></TD>
    +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
    +  <A HREF="../../../../index.html?org/jacoco/core/analysis/CoverageNodeImpl.html" target="_top"><B>FRAMES</B></A>  &nbsp;
    +&nbsp;<A HREF="CoverageNodeImpl.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
    +&nbsp;<SCRIPT type="text/javascript">
    +  <!--
    +  if(window==top) {
    +    document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>');
    +  }
    +  //-->
    +</SCRIPT>
    +<NOSCRIPT>
    +  <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>
    +</NOSCRIPT>
    +
    +
    +</FONT></TD>
    +</TR>
    +<TR>
    +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
    +  SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;<A HREF="#field_summary">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD>
    +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
    +DETAIL:&nbsp;<A HREF="#field_detail">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD>
    +</TR>
    +</TABLE>
    +<A NAME="skip-navbar_top"></A>
    +<!-- ========= END OF TOP NAVBAR ========= -->
    +
    +<HR>
    +<!-- ======== START OF CLASS DATA ======== -->
    +<H2>
    +<FONT SIZE="-1">
    +org.jacoco.core.analysis</FONT>
    +<BR>
    +Class CoverageNodeImpl</H2>
    +<PRE>
    +<A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html" title="class or interface in java.lang">java.lang.Object</A>
    +  <IMG SRC="../../../../resources/inherit.gif" ALT="extended by "><B>org.jacoco.core.analysis.CoverageNodeImpl</B>
    +</PRE>
    +<DL>
    +<DT><B>All Implemented Interfaces:</B> <DD><A HREF="../../../../org/jacoco/core/analysis/ICoverageNode.html" title="interface in org.jacoco.core.analysis">ICoverageNode</A></DD>
    +</DL>
    +<HR>
    +<DL>
    +<DT><PRE>public class <B>CoverageNodeImpl</B><DT>extends <A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html" title="class or interface in java.lang">Object</A><DT>implements <A HREF="../../../../org/jacoco/core/analysis/ICoverageNode.html" title="interface in org.jacoco.core.analysis">ICoverageNode</A></DL>
    +</PRE>
    +
    +<P>
    +Base implementation for coverage data nodes.
    +<P>
    +
    +<P>
    +<HR>
    +
    +<P>
    +<!-- ======== NESTED CLASS SUMMARY ======== -->
    +
    +<A NAME="nested_class_summary"><!-- --></A>
    +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
    +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
    +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
    +<B>Nested Class Summary</B></FONT></TH>
    +</TR>
    +</TABLE>
    +&nbsp;<A NAME="nested_classes_inherited_from_class_org.jacoco.core.analysis.ICoverageNode"><!-- --></A>
    +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
    +<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
    +<TH ALIGN="left"><B>Nested classes/interfaces inherited from interface org.jacoco.core.analysis.<A HREF="../../../../org/jacoco/core/analysis/ICoverageNode.html" title="interface in org.jacoco.core.analysis">ICoverageNode</A></B></TH>
    +</TR>
    +<TR BGCOLOR="white" CLASS="TableRowColor">
    +<TD><CODE><A HREF="../../../../org/jacoco/core/analysis/ICoverageNode.CounterEntity.html" title="enum in org.jacoco.core.analysis">ICoverageNode.CounterEntity</A>, <A HREF="../../../../org/jacoco/core/analysis/ICoverageNode.ElementType.html" title="enum in org.jacoco.core.analysis">ICoverageNode.ElementType</A></CODE></TD>
    +</TR>
    +</TABLE>
    +&nbsp;
    +<!-- =========== FIELD SUMMARY =========== -->
    +
    +<A NAME="field_summary"><!-- --></A>
    +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
    +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
    +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
    +<B>Field Summary</B></FONT></TH>
    +</TR>
    +<TR BGCOLOR="white" CLASS="TableRowColor">
    +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
    +<CODE>protected &nbsp;org.jacoco.core.internal.analysis.CounterImpl</CODE></FONT></TD>
    +<TD><CODE><B><A HREF="../../../../org/jacoco/core/analysis/CoverageNodeImpl.html#branchCounter">branchCounter</A></B></CODE>
    +
    +<BR>
    +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Counter for branches.</TD>
    +</TR>
    +<TR BGCOLOR="white" CLASS="TableRowColor">
    +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
    +<CODE>protected &nbsp;org.jacoco.core.internal.analysis.CounterImpl</CODE></FONT></TD>
    +<TD><CODE><B><A HREF="../../../../org/jacoco/core/analysis/CoverageNodeImpl.html#classCounter">classCounter</A></B></CODE>
    +
    +<BR>
    +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Counter for classes.</TD>
    +</TR>
    +<TR BGCOLOR="white" CLASS="TableRowColor">
    +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
    +<CODE>protected &nbsp;org.jacoco.core.internal.analysis.CounterImpl</CODE></FONT></TD>
    +<TD><CODE><B><A HREF="../../../../org/jacoco/core/analysis/CoverageNodeImpl.html#complexityCounter">complexityCounter</A></B></CODE>
    +
    +<BR>
    +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Counter for complexity.</TD>
    +</TR>
    +<TR BGCOLOR="white" CLASS="TableRowColor">
    +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
    +<CODE>protected &nbsp;org.jacoco.core.internal.analysis.CounterImpl</CODE></FONT></TD>
    +<TD><CODE><B><A HREF="../../../../org/jacoco/core/analysis/CoverageNodeImpl.html#instructionCounter">instructionCounter</A></B></CODE>
    +
    +<BR>
    +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Counter for instructions.</TD>
    +</TR>
    +<TR BGCOLOR="white" CLASS="TableRowColor">
    +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
    +<CODE>protected &nbsp;org.jacoco.core.internal.analysis.CounterImpl</CODE></FONT></TD>
    +<TD><CODE><B><A HREF="../../../../org/jacoco/core/analysis/CoverageNodeImpl.html#lineCounter">lineCounter</A></B></CODE>
    +
    +<BR>
    +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Counter for lines</TD>
    +</TR>
    +<TR BGCOLOR="white" CLASS="TableRowColor">
    +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
    +<CODE>protected &nbsp;org.jacoco.core.internal.analysis.CounterImpl</CODE></FONT></TD>
    +<TD><CODE><B><A HREF="../../../../org/jacoco/core/analysis/CoverageNodeImpl.html#methodCounter">methodCounter</A></B></CODE>
    +
    +<BR>
    +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Counter for methods.</TD>
    +</TR>
    +</TABLE>
    +&nbsp;
    +<!-- ======== CONSTRUCTOR SUMMARY ======== -->
    +
    +<A NAME="constructor_summary"><!-- --></A>
    +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
    +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
    +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
    +<B>Constructor Summary</B></FONT></TH>
    +</TR>
    +<TR BGCOLOR="white" CLASS="TableRowColor">
    +<TD><CODE><B><A HREF="../../../../org/jacoco/core/analysis/CoverageNodeImpl.html#CoverageNodeImpl(org.jacoco.core.analysis.ICoverageNode.ElementType, java.lang.String)">CoverageNodeImpl</A></B>(<A HREF="../../../../org/jacoco/core/analysis/ICoverageNode.ElementType.html" title="enum in org.jacoco.core.analysis">ICoverageNode.ElementType</A>&nbsp;elementType,
    +                 <A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A>&nbsp;name)</CODE>
    +
    +<BR>
    +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Creates a new coverage data node.</TD>
    +</TR>
    +</TABLE>
    +&nbsp;
    +<!-- ========== METHOD SUMMARY =========== -->
    +
    +<A NAME="method_summary"><!-- --></A>
    +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
    +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
    +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
    +<B>Method Summary</B></FONT></TH>
    +</TR>
    +<TR BGCOLOR="white" CLASS="TableRowColor">
    +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
    +<CODE>&nbsp;boolean</CODE></FONT></TD>
    +<TD><CODE><B><A HREF="../../../../org/jacoco/core/analysis/CoverageNodeImpl.html#containsCode()">containsCode</A></B>()</CODE>
    +
    +<BR>
    +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Checks whether this node contains code relevant for code coverage.</TD>
    +</TR>
    +<TR BGCOLOR="white" CLASS="TableRowColor">
    +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
    +<CODE>&nbsp;<A HREF="../../../../org/jacoco/core/analysis/ICounter.html" title="interface in org.jacoco.core.analysis">ICounter</A></CODE></FONT></TD>
    +<TD><CODE><B><A HREF="../../../../org/jacoco/core/analysis/CoverageNodeImpl.html#getBranchCounter()">getBranchCounter</A></B>()</CODE>
    +
    +<BR>
    +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns the counter for branches.</TD>
    +</TR>
    +<TR BGCOLOR="white" CLASS="TableRowColor">
    +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
    +<CODE>&nbsp;<A HREF="../../../../org/jacoco/core/analysis/ICounter.html" title="interface in org.jacoco.core.analysis">ICounter</A></CODE></FONT></TD>
    +<TD><CODE><B><A HREF="../../../../org/jacoco/core/analysis/CoverageNodeImpl.html#getClassCounter()">getClassCounter</A></B>()</CODE>
    +
    +<BR>
    +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns the counter for classes.</TD>
    +</TR>
    +<TR BGCOLOR="white" CLASS="TableRowColor">
    +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
    +<CODE>&nbsp;<A HREF="../../../../org/jacoco/core/analysis/ICounter.html" title="interface in org.jacoco.core.analysis">ICounter</A></CODE></FONT></TD>
    +<TD><CODE><B><A HREF="../../../../org/jacoco/core/analysis/CoverageNodeImpl.html#getComplexityCounter()">getComplexityCounter</A></B>()</CODE>
    +
    +<BR>
    +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns the counter for cyclomatic complexity.</TD>
    +</TR>
    +<TR BGCOLOR="white" CLASS="TableRowColor">
    +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
    +<CODE>&nbsp;<A HREF="../../../../org/jacoco/core/analysis/ICounter.html" title="interface in org.jacoco.core.analysis">ICounter</A></CODE></FONT></TD>
    +<TD><CODE><B><A HREF="../../../../org/jacoco/core/analysis/CoverageNodeImpl.html#getCounter(org.jacoco.core.analysis.ICoverageNode.CounterEntity)">getCounter</A></B>(<A HREF="../../../../org/jacoco/core/analysis/ICoverageNode.CounterEntity.html" title="enum in org.jacoco.core.analysis">ICoverageNode.CounterEntity</A>&nbsp;entity)</CODE>
    +
    +<BR>
    +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Generic access to the counters.</TD>
    +</TR>
    +<TR BGCOLOR="white" CLASS="TableRowColor">
    +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
    +<CODE>&nbsp;<A HREF="../../../../org/jacoco/core/analysis/ICoverageNode.ElementType.html" title="enum in org.jacoco.core.analysis">ICoverageNode.ElementType</A></CODE></FONT></TD>
    +<TD><CODE><B><A HREF="../../../../org/jacoco/core/analysis/CoverageNodeImpl.html#getElementType()">getElementType</A></B>()</CODE>
    +
    +<BR>
    +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns the type of element represented by this node.</TD>
    +</TR>
    +<TR BGCOLOR="white" CLASS="TableRowColor">
    +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
    +<CODE>&nbsp;<A HREF="../../../../org/jacoco/core/analysis/ICounter.html" title="interface in org.jacoco.core.analysis">ICounter</A></CODE></FONT></TD>
    +<TD><CODE><B><A HREF="../../../../org/jacoco/core/analysis/CoverageNodeImpl.html#getInstructionCounter()">getInstructionCounter</A></B>()</CODE>
    +
    +<BR>
    +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns the counter for byte code instructions.</TD>
    +</TR>
    +<TR BGCOLOR="white" CLASS="TableRowColor">
    +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
    +<CODE>&nbsp;<A HREF="../../../../org/jacoco/core/analysis/ICounter.html" title="interface in org.jacoco.core.analysis">ICounter</A></CODE></FONT></TD>
    +<TD><CODE><B><A HREF="../../../../org/jacoco/core/analysis/CoverageNodeImpl.html#getLineCounter()">getLineCounter</A></B>()</CODE>
    +
    +<BR>
    +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns the counter for lines.</TD>
    +</TR>
    +<TR BGCOLOR="white" CLASS="TableRowColor">
    +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
    +<CODE>&nbsp;<A HREF="../../../../org/jacoco/core/analysis/ICounter.html" title="interface in org.jacoco.core.analysis">ICounter</A></CODE></FONT></TD>
    +<TD><CODE><B><A HREF="../../../../org/jacoco/core/analysis/CoverageNodeImpl.html#getMethodCounter()">getMethodCounter</A></B>()</CODE>
    +
    +<BR>
    +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns the counter for methods.</TD>
    +</TR>
    +<TR BGCOLOR="white" CLASS="TableRowColor">
    +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
    +<CODE>&nbsp;<A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A></CODE></FONT></TD>
    +<TD><CODE><B><A HREF="../../../../org/jacoco/core/analysis/CoverageNodeImpl.html#getName()">getName</A></B>()</CODE>
    +
    +<BR>
    +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns the name of this node.</TD>
    +</TR>
    +<TR BGCOLOR="white" CLASS="TableRowColor">
    +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
    +<CODE>&nbsp;<A HREF="../../../../org/jacoco/core/analysis/ICoverageNode.html" title="interface in org.jacoco.core.analysis">ICoverageNode</A></CODE></FONT></TD>
    +<TD><CODE><B><A HREF="../../../../org/jacoco/core/analysis/CoverageNodeImpl.html#getPlainCopy()">getPlainCopy</A></B>()</CODE>
    +
    +<BR>
    +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Creates a plain copy of this node.</TD>
    +</TR>
    +<TR BGCOLOR="white" CLASS="TableRowColor">
    +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
    +<CODE>&nbsp;void</CODE></FONT></TD>
    +<TD><CODE><B><A HREF="../../../../org/jacoco/core/analysis/CoverageNodeImpl.html#increment(java.util.Collection)">increment</A></B>(<A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/util/Collection.html" title="class or interface in java.util">Collection</A>&lt;? extends <A HREF="../../../../org/jacoco/core/analysis/ICoverageNode.html" title="interface in org.jacoco.core.analysis">ICoverageNode</A>&gt;&nbsp;children)</CODE>
    +
    +<BR>
    +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Increments the counters by the values given by the collection of
    + elements.</TD>
    +</TR>
    +<TR BGCOLOR="white" CLASS="TableRowColor">
    +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
    +<CODE>&nbsp;void</CODE></FONT></TD>
    +<TD><CODE><B><A HREF="../../../../org/jacoco/core/analysis/CoverageNodeImpl.html#increment(org.jacoco.core.analysis.ICoverageNode)">increment</A></B>(<A HREF="../../../../org/jacoco/core/analysis/ICoverageNode.html" title="interface in org.jacoco.core.analysis">ICoverageNode</A>&nbsp;child)</CODE>
    +
    +<BR>
    +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Increments the counters by the values given by another element.</TD>
    +</TR>
    +<TR BGCOLOR="white" CLASS="TableRowColor">
    +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
    +<CODE>&nbsp;<A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A></CODE></FONT></TD>
    +<TD><CODE><B><A HREF="../../../../org/jacoco/core/analysis/CoverageNodeImpl.html#toString()">toString</A></B>()</CODE>
    +
    +<BR>
    +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
    +</TR>
    +</TABLE>
    +&nbsp;<A NAME="methods_inherited_from_class_java.lang.Object"><!-- --></A>
    +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
    +<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
    +<TH ALIGN="left"><B>Methods inherited from class java.lang.<A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html" title="class or interface in java.lang">Object</A></B></TH>
    +</TR>
    +<TR BGCOLOR="white" CLASS="TableRowColor">
    +<TD><CODE><A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html#clone()" title="class or interface in java.lang">clone</A>, <A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html#equals(java.lang.Object)" title="class or interface in java.lang">equals</A>, <A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html#finalize()" title="class or interface in java.lang">finalize</A>, <A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html#getClass()" title="class or interface in java.lang">getClass</A>, <A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html#hashCode()" title="class or interface in java.lang">hashCode</A>, <A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html#notify()" title="class or interface in java.lang">notify</A>, <A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html#notifyAll()" title="class or interface in java.lang">notifyAll</A>, <A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html#wait()" title="class or interface in java.lang">wait</A>, <A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html#wait(long)" title="class or interface in java.lang">wait</A>, <A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html#wait(long, int)" title="class or interface in java.lang">wait</A></CODE></TD>
    +</TR>
    +</TABLE>
    +&nbsp;
    +<P>
    +
    +<!-- ============ FIELD DETAIL =========== -->
    +
    +<A NAME="field_detail"><!-- --></A>
    +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
    +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
    +<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2">
    +<B>Field Detail</B></FONT></TH>
    +</TR>
    +</TABLE>
    +
    +<A NAME="branchCounter"><!-- --></A><H3>
    +branchCounter</H3>
    +<PRE>
    +protected org.jacoco.core.internal.analysis.CounterImpl <B>branchCounter</B></PRE>
    +<DL>
    +<DD>Counter for branches.
    +<P>
    +<DL>
    +</DL>
    +</DL>
    +<HR>
    +
    +<A NAME="instructionCounter"><!-- --></A><H3>
    +instructionCounter</H3>
    +<PRE>
    +protected org.jacoco.core.internal.analysis.CounterImpl <B>instructionCounter</B></PRE>
    +<DL>
    +<DD>Counter for instructions.
    +<P>
    +<DL>
    +</DL>
    +</DL>
    +<HR>
    +
    +<A NAME="lineCounter"><!-- --></A><H3>
    +lineCounter</H3>
    +<PRE>
    +protected org.jacoco.core.internal.analysis.CounterImpl <B>lineCounter</B></PRE>
    +<DL>
    +<DD>Counter for lines
    +<P>
    +<DL>
    +</DL>
    +</DL>
    +<HR>
    +
    +<A NAME="complexityCounter"><!-- --></A><H3>
    +complexityCounter</H3>
    +<PRE>
    +protected org.jacoco.core.internal.analysis.CounterImpl <B>complexityCounter</B></PRE>
    +<DL>
    +<DD>Counter for complexity.
    +<P>
    +<DL>
    +</DL>
    +</DL>
    +<HR>
    +
    +<A NAME="methodCounter"><!-- --></A><H3>
    +methodCounter</H3>
    +<PRE>
    +protected org.jacoco.core.internal.analysis.CounterImpl <B>methodCounter</B></PRE>
    +<DL>
    +<DD>Counter for methods.
    +<P>
    +<DL>
    +</DL>
    +</DL>
    +<HR>
    +
    +<A NAME="classCounter"><!-- --></A><H3>
    +classCounter</H3>
    +<PRE>
    +protected org.jacoco.core.internal.analysis.CounterImpl <B>classCounter</B></PRE>
    +<DL>
    +<DD>Counter for classes.
    +<P>
    +<DL>
    +</DL>
    +</DL>
    +
    +<!-- ========= CONSTRUCTOR DETAIL ======== -->
    +
    +<A NAME="constructor_detail"><!-- --></A>
    +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
    +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
    +<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2">
    +<B>Constructor Detail</B></FONT></TH>
    +</TR>
    +</TABLE>
    +
    +<A NAME="CoverageNodeImpl(org.jacoco.core.analysis.ICoverageNode.ElementType, java.lang.String)"><!-- --></A><H3>
    +CoverageNodeImpl</H3>
    +<PRE>
    +public <B>CoverageNodeImpl</B>(<A HREF="../../../../org/jacoco/core/analysis/ICoverageNode.ElementType.html" title="enum in org.jacoco.core.analysis">ICoverageNode.ElementType</A>&nbsp;elementType,
    +                        <A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A>&nbsp;name)</PRE>
    +<DL>
    +<DD>Creates a new coverage data node.
    +<P>
    +<DL>
    +<DT><B>Parameters:</B><DD><CODE>elementType</CODE> - type of the element represented by this instance<DD><CODE>name</CODE> - name of this node</DL>
    +</DL>
    +
    +<!-- ============ METHOD DETAIL ========== -->
    +
    +<A NAME="method_detail"><!-- --></A>
    +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
    +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
    +<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2">
    +<B>Method Detail</B></FONT></TH>
    +</TR>
    +</TABLE>
    +
    +<A NAME="increment(org.jacoco.core.analysis.ICoverageNode)"><!-- --></A><H3>
    +increment</H3>
    +<PRE>
    +public void <B>increment</B>(<A HREF="../../../../org/jacoco/core/analysis/ICoverageNode.html" title="interface in org.jacoco.core.analysis">ICoverageNode</A>&nbsp;child)</PRE>
    +<DL>
    +<DD>Increments the counters by the values given by another element.
    +<P>
    +<DD><DL>
    +</DL>
    +</DD>
    +<DD><DL>
    +<DT><B>Parameters:</B><DD><CODE>child</CODE> - counters to add</DL>
    +</DD>
    +</DL>
    +<HR>
    +
    +<A NAME="increment(java.util.Collection)"><!-- --></A><H3>
    +increment</H3>
    +<PRE>
    +public void <B>increment</B>(<A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/util/Collection.html" title="class or interface in java.util">Collection</A>&lt;? extends <A HREF="../../../../org/jacoco/core/analysis/ICoverageNode.html" title="interface in org.jacoco.core.analysis">ICoverageNode</A>&gt;&nbsp;children)</PRE>
    +<DL>
    +<DD>Increments the counters by the values given by the collection of
    + elements.
    +<P>
    +<DD><DL>
    +</DL>
    +</DD>
    +<DD><DL>
    +<DT><B>Parameters:</B><DD><CODE>children</CODE> - list of nodes, which counters will be added to this node</DL>
    +</DD>
    +</DL>
    +<HR>
    +
    +<A NAME="getElementType()"><!-- --></A><H3>
    +getElementType</H3>
    +<PRE>
    +public <A HREF="../../../../org/jacoco/core/analysis/ICoverageNode.ElementType.html" title="enum in org.jacoco.core.analysis">ICoverageNode.ElementType</A> <B>getElementType</B>()</PRE>
    +<DL>
    +<DD><B>Description copied from interface: <CODE><A HREF="../../../../org/jacoco/core/analysis/ICoverageNode.html#getElementType()">ICoverageNode</A></CODE></B></DD>
    +<DD>Returns the type of element represented by this node.
    +<P>
    +<DD><DL>
    +<DT><B>Specified by:</B><DD><CODE><A HREF="../../../../org/jacoco/core/analysis/ICoverageNode.html#getElementType()">getElementType</A></CODE> in interface <CODE><A HREF="../../../../org/jacoco/core/analysis/ICoverageNode.html" title="interface in org.jacoco.core.analysis">ICoverageNode</A></CODE></DL>
    +</DD>
    +<DD><DL>
    +
    +<DT><B>Returns:</B><DD>type of this node</DL>
    +</DD>
    +</DL>
    +<HR>
    +
    +<A NAME="getName()"><!-- --></A><H3>
    +getName</H3>
    +<PRE>
    +public <A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> <B>getName</B>()</PRE>
    +<DL>
    +<DD><B>Description copied from interface: <CODE><A HREF="../../../../org/jacoco/core/analysis/ICoverageNode.html#getName()">ICoverageNode</A></CODE></B></DD>
    +<DD>Returns the name of this node.
    +<P>
    +<DD><DL>
    +<DT><B>Specified by:</B><DD><CODE><A HREF="../../../../org/jacoco/core/analysis/ICoverageNode.html#getName()">getName</A></CODE> in interface <CODE><A HREF="../../../../org/jacoco/core/analysis/ICoverageNode.html" title="interface in org.jacoco.core.analysis">ICoverageNode</A></CODE></DL>
    +</DD>
    +<DD><DL>
    +
    +<DT><B>Returns:</B><DD>name of this node</DL>
    +</DD>
    +</DL>
    +<HR>
    +
    +<A NAME="getInstructionCounter()"><!-- --></A><H3>
    +getInstructionCounter</H3>
    +<PRE>
    +public <A HREF="../../../../org/jacoco/core/analysis/ICounter.html" title="interface in org.jacoco.core.analysis">ICounter</A> <B>getInstructionCounter</B>()</PRE>
    +<DL>
    +<DD><B>Description copied from interface: <CODE><A HREF="../../../../org/jacoco/core/analysis/ICoverageNode.html#getInstructionCounter()">ICoverageNode</A></CODE></B></DD>
    +<DD>Returns the counter for byte code instructions.
    +<P>
    +<DD><DL>
    +<DT><B>Specified by:</B><DD><CODE><A HREF="../../../../org/jacoco/core/analysis/ICoverageNode.html#getInstructionCounter()">getInstructionCounter</A></CODE> in interface <CODE><A HREF="../../../../org/jacoco/core/analysis/ICoverageNode.html" title="interface in org.jacoco.core.analysis">ICoverageNode</A></CODE></DL>
    +</DD>
    +<DD><DL>
    +
    +<DT><B>Returns:</B><DD>counter for instructions</DL>
    +</DD>
    +</DL>
    +<HR>
    +
    +<A NAME="getBranchCounter()"><!-- --></A><H3>
    +getBranchCounter</H3>
    +<PRE>
    +public <A HREF="../../../../org/jacoco/core/analysis/ICounter.html" title="interface in org.jacoco.core.analysis">ICounter</A> <B>getBranchCounter</B>()</PRE>
    +<DL>
    +<DD><B>Description copied from interface: <CODE><A HREF="../../../../org/jacoco/core/analysis/ICoverageNode.html#getBranchCounter()">ICoverageNode</A></CODE></B></DD>
    +<DD>Returns the counter for branches.
    +<P>
    +<DD><DL>
    +<DT><B>Specified by:</B><DD><CODE><A HREF="../../../../org/jacoco/core/analysis/ICoverageNode.html#getBranchCounter()">getBranchCounter</A></CODE> in interface <CODE><A HREF="../../../../org/jacoco/core/analysis/ICoverageNode.html" title="interface in org.jacoco.core.analysis">ICoverageNode</A></CODE></DL>
    +</DD>
    +<DD><DL>
    +
    +<DT><B>Returns:</B><DD>counter for branches</DL>
    +</DD>
    +</DL>
    +<HR>
    +
    +<A NAME="getLineCounter()"><!-- --></A><H3>
    +getLineCounter</H3>
    +<PRE>
    +public <A HREF="../../../../org/jacoco/core/analysis/ICounter.html" title="interface in org.jacoco.core.analysis">ICounter</A> <B>getLineCounter</B>()</PRE>
    +<DL>
    +<DD><B>Description copied from interface: <CODE><A HREF="../../../../org/jacoco/core/analysis/ICoverageNode.html#getLineCounter()">ICoverageNode</A></CODE></B></DD>
    +<DD>Returns the counter for lines.
    +<P>
    +<DD><DL>
    +<DT><B>Specified by:</B><DD><CODE><A HREF="../../../../org/jacoco/core/analysis/ICoverageNode.html#getLineCounter()">getLineCounter</A></CODE> in interface <CODE><A HREF="../../../../org/jacoco/core/analysis/ICoverageNode.html" title="interface in org.jacoco.core.analysis">ICoverageNode</A></CODE></DL>
    +</DD>
    +<DD><DL>
    +
    +<DT><B>Returns:</B><DD>counter for lines</DL>
    +</DD>
    +</DL>
    +<HR>
    +
    +<A NAME="getComplexityCounter()"><!-- --></A><H3>
    +getComplexityCounter</H3>
    +<PRE>
    +public <A HREF="../../../../org/jacoco/core/analysis/ICounter.html" title="interface in org.jacoco.core.analysis">ICounter</A> <B>getComplexityCounter</B>()</PRE>
    +<DL>
    +<DD><B>Description copied from interface: <CODE><A HREF="../../../../org/jacoco/core/analysis/ICoverageNode.html#getComplexityCounter()">ICoverageNode</A></CODE></B></DD>
    +<DD>Returns the counter for cyclomatic complexity.
    +<P>
    +<DD><DL>
    +<DT><B>Specified by:</B><DD><CODE><A HREF="../../../../org/jacoco/core/analysis/ICoverageNode.html#getComplexityCounter()">getComplexityCounter</A></CODE> in interface <CODE><A HREF="../../../../org/jacoco/core/analysis/ICoverageNode.html" title="interface in org.jacoco.core.analysis">ICoverageNode</A></CODE></DL>
    +</DD>
    +<DD><DL>
    +
    +<DT><B>Returns:</B><DD>counter for complexity</DL>
    +</DD>
    +</DL>
    +<HR>
    +
    +<A NAME="getMethodCounter()"><!-- --></A><H3>
    +getMethodCounter</H3>
    +<PRE>
    +public <A HREF="../../../../org/jacoco/core/analysis/ICounter.html" title="interface in org.jacoco.core.analysis">ICounter</A> <B>getMethodCounter</B>()</PRE>
    +<DL>
    +<DD><B>Description copied from interface: <CODE><A HREF="../../../../org/jacoco/core/analysis/ICoverageNode.html#getMethodCounter()">ICoverageNode</A></CODE></B></DD>
    +<DD>Returns the counter for methods.
    +<P>
    +<DD><DL>
    +<DT><B>Specified by:</B><DD><CODE><A HREF="../../../../org/jacoco/core/analysis/ICoverageNode.html#getMethodCounter()">getMethodCounter</A></CODE> in interface <CODE><A HREF="../../../../org/jacoco/core/analysis/ICoverageNode.html" title="interface in org.jacoco.core.analysis">ICoverageNode</A></CODE></DL>
    +</DD>
    +<DD><DL>
    +
    +<DT><B>Returns:</B><DD>counter for methods</DL>
    +</DD>
    +</DL>
    +<HR>
    +
    +<A NAME="getClassCounter()"><!-- --></A><H3>
    +getClassCounter</H3>
    +<PRE>
    +public <A HREF="../../../../org/jacoco/core/analysis/ICounter.html" title="interface in org.jacoco.core.analysis">ICounter</A> <B>getClassCounter</B>()</PRE>
    +<DL>
    +<DD><B>Description copied from interface: <CODE><A HREF="../../../../org/jacoco/core/analysis/ICoverageNode.html#getClassCounter()">ICoverageNode</A></CODE></B></DD>
    +<DD>Returns the counter for classes.
    +<P>
    +<DD><DL>
    +<DT><B>Specified by:</B><DD><CODE><A HREF="../../../../org/jacoco/core/analysis/ICoverageNode.html#getClassCounter()">getClassCounter</A></CODE> in interface <CODE><A HREF="../../../../org/jacoco/core/analysis/ICoverageNode.html" title="interface in org.jacoco.core.analysis">ICoverageNode</A></CODE></DL>
    +</DD>
    +<DD><DL>
    +
    +<DT><B>Returns:</B><DD>counter for classes</DL>
    +</DD>
    +</DL>
    +<HR>
    +
    +<A NAME="getCounter(org.jacoco.core.analysis.ICoverageNode.CounterEntity)"><!-- --></A><H3>
    +getCounter</H3>
    +<PRE>
    +public <A HREF="../../../../org/jacoco/core/analysis/ICounter.html" title="interface in org.jacoco.core.analysis">ICounter</A> <B>getCounter</B>(<A HREF="../../../../org/jacoco/core/analysis/ICoverageNode.CounterEntity.html" title="enum in org.jacoco.core.analysis">ICoverageNode.CounterEntity</A>&nbsp;entity)</PRE>
    +<DL>
    +<DD><B>Description copied from interface: <CODE><A HREF="../../../../org/jacoco/core/analysis/ICoverageNode.html#getCounter(org.jacoco.core.analysis.ICoverageNode.CounterEntity)">ICoverageNode</A></CODE></B></DD>
    +<DD>Generic access to the counters.
    +<P>
    +<DD><DL>
    +<DT><B>Specified by:</B><DD><CODE><A HREF="../../../../org/jacoco/core/analysis/ICoverageNode.html#getCounter(org.jacoco.core.analysis.ICoverageNode.CounterEntity)">getCounter</A></CODE> in interface <CODE><A HREF="../../../../org/jacoco/core/analysis/ICoverageNode.html" title="interface in org.jacoco.core.analysis">ICoverageNode</A></CODE></DL>
    +</DD>
    +<DD><DL>
    +<DT><B>Parameters:</B><DD><CODE>entity</CODE> - entity we're we want to have the counter for
    +<DT><B>Returns:</B><DD>counter for the given entity</DL>
    +</DD>
    +</DL>
    +<HR>
    +
    +<A NAME="containsCode()"><!-- --></A><H3>
    +containsCode</H3>
    +<PRE>
    +public boolean <B>containsCode</B>()</PRE>
    +<DL>
    +<DD><B>Description copied from interface: <CODE><A HREF="../../../../org/jacoco/core/analysis/ICoverageNode.html#containsCode()">ICoverageNode</A></CODE></B></DD>
    +<DD>Checks whether this node contains code relevant for code coverage.
    +<P>
    +<DD><DL>
    +<DT><B>Specified by:</B><DD><CODE><A HREF="../../../../org/jacoco/core/analysis/ICoverageNode.html#containsCode()">containsCode</A></CODE> in interface <CODE><A HREF="../../../../org/jacoco/core/analysis/ICoverageNode.html" title="interface in org.jacoco.core.analysis">ICoverageNode</A></CODE></DL>
    +</DD>
    +<DD><DL>
    +
    +<DT><B>Returns:</B><DD><code>true</code> if this node contains code relevant for code
    +         coverage</DL>
    +</DD>
    +</DL>
    +<HR>
    +
    +<A NAME="getPlainCopy()"><!-- --></A><H3>
    +getPlainCopy</H3>
    +<PRE>
    +public <A HREF="../../../../org/jacoco/core/analysis/ICoverageNode.html" title="interface in org.jacoco.core.analysis">ICoverageNode</A> <B>getPlainCopy</B>()</PRE>
    +<DL>
    +<DD><B>Description copied from interface: <CODE><A HREF="../../../../org/jacoco/core/analysis/ICoverageNode.html#getPlainCopy()">ICoverageNode</A></CODE></B></DD>
    +<DD>Creates a plain copy of this node. While <A HREF="../../../../org/jacoco/core/analysis/ICoverageNode.html" title="interface in org.jacoco.core.analysis"><CODE>ICoverageNode</CODE></A>
    + implementations may contain heavy data structures, the copy returned by
    + this method is reduced to the counters only. This helps to save memory
    + while processing huge structures.
    +<P>
    +<DD><DL>
    +<DT><B>Specified by:</B><DD><CODE><A HREF="../../../../org/jacoco/core/analysis/ICoverageNode.html#getPlainCopy()">getPlainCopy</A></CODE> in interface <CODE><A HREF="../../../../org/jacoco/core/analysis/ICoverageNode.html" title="interface in org.jacoco.core.analysis">ICoverageNode</A></CODE></DL>
    +</DD>
    +<DD><DL>
    +
    +<DT><B>Returns:</B><DD>copy with counters only</DL>
    +</DD>
    +</DL>
    +<HR>
    +
    +<A NAME="toString()"><!-- --></A><H3>
    +toString</H3>
    +<PRE>
    +public <A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> <B>toString</B>()</PRE>
    +<DL>
    +<DD><DL>
    +<DT><B>Overrides:</B><DD><CODE><A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html#toString()" title="class or interface in java.lang">toString</A></CODE> in class <CODE><A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html" title="class or interface in java.lang">Object</A></CODE></DL>
    +</DD>
    +<DD><DL>
    +</DL>
    +</DD>
    +</DL>
    +<!-- ========= END OF CLASS DATA ========= -->
    +<HR>
    +
    +
    +<!-- ======= START OF BOTTOM NAVBAR ====== -->
    +<A NAME="navbar_bottom"><!-- --></A>
    +<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
    +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
    +<TR>
    +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
    +<A NAME="navbar_bottom_firstrow"><!-- --></A>
    +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
    +  <TR ALIGN="center" VALIGN="top">
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="class-use/CoverageNodeImpl.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
    +  </TR>
    +</TABLE>
    +</TD>
    +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
    +</EM>
    +</TD>
    +</TR>
    +
    +<TR>
    +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
    +&nbsp;<A HREF="../../../../org/jacoco/core/analysis/CoverageBuilder.html" title="class in org.jacoco.core.analysis"><B>PREV CLASS</B></A>&nbsp;
    +&nbsp;<A HREF="../../../../org/jacoco/core/analysis/IBundleCoverage.html" title="interface in org.jacoco.core.analysis"><B>NEXT CLASS</B></A></FONT></TD>
    +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
    +  <A HREF="../../../../index.html?org/jacoco/core/analysis/CoverageNodeImpl.html" target="_top"><B>FRAMES</B></A>  &nbsp;
    +&nbsp;<A HREF="CoverageNodeImpl.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
    +&nbsp;<SCRIPT type="text/javascript">
    +  <!--
    +  if(window==top) {
    +    document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>');
    +  }
    +  //-->
    +</SCRIPT>
    +<NOSCRIPT>
    +  <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>
    +</NOSCRIPT>
    +
    +
    +</FONT></TD>
    +</TR>
    +<TR>
    +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
    +  SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;<A HREF="#field_summary">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD>
    +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
    +DETAIL:&nbsp;<A HREF="#field_detail">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD>
    +</TR>
    +</TABLE>
    +<A NAME="skip-navbar_bottom"></A>
    +<!-- ======== END OF BOTTOM NAVBAR ======= -->
    +
    +<HR>
    +Copyright &#169; 2009&#x2013;2024 Mountainminds GmbH & Co. KG. All rights reserved.
    +</BODY>
    +</HTML>
    diff --git a/jacoco/trunk/doc/api/org/jacoco/core/analysis/IBundleCoverage.html b/jacoco/trunk/doc/api/org/jacoco/core/analysis/IBundleCoverage.html
    new file mode 100644
    index 00000000000..60420f35d1d
    --- /dev/null
    +++ b/jacoco/trunk/doc/api/org/jacoco/core/analysis/IBundleCoverage.html
    @@ -0,0 +1,247 @@
    +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
    +<!--NewPage-->
    +<HTML>
    +<HEAD>
    +<!-- Generated by javadoc (build 1.5.0_22) on Wed Mar 27 16:45:41 UTC 2024 -->
    +<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
    +<TITLE>
    +IBundleCoverage (JaCoCo 0.8.12.202403270442 API)
    +</TITLE>
    +
    +<META NAME="keywords" CONTENT="org.jacoco.core.analysis.IBundleCoverage interface">
    +
    +<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../stylesheet.css" TITLE="Style">
    +
    +<SCRIPT type="text/javascript">
    +function windowTitle()
    +{
    +    parent.document.title="IBundleCoverage (JaCoCo 0.8.12.202403270442 API)";
    +}
    +</SCRIPT>
    +<NOSCRIPT>
    +</NOSCRIPT>
    +
    +</HEAD>
    +
    +<BODY BGCOLOR="white" onload="windowTitle();">
    +
    +
    +<!-- ========= START OF TOP NAVBAR ======= -->
    +<A NAME="navbar_top"><!-- --></A>
    +<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
    +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
    +<TR>
    +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
    +<A NAME="navbar_top_firstrow"><!-- --></A>
    +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
    +  <TR ALIGN="center" VALIGN="top">
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="class-use/IBundleCoverage.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
    +  </TR>
    +</TABLE>
    +</TD>
    +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
    +</EM>
    +</TD>
    +</TR>
    +
    +<TR>
    +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
    +&nbsp;<A HREF="../../../../org/jacoco/core/analysis/CoverageNodeImpl.html" title="class in org.jacoco.core.analysis"><B>PREV CLASS</B></A>&nbsp;
    +&nbsp;<A HREF="../../../../org/jacoco/core/analysis/IClassCoverage.html" title="interface in org.jacoco.core.analysis"><B>NEXT CLASS</B></A></FONT></TD>
    +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
    +  <A HREF="../../../../index.html?org/jacoco/core/analysis/IBundleCoverage.html" target="_top"><B>FRAMES</B></A>  &nbsp;
    +&nbsp;<A HREF="IBundleCoverage.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
    +&nbsp;<SCRIPT type="text/javascript">
    +  <!--
    +  if(window==top) {
    +    document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>');
    +  }
    +  //-->
    +</SCRIPT>
    +<NOSCRIPT>
    +  <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>
    +</NOSCRIPT>
    +
    +
    +</FONT></TD>
    +</TR>
    +<TR>
    +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
    +  SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;FIELD&nbsp;|&nbsp;CONSTR&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD>
    +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
    +DETAIL:&nbsp;FIELD&nbsp;|&nbsp;CONSTR&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD>
    +</TR>
    +</TABLE>
    +<A NAME="skip-navbar_top"></A>
    +<!-- ========= END OF TOP NAVBAR ========= -->
    +
    +<HR>
    +<!-- ======== START OF CLASS DATA ======== -->
    +<H2>
    +<FONT SIZE="-1">
    +org.jacoco.core.analysis</FONT>
    +<BR>
    +Interface IBundleCoverage</H2>
    +<DL>
    +<DT><B>All Superinterfaces:</B> <DD><A HREF="../../../../org/jacoco/core/analysis/ICoverageNode.html" title="interface in org.jacoco.core.analysis">ICoverageNode</A></DD>
    +</DL>
    +<HR>
    +<DL>
    +<DT><PRE>public interface <B>IBundleCoverage</B><DT>extends <A HREF="../../../../org/jacoco/core/analysis/ICoverageNode.html" title="interface in org.jacoco.core.analysis">ICoverageNode</A></DL>
    +</PRE>
    +
    +<P>
    +Coverage data of a bundle. A bundle groups a collection of packages.
    +<P>
    +
    +<P>
    +<DL>
    +<DT><B>See Also:</B><DD><A HREF="../../../../org/jacoco/core/analysis/IPackageCoverage.html" title="interface in org.jacoco.core.analysis"><CODE>IPackageCoverage</CODE></A></DL>
    +<HR>
    +
    +<P>
    +<!-- ======== NESTED CLASS SUMMARY ======== -->
    +
    +<A NAME="nested_class_summary"><!-- --></A>
    +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
    +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
    +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
    +<B>Nested Class Summary</B></FONT></TH>
    +</TR>
    +</TABLE>
    +&nbsp;<A NAME="nested_classes_inherited_from_class_org.jacoco.core.analysis.ICoverageNode"><!-- --></A>
    +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
    +<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
    +<TH ALIGN="left"><B>Nested classes/interfaces inherited from interface org.jacoco.core.analysis.<A HREF="../../../../org/jacoco/core/analysis/ICoverageNode.html" title="interface in org.jacoco.core.analysis">ICoverageNode</A></B></TH>
    +</TR>
    +<TR BGCOLOR="white" CLASS="TableRowColor">
    +<TD><CODE><A HREF="../../../../org/jacoco/core/analysis/ICoverageNode.CounterEntity.html" title="enum in org.jacoco.core.analysis">ICoverageNode.CounterEntity</A>, <A HREF="../../../../org/jacoco/core/analysis/ICoverageNode.ElementType.html" title="enum in org.jacoco.core.analysis">ICoverageNode.ElementType</A></CODE></TD>
    +</TR>
    +</TABLE>
    +&nbsp;
    +
    +<!-- ========== METHOD SUMMARY =========== -->
    +
    +<A NAME="method_summary"><!-- --></A>
    +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
    +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
    +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
    +<B>Method Summary</B></FONT></TH>
    +</TR>
    +<TR BGCOLOR="white" CLASS="TableRowColor">
    +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
    +<CODE>&nbsp;<A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/util/Collection.html" title="class or interface in java.util">Collection</A>&lt;<A HREF="../../../../org/jacoco/core/analysis/IPackageCoverage.html" title="interface in org.jacoco.core.analysis">IPackageCoverage</A>&gt;</CODE></FONT></TD>
    +<TD><CODE><B><A HREF="../../../../org/jacoco/core/analysis/IBundleCoverage.html#getPackages()">getPackages</A></B>()</CODE>
    +
    +<BR>
    +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns all packages contained in this bundle.</TD>
    +</TR>
    +</TABLE>
    +&nbsp;<A NAME="methods_inherited_from_class_org.jacoco.core.analysis.ICoverageNode"><!-- --></A>
    +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
    +<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
    +<TH ALIGN="left"><B>Methods inherited from interface org.jacoco.core.analysis.<A HREF="../../../../org/jacoco/core/analysis/ICoverageNode.html" title="interface in org.jacoco.core.analysis">ICoverageNode</A></B></TH>
    +</TR>
    +<TR BGCOLOR="white" CLASS="TableRowColor">
    +<TD><CODE><A HREF="../../../../org/jacoco/core/analysis/ICoverageNode.html#containsCode()">containsCode</A>, <A HREF="../../../../org/jacoco/core/analysis/ICoverageNode.html#getBranchCounter()">getBranchCounter</A>, <A HREF="../../../../org/jacoco/core/analysis/ICoverageNode.html#getClassCounter()">getClassCounter</A>, <A HREF="../../../../org/jacoco/core/analysis/ICoverageNode.html#getComplexityCounter()">getComplexityCounter</A>, <A HREF="../../../../org/jacoco/core/analysis/ICoverageNode.html#getCounter(org.jacoco.core.analysis.ICoverageNode.CounterEntity)">getCounter</A>, <A HREF="../../../../org/jacoco/core/analysis/ICoverageNode.html#getElementType()">getElementType</A>, <A HREF="../../../../org/jacoco/core/analysis/ICoverageNode.html#getInstructionCounter()">getInstructionCounter</A>, <A HREF="../../../../org/jacoco/core/analysis/ICoverageNode.html#getLineCounter()">getLineCounter</A>, <A HREF="../../../../org/jacoco/core/analysis/ICoverageNode.html#getMethodCounter()">getMethodCounter</A>, <A HREF="../../../../org/jacoco/core/analysis/ICoverageNode.html#getName()">getName</A>, <A HREF="../../../../org/jacoco/core/analysis/ICoverageNode.html#getPlainCopy()">getPlainCopy</A></CODE></TD>
    +</TR>
    +</TABLE>
    +&nbsp;
    +<P>
    +
    +<!-- ============ METHOD DETAIL ========== -->
    +
    +<A NAME="method_detail"><!-- --></A>
    +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
    +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
    +<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2">
    +<B>Method Detail</B></FONT></TH>
    +</TR>
    +</TABLE>
    +
    +<A NAME="getPackages()"><!-- --></A><H3>
    +getPackages</H3>
    +<PRE>
    +<A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/util/Collection.html" title="class or interface in java.util">Collection</A>&lt;<A HREF="../../../../org/jacoco/core/analysis/IPackageCoverage.html" title="interface in org.jacoco.core.analysis">IPackageCoverage</A>&gt; <B>getPackages</B>()</PRE>
    +<DL>
    +<DD>Returns all packages contained in this bundle.
    +<P>
    +<DD><DL>
    +</DL>
    +</DD>
    +<DD><DL>
    +
    +<DT><B>Returns:</B><DD>all packages</DL>
    +</DD>
    +</DL>
    +<!-- ========= END OF CLASS DATA ========= -->
    +<HR>
    +
    +
    +<!-- ======= START OF BOTTOM NAVBAR ====== -->
    +<A NAME="navbar_bottom"><!-- --></A>
    +<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
    +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
    +<TR>
    +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
    +<A NAME="navbar_bottom_firstrow"><!-- --></A>
    +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
    +  <TR ALIGN="center" VALIGN="top">
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="class-use/IBundleCoverage.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
    +  </TR>
    +</TABLE>
    +</TD>
    +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
    +</EM>
    +</TD>
    +</TR>
    +
    +<TR>
    +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
    +&nbsp;<A HREF="../../../../org/jacoco/core/analysis/CoverageNodeImpl.html" title="class in org.jacoco.core.analysis"><B>PREV CLASS</B></A>&nbsp;
    +&nbsp;<A HREF="../../../../org/jacoco/core/analysis/IClassCoverage.html" title="interface in org.jacoco.core.analysis"><B>NEXT CLASS</B></A></FONT></TD>
    +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
    +  <A HREF="../../../../index.html?org/jacoco/core/analysis/IBundleCoverage.html" target="_top"><B>FRAMES</B></A>  &nbsp;
    +&nbsp;<A HREF="IBundleCoverage.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
    +&nbsp;<SCRIPT type="text/javascript">
    +  <!--
    +  if(window==top) {
    +    document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>');
    +  }
    +  //-->
    +</SCRIPT>
    +<NOSCRIPT>
    +  <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>
    +</NOSCRIPT>
    +
    +
    +</FONT></TD>
    +</TR>
    +<TR>
    +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
    +  SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;FIELD&nbsp;|&nbsp;CONSTR&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD>
    +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
    +DETAIL:&nbsp;FIELD&nbsp;|&nbsp;CONSTR&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD>
    +</TR>
    +</TABLE>
    +<A NAME="skip-navbar_bottom"></A>
    +<!-- ======== END OF BOTTOM NAVBAR ======= -->
    +
    +<HR>
    +Copyright &#169; 2009&#x2013;2024 Mountainminds GmbH & Co. KG. All rights reserved.
    +</BODY>
    +</HTML>
    diff --git a/jacoco/trunk/doc/api/org/jacoco/core/analysis/IClassCoverage.html b/jacoco/trunk/doc/api/org/jacoco/core/analysis/IClassCoverage.html
    new file mode 100644
    index 00000000000..2ed4111e04a
    --- /dev/null
    +++ b/jacoco/trunk/doc/api/org/jacoco/core/analysis/IClassCoverage.html
    @@ -0,0 +1,456 @@
    +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
    +<!--NewPage-->
    +<HTML>
    +<HEAD>
    +<!-- Generated by javadoc (build 1.5.0_22) on Wed Mar 27 16:45:41 UTC 2024 -->
    +<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
    +<TITLE>
    +IClassCoverage (JaCoCo 0.8.12.202403270442 API)
    +</TITLE>
    +
    +<META NAME="keywords" CONTENT="org.jacoco.core.analysis.IClassCoverage interface">
    +
    +<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../stylesheet.css" TITLE="Style">
    +
    +<SCRIPT type="text/javascript">
    +function windowTitle()
    +{
    +    parent.document.title="IClassCoverage (JaCoCo 0.8.12.202403270442 API)";
    +}
    +</SCRIPT>
    +<NOSCRIPT>
    +</NOSCRIPT>
    +
    +</HEAD>
    +
    +<BODY BGCOLOR="white" onload="windowTitle();">
    +
    +
    +<!-- ========= START OF TOP NAVBAR ======= -->
    +<A NAME="navbar_top"><!-- --></A>
    +<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
    +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
    +<TR>
    +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
    +<A NAME="navbar_top_firstrow"><!-- --></A>
    +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
    +  <TR ALIGN="center" VALIGN="top">
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="class-use/IClassCoverage.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
    +  </TR>
    +</TABLE>
    +</TD>
    +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
    +</EM>
    +</TD>
    +</TR>
    +
    +<TR>
    +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
    +&nbsp;<A HREF="../../../../org/jacoco/core/analysis/IBundleCoverage.html" title="interface in org.jacoco.core.analysis"><B>PREV CLASS</B></A>&nbsp;
    +&nbsp;<A HREF="../../../../org/jacoco/core/analysis/ICounter.html" title="interface in org.jacoco.core.analysis"><B>NEXT CLASS</B></A></FONT></TD>
    +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
    +  <A HREF="../../../../index.html?org/jacoco/core/analysis/IClassCoverage.html" target="_top"><B>FRAMES</B></A>  &nbsp;
    +&nbsp;<A HREF="IClassCoverage.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
    +&nbsp;<SCRIPT type="text/javascript">
    +  <!--
    +  if(window==top) {
    +    document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>');
    +  }
    +  //-->
    +</SCRIPT>
    +<NOSCRIPT>
    +  <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>
    +</NOSCRIPT>
    +
    +
    +</FONT></TD>
    +</TR>
    +<TR>
    +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
    +  SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;FIELD&nbsp;|&nbsp;CONSTR&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD>
    +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
    +DETAIL:&nbsp;FIELD&nbsp;|&nbsp;CONSTR&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD>
    +</TR>
    +</TABLE>
    +<A NAME="skip-navbar_top"></A>
    +<!-- ========= END OF TOP NAVBAR ========= -->
    +
    +<HR>
    +<!-- ======== START OF CLASS DATA ======== -->
    +<H2>
    +<FONT SIZE="-1">
    +org.jacoco.core.analysis</FONT>
    +<BR>
    +Interface IClassCoverage</H2>
    +<DL>
    +<DT><B>All Superinterfaces:</B> <DD><A HREF="../../../../org/jacoco/core/analysis/ICoverageNode.html" title="interface in org.jacoco.core.analysis">ICoverageNode</A>, <A HREF="../../../../org/jacoco/core/analysis/ISourceNode.html" title="interface in org.jacoco.core.analysis">ISourceNode</A></DD>
    +</DL>
    +<HR>
    +<DL>
    +<DT><PRE>public interface <B>IClassCoverage</B><DT>extends <A HREF="../../../../org/jacoco/core/analysis/ISourceNode.html" title="interface in org.jacoco.core.analysis">ISourceNode</A></DL>
    +</PRE>
    +
    +<P>
    +Coverage data of a single class containing methods. The name of this node is
    + the fully qualified class name in VM notation (slash separated).
    +<P>
    +
    +<P>
    +<DL>
    +<DT><B>See Also:</B><DD><A HREF="../../../../org/jacoco/core/analysis/IMethodCoverage.html" title="interface in org.jacoco.core.analysis"><CODE>IMethodCoverage</CODE></A></DL>
    +<HR>
    +
    +<P>
    +<!-- ======== NESTED CLASS SUMMARY ======== -->
    +
    +<A NAME="nested_class_summary"><!-- --></A>
    +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
    +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
    +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
    +<B>Nested Class Summary</B></FONT></TH>
    +</TR>
    +</TABLE>
    +&nbsp;<A NAME="nested_classes_inherited_from_class_org.jacoco.core.analysis.ICoverageNode"><!-- --></A>
    +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
    +<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
    +<TH ALIGN="left"><B>Nested classes/interfaces inherited from interface org.jacoco.core.analysis.<A HREF="../../../../org/jacoco/core/analysis/ICoverageNode.html" title="interface in org.jacoco.core.analysis">ICoverageNode</A></B></TH>
    +</TR>
    +<TR BGCOLOR="white" CLASS="TableRowColor">
    +<TD><CODE><A HREF="../../../../org/jacoco/core/analysis/ICoverageNode.CounterEntity.html" title="enum in org.jacoco.core.analysis">ICoverageNode.CounterEntity</A>, <A HREF="../../../../org/jacoco/core/analysis/ICoverageNode.ElementType.html" title="enum in org.jacoco.core.analysis">ICoverageNode.ElementType</A></CODE></TD>
    +</TR>
    +</TABLE>
    +&nbsp;
    +<!-- =========== FIELD SUMMARY =========== -->
    +
    +<A NAME="field_summary"><!-- --></A>
    +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
    +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
    +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
    +<B>Field Summary</B></FONT></TH>
    +</TR>
    +</TABLE>
    +&nbsp;<A NAME="fields_inherited_from_class_org.jacoco.core.analysis.ISourceNode"><!-- --></A>
    +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
    +<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
    +<TH ALIGN="left"><B>Fields inherited from interface org.jacoco.core.analysis.<A HREF="../../../../org/jacoco/core/analysis/ISourceNode.html" title="interface in org.jacoco.core.analysis">ISourceNode</A></B></TH>
    +</TR>
    +<TR BGCOLOR="white" CLASS="TableRowColor">
    +<TD><CODE><A HREF="../../../../org/jacoco/core/analysis/ISourceNode.html#UNKNOWN_LINE">UNKNOWN_LINE</A></CODE></TD>
    +</TR>
    +</TABLE>
    +&nbsp;
    +<!-- ========== METHOD SUMMARY =========== -->
    +
    +<A NAME="method_summary"><!-- --></A>
    +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
    +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
    +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
    +<B>Method Summary</B></FONT></TH>
    +</TR>
    +<TR BGCOLOR="white" CLASS="TableRowColor">
    +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
    +<CODE>&nbsp;long</CODE></FONT></TD>
    +<TD><CODE><B><A HREF="../../../../org/jacoco/core/analysis/IClassCoverage.html#getId()">getId</A></B>()</CODE>
    +
    +<BR>
    +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns the identifier for this class which is the CRC64 signature of the
    + class definition.</TD>
    +</TR>
    +<TR BGCOLOR="white" CLASS="TableRowColor">
    +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
    +<CODE>&nbsp;<A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A>[]</CODE></FONT></TD>
    +<TD><CODE><B><A HREF="../../../../org/jacoco/core/analysis/IClassCoverage.html#getInterfaceNames()">getInterfaceNames</A></B>()</CODE>
    +
    +<BR>
    +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns the VM names of implemented/extended interfaces.</TD>
    +</TR>
    +<TR BGCOLOR="white" CLASS="TableRowColor">
    +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
    +<CODE>&nbsp;<A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/util/Collection.html" title="class or interface in java.util">Collection</A>&lt;<A HREF="../../../../org/jacoco/core/analysis/IMethodCoverage.html" title="interface in org.jacoco.core.analysis">IMethodCoverage</A>&gt;</CODE></FONT></TD>
    +<TD><CODE><B><A HREF="../../../../org/jacoco/core/analysis/IClassCoverage.html#getMethods()">getMethods</A></B>()</CODE>
    +
    +<BR>
    +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns the methods included in this class.</TD>
    +</TR>
    +<TR BGCOLOR="white" CLASS="TableRowColor">
    +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
    +<CODE>&nbsp;<A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A></CODE></FONT></TD>
    +<TD><CODE><B><A HREF="../../../../org/jacoco/core/analysis/IClassCoverage.html#getPackageName()">getPackageName</A></B>()</CODE>
    +
    +<BR>
    +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns the VM name of the package this class belongs to.</TD>
    +</TR>
    +<TR BGCOLOR="white" CLASS="TableRowColor">
    +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
    +<CODE>&nbsp;<A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A></CODE></FONT></TD>
    +<TD><CODE><B><A HREF="../../../../org/jacoco/core/analysis/IClassCoverage.html#getSignature()">getSignature</A></B>()</CODE>
    +
    +<BR>
    +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns the VM signature of the class.</TD>
    +</TR>
    +<TR BGCOLOR="white" CLASS="TableRowColor">
    +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
    +<CODE>&nbsp;<A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A></CODE></FONT></TD>
    +<TD><CODE><B><A HREF="../../../../org/jacoco/core/analysis/IClassCoverage.html#getSourceFileName()">getSourceFileName</A></B>()</CODE>
    +
    +<BR>
    +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns the optional name of the corresponding source file.</TD>
    +</TR>
    +<TR BGCOLOR="white" CLASS="TableRowColor">
    +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
    +<CODE>&nbsp;<A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A></CODE></FONT></TD>
    +<TD><CODE><B><A HREF="../../../../org/jacoco/core/analysis/IClassCoverage.html#getSuperName()">getSuperName</A></B>()</CODE>
    +
    +<BR>
    +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns the VM name of the superclass.</TD>
    +</TR>
    +<TR BGCOLOR="white" CLASS="TableRowColor">
    +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
    +<CODE>&nbsp;boolean</CODE></FONT></TD>
    +<TD><CODE><B><A HREF="../../../../org/jacoco/core/analysis/IClassCoverage.html#isNoMatch()">isNoMatch</A></B>()</CODE>
    +
    +<BR>
    +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns if the analyzed class does match the execution data provided.</TD>
    +</TR>
    +</TABLE>
    +&nbsp;<A NAME="methods_inherited_from_class_org.jacoco.core.analysis.ISourceNode"><!-- --></A>
    +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
    +<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
    +<TH ALIGN="left"><B>Methods inherited from interface org.jacoco.core.analysis.<A HREF="../../../../org/jacoco/core/analysis/ISourceNode.html" title="interface in org.jacoco.core.analysis">ISourceNode</A></B></TH>
    +</TR>
    +<TR BGCOLOR="white" CLASS="TableRowColor">
    +<TD><CODE><A HREF="../../../../org/jacoco/core/analysis/ISourceNode.html#getFirstLine()">getFirstLine</A>, <A HREF="../../../../org/jacoco/core/analysis/ISourceNode.html#getLastLine()">getLastLine</A>, <A HREF="../../../../org/jacoco/core/analysis/ISourceNode.html#getLine(int)">getLine</A></CODE></TD>
    +</TR>
    +</TABLE>
    +&nbsp;<A NAME="methods_inherited_from_class_org.jacoco.core.analysis.ICoverageNode"><!-- --></A>
    +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
    +<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
    +<TH ALIGN="left"><B>Methods inherited from interface org.jacoco.core.analysis.<A HREF="../../../../org/jacoco/core/analysis/ICoverageNode.html" title="interface in org.jacoco.core.analysis">ICoverageNode</A></B></TH>
    +</TR>
    +<TR BGCOLOR="white" CLASS="TableRowColor">
    +<TD><CODE><A HREF="../../../../org/jacoco/core/analysis/ICoverageNode.html#containsCode()">containsCode</A>, <A HREF="../../../../org/jacoco/core/analysis/ICoverageNode.html#getBranchCounter()">getBranchCounter</A>, <A HREF="../../../../org/jacoco/core/analysis/ICoverageNode.html#getClassCounter()">getClassCounter</A>, <A HREF="../../../../org/jacoco/core/analysis/ICoverageNode.html#getComplexityCounter()">getComplexityCounter</A>, <A HREF="../../../../org/jacoco/core/analysis/ICoverageNode.html#getCounter(org.jacoco.core.analysis.ICoverageNode.CounterEntity)">getCounter</A>, <A HREF="../../../../org/jacoco/core/analysis/ICoverageNode.html#getElementType()">getElementType</A>, <A HREF="../../../../org/jacoco/core/analysis/ICoverageNode.html#getInstructionCounter()">getInstructionCounter</A>, <A HREF="../../../../org/jacoco/core/analysis/ICoverageNode.html#getLineCounter()">getLineCounter</A>, <A HREF="../../../../org/jacoco/core/analysis/ICoverageNode.html#getMethodCounter()">getMethodCounter</A>, <A HREF="../../../../org/jacoco/core/analysis/ICoverageNode.html#getName()">getName</A>, <A HREF="../../../../org/jacoco/core/analysis/ICoverageNode.html#getPlainCopy()">getPlainCopy</A></CODE></TD>
    +</TR>
    +</TABLE>
    +&nbsp;
    +<P>
    +
    +<!-- ============ METHOD DETAIL ========== -->
    +
    +<A NAME="method_detail"><!-- --></A>
    +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
    +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
    +<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2">
    +<B>Method Detail</B></FONT></TH>
    +</TR>
    +</TABLE>
    +
    +<A NAME="getId()"><!-- --></A><H3>
    +getId</H3>
    +<PRE>
    +long <B>getId</B>()</PRE>
    +<DL>
    +<DD>Returns the identifier for this class which is the CRC64 signature of the
    + class definition.
    +<P>
    +<DD><DL>
    +</DL>
    +</DD>
    +<DD><DL>
    +
    +<DT><B>Returns:</B><DD>class identifier</DL>
    +</DD>
    +</DL>
    +<HR>
    +
    +<A NAME="isNoMatch()"><!-- --></A><H3>
    +isNoMatch</H3>
    +<PRE>
    +boolean <B>isNoMatch</B>()</PRE>
    +<DL>
    +<DD>Returns if the analyzed class does match the execution data provided.
    + More precisely if execution data is available for a class with the same
    + qualified name but with a different class id.
    +<P>
    +<DD><DL>
    +</DL>
    +</DD>
    +<DD><DL>
    +
    +<DT><B>Returns:</B><DD><code>true</code> if this class does not match to the provided
    +         execution data.</DL>
    +</DD>
    +</DL>
    +<HR>
    +
    +<A NAME="getSignature()"><!-- --></A><H3>
    +getSignature</H3>
    +<PRE>
    +<A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> <B>getSignature</B>()</PRE>
    +<DL>
    +<DD>Returns the VM signature of the class.
    +<P>
    +<DD><DL>
    +</DL>
    +</DD>
    +<DD><DL>
    +
    +<DT><B>Returns:</B><DD>VM signature of the class (may be <code>null</code>)</DL>
    +</DD>
    +</DL>
    +<HR>
    +
    +<A NAME="getSuperName()"><!-- --></A><H3>
    +getSuperName</H3>
    +<PRE>
    +<A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> <B>getSuperName</B>()</PRE>
    +<DL>
    +<DD>Returns the VM name of the superclass.
    +<P>
    +<DD><DL>
    +</DL>
    +</DD>
    +<DD><DL>
    +
    +<DT><B>Returns:</B><DD>VM name of the super class (may be <code>null</code>, i.e.
    +         <code>java/lang/Object</code>)</DL>
    +</DD>
    +</DL>
    +<HR>
    +
    +<A NAME="getInterfaceNames()"><!-- --></A><H3>
    +getInterfaceNames</H3>
    +<PRE>
    +<A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A>[] <B>getInterfaceNames</B>()</PRE>
    +<DL>
    +<DD>Returns the VM names of implemented/extended interfaces.
    +<P>
    +<DD><DL>
    +</DL>
    +</DD>
    +<DD><DL>
    +
    +<DT><B>Returns:</B><DD>VM names of implemented/extended interfaces</DL>
    +</DD>
    +</DL>
    +<HR>
    +
    +<A NAME="getPackageName()"><!-- --></A><H3>
    +getPackageName</H3>
    +<PRE>
    +<A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> <B>getPackageName</B>()</PRE>
    +<DL>
    +<DD>Returns the VM name of the package this class belongs to.
    +<P>
    +<DD><DL>
    +</DL>
    +</DD>
    +<DD><DL>
    +
    +<DT><B>Returns:</B><DD>VM name of the package</DL>
    +</DD>
    +</DL>
    +<HR>
    +
    +<A NAME="getSourceFileName()"><!-- --></A><H3>
    +getSourceFileName</H3>
    +<PRE>
    +<A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> <B>getSourceFileName</B>()</PRE>
    +<DL>
    +<DD>Returns the optional name of the corresponding source file.
    +<P>
    +<DD><DL>
    +</DL>
    +</DD>
    +<DD><DL>
    +
    +<DT><B>Returns:</B><DD>name of the corresponding source file</DL>
    +</DD>
    +</DL>
    +<HR>
    +
    +<A NAME="getMethods()"><!-- --></A><H3>
    +getMethods</H3>
    +<PRE>
    +<A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/util/Collection.html" title="class or interface in java.util">Collection</A>&lt;<A HREF="../../../../org/jacoco/core/analysis/IMethodCoverage.html" title="interface in org.jacoco.core.analysis">IMethodCoverage</A>&gt; <B>getMethods</B>()</PRE>
    +<DL>
    +<DD>Returns the methods included in this class.
    +<P>
    +<DD><DL>
    +</DL>
    +</DD>
    +<DD><DL>
    +
    +<DT><B>Returns:</B><DD>methods of this class</DL>
    +</DD>
    +</DL>
    +<!-- ========= END OF CLASS DATA ========= -->
    +<HR>
    +
    +
    +<!-- ======= START OF BOTTOM NAVBAR ====== -->
    +<A NAME="navbar_bottom"><!-- --></A>
    +<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
    +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
    +<TR>
    +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
    +<A NAME="navbar_bottom_firstrow"><!-- --></A>
    +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
    +  <TR ALIGN="center" VALIGN="top">
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="class-use/IClassCoverage.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
    +  </TR>
    +</TABLE>
    +</TD>
    +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
    +</EM>
    +</TD>
    +</TR>
    +
    +<TR>
    +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
    +&nbsp;<A HREF="../../../../org/jacoco/core/analysis/IBundleCoverage.html" title="interface in org.jacoco.core.analysis"><B>PREV CLASS</B></A>&nbsp;
    +&nbsp;<A HREF="../../../../org/jacoco/core/analysis/ICounter.html" title="interface in org.jacoco.core.analysis"><B>NEXT CLASS</B></A></FONT></TD>
    +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
    +  <A HREF="../../../../index.html?org/jacoco/core/analysis/IClassCoverage.html" target="_top"><B>FRAMES</B></A>  &nbsp;
    +&nbsp;<A HREF="IClassCoverage.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
    +&nbsp;<SCRIPT type="text/javascript">
    +  <!--
    +  if(window==top) {
    +    document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>');
    +  }
    +  //-->
    +</SCRIPT>
    +<NOSCRIPT>
    +  <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>
    +</NOSCRIPT>
    +
    +
    +</FONT></TD>
    +</TR>
    +<TR>
    +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
    +  SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;FIELD&nbsp;|&nbsp;CONSTR&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD>
    +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
    +DETAIL:&nbsp;FIELD&nbsp;|&nbsp;CONSTR&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD>
    +</TR>
    +</TABLE>
    +<A NAME="skip-navbar_bottom"></A>
    +<!-- ======== END OF BOTTOM NAVBAR ======= -->
    +
    +<HR>
    +Copyright &#169; 2009&#x2013;2024 Mountainminds GmbH & Co. KG. All rights reserved.
    +</BODY>
    +</HTML>
    diff --git a/jacoco/trunk/doc/api/org/jacoco/core/analysis/ICounter.CounterValue.html b/jacoco/trunk/doc/api/org/jacoco/core/analysis/ICounter.CounterValue.html
    new file mode 100644
    index 00000000000..ce4d7779eec
    --- /dev/null
    +++ b/jacoco/trunk/doc/api/org/jacoco/core/analysis/ICounter.CounterValue.html
    @@ -0,0 +1,384 @@
    +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
    +<!--NewPage-->
    +<HTML>
    +<HEAD>
    +<!-- Generated by javadoc (build 1.5.0_22) on Wed Mar 27 16:45:41 UTC 2024 -->
    +<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
    +<TITLE>
    +ICounter.CounterValue (JaCoCo 0.8.12.202403270442 API)
    +</TITLE>
    +
    +<META NAME="keywords" CONTENT="org.jacoco.core.analysis.ICounter.CounterValue class">
    +
    +<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../stylesheet.css" TITLE="Style">
    +
    +<SCRIPT type="text/javascript">
    +function windowTitle()
    +{
    +    parent.document.title="ICounter.CounterValue (JaCoCo 0.8.12.202403270442 API)";
    +}
    +</SCRIPT>
    +<NOSCRIPT>
    +</NOSCRIPT>
    +
    +</HEAD>
    +
    +<BODY BGCOLOR="white" onload="windowTitle();">
    +
    +
    +<!-- ========= START OF TOP NAVBAR ======= -->
    +<A NAME="navbar_top"><!-- --></A>
    +<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
    +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
    +<TR>
    +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
    +<A NAME="navbar_top_firstrow"><!-- --></A>
    +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
    +  <TR ALIGN="center" VALIGN="top">
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="class-use/ICounter.CounterValue.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
    +  </TR>
    +</TABLE>
    +</TD>
    +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
    +</EM>
    +</TD>
    +</TR>
    +
    +<TR>
    +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
    +&nbsp;<A HREF="../../../../org/jacoco/core/analysis/ICounter.html" title="interface in org.jacoco.core.analysis"><B>PREV CLASS</B></A>&nbsp;
    +&nbsp;<A HREF="../../../../org/jacoco/core/analysis/ICoverageNode.html" title="interface in org.jacoco.core.analysis"><B>NEXT CLASS</B></A></FONT></TD>
    +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
    +  <A HREF="../../../../index.html?org/jacoco/core/analysis/ICounter.CounterValue.html" target="_top"><B>FRAMES</B></A>  &nbsp;
    +&nbsp;<A HREF="ICounter.CounterValue.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
    +&nbsp;<SCRIPT type="text/javascript">
    +  <!--
    +  if(window==top) {
    +    document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>');
    +  }
    +  //-->
    +</SCRIPT>
    +<NOSCRIPT>
    +  <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>
    +</NOSCRIPT>
    +
    +
    +</FONT></TD>
    +</TR>
    +<TR>
    +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
    +  SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;<A HREF="#enum_constant_summary">ENUM CONSTANTS</A>&nbsp;|&nbsp;FIELD&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD>
    +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
    +DETAIL:&nbsp;<A HREF="#enum_constant_detail">ENUM CONSTANTS</A>&nbsp;|&nbsp;FIELD&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD>
    +</TR>
    +</TABLE>
    +<A NAME="skip-navbar_top"></A>
    +<!-- ========= END OF TOP NAVBAR ========= -->
    +
    +<HR>
    +<!-- ======== START OF CLASS DATA ======== -->
    +<H2>
    +<FONT SIZE="-1">
    +org.jacoco.core.analysis</FONT>
    +<BR>
    +Enum ICounter.CounterValue</H2>
    +<PRE>
    +<A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html" title="class or interface in java.lang">java.lang.Object</A>
    +  <IMG SRC="../../../../resources/inherit.gif" ALT="extended by "><A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Enum.html" title="class or interface in java.lang">java.lang.Enum</A>&lt;<A HREF="../../../../org/jacoco/core/analysis/ICounter.CounterValue.html" title="enum in org.jacoco.core.analysis">ICounter.CounterValue</A>&gt;
    +      <IMG SRC="../../../../resources/inherit.gif" ALT="extended by "><B>org.jacoco.core.analysis.ICounter.CounterValue</B>
    +</PRE>
    +<DL>
    +<DT><B>All Implemented Interfaces:</B> <DD><A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/io/Serializable.html" title="class or interface in java.io">Serializable</A>, <A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Comparable.html" title="class or interface in java.lang">Comparable</A>&lt;<A HREF="../../../../org/jacoco/core/analysis/ICounter.CounterValue.html" title="enum in org.jacoco.core.analysis">ICounter.CounterValue</A>&gt;</DD>
    +</DL>
    +<DL>
    +<DT><B>Enclosing interface:</B><DD><A HREF="../../../../org/jacoco/core/analysis/ICounter.html" title="interface in org.jacoco.core.analysis">ICounter</A></DD>
    +</DL>
    +<HR>
    +<DL>
    +<DT><PRE>public static enum <B>ICounter.CounterValue</B><DT>extends <A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Enum.html" title="class or interface in java.lang">Enum</A>&lt;<A HREF="../../../../org/jacoco/core/analysis/ICounter.CounterValue.html" title="enum in org.jacoco.core.analysis">ICounter.CounterValue</A>&gt;</DL>
    +</PRE>
    +
    +<P>
    +Different values provided by a counter.
    +<P>
    +
    +<P>
    +<HR>
    +
    +<P>
    +<!-- =========== ENUM CONSTANT SUMMARY =========== -->
    +
    +<A NAME="enum_constant_summary"><!-- --></A>
    +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
    +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
    +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
    +<B>Enum Constant Summary</B></FONT></TH>
    +</TR>
    +<TR BGCOLOR="white" CLASS="TableRowColor">
    +<TD><CODE><B><A HREF="../../../../org/jacoco/core/analysis/ICounter.CounterValue.html#COVEREDCOUNT">COVEREDCOUNT</A></B></CODE>
    +
    +<BR>
    +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Number of covered items</TD>
    +</TR>
    +<TR BGCOLOR="white" CLASS="TableRowColor">
    +<TD><CODE><B><A HREF="../../../../org/jacoco/core/analysis/ICounter.CounterValue.html#COVEREDRATIO">COVEREDRATIO</A></B></CODE>
    +
    +<BR>
    +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Ratio of covered to total items</TD>
    +</TR>
    +<TR BGCOLOR="white" CLASS="TableRowColor">
    +<TD><CODE><B><A HREF="../../../../org/jacoco/core/analysis/ICounter.CounterValue.html#MISSEDCOUNT">MISSEDCOUNT</A></B></CODE>
    +
    +<BR>
    +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Number of missed items</TD>
    +</TR>
    +<TR BGCOLOR="white" CLASS="TableRowColor">
    +<TD><CODE><B><A HREF="../../../../org/jacoco/core/analysis/ICounter.CounterValue.html#MISSEDRATIO">MISSEDRATIO</A></B></CODE>
    +
    +<BR>
    +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Ratio of missed to total items</TD>
    +</TR>
    +<TR BGCOLOR="white" CLASS="TableRowColor">
    +<TD><CODE><B><A HREF="../../../../org/jacoco/core/analysis/ICounter.CounterValue.html#TOTALCOUNT">TOTALCOUNT</A></B></CODE>
    +
    +<BR>
    +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Total number of items</TD>
    +</TR>
    +</TABLE>
    +&nbsp;
    +<!-- ========== METHOD SUMMARY =========== -->
    +
    +<A NAME="method_summary"><!-- --></A>
    +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
    +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
    +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
    +<B>Method Summary</B></FONT></TH>
    +</TR>
    +<TR BGCOLOR="white" CLASS="TableRowColor">
    +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
    +<CODE>static&nbsp;<A HREF="../../../../org/jacoco/core/analysis/ICounter.CounterValue.html" title="enum in org.jacoco.core.analysis">ICounter.CounterValue</A></CODE></FONT></TD>
    +<TD><CODE><B><A HREF="../../../../org/jacoco/core/analysis/ICounter.CounterValue.html#valueOf(java.lang.String)">valueOf</A></B>(<A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A>&nbsp;name)</CODE>
    +
    +<BR>
    +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns the enum constant of this type with the specified name.</TD>
    +</TR>
    +<TR BGCOLOR="white" CLASS="TableRowColor">
    +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
    +<CODE>static&nbsp;<A HREF="../../../../org/jacoco/core/analysis/ICounter.CounterValue.html" title="enum in org.jacoco.core.analysis">ICounter.CounterValue</A>[]</CODE></FONT></TD>
    +<TD><CODE><B><A HREF="../../../../org/jacoco/core/analysis/ICounter.CounterValue.html#values()">values</A></B>()</CODE>
    +
    +<BR>
    +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns an array containing the constants of this enum type, in
    +the order they're declared.</TD>
    +</TR>
    +</TABLE>
    +&nbsp;<A NAME="methods_inherited_from_class_java.lang.Enum"><!-- --></A>
    +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
    +<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
    +<TH ALIGN="left"><B>Methods inherited from class java.lang.<A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Enum.html" title="class or interface in java.lang">Enum</A></B></TH>
    +</TR>
    +<TR BGCOLOR="white" CLASS="TableRowColor">
    +<TD><CODE><A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Enum.html#clone()" title="class or interface in java.lang">clone</A>, <A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Enum.html#compareTo(E)" title="class or interface in java.lang">compareTo</A>, <A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Enum.html#equals(java.lang.Object)" title="class or interface in java.lang">equals</A>, <A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Enum.html#getDeclaringClass()" title="class or interface in java.lang">getDeclaringClass</A>, <A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Enum.html#hashCode()" title="class or interface in java.lang">hashCode</A>, <A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Enum.html#name()" title="class or interface in java.lang">name</A>, <A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Enum.html#ordinal()" title="class or interface in java.lang">ordinal</A>, <A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Enum.html#toString()" title="class or interface in java.lang">toString</A>, <A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Enum.html#valueOf(java.lang.Class, java.lang.String)" title="class or interface in java.lang">valueOf</A></CODE></TD>
    +</TR>
    +</TABLE>
    +&nbsp;<A NAME="methods_inherited_from_class_java.lang.Object"><!-- --></A>
    +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
    +<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
    +<TH ALIGN="left"><B>Methods inherited from class java.lang.<A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html" title="class or interface in java.lang">Object</A></B></TH>
    +</TR>
    +<TR BGCOLOR="white" CLASS="TableRowColor">
    +<TD><CODE><A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html#finalize()" title="class or interface in java.lang">finalize</A>, <A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html#getClass()" title="class or interface in java.lang">getClass</A>, <A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html#notify()" title="class or interface in java.lang">notify</A>, <A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html#notifyAll()" title="class or interface in java.lang">notifyAll</A>, <A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html#wait()" title="class or interface in java.lang">wait</A>, <A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html#wait(long)" title="class or interface in java.lang">wait</A>, <A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html#wait(long, int)" title="class or interface in java.lang">wait</A></CODE></TD>
    +</TR>
    +</TABLE>
    +&nbsp;
    +<P>
    +
    +<!-- ============ ENUM CONSTANT DETAIL =========== -->
    +
    +<A NAME="enum_constant_detail"><!-- --></A>
    +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
    +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
    +<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2">
    +<B>Enum Constant Detail</B></FONT></TH>
    +</TR>
    +</TABLE>
    +
    +<A NAME="TOTALCOUNT"><!-- --></A><H3>
    +TOTALCOUNT</H3>
    +<PRE>
    +public static final <A HREF="../../../../org/jacoco/core/analysis/ICounter.CounterValue.html" title="enum in org.jacoco.core.analysis">ICounter.CounterValue</A> <B>TOTALCOUNT</B></PRE>
    +<DL>
    +<DD>Total number of items
    +<P>
    +<DL>
    +</DL>
    +</DL>
    +<HR>
    +
    +<A NAME="MISSEDCOUNT"><!-- --></A><H3>
    +MISSEDCOUNT</H3>
    +<PRE>
    +public static final <A HREF="../../../../org/jacoco/core/analysis/ICounter.CounterValue.html" title="enum in org.jacoco.core.analysis">ICounter.CounterValue</A> <B>MISSEDCOUNT</B></PRE>
    +<DL>
    +<DD>Number of missed items
    +<P>
    +<DL>
    +</DL>
    +</DL>
    +<HR>
    +
    +<A NAME="COVEREDCOUNT"><!-- --></A><H3>
    +COVEREDCOUNT</H3>
    +<PRE>
    +public static final <A HREF="../../../../org/jacoco/core/analysis/ICounter.CounterValue.html" title="enum in org.jacoco.core.analysis">ICounter.CounterValue</A> <B>COVEREDCOUNT</B></PRE>
    +<DL>
    +<DD>Number of covered items
    +<P>
    +<DL>
    +</DL>
    +</DL>
    +<HR>
    +
    +<A NAME="MISSEDRATIO"><!-- --></A><H3>
    +MISSEDRATIO</H3>
    +<PRE>
    +public static final <A HREF="../../../../org/jacoco/core/analysis/ICounter.CounterValue.html" title="enum in org.jacoco.core.analysis">ICounter.CounterValue</A> <B>MISSEDRATIO</B></PRE>
    +<DL>
    +<DD>Ratio of missed to total items
    +<P>
    +<DL>
    +</DL>
    +</DL>
    +<HR>
    +
    +<A NAME="COVEREDRATIO"><!-- --></A><H3>
    +COVEREDRATIO</H3>
    +<PRE>
    +public static final <A HREF="../../../../org/jacoco/core/analysis/ICounter.CounterValue.html" title="enum in org.jacoco.core.analysis">ICounter.CounterValue</A> <B>COVEREDRATIO</B></PRE>
    +<DL>
    +<DD>Ratio of covered to total items
    +<P>
    +<DL>
    +</DL>
    +</DL>
    +
    +<!-- ============ METHOD DETAIL ========== -->
    +
    +<A NAME="method_detail"><!-- --></A>
    +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
    +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
    +<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2">
    +<B>Method Detail</B></FONT></TH>
    +</TR>
    +</TABLE>
    +
    +<A NAME="values()"><!-- --></A><H3>
    +values</H3>
    +<PRE>
    +public static final <A HREF="../../../../org/jacoco/core/analysis/ICounter.CounterValue.html" title="enum in org.jacoco.core.analysis">ICounter.CounterValue</A>[] <B>values</B>()</PRE>
    +<DL>
    +<DD>Returns an array containing the constants of this enum type, in
    +the order they're declared.  This method may be used to iterate
    +over the constants as follows:
    +<pre>
    +for(ICounter.CounterValue c : ICounter.CounterValue.values())
    +        System.out.println(c);
    +</pre>
    +<P>
    +<DD><DL>
    +
    +<DT><B>Returns:</B><DD>an array containing the constants of this enum type, in
    +the order they're declared</DL>
    +</DD>
    +</DL>
    +<HR>
    +
    +<A NAME="valueOf(java.lang.String)"><!-- --></A><H3>
    +valueOf</H3>
    +<PRE>
    +public static <A HREF="../../../../org/jacoco/core/analysis/ICounter.CounterValue.html" title="enum in org.jacoco.core.analysis">ICounter.CounterValue</A> <B>valueOf</B>(<A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A>&nbsp;name)</PRE>
    +<DL>
    +<DD>Returns the enum constant of this type with the specified name.
    +The string must match <I>exactly</I> an identifier used to declare an
    +enum constant in this type.  (Extraneous whitespace characters are 
    +not permitted.)
    +<P>
    +<DD><DL>
    +<DT><B>Parameters:</B><DD><CODE>name</CODE> - the name of the enum constant to be returned.
    +<DT><B>Returns:</B><DD>the enum constant with the specified name
    +<DT><B>Throws:</B>
    +<DD><CODE><A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/IllegalArgumentException.html" title="class or interface in java.lang">IllegalArgumentException</A></CODE> - if this enum type has no constant
    +with the specified name</DL>
    +</DD>
    +</DL>
    +<!-- ========= END OF CLASS DATA ========= -->
    +<HR>
    +
    +
    +<!-- ======= START OF BOTTOM NAVBAR ====== -->
    +<A NAME="navbar_bottom"><!-- --></A>
    +<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
    +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
    +<TR>
    +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
    +<A NAME="navbar_bottom_firstrow"><!-- --></A>
    +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
    +  <TR ALIGN="center" VALIGN="top">
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="class-use/ICounter.CounterValue.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
    +  </TR>
    +</TABLE>
    +</TD>
    +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
    +</EM>
    +</TD>
    +</TR>
    +
    +<TR>
    +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
    +&nbsp;<A HREF="../../../../org/jacoco/core/analysis/ICounter.html" title="interface in org.jacoco.core.analysis"><B>PREV CLASS</B></A>&nbsp;
    +&nbsp;<A HREF="../../../../org/jacoco/core/analysis/ICoverageNode.html" title="interface in org.jacoco.core.analysis"><B>NEXT CLASS</B></A></FONT></TD>
    +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
    +  <A HREF="../../../../index.html?org/jacoco/core/analysis/ICounter.CounterValue.html" target="_top"><B>FRAMES</B></A>  &nbsp;
    +&nbsp;<A HREF="ICounter.CounterValue.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
    +&nbsp;<SCRIPT type="text/javascript">
    +  <!--
    +  if(window==top) {
    +    document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>');
    +  }
    +  //-->
    +</SCRIPT>
    +<NOSCRIPT>
    +  <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>
    +</NOSCRIPT>
    +
    +
    +</FONT></TD>
    +</TR>
    +<TR>
    +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
    +  SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;<A HREF="#enum_constant_summary">ENUM CONSTANTS</A>&nbsp;|&nbsp;FIELD&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD>
    +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
    +DETAIL:&nbsp;<A HREF="#enum_constant_detail">ENUM CONSTANTS</A>&nbsp;|&nbsp;FIELD&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD>
    +</TR>
    +</TABLE>
    +<A NAME="skip-navbar_bottom"></A>
    +<!-- ======== END OF BOTTOM NAVBAR ======= -->
    +
    +<HR>
    +Copyright &#169; 2009&#x2013;2024 Mountainminds GmbH & Co. KG. All rights reserved.
    +</BODY>
    +</HTML>
    diff --git a/jacoco/trunk/doc/api/org/jacoco/core/analysis/ICounter.html b/jacoco/trunk/doc/api/org/jacoco/core/analysis/ICounter.html
    new file mode 100644
    index 00000000000..a45f3535b48
    --- /dev/null
    +++ b/jacoco/trunk/doc/api/org/jacoco/core/analysis/ICounter.html
    @@ -0,0 +1,464 @@
    +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
    +<!--NewPage-->
    +<HTML>
    +<HEAD>
    +<!-- Generated by javadoc (build 1.5.0_22) on Wed Mar 27 16:45:41 UTC 2024 -->
    +<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
    +<TITLE>
    +ICounter (JaCoCo 0.8.12.202403270442 API)
    +</TITLE>
    +
    +<META NAME="keywords" CONTENT="org.jacoco.core.analysis.ICounter interface">
    +
    +<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../stylesheet.css" TITLE="Style">
    +
    +<SCRIPT type="text/javascript">
    +function windowTitle()
    +{
    +    parent.document.title="ICounter (JaCoCo 0.8.12.202403270442 API)";
    +}
    +</SCRIPT>
    +<NOSCRIPT>
    +</NOSCRIPT>
    +
    +</HEAD>
    +
    +<BODY BGCOLOR="white" onload="windowTitle();">
    +
    +
    +<!-- ========= START OF TOP NAVBAR ======= -->
    +<A NAME="navbar_top"><!-- --></A>
    +<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
    +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
    +<TR>
    +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
    +<A NAME="navbar_top_firstrow"><!-- --></A>
    +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
    +  <TR ALIGN="center" VALIGN="top">
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="class-use/ICounter.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
    +  </TR>
    +</TABLE>
    +</TD>
    +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
    +</EM>
    +</TD>
    +</TR>
    +
    +<TR>
    +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
    +&nbsp;<A HREF="../../../../org/jacoco/core/analysis/IClassCoverage.html" title="interface in org.jacoco.core.analysis"><B>PREV CLASS</B></A>&nbsp;
    +&nbsp;<A HREF="../../../../org/jacoco/core/analysis/ICounter.CounterValue.html" title="enum in org.jacoco.core.analysis"><B>NEXT CLASS</B></A></FONT></TD>
    +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
    +  <A HREF="../../../../index.html?org/jacoco/core/analysis/ICounter.html" target="_top"><B>FRAMES</B></A>  &nbsp;
    +&nbsp;<A HREF="ICounter.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
    +&nbsp;<SCRIPT type="text/javascript">
    +  <!--
    +  if(window==top) {
    +    document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>');
    +  }
    +  //-->
    +</SCRIPT>
    +<NOSCRIPT>
    +  <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>
    +</NOSCRIPT>
    +
    +
    +</FONT></TD>
    +</TR>
    +<TR>
    +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
    +  SUMMARY:&nbsp;<A HREF="#nested_class_summary">NESTED</A>&nbsp;|&nbsp;<A HREF="#field_summary">FIELD</A>&nbsp;|&nbsp;CONSTR&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD>
    +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
    +DETAIL:&nbsp;<A HREF="#field_detail">FIELD</A>&nbsp;|&nbsp;CONSTR&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD>
    +</TR>
    +</TABLE>
    +<A NAME="skip-navbar_top"></A>
    +<!-- ========= END OF TOP NAVBAR ========= -->
    +
    +<HR>
    +<!-- ======== START OF CLASS DATA ======== -->
    +<H2>
    +<FONT SIZE="-1">
    +org.jacoco.core.analysis</FONT>
    +<BR>
    +Interface ICounter</H2>
    +<HR>
    +<DL>
    +<DT><PRE>public interface <B>ICounter</B></DL>
    +</PRE>
    +
    +<P>
    +A counter holds the missed and the covered number of particular items like
    + classes, methods, branches or instructions.
    +<P>
    +
    +<P>
    +<HR>
    +
    +<P>
    +<!-- ======== NESTED CLASS SUMMARY ======== -->
    +
    +<A NAME="nested_class_summary"><!-- --></A>
    +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
    +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
    +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
    +<B>Nested Class Summary</B></FONT></TH>
    +</TR>
    +<TR BGCOLOR="white" CLASS="TableRowColor">
    +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
    +<CODE>static&nbsp;class</CODE></FONT></TD>
    +<TD><CODE><B><A HREF="../../../../org/jacoco/core/analysis/ICounter.CounterValue.html" title="enum in org.jacoco.core.analysis">ICounter.CounterValue</A></B></CODE>
    +
    +<BR>
    +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Different values provided by a counter.</TD>
    +</TR>
    +</TABLE>
    +&nbsp;<!-- =========== FIELD SUMMARY =========== -->
    +
    +<A NAME="field_summary"><!-- --></A>
    +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
    +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
    +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
    +<B>Field Summary</B></FONT></TH>
    +</TR>
    +<TR BGCOLOR="white" CLASS="TableRowColor">
    +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
    +<CODE>static&nbsp;int</CODE></FONT></TD>
    +<TD><CODE><B><A HREF="../../../../org/jacoco/core/analysis/ICounter.html#EMPTY">EMPTY</A></B></CODE>
    +
    +<BR>
    +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Status flag for no items (value is 0x00).</TD>
    +</TR>
    +<TR BGCOLOR="white" CLASS="TableRowColor">
    +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
    +<CODE>static&nbsp;int</CODE></FONT></TD>
    +<TD><CODE><B><A HREF="../../../../org/jacoco/core/analysis/ICounter.html#FULLY_COVERED">FULLY_COVERED</A></B></CODE>
    +
    +<BR>
    +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Status flag when all items are covered (value is 0x02).</TD>
    +</TR>
    +<TR BGCOLOR="white" CLASS="TableRowColor">
    +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
    +<CODE>static&nbsp;int</CODE></FONT></TD>
    +<TD><CODE><B><A HREF="../../../../org/jacoco/core/analysis/ICounter.html#NOT_COVERED">NOT_COVERED</A></B></CODE>
    +
    +<BR>
    +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Status flag when all items are not covered (value is 0x01).</TD>
    +</TR>
    +<TR BGCOLOR="white" CLASS="TableRowColor">
    +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
    +<CODE>static&nbsp;int</CODE></FONT></TD>
    +<TD><CODE><B><A HREF="../../../../org/jacoco/core/analysis/ICounter.html#PARTLY_COVERED">PARTLY_COVERED</A></B></CODE>
    +
    +<BR>
    +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Status flag when items are partly covered (value is 0x03).</TD>
    +</TR>
    +</TABLE>
    +&nbsp;
    +<!-- ========== METHOD SUMMARY =========== -->
    +
    +<A NAME="method_summary"><!-- --></A>
    +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
    +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
    +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
    +<B>Method Summary</B></FONT></TH>
    +</TR>
    +<TR BGCOLOR="white" CLASS="TableRowColor">
    +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
    +<CODE>&nbsp;int</CODE></FONT></TD>
    +<TD><CODE><B><A HREF="../../../../org/jacoco/core/analysis/ICounter.html#getCoveredCount()">getCoveredCount</A></B>()</CODE>
    +
    +<BR>
    +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns the count of covered items.</TD>
    +</TR>
    +<TR BGCOLOR="white" CLASS="TableRowColor">
    +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
    +<CODE>&nbsp;double</CODE></FONT></TD>
    +<TD><CODE><B><A HREF="../../../../org/jacoco/core/analysis/ICounter.html#getCoveredRatio()">getCoveredRatio</A></B>()</CODE>
    +
    +<BR>
    +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Calculates the ratio of covered to total count items.</TD>
    +</TR>
    +<TR BGCOLOR="white" CLASS="TableRowColor">
    +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
    +<CODE>&nbsp;int</CODE></FONT></TD>
    +<TD><CODE><B><A HREF="../../../../org/jacoco/core/analysis/ICounter.html#getMissedCount()">getMissedCount</A></B>()</CODE>
    +
    +<BR>
    +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns the count of missed items.</TD>
    +</TR>
    +<TR BGCOLOR="white" CLASS="TableRowColor">
    +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
    +<CODE>&nbsp;double</CODE></FONT></TD>
    +<TD><CODE><B><A HREF="../../../../org/jacoco/core/analysis/ICounter.html#getMissedRatio()">getMissedRatio</A></B>()</CODE>
    +
    +<BR>
    +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Calculates the ratio of missed to total count items.</TD>
    +</TR>
    +<TR BGCOLOR="white" CLASS="TableRowColor">
    +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
    +<CODE>&nbsp;int</CODE></FONT></TD>
    +<TD><CODE><B><A HREF="../../../../org/jacoco/core/analysis/ICounter.html#getStatus()">getStatus</A></B>()</CODE>
    +
    +<BR>
    +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns the coverage status of this counter.</TD>
    +</TR>
    +<TR BGCOLOR="white" CLASS="TableRowColor">
    +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
    +<CODE>&nbsp;int</CODE></FONT></TD>
    +<TD><CODE><B><A HREF="../../../../org/jacoco/core/analysis/ICounter.html#getTotalCount()">getTotalCount</A></B>()</CODE>
    +
    +<BR>
    +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns the total count of items.</TD>
    +</TR>
    +<TR BGCOLOR="white" CLASS="TableRowColor">
    +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
    +<CODE>&nbsp;double</CODE></FONT></TD>
    +<TD><CODE><B><A HREF="../../../../org/jacoco/core/analysis/ICounter.html#getValue(org.jacoco.core.analysis.ICounter.CounterValue)">getValue</A></B>(<A HREF="../../../../org/jacoco/core/analysis/ICounter.CounterValue.html" title="enum in org.jacoco.core.analysis">ICounter.CounterValue</A>&nbsp;value)</CODE>
    +
    +<BR>
    +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns the counter value of the given type.</TD>
    +</TR>
    +</TABLE>
    +&nbsp;
    +<P>
    +
    +<!-- ============ FIELD DETAIL =========== -->
    +
    +<A NAME="field_detail"><!-- --></A>
    +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
    +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
    +<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2">
    +<B>Field Detail</B></FONT></TH>
    +</TR>
    +</TABLE>
    +
    +<A NAME="EMPTY"><!-- --></A><H3>
    +EMPTY</H3>
    +<PRE>
    +static final int <B>EMPTY</B></PRE>
    +<DL>
    +<DD>Status flag for no items (value is 0x00).
    +<P>
    +<DL>
    +<DT><B>See Also:</B><DD><A HREF="../../../../constant-values.html#org.jacoco.core.analysis.ICounter.EMPTY">Constant Field Values</A></DL>
    +</DL>
    +<HR>
    +
    +<A NAME="NOT_COVERED"><!-- --></A><H3>
    +NOT_COVERED</H3>
    +<PRE>
    +static final int <B>NOT_COVERED</B></PRE>
    +<DL>
    +<DD>Status flag when all items are not covered (value is 0x01).
    +<P>
    +<DL>
    +<DT><B>See Also:</B><DD><A HREF="../../../../constant-values.html#org.jacoco.core.analysis.ICounter.NOT_COVERED">Constant Field Values</A></DL>
    +</DL>
    +<HR>
    +
    +<A NAME="FULLY_COVERED"><!-- --></A><H3>
    +FULLY_COVERED</H3>
    +<PRE>
    +static final int <B>FULLY_COVERED</B></PRE>
    +<DL>
    +<DD>Status flag when all items are covered (value is 0x02).
    +<P>
    +<DL>
    +<DT><B>See Also:</B><DD><A HREF="../../../../constant-values.html#org.jacoco.core.analysis.ICounter.FULLY_COVERED">Constant Field Values</A></DL>
    +</DL>
    +<HR>
    +
    +<A NAME="PARTLY_COVERED"><!-- --></A><H3>
    +PARTLY_COVERED</H3>
    +<PRE>
    +static final int <B>PARTLY_COVERED</B></PRE>
    +<DL>
    +<DD>Status flag when items are partly covered (value is 0x03).
    +<P>
    +<DL>
    +<DT><B>See Also:</B><DD><A HREF="../../../../constant-values.html#org.jacoco.core.analysis.ICounter.PARTLY_COVERED">Constant Field Values</A></DL>
    +</DL>
    +
    +<!-- ============ METHOD DETAIL ========== -->
    +
    +<A NAME="method_detail"><!-- --></A>
    +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
    +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
    +<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2">
    +<B>Method Detail</B></FONT></TH>
    +</TR>
    +</TABLE>
    +
    +<A NAME="getValue(org.jacoco.core.analysis.ICounter.CounterValue)"><!-- --></A><H3>
    +getValue</H3>
    +<PRE>
    +double <B>getValue</B>(<A HREF="../../../../org/jacoco/core/analysis/ICounter.CounterValue.html" title="enum in org.jacoco.core.analysis">ICounter.CounterValue</A>&nbsp;value)</PRE>
    +<DL>
    +<DD>Returns the counter value of the given type.
    +<P>
    +<DD><DL>
    +<DT><B>Parameters:</B><DD><CODE>value</CODE> - value type to return
    +<DT><B>Returns:</B><DD>counter value</DL>
    +</DD>
    +</DL>
    +<HR>
    +
    +<A NAME="getTotalCount()"><!-- --></A><H3>
    +getTotalCount</H3>
    +<PRE>
    +int <B>getTotalCount</B>()</PRE>
    +<DL>
    +<DD>Returns the total count of items.
    +<P>
    +<DD><DL>
    +
    +<DT><B>Returns:</B><DD>total count of items</DL>
    +</DD>
    +</DL>
    +<HR>
    +
    +<A NAME="getCoveredCount()"><!-- --></A><H3>
    +getCoveredCount</H3>
    +<PRE>
    +int <B>getCoveredCount</B>()</PRE>
    +<DL>
    +<DD>Returns the count of covered items.
    +<P>
    +<DD><DL>
    +
    +<DT><B>Returns:</B><DD>count of covered items</DL>
    +</DD>
    +</DL>
    +<HR>
    +
    +<A NAME="getMissedCount()"><!-- --></A><H3>
    +getMissedCount</H3>
    +<PRE>
    +int <B>getMissedCount</B>()</PRE>
    +<DL>
    +<DD>Returns the count of missed items.
    +<P>
    +<DD><DL>
    +
    +<DT><B>Returns:</B><DD>count of missed items</DL>
    +</DD>
    +</DL>
    +<HR>
    +
    +<A NAME="getCoveredRatio()"><!-- --></A><H3>
    +getCoveredRatio</H3>
    +<PRE>
    +double <B>getCoveredRatio</B>()</PRE>
    +<DL>
    +<DD>Calculates the ratio of covered to total count items. If total count
    + items is 0 this method returns NaN.
    +<P>
    +<DD><DL>
    +
    +<DT><B>Returns:</B><DD>ratio of covered to total count items</DL>
    +</DD>
    +</DL>
    +<HR>
    +
    +<A NAME="getMissedRatio()"><!-- --></A><H3>
    +getMissedRatio</H3>
    +<PRE>
    +double <B>getMissedRatio</B>()</PRE>
    +<DL>
    +<DD>Calculates the ratio of missed to total count items. If total count items
    + is 0 this method returns NaN.
    +<P>
    +<DD><DL>
    +
    +<DT><B>Returns:</B><DD>ratio of missed to total count items</DL>
    +</DD>
    +</DL>
    +<HR>
    +
    +<A NAME="getStatus()"><!-- --></A><H3>
    +getStatus</H3>
    +<PRE>
    +int <B>getStatus</B>()</PRE>
    +<DL>
    +<DD>Returns the coverage status of this counter.
    +<P>
    +<DD><DL>
    +
    +<DT><B>Returns:</B><DD>status of this line<DT><B>See Also:</B><DD><A HREF="../../../../org/jacoco/core/analysis/ICounter.html#EMPTY"><CODE>EMPTY</CODE></A>, 
    +<A HREF="../../../../org/jacoco/core/analysis/ICounter.html#NOT_COVERED"><CODE>NOT_COVERED</CODE></A>, 
    +<A HREF="../../../../org/jacoco/core/analysis/ICounter.html#PARTLY_COVERED"><CODE>PARTLY_COVERED</CODE></A>, 
    +<A HREF="../../../../org/jacoco/core/analysis/ICounter.html#FULLY_COVERED"><CODE>FULLY_COVERED</CODE></A></DL>
    +</DD>
    +</DL>
    +<!-- ========= END OF CLASS DATA ========= -->
    +<HR>
    +
    +
    +<!-- ======= START OF BOTTOM NAVBAR ====== -->
    +<A NAME="navbar_bottom"><!-- --></A>
    +<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
    +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
    +<TR>
    +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
    +<A NAME="navbar_bottom_firstrow"><!-- --></A>
    +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
    +  <TR ALIGN="center" VALIGN="top">
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="class-use/ICounter.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
    +  </TR>
    +</TABLE>
    +</TD>
    +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
    +</EM>
    +</TD>
    +</TR>
    +
    +<TR>
    +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
    +&nbsp;<A HREF="../../../../org/jacoco/core/analysis/IClassCoverage.html" title="interface in org.jacoco.core.analysis"><B>PREV CLASS</B></A>&nbsp;
    +&nbsp;<A HREF="../../../../org/jacoco/core/analysis/ICounter.CounterValue.html" title="enum in org.jacoco.core.analysis"><B>NEXT CLASS</B></A></FONT></TD>
    +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
    +  <A HREF="../../../../index.html?org/jacoco/core/analysis/ICounter.html" target="_top"><B>FRAMES</B></A>  &nbsp;
    +&nbsp;<A HREF="ICounter.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
    +&nbsp;<SCRIPT type="text/javascript">
    +  <!--
    +  if(window==top) {
    +    document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>');
    +  }
    +  //-->
    +</SCRIPT>
    +<NOSCRIPT>
    +  <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>
    +</NOSCRIPT>
    +
    +
    +</FONT></TD>
    +</TR>
    +<TR>
    +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
    +  SUMMARY:&nbsp;<A HREF="#nested_class_summary">NESTED</A>&nbsp;|&nbsp;<A HREF="#field_summary">FIELD</A>&nbsp;|&nbsp;CONSTR&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD>
    +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
    +DETAIL:&nbsp;<A HREF="#field_detail">FIELD</A>&nbsp;|&nbsp;CONSTR&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD>
    +</TR>
    +</TABLE>
    +<A NAME="skip-navbar_bottom"></A>
    +<!-- ======== END OF BOTTOM NAVBAR ======= -->
    +
    +<HR>
    +Copyright &#169; 2009&#x2013;2024 Mountainminds GmbH & Co. KG. All rights reserved.
    +</BODY>
    +</HTML>
    diff --git a/jacoco/trunk/doc/api/org/jacoco/core/analysis/ICoverageNode.CounterEntity.html b/jacoco/trunk/doc/api/org/jacoco/core/analysis/ICoverageNode.CounterEntity.html
    new file mode 100644
    index 00000000000..815f48f8e59
    --- /dev/null
    +++ b/jacoco/trunk/doc/api/org/jacoco/core/analysis/ICoverageNode.CounterEntity.html
    @@ -0,0 +1,402 @@
    +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
    +<!--NewPage-->
    +<HTML>
    +<HEAD>
    +<!-- Generated by javadoc (build 1.5.0_22) on Wed Mar 27 16:45:41 UTC 2024 -->
    +<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
    +<TITLE>
    +ICoverageNode.CounterEntity (JaCoCo 0.8.12.202403270442 API)
    +</TITLE>
    +
    +<META NAME="keywords" CONTENT="org.jacoco.core.analysis.ICoverageNode.CounterEntity class">
    +
    +<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../stylesheet.css" TITLE="Style">
    +
    +<SCRIPT type="text/javascript">
    +function windowTitle()
    +{
    +    parent.document.title="ICoverageNode.CounterEntity (JaCoCo 0.8.12.202403270442 API)";
    +}
    +</SCRIPT>
    +<NOSCRIPT>
    +</NOSCRIPT>
    +
    +</HEAD>
    +
    +<BODY BGCOLOR="white" onload="windowTitle();">
    +
    +
    +<!-- ========= START OF TOP NAVBAR ======= -->
    +<A NAME="navbar_top"><!-- --></A>
    +<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
    +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
    +<TR>
    +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
    +<A NAME="navbar_top_firstrow"><!-- --></A>
    +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
    +  <TR ALIGN="center" VALIGN="top">
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="class-use/ICoverageNode.CounterEntity.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
    +  </TR>
    +</TABLE>
    +</TD>
    +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
    +</EM>
    +</TD>
    +</TR>
    +
    +<TR>
    +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
    +&nbsp;<A HREF="../../../../org/jacoco/core/analysis/ICoverageNode.html" title="interface in org.jacoco.core.analysis"><B>PREV CLASS</B></A>&nbsp;
    +&nbsp;<A HREF="../../../../org/jacoco/core/analysis/ICoverageNode.ElementType.html" title="enum in org.jacoco.core.analysis"><B>NEXT CLASS</B></A></FONT></TD>
    +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
    +  <A HREF="../../../../index.html?org/jacoco/core/analysis/ICoverageNode.CounterEntity.html" target="_top"><B>FRAMES</B></A>  &nbsp;
    +&nbsp;<A HREF="ICoverageNode.CounterEntity.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
    +&nbsp;<SCRIPT type="text/javascript">
    +  <!--
    +  if(window==top) {
    +    document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>');
    +  }
    +  //-->
    +</SCRIPT>
    +<NOSCRIPT>
    +  <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>
    +</NOSCRIPT>
    +
    +
    +</FONT></TD>
    +</TR>
    +<TR>
    +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
    +  SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;<A HREF="#enum_constant_summary">ENUM CONSTANTS</A>&nbsp;|&nbsp;FIELD&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD>
    +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
    +DETAIL:&nbsp;<A HREF="#enum_constant_detail">ENUM CONSTANTS</A>&nbsp;|&nbsp;FIELD&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD>
    +</TR>
    +</TABLE>
    +<A NAME="skip-navbar_top"></A>
    +<!-- ========= END OF TOP NAVBAR ========= -->
    +
    +<HR>
    +<!-- ======== START OF CLASS DATA ======== -->
    +<H2>
    +<FONT SIZE="-1">
    +org.jacoco.core.analysis</FONT>
    +<BR>
    +Enum ICoverageNode.CounterEntity</H2>
    +<PRE>
    +<A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html" title="class or interface in java.lang">java.lang.Object</A>
    +  <IMG SRC="../../../../resources/inherit.gif" ALT="extended by "><A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Enum.html" title="class or interface in java.lang">java.lang.Enum</A>&lt;<A HREF="../../../../org/jacoco/core/analysis/ICoverageNode.CounterEntity.html" title="enum in org.jacoco.core.analysis">ICoverageNode.CounterEntity</A>&gt;
    +      <IMG SRC="../../../../resources/inherit.gif" ALT="extended by "><B>org.jacoco.core.analysis.ICoverageNode.CounterEntity</B>
    +</PRE>
    +<DL>
    +<DT><B>All Implemented Interfaces:</B> <DD><A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/io/Serializable.html" title="class or interface in java.io">Serializable</A>, <A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Comparable.html" title="class or interface in java.lang">Comparable</A>&lt;<A HREF="../../../../org/jacoco/core/analysis/ICoverageNode.CounterEntity.html" title="enum in org.jacoco.core.analysis">ICoverageNode.CounterEntity</A>&gt;</DD>
    +</DL>
    +<DL>
    +<DT><B>Enclosing interface:</B><DD><A HREF="../../../../org/jacoco/core/analysis/ICoverageNode.html" title="interface in org.jacoco.core.analysis">ICoverageNode</A></DD>
    +</DL>
    +<HR>
    +<DL>
    +<DT><PRE>public static enum <B>ICoverageNode.CounterEntity</B><DT>extends <A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Enum.html" title="class or interface in java.lang">Enum</A>&lt;<A HREF="../../../../org/jacoco/core/analysis/ICoverageNode.CounterEntity.html" title="enum in org.jacoco.core.analysis">ICoverageNode.CounterEntity</A>&gt;</DL>
    +</PRE>
    +
    +<P>
    +Different counter types supported by JaCoCo.
    +<P>
    +
    +<P>
    +<HR>
    +
    +<P>
    +<!-- =========== ENUM CONSTANT SUMMARY =========== -->
    +
    +<A NAME="enum_constant_summary"><!-- --></A>
    +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
    +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
    +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
    +<B>Enum Constant Summary</B></FONT></TH>
    +</TR>
    +<TR BGCOLOR="white" CLASS="TableRowColor">
    +<TD><CODE><B><A HREF="../../../../org/jacoco/core/analysis/ICoverageNode.CounterEntity.html#BRANCH">BRANCH</A></B></CODE>
    +
    +<BR>
    +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Counter for branches</TD>
    +</TR>
    +<TR BGCOLOR="white" CLASS="TableRowColor">
    +<TD><CODE><B><A HREF="../../../../org/jacoco/core/analysis/ICoverageNode.CounterEntity.html#CLASS">CLASS</A></B></CODE>
    +
    +<BR>
    +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Counter for classes</TD>
    +</TR>
    +<TR BGCOLOR="white" CLASS="TableRowColor">
    +<TD><CODE><B><A HREF="../../../../org/jacoco/core/analysis/ICoverageNode.CounterEntity.html#COMPLEXITY">COMPLEXITY</A></B></CODE>
    +
    +<BR>
    +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Counter for cyclomatic complexity</TD>
    +</TR>
    +<TR BGCOLOR="white" CLASS="TableRowColor">
    +<TD><CODE><B><A HREF="../../../../org/jacoco/core/analysis/ICoverageNode.CounterEntity.html#INSTRUCTION">INSTRUCTION</A></B></CODE>
    +
    +<BR>
    +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Counter for instructions</TD>
    +</TR>
    +<TR BGCOLOR="white" CLASS="TableRowColor">
    +<TD><CODE><B><A HREF="../../../../org/jacoco/core/analysis/ICoverageNode.CounterEntity.html#LINE">LINE</A></B></CODE>
    +
    +<BR>
    +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Counter for source lines</TD>
    +</TR>
    +<TR BGCOLOR="white" CLASS="TableRowColor">
    +<TD><CODE><B><A HREF="../../../../org/jacoco/core/analysis/ICoverageNode.CounterEntity.html#METHOD">METHOD</A></B></CODE>
    +
    +<BR>
    +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Counter for methods</TD>
    +</TR>
    +</TABLE>
    +&nbsp;
    +<!-- ========== METHOD SUMMARY =========== -->
    +
    +<A NAME="method_summary"><!-- --></A>
    +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
    +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
    +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
    +<B>Method Summary</B></FONT></TH>
    +</TR>
    +<TR BGCOLOR="white" CLASS="TableRowColor">
    +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
    +<CODE>static&nbsp;<A HREF="../../../../org/jacoco/core/analysis/ICoverageNode.CounterEntity.html" title="enum in org.jacoco.core.analysis">ICoverageNode.CounterEntity</A></CODE></FONT></TD>
    +<TD><CODE><B><A HREF="../../../../org/jacoco/core/analysis/ICoverageNode.CounterEntity.html#valueOf(java.lang.String)">valueOf</A></B>(<A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A>&nbsp;name)</CODE>
    +
    +<BR>
    +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns the enum constant of this type with the specified name.</TD>
    +</TR>
    +<TR BGCOLOR="white" CLASS="TableRowColor">
    +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
    +<CODE>static&nbsp;<A HREF="../../../../org/jacoco/core/analysis/ICoverageNode.CounterEntity.html" title="enum in org.jacoco.core.analysis">ICoverageNode.CounterEntity</A>[]</CODE></FONT></TD>
    +<TD><CODE><B><A HREF="../../../../org/jacoco/core/analysis/ICoverageNode.CounterEntity.html#values()">values</A></B>()</CODE>
    +
    +<BR>
    +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns an array containing the constants of this enum type, in
    +the order they're declared.</TD>
    +</TR>
    +</TABLE>
    +&nbsp;<A NAME="methods_inherited_from_class_java.lang.Enum"><!-- --></A>
    +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
    +<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
    +<TH ALIGN="left"><B>Methods inherited from class java.lang.<A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Enum.html" title="class or interface in java.lang">Enum</A></B></TH>
    +</TR>
    +<TR BGCOLOR="white" CLASS="TableRowColor">
    +<TD><CODE><A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Enum.html#clone()" title="class or interface in java.lang">clone</A>, <A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Enum.html#compareTo(E)" title="class or interface in java.lang">compareTo</A>, <A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Enum.html#equals(java.lang.Object)" title="class or interface in java.lang">equals</A>, <A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Enum.html#getDeclaringClass()" title="class or interface in java.lang">getDeclaringClass</A>, <A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Enum.html#hashCode()" title="class or interface in java.lang">hashCode</A>, <A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Enum.html#name()" title="class or interface in java.lang">name</A>, <A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Enum.html#ordinal()" title="class or interface in java.lang">ordinal</A>, <A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Enum.html#toString()" title="class or interface in java.lang">toString</A>, <A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Enum.html#valueOf(java.lang.Class, java.lang.String)" title="class or interface in java.lang">valueOf</A></CODE></TD>
    +</TR>
    +</TABLE>
    +&nbsp;<A NAME="methods_inherited_from_class_java.lang.Object"><!-- --></A>
    +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
    +<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
    +<TH ALIGN="left"><B>Methods inherited from class java.lang.<A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html" title="class or interface in java.lang">Object</A></B></TH>
    +</TR>
    +<TR BGCOLOR="white" CLASS="TableRowColor">
    +<TD><CODE><A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html#finalize()" title="class or interface in java.lang">finalize</A>, <A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html#getClass()" title="class or interface in java.lang">getClass</A>, <A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html#notify()" title="class or interface in java.lang">notify</A>, <A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html#notifyAll()" title="class or interface in java.lang">notifyAll</A>, <A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html#wait()" title="class or interface in java.lang">wait</A>, <A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html#wait(long)" title="class or interface in java.lang">wait</A>, <A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html#wait(long, int)" title="class or interface in java.lang">wait</A></CODE></TD>
    +</TR>
    +</TABLE>
    +&nbsp;
    +<P>
    +
    +<!-- ============ ENUM CONSTANT DETAIL =========== -->
    +
    +<A NAME="enum_constant_detail"><!-- --></A>
    +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
    +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
    +<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2">
    +<B>Enum Constant Detail</B></FONT></TH>
    +</TR>
    +</TABLE>
    +
    +<A NAME="INSTRUCTION"><!-- --></A><H3>
    +INSTRUCTION</H3>
    +<PRE>
    +public static final <A HREF="../../../../org/jacoco/core/analysis/ICoverageNode.CounterEntity.html" title="enum in org.jacoco.core.analysis">ICoverageNode.CounterEntity</A> <B>INSTRUCTION</B></PRE>
    +<DL>
    +<DD>Counter for instructions
    +<P>
    +<DL>
    +</DL>
    +</DL>
    +<HR>
    +
    +<A NAME="BRANCH"><!-- --></A><H3>
    +BRANCH</H3>
    +<PRE>
    +public static final <A HREF="../../../../org/jacoco/core/analysis/ICoverageNode.CounterEntity.html" title="enum in org.jacoco.core.analysis">ICoverageNode.CounterEntity</A> <B>BRANCH</B></PRE>
    +<DL>
    +<DD>Counter for branches
    +<P>
    +<DL>
    +</DL>
    +</DL>
    +<HR>
    +
    +<A NAME="LINE"><!-- --></A><H3>
    +LINE</H3>
    +<PRE>
    +public static final <A HREF="../../../../org/jacoco/core/analysis/ICoverageNode.CounterEntity.html" title="enum in org.jacoco.core.analysis">ICoverageNode.CounterEntity</A> <B>LINE</B></PRE>
    +<DL>
    +<DD>Counter for source lines
    +<P>
    +<DL>
    +</DL>
    +</DL>
    +<HR>
    +
    +<A NAME="COMPLEXITY"><!-- --></A><H3>
    +COMPLEXITY</H3>
    +<PRE>
    +public static final <A HREF="../../../../org/jacoco/core/analysis/ICoverageNode.CounterEntity.html" title="enum in org.jacoco.core.analysis">ICoverageNode.CounterEntity</A> <B>COMPLEXITY</B></PRE>
    +<DL>
    +<DD>Counter for cyclomatic complexity
    +<P>
    +<DL>
    +</DL>
    +</DL>
    +<HR>
    +
    +<A NAME="METHOD"><!-- --></A><H3>
    +METHOD</H3>
    +<PRE>
    +public static final <A HREF="../../../../org/jacoco/core/analysis/ICoverageNode.CounterEntity.html" title="enum in org.jacoco.core.analysis">ICoverageNode.CounterEntity</A> <B>METHOD</B></PRE>
    +<DL>
    +<DD>Counter for methods
    +<P>
    +<DL>
    +</DL>
    +</DL>
    +<HR>
    +
    +<A NAME="CLASS"><!-- --></A><H3>
    +CLASS</H3>
    +<PRE>
    +public static final <A HREF="../../../../org/jacoco/core/analysis/ICoverageNode.CounterEntity.html" title="enum in org.jacoco.core.analysis">ICoverageNode.CounterEntity</A> <B>CLASS</B></PRE>
    +<DL>
    +<DD>Counter for classes
    +<P>
    +<DL>
    +</DL>
    +</DL>
    +
    +<!-- ============ METHOD DETAIL ========== -->
    +
    +<A NAME="method_detail"><!-- --></A>
    +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
    +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
    +<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2">
    +<B>Method Detail</B></FONT></TH>
    +</TR>
    +</TABLE>
    +
    +<A NAME="values()"><!-- --></A><H3>
    +values</H3>
    +<PRE>
    +public static final <A HREF="../../../../org/jacoco/core/analysis/ICoverageNode.CounterEntity.html" title="enum in org.jacoco.core.analysis">ICoverageNode.CounterEntity</A>[] <B>values</B>()</PRE>
    +<DL>
    +<DD>Returns an array containing the constants of this enum type, in
    +the order they're declared.  This method may be used to iterate
    +over the constants as follows:
    +<pre>
    +for(ICoverageNode.CounterEntity c : ICoverageNode.CounterEntity.values())
    +        System.out.println(c);
    +</pre>
    +<P>
    +<DD><DL>
    +
    +<DT><B>Returns:</B><DD>an array containing the constants of this enum type, in
    +the order they're declared</DL>
    +</DD>
    +</DL>
    +<HR>
    +
    +<A NAME="valueOf(java.lang.String)"><!-- --></A><H3>
    +valueOf</H3>
    +<PRE>
    +public static <A HREF="../../../../org/jacoco/core/analysis/ICoverageNode.CounterEntity.html" title="enum in org.jacoco.core.analysis">ICoverageNode.CounterEntity</A> <B>valueOf</B>(<A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A>&nbsp;name)</PRE>
    +<DL>
    +<DD>Returns the enum constant of this type with the specified name.
    +The string must match <I>exactly</I> an identifier used to declare an
    +enum constant in this type.  (Extraneous whitespace characters are 
    +not permitted.)
    +<P>
    +<DD><DL>
    +<DT><B>Parameters:</B><DD><CODE>name</CODE> - the name of the enum constant to be returned.
    +<DT><B>Returns:</B><DD>the enum constant with the specified name
    +<DT><B>Throws:</B>
    +<DD><CODE><A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/IllegalArgumentException.html" title="class or interface in java.lang">IllegalArgumentException</A></CODE> - if this enum type has no constant
    +with the specified name</DL>
    +</DD>
    +</DL>
    +<!-- ========= END OF CLASS DATA ========= -->
    +<HR>
    +
    +
    +<!-- ======= START OF BOTTOM NAVBAR ====== -->
    +<A NAME="navbar_bottom"><!-- --></A>
    +<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
    +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
    +<TR>
    +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
    +<A NAME="navbar_bottom_firstrow"><!-- --></A>
    +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
    +  <TR ALIGN="center" VALIGN="top">
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="class-use/ICoverageNode.CounterEntity.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
    +  </TR>
    +</TABLE>
    +</TD>
    +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
    +</EM>
    +</TD>
    +</TR>
    +
    +<TR>
    +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
    +&nbsp;<A HREF="../../../../org/jacoco/core/analysis/ICoverageNode.html" title="interface in org.jacoco.core.analysis"><B>PREV CLASS</B></A>&nbsp;
    +&nbsp;<A HREF="../../../../org/jacoco/core/analysis/ICoverageNode.ElementType.html" title="enum in org.jacoco.core.analysis"><B>NEXT CLASS</B></A></FONT></TD>
    +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
    +  <A HREF="../../../../index.html?org/jacoco/core/analysis/ICoverageNode.CounterEntity.html" target="_top"><B>FRAMES</B></A>  &nbsp;
    +&nbsp;<A HREF="ICoverageNode.CounterEntity.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
    +&nbsp;<SCRIPT type="text/javascript">
    +  <!--
    +  if(window==top) {
    +    document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>');
    +  }
    +  //-->
    +</SCRIPT>
    +<NOSCRIPT>
    +  <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>
    +</NOSCRIPT>
    +
    +
    +</FONT></TD>
    +</TR>
    +<TR>
    +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
    +  SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;<A HREF="#enum_constant_summary">ENUM CONSTANTS</A>&nbsp;|&nbsp;FIELD&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD>
    +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
    +DETAIL:&nbsp;<A HREF="#enum_constant_detail">ENUM CONSTANTS</A>&nbsp;|&nbsp;FIELD&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD>
    +</TR>
    +</TABLE>
    +<A NAME="skip-navbar_bottom"></A>
    +<!-- ======== END OF BOTTOM NAVBAR ======= -->
    +
    +<HR>
    +Copyright &#169; 2009&#x2013;2024 Mountainminds GmbH & Co. KG. All rights reserved.
    +</BODY>
    +</HTML>
    diff --git a/jacoco/trunk/doc/api/org/jacoco/core/analysis/ICoverageNode.ElementType.html b/jacoco/trunk/doc/api/org/jacoco/core/analysis/ICoverageNode.ElementType.html
    new file mode 100644
    index 00000000000..6b8abb76975
    --- /dev/null
    +++ b/jacoco/trunk/doc/api/org/jacoco/core/analysis/ICoverageNode.ElementType.html
    @@ -0,0 +1,402 @@
    +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
    +<!--NewPage-->
    +<HTML>
    +<HEAD>
    +<!-- Generated by javadoc (build 1.5.0_22) on Wed Mar 27 16:45:41 UTC 2024 -->
    +<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
    +<TITLE>
    +ICoverageNode.ElementType (JaCoCo 0.8.12.202403270442 API)
    +</TITLE>
    +
    +<META NAME="keywords" CONTENT="org.jacoco.core.analysis.ICoverageNode.ElementType class">
    +
    +<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../stylesheet.css" TITLE="Style">
    +
    +<SCRIPT type="text/javascript">
    +function windowTitle()
    +{
    +    parent.document.title="ICoverageNode.ElementType (JaCoCo 0.8.12.202403270442 API)";
    +}
    +</SCRIPT>
    +<NOSCRIPT>
    +</NOSCRIPT>
    +
    +</HEAD>
    +
    +<BODY BGCOLOR="white" onload="windowTitle();">
    +
    +
    +<!-- ========= START OF TOP NAVBAR ======= -->
    +<A NAME="navbar_top"><!-- --></A>
    +<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
    +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
    +<TR>
    +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
    +<A NAME="navbar_top_firstrow"><!-- --></A>
    +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
    +  <TR ALIGN="center" VALIGN="top">
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="class-use/ICoverageNode.ElementType.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
    +  </TR>
    +</TABLE>
    +</TD>
    +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
    +</EM>
    +</TD>
    +</TR>
    +
    +<TR>
    +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
    +&nbsp;<A HREF="../../../../org/jacoco/core/analysis/ICoverageNode.CounterEntity.html" title="enum in org.jacoco.core.analysis"><B>PREV CLASS</B></A>&nbsp;
    +&nbsp;<A HREF="../../../../org/jacoco/core/analysis/ICoverageVisitor.html" title="interface in org.jacoco.core.analysis"><B>NEXT CLASS</B></A></FONT></TD>
    +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
    +  <A HREF="../../../../index.html?org/jacoco/core/analysis/ICoverageNode.ElementType.html" target="_top"><B>FRAMES</B></A>  &nbsp;
    +&nbsp;<A HREF="ICoverageNode.ElementType.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
    +&nbsp;<SCRIPT type="text/javascript">
    +  <!--
    +  if(window==top) {
    +    document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>');
    +  }
    +  //-->
    +</SCRIPT>
    +<NOSCRIPT>
    +  <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>
    +</NOSCRIPT>
    +
    +
    +</FONT></TD>
    +</TR>
    +<TR>
    +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
    +  SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;<A HREF="#enum_constant_summary">ENUM CONSTANTS</A>&nbsp;|&nbsp;FIELD&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD>
    +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
    +DETAIL:&nbsp;<A HREF="#enum_constant_detail">ENUM CONSTANTS</A>&nbsp;|&nbsp;FIELD&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD>
    +</TR>
    +</TABLE>
    +<A NAME="skip-navbar_top"></A>
    +<!-- ========= END OF TOP NAVBAR ========= -->
    +
    +<HR>
    +<!-- ======== START OF CLASS DATA ======== -->
    +<H2>
    +<FONT SIZE="-1">
    +org.jacoco.core.analysis</FONT>
    +<BR>
    +Enum ICoverageNode.ElementType</H2>
    +<PRE>
    +<A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html" title="class or interface in java.lang">java.lang.Object</A>
    +  <IMG SRC="../../../../resources/inherit.gif" ALT="extended by "><A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Enum.html" title="class or interface in java.lang">java.lang.Enum</A>&lt;<A HREF="../../../../org/jacoco/core/analysis/ICoverageNode.ElementType.html" title="enum in org.jacoco.core.analysis">ICoverageNode.ElementType</A>&gt;
    +      <IMG SRC="../../../../resources/inherit.gif" ALT="extended by "><B>org.jacoco.core.analysis.ICoverageNode.ElementType</B>
    +</PRE>
    +<DL>
    +<DT><B>All Implemented Interfaces:</B> <DD><A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/io/Serializable.html" title="class or interface in java.io">Serializable</A>, <A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Comparable.html" title="class or interface in java.lang">Comparable</A>&lt;<A HREF="../../../../org/jacoco/core/analysis/ICoverageNode.ElementType.html" title="enum in org.jacoco.core.analysis">ICoverageNode.ElementType</A>&gt;</DD>
    +</DL>
    +<DL>
    +<DT><B>Enclosing interface:</B><DD><A HREF="../../../../org/jacoco/core/analysis/ICoverageNode.html" title="interface in org.jacoco.core.analysis">ICoverageNode</A></DD>
    +</DL>
    +<HR>
    +<DL>
    +<DT><PRE>public static enum <B>ICoverageNode.ElementType</B><DT>extends <A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Enum.html" title="class or interface in java.lang">Enum</A>&lt;<A HREF="../../../../org/jacoco/core/analysis/ICoverageNode.ElementType.html" title="enum in org.jacoco.core.analysis">ICoverageNode.ElementType</A>&gt;</DL>
    +</PRE>
    +
    +<P>
    +Type of a Java element represented by a <A HREF="../../../../org/jacoco/core/analysis/ICoverageNode.html" title="interface in org.jacoco.core.analysis"><CODE>ICoverageNode</CODE></A> instance.
    +<P>
    +
    +<P>
    +<HR>
    +
    +<P>
    +<!-- =========== ENUM CONSTANT SUMMARY =========== -->
    +
    +<A NAME="enum_constant_summary"><!-- --></A>
    +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
    +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
    +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
    +<B>Enum Constant Summary</B></FONT></TH>
    +</TR>
    +<TR BGCOLOR="white" CLASS="TableRowColor">
    +<TD><CODE><B><A HREF="../../../../org/jacoco/core/analysis/ICoverageNode.ElementType.html#BUNDLE">BUNDLE</A></B></CODE>
    +
    +<BR>
    +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Bundle of Packages</TD>
    +</TR>
    +<TR BGCOLOR="white" CLASS="TableRowColor">
    +<TD><CODE><B><A HREF="../../../../org/jacoco/core/analysis/ICoverageNode.ElementType.html#CLASS">CLASS</A></B></CODE>
    +
    +<BR>
    +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Class</TD>
    +</TR>
    +<TR BGCOLOR="white" CLASS="TableRowColor">
    +<TD><CODE><B><A HREF="../../../../org/jacoco/core/analysis/ICoverageNode.ElementType.html#GROUP">GROUP</A></B></CODE>
    +
    +<BR>
    +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Logical Group of Bundles</TD>
    +</TR>
    +<TR BGCOLOR="white" CLASS="TableRowColor">
    +<TD><CODE><B><A HREF="../../../../org/jacoco/core/analysis/ICoverageNode.ElementType.html#METHOD">METHOD</A></B></CODE>
    +
    +<BR>
    +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Method</TD>
    +</TR>
    +<TR BGCOLOR="white" CLASS="TableRowColor">
    +<TD><CODE><B><A HREF="../../../../org/jacoco/core/analysis/ICoverageNode.ElementType.html#PACKAGE">PACKAGE</A></B></CODE>
    +
    +<BR>
    +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Java Package</TD>
    +</TR>
    +<TR BGCOLOR="white" CLASS="TableRowColor">
    +<TD><CODE><B><A HREF="../../../../org/jacoco/core/analysis/ICoverageNode.ElementType.html#SOURCEFILE">SOURCEFILE</A></B></CODE>
    +
    +<BR>
    +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Source File</TD>
    +</TR>
    +</TABLE>
    +&nbsp;
    +<!-- ========== METHOD SUMMARY =========== -->
    +
    +<A NAME="method_summary"><!-- --></A>
    +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
    +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
    +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
    +<B>Method Summary</B></FONT></TH>
    +</TR>
    +<TR BGCOLOR="white" CLASS="TableRowColor">
    +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
    +<CODE>static&nbsp;<A HREF="../../../../org/jacoco/core/analysis/ICoverageNode.ElementType.html" title="enum in org.jacoco.core.analysis">ICoverageNode.ElementType</A></CODE></FONT></TD>
    +<TD><CODE><B><A HREF="../../../../org/jacoco/core/analysis/ICoverageNode.ElementType.html#valueOf(java.lang.String)">valueOf</A></B>(<A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A>&nbsp;name)</CODE>
    +
    +<BR>
    +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns the enum constant of this type with the specified name.</TD>
    +</TR>
    +<TR BGCOLOR="white" CLASS="TableRowColor">
    +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
    +<CODE>static&nbsp;<A HREF="../../../../org/jacoco/core/analysis/ICoverageNode.ElementType.html" title="enum in org.jacoco.core.analysis">ICoverageNode.ElementType</A>[]</CODE></FONT></TD>
    +<TD><CODE><B><A HREF="../../../../org/jacoco/core/analysis/ICoverageNode.ElementType.html#values()">values</A></B>()</CODE>
    +
    +<BR>
    +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns an array containing the constants of this enum type, in
    +the order they're declared.</TD>
    +</TR>
    +</TABLE>
    +&nbsp;<A NAME="methods_inherited_from_class_java.lang.Enum"><!-- --></A>
    +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
    +<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
    +<TH ALIGN="left"><B>Methods inherited from class java.lang.<A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Enum.html" title="class or interface in java.lang">Enum</A></B></TH>
    +</TR>
    +<TR BGCOLOR="white" CLASS="TableRowColor">
    +<TD><CODE><A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Enum.html#clone()" title="class or interface in java.lang">clone</A>, <A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Enum.html#compareTo(E)" title="class or interface in java.lang">compareTo</A>, <A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Enum.html#equals(java.lang.Object)" title="class or interface in java.lang">equals</A>, <A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Enum.html#getDeclaringClass()" title="class or interface in java.lang">getDeclaringClass</A>, <A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Enum.html#hashCode()" title="class or interface in java.lang">hashCode</A>, <A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Enum.html#name()" title="class or interface in java.lang">name</A>, <A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Enum.html#ordinal()" title="class or interface in java.lang">ordinal</A>, <A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Enum.html#toString()" title="class or interface in java.lang">toString</A>, <A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Enum.html#valueOf(java.lang.Class, java.lang.String)" title="class or interface in java.lang">valueOf</A></CODE></TD>
    +</TR>
    +</TABLE>
    +&nbsp;<A NAME="methods_inherited_from_class_java.lang.Object"><!-- --></A>
    +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
    +<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
    +<TH ALIGN="left"><B>Methods inherited from class java.lang.<A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html" title="class or interface in java.lang">Object</A></B></TH>
    +</TR>
    +<TR BGCOLOR="white" CLASS="TableRowColor">
    +<TD><CODE><A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html#finalize()" title="class or interface in java.lang">finalize</A>, <A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html#getClass()" title="class or interface in java.lang">getClass</A>, <A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html#notify()" title="class or interface in java.lang">notify</A>, <A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html#notifyAll()" title="class or interface in java.lang">notifyAll</A>, <A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html#wait()" title="class or interface in java.lang">wait</A>, <A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html#wait(long)" title="class or interface in java.lang">wait</A>, <A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html#wait(long, int)" title="class or interface in java.lang">wait</A></CODE></TD>
    +</TR>
    +</TABLE>
    +&nbsp;
    +<P>
    +
    +<!-- ============ ENUM CONSTANT DETAIL =========== -->
    +
    +<A NAME="enum_constant_detail"><!-- --></A>
    +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
    +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
    +<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2">
    +<B>Enum Constant Detail</B></FONT></TH>
    +</TR>
    +</TABLE>
    +
    +<A NAME="METHOD"><!-- --></A><H3>
    +METHOD</H3>
    +<PRE>
    +public static final <A HREF="../../../../org/jacoco/core/analysis/ICoverageNode.ElementType.html" title="enum in org.jacoco.core.analysis">ICoverageNode.ElementType</A> <B>METHOD</B></PRE>
    +<DL>
    +<DD>Method
    +<P>
    +<DL>
    +</DL>
    +</DL>
    +<HR>
    +
    +<A NAME="CLASS"><!-- --></A><H3>
    +CLASS</H3>
    +<PRE>
    +public static final <A HREF="../../../../org/jacoco/core/analysis/ICoverageNode.ElementType.html" title="enum in org.jacoco.core.analysis">ICoverageNode.ElementType</A> <B>CLASS</B></PRE>
    +<DL>
    +<DD>Class
    +<P>
    +<DL>
    +</DL>
    +</DL>
    +<HR>
    +
    +<A NAME="SOURCEFILE"><!-- --></A><H3>
    +SOURCEFILE</H3>
    +<PRE>
    +public static final <A HREF="../../../../org/jacoco/core/analysis/ICoverageNode.ElementType.html" title="enum in org.jacoco.core.analysis">ICoverageNode.ElementType</A> <B>SOURCEFILE</B></PRE>
    +<DL>
    +<DD>Source File
    +<P>
    +<DL>
    +</DL>
    +</DL>
    +<HR>
    +
    +<A NAME="PACKAGE"><!-- --></A><H3>
    +PACKAGE</H3>
    +<PRE>
    +public static final <A HREF="../../../../org/jacoco/core/analysis/ICoverageNode.ElementType.html" title="enum in org.jacoco.core.analysis">ICoverageNode.ElementType</A> <B>PACKAGE</B></PRE>
    +<DL>
    +<DD>Java Package
    +<P>
    +<DL>
    +</DL>
    +</DL>
    +<HR>
    +
    +<A NAME="BUNDLE"><!-- --></A><H3>
    +BUNDLE</H3>
    +<PRE>
    +public static final <A HREF="../../../../org/jacoco/core/analysis/ICoverageNode.ElementType.html" title="enum in org.jacoco.core.analysis">ICoverageNode.ElementType</A> <B>BUNDLE</B></PRE>
    +<DL>
    +<DD>Bundle of Packages
    +<P>
    +<DL>
    +</DL>
    +</DL>
    +<HR>
    +
    +<A NAME="GROUP"><!-- --></A><H3>
    +GROUP</H3>
    +<PRE>
    +public static final <A HREF="../../../../org/jacoco/core/analysis/ICoverageNode.ElementType.html" title="enum in org.jacoco.core.analysis">ICoverageNode.ElementType</A> <B>GROUP</B></PRE>
    +<DL>
    +<DD>Logical Group of Bundles
    +<P>
    +<DL>
    +</DL>
    +</DL>
    +
    +<!-- ============ METHOD DETAIL ========== -->
    +
    +<A NAME="method_detail"><!-- --></A>
    +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
    +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
    +<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2">
    +<B>Method Detail</B></FONT></TH>
    +</TR>
    +</TABLE>
    +
    +<A NAME="values()"><!-- --></A><H3>
    +values</H3>
    +<PRE>
    +public static final <A HREF="../../../../org/jacoco/core/analysis/ICoverageNode.ElementType.html" title="enum in org.jacoco.core.analysis">ICoverageNode.ElementType</A>[] <B>values</B>()</PRE>
    +<DL>
    +<DD>Returns an array containing the constants of this enum type, in
    +the order they're declared.  This method may be used to iterate
    +over the constants as follows:
    +<pre>
    +for(ICoverageNode.ElementType c : ICoverageNode.ElementType.values())
    +        System.out.println(c);
    +</pre>
    +<P>
    +<DD><DL>
    +
    +<DT><B>Returns:</B><DD>an array containing the constants of this enum type, in
    +the order they're declared</DL>
    +</DD>
    +</DL>
    +<HR>
    +
    +<A NAME="valueOf(java.lang.String)"><!-- --></A><H3>
    +valueOf</H3>
    +<PRE>
    +public static <A HREF="../../../../org/jacoco/core/analysis/ICoverageNode.ElementType.html" title="enum in org.jacoco.core.analysis">ICoverageNode.ElementType</A> <B>valueOf</B>(<A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A>&nbsp;name)</PRE>
    +<DL>
    +<DD>Returns the enum constant of this type with the specified name.
    +The string must match <I>exactly</I> an identifier used to declare an
    +enum constant in this type.  (Extraneous whitespace characters are 
    +not permitted.)
    +<P>
    +<DD><DL>
    +<DT><B>Parameters:</B><DD><CODE>name</CODE> - the name of the enum constant to be returned.
    +<DT><B>Returns:</B><DD>the enum constant with the specified name
    +<DT><B>Throws:</B>
    +<DD><CODE><A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/IllegalArgumentException.html" title="class or interface in java.lang">IllegalArgumentException</A></CODE> - if this enum type has no constant
    +with the specified name</DL>
    +</DD>
    +</DL>
    +<!-- ========= END OF CLASS DATA ========= -->
    +<HR>
    +
    +
    +<!-- ======= START OF BOTTOM NAVBAR ====== -->
    +<A NAME="navbar_bottom"><!-- --></A>
    +<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
    +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
    +<TR>
    +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
    +<A NAME="navbar_bottom_firstrow"><!-- --></A>
    +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
    +  <TR ALIGN="center" VALIGN="top">
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="class-use/ICoverageNode.ElementType.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
    +  </TR>
    +</TABLE>
    +</TD>
    +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
    +</EM>
    +</TD>
    +</TR>
    +
    +<TR>
    +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
    +&nbsp;<A HREF="../../../../org/jacoco/core/analysis/ICoverageNode.CounterEntity.html" title="enum in org.jacoco.core.analysis"><B>PREV CLASS</B></A>&nbsp;
    +&nbsp;<A HREF="../../../../org/jacoco/core/analysis/ICoverageVisitor.html" title="interface in org.jacoco.core.analysis"><B>NEXT CLASS</B></A></FONT></TD>
    +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
    +  <A HREF="../../../../index.html?org/jacoco/core/analysis/ICoverageNode.ElementType.html" target="_top"><B>FRAMES</B></A>  &nbsp;
    +&nbsp;<A HREF="ICoverageNode.ElementType.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
    +&nbsp;<SCRIPT type="text/javascript">
    +  <!--
    +  if(window==top) {
    +    document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>');
    +  }
    +  //-->
    +</SCRIPT>
    +<NOSCRIPT>
    +  <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>
    +</NOSCRIPT>
    +
    +
    +</FONT></TD>
    +</TR>
    +<TR>
    +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
    +  SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;<A HREF="#enum_constant_summary">ENUM CONSTANTS</A>&nbsp;|&nbsp;FIELD&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD>
    +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
    +DETAIL:&nbsp;<A HREF="#enum_constant_detail">ENUM CONSTANTS</A>&nbsp;|&nbsp;FIELD&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD>
    +</TR>
    +</TABLE>
    +<A NAME="skip-navbar_bottom"></A>
    +<!-- ======== END OF BOTTOM NAVBAR ======= -->
    +
    +<HR>
    +Copyright &#169; 2009&#x2013;2024 Mountainminds GmbH & Co. KG. All rights reserved.
    +</BODY>
    +</HTML>
    diff --git a/jacoco/trunk/doc/api/org/jacoco/core/analysis/ICoverageNode.html b/jacoco/trunk/doc/api/org/jacoco/core/analysis/ICoverageNode.html
    new file mode 100644
    index 00000000000..d317db590dc
    --- /dev/null
    +++ b/jacoco/trunk/doc/api/org/jacoco/core/analysis/ICoverageNode.html
    @@ -0,0 +1,467 @@
    +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
    +<!--NewPage-->
    +<HTML>
    +<HEAD>
    +<!-- Generated by javadoc (build 1.5.0_22) on Wed Mar 27 16:45:41 UTC 2024 -->
    +<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
    +<TITLE>
    +ICoverageNode (JaCoCo 0.8.12.202403270442 API)
    +</TITLE>
    +
    +<META NAME="keywords" CONTENT="org.jacoco.core.analysis.ICoverageNode interface">
    +
    +<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../stylesheet.css" TITLE="Style">
    +
    +<SCRIPT type="text/javascript">
    +function windowTitle()
    +{
    +    parent.document.title="ICoverageNode (JaCoCo 0.8.12.202403270442 API)";
    +}
    +</SCRIPT>
    +<NOSCRIPT>
    +</NOSCRIPT>
    +
    +</HEAD>
    +
    +<BODY BGCOLOR="white" onload="windowTitle();">
    +
    +
    +<!-- ========= START OF TOP NAVBAR ======= -->
    +<A NAME="navbar_top"><!-- --></A>
    +<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
    +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
    +<TR>
    +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
    +<A NAME="navbar_top_firstrow"><!-- --></A>
    +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
    +  <TR ALIGN="center" VALIGN="top">
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="class-use/ICoverageNode.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
    +  </TR>
    +</TABLE>
    +</TD>
    +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
    +</EM>
    +</TD>
    +</TR>
    +
    +<TR>
    +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
    +&nbsp;<A HREF="../../../../org/jacoco/core/analysis/ICounter.CounterValue.html" title="enum in org.jacoco.core.analysis"><B>PREV CLASS</B></A>&nbsp;
    +&nbsp;<A HREF="../../../../org/jacoco/core/analysis/ICoverageNode.CounterEntity.html" title="enum in org.jacoco.core.analysis"><B>NEXT CLASS</B></A></FONT></TD>
    +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
    +  <A HREF="../../../../index.html?org/jacoco/core/analysis/ICoverageNode.html" target="_top"><B>FRAMES</B></A>  &nbsp;
    +&nbsp;<A HREF="ICoverageNode.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
    +&nbsp;<SCRIPT type="text/javascript">
    +  <!--
    +  if(window==top) {
    +    document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>');
    +  }
    +  //-->
    +</SCRIPT>
    +<NOSCRIPT>
    +  <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>
    +</NOSCRIPT>
    +
    +
    +</FONT></TD>
    +</TR>
    +<TR>
    +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
    +  SUMMARY:&nbsp;<A HREF="#nested_class_summary">NESTED</A>&nbsp;|&nbsp;FIELD&nbsp;|&nbsp;CONSTR&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD>
    +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
    +DETAIL:&nbsp;FIELD&nbsp;|&nbsp;CONSTR&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD>
    +</TR>
    +</TABLE>
    +<A NAME="skip-navbar_top"></A>
    +<!-- ========= END OF TOP NAVBAR ========= -->
    +
    +<HR>
    +<!-- ======== START OF CLASS DATA ======== -->
    +<H2>
    +<FONT SIZE="-1">
    +org.jacoco.core.analysis</FONT>
    +<BR>
    +Interface ICoverageNode</H2>
    +<DL>
    +<DT><B>All Known Subinterfaces:</B> <DD><A HREF="../../../../org/jacoco/core/analysis/IBundleCoverage.html" title="interface in org.jacoco.core.analysis">IBundleCoverage</A>, <A HREF="../../../../org/jacoco/core/analysis/IClassCoverage.html" title="interface in org.jacoco.core.analysis">IClassCoverage</A>, <A HREF="../../../../org/jacoco/core/analysis/IMethodCoverage.html" title="interface in org.jacoco.core.analysis">IMethodCoverage</A>, <A HREF="../../../../org/jacoco/core/analysis/IPackageCoverage.html" title="interface in org.jacoco.core.analysis">IPackageCoverage</A>, <A HREF="../../../../org/jacoco/core/analysis/ISourceFileCoverage.html" title="interface in org.jacoco.core.analysis">ISourceFileCoverage</A>, <A HREF="../../../../org/jacoco/core/analysis/ISourceNode.html" title="interface in org.jacoco.core.analysis">ISourceNode</A></DD>
    +</DL>
    +<DL>
    +<DT><B>All Known Implementing Classes:</B> <DD><A HREF="../../../../org/jacoco/core/analysis/CoverageNodeImpl.html" title="class in org.jacoco.core.analysis">CoverageNodeImpl</A></DD>
    +</DL>
    +<HR>
    +<DL>
    +<DT><PRE>public interface <B>ICoverageNode</B></DL>
    +</PRE>
    +
    +<P>
    +Interface for hierarchical coverage data nodes with different coverage
    + counters.
    +<P>
    +
    +<P>
    +<HR>
    +
    +<P>
    +<!-- ======== NESTED CLASS SUMMARY ======== -->
    +
    +<A NAME="nested_class_summary"><!-- --></A>
    +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
    +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
    +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
    +<B>Nested Class Summary</B></FONT></TH>
    +</TR>
    +<TR BGCOLOR="white" CLASS="TableRowColor">
    +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
    +<CODE>static&nbsp;class</CODE></FONT></TD>
    +<TD><CODE><B><A HREF="../../../../org/jacoco/core/analysis/ICoverageNode.CounterEntity.html" title="enum in org.jacoco.core.analysis">ICoverageNode.CounterEntity</A></B></CODE>
    +
    +<BR>
    +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Different counter types supported by JaCoCo.</TD>
    +</TR>
    +<TR BGCOLOR="white" CLASS="TableRowColor">
    +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
    +<CODE>static&nbsp;class</CODE></FONT></TD>
    +<TD><CODE><B><A HREF="../../../../org/jacoco/core/analysis/ICoverageNode.ElementType.html" title="enum in org.jacoco.core.analysis">ICoverageNode.ElementType</A></B></CODE>
    +
    +<BR>
    +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Type of a Java element represented by a <A HREF="../../../../org/jacoco/core/analysis/ICoverageNode.html" title="interface in org.jacoco.core.analysis"><CODE>ICoverageNode</CODE></A> instance.</TD>
    +</TR>
    +</TABLE>
    +&nbsp;
    +<!-- ========== METHOD SUMMARY =========== -->
    +
    +<A NAME="method_summary"><!-- --></A>
    +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
    +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
    +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
    +<B>Method Summary</B></FONT></TH>
    +</TR>
    +<TR BGCOLOR="white" CLASS="TableRowColor">
    +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
    +<CODE>&nbsp;boolean</CODE></FONT></TD>
    +<TD><CODE><B><A HREF="../../../../org/jacoco/core/analysis/ICoverageNode.html#containsCode()">containsCode</A></B>()</CODE>
    +
    +<BR>
    +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Checks whether this node contains code relevant for code coverage.</TD>
    +</TR>
    +<TR BGCOLOR="white" CLASS="TableRowColor">
    +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
    +<CODE>&nbsp;<A HREF="../../../../org/jacoco/core/analysis/ICounter.html" title="interface in org.jacoco.core.analysis">ICounter</A></CODE></FONT></TD>
    +<TD><CODE><B><A HREF="../../../../org/jacoco/core/analysis/ICoverageNode.html#getBranchCounter()">getBranchCounter</A></B>()</CODE>
    +
    +<BR>
    +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns the counter for branches.</TD>
    +</TR>
    +<TR BGCOLOR="white" CLASS="TableRowColor">
    +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
    +<CODE>&nbsp;<A HREF="../../../../org/jacoco/core/analysis/ICounter.html" title="interface in org.jacoco.core.analysis">ICounter</A></CODE></FONT></TD>
    +<TD><CODE><B><A HREF="../../../../org/jacoco/core/analysis/ICoverageNode.html#getClassCounter()">getClassCounter</A></B>()</CODE>
    +
    +<BR>
    +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns the counter for classes.</TD>
    +</TR>
    +<TR BGCOLOR="white" CLASS="TableRowColor">
    +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
    +<CODE>&nbsp;<A HREF="../../../../org/jacoco/core/analysis/ICounter.html" title="interface in org.jacoco.core.analysis">ICounter</A></CODE></FONT></TD>
    +<TD><CODE><B><A HREF="../../../../org/jacoco/core/analysis/ICoverageNode.html#getComplexityCounter()">getComplexityCounter</A></B>()</CODE>
    +
    +<BR>
    +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns the counter for cyclomatic complexity.</TD>
    +</TR>
    +<TR BGCOLOR="white" CLASS="TableRowColor">
    +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
    +<CODE>&nbsp;<A HREF="../../../../org/jacoco/core/analysis/ICounter.html" title="interface in org.jacoco.core.analysis">ICounter</A></CODE></FONT></TD>
    +<TD><CODE><B><A HREF="../../../../org/jacoco/core/analysis/ICoverageNode.html#getCounter(org.jacoco.core.analysis.ICoverageNode.CounterEntity)">getCounter</A></B>(<A HREF="../../../../org/jacoco/core/analysis/ICoverageNode.CounterEntity.html" title="enum in org.jacoco.core.analysis">ICoverageNode.CounterEntity</A>&nbsp;entity)</CODE>
    +
    +<BR>
    +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Generic access to the counters.</TD>
    +</TR>
    +<TR BGCOLOR="white" CLASS="TableRowColor">
    +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
    +<CODE>&nbsp;<A HREF="../../../../org/jacoco/core/analysis/ICoverageNode.ElementType.html" title="enum in org.jacoco.core.analysis">ICoverageNode.ElementType</A></CODE></FONT></TD>
    +<TD><CODE><B><A HREF="../../../../org/jacoco/core/analysis/ICoverageNode.html#getElementType()">getElementType</A></B>()</CODE>
    +
    +<BR>
    +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns the type of element represented by this node.</TD>
    +</TR>
    +<TR BGCOLOR="white" CLASS="TableRowColor">
    +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
    +<CODE>&nbsp;<A HREF="../../../../org/jacoco/core/analysis/ICounter.html" title="interface in org.jacoco.core.analysis">ICounter</A></CODE></FONT></TD>
    +<TD><CODE><B><A HREF="../../../../org/jacoco/core/analysis/ICoverageNode.html#getInstructionCounter()">getInstructionCounter</A></B>()</CODE>
    +
    +<BR>
    +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns the counter for byte code instructions.</TD>
    +</TR>
    +<TR BGCOLOR="white" CLASS="TableRowColor">
    +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
    +<CODE>&nbsp;<A HREF="../../../../org/jacoco/core/analysis/ICounter.html" title="interface in org.jacoco.core.analysis">ICounter</A></CODE></FONT></TD>
    +<TD><CODE><B><A HREF="../../../../org/jacoco/core/analysis/ICoverageNode.html#getLineCounter()">getLineCounter</A></B>()</CODE>
    +
    +<BR>
    +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns the counter for lines.</TD>
    +</TR>
    +<TR BGCOLOR="white" CLASS="TableRowColor">
    +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
    +<CODE>&nbsp;<A HREF="../../../../org/jacoco/core/analysis/ICounter.html" title="interface in org.jacoco.core.analysis">ICounter</A></CODE></FONT></TD>
    +<TD><CODE><B><A HREF="../../../../org/jacoco/core/analysis/ICoverageNode.html#getMethodCounter()">getMethodCounter</A></B>()</CODE>
    +
    +<BR>
    +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns the counter for methods.</TD>
    +</TR>
    +<TR BGCOLOR="white" CLASS="TableRowColor">
    +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
    +<CODE>&nbsp;<A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A></CODE></FONT></TD>
    +<TD><CODE><B><A HREF="../../../../org/jacoco/core/analysis/ICoverageNode.html#getName()">getName</A></B>()</CODE>
    +
    +<BR>
    +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns the name of this node.</TD>
    +</TR>
    +<TR BGCOLOR="white" CLASS="TableRowColor">
    +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
    +<CODE>&nbsp;<A HREF="../../../../org/jacoco/core/analysis/ICoverageNode.html" title="interface in org.jacoco.core.analysis">ICoverageNode</A></CODE></FONT></TD>
    +<TD><CODE><B><A HREF="../../../../org/jacoco/core/analysis/ICoverageNode.html#getPlainCopy()">getPlainCopy</A></B>()</CODE>
    +
    +<BR>
    +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Creates a plain copy of this node.</TD>
    +</TR>
    +</TABLE>
    +&nbsp;
    +<P>
    +
    +<!-- ============ METHOD DETAIL ========== -->
    +
    +<A NAME="method_detail"><!-- --></A>
    +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
    +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
    +<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2">
    +<B>Method Detail</B></FONT></TH>
    +</TR>
    +</TABLE>
    +
    +<A NAME="getElementType()"><!-- --></A><H3>
    +getElementType</H3>
    +<PRE>
    +<A HREF="../../../../org/jacoco/core/analysis/ICoverageNode.ElementType.html" title="enum in org.jacoco.core.analysis">ICoverageNode.ElementType</A> <B>getElementType</B>()</PRE>
    +<DL>
    +<DD>Returns the type of element represented by this node.
    +<P>
    +<DD><DL>
    +
    +<DT><B>Returns:</B><DD>type of this node</DL>
    +</DD>
    +</DL>
    +<HR>
    +
    +<A NAME="getName()"><!-- --></A><H3>
    +getName</H3>
    +<PRE>
    +<A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> <B>getName</B>()</PRE>
    +<DL>
    +<DD>Returns the name of this node.
    +<P>
    +<DD><DL>
    +
    +<DT><B>Returns:</B><DD>name of this node</DL>
    +</DD>
    +</DL>
    +<HR>
    +
    +<A NAME="getInstructionCounter()"><!-- --></A><H3>
    +getInstructionCounter</H3>
    +<PRE>
    +<A HREF="../../../../org/jacoco/core/analysis/ICounter.html" title="interface in org.jacoco.core.analysis">ICounter</A> <B>getInstructionCounter</B>()</PRE>
    +<DL>
    +<DD>Returns the counter for byte code instructions.
    +<P>
    +<DD><DL>
    +
    +<DT><B>Returns:</B><DD>counter for instructions</DL>
    +</DD>
    +</DL>
    +<HR>
    +
    +<A NAME="getBranchCounter()"><!-- --></A><H3>
    +getBranchCounter</H3>
    +<PRE>
    +<A HREF="../../../../org/jacoco/core/analysis/ICounter.html" title="interface in org.jacoco.core.analysis">ICounter</A> <B>getBranchCounter</B>()</PRE>
    +<DL>
    +<DD>Returns the counter for branches.
    +<P>
    +<DD><DL>
    +
    +<DT><B>Returns:</B><DD>counter for branches</DL>
    +</DD>
    +</DL>
    +<HR>
    +
    +<A NAME="getLineCounter()"><!-- --></A><H3>
    +getLineCounter</H3>
    +<PRE>
    +<A HREF="../../../../org/jacoco/core/analysis/ICounter.html" title="interface in org.jacoco.core.analysis">ICounter</A> <B>getLineCounter</B>()</PRE>
    +<DL>
    +<DD>Returns the counter for lines.
    +<P>
    +<DD><DL>
    +
    +<DT><B>Returns:</B><DD>counter for lines</DL>
    +</DD>
    +</DL>
    +<HR>
    +
    +<A NAME="getComplexityCounter()"><!-- --></A><H3>
    +getComplexityCounter</H3>
    +<PRE>
    +<A HREF="../../../../org/jacoco/core/analysis/ICounter.html" title="interface in org.jacoco.core.analysis">ICounter</A> <B>getComplexityCounter</B>()</PRE>
    +<DL>
    +<DD>Returns the counter for cyclomatic complexity.
    +<P>
    +<DD><DL>
    +
    +<DT><B>Returns:</B><DD>counter for complexity</DL>
    +</DD>
    +</DL>
    +<HR>
    +
    +<A NAME="getMethodCounter()"><!-- --></A><H3>
    +getMethodCounter</H3>
    +<PRE>
    +<A HREF="../../../../org/jacoco/core/analysis/ICounter.html" title="interface in org.jacoco.core.analysis">ICounter</A> <B>getMethodCounter</B>()</PRE>
    +<DL>
    +<DD>Returns the counter for methods.
    +<P>
    +<DD><DL>
    +
    +<DT><B>Returns:</B><DD>counter for methods</DL>
    +</DD>
    +</DL>
    +<HR>
    +
    +<A NAME="getClassCounter()"><!-- --></A><H3>
    +getClassCounter</H3>
    +<PRE>
    +<A HREF="../../../../org/jacoco/core/analysis/ICounter.html" title="interface in org.jacoco.core.analysis">ICounter</A> <B>getClassCounter</B>()</PRE>
    +<DL>
    +<DD>Returns the counter for classes.
    +<P>
    +<DD><DL>
    +
    +<DT><B>Returns:</B><DD>counter for classes</DL>
    +</DD>
    +</DL>
    +<HR>
    +
    +<A NAME="getCounter(org.jacoco.core.analysis.ICoverageNode.CounterEntity)"><!-- --></A><H3>
    +getCounter</H3>
    +<PRE>
    +<A HREF="../../../../org/jacoco/core/analysis/ICounter.html" title="interface in org.jacoco.core.analysis">ICounter</A> <B>getCounter</B>(<A HREF="../../../../org/jacoco/core/analysis/ICoverageNode.CounterEntity.html" title="enum in org.jacoco.core.analysis">ICoverageNode.CounterEntity</A>&nbsp;entity)</PRE>
    +<DL>
    +<DD>Generic access to the counters.
    +<P>
    +<DD><DL>
    +<DT><B>Parameters:</B><DD><CODE>entity</CODE> - entity we're we want to have the counter for
    +<DT><B>Returns:</B><DD>counter for the given entity</DL>
    +</DD>
    +</DL>
    +<HR>
    +
    +<A NAME="containsCode()"><!-- --></A><H3>
    +containsCode</H3>
    +<PRE>
    +boolean <B>containsCode</B>()</PRE>
    +<DL>
    +<DD>Checks whether this node contains code relevant for code coverage.
    +<P>
    +<DD><DL>
    +
    +<DT><B>Returns:</B><DD><code>true</code> if this node contains code relevant for code
    +         coverage</DL>
    +</DD>
    +</DL>
    +<HR>
    +
    +<A NAME="getPlainCopy()"><!-- --></A><H3>
    +getPlainCopy</H3>
    +<PRE>
    +<A HREF="../../../../org/jacoco/core/analysis/ICoverageNode.html" title="interface in org.jacoco.core.analysis">ICoverageNode</A> <B>getPlainCopy</B>()</PRE>
    +<DL>
    +<DD>Creates a plain copy of this node. While <A HREF="../../../../org/jacoco/core/analysis/ICoverageNode.html" title="interface in org.jacoco.core.analysis"><CODE>ICoverageNode</CODE></A>
    + implementations may contain heavy data structures, the copy returned by
    + this method is reduced to the counters only. This helps to save memory
    + while processing huge structures.
    +<P>
    +<DD><DL>
    +
    +<DT><B>Returns:</B><DD>copy with counters only</DL>
    +</DD>
    +</DL>
    +<!-- ========= END OF CLASS DATA ========= -->
    +<HR>
    +
    +
    +<!-- ======= START OF BOTTOM NAVBAR ====== -->
    +<A NAME="navbar_bottom"><!-- --></A>
    +<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
    +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
    +<TR>
    +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
    +<A NAME="navbar_bottom_firstrow"><!-- --></A>
    +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
    +  <TR ALIGN="center" VALIGN="top">
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="class-use/ICoverageNode.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
    +  </TR>
    +</TABLE>
    +</TD>
    +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
    +</EM>
    +</TD>
    +</TR>
    +
    +<TR>
    +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
    +&nbsp;<A HREF="../../../../org/jacoco/core/analysis/ICounter.CounterValue.html" title="enum in org.jacoco.core.analysis"><B>PREV CLASS</B></A>&nbsp;
    +&nbsp;<A HREF="../../../../org/jacoco/core/analysis/ICoverageNode.CounterEntity.html" title="enum in org.jacoco.core.analysis"><B>NEXT CLASS</B></A></FONT></TD>
    +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
    +  <A HREF="../../../../index.html?org/jacoco/core/analysis/ICoverageNode.html" target="_top"><B>FRAMES</B></A>  &nbsp;
    +&nbsp;<A HREF="ICoverageNode.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
    +&nbsp;<SCRIPT type="text/javascript">
    +  <!--
    +  if(window==top) {
    +    document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>');
    +  }
    +  //-->
    +</SCRIPT>
    +<NOSCRIPT>
    +  <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>
    +</NOSCRIPT>
    +
    +
    +</FONT></TD>
    +</TR>
    +<TR>
    +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
    +  SUMMARY:&nbsp;<A HREF="#nested_class_summary">NESTED</A>&nbsp;|&nbsp;FIELD&nbsp;|&nbsp;CONSTR&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD>
    +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
    +DETAIL:&nbsp;FIELD&nbsp;|&nbsp;CONSTR&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD>
    +</TR>
    +</TABLE>
    +<A NAME="skip-navbar_bottom"></A>
    +<!-- ======== END OF BOTTOM NAVBAR ======= -->
    +
    +<HR>
    +Copyright &#169; 2009&#x2013;2024 Mountainminds GmbH & Co. KG. All rights reserved.
    +</BODY>
    +</HTML>
    diff --git a/jacoco/trunk/doc/api/org/jacoco/core/analysis/ICoverageVisitor.html b/jacoco/trunk/doc/api/org/jacoco/core/analysis/ICoverageVisitor.html
    new file mode 100644
    index 00000000000..b8adbcd34a5
    --- /dev/null
    +++ b/jacoco/trunk/doc/api/org/jacoco/core/analysis/ICoverageVisitor.html
    @@ -0,0 +1,214 @@
    +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
    +<!--NewPage-->
    +<HTML>
    +<HEAD>
    +<!-- Generated by javadoc (build 1.5.0_22) on Wed Mar 27 16:45:42 UTC 2024 -->
    +<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
    +<TITLE>
    +ICoverageVisitor (JaCoCo 0.8.12.202403270442 API)
    +</TITLE>
    +
    +<META NAME="keywords" CONTENT="org.jacoco.core.analysis.ICoverageVisitor interface">
    +
    +<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../stylesheet.css" TITLE="Style">
    +
    +<SCRIPT type="text/javascript">
    +function windowTitle()
    +{
    +    parent.document.title="ICoverageVisitor (JaCoCo 0.8.12.202403270442 API)";
    +}
    +</SCRIPT>
    +<NOSCRIPT>
    +</NOSCRIPT>
    +
    +</HEAD>
    +
    +<BODY BGCOLOR="white" onload="windowTitle();">
    +
    +
    +<!-- ========= START OF TOP NAVBAR ======= -->
    +<A NAME="navbar_top"><!-- --></A>
    +<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
    +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
    +<TR>
    +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
    +<A NAME="navbar_top_firstrow"><!-- --></A>
    +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
    +  <TR ALIGN="center" VALIGN="top">
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="class-use/ICoverageVisitor.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
    +  </TR>
    +</TABLE>
    +</TD>
    +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
    +</EM>
    +</TD>
    +</TR>
    +
    +<TR>
    +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
    +&nbsp;<A HREF="../../../../org/jacoco/core/analysis/ICoverageNode.ElementType.html" title="enum in org.jacoco.core.analysis"><B>PREV CLASS</B></A>&nbsp;
    +&nbsp;<A HREF="../../../../org/jacoco/core/analysis/ILine.html" title="interface in org.jacoco.core.analysis"><B>NEXT CLASS</B></A></FONT></TD>
    +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
    +  <A HREF="../../../../index.html?org/jacoco/core/analysis/ICoverageVisitor.html" target="_top"><B>FRAMES</B></A>  &nbsp;
    +&nbsp;<A HREF="ICoverageVisitor.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
    +&nbsp;<SCRIPT type="text/javascript">
    +  <!--
    +  if(window==top) {
    +    document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>');
    +  }
    +  //-->
    +</SCRIPT>
    +<NOSCRIPT>
    +  <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>
    +</NOSCRIPT>
    +
    +
    +</FONT></TD>
    +</TR>
    +<TR>
    +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
    +  SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;FIELD&nbsp;|&nbsp;CONSTR&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD>
    +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
    +DETAIL:&nbsp;FIELD&nbsp;|&nbsp;CONSTR&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD>
    +</TR>
    +</TABLE>
    +<A NAME="skip-navbar_top"></A>
    +<!-- ========= END OF TOP NAVBAR ========= -->
    +
    +<HR>
    +<!-- ======== START OF CLASS DATA ======== -->
    +<H2>
    +<FONT SIZE="-1">
    +org.jacoco.core.analysis</FONT>
    +<BR>
    +Interface ICoverageVisitor</H2>
    +<DL>
    +<DT><B>All Known Implementing Classes:</B> <DD><A HREF="../../../../org/jacoco/core/analysis/CoverageBuilder.html" title="class in org.jacoco.core.analysis">CoverageBuilder</A></DD>
    +</DL>
    +<HR>
    +<DL>
    +<DT><PRE>public interface <B>ICoverageVisitor</B></DL>
    +</PRE>
    +
    +<P>
    +Interface for coverage data output as a stream of <A HREF="../../../../org/jacoco/core/analysis/IClassCoverage.html" title="interface in org.jacoco.core.analysis"><CODE>IClassCoverage</CODE></A>
    + instances.
    +<P>
    +
    +<P>
    +<HR>
    +
    +<P>
    +
    +<!-- ========== METHOD SUMMARY =========== -->
    +
    +<A NAME="method_summary"><!-- --></A>
    +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
    +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
    +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
    +<B>Method Summary</B></FONT></TH>
    +</TR>
    +<TR BGCOLOR="white" CLASS="TableRowColor">
    +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
    +<CODE>&nbsp;void</CODE></FONT></TD>
    +<TD><CODE><B><A HREF="../../../../org/jacoco/core/analysis/ICoverageVisitor.html#visitCoverage(org.jacoco.core.analysis.IClassCoverage)">visitCoverage</A></B>(<A HREF="../../../../org/jacoco/core/analysis/IClassCoverage.html" title="interface in org.jacoco.core.analysis">IClassCoverage</A>&nbsp;coverage)</CODE>
    +
    +<BR>
    +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;For analyzed class coverage data is emitted to this method.</TD>
    +</TR>
    +</TABLE>
    +&nbsp;
    +<P>
    +
    +<!-- ============ METHOD DETAIL ========== -->
    +
    +<A NAME="method_detail"><!-- --></A>
    +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
    +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
    +<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2">
    +<B>Method Detail</B></FONT></TH>
    +</TR>
    +</TABLE>
    +
    +<A NAME="visitCoverage(org.jacoco.core.analysis.IClassCoverage)"><!-- --></A><H3>
    +visitCoverage</H3>
    +<PRE>
    +void <B>visitCoverage</B>(<A HREF="../../../../org/jacoco/core/analysis/IClassCoverage.html" title="interface in org.jacoco.core.analysis">IClassCoverage</A>&nbsp;coverage)</PRE>
    +<DL>
    +<DD>For analyzed class coverage data is emitted to this method.
    +<P>
    +<DD><DL>
    +<DT><B>Parameters:</B><DD><CODE>coverage</CODE> - coverage data for a class</DL>
    +</DD>
    +</DL>
    +<!-- ========= END OF CLASS DATA ========= -->
    +<HR>
    +
    +
    +<!-- ======= START OF BOTTOM NAVBAR ====== -->
    +<A NAME="navbar_bottom"><!-- --></A>
    +<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
    +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
    +<TR>
    +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
    +<A NAME="navbar_bottom_firstrow"><!-- --></A>
    +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
    +  <TR ALIGN="center" VALIGN="top">
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="class-use/ICoverageVisitor.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
    +  </TR>
    +</TABLE>
    +</TD>
    +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
    +</EM>
    +</TD>
    +</TR>
    +
    +<TR>
    +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
    +&nbsp;<A HREF="../../../../org/jacoco/core/analysis/ICoverageNode.ElementType.html" title="enum in org.jacoco.core.analysis"><B>PREV CLASS</B></A>&nbsp;
    +&nbsp;<A HREF="../../../../org/jacoco/core/analysis/ILine.html" title="interface in org.jacoco.core.analysis"><B>NEXT CLASS</B></A></FONT></TD>
    +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
    +  <A HREF="../../../../index.html?org/jacoco/core/analysis/ICoverageVisitor.html" target="_top"><B>FRAMES</B></A>  &nbsp;
    +&nbsp;<A HREF="ICoverageVisitor.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
    +&nbsp;<SCRIPT type="text/javascript">
    +  <!--
    +  if(window==top) {
    +    document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>');
    +  }
    +  //-->
    +</SCRIPT>
    +<NOSCRIPT>
    +  <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>
    +</NOSCRIPT>
    +
    +
    +</FONT></TD>
    +</TR>
    +<TR>
    +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
    +  SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;FIELD&nbsp;|&nbsp;CONSTR&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD>
    +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
    +DETAIL:&nbsp;FIELD&nbsp;|&nbsp;CONSTR&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD>
    +</TR>
    +</TABLE>
    +<A NAME="skip-navbar_bottom"></A>
    +<!-- ======== END OF BOTTOM NAVBAR ======= -->
    +
    +<HR>
    +Copyright &#169; 2009&#x2013;2024 Mountainminds GmbH & Co. KG. All rights reserved.
    +</BODY>
    +</HTML>
    diff --git a/jacoco/trunk/doc/api/org/jacoco/core/analysis/ILine.html b/jacoco/trunk/doc/api/org/jacoco/core/analysis/ILine.html
    new file mode 100644
    index 00000000000..081e844d350
    --- /dev/null
    +++ b/jacoco/trunk/doc/api/org/jacoco/core/analysis/ILine.html
    @@ -0,0 +1,261 @@
    +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
    +<!--NewPage-->
    +<HTML>
    +<HEAD>
    +<!-- Generated by javadoc (build 1.5.0_22) on Wed Mar 27 16:45:42 UTC 2024 -->
    +<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
    +<TITLE>
    +ILine (JaCoCo 0.8.12.202403270442 API)
    +</TITLE>
    +
    +<META NAME="keywords" CONTENT="org.jacoco.core.analysis.ILine interface">
    +
    +<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../stylesheet.css" TITLE="Style">
    +
    +<SCRIPT type="text/javascript">
    +function windowTitle()
    +{
    +    parent.document.title="ILine (JaCoCo 0.8.12.202403270442 API)";
    +}
    +</SCRIPT>
    +<NOSCRIPT>
    +</NOSCRIPT>
    +
    +</HEAD>
    +
    +<BODY BGCOLOR="white" onload="windowTitle();">
    +
    +
    +<!-- ========= START OF TOP NAVBAR ======= -->
    +<A NAME="navbar_top"><!-- --></A>
    +<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
    +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
    +<TR>
    +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
    +<A NAME="navbar_top_firstrow"><!-- --></A>
    +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
    +  <TR ALIGN="center" VALIGN="top">
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="class-use/ILine.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
    +  </TR>
    +</TABLE>
    +</TD>
    +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
    +</EM>
    +</TD>
    +</TR>
    +
    +<TR>
    +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
    +&nbsp;<A HREF="../../../../org/jacoco/core/analysis/ICoverageVisitor.html" title="interface in org.jacoco.core.analysis"><B>PREV CLASS</B></A>&nbsp;
    +&nbsp;<A HREF="../../../../org/jacoco/core/analysis/IMethodCoverage.html" title="interface in org.jacoco.core.analysis"><B>NEXT CLASS</B></A></FONT></TD>
    +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
    +  <A HREF="../../../../index.html?org/jacoco/core/analysis/ILine.html" target="_top"><B>FRAMES</B></A>  &nbsp;
    +&nbsp;<A HREF="ILine.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
    +&nbsp;<SCRIPT type="text/javascript">
    +  <!--
    +  if(window==top) {
    +    document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>');
    +  }
    +  //-->
    +</SCRIPT>
    +<NOSCRIPT>
    +  <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>
    +</NOSCRIPT>
    +
    +
    +</FONT></TD>
    +</TR>
    +<TR>
    +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
    +  SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;FIELD&nbsp;|&nbsp;CONSTR&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD>
    +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
    +DETAIL:&nbsp;FIELD&nbsp;|&nbsp;CONSTR&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD>
    +</TR>
    +</TABLE>
    +<A NAME="skip-navbar_top"></A>
    +<!-- ========= END OF TOP NAVBAR ========= -->
    +
    +<HR>
    +<!-- ======== START OF CLASS DATA ======== -->
    +<H2>
    +<FONT SIZE="-1">
    +org.jacoco.core.analysis</FONT>
    +<BR>
    +Interface ILine</H2>
    +<HR>
    +<DL>
    +<DT><PRE>public interface <B>ILine</B></DL>
    +</PRE>
    +
    +<P>
    +The instruction and branch coverage of a single source line is described by
    + this interface.
    +<P>
    +
    +<P>
    +<HR>
    +
    +<P>
    +
    +<!-- ========== METHOD SUMMARY =========== -->
    +
    +<A NAME="method_summary"><!-- --></A>
    +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
    +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
    +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
    +<B>Method Summary</B></FONT></TH>
    +</TR>
    +<TR BGCOLOR="white" CLASS="TableRowColor">
    +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
    +<CODE>&nbsp;<A HREF="../../../../org/jacoco/core/analysis/ICounter.html" title="interface in org.jacoco.core.analysis">ICounter</A></CODE></FONT></TD>
    +<TD><CODE><B><A HREF="../../../../org/jacoco/core/analysis/ILine.html#getBranchCounter()">getBranchCounter</A></B>()</CODE>
    +
    +<BR>
    +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns the branches counter for this line.</TD>
    +</TR>
    +<TR BGCOLOR="white" CLASS="TableRowColor">
    +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
    +<CODE>&nbsp;<A HREF="../../../../org/jacoco/core/analysis/ICounter.html" title="interface in org.jacoco.core.analysis">ICounter</A></CODE></FONT></TD>
    +<TD><CODE><B><A HREF="../../../../org/jacoco/core/analysis/ILine.html#getInstructionCounter()">getInstructionCounter</A></B>()</CODE>
    +
    +<BR>
    +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns the instruction counter for this line.</TD>
    +</TR>
    +<TR BGCOLOR="white" CLASS="TableRowColor">
    +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
    +<CODE>&nbsp;int</CODE></FONT></TD>
    +<TD><CODE><B><A HREF="../../../../org/jacoco/core/analysis/ILine.html#getStatus()">getStatus</A></B>()</CODE>
    +
    +<BR>
    +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns the coverage status of this line, calculated from the
    + instructions counter and branch counter.</TD>
    +</TR>
    +</TABLE>
    +&nbsp;
    +<P>
    +
    +<!-- ============ METHOD DETAIL ========== -->
    +
    +<A NAME="method_detail"><!-- --></A>
    +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
    +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
    +<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2">
    +<B>Method Detail</B></FONT></TH>
    +</TR>
    +</TABLE>
    +
    +<A NAME="getInstructionCounter()"><!-- --></A><H3>
    +getInstructionCounter</H3>
    +<PRE>
    +<A HREF="../../../../org/jacoco/core/analysis/ICounter.html" title="interface in org.jacoco.core.analysis">ICounter</A> <B>getInstructionCounter</B>()</PRE>
    +<DL>
    +<DD>Returns the instruction counter for this line.
    +<P>
    +<DD><DL>
    +
    +<DT><B>Returns:</B><DD>instruction counter</DL>
    +</DD>
    +</DL>
    +<HR>
    +
    +<A NAME="getBranchCounter()"><!-- --></A><H3>
    +getBranchCounter</H3>
    +<PRE>
    +<A HREF="../../../../org/jacoco/core/analysis/ICounter.html" title="interface in org.jacoco.core.analysis">ICounter</A> <B>getBranchCounter</B>()</PRE>
    +<DL>
    +<DD>Returns the branches counter for this line.
    +<P>
    +<DD><DL>
    +
    +<DT><B>Returns:</B><DD>branches counter</DL>
    +</DD>
    +</DL>
    +<HR>
    +
    +<A NAME="getStatus()"><!-- --></A><H3>
    +getStatus</H3>
    +<PRE>
    +int <B>getStatus</B>()</PRE>
    +<DL>
    +<DD>Returns the coverage status of this line, calculated from the
    + instructions counter and branch counter.
    +<P>
    +<DD><DL>
    +
    +<DT><B>Returns:</B><DD>status of this line<DT><B>See Also:</B><DD><A HREF="../../../../org/jacoco/core/analysis/ICounter.html#EMPTY"><CODE>ICounter.EMPTY</CODE></A>, 
    +<A HREF="../../../../org/jacoco/core/analysis/ICounter.html#NOT_COVERED"><CODE>ICounter.NOT_COVERED</CODE></A>, 
    +<A HREF="../../../../org/jacoco/core/analysis/ICounter.html#PARTLY_COVERED"><CODE>ICounter.PARTLY_COVERED</CODE></A>, 
    +<A HREF="../../../../org/jacoco/core/analysis/ICounter.html#FULLY_COVERED"><CODE>ICounter.FULLY_COVERED</CODE></A></DL>
    +</DD>
    +</DL>
    +<!-- ========= END OF CLASS DATA ========= -->
    +<HR>
    +
    +
    +<!-- ======= START OF BOTTOM NAVBAR ====== -->
    +<A NAME="navbar_bottom"><!-- --></A>
    +<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
    +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
    +<TR>
    +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
    +<A NAME="navbar_bottom_firstrow"><!-- --></A>
    +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
    +  <TR ALIGN="center" VALIGN="top">
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="class-use/ILine.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
    +  </TR>
    +</TABLE>
    +</TD>
    +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
    +</EM>
    +</TD>
    +</TR>
    +
    +<TR>
    +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
    +&nbsp;<A HREF="../../../../org/jacoco/core/analysis/ICoverageVisitor.html" title="interface in org.jacoco.core.analysis"><B>PREV CLASS</B></A>&nbsp;
    +&nbsp;<A HREF="../../../../org/jacoco/core/analysis/IMethodCoverage.html" title="interface in org.jacoco.core.analysis"><B>NEXT CLASS</B></A></FONT></TD>
    +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
    +  <A HREF="../../../../index.html?org/jacoco/core/analysis/ILine.html" target="_top"><B>FRAMES</B></A>  &nbsp;
    +&nbsp;<A HREF="ILine.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
    +&nbsp;<SCRIPT type="text/javascript">
    +  <!--
    +  if(window==top) {
    +    document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>');
    +  }
    +  //-->
    +</SCRIPT>
    +<NOSCRIPT>
    +  <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>
    +</NOSCRIPT>
    +
    +
    +</FONT></TD>
    +</TR>
    +<TR>
    +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
    +  SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;FIELD&nbsp;|&nbsp;CONSTR&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD>
    +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
    +DETAIL:&nbsp;FIELD&nbsp;|&nbsp;CONSTR&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD>
    +</TR>
    +</TABLE>
    +<A NAME="skip-navbar_bottom"></A>
    +<!-- ======== END OF BOTTOM NAVBAR ======= -->
    +
    +<HR>
    +Copyright &#169; 2009&#x2013;2024 Mountainminds GmbH & Co. KG. All rights reserved.
    +</BODY>
    +</HTML>
    diff --git a/jacoco/trunk/doc/api/org/jacoco/core/analysis/IMethodCoverage.html b/jacoco/trunk/doc/api/org/jacoco/core/analysis/IMethodCoverage.html
    new file mode 100644
    index 00000000000..8fb422afa40
    --- /dev/null
    +++ b/jacoco/trunk/doc/api/org/jacoco/core/analysis/IMethodCoverage.html
    @@ -0,0 +1,298 @@
    +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
    +<!--NewPage-->
    +<HTML>
    +<HEAD>
    +<!-- Generated by javadoc (build 1.5.0_22) on Wed Mar 27 16:45:42 UTC 2024 -->
    +<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
    +<TITLE>
    +IMethodCoverage (JaCoCo 0.8.12.202403270442 API)
    +</TITLE>
    +
    +<META NAME="keywords" CONTENT="org.jacoco.core.analysis.IMethodCoverage interface">
    +
    +<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../stylesheet.css" TITLE="Style">
    +
    +<SCRIPT type="text/javascript">
    +function windowTitle()
    +{
    +    parent.document.title="IMethodCoverage (JaCoCo 0.8.12.202403270442 API)";
    +}
    +</SCRIPT>
    +<NOSCRIPT>
    +</NOSCRIPT>
    +
    +</HEAD>
    +
    +<BODY BGCOLOR="white" onload="windowTitle();">
    +
    +
    +<!-- ========= START OF TOP NAVBAR ======= -->
    +<A NAME="navbar_top"><!-- --></A>
    +<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
    +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
    +<TR>
    +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
    +<A NAME="navbar_top_firstrow"><!-- --></A>
    +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
    +  <TR ALIGN="center" VALIGN="top">
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="class-use/IMethodCoverage.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
    +  </TR>
    +</TABLE>
    +</TD>
    +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
    +</EM>
    +</TD>
    +</TR>
    +
    +<TR>
    +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
    +&nbsp;<A HREF="../../../../org/jacoco/core/analysis/ILine.html" title="interface in org.jacoco.core.analysis"><B>PREV CLASS</B></A>&nbsp;
    +&nbsp;<A HREF="../../../../org/jacoco/core/analysis/IPackageCoverage.html" title="interface in org.jacoco.core.analysis"><B>NEXT CLASS</B></A></FONT></TD>
    +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
    +  <A HREF="../../../../index.html?org/jacoco/core/analysis/IMethodCoverage.html" target="_top"><B>FRAMES</B></A>  &nbsp;
    +&nbsp;<A HREF="IMethodCoverage.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
    +&nbsp;<SCRIPT type="text/javascript">
    +  <!--
    +  if(window==top) {
    +    document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>');
    +  }
    +  //-->
    +</SCRIPT>
    +<NOSCRIPT>
    +  <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>
    +</NOSCRIPT>
    +
    +
    +</FONT></TD>
    +</TR>
    +<TR>
    +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
    +  SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;FIELD&nbsp;|&nbsp;CONSTR&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD>
    +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
    +DETAIL:&nbsp;FIELD&nbsp;|&nbsp;CONSTR&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD>
    +</TR>
    +</TABLE>
    +<A NAME="skip-navbar_top"></A>
    +<!-- ========= END OF TOP NAVBAR ========= -->
    +
    +<HR>
    +<!-- ======== START OF CLASS DATA ======== -->
    +<H2>
    +<FONT SIZE="-1">
    +org.jacoco.core.analysis</FONT>
    +<BR>
    +Interface IMethodCoverage</H2>
    +<DL>
    +<DT><B>All Superinterfaces:</B> <DD><A HREF="../../../../org/jacoco/core/analysis/ICoverageNode.html" title="interface in org.jacoco.core.analysis">ICoverageNode</A>, <A HREF="../../../../org/jacoco/core/analysis/ISourceNode.html" title="interface in org.jacoco.core.analysis">ISourceNode</A></DD>
    +</DL>
    +<HR>
    +<DL>
    +<DT><PRE>public interface <B>IMethodCoverage</B><DT>extends <A HREF="../../../../org/jacoco/core/analysis/ISourceNode.html" title="interface in org.jacoco.core.analysis">ISourceNode</A></DL>
    +</PRE>
    +
    +<P>
    +Coverage data of a single method. The name of this node is the local method
    + name.
    +<P>
    +
    +<P>
    +<HR>
    +
    +<P>
    +<!-- ======== NESTED CLASS SUMMARY ======== -->
    +
    +<A NAME="nested_class_summary"><!-- --></A>
    +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
    +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
    +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
    +<B>Nested Class Summary</B></FONT></TH>
    +</TR>
    +</TABLE>
    +&nbsp;<A NAME="nested_classes_inherited_from_class_org.jacoco.core.analysis.ICoverageNode"><!-- --></A>
    +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
    +<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
    +<TH ALIGN="left"><B>Nested classes/interfaces inherited from interface org.jacoco.core.analysis.<A HREF="../../../../org/jacoco/core/analysis/ICoverageNode.html" title="interface in org.jacoco.core.analysis">ICoverageNode</A></B></TH>
    +</TR>
    +<TR BGCOLOR="white" CLASS="TableRowColor">
    +<TD><CODE><A HREF="../../../../org/jacoco/core/analysis/ICoverageNode.CounterEntity.html" title="enum in org.jacoco.core.analysis">ICoverageNode.CounterEntity</A>, <A HREF="../../../../org/jacoco/core/analysis/ICoverageNode.ElementType.html" title="enum in org.jacoco.core.analysis">ICoverageNode.ElementType</A></CODE></TD>
    +</TR>
    +</TABLE>
    +&nbsp;
    +<!-- =========== FIELD SUMMARY =========== -->
    +
    +<A NAME="field_summary"><!-- --></A>
    +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
    +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
    +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
    +<B>Field Summary</B></FONT></TH>
    +</TR>
    +</TABLE>
    +&nbsp;<A NAME="fields_inherited_from_class_org.jacoco.core.analysis.ISourceNode"><!-- --></A>
    +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
    +<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
    +<TH ALIGN="left"><B>Fields inherited from interface org.jacoco.core.analysis.<A HREF="../../../../org/jacoco/core/analysis/ISourceNode.html" title="interface in org.jacoco.core.analysis">ISourceNode</A></B></TH>
    +</TR>
    +<TR BGCOLOR="white" CLASS="TableRowColor">
    +<TD><CODE><A HREF="../../../../org/jacoco/core/analysis/ISourceNode.html#UNKNOWN_LINE">UNKNOWN_LINE</A></CODE></TD>
    +</TR>
    +</TABLE>
    +&nbsp;
    +<!-- ========== METHOD SUMMARY =========== -->
    +
    +<A NAME="method_summary"><!-- --></A>
    +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
    +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
    +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
    +<B>Method Summary</B></FONT></TH>
    +</TR>
    +<TR BGCOLOR="white" CLASS="TableRowColor">
    +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
    +<CODE>&nbsp;<A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A></CODE></FONT></TD>
    +<TD><CODE><B><A HREF="../../../../org/jacoco/core/analysis/IMethodCoverage.html#getDesc()">getDesc</A></B>()</CODE>
    +
    +<BR>
    +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns the descriptor of the method.</TD>
    +</TR>
    +<TR BGCOLOR="white" CLASS="TableRowColor">
    +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
    +<CODE>&nbsp;<A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A></CODE></FONT></TD>
    +<TD><CODE><B><A HREF="../../../../org/jacoco/core/analysis/IMethodCoverage.html#getSignature()">getSignature</A></B>()</CODE>
    +
    +<BR>
    +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns the generic signature of the method if defined.</TD>
    +</TR>
    +</TABLE>
    +&nbsp;<A NAME="methods_inherited_from_class_org.jacoco.core.analysis.ISourceNode"><!-- --></A>
    +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
    +<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
    +<TH ALIGN="left"><B>Methods inherited from interface org.jacoco.core.analysis.<A HREF="../../../../org/jacoco/core/analysis/ISourceNode.html" title="interface in org.jacoco.core.analysis">ISourceNode</A></B></TH>
    +</TR>
    +<TR BGCOLOR="white" CLASS="TableRowColor">
    +<TD><CODE><A HREF="../../../../org/jacoco/core/analysis/ISourceNode.html#getFirstLine()">getFirstLine</A>, <A HREF="../../../../org/jacoco/core/analysis/ISourceNode.html#getLastLine()">getLastLine</A>, <A HREF="../../../../org/jacoco/core/analysis/ISourceNode.html#getLine(int)">getLine</A></CODE></TD>
    +</TR>
    +</TABLE>
    +&nbsp;<A NAME="methods_inherited_from_class_org.jacoco.core.analysis.ICoverageNode"><!-- --></A>
    +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
    +<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
    +<TH ALIGN="left"><B>Methods inherited from interface org.jacoco.core.analysis.<A HREF="../../../../org/jacoco/core/analysis/ICoverageNode.html" title="interface in org.jacoco.core.analysis">ICoverageNode</A></B></TH>
    +</TR>
    +<TR BGCOLOR="white" CLASS="TableRowColor">
    +<TD><CODE><A HREF="../../../../org/jacoco/core/analysis/ICoverageNode.html#containsCode()">containsCode</A>, <A HREF="../../../../org/jacoco/core/analysis/ICoverageNode.html#getBranchCounter()">getBranchCounter</A>, <A HREF="../../../../org/jacoco/core/analysis/ICoverageNode.html#getClassCounter()">getClassCounter</A>, <A HREF="../../../../org/jacoco/core/analysis/ICoverageNode.html#getComplexityCounter()">getComplexityCounter</A>, <A HREF="../../../../org/jacoco/core/analysis/ICoverageNode.html#getCounter(org.jacoco.core.analysis.ICoverageNode.CounterEntity)">getCounter</A>, <A HREF="../../../../org/jacoco/core/analysis/ICoverageNode.html#getElementType()">getElementType</A>, <A HREF="../../../../org/jacoco/core/analysis/ICoverageNode.html#getInstructionCounter()">getInstructionCounter</A>, <A HREF="../../../../org/jacoco/core/analysis/ICoverageNode.html#getLineCounter()">getLineCounter</A>, <A HREF="../../../../org/jacoco/core/analysis/ICoverageNode.html#getMethodCounter()">getMethodCounter</A>, <A HREF="../../../../org/jacoco/core/analysis/ICoverageNode.html#getName()">getName</A>, <A HREF="../../../../org/jacoco/core/analysis/ICoverageNode.html#getPlainCopy()">getPlainCopy</A></CODE></TD>
    +</TR>
    +</TABLE>
    +&nbsp;
    +<P>
    +
    +<!-- ============ METHOD DETAIL ========== -->
    +
    +<A NAME="method_detail"><!-- --></A>
    +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
    +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
    +<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2">
    +<B>Method Detail</B></FONT></TH>
    +</TR>
    +</TABLE>
    +
    +<A NAME="getDesc()"><!-- --></A><H3>
    +getDesc</H3>
    +<PRE>
    +<A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> <B>getDesc</B>()</PRE>
    +<DL>
    +<DD>Returns the descriptor of the method.
    +<P>
    +<DD><DL>
    +</DL>
    +</DD>
    +<DD><DL>
    +
    +<DT><B>Returns:</B><DD>descriptor</DL>
    +</DD>
    +</DL>
    +<HR>
    +
    +<A NAME="getSignature()"><!-- --></A><H3>
    +getSignature</H3>
    +<PRE>
    +<A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> <B>getSignature</B>()</PRE>
    +<DL>
    +<DD>Returns the generic signature of the method if defined.
    +<P>
    +<DD><DL>
    +</DL>
    +</DD>
    +<DD><DL>
    +
    +<DT><B>Returns:</B><DD>generic signature or <code>null</code></DL>
    +</DD>
    +</DL>
    +<!-- ========= END OF CLASS DATA ========= -->
    +<HR>
    +
    +
    +<!-- ======= START OF BOTTOM NAVBAR ====== -->
    +<A NAME="navbar_bottom"><!-- --></A>
    +<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
    +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
    +<TR>
    +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
    +<A NAME="navbar_bottom_firstrow"><!-- --></A>
    +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
    +  <TR ALIGN="center" VALIGN="top">
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="class-use/IMethodCoverage.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
    +  </TR>
    +</TABLE>
    +</TD>
    +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
    +</EM>
    +</TD>
    +</TR>
    +
    +<TR>
    +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
    +&nbsp;<A HREF="../../../../org/jacoco/core/analysis/ILine.html" title="interface in org.jacoco.core.analysis"><B>PREV CLASS</B></A>&nbsp;
    +&nbsp;<A HREF="../../../../org/jacoco/core/analysis/IPackageCoverage.html" title="interface in org.jacoco.core.analysis"><B>NEXT CLASS</B></A></FONT></TD>
    +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
    +  <A HREF="../../../../index.html?org/jacoco/core/analysis/IMethodCoverage.html" target="_top"><B>FRAMES</B></A>  &nbsp;
    +&nbsp;<A HREF="IMethodCoverage.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
    +&nbsp;<SCRIPT type="text/javascript">
    +  <!--
    +  if(window==top) {
    +    document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>');
    +  }
    +  //-->
    +</SCRIPT>
    +<NOSCRIPT>
    +  <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>
    +</NOSCRIPT>
    +
    +
    +</FONT></TD>
    +</TR>
    +<TR>
    +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
    +  SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;FIELD&nbsp;|&nbsp;CONSTR&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD>
    +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
    +DETAIL:&nbsp;FIELD&nbsp;|&nbsp;CONSTR&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD>
    +</TR>
    +</TABLE>
    +<A NAME="skip-navbar_bottom"></A>
    +<!-- ======== END OF BOTTOM NAVBAR ======= -->
    +
    +<HR>
    +Copyright &#169; 2009&#x2013;2024 Mountainminds GmbH & Co. KG. All rights reserved.
    +</BODY>
    +</HTML>
    diff --git a/jacoco/trunk/doc/api/org/jacoco/core/analysis/IPackageCoverage.html b/jacoco/trunk/doc/api/org/jacoco/core/analysis/IPackageCoverage.html
    new file mode 100644
    index 00000000000..60420e3c970
    --- /dev/null
    +++ b/jacoco/trunk/doc/api/org/jacoco/core/analysis/IPackageCoverage.html
    @@ -0,0 +1,275 @@
    +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
    +<!--NewPage-->
    +<HTML>
    +<HEAD>
    +<!-- Generated by javadoc (build 1.5.0_22) on Wed Mar 27 16:45:42 UTC 2024 -->
    +<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
    +<TITLE>
    +IPackageCoverage (JaCoCo 0.8.12.202403270442 API)
    +</TITLE>
    +
    +<META NAME="keywords" CONTENT="org.jacoco.core.analysis.IPackageCoverage interface">
    +
    +<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../stylesheet.css" TITLE="Style">
    +
    +<SCRIPT type="text/javascript">
    +function windowTitle()
    +{
    +    parent.document.title="IPackageCoverage (JaCoCo 0.8.12.202403270442 API)";
    +}
    +</SCRIPT>
    +<NOSCRIPT>
    +</NOSCRIPT>
    +
    +</HEAD>
    +
    +<BODY BGCOLOR="white" onload="windowTitle();">
    +
    +
    +<!-- ========= START OF TOP NAVBAR ======= -->
    +<A NAME="navbar_top"><!-- --></A>
    +<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
    +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
    +<TR>
    +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
    +<A NAME="navbar_top_firstrow"><!-- --></A>
    +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
    +  <TR ALIGN="center" VALIGN="top">
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="class-use/IPackageCoverage.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
    +  </TR>
    +</TABLE>
    +</TD>
    +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
    +</EM>
    +</TD>
    +</TR>
    +
    +<TR>
    +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
    +&nbsp;<A HREF="../../../../org/jacoco/core/analysis/IMethodCoverage.html" title="interface in org.jacoco.core.analysis"><B>PREV CLASS</B></A>&nbsp;
    +&nbsp;<A HREF="../../../../org/jacoco/core/analysis/ISourceFileCoverage.html" title="interface in org.jacoco.core.analysis"><B>NEXT CLASS</B></A></FONT></TD>
    +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
    +  <A HREF="../../../../index.html?org/jacoco/core/analysis/IPackageCoverage.html" target="_top"><B>FRAMES</B></A>  &nbsp;
    +&nbsp;<A HREF="IPackageCoverage.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
    +&nbsp;<SCRIPT type="text/javascript">
    +  <!--
    +  if(window==top) {
    +    document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>');
    +  }
    +  //-->
    +</SCRIPT>
    +<NOSCRIPT>
    +  <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>
    +</NOSCRIPT>
    +
    +
    +</FONT></TD>
    +</TR>
    +<TR>
    +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
    +  SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;FIELD&nbsp;|&nbsp;CONSTR&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD>
    +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
    +DETAIL:&nbsp;FIELD&nbsp;|&nbsp;CONSTR&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD>
    +</TR>
    +</TABLE>
    +<A NAME="skip-navbar_top"></A>
    +<!-- ========= END OF TOP NAVBAR ========= -->
    +
    +<HR>
    +<!-- ======== START OF CLASS DATA ======== -->
    +<H2>
    +<FONT SIZE="-1">
    +org.jacoco.core.analysis</FONT>
    +<BR>
    +Interface IPackageCoverage</H2>
    +<DL>
    +<DT><B>All Superinterfaces:</B> <DD><A HREF="../../../../org/jacoco/core/analysis/ICoverageNode.html" title="interface in org.jacoco.core.analysis">ICoverageNode</A></DD>
    +</DL>
    +<HR>
    +<DL>
    +<DT><PRE>public interface <B>IPackageCoverage</B><DT>extends <A HREF="../../../../org/jacoco/core/analysis/ICoverageNode.html" title="interface in org.jacoco.core.analysis">ICoverageNode</A></DL>
    +</PRE>
    +
    +<P>
    +Coverage data of a Java package containing classes and source files. The name
    + of this node is the package name in VM notation (slash separated). The name
    + of the default package is the empty string.
    +<P>
    +
    +<P>
    +<DL>
    +<DT><B>See Also:</B><DD><A HREF="../../../../org/jacoco/core/analysis/IClassCoverage.html" title="interface in org.jacoco.core.analysis"><CODE>IClassCoverage</CODE></A>, 
    +<A HREF="../../../../org/jacoco/core/analysis/ISourceFileCoverage.html" title="interface in org.jacoco.core.analysis"><CODE>ISourceFileCoverage</CODE></A></DL>
    +<HR>
    +
    +<P>
    +<!-- ======== NESTED CLASS SUMMARY ======== -->
    +
    +<A NAME="nested_class_summary"><!-- --></A>
    +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
    +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
    +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
    +<B>Nested Class Summary</B></FONT></TH>
    +</TR>
    +</TABLE>
    +&nbsp;<A NAME="nested_classes_inherited_from_class_org.jacoco.core.analysis.ICoverageNode"><!-- --></A>
    +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
    +<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
    +<TH ALIGN="left"><B>Nested classes/interfaces inherited from interface org.jacoco.core.analysis.<A HREF="../../../../org/jacoco/core/analysis/ICoverageNode.html" title="interface in org.jacoco.core.analysis">ICoverageNode</A></B></TH>
    +</TR>
    +<TR BGCOLOR="white" CLASS="TableRowColor">
    +<TD><CODE><A HREF="../../../../org/jacoco/core/analysis/ICoverageNode.CounterEntity.html" title="enum in org.jacoco.core.analysis">ICoverageNode.CounterEntity</A>, <A HREF="../../../../org/jacoco/core/analysis/ICoverageNode.ElementType.html" title="enum in org.jacoco.core.analysis">ICoverageNode.ElementType</A></CODE></TD>
    +</TR>
    +</TABLE>
    +&nbsp;
    +
    +<!-- ========== METHOD SUMMARY =========== -->
    +
    +<A NAME="method_summary"><!-- --></A>
    +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
    +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
    +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
    +<B>Method Summary</B></FONT></TH>
    +</TR>
    +<TR BGCOLOR="white" CLASS="TableRowColor">
    +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
    +<CODE>&nbsp;<A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/util/Collection.html" title="class or interface in java.util">Collection</A>&lt;<A HREF="../../../../org/jacoco/core/analysis/IClassCoverage.html" title="interface in org.jacoco.core.analysis">IClassCoverage</A>&gt;</CODE></FONT></TD>
    +<TD><CODE><B><A HREF="../../../../org/jacoco/core/analysis/IPackageCoverage.html#getClasses()">getClasses</A></B>()</CODE>
    +
    +<BR>
    +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns all classes contained in this package.</TD>
    +</TR>
    +<TR BGCOLOR="white" CLASS="TableRowColor">
    +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
    +<CODE>&nbsp;<A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/util/Collection.html" title="class or interface in java.util">Collection</A>&lt;<A HREF="../../../../org/jacoco/core/analysis/ISourceFileCoverage.html" title="interface in org.jacoco.core.analysis">ISourceFileCoverage</A>&gt;</CODE></FONT></TD>
    +<TD><CODE><B><A HREF="../../../../org/jacoco/core/analysis/IPackageCoverage.html#getSourceFiles()">getSourceFiles</A></B>()</CODE>
    +
    +<BR>
    +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns all source files in this package.</TD>
    +</TR>
    +</TABLE>
    +&nbsp;<A NAME="methods_inherited_from_class_org.jacoco.core.analysis.ICoverageNode"><!-- --></A>
    +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
    +<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
    +<TH ALIGN="left"><B>Methods inherited from interface org.jacoco.core.analysis.<A HREF="../../../../org/jacoco/core/analysis/ICoverageNode.html" title="interface in org.jacoco.core.analysis">ICoverageNode</A></B></TH>
    +</TR>
    +<TR BGCOLOR="white" CLASS="TableRowColor">
    +<TD><CODE><A HREF="../../../../org/jacoco/core/analysis/ICoverageNode.html#containsCode()">containsCode</A>, <A HREF="../../../../org/jacoco/core/analysis/ICoverageNode.html#getBranchCounter()">getBranchCounter</A>, <A HREF="../../../../org/jacoco/core/analysis/ICoverageNode.html#getClassCounter()">getClassCounter</A>, <A HREF="../../../../org/jacoco/core/analysis/ICoverageNode.html#getComplexityCounter()">getComplexityCounter</A>, <A HREF="../../../../org/jacoco/core/analysis/ICoverageNode.html#getCounter(org.jacoco.core.analysis.ICoverageNode.CounterEntity)">getCounter</A>, <A HREF="../../../../org/jacoco/core/analysis/ICoverageNode.html#getElementType()">getElementType</A>, <A HREF="../../../../org/jacoco/core/analysis/ICoverageNode.html#getInstructionCounter()">getInstructionCounter</A>, <A HREF="../../../../org/jacoco/core/analysis/ICoverageNode.html#getLineCounter()">getLineCounter</A>, <A HREF="../../../../org/jacoco/core/analysis/ICoverageNode.html#getMethodCounter()">getMethodCounter</A>, <A HREF="../../../../org/jacoco/core/analysis/ICoverageNode.html#getName()">getName</A>, <A HREF="../../../../org/jacoco/core/analysis/ICoverageNode.html#getPlainCopy()">getPlainCopy</A></CODE></TD>
    +</TR>
    +</TABLE>
    +&nbsp;
    +<P>
    +
    +<!-- ============ METHOD DETAIL ========== -->
    +
    +<A NAME="method_detail"><!-- --></A>
    +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
    +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
    +<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2">
    +<B>Method Detail</B></FONT></TH>
    +</TR>
    +</TABLE>
    +
    +<A NAME="getClasses()"><!-- --></A><H3>
    +getClasses</H3>
    +<PRE>
    +<A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/util/Collection.html" title="class or interface in java.util">Collection</A>&lt;<A HREF="../../../../org/jacoco/core/analysis/IClassCoverage.html" title="interface in org.jacoco.core.analysis">IClassCoverage</A>&gt; <B>getClasses</B>()</PRE>
    +<DL>
    +<DD>Returns all classes contained in this package.
    +<P>
    +<DD><DL>
    +</DL>
    +</DD>
    +<DD><DL>
    +
    +<DT><B>Returns:</B><DD>all classes</DL>
    +</DD>
    +</DL>
    +<HR>
    +
    +<A NAME="getSourceFiles()"><!-- --></A><H3>
    +getSourceFiles</H3>
    +<PRE>
    +<A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/util/Collection.html" title="class or interface in java.util">Collection</A>&lt;<A HREF="../../../../org/jacoco/core/analysis/ISourceFileCoverage.html" title="interface in org.jacoco.core.analysis">ISourceFileCoverage</A>&gt; <B>getSourceFiles</B>()</PRE>
    +<DL>
    +<DD>Returns all source files in this package.
    +<P>
    +<DD><DL>
    +</DL>
    +</DD>
    +<DD><DL>
    +
    +<DT><B>Returns:</B><DD>all source files</DL>
    +</DD>
    +</DL>
    +<!-- ========= END OF CLASS DATA ========= -->
    +<HR>
    +
    +
    +<!-- ======= START OF BOTTOM NAVBAR ====== -->
    +<A NAME="navbar_bottom"><!-- --></A>
    +<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
    +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
    +<TR>
    +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
    +<A NAME="navbar_bottom_firstrow"><!-- --></A>
    +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
    +  <TR ALIGN="center" VALIGN="top">
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="class-use/IPackageCoverage.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
    +  </TR>
    +</TABLE>
    +</TD>
    +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
    +</EM>
    +</TD>
    +</TR>
    +
    +<TR>
    +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
    +&nbsp;<A HREF="../../../../org/jacoco/core/analysis/IMethodCoverage.html" title="interface in org.jacoco.core.analysis"><B>PREV CLASS</B></A>&nbsp;
    +&nbsp;<A HREF="../../../../org/jacoco/core/analysis/ISourceFileCoverage.html" title="interface in org.jacoco.core.analysis"><B>NEXT CLASS</B></A></FONT></TD>
    +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
    +  <A HREF="../../../../index.html?org/jacoco/core/analysis/IPackageCoverage.html" target="_top"><B>FRAMES</B></A>  &nbsp;
    +&nbsp;<A HREF="IPackageCoverage.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
    +&nbsp;<SCRIPT type="text/javascript">
    +  <!--
    +  if(window==top) {
    +    document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>');
    +  }
    +  //-->
    +</SCRIPT>
    +<NOSCRIPT>
    +  <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>
    +</NOSCRIPT>
    +
    +
    +</FONT></TD>
    +</TR>
    +<TR>
    +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
    +  SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;FIELD&nbsp;|&nbsp;CONSTR&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD>
    +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
    +DETAIL:&nbsp;FIELD&nbsp;|&nbsp;CONSTR&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD>
    +</TR>
    +</TABLE>
    +<A NAME="skip-navbar_bottom"></A>
    +<!-- ======== END OF BOTTOM NAVBAR ======= -->
    +
    +<HR>
    +Copyright &#169; 2009&#x2013;2024 Mountainminds GmbH & Co. KG. All rights reserved.
    +</BODY>
    +</HTML>
    diff --git a/jacoco/trunk/doc/api/org/jacoco/core/analysis/ISourceFileCoverage.html b/jacoco/trunk/doc/api/org/jacoco/core/analysis/ISourceFileCoverage.html
    new file mode 100644
    index 00000000000..272fa37e1a2
    --- /dev/null
    +++ b/jacoco/trunk/doc/api/org/jacoco/core/analysis/ISourceFileCoverage.html
    @@ -0,0 +1,273 @@
    +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
    +<!--NewPage-->
    +<HTML>
    +<HEAD>
    +<!-- Generated by javadoc (build 1.5.0_22) on Wed Mar 27 16:45:42 UTC 2024 -->
    +<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
    +<TITLE>
    +ISourceFileCoverage (JaCoCo 0.8.12.202403270442 API)
    +</TITLE>
    +
    +<META NAME="keywords" CONTENT="org.jacoco.core.analysis.ISourceFileCoverage interface">
    +
    +<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../stylesheet.css" TITLE="Style">
    +
    +<SCRIPT type="text/javascript">
    +function windowTitle()
    +{
    +    parent.document.title="ISourceFileCoverage (JaCoCo 0.8.12.202403270442 API)";
    +}
    +</SCRIPT>
    +<NOSCRIPT>
    +</NOSCRIPT>
    +
    +</HEAD>
    +
    +<BODY BGCOLOR="white" onload="windowTitle();">
    +
    +
    +<!-- ========= START OF TOP NAVBAR ======= -->
    +<A NAME="navbar_top"><!-- --></A>
    +<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
    +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
    +<TR>
    +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
    +<A NAME="navbar_top_firstrow"><!-- --></A>
    +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
    +  <TR ALIGN="center" VALIGN="top">
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="class-use/ISourceFileCoverage.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
    +  </TR>
    +</TABLE>
    +</TD>
    +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
    +</EM>
    +</TD>
    +</TR>
    +
    +<TR>
    +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
    +&nbsp;<A HREF="../../../../org/jacoco/core/analysis/IPackageCoverage.html" title="interface in org.jacoco.core.analysis"><B>PREV CLASS</B></A>&nbsp;
    +&nbsp;<A HREF="../../../../org/jacoco/core/analysis/ISourceNode.html" title="interface in org.jacoco.core.analysis"><B>NEXT CLASS</B></A></FONT></TD>
    +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
    +  <A HREF="../../../../index.html?org/jacoco/core/analysis/ISourceFileCoverage.html" target="_top"><B>FRAMES</B></A>  &nbsp;
    +&nbsp;<A HREF="ISourceFileCoverage.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
    +&nbsp;<SCRIPT type="text/javascript">
    +  <!--
    +  if(window==top) {
    +    document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>');
    +  }
    +  //-->
    +</SCRIPT>
    +<NOSCRIPT>
    +  <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>
    +</NOSCRIPT>
    +
    +
    +</FONT></TD>
    +</TR>
    +<TR>
    +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
    +  SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;FIELD&nbsp;|&nbsp;CONSTR&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD>
    +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
    +DETAIL:&nbsp;FIELD&nbsp;|&nbsp;CONSTR&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD>
    +</TR>
    +</TABLE>
    +<A NAME="skip-navbar_top"></A>
    +<!-- ========= END OF TOP NAVBAR ========= -->
    +
    +<HR>
    +<!-- ======== START OF CLASS DATA ======== -->
    +<H2>
    +<FONT SIZE="-1">
    +org.jacoco.core.analysis</FONT>
    +<BR>
    +Interface ISourceFileCoverage</H2>
    +<DL>
    +<DT><B>All Superinterfaces:</B> <DD><A HREF="../../../../org/jacoco/core/analysis/ICoverageNode.html" title="interface in org.jacoco.core.analysis">ICoverageNode</A>, <A HREF="../../../../org/jacoco/core/analysis/ISourceNode.html" title="interface in org.jacoco.core.analysis">ISourceNode</A></DD>
    +</DL>
    +<HR>
    +<DL>
    +<DT><PRE>public interface <B>ISourceFileCoverage</B><DT>extends <A HREF="../../../../org/jacoco/core/analysis/ISourceNode.html" title="interface in org.jacoco.core.analysis">ISourceNode</A></DL>
    +</PRE>
    +
    +<P>
    +Coverage data of a single source file. The name of this node is the local
    + name of the source file.
    +<P>
    +
    +<P>
    +<HR>
    +
    +<P>
    +<!-- ======== NESTED CLASS SUMMARY ======== -->
    +
    +<A NAME="nested_class_summary"><!-- --></A>
    +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
    +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
    +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
    +<B>Nested Class Summary</B></FONT></TH>
    +</TR>
    +</TABLE>
    +&nbsp;<A NAME="nested_classes_inherited_from_class_org.jacoco.core.analysis.ICoverageNode"><!-- --></A>
    +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
    +<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
    +<TH ALIGN="left"><B>Nested classes/interfaces inherited from interface org.jacoco.core.analysis.<A HREF="../../../../org/jacoco/core/analysis/ICoverageNode.html" title="interface in org.jacoco.core.analysis">ICoverageNode</A></B></TH>
    +</TR>
    +<TR BGCOLOR="white" CLASS="TableRowColor">
    +<TD><CODE><A HREF="../../../../org/jacoco/core/analysis/ICoverageNode.CounterEntity.html" title="enum in org.jacoco.core.analysis">ICoverageNode.CounterEntity</A>, <A HREF="../../../../org/jacoco/core/analysis/ICoverageNode.ElementType.html" title="enum in org.jacoco.core.analysis">ICoverageNode.ElementType</A></CODE></TD>
    +</TR>
    +</TABLE>
    +&nbsp;
    +<!-- =========== FIELD SUMMARY =========== -->
    +
    +<A NAME="field_summary"><!-- --></A>
    +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
    +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
    +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
    +<B>Field Summary</B></FONT></TH>
    +</TR>
    +</TABLE>
    +&nbsp;<A NAME="fields_inherited_from_class_org.jacoco.core.analysis.ISourceNode"><!-- --></A>
    +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
    +<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
    +<TH ALIGN="left"><B>Fields inherited from interface org.jacoco.core.analysis.<A HREF="../../../../org/jacoco/core/analysis/ISourceNode.html" title="interface in org.jacoco.core.analysis">ISourceNode</A></B></TH>
    +</TR>
    +<TR BGCOLOR="white" CLASS="TableRowColor">
    +<TD><CODE><A HREF="../../../../org/jacoco/core/analysis/ISourceNode.html#UNKNOWN_LINE">UNKNOWN_LINE</A></CODE></TD>
    +</TR>
    +</TABLE>
    +&nbsp;
    +<!-- ========== METHOD SUMMARY =========== -->
    +
    +<A NAME="method_summary"><!-- --></A>
    +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
    +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
    +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
    +<B>Method Summary</B></FONT></TH>
    +</TR>
    +<TR BGCOLOR="white" CLASS="TableRowColor">
    +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
    +<CODE>&nbsp;<A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A></CODE></FONT></TD>
    +<TD><CODE><B><A HREF="../../../../org/jacoco/core/analysis/ISourceFileCoverage.html#getPackageName()">getPackageName</A></B>()</CODE>
    +
    +<BR>
    +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns the VM name of the package the source file belongs to.</TD>
    +</TR>
    +</TABLE>
    +&nbsp;<A NAME="methods_inherited_from_class_org.jacoco.core.analysis.ISourceNode"><!-- --></A>
    +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
    +<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
    +<TH ALIGN="left"><B>Methods inherited from interface org.jacoco.core.analysis.<A HREF="../../../../org/jacoco/core/analysis/ISourceNode.html" title="interface in org.jacoco.core.analysis">ISourceNode</A></B></TH>
    +</TR>
    +<TR BGCOLOR="white" CLASS="TableRowColor">
    +<TD><CODE><A HREF="../../../../org/jacoco/core/analysis/ISourceNode.html#getFirstLine()">getFirstLine</A>, <A HREF="../../../../org/jacoco/core/analysis/ISourceNode.html#getLastLine()">getLastLine</A>, <A HREF="../../../../org/jacoco/core/analysis/ISourceNode.html#getLine(int)">getLine</A></CODE></TD>
    +</TR>
    +</TABLE>
    +&nbsp;<A NAME="methods_inherited_from_class_org.jacoco.core.analysis.ICoverageNode"><!-- --></A>
    +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
    +<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
    +<TH ALIGN="left"><B>Methods inherited from interface org.jacoco.core.analysis.<A HREF="../../../../org/jacoco/core/analysis/ICoverageNode.html" title="interface in org.jacoco.core.analysis">ICoverageNode</A></B></TH>
    +</TR>
    +<TR BGCOLOR="white" CLASS="TableRowColor">
    +<TD><CODE><A HREF="../../../../org/jacoco/core/analysis/ICoverageNode.html#containsCode()">containsCode</A>, <A HREF="../../../../org/jacoco/core/analysis/ICoverageNode.html#getBranchCounter()">getBranchCounter</A>, <A HREF="../../../../org/jacoco/core/analysis/ICoverageNode.html#getClassCounter()">getClassCounter</A>, <A HREF="../../../../org/jacoco/core/analysis/ICoverageNode.html#getComplexityCounter()">getComplexityCounter</A>, <A HREF="../../../../org/jacoco/core/analysis/ICoverageNode.html#getCounter(org.jacoco.core.analysis.ICoverageNode.CounterEntity)">getCounter</A>, <A HREF="../../../../org/jacoco/core/analysis/ICoverageNode.html#getElementType()">getElementType</A>, <A HREF="../../../../org/jacoco/core/analysis/ICoverageNode.html#getInstructionCounter()">getInstructionCounter</A>, <A HREF="../../../../org/jacoco/core/analysis/ICoverageNode.html#getLineCounter()">getLineCounter</A>, <A HREF="../../../../org/jacoco/core/analysis/ICoverageNode.html#getMethodCounter()">getMethodCounter</A>, <A HREF="../../../../org/jacoco/core/analysis/ICoverageNode.html#getName()">getName</A>, <A HREF="../../../../org/jacoco/core/analysis/ICoverageNode.html#getPlainCopy()">getPlainCopy</A></CODE></TD>
    +</TR>
    +</TABLE>
    +&nbsp;
    +<P>
    +
    +<!-- ============ METHOD DETAIL ========== -->
    +
    +<A NAME="method_detail"><!-- --></A>
    +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
    +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
    +<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2">
    +<B>Method Detail</B></FONT></TH>
    +</TR>
    +</TABLE>
    +
    +<A NAME="getPackageName()"><!-- --></A><H3>
    +getPackageName</H3>
    +<PRE>
    +<A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> <B>getPackageName</B>()</PRE>
    +<DL>
    +<DD>Returns the VM name of the package the source file belongs to.
    +<P>
    +<DD><DL>
    +</DL>
    +</DD>
    +<DD><DL>
    +
    +<DT><B>Returns:</B><DD>package name</DL>
    +</DD>
    +</DL>
    +<!-- ========= END OF CLASS DATA ========= -->
    +<HR>
    +
    +
    +<!-- ======= START OF BOTTOM NAVBAR ====== -->
    +<A NAME="navbar_bottom"><!-- --></A>
    +<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
    +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
    +<TR>
    +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
    +<A NAME="navbar_bottom_firstrow"><!-- --></A>
    +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
    +  <TR ALIGN="center" VALIGN="top">
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="class-use/ISourceFileCoverage.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
    +  </TR>
    +</TABLE>
    +</TD>
    +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
    +</EM>
    +</TD>
    +</TR>
    +
    +<TR>
    +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
    +&nbsp;<A HREF="../../../../org/jacoco/core/analysis/IPackageCoverage.html" title="interface in org.jacoco.core.analysis"><B>PREV CLASS</B></A>&nbsp;
    +&nbsp;<A HREF="../../../../org/jacoco/core/analysis/ISourceNode.html" title="interface in org.jacoco.core.analysis"><B>NEXT CLASS</B></A></FONT></TD>
    +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
    +  <A HREF="../../../../index.html?org/jacoco/core/analysis/ISourceFileCoverage.html" target="_top"><B>FRAMES</B></A>  &nbsp;
    +&nbsp;<A HREF="ISourceFileCoverage.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
    +&nbsp;<SCRIPT type="text/javascript">
    +  <!--
    +  if(window==top) {
    +    document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>');
    +  }
    +  //-->
    +</SCRIPT>
    +<NOSCRIPT>
    +  <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>
    +</NOSCRIPT>
    +
    +
    +</FONT></TD>
    +</TR>
    +<TR>
    +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
    +  SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;FIELD&nbsp;|&nbsp;CONSTR&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD>
    +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
    +DETAIL:&nbsp;FIELD&nbsp;|&nbsp;CONSTR&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD>
    +</TR>
    +</TABLE>
    +<A NAME="skip-navbar_bottom"></A>
    +<!-- ======== END OF BOTTOM NAVBAR ======= -->
    +
    +<HR>
    +Copyright &#169; 2009&#x2013;2024 Mountainminds GmbH & Co. KG. All rights reserved.
    +</BODY>
    +</HTML>
    diff --git a/jacoco/trunk/doc/api/org/jacoco/core/analysis/ISourceNode.html b/jacoco/trunk/doc/api/org/jacoco/core/analysis/ISourceNode.html
    new file mode 100644
    index 00000000000..26eca528f7a
    --- /dev/null
    +++ b/jacoco/trunk/doc/api/org/jacoco/core/analysis/ISourceNode.html
    @@ -0,0 +1,339 @@
    +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
    +<!--NewPage-->
    +<HTML>
    +<HEAD>
    +<!-- Generated by javadoc (build 1.5.0_22) on Wed Mar 27 16:45:42 UTC 2024 -->
    +<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
    +<TITLE>
    +ISourceNode (JaCoCo 0.8.12.202403270442 API)
    +</TITLE>
    +
    +<META NAME="keywords" CONTENT="org.jacoco.core.analysis.ISourceNode interface">
    +
    +<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../stylesheet.css" TITLE="Style">
    +
    +<SCRIPT type="text/javascript">
    +function windowTitle()
    +{
    +    parent.document.title="ISourceNode (JaCoCo 0.8.12.202403270442 API)";
    +}
    +</SCRIPT>
    +<NOSCRIPT>
    +</NOSCRIPT>
    +
    +</HEAD>
    +
    +<BODY BGCOLOR="white" onload="windowTitle();">
    +
    +
    +<!-- ========= START OF TOP NAVBAR ======= -->
    +<A NAME="navbar_top"><!-- --></A>
    +<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
    +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
    +<TR>
    +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
    +<A NAME="navbar_top_firstrow"><!-- --></A>
    +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
    +  <TR ALIGN="center" VALIGN="top">
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="class-use/ISourceNode.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
    +  </TR>
    +</TABLE>
    +</TD>
    +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
    +</EM>
    +</TD>
    +</TR>
    +
    +<TR>
    +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
    +&nbsp;<A HREF="../../../../org/jacoco/core/analysis/ISourceFileCoverage.html" title="interface in org.jacoco.core.analysis"><B>PREV CLASS</B></A>&nbsp;
    +&nbsp;<A HREF="../../../../org/jacoco/core/analysis/NodeComparator.html" title="class in org.jacoco.core.analysis"><B>NEXT CLASS</B></A></FONT></TD>
    +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
    +  <A HREF="../../../../index.html?org/jacoco/core/analysis/ISourceNode.html" target="_top"><B>FRAMES</B></A>  &nbsp;
    +&nbsp;<A HREF="ISourceNode.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
    +&nbsp;<SCRIPT type="text/javascript">
    +  <!--
    +  if(window==top) {
    +    document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>');
    +  }
    +  //-->
    +</SCRIPT>
    +<NOSCRIPT>
    +  <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>
    +</NOSCRIPT>
    +
    +
    +</FONT></TD>
    +</TR>
    +<TR>
    +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
    +  SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;<A HREF="#field_summary">FIELD</A>&nbsp;|&nbsp;CONSTR&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD>
    +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
    +DETAIL:&nbsp;<A HREF="#field_detail">FIELD</A>&nbsp;|&nbsp;CONSTR&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD>
    +</TR>
    +</TABLE>
    +<A NAME="skip-navbar_top"></A>
    +<!-- ========= END OF TOP NAVBAR ========= -->
    +
    +<HR>
    +<!-- ======== START OF CLASS DATA ======== -->
    +<H2>
    +<FONT SIZE="-1">
    +org.jacoco.core.analysis</FONT>
    +<BR>
    +Interface ISourceNode</H2>
    +<DL>
    +<DT><B>All Superinterfaces:</B> <DD><A HREF="../../../../org/jacoco/core/analysis/ICoverageNode.html" title="interface in org.jacoco.core.analysis">ICoverageNode</A></DD>
    +</DL>
    +<DL>
    +<DT><B>All Known Subinterfaces:</B> <DD><A HREF="../../../../org/jacoco/core/analysis/IClassCoverage.html" title="interface in org.jacoco.core.analysis">IClassCoverage</A>, <A HREF="../../../../org/jacoco/core/analysis/IMethodCoverage.html" title="interface in org.jacoco.core.analysis">IMethodCoverage</A>, <A HREF="../../../../org/jacoco/core/analysis/ISourceFileCoverage.html" title="interface in org.jacoco.core.analysis">ISourceFileCoverage</A></DD>
    +</DL>
    +<HR>
    +<DL>
    +<DT><PRE>public interface <B>ISourceNode</B><DT>extends <A HREF="../../../../org/jacoco/core/analysis/ICoverageNode.html" title="interface in org.jacoco.core.analysis">ICoverageNode</A></DL>
    +</PRE>
    +
    +<P>
    +Interface for coverage nodes that have individual source lines like methods,
    + classes and source files.
    +<P>
    +
    +<P>
    +<HR>
    +
    +<P>
    +<!-- ======== NESTED CLASS SUMMARY ======== -->
    +
    +<A NAME="nested_class_summary"><!-- --></A>
    +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
    +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
    +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
    +<B>Nested Class Summary</B></FONT></TH>
    +</TR>
    +</TABLE>
    +&nbsp;<A NAME="nested_classes_inherited_from_class_org.jacoco.core.analysis.ICoverageNode"><!-- --></A>
    +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
    +<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
    +<TH ALIGN="left"><B>Nested classes/interfaces inherited from interface org.jacoco.core.analysis.<A HREF="../../../../org/jacoco/core/analysis/ICoverageNode.html" title="interface in org.jacoco.core.analysis">ICoverageNode</A></B></TH>
    +</TR>
    +<TR BGCOLOR="white" CLASS="TableRowColor">
    +<TD><CODE><A HREF="../../../../org/jacoco/core/analysis/ICoverageNode.CounterEntity.html" title="enum in org.jacoco.core.analysis">ICoverageNode.CounterEntity</A>, <A HREF="../../../../org/jacoco/core/analysis/ICoverageNode.ElementType.html" title="enum in org.jacoco.core.analysis">ICoverageNode.ElementType</A></CODE></TD>
    +</TR>
    +</TABLE>
    +&nbsp;
    +<!-- =========== FIELD SUMMARY =========== -->
    +
    +<A NAME="field_summary"><!-- --></A>
    +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
    +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
    +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
    +<B>Field Summary</B></FONT></TH>
    +</TR>
    +<TR BGCOLOR="white" CLASS="TableRowColor">
    +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
    +<CODE>static&nbsp;int</CODE></FONT></TD>
    +<TD><CODE><B><A HREF="../../../../org/jacoco/core/analysis/ISourceNode.html#UNKNOWN_LINE">UNKNOWN_LINE</A></B></CODE>
    +
    +<BR>
    +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Place holder for unknown lines (no debug information)</TD>
    +</TR>
    +</TABLE>
    +&nbsp;
    +<!-- ========== METHOD SUMMARY =========== -->
    +
    +<A NAME="method_summary"><!-- --></A>
    +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
    +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
    +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
    +<B>Method Summary</B></FONT></TH>
    +</TR>
    +<TR BGCOLOR="white" CLASS="TableRowColor">
    +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
    +<CODE>&nbsp;int</CODE></FONT></TD>
    +<TD><CODE><B><A HREF="../../../../org/jacoco/core/analysis/ISourceNode.html#getFirstLine()">getFirstLine</A></B>()</CODE>
    +
    +<BR>
    +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;The number of the first line coverage information is available for.</TD>
    +</TR>
    +<TR BGCOLOR="white" CLASS="TableRowColor">
    +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
    +<CODE>&nbsp;int</CODE></FONT></TD>
    +<TD><CODE><B><A HREF="../../../../org/jacoco/core/analysis/ISourceNode.html#getLastLine()">getLastLine</A></B>()</CODE>
    +
    +<BR>
    +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;The number of the last line coverage information is available for.</TD>
    +</TR>
    +<TR BGCOLOR="white" CLASS="TableRowColor">
    +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
    +<CODE>&nbsp;<A HREF="../../../../org/jacoco/core/analysis/ILine.html" title="interface in org.jacoco.core.analysis">ILine</A></CODE></FONT></TD>
    +<TD><CODE><B><A HREF="../../../../org/jacoco/core/analysis/ISourceNode.html#getLine(int)">getLine</A></B>(int&nbsp;nr)</CODE>
    +
    +<BR>
    +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns the line information for given line.</TD>
    +</TR>
    +</TABLE>
    +&nbsp;<A NAME="methods_inherited_from_class_org.jacoco.core.analysis.ICoverageNode"><!-- --></A>
    +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
    +<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
    +<TH ALIGN="left"><B>Methods inherited from interface org.jacoco.core.analysis.<A HREF="../../../../org/jacoco/core/analysis/ICoverageNode.html" title="interface in org.jacoco.core.analysis">ICoverageNode</A></B></TH>
    +</TR>
    +<TR BGCOLOR="white" CLASS="TableRowColor">
    +<TD><CODE><A HREF="../../../../org/jacoco/core/analysis/ICoverageNode.html#containsCode()">containsCode</A>, <A HREF="../../../../org/jacoco/core/analysis/ICoverageNode.html#getBranchCounter()">getBranchCounter</A>, <A HREF="../../../../org/jacoco/core/analysis/ICoverageNode.html#getClassCounter()">getClassCounter</A>, <A HREF="../../../../org/jacoco/core/analysis/ICoverageNode.html#getComplexityCounter()">getComplexityCounter</A>, <A HREF="../../../../org/jacoco/core/analysis/ICoverageNode.html#getCounter(org.jacoco.core.analysis.ICoverageNode.CounterEntity)">getCounter</A>, <A HREF="../../../../org/jacoco/core/analysis/ICoverageNode.html#getElementType()">getElementType</A>, <A HREF="../../../../org/jacoco/core/analysis/ICoverageNode.html#getInstructionCounter()">getInstructionCounter</A>, <A HREF="../../../../org/jacoco/core/analysis/ICoverageNode.html#getLineCounter()">getLineCounter</A>, <A HREF="../../../../org/jacoco/core/analysis/ICoverageNode.html#getMethodCounter()">getMethodCounter</A>, <A HREF="../../../../org/jacoco/core/analysis/ICoverageNode.html#getName()">getName</A>, <A HREF="../../../../org/jacoco/core/analysis/ICoverageNode.html#getPlainCopy()">getPlainCopy</A></CODE></TD>
    +</TR>
    +</TABLE>
    +&nbsp;
    +<P>
    +
    +<!-- ============ FIELD DETAIL =========== -->
    +
    +<A NAME="field_detail"><!-- --></A>
    +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
    +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
    +<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2">
    +<B>Field Detail</B></FONT></TH>
    +</TR>
    +</TABLE>
    +
    +<A NAME="UNKNOWN_LINE"><!-- --></A><H3>
    +UNKNOWN_LINE</H3>
    +<PRE>
    +static final int <B>UNKNOWN_LINE</B></PRE>
    +<DL>
    +<DD>Place holder for unknown lines (no debug information)
    +<P>
    +<DL>
    +<DT><B>See Also:</B><DD><A HREF="../../../../constant-values.html#org.jacoco.core.analysis.ISourceNode.UNKNOWN_LINE">Constant Field Values</A></DL>
    +</DL>
    +
    +<!-- ============ METHOD DETAIL ========== -->
    +
    +<A NAME="method_detail"><!-- --></A>
    +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
    +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
    +<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2">
    +<B>Method Detail</B></FONT></TH>
    +</TR>
    +</TABLE>
    +
    +<A NAME="getFirstLine()"><!-- --></A><H3>
    +getFirstLine</H3>
    +<PRE>
    +int <B>getFirstLine</B>()</PRE>
    +<DL>
    +<DD>The number of the first line coverage information is available for. If no
    + line is contained, the method returns -1.
    +<P>
    +<DD><DL>
    +</DL>
    +</DD>
    +<DD><DL>
    +
    +<DT><B>Returns:</B><DD>number of the first line or <A HREF="../../../../org/jacoco/core/analysis/ISourceNode.html#UNKNOWN_LINE"><CODE>UNKNOWN_LINE</CODE></A></DL>
    +</DD>
    +</DL>
    +<HR>
    +
    +<A NAME="getLastLine()"><!-- --></A><H3>
    +getLastLine</H3>
    +<PRE>
    +int <B>getLastLine</B>()</PRE>
    +<DL>
    +<DD>The number of the last line coverage information is available for. If no
    + line is contained, the method returns -1.
    +<P>
    +<DD><DL>
    +</DL>
    +</DD>
    +<DD><DL>
    +
    +<DT><B>Returns:</B><DD>number of the last line or <A HREF="../../../../org/jacoco/core/analysis/ISourceNode.html#UNKNOWN_LINE"><CODE>UNKNOWN_LINE</CODE></A></DL>
    +</DD>
    +</DL>
    +<HR>
    +
    +<A NAME="getLine(int)"><!-- --></A><H3>
    +getLine</H3>
    +<PRE>
    +<A HREF="../../../../org/jacoco/core/analysis/ILine.html" title="interface in org.jacoco.core.analysis">ILine</A> <B>getLine</B>(int&nbsp;nr)</PRE>
    +<DL>
    +<DD>Returns the line information for given line.
    +<P>
    +<DD><DL>
    +</DL>
    +</DD>
    +<DD><DL>
    +<DT><B>Parameters:</B><DD><CODE>nr</CODE> - line number of interest
    +<DT><B>Returns:</B><DD>line information</DL>
    +</DD>
    +</DL>
    +<!-- ========= END OF CLASS DATA ========= -->
    +<HR>
    +
    +
    +<!-- ======= START OF BOTTOM NAVBAR ====== -->
    +<A NAME="navbar_bottom"><!-- --></A>
    +<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
    +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
    +<TR>
    +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
    +<A NAME="navbar_bottom_firstrow"><!-- --></A>
    +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
    +  <TR ALIGN="center" VALIGN="top">
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="class-use/ISourceNode.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
    +  </TR>
    +</TABLE>
    +</TD>
    +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
    +</EM>
    +</TD>
    +</TR>
    +
    +<TR>
    +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
    +&nbsp;<A HREF="../../../../org/jacoco/core/analysis/ISourceFileCoverage.html" title="interface in org.jacoco.core.analysis"><B>PREV CLASS</B></A>&nbsp;
    +&nbsp;<A HREF="../../../../org/jacoco/core/analysis/NodeComparator.html" title="class in org.jacoco.core.analysis"><B>NEXT CLASS</B></A></FONT></TD>
    +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
    +  <A HREF="../../../../index.html?org/jacoco/core/analysis/ISourceNode.html" target="_top"><B>FRAMES</B></A>  &nbsp;
    +&nbsp;<A HREF="ISourceNode.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
    +&nbsp;<SCRIPT type="text/javascript">
    +  <!--
    +  if(window==top) {
    +    document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>');
    +  }
    +  //-->
    +</SCRIPT>
    +<NOSCRIPT>
    +  <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>
    +</NOSCRIPT>
    +
    +
    +</FONT></TD>
    +</TR>
    +<TR>
    +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
    +  SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;<A HREF="#field_summary">FIELD</A>&nbsp;|&nbsp;CONSTR&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD>
    +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
    +DETAIL:&nbsp;<A HREF="#field_detail">FIELD</A>&nbsp;|&nbsp;CONSTR&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD>
    +</TR>
    +</TABLE>
    +<A NAME="skip-navbar_bottom"></A>
    +<!-- ======== END OF BOTTOM NAVBAR ======= -->
    +
    +<HR>
    +Copyright &#169; 2009&#x2013;2024 Mountainminds GmbH & Co. KG. All rights reserved.
    +</BODY>
    +</HTML>
    diff --git a/jacoco/trunk/doc/api/org/jacoco/core/analysis/NodeComparator.html b/jacoco/trunk/doc/api/org/jacoco/core/analysis/NodeComparator.html
    new file mode 100644
    index 00000000000..c4e8ab57720
    --- /dev/null
    +++ b/jacoco/trunk/doc/api/org/jacoco/core/analysis/NodeComparator.html
    @@ -0,0 +1,303 @@
    +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
    +<!--NewPage-->
    +<HTML>
    +<HEAD>
    +<!-- Generated by javadoc (build 1.5.0_22) on Wed Mar 27 16:45:42 UTC 2024 -->
    +<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
    +<TITLE>
    +NodeComparator (JaCoCo 0.8.12.202403270442 API)
    +</TITLE>
    +
    +<META NAME="keywords" CONTENT="org.jacoco.core.analysis.NodeComparator class">
    +
    +<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../stylesheet.css" TITLE="Style">
    +
    +<SCRIPT type="text/javascript">
    +function windowTitle()
    +{
    +    parent.document.title="NodeComparator (JaCoCo 0.8.12.202403270442 API)";
    +}
    +</SCRIPT>
    +<NOSCRIPT>
    +</NOSCRIPT>
    +
    +</HEAD>
    +
    +<BODY BGCOLOR="white" onload="windowTitle();">
    +
    +
    +<!-- ========= START OF TOP NAVBAR ======= -->
    +<A NAME="navbar_top"><!-- --></A>
    +<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
    +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
    +<TR>
    +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
    +<A NAME="navbar_top_firstrow"><!-- --></A>
    +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
    +  <TR ALIGN="center" VALIGN="top">
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="class-use/NodeComparator.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
    +  </TR>
    +</TABLE>
    +</TD>
    +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
    +</EM>
    +</TD>
    +</TR>
    +
    +<TR>
    +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
    +&nbsp;<A HREF="../../../../org/jacoco/core/analysis/ISourceNode.html" title="interface in org.jacoco.core.analysis"><B>PREV CLASS</B></A>&nbsp;
    +&nbsp;NEXT CLASS</FONT></TD>
    +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
    +  <A HREF="../../../../index.html?org/jacoco/core/analysis/NodeComparator.html" target="_top"><B>FRAMES</B></A>  &nbsp;
    +&nbsp;<A HREF="NodeComparator.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
    +&nbsp;<SCRIPT type="text/javascript">
    +  <!--
    +  if(window==top) {
    +    document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>');
    +  }
    +  //-->
    +</SCRIPT>
    +<NOSCRIPT>
    +  <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>
    +</NOSCRIPT>
    +
    +
    +</FONT></TD>
    +</TR>
    +<TR>
    +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
    +  SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;FIELD&nbsp;|&nbsp;CONSTR&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD>
    +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
    +DETAIL:&nbsp;FIELD&nbsp;|&nbsp;CONSTR&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD>
    +</TR>
    +</TABLE>
    +<A NAME="skip-navbar_top"></A>
    +<!-- ========= END OF TOP NAVBAR ========= -->
    +
    +<HR>
    +<!-- ======== START OF CLASS DATA ======== -->
    +<H2>
    +<FONT SIZE="-1">
    +org.jacoco.core.analysis</FONT>
    +<BR>
    +Class NodeComparator</H2>
    +<PRE>
    +<A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html" title="class or interface in java.lang">java.lang.Object</A>
    +  <IMG SRC="../../../../resources/inherit.gif" ALT="extended by "><B>org.jacoco.core.analysis.NodeComparator</B>
    +</PRE>
    +<DL>
    +<DT><B>All Implemented Interfaces:</B> <DD><A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/io/Serializable.html" title="class or interface in java.io">Serializable</A>, <A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/util/Comparator.html" title="class or interface in java.util">Comparator</A>&lt;<A HREF="../../../../org/jacoco/core/analysis/ICoverageNode.html" title="interface in org.jacoco.core.analysis">ICoverageNode</A>&gt;</DD>
    +</DL>
    +<HR>
    +<DL>
    +<DT><PRE>public class <B>NodeComparator</B><DT>extends <A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html" title="class or interface in java.lang">Object</A><DT>implements <A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/util/Comparator.html" title="class or interface in java.util">Comparator</A>&lt;<A HREF="../../../../org/jacoco/core/analysis/ICoverageNode.html" title="interface in org.jacoco.core.analysis">ICoverageNode</A>&gt;, <A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/io/Serializable.html" title="class or interface in java.io">Serializable</A></DL>
    +</PRE>
    +
    +<P>
    +Comparator to compare <A HREF="../../../../org/jacoco/core/analysis/ICoverageNode.html" title="interface in org.jacoco.core.analysis"><CODE>ICoverageNode</CODE></A> objects by different counter
    + criteria.
    +<P>
    +
    +<P>
    +<DL>
    +<DT><B>See Also:</B><DD><A HREF="../../../../org/jacoco/core/analysis/CounterComparator.html#on(org.jacoco.core.analysis.ICoverageNode.CounterEntity)"><CODE>CounterComparator.on(ICoverageNode.CounterEntity)</CODE></A>, 
    +<A HREF="../../../../serialized-form.html#org.jacoco.core.analysis.NodeComparator">Serialized Form</A></DL>
    +<HR>
    +
    +<P>
    +
    +<!-- ========== METHOD SUMMARY =========== -->
    +
    +<A NAME="method_summary"><!-- --></A>
    +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
    +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
    +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
    +<B>Method Summary</B></FONT></TH>
    +</TR>
    +<TR BGCOLOR="white" CLASS="TableRowColor">
    +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
    +<CODE>&nbsp;int</CODE></FONT></TD>
    +<TD><CODE><B><A HREF="../../../../org/jacoco/core/analysis/NodeComparator.html#compare(org.jacoco.core.analysis.ICoverageNode, org.jacoco.core.analysis.ICoverageNode)">compare</A></B>(<A HREF="../../../../org/jacoco/core/analysis/ICoverageNode.html" title="interface in org.jacoco.core.analysis">ICoverageNode</A>&nbsp;n1,
    +        <A HREF="../../../../org/jacoco/core/analysis/ICoverageNode.html" title="interface in org.jacoco.core.analysis">ICoverageNode</A>&nbsp;n2)</CODE>
    +
    +<BR>
    +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
    +</TR>
    +<TR BGCOLOR="white" CLASS="TableRowColor">
    +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
    +<CODE>&nbsp;<A HREF="../../../../org/jacoco/core/analysis/NodeComparator.html" title="class in org.jacoco.core.analysis">NodeComparator</A></CODE></FONT></TD>
    +<TD><CODE><B><A HREF="../../../../org/jacoco/core/analysis/NodeComparator.html#second(java.util.Comparator)">second</A></B>(<A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/util/Comparator.html" title="class or interface in java.util">Comparator</A>&lt;<A HREF="../../../../org/jacoco/core/analysis/ICoverageNode.html" title="interface in org.jacoco.core.analysis">ICoverageNode</A>&gt;&nbsp;second)</CODE>
    +
    +<BR>
    +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Creates a new composite comparator with a second search criterion.</TD>
    +</TR>
    +<TR BGCOLOR="white" CLASS="TableRowColor">
    +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
    +<CODE>
    +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="0" SUMMARY="">
    +<TR ALIGN="right" VALIGN="">
    +<TD NOWRAP><FONT SIZE="-1">
    +<CODE>&lt;T extends <A HREF="../../../../org/jacoco/core/analysis/ICoverageNode.html" title="interface in org.jacoco.core.analysis">ICoverageNode</A>&gt; 
    +<BR>
    +<A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/util/List.html" title="class or interface in java.util">List</A>&lt;T&gt;</CODE></FONT></TD>
    +</TR>
    +</TABLE>
    +</CODE></FONT></TD>
    +<TD><CODE><B><A HREF="../../../../org/jacoco/core/analysis/NodeComparator.html#sort(java.util.Collection)">sort</A></B>(<A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/util/Collection.html" title="class or interface in java.util">Collection</A>&lt;T&gt;&nbsp;summaries)</CODE>
    +
    +<BR>
    +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns a sorted copy of the given collection of <A HREF="../../../../org/jacoco/core/analysis/ICoverageNode.html" title="interface in org.jacoco.core.analysis"><CODE>ICoverageNode</CODE></A>
    + elements.</TD>
    +</TR>
    +</TABLE>
    +&nbsp;<A NAME="methods_inherited_from_class_java.lang.Object"><!-- --></A>
    +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
    +<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
    +<TH ALIGN="left"><B>Methods inherited from class java.lang.<A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html" title="class or interface in java.lang">Object</A></B></TH>
    +</TR>
    +<TR BGCOLOR="white" CLASS="TableRowColor">
    +<TD><CODE><A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html#clone()" title="class or interface in java.lang">clone</A>, <A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html#equals(java.lang.Object)" title="class or interface in java.lang">equals</A>, <A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html#finalize()" title="class or interface in java.lang">finalize</A>, <A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html#getClass()" title="class or interface in java.lang">getClass</A>, <A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html#hashCode()" title="class or interface in java.lang">hashCode</A>, <A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html#notify()" title="class or interface in java.lang">notify</A>, <A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html#notifyAll()" title="class or interface in java.lang">notifyAll</A>, <A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html#toString()" title="class or interface in java.lang">toString</A>, <A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html#wait()" title="class or interface in java.lang">wait</A>, <A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html#wait(long)" title="class or interface in java.lang">wait</A>, <A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html#wait(long, int)" title="class or interface in java.lang">wait</A></CODE></TD>
    +</TR>
    +</TABLE>
    +&nbsp;<A NAME="methods_inherited_from_class_java.util.Comparator"><!-- --></A>
    +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
    +<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
    +<TH ALIGN="left"><B>Methods inherited from interface java.util.<A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/util/Comparator.html" title="class or interface in java.util">Comparator</A></B></TH>
    +</TR>
    +<TR BGCOLOR="white" CLASS="TableRowColor">
    +<TD><CODE><A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/util/Comparator.html#equals(java.lang.Object)" title="class or interface in java.util">equals</A></CODE></TD>
    +</TR>
    +</TABLE>
    +&nbsp;
    +<P>
    +
    +<!-- ============ METHOD DETAIL ========== -->
    +
    +<A NAME="method_detail"><!-- --></A>
    +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
    +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
    +<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2">
    +<B>Method Detail</B></FONT></TH>
    +</TR>
    +</TABLE>
    +
    +<A NAME="second(java.util.Comparator)"><!-- --></A><H3>
    +second</H3>
    +<PRE>
    +public <A HREF="../../../../org/jacoco/core/analysis/NodeComparator.html" title="class in org.jacoco.core.analysis">NodeComparator</A> <B>second</B>(<A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/util/Comparator.html" title="class or interface in java.util">Comparator</A>&lt;<A HREF="../../../../org/jacoco/core/analysis/ICoverageNode.html" title="interface in org.jacoco.core.analysis">ICoverageNode</A>&gt;&nbsp;second)</PRE>
    +<DL>
    +<DD>Creates a new composite comparator with a second search criterion.
    +<P>
    +<DD><DL>
    +</DL>
    +</DD>
    +<DD><DL>
    +<DT><B>Parameters:</B><DD><CODE>second</CODE> - second criterion comparator
    +<DT><B>Returns:</B><DD>composite comparator</DL>
    +</DD>
    +</DL>
    +<HR>
    +
    +<A NAME="sort(java.util.Collection)"><!-- --></A><H3>
    +sort</H3>
    +<PRE>
    +public &lt;T extends <A HREF="../../../../org/jacoco/core/analysis/ICoverageNode.html" title="interface in org.jacoco.core.analysis">ICoverageNode</A>&gt; <A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/util/List.html" title="class or interface in java.util">List</A>&lt;T&gt; <B>sort</B>(<A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/util/Collection.html" title="class or interface in java.util">Collection</A>&lt;T&gt;&nbsp;summaries)</PRE>
    +<DL>
    +<DD>Returns a sorted copy of the given collection of <A HREF="../../../../org/jacoco/core/analysis/ICoverageNode.html" title="interface in org.jacoco.core.analysis"><CODE>ICoverageNode</CODE></A>
    + elements.
    +<P>
    +<DD><DL>
    +</DL>
    +</DD>
    +<DD><DL>
    +<DT><B>Type Parameters:</B><DD><CODE>T</CODE> - actual type of the elements<DT><B>Parameters:</B><DD><CODE>summaries</CODE> - collection to create a copy of
    +<DT><B>Returns:</B><DD>sorted copy</DL>
    +</DD>
    +</DL>
    +<HR>
    +
    +<A NAME="compare(org.jacoco.core.analysis.ICoverageNode, org.jacoco.core.analysis.ICoverageNode)"><!-- --></A><H3>
    +compare</H3>
    +<PRE>
    +public int <B>compare</B>(<A HREF="../../../../org/jacoco/core/analysis/ICoverageNode.html" title="interface in org.jacoco.core.analysis">ICoverageNode</A>&nbsp;n1,
    +                   <A HREF="../../../../org/jacoco/core/analysis/ICoverageNode.html" title="interface in org.jacoco.core.analysis">ICoverageNode</A>&nbsp;n2)</PRE>
    +<DL>
    +<DD><DL>
    +<DT><B>Specified by:</B><DD><CODE><A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/util/Comparator.html#compare(T, T)" title="class or interface in java.util">compare</A></CODE> in interface <CODE><A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/util/Comparator.html" title="class or interface in java.util">Comparator</A>&lt;<A HREF="../../../../org/jacoco/core/analysis/ICoverageNode.html" title="interface in org.jacoco.core.analysis">ICoverageNode</A>&gt;</CODE></DL>
    +</DD>
    +<DD><DL>
    +</DL>
    +</DD>
    +</DL>
    +<!-- ========= END OF CLASS DATA ========= -->
    +<HR>
    +
    +
    +<!-- ======= START OF BOTTOM NAVBAR ====== -->
    +<A NAME="navbar_bottom"><!-- --></A>
    +<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
    +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
    +<TR>
    +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
    +<A NAME="navbar_bottom_firstrow"><!-- --></A>
    +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
    +  <TR ALIGN="center" VALIGN="top">
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="class-use/NodeComparator.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
    +  </TR>
    +</TABLE>
    +</TD>
    +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
    +</EM>
    +</TD>
    +</TR>
    +
    +<TR>
    +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
    +&nbsp;<A HREF="../../../../org/jacoco/core/analysis/ISourceNode.html" title="interface in org.jacoco.core.analysis"><B>PREV CLASS</B></A>&nbsp;
    +&nbsp;NEXT CLASS</FONT></TD>
    +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
    +  <A HREF="../../../../index.html?org/jacoco/core/analysis/NodeComparator.html" target="_top"><B>FRAMES</B></A>  &nbsp;
    +&nbsp;<A HREF="NodeComparator.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
    +&nbsp;<SCRIPT type="text/javascript">
    +  <!--
    +  if(window==top) {
    +    document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>');
    +  }
    +  //-->
    +</SCRIPT>
    +<NOSCRIPT>
    +  <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>
    +</NOSCRIPT>
    +
    +
    +</FONT></TD>
    +</TR>
    +<TR>
    +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
    +  SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;FIELD&nbsp;|&nbsp;CONSTR&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD>
    +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
    +DETAIL:&nbsp;FIELD&nbsp;|&nbsp;CONSTR&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD>
    +</TR>
    +</TABLE>
    +<A NAME="skip-navbar_bottom"></A>
    +<!-- ======== END OF BOTTOM NAVBAR ======= -->
    +
    +<HR>
    +Copyright &#169; 2009&#x2013;2024 Mountainminds GmbH & Co. KG. All rights reserved.
    +</BODY>
    +</HTML>
    diff --git a/jacoco/trunk/doc/api/org/jacoco/core/analysis/class-use/Analyzer.html b/jacoco/trunk/doc/api/org/jacoco/core/analysis/class-use/Analyzer.html
    new file mode 100644
    index 00000000000..93e8d66ad6d
    --- /dev/null
    +++ b/jacoco/trunk/doc/api/org/jacoco/core/analysis/class-use/Analyzer.html
    @@ -0,0 +1,141 @@
    +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
    +<!--NewPage-->
    +<HTML>
    +<HEAD>
    +<!-- Generated by javadoc (build 1.5.0_22) on Wed Mar 27 16:45:42 UTC 2024 -->
    +<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
    +<TITLE>
    +Uses of Class org.jacoco.core.analysis.Analyzer (JaCoCo 0.8.12.202403270442 API)
    +</TITLE>
    +
    +
    +<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../../stylesheet.css" TITLE="Style">
    +
    +<SCRIPT type="text/javascript">
    +function windowTitle()
    +{
    +    parent.document.title="Uses of Class org.jacoco.core.analysis.Analyzer (JaCoCo 0.8.12.202403270442 API)";
    +}
    +</SCRIPT>
    +<NOSCRIPT>
    +</NOSCRIPT>
    +
    +</HEAD>
    +
    +<BODY BGCOLOR="white" onload="windowTitle();">
    +
    +
    +<!-- ========= START OF TOP NAVBAR ======= -->
    +<A NAME="navbar_top"><!-- --></A>
    +<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
    +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
    +<TR>
    +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
    +<A NAME="navbar_top_firstrow"><!-- --></A>
    +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
    +  <TR ALIGN="center" VALIGN="top">
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../org/jacoco/core/analysis/Analyzer.html" title="class in org.jacoco.core.analysis"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
    +  </TR>
    +</TABLE>
    +</TD>
    +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
    +</EM>
    +</TD>
    +</TR>
    +
    +<TR>
    +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
    +&nbsp;PREV&nbsp;
    +&nbsp;NEXT</FONT></TD>
    +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
    +  <A HREF="../../../../../index.html?org/jacoco/core/analysis/class-use/Analyzer.html" target="_top"><B>FRAMES</B></A>  &nbsp;
    +&nbsp;<A HREF="Analyzer.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
    +&nbsp;<SCRIPT type="text/javascript">
    +  <!--
    +  if(window==top) {
    +    document.writeln('<A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>');
    +  }
    +  //-->
    +</SCRIPT>
    +<NOSCRIPT>
    +  <A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>
    +</NOSCRIPT>
    +
    +
    +</FONT></TD>
    +</TR>
    +</TABLE>
    +<A NAME="skip-navbar_top"></A>
    +<!-- ========= END OF TOP NAVBAR ========= -->
    +
    +<HR>
    +<CENTER>
    +<H2>
    +<B>Uses of Class<br>org.jacoco.core.analysis.Analyzer</B></H2>
    +</CENTER>
    +No usage of org.jacoco.core.analysis.Analyzer
    +<P>
    +<HR>
    +
    +
    +<!-- ======= START OF BOTTOM NAVBAR ====== -->
    +<A NAME="navbar_bottom"><!-- --></A>
    +<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
    +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
    +<TR>
    +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
    +<A NAME="navbar_bottom_firstrow"><!-- --></A>
    +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
    +  <TR ALIGN="center" VALIGN="top">
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../org/jacoco/core/analysis/Analyzer.html" title="class in org.jacoco.core.analysis"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
    +  </TR>
    +</TABLE>
    +</TD>
    +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
    +</EM>
    +</TD>
    +</TR>
    +
    +<TR>
    +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
    +&nbsp;PREV&nbsp;
    +&nbsp;NEXT</FONT></TD>
    +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
    +  <A HREF="../../../../../index.html?org/jacoco/core/analysis/class-use/Analyzer.html" target="_top"><B>FRAMES</B></A>  &nbsp;
    +&nbsp;<A HREF="Analyzer.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
    +&nbsp;<SCRIPT type="text/javascript">
    +  <!--
    +  if(window==top) {
    +    document.writeln('<A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>');
    +  }
    +  //-->
    +</SCRIPT>
    +<NOSCRIPT>
    +  <A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>
    +</NOSCRIPT>
    +
    +
    +</FONT></TD>
    +</TR>
    +</TABLE>
    +<A NAME="skip-navbar_bottom"></A>
    +<!-- ======== END OF BOTTOM NAVBAR ======= -->
    +
    +<HR>
    +Copyright &#169; 2009&#x2013;2024 Mountainminds GmbH & Co. KG. All rights reserved.
    +</BODY>
    +</HTML>
    diff --git a/jacoco/trunk/doc/api/org/jacoco/core/analysis/class-use/CounterComparator.html b/jacoco/trunk/doc/api/org/jacoco/core/analysis/class-use/CounterComparator.html
    new file mode 100644
    index 00000000000..5184deb8be9
    --- /dev/null
    +++ b/jacoco/trunk/doc/api/org/jacoco/core/analysis/class-use/CounterComparator.html
    @@ -0,0 +1,226 @@
    +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
    +<!--NewPage-->
    +<HTML>
    +<HEAD>
    +<!-- Generated by javadoc (build 1.5.0_22) on Wed Mar 27 16:45:42 UTC 2024 -->
    +<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
    +<TITLE>
    +Uses of Class org.jacoco.core.analysis.CounterComparator (JaCoCo 0.8.12.202403270442 API)
    +</TITLE>
    +
    +
    +<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../../stylesheet.css" TITLE="Style">
    +
    +<SCRIPT type="text/javascript">
    +function windowTitle()
    +{
    +    parent.document.title="Uses of Class org.jacoco.core.analysis.CounterComparator (JaCoCo 0.8.12.202403270442 API)";
    +}
    +</SCRIPT>
    +<NOSCRIPT>
    +</NOSCRIPT>
    +
    +</HEAD>
    +
    +<BODY BGCOLOR="white" onload="windowTitle();">
    +
    +
    +<!-- ========= START OF TOP NAVBAR ======= -->
    +<A NAME="navbar_top"><!-- --></A>
    +<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
    +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
    +<TR>
    +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
    +<A NAME="navbar_top_firstrow"><!-- --></A>
    +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
    +  <TR ALIGN="center" VALIGN="top">
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../org/jacoco/core/analysis/CounterComparator.html" title="class in org.jacoco.core.analysis"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
    +  </TR>
    +</TABLE>
    +</TD>
    +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
    +</EM>
    +</TD>
    +</TR>
    +
    +<TR>
    +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
    +&nbsp;PREV&nbsp;
    +&nbsp;NEXT</FONT></TD>
    +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
    +  <A HREF="../../../../../index.html?org/jacoco/core/analysis/class-use/CounterComparator.html" target="_top"><B>FRAMES</B></A>  &nbsp;
    +&nbsp;<A HREF="CounterComparator.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
    +&nbsp;<SCRIPT type="text/javascript">
    +  <!--
    +  if(window==top) {
    +    document.writeln('<A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>');
    +  }
    +  //-->
    +</SCRIPT>
    +<NOSCRIPT>
    +  <A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>
    +</NOSCRIPT>
    +
    +
    +</FONT></TD>
    +</TR>
    +</TABLE>
    +<A NAME="skip-navbar_top"></A>
    +<!-- ========= END OF TOP NAVBAR ========= -->
    +
    +<HR>
    +<CENTER>
    +<H2>
    +<B>Uses of Class<br>org.jacoco.core.analysis.CounterComparator</B></H2>
    +</CENTER>
    +
    +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
    +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
    +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
    +Packages that use <A HREF="../../../../../org/jacoco/core/analysis/CounterComparator.html" title="class in org.jacoco.core.analysis">CounterComparator</A></FONT></TH>
    +</TR>
    +<TR BGCOLOR="white" CLASS="TableRowColor">
    +<TD><A HREF="#org.jacoco.core.analysis"><B>org.jacoco.core.analysis</B></A></TD>
    +<TD>
    + Coverage calculation and analysis.&nbsp;</TD>
    +</TR>
    +</TABLE>
    +&nbsp;
    +<P>
    +<A NAME="org.jacoco.core.analysis"><!-- --></A>
    +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
    +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
    +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
    +Uses of <A HREF="../../../../../org/jacoco/core/analysis/CounterComparator.html" title="class in org.jacoco.core.analysis">CounterComparator</A> in <A HREF="../../../../../org/jacoco/core/analysis/package-summary.html">org.jacoco.core.analysis</A></FONT></TH>
    +</TR>
    +</TABLE>
    +&nbsp;
    +<P>
    +
    +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
    +<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor">
    +<TH ALIGN="left" COLSPAN="2">Fields in <A HREF="../../../../../org/jacoco/core/analysis/package-summary.html">org.jacoco.core.analysis</A> declared as <A HREF="../../../../../org/jacoco/core/analysis/CounterComparator.html" title="class in org.jacoco.core.analysis">CounterComparator</A></FONT></TH>
    +</TR>
    +<TR BGCOLOR="white" CLASS="TableRowColor">
    +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
    +<CODE>static&nbsp;<A HREF="../../../../../org/jacoco/core/analysis/CounterComparator.html" title="class in org.jacoco.core.analysis">CounterComparator</A></CODE></FONT></TD>
    +<TD><CODE><B>CounterComparator.</B><B><A HREF="../../../../../org/jacoco/core/analysis/CounterComparator.html#COVEREDITEMS">COVEREDITEMS</A></B></CODE>
    +
    +<BR>
    +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Compares the absolute number of covered items.</TD>
    +</TR>
    +<TR BGCOLOR="white" CLASS="TableRowColor">
    +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
    +<CODE>static&nbsp;<A HREF="../../../../../org/jacoco/core/analysis/CounterComparator.html" title="class in org.jacoco.core.analysis">CounterComparator</A></CODE></FONT></TD>
    +<TD><CODE><B>CounterComparator.</B><B><A HREF="../../../../../org/jacoco/core/analysis/CounterComparator.html#COVEREDRATIO">COVEREDRATIO</A></B></CODE>
    +
    +<BR>
    +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Compares the ratio of covered items.</TD>
    +</TR>
    +<TR BGCOLOR="white" CLASS="TableRowColor">
    +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
    +<CODE>static&nbsp;<A HREF="../../../../../org/jacoco/core/analysis/CounterComparator.html" title="class in org.jacoco.core.analysis">CounterComparator</A></CODE></FONT></TD>
    +<TD><CODE><B>CounterComparator.</B><B><A HREF="../../../../../org/jacoco/core/analysis/CounterComparator.html#MISSEDITEMS">MISSEDITEMS</A></B></CODE>
    +
    +<BR>
    +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Compares the absolute number of missed items.</TD>
    +</TR>
    +<TR BGCOLOR="white" CLASS="TableRowColor">
    +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
    +<CODE>static&nbsp;<A HREF="../../../../../org/jacoco/core/analysis/CounterComparator.html" title="class in org.jacoco.core.analysis">CounterComparator</A></CODE></FONT></TD>
    +<TD><CODE><B>CounterComparator.</B><B><A HREF="../../../../../org/jacoco/core/analysis/CounterComparator.html#MISSEDRATIO">MISSEDRATIO</A></B></CODE>
    +
    +<BR>
    +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Compares the ratio of missed items.</TD>
    +</TR>
    +<TR BGCOLOR="white" CLASS="TableRowColor">
    +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
    +<CODE>static&nbsp;<A HREF="../../../../../org/jacoco/core/analysis/CounterComparator.html" title="class in org.jacoco.core.analysis">CounterComparator</A></CODE></FONT></TD>
    +<TD><CODE><B>CounterComparator.</B><B><A HREF="../../../../../org/jacoco/core/analysis/CounterComparator.html#TOTALITEMS">TOTALITEMS</A></B></CODE>
    +
    +<BR>
    +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Compares the absolute number of total items.</TD>
    +</TR>
    +</TABLE>
    +&nbsp;
    +<P>
    +
    +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
    +<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor">
    +<TH ALIGN="left" COLSPAN="2">Methods in <A HREF="../../../../../org/jacoco/core/analysis/package-summary.html">org.jacoco.core.analysis</A> that return <A HREF="../../../../../org/jacoco/core/analysis/CounterComparator.html" title="class in org.jacoco.core.analysis">CounterComparator</A></FONT></TH>
    +</TR>
    +<TR BGCOLOR="white" CLASS="TableRowColor">
    +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
    +<CODE>&nbsp;<A HREF="../../../../../org/jacoco/core/analysis/CounterComparator.html" title="class in org.jacoco.core.analysis">CounterComparator</A></CODE></FONT></TD>
    +<TD><CODE><B>CounterComparator.</B><B><A HREF="../../../../../org/jacoco/core/analysis/CounterComparator.html#reverse()">reverse</A></B>()</CODE>
    +
    +<BR>
    +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Creates a new version of this comparator that sorts in reverse order.</TD>
    +</TR>
    +</TABLE>
    +&nbsp;
    +<P>
    +<HR>
    +
    +
    +<!-- ======= START OF BOTTOM NAVBAR ====== -->
    +<A NAME="navbar_bottom"><!-- --></A>
    +<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
    +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
    +<TR>
    +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
    +<A NAME="navbar_bottom_firstrow"><!-- --></A>
    +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
    +  <TR ALIGN="center" VALIGN="top">
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../org/jacoco/core/analysis/CounterComparator.html" title="class in org.jacoco.core.analysis"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
    +  </TR>
    +</TABLE>
    +</TD>
    +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
    +</EM>
    +</TD>
    +</TR>
    +
    +<TR>
    +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
    +&nbsp;PREV&nbsp;
    +&nbsp;NEXT</FONT></TD>
    +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
    +  <A HREF="../../../../../index.html?org/jacoco/core/analysis/class-use/CounterComparator.html" target="_top"><B>FRAMES</B></A>  &nbsp;
    +&nbsp;<A HREF="CounterComparator.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
    +&nbsp;<SCRIPT type="text/javascript">
    +  <!--
    +  if(window==top) {
    +    document.writeln('<A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>');
    +  }
    +  //-->
    +</SCRIPT>
    +<NOSCRIPT>
    +  <A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>
    +</NOSCRIPT>
    +
    +
    +</FONT></TD>
    +</TR>
    +</TABLE>
    +<A NAME="skip-navbar_bottom"></A>
    +<!-- ======== END OF BOTTOM NAVBAR ======= -->
    +
    +<HR>
    +Copyright &#169; 2009&#x2013;2024 Mountainminds GmbH & Co. KG. All rights reserved.
    +</BODY>
    +</HTML>
    diff --git a/jacoco/trunk/doc/api/org/jacoco/core/analysis/class-use/CoverageBuilder.html b/jacoco/trunk/doc/api/org/jacoco/core/analysis/class-use/CoverageBuilder.html
    new file mode 100644
    index 00000000000..658d4392ef8
    --- /dev/null
    +++ b/jacoco/trunk/doc/api/org/jacoco/core/analysis/class-use/CoverageBuilder.html
    @@ -0,0 +1,141 @@
    +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
    +<!--NewPage-->
    +<HTML>
    +<HEAD>
    +<!-- Generated by javadoc (build 1.5.0_22) on Wed Mar 27 16:45:42 UTC 2024 -->
    +<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
    +<TITLE>
    +Uses of Class org.jacoco.core.analysis.CoverageBuilder (JaCoCo 0.8.12.202403270442 API)
    +</TITLE>
    +
    +
    +<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../../stylesheet.css" TITLE="Style">
    +
    +<SCRIPT type="text/javascript">
    +function windowTitle()
    +{
    +    parent.document.title="Uses of Class org.jacoco.core.analysis.CoverageBuilder (JaCoCo 0.8.12.202403270442 API)";
    +}
    +</SCRIPT>
    +<NOSCRIPT>
    +</NOSCRIPT>
    +
    +</HEAD>
    +
    +<BODY BGCOLOR="white" onload="windowTitle();">
    +
    +
    +<!-- ========= START OF TOP NAVBAR ======= -->
    +<A NAME="navbar_top"><!-- --></A>
    +<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
    +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
    +<TR>
    +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
    +<A NAME="navbar_top_firstrow"><!-- --></A>
    +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
    +  <TR ALIGN="center" VALIGN="top">
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../org/jacoco/core/analysis/CoverageBuilder.html" title="class in org.jacoco.core.analysis"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
    +  </TR>
    +</TABLE>
    +</TD>
    +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
    +</EM>
    +</TD>
    +</TR>
    +
    +<TR>
    +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
    +&nbsp;PREV&nbsp;
    +&nbsp;NEXT</FONT></TD>
    +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
    +  <A HREF="../../../../../index.html?org/jacoco/core/analysis/class-use/CoverageBuilder.html" target="_top"><B>FRAMES</B></A>  &nbsp;
    +&nbsp;<A HREF="CoverageBuilder.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
    +&nbsp;<SCRIPT type="text/javascript">
    +  <!--
    +  if(window==top) {
    +    document.writeln('<A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>');
    +  }
    +  //-->
    +</SCRIPT>
    +<NOSCRIPT>
    +  <A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>
    +</NOSCRIPT>
    +
    +
    +</FONT></TD>
    +</TR>
    +</TABLE>
    +<A NAME="skip-navbar_top"></A>
    +<!-- ========= END OF TOP NAVBAR ========= -->
    +
    +<HR>
    +<CENTER>
    +<H2>
    +<B>Uses of Class<br>org.jacoco.core.analysis.CoverageBuilder</B></H2>
    +</CENTER>
    +No usage of org.jacoco.core.analysis.CoverageBuilder
    +<P>
    +<HR>
    +
    +
    +<!-- ======= START OF BOTTOM NAVBAR ====== -->
    +<A NAME="navbar_bottom"><!-- --></A>
    +<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
    +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
    +<TR>
    +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
    +<A NAME="navbar_bottom_firstrow"><!-- --></A>
    +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
    +  <TR ALIGN="center" VALIGN="top">
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../org/jacoco/core/analysis/CoverageBuilder.html" title="class in org.jacoco.core.analysis"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
    +  </TR>
    +</TABLE>
    +</TD>
    +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
    +</EM>
    +</TD>
    +</TR>
    +
    +<TR>
    +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
    +&nbsp;PREV&nbsp;
    +&nbsp;NEXT</FONT></TD>
    +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
    +  <A HREF="../../../../../index.html?org/jacoco/core/analysis/class-use/CoverageBuilder.html" target="_top"><B>FRAMES</B></A>  &nbsp;
    +&nbsp;<A HREF="CoverageBuilder.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
    +&nbsp;<SCRIPT type="text/javascript">
    +  <!--
    +  if(window==top) {
    +    document.writeln('<A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>');
    +  }
    +  //-->
    +</SCRIPT>
    +<NOSCRIPT>
    +  <A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>
    +</NOSCRIPT>
    +
    +
    +</FONT></TD>
    +</TR>
    +</TABLE>
    +<A NAME="skip-navbar_bottom"></A>
    +<!-- ======== END OF BOTTOM NAVBAR ======= -->
    +
    +<HR>
    +Copyright &#169; 2009&#x2013;2024 Mountainminds GmbH & Co. KG. All rights reserved.
    +</BODY>
    +</HTML>
    diff --git a/jacoco/trunk/doc/api/org/jacoco/core/analysis/class-use/CoverageNodeImpl.html b/jacoco/trunk/doc/api/org/jacoco/core/analysis/class-use/CoverageNodeImpl.html
    new file mode 100644
    index 00000000000..0c429250c46
    --- /dev/null
    +++ b/jacoco/trunk/doc/api/org/jacoco/core/analysis/class-use/CoverageNodeImpl.html
    @@ -0,0 +1,141 @@
    +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
    +<!--NewPage-->
    +<HTML>
    +<HEAD>
    +<!-- Generated by javadoc (build 1.5.0_22) on Wed Mar 27 16:45:42 UTC 2024 -->
    +<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
    +<TITLE>
    +Uses of Class org.jacoco.core.analysis.CoverageNodeImpl (JaCoCo 0.8.12.202403270442 API)
    +</TITLE>
    +
    +
    +<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../../stylesheet.css" TITLE="Style">
    +
    +<SCRIPT type="text/javascript">
    +function windowTitle()
    +{
    +    parent.document.title="Uses of Class org.jacoco.core.analysis.CoverageNodeImpl (JaCoCo 0.8.12.202403270442 API)";
    +}
    +</SCRIPT>
    +<NOSCRIPT>
    +</NOSCRIPT>
    +
    +</HEAD>
    +
    +<BODY BGCOLOR="white" onload="windowTitle();">
    +
    +
    +<!-- ========= START OF TOP NAVBAR ======= -->
    +<A NAME="navbar_top"><!-- --></A>
    +<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
    +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
    +<TR>
    +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
    +<A NAME="navbar_top_firstrow"><!-- --></A>
    +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
    +  <TR ALIGN="center" VALIGN="top">
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../org/jacoco/core/analysis/CoverageNodeImpl.html" title="class in org.jacoco.core.analysis"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
    +  </TR>
    +</TABLE>
    +</TD>
    +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
    +</EM>
    +</TD>
    +</TR>
    +
    +<TR>
    +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
    +&nbsp;PREV&nbsp;
    +&nbsp;NEXT</FONT></TD>
    +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
    +  <A HREF="../../../../../index.html?org/jacoco/core/analysis/class-use/CoverageNodeImpl.html" target="_top"><B>FRAMES</B></A>  &nbsp;
    +&nbsp;<A HREF="CoverageNodeImpl.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
    +&nbsp;<SCRIPT type="text/javascript">
    +  <!--
    +  if(window==top) {
    +    document.writeln('<A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>');
    +  }
    +  //-->
    +</SCRIPT>
    +<NOSCRIPT>
    +  <A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>
    +</NOSCRIPT>
    +
    +
    +</FONT></TD>
    +</TR>
    +</TABLE>
    +<A NAME="skip-navbar_top"></A>
    +<!-- ========= END OF TOP NAVBAR ========= -->
    +
    +<HR>
    +<CENTER>
    +<H2>
    +<B>Uses of Class<br>org.jacoco.core.analysis.CoverageNodeImpl</B></H2>
    +</CENTER>
    +No usage of org.jacoco.core.analysis.CoverageNodeImpl
    +<P>
    +<HR>
    +
    +
    +<!-- ======= START OF BOTTOM NAVBAR ====== -->
    +<A NAME="navbar_bottom"><!-- --></A>
    +<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
    +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
    +<TR>
    +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
    +<A NAME="navbar_bottom_firstrow"><!-- --></A>
    +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
    +  <TR ALIGN="center" VALIGN="top">
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../org/jacoco/core/analysis/CoverageNodeImpl.html" title="class in org.jacoco.core.analysis"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
    +  </TR>
    +</TABLE>
    +</TD>
    +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
    +</EM>
    +</TD>
    +</TR>
    +
    +<TR>
    +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
    +&nbsp;PREV&nbsp;
    +&nbsp;NEXT</FONT></TD>
    +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
    +  <A HREF="../../../../../index.html?org/jacoco/core/analysis/class-use/CoverageNodeImpl.html" target="_top"><B>FRAMES</B></A>  &nbsp;
    +&nbsp;<A HREF="CoverageNodeImpl.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
    +&nbsp;<SCRIPT type="text/javascript">
    +  <!--
    +  if(window==top) {
    +    document.writeln('<A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>');
    +  }
    +  //-->
    +</SCRIPT>
    +<NOSCRIPT>
    +  <A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>
    +</NOSCRIPT>
    +
    +
    +</FONT></TD>
    +</TR>
    +</TABLE>
    +<A NAME="skip-navbar_bottom"></A>
    +<!-- ======== END OF BOTTOM NAVBAR ======= -->
    +
    +<HR>
    +Copyright &#169; 2009&#x2013;2024 Mountainminds GmbH & Co. KG. All rights reserved.
    +</BODY>
    +</HTML>
    diff --git a/jacoco/trunk/doc/api/org/jacoco/core/analysis/class-use/IBundleCoverage.html b/jacoco/trunk/doc/api/org/jacoco/core/analysis/class-use/IBundleCoverage.html
    new file mode 100644
    index 00000000000..e7474c04d21
    --- /dev/null
    +++ b/jacoco/trunk/doc/api/org/jacoco/core/analysis/class-use/IBundleCoverage.html
    @@ -0,0 +1,208 @@
    +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
    +<!--NewPage-->
    +<HTML>
    +<HEAD>
    +<!-- Generated by javadoc (build 1.5.0_22) on Wed Mar 27 16:45:42 UTC 2024 -->
    +<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
    +<TITLE>
    +Uses of Interface org.jacoco.core.analysis.IBundleCoverage (JaCoCo 0.8.12.202403270442 API)
    +</TITLE>
    +
    +
    +<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../../stylesheet.css" TITLE="Style">
    +
    +<SCRIPT type="text/javascript">
    +function windowTitle()
    +{
    +    parent.document.title="Uses of Interface org.jacoco.core.analysis.IBundleCoverage (JaCoCo 0.8.12.202403270442 API)";
    +}
    +</SCRIPT>
    +<NOSCRIPT>
    +</NOSCRIPT>
    +
    +</HEAD>
    +
    +<BODY BGCOLOR="white" onload="windowTitle();">
    +
    +
    +<!-- ========= START OF TOP NAVBAR ======= -->
    +<A NAME="navbar_top"><!-- --></A>
    +<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
    +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
    +<TR>
    +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
    +<A NAME="navbar_top_firstrow"><!-- --></A>
    +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
    +  <TR ALIGN="center" VALIGN="top">
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../org/jacoco/core/analysis/IBundleCoverage.html" title="interface in org.jacoco.core.analysis"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
    +  </TR>
    +</TABLE>
    +</TD>
    +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
    +</EM>
    +</TD>
    +</TR>
    +
    +<TR>
    +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
    +&nbsp;PREV&nbsp;
    +&nbsp;NEXT</FONT></TD>
    +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
    +  <A HREF="../../../../../index.html?org/jacoco/core/analysis/class-use/IBundleCoverage.html" target="_top"><B>FRAMES</B></A>  &nbsp;
    +&nbsp;<A HREF="IBundleCoverage.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
    +&nbsp;<SCRIPT type="text/javascript">
    +  <!--
    +  if(window==top) {
    +    document.writeln('<A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>');
    +  }
    +  //-->
    +</SCRIPT>
    +<NOSCRIPT>
    +  <A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>
    +</NOSCRIPT>
    +
    +
    +</FONT></TD>
    +</TR>
    +</TABLE>
    +<A NAME="skip-navbar_top"></A>
    +<!-- ========= END OF TOP NAVBAR ========= -->
    +
    +<HR>
    +<CENTER>
    +<H2>
    +<B>Uses of Interface<br>org.jacoco.core.analysis.IBundleCoverage</B></H2>
    +</CENTER>
    +
    +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
    +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
    +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
    +Packages that use <A HREF="../../../../../org/jacoco/core/analysis/IBundleCoverage.html" title="interface in org.jacoco.core.analysis">IBundleCoverage</A></FONT></TH>
    +</TR>
    +<TR BGCOLOR="white" CLASS="TableRowColor">
    +<TD><A HREF="#org.jacoco.core.analysis"><B>org.jacoco.core.analysis</B></A></TD>
    +<TD>
    + Coverage calculation and analysis.&nbsp;</TD>
    +</TR>
    +<TR BGCOLOR="white" CLASS="TableRowColor">
    +<TD><A HREF="#org.jacoco.report"><B>org.jacoco.report</B></A></TD>
    +<TD>Common interfaces and utilities for report generation.&nbsp;</TD>
    +</TR>
    +</TABLE>
    +&nbsp;
    +<P>
    +<A NAME="org.jacoco.core.analysis"><!-- --></A>
    +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
    +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
    +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
    +Uses of <A HREF="../../../../../org/jacoco/core/analysis/IBundleCoverage.html" title="interface in org.jacoco.core.analysis">IBundleCoverage</A> in <A HREF="../../../../../org/jacoco/core/analysis/package-summary.html">org.jacoco.core.analysis</A></FONT></TH>
    +</TR>
    +</TABLE>
    +&nbsp;
    +<P>
    +
    +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
    +<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor">
    +<TH ALIGN="left" COLSPAN="2">Methods in <A HREF="../../../../../org/jacoco/core/analysis/package-summary.html">org.jacoco.core.analysis</A> that return <A HREF="../../../../../org/jacoco/core/analysis/IBundleCoverage.html" title="interface in org.jacoco.core.analysis">IBundleCoverage</A></FONT></TH>
    +</TR>
    +<TR BGCOLOR="white" CLASS="TableRowColor">
    +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
    +<CODE>&nbsp;<A HREF="../../../../../org/jacoco/core/analysis/IBundleCoverage.html" title="interface in org.jacoco.core.analysis">IBundleCoverage</A></CODE></FONT></TD>
    +<TD><CODE><B>CoverageBuilder.</B><B><A HREF="../../../../../org/jacoco/core/analysis/CoverageBuilder.html#getBundle(java.lang.String)">getBundle</A></B>(<A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A>&nbsp;name)</CODE>
    +
    +<BR>
    +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Creates a bundle from all nodes currently contained in this bundle.</TD>
    +</TR>
    +</TABLE>
    +&nbsp;
    +<P>
    +<A NAME="org.jacoco.report"><!-- --></A>
    +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
    +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
    +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
    +Uses of <A HREF="../../../../../org/jacoco/core/analysis/IBundleCoverage.html" title="interface in org.jacoco.core.analysis">IBundleCoverage</A> in <A HREF="../../../../../org/jacoco/report/package-summary.html">org.jacoco.report</A></FONT></TH>
    +</TR>
    +</TABLE>
    +&nbsp;
    +<P>
    +
    +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
    +<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor">
    +<TH ALIGN="left" COLSPAN="2">Methods in <A HREF="../../../../../org/jacoco/report/package-summary.html">org.jacoco.report</A> with parameters of type <A HREF="../../../../../org/jacoco/core/analysis/IBundleCoverage.html" title="interface in org.jacoco.core.analysis">IBundleCoverage</A></FONT></TH>
    +</TR>
    +<TR BGCOLOR="white" CLASS="TableRowColor">
    +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
    +<CODE>&nbsp;void</CODE></FONT></TD>
    +<TD><CODE><B>IReportGroupVisitor.</B><B><A HREF="../../../../../org/jacoco/report/IReportGroupVisitor.html#visitBundle(org.jacoco.core.analysis.IBundleCoverage, org.jacoco.report.ISourceFileLocator)">visitBundle</A></B>(<A HREF="../../../../../org/jacoco/core/analysis/IBundleCoverage.html" title="interface in org.jacoco.core.analysis">IBundleCoverage</A>&nbsp;bundle,
    +            <A HREF="../../../../../org/jacoco/report/ISourceFileLocator.html" title="interface in org.jacoco.report">ISourceFileLocator</A>&nbsp;locator)</CODE>
    +
    +<BR>
    +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Called to add a bundle to the report.</TD>
    +</TR>
    +</TABLE>
    +&nbsp;
    +<P>
    +<HR>
    +
    +
    +<!-- ======= START OF BOTTOM NAVBAR ====== -->
    +<A NAME="navbar_bottom"><!-- --></A>
    +<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
    +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
    +<TR>
    +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
    +<A NAME="navbar_bottom_firstrow"><!-- --></A>
    +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
    +  <TR ALIGN="center" VALIGN="top">
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../org/jacoco/core/analysis/IBundleCoverage.html" title="interface in org.jacoco.core.analysis"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
    +  </TR>
    +</TABLE>
    +</TD>
    +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
    +</EM>
    +</TD>
    +</TR>
    +
    +<TR>
    +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
    +&nbsp;PREV&nbsp;
    +&nbsp;NEXT</FONT></TD>
    +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
    +  <A HREF="../../../../../index.html?org/jacoco/core/analysis/class-use/IBundleCoverage.html" target="_top"><B>FRAMES</B></A>  &nbsp;
    +&nbsp;<A HREF="IBundleCoverage.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
    +&nbsp;<SCRIPT type="text/javascript">
    +  <!--
    +  if(window==top) {
    +    document.writeln('<A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>');
    +  }
    +  //-->
    +</SCRIPT>
    +<NOSCRIPT>
    +  <A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>
    +</NOSCRIPT>
    +
    +
    +</FONT></TD>
    +</TR>
    +</TABLE>
    +<A NAME="skip-navbar_bottom"></A>
    +<!-- ======== END OF BOTTOM NAVBAR ======= -->
    +
    +<HR>
    +Copyright &#169; 2009&#x2013;2024 Mountainminds GmbH & Co. KG. All rights reserved.
    +</BODY>
    +</HTML>
    diff --git a/jacoco/trunk/doc/api/org/jacoco/core/analysis/class-use/IClassCoverage.html b/jacoco/trunk/doc/api/org/jacoco/core/analysis/class-use/IClassCoverage.html
    new file mode 100644
    index 00000000000..258108daa43
    --- /dev/null
    +++ b/jacoco/trunk/doc/api/org/jacoco/core/analysis/class-use/IClassCoverage.html
    @@ -0,0 +1,218 @@
    +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
    +<!--NewPage-->
    +<HTML>
    +<HEAD>
    +<!-- Generated by javadoc (build 1.5.0_22) on Wed Mar 27 16:45:42 UTC 2024 -->
    +<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
    +<TITLE>
    +Uses of Interface org.jacoco.core.analysis.IClassCoverage (JaCoCo 0.8.12.202403270442 API)
    +</TITLE>
    +
    +
    +<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../../stylesheet.css" TITLE="Style">
    +
    +<SCRIPT type="text/javascript">
    +function windowTitle()
    +{
    +    parent.document.title="Uses of Interface org.jacoco.core.analysis.IClassCoverage (JaCoCo 0.8.12.202403270442 API)";
    +}
    +</SCRIPT>
    +<NOSCRIPT>
    +</NOSCRIPT>
    +
    +</HEAD>
    +
    +<BODY BGCOLOR="white" onload="windowTitle();">
    +
    +
    +<!-- ========= START OF TOP NAVBAR ======= -->
    +<A NAME="navbar_top"><!-- --></A>
    +<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
    +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
    +<TR>
    +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
    +<A NAME="navbar_top_firstrow"><!-- --></A>
    +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
    +  <TR ALIGN="center" VALIGN="top">
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../org/jacoco/core/analysis/IClassCoverage.html" title="interface in org.jacoco.core.analysis"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
    +  </TR>
    +</TABLE>
    +</TD>
    +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
    +</EM>
    +</TD>
    +</TR>
    +
    +<TR>
    +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
    +&nbsp;PREV&nbsp;
    +&nbsp;NEXT</FONT></TD>
    +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
    +  <A HREF="../../../../../index.html?org/jacoco/core/analysis/class-use/IClassCoverage.html" target="_top"><B>FRAMES</B></A>  &nbsp;
    +&nbsp;<A HREF="IClassCoverage.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
    +&nbsp;<SCRIPT type="text/javascript">
    +  <!--
    +  if(window==top) {
    +    document.writeln('<A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>');
    +  }
    +  //-->
    +</SCRIPT>
    +<NOSCRIPT>
    +  <A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>
    +</NOSCRIPT>
    +
    +
    +</FONT></TD>
    +</TR>
    +</TABLE>
    +<A NAME="skip-navbar_top"></A>
    +<!-- ========= END OF TOP NAVBAR ========= -->
    +
    +<HR>
    +<CENTER>
    +<H2>
    +<B>Uses of Interface<br>org.jacoco.core.analysis.IClassCoverage</B></H2>
    +</CENTER>
    +
    +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
    +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
    +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
    +Packages that use <A HREF="../../../../../org/jacoco/core/analysis/IClassCoverage.html" title="interface in org.jacoco.core.analysis">IClassCoverage</A></FONT></TH>
    +</TR>
    +<TR BGCOLOR="white" CLASS="TableRowColor">
    +<TD><A HREF="#org.jacoco.core.analysis"><B>org.jacoco.core.analysis</B></A></TD>
    +<TD>
    + Coverage calculation and analysis.&nbsp;</TD>
    +</TR>
    +</TABLE>
    +&nbsp;
    +<P>
    +<A NAME="org.jacoco.core.analysis"><!-- --></A>
    +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
    +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
    +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
    +Uses of <A HREF="../../../../../org/jacoco/core/analysis/IClassCoverage.html" title="interface in org.jacoco.core.analysis">IClassCoverage</A> in <A HREF="../../../../../org/jacoco/core/analysis/package-summary.html">org.jacoco.core.analysis</A></FONT></TH>
    +</TR>
    +</TABLE>
    +&nbsp;
    +<P>
    +
    +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
    +<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor">
    +<TH ALIGN="left" COLSPAN="2">Methods in <A HREF="../../../../../org/jacoco/core/analysis/package-summary.html">org.jacoco.core.analysis</A> that return types with arguments of type <A HREF="../../../../../org/jacoco/core/analysis/IClassCoverage.html" title="interface in org.jacoco.core.analysis">IClassCoverage</A></FONT></TH>
    +</TR>
    +<TR BGCOLOR="white" CLASS="TableRowColor">
    +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
    +<CODE>&nbsp;<A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/util/Collection.html" title="class or interface in java.util">Collection</A>&lt;<A HREF="../../../../../org/jacoco/core/analysis/IClassCoverage.html" title="interface in org.jacoco.core.analysis">IClassCoverage</A>&gt;</CODE></FONT></TD>
    +<TD><CODE><B>CoverageBuilder.</B><B><A HREF="../../../../../org/jacoco/core/analysis/CoverageBuilder.html#getClasses()">getClasses</A></B>()</CODE>
    +
    +<BR>
    +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns all class nodes currently contained in this builder.</TD>
    +</TR>
    +<TR BGCOLOR="white" CLASS="TableRowColor">
    +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
    +<CODE>&nbsp;<A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/util/Collection.html" title="class or interface in java.util">Collection</A>&lt;<A HREF="../../../../../org/jacoco/core/analysis/IClassCoverage.html" title="interface in org.jacoco.core.analysis">IClassCoverage</A>&gt;</CODE></FONT></TD>
    +<TD><CODE><B>IPackageCoverage.</B><B><A HREF="../../../../../org/jacoco/core/analysis/IPackageCoverage.html#getClasses()">getClasses</A></B>()</CODE>
    +
    +<BR>
    +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns all classes contained in this package.</TD>
    +</TR>
    +<TR BGCOLOR="white" CLASS="TableRowColor">
    +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
    +<CODE>&nbsp;<A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/util/Collection.html" title="class or interface in java.util">Collection</A>&lt;<A HREF="../../../../../org/jacoco/core/analysis/IClassCoverage.html" title="interface in org.jacoco.core.analysis">IClassCoverage</A>&gt;</CODE></FONT></TD>
    +<TD><CODE><B>CoverageBuilder.</B><B><A HREF="../../../../../org/jacoco/core/analysis/CoverageBuilder.html#getNoMatchClasses()">getNoMatchClasses</A></B>()</CODE>
    +
    +<BR>
    +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns all classes for which execution data does not match.</TD>
    +</TR>
    +</TABLE>
    +&nbsp;
    +<P>
    +
    +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
    +<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor">
    +<TH ALIGN="left" COLSPAN="2">Methods in <A HREF="../../../../../org/jacoco/core/analysis/package-summary.html">org.jacoco.core.analysis</A> with parameters of type <A HREF="../../../../../org/jacoco/core/analysis/IClassCoverage.html" title="interface in org.jacoco.core.analysis">IClassCoverage</A></FONT></TH>
    +</TR>
    +<TR BGCOLOR="white" CLASS="TableRowColor">
    +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
    +<CODE>&nbsp;void</CODE></FONT></TD>
    +<TD><CODE><B>ICoverageVisitor.</B><B><A HREF="../../../../../org/jacoco/core/analysis/ICoverageVisitor.html#visitCoverage(org.jacoco.core.analysis.IClassCoverage)">visitCoverage</A></B>(<A HREF="../../../../../org/jacoco/core/analysis/IClassCoverage.html" title="interface in org.jacoco.core.analysis">IClassCoverage</A>&nbsp;coverage)</CODE>
    +
    +<BR>
    +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;For analyzed class coverage data is emitted to this method.</TD>
    +</TR>
    +<TR BGCOLOR="white" CLASS="TableRowColor">
    +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
    +<CODE>&nbsp;void</CODE></FONT></TD>
    +<TD><CODE><B>CoverageBuilder.</B><B><A HREF="../../../../../org/jacoco/core/analysis/CoverageBuilder.html#visitCoverage(org.jacoco.core.analysis.IClassCoverage)">visitCoverage</A></B>(<A HREF="../../../../../org/jacoco/core/analysis/IClassCoverage.html" title="interface in org.jacoco.core.analysis">IClassCoverage</A>&nbsp;coverage)</CODE>
    +
    +<BR>
    +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
    +</TR>
    +</TABLE>
    +&nbsp;
    +<P>
    +<HR>
    +
    +
    +<!-- ======= START OF BOTTOM NAVBAR ====== -->
    +<A NAME="navbar_bottom"><!-- --></A>
    +<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
    +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
    +<TR>
    +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
    +<A NAME="navbar_bottom_firstrow"><!-- --></A>
    +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
    +  <TR ALIGN="center" VALIGN="top">
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../org/jacoco/core/analysis/IClassCoverage.html" title="interface in org.jacoco.core.analysis"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
    +  </TR>
    +</TABLE>
    +</TD>
    +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
    +</EM>
    +</TD>
    +</TR>
    +
    +<TR>
    +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
    +&nbsp;PREV&nbsp;
    +&nbsp;NEXT</FONT></TD>
    +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
    +  <A HREF="../../../../../index.html?org/jacoco/core/analysis/class-use/IClassCoverage.html" target="_top"><B>FRAMES</B></A>  &nbsp;
    +&nbsp;<A HREF="IClassCoverage.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
    +&nbsp;<SCRIPT type="text/javascript">
    +  <!--
    +  if(window==top) {
    +    document.writeln('<A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>');
    +  }
    +  //-->
    +</SCRIPT>
    +<NOSCRIPT>
    +  <A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>
    +</NOSCRIPT>
    +
    +
    +</FONT></TD>
    +</TR>
    +</TABLE>
    +<A NAME="skip-navbar_bottom"></A>
    +<!-- ======== END OF BOTTOM NAVBAR ======= -->
    +
    +<HR>
    +Copyright &#169; 2009&#x2013;2024 Mountainminds GmbH & Co. KG. All rights reserved.
    +</BODY>
    +</HTML>
    diff --git a/jacoco/trunk/doc/api/org/jacoco/core/analysis/class-use/ICounter.CounterValue.html b/jacoco/trunk/doc/api/org/jacoco/core/analysis/class-use/ICounter.CounterValue.html
    new file mode 100644
    index 00000000000..f458bded1bd
    --- /dev/null
    +++ b/jacoco/trunk/doc/api/org/jacoco/core/analysis/class-use/ICounter.CounterValue.html
    @@ -0,0 +1,232 @@
    +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
    +<!--NewPage-->
    +<HTML>
    +<HEAD>
    +<!-- Generated by javadoc (build 1.5.0_22) on Wed Mar 27 16:45:42 UTC 2024 -->
    +<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
    +<TITLE>
    +Uses of Class org.jacoco.core.analysis.ICounter.CounterValue (JaCoCo 0.8.12.202403270442 API)
    +</TITLE>
    +
    +
    +<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../../stylesheet.css" TITLE="Style">
    +
    +<SCRIPT type="text/javascript">
    +function windowTitle()
    +{
    +    parent.document.title="Uses of Class org.jacoco.core.analysis.ICounter.CounterValue (JaCoCo 0.8.12.202403270442 API)";
    +}
    +</SCRIPT>
    +<NOSCRIPT>
    +</NOSCRIPT>
    +
    +</HEAD>
    +
    +<BODY BGCOLOR="white" onload="windowTitle();">
    +
    +
    +<!-- ========= START OF TOP NAVBAR ======= -->
    +<A NAME="navbar_top"><!-- --></A>
    +<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
    +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
    +<TR>
    +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
    +<A NAME="navbar_top_firstrow"><!-- --></A>
    +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
    +  <TR ALIGN="center" VALIGN="top">
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../org/jacoco/core/analysis/ICounter.CounterValue.html" title="enum in org.jacoco.core.analysis"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
    +  </TR>
    +</TABLE>
    +</TD>
    +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
    +</EM>
    +</TD>
    +</TR>
    +
    +<TR>
    +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
    +&nbsp;PREV&nbsp;
    +&nbsp;NEXT</FONT></TD>
    +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
    +  <A HREF="../../../../../index.html?org/jacoco/core/analysis/class-use/ICounter.CounterValue.html" target="_top"><B>FRAMES</B></A>  &nbsp;
    +&nbsp;<A HREF="ICounter.CounterValue.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
    +&nbsp;<SCRIPT type="text/javascript">
    +  <!--
    +  if(window==top) {
    +    document.writeln('<A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>');
    +  }
    +  //-->
    +</SCRIPT>
    +<NOSCRIPT>
    +  <A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>
    +</NOSCRIPT>
    +
    +
    +</FONT></TD>
    +</TR>
    +</TABLE>
    +<A NAME="skip-navbar_top"></A>
    +<!-- ========= END OF TOP NAVBAR ========= -->
    +
    +<HR>
    +<CENTER>
    +<H2>
    +<B>Uses of Class<br>org.jacoco.core.analysis.ICounter.CounterValue</B></H2>
    +</CENTER>
    +
    +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
    +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
    +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
    +Packages that use <A HREF="../../../../../org/jacoco/core/analysis/ICounter.CounterValue.html" title="enum in org.jacoco.core.analysis">ICounter.CounterValue</A></FONT></TH>
    +</TR>
    +<TR BGCOLOR="white" CLASS="TableRowColor">
    +<TD><A HREF="#org.jacoco.core.analysis"><B>org.jacoco.core.analysis</B></A></TD>
    +<TD>
    + Coverage calculation and analysis.&nbsp;</TD>
    +</TR>
    +<TR BGCOLOR="white" CLASS="TableRowColor">
    +<TD><A HREF="#org.jacoco.report.check"><B>org.jacoco.report.check</B></A></TD>
    +<TD>Rules check implementation.&nbsp;</TD>
    +</TR>
    +</TABLE>
    +&nbsp;
    +<P>
    +<A NAME="org.jacoco.core.analysis"><!-- --></A>
    +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
    +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
    +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
    +Uses of <A HREF="../../../../../org/jacoco/core/analysis/ICounter.CounterValue.html" title="enum in org.jacoco.core.analysis">ICounter.CounterValue</A> in <A HREF="../../../../../org/jacoco/core/analysis/package-summary.html">org.jacoco.core.analysis</A></FONT></TH>
    +</TR>
    +</TABLE>
    +&nbsp;
    +<P>
    +
    +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
    +<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor">
    +<TH ALIGN="left" COLSPAN="2">Methods in <A HREF="../../../../../org/jacoco/core/analysis/package-summary.html">org.jacoco.core.analysis</A> that return <A HREF="../../../../../org/jacoco/core/analysis/ICounter.CounterValue.html" title="enum in org.jacoco.core.analysis">ICounter.CounterValue</A></FONT></TH>
    +</TR>
    +<TR BGCOLOR="white" CLASS="TableRowColor">
    +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
    +<CODE>static&nbsp;<A HREF="../../../../../org/jacoco/core/analysis/ICounter.CounterValue.html" title="enum in org.jacoco.core.analysis">ICounter.CounterValue</A></CODE></FONT></TD>
    +<TD><CODE><B>ICounter.CounterValue.</B><B><A HREF="../../../../../org/jacoco/core/analysis/ICounter.CounterValue.html#valueOf(java.lang.String)">valueOf</A></B>(<A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A>&nbsp;name)</CODE>
    +
    +<BR>
    +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns the enum constant of this type with the specified name.</TD>
    +</TR>
    +<TR BGCOLOR="white" CLASS="TableRowColor">
    +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
    +<CODE>static&nbsp;<A HREF="../../../../../org/jacoco/core/analysis/ICounter.CounterValue.html" title="enum in org.jacoco.core.analysis">ICounter.CounterValue</A>[]</CODE></FONT></TD>
    +<TD><CODE><B>ICounter.CounterValue.</B><B><A HREF="../../../../../org/jacoco/core/analysis/ICounter.CounterValue.html#values()">values</A></B>()</CODE>
    +
    +<BR>
    +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns an array containing the constants of this enum type, in
    +the order they're declared.</TD>
    +</TR>
    +</TABLE>
    +&nbsp;
    +<P>
    +
    +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
    +<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor">
    +<TH ALIGN="left" COLSPAN="2">Methods in <A HREF="../../../../../org/jacoco/core/analysis/package-summary.html">org.jacoco.core.analysis</A> with parameters of type <A HREF="../../../../../org/jacoco/core/analysis/ICounter.CounterValue.html" title="enum in org.jacoco.core.analysis">ICounter.CounterValue</A></FONT></TH>
    +</TR>
    +<TR BGCOLOR="white" CLASS="TableRowColor">
    +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
    +<CODE>&nbsp;double</CODE></FONT></TD>
    +<TD><CODE><B>ICounter.</B><B><A HREF="../../../../../org/jacoco/core/analysis/ICounter.html#getValue(org.jacoco.core.analysis.ICounter.CounterValue)">getValue</A></B>(<A HREF="../../../../../org/jacoco/core/analysis/ICounter.CounterValue.html" title="enum in org.jacoco.core.analysis">ICounter.CounterValue</A>&nbsp;value)</CODE>
    +
    +<BR>
    +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns the counter value of the given type.</TD>
    +</TR>
    +</TABLE>
    +&nbsp;
    +<P>
    +<A NAME="org.jacoco.report.check"><!-- --></A>
    +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
    +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
    +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
    +Uses of <A HREF="../../../../../org/jacoco/core/analysis/ICounter.CounterValue.html" title="enum in org.jacoco.core.analysis">ICounter.CounterValue</A> in <A HREF="../../../../../org/jacoco/report/check/package-summary.html">org.jacoco.report.check</A></FONT></TH>
    +</TR>
    +</TABLE>
    +&nbsp;
    +<P>
    +
    +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
    +<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor">
    +<TH ALIGN="left" COLSPAN="2">Methods in <A HREF="../../../../../org/jacoco/report/check/package-summary.html">org.jacoco.report.check</A> that return <A HREF="../../../../../org/jacoco/core/analysis/ICounter.CounterValue.html" title="enum in org.jacoco.core.analysis">ICounter.CounterValue</A></FONT></TH>
    +</TR>
    +<TR BGCOLOR="white" CLASS="TableRowColor">
    +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
    +<CODE>&nbsp;<A HREF="../../../../../org/jacoco/core/analysis/ICounter.CounterValue.html" title="enum in org.jacoco.core.analysis">ICounter.CounterValue</A></CODE></FONT></TD>
    +<TD><CODE><B>Limit.</B><B><A HREF="../../../../../org/jacoco/report/check/Limit.html#getValue()">getValue</A></B>()</CODE>
    +
    +<BR>
    +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
    +</TR>
    +</TABLE>
    +&nbsp;
    +<P>
    +<HR>
    +
    +
    +<!-- ======= START OF BOTTOM NAVBAR ====== -->
    +<A NAME="navbar_bottom"><!-- --></A>
    +<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
    +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
    +<TR>
    +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
    +<A NAME="navbar_bottom_firstrow"><!-- --></A>
    +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
    +  <TR ALIGN="center" VALIGN="top">
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../org/jacoco/core/analysis/ICounter.CounterValue.html" title="enum in org.jacoco.core.analysis"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
    +  </TR>
    +</TABLE>
    +</TD>
    +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
    +</EM>
    +</TD>
    +</TR>
    +
    +<TR>
    +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
    +&nbsp;PREV&nbsp;
    +&nbsp;NEXT</FONT></TD>
    +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
    +  <A HREF="../../../../../index.html?org/jacoco/core/analysis/class-use/ICounter.CounterValue.html" target="_top"><B>FRAMES</B></A>  &nbsp;
    +&nbsp;<A HREF="ICounter.CounterValue.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
    +&nbsp;<SCRIPT type="text/javascript">
    +  <!--
    +  if(window==top) {
    +    document.writeln('<A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>');
    +  }
    +  //-->
    +</SCRIPT>
    +<NOSCRIPT>
    +  <A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>
    +</NOSCRIPT>
    +
    +
    +</FONT></TD>
    +</TR>
    +</TABLE>
    +<A NAME="skip-navbar_bottom"></A>
    +<!-- ======== END OF BOTTOM NAVBAR ======= -->
    +
    +<HR>
    +Copyright &#169; 2009&#x2013;2024 Mountainminds GmbH & Co. KG. All rights reserved.
    +</BODY>
    +</HTML>
    diff --git a/jacoco/trunk/doc/api/org/jacoco/core/analysis/class-use/ICounter.html b/jacoco/trunk/doc/api/org/jacoco/core/analysis/class-use/ICounter.html
    new file mode 100644
    index 00000000000..90538e1a4f4
    --- /dev/null
    +++ b/jacoco/trunk/doc/api/org/jacoco/core/analysis/class-use/ICounter.html
    @@ -0,0 +1,315 @@
    +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
    +<!--NewPage-->
    +<HTML>
    +<HEAD>
    +<!-- Generated by javadoc (build 1.5.0_22) on Wed Mar 27 16:45:42 UTC 2024 -->
    +<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
    +<TITLE>
    +Uses of Interface org.jacoco.core.analysis.ICounter (JaCoCo 0.8.12.202403270442 API)
    +</TITLE>
    +
    +
    +<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../../stylesheet.css" TITLE="Style">
    +
    +<SCRIPT type="text/javascript">
    +function windowTitle()
    +{
    +    parent.document.title="Uses of Interface org.jacoco.core.analysis.ICounter (JaCoCo 0.8.12.202403270442 API)";
    +}
    +</SCRIPT>
    +<NOSCRIPT>
    +</NOSCRIPT>
    +
    +</HEAD>
    +
    +<BODY BGCOLOR="white" onload="windowTitle();">
    +
    +
    +<!-- ========= START OF TOP NAVBAR ======= -->
    +<A NAME="navbar_top"><!-- --></A>
    +<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
    +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
    +<TR>
    +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
    +<A NAME="navbar_top_firstrow"><!-- --></A>
    +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
    +  <TR ALIGN="center" VALIGN="top">
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../org/jacoco/core/analysis/ICounter.html" title="interface in org.jacoco.core.analysis"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
    +  </TR>
    +</TABLE>
    +</TD>
    +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
    +</EM>
    +</TD>
    +</TR>
    +
    +<TR>
    +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
    +&nbsp;PREV&nbsp;
    +&nbsp;NEXT</FONT></TD>
    +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
    +  <A HREF="../../../../../index.html?org/jacoco/core/analysis/class-use/ICounter.html" target="_top"><B>FRAMES</B></A>  &nbsp;
    +&nbsp;<A HREF="ICounter.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
    +&nbsp;<SCRIPT type="text/javascript">
    +  <!--
    +  if(window==top) {
    +    document.writeln('<A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>');
    +  }
    +  //-->
    +</SCRIPT>
    +<NOSCRIPT>
    +  <A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>
    +</NOSCRIPT>
    +
    +
    +</FONT></TD>
    +</TR>
    +</TABLE>
    +<A NAME="skip-navbar_top"></A>
    +<!-- ========= END OF TOP NAVBAR ========= -->
    +
    +<HR>
    +<CENTER>
    +<H2>
    +<B>Uses of Interface<br>org.jacoco.core.analysis.ICounter</B></H2>
    +</CENTER>
    +
    +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
    +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
    +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
    +Packages that use <A HREF="../../../../../org/jacoco/core/analysis/ICounter.html" title="interface in org.jacoco.core.analysis">ICounter</A></FONT></TH>
    +</TR>
    +<TR BGCOLOR="white" CLASS="TableRowColor">
    +<TD><A HREF="#org.jacoco.core.analysis"><B>org.jacoco.core.analysis</B></A></TD>
    +<TD>
    + Coverage calculation and analysis.&nbsp;</TD>
    +</TR>
    +</TABLE>
    +&nbsp;
    +<P>
    +<A NAME="org.jacoco.core.analysis"><!-- --></A>
    +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
    +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
    +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
    +Uses of <A HREF="../../../../../org/jacoco/core/analysis/ICounter.html" title="interface in org.jacoco.core.analysis">ICounter</A> in <A HREF="../../../../../org/jacoco/core/analysis/package-summary.html">org.jacoco.core.analysis</A></FONT></TH>
    +</TR>
    +</TABLE>
    +&nbsp;
    +<P>
    +
    +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
    +<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor">
    +<TH ALIGN="left" COLSPAN="2">Methods in <A HREF="../../../../../org/jacoco/core/analysis/package-summary.html">org.jacoco.core.analysis</A> that return <A HREF="../../../../../org/jacoco/core/analysis/ICounter.html" title="interface in org.jacoco.core.analysis">ICounter</A></FONT></TH>
    +</TR>
    +<TR BGCOLOR="white" CLASS="TableRowColor">
    +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
    +<CODE>&nbsp;<A HREF="../../../../../org/jacoco/core/analysis/ICounter.html" title="interface in org.jacoco.core.analysis">ICounter</A></CODE></FONT></TD>
    +<TD><CODE><B>ILine.</B><B><A HREF="../../../../../org/jacoco/core/analysis/ILine.html#getBranchCounter()">getBranchCounter</A></B>()</CODE>
    +
    +<BR>
    +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns the branches counter for this line.</TD>
    +</TR>
    +<TR BGCOLOR="white" CLASS="TableRowColor">
    +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
    +<CODE>&nbsp;<A HREF="../../../../../org/jacoco/core/analysis/ICounter.html" title="interface in org.jacoco.core.analysis">ICounter</A></CODE></FONT></TD>
    +<TD><CODE><B>CoverageNodeImpl.</B><B><A HREF="../../../../../org/jacoco/core/analysis/CoverageNodeImpl.html#getBranchCounter()">getBranchCounter</A></B>()</CODE>
    +
    +<BR>
    +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
    +</TR>
    +<TR BGCOLOR="white" CLASS="TableRowColor">
    +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
    +<CODE>&nbsp;<A HREF="../../../../../org/jacoco/core/analysis/ICounter.html" title="interface in org.jacoco.core.analysis">ICounter</A></CODE></FONT></TD>
    +<TD><CODE><B>ICoverageNode.</B><B><A HREF="../../../../../org/jacoco/core/analysis/ICoverageNode.html#getBranchCounter()">getBranchCounter</A></B>()</CODE>
    +
    +<BR>
    +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns the counter for branches.</TD>
    +</TR>
    +<TR BGCOLOR="white" CLASS="TableRowColor">
    +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
    +<CODE>&nbsp;<A HREF="../../../../../org/jacoco/core/analysis/ICounter.html" title="interface in org.jacoco.core.analysis">ICounter</A></CODE></FONT></TD>
    +<TD><CODE><B>CoverageNodeImpl.</B><B><A HREF="../../../../../org/jacoco/core/analysis/CoverageNodeImpl.html#getClassCounter()">getClassCounter</A></B>()</CODE>
    +
    +<BR>
    +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
    +</TR>
    +<TR BGCOLOR="white" CLASS="TableRowColor">
    +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
    +<CODE>&nbsp;<A HREF="../../../../../org/jacoco/core/analysis/ICounter.html" title="interface in org.jacoco.core.analysis">ICounter</A></CODE></FONT></TD>
    +<TD><CODE><B>ICoverageNode.</B><B><A HREF="../../../../../org/jacoco/core/analysis/ICoverageNode.html#getClassCounter()">getClassCounter</A></B>()</CODE>
    +
    +<BR>
    +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns the counter for classes.</TD>
    +</TR>
    +<TR BGCOLOR="white" CLASS="TableRowColor">
    +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
    +<CODE>&nbsp;<A HREF="../../../../../org/jacoco/core/analysis/ICounter.html" title="interface in org.jacoco.core.analysis">ICounter</A></CODE></FONT></TD>
    +<TD><CODE><B>CoverageNodeImpl.</B><B><A HREF="../../../../../org/jacoco/core/analysis/CoverageNodeImpl.html#getComplexityCounter()">getComplexityCounter</A></B>()</CODE>
    +
    +<BR>
    +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
    +</TR>
    +<TR BGCOLOR="white" CLASS="TableRowColor">
    +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
    +<CODE>&nbsp;<A HREF="../../../../../org/jacoco/core/analysis/ICounter.html" title="interface in org.jacoco.core.analysis">ICounter</A></CODE></FONT></TD>
    +<TD><CODE><B>ICoverageNode.</B><B><A HREF="../../../../../org/jacoco/core/analysis/ICoverageNode.html#getComplexityCounter()">getComplexityCounter</A></B>()</CODE>
    +
    +<BR>
    +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns the counter for cyclomatic complexity.</TD>
    +</TR>
    +<TR BGCOLOR="white" CLASS="TableRowColor">
    +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
    +<CODE>&nbsp;<A HREF="../../../../../org/jacoco/core/analysis/ICounter.html" title="interface in org.jacoco.core.analysis">ICounter</A></CODE></FONT></TD>
    +<TD><CODE><B>CoverageNodeImpl.</B><B><A HREF="../../../../../org/jacoco/core/analysis/CoverageNodeImpl.html#getCounter(org.jacoco.core.analysis.ICoverageNode.CounterEntity)">getCounter</A></B>(<A HREF="../../../../../org/jacoco/core/analysis/ICoverageNode.CounterEntity.html" title="enum in org.jacoco.core.analysis">ICoverageNode.CounterEntity</A>&nbsp;entity)</CODE>
    +
    +<BR>
    +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
    +</TR>
    +<TR BGCOLOR="white" CLASS="TableRowColor">
    +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
    +<CODE>&nbsp;<A HREF="../../../../../org/jacoco/core/analysis/ICounter.html" title="interface in org.jacoco.core.analysis">ICounter</A></CODE></FONT></TD>
    +<TD><CODE><B>ICoverageNode.</B><B><A HREF="../../../../../org/jacoco/core/analysis/ICoverageNode.html#getCounter(org.jacoco.core.analysis.ICoverageNode.CounterEntity)">getCounter</A></B>(<A HREF="../../../../../org/jacoco/core/analysis/ICoverageNode.CounterEntity.html" title="enum in org.jacoco.core.analysis">ICoverageNode.CounterEntity</A>&nbsp;entity)</CODE>
    +
    +<BR>
    +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Generic access to the counters.</TD>
    +</TR>
    +<TR BGCOLOR="white" CLASS="TableRowColor">
    +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
    +<CODE>&nbsp;<A HREF="../../../../../org/jacoco/core/analysis/ICounter.html" title="interface in org.jacoco.core.analysis">ICounter</A></CODE></FONT></TD>
    +<TD><CODE><B>ILine.</B><B><A HREF="../../../../../org/jacoco/core/analysis/ILine.html#getInstructionCounter()">getInstructionCounter</A></B>()</CODE>
    +
    +<BR>
    +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns the instruction counter for this line.</TD>
    +</TR>
    +<TR BGCOLOR="white" CLASS="TableRowColor">
    +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
    +<CODE>&nbsp;<A HREF="../../../../../org/jacoco/core/analysis/ICounter.html" title="interface in org.jacoco.core.analysis">ICounter</A></CODE></FONT></TD>
    +<TD><CODE><B>CoverageNodeImpl.</B><B><A HREF="../../../../../org/jacoco/core/analysis/CoverageNodeImpl.html#getInstructionCounter()">getInstructionCounter</A></B>()</CODE>
    +
    +<BR>
    +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
    +</TR>
    +<TR BGCOLOR="white" CLASS="TableRowColor">
    +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
    +<CODE>&nbsp;<A HREF="../../../../../org/jacoco/core/analysis/ICounter.html" title="interface in org.jacoco.core.analysis">ICounter</A></CODE></FONT></TD>
    +<TD><CODE><B>ICoverageNode.</B><B><A HREF="../../../../../org/jacoco/core/analysis/ICoverageNode.html#getInstructionCounter()">getInstructionCounter</A></B>()</CODE>
    +
    +<BR>
    +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns the counter for byte code instructions.</TD>
    +</TR>
    +<TR BGCOLOR="white" CLASS="TableRowColor">
    +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
    +<CODE>&nbsp;<A HREF="../../../../../org/jacoco/core/analysis/ICounter.html" title="interface in org.jacoco.core.analysis">ICounter</A></CODE></FONT></TD>
    +<TD><CODE><B>CoverageNodeImpl.</B><B><A HREF="../../../../../org/jacoco/core/analysis/CoverageNodeImpl.html#getLineCounter()">getLineCounter</A></B>()</CODE>
    +
    +<BR>
    +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
    +</TR>
    +<TR BGCOLOR="white" CLASS="TableRowColor">
    +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
    +<CODE>&nbsp;<A HREF="../../../../../org/jacoco/core/analysis/ICounter.html" title="interface in org.jacoco.core.analysis">ICounter</A></CODE></FONT></TD>
    +<TD><CODE><B>ICoverageNode.</B><B><A HREF="../../../../../org/jacoco/core/analysis/ICoverageNode.html#getLineCounter()">getLineCounter</A></B>()</CODE>
    +
    +<BR>
    +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns the counter for lines.</TD>
    +</TR>
    +<TR BGCOLOR="white" CLASS="TableRowColor">
    +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
    +<CODE>&nbsp;<A HREF="../../../../../org/jacoco/core/analysis/ICounter.html" title="interface in org.jacoco.core.analysis">ICounter</A></CODE></FONT></TD>
    +<TD><CODE><B>CoverageNodeImpl.</B><B><A HREF="../../../../../org/jacoco/core/analysis/CoverageNodeImpl.html#getMethodCounter()">getMethodCounter</A></B>()</CODE>
    +
    +<BR>
    +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
    +</TR>
    +<TR BGCOLOR="white" CLASS="TableRowColor">
    +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
    +<CODE>&nbsp;<A HREF="../../../../../org/jacoco/core/analysis/ICounter.html" title="interface in org.jacoco.core.analysis">ICounter</A></CODE></FONT></TD>
    +<TD><CODE><B>ICoverageNode.</B><B><A HREF="../../../../../org/jacoco/core/analysis/ICoverageNode.html#getMethodCounter()">getMethodCounter</A></B>()</CODE>
    +
    +<BR>
    +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns the counter for methods.</TD>
    +</TR>
    +</TABLE>
    +&nbsp;
    +<P>
    +
    +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
    +<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor">
    +<TH ALIGN="left" COLSPAN="2">Methods in <A HREF="../../../../../org/jacoco/core/analysis/package-summary.html">org.jacoco.core.analysis</A> with parameters of type <A HREF="../../../../../org/jacoco/core/analysis/ICounter.html" title="interface in org.jacoco.core.analysis">ICounter</A></FONT></TH>
    +</TR>
    +<TR BGCOLOR="white" CLASS="TableRowColor">
    +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
    +<CODE>&nbsp;int</CODE></FONT></TD>
    +<TD><CODE><B>CounterComparator.</B><B><A HREF="../../../../../org/jacoco/core/analysis/CounterComparator.html#compare(org.jacoco.core.analysis.ICounter, org.jacoco.core.analysis.ICounter)">compare</A></B>(<A HREF="../../../../../org/jacoco/core/analysis/ICounter.html" title="interface in org.jacoco.core.analysis">ICounter</A>&nbsp;c1,
    +        <A HREF="../../../../../org/jacoco/core/analysis/ICounter.html" title="interface in org.jacoco.core.analysis">ICounter</A>&nbsp;c2)</CODE>
    +
    +<BR>
    +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
    +</TR>
    +</TABLE>
    +&nbsp;
    +<P>
    +<HR>
    +
    +
    +<!-- ======= START OF BOTTOM NAVBAR ====== -->
    +<A NAME="navbar_bottom"><!-- --></A>
    +<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
    +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
    +<TR>
    +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
    +<A NAME="navbar_bottom_firstrow"><!-- --></A>
    +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
    +  <TR ALIGN="center" VALIGN="top">
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../org/jacoco/core/analysis/ICounter.html" title="interface in org.jacoco.core.analysis"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
    +  </TR>
    +</TABLE>
    +</TD>
    +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
    +</EM>
    +</TD>
    +</TR>
    +
    +<TR>
    +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
    +&nbsp;PREV&nbsp;
    +&nbsp;NEXT</FONT></TD>
    +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
    +  <A HREF="../../../../../index.html?org/jacoco/core/analysis/class-use/ICounter.html" target="_top"><B>FRAMES</B></A>  &nbsp;
    +&nbsp;<A HREF="ICounter.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
    +&nbsp;<SCRIPT type="text/javascript">
    +  <!--
    +  if(window==top) {
    +    document.writeln('<A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>');
    +  }
    +  //-->
    +</SCRIPT>
    +<NOSCRIPT>
    +  <A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>
    +</NOSCRIPT>
    +
    +
    +</FONT></TD>
    +</TR>
    +</TABLE>
    +<A NAME="skip-navbar_bottom"></A>
    +<!-- ======== END OF BOTTOM NAVBAR ======= -->
    +
    +<HR>
    +Copyright &#169; 2009&#x2013;2024 Mountainminds GmbH & Co. KG. All rights reserved.
    +</BODY>
    +</HTML>
    diff --git a/jacoco/trunk/doc/api/org/jacoco/core/analysis/class-use/ICoverageNode.CounterEntity.html b/jacoco/trunk/doc/api/org/jacoco/core/analysis/class-use/ICoverageNode.CounterEntity.html
    new file mode 100644
    index 00000000000..22c198947f3
    --- /dev/null
    +++ b/jacoco/trunk/doc/api/org/jacoco/core/analysis/class-use/ICoverageNode.CounterEntity.html
    @@ -0,0 +1,249 @@
    +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
    +<!--NewPage-->
    +<HTML>
    +<HEAD>
    +<!-- Generated by javadoc (build 1.5.0_22) on Wed Mar 27 16:45:42 UTC 2024 -->
    +<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
    +<TITLE>
    +Uses of Class org.jacoco.core.analysis.ICoverageNode.CounterEntity (JaCoCo 0.8.12.202403270442 API)
    +</TITLE>
    +
    +
    +<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../../stylesheet.css" TITLE="Style">
    +
    +<SCRIPT type="text/javascript">
    +function windowTitle()
    +{
    +    parent.document.title="Uses of Class org.jacoco.core.analysis.ICoverageNode.CounterEntity (JaCoCo 0.8.12.202403270442 API)";
    +}
    +</SCRIPT>
    +<NOSCRIPT>
    +</NOSCRIPT>
    +
    +</HEAD>
    +
    +<BODY BGCOLOR="white" onload="windowTitle();">
    +
    +
    +<!-- ========= START OF TOP NAVBAR ======= -->
    +<A NAME="navbar_top"><!-- --></A>
    +<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
    +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
    +<TR>
    +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
    +<A NAME="navbar_top_firstrow"><!-- --></A>
    +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
    +  <TR ALIGN="center" VALIGN="top">
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../org/jacoco/core/analysis/ICoverageNode.CounterEntity.html" title="enum in org.jacoco.core.analysis"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
    +  </TR>
    +</TABLE>
    +</TD>
    +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
    +</EM>
    +</TD>
    +</TR>
    +
    +<TR>
    +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
    +&nbsp;PREV&nbsp;
    +&nbsp;NEXT</FONT></TD>
    +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
    +  <A HREF="../../../../../index.html?org/jacoco/core/analysis/class-use/ICoverageNode.CounterEntity.html" target="_top"><B>FRAMES</B></A>  &nbsp;
    +&nbsp;<A HREF="ICoverageNode.CounterEntity.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
    +&nbsp;<SCRIPT type="text/javascript">
    +  <!--
    +  if(window==top) {
    +    document.writeln('<A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>');
    +  }
    +  //-->
    +</SCRIPT>
    +<NOSCRIPT>
    +  <A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>
    +</NOSCRIPT>
    +
    +
    +</FONT></TD>
    +</TR>
    +</TABLE>
    +<A NAME="skip-navbar_top"></A>
    +<!-- ========= END OF TOP NAVBAR ========= -->
    +
    +<HR>
    +<CENTER>
    +<H2>
    +<B>Uses of Class<br>org.jacoco.core.analysis.ICoverageNode.CounterEntity</B></H2>
    +</CENTER>
    +
    +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
    +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
    +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
    +Packages that use <A HREF="../../../../../org/jacoco/core/analysis/ICoverageNode.CounterEntity.html" title="enum in org.jacoco.core.analysis">ICoverageNode.CounterEntity</A></FONT></TH>
    +</TR>
    +<TR BGCOLOR="white" CLASS="TableRowColor">
    +<TD><A HREF="#org.jacoco.core.analysis"><B>org.jacoco.core.analysis</B></A></TD>
    +<TD>
    + Coverage calculation and analysis.&nbsp;</TD>
    +</TR>
    +<TR BGCOLOR="white" CLASS="TableRowColor">
    +<TD><A HREF="#org.jacoco.report.check"><B>org.jacoco.report.check</B></A></TD>
    +<TD>Rules check implementation.&nbsp;</TD>
    +</TR>
    +</TABLE>
    +&nbsp;
    +<P>
    +<A NAME="org.jacoco.core.analysis"><!-- --></A>
    +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
    +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
    +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
    +Uses of <A HREF="../../../../../org/jacoco/core/analysis/ICoverageNode.CounterEntity.html" title="enum in org.jacoco.core.analysis">ICoverageNode.CounterEntity</A> in <A HREF="../../../../../org/jacoco/core/analysis/package-summary.html">org.jacoco.core.analysis</A></FONT></TH>
    +</TR>
    +</TABLE>
    +&nbsp;
    +<P>
    +
    +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
    +<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor">
    +<TH ALIGN="left" COLSPAN="2">Methods in <A HREF="../../../../../org/jacoco/core/analysis/package-summary.html">org.jacoco.core.analysis</A> that return <A HREF="../../../../../org/jacoco/core/analysis/ICoverageNode.CounterEntity.html" title="enum in org.jacoco.core.analysis">ICoverageNode.CounterEntity</A></FONT></TH>
    +</TR>
    +<TR BGCOLOR="white" CLASS="TableRowColor">
    +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
    +<CODE>static&nbsp;<A HREF="../../../../../org/jacoco/core/analysis/ICoverageNode.CounterEntity.html" title="enum in org.jacoco.core.analysis">ICoverageNode.CounterEntity</A></CODE></FONT></TD>
    +<TD><CODE><B>ICoverageNode.CounterEntity.</B><B><A HREF="../../../../../org/jacoco/core/analysis/ICoverageNode.CounterEntity.html#valueOf(java.lang.String)">valueOf</A></B>(<A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A>&nbsp;name)</CODE>
    +
    +<BR>
    +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns the enum constant of this type with the specified name.</TD>
    +</TR>
    +<TR BGCOLOR="white" CLASS="TableRowColor">
    +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
    +<CODE>static&nbsp;<A HREF="../../../../../org/jacoco/core/analysis/ICoverageNode.CounterEntity.html" title="enum in org.jacoco.core.analysis">ICoverageNode.CounterEntity</A>[]</CODE></FONT></TD>
    +<TD><CODE><B>ICoverageNode.CounterEntity.</B><B><A HREF="../../../../../org/jacoco/core/analysis/ICoverageNode.CounterEntity.html#values()">values</A></B>()</CODE>
    +
    +<BR>
    +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns an array containing the constants of this enum type, in
    +the order they're declared.</TD>
    +</TR>
    +</TABLE>
    +&nbsp;
    +<P>
    +
    +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
    +<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor">
    +<TH ALIGN="left" COLSPAN="2">Methods in <A HREF="../../../../../org/jacoco/core/analysis/package-summary.html">org.jacoco.core.analysis</A> with parameters of type <A HREF="../../../../../org/jacoco/core/analysis/ICoverageNode.CounterEntity.html" title="enum in org.jacoco.core.analysis">ICoverageNode.CounterEntity</A></FONT></TH>
    +</TR>
    +<TR BGCOLOR="white" CLASS="TableRowColor">
    +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
    +<CODE>&nbsp;<A HREF="../../../../../org/jacoco/core/analysis/ICounter.html" title="interface in org.jacoco.core.analysis">ICounter</A></CODE></FONT></TD>
    +<TD><CODE><B>CoverageNodeImpl.</B><B><A HREF="../../../../../org/jacoco/core/analysis/CoverageNodeImpl.html#getCounter(org.jacoco.core.analysis.ICoverageNode.CounterEntity)">getCounter</A></B>(<A HREF="../../../../../org/jacoco/core/analysis/ICoverageNode.CounterEntity.html" title="enum in org.jacoco.core.analysis">ICoverageNode.CounterEntity</A>&nbsp;entity)</CODE>
    +
    +<BR>
    +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
    +</TR>
    +<TR BGCOLOR="white" CLASS="TableRowColor">
    +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
    +<CODE>&nbsp;<A HREF="../../../../../org/jacoco/core/analysis/ICounter.html" title="interface in org.jacoco.core.analysis">ICounter</A></CODE></FONT></TD>
    +<TD><CODE><B>ICoverageNode.</B><B><A HREF="../../../../../org/jacoco/core/analysis/ICoverageNode.html#getCounter(org.jacoco.core.analysis.ICoverageNode.CounterEntity)">getCounter</A></B>(<A HREF="../../../../../org/jacoco/core/analysis/ICoverageNode.CounterEntity.html" title="enum in org.jacoco.core.analysis">ICoverageNode.CounterEntity</A>&nbsp;entity)</CODE>
    +
    +<BR>
    +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Generic access to the counters.</TD>
    +</TR>
    +<TR BGCOLOR="white" CLASS="TableRowColor">
    +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
    +<CODE>&nbsp;<A HREF="../../../../../org/jacoco/core/analysis/NodeComparator.html" title="class in org.jacoco.core.analysis">NodeComparator</A></CODE></FONT></TD>
    +<TD><CODE><B>CounterComparator.</B><B><A HREF="../../../../../org/jacoco/core/analysis/CounterComparator.html#on(org.jacoco.core.analysis.ICoverageNode.CounterEntity)">on</A></B>(<A HREF="../../../../../org/jacoco/core/analysis/ICoverageNode.CounterEntity.html" title="enum in org.jacoco.core.analysis">ICoverageNode.CounterEntity</A>&nbsp;entity)</CODE>
    +
    +<BR>
    +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Creates a new comparator for <A HREF="../../../../../org/jacoco/core/analysis/ICoverageNode.html" title="interface in org.jacoco.core.analysis"><CODE>ICoverageNode</CODE></A> counters of the given
    + entity based on this counter sorting criteria.</TD>
    +</TR>
    +</TABLE>
    +&nbsp;
    +<P>
    +<A NAME="org.jacoco.report.check"><!-- --></A>
    +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
    +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
    +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
    +Uses of <A HREF="../../../../../org/jacoco/core/analysis/ICoverageNode.CounterEntity.html" title="enum in org.jacoco.core.analysis">ICoverageNode.CounterEntity</A> in <A HREF="../../../../../org/jacoco/report/check/package-summary.html">org.jacoco.report.check</A></FONT></TH>
    +</TR>
    +</TABLE>
    +&nbsp;
    +<P>
    +
    +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
    +<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor">
    +<TH ALIGN="left" COLSPAN="2">Methods in <A HREF="../../../../../org/jacoco/report/check/package-summary.html">org.jacoco.report.check</A> that return <A HREF="../../../../../org/jacoco/core/analysis/ICoverageNode.CounterEntity.html" title="enum in org.jacoco.core.analysis">ICoverageNode.CounterEntity</A></FONT></TH>
    +</TR>
    +<TR BGCOLOR="white" CLASS="TableRowColor">
    +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
    +<CODE>&nbsp;<A HREF="../../../../../org/jacoco/core/analysis/ICoverageNode.CounterEntity.html" title="enum in org.jacoco.core.analysis">ICoverageNode.CounterEntity</A></CODE></FONT></TD>
    +<TD><CODE><B>Limit.</B><B><A HREF="../../../../../org/jacoco/report/check/Limit.html#getEntity()">getEntity</A></B>()</CODE>
    +
    +<BR>
    +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
    +</TR>
    +</TABLE>
    +&nbsp;
    +<P>
    +<HR>
    +
    +
    +<!-- ======= START OF BOTTOM NAVBAR ====== -->
    +<A NAME="navbar_bottom"><!-- --></A>
    +<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
    +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
    +<TR>
    +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
    +<A NAME="navbar_bottom_firstrow"><!-- --></A>
    +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
    +  <TR ALIGN="center" VALIGN="top">
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../org/jacoco/core/analysis/ICoverageNode.CounterEntity.html" title="enum in org.jacoco.core.analysis"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
    +  </TR>
    +</TABLE>
    +</TD>
    +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
    +</EM>
    +</TD>
    +</TR>
    +
    +<TR>
    +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
    +&nbsp;PREV&nbsp;
    +&nbsp;NEXT</FONT></TD>
    +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
    +  <A HREF="../../../../../index.html?org/jacoco/core/analysis/class-use/ICoverageNode.CounterEntity.html" target="_top"><B>FRAMES</B></A>  &nbsp;
    +&nbsp;<A HREF="ICoverageNode.CounterEntity.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
    +&nbsp;<SCRIPT type="text/javascript">
    +  <!--
    +  if(window==top) {
    +    document.writeln('<A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>');
    +  }
    +  //-->
    +</SCRIPT>
    +<NOSCRIPT>
    +  <A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>
    +</NOSCRIPT>
    +
    +
    +</FONT></TD>
    +</TR>
    +</TABLE>
    +<A NAME="skip-navbar_bottom"></A>
    +<!-- ======== END OF BOTTOM NAVBAR ======= -->
    +
    +<HR>
    +Copyright &#169; 2009&#x2013;2024 Mountainminds GmbH & Co. KG. All rights reserved.
    +</BODY>
    +</HTML>
    diff --git a/jacoco/trunk/doc/api/org/jacoco/core/analysis/class-use/ICoverageNode.ElementType.html b/jacoco/trunk/doc/api/org/jacoco/core/analysis/class-use/ICoverageNode.ElementType.html
    new file mode 100644
    index 00000000000..6585c61dfe1
    --- /dev/null
    +++ b/jacoco/trunk/doc/api/org/jacoco/core/analysis/class-use/ICoverageNode.ElementType.html
    @@ -0,0 +1,263 @@
    +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
    +<!--NewPage-->
    +<HTML>
    +<HEAD>
    +<!-- Generated by javadoc (build 1.5.0_22) on Wed Mar 27 16:45:42 UTC 2024 -->
    +<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
    +<TITLE>
    +Uses of Class org.jacoco.core.analysis.ICoverageNode.ElementType (JaCoCo 0.8.12.202403270442 API)
    +</TITLE>
    +
    +
    +<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../../stylesheet.css" TITLE="Style">
    +
    +<SCRIPT type="text/javascript">
    +function windowTitle()
    +{
    +    parent.document.title="Uses of Class org.jacoco.core.analysis.ICoverageNode.ElementType (JaCoCo 0.8.12.202403270442 API)";
    +}
    +</SCRIPT>
    +<NOSCRIPT>
    +</NOSCRIPT>
    +
    +</HEAD>
    +
    +<BODY BGCOLOR="white" onload="windowTitle();">
    +
    +
    +<!-- ========= START OF TOP NAVBAR ======= -->
    +<A NAME="navbar_top"><!-- --></A>
    +<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
    +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
    +<TR>
    +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
    +<A NAME="navbar_top_firstrow"><!-- --></A>
    +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
    +  <TR ALIGN="center" VALIGN="top">
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../org/jacoco/core/analysis/ICoverageNode.ElementType.html" title="enum in org.jacoco.core.analysis"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
    +  </TR>
    +</TABLE>
    +</TD>
    +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
    +</EM>
    +</TD>
    +</TR>
    +
    +<TR>
    +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
    +&nbsp;PREV&nbsp;
    +&nbsp;NEXT</FONT></TD>
    +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
    +  <A HREF="../../../../../index.html?org/jacoco/core/analysis/class-use/ICoverageNode.ElementType.html" target="_top"><B>FRAMES</B></A>  &nbsp;
    +&nbsp;<A HREF="ICoverageNode.ElementType.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
    +&nbsp;<SCRIPT type="text/javascript">
    +  <!--
    +  if(window==top) {
    +    document.writeln('<A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>');
    +  }
    +  //-->
    +</SCRIPT>
    +<NOSCRIPT>
    +  <A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>
    +</NOSCRIPT>
    +
    +
    +</FONT></TD>
    +</TR>
    +</TABLE>
    +<A NAME="skip-navbar_top"></A>
    +<!-- ========= END OF TOP NAVBAR ========= -->
    +
    +<HR>
    +<CENTER>
    +<H2>
    +<B>Uses of Class<br>org.jacoco.core.analysis.ICoverageNode.ElementType</B></H2>
    +</CENTER>
    +
    +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
    +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
    +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
    +Packages that use <A HREF="../../../../../org/jacoco/core/analysis/ICoverageNode.ElementType.html" title="enum in org.jacoco.core.analysis">ICoverageNode.ElementType</A></FONT></TH>
    +</TR>
    +<TR BGCOLOR="white" CLASS="TableRowColor">
    +<TD><A HREF="#org.jacoco.core.analysis"><B>org.jacoco.core.analysis</B></A></TD>
    +<TD>
    + Coverage calculation and analysis.&nbsp;</TD>
    +</TR>
    +<TR BGCOLOR="white" CLASS="TableRowColor">
    +<TD><A HREF="#org.jacoco.report.check"><B>org.jacoco.report.check</B></A></TD>
    +<TD>Rules check implementation.&nbsp;</TD>
    +</TR>
    +</TABLE>
    +&nbsp;
    +<P>
    +<A NAME="org.jacoco.core.analysis"><!-- --></A>
    +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
    +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
    +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
    +Uses of <A HREF="../../../../../org/jacoco/core/analysis/ICoverageNode.ElementType.html" title="enum in org.jacoco.core.analysis">ICoverageNode.ElementType</A> in <A HREF="../../../../../org/jacoco/core/analysis/package-summary.html">org.jacoco.core.analysis</A></FONT></TH>
    +</TR>
    +</TABLE>
    +&nbsp;
    +<P>
    +
    +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
    +<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor">
    +<TH ALIGN="left" COLSPAN="2">Methods in <A HREF="../../../../../org/jacoco/core/analysis/package-summary.html">org.jacoco.core.analysis</A> that return <A HREF="../../../../../org/jacoco/core/analysis/ICoverageNode.ElementType.html" title="enum in org.jacoco.core.analysis">ICoverageNode.ElementType</A></FONT></TH>
    +</TR>
    +<TR BGCOLOR="white" CLASS="TableRowColor">
    +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
    +<CODE>&nbsp;<A HREF="../../../../../org/jacoco/core/analysis/ICoverageNode.ElementType.html" title="enum in org.jacoco.core.analysis">ICoverageNode.ElementType</A></CODE></FONT></TD>
    +<TD><CODE><B>CoverageNodeImpl.</B><B><A HREF="../../../../../org/jacoco/core/analysis/CoverageNodeImpl.html#getElementType()">getElementType</A></B>()</CODE>
    +
    +<BR>
    +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
    +</TR>
    +<TR BGCOLOR="white" CLASS="TableRowColor">
    +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
    +<CODE>&nbsp;<A HREF="../../../../../org/jacoco/core/analysis/ICoverageNode.ElementType.html" title="enum in org.jacoco.core.analysis">ICoverageNode.ElementType</A></CODE></FONT></TD>
    +<TD><CODE><B>ICoverageNode.</B><B><A HREF="../../../../../org/jacoco/core/analysis/ICoverageNode.html#getElementType()">getElementType</A></B>()</CODE>
    +
    +<BR>
    +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns the type of element represented by this node.</TD>
    +</TR>
    +<TR BGCOLOR="white" CLASS="TableRowColor">
    +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
    +<CODE>static&nbsp;<A HREF="../../../../../org/jacoco/core/analysis/ICoverageNode.ElementType.html" title="enum in org.jacoco.core.analysis">ICoverageNode.ElementType</A></CODE></FONT></TD>
    +<TD><CODE><B>ICoverageNode.ElementType.</B><B><A HREF="../../../../../org/jacoco/core/analysis/ICoverageNode.ElementType.html#valueOf(java.lang.String)">valueOf</A></B>(<A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A>&nbsp;name)</CODE>
    +
    +<BR>
    +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns the enum constant of this type with the specified name.</TD>
    +</TR>
    +<TR BGCOLOR="white" CLASS="TableRowColor">
    +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
    +<CODE>static&nbsp;<A HREF="../../../../../org/jacoco/core/analysis/ICoverageNode.ElementType.html" title="enum in org.jacoco.core.analysis">ICoverageNode.ElementType</A>[]</CODE></FONT></TD>
    +<TD><CODE><B>ICoverageNode.ElementType.</B><B><A HREF="../../../../../org/jacoco/core/analysis/ICoverageNode.ElementType.html#values()">values</A></B>()</CODE>
    +
    +<BR>
    +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns an array containing the constants of this enum type, in
    +the order they're declared.</TD>
    +</TR>
    +</TABLE>
    +&nbsp;
    +<P>
    +
    +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
    +<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor">
    +<TH ALIGN="left" COLSPAN="2">Constructors in <A HREF="../../../../../org/jacoco/core/analysis/package-summary.html">org.jacoco.core.analysis</A> with parameters of type <A HREF="../../../../../org/jacoco/core/analysis/ICoverageNode.ElementType.html" title="enum in org.jacoco.core.analysis">ICoverageNode.ElementType</A></FONT></TH>
    +</TR>
    +<TR BGCOLOR="white" CLASS="TableRowColor">
    +<TD><CODE><B><A HREF="../../../../../org/jacoco/core/analysis/CoverageNodeImpl.html#CoverageNodeImpl(org.jacoco.core.analysis.ICoverageNode.ElementType, java.lang.String)">CoverageNodeImpl</A></B>(<A HREF="../../../../../org/jacoco/core/analysis/ICoverageNode.ElementType.html" title="enum in org.jacoco.core.analysis">ICoverageNode.ElementType</A>&nbsp;elementType,
    +                 <A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A>&nbsp;name)</CODE>
    +
    +<BR>
    +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Creates a new coverage data node.</TD>
    +</TR>
    +</TABLE>
    +&nbsp;
    +<P>
    +<A NAME="org.jacoco.report.check"><!-- --></A>
    +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
    +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
    +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
    +Uses of <A HREF="../../../../../org/jacoco/core/analysis/ICoverageNode.ElementType.html" title="enum in org.jacoco.core.analysis">ICoverageNode.ElementType</A> in <A HREF="../../../../../org/jacoco/report/check/package-summary.html">org.jacoco.report.check</A></FONT></TH>
    +</TR>
    +</TABLE>
    +&nbsp;
    +<P>
    +
    +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
    +<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor">
    +<TH ALIGN="left" COLSPAN="2">Methods in <A HREF="../../../../../org/jacoco/report/check/package-summary.html">org.jacoco.report.check</A> that return <A HREF="../../../../../org/jacoco/core/analysis/ICoverageNode.ElementType.html" title="enum in org.jacoco.core.analysis">ICoverageNode.ElementType</A></FONT></TH>
    +</TR>
    +<TR BGCOLOR="white" CLASS="TableRowColor">
    +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
    +<CODE>&nbsp;<A HREF="../../../../../org/jacoco/core/analysis/ICoverageNode.ElementType.html" title="enum in org.jacoco.core.analysis">ICoverageNode.ElementType</A></CODE></FONT></TD>
    +<TD><CODE><B>Rule.</B><B><A HREF="../../../../../org/jacoco/report/check/Rule.html#getElement()">getElement</A></B>()</CODE>
    +
    +<BR>
    +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
    +</TR>
    +</TABLE>
    +&nbsp;
    +<P>
    +
    +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
    +<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor">
    +<TH ALIGN="left" COLSPAN="2">Methods in <A HREF="../../../../../org/jacoco/report/check/package-summary.html">org.jacoco.report.check</A> with parameters of type <A HREF="../../../../../org/jacoco/core/analysis/ICoverageNode.ElementType.html" title="enum in org.jacoco.core.analysis">ICoverageNode.ElementType</A></FONT></TH>
    +</TR>
    +<TR BGCOLOR="white" CLASS="TableRowColor">
    +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
    +<CODE>&nbsp;void</CODE></FONT></TD>
    +<TD><CODE><B>Rule.</B><B><A HREF="../../../../../org/jacoco/report/check/Rule.html#setElement(org.jacoco.core.analysis.ICoverageNode.ElementType)">setElement</A></B>(<A HREF="../../../../../org/jacoco/core/analysis/ICoverageNode.ElementType.html" title="enum in org.jacoco.core.analysis">ICoverageNode.ElementType</A>&nbsp;elementType)</CODE>
    +
    +<BR>
    +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
    +</TR>
    +</TABLE>
    +&nbsp;
    +<P>
    +<HR>
    +
    +
    +<!-- ======= START OF BOTTOM NAVBAR ====== -->
    +<A NAME="navbar_bottom"><!-- --></A>
    +<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
    +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
    +<TR>
    +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
    +<A NAME="navbar_bottom_firstrow"><!-- --></A>
    +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
    +  <TR ALIGN="center" VALIGN="top">
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../org/jacoco/core/analysis/ICoverageNode.ElementType.html" title="enum in org.jacoco.core.analysis"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
    +  </TR>
    +</TABLE>
    +</TD>
    +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
    +</EM>
    +</TD>
    +</TR>
    +
    +<TR>
    +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
    +&nbsp;PREV&nbsp;
    +&nbsp;NEXT</FONT></TD>
    +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
    +  <A HREF="../../../../../index.html?org/jacoco/core/analysis/class-use/ICoverageNode.ElementType.html" target="_top"><B>FRAMES</B></A>  &nbsp;
    +&nbsp;<A HREF="ICoverageNode.ElementType.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
    +&nbsp;<SCRIPT type="text/javascript">
    +  <!--
    +  if(window==top) {
    +    document.writeln('<A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>');
    +  }
    +  //-->
    +</SCRIPT>
    +<NOSCRIPT>
    +  <A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>
    +</NOSCRIPT>
    +
    +
    +</FONT></TD>
    +</TR>
    +</TABLE>
    +<A NAME="skip-navbar_bottom"></A>
    +<!-- ======== END OF BOTTOM NAVBAR ======= -->
    +
    +<HR>
    +Copyright &#169; 2009&#x2013;2024 Mountainminds GmbH & Co. KG. All rights reserved.
    +</BODY>
    +</HTML>
    diff --git a/jacoco/trunk/doc/api/org/jacoco/core/analysis/class-use/ICoverageNode.html b/jacoco/trunk/doc/api/org/jacoco/core/analysis/class-use/ICoverageNode.html
    new file mode 100644
    index 00000000000..49a35059fd8
    --- /dev/null
    +++ b/jacoco/trunk/doc/api/org/jacoco/core/analysis/class-use/ICoverageNode.html
    @@ -0,0 +1,367 @@
    +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
    +<!--NewPage-->
    +<HTML>
    +<HEAD>
    +<!-- Generated by javadoc (build 1.5.0_22) on Wed Mar 27 16:45:42 UTC 2024 -->
    +<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
    +<TITLE>
    +Uses of Interface org.jacoco.core.analysis.ICoverageNode (JaCoCo 0.8.12.202403270442 API)
    +</TITLE>
    +
    +
    +<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../../stylesheet.css" TITLE="Style">
    +
    +<SCRIPT type="text/javascript">
    +function windowTitle()
    +{
    +    parent.document.title="Uses of Interface org.jacoco.core.analysis.ICoverageNode (JaCoCo 0.8.12.202403270442 API)";
    +}
    +</SCRIPT>
    +<NOSCRIPT>
    +</NOSCRIPT>
    +
    +</HEAD>
    +
    +<BODY BGCOLOR="white" onload="windowTitle();">
    +
    +
    +<!-- ========= START OF TOP NAVBAR ======= -->
    +<A NAME="navbar_top"><!-- --></A>
    +<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
    +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
    +<TR>
    +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
    +<A NAME="navbar_top_firstrow"><!-- --></A>
    +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
    +  <TR ALIGN="center" VALIGN="top">
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../org/jacoco/core/analysis/ICoverageNode.html" title="interface in org.jacoco.core.analysis"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
    +  </TR>
    +</TABLE>
    +</TD>
    +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
    +</EM>
    +</TD>
    +</TR>
    +
    +<TR>
    +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
    +&nbsp;PREV&nbsp;
    +&nbsp;NEXT</FONT></TD>
    +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
    +  <A HREF="../../../../../index.html?org/jacoco/core/analysis/class-use/ICoverageNode.html" target="_top"><B>FRAMES</B></A>  &nbsp;
    +&nbsp;<A HREF="ICoverageNode.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
    +&nbsp;<SCRIPT type="text/javascript">
    +  <!--
    +  if(window==top) {
    +    document.writeln('<A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>');
    +  }
    +  //-->
    +</SCRIPT>
    +<NOSCRIPT>
    +  <A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>
    +</NOSCRIPT>
    +
    +
    +</FONT></TD>
    +</TR>
    +</TABLE>
    +<A NAME="skip-navbar_top"></A>
    +<!-- ========= END OF TOP NAVBAR ========= -->
    +
    +<HR>
    +<CENTER>
    +<H2>
    +<B>Uses of Interface<br>org.jacoco.core.analysis.ICoverageNode</B></H2>
    +</CENTER>
    +
    +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
    +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
    +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
    +Packages that use <A HREF="../../../../../org/jacoco/core/analysis/ICoverageNode.html" title="interface in org.jacoco.core.analysis">ICoverageNode</A></FONT></TH>
    +</TR>
    +<TR BGCOLOR="white" CLASS="TableRowColor">
    +<TD><A HREF="#org.jacoco.core.analysis"><B>org.jacoco.core.analysis</B></A></TD>
    +<TD>
    + Coverage calculation and analysis.&nbsp;</TD>
    +</TR>
    +<TR BGCOLOR="white" CLASS="TableRowColor">
    +<TD><A HREF="#org.jacoco.report.check"><B>org.jacoco.report.check</B></A></TD>
    +<TD>Rules check implementation.&nbsp;</TD>
    +</TR>
    +</TABLE>
    +&nbsp;
    +<P>
    +<A NAME="org.jacoco.core.analysis"><!-- --></A>
    +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
    +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
    +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
    +Uses of <A HREF="../../../../../org/jacoco/core/analysis/ICoverageNode.html" title="interface in org.jacoco.core.analysis">ICoverageNode</A> in <A HREF="../../../../../org/jacoco/core/analysis/package-summary.html">org.jacoco.core.analysis</A></FONT></TH>
    +</TR>
    +</TABLE>
    +&nbsp;
    +<P>
    +
    +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
    +<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor">
    +<TH ALIGN="left" COLSPAN="2">Subinterfaces of <A HREF="../../../../../org/jacoco/core/analysis/ICoverageNode.html" title="interface in org.jacoco.core.analysis">ICoverageNode</A> in <A HREF="../../../../../org/jacoco/core/analysis/package-summary.html">org.jacoco.core.analysis</A></FONT></TH>
    +</TR>
    +<TR BGCOLOR="white" CLASS="TableRowColor">
    +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
    +<CODE>&nbsp;interface</CODE></FONT></TD>
    +<TD><CODE><B><A HREF="../../../../../org/jacoco/core/analysis/IBundleCoverage.html" title="interface in org.jacoco.core.analysis">IBundleCoverage</A></B></CODE>
    +
    +<BR>
    +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Coverage data of a bundle.</TD>
    +</TR>
    +<TR BGCOLOR="white" CLASS="TableRowColor">
    +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
    +<CODE>&nbsp;interface</CODE></FONT></TD>
    +<TD><CODE><B><A HREF="../../../../../org/jacoco/core/analysis/IClassCoverage.html" title="interface in org.jacoco.core.analysis">IClassCoverage</A></B></CODE>
    +
    +<BR>
    +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Coverage data of a single class containing methods.</TD>
    +</TR>
    +<TR BGCOLOR="white" CLASS="TableRowColor">
    +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
    +<CODE>&nbsp;interface</CODE></FONT></TD>
    +<TD><CODE><B><A HREF="../../../../../org/jacoco/core/analysis/IMethodCoverage.html" title="interface in org.jacoco.core.analysis">IMethodCoverage</A></B></CODE>
    +
    +<BR>
    +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Coverage data of a single method.</TD>
    +</TR>
    +<TR BGCOLOR="white" CLASS="TableRowColor">
    +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
    +<CODE>&nbsp;interface</CODE></FONT></TD>
    +<TD><CODE><B><A HREF="../../../../../org/jacoco/core/analysis/IPackageCoverage.html" title="interface in org.jacoco.core.analysis">IPackageCoverage</A></B></CODE>
    +
    +<BR>
    +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Coverage data of a Java package containing classes and source files.</TD>
    +</TR>
    +<TR BGCOLOR="white" CLASS="TableRowColor">
    +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
    +<CODE>&nbsp;interface</CODE></FONT></TD>
    +<TD><CODE><B><A HREF="../../../../../org/jacoco/core/analysis/ISourceFileCoverage.html" title="interface in org.jacoco.core.analysis">ISourceFileCoverage</A></B></CODE>
    +
    +<BR>
    +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Coverage data of a single source file.</TD>
    +</TR>
    +<TR BGCOLOR="white" CLASS="TableRowColor">
    +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
    +<CODE>&nbsp;interface</CODE></FONT></TD>
    +<TD><CODE><B><A HREF="../../../../../org/jacoco/core/analysis/ISourceNode.html" title="interface in org.jacoco.core.analysis">ISourceNode</A></B></CODE>
    +
    +<BR>
    +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Interface for coverage nodes that have individual source lines like methods,
    + classes and source files.</TD>
    +</TR>
    +</TABLE>
    +&nbsp;
    +<P>
    +
    +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
    +<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor">
    +<TH ALIGN="left" COLSPAN="2">Classes in <A HREF="../../../../../org/jacoco/core/analysis/package-summary.html">org.jacoco.core.analysis</A> that implement <A HREF="../../../../../org/jacoco/core/analysis/ICoverageNode.html" title="interface in org.jacoco.core.analysis">ICoverageNode</A></FONT></TH>
    +</TR>
    +<TR BGCOLOR="white" CLASS="TableRowColor">
    +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
    +<CODE>&nbsp;class</CODE></FONT></TD>
    +<TD><CODE><B><A HREF="../../../../../org/jacoco/core/analysis/CoverageNodeImpl.html" title="class in org.jacoco.core.analysis">CoverageNodeImpl</A></B></CODE>
    +
    +<BR>
    +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Base implementation for coverage data nodes.</TD>
    +</TR>
    +</TABLE>
    +&nbsp;
    +<P>
    +
    +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
    +<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor">
    +<TH ALIGN="left" COLSPAN="2">Methods in <A HREF="../../../../../org/jacoco/core/analysis/package-summary.html">org.jacoco.core.analysis</A> with type parameters of type <A HREF="../../../../../org/jacoco/core/analysis/ICoverageNode.html" title="interface in org.jacoco.core.analysis">ICoverageNode</A></FONT></TH>
    +</TR>
    +<TR BGCOLOR="white" CLASS="TableRowColor">
    +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
    +<CODE>
    +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="0" SUMMARY="">
    +<TR ALIGN="right" VALIGN="">
    +<TD NOWRAP><FONT SIZE="-1">
    +<CODE>&lt;T extends <A HREF="../../../../../org/jacoco/core/analysis/ICoverageNode.html" title="interface in org.jacoco.core.analysis">ICoverageNode</A>&gt; 
    +<BR>
    +<A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/util/List.html" title="class or interface in java.util">List</A>&lt;T&gt;</CODE></FONT></TD>
    +</TR>
    +</TABLE>
    +</CODE></FONT></TD>
    +<TD><CODE><B>NodeComparator.</B><B><A HREF="../../../../../org/jacoco/core/analysis/NodeComparator.html#sort(java.util.Collection)">sort</A></B>(<A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/util/Collection.html" title="class or interface in java.util">Collection</A>&lt;T&gt;&nbsp;summaries)</CODE>
    +
    +<BR>
    +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns a sorted copy of the given collection of <A HREF="../../../../../org/jacoco/core/analysis/ICoverageNode.html" title="interface in org.jacoco.core.analysis"><CODE>ICoverageNode</CODE></A>
    + elements.</TD>
    +</TR>
    +</TABLE>
    +&nbsp;
    +<P>
    +
    +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
    +<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor">
    +<TH ALIGN="left" COLSPAN="2">Methods in <A HREF="../../../../../org/jacoco/core/analysis/package-summary.html">org.jacoco.core.analysis</A> that return <A HREF="../../../../../org/jacoco/core/analysis/ICoverageNode.html" title="interface in org.jacoco.core.analysis">ICoverageNode</A></FONT></TH>
    +</TR>
    +<TR BGCOLOR="white" CLASS="TableRowColor">
    +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
    +<CODE>&nbsp;<A HREF="../../../../../org/jacoco/core/analysis/ICoverageNode.html" title="interface in org.jacoco.core.analysis">ICoverageNode</A></CODE></FONT></TD>
    +<TD><CODE><B>CoverageNodeImpl.</B><B><A HREF="../../../../../org/jacoco/core/analysis/CoverageNodeImpl.html#getPlainCopy()">getPlainCopy</A></B>()</CODE>
    +
    +<BR>
    +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
    +</TR>
    +<TR BGCOLOR="white" CLASS="TableRowColor">
    +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
    +<CODE>&nbsp;<A HREF="../../../../../org/jacoco/core/analysis/ICoverageNode.html" title="interface in org.jacoco.core.analysis">ICoverageNode</A></CODE></FONT></TD>
    +<TD><CODE><B>ICoverageNode.</B><B><A HREF="../../../../../org/jacoco/core/analysis/ICoverageNode.html#getPlainCopy()">getPlainCopy</A></B>()</CODE>
    +
    +<BR>
    +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Creates a plain copy of this node.</TD>
    +</TR>
    +</TABLE>
    +&nbsp;
    +<P>
    +
    +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
    +<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor">
    +<TH ALIGN="left" COLSPAN="2">Methods in <A HREF="../../../../../org/jacoco/core/analysis/package-summary.html">org.jacoco.core.analysis</A> with parameters of type <A HREF="../../../../../org/jacoco/core/analysis/ICoverageNode.html" title="interface in org.jacoco.core.analysis">ICoverageNode</A></FONT></TH>
    +</TR>
    +<TR BGCOLOR="white" CLASS="TableRowColor">
    +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
    +<CODE>&nbsp;int</CODE></FONT></TD>
    +<TD><CODE><B>NodeComparator.</B><B><A HREF="../../../../../org/jacoco/core/analysis/NodeComparator.html#compare(org.jacoco.core.analysis.ICoverageNode, org.jacoco.core.analysis.ICoverageNode)">compare</A></B>(<A HREF="../../../../../org/jacoco/core/analysis/ICoverageNode.html" title="interface in org.jacoco.core.analysis">ICoverageNode</A>&nbsp;n1,
    +        <A HREF="../../../../../org/jacoco/core/analysis/ICoverageNode.html" title="interface in org.jacoco.core.analysis">ICoverageNode</A>&nbsp;n2)</CODE>
    +
    +<BR>
    +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
    +</TR>
    +<TR BGCOLOR="white" CLASS="TableRowColor">
    +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
    +<CODE>&nbsp;void</CODE></FONT></TD>
    +<TD><CODE><B>CoverageNodeImpl.</B><B><A HREF="../../../../../org/jacoco/core/analysis/CoverageNodeImpl.html#increment(org.jacoco.core.analysis.ICoverageNode)">increment</A></B>(<A HREF="../../../../../org/jacoco/core/analysis/ICoverageNode.html" title="interface in org.jacoco.core.analysis">ICoverageNode</A>&nbsp;child)</CODE>
    +
    +<BR>
    +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Increments the counters by the values given by another element.</TD>
    +</TR>
    +</TABLE>
    +&nbsp;
    +<P>
    +
    +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
    +<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor">
    +<TH ALIGN="left" COLSPAN="2">Method parameters in <A HREF="../../../../../org/jacoco/core/analysis/package-summary.html">org.jacoco.core.analysis</A> with type arguments of type <A HREF="../../../../../org/jacoco/core/analysis/ICoverageNode.html" title="interface in org.jacoco.core.analysis">ICoverageNode</A></FONT></TH>
    +</TR>
    +<TR BGCOLOR="white" CLASS="TableRowColor">
    +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
    +<CODE>&nbsp;void</CODE></FONT></TD>
    +<TD><CODE><B>CoverageNodeImpl.</B><B><A HREF="../../../../../org/jacoco/core/analysis/CoverageNodeImpl.html#increment(java.util.Collection)">increment</A></B>(<A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/util/Collection.html" title="class or interface in java.util">Collection</A>&lt;? extends <A HREF="../../../../../org/jacoco/core/analysis/ICoverageNode.html" title="interface in org.jacoco.core.analysis">ICoverageNode</A>&gt;&nbsp;children)</CODE>
    +
    +<BR>
    +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Increments the counters by the values given by the collection of
    + elements.</TD>
    +</TR>
    +<TR BGCOLOR="white" CLASS="TableRowColor">
    +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
    +<CODE>&nbsp;<A HREF="../../../../../org/jacoco/core/analysis/NodeComparator.html" title="class in org.jacoco.core.analysis">NodeComparator</A></CODE></FONT></TD>
    +<TD><CODE><B>NodeComparator.</B><B><A HREF="../../../../../org/jacoco/core/analysis/NodeComparator.html#second(java.util.Comparator)">second</A></B>(<A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/util/Comparator.html" title="class or interface in java.util">Comparator</A>&lt;<A HREF="../../../../../org/jacoco/core/analysis/ICoverageNode.html" title="interface in org.jacoco.core.analysis">ICoverageNode</A>&gt;&nbsp;second)</CODE>
    +
    +<BR>
    +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Creates a new composite comparator with a second search criterion.</TD>
    +</TR>
    +</TABLE>
    +&nbsp;
    +<P>
    +<A NAME="org.jacoco.report.check"><!-- --></A>
    +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
    +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
    +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
    +Uses of <A HREF="../../../../../org/jacoco/core/analysis/ICoverageNode.html" title="interface in org.jacoco.core.analysis">ICoverageNode</A> in <A HREF="../../../../../org/jacoco/report/check/package-summary.html">org.jacoco.report.check</A></FONT></TH>
    +</TR>
    +</TABLE>
    +&nbsp;
    +<P>
    +
    +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
    +<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor">
    +<TH ALIGN="left" COLSPAN="2">Methods in <A HREF="../../../../../org/jacoco/report/check/package-summary.html">org.jacoco.report.check</A> with parameters of type <A HREF="../../../../../org/jacoco/core/analysis/ICoverageNode.html" title="interface in org.jacoco.core.analysis">ICoverageNode</A></FONT></TH>
    +</TR>
    +<TR BGCOLOR="white" CLASS="TableRowColor">
    +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
    +<CODE>&nbsp;void</CODE></FONT></TD>
    +<TD><CODE><B>IViolationsOutput.</B><B><A HREF="../../../../../org/jacoco/report/check/IViolationsOutput.html#onViolation(org.jacoco.core.analysis.ICoverageNode, org.jacoco.report.check.Rule, org.jacoco.report.check.Limit, java.lang.String)">onViolation</A></B>(<A HREF="../../../../../org/jacoco/core/analysis/ICoverageNode.html" title="interface in org.jacoco.core.analysis">ICoverageNode</A>&nbsp;node,
    +            <A HREF="../../../../../org/jacoco/report/check/Rule.html" title="class in org.jacoco.report.check">Rule</A>&nbsp;rule,
    +            <A HREF="../../../../../org/jacoco/report/check/Limit.html" title="class in org.jacoco.report.check">Limit</A>&nbsp;limit,
    +            <A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A>&nbsp;message)</CODE>
    +
    +<BR>
    +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Called for every rule violation.</TD>
    +</TR>
    +</TABLE>
    +&nbsp;
    +<P>
    +<HR>
    +
    +
    +<!-- ======= START OF BOTTOM NAVBAR ====== -->
    +<A NAME="navbar_bottom"><!-- --></A>
    +<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
    +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
    +<TR>
    +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
    +<A NAME="navbar_bottom_firstrow"><!-- --></A>
    +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
    +  <TR ALIGN="center" VALIGN="top">
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../org/jacoco/core/analysis/ICoverageNode.html" title="interface in org.jacoco.core.analysis"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
    +  </TR>
    +</TABLE>
    +</TD>
    +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
    +</EM>
    +</TD>
    +</TR>
    +
    +<TR>
    +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
    +&nbsp;PREV&nbsp;
    +&nbsp;NEXT</FONT></TD>
    +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
    +  <A HREF="../../../../../index.html?org/jacoco/core/analysis/class-use/ICoverageNode.html" target="_top"><B>FRAMES</B></A>  &nbsp;
    +&nbsp;<A HREF="ICoverageNode.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
    +&nbsp;<SCRIPT type="text/javascript">
    +  <!--
    +  if(window==top) {
    +    document.writeln('<A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>');
    +  }
    +  //-->
    +</SCRIPT>
    +<NOSCRIPT>
    +  <A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>
    +</NOSCRIPT>
    +
    +
    +</FONT></TD>
    +</TR>
    +</TABLE>
    +<A NAME="skip-navbar_bottom"></A>
    +<!-- ======== END OF BOTTOM NAVBAR ======= -->
    +
    +<HR>
    +Copyright &#169; 2009&#x2013;2024 Mountainminds GmbH & Co. KG. All rights reserved.
    +</BODY>
    +</HTML>
    diff --git a/jacoco/trunk/doc/api/org/jacoco/core/analysis/class-use/ICoverageVisitor.html b/jacoco/trunk/doc/api/org/jacoco/core/analysis/class-use/ICoverageVisitor.html
    new file mode 100644
    index 00000000000..4ab4139d42e
    --- /dev/null
    +++ b/jacoco/trunk/doc/api/org/jacoco/core/analysis/class-use/ICoverageVisitor.html
    @@ -0,0 +1,194 @@
    +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
    +<!--NewPage-->
    +<HTML>
    +<HEAD>
    +<!-- Generated by javadoc (build 1.5.0_22) on Wed Mar 27 16:45:42 UTC 2024 -->
    +<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
    +<TITLE>
    +Uses of Interface org.jacoco.core.analysis.ICoverageVisitor (JaCoCo 0.8.12.202403270442 API)
    +</TITLE>
    +
    +
    +<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../../stylesheet.css" TITLE="Style">
    +
    +<SCRIPT type="text/javascript">
    +function windowTitle()
    +{
    +    parent.document.title="Uses of Interface org.jacoco.core.analysis.ICoverageVisitor (JaCoCo 0.8.12.202403270442 API)";
    +}
    +</SCRIPT>
    +<NOSCRIPT>
    +</NOSCRIPT>
    +
    +</HEAD>
    +
    +<BODY BGCOLOR="white" onload="windowTitle();">
    +
    +
    +<!-- ========= START OF TOP NAVBAR ======= -->
    +<A NAME="navbar_top"><!-- --></A>
    +<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
    +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
    +<TR>
    +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
    +<A NAME="navbar_top_firstrow"><!-- --></A>
    +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
    +  <TR ALIGN="center" VALIGN="top">
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../org/jacoco/core/analysis/ICoverageVisitor.html" title="interface in org.jacoco.core.analysis"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
    +  </TR>
    +</TABLE>
    +</TD>
    +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
    +</EM>
    +</TD>
    +</TR>
    +
    +<TR>
    +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
    +&nbsp;PREV&nbsp;
    +&nbsp;NEXT</FONT></TD>
    +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
    +  <A HREF="../../../../../index.html?org/jacoco/core/analysis/class-use/ICoverageVisitor.html" target="_top"><B>FRAMES</B></A>  &nbsp;
    +&nbsp;<A HREF="ICoverageVisitor.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
    +&nbsp;<SCRIPT type="text/javascript">
    +  <!--
    +  if(window==top) {
    +    document.writeln('<A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>');
    +  }
    +  //-->
    +</SCRIPT>
    +<NOSCRIPT>
    +  <A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>
    +</NOSCRIPT>
    +
    +
    +</FONT></TD>
    +</TR>
    +</TABLE>
    +<A NAME="skip-navbar_top"></A>
    +<!-- ========= END OF TOP NAVBAR ========= -->
    +
    +<HR>
    +<CENTER>
    +<H2>
    +<B>Uses of Interface<br>org.jacoco.core.analysis.ICoverageVisitor</B></H2>
    +</CENTER>
    +
    +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
    +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
    +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
    +Packages that use <A HREF="../../../../../org/jacoco/core/analysis/ICoverageVisitor.html" title="interface in org.jacoco.core.analysis">ICoverageVisitor</A></FONT></TH>
    +</TR>
    +<TR BGCOLOR="white" CLASS="TableRowColor">
    +<TD><A HREF="#org.jacoco.core.analysis"><B>org.jacoco.core.analysis</B></A></TD>
    +<TD>
    + Coverage calculation and analysis.&nbsp;</TD>
    +</TR>
    +</TABLE>
    +&nbsp;
    +<P>
    +<A NAME="org.jacoco.core.analysis"><!-- --></A>
    +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
    +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
    +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
    +Uses of <A HREF="../../../../../org/jacoco/core/analysis/ICoverageVisitor.html" title="interface in org.jacoco.core.analysis">ICoverageVisitor</A> in <A HREF="../../../../../org/jacoco/core/analysis/package-summary.html">org.jacoco.core.analysis</A></FONT></TH>
    +</TR>
    +</TABLE>
    +&nbsp;
    +<P>
    +
    +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
    +<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor">
    +<TH ALIGN="left" COLSPAN="2">Classes in <A HREF="../../../../../org/jacoco/core/analysis/package-summary.html">org.jacoco.core.analysis</A> that implement <A HREF="../../../../../org/jacoco/core/analysis/ICoverageVisitor.html" title="interface in org.jacoco.core.analysis">ICoverageVisitor</A></FONT></TH>
    +</TR>
    +<TR BGCOLOR="white" CLASS="TableRowColor">
    +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
    +<CODE>&nbsp;class</CODE></FONT></TD>
    +<TD><CODE><B><A HREF="../../../../../org/jacoco/core/analysis/CoverageBuilder.html" title="class in org.jacoco.core.analysis">CoverageBuilder</A></B></CODE>
    +
    +<BR>
    +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Builder for hierarchical <A HREF="../../../../../org/jacoco/core/analysis/ICoverageNode.html" title="interface in org.jacoco.core.analysis"><CODE>ICoverageNode</CODE></A> structures from single
    + <A HREF="../../../../../org/jacoco/core/analysis/IClassCoverage.html" title="interface in org.jacoco.core.analysis"><CODE>IClassCoverage</CODE></A> nodes.</TD>
    +</TR>
    +</TABLE>
    +&nbsp;
    +<P>
    +
    +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
    +<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor">
    +<TH ALIGN="left" COLSPAN="2">Constructors in <A HREF="../../../../../org/jacoco/core/analysis/package-summary.html">org.jacoco.core.analysis</A> with parameters of type <A HREF="../../../../../org/jacoco/core/analysis/ICoverageVisitor.html" title="interface in org.jacoco.core.analysis">ICoverageVisitor</A></FONT></TH>
    +</TR>
    +<TR BGCOLOR="white" CLASS="TableRowColor">
    +<TD><CODE><B><A HREF="../../../../../org/jacoco/core/analysis/Analyzer.html#Analyzer(org.jacoco.core.data.ExecutionDataStore, org.jacoco.core.analysis.ICoverageVisitor)">Analyzer</A></B>(<A HREF="../../../../../org/jacoco/core/data/ExecutionDataStore.html" title="class in org.jacoco.core.data">ExecutionDataStore</A>&nbsp;executionData,
    +         <A HREF="../../../../../org/jacoco/core/analysis/ICoverageVisitor.html" title="interface in org.jacoco.core.analysis">ICoverageVisitor</A>&nbsp;coverageVisitor)</CODE>
    +
    +<BR>
    +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Creates a new analyzer reporting to the given output.</TD>
    +</TR>
    +</TABLE>
    +&nbsp;
    +<P>
    +<HR>
    +
    +
    +<!-- ======= START OF BOTTOM NAVBAR ====== -->
    +<A NAME="navbar_bottom"><!-- --></A>
    +<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
    +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
    +<TR>
    +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
    +<A NAME="navbar_bottom_firstrow"><!-- --></A>
    +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
    +  <TR ALIGN="center" VALIGN="top">
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../org/jacoco/core/analysis/ICoverageVisitor.html" title="interface in org.jacoco.core.analysis"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
    +  </TR>
    +</TABLE>
    +</TD>
    +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
    +</EM>
    +</TD>
    +</TR>
    +
    +<TR>
    +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
    +&nbsp;PREV&nbsp;
    +&nbsp;NEXT</FONT></TD>
    +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
    +  <A HREF="../../../../../index.html?org/jacoco/core/analysis/class-use/ICoverageVisitor.html" target="_top"><B>FRAMES</B></A>  &nbsp;
    +&nbsp;<A HREF="ICoverageVisitor.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
    +&nbsp;<SCRIPT type="text/javascript">
    +  <!--
    +  if(window==top) {
    +    document.writeln('<A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>');
    +  }
    +  //-->
    +</SCRIPT>
    +<NOSCRIPT>
    +  <A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>
    +</NOSCRIPT>
    +
    +
    +</FONT></TD>
    +</TR>
    +</TABLE>
    +<A NAME="skip-navbar_bottom"></A>
    +<!-- ======== END OF BOTTOM NAVBAR ======= -->
    +
    +<HR>
    +Copyright &#169; 2009&#x2013;2024 Mountainminds GmbH & Co. KG. All rights reserved.
    +</BODY>
    +</HTML>
    diff --git a/jacoco/trunk/doc/api/org/jacoco/core/analysis/class-use/ILine.html b/jacoco/trunk/doc/api/org/jacoco/core/analysis/class-use/ILine.html
    new file mode 100644
    index 00000000000..40392b11c99
    --- /dev/null
    +++ b/jacoco/trunk/doc/api/org/jacoco/core/analysis/class-use/ILine.html
    @@ -0,0 +1,178 @@
    +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
    +<!--NewPage-->
    +<HTML>
    +<HEAD>
    +<!-- Generated by javadoc (build 1.5.0_22) on Wed Mar 27 16:45:42 UTC 2024 -->
    +<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
    +<TITLE>
    +Uses of Interface org.jacoco.core.analysis.ILine (JaCoCo 0.8.12.202403270442 API)
    +</TITLE>
    +
    +
    +<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../../stylesheet.css" TITLE="Style">
    +
    +<SCRIPT type="text/javascript">
    +function windowTitle()
    +{
    +    parent.document.title="Uses of Interface org.jacoco.core.analysis.ILine (JaCoCo 0.8.12.202403270442 API)";
    +}
    +</SCRIPT>
    +<NOSCRIPT>
    +</NOSCRIPT>
    +
    +</HEAD>
    +
    +<BODY BGCOLOR="white" onload="windowTitle();">
    +
    +
    +<!-- ========= START OF TOP NAVBAR ======= -->
    +<A NAME="navbar_top"><!-- --></A>
    +<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
    +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
    +<TR>
    +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
    +<A NAME="navbar_top_firstrow"><!-- --></A>
    +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
    +  <TR ALIGN="center" VALIGN="top">
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../org/jacoco/core/analysis/ILine.html" title="interface in org.jacoco.core.analysis"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
    +  </TR>
    +</TABLE>
    +</TD>
    +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
    +</EM>
    +</TD>
    +</TR>
    +
    +<TR>
    +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
    +&nbsp;PREV&nbsp;
    +&nbsp;NEXT</FONT></TD>
    +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
    +  <A HREF="../../../../../index.html?org/jacoco/core/analysis/class-use/ILine.html" target="_top"><B>FRAMES</B></A>  &nbsp;
    +&nbsp;<A HREF="ILine.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
    +&nbsp;<SCRIPT type="text/javascript">
    +  <!--
    +  if(window==top) {
    +    document.writeln('<A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>');
    +  }
    +  //-->
    +</SCRIPT>
    +<NOSCRIPT>
    +  <A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>
    +</NOSCRIPT>
    +
    +
    +</FONT></TD>
    +</TR>
    +</TABLE>
    +<A NAME="skip-navbar_top"></A>
    +<!-- ========= END OF TOP NAVBAR ========= -->
    +
    +<HR>
    +<CENTER>
    +<H2>
    +<B>Uses of Interface<br>org.jacoco.core.analysis.ILine</B></H2>
    +</CENTER>
    +
    +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
    +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
    +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
    +Packages that use <A HREF="../../../../../org/jacoco/core/analysis/ILine.html" title="interface in org.jacoco.core.analysis">ILine</A></FONT></TH>
    +</TR>
    +<TR BGCOLOR="white" CLASS="TableRowColor">
    +<TD><A HREF="#org.jacoco.core.analysis"><B>org.jacoco.core.analysis</B></A></TD>
    +<TD>
    + Coverage calculation and analysis.&nbsp;</TD>
    +</TR>
    +</TABLE>
    +&nbsp;
    +<P>
    +<A NAME="org.jacoco.core.analysis"><!-- --></A>
    +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
    +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
    +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
    +Uses of <A HREF="../../../../../org/jacoco/core/analysis/ILine.html" title="interface in org.jacoco.core.analysis">ILine</A> in <A HREF="../../../../../org/jacoco/core/analysis/package-summary.html">org.jacoco.core.analysis</A></FONT></TH>
    +</TR>
    +</TABLE>
    +&nbsp;
    +<P>
    +
    +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
    +<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor">
    +<TH ALIGN="left" COLSPAN="2">Methods in <A HREF="../../../../../org/jacoco/core/analysis/package-summary.html">org.jacoco.core.analysis</A> that return <A HREF="../../../../../org/jacoco/core/analysis/ILine.html" title="interface in org.jacoco.core.analysis">ILine</A></FONT></TH>
    +</TR>
    +<TR BGCOLOR="white" CLASS="TableRowColor">
    +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
    +<CODE>&nbsp;<A HREF="../../../../../org/jacoco/core/analysis/ILine.html" title="interface in org.jacoco.core.analysis">ILine</A></CODE></FONT></TD>
    +<TD><CODE><B>ISourceNode.</B><B><A HREF="../../../../../org/jacoco/core/analysis/ISourceNode.html#getLine(int)">getLine</A></B>(int&nbsp;nr)</CODE>
    +
    +<BR>
    +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns the line information for given line.</TD>
    +</TR>
    +</TABLE>
    +&nbsp;
    +<P>
    +<HR>
    +
    +
    +<!-- ======= START OF BOTTOM NAVBAR ====== -->
    +<A NAME="navbar_bottom"><!-- --></A>
    +<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
    +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
    +<TR>
    +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
    +<A NAME="navbar_bottom_firstrow"><!-- --></A>
    +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
    +  <TR ALIGN="center" VALIGN="top">
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../org/jacoco/core/analysis/ILine.html" title="interface in org.jacoco.core.analysis"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
    +  </TR>
    +</TABLE>
    +</TD>
    +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
    +</EM>
    +</TD>
    +</TR>
    +
    +<TR>
    +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
    +&nbsp;PREV&nbsp;
    +&nbsp;NEXT</FONT></TD>
    +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
    +  <A HREF="../../../../../index.html?org/jacoco/core/analysis/class-use/ILine.html" target="_top"><B>FRAMES</B></A>  &nbsp;
    +&nbsp;<A HREF="ILine.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
    +&nbsp;<SCRIPT type="text/javascript">
    +  <!--
    +  if(window==top) {
    +    document.writeln('<A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>');
    +  }
    +  //-->
    +</SCRIPT>
    +<NOSCRIPT>
    +  <A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>
    +</NOSCRIPT>
    +
    +
    +</FONT></TD>
    +</TR>
    +</TABLE>
    +<A NAME="skip-navbar_bottom"></A>
    +<!-- ======== END OF BOTTOM NAVBAR ======= -->
    +
    +<HR>
    +Copyright &#169; 2009&#x2013;2024 Mountainminds GmbH & Co. KG. All rights reserved.
    +</BODY>
    +</HTML>
    diff --git a/jacoco/trunk/doc/api/org/jacoco/core/analysis/class-use/IMethodCoverage.html b/jacoco/trunk/doc/api/org/jacoco/core/analysis/class-use/IMethodCoverage.html
    new file mode 100644
    index 00000000000..8254f6cf32a
    --- /dev/null
    +++ b/jacoco/trunk/doc/api/org/jacoco/core/analysis/class-use/IMethodCoverage.html
    @@ -0,0 +1,178 @@
    +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
    +<!--NewPage-->
    +<HTML>
    +<HEAD>
    +<!-- Generated by javadoc (build 1.5.0_22) on Wed Mar 27 16:45:42 UTC 2024 -->
    +<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
    +<TITLE>
    +Uses of Interface org.jacoco.core.analysis.IMethodCoverage (JaCoCo 0.8.12.202403270442 API)
    +</TITLE>
    +
    +
    +<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../../stylesheet.css" TITLE="Style">
    +
    +<SCRIPT type="text/javascript">
    +function windowTitle()
    +{
    +    parent.document.title="Uses of Interface org.jacoco.core.analysis.IMethodCoverage (JaCoCo 0.8.12.202403270442 API)";
    +}
    +</SCRIPT>
    +<NOSCRIPT>
    +</NOSCRIPT>
    +
    +</HEAD>
    +
    +<BODY BGCOLOR="white" onload="windowTitle();">
    +
    +
    +<!-- ========= START OF TOP NAVBAR ======= -->
    +<A NAME="navbar_top"><!-- --></A>
    +<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
    +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
    +<TR>
    +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
    +<A NAME="navbar_top_firstrow"><!-- --></A>
    +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
    +  <TR ALIGN="center" VALIGN="top">
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../org/jacoco/core/analysis/IMethodCoverage.html" title="interface in org.jacoco.core.analysis"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
    +  </TR>
    +</TABLE>
    +</TD>
    +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
    +</EM>
    +</TD>
    +</TR>
    +
    +<TR>
    +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
    +&nbsp;PREV&nbsp;
    +&nbsp;NEXT</FONT></TD>
    +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
    +  <A HREF="../../../../../index.html?org/jacoco/core/analysis/class-use/IMethodCoverage.html" target="_top"><B>FRAMES</B></A>  &nbsp;
    +&nbsp;<A HREF="IMethodCoverage.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
    +&nbsp;<SCRIPT type="text/javascript">
    +  <!--
    +  if(window==top) {
    +    document.writeln('<A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>');
    +  }
    +  //-->
    +</SCRIPT>
    +<NOSCRIPT>
    +  <A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>
    +</NOSCRIPT>
    +
    +
    +</FONT></TD>
    +</TR>
    +</TABLE>
    +<A NAME="skip-navbar_top"></A>
    +<!-- ========= END OF TOP NAVBAR ========= -->
    +
    +<HR>
    +<CENTER>
    +<H2>
    +<B>Uses of Interface<br>org.jacoco.core.analysis.IMethodCoverage</B></H2>
    +</CENTER>
    +
    +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
    +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
    +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
    +Packages that use <A HREF="../../../../../org/jacoco/core/analysis/IMethodCoverage.html" title="interface in org.jacoco.core.analysis">IMethodCoverage</A></FONT></TH>
    +</TR>
    +<TR BGCOLOR="white" CLASS="TableRowColor">
    +<TD><A HREF="#org.jacoco.core.analysis"><B>org.jacoco.core.analysis</B></A></TD>
    +<TD>
    + Coverage calculation and analysis.&nbsp;</TD>
    +</TR>
    +</TABLE>
    +&nbsp;
    +<P>
    +<A NAME="org.jacoco.core.analysis"><!-- --></A>
    +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
    +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
    +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
    +Uses of <A HREF="../../../../../org/jacoco/core/analysis/IMethodCoverage.html" title="interface in org.jacoco.core.analysis">IMethodCoverage</A> in <A HREF="../../../../../org/jacoco/core/analysis/package-summary.html">org.jacoco.core.analysis</A></FONT></TH>
    +</TR>
    +</TABLE>
    +&nbsp;
    +<P>
    +
    +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
    +<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor">
    +<TH ALIGN="left" COLSPAN="2">Methods in <A HREF="../../../../../org/jacoco/core/analysis/package-summary.html">org.jacoco.core.analysis</A> that return types with arguments of type <A HREF="../../../../../org/jacoco/core/analysis/IMethodCoverage.html" title="interface in org.jacoco.core.analysis">IMethodCoverage</A></FONT></TH>
    +</TR>
    +<TR BGCOLOR="white" CLASS="TableRowColor">
    +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
    +<CODE>&nbsp;<A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/util/Collection.html" title="class or interface in java.util">Collection</A>&lt;<A HREF="../../../../../org/jacoco/core/analysis/IMethodCoverage.html" title="interface in org.jacoco.core.analysis">IMethodCoverage</A>&gt;</CODE></FONT></TD>
    +<TD><CODE><B>IClassCoverage.</B><B><A HREF="../../../../../org/jacoco/core/analysis/IClassCoverage.html#getMethods()">getMethods</A></B>()</CODE>
    +
    +<BR>
    +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns the methods included in this class.</TD>
    +</TR>
    +</TABLE>
    +&nbsp;
    +<P>
    +<HR>
    +
    +
    +<!-- ======= START OF BOTTOM NAVBAR ====== -->
    +<A NAME="navbar_bottom"><!-- --></A>
    +<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
    +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
    +<TR>
    +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
    +<A NAME="navbar_bottom_firstrow"><!-- --></A>
    +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
    +  <TR ALIGN="center" VALIGN="top">
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../org/jacoco/core/analysis/IMethodCoverage.html" title="interface in org.jacoco.core.analysis"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
    +  </TR>
    +</TABLE>
    +</TD>
    +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
    +</EM>
    +</TD>
    +</TR>
    +
    +<TR>
    +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
    +&nbsp;PREV&nbsp;
    +&nbsp;NEXT</FONT></TD>
    +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
    +  <A HREF="../../../../../index.html?org/jacoco/core/analysis/class-use/IMethodCoverage.html" target="_top"><B>FRAMES</B></A>  &nbsp;
    +&nbsp;<A HREF="IMethodCoverage.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
    +&nbsp;<SCRIPT type="text/javascript">
    +  <!--
    +  if(window==top) {
    +    document.writeln('<A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>');
    +  }
    +  //-->
    +</SCRIPT>
    +<NOSCRIPT>
    +  <A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>
    +</NOSCRIPT>
    +
    +
    +</FONT></TD>
    +</TR>
    +</TABLE>
    +<A NAME="skip-navbar_bottom"></A>
    +<!-- ======== END OF BOTTOM NAVBAR ======= -->
    +
    +<HR>
    +Copyright &#169; 2009&#x2013;2024 Mountainminds GmbH & Co. KG. All rights reserved.
    +</BODY>
    +</HTML>
    diff --git a/jacoco/trunk/doc/api/org/jacoco/core/analysis/class-use/IPackageCoverage.html b/jacoco/trunk/doc/api/org/jacoco/core/analysis/class-use/IPackageCoverage.html
    new file mode 100644
    index 00000000000..287ae1cd83a
    --- /dev/null
    +++ b/jacoco/trunk/doc/api/org/jacoco/core/analysis/class-use/IPackageCoverage.html
    @@ -0,0 +1,178 @@
    +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
    +<!--NewPage-->
    +<HTML>
    +<HEAD>
    +<!-- Generated by javadoc (build 1.5.0_22) on Wed Mar 27 16:45:42 UTC 2024 -->
    +<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
    +<TITLE>
    +Uses of Interface org.jacoco.core.analysis.IPackageCoverage (JaCoCo 0.8.12.202403270442 API)
    +</TITLE>
    +
    +
    +<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../../stylesheet.css" TITLE="Style">
    +
    +<SCRIPT type="text/javascript">
    +function windowTitle()
    +{
    +    parent.document.title="Uses of Interface org.jacoco.core.analysis.IPackageCoverage (JaCoCo 0.8.12.202403270442 API)";
    +}
    +</SCRIPT>
    +<NOSCRIPT>
    +</NOSCRIPT>
    +
    +</HEAD>
    +
    +<BODY BGCOLOR="white" onload="windowTitle();">
    +
    +
    +<!-- ========= START OF TOP NAVBAR ======= -->
    +<A NAME="navbar_top"><!-- --></A>
    +<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
    +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
    +<TR>
    +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
    +<A NAME="navbar_top_firstrow"><!-- --></A>
    +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
    +  <TR ALIGN="center" VALIGN="top">
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../org/jacoco/core/analysis/IPackageCoverage.html" title="interface in org.jacoco.core.analysis"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
    +  </TR>
    +</TABLE>
    +</TD>
    +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
    +</EM>
    +</TD>
    +</TR>
    +
    +<TR>
    +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
    +&nbsp;PREV&nbsp;
    +&nbsp;NEXT</FONT></TD>
    +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
    +  <A HREF="../../../../../index.html?org/jacoco/core/analysis/class-use/IPackageCoverage.html" target="_top"><B>FRAMES</B></A>  &nbsp;
    +&nbsp;<A HREF="IPackageCoverage.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
    +&nbsp;<SCRIPT type="text/javascript">
    +  <!--
    +  if(window==top) {
    +    document.writeln('<A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>');
    +  }
    +  //-->
    +</SCRIPT>
    +<NOSCRIPT>
    +  <A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>
    +</NOSCRIPT>
    +
    +
    +</FONT></TD>
    +</TR>
    +</TABLE>
    +<A NAME="skip-navbar_top"></A>
    +<!-- ========= END OF TOP NAVBAR ========= -->
    +
    +<HR>
    +<CENTER>
    +<H2>
    +<B>Uses of Interface<br>org.jacoco.core.analysis.IPackageCoverage</B></H2>
    +</CENTER>
    +
    +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
    +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
    +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
    +Packages that use <A HREF="../../../../../org/jacoco/core/analysis/IPackageCoverage.html" title="interface in org.jacoco.core.analysis">IPackageCoverage</A></FONT></TH>
    +</TR>
    +<TR BGCOLOR="white" CLASS="TableRowColor">
    +<TD><A HREF="#org.jacoco.core.analysis"><B>org.jacoco.core.analysis</B></A></TD>
    +<TD>
    + Coverage calculation and analysis.&nbsp;</TD>
    +</TR>
    +</TABLE>
    +&nbsp;
    +<P>
    +<A NAME="org.jacoco.core.analysis"><!-- --></A>
    +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
    +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
    +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
    +Uses of <A HREF="../../../../../org/jacoco/core/analysis/IPackageCoverage.html" title="interface in org.jacoco.core.analysis">IPackageCoverage</A> in <A HREF="../../../../../org/jacoco/core/analysis/package-summary.html">org.jacoco.core.analysis</A></FONT></TH>
    +</TR>
    +</TABLE>
    +&nbsp;
    +<P>
    +
    +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
    +<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor">
    +<TH ALIGN="left" COLSPAN="2">Methods in <A HREF="../../../../../org/jacoco/core/analysis/package-summary.html">org.jacoco.core.analysis</A> that return types with arguments of type <A HREF="../../../../../org/jacoco/core/analysis/IPackageCoverage.html" title="interface in org.jacoco.core.analysis">IPackageCoverage</A></FONT></TH>
    +</TR>
    +<TR BGCOLOR="white" CLASS="TableRowColor">
    +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
    +<CODE>&nbsp;<A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/util/Collection.html" title="class or interface in java.util">Collection</A>&lt;<A HREF="../../../../../org/jacoco/core/analysis/IPackageCoverage.html" title="interface in org.jacoco.core.analysis">IPackageCoverage</A>&gt;</CODE></FONT></TD>
    +<TD><CODE><B>IBundleCoverage.</B><B><A HREF="../../../../../org/jacoco/core/analysis/IBundleCoverage.html#getPackages()">getPackages</A></B>()</CODE>
    +
    +<BR>
    +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns all packages contained in this bundle.</TD>
    +</TR>
    +</TABLE>
    +&nbsp;
    +<P>
    +<HR>
    +
    +
    +<!-- ======= START OF BOTTOM NAVBAR ====== -->
    +<A NAME="navbar_bottom"><!-- --></A>
    +<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
    +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
    +<TR>
    +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
    +<A NAME="navbar_bottom_firstrow"><!-- --></A>
    +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
    +  <TR ALIGN="center" VALIGN="top">
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../org/jacoco/core/analysis/IPackageCoverage.html" title="interface in org.jacoco.core.analysis"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
    +  </TR>
    +</TABLE>
    +</TD>
    +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
    +</EM>
    +</TD>
    +</TR>
    +
    +<TR>
    +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
    +&nbsp;PREV&nbsp;
    +&nbsp;NEXT</FONT></TD>
    +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
    +  <A HREF="../../../../../index.html?org/jacoco/core/analysis/class-use/IPackageCoverage.html" target="_top"><B>FRAMES</B></A>  &nbsp;
    +&nbsp;<A HREF="IPackageCoverage.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
    +&nbsp;<SCRIPT type="text/javascript">
    +  <!--
    +  if(window==top) {
    +    document.writeln('<A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>');
    +  }
    +  //-->
    +</SCRIPT>
    +<NOSCRIPT>
    +  <A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>
    +</NOSCRIPT>
    +
    +
    +</FONT></TD>
    +</TR>
    +</TABLE>
    +<A NAME="skip-navbar_bottom"></A>
    +<!-- ======== END OF BOTTOM NAVBAR ======= -->
    +
    +<HR>
    +Copyright &#169; 2009&#x2013;2024 Mountainminds GmbH & Co. KG. All rights reserved.
    +</BODY>
    +</HTML>
    diff --git a/jacoco/trunk/doc/api/org/jacoco/core/analysis/class-use/ISourceFileCoverage.html b/jacoco/trunk/doc/api/org/jacoco/core/analysis/class-use/ISourceFileCoverage.html
    new file mode 100644
    index 00000000000..1a15c2cfc6f
    --- /dev/null
    +++ b/jacoco/trunk/doc/api/org/jacoco/core/analysis/class-use/ISourceFileCoverage.html
    @@ -0,0 +1,186 @@
    +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
    +<!--NewPage-->
    +<HTML>
    +<HEAD>
    +<!-- Generated by javadoc (build 1.5.0_22) on Wed Mar 27 16:45:42 UTC 2024 -->
    +<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
    +<TITLE>
    +Uses of Interface org.jacoco.core.analysis.ISourceFileCoverage (JaCoCo 0.8.12.202403270442 API)
    +</TITLE>
    +
    +
    +<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../../stylesheet.css" TITLE="Style">
    +
    +<SCRIPT type="text/javascript">
    +function windowTitle()
    +{
    +    parent.document.title="Uses of Interface org.jacoco.core.analysis.ISourceFileCoverage (JaCoCo 0.8.12.202403270442 API)";
    +}
    +</SCRIPT>
    +<NOSCRIPT>
    +</NOSCRIPT>
    +
    +</HEAD>
    +
    +<BODY BGCOLOR="white" onload="windowTitle();">
    +
    +
    +<!-- ========= START OF TOP NAVBAR ======= -->
    +<A NAME="navbar_top"><!-- --></A>
    +<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
    +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
    +<TR>
    +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
    +<A NAME="navbar_top_firstrow"><!-- --></A>
    +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
    +  <TR ALIGN="center" VALIGN="top">
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../org/jacoco/core/analysis/ISourceFileCoverage.html" title="interface in org.jacoco.core.analysis"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
    +  </TR>
    +</TABLE>
    +</TD>
    +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
    +</EM>
    +</TD>
    +</TR>
    +
    +<TR>
    +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
    +&nbsp;PREV&nbsp;
    +&nbsp;NEXT</FONT></TD>
    +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
    +  <A HREF="../../../../../index.html?org/jacoco/core/analysis/class-use/ISourceFileCoverage.html" target="_top"><B>FRAMES</B></A>  &nbsp;
    +&nbsp;<A HREF="ISourceFileCoverage.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
    +&nbsp;<SCRIPT type="text/javascript">
    +  <!--
    +  if(window==top) {
    +    document.writeln('<A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>');
    +  }
    +  //-->
    +</SCRIPT>
    +<NOSCRIPT>
    +  <A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>
    +</NOSCRIPT>
    +
    +
    +</FONT></TD>
    +</TR>
    +</TABLE>
    +<A NAME="skip-navbar_top"></A>
    +<!-- ========= END OF TOP NAVBAR ========= -->
    +
    +<HR>
    +<CENTER>
    +<H2>
    +<B>Uses of Interface<br>org.jacoco.core.analysis.ISourceFileCoverage</B></H2>
    +</CENTER>
    +
    +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
    +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
    +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
    +Packages that use <A HREF="../../../../../org/jacoco/core/analysis/ISourceFileCoverage.html" title="interface in org.jacoco.core.analysis">ISourceFileCoverage</A></FONT></TH>
    +</TR>
    +<TR BGCOLOR="white" CLASS="TableRowColor">
    +<TD><A HREF="#org.jacoco.core.analysis"><B>org.jacoco.core.analysis</B></A></TD>
    +<TD>
    + Coverage calculation and analysis.&nbsp;</TD>
    +</TR>
    +</TABLE>
    +&nbsp;
    +<P>
    +<A NAME="org.jacoco.core.analysis"><!-- --></A>
    +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
    +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
    +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
    +Uses of <A HREF="../../../../../org/jacoco/core/analysis/ISourceFileCoverage.html" title="interface in org.jacoco.core.analysis">ISourceFileCoverage</A> in <A HREF="../../../../../org/jacoco/core/analysis/package-summary.html">org.jacoco.core.analysis</A></FONT></TH>
    +</TR>
    +</TABLE>
    +&nbsp;
    +<P>
    +
    +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
    +<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor">
    +<TH ALIGN="left" COLSPAN="2">Methods in <A HREF="../../../../../org/jacoco/core/analysis/package-summary.html">org.jacoco.core.analysis</A> that return types with arguments of type <A HREF="../../../../../org/jacoco/core/analysis/ISourceFileCoverage.html" title="interface in org.jacoco.core.analysis">ISourceFileCoverage</A></FONT></TH>
    +</TR>
    +<TR BGCOLOR="white" CLASS="TableRowColor">
    +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
    +<CODE>&nbsp;<A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/util/Collection.html" title="class or interface in java.util">Collection</A>&lt;<A HREF="../../../../../org/jacoco/core/analysis/ISourceFileCoverage.html" title="interface in org.jacoco.core.analysis">ISourceFileCoverage</A>&gt;</CODE></FONT></TD>
    +<TD><CODE><B>CoverageBuilder.</B><B><A HREF="../../../../../org/jacoco/core/analysis/CoverageBuilder.html#getSourceFiles()">getSourceFiles</A></B>()</CODE>
    +
    +<BR>
    +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns all source file nodes currently contained in this builder.</TD>
    +</TR>
    +<TR BGCOLOR="white" CLASS="TableRowColor">
    +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
    +<CODE>&nbsp;<A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/util/Collection.html" title="class or interface in java.util">Collection</A>&lt;<A HREF="../../../../../org/jacoco/core/analysis/ISourceFileCoverage.html" title="interface in org.jacoco.core.analysis">ISourceFileCoverage</A>&gt;</CODE></FONT></TD>
    +<TD><CODE><B>IPackageCoverage.</B><B><A HREF="../../../../../org/jacoco/core/analysis/IPackageCoverage.html#getSourceFiles()">getSourceFiles</A></B>()</CODE>
    +
    +<BR>
    +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns all source files in this package.</TD>
    +</TR>
    +</TABLE>
    +&nbsp;
    +<P>
    +<HR>
    +
    +
    +<!-- ======= START OF BOTTOM NAVBAR ====== -->
    +<A NAME="navbar_bottom"><!-- --></A>
    +<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
    +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
    +<TR>
    +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
    +<A NAME="navbar_bottom_firstrow"><!-- --></A>
    +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
    +  <TR ALIGN="center" VALIGN="top">
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../org/jacoco/core/analysis/ISourceFileCoverage.html" title="interface in org.jacoco.core.analysis"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
    +  </TR>
    +</TABLE>
    +</TD>
    +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
    +</EM>
    +</TD>
    +</TR>
    +
    +<TR>
    +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
    +&nbsp;PREV&nbsp;
    +&nbsp;NEXT</FONT></TD>
    +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
    +  <A HREF="../../../../../index.html?org/jacoco/core/analysis/class-use/ISourceFileCoverage.html" target="_top"><B>FRAMES</B></A>  &nbsp;
    +&nbsp;<A HREF="ISourceFileCoverage.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
    +&nbsp;<SCRIPT type="text/javascript">
    +  <!--
    +  if(window==top) {
    +    document.writeln('<A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>');
    +  }
    +  //-->
    +</SCRIPT>
    +<NOSCRIPT>
    +  <A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>
    +</NOSCRIPT>
    +
    +
    +</FONT></TD>
    +</TR>
    +</TABLE>
    +<A NAME="skip-navbar_bottom"></A>
    +<!-- ======== END OF BOTTOM NAVBAR ======= -->
    +
    +<HR>
    +Copyright &#169; 2009&#x2013;2024 Mountainminds GmbH & Co. KG. All rights reserved.
    +</BODY>
    +</HTML>
    diff --git a/jacoco/trunk/doc/api/org/jacoco/core/analysis/class-use/ISourceNode.html b/jacoco/trunk/doc/api/org/jacoco/core/analysis/class-use/ISourceNode.html
    new file mode 100644
    index 00000000000..2e4b0b126ca
    --- /dev/null
    +++ b/jacoco/trunk/doc/api/org/jacoco/core/analysis/class-use/ISourceNode.html
    @@ -0,0 +1,194 @@
    +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
    +<!--NewPage-->
    +<HTML>
    +<HEAD>
    +<!-- Generated by javadoc (build 1.5.0_22) on Wed Mar 27 16:45:42 UTC 2024 -->
    +<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
    +<TITLE>
    +Uses of Interface org.jacoco.core.analysis.ISourceNode (JaCoCo 0.8.12.202403270442 API)
    +</TITLE>
    +
    +
    +<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../../stylesheet.css" TITLE="Style">
    +
    +<SCRIPT type="text/javascript">
    +function windowTitle()
    +{
    +    parent.document.title="Uses of Interface org.jacoco.core.analysis.ISourceNode (JaCoCo 0.8.12.202403270442 API)";
    +}
    +</SCRIPT>
    +<NOSCRIPT>
    +</NOSCRIPT>
    +
    +</HEAD>
    +
    +<BODY BGCOLOR="white" onload="windowTitle();">
    +
    +
    +<!-- ========= START OF TOP NAVBAR ======= -->
    +<A NAME="navbar_top"><!-- --></A>
    +<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
    +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
    +<TR>
    +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
    +<A NAME="navbar_top_firstrow"><!-- --></A>
    +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
    +  <TR ALIGN="center" VALIGN="top">
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../org/jacoco/core/analysis/ISourceNode.html" title="interface in org.jacoco.core.analysis"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
    +  </TR>
    +</TABLE>
    +</TD>
    +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
    +</EM>
    +</TD>
    +</TR>
    +
    +<TR>
    +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
    +&nbsp;PREV&nbsp;
    +&nbsp;NEXT</FONT></TD>
    +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
    +  <A HREF="../../../../../index.html?org/jacoco/core/analysis/class-use/ISourceNode.html" target="_top"><B>FRAMES</B></A>  &nbsp;
    +&nbsp;<A HREF="ISourceNode.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
    +&nbsp;<SCRIPT type="text/javascript">
    +  <!--
    +  if(window==top) {
    +    document.writeln('<A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>');
    +  }
    +  //-->
    +</SCRIPT>
    +<NOSCRIPT>
    +  <A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>
    +</NOSCRIPT>
    +
    +
    +</FONT></TD>
    +</TR>
    +</TABLE>
    +<A NAME="skip-navbar_top"></A>
    +<!-- ========= END OF TOP NAVBAR ========= -->
    +
    +<HR>
    +<CENTER>
    +<H2>
    +<B>Uses of Interface<br>org.jacoco.core.analysis.ISourceNode</B></H2>
    +</CENTER>
    +
    +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
    +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
    +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
    +Packages that use <A HREF="../../../../../org/jacoco/core/analysis/ISourceNode.html" title="interface in org.jacoco.core.analysis">ISourceNode</A></FONT></TH>
    +</TR>
    +<TR BGCOLOR="white" CLASS="TableRowColor">
    +<TD><A HREF="#org.jacoco.core.analysis"><B>org.jacoco.core.analysis</B></A></TD>
    +<TD>
    + Coverage calculation and analysis.&nbsp;</TD>
    +</TR>
    +</TABLE>
    +&nbsp;
    +<P>
    +<A NAME="org.jacoco.core.analysis"><!-- --></A>
    +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
    +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
    +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
    +Uses of <A HREF="../../../../../org/jacoco/core/analysis/ISourceNode.html" title="interface in org.jacoco.core.analysis">ISourceNode</A> in <A HREF="../../../../../org/jacoco/core/analysis/package-summary.html">org.jacoco.core.analysis</A></FONT></TH>
    +</TR>
    +</TABLE>
    +&nbsp;
    +<P>
    +
    +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
    +<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor">
    +<TH ALIGN="left" COLSPAN="2">Subinterfaces of <A HREF="../../../../../org/jacoco/core/analysis/ISourceNode.html" title="interface in org.jacoco.core.analysis">ISourceNode</A> in <A HREF="../../../../../org/jacoco/core/analysis/package-summary.html">org.jacoco.core.analysis</A></FONT></TH>
    +</TR>
    +<TR BGCOLOR="white" CLASS="TableRowColor">
    +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
    +<CODE>&nbsp;interface</CODE></FONT></TD>
    +<TD><CODE><B><A HREF="../../../../../org/jacoco/core/analysis/IClassCoverage.html" title="interface in org.jacoco.core.analysis">IClassCoverage</A></B></CODE>
    +
    +<BR>
    +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Coverage data of a single class containing methods.</TD>
    +</TR>
    +<TR BGCOLOR="white" CLASS="TableRowColor">
    +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
    +<CODE>&nbsp;interface</CODE></FONT></TD>
    +<TD><CODE><B><A HREF="../../../../../org/jacoco/core/analysis/IMethodCoverage.html" title="interface in org.jacoco.core.analysis">IMethodCoverage</A></B></CODE>
    +
    +<BR>
    +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Coverage data of a single method.</TD>
    +</TR>
    +<TR BGCOLOR="white" CLASS="TableRowColor">
    +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
    +<CODE>&nbsp;interface</CODE></FONT></TD>
    +<TD><CODE><B><A HREF="../../../../../org/jacoco/core/analysis/ISourceFileCoverage.html" title="interface in org.jacoco.core.analysis">ISourceFileCoverage</A></B></CODE>
    +
    +<BR>
    +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Coverage data of a single source file.</TD>
    +</TR>
    +</TABLE>
    +&nbsp;
    +<P>
    +<HR>
    +
    +
    +<!-- ======= START OF BOTTOM NAVBAR ====== -->
    +<A NAME="navbar_bottom"><!-- --></A>
    +<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
    +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
    +<TR>
    +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
    +<A NAME="navbar_bottom_firstrow"><!-- --></A>
    +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
    +  <TR ALIGN="center" VALIGN="top">
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../org/jacoco/core/analysis/ISourceNode.html" title="interface in org.jacoco.core.analysis"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
    +  </TR>
    +</TABLE>
    +</TD>
    +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
    +</EM>
    +</TD>
    +</TR>
    +
    +<TR>
    +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
    +&nbsp;PREV&nbsp;
    +&nbsp;NEXT</FONT></TD>
    +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
    +  <A HREF="../../../../../index.html?org/jacoco/core/analysis/class-use/ISourceNode.html" target="_top"><B>FRAMES</B></A>  &nbsp;
    +&nbsp;<A HREF="ISourceNode.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
    +&nbsp;<SCRIPT type="text/javascript">
    +  <!--
    +  if(window==top) {
    +    document.writeln('<A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>');
    +  }
    +  //-->
    +</SCRIPT>
    +<NOSCRIPT>
    +  <A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>
    +</NOSCRIPT>
    +
    +
    +</FONT></TD>
    +</TR>
    +</TABLE>
    +<A NAME="skip-navbar_bottom"></A>
    +<!-- ======== END OF BOTTOM NAVBAR ======= -->
    +
    +<HR>
    +Copyright &#169; 2009&#x2013;2024 Mountainminds GmbH & Co. KG. All rights reserved.
    +</BODY>
    +</HTML>
    diff --git a/jacoco/trunk/doc/api/org/jacoco/core/analysis/class-use/NodeComparator.html b/jacoco/trunk/doc/api/org/jacoco/core/analysis/class-use/NodeComparator.html
    new file mode 100644
    index 00000000000..1d9570d3c59
    --- /dev/null
    +++ b/jacoco/trunk/doc/api/org/jacoco/core/analysis/class-use/NodeComparator.html
    @@ -0,0 +1,187 @@
    +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
    +<!--NewPage-->
    +<HTML>
    +<HEAD>
    +<!-- Generated by javadoc (build 1.5.0_22) on Wed Mar 27 16:45:42 UTC 2024 -->
    +<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
    +<TITLE>
    +Uses of Class org.jacoco.core.analysis.NodeComparator (JaCoCo 0.8.12.202403270442 API)
    +</TITLE>
    +
    +
    +<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../../stylesheet.css" TITLE="Style">
    +
    +<SCRIPT type="text/javascript">
    +function windowTitle()
    +{
    +    parent.document.title="Uses of Class org.jacoco.core.analysis.NodeComparator (JaCoCo 0.8.12.202403270442 API)";
    +}
    +</SCRIPT>
    +<NOSCRIPT>
    +</NOSCRIPT>
    +
    +</HEAD>
    +
    +<BODY BGCOLOR="white" onload="windowTitle();">
    +
    +
    +<!-- ========= START OF TOP NAVBAR ======= -->
    +<A NAME="navbar_top"><!-- --></A>
    +<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
    +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
    +<TR>
    +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
    +<A NAME="navbar_top_firstrow"><!-- --></A>
    +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
    +  <TR ALIGN="center" VALIGN="top">
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../org/jacoco/core/analysis/NodeComparator.html" title="class in org.jacoco.core.analysis"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
    +  </TR>
    +</TABLE>
    +</TD>
    +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
    +</EM>
    +</TD>
    +</TR>
    +
    +<TR>
    +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
    +&nbsp;PREV&nbsp;
    +&nbsp;NEXT</FONT></TD>
    +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
    +  <A HREF="../../../../../index.html?org/jacoco/core/analysis/class-use/NodeComparator.html" target="_top"><B>FRAMES</B></A>  &nbsp;
    +&nbsp;<A HREF="NodeComparator.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
    +&nbsp;<SCRIPT type="text/javascript">
    +  <!--
    +  if(window==top) {
    +    document.writeln('<A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>');
    +  }
    +  //-->
    +</SCRIPT>
    +<NOSCRIPT>
    +  <A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>
    +</NOSCRIPT>
    +
    +
    +</FONT></TD>
    +</TR>
    +</TABLE>
    +<A NAME="skip-navbar_top"></A>
    +<!-- ========= END OF TOP NAVBAR ========= -->
    +
    +<HR>
    +<CENTER>
    +<H2>
    +<B>Uses of Class<br>org.jacoco.core.analysis.NodeComparator</B></H2>
    +</CENTER>
    +
    +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
    +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
    +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
    +Packages that use <A HREF="../../../../../org/jacoco/core/analysis/NodeComparator.html" title="class in org.jacoco.core.analysis">NodeComparator</A></FONT></TH>
    +</TR>
    +<TR BGCOLOR="white" CLASS="TableRowColor">
    +<TD><A HREF="#org.jacoco.core.analysis"><B>org.jacoco.core.analysis</B></A></TD>
    +<TD>
    + Coverage calculation and analysis.&nbsp;</TD>
    +</TR>
    +</TABLE>
    +&nbsp;
    +<P>
    +<A NAME="org.jacoco.core.analysis"><!-- --></A>
    +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
    +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
    +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
    +Uses of <A HREF="../../../../../org/jacoco/core/analysis/NodeComparator.html" title="class in org.jacoco.core.analysis">NodeComparator</A> in <A HREF="../../../../../org/jacoco/core/analysis/package-summary.html">org.jacoco.core.analysis</A></FONT></TH>
    +</TR>
    +</TABLE>
    +&nbsp;
    +<P>
    +
    +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
    +<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor">
    +<TH ALIGN="left" COLSPAN="2">Methods in <A HREF="../../../../../org/jacoco/core/analysis/package-summary.html">org.jacoco.core.analysis</A> that return <A HREF="../../../../../org/jacoco/core/analysis/NodeComparator.html" title="class in org.jacoco.core.analysis">NodeComparator</A></FONT></TH>
    +</TR>
    +<TR BGCOLOR="white" CLASS="TableRowColor">
    +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
    +<CODE>&nbsp;<A HREF="../../../../../org/jacoco/core/analysis/NodeComparator.html" title="class in org.jacoco.core.analysis">NodeComparator</A></CODE></FONT></TD>
    +<TD><CODE><B>CounterComparator.</B><B><A HREF="../../../../../org/jacoco/core/analysis/CounterComparator.html#on(org.jacoco.core.analysis.ICoverageNode.CounterEntity)">on</A></B>(<A HREF="../../../../../org/jacoco/core/analysis/ICoverageNode.CounterEntity.html" title="enum in org.jacoco.core.analysis">ICoverageNode.CounterEntity</A>&nbsp;entity)</CODE>
    +
    +<BR>
    +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Creates a new comparator for <A HREF="../../../../../org/jacoco/core/analysis/ICoverageNode.html" title="interface in org.jacoco.core.analysis"><CODE>ICoverageNode</CODE></A> counters of the given
    + entity based on this counter sorting criteria.</TD>
    +</TR>
    +<TR BGCOLOR="white" CLASS="TableRowColor">
    +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
    +<CODE>&nbsp;<A HREF="../../../../../org/jacoco/core/analysis/NodeComparator.html" title="class in org.jacoco.core.analysis">NodeComparator</A></CODE></FONT></TD>
    +<TD><CODE><B>NodeComparator.</B><B><A HREF="../../../../../org/jacoco/core/analysis/NodeComparator.html#second(java.util.Comparator)">second</A></B>(<A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/util/Comparator.html" title="class or interface in java.util">Comparator</A>&lt;<A HREF="../../../../../org/jacoco/core/analysis/ICoverageNode.html" title="interface in org.jacoco.core.analysis">ICoverageNode</A>&gt;&nbsp;second)</CODE>
    +
    +<BR>
    +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Creates a new composite comparator with a second search criterion.</TD>
    +</TR>
    +</TABLE>
    +&nbsp;
    +<P>
    +<HR>
    +
    +
    +<!-- ======= START OF BOTTOM NAVBAR ====== -->
    +<A NAME="navbar_bottom"><!-- --></A>
    +<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
    +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
    +<TR>
    +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
    +<A NAME="navbar_bottom_firstrow"><!-- --></A>
    +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
    +  <TR ALIGN="center" VALIGN="top">
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../org/jacoco/core/analysis/NodeComparator.html" title="class in org.jacoco.core.analysis"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
    +  </TR>
    +</TABLE>
    +</TD>
    +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
    +</EM>
    +</TD>
    +</TR>
    +
    +<TR>
    +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
    +&nbsp;PREV&nbsp;
    +&nbsp;NEXT</FONT></TD>
    +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
    +  <A HREF="../../../../../index.html?org/jacoco/core/analysis/class-use/NodeComparator.html" target="_top"><B>FRAMES</B></A>  &nbsp;
    +&nbsp;<A HREF="NodeComparator.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
    +&nbsp;<SCRIPT type="text/javascript">
    +  <!--
    +  if(window==top) {
    +    document.writeln('<A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>');
    +  }
    +  //-->
    +</SCRIPT>
    +<NOSCRIPT>
    +  <A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>
    +</NOSCRIPT>
    +
    +
    +</FONT></TD>
    +</TR>
    +</TABLE>
    +<A NAME="skip-navbar_bottom"></A>
    +<!-- ======== END OF BOTTOM NAVBAR ======= -->
    +
    +<HR>
    +Copyright &#169; 2009&#x2013;2024 Mountainminds GmbH & Co. KG. All rights reserved.
    +</BODY>
    +</HTML>
    diff --git a/jacoco/trunk/doc/api/org/jacoco/core/analysis/package-frame.html b/jacoco/trunk/doc/api/org/jacoco/core/analysis/package-frame.html
    new file mode 100644
    index 00000000000..e7c10eb84ed
    --- /dev/null
    +++ b/jacoco/trunk/doc/api/org/jacoco/core/analysis/package-frame.html
    @@ -0,0 +1,85 @@
    +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
    +<!--NewPage-->
    +<HTML>
    +<HEAD>
    +<!-- Generated by javadoc (build 1.5.0_22) on Wed Mar 27 16:45:42 UTC 2024 -->
    +<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
    +<TITLE>
    +org.jacoco.core.analysis (JaCoCo 0.8.12.202403270442 API)
    +</TITLE>
    +
    +<META NAME="keywords" CONTENT="org.jacoco.core.analysis package">
    +
    +<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../stylesheet.css" TITLE="Style">
    +
    +
    +</HEAD>
    +
    +<BODY BGCOLOR="white">
    +<FONT size="+1" CLASS="FrameTitleFont">
    +<A HREF="../../../../org/jacoco/core/analysis/package-summary.html" target="classFrame">org.jacoco.core.analysis</A></FONT>
    +<TABLE BORDER="0" WIDTH="100%" SUMMARY="">
    +<TR>
    +<TD NOWRAP><FONT size="+1" CLASS="FrameHeadingFont">
    +Interfaces</FONT>&nbsp;
    +<FONT CLASS="FrameItemFont">
    +<BR>
    +<A HREF="IBundleCoverage.html" title="interface in org.jacoco.core.analysis" target="classFrame"><I>IBundleCoverage</I></A>
    +<BR>
    +<A HREF="IClassCoverage.html" title="interface in org.jacoco.core.analysis" target="classFrame"><I>IClassCoverage</I></A>
    +<BR>
    +<A HREF="ICounter.html" title="interface in org.jacoco.core.analysis" target="classFrame"><I>ICounter</I></A>
    +<BR>
    +<A HREF="ICoverageNode.html" title="interface in org.jacoco.core.analysis" target="classFrame"><I>ICoverageNode</I></A>
    +<BR>
    +<A HREF="ICoverageVisitor.html" title="interface in org.jacoco.core.analysis" target="classFrame"><I>ICoverageVisitor</I></A>
    +<BR>
    +<A HREF="ILine.html" title="interface in org.jacoco.core.analysis" target="classFrame"><I>ILine</I></A>
    +<BR>
    +<A HREF="IMethodCoverage.html" title="interface in org.jacoco.core.analysis" target="classFrame"><I>IMethodCoverage</I></A>
    +<BR>
    +<A HREF="IPackageCoverage.html" title="interface in org.jacoco.core.analysis" target="classFrame"><I>IPackageCoverage</I></A>
    +<BR>
    +<A HREF="ISourceFileCoverage.html" title="interface in org.jacoco.core.analysis" target="classFrame"><I>ISourceFileCoverage</I></A>
    +<BR>
    +<A HREF="ISourceNode.html" title="interface in org.jacoco.core.analysis" target="classFrame"><I>ISourceNode</I></A></FONT></TD>
    +</TR>
    +</TABLE>
    +
    +
    +<TABLE BORDER="0" WIDTH="100%" SUMMARY="">
    +<TR>
    +<TD NOWRAP><FONT size="+1" CLASS="FrameHeadingFont">
    +Classes</FONT>&nbsp;
    +<FONT CLASS="FrameItemFont">
    +<BR>
    +<A HREF="Analyzer.html" title="class in org.jacoco.core.analysis" target="classFrame">Analyzer</A>
    +<BR>
    +<A HREF="CounterComparator.html" title="class in org.jacoco.core.analysis" target="classFrame">CounterComparator</A>
    +<BR>
    +<A HREF="CoverageBuilder.html" title="class in org.jacoco.core.analysis" target="classFrame">CoverageBuilder</A>
    +<BR>
    +<A HREF="CoverageNodeImpl.html" title="class in org.jacoco.core.analysis" target="classFrame">CoverageNodeImpl</A>
    +<BR>
    +<A HREF="NodeComparator.html" title="class in org.jacoco.core.analysis" target="classFrame">NodeComparator</A></FONT></TD>
    +</TR>
    +</TABLE>
    +
    +
    +<TABLE BORDER="0" WIDTH="100%" SUMMARY="">
    +<TR>
    +<TD NOWRAP><FONT size="+1" CLASS="FrameHeadingFont">
    +Enums</FONT>&nbsp;
    +<FONT CLASS="FrameItemFont">
    +<BR>
    +<A HREF="ICounter.CounterValue.html" title="enum in org.jacoco.core.analysis" target="classFrame">ICounter.CounterValue</A>
    +<BR>
    +<A HREF="ICoverageNode.CounterEntity.html" title="enum in org.jacoco.core.analysis" target="classFrame">ICoverageNode.CounterEntity</A>
    +<BR>
    +<A HREF="ICoverageNode.ElementType.html" title="enum in org.jacoco.core.analysis" target="classFrame">ICoverageNode.ElementType</A></FONT></TD>
    +</TR>
    +</TABLE>
    +
    +
    +</BODY>
    +</HTML>
    diff --git a/jacoco/trunk/doc/api/org/jacoco/core/analysis/package-summary.html b/jacoco/trunk/doc/api/org/jacoco/core/analysis/package-summary.html
    new file mode 100644
    index 00000000000..20b583dd1b5
    --- /dev/null
    +++ b/jacoco/trunk/doc/api/org/jacoco/core/analysis/package-summary.html
    @@ -0,0 +1,288 @@
    +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
    +<!--NewPage-->
    +<HTML>
    +<HEAD>
    +<!-- Generated by javadoc (build 1.5.0_22) on Wed Mar 27 16:45:42 UTC 2024 -->
    +<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
    +<TITLE>
    +org.jacoco.core.analysis (JaCoCo 0.8.12.202403270442 API)
    +</TITLE>
    +
    +<META NAME="keywords" CONTENT="org.jacoco.core.analysis package">
    +
    +<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../stylesheet.css" TITLE="Style">
    +
    +<SCRIPT type="text/javascript">
    +function windowTitle()
    +{
    +    parent.document.title="org.jacoco.core.analysis (JaCoCo 0.8.12.202403270442 API)";
    +}
    +</SCRIPT>
    +<NOSCRIPT>
    +</NOSCRIPT>
    +
    +</HEAD>
    +
    +<BODY BGCOLOR="white" onload="windowTitle();">
    +
    +
    +<!-- ========= START OF TOP NAVBAR ======= -->
    +<A NAME="navbar_top"><!-- --></A>
    +<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
    +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
    +<TR>
    +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
    +<A NAME="navbar_top_firstrow"><!-- --></A>
    +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
    +  <TR ALIGN="center" VALIGN="top">
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Package</B></FONT>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <FONT CLASS="NavBarFont1">Class</FONT>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-use.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
    +  </TR>
    +</TABLE>
    +</TD>
    +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
    +</EM>
    +</TD>
    +</TR>
    +
    +<TR>
    +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
    +&nbsp;<A HREF="../../../../org/jacoco/core/package-summary.html"><B>PREV PACKAGE</B></A>&nbsp;
    +&nbsp;<A HREF="../../../../org/jacoco/core/data/package-summary.html"><B>NEXT PACKAGE</B></A></FONT></TD>
    +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
    +  <A HREF="../../../../index.html?org/jacoco/core/analysis/package-summary.html" target="_top"><B>FRAMES</B></A>  &nbsp;
    +&nbsp;<A HREF="package-summary.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
    +&nbsp;<SCRIPT type="text/javascript">
    +  <!--
    +  if(window==top) {
    +    document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>');
    +  }
    +  //-->
    +</SCRIPT>
    +<NOSCRIPT>
    +  <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>
    +</NOSCRIPT>
    +
    +
    +</FONT></TD>
    +</TR>
    +</TABLE>
    +<A NAME="skip-navbar_top"></A>
    +<!-- ========= END OF TOP NAVBAR ========= -->
    +
    +<HR>
    +<H2>
    +Package org.jacoco.core.analysis
    +</H2>
    +
    + Coverage calculation and analysis.
    +<P>
    +<B>See:</B>
    +<BR>
    +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<A HREF="#package_description"><B>Description</B></A>
    +<P>
    +
    +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
    +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
    +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
    +<B>Interface Summary</B></FONT></TH>
    +</TR>
    +<TR BGCOLOR="white" CLASS="TableRowColor">
    +<TD WIDTH="15%"><B><A HREF="../../../../org/jacoco/core/analysis/IBundleCoverage.html" title="interface in org.jacoco.core.analysis">IBundleCoverage</A></B></TD>
    +<TD>Coverage data of a bundle.</TD>
    +</TR>
    +<TR BGCOLOR="white" CLASS="TableRowColor">
    +<TD WIDTH="15%"><B><A HREF="../../../../org/jacoco/core/analysis/IClassCoverage.html" title="interface in org.jacoco.core.analysis">IClassCoverage</A></B></TD>
    +<TD>Coverage data of a single class containing methods.</TD>
    +</TR>
    +<TR BGCOLOR="white" CLASS="TableRowColor">
    +<TD WIDTH="15%"><B><A HREF="../../../../org/jacoco/core/analysis/ICounter.html" title="interface in org.jacoco.core.analysis">ICounter</A></B></TD>
    +<TD>A counter holds the missed and the covered number of particular items like
    + classes, methods, branches or instructions.</TD>
    +</TR>
    +<TR BGCOLOR="white" CLASS="TableRowColor">
    +<TD WIDTH="15%"><B><A HREF="../../../../org/jacoco/core/analysis/ICoverageNode.html" title="interface in org.jacoco.core.analysis">ICoverageNode</A></B></TD>
    +<TD>Interface for hierarchical coverage data nodes with different coverage
    + counters.</TD>
    +</TR>
    +<TR BGCOLOR="white" CLASS="TableRowColor">
    +<TD WIDTH="15%"><B><A HREF="../../../../org/jacoco/core/analysis/ICoverageVisitor.html" title="interface in org.jacoco.core.analysis">ICoverageVisitor</A></B></TD>
    +<TD>Interface for coverage data output as a stream of <A HREF="../../../../org/jacoco/core/analysis/IClassCoverage.html" title="interface in org.jacoco.core.analysis"><CODE>IClassCoverage</CODE></A>
    + instances.</TD>
    +</TR>
    +<TR BGCOLOR="white" CLASS="TableRowColor">
    +<TD WIDTH="15%"><B><A HREF="../../../../org/jacoco/core/analysis/ILine.html" title="interface in org.jacoco.core.analysis">ILine</A></B></TD>
    +<TD>The instruction and branch coverage of a single source line is described by
    + this interface.</TD>
    +</TR>
    +<TR BGCOLOR="white" CLASS="TableRowColor">
    +<TD WIDTH="15%"><B><A HREF="../../../../org/jacoco/core/analysis/IMethodCoverage.html" title="interface in org.jacoco.core.analysis">IMethodCoverage</A></B></TD>
    +<TD>Coverage data of a single method.</TD>
    +</TR>
    +<TR BGCOLOR="white" CLASS="TableRowColor">
    +<TD WIDTH="15%"><B><A HREF="../../../../org/jacoco/core/analysis/IPackageCoverage.html" title="interface in org.jacoco.core.analysis">IPackageCoverage</A></B></TD>
    +<TD>Coverage data of a Java package containing classes and source files.</TD>
    +</TR>
    +<TR BGCOLOR="white" CLASS="TableRowColor">
    +<TD WIDTH="15%"><B><A HREF="../../../../org/jacoco/core/analysis/ISourceFileCoverage.html" title="interface in org.jacoco.core.analysis">ISourceFileCoverage</A></B></TD>
    +<TD>Coverage data of a single source file.</TD>
    +</TR>
    +<TR BGCOLOR="white" CLASS="TableRowColor">
    +<TD WIDTH="15%"><B><A HREF="../../../../org/jacoco/core/analysis/ISourceNode.html" title="interface in org.jacoco.core.analysis">ISourceNode</A></B></TD>
    +<TD>Interface for coverage nodes that have individual source lines like methods,
    + classes and source files.</TD>
    +</TR>
    +</TABLE>
    +&nbsp;
    +
    +<P>
    +
    +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
    +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
    +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
    +<B>Class Summary</B></FONT></TH>
    +</TR>
    +<TR BGCOLOR="white" CLASS="TableRowColor">
    +<TD WIDTH="15%"><B><A HREF="../../../../org/jacoco/core/analysis/Analyzer.html" title="class in org.jacoco.core.analysis">Analyzer</A></B></TD>
    +<TD>An <A HREF="../../../../org/jacoco/core/analysis/Analyzer.html" title="class in org.jacoco.core.analysis"><CODE>Analyzer</CODE></A> instance processes a set of Java class files and
    + calculates coverage data for them.</TD>
    +</TR>
    +<TR BGCOLOR="white" CLASS="TableRowColor">
    +<TD WIDTH="15%"><B><A HREF="../../../../org/jacoco/core/analysis/CounterComparator.html" title="class in org.jacoco.core.analysis">CounterComparator</A></B></TD>
    +<TD>Collection of comparators to compare <A HREF="../../../../org/jacoco/core/analysis/ICounter.html" title="interface in org.jacoco.core.analysis"><CODE>ICounter</CODE></A> objects by different
    + criteria.</TD>
    +</TR>
    +<TR BGCOLOR="white" CLASS="TableRowColor">
    +<TD WIDTH="15%"><B><A HREF="../../../../org/jacoco/core/analysis/CoverageBuilder.html" title="class in org.jacoco.core.analysis">CoverageBuilder</A></B></TD>
    +<TD>Builder for hierarchical <A HREF="../../../../org/jacoco/core/analysis/ICoverageNode.html" title="interface in org.jacoco.core.analysis"><CODE>ICoverageNode</CODE></A> structures from single
    + <A HREF="../../../../org/jacoco/core/analysis/IClassCoverage.html" title="interface in org.jacoco.core.analysis"><CODE>IClassCoverage</CODE></A> nodes.</TD>
    +</TR>
    +<TR BGCOLOR="white" CLASS="TableRowColor">
    +<TD WIDTH="15%"><B><A HREF="../../../../org/jacoco/core/analysis/CoverageNodeImpl.html" title="class in org.jacoco.core.analysis">CoverageNodeImpl</A></B></TD>
    +<TD>Base implementation for coverage data nodes.</TD>
    +</TR>
    +<TR BGCOLOR="white" CLASS="TableRowColor">
    +<TD WIDTH="15%"><B><A HREF="../../../../org/jacoco/core/analysis/NodeComparator.html" title="class in org.jacoco.core.analysis">NodeComparator</A></B></TD>
    +<TD>Comparator to compare <A HREF="../../../../org/jacoco/core/analysis/ICoverageNode.html" title="interface in org.jacoco.core.analysis"><CODE>ICoverageNode</CODE></A> objects by different counter
    + criteria.</TD>
    +</TR>
    +</TABLE>
    +&nbsp;
    +
    +<P>
    +
    +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
    +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
    +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
    +<B>Enum Summary</B></FONT></TH>
    +</TR>
    +<TR BGCOLOR="white" CLASS="TableRowColor">
    +<TD WIDTH="15%"><B><A HREF="../../../../org/jacoco/core/analysis/ICounter.CounterValue.html" title="enum in org.jacoco.core.analysis">ICounter.CounterValue</A></B></TD>
    +<TD>Different values provided by a counter.</TD>
    +</TR>
    +<TR BGCOLOR="white" CLASS="TableRowColor">
    +<TD WIDTH="15%"><B><A HREF="../../../../org/jacoco/core/analysis/ICoverageNode.CounterEntity.html" title="enum in org.jacoco.core.analysis">ICoverageNode.CounterEntity</A></B></TD>
    +<TD>Different counter types supported by JaCoCo.</TD>
    +</TR>
    +<TR BGCOLOR="white" CLASS="TableRowColor">
    +<TD WIDTH="15%"><B><A HREF="../../../../org/jacoco/core/analysis/ICoverageNode.ElementType.html" title="enum in org.jacoco.core.analysis">ICoverageNode.ElementType</A></B></TD>
    +<TD>Type of a Java element represented by a <A HREF="../../../../org/jacoco/core/analysis/ICoverageNode.html" title="interface in org.jacoco.core.analysis"><CODE>ICoverageNode</CODE></A> instance.</TD>
    +</TR>
    +</TABLE>
    +&nbsp;
    +
    +<P>
    +<A NAME="package_description"><!-- --></A><H2>
    +Package org.jacoco.core.analysis Description
    +</H2>
    +
    +<P>
    +<p>
    + Coverage calculation and analysis. The coverage information is calculated
    + with an <A HREF="../../../../org/jacoco/core/analysis/Analyzer.html" title="class in org.jacoco.core.analysis"><CODE>Analyzer</CODE></A> instance from class files
    + (target) and <A HREF="../../../../org/jacoco/core/data/IExecutionDataVisitor.html" title="interface in org.jacoco.core.data">execution
    + data</A> (actual).
    + </p>
    +
    + <p>
    + The <A HREF="../../../../org/jacoco/core/analysis/CoverageBuilder.html" title="class in org.jacoco.core.analysis"><CODE>CoverageBuilder</CODE></A> creates a hierarchy of
    + <A HREF="../../../../org/jacoco/core/analysis/ICoverageNode.html" title="interface in org.jacoco.core.analysis"><CODE>ICoverageNode</CODE></A> instances with the following
    + <A HREF="../../../../org/jacoco/core/analysis/ICoverageNode.ElementType.html" title="enum in org.jacoco.core.analysis"><CODE>types</CODE></A>:
    + </p>
    +
    + <pre>
    + +-- <A HREF="../../../../org/jacoco/core/analysis/ICoverageNode.ElementType.html#GROUP">Group</A> (optional)
    +     +-- <A HREF="../../../../org/jacoco/core/analysis/ICoverageNode.ElementType.html#BUNDLE">Bundle</A>
    +         +-- <A HREF="../../../../org/jacoco/core/analysis/ICoverageNode.ElementType.html#PACKAGE">Package</A>
    +             +-- <A HREF="../../../../org/jacoco/core/analysis/ICoverageNode.ElementType.html#SOURCEFILE">Source File</A>
    +                 +-- <A HREF="../../../../org/jacoco/core/analysis/ICoverageNode.ElementType.html#CLASS">Class</A>
    +                     +-- <A HREF="../../../../org/jacoco/core/analysis/ICoverageNode.ElementType.html#METHOD">Method</A>
    + </pre>
    +<P>
    +
    +<P>
    +<DL>
    +</DL>
    +<HR>
    +
    +
    +<!-- ======= START OF BOTTOM NAVBAR ====== -->
    +<A NAME="navbar_bottom"><!-- --></A>
    +<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
    +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
    +<TR>
    +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
    +<A NAME="navbar_bottom_firstrow"><!-- --></A>
    +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
    +  <TR ALIGN="center" VALIGN="top">
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Package</B></FONT>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <FONT CLASS="NavBarFont1">Class</FONT>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-use.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
    +  </TR>
    +</TABLE>
    +</TD>
    +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
    +</EM>
    +</TD>
    +</TR>
    +
    +<TR>
    +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
    +&nbsp;<A HREF="../../../../org/jacoco/core/package-summary.html"><B>PREV PACKAGE</B></A>&nbsp;
    +&nbsp;<A HREF="../../../../org/jacoco/core/data/package-summary.html"><B>NEXT PACKAGE</B></A></FONT></TD>
    +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
    +  <A HREF="../../../../index.html?org/jacoco/core/analysis/package-summary.html" target="_top"><B>FRAMES</B></A>  &nbsp;
    +&nbsp;<A HREF="package-summary.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
    +&nbsp;<SCRIPT type="text/javascript">
    +  <!--
    +  if(window==top) {
    +    document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>');
    +  }
    +  //-->
    +</SCRIPT>
    +<NOSCRIPT>
    +  <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>
    +</NOSCRIPT>
    +
    +
    +</FONT></TD>
    +</TR>
    +</TABLE>
    +<A NAME="skip-navbar_bottom"></A>
    +<!-- ======== END OF BOTTOM NAVBAR ======= -->
    +
    +<HR>
    +Copyright &#169; 2009&#x2013;2024 Mountainminds GmbH & Co. KG. All rights reserved.
    +</BODY>
    +</HTML>
    diff --git a/jacoco/trunk/doc/api/org/jacoco/core/analysis/package-tree.html b/jacoco/trunk/doc/api/org/jacoco/core/analysis/package-tree.html
    new file mode 100644
    index 00000000000..401452de577
    --- /dev/null
    +++ b/jacoco/trunk/doc/api/org/jacoco/core/analysis/package-tree.html
    @@ -0,0 +1,173 @@
    +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
    +<!--NewPage-->
    +<HTML>
    +<HEAD>
    +<!-- Generated by javadoc (build 1.5.0_22) on Wed Mar 27 16:45:42 UTC 2024 -->
    +<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
    +<TITLE>
    +org.jacoco.core.analysis Class Hierarchy (JaCoCo 0.8.12.202403270442 API)
    +</TITLE>
    +
    +
    +<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../stylesheet.css" TITLE="Style">
    +
    +<SCRIPT type="text/javascript">
    +function windowTitle()
    +{
    +    parent.document.title="org.jacoco.core.analysis Class Hierarchy (JaCoCo 0.8.12.202403270442 API)";
    +}
    +</SCRIPT>
    +<NOSCRIPT>
    +</NOSCRIPT>
    +
    +</HEAD>
    +
    +<BODY BGCOLOR="white" onload="windowTitle();">
    +
    +
    +<!-- ========= START OF TOP NAVBAR ======= -->
    +<A NAME="navbar_top"><!-- --></A>
    +<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
    +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
    +<TR>
    +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
    +<A NAME="navbar_top_firstrow"><!-- --></A>
    +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
    +  <TR ALIGN="center" VALIGN="top">
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <FONT CLASS="NavBarFont1">Class</FONT>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <FONT CLASS="NavBarFont1">Use</FONT>&nbsp;</TD>
    +  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Tree</B></FONT>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
    +  </TR>
    +</TABLE>
    +</TD>
    +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
    +</EM>
    +</TD>
    +</TR>
    +
    +<TR>
    +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
    +&nbsp;<A HREF="../../../../org/jacoco/core/package-tree.html"><B>PREV</B></A>&nbsp;
    +&nbsp;<A HREF="../../../../org/jacoco/core/data/package-tree.html"><B>NEXT</B></A></FONT></TD>
    +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
    +  <A HREF="../../../../index.html?org/jacoco/core/analysis/package-tree.html" target="_top"><B>FRAMES</B></A>  &nbsp;
    +&nbsp;<A HREF="package-tree.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
    +&nbsp;<SCRIPT type="text/javascript">
    +  <!--
    +  if(window==top) {
    +    document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>');
    +  }
    +  //-->
    +</SCRIPT>
    +<NOSCRIPT>
    +  <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>
    +</NOSCRIPT>
    +
    +
    +</FONT></TD>
    +</TR>
    +</TABLE>
    +<A NAME="skip-navbar_top"></A>
    +<!-- ========= END OF TOP NAVBAR ========= -->
    +
    +<HR>
    +<CENTER>
    +<H2>
    +Hierarchy For Package org.jacoco.core.analysis
    +</H2>
    +</CENTER>
    +<DL>
    +<DT><B>Package Hierarchies:</B><DD><A HREF="../../../../overview-tree.html">All Packages</A></DL>
    +<HR>
    +<H2>
    +Class Hierarchy
    +</H2>
    +<UL>
    +<LI TYPE="circle">java.lang.<A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html" title="class or interface in java.lang"><B>Object</B></A><UL>
    +<LI TYPE="circle">org.jacoco.core.analysis.<A HREF="../../../../org/jacoco/core/analysis/Analyzer.html" title="class in org.jacoco.core.analysis"><B>Analyzer</B></A><LI TYPE="circle">org.jacoco.core.analysis.<A HREF="../../../../org/jacoco/core/analysis/CounterComparator.html" title="class in org.jacoco.core.analysis"><B>CounterComparator</B></A> (implements java.util.<A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/util/Comparator.html" title="class or interface in java.util">Comparator</A>&lt;T&gt;, java.io.<A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/io/Serializable.html" title="class or interface in java.io">Serializable</A>)
    +<LI TYPE="circle">org.jacoco.core.analysis.<A HREF="../../../../org/jacoco/core/analysis/CoverageBuilder.html" title="class in org.jacoco.core.analysis"><B>CoverageBuilder</B></A> (implements org.jacoco.core.analysis.<A HREF="../../../../org/jacoco/core/analysis/ICoverageVisitor.html" title="interface in org.jacoco.core.analysis">ICoverageVisitor</A>)
    +<LI TYPE="circle">org.jacoco.core.analysis.<A HREF="../../../../org/jacoco/core/analysis/CoverageNodeImpl.html" title="class in org.jacoco.core.analysis"><B>CoverageNodeImpl</B></A> (implements org.jacoco.core.analysis.<A HREF="../../../../org/jacoco/core/analysis/ICoverageNode.html" title="interface in org.jacoco.core.analysis">ICoverageNode</A>)
    +<LI TYPE="circle">org.jacoco.core.analysis.<A HREF="../../../../org/jacoco/core/analysis/NodeComparator.html" title="class in org.jacoco.core.analysis"><B>NodeComparator</B></A> (implements java.util.<A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/util/Comparator.html" title="class or interface in java.util">Comparator</A>&lt;T&gt;, java.io.<A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/io/Serializable.html" title="class or interface in java.io">Serializable</A>)
    +</UL>
    +</UL>
    +<H2>
    +Interface Hierarchy
    +</H2>
    +<UL>
    +<LI TYPE="circle">org.jacoco.core.analysis.<A HREF="../../../../org/jacoco/core/analysis/ICounter.html" title="interface in org.jacoco.core.analysis"><B>ICounter</B></A><LI TYPE="circle">org.jacoco.core.analysis.<A HREF="../../../../org/jacoco/core/analysis/ICoverageNode.html" title="interface in org.jacoco.core.analysis"><B>ICoverageNode</B></A><UL>
    +<LI TYPE="circle">org.jacoco.core.analysis.<A HREF="../../../../org/jacoco/core/analysis/IBundleCoverage.html" title="interface in org.jacoco.core.analysis"><B>IBundleCoverage</B></A><LI TYPE="circle">org.jacoco.core.analysis.<A HREF="../../../../org/jacoco/core/analysis/IPackageCoverage.html" title="interface in org.jacoco.core.analysis"><B>IPackageCoverage</B></A><LI TYPE="circle">org.jacoco.core.analysis.<A HREF="../../../../org/jacoco/core/analysis/ISourceNode.html" title="interface in org.jacoco.core.analysis"><B>ISourceNode</B></A><UL>
    +<LI TYPE="circle">org.jacoco.core.analysis.<A HREF="../../../../org/jacoco/core/analysis/IClassCoverage.html" title="interface in org.jacoco.core.analysis"><B>IClassCoverage</B></A><LI TYPE="circle">org.jacoco.core.analysis.<A HREF="../../../../org/jacoco/core/analysis/IMethodCoverage.html" title="interface in org.jacoco.core.analysis"><B>IMethodCoverage</B></A><LI TYPE="circle">org.jacoco.core.analysis.<A HREF="../../../../org/jacoco/core/analysis/ISourceFileCoverage.html" title="interface in org.jacoco.core.analysis"><B>ISourceFileCoverage</B></A></UL>
    +</UL>
    +<LI TYPE="circle">org.jacoco.core.analysis.<A HREF="../../../../org/jacoco/core/analysis/ICoverageVisitor.html" title="interface in org.jacoco.core.analysis"><B>ICoverageVisitor</B></A><LI TYPE="circle">org.jacoco.core.analysis.<A HREF="../../../../org/jacoco/core/analysis/ILine.html" title="interface in org.jacoco.core.analysis"><B>ILine</B></A></UL>
    +<H2>
    +Enum Hierarchy
    +</H2>
    +<UL>
    +<LI TYPE="circle">java.lang.<A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html" title="class or interface in java.lang"><B>Object</B></A><UL>
    +<LI TYPE="circle">java.lang.<A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Enum.html" title="class or interface in java.lang"><B>Enum</B></A>&lt;E&gt; (implements java.lang.<A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Comparable.html" title="class or interface in java.lang">Comparable</A>&lt;T&gt;, java.io.<A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/io/Serializable.html" title="class or interface in java.io">Serializable</A>)
    +<UL>
    +<LI TYPE="circle">org.jacoco.core.analysis.<A HREF="../../../../org/jacoco/core/analysis/ICounter.CounterValue.html" title="enum in org.jacoco.core.analysis"><B>ICounter.CounterValue</B></A><LI TYPE="circle">org.jacoco.core.analysis.<A HREF="../../../../org/jacoco/core/analysis/ICoverageNode.ElementType.html" title="enum in org.jacoco.core.analysis"><B>ICoverageNode.ElementType</B></A><LI TYPE="circle">org.jacoco.core.analysis.<A HREF="../../../../org/jacoco/core/analysis/ICoverageNode.CounterEntity.html" title="enum in org.jacoco.core.analysis"><B>ICoverageNode.CounterEntity</B></A></UL>
    +</UL>
    +</UL>
    +<HR>
    +
    +
    +<!-- ======= START OF BOTTOM NAVBAR ====== -->
    +<A NAME="navbar_bottom"><!-- --></A>
    +<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
    +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
    +<TR>
    +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
    +<A NAME="navbar_bottom_firstrow"><!-- --></A>
    +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
    +  <TR ALIGN="center" VALIGN="top">
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <FONT CLASS="NavBarFont1">Class</FONT>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <FONT CLASS="NavBarFont1">Use</FONT>&nbsp;</TD>
    +  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Tree</B></FONT>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
    +  </TR>
    +</TABLE>
    +</TD>
    +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
    +</EM>
    +</TD>
    +</TR>
    +
    +<TR>
    +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
    +&nbsp;<A HREF="../../../../org/jacoco/core/package-tree.html"><B>PREV</B></A>&nbsp;
    +&nbsp;<A HREF="../../../../org/jacoco/core/data/package-tree.html"><B>NEXT</B></A></FONT></TD>
    +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
    +  <A HREF="../../../../index.html?org/jacoco/core/analysis/package-tree.html" target="_top"><B>FRAMES</B></A>  &nbsp;
    +&nbsp;<A HREF="package-tree.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
    +&nbsp;<SCRIPT type="text/javascript">
    +  <!--
    +  if(window==top) {
    +    document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>');
    +  }
    +  //-->
    +</SCRIPT>
    +<NOSCRIPT>
    +  <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>
    +</NOSCRIPT>
    +
    +
    +</FONT></TD>
    +</TR>
    +</TABLE>
    +<A NAME="skip-navbar_bottom"></A>
    +<!-- ======== END OF BOTTOM NAVBAR ======= -->
    +
    +<HR>
    +Copyright &#169; 2009&#x2013;2024 Mountainminds GmbH & Co. KG. All rights reserved.
    +</BODY>
    +</HTML>
    diff --git a/jacoco/trunk/doc/api/org/jacoco/core/analysis/package-use.html b/jacoco/trunk/doc/api/org/jacoco/core/analysis/package-use.html
    new file mode 100644
    index 00000000000..04cfac5aee4
    --- /dev/null
    +++ b/jacoco/trunk/doc/api/org/jacoco/core/analysis/package-use.html
    @@ -0,0 +1,316 @@
    +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
    +<!--NewPage-->
    +<HTML>
    +<HEAD>
    +<!-- Generated by javadoc (build 1.5.0_22) on Wed Mar 27 16:45:42 UTC 2024 -->
    +<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
    +<TITLE>
    +Uses of Package org.jacoco.core.analysis (JaCoCo 0.8.12.202403270442 API)
    +</TITLE>
    +
    +
    +<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../stylesheet.css" TITLE="Style">
    +
    +<SCRIPT type="text/javascript">
    +function windowTitle()
    +{
    +    parent.document.title="Uses of Package org.jacoco.core.analysis (JaCoCo 0.8.12.202403270442 API)";
    +}
    +</SCRIPT>
    +<NOSCRIPT>
    +</NOSCRIPT>
    +
    +</HEAD>
    +
    +<BODY BGCOLOR="white" onload="windowTitle();">
    +
    +
    +<!-- ========= START OF TOP NAVBAR ======= -->
    +<A NAME="navbar_top"><!-- --></A>
    +<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
    +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
    +<TR>
    +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
    +<A NAME="navbar_top_firstrow"><!-- --></A>
    +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
    +  <TR ALIGN="center" VALIGN="top">
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <FONT CLASS="NavBarFont1">Class</FONT>&nbsp;</TD>
    +  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
    +  </TR>
    +</TABLE>
    +</TD>
    +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
    +</EM>
    +</TD>
    +</TR>
    +
    +<TR>
    +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
    +&nbsp;PREV&nbsp;
    +&nbsp;NEXT</FONT></TD>
    +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
    +  <A HREF="../../../../index.html?org/jacoco/core/analysis/package-use.html" target="_top"><B>FRAMES</B></A>  &nbsp;
    +&nbsp;<A HREF="package-use.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
    +&nbsp;<SCRIPT type="text/javascript">
    +  <!--
    +  if(window==top) {
    +    document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>');
    +  }
    +  //-->
    +</SCRIPT>
    +<NOSCRIPT>
    +  <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>
    +</NOSCRIPT>
    +
    +
    +</FONT></TD>
    +</TR>
    +</TABLE>
    +<A NAME="skip-navbar_top"></A>
    +<!-- ========= END OF TOP NAVBAR ========= -->
    +
    +<HR>
    +<CENTER>
    +<H2>
    +<B>Uses of Package<br>org.jacoco.core.analysis</B></H2>
    +</CENTER>
    +
    +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
    +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
    +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
    +Packages that use <A HREF="../../../../org/jacoco/core/analysis/package-summary.html">org.jacoco.core.analysis</A></FONT></TH>
    +</TR>
    +<TR BGCOLOR="white" CLASS="TableRowColor">
    +<TD><A HREF="#org.jacoco.core.analysis"><B>org.jacoco.core.analysis</B></A></TD>
    +<TD>
    + Coverage calculation and analysis.&nbsp;</TD>
    +</TR>
    +<TR BGCOLOR="white" CLASS="TableRowColor">
    +<TD><A HREF="#org.jacoco.report"><B>org.jacoco.report</B></A></TD>
    +<TD>Common interfaces and utilities for report generation.&nbsp;</TD>
    +</TR>
    +<TR BGCOLOR="white" CLASS="TableRowColor">
    +<TD><A HREF="#org.jacoco.report.check"><B>org.jacoco.report.check</B></A></TD>
    +<TD>Rules check implementation.&nbsp;</TD>
    +</TR>
    +</TABLE>
    +&nbsp;
    +<P>
    +<A NAME="org.jacoco.core.analysis"><!-- --></A>
    +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
    +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
    +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
    +Classes in <A HREF="../../../../org/jacoco/core/analysis/package-summary.html">org.jacoco.core.analysis</A> used by <A HREF="../../../../org/jacoco/core/analysis/package-summary.html">org.jacoco.core.analysis</A></FONT></TH>
    +</TR>
    +<TR BGCOLOR="white" CLASS="TableRowColor">
    +<TD><B><A HREF="../../../../org/jacoco/core/analysis/class-use/CounterComparator.html#org.jacoco.core.analysis"><B>CounterComparator</B></A></B>
    +
    +<BR>
    +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Collection of comparators to compare <A HREF="../../../../org/jacoco/core/analysis/ICounter.html" title="interface in org.jacoco.core.analysis"><CODE>ICounter</CODE></A> objects by different
    + criteria.</TD>
    +</TR>
    +<TR BGCOLOR="white" CLASS="TableRowColor">
    +<TD><B><A HREF="../../../../org/jacoco/core/analysis/class-use/IBundleCoverage.html#org.jacoco.core.analysis"><B>IBundleCoverage</B></A></B>
    +
    +<BR>
    +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Coverage data of a bundle.</TD>
    +</TR>
    +<TR BGCOLOR="white" CLASS="TableRowColor">
    +<TD><B><A HREF="../../../../org/jacoco/core/analysis/class-use/IClassCoverage.html#org.jacoco.core.analysis"><B>IClassCoverage</B></A></B>
    +
    +<BR>
    +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Coverage data of a single class containing methods.</TD>
    +</TR>
    +<TR BGCOLOR="white" CLASS="TableRowColor">
    +<TD><B><A HREF="../../../../org/jacoco/core/analysis/class-use/ICounter.html#org.jacoco.core.analysis"><B>ICounter</B></A></B>
    +
    +<BR>
    +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;A counter holds the missed and the covered number of particular items like
    + classes, methods, branches or instructions.</TD>
    +</TR>
    +<TR BGCOLOR="white" CLASS="TableRowColor">
    +<TD><B><A HREF="../../../../org/jacoco/core/analysis/class-use/ICounter.CounterValue.html#org.jacoco.core.analysis"><B>ICounter.CounterValue</B></A></B>
    +
    +<BR>
    +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Different values provided by a counter.</TD>
    +</TR>
    +<TR BGCOLOR="white" CLASS="TableRowColor">
    +<TD><B><A HREF="../../../../org/jacoco/core/analysis/class-use/ICoverageNode.html#org.jacoco.core.analysis"><B>ICoverageNode</B></A></B>
    +
    +<BR>
    +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Interface for hierarchical coverage data nodes with different coverage
    + counters.</TD>
    +</TR>
    +<TR BGCOLOR="white" CLASS="TableRowColor">
    +<TD><B><A HREF="../../../../org/jacoco/core/analysis/class-use/ICoverageNode.CounterEntity.html#org.jacoco.core.analysis"><B>ICoverageNode.CounterEntity</B></A></B>
    +
    +<BR>
    +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Different counter types supported by JaCoCo.</TD>
    +</TR>
    +<TR BGCOLOR="white" CLASS="TableRowColor">
    +<TD><B><A HREF="../../../../org/jacoco/core/analysis/class-use/ICoverageNode.ElementType.html#org.jacoco.core.analysis"><B>ICoverageNode.ElementType</B></A></B>
    +
    +<BR>
    +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Type of a Java element represented by a <A HREF="../../../../org/jacoco/core/analysis/ICoverageNode.html" title="interface in org.jacoco.core.analysis"><CODE>ICoverageNode</CODE></A> instance.</TD>
    +</TR>
    +<TR BGCOLOR="white" CLASS="TableRowColor">
    +<TD><B><A HREF="../../../../org/jacoco/core/analysis/class-use/ICoverageVisitor.html#org.jacoco.core.analysis"><B>ICoverageVisitor</B></A></B>
    +
    +<BR>
    +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Interface for coverage data output as a stream of <A HREF="../../../../org/jacoco/core/analysis/IClassCoverage.html" title="interface in org.jacoco.core.analysis"><CODE>IClassCoverage</CODE></A>
    + instances.</TD>
    +</TR>
    +<TR BGCOLOR="white" CLASS="TableRowColor">
    +<TD><B><A HREF="../../../../org/jacoco/core/analysis/class-use/ILine.html#org.jacoco.core.analysis"><B>ILine</B></A></B>
    +
    +<BR>
    +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;The instruction and branch coverage of a single source line is described by
    + this interface.</TD>
    +</TR>
    +<TR BGCOLOR="white" CLASS="TableRowColor">
    +<TD><B><A HREF="../../../../org/jacoco/core/analysis/class-use/IMethodCoverage.html#org.jacoco.core.analysis"><B>IMethodCoverage</B></A></B>
    +
    +<BR>
    +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Coverage data of a single method.</TD>
    +</TR>
    +<TR BGCOLOR="white" CLASS="TableRowColor">
    +<TD><B><A HREF="../../../../org/jacoco/core/analysis/class-use/IPackageCoverage.html#org.jacoco.core.analysis"><B>IPackageCoverage</B></A></B>
    +
    +<BR>
    +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Coverage data of a Java package containing classes and source files.</TD>
    +</TR>
    +<TR BGCOLOR="white" CLASS="TableRowColor">
    +<TD><B><A HREF="../../../../org/jacoco/core/analysis/class-use/ISourceFileCoverage.html#org.jacoco.core.analysis"><B>ISourceFileCoverage</B></A></B>
    +
    +<BR>
    +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Coverage data of a single source file.</TD>
    +</TR>
    +<TR BGCOLOR="white" CLASS="TableRowColor">
    +<TD><B><A HREF="../../../../org/jacoco/core/analysis/class-use/ISourceNode.html#org.jacoco.core.analysis"><B>ISourceNode</B></A></B>
    +
    +<BR>
    +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Interface for coverage nodes that have individual source lines like methods,
    + classes and source files.</TD>
    +</TR>
    +<TR BGCOLOR="white" CLASS="TableRowColor">
    +<TD><B><A HREF="../../../../org/jacoco/core/analysis/class-use/NodeComparator.html#org.jacoco.core.analysis"><B>NodeComparator</B></A></B>
    +
    +<BR>
    +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Comparator to compare <A HREF="../../../../org/jacoco/core/analysis/ICoverageNode.html" title="interface in org.jacoco.core.analysis"><CODE>ICoverageNode</CODE></A> objects by different counter
    + criteria.</TD>
    +</TR>
    +</TABLE>
    +&nbsp;
    +<P>
    +<A NAME="org.jacoco.report"><!-- --></A>
    +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
    +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
    +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
    +Classes in <A HREF="../../../../org/jacoco/core/analysis/package-summary.html">org.jacoco.core.analysis</A> used by <A HREF="../../../../org/jacoco/report/package-summary.html">org.jacoco.report</A></FONT></TH>
    +</TR>
    +<TR BGCOLOR="white" CLASS="TableRowColor">
    +<TD><B><A HREF="../../../../org/jacoco/core/analysis/class-use/IBundleCoverage.html#org.jacoco.report"><B>IBundleCoverage</B></A></B>
    +
    +<BR>
    +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Coverage data of a bundle.</TD>
    +</TR>
    +</TABLE>
    +&nbsp;
    +<P>
    +<A NAME="org.jacoco.report.check"><!-- --></A>
    +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
    +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
    +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
    +Classes in <A HREF="../../../../org/jacoco/core/analysis/package-summary.html">org.jacoco.core.analysis</A> used by <A HREF="../../../../org/jacoco/report/check/package-summary.html">org.jacoco.report.check</A></FONT></TH>
    +</TR>
    +<TR BGCOLOR="white" CLASS="TableRowColor">
    +<TD><B><A HREF="../../../../org/jacoco/core/analysis/class-use/ICounter.CounterValue.html#org.jacoco.report.check"><B>ICounter.CounterValue</B></A></B>
    +
    +<BR>
    +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Different values provided by a counter.</TD>
    +</TR>
    +<TR BGCOLOR="white" CLASS="TableRowColor">
    +<TD><B><A HREF="../../../../org/jacoco/core/analysis/class-use/ICoverageNode.html#org.jacoco.report.check"><B>ICoverageNode</B></A></B>
    +
    +<BR>
    +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Interface for hierarchical coverage data nodes with different coverage
    + counters.</TD>
    +</TR>
    +<TR BGCOLOR="white" CLASS="TableRowColor">
    +<TD><B><A HREF="../../../../org/jacoco/core/analysis/class-use/ICoverageNode.CounterEntity.html#org.jacoco.report.check"><B>ICoverageNode.CounterEntity</B></A></B>
    +
    +<BR>
    +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Different counter types supported by JaCoCo.</TD>
    +</TR>
    +<TR BGCOLOR="white" CLASS="TableRowColor">
    +<TD><B><A HREF="../../../../org/jacoco/core/analysis/class-use/ICoverageNode.ElementType.html#org.jacoco.report.check"><B>ICoverageNode.ElementType</B></A></B>
    +
    +<BR>
    +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Type of a Java element represented by a <A HREF="../../../../org/jacoco/core/analysis/ICoverageNode.html" title="interface in org.jacoco.core.analysis"><CODE>ICoverageNode</CODE></A> instance.</TD>
    +</TR>
    +</TABLE>
    +&nbsp;
    +<P>
    +<HR>
    +
    +
    +<!-- ======= START OF BOTTOM NAVBAR ====== -->
    +<A NAME="navbar_bottom"><!-- --></A>
    +<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
    +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
    +<TR>
    +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
    +<A NAME="navbar_bottom_firstrow"><!-- --></A>
    +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
    +  <TR ALIGN="center" VALIGN="top">
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <FONT CLASS="NavBarFont1">Class</FONT>&nbsp;</TD>
    +  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
    +  </TR>
    +</TABLE>
    +</TD>
    +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
    +</EM>
    +</TD>
    +</TR>
    +
    +<TR>
    +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
    +&nbsp;PREV&nbsp;
    +&nbsp;NEXT</FONT></TD>
    +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
    +  <A HREF="../../../../index.html?org/jacoco/core/analysis/package-use.html" target="_top"><B>FRAMES</B></A>  &nbsp;
    +&nbsp;<A HREF="package-use.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
    +&nbsp;<SCRIPT type="text/javascript">
    +  <!--
    +  if(window==top) {
    +    document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>');
    +  }
    +  //-->
    +</SCRIPT>
    +<NOSCRIPT>
    +  <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>
    +</NOSCRIPT>
    +
    +
    +</FONT></TD>
    +</TR>
    +</TABLE>
    +<A NAME="skip-navbar_bottom"></A>
    +<!-- ======== END OF BOTTOM NAVBAR ======= -->
    +
    +<HR>
    +Copyright &#169; 2009&#x2013;2024 Mountainminds GmbH & Co. KG. All rights reserved.
    +</BODY>
    +</HTML>
    diff --git a/jacoco/trunk/doc/api/org/jacoco/core/class-use/JaCoCo.html b/jacoco/trunk/doc/api/org/jacoco/core/class-use/JaCoCo.html
    new file mode 100644
    index 00000000000..785b2e45e19
    --- /dev/null
    +++ b/jacoco/trunk/doc/api/org/jacoco/core/class-use/JaCoCo.html
    @@ -0,0 +1,141 @@
    +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
    +<!--NewPage-->
    +<HTML>
    +<HEAD>
    +<!-- Generated by javadoc (build 1.5.0_22) on Wed Mar 27 16:45:42 UTC 2024 -->
    +<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
    +<TITLE>
    +Uses of Class org.jacoco.core.JaCoCo (JaCoCo 0.8.12.202403270442 API)
    +</TITLE>
    +
    +
    +<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../stylesheet.css" TITLE="Style">
    +
    +<SCRIPT type="text/javascript">
    +function windowTitle()
    +{
    +    parent.document.title="Uses of Class org.jacoco.core.JaCoCo (JaCoCo 0.8.12.202403270442 API)";
    +}
    +</SCRIPT>
    +<NOSCRIPT>
    +</NOSCRIPT>
    +
    +</HEAD>
    +
    +<BODY BGCOLOR="white" onload="windowTitle();">
    +
    +
    +<!-- ========= START OF TOP NAVBAR ======= -->
    +<A NAME="navbar_top"><!-- --></A>
    +<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
    +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
    +<TR>
    +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
    +<A NAME="navbar_top_firstrow"><!-- --></A>
    +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
    +  <TR ALIGN="center" VALIGN="top">
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../org/jacoco/core/JaCoCo.html" title="class in org.jacoco.core"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
    +  </TR>
    +</TABLE>
    +</TD>
    +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
    +</EM>
    +</TD>
    +</TR>
    +
    +<TR>
    +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
    +&nbsp;PREV&nbsp;
    +&nbsp;NEXT</FONT></TD>
    +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
    +  <A HREF="../../../../index.html?org/jacoco/core/class-use/JaCoCo.html" target="_top"><B>FRAMES</B></A>  &nbsp;
    +&nbsp;<A HREF="JaCoCo.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
    +&nbsp;<SCRIPT type="text/javascript">
    +  <!--
    +  if(window==top) {
    +    document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>');
    +  }
    +  //-->
    +</SCRIPT>
    +<NOSCRIPT>
    +  <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>
    +</NOSCRIPT>
    +
    +
    +</FONT></TD>
    +</TR>
    +</TABLE>
    +<A NAME="skip-navbar_top"></A>
    +<!-- ========= END OF TOP NAVBAR ========= -->
    +
    +<HR>
    +<CENTER>
    +<H2>
    +<B>Uses of Class<br>org.jacoco.core.JaCoCo</B></H2>
    +</CENTER>
    +No usage of org.jacoco.core.JaCoCo
    +<P>
    +<HR>
    +
    +
    +<!-- ======= START OF BOTTOM NAVBAR ====== -->
    +<A NAME="navbar_bottom"><!-- --></A>
    +<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
    +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
    +<TR>
    +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
    +<A NAME="navbar_bottom_firstrow"><!-- --></A>
    +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
    +  <TR ALIGN="center" VALIGN="top">
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../org/jacoco/core/JaCoCo.html" title="class in org.jacoco.core"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
    +  </TR>
    +</TABLE>
    +</TD>
    +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
    +</EM>
    +</TD>
    +</TR>
    +
    +<TR>
    +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
    +&nbsp;PREV&nbsp;
    +&nbsp;NEXT</FONT></TD>
    +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
    +  <A HREF="../../../../index.html?org/jacoco/core/class-use/JaCoCo.html" target="_top"><B>FRAMES</B></A>  &nbsp;
    +&nbsp;<A HREF="JaCoCo.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
    +&nbsp;<SCRIPT type="text/javascript">
    +  <!--
    +  if(window==top) {
    +    document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>');
    +  }
    +  //-->
    +</SCRIPT>
    +<NOSCRIPT>
    +  <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>
    +</NOSCRIPT>
    +
    +
    +</FONT></TD>
    +</TR>
    +</TABLE>
    +<A NAME="skip-navbar_bottom"></A>
    +<!-- ======== END OF BOTTOM NAVBAR ======= -->
    +
    +<HR>
    +Copyright &#169; 2009&#x2013;2024 Mountainminds GmbH & Co. KG. All rights reserved.
    +</BODY>
    +</HTML>
    diff --git a/jacoco/trunk/doc/api/org/jacoco/core/data/ExecutionData.html b/jacoco/trunk/doc/api/org/jacoco/core/data/ExecutionData.html
    new file mode 100644
    index 00000000000..421dbc1384d
    --- /dev/null
    +++ b/jacoco/trunk/doc/api/org/jacoco/core/data/ExecutionData.html
    @@ -0,0 +1,501 @@
    +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
    +<!--NewPage-->
    +<HTML>
    +<HEAD>
    +<!-- Generated by javadoc (build 1.5.0_22) on Wed Mar 27 16:45:41 UTC 2024 -->
    +<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
    +<TITLE>
    +ExecutionData (JaCoCo 0.8.12.202403270442 API)
    +</TITLE>
    +
    +<META NAME="keywords" CONTENT="org.jacoco.core.data.ExecutionData class">
    +
    +<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../stylesheet.css" TITLE="Style">
    +
    +<SCRIPT type="text/javascript">
    +function windowTitle()
    +{
    +    parent.document.title="ExecutionData (JaCoCo 0.8.12.202403270442 API)";
    +}
    +</SCRIPT>
    +<NOSCRIPT>
    +</NOSCRIPT>
    +
    +</HEAD>
    +
    +<BODY BGCOLOR="white" onload="windowTitle();">
    +
    +
    +<!-- ========= START OF TOP NAVBAR ======= -->
    +<A NAME="navbar_top"><!-- --></A>
    +<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
    +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
    +<TR>
    +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
    +<A NAME="navbar_top_firstrow"><!-- --></A>
    +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
    +  <TR ALIGN="center" VALIGN="top">
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="class-use/ExecutionData.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
    +  </TR>
    +</TABLE>
    +</TD>
    +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
    +</EM>
    +</TD>
    +</TR>
    +
    +<TR>
    +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
    +&nbsp;PREV CLASS&nbsp;
    +&nbsp;<A HREF="../../../../org/jacoco/core/data/ExecutionDataReader.html" title="class in org.jacoco.core.data"><B>NEXT CLASS</B></A></FONT></TD>
    +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
    +  <A HREF="../../../../index.html?org/jacoco/core/data/ExecutionData.html" target="_top"><B>FRAMES</B></A>  &nbsp;
    +&nbsp;<A HREF="ExecutionData.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
    +&nbsp;<SCRIPT type="text/javascript">
    +  <!--
    +  if(window==top) {
    +    document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>');
    +  }
    +  //-->
    +</SCRIPT>
    +<NOSCRIPT>
    +  <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>
    +</NOSCRIPT>
    +
    +
    +</FONT></TD>
    +</TR>
    +<TR>
    +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
    +  SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;FIELD&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD>
    +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
    +DETAIL:&nbsp;FIELD&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD>
    +</TR>
    +</TABLE>
    +<A NAME="skip-navbar_top"></A>
    +<!-- ========= END OF TOP NAVBAR ========= -->
    +
    +<HR>
    +<!-- ======== START OF CLASS DATA ======== -->
    +<H2>
    +<FONT SIZE="-1">
    +org.jacoco.core.data</FONT>
    +<BR>
    +Class ExecutionData</H2>
    +<PRE>
    +<A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html" title="class or interface in java.lang">java.lang.Object</A>
    +  <IMG SRC="../../../../resources/inherit.gif" ALT="extended by "><B>org.jacoco.core.data.ExecutionData</B>
    +</PRE>
    +<HR>
    +<DL>
    +<DT><PRE>public final class <B>ExecutionData</B><DT>extends <A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html" title="class or interface in java.lang">Object</A></DL>
    +</PRE>
    +
    +<P>
    +Execution data for a single Java class. While instances are immutable care
    + has to be taken about the probe data array of type <code>boolean[]</code>
    + which can be modified.
    +<P>
    +
    +<P>
    +<HR>
    +
    +<P>
    +
    +<!-- ======== CONSTRUCTOR SUMMARY ======== -->
    +
    +<A NAME="constructor_summary"><!-- --></A>
    +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
    +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
    +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
    +<B>Constructor Summary</B></FONT></TH>
    +</TR>
    +<TR BGCOLOR="white" CLASS="TableRowColor">
    +<TD><CODE><B><A HREF="../../../../org/jacoco/core/data/ExecutionData.html#ExecutionData(long, java.lang.String, boolean[])">ExecutionData</A></B>(long&nbsp;id,
    +              <A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A>&nbsp;name,
    +              boolean[]&nbsp;probes)</CODE>
    +
    +<BR>
    +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Creates a new <A HREF="../../../../org/jacoco/core/data/ExecutionData.html" title="class in org.jacoco.core.data"><CODE>ExecutionData</CODE></A> object with the given probe data.</TD>
    +</TR>
    +<TR BGCOLOR="white" CLASS="TableRowColor">
    +<TD><CODE><B><A HREF="../../../../org/jacoco/core/data/ExecutionData.html#ExecutionData(long, java.lang.String, int)">ExecutionData</A></B>(long&nbsp;id,
    +              <A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A>&nbsp;name,
    +              int&nbsp;probeCount)</CODE>
    +
    +<BR>
    +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Creates a new <A HREF="../../../../org/jacoco/core/data/ExecutionData.html" title="class in org.jacoco.core.data"><CODE>ExecutionData</CODE></A> object with the given probe data
    + length.</TD>
    +</TR>
    +</TABLE>
    +&nbsp;
    +<!-- ========== METHOD SUMMARY =========== -->
    +
    +<A NAME="method_summary"><!-- --></A>
    +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
    +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
    +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
    +<B>Method Summary</B></FONT></TH>
    +</TR>
    +<TR BGCOLOR="white" CLASS="TableRowColor">
    +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
    +<CODE>&nbsp;void</CODE></FONT></TD>
    +<TD><CODE><B><A HREF="../../../../org/jacoco/core/data/ExecutionData.html#assertCompatibility(long, java.lang.String, int)">assertCompatibility</A></B>(long&nbsp;id,
    +                    <A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A>&nbsp;name,
    +                    int&nbsp;probecount)</CODE>
    +
    +<BR>
    +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Asserts that this execution data object is compatible with the given
    + parameters.</TD>
    +</TR>
    +<TR BGCOLOR="white" CLASS="TableRowColor">
    +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
    +<CODE>&nbsp;long</CODE></FONT></TD>
    +<TD><CODE><B><A HREF="../../../../org/jacoco/core/data/ExecutionData.html#getId()">getId</A></B>()</CODE>
    +
    +<BR>
    +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Return the unique identifier for this class.</TD>
    +</TR>
    +<TR BGCOLOR="white" CLASS="TableRowColor">
    +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
    +<CODE>&nbsp;<A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A></CODE></FONT></TD>
    +<TD><CODE><B><A HREF="../../../../org/jacoco/core/data/ExecutionData.html#getName()">getName</A></B>()</CODE>
    +
    +<BR>
    +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;The VM name of the class.</TD>
    +</TR>
    +<TR BGCOLOR="white" CLASS="TableRowColor">
    +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
    +<CODE>&nbsp;boolean[]</CODE></FONT></TD>
    +<TD><CODE><B><A HREF="../../../../org/jacoco/core/data/ExecutionData.html#getProbes()">getProbes</A></B>()</CODE>
    +
    +<BR>
    +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns the execution data probes.</TD>
    +</TR>
    +<TR BGCOLOR="white" CLASS="TableRowColor">
    +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
    +<CODE>&nbsp;boolean</CODE></FONT></TD>
    +<TD><CODE><B><A HREF="../../../../org/jacoco/core/data/ExecutionData.html#hasHits()">hasHits</A></B>()</CODE>
    +
    +<BR>
    +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Checks whether any probe has been hit.</TD>
    +</TR>
    +<TR BGCOLOR="white" CLASS="TableRowColor">
    +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
    +<CODE>&nbsp;void</CODE></FONT></TD>
    +<TD><CODE><B><A HREF="../../../../org/jacoco/core/data/ExecutionData.html#merge(org.jacoco.core.data.ExecutionData)">merge</A></B>(<A HREF="../../../../org/jacoco/core/data/ExecutionData.html" title="class in org.jacoco.core.data">ExecutionData</A>&nbsp;other)</CODE>
    +
    +<BR>
    +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Merges the given execution data into the probe data of this object.</TD>
    +</TR>
    +<TR BGCOLOR="white" CLASS="TableRowColor">
    +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
    +<CODE>&nbsp;void</CODE></FONT></TD>
    +<TD><CODE><B><A HREF="../../../../org/jacoco/core/data/ExecutionData.html#merge(org.jacoco.core.data.ExecutionData, boolean)">merge</A></B>(<A HREF="../../../../org/jacoco/core/data/ExecutionData.html" title="class in org.jacoco.core.data">ExecutionData</A>&nbsp;other,
    +      boolean&nbsp;flag)</CODE>
    +
    +<BR>
    +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Merges the given execution data into the probe data of this object.</TD>
    +</TR>
    +<TR BGCOLOR="white" CLASS="TableRowColor">
    +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
    +<CODE>&nbsp;void</CODE></FONT></TD>
    +<TD><CODE><B><A HREF="../../../../org/jacoco/core/data/ExecutionData.html#reset()">reset</A></B>()</CODE>
    +
    +<BR>
    +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Sets all probes to <code>false</code>.</TD>
    +</TR>
    +<TR BGCOLOR="white" CLASS="TableRowColor">
    +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
    +<CODE>&nbsp;<A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A></CODE></FONT></TD>
    +<TD><CODE><B><A HREF="../../../../org/jacoco/core/data/ExecutionData.html#toString()">toString</A></B>()</CODE>
    +
    +<BR>
    +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
    +</TR>
    +</TABLE>
    +&nbsp;<A NAME="methods_inherited_from_class_java.lang.Object"><!-- --></A>
    +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
    +<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
    +<TH ALIGN="left"><B>Methods inherited from class java.lang.<A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html" title="class or interface in java.lang">Object</A></B></TH>
    +</TR>
    +<TR BGCOLOR="white" CLASS="TableRowColor">
    +<TD><CODE><A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html#clone()" title="class or interface in java.lang">clone</A>, <A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html#equals(java.lang.Object)" title="class or interface in java.lang">equals</A>, <A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html#finalize()" title="class or interface in java.lang">finalize</A>, <A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html#getClass()" title="class or interface in java.lang">getClass</A>, <A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html#hashCode()" title="class or interface in java.lang">hashCode</A>, <A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html#notify()" title="class or interface in java.lang">notify</A>, <A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html#notifyAll()" title="class or interface in java.lang">notifyAll</A>, <A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html#wait()" title="class or interface in java.lang">wait</A>, <A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html#wait(long)" title="class or interface in java.lang">wait</A>, <A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html#wait(long, int)" title="class or interface in java.lang">wait</A></CODE></TD>
    +</TR>
    +</TABLE>
    +&nbsp;
    +<P>
    +
    +<!-- ========= CONSTRUCTOR DETAIL ======== -->
    +
    +<A NAME="constructor_detail"><!-- --></A>
    +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
    +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
    +<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2">
    +<B>Constructor Detail</B></FONT></TH>
    +</TR>
    +</TABLE>
    +
    +<A NAME="ExecutionData(long, java.lang.String, boolean[])"><!-- --></A><H3>
    +ExecutionData</H3>
    +<PRE>
    +public <B>ExecutionData</B>(long&nbsp;id,
    +                     <A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A>&nbsp;name,
    +                     boolean[]&nbsp;probes)</PRE>
    +<DL>
    +<DD>Creates a new <A HREF="../../../../org/jacoco/core/data/ExecutionData.html" title="class in org.jacoco.core.data"><CODE>ExecutionData</CODE></A> object with the given probe data.
    +<P>
    +<DL>
    +<DT><B>Parameters:</B><DD><CODE>id</CODE> - class identifier<DD><CODE>name</CODE> - VM name<DD><CODE>probes</CODE> - probe data</DL>
    +</DL>
    +<HR>
    +
    +<A NAME="ExecutionData(long, java.lang.String, int)"><!-- --></A><H3>
    +ExecutionData</H3>
    +<PRE>
    +public <B>ExecutionData</B>(long&nbsp;id,
    +                     <A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A>&nbsp;name,
    +                     int&nbsp;probeCount)</PRE>
    +<DL>
    +<DD>Creates a new <A HREF="../../../../org/jacoco/core/data/ExecutionData.html" title="class in org.jacoco.core.data"><CODE>ExecutionData</CODE></A> object with the given probe data
    + length. All probes are set to <code>false</code>.
    +<P>
    +<DL>
    +<DT><B>Parameters:</B><DD><CODE>id</CODE> - class identifier<DD><CODE>name</CODE> - VM name<DD><CODE>probeCount</CODE> - probe count</DL>
    +</DL>
    +
    +<!-- ============ METHOD DETAIL ========== -->
    +
    +<A NAME="method_detail"><!-- --></A>
    +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
    +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
    +<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2">
    +<B>Method Detail</B></FONT></TH>
    +</TR>
    +</TABLE>
    +
    +<A NAME="getId()"><!-- --></A><H3>
    +getId</H3>
    +<PRE>
    +public long <B>getId</B>()</PRE>
    +<DL>
    +<DD>Return the unique identifier for this class. The identifier is the CRC64
    + checksum of the raw class file definition.
    +<P>
    +<DD><DL>
    +
    +<DT><B>Returns:</B><DD>class identifier</DL>
    +</DD>
    +</DL>
    +<HR>
    +
    +<A NAME="getName()"><!-- --></A><H3>
    +getName</H3>
    +<PRE>
    +public <A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> <B>getName</B>()</PRE>
    +<DL>
    +<DD>The VM name of the class.
    +<P>
    +<DD><DL>
    +
    +<DT><B>Returns:</B><DD>VM name</DL>
    +</DD>
    +</DL>
    +<HR>
    +
    +<A NAME="getProbes()"><!-- --></A><H3>
    +getProbes</H3>
    +<PRE>
    +public boolean[] <B>getProbes</B>()</PRE>
    +<DL>
    +<DD>Returns the execution data probes. A value of <code>true</code> indicates
    + that the corresponding probe was executed.
    +<P>
    +<DD><DL>
    +
    +<DT><B>Returns:</B><DD>probe data</DL>
    +</DD>
    +</DL>
    +<HR>
    +
    +<A NAME="reset()"><!-- --></A><H3>
    +reset</H3>
    +<PRE>
    +public void <B>reset</B>()</PRE>
    +<DL>
    +<DD>Sets all probes to <code>false</code>.
    +<P>
    +<DD><DL>
    +</DL>
    +</DD>
    +</DL>
    +<HR>
    +
    +<A NAME="hasHits()"><!-- --></A><H3>
    +hasHits</H3>
    +<PRE>
    +public boolean <B>hasHits</B>()</PRE>
    +<DL>
    +<DD>Checks whether any probe has been hit.
    +<P>
    +<DD><DL>
    +
    +<DT><B>Returns:</B><DD><code>true</code>, if at least one probe has been hit</DL>
    +</DD>
    +</DL>
    +<HR>
    +
    +<A NAME="merge(org.jacoco.core.data.ExecutionData)"><!-- --></A><H3>
    +merge</H3>
    +<PRE>
    +public void <B>merge</B>(<A HREF="../../../../org/jacoco/core/data/ExecutionData.html" title="class in org.jacoco.core.data">ExecutionData</A>&nbsp;other)</PRE>
    +<DL>
    +<DD>Merges the given execution data into the probe data of this object. I.e.
    + a probe entry in this object is marked as executed (<code>true</code>) if
    + this probe or the corresponding other probe was executed. So the result
    + is
    +
    + <pre>
    + A or B
    + </pre>
    +
    + The probe array of the other object is not modified.
    +<P>
    +<DD><DL>
    +<DT><B>Parameters:</B><DD><CODE>other</CODE> - execution data to merge</DL>
    +</DD>
    +</DL>
    +<HR>
    +
    +<A NAME="merge(org.jacoco.core.data.ExecutionData, boolean)"><!-- --></A><H3>
    +merge</H3>
    +<PRE>
    +public void <B>merge</B>(<A HREF="../../../../org/jacoco/core/data/ExecutionData.html" title="class in org.jacoco.core.data">ExecutionData</A>&nbsp;other,
    +                  boolean&nbsp;flag)</PRE>
    +<DL>
    +<DD>Merges the given execution data into the probe data of this object. A
    + probe in this object is set to the value of <code>flag</code> if the
    + corresponding other probe was executed. For <code>flag==true</code> this
    + corresponds to
    +
    + <pre>
    + A or B
    + </pre>
    +
    + For <code>flag==false</code> this can be considered as a subtraction
    +
    + <pre>
    + A and not B
    + </pre>
    +
    + The probe array of the other object is not modified.
    +<P>
    +<DD><DL>
    +<DT><B>Parameters:</B><DD><CODE>other</CODE> - execution data to merge<DD><CODE>flag</CODE> - merge mode</DL>
    +</DD>
    +</DL>
    +<HR>
    +
    +<A NAME="assertCompatibility(long, java.lang.String, int)"><!-- --></A><H3>
    +assertCompatibility</H3>
    +<PRE>
    +public void <B>assertCompatibility</B>(long&nbsp;id,
    +                                <A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A>&nbsp;name,
    +                                int&nbsp;probecount)
    +                         throws <A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/IllegalStateException.html" title="class or interface in java.lang">IllegalStateException</A></PRE>
    +<DL>
    +<DD>Asserts that this execution data object is compatible with the given
    + parameters. The purpose of this check is to detect a very unlikely class
    + id collision.
    +<P>
    +<DD><DL>
    +<DT><B>Parameters:</B><DD><CODE>id</CODE> - other class id, must be the same<DD><CODE>name</CODE> - other name, must be equal to this name<DD><CODE>probecount</CODE> - probe data length, must be the same as for this data
    +<DT><B>Throws:</B>
    +<DD><CODE><A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/IllegalStateException.html" title="class or interface in java.lang">IllegalStateException</A></CODE> - if the given parameters do not match this instance</DL>
    +</DD>
    +</DL>
    +<HR>
    +
    +<A NAME="toString()"><!-- --></A><H3>
    +toString</H3>
    +<PRE>
    +public <A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> <B>toString</B>()</PRE>
    +<DL>
    +<DD><DL>
    +<DT><B>Overrides:</B><DD><CODE><A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html#toString()" title="class or interface in java.lang">toString</A></CODE> in class <CODE><A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html" title="class or interface in java.lang">Object</A></CODE></DL>
    +</DD>
    +<DD><DL>
    +</DL>
    +</DD>
    +</DL>
    +<!-- ========= END OF CLASS DATA ========= -->
    +<HR>
    +
    +
    +<!-- ======= START OF BOTTOM NAVBAR ====== -->
    +<A NAME="navbar_bottom"><!-- --></A>
    +<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
    +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
    +<TR>
    +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
    +<A NAME="navbar_bottom_firstrow"><!-- --></A>
    +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
    +  <TR ALIGN="center" VALIGN="top">
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="class-use/ExecutionData.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
    +  </TR>
    +</TABLE>
    +</TD>
    +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
    +</EM>
    +</TD>
    +</TR>
    +
    +<TR>
    +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
    +&nbsp;PREV CLASS&nbsp;
    +&nbsp;<A HREF="../../../../org/jacoco/core/data/ExecutionDataReader.html" title="class in org.jacoco.core.data"><B>NEXT CLASS</B></A></FONT></TD>
    +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
    +  <A HREF="../../../../index.html?org/jacoco/core/data/ExecutionData.html" target="_top"><B>FRAMES</B></A>  &nbsp;
    +&nbsp;<A HREF="ExecutionData.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
    +&nbsp;<SCRIPT type="text/javascript">
    +  <!--
    +  if(window==top) {
    +    document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>');
    +  }
    +  //-->
    +</SCRIPT>
    +<NOSCRIPT>
    +  <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>
    +</NOSCRIPT>
    +
    +
    +</FONT></TD>
    +</TR>
    +<TR>
    +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
    +  SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;FIELD&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD>
    +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
    +DETAIL:&nbsp;FIELD&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD>
    +</TR>
    +</TABLE>
    +<A NAME="skip-navbar_bottom"></A>
    +<!-- ======== END OF BOTTOM NAVBAR ======= -->
    +
    +<HR>
    +Copyright &#169; 2009&#x2013;2024 Mountainminds GmbH & Co. KG. All rights reserved.
    +</BODY>
    +</HTML>
    diff --git a/jacoco/trunk/doc/api/org/jacoco/core/data/ExecutionDataReader.html b/jacoco/trunk/doc/api/org/jacoco/core/data/ExecutionDataReader.html
    new file mode 100644
    index 00000000000..67292c7728c
    --- /dev/null
    +++ b/jacoco/trunk/doc/api/org/jacoco/core/data/ExecutionDataReader.html
    @@ -0,0 +1,380 @@
    +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
    +<!--NewPage-->
    +<HTML>
    +<HEAD>
    +<!-- Generated by javadoc (build 1.5.0_22) on Wed Mar 27 16:45:41 UTC 2024 -->
    +<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
    +<TITLE>
    +ExecutionDataReader (JaCoCo 0.8.12.202403270442 API)
    +</TITLE>
    +
    +<META NAME="keywords" CONTENT="org.jacoco.core.data.ExecutionDataReader class">
    +
    +<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../stylesheet.css" TITLE="Style">
    +
    +<SCRIPT type="text/javascript">
    +function windowTitle()
    +{
    +    parent.document.title="ExecutionDataReader (JaCoCo 0.8.12.202403270442 API)";
    +}
    +</SCRIPT>
    +<NOSCRIPT>
    +</NOSCRIPT>
    +
    +</HEAD>
    +
    +<BODY BGCOLOR="white" onload="windowTitle();">
    +
    +
    +<!-- ========= START OF TOP NAVBAR ======= -->
    +<A NAME="navbar_top"><!-- --></A>
    +<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
    +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
    +<TR>
    +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
    +<A NAME="navbar_top_firstrow"><!-- --></A>
    +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
    +  <TR ALIGN="center" VALIGN="top">
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="class-use/ExecutionDataReader.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
    +  </TR>
    +</TABLE>
    +</TD>
    +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
    +</EM>
    +</TD>
    +</TR>
    +
    +<TR>
    +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
    +&nbsp;<A HREF="../../../../org/jacoco/core/data/ExecutionData.html" title="class in org.jacoco.core.data"><B>PREV CLASS</B></A>&nbsp;
    +&nbsp;<A HREF="../../../../org/jacoco/core/data/ExecutionDataStore.html" title="class in org.jacoco.core.data"><B>NEXT CLASS</B></A></FONT></TD>
    +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
    +  <A HREF="../../../../index.html?org/jacoco/core/data/ExecutionDataReader.html" target="_top"><B>FRAMES</B></A>  &nbsp;
    +&nbsp;<A HREF="ExecutionDataReader.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
    +&nbsp;<SCRIPT type="text/javascript">
    +  <!--
    +  if(window==top) {
    +    document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>');
    +  }
    +  //-->
    +</SCRIPT>
    +<NOSCRIPT>
    +  <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>
    +</NOSCRIPT>
    +
    +
    +</FONT></TD>
    +</TR>
    +<TR>
    +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
    +  SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;<A HREF="#field_summary">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD>
    +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
    +DETAIL:&nbsp;<A HREF="#field_detail">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD>
    +</TR>
    +</TABLE>
    +<A NAME="skip-navbar_top"></A>
    +<!-- ========= END OF TOP NAVBAR ========= -->
    +
    +<HR>
    +<!-- ======== START OF CLASS DATA ======== -->
    +<H2>
    +<FONT SIZE="-1">
    +org.jacoco.core.data</FONT>
    +<BR>
    +Class ExecutionDataReader</H2>
    +<PRE>
    +<A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html" title="class or interface in java.lang">java.lang.Object</A>
    +  <IMG SRC="../../../../resources/inherit.gif" ALT="extended by "><B>org.jacoco.core.data.ExecutionDataReader</B>
    +</PRE>
    +<DL>
    +<DT><B>Direct Known Subclasses:</B> <DD><A HREF="../../../../org/jacoco/core/runtime/RemoteControlReader.html" title="class in org.jacoco.core.runtime">RemoteControlReader</A></DD>
    +</DL>
    +<HR>
    +<DL>
    +<DT><PRE>public class <B>ExecutionDataReader</B><DT>extends <A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html" title="class or interface in java.lang">Object</A></DL>
    +</PRE>
    +
    +<P>
    +Deserialization of execution data from binary streams.
    +<P>
    +
    +<P>
    +<HR>
    +
    +<P>
    +<!-- =========== FIELD SUMMARY =========== -->
    +
    +<A NAME="field_summary"><!-- --></A>
    +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
    +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
    +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
    +<B>Field Summary</B></FONT></TH>
    +</TR>
    +<TR BGCOLOR="white" CLASS="TableRowColor">
    +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
    +<CODE>protected &nbsp;org.jacoco.core.internal.data.CompactDataInput</CODE></FONT></TD>
    +<TD><CODE><B><A HREF="../../../../org/jacoco/core/data/ExecutionDataReader.html#in">in</A></B></CODE>
    +
    +<BR>
    +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Underlying data input</TD>
    +</TR>
    +</TABLE>
    +&nbsp;
    +<!-- ======== CONSTRUCTOR SUMMARY ======== -->
    +
    +<A NAME="constructor_summary"><!-- --></A>
    +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
    +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
    +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
    +<B>Constructor Summary</B></FONT></TH>
    +</TR>
    +<TR BGCOLOR="white" CLASS="TableRowColor">
    +<TD><CODE><B><A HREF="../../../../org/jacoco/core/data/ExecutionDataReader.html#ExecutionDataReader(java.io.InputStream)">ExecutionDataReader</A></B>(<A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/io/InputStream.html" title="class or interface in java.io">InputStream</A>&nbsp;input)</CODE>
    +
    +<BR>
    +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Creates a new reader based on the given input stream input.</TD>
    +</TR>
    +</TABLE>
    +&nbsp;
    +<!-- ========== METHOD SUMMARY =========== -->
    +
    +<A NAME="method_summary"><!-- --></A>
    +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
    +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
    +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
    +<B>Method Summary</B></FONT></TH>
    +</TR>
    +<TR BGCOLOR="white" CLASS="TableRowColor">
    +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
    +<CODE>&nbsp;boolean</CODE></FONT></TD>
    +<TD><CODE><B><A HREF="../../../../org/jacoco/core/data/ExecutionDataReader.html#read()">read</A></B>()</CODE>
    +
    +<BR>
    +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Reads all data and reports it to the corresponding visitors.</TD>
    +</TR>
    +<TR BGCOLOR="white" CLASS="TableRowColor">
    +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
    +<CODE>protected &nbsp;boolean</CODE></FONT></TD>
    +<TD><CODE><B><A HREF="../../../../org/jacoco/core/data/ExecutionDataReader.html#readBlock(byte)">readBlock</A></B>(byte&nbsp;blocktype)</CODE>
    +
    +<BR>
    +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Reads a block of data identified by the given id.</TD>
    +</TR>
    +<TR BGCOLOR="white" CLASS="TableRowColor">
    +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
    +<CODE>&nbsp;void</CODE></FONT></TD>
    +<TD><CODE><B><A HREF="../../../../org/jacoco/core/data/ExecutionDataReader.html#setExecutionDataVisitor(org.jacoco.core.data.IExecutionDataVisitor)">setExecutionDataVisitor</A></B>(<A HREF="../../../../org/jacoco/core/data/IExecutionDataVisitor.html" title="interface in org.jacoco.core.data">IExecutionDataVisitor</A>&nbsp;visitor)</CODE>
    +
    +<BR>
    +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Sets an listener for execution data.</TD>
    +</TR>
    +<TR BGCOLOR="white" CLASS="TableRowColor">
    +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
    +<CODE>&nbsp;void</CODE></FONT></TD>
    +<TD><CODE><B><A HREF="../../../../org/jacoco/core/data/ExecutionDataReader.html#setSessionInfoVisitor(org.jacoco.core.data.ISessionInfoVisitor)">setSessionInfoVisitor</A></B>(<A HREF="../../../../org/jacoco/core/data/ISessionInfoVisitor.html" title="interface in org.jacoco.core.data">ISessionInfoVisitor</A>&nbsp;visitor)</CODE>
    +
    +<BR>
    +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Sets an listener for session information.</TD>
    +</TR>
    +</TABLE>
    +&nbsp;<A NAME="methods_inherited_from_class_java.lang.Object"><!-- --></A>
    +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
    +<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
    +<TH ALIGN="left"><B>Methods inherited from class java.lang.<A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html" title="class or interface in java.lang">Object</A></B></TH>
    +</TR>
    +<TR BGCOLOR="white" CLASS="TableRowColor">
    +<TD><CODE><A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html#clone()" title="class or interface in java.lang">clone</A>, <A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html#equals(java.lang.Object)" title="class or interface in java.lang">equals</A>, <A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html#finalize()" title="class or interface in java.lang">finalize</A>, <A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html#getClass()" title="class or interface in java.lang">getClass</A>, <A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html#hashCode()" title="class or interface in java.lang">hashCode</A>, <A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html#notify()" title="class or interface in java.lang">notify</A>, <A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html#notifyAll()" title="class or interface in java.lang">notifyAll</A>, <A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html#toString()" title="class or interface in java.lang">toString</A>, <A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html#wait()" title="class or interface in java.lang">wait</A>, <A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html#wait(long)" title="class or interface in java.lang">wait</A>, <A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html#wait(long, int)" title="class or interface in java.lang">wait</A></CODE></TD>
    +</TR>
    +</TABLE>
    +&nbsp;
    +<P>
    +
    +<!-- ============ FIELD DETAIL =========== -->
    +
    +<A NAME="field_detail"><!-- --></A>
    +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
    +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
    +<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2">
    +<B>Field Detail</B></FONT></TH>
    +</TR>
    +</TABLE>
    +
    +<A NAME="in"><!-- --></A><H3>
    +in</H3>
    +<PRE>
    +protected final org.jacoco.core.internal.data.CompactDataInput <B>in</B></PRE>
    +<DL>
    +<DD>Underlying data input
    +<P>
    +<DL>
    +</DL>
    +</DL>
    +
    +<!-- ========= CONSTRUCTOR DETAIL ======== -->
    +
    +<A NAME="constructor_detail"><!-- --></A>
    +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
    +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
    +<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2">
    +<B>Constructor Detail</B></FONT></TH>
    +</TR>
    +</TABLE>
    +
    +<A NAME="ExecutionDataReader(java.io.InputStream)"><!-- --></A><H3>
    +ExecutionDataReader</H3>
    +<PRE>
    +public <B>ExecutionDataReader</B>(<A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/io/InputStream.html" title="class or interface in java.io">InputStream</A>&nbsp;input)</PRE>
    +<DL>
    +<DD>Creates a new reader based on the given input stream input. Depending on
    + the nature of the underlying stream input should be buffered as most data
    + is read in single bytes.
    +<P>
    +<DL>
    +<DT><B>Parameters:</B><DD><CODE>input</CODE> - input stream to read execution data from</DL>
    +</DL>
    +
    +<!-- ============ METHOD DETAIL ========== -->
    +
    +<A NAME="method_detail"><!-- --></A>
    +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
    +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
    +<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2">
    +<B>Method Detail</B></FONT></TH>
    +</TR>
    +</TABLE>
    +
    +<A NAME="setSessionInfoVisitor(org.jacoco.core.data.ISessionInfoVisitor)"><!-- --></A><H3>
    +setSessionInfoVisitor</H3>
    +<PRE>
    +public void <B>setSessionInfoVisitor</B>(<A HREF="../../../../org/jacoco/core/data/ISessionInfoVisitor.html" title="interface in org.jacoco.core.data">ISessionInfoVisitor</A>&nbsp;visitor)</PRE>
    +<DL>
    +<DD>Sets an listener for session information.
    +<P>
    +<DD><DL>
    +<DT><B>Parameters:</B><DD><CODE>visitor</CODE> - visitor to retrieve session info events</DL>
    +</DD>
    +</DL>
    +<HR>
    +
    +<A NAME="setExecutionDataVisitor(org.jacoco.core.data.IExecutionDataVisitor)"><!-- --></A><H3>
    +setExecutionDataVisitor</H3>
    +<PRE>
    +public void <B>setExecutionDataVisitor</B>(<A HREF="../../../../org/jacoco/core/data/IExecutionDataVisitor.html" title="interface in org.jacoco.core.data">IExecutionDataVisitor</A>&nbsp;visitor)</PRE>
    +<DL>
    +<DD>Sets an listener for execution data.
    +<P>
    +<DD><DL>
    +<DT><B>Parameters:</B><DD><CODE>visitor</CODE> - visitor to retrieve execution data events</DL>
    +</DD>
    +</DL>
    +<HR>
    +
    +<A NAME="read()"><!-- --></A><H3>
    +read</H3>
    +<PRE>
    +public boolean <B>read</B>()
    +             throws <A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/io/IOException.html" title="class or interface in java.io">IOException</A>,
    +                    <A HREF="../../../../org/jacoco/core/data/IncompatibleExecDataVersionException.html" title="class in org.jacoco.core.data">IncompatibleExecDataVersionException</A></PRE>
    +<DL>
    +<DD>Reads all data and reports it to the corresponding visitors. The stream
    + is read until its end or a command confirmation has been sent.
    +<P>
    +<DD><DL>
    +
    +<DT><B>Returns:</B><DD><code>true</code> if additional data can be expected after a
    +         command has been executed. <code>false</code> if the end of the
    +         stream has been reached.
    +<DT><B>Throws:</B>
    +<DD><CODE><A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/io/IOException.html" title="class or interface in java.io">IOException</A></CODE> - might be thrown by the underlying input stream
    +<DD><CODE><A HREF="../../../../org/jacoco/core/data/IncompatibleExecDataVersionException.html" title="class in org.jacoco.core.data">IncompatibleExecDataVersionException</A></CODE> - incompatible data version from different JaCoCo release</DL>
    +</DD>
    +</DL>
    +<HR>
    +
    +<A NAME="readBlock(byte)"><!-- --></A><H3>
    +readBlock</H3>
    +<PRE>
    +protected boolean <B>readBlock</B>(byte&nbsp;blocktype)
    +                     throws <A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/io/IOException.html" title="class or interface in java.io">IOException</A></PRE>
    +<DL>
    +<DD>Reads a block of data identified by the given id. Subclasses may
    + overwrite this method to support additional block types.
    +<P>
    +<DD><DL>
    +<DT><B>Parameters:</B><DD><CODE>blocktype</CODE> - block type
    +<DT><B>Returns:</B><DD><code>true</code> if there are more blocks to read
    +<DT><B>Throws:</B>
    +<DD><CODE><A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/io/IOException.html" title="class or interface in java.io">IOException</A></CODE> - might be thrown by the underlying input stream</DL>
    +</DD>
    +</DL>
    +<!-- ========= END OF CLASS DATA ========= -->
    +<HR>
    +
    +
    +<!-- ======= START OF BOTTOM NAVBAR ====== -->
    +<A NAME="navbar_bottom"><!-- --></A>
    +<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
    +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
    +<TR>
    +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
    +<A NAME="navbar_bottom_firstrow"><!-- --></A>
    +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
    +  <TR ALIGN="center" VALIGN="top">
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="class-use/ExecutionDataReader.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
    +  </TR>
    +</TABLE>
    +</TD>
    +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
    +</EM>
    +</TD>
    +</TR>
    +
    +<TR>
    +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
    +&nbsp;<A HREF="../../../../org/jacoco/core/data/ExecutionData.html" title="class in org.jacoco.core.data"><B>PREV CLASS</B></A>&nbsp;
    +&nbsp;<A HREF="../../../../org/jacoco/core/data/ExecutionDataStore.html" title="class in org.jacoco.core.data"><B>NEXT CLASS</B></A></FONT></TD>
    +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
    +  <A HREF="../../../../index.html?org/jacoco/core/data/ExecutionDataReader.html" target="_top"><B>FRAMES</B></A>  &nbsp;
    +&nbsp;<A HREF="ExecutionDataReader.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
    +&nbsp;<SCRIPT type="text/javascript">
    +  <!--
    +  if(window==top) {
    +    document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>');
    +  }
    +  //-->
    +</SCRIPT>
    +<NOSCRIPT>
    +  <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>
    +</NOSCRIPT>
    +
    +
    +</FONT></TD>
    +</TR>
    +<TR>
    +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
    +  SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;<A HREF="#field_summary">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD>
    +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
    +DETAIL:&nbsp;<A HREF="#field_detail">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD>
    +</TR>
    +</TABLE>
    +<A NAME="skip-navbar_bottom"></A>
    +<!-- ======== END OF BOTTOM NAVBAR ======= -->
    +
    +<HR>
    +Copyright &#169; 2009&#x2013;2024 Mountainminds GmbH & Co. KG. All rights reserved.
    +</BODY>
    +</HTML>
    diff --git a/jacoco/trunk/doc/api/org/jacoco/core/data/ExecutionDataStore.html b/jacoco/trunk/doc/api/org/jacoco/core/data/ExecutionDataStore.html
    new file mode 100644
    index 00000000000..d1199f630ca
    --- /dev/null
    +++ b/jacoco/trunk/doc/api/org/jacoco/core/data/ExecutionDataStore.html
    @@ -0,0 +1,513 @@
    +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
    +<!--NewPage-->
    +<HTML>
    +<HEAD>
    +<!-- Generated by javadoc (build 1.5.0_22) on Wed Mar 27 16:45:41 UTC 2024 -->
    +<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
    +<TITLE>
    +ExecutionDataStore (JaCoCo 0.8.12.202403270442 API)
    +</TITLE>
    +
    +<META NAME="keywords" CONTENT="org.jacoco.core.data.ExecutionDataStore class">
    +
    +<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../stylesheet.css" TITLE="Style">
    +
    +<SCRIPT type="text/javascript">
    +function windowTitle()
    +{
    +    parent.document.title="ExecutionDataStore (JaCoCo 0.8.12.202403270442 API)";
    +}
    +</SCRIPT>
    +<NOSCRIPT>
    +</NOSCRIPT>
    +
    +</HEAD>
    +
    +<BODY BGCOLOR="white" onload="windowTitle();">
    +
    +
    +<!-- ========= START OF TOP NAVBAR ======= -->
    +<A NAME="navbar_top"><!-- --></A>
    +<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
    +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
    +<TR>
    +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
    +<A NAME="navbar_top_firstrow"><!-- --></A>
    +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
    +  <TR ALIGN="center" VALIGN="top">
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="class-use/ExecutionDataStore.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
    +  </TR>
    +</TABLE>
    +</TD>
    +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
    +</EM>
    +</TD>
    +</TR>
    +
    +<TR>
    +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
    +&nbsp;<A HREF="../../../../org/jacoco/core/data/ExecutionDataReader.html" title="class in org.jacoco.core.data"><B>PREV CLASS</B></A>&nbsp;
    +&nbsp;<A HREF="../../../../org/jacoco/core/data/ExecutionDataWriter.html" title="class in org.jacoco.core.data"><B>NEXT CLASS</B></A></FONT></TD>
    +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
    +  <A HREF="../../../../index.html?org/jacoco/core/data/ExecutionDataStore.html" target="_top"><B>FRAMES</B></A>  &nbsp;
    +&nbsp;<A HREF="ExecutionDataStore.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
    +&nbsp;<SCRIPT type="text/javascript">
    +  <!--
    +  if(window==top) {
    +    document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>');
    +  }
    +  //-->
    +</SCRIPT>
    +<NOSCRIPT>
    +  <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>
    +</NOSCRIPT>
    +
    +
    +</FONT></TD>
    +</TR>
    +<TR>
    +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
    +  SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;FIELD&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD>
    +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
    +DETAIL:&nbsp;FIELD&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD>
    +</TR>
    +</TABLE>
    +<A NAME="skip-navbar_top"></A>
    +<!-- ========= END OF TOP NAVBAR ========= -->
    +
    +<HR>
    +<!-- ======== START OF CLASS DATA ======== -->
    +<H2>
    +<FONT SIZE="-1">
    +org.jacoco.core.data</FONT>
    +<BR>
    +Class ExecutionDataStore</H2>
    +<PRE>
    +<A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html" title="class or interface in java.lang">java.lang.Object</A>
    +  <IMG SRC="../../../../resources/inherit.gif" ALT="extended by "><B>org.jacoco.core.data.ExecutionDataStore</B>
    +</PRE>
    +<DL>
    +<DT><B>All Implemented Interfaces:</B> <DD><A HREF="../../../../org/jacoco/core/data/IExecutionDataVisitor.html" title="interface in org.jacoco.core.data">IExecutionDataVisitor</A></DD>
    +</DL>
    +<HR>
    +<DL>
    +<DT><PRE>public final class <B>ExecutionDataStore</B><DT>extends <A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html" title="class or interface in java.lang">Object</A><DT>implements <A HREF="../../../../org/jacoco/core/data/IExecutionDataVisitor.html" title="interface in org.jacoco.core.data">IExecutionDataVisitor</A></DL>
    +</PRE>
    +
    +<P>
    +In-memory data store for execution data. The data can be added through its
    + <A HREF="../../../../org/jacoco/core/data/IExecutionDataVisitor.html" title="interface in org.jacoco.core.data"><CODE>IExecutionDataVisitor</CODE></A> interface. If execution data is provided
    + multiple times for the same class the data is merged, i.e. a probe is marked
    + as executed if it is reported as executed at least once. This allows to merge
    + coverage date from multiple runs. A instance of this class is not thread
    + safe.
    +<P>
    +
    +<P>
    +<HR>
    +
    +<P>
    +
    +<!-- ======== CONSTRUCTOR SUMMARY ======== -->
    +
    +<A NAME="constructor_summary"><!-- --></A>
    +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
    +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
    +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
    +<B>Constructor Summary</B></FONT></TH>
    +</TR>
    +<TR BGCOLOR="white" CLASS="TableRowColor">
    +<TD><CODE><B><A HREF="../../../../org/jacoco/core/data/ExecutionDataStore.html#ExecutionDataStore()">ExecutionDataStore</A></B>()</CODE>
    +
    +<BR>
    +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
    +</TR>
    +</TABLE>
    +&nbsp;
    +<!-- ========== METHOD SUMMARY =========== -->
    +
    +<A NAME="method_summary"><!-- --></A>
    +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
    +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
    +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
    +<B>Method Summary</B></FONT></TH>
    +</TR>
    +<TR BGCOLOR="white" CLASS="TableRowColor">
    +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
    +<CODE>&nbsp;void</CODE></FONT></TD>
    +<TD><CODE><B><A HREF="../../../../org/jacoco/core/data/ExecutionDataStore.html#accept(org.jacoco.core.data.IExecutionDataVisitor)">accept</A></B>(<A HREF="../../../../org/jacoco/core/data/IExecutionDataVisitor.html" title="interface in org.jacoco.core.data">IExecutionDataVisitor</A>&nbsp;visitor)</CODE>
    +
    +<BR>
    +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Writes the content of the store to the given visitor interface.</TD>
    +</TR>
    +<TR BGCOLOR="white" CLASS="TableRowColor">
    +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
    +<CODE>&nbsp;boolean</CODE></FONT></TD>
    +<TD><CODE><B><A HREF="../../../../org/jacoco/core/data/ExecutionDataStore.html#contains(java.lang.String)">contains</A></B>(<A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A>&nbsp;name)</CODE>
    +
    +<BR>
    +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Checks whether execution data for classes with the given name are
    + contained in the store.</TD>
    +</TR>
    +<TR BGCOLOR="white" CLASS="TableRowColor">
    +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
    +<CODE>&nbsp;<A HREF="../../../../org/jacoco/core/data/ExecutionData.html" title="class in org.jacoco.core.data">ExecutionData</A></CODE></FONT></TD>
    +<TD><CODE><B><A HREF="../../../../org/jacoco/core/data/ExecutionDataStore.html#get(long)">get</A></B>(long&nbsp;id)</CODE>
    +
    +<BR>
    +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns the <A HREF="../../../../org/jacoco/core/data/ExecutionData.html" title="class in org.jacoco.core.data"><CODE>ExecutionData</CODE></A> entry with the given id if it exists in
    + this store.</TD>
    +</TR>
    +<TR BGCOLOR="white" CLASS="TableRowColor">
    +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
    +<CODE>&nbsp;<A HREF="../../../../org/jacoco/core/data/ExecutionData.html" title="class in org.jacoco.core.data">ExecutionData</A></CODE></FONT></TD>
    +<TD><CODE><B><A HREF="../../../../org/jacoco/core/data/ExecutionDataStore.html#get(java.lang.Long, java.lang.String, int)">get</A></B>(<A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Long.html" title="class or interface in java.lang">Long</A>&nbsp;id,
    +    <A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A>&nbsp;name,
    +    int&nbsp;probecount)</CODE>
    +
    +<BR>
    +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns the coverage data for the class with the given identifier.</TD>
    +</TR>
    +<TR BGCOLOR="white" CLASS="TableRowColor">
    +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
    +<CODE>&nbsp;<A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/util/Collection.html" title="class or interface in java.util">Collection</A>&lt;<A HREF="../../../../org/jacoco/core/data/ExecutionData.html" title="class in org.jacoco.core.data">ExecutionData</A>&gt;</CODE></FONT></TD>
    +<TD><CODE><B><A HREF="../../../../org/jacoco/core/data/ExecutionDataStore.html#getContents()">getContents</A></B>()</CODE>
    +
    +<BR>
    +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns a collection that represents current contents of the store.</TD>
    +</TR>
    +<TR BGCOLOR="white" CLASS="TableRowColor">
    +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
    +<CODE>&nbsp;void</CODE></FONT></TD>
    +<TD><CODE><B><A HREF="../../../../org/jacoco/core/data/ExecutionDataStore.html#put(org.jacoco.core.data.ExecutionData)">put</A></B>(<A HREF="../../../../org/jacoco/core/data/ExecutionData.html" title="class in org.jacoco.core.data">ExecutionData</A>&nbsp;data)</CODE>
    +
    +<BR>
    +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Adds the given <A HREF="../../../../org/jacoco/core/data/ExecutionData.html" title="class in org.jacoco.core.data"><CODE>ExecutionData</CODE></A> object into the store.</TD>
    +</TR>
    +<TR BGCOLOR="white" CLASS="TableRowColor">
    +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
    +<CODE>&nbsp;void</CODE></FONT></TD>
    +<TD><CODE><B><A HREF="../../../../org/jacoco/core/data/ExecutionDataStore.html#reset()">reset</A></B>()</CODE>
    +
    +<BR>
    +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Resets all execution data probes, i.e.</TD>
    +</TR>
    +<TR BGCOLOR="white" CLASS="TableRowColor">
    +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
    +<CODE>&nbsp;void</CODE></FONT></TD>
    +<TD><CODE><B><A HREF="../../../../org/jacoco/core/data/ExecutionDataStore.html#subtract(org.jacoco.core.data.ExecutionData)">subtract</A></B>(<A HREF="../../../../org/jacoco/core/data/ExecutionData.html" title="class in org.jacoco.core.data">ExecutionData</A>&nbsp;data)</CODE>
    +
    +<BR>
    +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Subtracts the probes in the given <A HREF="../../../../org/jacoco/core/data/ExecutionData.html" title="class in org.jacoco.core.data"><CODE>ExecutionData</CODE></A> object from the
    + store.</TD>
    +</TR>
    +<TR BGCOLOR="white" CLASS="TableRowColor">
    +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
    +<CODE>&nbsp;void</CODE></FONT></TD>
    +<TD><CODE><B><A HREF="../../../../org/jacoco/core/data/ExecutionDataStore.html#subtract(org.jacoco.core.data.ExecutionDataStore)">subtract</A></B>(<A HREF="../../../../org/jacoco/core/data/ExecutionDataStore.html" title="class in org.jacoco.core.data">ExecutionDataStore</A>&nbsp;store)</CODE>
    +
    +<BR>
    +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Subtracts all probes in the given execution data store from this store.</TD>
    +</TR>
    +<TR BGCOLOR="white" CLASS="TableRowColor">
    +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
    +<CODE>&nbsp;void</CODE></FONT></TD>
    +<TD><CODE><B><A HREF="../../../../org/jacoco/core/data/ExecutionDataStore.html#visitClassExecution(org.jacoco.core.data.ExecutionData)">visitClassExecution</A></B>(<A HREF="../../../../org/jacoco/core/data/ExecutionData.html" title="class in org.jacoco.core.data">ExecutionData</A>&nbsp;data)</CODE>
    +
    +<BR>
    +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Provides execution data for a class.</TD>
    +</TR>
    +</TABLE>
    +&nbsp;<A NAME="methods_inherited_from_class_java.lang.Object"><!-- --></A>
    +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
    +<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
    +<TH ALIGN="left"><B>Methods inherited from class java.lang.<A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html" title="class or interface in java.lang">Object</A></B></TH>
    +</TR>
    +<TR BGCOLOR="white" CLASS="TableRowColor">
    +<TD><CODE><A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html#clone()" title="class or interface in java.lang">clone</A>, <A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html#equals(java.lang.Object)" title="class or interface in java.lang">equals</A>, <A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html#finalize()" title="class or interface in java.lang">finalize</A>, <A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html#getClass()" title="class or interface in java.lang">getClass</A>, <A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html#hashCode()" title="class or interface in java.lang">hashCode</A>, <A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html#notify()" title="class or interface in java.lang">notify</A>, <A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html#notifyAll()" title="class or interface in java.lang">notifyAll</A>, <A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html#toString()" title="class or interface in java.lang">toString</A>, <A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html#wait()" title="class or interface in java.lang">wait</A>, <A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html#wait(long)" title="class or interface in java.lang">wait</A>, <A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html#wait(long, int)" title="class or interface in java.lang">wait</A></CODE></TD>
    +</TR>
    +</TABLE>
    +&nbsp;
    +<P>
    +
    +<!-- ========= CONSTRUCTOR DETAIL ======== -->
    +
    +<A NAME="constructor_detail"><!-- --></A>
    +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
    +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
    +<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2">
    +<B>Constructor Detail</B></FONT></TH>
    +</TR>
    +</TABLE>
    +
    +<A NAME="ExecutionDataStore()"><!-- --></A><H3>
    +ExecutionDataStore</H3>
    +<PRE>
    +public <B>ExecutionDataStore</B>()</PRE>
    +<DL>
    +</DL>
    +
    +<!-- ============ METHOD DETAIL ========== -->
    +
    +<A NAME="method_detail"><!-- --></A>
    +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
    +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
    +<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2">
    +<B>Method Detail</B></FONT></TH>
    +</TR>
    +</TABLE>
    +
    +<A NAME="put(org.jacoco.core.data.ExecutionData)"><!-- --></A><H3>
    +put</H3>
    +<PRE>
    +public void <B>put</B>(<A HREF="../../../../org/jacoco/core/data/ExecutionData.html" title="class in org.jacoco.core.data">ExecutionData</A>&nbsp;data)
    +         throws <A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/IllegalStateException.html" title="class or interface in java.lang">IllegalStateException</A></PRE>
    +<DL>
    +<DD>Adds the given <A HREF="../../../../org/jacoco/core/data/ExecutionData.html" title="class in org.jacoco.core.data"><CODE>ExecutionData</CODE></A> object into the store. If there is
    + already execution data with this same class id, this structure is merged
    + with the given one.
    +<P>
    +<DD><DL>
    +</DL>
    +</DD>
    +<DD><DL>
    +<DT><B>Parameters:</B><DD><CODE>data</CODE> - execution data to add or merge
    +<DT><B>Throws:</B>
    +<DD><CODE><A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/IllegalStateException.html" title="class or interface in java.lang">IllegalStateException</A></CODE> - if the given <A HREF="../../../../org/jacoco/core/data/ExecutionData.html" title="class in org.jacoco.core.data"><CODE>ExecutionData</CODE></A> object is not compatible
    +             to a corresponding one, that is already contained<DT><B>See Also:</B><DD><A HREF="../../../../org/jacoco/core/data/ExecutionData.html#assertCompatibility(long, java.lang.String, int)"><CODE>ExecutionData.assertCompatibility(long, String, int)</CODE></A></DL>
    +</DD>
    +</DL>
    +<HR>
    +
    +<A NAME="subtract(org.jacoco.core.data.ExecutionData)"><!-- --></A><H3>
    +subtract</H3>
    +<PRE>
    +public void <B>subtract</B>(<A HREF="../../../../org/jacoco/core/data/ExecutionData.html" title="class in org.jacoco.core.data">ExecutionData</A>&nbsp;data)
    +              throws <A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/IllegalStateException.html" title="class or interface in java.lang">IllegalStateException</A></PRE>
    +<DL>
    +<DD>Subtracts the probes in the given <A HREF="../../../../org/jacoco/core/data/ExecutionData.html" title="class in org.jacoco.core.data"><CODE>ExecutionData</CODE></A> object from the
    + store. I.e. for all set probes in the given data object the corresponding
    + probes in this store will be unset. If there is no execution data with id
    + of the given data object this operation will have no effect.
    +<P>
    +<DD><DL>
    +</DL>
    +</DD>
    +<DD><DL>
    +<DT><B>Parameters:</B><DD><CODE>data</CODE> - execution data to subtract
    +<DT><B>Throws:</B>
    +<DD><CODE><A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/IllegalStateException.html" title="class or interface in java.lang">IllegalStateException</A></CODE> - if the given <A HREF="../../../../org/jacoco/core/data/ExecutionData.html" title="class in org.jacoco.core.data"><CODE>ExecutionData</CODE></A> object is not compatible
    +             to a corresponding one, that is already contained<DT><B>See Also:</B><DD><A HREF="../../../../org/jacoco/core/data/ExecutionData.html#assertCompatibility(long, java.lang.String, int)"><CODE>ExecutionData.assertCompatibility(long, String, int)</CODE></A></DL>
    +</DD>
    +</DL>
    +<HR>
    +
    +<A NAME="subtract(org.jacoco.core.data.ExecutionDataStore)"><!-- --></A><H3>
    +subtract</H3>
    +<PRE>
    +public void <B>subtract</B>(<A HREF="../../../../org/jacoco/core/data/ExecutionDataStore.html" title="class in org.jacoco.core.data">ExecutionDataStore</A>&nbsp;store)</PRE>
    +<DL>
    +<DD>Subtracts all probes in the given execution data store from this store.
    +<P>
    +<DD><DL>
    +</DL>
    +</DD>
    +<DD><DL>
    +<DT><B>Parameters:</B><DD><CODE>store</CODE> - execution data store to subtract<DT><B>See Also:</B><DD><A HREF="../../../../org/jacoco/core/data/ExecutionDataStore.html#subtract(org.jacoco.core.data.ExecutionData)"><CODE>subtract(ExecutionData)</CODE></A></DL>
    +</DD>
    +</DL>
    +<HR>
    +
    +<A NAME="get(long)"><!-- --></A><H3>
    +get</H3>
    +<PRE>
    +public <A HREF="../../../../org/jacoco/core/data/ExecutionData.html" title="class in org.jacoco.core.data">ExecutionData</A> <B>get</B>(long&nbsp;id)</PRE>
    +<DL>
    +<DD>Returns the <A HREF="../../../../org/jacoco/core/data/ExecutionData.html" title="class in org.jacoco.core.data"><CODE>ExecutionData</CODE></A> entry with the given id if it exists in
    + this store.
    +<P>
    +<DD><DL>
    +</DL>
    +</DD>
    +<DD><DL>
    +<DT><B>Parameters:</B><DD><CODE>id</CODE> - class id
    +<DT><B>Returns:</B><DD>execution data or <code>null</code></DL>
    +</DD>
    +</DL>
    +<HR>
    +
    +<A NAME="contains(java.lang.String)"><!-- --></A><H3>
    +contains</H3>
    +<PRE>
    +public boolean <B>contains</B>(<A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A>&nbsp;name)</PRE>
    +<DL>
    +<DD>Checks whether execution data for classes with the given name are
    + contained in the store.
    +<P>
    +<DD><DL>
    +</DL>
    +</DD>
    +<DD><DL>
    +<DT><B>Parameters:</B><DD><CODE>name</CODE> - VM name
    +<DT><B>Returns:</B><DD><code>true</code> if at least one class with the name is
    +         contained.</DL>
    +</DD>
    +</DL>
    +<HR>
    +
    +<A NAME="get(java.lang.Long, java.lang.String, int)"><!-- --></A><H3>
    +get</H3>
    +<PRE>
    +public <A HREF="../../../../org/jacoco/core/data/ExecutionData.html" title="class in org.jacoco.core.data">ExecutionData</A> <B>get</B>(<A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Long.html" title="class or interface in java.lang">Long</A>&nbsp;id,
    +                         <A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A>&nbsp;name,
    +                         int&nbsp;probecount)</PRE>
    +<DL>
    +<DD>Returns the coverage data for the class with the given identifier. If
    + there is no data available under the given id a new entry is created.
    +<P>
    +<DD><DL>
    +</DL>
    +</DD>
    +<DD><DL>
    +<DT><B>Parameters:</B><DD><CODE>id</CODE> - class identifier<DD><CODE>name</CODE> - VM name of the class<DD><CODE>probecount</CODE> - probe data length
    +<DT><B>Returns:</B><DD>execution data</DL>
    +</DD>
    +</DL>
    +<HR>
    +
    +<A NAME="reset()"><!-- --></A><H3>
    +reset</H3>
    +<PRE>
    +public void <B>reset</B>()</PRE>
    +<DL>
    +<DD>Resets all execution data probes, i.e. marks them as not executed. The
    + execution data objects itself are not removed.
    +<P>
    +<DD><DL>
    +</DL>
    +</DD>
    +<DD><DL>
    +</DL>
    +</DD>
    +</DL>
    +<HR>
    +
    +<A NAME="getContents()"><!-- --></A><H3>
    +getContents</H3>
    +<PRE>
    +public <A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/util/Collection.html" title="class or interface in java.util">Collection</A>&lt;<A HREF="../../../../org/jacoco/core/data/ExecutionData.html" title="class in org.jacoco.core.data">ExecutionData</A>&gt; <B>getContents</B>()</PRE>
    +<DL>
    +<DD>Returns a collection that represents current contents of the store.
    +<P>
    +<DD><DL>
    +</DL>
    +</DD>
    +<DD><DL>
    +
    +<DT><B>Returns:</B><DD>current contents</DL>
    +</DD>
    +</DL>
    +<HR>
    +
    +<A NAME="accept(org.jacoco.core.data.IExecutionDataVisitor)"><!-- --></A><H3>
    +accept</H3>
    +<PRE>
    +public void <B>accept</B>(<A HREF="../../../../org/jacoco/core/data/IExecutionDataVisitor.html" title="interface in org.jacoco.core.data">IExecutionDataVisitor</A>&nbsp;visitor)</PRE>
    +<DL>
    +<DD>Writes the content of the store to the given visitor interface.
    +<P>
    +<DD><DL>
    +</DL>
    +</DD>
    +<DD><DL>
    +<DT><B>Parameters:</B><DD><CODE>visitor</CODE> - interface to write content to</DL>
    +</DD>
    +</DL>
    +<HR>
    +
    +<A NAME="visitClassExecution(org.jacoco.core.data.ExecutionData)"><!-- --></A><H3>
    +visitClassExecution</H3>
    +<PRE>
    +public void <B>visitClassExecution</B>(<A HREF="../../../../org/jacoco/core/data/ExecutionData.html" title="class in org.jacoco.core.data">ExecutionData</A>&nbsp;data)</PRE>
    +<DL>
    +<DD><B>Description copied from interface: <CODE><A HREF="../../../../org/jacoco/core/data/IExecutionDataVisitor.html#visitClassExecution(org.jacoco.core.data.ExecutionData)">IExecutionDataVisitor</A></CODE></B></DD>
    +<DD>Provides execution data for a class.
    +<P>
    +<DD><DL>
    +<DT><B>Specified by:</B><DD><CODE><A HREF="../../../../org/jacoco/core/data/IExecutionDataVisitor.html#visitClassExecution(org.jacoco.core.data.ExecutionData)">visitClassExecution</A></CODE> in interface <CODE><A HREF="../../../../org/jacoco/core/data/IExecutionDataVisitor.html" title="interface in org.jacoco.core.data">IExecutionDataVisitor</A></CODE></DL>
    +</DD>
    +<DD><DL>
    +<DT><B>Parameters:</B><DD><CODE>data</CODE> - execution data for a class</DL>
    +</DD>
    +</DL>
    +<!-- ========= END OF CLASS DATA ========= -->
    +<HR>
    +
    +
    +<!-- ======= START OF BOTTOM NAVBAR ====== -->
    +<A NAME="navbar_bottom"><!-- --></A>
    +<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
    +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
    +<TR>
    +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
    +<A NAME="navbar_bottom_firstrow"><!-- --></A>
    +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
    +  <TR ALIGN="center" VALIGN="top">
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="class-use/ExecutionDataStore.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
    +  </TR>
    +</TABLE>
    +</TD>
    +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
    +</EM>
    +</TD>
    +</TR>
    +
    +<TR>
    +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
    +&nbsp;<A HREF="../../../../org/jacoco/core/data/ExecutionDataReader.html" title="class in org.jacoco.core.data"><B>PREV CLASS</B></A>&nbsp;
    +&nbsp;<A HREF="../../../../org/jacoco/core/data/ExecutionDataWriter.html" title="class in org.jacoco.core.data"><B>NEXT CLASS</B></A></FONT></TD>
    +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
    +  <A HREF="../../../../index.html?org/jacoco/core/data/ExecutionDataStore.html" target="_top"><B>FRAMES</B></A>  &nbsp;
    +&nbsp;<A HREF="ExecutionDataStore.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
    +&nbsp;<SCRIPT type="text/javascript">
    +  <!--
    +  if(window==top) {
    +    document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>');
    +  }
    +  //-->
    +</SCRIPT>
    +<NOSCRIPT>
    +  <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>
    +</NOSCRIPT>
    +
    +
    +</FONT></TD>
    +</TR>
    +<TR>
    +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
    +  SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;FIELD&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD>
    +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
    +DETAIL:&nbsp;FIELD&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD>
    +</TR>
    +</TABLE>
    +<A NAME="skip-navbar_bottom"></A>
    +<!-- ======== END OF BOTTOM NAVBAR ======= -->
    +
    +<HR>
    +Copyright &#169; 2009&#x2013;2024 Mountainminds GmbH & Co. KG. All rights reserved.
    +</BODY>
    +</HTML>
    diff --git a/jacoco/trunk/doc/api/org/jacoco/core/data/ExecutionDataWriter.html b/jacoco/trunk/doc/api/org/jacoco/core/data/ExecutionDataWriter.html
    new file mode 100644
    index 00000000000..7dad468844d
    --- /dev/null
    +++ b/jacoco/trunk/doc/api/org/jacoco/core/data/ExecutionDataWriter.html
    @@ -0,0 +1,494 @@
    +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
    +<!--NewPage-->
    +<HTML>
    +<HEAD>
    +<!-- Generated by javadoc (build 1.5.0_22) on Wed Mar 27 16:45:41 UTC 2024 -->
    +<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
    +<TITLE>
    +ExecutionDataWriter (JaCoCo 0.8.12.202403270442 API)
    +</TITLE>
    +
    +<META NAME="keywords" CONTENT="org.jacoco.core.data.ExecutionDataWriter class">
    +
    +<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../stylesheet.css" TITLE="Style">
    +
    +<SCRIPT type="text/javascript">
    +function windowTitle()
    +{
    +    parent.document.title="ExecutionDataWriter (JaCoCo 0.8.12.202403270442 API)";
    +}
    +</SCRIPT>
    +<NOSCRIPT>
    +</NOSCRIPT>
    +
    +</HEAD>
    +
    +<BODY BGCOLOR="white" onload="windowTitle();">
    +
    +
    +<!-- ========= START OF TOP NAVBAR ======= -->
    +<A NAME="navbar_top"><!-- --></A>
    +<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
    +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
    +<TR>
    +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
    +<A NAME="navbar_top_firstrow"><!-- --></A>
    +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
    +  <TR ALIGN="center" VALIGN="top">
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="class-use/ExecutionDataWriter.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
    +  </TR>
    +</TABLE>
    +</TD>
    +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
    +</EM>
    +</TD>
    +</TR>
    +
    +<TR>
    +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
    +&nbsp;<A HREF="../../../../org/jacoco/core/data/ExecutionDataStore.html" title="class in org.jacoco.core.data"><B>PREV CLASS</B></A>&nbsp;
    +&nbsp;<A HREF="../../../../org/jacoco/core/data/IExecutionDataVisitor.html" title="interface in org.jacoco.core.data"><B>NEXT CLASS</B></A></FONT></TD>
    +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
    +  <A HREF="../../../../index.html?org/jacoco/core/data/ExecutionDataWriter.html" target="_top"><B>FRAMES</B></A>  &nbsp;
    +&nbsp;<A HREF="ExecutionDataWriter.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
    +&nbsp;<SCRIPT type="text/javascript">
    +  <!--
    +  if(window==top) {
    +    document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>');
    +  }
    +  //-->
    +</SCRIPT>
    +<NOSCRIPT>
    +  <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>
    +</NOSCRIPT>
    +
    +
    +</FONT></TD>
    +</TR>
    +<TR>
    +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
    +  SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;<A HREF="#field_summary">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD>
    +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
    +DETAIL:&nbsp;<A HREF="#field_detail">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD>
    +</TR>
    +</TABLE>
    +<A NAME="skip-navbar_top"></A>
    +<!-- ========= END OF TOP NAVBAR ========= -->
    +
    +<HR>
    +<!-- ======== START OF CLASS DATA ======== -->
    +<H2>
    +<FONT SIZE="-1">
    +org.jacoco.core.data</FONT>
    +<BR>
    +Class ExecutionDataWriter</H2>
    +<PRE>
    +<A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html" title="class or interface in java.lang">java.lang.Object</A>
    +  <IMG SRC="../../../../resources/inherit.gif" ALT="extended by "><B>org.jacoco.core.data.ExecutionDataWriter</B>
    +</PRE>
    +<DL>
    +<DT><B>All Implemented Interfaces:</B> <DD><A HREF="../../../../org/jacoco/core/data/IExecutionDataVisitor.html" title="interface in org.jacoco.core.data">IExecutionDataVisitor</A>, <A HREF="../../../../org/jacoco/core/data/ISessionInfoVisitor.html" title="interface in org.jacoco.core.data">ISessionInfoVisitor</A></DD>
    +</DL>
    +<DL>
    +<DT><B>Direct Known Subclasses:</B> <DD><A HREF="../../../../org/jacoco/core/runtime/RemoteControlWriter.html" title="class in org.jacoco.core.runtime">RemoteControlWriter</A></DD>
    +</DL>
    +<HR>
    +<DL>
    +<DT><PRE>public class <B>ExecutionDataWriter</B><DT>extends <A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html" title="class or interface in java.lang">Object</A><DT>implements <A HREF="../../../../org/jacoco/core/data/ISessionInfoVisitor.html" title="interface in org.jacoco.core.data">ISessionInfoVisitor</A>, <A HREF="../../../../org/jacoco/core/data/IExecutionDataVisitor.html" title="interface in org.jacoco.core.data">IExecutionDataVisitor</A></DL>
    +</PRE>
    +
    +<P>
    +Serialization of execution data into binary streams.
    +<P>
    +
    +<P>
    +<HR>
    +
    +<P>
    +<!-- =========== FIELD SUMMARY =========== -->
    +
    +<A NAME="field_summary"><!-- --></A>
    +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
    +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
    +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
    +<B>Field Summary</B></FONT></TH>
    +</TR>
    +<TR BGCOLOR="white" CLASS="TableRowColor">
    +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
    +<CODE>static&nbsp;byte</CODE></FONT></TD>
    +<TD><CODE><B><A HREF="../../../../org/jacoco/core/data/ExecutionDataWriter.html#BLOCK_EXECUTIONDATA">BLOCK_EXECUTIONDATA</A></B></CODE>
    +
    +<BR>
    +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Block identifier for execution data of a single class.</TD>
    +</TR>
    +<TR BGCOLOR="white" CLASS="TableRowColor">
    +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
    +<CODE>static&nbsp;byte</CODE></FONT></TD>
    +<TD><CODE><B><A HREF="../../../../org/jacoco/core/data/ExecutionDataWriter.html#BLOCK_HEADER">BLOCK_HEADER</A></B></CODE>
    +
    +<BR>
    +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Block identifier for file headers.</TD>
    +</TR>
    +<TR BGCOLOR="white" CLASS="TableRowColor">
    +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
    +<CODE>static&nbsp;byte</CODE></FONT></TD>
    +<TD><CODE><B><A HREF="../../../../org/jacoco/core/data/ExecutionDataWriter.html#BLOCK_SESSIONINFO">BLOCK_SESSIONINFO</A></B></CODE>
    +
    +<BR>
    +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Block identifier for session information.</TD>
    +</TR>
    +<TR BGCOLOR="white" CLASS="TableRowColor">
    +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
    +<CODE>static&nbsp;char</CODE></FONT></TD>
    +<TD><CODE><B><A HREF="../../../../org/jacoco/core/data/ExecutionDataWriter.html#FORMAT_VERSION">FORMAT_VERSION</A></B></CODE>
    +
    +<BR>
    +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;File format version, will be incremented for each incompatible change.</TD>
    +</TR>
    +<TR BGCOLOR="white" CLASS="TableRowColor">
    +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
    +<CODE>static&nbsp;char</CODE></FONT></TD>
    +<TD><CODE><B><A HREF="../../../../org/jacoco/core/data/ExecutionDataWriter.html#MAGIC_NUMBER">MAGIC_NUMBER</A></B></CODE>
    +
    +<BR>
    +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Magic number in header for file format identification.</TD>
    +</TR>
    +<TR BGCOLOR="white" CLASS="TableRowColor">
    +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
    +<CODE>protected &nbsp;org.jacoco.core.internal.data.CompactDataOutput</CODE></FONT></TD>
    +<TD><CODE><B><A HREF="../../../../org/jacoco/core/data/ExecutionDataWriter.html#out">out</A></B></CODE>
    +
    +<BR>
    +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Underlying data output</TD>
    +</TR>
    +</TABLE>
    +&nbsp;
    +<!-- ======== CONSTRUCTOR SUMMARY ======== -->
    +
    +<A NAME="constructor_summary"><!-- --></A>
    +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
    +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
    +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
    +<B>Constructor Summary</B></FONT></TH>
    +</TR>
    +<TR BGCOLOR="white" CLASS="TableRowColor">
    +<TD><CODE><B><A HREF="../../../../org/jacoco/core/data/ExecutionDataWriter.html#ExecutionDataWriter(java.io.OutputStream)">ExecutionDataWriter</A></B>(<A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/io/OutputStream.html" title="class or interface in java.io">OutputStream</A>&nbsp;output)</CODE>
    +
    +<BR>
    +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Creates a new writer based on the given output stream.</TD>
    +</TR>
    +</TABLE>
    +&nbsp;
    +<!-- ========== METHOD SUMMARY =========== -->
    +
    +<A NAME="method_summary"><!-- --></A>
    +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
    +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
    +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
    +<B>Method Summary</B></FONT></TH>
    +</TR>
    +<TR BGCOLOR="white" CLASS="TableRowColor">
    +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
    +<CODE>&nbsp;void</CODE></FONT></TD>
    +<TD><CODE><B><A HREF="../../../../org/jacoco/core/data/ExecutionDataWriter.html#flush()">flush</A></B>()</CODE>
    +
    +<BR>
    +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Flushes the underlying stream.</TD>
    +</TR>
    +<TR BGCOLOR="white" CLASS="TableRowColor">
    +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
    +<CODE>static&nbsp;byte[]</CODE></FONT></TD>
    +<TD><CODE><B><A HREF="../../../../org/jacoco/core/data/ExecutionDataWriter.html#getFileHeader()">getFileHeader</A></B>()</CODE>
    +
    +<BR>
    +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns the first bytes of a file that represents a valid execution data
    + file.</TD>
    +</TR>
    +<TR BGCOLOR="white" CLASS="TableRowColor">
    +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
    +<CODE>&nbsp;void</CODE></FONT></TD>
    +<TD><CODE><B><A HREF="../../../../org/jacoco/core/data/ExecutionDataWriter.html#visitClassExecution(org.jacoco.core.data.ExecutionData)">visitClassExecution</A></B>(<A HREF="../../../../org/jacoco/core/data/ExecutionData.html" title="class in org.jacoco.core.data">ExecutionData</A>&nbsp;data)</CODE>
    +
    +<BR>
    +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Provides execution data for a class.</TD>
    +</TR>
    +<TR BGCOLOR="white" CLASS="TableRowColor">
    +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
    +<CODE>&nbsp;void</CODE></FONT></TD>
    +<TD><CODE><B><A HREF="../../../../org/jacoco/core/data/ExecutionDataWriter.html#visitSessionInfo(org.jacoco.core.data.SessionInfo)">visitSessionInfo</A></B>(<A HREF="../../../../org/jacoco/core/data/SessionInfo.html" title="class in org.jacoco.core.data">SessionInfo</A>&nbsp;info)</CODE>
    +
    +<BR>
    +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Provides session information for the subsequent execution data calls.</TD>
    +</TR>
    +</TABLE>
    +&nbsp;<A NAME="methods_inherited_from_class_java.lang.Object"><!-- --></A>
    +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
    +<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
    +<TH ALIGN="left"><B>Methods inherited from class java.lang.<A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html" title="class or interface in java.lang">Object</A></B></TH>
    +</TR>
    +<TR BGCOLOR="white" CLASS="TableRowColor">
    +<TD><CODE><A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html#clone()" title="class or interface in java.lang">clone</A>, <A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html#equals(java.lang.Object)" title="class or interface in java.lang">equals</A>, <A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html#finalize()" title="class or interface in java.lang">finalize</A>, <A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html#getClass()" title="class or interface in java.lang">getClass</A>, <A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html#hashCode()" title="class or interface in java.lang">hashCode</A>, <A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html#notify()" title="class or interface in java.lang">notify</A>, <A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html#notifyAll()" title="class or interface in java.lang">notifyAll</A>, <A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html#toString()" title="class or interface in java.lang">toString</A>, <A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html#wait()" title="class or interface in java.lang">wait</A>, <A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html#wait(long)" title="class or interface in java.lang">wait</A>, <A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html#wait(long, int)" title="class or interface in java.lang">wait</A></CODE></TD>
    +</TR>
    +</TABLE>
    +&nbsp;
    +<P>
    +
    +<!-- ============ FIELD DETAIL =========== -->
    +
    +<A NAME="field_detail"><!-- --></A>
    +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
    +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
    +<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2">
    +<B>Field Detail</B></FONT></TH>
    +</TR>
    +</TABLE>
    +
    +<A NAME="FORMAT_VERSION"><!-- --></A><H3>
    +FORMAT_VERSION</H3>
    +<PRE>
    +public static final char <B>FORMAT_VERSION</B></PRE>
    +<DL>
    +<DD>File format version, will be incremented for each incompatible change.
    +<P>
    +<DL>
    +</DL>
    +</DL>
    +<HR>
    +
    +<A NAME="MAGIC_NUMBER"><!-- --></A><H3>
    +MAGIC_NUMBER</H3>
    +<PRE>
    +public static final char <B>MAGIC_NUMBER</B></PRE>
    +<DL>
    +<DD>Magic number in header for file format identification.
    +<P>
    +<DL>
    +<DT><B>See Also:</B><DD><A HREF="../../../../constant-values.html#org.jacoco.core.data.ExecutionDataWriter.MAGIC_NUMBER">Constant Field Values</A></DL>
    +</DL>
    +<HR>
    +
    +<A NAME="BLOCK_HEADER"><!-- --></A><H3>
    +BLOCK_HEADER</H3>
    +<PRE>
    +public static final byte <B>BLOCK_HEADER</B></PRE>
    +<DL>
    +<DD>Block identifier for file headers.
    +<P>
    +<DL>
    +<DT><B>See Also:</B><DD><A HREF="../../../../constant-values.html#org.jacoco.core.data.ExecutionDataWriter.BLOCK_HEADER">Constant Field Values</A></DL>
    +</DL>
    +<HR>
    +
    +<A NAME="BLOCK_SESSIONINFO"><!-- --></A><H3>
    +BLOCK_SESSIONINFO</H3>
    +<PRE>
    +public static final byte <B>BLOCK_SESSIONINFO</B></PRE>
    +<DL>
    +<DD>Block identifier for session information.
    +<P>
    +<DL>
    +<DT><B>See Also:</B><DD><A HREF="../../../../constant-values.html#org.jacoco.core.data.ExecutionDataWriter.BLOCK_SESSIONINFO">Constant Field Values</A></DL>
    +</DL>
    +<HR>
    +
    +<A NAME="BLOCK_EXECUTIONDATA"><!-- --></A><H3>
    +BLOCK_EXECUTIONDATA</H3>
    +<PRE>
    +public static final byte <B>BLOCK_EXECUTIONDATA</B></PRE>
    +<DL>
    +<DD>Block identifier for execution data of a single class.
    +<P>
    +<DL>
    +<DT><B>See Also:</B><DD><A HREF="../../../../constant-values.html#org.jacoco.core.data.ExecutionDataWriter.BLOCK_EXECUTIONDATA">Constant Field Values</A></DL>
    +</DL>
    +<HR>
    +
    +<A NAME="out"><!-- --></A><H3>
    +out</H3>
    +<PRE>
    +protected final org.jacoco.core.internal.data.CompactDataOutput <B>out</B></PRE>
    +<DL>
    +<DD>Underlying data output
    +<P>
    +<DL>
    +</DL>
    +</DL>
    +
    +<!-- ========= CONSTRUCTOR DETAIL ======== -->
    +
    +<A NAME="constructor_detail"><!-- --></A>
    +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
    +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
    +<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2">
    +<B>Constructor Detail</B></FONT></TH>
    +</TR>
    +</TABLE>
    +
    +<A NAME="ExecutionDataWriter(java.io.OutputStream)"><!-- --></A><H3>
    +ExecutionDataWriter</H3>
    +<PRE>
    +public <B>ExecutionDataWriter</B>(<A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/io/OutputStream.html" title="class or interface in java.io">OutputStream</A>&nbsp;output)
    +                    throws <A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/io/IOException.html" title="class or interface in java.io">IOException</A></PRE>
    +<DL>
    +<DD>Creates a new writer based on the given output stream. Depending on the
    + nature of the underlying stream output should be buffered as most data is
    + written in single bytes.
    +<P>
    +<DL>
    +<DT><B>Parameters:</B><DD><CODE>output</CODE> - binary stream to write execution data to
    +<DT><B>Throws:</B>
    +<DD><CODE><A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/io/IOException.html" title="class or interface in java.io">IOException</A></CODE> - if the header can't be written</DL>
    +</DL>
    +
    +<!-- ============ METHOD DETAIL ========== -->
    +
    +<A NAME="method_detail"><!-- --></A>
    +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
    +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
    +<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2">
    +<B>Method Detail</B></FONT></TH>
    +</TR>
    +</TABLE>
    +
    +<A NAME="flush()"><!-- --></A><H3>
    +flush</H3>
    +<PRE>
    +public void <B>flush</B>()
    +           throws <A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/io/IOException.html" title="class or interface in java.io">IOException</A></PRE>
    +<DL>
    +<DD>Flushes the underlying stream.
    +<P>
    +<DD><DL>
    +</DL>
    +</DD>
    +<DD><DL>
    +
    +<DT><B>Throws:</B>
    +<DD><CODE><A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/io/IOException.html" title="class or interface in java.io">IOException</A></CODE> - if the underlying stream can't be flushed</DL>
    +</DD>
    +</DL>
    +<HR>
    +
    +<A NAME="visitSessionInfo(org.jacoco.core.data.SessionInfo)"><!-- --></A><H3>
    +visitSessionInfo</H3>
    +<PRE>
    +public void <B>visitSessionInfo</B>(<A HREF="../../../../org/jacoco/core/data/SessionInfo.html" title="class in org.jacoco.core.data">SessionInfo</A>&nbsp;info)</PRE>
    +<DL>
    +<DD><B>Description copied from interface: <CODE><A HREF="../../../../org/jacoco/core/data/ISessionInfoVisitor.html#visitSessionInfo(org.jacoco.core.data.SessionInfo)">ISessionInfoVisitor</A></CODE></B></DD>
    +<DD>Provides session information for the subsequent execution data calls. In
    + case of merged sessions this method might be called multiple times.
    +<P>
    +<DD><DL>
    +<DT><B>Specified by:</B><DD><CODE><A HREF="../../../../org/jacoco/core/data/ISessionInfoVisitor.html#visitSessionInfo(org.jacoco.core.data.SessionInfo)">visitSessionInfo</A></CODE> in interface <CODE><A HREF="../../../../org/jacoco/core/data/ISessionInfoVisitor.html" title="interface in org.jacoco.core.data">ISessionInfoVisitor</A></CODE></DL>
    +</DD>
    +<DD><DL>
    +<DT><B>Parameters:</B><DD><CODE>info</CODE> - session information</DL>
    +</DD>
    +</DL>
    +<HR>
    +
    +<A NAME="visitClassExecution(org.jacoco.core.data.ExecutionData)"><!-- --></A><H3>
    +visitClassExecution</H3>
    +<PRE>
    +public void <B>visitClassExecution</B>(<A HREF="../../../../org/jacoco/core/data/ExecutionData.html" title="class in org.jacoco.core.data">ExecutionData</A>&nbsp;data)</PRE>
    +<DL>
    +<DD><B>Description copied from interface: <CODE><A HREF="../../../../org/jacoco/core/data/IExecutionDataVisitor.html#visitClassExecution(org.jacoco.core.data.ExecutionData)">IExecutionDataVisitor</A></CODE></B></DD>
    +<DD>Provides execution data for a class.
    +<P>
    +<DD><DL>
    +<DT><B>Specified by:</B><DD><CODE><A HREF="../../../../org/jacoco/core/data/IExecutionDataVisitor.html#visitClassExecution(org.jacoco.core.data.ExecutionData)">visitClassExecution</A></CODE> in interface <CODE><A HREF="../../../../org/jacoco/core/data/IExecutionDataVisitor.html" title="interface in org.jacoco.core.data">IExecutionDataVisitor</A></CODE></DL>
    +</DD>
    +<DD><DL>
    +<DT><B>Parameters:</B><DD><CODE>data</CODE> - execution data for a class</DL>
    +</DD>
    +</DL>
    +<HR>
    +
    +<A NAME="getFileHeader()"><!-- --></A><H3>
    +getFileHeader</H3>
    +<PRE>
    +public static final byte[] <B>getFileHeader</B>()</PRE>
    +<DL>
    +<DD>Returns the first bytes of a file that represents a valid execution data
    + file. In any case every execution data file starts with the three bytes
    + <code>0x01 0xC0 0xC0</code>.
    +<P>
    +<DD><DL>
    +</DL>
    +</DD>
    +<DD><DL>
    +
    +<DT><B>Returns:</B><DD>first bytes of a execution data file</DL>
    +</DD>
    +</DL>
    +<!-- ========= END OF CLASS DATA ========= -->
    +<HR>
    +
    +
    +<!-- ======= START OF BOTTOM NAVBAR ====== -->
    +<A NAME="navbar_bottom"><!-- --></A>
    +<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
    +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
    +<TR>
    +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
    +<A NAME="navbar_bottom_firstrow"><!-- --></A>
    +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
    +  <TR ALIGN="center" VALIGN="top">
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="class-use/ExecutionDataWriter.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
    +  </TR>
    +</TABLE>
    +</TD>
    +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
    +</EM>
    +</TD>
    +</TR>
    +
    +<TR>
    +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
    +&nbsp;<A HREF="../../../../org/jacoco/core/data/ExecutionDataStore.html" title="class in org.jacoco.core.data"><B>PREV CLASS</B></A>&nbsp;
    +&nbsp;<A HREF="../../../../org/jacoco/core/data/IExecutionDataVisitor.html" title="interface in org.jacoco.core.data"><B>NEXT CLASS</B></A></FONT></TD>
    +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
    +  <A HREF="../../../../index.html?org/jacoco/core/data/ExecutionDataWriter.html" target="_top"><B>FRAMES</B></A>  &nbsp;
    +&nbsp;<A HREF="ExecutionDataWriter.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
    +&nbsp;<SCRIPT type="text/javascript">
    +  <!--
    +  if(window==top) {
    +    document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>');
    +  }
    +  //-->
    +</SCRIPT>
    +<NOSCRIPT>
    +  <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>
    +</NOSCRIPT>
    +
    +
    +</FONT></TD>
    +</TR>
    +<TR>
    +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
    +  SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;<A HREF="#field_summary">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD>
    +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
    +DETAIL:&nbsp;<A HREF="#field_detail">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD>
    +</TR>
    +</TABLE>
    +<A NAME="skip-navbar_bottom"></A>
    +<!-- ======== END OF BOTTOM NAVBAR ======= -->
    +
    +<HR>
    +Copyright &#169; 2009&#x2013;2024 Mountainminds GmbH & Co. KG. All rights reserved.
    +</BODY>
    +</HTML>
    diff --git a/jacoco/trunk/doc/api/org/jacoco/core/data/IExecutionDataVisitor.html b/jacoco/trunk/doc/api/org/jacoco/core/data/IExecutionDataVisitor.html
    new file mode 100644
    index 00000000000..404efdc5197
    --- /dev/null
    +++ b/jacoco/trunk/doc/api/org/jacoco/core/data/IExecutionDataVisitor.html
    @@ -0,0 +1,215 @@
    +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
    +<!--NewPage-->
    +<HTML>
    +<HEAD>
    +<!-- Generated by javadoc (build 1.5.0_22) on Wed Mar 27 16:45:41 UTC 2024 -->
    +<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
    +<TITLE>
    +IExecutionDataVisitor (JaCoCo 0.8.12.202403270442 API)
    +</TITLE>
    +
    +<META NAME="keywords" CONTENT="org.jacoco.core.data.IExecutionDataVisitor interface">
    +
    +<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../stylesheet.css" TITLE="Style">
    +
    +<SCRIPT type="text/javascript">
    +function windowTitle()
    +{
    +    parent.document.title="IExecutionDataVisitor (JaCoCo 0.8.12.202403270442 API)";
    +}
    +</SCRIPT>
    +<NOSCRIPT>
    +</NOSCRIPT>
    +
    +</HEAD>
    +
    +<BODY BGCOLOR="white" onload="windowTitle();">
    +
    +
    +<!-- ========= START OF TOP NAVBAR ======= -->
    +<A NAME="navbar_top"><!-- --></A>
    +<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
    +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
    +<TR>
    +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
    +<A NAME="navbar_top_firstrow"><!-- --></A>
    +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
    +  <TR ALIGN="center" VALIGN="top">
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="class-use/IExecutionDataVisitor.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
    +  </TR>
    +</TABLE>
    +</TD>
    +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
    +</EM>
    +</TD>
    +</TR>
    +
    +<TR>
    +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
    +&nbsp;<A HREF="../../../../org/jacoco/core/data/ExecutionDataWriter.html" title="class in org.jacoco.core.data"><B>PREV CLASS</B></A>&nbsp;
    +&nbsp;<A HREF="../../../../org/jacoco/core/data/IncompatibleExecDataVersionException.html" title="class in org.jacoco.core.data"><B>NEXT CLASS</B></A></FONT></TD>
    +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
    +  <A HREF="../../../../index.html?org/jacoco/core/data/IExecutionDataVisitor.html" target="_top"><B>FRAMES</B></A>  &nbsp;
    +&nbsp;<A HREF="IExecutionDataVisitor.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
    +&nbsp;<SCRIPT type="text/javascript">
    +  <!--
    +  if(window==top) {
    +    document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>');
    +  }
    +  //-->
    +</SCRIPT>
    +<NOSCRIPT>
    +  <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>
    +</NOSCRIPT>
    +
    +
    +</FONT></TD>
    +</TR>
    +<TR>
    +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
    +  SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;FIELD&nbsp;|&nbsp;CONSTR&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD>
    +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
    +DETAIL:&nbsp;FIELD&nbsp;|&nbsp;CONSTR&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD>
    +</TR>
    +</TABLE>
    +<A NAME="skip-navbar_top"></A>
    +<!-- ========= END OF TOP NAVBAR ========= -->
    +
    +<HR>
    +<!-- ======== START OF CLASS DATA ======== -->
    +<H2>
    +<FONT SIZE="-1">
    +org.jacoco.core.data</FONT>
    +<BR>
    +Interface IExecutionDataVisitor</H2>
    +<DL>
    +<DT><B>All Known Implementing Classes:</B> <DD><A HREF="../../../../org/jacoco/core/data/ExecutionDataStore.html" title="class in org.jacoco.core.data">ExecutionDataStore</A>, <A HREF="../../../../org/jacoco/core/data/ExecutionDataWriter.html" title="class in org.jacoco.core.data">ExecutionDataWriter</A>, <A HREF="../../../../org/jacoco/core/runtime/RemoteControlWriter.html" title="class in org.jacoco.core.runtime">RemoteControlWriter</A></DD>
    +</DL>
    +<HR>
    +<DL>
    +<DT><PRE>public interface <B>IExecutionDataVisitor</B></DL>
    +</PRE>
    +
    +<P>
    +Interface for data output of collected execution data. This interface is
    + meant to be implemented by parties that want to retrieve data from the
    + coverage runtime.
    +<P>
    +
    +<P>
    +<HR>
    +
    +<P>
    +
    +<!-- ========== METHOD SUMMARY =========== -->
    +
    +<A NAME="method_summary"><!-- --></A>
    +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
    +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
    +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
    +<B>Method Summary</B></FONT></TH>
    +</TR>
    +<TR BGCOLOR="white" CLASS="TableRowColor">
    +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
    +<CODE>&nbsp;void</CODE></FONT></TD>
    +<TD><CODE><B><A HREF="../../../../org/jacoco/core/data/IExecutionDataVisitor.html#visitClassExecution(org.jacoco.core.data.ExecutionData)">visitClassExecution</A></B>(<A HREF="../../../../org/jacoco/core/data/ExecutionData.html" title="class in org.jacoco.core.data">ExecutionData</A>&nbsp;data)</CODE>
    +
    +<BR>
    +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Provides execution data for a class.</TD>
    +</TR>
    +</TABLE>
    +&nbsp;
    +<P>
    +
    +<!-- ============ METHOD DETAIL ========== -->
    +
    +<A NAME="method_detail"><!-- --></A>
    +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
    +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
    +<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2">
    +<B>Method Detail</B></FONT></TH>
    +</TR>
    +</TABLE>
    +
    +<A NAME="visitClassExecution(org.jacoco.core.data.ExecutionData)"><!-- --></A><H3>
    +visitClassExecution</H3>
    +<PRE>
    +void <B>visitClassExecution</B>(<A HREF="../../../../org/jacoco/core/data/ExecutionData.html" title="class in org.jacoco.core.data">ExecutionData</A>&nbsp;data)</PRE>
    +<DL>
    +<DD>Provides execution data for a class.
    +<P>
    +<DD><DL>
    +<DT><B>Parameters:</B><DD><CODE>data</CODE> - execution data for a class</DL>
    +</DD>
    +</DL>
    +<!-- ========= END OF CLASS DATA ========= -->
    +<HR>
    +
    +
    +<!-- ======= START OF BOTTOM NAVBAR ====== -->
    +<A NAME="navbar_bottom"><!-- --></A>
    +<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
    +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
    +<TR>
    +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
    +<A NAME="navbar_bottom_firstrow"><!-- --></A>
    +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
    +  <TR ALIGN="center" VALIGN="top">
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="class-use/IExecutionDataVisitor.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
    +  </TR>
    +</TABLE>
    +</TD>
    +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
    +</EM>
    +</TD>
    +</TR>
    +
    +<TR>
    +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
    +&nbsp;<A HREF="../../../../org/jacoco/core/data/ExecutionDataWriter.html" title="class in org.jacoco.core.data"><B>PREV CLASS</B></A>&nbsp;
    +&nbsp;<A HREF="../../../../org/jacoco/core/data/IncompatibleExecDataVersionException.html" title="class in org.jacoco.core.data"><B>NEXT CLASS</B></A></FONT></TD>
    +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
    +  <A HREF="../../../../index.html?org/jacoco/core/data/IExecutionDataVisitor.html" target="_top"><B>FRAMES</B></A>  &nbsp;
    +&nbsp;<A HREF="IExecutionDataVisitor.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
    +&nbsp;<SCRIPT type="text/javascript">
    +  <!--
    +  if(window==top) {
    +    document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>');
    +  }
    +  //-->
    +</SCRIPT>
    +<NOSCRIPT>
    +  <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>
    +</NOSCRIPT>
    +
    +
    +</FONT></TD>
    +</TR>
    +<TR>
    +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
    +  SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;FIELD&nbsp;|&nbsp;CONSTR&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD>
    +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
    +DETAIL:&nbsp;FIELD&nbsp;|&nbsp;CONSTR&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD>
    +</TR>
    +</TABLE>
    +<A NAME="skip-navbar_bottom"></A>
    +<!-- ======== END OF BOTTOM NAVBAR ======= -->
    +
    +<HR>
    +Copyright &#169; 2009&#x2013;2024 Mountainminds GmbH & Co. KG. All rights reserved.
    +</BODY>
    +</HTML>
    diff --git a/jacoco/trunk/doc/api/org/jacoco/core/data/ISessionInfoVisitor.html b/jacoco/trunk/doc/api/org/jacoco/core/data/ISessionInfoVisitor.html
    new file mode 100644
    index 00000000000..b74153bc3d0
    --- /dev/null
    +++ b/jacoco/trunk/doc/api/org/jacoco/core/data/ISessionInfoVisitor.html
    @@ -0,0 +1,216 @@
    +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
    +<!--NewPage-->
    +<HTML>
    +<HEAD>
    +<!-- Generated by javadoc (build 1.5.0_22) on Wed Mar 27 16:45:41 UTC 2024 -->
    +<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
    +<TITLE>
    +ISessionInfoVisitor (JaCoCo 0.8.12.202403270442 API)
    +</TITLE>
    +
    +<META NAME="keywords" CONTENT="org.jacoco.core.data.ISessionInfoVisitor interface">
    +
    +<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../stylesheet.css" TITLE="Style">
    +
    +<SCRIPT type="text/javascript">
    +function windowTitle()
    +{
    +    parent.document.title="ISessionInfoVisitor (JaCoCo 0.8.12.202403270442 API)";
    +}
    +</SCRIPT>
    +<NOSCRIPT>
    +</NOSCRIPT>
    +
    +</HEAD>
    +
    +<BODY BGCOLOR="white" onload="windowTitle();">
    +
    +
    +<!-- ========= START OF TOP NAVBAR ======= -->
    +<A NAME="navbar_top"><!-- --></A>
    +<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
    +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
    +<TR>
    +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
    +<A NAME="navbar_top_firstrow"><!-- --></A>
    +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
    +  <TR ALIGN="center" VALIGN="top">
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="class-use/ISessionInfoVisitor.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
    +  </TR>
    +</TABLE>
    +</TD>
    +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
    +</EM>
    +</TD>
    +</TR>
    +
    +<TR>
    +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
    +&nbsp;<A HREF="../../../../org/jacoco/core/data/IncompatibleExecDataVersionException.html" title="class in org.jacoco.core.data"><B>PREV CLASS</B></A>&nbsp;
    +&nbsp;<A HREF="../../../../org/jacoco/core/data/SessionInfo.html" title="class in org.jacoco.core.data"><B>NEXT CLASS</B></A></FONT></TD>
    +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
    +  <A HREF="../../../../index.html?org/jacoco/core/data/ISessionInfoVisitor.html" target="_top"><B>FRAMES</B></A>  &nbsp;
    +&nbsp;<A HREF="ISessionInfoVisitor.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
    +&nbsp;<SCRIPT type="text/javascript">
    +  <!--
    +  if(window==top) {
    +    document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>');
    +  }
    +  //-->
    +</SCRIPT>
    +<NOSCRIPT>
    +  <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>
    +</NOSCRIPT>
    +
    +
    +</FONT></TD>
    +</TR>
    +<TR>
    +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
    +  SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;FIELD&nbsp;|&nbsp;CONSTR&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD>
    +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
    +DETAIL:&nbsp;FIELD&nbsp;|&nbsp;CONSTR&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD>
    +</TR>
    +</TABLE>
    +<A NAME="skip-navbar_top"></A>
    +<!-- ========= END OF TOP NAVBAR ========= -->
    +
    +<HR>
    +<!-- ======== START OF CLASS DATA ======== -->
    +<H2>
    +<FONT SIZE="-1">
    +org.jacoco.core.data</FONT>
    +<BR>
    +Interface ISessionInfoVisitor</H2>
    +<DL>
    +<DT><B>All Known Implementing Classes:</B> <DD><A HREF="../../../../org/jacoco/core/data/ExecutionDataWriter.html" title="class in org.jacoco.core.data">ExecutionDataWriter</A>, <A HREF="../../../../org/jacoco/core/runtime/RemoteControlWriter.html" title="class in org.jacoco.core.runtime">RemoteControlWriter</A>, <A HREF="../../../../org/jacoco/core/data/SessionInfoStore.html" title="class in org.jacoco.core.data">SessionInfoStore</A></DD>
    +</DL>
    +<HR>
    +<DL>
    +<DT><PRE>public interface <B>ISessionInfoVisitor</B></DL>
    +</PRE>
    +
    +<P>
    +Interface for data output of collected session information. This interface is
    + meant to be implemented by parties that want to retrieve data from the
    + coverage runtime.
    +<P>
    +
    +<P>
    +<HR>
    +
    +<P>
    +
    +<!-- ========== METHOD SUMMARY =========== -->
    +
    +<A NAME="method_summary"><!-- --></A>
    +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
    +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
    +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
    +<B>Method Summary</B></FONT></TH>
    +</TR>
    +<TR BGCOLOR="white" CLASS="TableRowColor">
    +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
    +<CODE>&nbsp;void</CODE></FONT></TD>
    +<TD><CODE><B><A HREF="../../../../org/jacoco/core/data/ISessionInfoVisitor.html#visitSessionInfo(org.jacoco.core.data.SessionInfo)">visitSessionInfo</A></B>(<A HREF="../../../../org/jacoco/core/data/SessionInfo.html" title="class in org.jacoco.core.data">SessionInfo</A>&nbsp;info)</CODE>
    +
    +<BR>
    +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Provides session information for the subsequent execution data calls.</TD>
    +</TR>
    +</TABLE>
    +&nbsp;
    +<P>
    +
    +<!-- ============ METHOD DETAIL ========== -->
    +
    +<A NAME="method_detail"><!-- --></A>
    +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
    +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
    +<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2">
    +<B>Method Detail</B></FONT></TH>
    +</TR>
    +</TABLE>
    +
    +<A NAME="visitSessionInfo(org.jacoco.core.data.SessionInfo)"><!-- --></A><H3>
    +visitSessionInfo</H3>
    +<PRE>
    +void <B>visitSessionInfo</B>(<A HREF="../../../../org/jacoco/core/data/SessionInfo.html" title="class in org.jacoco.core.data">SessionInfo</A>&nbsp;info)</PRE>
    +<DL>
    +<DD>Provides session information for the subsequent execution data calls. In
    + case of merged sessions this method might be called multiple times.
    +<P>
    +<DD><DL>
    +<DT><B>Parameters:</B><DD><CODE>info</CODE> - session information</DL>
    +</DD>
    +</DL>
    +<!-- ========= END OF CLASS DATA ========= -->
    +<HR>
    +
    +
    +<!-- ======= START OF BOTTOM NAVBAR ====== -->
    +<A NAME="navbar_bottom"><!-- --></A>
    +<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
    +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
    +<TR>
    +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
    +<A NAME="navbar_bottom_firstrow"><!-- --></A>
    +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
    +  <TR ALIGN="center" VALIGN="top">
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="class-use/ISessionInfoVisitor.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
    +  </TR>
    +</TABLE>
    +</TD>
    +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
    +</EM>
    +</TD>
    +</TR>
    +
    +<TR>
    +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
    +&nbsp;<A HREF="../../../../org/jacoco/core/data/IncompatibleExecDataVersionException.html" title="class in org.jacoco.core.data"><B>PREV CLASS</B></A>&nbsp;
    +&nbsp;<A HREF="../../../../org/jacoco/core/data/SessionInfo.html" title="class in org.jacoco.core.data"><B>NEXT CLASS</B></A></FONT></TD>
    +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
    +  <A HREF="../../../../index.html?org/jacoco/core/data/ISessionInfoVisitor.html" target="_top"><B>FRAMES</B></A>  &nbsp;
    +&nbsp;<A HREF="ISessionInfoVisitor.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
    +&nbsp;<SCRIPT type="text/javascript">
    +  <!--
    +  if(window==top) {
    +    document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>');
    +  }
    +  //-->
    +</SCRIPT>
    +<NOSCRIPT>
    +  <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>
    +</NOSCRIPT>
    +
    +
    +</FONT></TD>
    +</TR>
    +<TR>
    +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
    +  SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;FIELD&nbsp;|&nbsp;CONSTR&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD>
    +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
    +DETAIL:&nbsp;FIELD&nbsp;|&nbsp;CONSTR&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD>
    +</TR>
    +</TABLE>
    +<A NAME="skip-navbar_bottom"></A>
    +<!-- ======== END OF BOTTOM NAVBAR ======= -->
    +
    +<HR>
    +Copyright &#169; 2009&#x2013;2024 Mountainminds GmbH & Co. KG. All rights reserved.
    +</BODY>
    +</HTML>
    diff --git a/jacoco/trunk/doc/api/org/jacoco/core/data/IncompatibleExecDataVersionException.html b/jacoco/trunk/doc/api/org/jacoco/core/data/IncompatibleExecDataVersionException.html
    new file mode 100644
    index 00000000000..3558586a2b0
    --- /dev/null
    +++ b/jacoco/trunk/doc/api/org/jacoco/core/data/IncompatibleExecDataVersionException.html
    @@ -0,0 +1,302 @@
    +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
    +<!--NewPage-->
    +<HTML>
    +<HEAD>
    +<!-- Generated by javadoc (build 1.5.0_22) on Wed Mar 27 16:45:41 UTC 2024 -->
    +<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
    +<TITLE>
    +IncompatibleExecDataVersionException (JaCoCo 0.8.12.202403270442 API)
    +</TITLE>
    +
    +<META NAME="keywords" CONTENT="org.jacoco.core.data.IncompatibleExecDataVersionException class">
    +
    +<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../stylesheet.css" TITLE="Style">
    +
    +<SCRIPT type="text/javascript">
    +function windowTitle()
    +{
    +    parent.document.title="IncompatibleExecDataVersionException (JaCoCo 0.8.12.202403270442 API)";
    +}
    +</SCRIPT>
    +<NOSCRIPT>
    +</NOSCRIPT>
    +
    +</HEAD>
    +
    +<BODY BGCOLOR="white" onload="windowTitle();">
    +
    +
    +<!-- ========= START OF TOP NAVBAR ======= -->
    +<A NAME="navbar_top"><!-- --></A>
    +<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
    +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
    +<TR>
    +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
    +<A NAME="navbar_top_firstrow"><!-- --></A>
    +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
    +  <TR ALIGN="center" VALIGN="top">
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="class-use/IncompatibleExecDataVersionException.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
    +  </TR>
    +</TABLE>
    +</TD>
    +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
    +</EM>
    +</TD>
    +</TR>
    +
    +<TR>
    +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
    +&nbsp;<A HREF="../../../../org/jacoco/core/data/IExecutionDataVisitor.html" title="interface in org.jacoco.core.data"><B>PREV CLASS</B></A>&nbsp;
    +&nbsp;<A HREF="../../../../org/jacoco/core/data/ISessionInfoVisitor.html" title="interface in org.jacoco.core.data"><B>NEXT CLASS</B></A></FONT></TD>
    +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
    +  <A HREF="../../../../index.html?org/jacoco/core/data/IncompatibleExecDataVersionException.html" target="_top"><B>FRAMES</B></A>  &nbsp;
    +&nbsp;<A HREF="IncompatibleExecDataVersionException.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
    +&nbsp;<SCRIPT type="text/javascript">
    +  <!--
    +  if(window==top) {
    +    document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>');
    +  }
    +  //-->
    +</SCRIPT>
    +<NOSCRIPT>
    +  <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>
    +</NOSCRIPT>
    +
    +
    +</FONT></TD>
    +</TR>
    +<TR>
    +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
    +  SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;FIELD&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD>
    +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
    +DETAIL:&nbsp;FIELD&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD>
    +</TR>
    +</TABLE>
    +<A NAME="skip-navbar_top"></A>
    +<!-- ========= END OF TOP NAVBAR ========= -->
    +
    +<HR>
    +<!-- ======== START OF CLASS DATA ======== -->
    +<H2>
    +<FONT SIZE="-1">
    +org.jacoco.core.data</FONT>
    +<BR>
    +Class IncompatibleExecDataVersionException</H2>
    +<PRE>
    +<A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html" title="class or interface in java.lang">java.lang.Object</A>
    +  <IMG SRC="../../../../resources/inherit.gif" ALT="extended by "><A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Throwable.html" title="class or interface in java.lang">java.lang.Throwable</A>
    +      <IMG SRC="../../../../resources/inherit.gif" ALT="extended by "><A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Exception.html" title="class or interface in java.lang">java.lang.Exception</A>
    +          <IMG SRC="../../../../resources/inherit.gif" ALT="extended by "><A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/io/IOException.html" title="class or interface in java.io">java.io.IOException</A>
    +              <IMG SRC="../../../../resources/inherit.gif" ALT="extended by "><B>org.jacoco.core.data.IncompatibleExecDataVersionException</B>
    +</PRE>
    +<DL>
    +<DT><B>All Implemented Interfaces:</B> <DD><A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/io/Serializable.html" title="class or interface in java.io">Serializable</A></DD>
    +</DL>
    +<HR>
    +<DL>
    +<DT><PRE>public class <B>IncompatibleExecDataVersionException</B><DT>extends <A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/io/IOException.html" title="class or interface in java.io">IOException</A></DL>
    +</PRE>
    +
    +<P>
    +Signals that execution data in an incompatible version was tried to read.
    +<P>
    +
    +<P>
    +<DL>
    +<DT><B>See Also:</B><DD><A HREF="../../../../serialized-form.html#org.jacoco.core.data.IncompatibleExecDataVersionException">Serialized Form</A></DL>
    +<HR>
    +
    +<P>
    +
    +<!-- ======== CONSTRUCTOR SUMMARY ======== -->
    +
    +<A NAME="constructor_summary"><!-- --></A>
    +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
    +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
    +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
    +<B>Constructor Summary</B></FONT></TH>
    +</TR>
    +<TR BGCOLOR="white" CLASS="TableRowColor">
    +<TD><CODE><B><A HREF="../../../../org/jacoco/core/data/IncompatibleExecDataVersionException.html#IncompatibleExecDataVersionException(int)">IncompatibleExecDataVersionException</A></B>(int&nbsp;actualVersion)</CODE>
    +
    +<BR>
    +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Creates a new exception to flag version mismatches in execution data.</TD>
    +</TR>
    +</TABLE>
    +&nbsp;
    +<!-- ========== METHOD SUMMARY =========== -->
    +
    +<A NAME="method_summary"><!-- --></A>
    +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
    +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
    +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
    +<B>Method Summary</B></FONT></TH>
    +</TR>
    +<TR BGCOLOR="white" CLASS="TableRowColor">
    +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
    +<CODE>&nbsp;int</CODE></FONT></TD>
    +<TD><CODE><B><A HREF="../../../../org/jacoco/core/data/IncompatibleExecDataVersionException.html#getActualVersion()">getActualVersion</A></B>()</CODE>
    +
    +<BR>
    +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Gets the actual version found in the execution data.</TD>
    +</TR>
    +<TR BGCOLOR="white" CLASS="TableRowColor">
    +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
    +<CODE>&nbsp;int</CODE></FONT></TD>
    +<TD><CODE><B><A HREF="../../../../org/jacoco/core/data/IncompatibleExecDataVersionException.html#getExpectedVersion()">getExpectedVersion</A></B>()</CODE>
    +
    +<BR>
    +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Gets the version expected in the execution data which can be read by this
    + version of JaCoCo.</TD>
    +</TR>
    +</TABLE>
    +&nbsp;<A NAME="methods_inherited_from_class_java.lang.Throwable"><!-- --></A>
    +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
    +<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
    +<TH ALIGN="left"><B>Methods inherited from class java.lang.<A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Throwable.html" title="class or interface in java.lang">Throwable</A></B></TH>
    +</TR>
    +<TR BGCOLOR="white" CLASS="TableRowColor">
    +<TD><CODE><A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Throwable.html#fillInStackTrace()" title="class or interface in java.lang">fillInStackTrace</A>, <A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Throwable.html#getCause()" title="class or interface in java.lang">getCause</A>, <A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Throwable.html#getLocalizedMessage()" title="class or interface in java.lang">getLocalizedMessage</A>, <A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Throwable.html#getMessage()" title="class or interface in java.lang">getMessage</A>, <A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Throwable.html#getStackTrace()" title="class or interface in java.lang">getStackTrace</A>, <A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Throwable.html#initCause(java.lang.Throwable)" title="class or interface in java.lang">initCause</A>, <A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Throwable.html#printStackTrace()" title="class or interface in java.lang">printStackTrace</A>, <A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Throwable.html#printStackTrace(java.io.PrintStream)" title="class or interface in java.lang">printStackTrace</A>, <A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Throwable.html#printStackTrace(java.io.PrintWriter)" title="class or interface in java.lang">printStackTrace</A>, <A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Throwable.html#setStackTrace(java.lang.StackTraceElement[])" title="class or interface in java.lang">setStackTrace</A>, <A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Throwable.html#toString()" title="class or interface in java.lang">toString</A></CODE></TD>
    +</TR>
    +</TABLE>
    +&nbsp;<A NAME="methods_inherited_from_class_java.lang.Object"><!-- --></A>
    +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
    +<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
    +<TH ALIGN="left"><B>Methods inherited from class java.lang.<A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html" title="class or interface in java.lang">Object</A></B></TH>
    +</TR>
    +<TR BGCOLOR="white" CLASS="TableRowColor">
    +<TD><CODE><A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html#clone()" title="class or interface in java.lang">clone</A>, <A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html#equals(java.lang.Object)" title="class or interface in java.lang">equals</A>, <A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html#finalize()" title="class or interface in java.lang">finalize</A>, <A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html#getClass()" title="class or interface in java.lang">getClass</A>, <A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html#hashCode()" title="class or interface in java.lang">hashCode</A>, <A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html#notify()" title="class or interface in java.lang">notify</A>, <A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html#notifyAll()" title="class or interface in java.lang">notifyAll</A>, <A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html#wait()" title="class or interface in java.lang">wait</A>, <A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html#wait(long)" title="class or interface in java.lang">wait</A>, <A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html#wait(long, int)" title="class or interface in java.lang">wait</A></CODE></TD>
    +</TR>
    +</TABLE>
    +&nbsp;
    +<P>
    +
    +<!-- ========= CONSTRUCTOR DETAIL ======== -->
    +
    +<A NAME="constructor_detail"><!-- --></A>
    +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
    +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
    +<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2">
    +<B>Constructor Detail</B></FONT></TH>
    +</TR>
    +</TABLE>
    +
    +<A NAME="IncompatibleExecDataVersionException(int)"><!-- --></A><H3>
    +IncompatibleExecDataVersionException</H3>
    +<PRE>
    +public <B>IncompatibleExecDataVersionException</B>(int&nbsp;actualVersion)</PRE>
    +<DL>
    +<DD>Creates a new exception to flag version mismatches in execution data.
    +<P>
    +<DL>
    +<DT><B>Parameters:</B><DD><CODE>actualVersion</CODE> - version found in the exec data</DL>
    +</DL>
    +
    +<!-- ============ METHOD DETAIL ========== -->
    +
    +<A NAME="method_detail"><!-- --></A>
    +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
    +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
    +<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2">
    +<B>Method Detail</B></FONT></TH>
    +</TR>
    +</TABLE>
    +
    +<A NAME="getExpectedVersion()"><!-- --></A><H3>
    +getExpectedVersion</H3>
    +<PRE>
    +public int <B>getExpectedVersion</B>()</PRE>
    +<DL>
    +<DD>Gets the version expected in the execution data which can be read by this
    + version of JaCoCo.
    +<P>
    +<DD><DL>
    +
    +<DT><B>Returns:</B><DD>expected version in execution data</DL>
    +</DD>
    +</DL>
    +<HR>
    +
    +<A NAME="getActualVersion()"><!-- --></A><H3>
    +getActualVersion</H3>
    +<PRE>
    +public int <B>getActualVersion</B>()</PRE>
    +<DL>
    +<DD>Gets the actual version found in the execution data.
    +<P>
    +<DD><DL>
    +
    +<DT><B>Returns:</B><DD>actual version in execution data</DL>
    +</DD>
    +</DL>
    +<!-- ========= END OF CLASS DATA ========= -->
    +<HR>
    +
    +
    +<!-- ======= START OF BOTTOM NAVBAR ====== -->
    +<A NAME="navbar_bottom"><!-- --></A>
    +<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
    +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
    +<TR>
    +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
    +<A NAME="navbar_bottom_firstrow"><!-- --></A>
    +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
    +  <TR ALIGN="center" VALIGN="top">
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="class-use/IncompatibleExecDataVersionException.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
    +  </TR>
    +</TABLE>
    +</TD>
    +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
    +</EM>
    +</TD>
    +</TR>
    +
    +<TR>
    +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
    +&nbsp;<A HREF="../../../../org/jacoco/core/data/IExecutionDataVisitor.html" title="interface in org.jacoco.core.data"><B>PREV CLASS</B></A>&nbsp;
    +&nbsp;<A HREF="../../../../org/jacoco/core/data/ISessionInfoVisitor.html" title="interface in org.jacoco.core.data"><B>NEXT CLASS</B></A></FONT></TD>
    +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
    +  <A HREF="../../../../index.html?org/jacoco/core/data/IncompatibleExecDataVersionException.html" target="_top"><B>FRAMES</B></A>  &nbsp;
    +&nbsp;<A HREF="IncompatibleExecDataVersionException.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
    +&nbsp;<SCRIPT type="text/javascript">
    +  <!--
    +  if(window==top) {
    +    document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>');
    +  }
    +  //-->
    +</SCRIPT>
    +<NOSCRIPT>
    +  <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>
    +</NOSCRIPT>
    +
    +
    +</FONT></TD>
    +</TR>
    +<TR>
    +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
    +  SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;FIELD&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD>
    +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
    +DETAIL:&nbsp;FIELD&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD>
    +</TR>
    +</TABLE>
    +<A NAME="skip-navbar_bottom"></A>
    +<!-- ======== END OF BOTTOM NAVBAR ======= -->
    +
    +<HR>
    +Copyright &#169; 2009&#x2013;2024 Mountainminds GmbH & Co. KG. All rights reserved.
    +</BODY>
    +</HTML>
    diff --git a/jacoco/trunk/doc/api/org/jacoco/core/data/SessionInfo.html b/jacoco/trunk/doc/api/org/jacoco/core/data/SessionInfo.html
    new file mode 100644
    index 00000000000..3f7b9e2263a
    --- /dev/null
    +++ b/jacoco/trunk/doc/api/org/jacoco/core/data/SessionInfo.html
    @@ -0,0 +1,363 @@
    +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
    +<!--NewPage-->
    +<HTML>
    +<HEAD>
    +<!-- Generated by javadoc (build 1.5.0_22) on Wed Mar 27 16:45:41 UTC 2024 -->
    +<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
    +<TITLE>
    +SessionInfo (JaCoCo 0.8.12.202403270442 API)
    +</TITLE>
    +
    +<META NAME="keywords" CONTENT="org.jacoco.core.data.SessionInfo class">
    +
    +<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../stylesheet.css" TITLE="Style">
    +
    +<SCRIPT type="text/javascript">
    +function windowTitle()
    +{
    +    parent.document.title="SessionInfo (JaCoCo 0.8.12.202403270442 API)";
    +}
    +</SCRIPT>
    +<NOSCRIPT>
    +</NOSCRIPT>
    +
    +</HEAD>
    +
    +<BODY BGCOLOR="white" onload="windowTitle();">
    +
    +
    +<!-- ========= START OF TOP NAVBAR ======= -->
    +<A NAME="navbar_top"><!-- --></A>
    +<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
    +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
    +<TR>
    +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
    +<A NAME="navbar_top_firstrow"><!-- --></A>
    +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
    +  <TR ALIGN="center" VALIGN="top">
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="class-use/SessionInfo.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
    +  </TR>
    +</TABLE>
    +</TD>
    +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
    +</EM>
    +</TD>
    +</TR>
    +
    +<TR>
    +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
    +&nbsp;<A HREF="../../../../org/jacoco/core/data/ISessionInfoVisitor.html" title="interface in org.jacoco.core.data"><B>PREV CLASS</B></A>&nbsp;
    +&nbsp;<A HREF="../../../../org/jacoco/core/data/SessionInfoStore.html" title="class in org.jacoco.core.data"><B>NEXT CLASS</B></A></FONT></TD>
    +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
    +  <A HREF="../../../../index.html?org/jacoco/core/data/SessionInfo.html" target="_top"><B>FRAMES</B></A>  &nbsp;
    +&nbsp;<A HREF="SessionInfo.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
    +&nbsp;<SCRIPT type="text/javascript">
    +  <!--
    +  if(window==top) {
    +    document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>');
    +  }
    +  //-->
    +</SCRIPT>
    +<NOSCRIPT>
    +  <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>
    +</NOSCRIPT>
    +
    +
    +</FONT></TD>
    +</TR>
    +<TR>
    +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
    +  SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;FIELD&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD>
    +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
    +DETAIL:&nbsp;FIELD&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD>
    +</TR>
    +</TABLE>
    +<A NAME="skip-navbar_top"></A>
    +<!-- ========= END OF TOP NAVBAR ========= -->
    +
    +<HR>
    +<!-- ======== START OF CLASS DATA ======== -->
    +<H2>
    +<FONT SIZE="-1">
    +org.jacoco.core.data</FONT>
    +<BR>
    +Class SessionInfo</H2>
    +<PRE>
    +<A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html" title="class or interface in java.lang">java.lang.Object</A>
    +  <IMG SRC="../../../../resources/inherit.gif" ALT="extended by "><B>org.jacoco.core.data.SessionInfo</B>
    +</PRE>
    +<DL>
    +<DT><B>All Implemented Interfaces:</B> <DD><A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Comparable.html" title="class or interface in java.lang">Comparable</A>&lt;<A HREF="../../../../org/jacoco/core/data/SessionInfo.html" title="class in org.jacoco.core.data">SessionInfo</A>&gt;</DD>
    +</DL>
    +<HR>
    +<DL>
    +<DT><PRE>public class <B>SessionInfo</B><DT>extends <A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html" title="class or interface in java.lang">Object</A><DT>implements <A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Comparable.html" title="class or interface in java.lang">Comparable</A>&lt;<A HREF="../../../../org/jacoco/core/data/SessionInfo.html" title="class in org.jacoco.core.data">SessionInfo</A>&gt;</DL>
    +</PRE>
    +
    +<P>
    +Data object describing a session which was the source of execution data.
    + <A HREF="../../../../org/jacoco/core/data/SessionInfo.html" title="class in org.jacoco.core.data"><CODE>SessionInfo</CODE></A> instances can be sorted by dump date through the
    + <A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Comparable.html" title="class or interface in java.lang"><CODE>Comparable</CODE></A> interface.
    +<P>
    +
    +<P>
    +<HR>
    +
    +<P>
    +
    +<!-- ======== CONSTRUCTOR SUMMARY ======== -->
    +
    +<A NAME="constructor_summary"><!-- --></A>
    +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
    +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
    +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
    +<B>Constructor Summary</B></FONT></TH>
    +</TR>
    +<TR BGCOLOR="white" CLASS="TableRowColor">
    +<TD><CODE><B><A HREF="../../../../org/jacoco/core/data/SessionInfo.html#SessionInfo(java.lang.String, long, long)">SessionInfo</A></B>(<A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A>&nbsp;id,
    +            long&nbsp;start,
    +            long&nbsp;dump)</CODE>
    +
    +<BR>
    +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Create a immutable session info with the given data.</TD>
    +</TR>
    +</TABLE>
    +&nbsp;
    +<!-- ========== METHOD SUMMARY =========== -->
    +
    +<A NAME="method_summary"><!-- --></A>
    +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
    +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
    +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
    +<B>Method Summary</B></FONT></TH>
    +</TR>
    +<TR BGCOLOR="white" CLASS="TableRowColor">
    +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
    +<CODE>&nbsp;int</CODE></FONT></TD>
    +<TD><CODE><B><A HREF="../../../../org/jacoco/core/data/SessionInfo.html#compareTo(org.jacoco.core.data.SessionInfo)">compareTo</A></B>(<A HREF="../../../../org/jacoco/core/data/SessionInfo.html" title="class in org.jacoco.core.data">SessionInfo</A>&nbsp;other)</CODE>
    +
    +<BR>
    +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
    +</TR>
    +<TR BGCOLOR="white" CLASS="TableRowColor">
    +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
    +<CODE>&nbsp;long</CODE></FONT></TD>
    +<TD><CODE><B><A HREF="../../../../org/jacoco/core/data/SessionInfo.html#getDumpTimeStamp()">getDumpTimeStamp</A></B>()</CODE>
    +
    +<BR>
    +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
    +</TR>
    +<TR BGCOLOR="white" CLASS="TableRowColor">
    +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
    +<CODE>&nbsp;<A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A></CODE></FONT></TD>
    +<TD><CODE><B><A HREF="../../../../org/jacoco/core/data/SessionInfo.html#getId()">getId</A></B>()</CODE>
    +
    +<BR>
    +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
    +</TR>
    +<TR BGCOLOR="white" CLASS="TableRowColor">
    +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
    +<CODE>&nbsp;long</CODE></FONT></TD>
    +<TD><CODE><B><A HREF="../../../../org/jacoco/core/data/SessionInfo.html#getStartTimeStamp()">getStartTimeStamp</A></B>()</CODE>
    +
    +<BR>
    +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
    +</TR>
    +<TR BGCOLOR="white" CLASS="TableRowColor">
    +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
    +<CODE>&nbsp;<A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A></CODE></FONT></TD>
    +<TD><CODE><B><A HREF="../../../../org/jacoco/core/data/SessionInfo.html#toString()">toString</A></B>()</CODE>
    +
    +<BR>
    +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
    +</TR>
    +</TABLE>
    +&nbsp;<A NAME="methods_inherited_from_class_java.lang.Object"><!-- --></A>
    +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
    +<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
    +<TH ALIGN="left"><B>Methods inherited from class java.lang.<A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html" title="class or interface in java.lang">Object</A></B></TH>
    +</TR>
    +<TR BGCOLOR="white" CLASS="TableRowColor">
    +<TD><CODE><A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html#clone()" title="class or interface in java.lang">clone</A>, <A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html#equals(java.lang.Object)" title="class or interface in java.lang">equals</A>, <A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html#finalize()" title="class or interface in java.lang">finalize</A>, <A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html#getClass()" title="class or interface in java.lang">getClass</A>, <A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html#hashCode()" title="class or interface in java.lang">hashCode</A>, <A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html#notify()" title="class or interface in java.lang">notify</A>, <A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html#notifyAll()" title="class or interface in java.lang">notifyAll</A>, <A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html#wait()" title="class or interface in java.lang">wait</A>, <A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html#wait(long)" title="class or interface in java.lang">wait</A>, <A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html#wait(long, int)" title="class or interface in java.lang">wait</A></CODE></TD>
    +</TR>
    +</TABLE>
    +&nbsp;
    +<P>
    +
    +<!-- ========= CONSTRUCTOR DETAIL ======== -->
    +
    +<A NAME="constructor_detail"><!-- --></A>
    +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
    +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
    +<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2">
    +<B>Constructor Detail</B></FONT></TH>
    +</TR>
    +</TABLE>
    +
    +<A NAME="SessionInfo(java.lang.String, long, long)"><!-- --></A><H3>
    +SessionInfo</H3>
    +<PRE>
    +public <B>SessionInfo</B>(<A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A>&nbsp;id,
    +                   long&nbsp;start,
    +                   long&nbsp;dump)</PRE>
    +<DL>
    +<DD>Create a immutable session info with the given data.
    +<P>
    +<DL>
    +<DT><B>Parameters:</B><DD><CODE>id</CODE> - arbitrary session identifier, must not be <code>null</code><DD><CODE>start</CODE> - the epoc based time stamp when execution data recording has
    +            been started<DD><CODE>dump</CODE> - the epoc based time stamp when execution data was collected</DL>
    +</DL>
    +
    +<!-- ============ METHOD DETAIL ========== -->
    +
    +<A NAME="method_detail"><!-- --></A>
    +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
    +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
    +<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2">
    +<B>Method Detail</B></FONT></TH>
    +</TR>
    +</TABLE>
    +
    +<A NAME="getId()"><!-- --></A><H3>
    +getId</H3>
    +<PRE>
    +public <A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> <B>getId</B>()</PRE>
    +<DL>
    +<DD><DL>
    +</DL>
    +</DD>
    +<DD><DL>
    +
    +<DT><B>Returns:</B><DD>identifier for this session</DL>
    +</DD>
    +</DL>
    +<HR>
    +
    +<A NAME="getStartTimeStamp()"><!-- --></A><H3>
    +getStartTimeStamp</H3>
    +<PRE>
    +public long <B>getStartTimeStamp</B>()</PRE>
    +<DL>
    +<DD><DL>
    +</DL>
    +</DD>
    +<DD><DL>
    +
    +<DT><B>Returns:</B><DD>the epoc based time stamp when execution data recording has been
    +         started</DL>
    +</DD>
    +</DL>
    +<HR>
    +
    +<A NAME="getDumpTimeStamp()"><!-- --></A><H3>
    +getDumpTimeStamp</H3>
    +<PRE>
    +public long <B>getDumpTimeStamp</B>()</PRE>
    +<DL>
    +<DD><DL>
    +</DL>
    +</DD>
    +<DD><DL>
    +
    +<DT><B>Returns:</B><DD>the epoc based time stamp when execution data was collected</DL>
    +</DD>
    +</DL>
    +<HR>
    +
    +<A NAME="compareTo(org.jacoco.core.data.SessionInfo)"><!-- --></A><H3>
    +compareTo</H3>
    +<PRE>
    +public int <B>compareTo</B>(<A HREF="../../../../org/jacoco/core/data/SessionInfo.html" title="class in org.jacoco.core.data">SessionInfo</A>&nbsp;other)</PRE>
    +<DL>
    +<DD><DL>
    +<DT><B>Specified by:</B><DD><CODE><A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Comparable.html#compareTo(T)" title="class or interface in java.lang">compareTo</A></CODE> in interface <CODE><A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Comparable.html" title="class or interface in java.lang">Comparable</A>&lt;<A HREF="../../../../org/jacoco/core/data/SessionInfo.html" title="class in org.jacoco.core.data">SessionInfo</A>&gt;</CODE></DL>
    +</DD>
    +<DD><DL>
    +</DL>
    +</DD>
    +</DL>
    +<HR>
    +
    +<A NAME="toString()"><!-- --></A><H3>
    +toString</H3>
    +<PRE>
    +public <A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> <B>toString</B>()</PRE>
    +<DL>
    +<DD><DL>
    +<DT><B>Overrides:</B><DD><CODE><A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html#toString()" title="class or interface in java.lang">toString</A></CODE> in class <CODE><A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html" title="class or interface in java.lang">Object</A></CODE></DL>
    +</DD>
    +<DD><DL>
    +</DL>
    +</DD>
    +</DL>
    +<!-- ========= END OF CLASS DATA ========= -->
    +<HR>
    +
    +
    +<!-- ======= START OF BOTTOM NAVBAR ====== -->
    +<A NAME="navbar_bottom"><!-- --></A>
    +<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
    +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
    +<TR>
    +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
    +<A NAME="navbar_bottom_firstrow"><!-- --></A>
    +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
    +  <TR ALIGN="center" VALIGN="top">
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="class-use/SessionInfo.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
    +  </TR>
    +</TABLE>
    +</TD>
    +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
    +</EM>
    +</TD>
    +</TR>
    +
    +<TR>
    +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
    +&nbsp;<A HREF="../../../../org/jacoco/core/data/ISessionInfoVisitor.html" title="interface in org.jacoco.core.data"><B>PREV CLASS</B></A>&nbsp;
    +&nbsp;<A HREF="../../../../org/jacoco/core/data/SessionInfoStore.html" title="class in org.jacoco.core.data"><B>NEXT CLASS</B></A></FONT></TD>
    +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
    +  <A HREF="../../../../index.html?org/jacoco/core/data/SessionInfo.html" target="_top"><B>FRAMES</B></A>  &nbsp;
    +&nbsp;<A HREF="SessionInfo.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
    +&nbsp;<SCRIPT type="text/javascript">
    +  <!--
    +  if(window==top) {
    +    document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>');
    +  }
    +  //-->
    +</SCRIPT>
    +<NOSCRIPT>
    +  <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>
    +</NOSCRIPT>
    +
    +
    +</FONT></TD>
    +</TR>
    +<TR>
    +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
    +  SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;FIELD&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD>
    +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
    +DETAIL:&nbsp;FIELD&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD>
    +</TR>
    +</TABLE>
    +<A NAME="skip-navbar_bottom"></A>
    +<!-- ======== END OF BOTTOM NAVBAR ======= -->
    +
    +<HR>
    +Copyright &#169; 2009&#x2013;2024 Mountainminds GmbH & Co. KG. All rights reserved.
    +</BODY>
    +</HTML>
    diff --git a/jacoco/trunk/doc/api/org/jacoco/core/data/SessionInfoStore.html b/jacoco/trunk/doc/api/org/jacoco/core/data/SessionInfoStore.html
    new file mode 100644
    index 00000000000..a7f914d7e00
    --- /dev/null
    +++ b/jacoco/trunk/doc/api/org/jacoco/core/data/SessionInfoStore.html
    @@ -0,0 +1,372 @@
    +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
    +<!--NewPage-->
    +<HTML>
    +<HEAD>
    +<!-- Generated by javadoc (build 1.5.0_22) on Wed Mar 27 16:45:41 UTC 2024 -->
    +<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
    +<TITLE>
    +SessionInfoStore (JaCoCo 0.8.12.202403270442 API)
    +</TITLE>
    +
    +<META NAME="keywords" CONTENT="org.jacoco.core.data.SessionInfoStore class">
    +
    +<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../stylesheet.css" TITLE="Style">
    +
    +<SCRIPT type="text/javascript">
    +function windowTitle()
    +{
    +    parent.document.title="SessionInfoStore (JaCoCo 0.8.12.202403270442 API)";
    +}
    +</SCRIPT>
    +<NOSCRIPT>
    +</NOSCRIPT>
    +
    +</HEAD>
    +
    +<BODY BGCOLOR="white" onload="windowTitle();">
    +
    +
    +<!-- ========= START OF TOP NAVBAR ======= -->
    +<A NAME="navbar_top"><!-- --></A>
    +<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
    +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
    +<TR>
    +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
    +<A NAME="navbar_top_firstrow"><!-- --></A>
    +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
    +  <TR ALIGN="center" VALIGN="top">
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="class-use/SessionInfoStore.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
    +  </TR>
    +</TABLE>
    +</TD>
    +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
    +</EM>
    +</TD>
    +</TR>
    +
    +<TR>
    +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
    +&nbsp;<A HREF="../../../../org/jacoco/core/data/SessionInfo.html" title="class in org.jacoco.core.data"><B>PREV CLASS</B></A>&nbsp;
    +&nbsp;NEXT CLASS</FONT></TD>
    +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
    +  <A HREF="../../../../index.html?org/jacoco/core/data/SessionInfoStore.html" target="_top"><B>FRAMES</B></A>  &nbsp;
    +&nbsp;<A HREF="SessionInfoStore.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
    +&nbsp;<SCRIPT type="text/javascript">
    +  <!--
    +  if(window==top) {
    +    document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>');
    +  }
    +  //-->
    +</SCRIPT>
    +<NOSCRIPT>
    +  <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>
    +</NOSCRIPT>
    +
    +
    +</FONT></TD>
    +</TR>
    +<TR>
    +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
    +  SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;FIELD&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD>
    +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
    +DETAIL:&nbsp;FIELD&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD>
    +</TR>
    +</TABLE>
    +<A NAME="skip-navbar_top"></A>
    +<!-- ========= END OF TOP NAVBAR ========= -->
    +
    +<HR>
    +<!-- ======== START OF CLASS DATA ======== -->
    +<H2>
    +<FONT SIZE="-1">
    +org.jacoco.core.data</FONT>
    +<BR>
    +Class SessionInfoStore</H2>
    +<PRE>
    +<A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html" title="class or interface in java.lang">java.lang.Object</A>
    +  <IMG SRC="../../../../resources/inherit.gif" ALT="extended by "><B>org.jacoco.core.data.SessionInfoStore</B>
    +</PRE>
    +<DL>
    +<DT><B>All Implemented Interfaces:</B> <DD><A HREF="../../../../org/jacoco/core/data/ISessionInfoVisitor.html" title="interface in org.jacoco.core.data">ISessionInfoVisitor</A></DD>
    +</DL>
    +<HR>
    +<DL>
    +<DT><PRE>public class <B>SessionInfoStore</B><DT>extends <A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html" title="class or interface in java.lang">Object</A><DT>implements <A HREF="../../../../org/jacoco/core/data/ISessionInfoVisitor.html" title="interface in org.jacoco.core.data">ISessionInfoVisitor</A></DL>
    +</PRE>
    +
    +<P>
    +Container to collect and merge session <A HREF="../../../../org/jacoco/core/data/SessionInfo.html" title="class in org.jacoco.core.data"><CODE>SessionInfo</CODE></A> objects. A
    + instance of this class is not thread safe.
    +<P>
    +
    +<P>
    +<HR>
    +
    +<P>
    +
    +<!-- ======== CONSTRUCTOR SUMMARY ======== -->
    +
    +<A NAME="constructor_summary"><!-- --></A>
    +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
    +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
    +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
    +<B>Constructor Summary</B></FONT></TH>
    +</TR>
    +<TR BGCOLOR="white" CLASS="TableRowColor">
    +<TD><CODE><B><A HREF="../../../../org/jacoco/core/data/SessionInfoStore.html#SessionInfoStore()">SessionInfoStore</A></B>()</CODE>
    +
    +<BR>
    +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
    +</TR>
    +</TABLE>
    +&nbsp;
    +<!-- ========== METHOD SUMMARY =========== -->
    +
    +<A NAME="method_summary"><!-- --></A>
    +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
    +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
    +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
    +<B>Method Summary</B></FONT></TH>
    +</TR>
    +<TR BGCOLOR="white" CLASS="TableRowColor">
    +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
    +<CODE>&nbsp;void</CODE></FONT></TD>
    +<TD><CODE><B><A HREF="../../../../org/jacoco/core/data/SessionInfoStore.html#accept(org.jacoco.core.data.ISessionInfoVisitor)">accept</A></B>(<A HREF="../../../../org/jacoco/core/data/ISessionInfoVisitor.html" title="interface in org.jacoco.core.data">ISessionInfoVisitor</A>&nbsp;visitor)</CODE>
    +
    +<BR>
    +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Writes all contained <A HREF="../../../../org/jacoco/core/data/SessionInfo.html" title="class in org.jacoco.core.data"><CODE>SessionInfo</CODE></A> objects into the given visitor.</TD>
    +</TR>
    +<TR BGCOLOR="white" CLASS="TableRowColor">
    +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
    +<CODE>&nbsp;<A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/util/List.html" title="class or interface in java.util">List</A>&lt;<A HREF="../../../../org/jacoco/core/data/SessionInfo.html" title="class in org.jacoco.core.data">SessionInfo</A>&gt;</CODE></FONT></TD>
    +<TD><CODE><B><A HREF="../../../../org/jacoco/core/data/SessionInfoStore.html#getInfos()">getInfos</A></B>()</CODE>
    +
    +<BR>
    +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns all <A HREF="../../../../org/jacoco/core/data/SessionInfo.html" title="class in org.jacoco.core.data"><CODE>SessionInfo</CODE></A> objects currently contained in the store.</TD>
    +</TR>
    +<TR BGCOLOR="white" CLASS="TableRowColor">
    +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
    +<CODE>&nbsp;<A HREF="../../../../org/jacoco/core/data/SessionInfo.html" title="class in org.jacoco.core.data">SessionInfo</A></CODE></FONT></TD>
    +<TD><CODE><B><A HREF="../../../../org/jacoco/core/data/SessionInfoStore.html#getMerged(java.lang.String)">getMerged</A></B>(<A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A>&nbsp;id)</CODE>
    +
    +<BR>
    +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns a new session info with the given id that contains a merged
    + version from all contained version.</TD>
    +</TR>
    +<TR BGCOLOR="white" CLASS="TableRowColor">
    +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
    +<CODE>&nbsp;boolean</CODE></FONT></TD>
    +<TD><CODE><B><A HREF="../../../../org/jacoco/core/data/SessionInfoStore.html#isEmpty()">isEmpty</A></B>()</CODE>
    +
    +<BR>
    +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Tests whether the store is empty.</TD>
    +</TR>
    +<TR BGCOLOR="white" CLASS="TableRowColor">
    +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
    +<CODE>&nbsp;void</CODE></FONT></TD>
    +<TD><CODE><B><A HREF="../../../../org/jacoco/core/data/SessionInfoStore.html#visitSessionInfo(org.jacoco.core.data.SessionInfo)">visitSessionInfo</A></B>(<A HREF="../../../../org/jacoco/core/data/SessionInfo.html" title="class in org.jacoco.core.data">SessionInfo</A>&nbsp;info)</CODE>
    +
    +<BR>
    +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Provides session information for the subsequent execution data calls.</TD>
    +</TR>
    +</TABLE>
    +&nbsp;<A NAME="methods_inherited_from_class_java.lang.Object"><!-- --></A>
    +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
    +<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
    +<TH ALIGN="left"><B>Methods inherited from class java.lang.<A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html" title="class or interface in java.lang">Object</A></B></TH>
    +</TR>
    +<TR BGCOLOR="white" CLASS="TableRowColor">
    +<TD><CODE><A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html#clone()" title="class or interface in java.lang">clone</A>, <A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html#equals(java.lang.Object)" title="class or interface in java.lang">equals</A>, <A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html#finalize()" title="class or interface in java.lang">finalize</A>, <A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html#getClass()" title="class or interface in java.lang">getClass</A>, <A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html#hashCode()" title="class or interface in java.lang">hashCode</A>, <A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html#notify()" title="class or interface in java.lang">notify</A>, <A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html#notifyAll()" title="class or interface in java.lang">notifyAll</A>, <A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html#toString()" title="class or interface in java.lang">toString</A>, <A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html#wait()" title="class or interface in java.lang">wait</A>, <A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html#wait(long)" title="class or interface in java.lang">wait</A>, <A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html#wait(long, int)" title="class or interface in java.lang">wait</A></CODE></TD>
    +</TR>
    +</TABLE>
    +&nbsp;
    +<P>
    +
    +<!-- ========= CONSTRUCTOR DETAIL ======== -->
    +
    +<A NAME="constructor_detail"><!-- --></A>
    +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
    +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
    +<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2">
    +<B>Constructor Detail</B></FONT></TH>
    +</TR>
    +</TABLE>
    +
    +<A NAME="SessionInfoStore()"><!-- --></A><H3>
    +SessionInfoStore</H3>
    +<PRE>
    +public <B>SessionInfoStore</B>()</PRE>
    +<DL>
    +</DL>
    +
    +<!-- ============ METHOD DETAIL ========== -->
    +
    +<A NAME="method_detail"><!-- --></A>
    +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
    +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
    +<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2">
    +<B>Method Detail</B></FONT></TH>
    +</TR>
    +</TABLE>
    +
    +<A NAME="isEmpty()"><!-- --></A><H3>
    +isEmpty</H3>
    +<PRE>
    +public boolean <B>isEmpty</B>()</PRE>
    +<DL>
    +<DD>Tests whether the store is empty.
    +<P>
    +<DD><DL>
    +</DL>
    +</DD>
    +<DD><DL>
    +
    +<DT><B>Returns:</B><DD><code>true</code> if the store is empty</DL>
    +</DD>
    +</DL>
    +<HR>
    +
    +<A NAME="getInfos()"><!-- --></A><H3>
    +getInfos</H3>
    +<PRE>
    +public <A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/util/List.html" title="class or interface in java.util">List</A>&lt;<A HREF="../../../../org/jacoco/core/data/SessionInfo.html" title="class in org.jacoco.core.data">SessionInfo</A>&gt; <B>getInfos</B>()</PRE>
    +<DL>
    +<DD>Returns all <A HREF="../../../../org/jacoco/core/data/SessionInfo.html" title="class in org.jacoco.core.data"><CODE>SessionInfo</CODE></A> objects currently contained in the store.
    + The info objects are ordered by its natural ordering (i.e. by the dump
    + time stamp).
    +<P>
    +<DD><DL>
    +</DL>
    +</DD>
    +<DD><DL>
    +
    +<DT><B>Returns:</B><DD>list of stored <A HREF="../../../../org/jacoco/core/data/SessionInfo.html" title="class in org.jacoco.core.data"><CODE>SessionInfo</CODE></A> objects</DL>
    +</DD>
    +</DL>
    +<HR>
    +
    +<A NAME="getMerged(java.lang.String)"><!-- --></A><H3>
    +getMerged</H3>
    +<PRE>
    +public <A HREF="../../../../org/jacoco/core/data/SessionInfo.html" title="class in org.jacoco.core.data">SessionInfo</A> <B>getMerged</B>(<A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A>&nbsp;id)</PRE>
    +<DL>
    +<DD>Returns a new session info with the given id that contains a merged
    + version from all contained version. The start timestamp is the minimum of
    + all contained sessions, the dump timestamp the maximum of all contained
    + sessions. If no session is currently contained both timestamps are set to
    + <code>0</code>.
    +<P>
    +<DD><DL>
    +</DL>
    +</DD>
    +<DD><DL>
    +<DT><B>Parameters:</B><DD><CODE>id</CODE> - identifier for the merged session info
    +<DT><B>Returns:</B><DD>new <A HREF="../../../../org/jacoco/core/data/SessionInfo.html" title="class in org.jacoco.core.data"><CODE>SessionInfo</CODE></A> object</DL>
    +</DD>
    +</DL>
    +<HR>
    +
    +<A NAME="accept(org.jacoco.core.data.ISessionInfoVisitor)"><!-- --></A><H3>
    +accept</H3>
    +<PRE>
    +public void <B>accept</B>(<A HREF="../../../../org/jacoco/core/data/ISessionInfoVisitor.html" title="interface in org.jacoco.core.data">ISessionInfoVisitor</A>&nbsp;visitor)</PRE>
    +<DL>
    +<DD>Writes all contained <A HREF="../../../../org/jacoco/core/data/SessionInfo.html" title="class in org.jacoco.core.data"><CODE>SessionInfo</CODE></A> objects into the given visitor.
    + The info objects are emitted in chronological order by dump timestamp.
    +<P>
    +<DD><DL>
    +</DL>
    +</DD>
    +<DD><DL>
    +<DT><B>Parameters:</B><DD><CODE>visitor</CODE> - visitor to emit <A HREF="../../../../org/jacoco/core/data/SessionInfo.html" title="class in org.jacoco.core.data"><CODE>SessionInfo</CODE></A> objects to</DL>
    +</DD>
    +</DL>
    +<HR>
    +
    +<A NAME="visitSessionInfo(org.jacoco.core.data.SessionInfo)"><!-- --></A><H3>
    +visitSessionInfo</H3>
    +<PRE>
    +public void <B>visitSessionInfo</B>(<A HREF="../../../../org/jacoco/core/data/SessionInfo.html" title="class in org.jacoco.core.data">SessionInfo</A>&nbsp;info)</PRE>
    +<DL>
    +<DD><B>Description copied from interface: <CODE><A HREF="../../../../org/jacoco/core/data/ISessionInfoVisitor.html#visitSessionInfo(org.jacoco.core.data.SessionInfo)">ISessionInfoVisitor</A></CODE></B></DD>
    +<DD>Provides session information for the subsequent execution data calls. In
    + case of merged sessions this method might be called multiple times.
    +<P>
    +<DD><DL>
    +<DT><B>Specified by:</B><DD><CODE><A HREF="../../../../org/jacoco/core/data/ISessionInfoVisitor.html#visitSessionInfo(org.jacoco.core.data.SessionInfo)">visitSessionInfo</A></CODE> in interface <CODE><A HREF="../../../../org/jacoco/core/data/ISessionInfoVisitor.html" title="interface in org.jacoco.core.data">ISessionInfoVisitor</A></CODE></DL>
    +</DD>
    +<DD><DL>
    +<DT><B>Parameters:</B><DD><CODE>info</CODE> - session information</DL>
    +</DD>
    +</DL>
    +<!-- ========= END OF CLASS DATA ========= -->
    +<HR>
    +
    +
    +<!-- ======= START OF BOTTOM NAVBAR ====== -->
    +<A NAME="navbar_bottom"><!-- --></A>
    +<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
    +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
    +<TR>
    +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
    +<A NAME="navbar_bottom_firstrow"><!-- --></A>
    +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
    +  <TR ALIGN="center" VALIGN="top">
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="class-use/SessionInfoStore.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
    +  </TR>
    +</TABLE>
    +</TD>
    +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
    +</EM>
    +</TD>
    +</TR>
    +
    +<TR>
    +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
    +&nbsp;<A HREF="../../../../org/jacoco/core/data/SessionInfo.html" title="class in org.jacoco.core.data"><B>PREV CLASS</B></A>&nbsp;
    +&nbsp;NEXT CLASS</FONT></TD>
    +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
    +  <A HREF="../../../../index.html?org/jacoco/core/data/SessionInfoStore.html" target="_top"><B>FRAMES</B></A>  &nbsp;
    +&nbsp;<A HREF="SessionInfoStore.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
    +&nbsp;<SCRIPT type="text/javascript">
    +  <!--
    +  if(window==top) {
    +    document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>');
    +  }
    +  //-->
    +</SCRIPT>
    +<NOSCRIPT>
    +  <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>
    +</NOSCRIPT>
    +
    +
    +</FONT></TD>
    +</TR>
    +<TR>
    +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
    +  SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;FIELD&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD>
    +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
    +DETAIL:&nbsp;FIELD&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD>
    +</TR>
    +</TABLE>
    +<A NAME="skip-navbar_bottom"></A>
    +<!-- ======== END OF BOTTOM NAVBAR ======= -->
    +
    +<HR>
    +Copyright &#169; 2009&#x2013;2024 Mountainminds GmbH & Co. KG. All rights reserved.
    +</BODY>
    +</HTML>
    diff --git a/jacoco/trunk/doc/api/org/jacoco/core/data/class-use/ExecutionData.html b/jacoco/trunk/doc/api/org/jacoco/core/data/class-use/ExecutionData.html
    new file mode 100644
    index 00000000000..4ace1d85dfa
    --- /dev/null
    +++ b/jacoco/trunk/doc/api/org/jacoco/core/data/class-use/ExecutionData.html
    @@ -0,0 +1,340 @@
    +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
    +<!--NewPage-->
    +<HTML>
    +<HEAD>
    +<!-- Generated by javadoc (build 1.5.0_22) on Wed Mar 27 16:45:42 UTC 2024 -->
    +<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
    +<TITLE>
    +Uses of Class org.jacoco.core.data.ExecutionData (JaCoCo 0.8.12.202403270442 API)
    +</TITLE>
    +
    +
    +<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../../stylesheet.css" TITLE="Style">
    +
    +<SCRIPT type="text/javascript">
    +function windowTitle()
    +{
    +    parent.document.title="Uses of Class org.jacoco.core.data.ExecutionData (JaCoCo 0.8.12.202403270442 API)";
    +}
    +</SCRIPT>
    +<NOSCRIPT>
    +</NOSCRIPT>
    +
    +</HEAD>
    +
    +<BODY BGCOLOR="white" onload="windowTitle();">
    +
    +
    +<!-- ========= START OF TOP NAVBAR ======= -->
    +<A NAME="navbar_top"><!-- --></A>
    +<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
    +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
    +<TR>
    +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
    +<A NAME="navbar_top_firstrow"><!-- --></A>
    +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
    +  <TR ALIGN="center" VALIGN="top">
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../org/jacoco/core/data/ExecutionData.html" title="class in org.jacoco.core.data"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
    +  </TR>
    +</TABLE>
    +</TD>
    +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
    +</EM>
    +</TD>
    +</TR>
    +
    +<TR>
    +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
    +&nbsp;PREV&nbsp;
    +&nbsp;NEXT</FONT></TD>
    +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
    +  <A HREF="../../../../../index.html?org/jacoco/core/data/class-use/ExecutionData.html" target="_top"><B>FRAMES</B></A>  &nbsp;
    +&nbsp;<A HREF="ExecutionData.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
    +&nbsp;<SCRIPT type="text/javascript">
    +  <!--
    +  if(window==top) {
    +    document.writeln('<A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>');
    +  }
    +  //-->
    +</SCRIPT>
    +<NOSCRIPT>
    +  <A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>
    +</NOSCRIPT>
    +
    +
    +</FONT></TD>
    +</TR>
    +</TABLE>
    +<A NAME="skip-navbar_top"></A>
    +<!-- ========= END OF TOP NAVBAR ========= -->
    +
    +<HR>
    +<CENTER>
    +<H2>
    +<B>Uses of Class<br>org.jacoco.core.data.ExecutionData</B></H2>
    +</CENTER>
    +
    +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
    +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
    +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
    +Packages that use <A HREF="../../../../../org/jacoco/core/data/ExecutionData.html" title="class in org.jacoco.core.data">ExecutionData</A></FONT></TH>
    +</TR>
    +<TR BGCOLOR="white" CLASS="TableRowColor">
    +<TD><A HREF="#org.jacoco.core.data"><B>org.jacoco.core.data</B></A></TD>
    +<TD>Representation and persistence of execution data and session information.&nbsp;</TD>
    +</TR>
    +<TR BGCOLOR="white" CLASS="TableRowColor">
    +<TD><A HREF="#org.jacoco.core.runtime"><B>org.jacoco.core.runtime</B></A></TD>
    +<TD>Runtime control and execution data collection.&nbsp;</TD>
    +</TR>
    +<TR BGCOLOR="white" CLASS="TableRowColor">
    +<TD><A HREF="#org.jacoco.report"><B>org.jacoco.report</B></A></TD>
    +<TD>Common interfaces and utilities for report generation.&nbsp;</TD>
    +</TR>
    +</TABLE>
    +&nbsp;
    +<P>
    +<A NAME="org.jacoco.core.data"><!-- --></A>
    +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
    +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
    +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
    +Uses of <A HREF="../../../../../org/jacoco/core/data/ExecutionData.html" title="class in org.jacoco.core.data">ExecutionData</A> in <A HREF="../../../../../org/jacoco/core/data/package-summary.html">org.jacoco.core.data</A></FONT></TH>
    +</TR>
    +</TABLE>
    +&nbsp;
    +<P>
    +
    +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
    +<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor">
    +<TH ALIGN="left" COLSPAN="2">Methods in <A HREF="../../../../../org/jacoco/core/data/package-summary.html">org.jacoco.core.data</A> that return <A HREF="../../../../../org/jacoco/core/data/ExecutionData.html" title="class in org.jacoco.core.data">ExecutionData</A></FONT></TH>
    +</TR>
    +<TR BGCOLOR="white" CLASS="TableRowColor">
    +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
    +<CODE>&nbsp;<A HREF="../../../../../org/jacoco/core/data/ExecutionData.html" title="class in org.jacoco.core.data">ExecutionData</A></CODE></FONT></TD>
    +<TD><CODE><B>ExecutionDataStore.</B><B><A HREF="../../../../../org/jacoco/core/data/ExecutionDataStore.html#get(long)">get</A></B>(long&nbsp;id)</CODE>
    +
    +<BR>
    +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns the <A HREF="../../../../../org/jacoco/core/data/ExecutionData.html" title="class in org.jacoco.core.data"><CODE>ExecutionData</CODE></A> entry with the given id if it exists in
    + this store.</TD>
    +</TR>
    +<TR BGCOLOR="white" CLASS="TableRowColor">
    +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
    +<CODE>&nbsp;<A HREF="../../../../../org/jacoco/core/data/ExecutionData.html" title="class in org.jacoco.core.data">ExecutionData</A></CODE></FONT></TD>
    +<TD><CODE><B>ExecutionDataStore.</B><B><A HREF="../../../../../org/jacoco/core/data/ExecutionDataStore.html#get(java.lang.Long, java.lang.String, int)">get</A></B>(<A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Long.html" title="class or interface in java.lang">Long</A>&nbsp;id,
    +    <A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A>&nbsp;name,
    +    int&nbsp;probecount)</CODE>
    +
    +<BR>
    +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns the coverage data for the class with the given identifier.</TD>
    +</TR>
    +</TABLE>
    +&nbsp;
    +<P>
    +
    +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
    +<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor">
    +<TH ALIGN="left" COLSPAN="2">Methods in <A HREF="../../../../../org/jacoco/core/data/package-summary.html">org.jacoco.core.data</A> that return types with arguments of type <A HREF="../../../../../org/jacoco/core/data/ExecutionData.html" title="class in org.jacoco.core.data">ExecutionData</A></FONT></TH>
    +</TR>
    +<TR BGCOLOR="white" CLASS="TableRowColor">
    +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
    +<CODE>&nbsp;<A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/util/Collection.html" title="class or interface in java.util">Collection</A>&lt;<A HREF="../../../../../org/jacoco/core/data/ExecutionData.html" title="class in org.jacoco.core.data">ExecutionData</A>&gt;</CODE></FONT></TD>
    +<TD><CODE><B>ExecutionDataStore.</B><B><A HREF="../../../../../org/jacoco/core/data/ExecutionDataStore.html#getContents()">getContents</A></B>()</CODE>
    +
    +<BR>
    +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns a collection that represents current contents of the store.</TD>
    +</TR>
    +</TABLE>
    +&nbsp;
    +<P>
    +
    +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
    +<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor">
    +<TH ALIGN="left" COLSPAN="2">Methods in <A HREF="../../../../../org/jacoco/core/data/package-summary.html">org.jacoco.core.data</A> with parameters of type <A HREF="../../../../../org/jacoco/core/data/ExecutionData.html" title="class in org.jacoco.core.data">ExecutionData</A></FONT></TH>
    +</TR>
    +<TR BGCOLOR="white" CLASS="TableRowColor">
    +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
    +<CODE>&nbsp;void</CODE></FONT></TD>
    +<TD><CODE><B>ExecutionData.</B><B><A HREF="../../../../../org/jacoco/core/data/ExecutionData.html#merge(org.jacoco.core.data.ExecutionData)">merge</A></B>(<A HREF="../../../../../org/jacoco/core/data/ExecutionData.html" title="class in org.jacoco.core.data">ExecutionData</A>&nbsp;other)</CODE>
    +
    +<BR>
    +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Merges the given execution data into the probe data of this object.</TD>
    +</TR>
    +<TR BGCOLOR="white" CLASS="TableRowColor">
    +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
    +<CODE>&nbsp;void</CODE></FONT></TD>
    +<TD><CODE><B>ExecutionData.</B><B><A HREF="../../../../../org/jacoco/core/data/ExecutionData.html#merge(org.jacoco.core.data.ExecutionData, boolean)">merge</A></B>(<A HREF="../../../../../org/jacoco/core/data/ExecutionData.html" title="class in org.jacoco.core.data">ExecutionData</A>&nbsp;other,
    +      boolean&nbsp;flag)</CODE>
    +
    +<BR>
    +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Merges the given execution data into the probe data of this object.</TD>
    +</TR>
    +<TR BGCOLOR="white" CLASS="TableRowColor">
    +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
    +<CODE>&nbsp;void</CODE></FONT></TD>
    +<TD><CODE><B>ExecutionDataStore.</B><B><A HREF="../../../../../org/jacoco/core/data/ExecutionDataStore.html#put(org.jacoco.core.data.ExecutionData)">put</A></B>(<A HREF="../../../../../org/jacoco/core/data/ExecutionData.html" title="class in org.jacoco.core.data">ExecutionData</A>&nbsp;data)</CODE>
    +
    +<BR>
    +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Adds the given <A HREF="../../../../../org/jacoco/core/data/ExecutionData.html" title="class in org.jacoco.core.data"><CODE>ExecutionData</CODE></A> object into the store.</TD>
    +</TR>
    +<TR BGCOLOR="white" CLASS="TableRowColor">
    +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
    +<CODE>&nbsp;void</CODE></FONT></TD>
    +<TD><CODE><B>ExecutionDataStore.</B><B><A HREF="../../../../../org/jacoco/core/data/ExecutionDataStore.html#subtract(org.jacoco.core.data.ExecutionData)">subtract</A></B>(<A HREF="../../../../../org/jacoco/core/data/ExecutionData.html" title="class in org.jacoco.core.data">ExecutionData</A>&nbsp;data)</CODE>
    +
    +<BR>
    +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Subtracts the probes in the given <A HREF="../../../../../org/jacoco/core/data/ExecutionData.html" title="class in org.jacoco.core.data"><CODE>ExecutionData</CODE></A> object from the
    + store.</TD>
    +</TR>
    +<TR BGCOLOR="white" CLASS="TableRowColor">
    +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
    +<CODE>&nbsp;void</CODE></FONT></TD>
    +<TD><CODE><B>ExecutionDataStore.</B><B><A HREF="../../../../../org/jacoco/core/data/ExecutionDataStore.html#visitClassExecution(org.jacoco.core.data.ExecutionData)">visitClassExecution</A></B>(<A HREF="../../../../../org/jacoco/core/data/ExecutionData.html" title="class in org.jacoco.core.data">ExecutionData</A>&nbsp;data)</CODE>
    +
    +<BR>
    +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
    +</TR>
    +<TR BGCOLOR="white" CLASS="TableRowColor">
    +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
    +<CODE>&nbsp;void</CODE></FONT></TD>
    +<TD><CODE><B>IExecutionDataVisitor.</B><B><A HREF="../../../../../org/jacoco/core/data/IExecutionDataVisitor.html#visitClassExecution(org.jacoco.core.data.ExecutionData)">visitClassExecution</A></B>(<A HREF="../../../../../org/jacoco/core/data/ExecutionData.html" title="class in org.jacoco.core.data">ExecutionData</A>&nbsp;data)</CODE>
    +
    +<BR>
    +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Provides execution data for a class.</TD>
    +</TR>
    +<TR BGCOLOR="white" CLASS="TableRowColor">
    +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
    +<CODE>&nbsp;void</CODE></FONT></TD>
    +<TD><CODE><B>ExecutionDataWriter.</B><B><A HREF="../../../../../org/jacoco/core/data/ExecutionDataWriter.html#visitClassExecution(org.jacoco.core.data.ExecutionData)">visitClassExecution</A></B>(<A HREF="../../../../../org/jacoco/core/data/ExecutionData.html" title="class in org.jacoco.core.data">ExecutionData</A>&nbsp;data)</CODE>
    +
    +<BR>
    +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
    +</TR>
    +</TABLE>
    +&nbsp;
    +<P>
    +<A NAME="org.jacoco.core.runtime"><!-- --></A>
    +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
    +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
    +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
    +Uses of <A HREF="../../../../../org/jacoco/core/data/ExecutionData.html" title="class in org.jacoco.core.data">ExecutionData</A> in <A HREF="../../../../../org/jacoco/core/runtime/package-summary.html">org.jacoco.core.runtime</A></FONT></TH>
    +</TR>
    +</TABLE>
    +&nbsp;
    +<P>
    +
    +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
    +<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor">
    +<TH ALIGN="left" COLSPAN="2">Methods in <A HREF="../../../../../org/jacoco/core/runtime/package-summary.html">org.jacoco.core.runtime</A> that return <A HREF="../../../../../org/jacoco/core/data/ExecutionData.html" title="class in org.jacoco.core.data">ExecutionData</A></FONT></TH>
    +</TR>
    +<TR BGCOLOR="white" CLASS="TableRowColor">
    +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
    +<CODE>&nbsp;<A HREF="../../../../../org/jacoco/core/data/ExecutionData.html" title="class in org.jacoco.core.data">ExecutionData</A></CODE></FONT></TD>
    +<TD><CODE><B>RuntimeData.</B><B><A HREF="../../../../../org/jacoco/core/runtime/RuntimeData.html#getExecutionData(java.lang.Long, java.lang.String, int)">getExecutionData</A></B>(<A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Long.html" title="class or interface in java.lang">Long</A>&nbsp;id,
    +                 <A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A>&nbsp;name,
    +                 int&nbsp;probecount)</CODE>
    +
    +<BR>
    +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns the coverage data for the class with the given identifier.</TD>
    +</TR>
    +</TABLE>
    +&nbsp;
    +<P>
    +<A NAME="org.jacoco.report"><!-- --></A>
    +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
    +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
    +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
    +Uses of <A HREF="../../../../../org/jacoco/core/data/ExecutionData.html" title="class in org.jacoco.core.data">ExecutionData</A> in <A HREF="../../../../../org/jacoco/report/package-summary.html">org.jacoco.report</A></FONT></TH>
    +</TR>
    +</TABLE>
    +&nbsp;
    +<P>
    +
    +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
    +<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor">
    +<TH ALIGN="left" COLSPAN="2">Method parameters in <A HREF="../../../../../org/jacoco/report/package-summary.html">org.jacoco.report</A> with type arguments of type <A HREF="../../../../../org/jacoco/core/data/ExecutionData.html" title="class in org.jacoco.core.data">ExecutionData</A></FONT></TH>
    +</TR>
    +<TR BGCOLOR="white" CLASS="TableRowColor">
    +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
    +<CODE>&nbsp;void</CODE></FONT></TD>
    +<TD><CODE><B>IReportVisitor.</B><B><A HREF="../../../../../org/jacoco/report/IReportVisitor.html#visitInfo(java.util.List, java.util.Collection)">visitInfo</A></B>(<A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/util/List.html" title="class or interface in java.util">List</A>&lt;<A HREF="../../../../../org/jacoco/core/data/SessionInfo.html" title="class in org.jacoco.core.data">SessionInfo</A>&gt;&nbsp;sessionInfos,
    +          <A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/util/Collection.html" title="class or interface in java.util">Collection</A>&lt;<A HREF="../../../../../org/jacoco/core/data/ExecutionData.html" title="class in org.jacoco.core.data">ExecutionData</A>&gt;&nbsp;executionData)</CODE>
    +
    +<BR>
    +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Initializes the report with global information.</TD>
    +</TR>
    +<TR BGCOLOR="white" CLASS="TableRowColor">
    +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
    +<CODE>&nbsp;void</CODE></FONT></TD>
    +<TD><CODE><B>MultiReportVisitor.</B><B><A HREF="../../../../../org/jacoco/report/MultiReportVisitor.html#visitInfo(java.util.List, java.util.Collection)">visitInfo</A></B>(<A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/util/List.html" title="class or interface in java.util">List</A>&lt;<A HREF="../../../../../org/jacoco/core/data/SessionInfo.html" title="class in org.jacoco.core.data">SessionInfo</A>&gt;&nbsp;sessionInfos,
    +          <A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/util/Collection.html" title="class or interface in java.util">Collection</A>&lt;<A HREF="../../../../../org/jacoco/core/data/ExecutionData.html" title="class in org.jacoco.core.data">ExecutionData</A>&gt;&nbsp;executionData)</CODE>
    +
    +<BR>
    +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
    +</TR>
    +</TABLE>
    +&nbsp;
    +<P>
    +<HR>
    +
    +
    +<!-- ======= START OF BOTTOM NAVBAR ====== -->
    +<A NAME="navbar_bottom"><!-- --></A>
    +<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
    +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
    +<TR>
    +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
    +<A NAME="navbar_bottom_firstrow"><!-- --></A>
    +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
    +  <TR ALIGN="center" VALIGN="top">
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../org/jacoco/core/data/ExecutionData.html" title="class in org.jacoco.core.data"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
    +  </TR>
    +</TABLE>
    +</TD>
    +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
    +</EM>
    +</TD>
    +</TR>
    +
    +<TR>
    +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
    +&nbsp;PREV&nbsp;
    +&nbsp;NEXT</FONT></TD>
    +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
    +  <A HREF="../../../../../index.html?org/jacoco/core/data/class-use/ExecutionData.html" target="_top"><B>FRAMES</B></A>  &nbsp;
    +&nbsp;<A HREF="ExecutionData.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
    +&nbsp;<SCRIPT type="text/javascript">
    +  <!--
    +  if(window==top) {
    +    document.writeln('<A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>');
    +  }
    +  //-->
    +</SCRIPT>
    +<NOSCRIPT>
    +  <A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>
    +</NOSCRIPT>
    +
    +
    +</FONT></TD>
    +</TR>
    +</TABLE>
    +<A NAME="skip-navbar_bottom"></A>
    +<!-- ======== END OF BOTTOM NAVBAR ======= -->
    +
    +<HR>
    +Copyright &#169; 2009&#x2013;2024 Mountainminds GmbH & Co. KG. All rights reserved.
    +</BODY>
    +</HTML>
    diff --git a/jacoco/trunk/doc/api/org/jacoco/core/data/class-use/ExecutionDataReader.html b/jacoco/trunk/doc/api/org/jacoco/core/data/class-use/ExecutionDataReader.html
    new file mode 100644
    index 00000000000..afca20f0f40
    --- /dev/null
    +++ b/jacoco/trunk/doc/api/org/jacoco/core/data/class-use/ExecutionDataReader.html
    @@ -0,0 +1,177 @@
    +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
    +<!--NewPage-->
    +<HTML>
    +<HEAD>
    +<!-- Generated by javadoc (build 1.5.0_22) on Wed Mar 27 16:45:42 UTC 2024 -->
    +<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
    +<TITLE>
    +Uses of Class org.jacoco.core.data.ExecutionDataReader (JaCoCo 0.8.12.202403270442 API)
    +</TITLE>
    +
    +
    +<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../../stylesheet.css" TITLE="Style">
    +
    +<SCRIPT type="text/javascript">
    +function windowTitle()
    +{
    +    parent.document.title="Uses of Class org.jacoco.core.data.ExecutionDataReader (JaCoCo 0.8.12.202403270442 API)";
    +}
    +</SCRIPT>
    +<NOSCRIPT>
    +</NOSCRIPT>
    +
    +</HEAD>
    +
    +<BODY BGCOLOR="white" onload="windowTitle();">
    +
    +
    +<!-- ========= START OF TOP NAVBAR ======= -->
    +<A NAME="navbar_top"><!-- --></A>
    +<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
    +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
    +<TR>
    +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
    +<A NAME="navbar_top_firstrow"><!-- --></A>
    +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
    +  <TR ALIGN="center" VALIGN="top">
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../org/jacoco/core/data/ExecutionDataReader.html" title="class in org.jacoco.core.data"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
    +  </TR>
    +</TABLE>
    +</TD>
    +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
    +</EM>
    +</TD>
    +</TR>
    +
    +<TR>
    +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
    +&nbsp;PREV&nbsp;
    +&nbsp;NEXT</FONT></TD>
    +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
    +  <A HREF="../../../../../index.html?org/jacoco/core/data/class-use/ExecutionDataReader.html" target="_top"><B>FRAMES</B></A>  &nbsp;
    +&nbsp;<A HREF="ExecutionDataReader.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
    +&nbsp;<SCRIPT type="text/javascript">
    +  <!--
    +  if(window==top) {
    +    document.writeln('<A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>');
    +  }
    +  //-->
    +</SCRIPT>
    +<NOSCRIPT>
    +  <A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>
    +</NOSCRIPT>
    +
    +
    +</FONT></TD>
    +</TR>
    +</TABLE>
    +<A NAME="skip-navbar_top"></A>
    +<!-- ========= END OF TOP NAVBAR ========= -->
    +
    +<HR>
    +<CENTER>
    +<H2>
    +<B>Uses of Class<br>org.jacoco.core.data.ExecutionDataReader</B></H2>
    +</CENTER>
    +
    +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
    +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
    +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
    +Packages that use <A HREF="../../../../../org/jacoco/core/data/ExecutionDataReader.html" title="class in org.jacoco.core.data">ExecutionDataReader</A></FONT></TH>
    +</TR>
    +<TR BGCOLOR="white" CLASS="TableRowColor">
    +<TD><A HREF="#org.jacoco.core.runtime"><B>org.jacoco.core.runtime</B></A></TD>
    +<TD>Runtime control and execution data collection.&nbsp;</TD>
    +</TR>
    +</TABLE>
    +&nbsp;
    +<P>
    +<A NAME="org.jacoco.core.runtime"><!-- --></A>
    +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
    +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
    +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
    +Uses of <A HREF="../../../../../org/jacoco/core/data/ExecutionDataReader.html" title="class in org.jacoco.core.data">ExecutionDataReader</A> in <A HREF="../../../../../org/jacoco/core/runtime/package-summary.html">org.jacoco.core.runtime</A></FONT></TH>
    +</TR>
    +</TABLE>
    +&nbsp;
    +<P>
    +
    +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
    +<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor">
    +<TH ALIGN="left" COLSPAN="2">Subclasses of <A HREF="../../../../../org/jacoco/core/data/ExecutionDataReader.html" title="class in org.jacoco.core.data">ExecutionDataReader</A> in <A HREF="../../../../../org/jacoco/core/runtime/package-summary.html">org.jacoco.core.runtime</A></FONT></TH>
    +</TR>
    +<TR BGCOLOR="white" CLASS="TableRowColor">
    +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
    +<CODE>&nbsp;class</CODE></FONT></TD>
    +<TD><CODE><B><A HREF="../../../../../org/jacoco/core/runtime/RemoteControlReader.html" title="class in org.jacoco.core.runtime">RemoteControlReader</A></B></CODE>
    +
    +<BR>
    +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<A HREF="../../../../../org/jacoco/core/data/ExecutionDataReader.html" title="class in org.jacoco.core.data"><CODE>ExecutionDataReader</CODE></A> with commands added for runtime remote control.</TD>
    +</TR>
    +</TABLE>
    +&nbsp;
    +<P>
    +<HR>
    +
    +
    +<!-- ======= START OF BOTTOM NAVBAR ====== -->
    +<A NAME="navbar_bottom"><!-- --></A>
    +<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
    +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
    +<TR>
    +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
    +<A NAME="navbar_bottom_firstrow"><!-- --></A>
    +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
    +  <TR ALIGN="center" VALIGN="top">
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../org/jacoco/core/data/ExecutionDataReader.html" title="class in org.jacoco.core.data"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
    +  </TR>
    +</TABLE>
    +</TD>
    +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
    +</EM>
    +</TD>
    +</TR>
    +
    +<TR>
    +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
    +&nbsp;PREV&nbsp;
    +&nbsp;NEXT</FONT></TD>
    +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
    +  <A HREF="../../../../../index.html?org/jacoco/core/data/class-use/ExecutionDataReader.html" target="_top"><B>FRAMES</B></A>  &nbsp;
    +&nbsp;<A HREF="ExecutionDataReader.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
    +&nbsp;<SCRIPT type="text/javascript">
    +  <!--
    +  if(window==top) {
    +    document.writeln('<A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>');
    +  }
    +  //-->
    +</SCRIPT>
    +<NOSCRIPT>
    +  <A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>
    +</NOSCRIPT>
    +
    +
    +</FONT></TD>
    +</TR>
    +</TABLE>
    +<A NAME="skip-navbar_bottom"></A>
    +<!-- ======== END OF BOTTOM NAVBAR ======= -->
    +
    +<HR>
    +Copyright &#169; 2009&#x2013;2024 Mountainminds GmbH & Co. KG. All rights reserved.
    +</BODY>
    +</HTML>
    diff --git a/jacoco/trunk/doc/api/org/jacoco/core/data/class-use/ExecutionDataStore.html b/jacoco/trunk/doc/api/org/jacoco/core/data/class-use/ExecutionDataStore.html
    new file mode 100644
    index 00000000000..0f88a229b68
    --- /dev/null
    +++ b/jacoco/trunk/doc/api/org/jacoco/core/data/class-use/ExecutionDataStore.html
    @@ -0,0 +1,264 @@
    +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
    +<!--NewPage-->
    +<HTML>
    +<HEAD>
    +<!-- Generated by javadoc (build 1.5.0_22) on Wed Mar 27 16:45:42 UTC 2024 -->
    +<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
    +<TITLE>
    +Uses of Class org.jacoco.core.data.ExecutionDataStore (JaCoCo 0.8.12.202403270442 API)
    +</TITLE>
    +
    +
    +<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../../stylesheet.css" TITLE="Style">
    +
    +<SCRIPT type="text/javascript">
    +function windowTitle()
    +{
    +    parent.document.title="Uses of Class org.jacoco.core.data.ExecutionDataStore (JaCoCo 0.8.12.202403270442 API)";
    +}
    +</SCRIPT>
    +<NOSCRIPT>
    +</NOSCRIPT>
    +
    +</HEAD>
    +
    +<BODY BGCOLOR="white" onload="windowTitle();">
    +
    +
    +<!-- ========= START OF TOP NAVBAR ======= -->
    +<A NAME="navbar_top"><!-- --></A>
    +<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
    +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
    +<TR>
    +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
    +<A NAME="navbar_top_firstrow"><!-- --></A>
    +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
    +  <TR ALIGN="center" VALIGN="top">
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../org/jacoco/core/data/ExecutionDataStore.html" title="class in org.jacoco.core.data"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
    +  </TR>
    +</TABLE>
    +</TD>
    +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
    +</EM>
    +</TD>
    +</TR>
    +
    +<TR>
    +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
    +&nbsp;PREV&nbsp;
    +&nbsp;NEXT</FONT></TD>
    +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
    +  <A HREF="../../../../../index.html?org/jacoco/core/data/class-use/ExecutionDataStore.html" target="_top"><B>FRAMES</B></A>  &nbsp;
    +&nbsp;<A HREF="ExecutionDataStore.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
    +&nbsp;<SCRIPT type="text/javascript">
    +  <!--
    +  if(window==top) {
    +    document.writeln('<A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>');
    +  }
    +  //-->
    +</SCRIPT>
    +<NOSCRIPT>
    +  <A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>
    +</NOSCRIPT>
    +
    +
    +</FONT></TD>
    +</TR>
    +</TABLE>
    +<A NAME="skip-navbar_top"></A>
    +<!-- ========= END OF TOP NAVBAR ========= -->
    +
    +<HR>
    +<CENTER>
    +<H2>
    +<B>Uses of Class<br>org.jacoco.core.data.ExecutionDataStore</B></H2>
    +</CENTER>
    +
    +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
    +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
    +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
    +Packages that use <A HREF="../../../../../org/jacoco/core/data/ExecutionDataStore.html" title="class in org.jacoco.core.data">ExecutionDataStore</A></FONT></TH>
    +</TR>
    +<TR BGCOLOR="white" CLASS="TableRowColor">
    +<TD><A HREF="#org.jacoco.core.analysis"><B>org.jacoco.core.analysis</B></A></TD>
    +<TD>
    + Coverage calculation and analysis.&nbsp;</TD>
    +</TR>
    +<TR BGCOLOR="white" CLASS="TableRowColor">
    +<TD><A HREF="#org.jacoco.core.data"><B>org.jacoco.core.data</B></A></TD>
    +<TD>Representation and persistence of execution data and session information.&nbsp;</TD>
    +</TR>
    +<TR BGCOLOR="white" CLASS="TableRowColor">
    +<TD><A HREF="#org.jacoco.core.runtime"><B>org.jacoco.core.runtime</B></A></TD>
    +<TD>Runtime control and execution data collection.&nbsp;</TD>
    +</TR>
    +<TR BGCOLOR="white" CLASS="TableRowColor">
    +<TD><A HREF="#org.jacoco.core.tools"><B>org.jacoco.core.tools</B></A></TD>
    +<TD>Collection of tools build on top of the JaCoCo core APIs.&nbsp;</TD>
    +</TR>
    +</TABLE>
    +&nbsp;
    +<P>
    +<A NAME="org.jacoco.core.analysis"><!-- --></A>
    +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
    +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
    +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
    +Uses of <A HREF="../../../../../org/jacoco/core/data/ExecutionDataStore.html" title="class in org.jacoco.core.data">ExecutionDataStore</A> in <A HREF="../../../../../org/jacoco/core/analysis/package-summary.html">org.jacoco.core.analysis</A></FONT></TH>
    +</TR>
    +</TABLE>
    +&nbsp;
    +<P>
    +
    +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
    +<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor">
    +<TH ALIGN="left" COLSPAN="2">Constructors in <A HREF="../../../../../org/jacoco/core/analysis/package-summary.html">org.jacoco.core.analysis</A> with parameters of type <A HREF="../../../../../org/jacoco/core/data/ExecutionDataStore.html" title="class in org.jacoco.core.data">ExecutionDataStore</A></FONT></TH>
    +</TR>
    +<TR BGCOLOR="white" CLASS="TableRowColor">
    +<TD><CODE><B><A HREF="../../../../../org/jacoco/core/analysis/Analyzer.html#Analyzer(org.jacoco.core.data.ExecutionDataStore, org.jacoco.core.analysis.ICoverageVisitor)">Analyzer</A></B>(<A HREF="../../../../../org/jacoco/core/data/ExecutionDataStore.html" title="class in org.jacoco.core.data">ExecutionDataStore</A>&nbsp;executionData,
    +         <A HREF="../../../../../org/jacoco/core/analysis/ICoverageVisitor.html" title="interface in org.jacoco.core.analysis">ICoverageVisitor</A>&nbsp;coverageVisitor)</CODE>
    +
    +<BR>
    +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Creates a new analyzer reporting to the given output.</TD>
    +</TR>
    +</TABLE>
    +&nbsp;
    +<P>
    +<A NAME="org.jacoco.core.data"><!-- --></A>
    +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
    +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
    +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
    +Uses of <A HREF="../../../../../org/jacoco/core/data/ExecutionDataStore.html" title="class in org.jacoco.core.data">ExecutionDataStore</A> in <A HREF="../../../../../org/jacoco/core/data/package-summary.html">org.jacoco.core.data</A></FONT></TH>
    +</TR>
    +</TABLE>
    +&nbsp;
    +<P>
    +
    +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
    +<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor">
    +<TH ALIGN="left" COLSPAN="2">Methods in <A HREF="../../../../../org/jacoco/core/data/package-summary.html">org.jacoco.core.data</A> with parameters of type <A HREF="../../../../../org/jacoco/core/data/ExecutionDataStore.html" title="class in org.jacoco.core.data">ExecutionDataStore</A></FONT></TH>
    +</TR>
    +<TR BGCOLOR="white" CLASS="TableRowColor">
    +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
    +<CODE>&nbsp;void</CODE></FONT></TD>
    +<TD><CODE><B>ExecutionDataStore.</B><B><A HREF="../../../../../org/jacoco/core/data/ExecutionDataStore.html#subtract(org.jacoco.core.data.ExecutionDataStore)">subtract</A></B>(<A HREF="../../../../../org/jacoco/core/data/ExecutionDataStore.html" title="class in org.jacoco.core.data">ExecutionDataStore</A>&nbsp;store)</CODE>
    +
    +<BR>
    +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Subtracts all probes in the given execution data store from this store.</TD>
    +</TR>
    +</TABLE>
    +&nbsp;
    +<P>
    +<A NAME="org.jacoco.core.runtime"><!-- --></A>
    +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
    +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
    +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
    +Uses of <A HREF="../../../../../org/jacoco/core/data/ExecutionDataStore.html" title="class in org.jacoco.core.data">ExecutionDataStore</A> in <A HREF="../../../../../org/jacoco/core/runtime/package-summary.html">org.jacoco.core.runtime</A></FONT></TH>
    +</TR>
    +</TABLE>
    +&nbsp;
    +<P>
    +
    +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
    +<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor">
    +<TH ALIGN="left" COLSPAN="2">Fields in <A HREF="../../../../../org/jacoco/core/runtime/package-summary.html">org.jacoco.core.runtime</A> declared as <A HREF="../../../../../org/jacoco/core/data/ExecutionDataStore.html" title="class in org.jacoco.core.data">ExecutionDataStore</A></FONT></TH>
    +</TR>
    +<TR BGCOLOR="white" CLASS="TableRowColor">
    +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
    +<CODE>protected &nbsp;<A HREF="../../../../../org/jacoco/core/data/ExecutionDataStore.html" title="class in org.jacoco.core.data">ExecutionDataStore</A></CODE></FONT></TD>
    +<TD><CODE><B>RuntimeData.</B><B><A HREF="../../../../../org/jacoco/core/runtime/RuntimeData.html#store">store</A></B></CODE>
    +
    +<BR>
    +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;store for execution data</TD>
    +</TR>
    +</TABLE>
    +&nbsp;
    +<P>
    +<A NAME="org.jacoco.core.tools"><!-- --></A>
    +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
    +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
    +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
    +Uses of <A HREF="../../../../../org/jacoco/core/data/ExecutionDataStore.html" title="class in org.jacoco.core.data">ExecutionDataStore</A> in <A HREF="../../../../../org/jacoco/core/tools/package-summary.html">org.jacoco.core.tools</A></FONT></TH>
    +</TR>
    +</TABLE>
    +&nbsp;
    +<P>
    +
    +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
    +<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor">
    +<TH ALIGN="left" COLSPAN="2">Methods in <A HREF="../../../../../org/jacoco/core/tools/package-summary.html">org.jacoco.core.tools</A> that return <A HREF="../../../../../org/jacoco/core/data/ExecutionDataStore.html" title="class in org.jacoco.core.data">ExecutionDataStore</A></FONT></TH>
    +</TR>
    +<TR BGCOLOR="white" CLASS="TableRowColor">
    +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
    +<CODE>&nbsp;<A HREF="../../../../../org/jacoco/core/data/ExecutionDataStore.html" title="class in org.jacoco.core.data">ExecutionDataStore</A></CODE></FONT></TD>
    +<TD><CODE><B>ExecFileLoader.</B><B><A HREF="../../../../../org/jacoco/core/tools/ExecFileLoader.html#getExecutionDataStore()">getExecutionDataStore</A></B>()</CODE>
    +
    +<BR>
    +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns the execution data store with data for all loaded classes.</TD>
    +</TR>
    +</TABLE>
    +&nbsp;
    +<P>
    +<HR>
    +
    +
    +<!-- ======= START OF BOTTOM NAVBAR ====== -->
    +<A NAME="navbar_bottom"><!-- --></A>
    +<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
    +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
    +<TR>
    +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
    +<A NAME="navbar_bottom_firstrow"><!-- --></A>
    +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
    +  <TR ALIGN="center" VALIGN="top">
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../org/jacoco/core/data/ExecutionDataStore.html" title="class in org.jacoco.core.data"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
    +  </TR>
    +</TABLE>
    +</TD>
    +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
    +</EM>
    +</TD>
    +</TR>
    +
    +<TR>
    +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
    +&nbsp;PREV&nbsp;
    +&nbsp;NEXT</FONT></TD>
    +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
    +  <A HREF="../../../../../index.html?org/jacoco/core/data/class-use/ExecutionDataStore.html" target="_top"><B>FRAMES</B></A>  &nbsp;
    +&nbsp;<A HREF="ExecutionDataStore.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
    +&nbsp;<SCRIPT type="text/javascript">
    +  <!--
    +  if(window==top) {
    +    document.writeln('<A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>');
    +  }
    +  //-->
    +</SCRIPT>
    +<NOSCRIPT>
    +  <A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>
    +</NOSCRIPT>
    +
    +
    +</FONT></TD>
    +</TR>
    +</TABLE>
    +<A NAME="skip-navbar_bottom"></A>
    +<!-- ======== END OF BOTTOM NAVBAR ======= -->
    +
    +<HR>
    +Copyright &#169; 2009&#x2013;2024 Mountainminds GmbH & Co. KG. All rights reserved.
    +</BODY>
    +</HTML>
    diff --git a/jacoco/trunk/doc/api/org/jacoco/core/data/class-use/ExecutionDataWriter.html b/jacoco/trunk/doc/api/org/jacoco/core/data/class-use/ExecutionDataWriter.html
    new file mode 100644
    index 00000000000..5362481b892
    --- /dev/null
    +++ b/jacoco/trunk/doc/api/org/jacoco/core/data/class-use/ExecutionDataWriter.html
    @@ -0,0 +1,177 @@
    +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
    +<!--NewPage-->
    +<HTML>
    +<HEAD>
    +<!-- Generated by javadoc (build 1.5.0_22) on Wed Mar 27 16:45:42 UTC 2024 -->
    +<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
    +<TITLE>
    +Uses of Class org.jacoco.core.data.ExecutionDataWriter (JaCoCo 0.8.12.202403270442 API)
    +</TITLE>
    +
    +
    +<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../../stylesheet.css" TITLE="Style">
    +
    +<SCRIPT type="text/javascript">
    +function windowTitle()
    +{
    +    parent.document.title="Uses of Class org.jacoco.core.data.ExecutionDataWriter (JaCoCo 0.8.12.202403270442 API)";
    +}
    +</SCRIPT>
    +<NOSCRIPT>
    +</NOSCRIPT>
    +
    +</HEAD>
    +
    +<BODY BGCOLOR="white" onload="windowTitle();">
    +
    +
    +<!-- ========= START OF TOP NAVBAR ======= -->
    +<A NAME="navbar_top"><!-- --></A>
    +<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
    +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
    +<TR>
    +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
    +<A NAME="navbar_top_firstrow"><!-- --></A>
    +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
    +  <TR ALIGN="center" VALIGN="top">
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../org/jacoco/core/data/ExecutionDataWriter.html" title="class in org.jacoco.core.data"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
    +  </TR>
    +</TABLE>
    +</TD>
    +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
    +</EM>
    +</TD>
    +</TR>
    +
    +<TR>
    +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
    +&nbsp;PREV&nbsp;
    +&nbsp;NEXT</FONT></TD>
    +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
    +  <A HREF="../../../../../index.html?org/jacoco/core/data/class-use/ExecutionDataWriter.html" target="_top"><B>FRAMES</B></A>  &nbsp;
    +&nbsp;<A HREF="ExecutionDataWriter.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
    +&nbsp;<SCRIPT type="text/javascript">
    +  <!--
    +  if(window==top) {
    +    document.writeln('<A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>');
    +  }
    +  //-->
    +</SCRIPT>
    +<NOSCRIPT>
    +  <A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>
    +</NOSCRIPT>
    +
    +
    +</FONT></TD>
    +</TR>
    +</TABLE>
    +<A NAME="skip-navbar_top"></A>
    +<!-- ========= END OF TOP NAVBAR ========= -->
    +
    +<HR>
    +<CENTER>
    +<H2>
    +<B>Uses of Class<br>org.jacoco.core.data.ExecutionDataWriter</B></H2>
    +</CENTER>
    +
    +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
    +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
    +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
    +Packages that use <A HREF="../../../../../org/jacoco/core/data/ExecutionDataWriter.html" title="class in org.jacoco.core.data">ExecutionDataWriter</A></FONT></TH>
    +</TR>
    +<TR BGCOLOR="white" CLASS="TableRowColor">
    +<TD><A HREF="#org.jacoco.core.runtime"><B>org.jacoco.core.runtime</B></A></TD>
    +<TD>Runtime control and execution data collection.&nbsp;</TD>
    +</TR>
    +</TABLE>
    +&nbsp;
    +<P>
    +<A NAME="org.jacoco.core.runtime"><!-- --></A>
    +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
    +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
    +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
    +Uses of <A HREF="../../../../../org/jacoco/core/data/ExecutionDataWriter.html" title="class in org.jacoco.core.data">ExecutionDataWriter</A> in <A HREF="../../../../../org/jacoco/core/runtime/package-summary.html">org.jacoco.core.runtime</A></FONT></TH>
    +</TR>
    +</TABLE>
    +&nbsp;
    +<P>
    +
    +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
    +<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor">
    +<TH ALIGN="left" COLSPAN="2">Subclasses of <A HREF="../../../../../org/jacoco/core/data/ExecutionDataWriter.html" title="class in org.jacoco.core.data">ExecutionDataWriter</A> in <A HREF="../../../../../org/jacoco/core/runtime/package-summary.html">org.jacoco.core.runtime</A></FONT></TH>
    +</TR>
    +<TR BGCOLOR="white" CLASS="TableRowColor">
    +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
    +<CODE>&nbsp;class</CODE></FONT></TD>
    +<TD><CODE><B><A HREF="../../../../../org/jacoco/core/runtime/RemoteControlWriter.html" title="class in org.jacoco.core.runtime">RemoteControlWriter</A></B></CODE>
    +
    +<BR>
    +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<A HREF="../../../../../org/jacoco/core/data/ExecutionDataWriter.html" title="class in org.jacoco.core.data"><CODE>ExecutionDataWriter</CODE></A> with commands added for runtime remote control.</TD>
    +</TR>
    +</TABLE>
    +&nbsp;
    +<P>
    +<HR>
    +
    +
    +<!-- ======= START OF BOTTOM NAVBAR ====== -->
    +<A NAME="navbar_bottom"><!-- --></A>
    +<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
    +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
    +<TR>
    +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
    +<A NAME="navbar_bottom_firstrow"><!-- --></A>
    +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
    +  <TR ALIGN="center" VALIGN="top">
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../org/jacoco/core/data/ExecutionDataWriter.html" title="class in org.jacoco.core.data"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
    +  </TR>
    +</TABLE>
    +</TD>
    +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
    +</EM>
    +</TD>
    +</TR>
    +
    +<TR>
    +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
    +&nbsp;PREV&nbsp;
    +&nbsp;NEXT</FONT></TD>
    +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
    +  <A HREF="../../../../../index.html?org/jacoco/core/data/class-use/ExecutionDataWriter.html" target="_top"><B>FRAMES</B></A>  &nbsp;
    +&nbsp;<A HREF="ExecutionDataWriter.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
    +&nbsp;<SCRIPT type="text/javascript">
    +  <!--
    +  if(window==top) {
    +    document.writeln('<A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>');
    +  }
    +  //-->
    +</SCRIPT>
    +<NOSCRIPT>
    +  <A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>
    +</NOSCRIPT>
    +
    +
    +</FONT></TD>
    +</TR>
    +</TABLE>
    +<A NAME="skip-navbar_bottom"></A>
    +<!-- ======== END OF BOTTOM NAVBAR ======= -->
    +
    +<HR>
    +Copyright &#169; 2009&#x2013;2024 Mountainminds GmbH & Co. KG. All rights reserved.
    +</BODY>
    +</HTML>
    diff --git a/jacoco/trunk/doc/api/org/jacoco/core/data/class-use/IExecutionDataVisitor.html b/jacoco/trunk/doc/api/org/jacoco/core/data/class-use/IExecutionDataVisitor.html
    new file mode 100644
    index 00000000000..0cf1346aa71
    --- /dev/null
    +++ b/jacoco/trunk/doc/api/org/jacoco/core/data/class-use/IExecutionDataVisitor.html
    @@ -0,0 +1,257 @@
    +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
    +<!--NewPage-->
    +<HTML>
    +<HEAD>
    +<!-- Generated by javadoc (build 1.5.0_22) on Wed Mar 27 16:45:42 UTC 2024 -->
    +<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
    +<TITLE>
    +Uses of Interface org.jacoco.core.data.IExecutionDataVisitor (JaCoCo 0.8.12.202403270442 API)
    +</TITLE>
    +
    +
    +<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../../stylesheet.css" TITLE="Style">
    +
    +<SCRIPT type="text/javascript">
    +function windowTitle()
    +{
    +    parent.document.title="Uses of Interface org.jacoco.core.data.IExecutionDataVisitor (JaCoCo 0.8.12.202403270442 API)";
    +}
    +</SCRIPT>
    +<NOSCRIPT>
    +</NOSCRIPT>
    +
    +</HEAD>
    +
    +<BODY BGCOLOR="white" onload="windowTitle();">
    +
    +
    +<!-- ========= START OF TOP NAVBAR ======= -->
    +<A NAME="navbar_top"><!-- --></A>
    +<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
    +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
    +<TR>
    +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
    +<A NAME="navbar_top_firstrow"><!-- --></A>
    +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
    +  <TR ALIGN="center" VALIGN="top">
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../org/jacoco/core/data/IExecutionDataVisitor.html" title="interface in org.jacoco.core.data"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
    +  </TR>
    +</TABLE>
    +</TD>
    +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
    +</EM>
    +</TD>
    +</TR>
    +
    +<TR>
    +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
    +&nbsp;PREV&nbsp;
    +&nbsp;NEXT</FONT></TD>
    +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
    +  <A HREF="../../../../../index.html?org/jacoco/core/data/class-use/IExecutionDataVisitor.html" target="_top"><B>FRAMES</B></A>  &nbsp;
    +&nbsp;<A HREF="IExecutionDataVisitor.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
    +&nbsp;<SCRIPT type="text/javascript">
    +  <!--
    +  if(window==top) {
    +    document.writeln('<A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>');
    +  }
    +  //-->
    +</SCRIPT>
    +<NOSCRIPT>
    +  <A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>
    +</NOSCRIPT>
    +
    +
    +</FONT></TD>
    +</TR>
    +</TABLE>
    +<A NAME="skip-navbar_top"></A>
    +<!-- ========= END OF TOP NAVBAR ========= -->
    +
    +<HR>
    +<CENTER>
    +<H2>
    +<B>Uses of Interface<br>org.jacoco.core.data.IExecutionDataVisitor</B></H2>
    +</CENTER>
    +
    +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
    +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
    +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
    +Packages that use <A HREF="../../../../../org/jacoco/core/data/IExecutionDataVisitor.html" title="interface in org.jacoco.core.data">IExecutionDataVisitor</A></FONT></TH>
    +</TR>
    +<TR BGCOLOR="white" CLASS="TableRowColor">
    +<TD><A HREF="#org.jacoco.core.data"><B>org.jacoco.core.data</B></A></TD>
    +<TD>Representation and persistence of execution data and session information.&nbsp;</TD>
    +</TR>
    +<TR BGCOLOR="white" CLASS="TableRowColor">
    +<TD><A HREF="#org.jacoco.core.runtime"><B>org.jacoco.core.runtime</B></A></TD>
    +<TD>Runtime control and execution data collection.&nbsp;</TD>
    +</TR>
    +</TABLE>
    +&nbsp;
    +<P>
    +<A NAME="org.jacoco.core.data"><!-- --></A>
    +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
    +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
    +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
    +Uses of <A HREF="../../../../../org/jacoco/core/data/IExecutionDataVisitor.html" title="interface in org.jacoco.core.data">IExecutionDataVisitor</A> in <A HREF="../../../../../org/jacoco/core/data/package-summary.html">org.jacoco.core.data</A></FONT></TH>
    +</TR>
    +</TABLE>
    +&nbsp;
    +<P>
    +
    +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
    +<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor">
    +<TH ALIGN="left" COLSPAN="2">Classes in <A HREF="../../../../../org/jacoco/core/data/package-summary.html">org.jacoco.core.data</A> that implement <A HREF="../../../../../org/jacoco/core/data/IExecutionDataVisitor.html" title="interface in org.jacoco.core.data">IExecutionDataVisitor</A></FONT></TH>
    +</TR>
    +<TR BGCOLOR="white" CLASS="TableRowColor">
    +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
    +<CODE>&nbsp;class</CODE></FONT></TD>
    +<TD><CODE><B><A HREF="../../../../../org/jacoco/core/data/ExecutionDataStore.html" title="class in org.jacoco.core.data">ExecutionDataStore</A></B></CODE>
    +
    +<BR>
    +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;In-memory data store for execution data.</TD>
    +</TR>
    +<TR BGCOLOR="white" CLASS="TableRowColor">
    +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
    +<CODE>&nbsp;class</CODE></FONT></TD>
    +<TD><CODE><B><A HREF="../../../../../org/jacoco/core/data/ExecutionDataWriter.html" title="class in org.jacoco.core.data">ExecutionDataWriter</A></B></CODE>
    +
    +<BR>
    +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Serialization of execution data into binary streams.</TD>
    +</TR>
    +</TABLE>
    +&nbsp;
    +<P>
    +
    +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
    +<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor">
    +<TH ALIGN="left" COLSPAN="2">Methods in <A HREF="../../../../../org/jacoco/core/data/package-summary.html">org.jacoco.core.data</A> with parameters of type <A HREF="../../../../../org/jacoco/core/data/IExecutionDataVisitor.html" title="interface in org.jacoco.core.data">IExecutionDataVisitor</A></FONT></TH>
    +</TR>
    +<TR BGCOLOR="white" CLASS="TableRowColor">
    +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
    +<CODE>&nbsp;void</CODE></FONT></TD>
    +<TD><CODE><B>ExecutionDataStore.</B><B><A HREF="../../../../../org/jacoco/core/data/ExecutionDataStore.html#accept(org.jacoco.core.data.IExecutionDataVisitor)">accept</A></B>(<A HREF="../../../../../org/jacoco/core/data/IExecutionDataVisitor.html" title="interface in org.jacoco.core.data">IExecutionDataVisitor</A>&nbsp;visitor)</CODE>
    +
    +<BR>
    +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Writes the content of the store to the given visitor interface.</TD>
    +</TR>
    +<TR BGCOLOR="white" CLASS="TableRowColor">
    +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
    +<CODE>&nbsp;void</CODE></FONT></TD>
    +<TD><CODE><B>ExecutionDataReader.</B><B><A HREF="../../../../../org/jacoco/core/data/ExecutionDataReader.html#setExecutionDataVisitor(org.jacoco.core.data.IExecutionDataVisitor)">setExecutionDataVisitor</A></B>(<A HREF="../../../../../org/jacoco/core/data/IExecutionDataVisitor.html" title="interface in org.jacoco.core.data">IExecutionDataVisitor</A>&nbsp;visitor)</CODE>
    +
    +<BR>
    +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Sets an listener for execution data.</TD>
    +</TR>
    +</TABLE>
    +&nbsp;
    +<P>
    +<A NAME="org.jacoco.core.runtime"><!-- --></A>
    +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
    +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
    +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
    +Uses of <A HREF="../../../../../org/jacoco/core/data/IExecutionDataVisitor.html" title="interface in org.jacoco.core.data">IExecutionDataVisitor</A> in <A HREF="../../../../../org/jacoco/core/runtime/package-summary.html">org.jacoco.core.runtime</A></FONT></TH>
    +</TR>
    +</TABLE>
    +&nbsp;
    +<P>
    +
    +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
    +<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor">
    +<TH ALIGN="left" COLSPAN="2">Classes in <A HREF="../../../../../org/jacoco/core/runtime/package-summary.html">org.jacoco.core.runtime</A> that implement <A HREF="../../../../../org/jacoco/core/data/IExecutionDataVisitor.html" title="interface in org.jacoco.core.data">IExecutionDataVisitor</A></FONT></TH>
    +</TR>
    +<TR BGCOLOR="white" CLASS="TableRowColor">
    +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
    +<CODE>&nbsp;class</CODE></FONT></TD>
    +<TD><CODE><B><A HREF="../../../../../org/jacoco/core/runtime/RemoteControlWriter.html" title="class in org.jacoco.core.runtime">RemoteControlWriter</A></B></CODE>
    +
    +<BR>
    +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<A HREF="../../../../../org/jacoco/core/data/ExecutionDataWriter.html" title="class in org.jacoco.core.data"><CODE>ExecutionDataWriter</CODE></A> with commands added for runtime remote control.</TD>
    +</TR>
    +</TABLE>
    +&nbsp;
    +<P>
    +
    +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
    +<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor">
    +<TH ALIGN="left" COLSPAN="2">Methods in <A HREF="../../../../../org/jacoco/core/runtime/package-summary.html">org.jacoco.core.runtime</A> with parameters of type <A HREF="../../../../../org/jacoco/core/data/IExecutionDataVisitor.html" title="interface in org.jacoco.core.data">IExecutionDataVisitor</A></FONT></TH>
    +</TR>
    +<TR BGCOLOR="white" CLASS="TableRowColor">
    +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
    +<CODE>&nbsp;void</CODE></FONT></TD>
    +<TD><CODE><B>RuntimeData.</B><B><A HREF="../../../../../org/jacoco/core/runtime/RuntimeData.html#collect(org.jacoco.core.data.IExecutionDataVisitor, org.jacoco.core.data.ISessionInfoVisitor, boolean)">collect</A></B>(<A HREF="../../../../../org/jacoco/core/data/IExecutionDataVisitor.html" title="interface in org.jacoco.core.data">IExecutionDataVisitor</A>&nbsp;executionDataVisitor,
    +        <A HREF="../../../../../org/jacoco/core/data/ISessionInfoVisitor.html" title="interface in org.jacoco.core.data">ISessionInfoVisitor</A>&nbsp;sessionInfoVisitor,
    +        boolean&nbsp;reset)</CODE>
    +
    +<BR>
    +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Collects the current execution data and writes it to the given
    + <A HREF="../../../../../org/jacoco/core/data/IExecutionDataVisitor.html" title="interface in org.jacoco.core.data"><CODE>IExecutionDataVisitor</CODE></A> object.</TD>
    +</TR>
    +</TABLE>
    +&nbsp;
    +<P>
    +<HR>
    +
    +
    +<!-- ======= START OF BOTTOM NAVBAR ====== -->
    +<A NAME="navbar_bottom"><!-- --></A>
    +<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
    +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
    +<TR>
    +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
    +<A NAME="navbar_bottom_firstrow"><!-- --></A>
    +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
    +  <TR ALIGN="center" VALIGN="top">
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../org/jacoco/core/data/IExecutionDataVisitor.html" title="interface in org.jacoco.core.data"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
    +  </TR>
    +</TABLE>
    +</TD>
    +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
    +</EM>
    +</TD>
    +</TR>
    +
    +<TR>
    +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
    +&nbsp;PREV&nbsp;
    +&nbsp;NEXT</FONT></TD>
    +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
    +  <A HREF="../../../../../index.html?org/jacoco/core/data/class-use/IExecutionDataVisitor.html" target="_top"><B>FRAMES</B></A>  &nbsp;
    +&nbsp;<A HREF="IExecutionDataVisitor.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
    +&nbsp;<SCRIPT type="text/javascript">
    +  <!--
    +  if(window==top) {
    +    document.writeln('<A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>');
    +  }
    +  //-->
    +</SCRIPT>
    +<NOSCRIPT>
    +  <A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>
    +</NOSCRIPT>
    +
    +
    +</FONT></TD>
    +</TR>
    +</TABLE>
    +<A NAME="skip-navbar_bottom"></A>
    +<!-- ======== END OF BOTTOM NAVBAR ======= -->
    +
    +<HR>
    +Copyright &#169; 2009&#x2013;2024 Mountainminds GmbH & Co. KG. All rights reserved.
    +</BODY>
    +</HTML>
    diff --git a/jacoco/trunk/doc/api/org/jacoco/core/data/class-use/ISessionInfoVisitor.html b/jacoco/trunk/doc/api/org/jacoco/core/data/class-use/ISessionInfoVisitor.html
    new file mode 100644
    index 00000000000..b7793e9981d
    --- /dev/null
    +++ b/jacoco/trunk/doc/api/org/jacoco/core/data/class-use/ISessionInfoVisitor.html
    @@ -0,0 +1,257 @@
    +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
    +<!--NewPage-->
    +<HTML>
    +<HEAD>
    +<!-- Generated by javadoc (build 1.5.0_22) on Wed Mar 27 16:45:42 UTC 2024 -->
    +<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
    +<TITLE>
    +Uses of Interface org.jacoco.core.data.ISessionInfoVisitor (JaCoCo 0.8.12.202403270442 API)
    +</TITLE>
    +
    +
    +<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../../stylesheet.css" TITLE="Style">
    +
    +<SCRIPT type="text/javascript">
    +function windowTitle()
    +{
    +    parent.document.title="Uses of Interface org.jacoco.core.data.ISessionInfoVisitor (JaCoCo 0.8.12.202403270442 API)";
    +}
    +</SCRIPT>
    +<NOSCRIPT>
    +</NOSCRIPT>
    +
    +</HEAD>
    +
    +<BODY BGCOLOR="white" onload="windowTitle();">
    +
    +
    +<!-- ========= START OF TOP NAVBAR ======= -->
    +<A NAME="navbar_top"><!-- --></A>
    +<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
    +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
    +<TR>
    +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
    +<A NAME="navbar_top_firstrow"><!-- --></A>
    +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
    +  <TR ALIGN="center" VALIGN="top">
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../org/jacoco/core/data/ISessionInfoVisitor.html" title="interface in org.jacoco.core.data"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
    +  </TR>
    +</TABLE>
    +</TD>
    +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
    +</EM>
    +</TD>
    +</TR>
    +
    +<TR>
    +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
    +&nbsp;PREV&nbsp;
    +&nbsp;NEXT</FONT></TD>
    +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
    +  <A HREF="../../../../../index.html?org/jacoco/core/data/class-use/ISessionInfoVisitor.html" target="_top"><B>FRAMES</B></A>  &nbsp;
    +&nbsp;<A HREF="ISessionInfoVisitor.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
    +&nbsp;<SCRIPT type="text/javascript">
    +  <!--
    +  if(window==top) {
    +    document.writeln('<A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>');
    +  }
    +  //-->
    +</SCRIPT>
    +<NOSCRIPT>
    +  <A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>
    +</NOSCRIPT>
    +
    +
    +</FONT></TD>
    +</TR>
    +</TABLE>
    +<A NAME="skip-navbar_top"></A>
    +<!-- ========= END OF TOP NAVBAR ========= -->
    +
    +<HR>
    +<CENTER>
    +<H2>
    +<B>Uses of Interface<br>org.jacoco.core.data.ISessionInfoVisitor</B></H2>
    +</CENTER>
    +
    +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
    +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
    +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
    +Packages that use <A HREF="../../../../../org/jacoco/core/data/ISessionInfoVisitor.html" title="interface in org.jacoco.core.data">ISessionInfoVisitor</A></FONT></TH>
    +</TR>
    +<TR BGCOLOR="white" CLASS="TableRowColor">
    +<TD><A HREF="#org.jacoco.core.data"><B>org.jacoco.core.data</B></A></TD>
    +<TD>Representation and persistence of execution data and session information.&nbsp;</TD>
    +</TR>
    +<TR BGCOLOR="white" CLASS="TableRowColor">
    +<TD><A HREF="#org.jacoco.core.runtime"><B>org.jacoco.core.runtime</B></A></TD>
    +<TD>Runtime control and execution data collection.&nbsp;</TD>
    +</TR>
    +</TABLE>
    +&nbsp;
    +<P>
    +<A NAME="org.jacoco.core.data"><!-- --></A>
    +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
    +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
    +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
    +Uses of <A HREF="../../../../../org/jacoco/core/data/ISessionInfoVisitor.html" title="interface in org.jacoco.core.data">ISessionInfoVisitor</A> in <A HREF="../../../../../org/jacoco/core/data/package-summary.html">org.jacoco.core.data</A></FONT></TH>
    +</TR>
    +</TABLE>
    +&nbsp;
    +<P>
    +
    +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
    +<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor">
    +<TH ALIGN="left" COLSPAN="2">Classes in <A HREF="../../../../../org/jacoco/core/data/package-summary.html">org.jacoco.core.data</A> that implement <A HREF="../../../../../org/jacoco/core/data/ISessionInfoVisitor.html" title="interface in org.jacoco.core.data">ISessionInfoVisitor</A></FONT></TH>
    +</TR>
    +<TR BGCOLOR="white" CLASS="TableRowColor">
    +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
    +<CODE>&nbsp;class</CODE></FONT></TD>
    +<TD><CODE><B><A HREF="../../../../../org/jacoco/core/data/ExecutionDataWriter.html" title="class in org.jacoco.core.data">ExecutionDataWriter</A></B></CODE>
    +
    +<BR>
    +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Serialization of execution data into binary streams.</TD>
    +</TR>
    +<TR BGCOLOR="white" CLASS="TableRowColor">
    +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
    +<CODE>&nbsp;class</CODE></FONT></TD>
    +<TD><CODE><B><A HREF="../../../../../org/jacoco/core/data/SessionInfoStore.html" title="class in org.jacoco.core.data">SessionInfoStore</A></B></CODE>
    +
    +<BR>
    +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Container to collect and merge session <A HREF="../../../../../org/jacoco/core/data/SessionInfo.html" title="class in org.jacoco.core.data"><CODE>SessionInfo</CODE></A> objects.</TD>
    +</TR>
    +</TABLE>
    +&nbsp;
    +<P>
    +
    +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
    +<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor">
    +<TH ALIGN="left" COLSPAN="2">Methods in <A HREF="../../../../../org/jacoco/core/data/package-summary.html">org.jacoco.core.data</A> with parameters of type <A HREF="../../../../../org/jacoco/core/data/ISessionInfoVisitor.html" title="interface in org.jacoco.core.data">ISessionInfoVisitor</A></FONT></TH>
    +</TR>
    +<TR BGCOLOR="white" CLASS="TableRowColor">
    +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
    +<CODE>&nbsp;void</CODE></FONT></TD>
    +<TD><CODE><B>SessionInfoStore.</B><B><A HREF="../../../../../org/jacoco/core/data/SessionInfoStore.html#accept(org.jacoco.core.data.ISessionInfoVisitor)">accept</A></B>(<A HREF="../../../../../org/jacoco/core/data/ISessionInfoVisitor.html" title="interface in org.jacoco.core.data">ISessionInfoVisitor</A>&nbsp;visitor)</CODE>
    +
    +<BR>
    +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Writes all contained <A HREF="../../../../../org/jacoco/core/data/SessionInfo.html" title="class in org.jacoco.core.data"><CODE>SessionInfo</CODE></A> objects into the given visitor.</TD>
    +</TR>
    +<TR BGCOLOR="white" CLASS="TableRowColor">
    +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
    +<CODE>&nbsp;void</CODE></FONT></TD>
    +<TD><CODE><B>ExecutionDataReader.</B><B><A HREF="../../../../../org/jacoco/core/data/ExecutionDataReader.html#setSessionInfoVisitor(org.jacoco.core.data.ISessionInfoVisitor)">setSessionInfoVisitor</A></B>(<A HREF="../../../../../org/jacoco/core/data/ISessionInfoVisitor.html" title="interface in org.jacoco.core.data">ISessionInfoVisitor</A>&nbsp;visitor)</CODE>
    +
    +<BR>
    +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Sets an listener for session information.</TD>
    +</TR>
    +</TABLE>
    +&nbsp;
    +<P>
    +<A NAME="org.jacoco.core.runtime"><!-- --></A>
    +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
    +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
    +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
    +Uses of <A HREF="../../../../../org/jacoco/core/data/ISessionInfoVisitor.html" title="interface in org.jacoco.core.data">ISessionInfoVisitor</A> in <A HREF="../../../../../org/jacoco/core/runtime/package-summary.html">org.jacoco.core.runtime</A></FONT></TH>
    +</TR>
    +</TABLE>
    +&nbsp;
    +<P>
    +
    +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
    +<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor">
    +<TH ALIGN="left" COLSPAN="2">Classes in <A HREF="../../../../../org/jacoco/core/runtime/package-summary.html">org.jacoco.core.runtime</A> that implement <A HREF="../../../../../org/jacoco/core/data/ISessionInfoVisitor.html" title="interface in org.jacoco.core.data">ISessionInfoVisitor</A></FONT></TH>
    +</TR>
    +<TR BGCOLOR="white" CLASS="TableRowColor">
    +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
    +<CODE>&nbsp;class</CODE></FONT></TD>
    +<TD><CODE><B><A HREF="../../../../../org/jacoco/core/runtime/RemoteControlWriter.html" title="class in org.jacoco.core.runtime">RemoteControlWriter</A></B></CODE>
    +
    +<BR>
    +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<A HREF="../../../../../org/jacoco/core/data/ExecutionDataWriter.html" title="class in org.jacoco.core.data"><CODE>ExecutionDataWriter</CODE></A> with commands added for runtime remote control.</TD>
    +</TR>
    +</TABLE>
    +&nbsp;
    +<P>
    +
    +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
    +<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor">
    +<TH ALIGN="left" COLSPAN="2">Methods in <A HREF="../../../../../org/jacoco/core/runtime/package-summary.html">org.jacoco.core.runtime</A> with parameters of type <A HREF="../../../../../org/jacoco/core/data/ISessionInfoVisitor.html" title="interface in org.jacoco.core.data">ISessionInfoVisitor</A></FONT></TH>
    +</TR>
    +<TR BGCOLOR="white" CLASS="TableRowColor">
    +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
    +<CODE>&nbsp;void</CODE></FONT></TD>
    +<TD><CODE><B>RuntimeData.</B><B><A HREF="../../../../../org/jacoco/core/runtime/RuntimeData.html#collect(org.jacoco.core.data.IExecutionDataVisitor, org.jacoco.core.data.ISessionInfoVisitor, boolean)">collect</A></B>(<A HREF="../../../../../org/jacoco/core/data/IExecutionDataVisitor.html" title="interface in org.jacoco.core.data">IExecutionDataVisitor</A>&nbsp;executionDataVisitor,
    +        <A HREF="../../../../../org/jacoco/core/data/ISessionInfoVisitor.html" title="interface in org.jacoco.core.data">ISessionInfoVisitor</A>&nbsp;sessionInfoVisitor,
    +        boolean&nbsp;reset)</CODE>
    +
    +<BR>
    +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Collects the current execution data and writes it to the given
    + <A HREF="../../../../../org/jacoco/core/data/IExecutionDataVisitor.html" title="interface in org.jacoco.core.data"><CODE>IExecutionDataVisitor</CODE></A> object.</TD>
    +</TR>
    +</TABLE>
    +&nbsp;
    +<P>
    +<HR>
    +
    +
    +<!-- ======= START OF BOTTOM NAVBAR ====== -->
    +<A NAME="navbar_bottom"><!-- --></A>
    +<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
    +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
    +<TR>
    +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
    +<A NAME="navbar_bottom_firstrow"><!-- --></A>
    +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
    +  <TR ALIGN="center" VALIGN="top">
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../org/jacoco/core/data/ISessionInfoVisitor.html" title="interface in org.jacoco.core.data"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
    +  </TR>
    +</TABLE>
    +</TD>
    +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
    +</EM>
    +</TD>
    +</TR>
    +
    +<TR>
    +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
    +&nbsp;PREV&nbsp;
    +&nbsp;NEXT</FONT></TD>
    +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
    +  <A HREF="../../../../../index.html?org/jacoco/core/data/class-use/ISessionInfoVisitor.html" target="_top"><B>FRAMES</B></A>  &nbsp;
    +&nbsp;<A HREF="ISessionInfoVisitor.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
    +&nbsp;<SCRIPT type="text/javascript">
    +  <!--
    +  if(window==top) {
    +    document.writeln('<A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>');
    +  }
    +  //-->
    +</SCRIPT>
    +<NOSCRIPT>
    +  <A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>
    +</NOSCRIPT>
    +
    +
    +</FONT></TD>
    +</TR>
    +</TABLE>
    +<A NAME="skip-navbar_bottom"></A>
    +<!-- ======== END OF BOTTOM NAVBAR ======= -->
    +
    +<HR>
    +Copyright &#169; 2009&#x2013;2024 Mountainminds GmbH & Co. KG. All rights reserved.
    +</BODY>
    +</HTML>
    diff --git a/jacoco/trunk/doc/api/org/jacoco/core/data/class-use/IncompatibleExecDataVersionException.html b/jacoco/trunk/doc/api/org/jacoco/core/data/class-use/IncompatibleExecDataVersionException.html
    new file mode 100644
    index 00000000000..5d0197ce4d4
    --- /dev/null
    +++ b/jacoco/trunk/doc/api/org/jacoco/core/data/class-use/IncompatibleExecDataVersionException.html
    @@ -0,0 +1,177 @@
    +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
    +<!--NewPage-->
    +<HTML>
    +<HEAD>
    +<!-- Generated by javadoc (build 1.5.0_22) on Wed Mar 27 16:45:42 UTC 2024 -->
    +<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
    +<TITLE>
    +Uses of Class org.jacoco.core.data.IncompatibleExecDataVersionException (JaCoCo 0.8.12.202403270442 API)
    +</TITLE>
    +
    +
    +<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../../stylesheet.css" TITLE="Style">
    +
    +<SCRIPT type="text/javascript">
    +function windowTitle()
    +{
    +    parent.document.title="Uses of Class org.jacoco.core.data.IncompatibleExecDataVersionException (JaCoCo 0.8.12.202403270442 API)";
    +}
    +</SCRIPT>
    +<NOSCRIPT>
    +</NOSCRIPT>
    +
    +</HEAD>
    +
    +<BODY BGCOLOR="white" onload="windowTitle();">
    +
    +
    +<!-- ========= START OF TOP NAVBAR ======= -->
    +<A NAME="navbar_top"><!-- --></A>
    +<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
    +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
    +<TR>
    +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
    +<A NAME="navbar_top_firstrow"><!-- --></A>
    +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
    +  <TR ALIGN="center" VALIGN="top">
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../org/jacoco/core/data/IncompatibleExecDataVersionException.html" title="class in org.jacoco.core.data"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
    +  </TR>
    +</TABLE>
    +</TD>
    +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
    +</EM>
    +</TD>
    +</TR>
    +
    +<TR>
    +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
    +&nbsp;PREV&nbsp;
    +&nbsp;NEXT</FONT></TD>
    +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
    +  <A HREF="../../../../../index.html?org/jacoco/core/data/class-use/IncompatibleExecDataVersionException.html" target="_top"><B>FRAMES</B></A>  &nbsp;
    +&nbsp;<A HREF="IncompatibleExecDataVersionException.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
    +&nbsp;<SCRIPT type="text/javascript">
    +  <!--
    +  if(window==top) {
    +    document.writeln('<A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>');
    +  }
    +  //-->
    +</SCRIPT>
    +<NOSCRIPT>
    +  <A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>
    +</NOSCRIPT>
    +
    +
    +</FONT></TD>
    +</TR>
    +</TABLE>
    +<A NAME="skip-navbar_top"></A>
    +<!-- ========= END OF TOP NAVBAR ========= -->
    +
    +<HR>
    +<CENTER>
    +<H2>
    +<B>Uses of Class<br>org.jacoco.core.data.IncompatibleExecDataVersionException</B></H2>
    +</CENTER>
    +
    +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
    +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
    +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
    +Packages that use <A HREF="../../../../../org/jacoco/core/data/IncompatibleExecDataVersionException.html" title="class in org.jacoco.core.data">IncompatibleExecDataVersionException</A></FONT></TH>
    +</TR>
    +<TR BGCOLOR="white" CLASS="TableRowColor">
    +<TD><A HREF="#org.jacoco.core.data"><B>org.jacoco.core.data</B></A></TD>
    +<TD>Representation and persistence of execution data and session information.&nbsp;</TD>
    +</TR>
    +</TABLE>
    +&nbsp;
    +<P>
    +<A NAME="org.jacoco.core.data"><!-- --></A>
    +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
    +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
    +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
    +Uses of <A HREF="../../../../../org/jacoco/core/data/IncompatibleExecDataVersionException.html" title="class in org.jacoco.core.data">IncompatibleExecDataVersionException</A> in <A HREF="../../../../../org/jacoco/core/data/package-summary.html">org.jacoco.core.data</A></FONT></TH>
    +</TR>
    +</TABLE>
    +&nbsp;
    +<P>
    +
    +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
    +<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor">
    +<TH ALIGN="left" COLSPAN="2">Methods in <A HREF="../../../../../org/jacoco/core/data/package-summary.html">org.jacoco.core.data</A> that throw <A HREF="../../../../../org/jacoco/core/data/IncompatibleExecDataVersionException.html" title="class in org.jacoco.core.data">IncompatibleExecDataVersionException</A></FONT></TH>
    +</TR>
    +<TR BGCOLOR="white" CLASS="TableRowColor">
    +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
    +<CODE>&nbsp;boolean</CODE></FONT></TD>
    +<TD><CODE><B>ExecutionDataReader.</B><B><A HREF="../../../../../org/jacoco/core/data/ExecutionDataReader.html#read()">read</A></B>()</CODE>
    +
    +<BR>
    +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Reads all data and reports it to the corresponding visitors.</TD>
    +</TR>
    +</TABLE>
    +&nbsp;
    +<P>
    +<HR>
    +
    +
    +<!-- ======= START OF BOTTOM NAVBAR ====== -->
    +<A NAME="navbar_bottom"><!-- --></A>
    +<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
    +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
    +<TR>
    +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
    +<A NAME="navbar_bottom_firstrow"><!-- --></A>
    +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
    +  <TR ALIGN="center" VALIGN="top">
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../org/jacoco/core/data/IncompatibleExecDataVersionException.html" title="class in org.jacoco.core.data"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
    +  </TR>
    +</TABLE>
    +</TD>
    +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
    +</EM>
    +</TD>
    +</TR>
    +
    +<TR>
    +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
    +&nbsp;PREV&nbsp;
    +&nbsp;NEXT</FONT></TD>
    +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
    +  <A HREF="../../../../../index.html?org/jacoco/core/data/class-use/IncompatibleExecDataVersionException.html" target="_top"><B>FRAMES</B></A>  &nbsp;
    +&nbsp;<A HREF="IncompatibleExecDataVersionException.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
    +&nbsp;<SCRIPT type="text/javascript">
    +  <!--
    +  if(window==top) {
    +    document.writeln('<A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>');
    +  }
    +  //-->
    +</SCRIPT>
    +<NOSCRIPT>
    +  <A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>
    +</NOSCRIPT>
    +
    +
    +</FONT></TD>
    +</TR>
    +</TABLE>
    +<A NAME="skip-navbar_bottom"></A>
    +<!-- ======== END OF BOTTOM NAVBAR ======= -->
    +
    +<HR>
    +Copyright &#169; 2009&#x2013;2024 Mountainminds GmbH & Co. KG. All rights reserved.
    +</BODY>
    +</HTML>
    diff --git a/jacoco/trunk/doc/api/org/jacoco/core/data/class-use/SessionInfo.html b/jacoco/trunk/doc/api/org/jacoco/core/data/class-use/SessionInfo.html
    new file mode 100644
    index 00000000000..62676b6c5e6
    --- /dev/null
    +++ b/jacoco/trunk/doc/api/org/jacoco/core/data/class-use/SessionInfo.html
    @@ -0,0 +1,273 @@
    +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
    +<!--NewPage-->
    +<HTML>
    +<HEAD>
    +<!-- Generated by javadoc (build 1.5.0_22) on Wed Mar 27 16:45:42 UTC 2024 -->
    +<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
    +<TITLE>
    +Uses of Class org.jacoco.core.data.SessionInfo (JaCoCo 0.8.12.202403270442 API)
    +</TITLE>
    +
    +
    +<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../../stylesheet.css" TITLE="Style">
    +
    +<SCRIPT type="text/javascript">
    +function windowTitle()
    +{
    +    parent.document.title="Uses of Class org.jacoco.core.data.SessionInfo (JaCoCo 0.8.12.202403270442 API)";
    +}
    +</SCRIPT>
    +<NOSCRIPT>
    +</NOSCRIPT>
    +
    +</HEAD>
    +
    +<BODY BGCOLOR="white" onload="windowTitle();">
    +
    +
    +<!-- ========= START OF TOP NAVBAR ======= -->
    +<A NAME="navbar_top"><!-- --></A>
    +<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
    +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
    +<TR>
    +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
    +<A NAME="navbar_top_firstrow"><!-- --></A>
    +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
    +  <TR ALIGN="center" VALIGN="top">
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../org/jacoco/core/data/SessionInfo.html" title="class in org.jacoco.core.data"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
    +  </TR>
    +</TABLE>
    +</TD>
    +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
    +</EM>
    +</TD>
    +</TR>
    +
    +<TR>
    +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
    +&nbsp;PREV&nbsp;
    +&nbsp;NEXT</FONT></TD>
    +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
    +  <A HREF="../../../../../index.html?org/jacoco/core/data/class-use/SessionInfo.html" target="_top"><B>FRAMES</B></A>  &nbsp;
    +&nbsp;<A HREF="SessionInfo.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
    +&nbsp;<SCRIPT type="text/javascript">
    +  <!--
    +  if(window==top) {
    +    document.writeln('<A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>');
    +  }
    +  //-->
    +</SCRIPT>
    +<NOSCRIPT>
    +  <A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>
    +</NOSCRIPT>
    +
    +
    +</FONT></TD>
    +</TR>
    +</TABLE>
    +<A NAME="skip-navbar_top"></A>
    +<!-- ========= END OF TOP NAVBAR ========= -->
    +
    +<HR>
    +<CENTER>
    +<H2>
    +<B>Uses of Class<br>org.jacoco.core.data.SessionInfo</B></H2>
    +</CENTER>
    +
    +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
    +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
    +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
    +Packages that use <A HREF="../../../../../org/jacoco/core/data/SessionInfo.html" title="class in org.jacoco.core.data">SessionInfo</A></FONT></TH>
    +</TR>
    +<TR BGCOLOR="white" CLASS="TableRowColor">
    +<TD><A HREF="#org.jacoco.core.data"><B>org.jacoco.core.data</B></A></TD>
    +<TD>Representation and persistence of execution data and session information.&nbsp;</TD>
    +</TR>
    +<TR BGCOLOR="white" CLASS="TableRowColor">
    +<TD><A HREF="#org.jacoco.report"><B>org.jacoco.report</B></A></TD>
    +<TD>Common interfaces and utilities for report generation.&nbsp;</TD>
    +</TR>
    +</TABLE>
    +&nbsp;
    +<P>
    +<A NAME="org.jacoco.core.data"><!-- --></A>
    +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
    +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
    +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
    +Uses of <A HREF="../../../../../org/jacoco/core/data/SessionInfo.html" title="class in org.jacoco.core.data">SessionInfo</A> in <A HREF="../../../../../org/jacoco/core/data/package-summary.html">org.jacoco.core.data</A></FONT></TH>
    +</TR>
    +</TABLE>
    +&nbsp;
    +<P>
    +
    +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
    +<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor">
    +<TH ALIGN="left" COLSPAN="2">Methods in <A HREF="../../../../../org/jacoco/core/data/package-summary.html">org.jacoco.core.data</A> that return <A HREF="../../../../../org/jacoco/core/data/SessionInfo.html" title="class in org.jacoco.core.data">SessionInfo</A></FONT></TH>
    +</TR>
    +<TR BGCOLOR="white" CLASS="TableRowColor">
    +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
    +<CODE>&nbsp;<A HREF="../../../../../org/jacoco/core/data/SessionInfo.html" title="class in org.jacoco.core.data">SessionInfo</A></CODE></FONT></TD>
    +<TD><CODE><B>SessionInfoStore.</B><B><A HREF="../../../../../org/jacoco/core/data/SessionInfoStore.html#getMerged(java.lang.String)">getMerged</A></B>(<A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A>&nbsp;id)</CODE>
    +
    +<BR>
    +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns a new session info with the given id that contains a merged
    + version from all contained version.</TD>
    +</TR>
    +</TABLE>
    +&nbsp;
    +<P>
    +
    +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
    +<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor">
    +<TH ALIGN="left" COLSPAN="2">Methods in <A HREF="../../../../../org/jacoco/core/data/package-summary.html">org.jacoco.core.data</A> that return types with arguments of type <A HREF="../../../../../org/jacoco/core/data/SessionInfo.html" title="class in org.jacoco.core.data">SessionInfo</A></FONT></TH>
    +</TR>
    +<TR BGCOLOR="white" CLASS="TableRowColor">
    +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
    +<CODE>&nbsp;<A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/util/List.html" title="class or interface in java.util">List</A>&lt;<A HREF="../../../../../org/jacoco/core/data/SessionInfo.html" title="class in org.jacoco.core.data">SessionInfo</A>&gt;</CODE></FONT></TD>
    +<TD><CODE><B>SessionInfoStore.</B><B><A HREF="../../../../../org/jacoco/core/data/SessionInfoStore.html#getInfos()">getInfos</A></B>()</CODE>
    +
    +<BR>
    +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns all <A HREF="../../../../../org/jacoco/core/data/SessionInfo.html" title="class in org.jacoco.core.data"><CODE>SessionInfo</CODE></A> objects currently contained in the store.</TD>
    +</TR>
    +</TABLE>
    +&nbsp;
    +<P>
    +
    +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
    +<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor">
    +<TH ALIGN="left" COLSPAN="2">Methods in <A HREF="../../../../../org/jacoco/core/data/package-summary.html">org.jacoco.core.data</A> with parameters of type <A HREF="../../../../../org/jacoco/core/data/SessionInfo.html" title="class in org.jacoco.core.data">SessionInfo</A></FONT></TH>
    +</TR>
    +<TR BGCOLOR="white" CLASS="TableRowColor">
    +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
    +<CODE>&nbsp;int</CODE></FONT></TD>
    +<TD><CODE><B>SessionInfo.</B><B><A HREF="../../../../../org/jacoco/core/data/SessionInfo.html#compareTo(org.jacoco.core.data.SessionInfo)">compareTo</A></B>(<A HREF="../../../../../org/jacoco/core/data/SessionInfo.html" title="class in org.jacoco.core.data">SessionInfo</A>&nbsp;other)</CODE>
    +
    +<BR>
    +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
    +</TR>
    +<TR BGCOLOR="white" CLASS="TableRowColor">
    +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
    +<CODE>&nbsp;void</CODE></FONT></TD>
    +<TD><CODE><B>ISessionInfoVisitor.</B><B><A HREF="../../../../../org/jacoco/core/data/ISessionInfoVisitor.html#visitSessionInfo(org.jacoco.core.data.SessionInfo)">visitSessionInfo</A></B>(<A HREF="../../../../../org/jacoco/core/data/SessionInfo.html" title="class in org.jacoco.core.data">SessionInfo</A>&nbsp;info)</CODE>
    +
    +<BR>
    +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Provides session information for the subsequent execution data calls.</TD>
    +</TR>
    +<TR BGCOLOR="white" CLASS="TableRowColor">
    +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
    +<CODE>&nbsp;void</CODE></FONT></TD>
    +<TD><CODE><B>SessionInfoStore.</B><B><A HREF="../../../../../org/jacoco/core/data/SessionInfoStore.html#visitSessionInfo(org.jacoco.core.data.SessionInfo)">visitSessionInfo</A></B>(<A HREF="../../../../../org/jacoco/core/data/SessionInfo.html" title="class in org.jacoco.core.data">SessionInfo</A>&nbsp;info)</CODE>
    +
    +<BR>
    +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
    +</TR>
    +<TR BGCOLOR="white" CLASS="TableRowColor">
    +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
    +<CODE>&nbsp;void</CODE></FONT></TD>
    +<TD><CODE><B>ExecutionDataWriter.</B><B><A HREF="../../../../../org/jacoco/core/data/ExecutionDataWriter.html#visitSessionInfo(org.jacoco.core.data.SessionInfo)">visitSessionInfo</A></B>(<A HREF="../../../../../org/jacoco/core/data/SessionInfo.html" title="class in org.jacoco.core.data">SessionInfo</A>&nbsp;info)</CODE>
    +
    +<BR>
    +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
    +</TR>
    +</TABLE>
    +&nbsp;
    +<P>
    +<A NAME="org.jacoco.report"><!-- --></A>
    +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
    +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
    +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
    +Uses of <A HREF="../../../../../org/jacoco/core/data/SessionInfo.html" title="class in org.jacoco.core.data">SessionInfo</A> in <A HREF="../../../../../org/jacoco/report/package-summary.html">org.jacoco.report</A></FONT></TH>
    +</TR>
    +</TABLE>
    +&nbsp;
    +<P>
    +
    +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
    +<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor">
    +<TH ALIGN="left" COLSPAN="2">Method parameters in <A HREF="../../../../../org/jacoco/report/package-summary.html">org.jacoco.report</A> with type arguments of type <A HREF="../../../../../org/jacoco/core/data/SessionInfo.html" title="class in org.jacoco.core.data">SessionInfo</A></FONT></TH>
    +</TR>
    +<TR BGCOLOR="white" CLASS="TableRowColor">
    +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
    +<CODE>&nbsp;void</CODE></FONT></TD>
    +<TD><CODE><B>IReportVisitor.</B><B><A HREF="../../../../../org/jacoco/report/IReportVisitor.html#visitInfo(java.util.List, java.util.Collection)">visitInfo</A></B>(<A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/util/List.html" title="class or interface in java.util">List</A>&lt;<A HREF="../../../../../org/jacoco/core/data/SessionInfo.html" title="class in org.jacoco.core.data">SessionInfo</A>&gt;&nbsp;sessionInfos,
    +          <A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/util/Collection.html" title="class or interface in java.util">Collection</A>&lt;<A HREF="../../../../../org/jacoco/core/data/ExecutionData.html" title="class in org.jacoco.core.data">ExecutionData</A>&gt;&nbsp;executionData)</CODE>
    +
    +<BR>
    +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Initializes the report with global information.</TD>
    +</TR>
    +<TR BGCOLOR="white" CLASS="TableRowColor">
    +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
    +<CODE>&nbsp;void</CODE></FONT></TD>
    +<TD><CODE><B>MultiReportVisitor.</B><B><A HREF="../../../../../org/jacoco/report/MultiReportVisitor.html#visitInfo(java.util.List, java.util.Collection)">visitInfo</A></B>(<A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/util/List.html" title="class or interface in java.util">List</A>&lt;<A HREF="../../../../../org/jacoco/core/data/SessionInfo.html" title="class in org.jacoco.core.data">SessionInfo</A>&gt;&nbsp;sessionInfos,
    +          <A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/util/Collection.html" title="class or interface in java.util">Collection</A>&lt;<A HREF="../../../../../org/jacoco/core/data/ExecutionData.html" title="class in org.jacoco.core.data">ExecutionData</A>&gt;&nbsp;executionData)</CODE>
    +
    +<BR>
    +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
    +</TR>
    +</TABLE>
    +&nbsp;
    +<P>
    +<HR>
    +
    +
    +<!-- ======= START OF BOTTOM NAVBAR ====== -->
    +<A NAME="navbar_bottom"><!-- --></A>
    +<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
    +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
    +<TR>
    +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
    +<A NAME="navbar_bottom_firstrow"><!-- --></A>
    +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
    +  <TR ALIGN="center" VALIGN="top">
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../org/jacoco/core/data/SessionInfo.html" title="class in org.jacoco.core.data"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
    +  </TR>
    +</TABLE>
    +</TD>
    +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
    +</EM>
    +</TD>
    +</TR>
    +
    +<TR>
    +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
    +&nbsp;PREV&nbsp;
    +&nbsp;NEXT</FONT></TD>
    +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
    +  <A HREF="../../../../../index.html?org/jacoco/core/data/class-use/SessionInfo.html" target="_top"><B>FRAMES</B></A>  &nbsp;
    +&nbsp;<A HREF="SessionInfo.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
    +&nbsp;<SCRIPT type="text/javascript">
    +  <!--
    +  if(window==top) {
    +    document.writeln('<A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>');
    +  }
    +  //-->
    +</SCRIPT>
    +<NOSCRIPT>
    +  <A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>
    +</NOSCRIPT>
    +
    +
    +</FONT></TD>
    +</TR>
    +</TABLE>
    +<A NAME="skip-navbar_bottom"></A>
    +<!-- ======== END OF BOTTOM NAVBAR ======= -->
    +
    +<HR>
    +Copyright &#169; 2009&#x2013;2024 Mountainminds GmbH & Co. KG. All rights reserved.
    +</BODY>
    +</HTML>
    diff --git a/jacoco/trunk/doc/api/org/jacoco/core/data/class-use/SessionInfoStore.html b/jacoco/trunk/doc/api/org/jacoco/core/data/class-use/SessionInfoStore.html
    new file mode 100644
    index 00000000000..c09eaef7395
    --- /dev/null
    +++ b/jacoco/trunk/doc/api/org/jacoco/core/data/class-use/SessionInfoStore.html
    @@ -0,0 +1,177 @@
    +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
    +<!--NewPage-->
    +<HTML>
    +<HEAD>
    +<!-- Generated by javadoc (build 1.5.0_22) on Wed Mar 27 16:45:42 UTC 2024 -->
    +<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
    +<TITLE>
    +Uses of Class org.jacoco.core.data.SessionInfoStore (JaCoCo 0.8.12.202403270442 API)
    +</TITLE>
    +
    +
    +<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../../stylesheet.css" TITLE="Style">
    +
    +<SCRIPT type="text/javascript">
    +function windowTitle()
    +{
    +    parent.document.title="Uses of Class org.jacoco.core.data.SessionInfoStore (JaCoCo 0.8.12.202403270442 API)";
    +}
    +</SCRIPT>
    +<NOSCRIPT>
    +</NOSCRIPT>
    +
    +</HEAD>
    +
    +<BODY BGCOLOR="white" onload="windowTitle();">
    +
    +
    +<!-- ========= START OF TOP NAVBAR ======= -->
    +<A NAME="navbar_top"><!-- --></A>
    +<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
    +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
    +<TR>
    +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
    +<A NAME="navbar_top_firstrow"><!-- --></A>
    +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
    +  <TR ALIGN="center" VALIGN="top">
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../org/jacoco/core/data/SessionInfoStore.html" title="class in org.jacoco.core.data"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
    +  </TR>
    +</TABLE>
    +</TD>
    +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
    +</EM>
    +</TD>
    +</TR>
    +
    +<TR>
    +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
    +&nbsp;PREV&nbsp;
    +&nbsp;NEXT</FONT></TD>
    +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
    +  <A HREF="../../../../../index.html?org/jacoco/core/data/class-use/SessionInfoStore.html" target="_top"><B>FRAMES</B></A>  &nbsp;
    +&nbsp;<A HREF="SessionInfoStore.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
    +&nbsp;<SCRIPT type="text/javascript">
    +  <!--
    +  if(window==top) {
    +    document.writeln('<A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>');
    +  }
    +  //-->
    +</SCRIPT>
    +<NOSCRIPT>
    +  <A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>
    +</NOSCRIPT>
    +
    +
    +</FONT></TD>
    +</TR>
    +</TABLE>
    +<A NAME="skip-navbar_top"></A>
    +<!-- ========= END OF TOP NAVBAR ========= -->
    +
    +<HR>
    +<CENTER>
    +<H2>
    +<B>Uses of Class<br>org.jacoco.core.data.SessionInfoStore</B></H2>
    +</CENTER>
    +
    +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
    +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
    +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
    +Packages that use <A HREF="../../../../../org/jacoco/core/data/SessionInfoStore.html" title="class in org.jacoco.core.data">SessionInfoStore</A></FONT></TH>
    +</TR>
    +<TR BGCOLOR="white" CLASS="TableRowColor">
    +<TD><A HREF="#org.jacoco.core.tools"><B>org.jacoco.core.tools</B></A></TD>
    +<TD>Collection of tools build on top of the JaCoCo core APIs.&nbsp;</TD>
    +</TR>
    +</TABLE>
    +&nbsp;
    +<P>
    +<A NAME="org.jacoco.core.tools"><!-- --></A>
    +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
    +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
    +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
    +Uses of <A HREF="../../../../../org/jacoco/core/data/SessionInfoStore.html" title="class in org.jacoco.core.data">SessionInfoStore</A> in <A HREF="../../../../../org/jacoco/core/tools/package-summary.html">org.jacoco.core.tools</A></FONT></TH>
    +</TR>
    +</TABLE>
    +&nbsp;
    +<P>
    +
    +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
    +<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor">
    +<TH ALIGN="left" COLSPAN="2">Methods in <A HREF="../../../../../org/jacoco/core/tools/package-summary.html">org.jacoco.core.tools</A> that return <A HREF="../../../../../org/jacoco/core/data/SessionInfoStore.html" title="class in org.jacoco.core.data">SessionInfoStore</A></FONT></TH>
    +</TR>
    +<TR BGCOLOR="white" CLASS="TableRowColor">
    +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
    +<CODE>&nbsp;<A HREF="../../../../../org/jacoco/core/data/SessionInfoStore.html" title="class in org.jacoco.core.data">SessionInfoStore</A></CODE></FONT></TD>
    +<TD><CODE><B>ExecFileLoader.</B><B><A HREF="../../../../../org/jacoco/core/tools/ExecFileLoader.html#getSessionInfoStore()">getSessionInfoStore</A></B>()</CODE>
    +
    +<BR>
    +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns the session info store with all loaded sessions.</TD>
    +</TR>
    +</TABLE>
    +&nbsp;
    +<P>
    +<HR>
    +
    +
    +<!-- ======= START OF BOTTOM NAVBAR ====== -->
    +<A NAME="navbar_bottom"><!-- --></A>
    +<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
    +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
    +<TR>
    +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
    +<A NAME="navbar_bottom_firstrow"><!-- --></A>
    +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
    +  <TR ALIGN="center" VALIGN="top">
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../org/jacoco/core/data/SessionInfoStore.html" title="class in org.jacoco.core.data"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
    +  </TR>
    +</TABLE>
    +</TD>
    +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
    +</EM>
    +</TD>
    +</TR>
    +
    +<TR>
    +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
    +&nbsp;PREV&nbsp;
    +&nbsp;NEXT</FONT></TD>
    +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
    +  <A HREF="../../../../../index.html?org/jacoco/core/data/class-use/SessionInfoStore.html" target="_top"><B>FRAMES</B></A>  &nbsp;
    +&nbsp;<A HREF="SessionInfoStore.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
    +&nbsp;<SCRIPT type="text/javascript">
    +  <!--
    +  if(window==top) {
    +    document.writeln('<A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>');
    +  }
    +  //-->
    +</SCRIPT>
    +<NOSCRIPT>
    +  <A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>
    +</NOSCRIPT>
    +
    +
    +</FONT></TD>
    +</TR>
    +</TABLE>
    +<A NAME="skip-navbar_bottom"></A>
    +<!-- ======== END OF BOTTOM NAVBAR ======= -->
    +
    +<HR>
    +Copyright &#169; 2009&#x2013;2024 Mountainminds GmbH & Co. KG. All rights reserved.
    +</BODY>
    +</HTML>
    diff --git a/jacoco/trunk/doc/api/org/jacoco/core/data/package-frame.html b/jacoco/trunk/doc/api/org/jacoco/core/data/package-frame.html
    new file mode 100644
    index 00000000000..43db7792a35
    --- /dev/null
    +++ b/jacoco/trunk/doc/api/org/jacoco/core/data/package-frame.html
    @@ -0,0 +1,67 @@
    +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
    +<!--NewPage-->
    +<HTML>
    +<HEAD>
    +<!-- Generated by javadoc (build 1.5.0_22) on Wed Mar 27 16:45:42 UTC 2024 -->
    +<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
    +<TITLE>
    +org.jacoco.core.data (JaCoCo 0.8.12.202403270442 API)
    +</TITLE>
    +
    +<META NAME="keywords" CONTENT="org.jacoco.core.data package">
    +
    +<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../stylesheet.css" TITLE="Style">
    +
    +
    +</HEAD>
    +
    +<BODY BGCOLOR="white">
    +<FONT size="+1" CLASS="FrameTitleFont">
    +<A HREF="../../../../org/jacoco/core/data/package-summary.html" target="classFrame">org.jacoco.core.data</A></FONT>
    +<TABLE BORDER="0" WIDTH="100%" SUMMARY="">
    +<TR>
    +<TD NOWRAP><FONT size="+1" CLASS="FrameHeadingFont">
    +Interfaces</FONT>&nbsp;
    +<FONT CLASS="FrameItemFont">
    +<BR>
    +<A HREF="IExecutionDataVisitor.html" title="interface in org.jacoco.core.data" target="classFrame"><I>IExecutionDataVisitor</I></A>
    +<BR>
    +<A HREF="ISessionInfoVisitor.html" title="interface in org.jacoco.core.data" target="classFrame"><I>ISessionInfoVisitor</I></A></FONT></TD>
    +</TR>
    +</TABLE>
    +
    +
    +<TABLE BORDER="0" WIDTH="100%" SUMMARY="">
    +<TR>
    +<TD NOWRAP><FONT size="+1" CLASS="FrameHeadingFont">
    +Classes</FONT>&nbsp;
    +<FONT CLASS="FrameItemFont">
    +<BR>
    +<A HREF="ExecutionData.html" title="class in org.jacoco.core.data" target="classFrame">ExecutionData</A>
    +<BR>
    +<A HREF="ExecutionDataReader.html" title="class in org.jacoco.core.data" target="classFrame">ExecutionDataReader</A>
    +<BR>
    +<A HREF="ExecutionDataStore.html" title="class in org.jacoco.core.data" target="classFrame">ExecutionDataStore</A>
    +<BR>
    +<A HREF="ExecutionDataWriter.html" title="class in org.jacoco.core.data" target="classFrame">ExecutionDataWriter</A>
    +<BR>
    +<A HREF="SessionInfo.html" title="class in org.jacoco.core.data" target="classFrame">SessionInfo</A>
    +<BR>
    +<A HREF="SessionInfoStore.html" title="class in org.jacoco.core.data" target="classFrame">SessionInfoStore</A></FONT></TD>
    +</TR>
    +</TABLE>
    +
    +
    +<TABLE BORDER="0" WIDTH="100%" SUMMARY="">
    +<TR>
    +<TD NOWRAP><FONT size="+1" CLASS="FrameHeadingFont">
    +Exceptions</FONT>&nbsp;
    +<FONT CLASS="FrameItemFont">
    +<BR>
    +<A HREF="IncompatibleExecDataVersionException.html" title="class in org.jacoco.core.data" target="classFrame">IncompatibleExecDataVersionException</A></FONT></TD>
    +</TR>
    +</TABLE>
    +
    +
    +</BODY>
    +</HTML>
    diff --git a/jacoco/trunk/doc/api/org/jacoco/core/data/package-summary.html b/jacoco/trunk/doc/api/org/jacoco/core/data/package-summary.html
    new file mode 100644
    index 00000000000..6577d1c7ee4
    --- /dev/null
    +++ b/jacoco/trunk/doc/api/org/jacoco/core/data/package-summary.html
    @@ -0,0 +1,222 @@
    +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
    +<!--NewPage-->
    +<HTML>
    +<HEAD>
    +<!-- Generated by javadoc (build 1.5.0_22) on Wed Mar 27 16:45:42 UTC 2024 -->
    +<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
    +<TITLE>
    +org.jacoco.core.data (JaCoCo 0.8.12.202403270442 API)
    +</TITLE>
    +
    +<META NAME="keywords" CONTENT="org.jacoco.core.data package">
    +
    +<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../stylesheet.css" TITLE="Style">
    +
    +<SCRIPT type="text/javascript">
    +function windowTitle()
    +{
    +    parent.document.title="org.jacoco.core.data (JaCoCo 0.8.12.202403270442 API)";
    +}
    +</SCRIPT>
    +<NOSCRIPT>
    +</NOSCRIPT>
    +
    +</HEAD>
    +
    +<BODY BGCOLOR="white" onload="windowTitle();">
    +
    +
    +<!-- ========= START OF TOP NAVBAR ======= -->
    +<A NAME="navbar_top"><!-- --></A>
    +<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
    +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
    +<TR>
    +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
    +<A NAME="navbar_top_firstrow"><!-- --></A>
    +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
    +  <TR ALIGN="center" VALIGN="top">
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Package</B></FONT>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <FONT CLASS="NavBarFont1">Class</FONT>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-use.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
    +  </TR>
    +</TABLE>
    +</TD>
    +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
    +</EM>
    +</TD>
    +</TR>
    +
    +<TR>
    +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
    +&nbsp;<A HREF="../../../../org/jacoco/core/analysis/package-summary.html"><B>PREV PACKAGE</B></A>&nbsp;
    +&nbsp;<A HREF="../../../../org/jacoco/core/instr/package-summary.html"><B>NEXT PACKAGE</B></A></FONT></TD>
    +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
    +  <A HREF="../../../../index.html?org/jacoco/core/data/package-summary.html" target="_top"><B>FRAMES</B></A>  &nbsp;
    +&nbsp;<A HREF="package-summary.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
    +&nbsp;<SCRIPT type="text/javascript">
    +  <!--
    +  if(window==top) {
    +    document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>');
    +  }
    +  //-->
    +</SCRIPT>
    +<NOSCRIPT>
    +  <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>
    +</NOSCRIPT>
    +
    +
    +</FONT></TD>
    +</TR>
    +</TABLE>
    +<A NAME="skip-navbar_top"></A>
    +<!-- ========= END OF TOP NAVBAR ========= -->
    +
    +<HR>
    +<H2>
    +Package org.jacoco.core.data
    +</H2>
    +Representation and persistence of execution data and session information.
    +<P>
    +<B>See:</B>
    +<BR>
    +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<A HREF="#package_description"><B>Description</B></A>
    +<P>
    +
    +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
    +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
    +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
    +<B>Interface Summary</B></FONT></TH>
    +</TR>
    +<TR BGCOLOR="white" CLASS="TableRowColor">
    +<TD WIDTH="15%"><B><A HREF="../../../../org/jacoco/core/data/IExecutionDataVisitor.html" title="interface in org.jacoco.core.data">IExecutionDataVisitor</A></B></TD>
    +<TD>Interface for data output of collected execution data.</TD>
    +</TR>
    +<TR BGCOLOR="white" CLASS="TableRowColor">
    +<TD WIDTH="15%"><B><A HREF="../../../../org/jacoco/core/data/ISessionInfoVisitor.html" title="interface in org.jacoco.core.data">ISessionInfoVisitor</A></B></TD>
    +<TD>Interface for data output of collected session information.</TD>
    +</TR>
    +</TABLE>
    +&nbsp;
    +
    +<P>
    +
    +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
    +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
    +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
    +<B>Class Summary</B></FONT></TH>
    +</TR>
    +<TR BGCOLOR="white" CLASS="TableRowColor">
    +<TD WIDTH="15%"><B><A HREF="../../../../org/jacoco/core/data/ExecutionData.html" title="class in org.jacoco.core.data">ExecutionData</A></B></TD>
    +<TD>Execution data for a single Java class.</TD>
    +</TR>
    +<TR BGCOLOR="white" CLASS="TableRowColor">
    +<TD WIDTH="15%"><B><A HREF="../../../../org/jacoco/core/data/ExecutionDataReader.html" title="class in org.jacoco.core.data">ExecutionDataReader</A></B></TD>
    +<TD>Deserialization of execution data from binary streams.</TD>
    +</TR>
    +<TR BGCOLOR="white" CLASS="TableRowColor">
    +<TD WIDTH="15%"><B><A HREF="../../../../org/jacoco/core/data/ExecutionDataStore.html" title="class in org.jacoco.core.data">ExecutionDataStore</A></B></TD>
    +<TD>In-memory data store for execution data.</TD>
    +</TR>
    +<TR BGCOLOR="white" CLASS="TableRowColor">
    +<TD WIDTH="15%"><B><A HREF="../../../../org/jacoco/core/data/ExecutionDataWriter.html" title="class in org.jacoco.core.data">ExecutionDataWriter</A></B></TD>
    +<TD>Serialization of execution data into binary streams.</TD>
    +</TR>
    +<TR BGCOLOR="white" CLASS="TableRowColor">
    +<TD WIDTH="15%"><B><A HREF="../../../../org/jacoco/core/data/SessionInfo.html" title="class in org.jacoco.core.data">SessionInfo</A></B></TD>
    +<TD>Data object describing a session which was the source of execution data.</TD>
    +</TR>
    +<TR BGCOLOR="white" CLASS="TableRowColor">
    +<TD WIDTH="15%"><B><A HREF="../../../../org/jacoco/core/data/SessionInfoStore.html" title="class in org.jacoco.core.data">SessionInfoStore</A></B></TD>
    +<TD>Container to collect and merge session <A HREF="../../../../org/jacoco/core/data/SessionInfo.html" title="class in org.jacoco.core.data"><CODE>SessionInfo</CODE></A> objects.</TD>
    +</TR>
    +</TABLE>
    +&nbsp;
    +
    +<P>
    +
    +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
    +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
    +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
    +<B>Exception Summary</B></FONT></TH>
    +</TR>
    +<TR BGCOLOR="white" CLASS="TableRowColor">
    +<TD WIDTH="15%"><B><A HREF="../../../../org/jacoco/core/data/IncompatibleExecDataVersionException.html" title="class in org.jacoco.core.data">IncompatibleExecDataVersionException</A></B></TD>
    +<TD>Signals that execution data in an incompatible version was tried to read.</TD>
    +</TR>
    +</TABLE>
    +&nbsp;
    +
    +<P>
    +<A NAME="package_description"><!-- --></A><H2>
    +Package org.jacoco.core.data Description
    +</H2>
    +
    +<P>
    +Representation and persistence of execution data and session information.
    +<P>
    +
    +<P>
    +<DL>
    +</DL>
    +<HR>
    +
    +
    +<!-- ======= START OF BOTTOM NAVBAR ====== -->
    +<A NAME="navbar_bottom"><!-- --></A>
    +<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
    +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
    +<TR>
    +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
    +<A NAME="navbar_bottom_firstrow"><!-- --></A>
    +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
    +  <TR ALIGN="center" VALIGN="top">
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Package</B></FONT>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <FONT CLASS="NavBarFont1">Class</FONT>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-use.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
    +  </TR>
    +</TABLE>
    +</TD>
    +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
    +</EM>
    +</TD>
    +</TR>
    +
    +<TR>
    +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
    +&nbsp;<A HREF="../../../../org/jacoco/core/analysis/package-summary.html"><B>PREV PACKAGE</B></A>&nbsp;
    +&nbsp;<A HREF="../../../../org/jacoco/core/instr/package-summary.html"><B>NEXT PACKAGE</B></A></FONT></TD>
    +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
    +  <A HREF="../../../../index.html?org/jacoco/core/data/package-summary.html" target="_top"><B>FRAMES</B></A>  &nbsp;
    +&nbsp;<A HREF="package-summary.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
    +&nbsp;<SCRIPT type="text/javascript">
    +  <!--
    +  if(window==top) {
    +    document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>');
    +  }
    +  //-->
    +</SCRIPT>
    +<NOSCRIPT>
    +  <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>
    +</NOSCRIPT>
    +
    +
    +</FONT></TD>
    +</TR>
    +</TABLE>
    +<A NAME="skip-navbar_bottom"></A>
    +<!-- ======== END OF BOTTOM NAVBAR ======= -->
    +
    +<HR>
    +Copyright &#169; 2009&#x2013;2024 Mountainminds GmbH & Co. KG. All rights reserved.
    +</BODY>
    +</HTML>
    diff --git a/jacoco/trunk/doc/api/org/jacoco/core/data/package-tree.html b/jacoco/trunk/doc/api/org/jacoco/core/data/package-tree.html
    new file mode 100644
    index 00000000000..9485110e351
    --- /dev/null
    +++ b/jacoco/trunk/doc/api/org/jacoco/core/data/package-tree.html
    @@ -0,0 +1,166 @@
    +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
    +<!--NewPage-->
    +<HTML>
    +<HEAD>
    +<!-- Generated by javadoc (build 1.5.0_22) on Wed Mar 27 16:45:42 UTC 2024 -->
    +<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
    +<TITLE>
    +org.jacoco.core.data Class Hierarchy (JaCoCo 0.8.12.202403270442 API)
    +</TITLE>
    +
    +
    +<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../stylesheet.css" TITLE="Style">
    +
    +<SCRIPT type="text/javascript">
    +function windowTitle()
    +{
    +    parent.document.title="org.jacoco.core.data Class Hierarchy (JaCoCo 0.8.12.202403270442 API)";
    +}
    +</SCRIPT>
    +<NOSCRIPT>
    +</NOSCRIPT>
    +
    +</HEAD>
    +
    +<BODY BGCOLOR="white" onload="windowTitle();">
    +
    +
    +<!-- ========= START OF TOP NAVBAR ======= -->
    +<A NAME="navbar_top"><!-- --></A>
    +<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
    +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
    +<TR>
    +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
    +<A NAME="navbar_top_firstrow"><!-- --></A>
    +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
    +  <TR ALIGN="center" VALIGN="top">
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <FONT CLASS="NavBarFont1">Class</FONT>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <FONT CLASS="NavBarFont1">Use</FONT>&nbsp;</TD>
    +  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Tree</B></FONT>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
    +  </TR>
    +</TABLE>
    +</TD>
    +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
    +</EM>
    +</TD>
    +</TR>
    +
    +<TR>
    +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
    +&nbsp;<A HREF="../../../../org/jacoco/core/analysis/package-tree.html"><B>PREV</B></A>&nbsp;
    +&nbsp;<A HREF="../../../../org/jacoco/core/instr/package-tree.html"><B>NEXT</B></A></FONT></TD>
    +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
    +  <A HREF="../../../../index.html?org/jacoco/core/data/package-tree.html" target="_top"><B>FRAMES</B></A>  &nbsp;
    +&nbsp;<A HREF="package-tree.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
    +&nbsp;<SCRIPT type="text/javascript">
    +  <!--
    +  if(window==top) {
    +    document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>');
    +  }
    +  //-->
    +</SCRIPT>
    +<NOSCRIPT>
    +  <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>
    +</NOSCRIPT>
    +
    +
    +</FONT></TD>
    +</TR>
    +</TABLE>
    +<A NAME="skip-navbar_top"></A>
    +<!-- ========= END OF TOP NAVBAR ========= -->
    +
    +<HR>
    +<CENTER>
    +<H2>
    +Hierarchy For Package org.jacoco.core.data
    +</H2>
    +</CENTER>
    +<DL>
    +<DT><B>Package Hierarchies:</B><DD><A HREF="../../../../overview-tree.html">All Packages</A></DL>
    +<HR>
    +<H2>
    +Class Hierarchy
    +</H2>
    +<UL>
    +<LI TYPE="circle">java.lang.<A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html" title="class or interface in java.lang"><B>Object</B></A><UL>
    +<LI TYPE="circle">org.jacoco.core.data.<A HREF="../../../../org/jacoco/core/data/ExecutionData.html" title="class in org.jacoco.core.data"><B>ExecutionData</B></A><LI TYPE="circle">org.jacoco.core.data.<A HREF="../../../../org/jacoco/core/data/ExecutionDataReader.html" title="class in org.jacoco.core.data"><B>ExecutionDataReader</B></A><LI TYPE="circle">org.jacoco.core.data.<A HREF="../../../../org/jacoco/core/data/ExecutionDataStore.html" title="class in org.jacoco.core.data"><B>ExecutionDataStore</B></A> (implements org.jacoco.core.data.<A HREF="../../../../org/jacoco/core/data/IExecutionDataVisitor.html" title="interface in org.jacoco.core.data">IExecutionDataVisitor</A>)
    +<LI TYPE="circle">org.jacoco.core.data.<A HREF="../../../../org/jacoco/core/data/ExecutionDataWriter.html" title="class in org.jacoco.core.data"><B>ExecutionDataWriter</B></A> (implements org.jacoco.core.data.<A HREF="../../../../org/jacoco/core/data/IExecutionDataVisitor.html" title="interface in org.jacoco.core.data">IExecutionDataVisitor</A>, org.jacoco.core.data.<A HREF="../../../../org/jacoco/core/data/ISessionInfoVisitor.html" title="interface in org.jacoco.core.data">ISessionInfoVisitor</A>)
    +<LI TYPE="circle">org.jacoco.core.data.<A HREF="../../../../org/jacoco/core/data/SessionInfo.html" title="class in org.jacoco.core.data"><B>SessionInfo</B></A> (implements java.lang.<A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Comparable.html" title="class or interface in java.lang">Comparable</A>&lt;T&gt;)
    +<LI TYPE="circle">org.jacoco.core.data.<A HREF="../../../../org/jacoco/core/data/SessionInfoStore.html" title="class in org.jacoco.core.data"><B>SessionInfoStore</B></A> (implements org.jacoco.core.data.<A HREF="../../../../org/jacoco/core/data/ISessionInfoVisitor.html" title="interface in org.jacoco.core.data">ISessionInfoVisitor</A>)
    +<LI TYPE="circle">java.lang.<A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Throwable.html" title="class or interface in java.lang"><B>Throwable</B></A> (implements java.io.<A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/io/Serializable.html" title="class or interface in java.io">Serializable</A>)
    +<UL>
    +<LI TYPE="circle">java.lang.<A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Exception.html" title="class or interface in java.lang"><B>Exception</B></A><UL>
    +<LI TYPE="circle">java.io.<A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/io/IOException.html" title="class or interface in java.io"><B>IOException</B></A><UL>
    +<LI TYPE="circle">org.jacoco.core.data.<A HREF="../../../../org/jacoco/core/data/IncompatibleExecDataVersionException.html" title="class in org.jacoco.core.data"><B>IncompatibleExecDataVersionException</B></A></UL>
    +</UL>
    +</UL>
    +</UL>
    +</UL>
    +<H2>
    +Interface Hierarchy
    +</H2>
    +<UL>
    +<LI TYPE="circle">org.jacoco.core.data.<A HREF="../../../../org/jacoco/core/data/IExecutionDataVisitor.html" title="interface in org.jacoco.core.data"><B>IExecutionDataVisitor</B></A><LI TYPE="circle">org.jacoco.core.data.<A HREF="../../../../org/jacoco/core/data/ISessionInfoVisitor.html" title="interface in org.jacoco.core.data"><B>ISessionInfoVisitor</B></A></UL>
    +<HR>
    +
    +
    +<!-- ======= START OF BOTTOM NAVBAR ====== -->
    +<A NAME="navbar_bottom"><!-- --></A>
    +<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
    +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
    +<TR>
    +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
    +<A NAME="navbar_bottom_firstrow"><!-- --></A>
    +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
    +  <TR ALIGN="center" VALIGN="top">
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <FONT CLASS="NavBarFont1">Class</FONT>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <FONT CLASS="NavBarFont1">Use</FONT>&nbsp;</TD>
    +  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Tree</B></FONT>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
    +  </TR>
    +</TABLE>
    +</TD>
    +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
    +</EM>
    +</TD>
    +</TR>
    +
    +<TR>
    +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
    +&nbsp;<A HREF="../../../../org/jacoco/core/analysis/package-tree.html"><B>PREV</B></A>&nbsp;
    +&nbsp;<A HREF="../../../../org/jacoco/core/instr/package-tree.html"><B>NEXT</B></A></FONT></TD>
    +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
    +  <A HREF="../../../../index.html?org/jacoco/core/data/package-tree.html" target="_top"><B>FRAMES</B></A>  &nbsp;
    +&nbsp;<A HREF="package-tree.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
    +&nbsp;<SCRIPT type="text/javascript">
    +  <!--
    +  if(window==top) {
    +    document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>');
    +  }
    +  //-->
    +</SCRIPT>
    +<NOSCRIPT>
    +  <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>
    +</NOSCRIPT>
    +
    +
    +</FONT></TD>
    +</TR>
    +</TABLE>
    +<A NAME="skip-navbar_bottom"></A>
    +<!-- ======== END OF BOTTOM NAVBAR ======= -->
    +
    +<HR>
    +Copyright &#169; 2009&#x2013;2024 Mountainminds GmbH & Co. KG. All rights reserved.
    +</BODY>
    +</HTML>
    diff --git a/jacoco/trunk/doc/api/org/jacoco/core/data/package-use.html b/jacoco/trunk/doc/api/org/jacoco/core/data/package-use.html
    new file mode 100644
    index 00000000000..02651f3e679
    --- /dev/null
    +++ b/jacoco/trunk/doc/api/org/jacoco/core/data/package-use.html
    @@ -0,0 +1,316 @@
    +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
    +<!--NewPage-->
    +<HTML>
    +<HEAD>
    +<!-- Generated by javadoc (build 1.5.0_22) on Wed Mar 27 16:45:42 UTC 2024 -->
    +<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
    +<TITLE>
    +Uses of Package org.jacoco.core.data (JaCoCo 0.8.12.202403270442 API)
    +</TITLE>
    +
    +
    +<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../stylesheet.css" TITLE="Style">
    +
    +<SCRIPT type="text/javascript">
    +function windowTitle()
    +{
    +    parent.document.title="Uses of Package org.jacoco.core.data (JaCoCo 0.8.12.202403270442 API)";
    +}
    +</SCRIPT>
    +<NOSCRIPT>
    +</NOSCRIPT>
    +
    +</HEAD>
    +
    +<BODY BGCOLOR="white" onload="windowTitle();">
    +
    +
    +<!-- ========= START OF TOP NAVBAR ======= -->
    +<A NAME="navbar_top"><!-- --></A>
    +<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
    +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
    +<TR>
    +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
    +<A NAME="navbar_top_firstrow"><!-- --></A>
    +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
    +  <TR ALIGN="center" VALIGN="top">
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <FONT CLASS="NavBarFont1">Class</FONT>&nbsp;</TD>
    +  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
    +  </TR>
    +</TABLE>
    +</TD>
    +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
    +</EM>
    +</TD>
    +</TR>
    +
    +<TR>
    +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
    +&nbsp;PREV&nbsp;
    +&nbsp;NEXT</FONT></TD>
    +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
    +  <A HREF="../../../../index.html?org/jacoco/core/data/package-use.html" target="_top"><B>FRAMES</B></A>  &nbsp;
    +&nbsp;<A HREF="package-use.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
    +&nbsp;<SCRIPT type="text/javascript">
    +  <!--
    +  if(window==top) {
    +    document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>');
    +  }
    +  //-->
    +</SCRIPT>
    +<NOSCRIPT>
    +  <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>
    +</NOSCRIPT>
    +
    +
    +</FONT></TD>
    +</TR>
    +</TABLE>
    +<A NAME="skip-navbar_top"></A>
    +<!-- ========= END OF TOP NAVBAR ========= -->
    +
    +<HR>
    +<CENTER>
    +<H2>
    +<B>Uses of Package<br>org.jacoco.core.data</B></H2>
    +</CENTER>
    +
    +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
    +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
    +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
    +Packages that use <A HREF="../../../../org/jacoco/core/data/package-summary.html">org.jacoco.core.data</A></FONT></TH>
    +</TR>
    +<TR BGCOLOR="white" CLASS="TableRowColor">
    +<TD><A HREF="#org.jacoco.core.analysis"><B>org.jacoco.core.analysis</B></A></TD>
    +<TD>
    + Coverage calculation and analysis.&nbsp;</TD>
    +</TR>
    +<TR BGCOLOR="white" CLASS="TableRowColor">
    +<TD><A HREF="#org.jacoco.core.data"><B>org.jacoco.core.data</B></A></TD>
    +<TD>Representation and persistence of execution data and session information.&nbsp;</TD>
    +</TR>
    +<TR BGCOLOR="white" CLASS="TableRowColor">
    +<TD><A HREF="#org.jacoco.core.runtime"><B>org.jacoco.core.runtime</B></A></TD>
    +<TD>Runtime control and execution data collection.&nbsp;</TD>
    +</TR>
    +<TR BGCOLOR="white" CLASS="TableRowColor">
    +<TD><A HREF="#org.jacoco.core.tools"><B>org.jacoco.core.tools</B></A></TD>
    +<TD>Collection of tools build on top of the JaCoCo core APIs.&nbsp;</TD>
    +</TR>
    +<TR BGCOLOR="white" CLASS="TableRowColor">
    +<TD><A HREF="#org.jacoco.report"><B>org.jacoco.report</B></A></TD>
    +<TD>Common interfaces and utilities for report generation.&nbsp;</TD>
    +</TR>
    +</TABLE>
    +&nbsp;
    +<P>
    +<A NAME="org.jacoco.core.analysis"><!-- --></A>
    +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
    +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
    +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
    +Classes in <A HREF="../../../../org/jacoco/core/data/package-summary.html">org.jacoco.core.data</A> used by <A HREF="../../../../org/jacoco/core/analysis/package-summary.html">org.jacoco.core.analysis</A></FONT></TH>
    +</TR>
    +<TR BGCOLOR="white" CLASS="TableRowColor">
    +<TD><B><A HREF="../../../../org/jacoco/core/data/class-use/ExecutionDataStore.html#org.jacoco.core.analysis"><B>ExecutionDataStore</B></A></B>
    +
    +<BR>
    +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;In-memory data store for execution data.</TD>
    +</TR>
    +</TABLE>
    +&nbsp;
    +<P>
    +<A NAME="org.jacoco.core.data"><!-- --></A>
    +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
    +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
    +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
    +Classes in <A HREF="../../../../org/jacoco/core/data/package-summary.html">org.jacoco.core.data</A> used by <A HREF="../../../../org/jacoco/core/data/package-summary.html">org.jacoco.core.data</A></FONT></TH>
    +</TR>
    +<TR BGCOLOR="white" CLASS="TableRowColor">
    +<TD><B><A HREF="../../../../org/jacoco/core/data/class-use/ExecutionData.html#org.jacoco.core.data"><B>ExecutionData</B></A></B>
    +
    +<BR>
    +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Execution data for a single Java class.</TD>
    +</TR>
    +<TR BGCOLOR="white" CLASS="TableRowColor">
    +<TD><B><A HREF="../../../../org/jacoco/core/data/class-use/ExecutionDataStore.html#org.jacoco.core.data"><B>ExecutionDataStore</B></A></B>
    +
    +<BR>
    +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;In-memory data store for execution data.</TD>
    +</TR>
    +<TR BGCOLOR="white" CLASS="TableRowColor">
    +<TD><B><A HREF="../../../../org/jacoco/core/data/class-use/IExecutionDataVisitor.html#org.jacoco.core.data"><B>IExecutionDataVisitor</B></A></B>
    +
    +<BR>
    +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Interface for data output of collected execution data.</TD>
    +</TR>
    +<TR BGCOLOR="white" CLASS="TableRowColor">
    +<TD><B><A HREF="../../../../org/jacoco/core/data/class-use/IncompatibleExecDataVersionException.html#org.jacoco.core.data"><B>IncompatibleExecDataVersionException</B></A></B>
    +
    +<BR>
    +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Signals that execution data in an incompatible version was tried to read.</TD>
    +</TR>
    +<TR BGCOLOR="white" CLASS="TableRowColor">
    +<TD><B><A HREF="../../../../org/jacoco/core/data/class-use/ISessionInfoVisitor.html#org.jacoco.core.data"><B>ISessionInfoVisitor</B></A></B>
    +
    +<BR>
    +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Interface for data output of collected session information.</TD>
    +</TR>
    +<TR BGCOLOR="white" CLASS="TableRowColor">
    +<TD><B><A HREF="../../../../org/jacoco/core/data/class-use/SessionInfo.html#org.jacoco.core.data"><B>SessionInfo</B></A></B>
    +
    +<BR>
    +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Data object describing a session which was the source of execution data.</TD>
    +</TR>
    +</TABLE>
    +&nbsp;
    +<P>
    +<A NAME="org.jacoco.core.runtime"><!-- --></A>
    +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
    +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
    +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
    +Classes in <A HREF="../../../../org/jacoco/core/data/package-summary.html">org.jacoco.core.data</A> used by <A HREF="../../../../org/jacoco/core/runtime/package-summary.html">org.jacoco.core.runtime</A></FONT></TH>
    +</TR>
    +<TR BGCOLOR="white" CLASS="TableRowColor">
    +<TD><B><A HREF="../../../../org/jacoco/core/data/class-use/ExecutionData.html#org.jacoco.core.runtime"><B>ExecutionData</B></A></B>
    +
    +<BR>
    +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Execution data for a single Java class.</TD>
    +</TR>
    +<TR BGCOLOR="white" CLASS="TableRowColor">
    +<TD><B><A HREF="../../../../org/jacoco/core/data/class-use/ExecutionDataReader.html#org.jacoco.core.runtime"><B>ExecutionDataReader</B></A></B>
    +
    +<BR>
    +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Deserialization of execution data from binary streams.</TD>
    +</TR>
    +<TR BGCOLOR="white" CLASS="TableRowColor">
    +<TD><B><A HREF="../../../../org/jacoco/core/data/class-use/ExecutionDataStore.html#org.jacoco.core.runtime"><B>ExecutionDataStore</B></A></B>
    +
    +<BR>
    +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;In-memory data store for execution data.</TD>
    +</TR>
    +<TR BGCOLOR="white" CLASS="TableRowColor">
    +<TD><B><A HREF="../../../../org/jacoco/core/data/class-use/ExecutionDataWriter.html#org.jacoco.core.runtime"><B>ExecutionDataWriter</B></A></B>
    +
    +<BR>
    +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Serialization of execution data into binary streams.</TD>
    +</TR>
    +<TR BGCOLOR="white" CLASS="TableRowColor">
    +<TD><B><A HREF="../../../../org/jacoco/core/data/class-use/IExecutionDataVisitor.html#org.jacoco.core.runtime"><B>IExecutionDataVisitor</B></A></B>
    +
    +<BR>
    +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Interface for data output of collected execution data.</TD>
    +</TR>
    +<TR BGCOLOR="white" CLASS="TableRowColor">
    +<TD><B><A HREF="../../../../org/jacoco/core/data/class-use/ISessionInfoVisitor.html#org.jacoco.core.runtime"><B>ISessionInfoVisitor</B></A></B>
    +
    +<BR>
    +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Interface for data output of collected session information.</TD>
    +</TR>
    +</TABLE>
    +&nbsp;
    +<P>
    +<A NAME="org.jacoco.core.tools"><!-- --></A>
    +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
    +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
    +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
    +Classes in <A HREF="../../../../org/jacoco/core/data/package-summary.html">org.jacoco.core.data</A> used by <A HREF="../../../../org/jacoco/core/tools/package-summary.html">org.jacoco.core.tools</A></FONT></TH>
    +</TR>
    +<TR BGCOLOR="white" CLASS="TableRowColor">
    +<TD><B><A HREF="../../../../org/jacoco/core/data/class-use/ExecutionDataStore.html#org.jacoco.core.tools"><B>ExecutionDataStore</B></A></B>
    +
    +<BR>
    +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;In-memory data store for execution data.</TD>
    +</TR>
    +<TR BGCOLOR="white" CLASS="TableRowColor">
    +<TD><B><A HREF="../../../../org/jacoco/core/data/class-use/SessionInfoStore.html#org.jacoco.core.tools"><B>SessionInfoStore</B></A></B>
    +
    +<BR>
    +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Container to collect and merge session <A HREF="../../../../org/jacoco/core/data/SessionInfo.html" title="class in org.jacoco.core.data"><CODE>SessionInfo</CODE></A> objects.</TD>
    +</TR>
    +</TABLE>
    +&nbsp;
    +<P>
    +<A NAME="org.jacoco.report"><!-- --></A>
    +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
    +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
    +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
    +Classes in <A HREF="../../../../org/jacoco/core/data/package-summary.html">org.jacoco.core.data</A> used by <A HREF="../../../../org/jacoco/report/package-summary.html">org.jacoco.report</A></FONT></TH>
    +</TR>
    +<TR BGCOLOR="white" CLASS="TableRowColor">
    +<TD><B><A HREF="../../../../org/jacoco/core/data/class-use/ExecutionData.html#org.jacoco.report"><B>ExecutionData</B></A></B>
    +
    +<BR>
    +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Execution data for a single Java class.</TD>
    +</TR>
    +<TR BGCOLOR="white" CLASS="TableRowColor">
    +<TD><B><A HREF="../../../../org/jacoco/core/data/class-use/SessionInfo.html#org.jacoco.report"><B>SessionInfo</B></A></B>
    +
    +<BR>
    +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Data object describing a session which was the source of execution data.</TD>
    +</TR>
    +</TABLE>
    +&nbsp;
    +<P>
    +<HR>
    +
    +
    +<!-- ======= START OF BOTTOM NAVBAR ====== -->
    +<A NAME="navbar_bottom"><!-- --></A>
    +<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
    +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
    +<TR>
    +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
    +<A NAME="navbar_bottom_firstrow"><!-- --></A>
    +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
    +  <TR ALIGN="center" VALIGN="top">
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <FONT CLASS="NavBarFont1">Class</FONT>&nbsp;</TD>
    +  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
    +  </TR>
    +</TABLE>
    +</TD>
    +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
    +</EM>
    +</TD>
    +</TR>
    +
    +<TR>
    +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
    +&nbsp;PREV&nbsp;
    +&nbsp;NEXT</FONT></TD>
    +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
    +  <A HREF="../../../../index.html?org/jacoco/core/data/package-use.html" target="_top"><B>FRAMES</B></A>  &nbsp;
    +&nbsp;<A HREF="package-use.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
    +&nbsp;<SCRIPT type="text/javascript">
    +  <!--
    +  if(window==top) {
    +    document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>');
    +  }
    +  //-->
    +</SCRIPT>
    +<NOSCRIPT>
    +  <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>
    +</NOSCRIPT>
    +
    +
    +</FONT></TD>
    +</TR>
    +</TABLE>
    +<A NAME="skip-navbar_bottom"></A>
    +<!-- ======== END OF BOTTOM NAVBAR ======= -->
    +
    +<HR>
    +Copyright &#169; 2009&#x2013;2024 Mountainminds GmbH & Co. KG. All rights reserved.
    +</BODY>
    +</HTML>
    diff --git a/jacoco/trunk/doc/api/org/jacoco/core/instr/Instrumenter.html b/jacoco/trunk/doc/api/org/jacoco/core/instr/Instrumenter.html
    new file mode 100644
    index 00000000000..39c3286c474
    --- /dev/null
    +++ b/jacoco/trunk/doc/api/org/jacoco/core/instr/Instrumenter.html
    @@ -0,0 +1,385 @@
    +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
    +<!--NewPage-->
    +<HTML>
    +<HEAD>
    +<!-- Generated by javadoc (build 1.5.0_22) on Wed Mar 27 16:45:41 UTC 2024 -->
    +<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
    +<TITLE>
    +Instrumenter (JaCoCo 0.8.12.202403270442 API)
    +</TITLE>
    +
    +<META NAME="keywords" CONTENT="org.jacoco.core.instr.Instrumenter class">
    +
    +<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../stylesheet.css" TITLE="Style">
    +
    +<SCRIPT type="text/javascript">
    +function windowTitle()
    +{
    +    parent.document.title="Instrumenter (JaCoCo 0.8.12.202403270442 API)";
    +}
    +</SCRIPT>
    +<NOSCRIPT>
    +</NOSCRIPT>
    +
    +</HEAD>
    +
    +<BODY BGCOLOR="white" onload="windowTitle();">
    +
    +
    +<!-- ========= START OF TOP NAVBAR ======= -->
    +<A NAME="navbar_top"><!-- --></A>
    +<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
    +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
    +<TR>
    +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
    +<A NAME="navbar_top_firstrow"><!-- --></A>
    +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
    +  <TR ALIGN="center" VALIGN="top">
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="class-use/Instrumenter.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
    +  </TR>
    +</TABLE>
    +</TD>
    +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
    +</EM>
    +</TD>
    +</TR>
    +
    +<TR>
    +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
    +&nbsp;PREV CLASS&nbsp;
    +&nbsp;NEXT CLASS</FONT></TD>
    +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
    +  <A HREF="../../../../index.html?org/jacoco/core/instr/Instrumenter.html" target="_top"><B>FRAMES</B></A>  &nbsp;
    +&nbsp;<A HREF="Instrumenter.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
    +&nbsp;<SCRIPT type="text/javascript">
    +  <!--
    +  if(window==top) {
    +    document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>');
    +  }
    +  //-->
    +</SCRIPT>
    +<NOSCRIPT>
    +  <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>
    +</NOSCRIPT>
    +
    +
    +</FONT></TD>
    +</TR>
    +<TR>
    +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
    +  SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;FIELD&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD>
    +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
    +DETAIL:&nbsp;FIELD&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD>
    +</TR>
    +</TABLE>
    +<A NAME="skip-navbar_top"></A>
    +<!-- ========= END OF TOP NAVBAR ========= -->
    +
    +<HR>
    +<!-- ======== START OF CLASS DATA ======== -->
    +<H2>
    +<FONT SIZE="-1">
    +org.jacoco.core.instr</FONT>
    +<BR>
    +Class Instrumenter</H2>
    +<PRE>
    +<A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html" title="class or interface in java.lang">java.lang.Object</A>
    +  <IMG SRC="../../../../resources/inherit.gif" ALT="extended by "><B>org.jacoco.core.instr.Instrumenter</B>
    +</PRE>
    +<HR>
    +<DL>
    +<DT><PRE>public class <B>Instrumenter</B><DT>extends <A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html" title="class or interface in java.lang">Object</A></DL>
    +</PRE>
    +
    +<P>
    +Several APIs to instrument Java class definitions for coverage tracing.
    +<P>
    +
    +<P>
    +<HR>
    +
    +<P>
    +
    +<!-- ======== CONSTRUCTOR SUMMARY ======== -->
    +
    +<A NAME="constructor_summary"><!-- --></A>
    +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
    +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
    +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
    +<B>Constructor Summary</B></FONT></TH>
    +</TR>
    +<TR BGCOLOR="white" CLASS="TableRowColor">
    +<TD><CODE><B><A HREF="../../../../org/jacoco/core/instr/Instrumenter.html#Instrumenter(org.jacoco.core.runtime.IExecutionDataAccessorGenerator)">Instrumenter</A></B>(<A HREF="../../../../org/jacoco/core/runtime/IExecutionDataAccessorGenerator.html" title="interface in org.jacoco.core.runtime">IExecutionDataAccessorGenerator</A>&nbsp;runtime)</CODE>
    +
    +<BR>
    +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Creates a new instance based on the given runtime.</TD>
    +</TR>
    +</TABLE>
    +&nbsp;
    +<!-- ========== METHOD SUMMARY =========== -->
    +
    +<A NAME="method_summary"><!-- --></A>
    +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
    +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
    +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
    +<B>Method Summary</B></FONT></TH>
    +</TR>
    +<TR BGCOLOR="white" CLASS="TableRowColor">
    +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
    +<CODE>&nbsp;byte[]</CODE></FONT></TD>
    +<TD><CODE><B><A HREF="../../../../org/jacoco/core/instr/Instrumenter.html#instrument(byte[], java.lang.String)">instrument</A></B>(byte[]&nbsp;buffer,
    +           <A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A>&nbsp;name)</CODE>
    +
    +<BR>
    +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Creates a instrumented version of the given class if possible.</TD>
    +</TR>
    +<TR BGCOLOR="white" CLASS="TableRowColor">
    +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
    +<CODE>&nbsp;void</CODE></FONT></TD>
    +<TD><CODE><B><A HREF="../../../../org/jacoco/core/instr/Instrumenter.html#instrument(java.io.InputStream, java.io.OutputStream, java.lang.String)">instrument</A></B>(<A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/io/InputStream.html" title="class or interface in java.io">InputStream</A>&nbsp;input,
    +           <A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/io/OutputStream.html" title="class or interface in java.io">OutputStream</A>&nbsp;output,
    +           <A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A>&nbsp;name)</CODE>
    +
    +<BR>
    +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Creates a instrumented version of the given class file.</TD>
    +</TR>
    +<TR BGCOLOR="white" CLASS="TableRowColor">
    +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
    +<CODE>&nbsp;byte[]</CODE></FONT></TD>
    +<TD><CODE><B><A HREF="../../../../org/jacoco/core/instr/Instrumenter.html#instrument(java.io.InputStream, java.lang.String)">instrument</A></B>(<A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/io/InputStream.html" title="class or interface in java.io">InputStream</A>&nbsp;input,
    +           <A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A>&nbsp;name)</CODE>
    +
    +<BR>
    +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Creates a instrumented version of the given class if possible.</TD>
    +</TR>
    +<TR BGCOLOR="white" CLASS="TableRowColor">
    +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
    +<CODE>&nbsp;int</CODE></FONT></TD>
    +<TD><CODE><B><A HREF="../../../../org/jacoco/core/instr/Instrumenter.html#instrumentAll(java.io.InputStream, java.io.OutputStream, java.lang.String)">instrumentAll</A></B>(<A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/io/InputStream.html" title="class or interface in java.io">InputStream</A>&nbsp;input,
    +              <A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/io/OutputStream.html" title="class or interface in java.io">OutputStream</A>&nbsp;output,
    +              <A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A>&nbsp;name)</CODE>
    +
    +<BR>
    +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Creates a instrumented version of the given resource depending on its
    + type.</TD>
    +</TR>
    +<TR BGCOLOR="white" CLASS="TableRowColor">
    +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
    +<CODE>&nbsp;void</CODE></FONT></TD>
    +<TD><CODE><B><A HREF="../../../../org/jacoco/core/instr/Instrumenter.html#setRemoveSignatures(boolean)">setRemoveSignatures</A></B>(boolean&nbsp;flag)</CODE>
    +
    +<BR>
    +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Determines whether signatures should be removed from JAR files.</TD>
    +</TR>
    +</TABLE>
    +&nbsp;<A NAME="methods_inherited_from_class_java.lang.Object"><!-- --></A>
    +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
    +<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
    +<TH ALIGN="left"><B>Methods inherited from class java.lang.<A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html" title="class or interface in java.lang">Object</A></B></TH>
    +</TR>
    +<TR BGCOLOR="white" CLASS="TableRowColor">
    +<TD><CODE><A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html#clone()" title="class or interface in java.lang">clone</A>, <A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html#equals(java.lang.Object)" title="class or interface in java.lang">equals</A>, <A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html#finalize()" title="class or interface in java.lang">finalize</A>, <A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html#getClass()" title="class or interface in java.lang">getClass</A>, <A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html#hashCode()" title="class or interface in java.lang">hashCode</A>, <A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html#notify()" title="class or interface in java.lang">notify</A>, <A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html#notifyAll()" title="class or interface in java.lang">notifyAll</A>, <A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html#toString()" title="class or interface in java.lang">toString</A>, <A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html#wait()" title="class or interface in java.lang">wait</A>, <A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html#wait(long)" title="class or interface in java.lang">wait</A>, <A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html#wait(long, int)" title="class or interface in java.lang">wait</A></CODE></TD>
    +</TR>
    +</TABLE>
    +&nbsp;
    +<P>
    +
    +<!-- ========= CONSTRUCTOR DETAIL ======== -->
    +
    +<A NAME="constructor_detail"><!-- --></A>
    +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
    +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
    +<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2">
    +<B>Constructor Detail</B></FONT></TH>
    +</TR>
    +</TABLE>
    +
    +<A NAME="Instrumenter(org.jacoco.core.runtime.IExecutionDataAccessorGenerator)"><!-- --></A><H3>
    +Instrumenter</H3>
    +<PRE>
    +public <B>Instrumenter</B>(<A HREF="../../../../org/jacoco/core/runtime/IExecutionDataAccessorGenerator.html" title="interface in org.jacoco.core.runtime">IExecutionDataAccessorGenerator</A>&nbsp;runtime)</PRE>
    +<DL>
    +<DD>Creates a new instance based on the given runtime.
    +<P>
    +<DL>
    +<DT><B>Parameters:</B><DD><CODE>runtime</CODE> - runtime used by the instrumented classes</DL>
    +</DL>
    +
    +<!-- ============ METHOD DETAIL ========== -->
    +
    +<A NAME="method_detail"><!-- --></A>
    +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
    +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
    +<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2">
    +<B>Method Detail</B></FONT></TH>
    +</TR>
    +</TABLE>
    +
    +<A NAME="setRemoveSignatures(boolean)"><!-- --></A><H3>
    +setRemoveSignatures</H3>
    +<PRE>
    +public void <B>setRemoveSignatures</B>(boolean&nbsp;flag)</PRE>
    +<DL>
    +<DD>Determines whether signatures should be removed from JAR files. This is
    + typically necessary as instrumentation modifies the class files and
    + therefore invalidates existing JAR signatures. Default is
    + <code>true</code>.
    +<P>
    +<DD><DL>
    +<DT><B>Parameters:</B><DD><CODE>flag</CODE> - <code>true</code> if signatures should be removed</DL>
    +</DD>
    +</DL>
    +<HR>
    +
    +<A NAME="instrument(byte[], java.lang.String)"><!-- --></A><H3>
    +instrument</H3>
    +<PRE>
    +public byte[] <B>instrument</B>(byte[]&nbsp;buffer,
    +                         <A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A>&nbsp;name)
    +                  throws <A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/io/IOException.html" title="class or interface in java.io">IOException</A></PRE>
    +<DL>
    +<DD>Creates a instrumented version of the given class if possible.
    +<P>
    +<DD><DL>
    +<DT><B>Parameters:</B><DD><CODE>buffer</CODE> - definition of the class<DD><CODE>name</CODE> - a name used for exception messages
    +<DT><B>Returns:</B><DD>instrumented definition
    +<DT><B>Throws:</B>
    +<DD><CODE><A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/io/IOException.html" title="class or interface in java.io">IOException</A></CODE> - if the class can't be instrumented</DL>
    +</DD>
    +</DL>
    +<HR>
    +
    +<A NAME="instrument(java.io.InputStream, java.lang.String)"><!-- --></A><H3>
    +instrument</H3>
    +<PRE>
    +public byte[] <B>instrument</B>(<A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/io/InputStream.html" title="class or interface in java.io">InputStream</A>&nbsp;input,
    +                         <A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A>&nbsp;name)
    +                  throws <A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/io/IOException.html" title="class or interface in java.io">IOException</A></PRE>
    +<DL>
    +<DD>Creates a instrumented version of the given class if possible. The
    + provided <A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/io/InputStream.html" title="class or interface in java.io"><CODE>InputStream</CODE></A> is not closed by this method.
    +<P>
    +<DD><DL>
    +<DT><B>Parameters:</B><DD><CODE>input</CODE> - stream to read class definition from<DD><CODE>name</CODE> - a name used for exception messages
    +<DT><B>Returns:</B><DD>instrumented definition
    +<DT><B>Throws:</B>
    +<DD><CODE><A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/io/IOException.html" title="class or interface in java.io">IOException</A></CODE> - if reading data from the stream fails or the class can't be
    +             instrumented</DL>
    +</DD>
    +</DL>
    +<HR>
    +
    +<A NAME="instrument(java.io.InputStream, java.io.OutputStream, java.lang.String)"><!-- --></A><H3>
    +instrument</H3>
    +<PRE>
    +public void <B>instrument</B>(<A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/io/InputStream.html" title="class or interface in java.io">InputStream</A>&nbsp;input,
    +                       <A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/io/OutputStream.html" title="class or interface in java.io">OutputStream</A>&nbsp;output,
    +                       <A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A>&nbsp;name)
    +                throws <A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/io/IOException.html" title="class or interface in java.io">IOException</A></PRE>
    +<DL>
    +<DD>Creates a instrumented version of the given class file. The provided
    + <A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/io/InputStream.html" title="class or interface in java.io"><CODE>InputStream</CODE></A> and <A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/io/OutputStream.html" title="class or interface in java.io"><CODE>OutputStream</CODE></A> instances are not closed by
    + this method.
    +<P>
    +<DD><DL>
    +<DT><B>Parameters:</B><DD><CODE>input</CODE> - stream to read class definition from<DD><CODE>output</CODE> - stream to write the instrumented version of the class to<DD><CODE>name</CODE> - a name used for exception messages
    +<DT><B>Throws:</B>
    +<DD><CODE><A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/io/IOException.html" title="class or interface in java.io">IOException</A></CODE> - if reading data from the stream fails or the class can't be
    +             instrumented</DL>
    +</DD>
    +</DL>
    +<HR>
    +
    +<A NAME="instrumentAll(java.io.InputStream, java.io.OutputStream, java.lang.String)"><!-- --></A><H3>
    +instrumentAll</H3>
    +<PRE>
    +public int <B>instrumentAll</B>(<A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/io/InputStream.html" title="class or interface in java.io">InputStream</A>&nbsp;input,
    +                         <A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/io/OutputStream.html" title="class or interface in java.io">OutputStream</A>&nbsp;output,
    +                         <A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A>&nbsp;name)
    +                  throws <A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/io/IOException.html" title="class or interface in java.io">IOException</A></PRE>
    +<DL>
    +<DD>Creates a instrumented version of the given resource depending on its
    + type. Class files and the content of archive files are instrumented. All
    + other files are copied without modification. The provided
    + <A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/io/InputStream.html" title="class or interface in java.io"><CODE>InputStream</CODE></A> and <A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/io/OutputStream.html" title="class or interface in java.io"><CODE>OutputStream</CODE></A> instances are not closed by
    + this method.
    +<P>
    +<DD><DL>
    +<DT><B>Parameters:</B><DD><CODE>input</CODE> - stream to contents from<DD><CODE>output</CODE> - stream to write the instrumented version of the contents<DD><CODE>name</CODE> - a name used for exception messages
    +<DT><B>Returns:</B><DD>number of instrumented classes
    +<DT><B>Throws:</B>
    +<DD><CODE><A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/io/IOException.html" title="class or interface in java.io">IOException</A></CODE> - if reading data from the stream fails or a class can't be
    +             instrumented</DL>
    +</DD>
    +</DL>
    +<!-- ========= END OF CLASS DATA ========= -->
    +<HR>
    +
    +
    +<!-- ======= START OF BOTTOM NAVBAR ====== -->
    +<A NAME="navbar_bottom"><!-- --></A>
    +<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
    +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
    +<TR>
    +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
    +<A NAME="navbar_bottom_firstrow"><!-- --></A>
    +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
    +  <TR ALIGN="center" VALIGN="top">
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="class-use/Instrumenter.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
    +  </TR>
    +</TABLE>
    +</TD>
    +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
    +</EM>
    +</TD>
    +</TR>
    +
    +<TR>
    +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
    +&nbsp;PREV CLASS&nbsp;
    +&nbsp;NEXT CLASS</FONT></TD>
    +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
    +  <A HREF="../../../../index.html?org/jacoco/core/instr/Instrumenter.html" target="_top"><B>FRAMES</B></A>  &nbsp;
    +&nbsp;<A HREF="Instrumenter.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
    +&nbsp;<SCRIPT type="text/javascript">
    +  <!--
    +  if(window==top) {
    +    document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>');
    +  }
    +  //-->
    +</SCRIPT>
    +<NOSCRIPT>
    +  <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>
    +</NOSCRIPT>
    +
    +
    +</FONT></TD>
    +</TR>
    +<TR>
    +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
    +  SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;FIELD&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD>
    +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
    +DETAIL:&nbsp;FIELD&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD>
    +</TR>
    +</TABLE>
    +<A NAME="skip-navbar_bottom"></A>
    +<!-- ======== END OF BOTTOM NAVBAR ======= -->
    +
    +<HR>
    +Copyright &#169; 2009&#x2013;2024 Mountainminds GmbH & Co. KG. All rights reserved.
    +</BODY>
    +</HTML>
    diff --git a/jacoco/trunk/doc/api/org/jacoco/core/instr/class-use/Instrumenter.html b/jacoco/trunk/doc/api/org/jacoco/core/instr/class-use/Instrumenter.html
    new file mode 100644
    index 00000000000..8ac97f620f0
    --- /dev/null
    +++ b/jacoco/trunk/doc/api/org/jacoco/core/instr/class-use/Instrumenter.html
    @@ -0,0 +1,141 @@
    +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
    +<!--NewPage-->
    +<HTML>
    +<HEAD>
    +<!-- Generated by javadoc (build 1.5.0_22) on Wed Mar 27 16:45:42 UTC 2024 -->
    +<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
    +<TITLE>
    +Uses of Class org.jacoco.core.instr.Instrumenter (JaCoCo 0.8.12.202403270442 API)
    +</TITLE>
    +
    +
    +<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../../stylesheet.css" TITLE="Style">
    +
    +<SCRIPT type="text/javascript">
    +function windowTitle()
    +{
    +    parent.document.title="Uses of Class org.jacoco.core.instr.Instrumenter (JaCoCo 0.8.12.202403270442 API)";
    +}
    +</SCRIPT>
    +<NOSCRIPT>
    +</NOSCRIPT>
    +
    +</HEAD>
    +
    +<BODY BGCOLOR="white" onload="windowTitle();">
    +
    +
    +<!-- ========= START OF TOP NAVBAR ======= -->
    +<A NAME="navbar_top"><!-- --></A>
    +<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
    +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
    +<TR>
    +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
    +<A NAME="navbar_top_firstrow"><!-- --></A>
    +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
    +  <TR ALIGN="center" VALIGN="top">
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../org/jacoco/core/instr/Instrumenter.html" title="class in org.jacoco.core.instr"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
    +  </TR>
    +</TABLE>
    +</TD>
    +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
    +</EM>
    +</TD>
    +</TR>
    +
    +<TR>
    +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
    +&nbsp;PREV&nbsp;
    +&nbsp;NEXT</FONT></TD>
    +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
    +  <A HREF="../../../../../index.html?org/jacoco/core/instr/class-use/Instrumenter.html" target="_top"><B>FRAMES</B></A>  &nbsp;
    +&nbsp;<A HREF="Instrumenter.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
    +&nbsp;<SCRIPT type="text/javascript">
    +  <!--
    +  if(window==top) {
    +    document.writeln('<A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>');
    +  }
    +  //-->
    +</SCRIPT>
    +<NOSCRIPT>
    +  <A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>
    +</NOSCRIPT>
    +
    +
    +</FONT></TD>
    +</TR>
    +</TABLE>
    +<A NAME="skip-navbar_top"></A>
    +<!-- ========= END OF TOP NAVBAR ========= -->
    +
    +<HR>
    +<CENTER>
    +<H2>
    +<B>Uses of Class<br>org.jacoco.core.instr.Instrumenter</B></H2>
    +</CENTER>
    +No usage of org.jacoco.core.instr.Instrumenter
    +<P>
    +<HR>
    +
    +
    +<!-- ======= START OF BOTTOM NAVBAR ====== -->
    +<A NAME="navbar_bottom"><!-- --></A>
    +<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
    +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
    +<TR>
    +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
    +<A NAME="navbar_bottom_firstrow"><!-- --></A>
    +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
    +  <TR ALIGN="center" VALIGN="top">
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../org/jacoco/core/instr/Instrumenter.html" title="class in org.jacoco.core.instr"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
    +  </TR>
    +</TABLE>
    +</TD>
    +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
    +</EM>
    +</TD>
    +</TR>
    +
    +<TR>
    +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
    +&nbsp;PREV&nbsp;
    +&nbsp;NEXT</FONT></TD>
    +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
    +  <A HREF="../../../../../index.html?org/jacoco/core/instr/class-use/Instrumenter.html" target="_top"><B>FRAMES</B></A>  &nbsp;
    +&nbsp;<A HREF="Instrumenter.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
    +&nbsp;<SCRIPT type="text/javascript">
    +  <!--
    +  if(window==top) {
    +    document.writeln('<A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>');
    +  }
    +  //-->
    +</SCRIPT>
    +<NOSCRIPT>
    +  <A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>
    +</NOSCRIPT>
    +
    +
    +</FONT></TD>
    +</TR>
    +</TABLE>
    +<A NAME="skip-navbar_bottom"></A>
    +<!-- ======== END OF BOTTOM NAVBAR ======= -->
    +
    +<HR>
    +Copyright &#169; 2009&#x2013;2024 Mountainminds GmbH & Co. KG. All rights reserved.
    +</BODY>
    +</HTML>
    diff --git a/jacoco/trunk/doc/api/org/jacoco/core/instr/package-frame.html b/jacoco/trunk/doc/api/org/jacoco/core/instr/package-frame.html
    new file mode 100644
    index 00000000000..8a79fc82184
    --- /dev/null
    +++ b/jacoco/trunk/doc/api/org/jacoco/core/instr/package-frame.html
    @@ -0,0 +1,33 @@
    +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
    +<!--NewPage-->
    +<HTML>
    +<HEAD>
    +<!-- Generated by javadoc (build 1.5.0_22) on Wed Mar 27 16:45:42 UTC 2024 -->
    +<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
    +<TITLE>
    +org.jacoco.core.instr (JaCoCo 0.8.12.202403270442 API)
    +</TITLE>
    +
    +<META NAME="keywords" CONTENT="org.jacoco.core.instr package">
    +
    +<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../stylesheet.css" TITLE="Style">
    +
    +
    +</HEAD>
    +
    +<BODY BGCOLOR="white">
    +<FONT size="+1" CLASS="FrameTitleFont">
    +<A HREF="../../../../org/jacoco/core/instr/package-summary.html" target="classFrame">org.jacoco.core.instr</A></FONT>
    +<TABLE BORDER="0" WIDTH="100%" SUMMARY="">
    +<TR>
    +<TD NOWRAP><FONT size="+1" CLASS="FrameHeadingFont">
    +Classes</FONT>&nbsp;
    +<FONT CLASS="FrameItemFont">
    +<BR>
    +<A HREF="Instrumenter.html" title="class in org.jacoco.core.instr" target="classFrame">Instrumenter</A></FONT></TD>
    +</TR>
    +</TABLE>
    +
    +
    +</BODY>
    +</HTML>
    diff --git a/jacoco/trunk/doc/api/org/jacoco/core/instr/package-summary.html b/jacoco/trunk/doc/api/org/jacoco/core/instr/package-summary.html
    new file mode 100644
    index 00000000000..9c058118a1c
    --- /dev/null
    +++ b/jacoco/trunk/doc/api/org/jacoco/core/instr/package-summary.html
    @@ -0,0 +1,174 @@
    +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
    +<!--NewPage-->
    +<HTML>
    +<HEAD>
    +<!-- Generated by javadoc (build 1.5.0_22) on Wed Mar 27 16:45:42 UTC 2024 -->
    +<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
    +<TITLE>
    +org.jacoco.core.instr (JaCoCo 0.8.12.202403270442 API)
    +</TITLE>
    +
    +<META NAME="keywords" CONTENT="org.jacoco.core.instr package">
    +
    +<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../stylesheet.css" TITLE="Style">
    +
    +<SCRIPT type="text/javascript">
    +function windowTitle()
    +{
    +    parent.document.title="org.jacoco.core.instr (JaCoCo 0.8.12.202403270442 API)";
    +}
    +</SCRIPT>
    +<NOSCRIPT>
    +</NOSCRIPT>
    +
    +</HEAD>
    +
    +<BODY BGCOLOR="white" onload="windowTitle();">
    +
    +
    +<!-- ========= START OF TOP NAVBAR ======= -->
    +<A NAME="navbar_top"><!-- --></A>
    +<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
    +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
    +<TR>
    +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
    +<A NAME="navbar_top_firstrow"><!-- --></A>
    +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
    +  <TR ALIGN="center" VALIGN="top">
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Package</B></FONT>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <FONT CLASS="NavBarFont1">Class</FONT>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-use.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
    +  </TR>
    +</TABLE>
    +</TD>
    +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
    +</EM>
    +</TD>
    +</TR>
    +
    +<TR>
    +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
    +&nbsp;<A HREF="../../../../org/jacoco/core/data/package-summary.html"><B>PREV PACKAGE</B></A>&nbsp;
    +&nbsp;<A HREF="../../../../org/jacoco/core/runtime/package-summary.html"><B>NEXT PACKAGE</B></A></FONT></TD>
    +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
    +  <A HREF="../../../../index.html?org/jacoco/core/instr/package-summary.html" target="_top"><B>FRAMES</B></A>  &nbsp;
    +&nbsp;<A HREF="package-summary.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
    +&nbsp;<SCRIPT type="text/javascript">
    +  <!--
    +  if(window==top) {
    +    document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>');
    +  }
    +  //-->
    +</SCRIPT>
    +<NOSCRIPT>
    +  <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>
    +</NOSCRIPT>
    +
    +
    +</FONT></TD>
    +</TR>
    +</TABLE>
    +<A NAME="skip-navbar_top"></A>
    +<!-- ========= END OF TOP NAVBAR ========= -->
    +
    +<HR>
    +<H2>
    +Package org.jacoco.core.instr
    +</H2>
    +
    + Instrumentation of Java class files for code coverage.
    +<P>
    +<B>See:</B>
    +<BR>
    +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<A HREF="#package_description"><B>Description</B></A>
    +<P>
    +
    +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
    +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
    +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
    +<B>Class Summary</B></FONT></TH>
    +</TR>
    +<TR BGCOLOR="white" CLASS="TableRowColor">
    +<TD WIDTH="15%"><B><A HREF="../../../../org/jacoco/core/instr/Instrumenter.html" title="class in org.jacoco.core.instr">Instrumenter</A></B></TD>
    +<TD>Several APIs to instrument Java class definitions for coverage tracing.</TD>
    +</TR>
    +</TABLE>
    +&nbsp;
    +
    +<P>
    +<A NAME="package_description"><!-- --></A><H2>
    +Package org.jacoco.core.instr Description
    +</H2>
    +
    +<P>
    +<p>
    + Instrumentation of Java class files for code coverage. The main entry point
    + is the class <A HREF="../../../../org/jacoco/core/instr/Instrumenter.html" title="class in org.jacoco.core.instr"><CODE>Instrumenter</CODE></A>.
    + </p>
    +<P>
    +
    +<P>
    +<DL>
    +</DL>
    +<HR>
    +
    +
    +<!-- ======= START OF BOTTOM NAVBAR ====== -->
    +<A NAME="navbar_bottom"><!-- --></A>
    +<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
    +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
    +<TR>
    +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
    +<A NAME="navbar_bottom_firstrow"><!-- --></A>
    +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
    +  <TR ALIGN="center" VALIGN="top">
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Package</B></FONT>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <FONT CLASS="NavBarFont1">Class</FONT>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-use.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
    +  </TR>
    +</TABLE>
    +</TD>
    +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
    +</EM>
    +</TD>
    +</TR>
    +
    +<TR>
    +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
    +&nbsp;<A HREF="../../../../org/jacoco/core/data/package-summary.html"><B>PREV PACKAGE</B></A>&nbsp;
    +&nbsp;<A HREF="../../../../org/jacoco/core/runtime/package-summary.html"><B>NEXT PACKAGE</B></A></FONT></TD>
    +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
    +  <A HREF="../../../../index.html?org/jacoco/core/instr/package-summary.html" target="_top"><B>FRAMES</B></A>  &nbsp;
    +&nbsp;<A HREF="package-summary.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
    +&nbsp;<SCRIPT type="text/javascript">
    +  <!--
    +  if(window==top) {
    +    document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>');
    +  }
    +  //-->
    +</SCRIPT>
    +<NOSCRIPT>
    +  <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>
    +</NOSCRIPT>
    +
    +
    +</FONT></TD>
    +</TR>
    +</TABLE>
    +<A NAME="skip-navbar_bottom"></A>
    +<!-- ======== END OF BOTTOM NAVBAR ======= -->
    +
    +<HR>
    +Copyright &#169; 2009&#x2013;2024 Mountainminds GmbH & Co. KG. All rights reserved.
    +</BODY>
    +</HTML>
    diff --git a/jacoco/trunk/doc/api/org/jacoco/core/instr/package-tree.html b/jacoco/trunk/doc/api/org/jacoco/core/instr/package-tree.html
    new file mode 100644
    index 00000000000..1bfab5fc4f4
    --- /dev/null
    +++ b/jacoco/trunk/doc/api/org/jacoco/core/instr/package-tree.html
    @@ -0,0 +1,150 @@
    +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
    +<!--NewPage-->
    +<HTML>
    +<HEAD>
    +<!-- Generated by javadoc (build 1.5.0_22) on Wed Mar 27 16:45:42 UTC 2024 -->
    +<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
    +<TITLE>
    +org.jacoco.core.instr Class Hierarchy (JaCoCo 0.8.12.202403270442 API)
    +</TITLE>
    +
    +
    +<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../stylesheet.css" TITLE="Style">
    +
    +<SCRIPT type="text/javascript">
    +function windowTitle()
    +{
    +    parent.document.title="org.jacoco.core.instr Class Hierarchy (JaCoCo 0.8.12.202403270442 API)";
    +}
    +</SCRIPT>
    +<NOSCRIPT>
    +</NOSCRIPT>
    +
    +</HEAD>
    +
    +<BODY BGCOLOR="white" onload="windowTitle();">
    +
    +
    +<!-- ========= START OF TOP NAVBAR ======= -->
    +<A NAME="navbar_top"><!-- --></A>
    +<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
    +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
    +<TR>
    +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
    +<A NAME="navbar_top_firstrow"><!-- --></A>
    +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
    +  <TR ALIGN="center" VALIGN="top">
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <FONT CLASS="NavBarFont1">Class</FONT>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <FONT CLASS="NavBarFont1">Use</FONT>&nbsp;</TD>
    +  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Tree</B></FONT>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
    +  </TR>
    +</TABLE>
    +</TD>
    +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
    +</EM>
    +</TD>
    +</TR>
    +
    +<TR>
    +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
    +&nbsp;<A HREF="../../../../org/jacoco/core/data/package-tree.html"><B>PREV</B></A>&nbsp;
    +&nbsp;<A HREF="../../../../org/jacoco/core/runtime/package-tree.html"><B>NEXT</B></A></FONT></TD>
    +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
    +  <A HREF="../../../../index.html?org/jacoco/core/instr/package-tree.html" target="_top"><B>FRAMES</B></A>  &nbsp;
    +&nbsp;<A HREF="package-tree.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
    +&nbsp;<SCRIPT type="text/javascript">
    +  <!--
    +  if(window==top) {
    +    document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>');
    +  }
    +  //-->
    +</SCRIPT>
    +<NOSCRIPT>
    +  <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>
    +</NOSCRIPT>
    +
    +
    +</FONT></TD>
    +</TR>
    +</TABLE>
    +<A NAME="skip-navbar_top"></A>
    +<!-- ========= END OF TOP NAVBAR ========= -->
    +
    +<HR>
    +<CENTER>
    +<H2>
    +Hierarchy For Package org.jacoco.core.instr
    +</H2>
    +</CENTER>
    +<DL>
    +<DT><B>Package Hierarchies:</B><DD><A HREF="../../../../overview-tree.html">All Packages</A></DL>
    +<HR>
    +<H2>
    +Class Hierarchy
    +</H2>
    +<UL>
    +<LI TYPE="circle">java.lang.<A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html" title="class or interface in java.lang"><B>Object</B></A><UL>
    +<LI TYPE="circle">org.jacoco.core.instr.<A HREF="../../../../org/jacoco/core/instr/Instrumenter.html" title="class in org.jacoco.core.instr"><B>Instrumenter</B></A></UL>
    +</UL>
    +<HR>
    +
    +
    +<!-- ======= START OF BOTTOM NAVBAR ====== -->
    +<A NAME="navbar_bottom"><!-- --></A>
    +<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
    +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
    +<TR>
    +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
    +<A NAME="navbar_bottom_firstrow"><!-- --></A>
    +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
    +  <TR ALIGN="center" VALIGN="top">
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <FONT CLASS="NavBarFont1">Class</FONT>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <FONT CLASS="NavBarFont1">Use</FONT>&nbsp;</TD>
    +  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Tree</B></FONT>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
    +  </TR>
    +</TABLE>
    +</TD>
    +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
    +</EM>
    +</TD>
    +</TR>
    +
    +<TR>
    +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
    +&nbsp;<A HREF="../../../../org/jacoco/core/data/package-tree.html"><B>PREV</B></A>&nbsp;
    +&nbsp;<A HREF="../../../../org/jacoco/core/runtime/package-tree.html"><B>NEXT</B></A></FONT></TD>
    +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
    +  <A HREF="../../../../index.html?org/jacoco/core/instr/package-tree.html" target="_top"><B>FRAMES</B></A>  &nbsp;
    +&nbsp;<A HREF="package-tree.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
    +&nbsp;<SCRIPT type="text/javascript">
    +  <!--
    +  if(window==top) {
    +    document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>');
    +  }
    +  //-->
    +</SCRIPT>
    +<NOSCRIPT>
    +  <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>
    +</NOSCRIPT>
    +
    +
    +</FONT></TD>
    +</TR>
    +</TABLE>
    +<A NAME="skip-navbar_bottom"></A>
    +<!-- ======== END OF BOTTOM NAVBAR ======= -->
    +
    +<HR>
    +Copyright &#169; 2009&#x2013;2024 Mountainminds GmbH & Co. KG. All rights reserved.
    +</BODY>
    +</HTML>
    diff --git a/jacoco/trunk/doc/api/org/jacoco/core/instr/package-use.html b/jacoco/trunk/doc/api/org/jacoco/core/instr/package-use.html
    new file mode 100644
    index 00000000000..ae5c4370039
    --- /dev/null
    +++ b/jacoco/trunk/doc/api/org/jacoco/core/instr/package-use.html
    @@ -0,0 +1,141 @@
    +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
    +<!--NewPage-->
    +<HTML>
    +<HEAD>
    +<!-- Generated by javadoc (build 1.5.0_22) on Wed Mar 27 16:45:42 UTC 2024 -->
    +<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
    +<TITLE>
    +Uses of Package org.jacoco.core.instr (JaCoCo 0.8.12.202403270442 API)
    +</TITLE>
    +
    +
    +<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../stylesheet.css" TITLE="Style">
    +
    +<SCRIPT type="text/javascript">
    +function windowTitle()
    +{
    +    parent.document.title="Uses of Package org.jacoco.core.instr (JaCoCo 0.8.12.202403270442 API)";
    +}
    +</SCRIPT>
    +<NOSCRIPT>
    +</NOSCRIPT>
    +
    +</HEAD>
    +
    +<BODY BGCOLOR="white" onload="windowTitle();">
    +
    +
    +<!-- ========= START OF TOP NAVBAR ======= -->
    +<A NAME="navbar_top"><!-- --></A>
    +<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
    +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
    +<TR>
    +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
    +<A NAME="navbar_top_firstrow"><!-- --></A>
    +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
    +  <TR ALIGN="center" VALIGN="top">
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <FONT CLASS="NavBarFont1">Class</FONT>&nbsp;</TD>
    +  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
    +  </TR>
    +</TABLE>
    +</TD>
    +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
    +</EM>
    +</TD>
    +</TR>
    +
    +<TR>
    +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
    +&nbsp;PREV&nbsp;
    +&nbsp;NEXT</FONT></TD>
    +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
    +  <A HREF="../../../../index.html?org/jacoco/core/instr/package-use.html" target="_top"><B>FRAMES</B></A>  &nbsp;
    +&nbsp;<A HREF="package-use.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
    +&nbsp;<SCRIPT type="text/javascript">
    +  <!--
    +  if(window==top) {
    +    document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>');
    +  }
    +  //-->
    +</SCRIPT>
    +<NOSCRIPT>
    +  <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>
    +</NOSCRIPT>
    +
    +
    +</FONT></TD>
    +</TR>
    +</TABLE>
    +<A NAME="skip-navbar_top"></A>
    +<!-- ========= END OF TOP NAVBAR ========= -->
    +
    +<HR>
    +<CENTER>
    +<H2>
    +<B>Uses of Package<br>org.jacoco.core.instr</B></H2>
    +</CENTER>
    +No usage of org.jacoco.core.instr
    +<P>
    +<HR>
    +
    +
    +<!-- ======= START OF BOTTOM NAVBAR ====== -->
    +<A NAME="navbar_bottom"><!-- --></A>
    +<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
    +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
    +<TR>
    +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
    +<A NAME="navbar_bottom_firstrow"><!-- --></A>
    +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
    +  <TR ALIGN="center" VALIGN="top">
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <FONT CLASS="NavBarFont1">Class</FONT>&nbsp;</TD>
    +  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
    +  </TR>
    +</TABLE>
    +</TD>
    +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
    +</EM>
    +</TD>
    +</TR>
    +
    +<TR>
    +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
    +&nbsp;PREV&nbsp;
    +&nbsp;NEXT</FONT></TD>
    +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
    +  <A HREF="../../../../index.html?org/jacoco/core/instr/package-use.html" target="_top"><B>FRAMES</B></A>  &nbsp;
    +&nbsp;<A HREF="package-use.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
    +&nbsp;<SCRIPT type="text/javascript">
    +  <!--
    +  if(window==top) {
    +    document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>');
    +  }
    +  //-->
    +</SCRIPT>
    +<NOSCRIPT>
    +  <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>
    +</NOSCRIPT>
    +
    +
    +</FONT></TD>
    +</TR>
    +</TABLE>
    +<A NAME="skip-navbar_bottom"></A>
    +<!-- ======== END OF BOTTOM NAVBAR ======= -->
    +
    +<HR>
    +Copyright &#169; 2009&#x2013;2024 Mountainminds GmbH & Co. KG. All rights reserved.
    +</BODY>
    +</HTML>
    diff --git a/jacoco/trunk/doc/api/org/jacoco/core/package-frame.html b/jacoco/trunk/doc/api/org/jacoco/core/package-frame.html
    new file mode 100644
    index 00000000000..95c6349f02d
    --- /dev/null
    +++ b/jacoco/trunk/doc/api/org/jacoco/core/package-frame.html
    @@ -0,0 +1,33 @@
    +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
    +<!--NewPage-->
    +<HTML>
    +<HEAD>
    +<!-- Generated by javadoc (build 1.5.0_22) on Wed Mar 27 16:45:42 UTC 2024 -->
    +<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
    +<TITLE>
    +org.jacoco.core (JaCoCo 0.8.12.202403270442 API)
    +</TITLE>
    +
    +<META NAME="keywords" CONTENT="org.jacoco.core package">
    +
    +<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../stylesheet.css" TITLE="Style">
    +
    +
    +</HEAD>
    +
    +<BODY BGCOLOR="white">
    +<FONT size="+1" CLASS="FrameTitleFont">
    +<A HREF="../../../org/jacoco/core/package-summary.html" target="classFrame">org.jacoco.core</A></FONT>
    +<TABLE BORDER="0" WIDTH="100%" SUMMARY="">
    +<TR>
    +<TD NOWRAP><FONT size="+1" CLASS="FrameHeadingFont">
    +Classes</FONT>&nbsp;
    +<FONT CLASS="FrameItemFont">
    +<BR>
    +<A HREF="JaCoCo.html" title="class in org.jacoco.core" target="classFrame">JaCoCo</A></FONT></TD>
    +</TR>
    +</TABLE>
    +
    +
    +</BODY>
    +</HTML>
    diff --git a/jacoco/trunk/doc/api/org/jacoco/core/package-summary.html b/jacoco/trunk/doc/api/org/jacoco/core/package-summary.html
    new file mode 100644
    index 00000000000..69979b9a260
    --- /dev/null
    +++ b/jacoco/trunk/doc/api/org/jacoco/core/package-summary.html
    @@ -0,0 +1,170 @@
    +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
    +<!--NewPage-->
    +<HTML>
    +<HEAD>
    +<!-- Generated by javadoc (build 1.5.0_22) on Wed Mar 27 16:45:42 UTC 2024 -->
    +<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
    +<TITLE>
    +org.jacoco.core (JaCoCo 0.8.12.202403270442 API)
    +</TITLE>
    +
    +<META NAME="keywords" CONTENT="org.jacoco.core package">
    +
    +<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../stylesheet.css" TITLE="Style">
    +
    +<SCRIPT type="text/javascript">
    +function windowTitle()
    +{
    +    parent.document.title="org.jacoco.core (JaCoCo 0.8.12.202403270442 API)";
    +}
    +</SCRIPT>
    +<NOSCRIPT>
    +</NOSCRIPT>
    +
    +</HEAD>
    +
    +<BODY BGCOLOR="white" onload="windowTitle();">
    +
    +
    +<!-- ========= START OF TOP NAVBAR ======= -->
    +<A NAME="navbar_top"><!-- --></A>
    +<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
    +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
    +<TR>
    +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
    +<A NAME="navbar_top_firstrow"><!-- --></A>
    +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
    +  <TR ALIGN="center" VALIGN="top">
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Package</B></FONT>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <FONT CLASS="NavBarFont1">Class</FONT>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-use.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
    +  </TR>
    +</TABLE>
    +</TD>
    +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
    +</EM>
    +</TD>
    +</TR>
    +
    +<TR>
    +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
    +&nbsp;<A HREF="../../../org/jacoco/agent/rt/package-summary.html"><B>PREV PACKAGE</B></A>&nbsp;
    +&nbsp;<A HREF="../../../org/jacoco/core/analysis/package-summary.html"><B>NEXT PACKAGE</B></A></FONT></TD>
    +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
    +  <A HREF="../../../index.html?org/jacoco/core/package-summary.html" target="_top"><B>FRAMES</B></A>  &nbsp;
    +&nbsp;<A HREF="package-summary.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
    +&nbsp;<SCRIPT type="text/javascript">
    +  <!--
    +  if(window==top) {
    +    document.writeln('<A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>');
    +  }
    +  //-->
    +</SCRIPT>
    +<NOSCRIPT>
    +  <A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>
    +</NOSCRIPT>
    +
    +
    +</FONT></TD>
    +</TR>
    +</TABLE>
    +<A NAME="skip-navbar_top"></A>
    +<!-- ========= END OF TOP NAVBAR ========= -->
    +
    +<HR>
    +<H2>
    +Package org.jacoco.core
    +</H2>
    +Meta information about JaCoCo.
    +<P>
    +<B>See:</B>
    +<BR>
    +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<A HREF="#package_description"><B>Description</B></A>
    +<P>
    +
    +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
    +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
    +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
    +<B>Class Summary</B></FONT></TH>
    +</TR>
    +<TR BGCOLOR="white" CLASS="TableRowColor">
    +<TD WIDTH="15%"><B><A HREF="../../../org/jacoco/core/JaCoCo.html" title="class in org.jacoco.core">JaCoCo</A></B></TD>
    +<TD>Static Meta information about JaCoCo.</TD>
    +</TR>
    +</TABLE>
    +&nbsp;
    +
    +<P>
    +<A NAME="package_description"><!-- --></A><H2>
    +Package org.jacoco.core Description
    +</H2>
    +
    +<P>
    +Meta information about JaCoCo.
    +<P>
    +
    +<P>
    +<DL>
    +</DL>
    +<HR>
    +
    +
    +<!-- ======= START OF BOTTOM NAVBAR ====== -->
    +<A NAME="navbar_bottom"><!-- --></A>
    +<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
    +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
    +<TR>
    +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
    +<A NAME="navbar_bottom_firstrow"><!-- --></A>
    +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
    +  <TR ALIGN="center" VALIGN="top">
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Package</B></FONT>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <FONT CLASS="NavBarFont1">Class</FONT>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-use.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
    +  </TR>
    +</TABLE>
    +</TD>
    +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
    +</EM>
    +</TD>
    +</TR>
    +
    +<TR>
    +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
    +&nbsp;<A HREF="../../../org/jacoco/agent/rt/package-summary.html"><B>PREV PACKAGE</B></A>&nbsp;
    +&nbsp;<A HREF="../../../org/jacoco/core/analysis/package-summary.html"><B>NEXT PACKAGE</B></A></FONT></TD>
    +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
    +  <A HREF="../../../index.html?org/jacoco/core/package-summary.html" target="_top"><B>FRAMES</B></A>  &nbsp;
    +&nbsp;<A HREF="package-summary.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
    +&nbsp;<SCRIPT type="text/javascript">
    +  <!--
    +  if(window==top) {
    +    document.writeln('<A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>');
    +  }
    +  //-->
    +</SCRIPT>
    +<NOSCRIPT>
    +  <A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>
    +</NOSCRIPT>
    +
    +
    +</FONT></TD>
    +</TR>
    +</TABLE>
    +<A NAME="skip-navbar_bottom"></A>
    +<!-- ======== END OF BOTTOM NAVBAR ======= -->
    +
    +<HR>
    +Copyright &#169; 2009&#x2013;2024 Mountainminds GmbH & Co. KG. All rights reserved.
    +</BODY>
    +</HTML>
    diff --git a/jacoco/trunk/doc/api/org/jacoco/core/package-tree.html b/jacoco/trunk/doc/api/org/jacoco/core/package-tree.html
    new file mode 100644
    index 00000000000..0c7bf1a0d38
    --- /dev/null
    +++ b/jacoco/trunk/doc/api/org/jacoco/core/package-tree.html
    @@ -0,0 +1,150 @@
    +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
    +<!--NewPage-->
    +<HTML>
    +<HEAD>
    +<!-- Generated by javadoc (build 1.5.0_22) on Wed Mar 27 16:45:42 UTC 2024 -->
    +<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
    +<TITLE>
    +org.jacoco.core Class Hierarchy (JaCoCo 0.8.12.202403270442 API)
    +</TITLE>
    +
    +
    +<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../stylesheet.css" TITLE="Style">
    +
    +<SCRIPT type="text/javascript">
    +function windowTitle()
    +{
    +    parent.document.title="org.jacoco.core Class Hierarchy (JaCoCo 0.8.12.202403270442 API)";
    +}
    +</SCRIPT>
    +<NOSCRIPT>
    +</NOSCRIPT>
    +
    +</HEAD>
    +
    +<BODY BGCOLOR="white" onload="windowTitle();">
    +
    +
    +<!-- ========= START OF TOP NAVBAR ======= -->
    +<A NAME="navbar_top"><!-- --></A>
    +<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
    +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
    +<TR>
    +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
    +<A NAME="navbar_top_firstrow"><!-- --></A>
    +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
    +  <TR ALIGN="center" VALIGN="top">
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <FONT CLASS="NavBarFont1">Class</FONT>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <FONT CLASS="NavBarFont1">Use</FONT>&nbsp;</TD>
    +  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Tree</B></FONT>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
    +  </TR>
    +</TABLE>
    +</TD>
    +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
    +</EM>
    +</TD>
    +</TR>
    +
    +<TR>
    +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
    +&nbsp;<A HREF="../../../org/jacoco/agent/rt/package-tree.html"><B>PREV</B></A>&nbsp;
    +&nbsp;<A HREF="../../../org/jacoco/core/analysis/package-tree.html"><B>NEXT</B></A></FONT></TD>
    +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
    +  <A HREF="../../../index.html?org/jacoco/core/package-tree.html" target="_top"><B>FRAMES</B></A>  &nbsp;
    +&nbsp;<A HREF="package-tree.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
    +&nbsp;<SCRIPT type="text/javascript">
    +  <!--
    +  if(window==top) {
    +    document.writeln('<A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>');
    +  }
    +  //-->
    +</SCRIPT>
    +<NOSCRIPT>
    +  <A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>
    +</NOSCRIPT>
    +
    +
    +</FONT></TD>
    +</TR>
    +</TABLE>
    +<A NAME="skip-navbar_top"></A>
    +<!-- ========= END OF TOP NAVBAR ========= -->
    +
    +<HR>
    +<CENTER>
    +<H2>
    +Hierarchy For Package org.jacoco.core
    +</H2>
    +</CENTER>
    +<DL>
    +<DT><B>Package Hierarchies:</B><DD><A HREF="../../../overview-tree.html">All Packages</A></DL>
    +<HR>
    +<H2>
    +Class Hierarchy
    +</H2>
    +<UL>
    +<LI TYPE="circle">java.lang.<A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html" title="class or interface in java.lang"><B>Object</B></A><UL>
    +<LI TYPE="circle">org.jacoco.core.<A HREF="../../../org/jacoco/core/JaCoCo.html" title="class in org.jacoco.core"><B>JaCoCo</B></A></UL>
    +</UL>
    +<HR>
    +
    +
    +<!-- ======= START OF BOTTOM NAVBAR ====== -->
    +<A NAME="navbar_bottom"><!-- --></A>
    +<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
    +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
    +<TR>
    +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
    +<A NAME="navbar_bottom_firstrow"><!-- --></A>
    +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
    +  <TR ALIGN="center" VALIGN="top">
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <FONT CLASS="NavBarFont1">Class</FONT>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <FONT CLASS="NavBarFont1">Use</FONT>&nbsp;</TD>
    +  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Tree</B></FONT>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
    +  </TR>
    +</TABLE>
    +</TD>
    +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
    +</EM>
    +</TD>
    +</TR>
    +
    +<TR>
    +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
    +&nbsp;<A HREF="../../../org/jacoco/agent/rt/package-tree.html"><B>PREV</B></A>&nbsp;
    +&nbsp;<A HREF="../../../org/jacoco/core/analysis/package-tree.html"><B>NEXT</B></A></FONT></TD>
    +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
    +  <A HREF="../../../index.html?org/jacoco/core/package-tree.html" target="_top"><B>FRAMES</B></A>  &nbsp;
    +&nbsp;<A HREF="package-tree.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
    +&nbsp;<SCRIPT type="text/javascript">
    +  <!--
    +  if(window==top) {
    +    document.writeln('<A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>');
    +  }
    +  //-->
    +</SCRIPT>
    +<NOSCRIPT>
    +  <A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>
    +</NOSCRIPT>
    +
    +
    +</FONT></TD>
    +</TR>
    +</TABLE>
    +<A NAME="skip-navbar_bottom"></A>
    +<!-- ======== END OF BOTTOM NAVBAR ======= -->
    +
    +<HR>
    +Copyright &#169; 2009&#x2013;2024 Mountainminds GmbH & Co. KG. All rights reserved.
    +</BODY>
    +</HTML>
    diff --git a/jacoco/trunk/doc/api/org/jacoco/core/package-use.html b/jacoco/trunk/doc/api/org/jacoco/core/package-use.html
    new file mode 100644
    index 00000000000..6ced68ea4d3
    --- /dev/null
    +++ b/jacoco/trunk/doc/api/org/jacoco/core/package-use.html
    @@ -0,0 +1,141 @@
    +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
    +<!--NewPage-->
    +<HTML>
    +<HEAD>
    +<!-- Generated by javadoc (build 1.5.0_22) on Wed Mar 27 16:45:42 UTC 2024 -->
    +<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
    +<TITLE>
    +Uses of Package org.jacoco.core (JaCoCo 0.8.12.202403270442 API)
    +</TITLE>
    +
    +
    +<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../stylesheet.css" TITLE="Style">
    +
    +<SCRIPT type="text/javascript">
    +function windowTitle()
    +{
    +    parent.document.title="Uses of Package org.jacoco.core (JaCoCo 0.8.12.202403270442 API)";
    +}
    +</SCRIPT>
    +<NOSCRIPT>
    +</NOSCRIPT>
    +
    +</HEAD>
    +
    +<BODY BGCOLOR="white" onload="windowTitle();">
    +
    +
    +<!-- ========= START OF TOP NAVBAR ======= -->
    +<A NAME="navbar_top"><!-- --></A>
    +<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
    +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
    +<TR>
    +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
    +<A NAME="navbar_top_firstrow"><!-- --></A>
    +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
    +  <TR ALIGN="center" VALIGN="top">
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <FONT CLASS="NavBarFont1">Class</FONT>&nbsp;</TD>
    +  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
    +  </TR>
    +</TABLE>
    +</TD>
    +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
    +</EM>
    +</TD>
    +</TR>
    +
    +<TR>
    +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
    +&nbsp;PREV&nbsp;
    +&nbsp;NEXT</FONT></TD>
    +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
    +  <A HREF="../../../index.html?org/jacoco/core/package-use.html" target="_top"><B>FRAMES</B></A>  &nbsp;
    +&nbsp;<A HREF="package-use.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
    +&nbsp;<SCRIPT type="text/javascript">
    +  <!--
    +  if(window==top) {
    +    document.writeln('<A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>');
    +  }
    +  //-->
    +</SCRIPT>
    +<NOSCRIPT>
    +  <A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>
    +</NOSCRIPT>
    +
    +
    +</FONT></TD>
    +</TR>
    +</TABLE>
    +<A NAME="skip-navbar_top"></A>
    +<!-- ========= END OF TOP NAVBAR ========= -->
    +
    +<HR>
    +<CENTER>
    +<H2>
    +<B>Uses of Package<br>org.jacoco.core</B></H2>
    +</CENTER>
    +No usage of org.jacoco.core
    +<P>
    +<HR>
    +
    +
    +<!-- ======= START OF BOTTOM NAVBAR ====== -->
    +<A NAME="navbar_bottom"><!-- --></A>
    +<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
    +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
    +<TR>
    +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
    +<A NAME="navbar_bottom_firstrow"><!-- --></A>
    +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
    +  <TR ALIGN="center" VALIGN="top">
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <FONT CLASS="NavBarFont1">Class</FONT>&nbsp;</TD>
    +  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
    +  </TR>
    +</TABLE>
    +</TD>
    +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
    +</EM>
    +</TD>
    +</TR>
    +
    +<TR>
    +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
    +&nbsp;PREV&nbsp;
    +&nbsp;NEXT</FONT></TD>
    +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
    +  <A HREF="../../../index.html?org/jacoco/core/package-use.html" target="_top"><B>FRAMES</B></A>  &nbsp;
    +&nbsp;<A HREF="package-use.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
    +&nbsp;<SCRIPT type="text/javascript">
    +  <!--
    +  if(window==top) {
    +    document.writeln('<A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>');
    +  }
    +  //-->
    +</SCRIPT>
    +<NOSCRIPT>
    +  <A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>
    +</NOSCRIPT>
    +
    +
    +</FONT></TD>
    +</TR>
    +</TABLE>
    +<A NAME="skip-navbar_bottom"></A>
    +<!-- ======== END OF BOTTOM NAVBAR ======= -->
    +
    +<HR>
    +Copyright &#169; 2009&#x2013;2024 Mountainminds GmbH & Co. KG. All rights reserved.
    +</BODY>
    +</HTML>
    diff --git a/jacoco/trunk/doc/api/org/jacoco/core/runtime/AbstractRuntime.html b/jacoco/trunk/doc/api/org/jacoco/core/runtime/AbstractRuntime.html
    new file mode 100644
    index 00000000000..6ad5b3df568
    --- /dev/null
    +++ b/jacoco/trunk/doc/api/org/jacoco/core/runtime/AbstractRuntime.html
    @@ -0,0 +1,349 @@
    +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
    +<!--NewPage-->
    +<HTML>
    +<HEAD>
    +<!-- Generated by javadoc (build 1.5.0_22) on Wed Mar 27 16:45:41 UTC 2024 -->
    +<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
    +<TITLE>
    +AbstractRuntime (JaCoCo 0.8.12.202403270442 API)
    +</TITLE>
    +
    +<META NAME="keywords" CONTENT="org.jacoco.core.runtime.AbstractRuntime class">
    +
    +<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../stylesheet.css" TITLE="Style">
    +
    +<SCRIPT type="text/javascript">
    +function windowTitle()
    +{
    +    parent.document.title="AbstractRuntime (JaCoCo 0.8.12.202403270442 API)";
    +}
    +</SCRIPT>
    +<NOSCRIPT>
    +</NOSCRIPT>
    +
    +</HEAD>
    +
    +<BODY BGCOLOR="white" onload="windowTitle();">
    +
    +
    +<!-- ========= START OF TOP NAVBAR ======= -->
    +<A NAME="navbar_top"><!-- --></A>
    +<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
    +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
    +<TR>
    +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
    +<A NAME="navbar_top_firstrow"><!-- --></A>
    +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
    +  <TR ALIGN="center" VALIGN="top">
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="class-use/AbstractRuntime.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
    +  </TR>
    +</TABLE>
    +</TD>
    +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
    +</EM>
    +</TD>
    +</TR>
    +
    +<TR>
    +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
    +&nbsp;PREV CLASS&nbsp;
    +&nbsp;<A HREF="../../../../org/jacoco/core/runtime/AgentOptions.html" title="class in org.jacoco.core.runtime"><B>NEXT CLASS</B></A></FONT></TD>
    +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
    +  <A HREF="../../../../index.html?org/jacoco/core/runtime/AbstractRuntime.html" target="_top"><B>FRAMES</B></A>  &nbsp;
    +&nbsp;<A HREF="AbstractRuntime.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
    +&nbsp;<SCRIPT type="text/javascript">
    +  <!--
    +  if(window==top) {
    +    document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>');
    +  }
    +  //-->
    +</SCRIPT>
    +<NOSCRIPT>
    +  <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>
    +</NOSCRIPT>
    +
    +
    +</FONT></TD>
    +</TR>
    +<TR>
    +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
    +  SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;<A HREF="#field_summary">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD>
    +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
    +DETAIL:&nbsp;<A HREF="#field_detail">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD>
    +</TR>
    +</TABLE>
    +<A NAME="skip-navbar_top"></A>
    +<!-- ========= END OF TOP NAVBAR ========= -->
    +
    +<HR>
    +<!-- ======== START OF CLASS DATA ======== -->
    +<H2>
    +<FONT SIZE="-1">
    +org.jacoco.core.runtime</FONT>
    +<BR>
    +Class AbstractRuntime</H2>
    +<PRE>
    +<A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html" title="class or interface in java.lang">java.lang.Object</A>
    +  <IMG SRC="../../../../resources/inherit.gif" ALT="extended by "><B>org.jacoco.core.runtime.AbstractRuntime</B>
    +</PRE>
    +<DL>
    +<DT><B>All Implemented Interfaces:</B> <DD><A HREF="../../../../org/jacoco/core/runtime/IExecutionDataAccessorGenerator.html" title="interface in org.jacoco.core.runtime">IExecutionDataAccessorGenerator</A>, <A HREF="../../../../org/jacoco/core/runtime/IRuntime.html" title="interface in org.jacoco.core.runtime">IRuntime</A></DD>
    +</DL>
    +<DL>
    +<DT><B>Direct Known Subclasses:</B> <DD><A HREF="../../../../org/jacoco/core/runtime/InjectedClassRuntime.html" title="class in org.jacoco.core.runtime">InjectedClassRuntime</A>, <A HREF="../../../../org/jacoco/core/runtime/LoggerRuntime.html" title="class in org.jacoco.core.runtime">LoggerRuntime</A>, <A HREF="../../../../org/jacoco/core/runtime/ModifiedSystemClassRuntime.html" title="class in org.jacoco.core.runtime">ModifiedSystemClassRuntime</A>, <A HREF="../../../../org/jacoco/core/runtime/SystemPropertiesRuntime.html" title="class in org.jacoco.core.runtime">SystemPropertiesRuntime</A></DD>
    +</DL>
    +<HR>
    +<DL>
    +<DT><PRE>public abstract class <B>AbstractRuntime</B><DT>extends <A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html" title="class or interface in java.lang">Object</A><DT>implements <A HREF="../../../../org/jacoco/core/runtime/IRuntime.html" title="interface in org.jacoco.core.runtime">IRuntime</A></DL>
    +</PRE>
    +
    +<P>
    +Base <A HREF="../../../../org/jacoco/core/runtime/IRuntime.html" title="interface in org.jacoco.core.runtime"><CODE>IRuntime</CODE></A> implementation.
    +<P>
    +
    +<P>
    +<HR>
    +
    +<P>
    +<!-- =========== FIELD SUMMARY =========== -->
    +
    +<A NAME="field_summary"><!-- --></A>
    +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
    +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
    +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
    +<B>Field Summary</B></FONT></TH>
    +</TR>
    +<TR BGCOLOR="white" CLASS="TableRowColor">
    +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
    +<CODE>protected &nbsp;<A HREF="../../../../org/jacoco/core/runtime/RuntimeData.html" title="class in org.jacoco.core.runtime">RuntimeData</A></CODE></FONT></TD>
    +<TD><CODE><B><A HREF="../../../../org/jacoco/core/runtime/AbstractRuntime.html#data">data</A></B></CODE>
    +
    +<BR>
    +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;access to the runtime data</TD>
    +</TR>
    +</TABLE>
    +&nbsp;
    +<!-- ======== CONSTRUCTOR SUMMARY ======== -->
    +
    +<A NAME="constructor_summary"><!-- --></A>
    +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
    +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
    +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
    +<B>Constructor Summary</B></FONT></TH>
    +</TR>
    +<TR BGCOLOR="white" CLASS="TableRowColor">
    +<TD><CODE><B><A HREF="../../../../org/jacoco/core/runtime/AbstractRuntime.html#AbstractRuntime()">AbstractRuntime</A></B>()</CODE>
    +
    +<BR>
    +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
    +</TR>
    +</TABLE>
    +&nbsp;
    +<!-- ========== METHOD SUMMARY =========== -->
    +
    +<A NAME="method_summary"><!-- --></A>
    +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
    +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
    +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
    +<B>Method Summary</B></FONT></TH>
    +</TR>
    +<TR BGCOLOR="white" CLASS="TableRowColor">
    +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
    +<CODE>static&nbsp;<A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A></CODE></FONT></TD>
    +<TD><CODE><B><A HREF="../../../../org/jacoco/core/runtime/AbstractRuntime.html#createRandomId()">createRandomId</A></B>()</CODE>
    +
    +<BR>
    +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Creates a random session identifier.</TD>
    +</TR>
    +<TR BGCOLOR="white" CLASS="TableRowColor">
    +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
    +<CODE>&nbsp;void</CODE></FONT></TD>
    +<TD><CODE><B><A HREF="../../../../org/jacoco/core/runtime/AbstractRuntime.html#startup(org.jacoco.core.runtime.RuntimeData)">startup</A></B>(<A HREF="../../../../org/jacoco/core/runtime/RuntimeData.html" title="class in org.jacoco.core.runtime">RuntimeData</A>&nbsp;data)</CODE>
    +
    +<BR>
    +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Subclasses must call this method when overwriting it.</TD>
    +</TR>
    +</TABLE>
    +&nbsp;<A NAME="methods_inherited_from_class_java.lang.Object"><!-- --></A>
    +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
    +<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
    +<TH ALIGN="left"><B>Methods inherited from class java.lang.<A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html" title="class or interface in java.lang">Object</A></B></TH>
    +</TR>
    +<TR BGCOLOR="white" CLASS="TableRowColor">
    +<TD><CODE><A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html#clone()" title="class or interface in java.lang">clone</A>, <A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html#equals(java.lang.Object)" title="class or interface in java.lang">equals</A>, <A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html#finalize()" title="class or interface in java.lang">finalize</A>, <A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html#getClass()" title="class or interface in java.lang">getClass</A>, <A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html#hashCode()" title="class or interface in java.lang">hashCode</A>, <A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html#notify()" title="class or interface in java.lang">notify</A>, <A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html#notifyAll()" title="class or interface in java.lang">notifyAll</A>, <A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html#toString()" title="class or interface in java.lang">toString</A>, <A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html#wait()" title="class or interface in java.lang">wait</A>, <A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html#wait(long)" title="class or interface in java.lang">wait</A>, <A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html#wait(long, int)" title="class or interface in java.lang">wait</A></CODE></TD>
    +</TR>
    +</TABLE>
    +&nbsp;<A NAME="methods_inherited_from_class_org.jacoco.core.runtime.IRuntime"><!-- --></A>
    +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
    +<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
    +<TH ALIGN="left"><B>Methods inherited from interface org.jacoco.core.runtime.<A HREF="../../../../org/jacoco/core/runtime/IRuntime.html" title="interface in org.jacoco.core.runtime">IRuntime</A></B></TH>
    +</TR>
    +<TR BGCOLOR="white" CLASS="TableRowColor">
    +<TD><CODE><A HREF="../../../../org/jacoco/core/runtime/IRuntime.html#shutdown()">shutdown</A></CODE></TD>
    +</TR>
    +</TABLE>
    +&nbsp;<A NAME="methods_inherited_from_class_org.jacoco.core.runtime.IExecutionDataAccessorGenerator"><!-- --></A>
    +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
    +<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
    +<TH ALIGN="left"><B>Methods inherited from interface org.jacoco.core.runtime.<A HREF="../../../../org/jacoco/core/runtime/IExecutionDataAccessorGenerator.html" title="interface in org.jacoco.core.runtime">IExecutionDataAccessorGenerator</A></B></TH>
    +</TR>
    +<TR BGCOLOR="white" CLASS="TableRowColor">
    +<TD><CODE><A HREF="../../../../org/jacoco/core/runtime/IExecutionDataAccessorGenerator.html#generateDataAccessor(long, java.lang.String, int, org.objectweb.asm.MethodVisitor)">generateDataAccessor</A></CODE></TD>
    +</TR>
    +</TABLE>
    +&nbsp;
    +<P>
    +
    +<!-- ============ FIELD DETAIL =========== -->
    +
    +<A NAME="field_detail"><!-- --></A>
    +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
    +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
    +<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2">
    +<B>Field Detail</B></FONT></TH>
    +</TR>
    +</TABLE>
    +
    +<A NAME="data"><!-- --></A><H3>
    +data</H3>
    +<PRE>
    +protected <A HREF="../../../../org/jacoco/core/runtime/RuntimeData.html" title="class in org.jacoco.core.runtime">RuntimeData</A> <B>data</B></PRE>
    +<DL>
    +<DD>access to the runtime data
    +<P>
    +<DL>
    +</DL>
    +</DL>
    +
    +<!-- ========= CONSTRUCTOR DETAIL ======== -->
    +
    +<A NAME="constructor_detail"><!-- --></A>
    +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
    +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
    +<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2">
    +<B>Constructor Detail</B></FONT></TH>
    +</TR>
    +</TABLE>
    +
    +<A NAME="AbstractRuntime()"><!-- --></A><H3>
    +AbstractRuntime</H3>
    +<PRE>
    +public <B>AbstractRuntime</B>()</PRE>
    +<DL>
    +</DL>
    +
    +<!-- ============ METHOD DETAIL ========== -->
    +
    +<A NAME="method_detail"><!-- --></A>
    +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
    +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
    +<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2">
    +<B>Method Detail</B></FONT></TH>
    +</TR>
    +</TABLE>
    +
    +<A NAME="startup(org.jacoco.core.runtime.RuntimeData)"><!-- --></A><H3>
    +startup</H3>
    +<PRE>
    +public void <B>startup</B>(<A HREF="../../../../org/jacoco/core/runtime/RuntimeData.html" title="class in org.jacoco.core.runtime">RuntimeData</A>&nbsp;data)
    +             throws <A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Exception.html" title="class or interface in java.lang">Exception</A></PRE>
    +<DL>
    +<DD>Subclasses must call this method when overwriting it.
    +<P>
    +<DD><DL>
    +<DT><B>Specified by:</B><DD><CODE><A HREF="../../../../org/jacoco/core/runtime/IRuntime.html#startup(org.jacoco.core.runtime.RuntimeData)">startup</A></CODE> in interface <CODE><A HREF="../../../../org/jacoco/core/runtime/IRuntime.html" title="interface in org.jacoco.core.runtime">IRuntime</A></CODE></DL>
    +</DD>
    +<DD><DL>
    +<DT><B>Parameters:</B><DD><CODE>data</CODE> - the execution data for this runtime
    +<DT><B>Throws:</B>
    +<DD><CODE><A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Exception.html" title="class or interface in java.lang">Exception</A></CODE> - any internal problem during startup</DL>
    +</DD>
    +</DL>
    +<HR>
    +
    +<A NAME="createRandomId()"><!-- --></A><H3>
    +createRandomId</H3>
    +<PRE>
    +public static <A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> <B>createRandomId</B>()</PRE>
    +<DL>
    +<DD>Creates a random session identifier.
    +<P>
    +<DD><DL>
    +</DL>
    +</DD>
    +<DD><DL>
    +
    +<DT><B>Returns:</B><DD>random session identifier</DL>
    +</DD>
    +</DL>
    +<!-- ========= END OF CLASS DATA ========= -->
    +<HR>
    +
    +
    +<!-- ======= START OF BOTTOM NAVBAR ====== -->
    +<A NAME="navbar_bottom"><!-- --></A>
    +<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
    +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
    +<TR>
    +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
    +<A NAME="navbar_bottom_firstrow"><!-- --></A>
    +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
    +  <TR ALIGN="center" VALIGN="top">
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="class-use/AbstractRuntime.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
    +  </TR>
    +</TABLE>
    +</TD>
    +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
    +</EM>
    +</TD>
    +</TR>
    +
    +<TR>
    +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
    +&nbsp;PREV CLASS&nbsp;
    +&nbsp;<A HREF="../../../../org/jacoco/core/runtime/AgentOptions.html" title="class in org.jacoco.core.runtime"><B>NEXT CLASS</B></A></FONT></TD>
    +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
    +  <A HREF="../../../../index.html?org/jacoco/core/runtime/AbstractRuntime.html" target="_top"><B>FRAMES</B></A>  &nbsp;
    +&nbsp;<A HREF="AbstractRuntime.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
    +&nbsp;<SCRIPT type="text/javascript">
    +  <!--
    +  if(window==top) {
    +    document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>');
    +  }
    +  //-->
    +</SCRIPT>
    +<NOSCRIPT>
    +  <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>
    +</NOSCRIPT>
    +
    +
    +</FONT></TD>
    +</TR>
    +<TR>
    +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
    +  SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;<A HREF="#field_summary">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD>
    +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
    +DETAIL:&nbsp;<A HREF="#field_detail">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD>
    +</TR>
    +</TABLE>
    +<A NAME="skip-navbar_bottom"></A>
    +<!-- ======== END OF BOTTOM NAVBAR ======= -->
    +
    +<HR>
    +Copyright &#169; 2009&#x2013;2024 Mountainminds GmbH & Co. KG. All rights reserved.
    +</BODY>
    +</HTML>
    diff --git a/jacoco/trunk/doc/api/org/jacoco/core/runtime/AgentOptions.OutputMode.html b/jacoco/trunk/doc/api/org/jacoco/core/runtime/AgentOptions.OutputMode.html
    new file mode 100644
    index 00000000000..0dc032ec7fe
    --- /dev/null
    +++ b/jacoco/trunk/doc/api/org/jacoco/core/runtime/AgentOptions.OutputMode.html
    @@ -0,0 +1,380 @@
    +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
    +<!--NewPage-->
    +<HTML>
    +<HEAD>
    +<!-- Generated by javadoc (build 1.5.0_22) on Wed Mar 27 16:45:41 UTC 2024 -->
    +<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
    +<TITLE>
    +AgentOptions.OutputMode (JaCoCo 0.8.12.202403270442 API)
    +</TITLE>
    +
    +<META NAME="keywords" CONTENT="org.jacoco.core.runtime.AgentOptions.OutputMode class">
    +
    +<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../stylesheet.css" TITLE="Style">
    +
    +<SCRIPT type="text/javascript">
    +function windowTitle()
    +{
    +    parent.document.title="AgentOptions.OutputMode (JaCoCo 0.8.12.202403270442 API)";
    +}
    +</SCRIPT>
    +<NOSCRIPT>
    +</NOSCRIPT>
    +
    +</HEAD>
    +
    +<BODY BGCOLOR="white" onload="windowTitle();">
    +
    +
    +<!-- ========= START OF TOP NAVBAR ======= -->
    +<A NAME="navbar_top"><!-- --></A>
    +<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
    +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
    +<TR>
    +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
    +<A NAME="navbar_top_firstrow"><!-- --></A>
    +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
    +  <TR ALIGN="center" VALIGN="top">
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="class-use/AgentOptions.OutputMode.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
    +  </TR>
    +</TABLE>
    +</TD>
    +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
    +</EM>
    +</TD>
    +</TR>
    +
    +<TR>
    +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
    +&nbsp;<A HREF="../../../../org/jacoco/core/runtime/AgentOptions.html" title="class in org.jacoco.core.runtime"><B>PREV CLASS</B></A>&nbsp;
    +&nbsp;<A HREF="../../../../org/jacoco/core/runtime/IExecutionDataAccessorGenerator.html" title="interface in org.jacoco.core.runtime"><B>NEXT CLASS</B></A></FONT></TD>
    +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
    +  <A HREF="../../../../index.html?org/jacoco/core/runtime/AgentOptions.OutputMode.html" target="_top"><B>FRAMES</B></A>  &nbsp;
    +&nbsp;<A HREF="AgentOptions.OutputMode.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
    +&nbsp;<SCRIPT type="text/javascript">
    +  <!--
    +  if(window==top) {
    +    document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>');
    +  }
    +  //-->
    +</SCRIPT>
    +<NOSCRIPT>
    +  <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>
    +</NOSCRIPT>
    +
    +
    +</FONT></TD>
    +</TR>
    +<TR>
    +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
    +  SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;<A HREF="#enum_constant_summary">ENUM CONSTANTS</A>&nbsp;|&nbsp;FIELD&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD>
    +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
    +DETAIL:&nbsp;<A HREF="#enum_constant_detail">ENUM CONSTANTS</A>&nbsp;|&nbsp;FIELD&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD>
    +</TR>
    +</TABLE>
    +<A NAME="skip-navbar_top"></A>
    +<!-- ========= END OF TOP NAVBAR ========= -->
    +
    +<HR>
    +<!-- ======== START OF CLASS DATA ======== -->
    +<H2>
    +<FONT SIZE="-1">
    +org.jacoco.core.runtime</FONT>
    +<BR>
    +Enum AgentOptions.OutputMode</H2>
    +<PRE>
    +<A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html" title="class or interface in java.lang">java.lang.Object</A>
    +  <IMG SRC="../../../../resources/inherit.gif" ALT="extended by "><A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Enum.html" title="class or interface in java.lang">java.lang.Enum</A>&lt;<A HREF="../../../../org/jacoco/core/runtime/AgentOptions.OutputMode.html" title="enum in org.jacoco.core.runtime">AgentOptions.OutputMode</A>&gt;
    +      <IMG SRC="../../../../resources/inherit.gif" ALT="extended by "><B>org.jacoco.core.runtime.AgentOptions.OutputMode</B>
    +</PRE>
    +<DL>
    +<DT><B>All Implemented Interfaces:</B> <DD><A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/io/Serializable.html" title="class or interface in java.io">Serializable</A>, <A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Comparable.html" title="class or interface in java.lang">Comparable</A>&lt;<A HREF="../../../../org/jacoco/core/runtime/AgentOptions.OutputMode.html" title="enum in org.jacoco.core.runtime">AgentOptions.OutputMode</A>&gt;</DD>
    +</DL>
    +<DL>
    +<DT><B>Enclosing class:</B><DD><A HREF="../../../../org/jacoco/core/runtime/AgentOptions.html" title="class in org.jacoco.core.runtime">AgentOptions</A></DD>
    +</DL>
    +<HR>
    +<DL>
    +<DT><PRE>public static enum <B>AgentOptions.OutputMode</B><DT>extends <A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Enum.html" title="class or interface in java.lang">Enum</A>&lt;<A HREF="../../../../org/jacoco/core/runtime/AgentOptions.OutputMode.html" title="enum in org.jacoco.core.runtime">AgentOptions.OutputMode</A>&gt;</DL>
    +</PRE>
    +
    +<P>
    +Possible values for <A HREF="../../../../org/jacoco/core/runtime/AgentOptions.html#OUTPUT"><CODE>AgentOptions.OUTPUT</CODE></A>.
    +<P>
    +
    +<P>
    +<HR>
    +
    +<P>
    +<!-- =========== ENUM CONSTANT SUMMARY =========== -->
    +
    +<A NAME="enum_constant_summary"><!-- --></A>
    +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
    +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
    +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
    +<B>Enum Constant Summary</B></FONT></TH>
    +</TR>
    +<TR BGCOLOR="white" CLASS="TableRowColor">
    +<TD><CODE><B><A HREF="../../../../org/jacoco/core/runtime/AgentOptions.OutputMode.html#file">file</A></B></CODE>
    +
    +<BR>
    +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Value for the <A HREF="../../../../org/jacoco/core/runtime/AgentOptions.html#OUTPUT"><CODE>AgentOptions.OUTPUT</CODE></A> parameter: At VM
    + termination execution data is written to the file specified by
    + <A HREF="../../../../org/jacoco/core/runtime/AgentOptions.html#DESTFILE"><CODE>AgentOptions.DESTFILE</CODE></A>.</TD>
    +</TR>
    +<TR BGCOLOR="white" CLASS="TableRowColor">
    +<TD><CODE><B><A HREF="../../../../org/jacoco/core/runtime/AgentOptions.OutputMode.html#none">none</A></B></CODE>
    +
    +<BR>
    +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Value for the <A HREF="../../../../org/jacoco/core/runtime/AgentOptions.html#OUTPUT"><CODE>AgentOptions.OUTPUT</CODE></A> parameter: Do not produce
    + any output.</TD>
    +</TR>
    +<TR BGCOLOR="white" CLASS="TableRowColor">
    +<TD><CODE><B><A HREF="../../../../org/jacoco/core/runtime/AgentOptions.OutputMode.html#tcpclient">tcpclient</A></B></CODE>
    +
    +<BR>
    +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Value for the <A HREF="../../../../org/jacoco/core/runtime/AgentOptions.html#OUTPUT"><CODE>AgentOptions.OUTPUT</CODE></A> parameter: At startup the
    + agent connects to a TCP port specified by the
    + <A HREF="../../../../org/jacoco/core/runtime/AgentOptions.html#ADDRESS"><CODE>AgentOptions.ADDRESS</CODE></A> and <A HREF="../../../../org/jacoco/core/runtime/AgentOptions.html#PORT"><CODE>AgentOptions.PORT</CODE></A> attribute.</TD>
    +</TR>
    +<TR BGCOLOR="white" CLASS="TableRowColor">
    +<TD><CODE><B><A HREF="../../../../org/jacoco/core/runtime/AgentOptions.OutputMode.html#tcpserver">tcpserver</A></B></CODE>
    +
    +<BR>
    +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Value for the <A HREF="../../../../org/jacoco/core/runtime/AgentOptions.html#OUTPUT"><CODE>AgentOptions.OUTPUT</CODE></A> parameter: The agent
    + listens for incoming connections on a TCP port specified by
    + <A HREF="../../../../org/jacoco/core/runtime/AgentOptions.html#ADDRESS"><CODE>AgentOptions.ADDRESS</CODE></A> and <A HREF="../../../../org/jacoco/core/runtime/AgentOptions.html#PORT"><CODE>AgentOptions.PORT</CODE></A>.</TD>
    +</TR>
    +</TABLE>
    +&nbsp;
    +<!-- ========== METHOD SUMMARY =========== -->
    +
    +<A NAME="method_summary"><!-- --></A>
    +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
    +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
    +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
    +<B>Method Summary</B></FONT></TH>
    +</TR>
    +<TR BGCOLOR="white" CLASS="TableRowColor">
    +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
    +<CODE>static&nbsp;<A HREF="../../../../org/jacoco/core/runtime/AgentOptions.OutputMode.html" title="enum in org.jacoco.core.runtime">AgentOptions.OutputMode</A></CODE></FONT></TD>
    +<TD><CODE><B><A HREF="../../../../org/jacoco/core/runtime/AgentOptions.OutputMode.html#valueOf(java.lang.String)">valueOf</A></B>(<A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A>&nbsp;name)</CODE>
    +
    +<BR>
    +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns the enum constant of this type with the specified name.</TD>
    +</TR>
    +<TR BGCOLOR="white" CLASS="TableRowColor">
    +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
    +<CODE>static&nbsp;<A HREF="../../../../org/jacoco/core/runtime/AgentOptions.OutputMode.html" title="enum in org.jacoco.core.runtime">AgentOptions.OutputMode</A>[]</CODE></FONT></TD>
    +<TD><CODE><B><A HREF="../../../../org/jacoco/core/runtime/AgentOptions.OutputMode.html#values()">values</A></B>()</CODE>
    +
    +<BR>
    +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns an array containing the constants of this enum type, in
    +the order they're declared.</TD>
    +</TR>
    +</TABLE>
    +&nbsp;<A NAME="methods_inherited_from_class_java.lang.Enum"><!-- --></A>
    +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
    +<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
    +<TH ALIGN="left"><B>Methods inherited from class java.lang.<A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Enum.html" title="class or interface in java.lang">Enum</A></B></TH>
    +</TR>
    +<TR BGCOLOR="white" CLASS="TableRowColor">
    +<TD><CODE><A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Enum.html#clone()" title="class or interface in java.lang">clone</A>, <A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Enum.html#compareTo(E)" title="class or interface in java.lang">compareTo</A>, <A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Enum.html#equals(java.lang.Object)" title="class or interface in java.lang">equals</A>, <A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Enum.html#getDeclaringClass()" title="class or interface in java.lang">getDeclaringClass</A>, <A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Enum.html#hashCode()" title="class or interface in java.lang">hashCode</A>, <A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Enum.html#name()" title="class or interface in java.lang">name</A>, <A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Enum.html#ordinal()" title="class or interface in java.lang">ordinal</A>, <A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Enum.html#toString()" title="class or interface in java.lang">toString</A>, <A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Enum.html#valueOf(java.lang.Class, java.lang.String)" title="class or interface in java.lang">valueOf</A></CODE></TD>
    +</TR>
    +</TABLE>
    +&nbsp;<A NAME="methods_inherited_from_class_java.lang.Object"><!-- --></A>
    +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
    +<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
    +<TH ALIGN="left"><B>Methods inherited from class java.lang.<A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html" title="class or interface in java.lang">Object</A></B></TH>
    +</TR>
    +<TR BGCOLOR="white" CLASS="TableRowColor">
    +<TD><CODE><A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html#finalize()" title="class or interface in java.lang">finalize</A>, <A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html#getClass()" title="class or interface in java.lang">getClass</A>, <A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html#notify()" title="class or interface in java.lang">notify</A>, <A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html#notifyAll()" title="class or interface in java.lang">notifyAll</A>, <A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html#wait()" title="class or interface in java.lang">wait</A>, <A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html#wait(long)" title="class or interface in java.lang">wait</A>, <A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html#wait(long, int)" title="class or interface in java.lang">wait</A></CODE></TD>
    +</TR>
    +</TABLE>
    +&nbsp;
    +<P>
    +
    +<!-- ============ ENUM CONSTANT DETAIL =========== -->
    +
    +<A NAME="enum_constant_detail"><!-- --></A>
    +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
    +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
    +<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2">
    +<B>Enum Constant Detail</B></FONT></TH>
    +</TR>
    +</TABLE>
    +
    +<A NAME="file"><!-- --></A><H3>
    +file</H3>
    +<PRE>
    +public static final <A HREF="../../../../org/jacoco/core/runtime/AgentOptions.OutputMode.html" title="enum in org.jacoco.core.runtime">AgentOptions.OutputMode</A> <B>file</B></PRE>
    +<DL>
    +<DD>Value for the <A HREF="../../../../org/jacoco/core/runtime/AgentOptions.html#OUTPUT"><CODE>AgentOptions.OUTPUT</CODE></A> parameter: At VM
    + termination execution data is written to the file specified by
    + <A HREF="../../../../org/jacoco/core/runtime/AgentOptions.html#DESTFILE"><CODE>AgentOptions.DESTFILE</CODE></A>.
    +<P>
    +<DL>
    +</DL>
    +</DL>
    +<HR>
    +
    +<A NAME="tcpserver"><!-- --></A><H3>
    +tcpserver</H3>
    +<PRE>
    +public static final <A HREF="../../../../org/jacoco/core/runtime/AgentOptions.OutputMode.html" title="enum in org.jacoco.core.runtime">AgentOptions.OutputMode</A> <B>tcpserver</B></PRE>
    +<DL>
    +<DD>Value for the <A HREF="../../../../org/jacoco/core/runtime/AgentOptions.html#OUTPUT"><CODE>AgentOptions.OUTPUT</CODE></A> parameter: The agent
    + listens for incoming connections on a TCP port specified by
    + <A HREF="../../../../org/jacoco/core/runtime/AgentOptions.html#ADDRESS"><CODE>AgentOptions.ADDRESS</CODE></A> and <A HREF="../../../../org/jacoco/core/runtime/AgentOptions.html#PORT"><CODE>AgentOptions.PORT</CODE></A>.
    +<P>
    +<DL>
    +</DL>
    +</DL>
    +<HR>
    +
    +<A NAME="tcpclient"><!-- --></A><H3>
    +tcpclient</H3>
    +<PRE>
    +public static final <A HREF="../../../../org/jacoco/core/runtime/AgentOptions.OutputMode.html" title="enum in org.jacoco.core.runtime">AgentOptions.OutputMode</A> <B>tcpclient</B></PRE>
    +<DL>
    +<DD>Value for the <A HREF="../../../../org/jacoco/core/runtime/AgentOptions.html#OUTPUT"><CODE>AgentOptions.OUTPUT</CODE></A> parameter: At startup the
    + agent connects to a TCP port specified by the
    + <A HREF="../../../../org/jacoco/core/runtime/AgentOptions.html#ADDRESS"><CODE>AgentOptions.ADDRESS</CODE></A> and <A HREF="../../../../org/jacoco/core/runtime/AgentOptions.html#PORT"><CODE>AgentOptions.PORT</CODE></A> attribute.
    +<P>
    +<DL>
    +</DL>
    +</DL>
    +<HR>
    +
    +<A NAME="none"><!-- --></A><H3>
    +none</H3>
    +<PRE>
    +public static final <A HREF="../../../../org/jacoco/core/runtime/AgentOptions.OutputMode.html" title="enum in org.jacoco.core.runtime">AgentOptions.OutputMode</A> <B>none</B></PRE>
    +<DL>
    +<DD>Value for the <A HREF="../../../../org/jacoco/core/runtime/AgentOptions.html#OUTPUT"><CODE>AgentOptions.OUTPUT</CODE></A> parameter: Do not produce
    + any output.
    +<P>
    +<DL>
    +</DL>
    +</DL>
    +
    +<!-- ============ METHOD DETAIL ========== -->
    +
    +<A NAME="method_detail"><!-- --></A>
    +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
    +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
    +<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2">
    +<B>Method Detail</B></FONT></TH>
    +</TR>
    +</TABLE>
    +
    +<A NAME="values()"><!-- --></A><H3>
    +values</H3>
    +<PRE>
    +public static final <A HREF="../../../../org/jacoco/core/runtime/AgentOptions.OutputMode.html" title="enum in org.jacoco.core.runtime">AgentOptions.OutputMode</A>[] <B>values</B>()</PRE>
    +<DL>
    +<DD>Returns an array containing the constants of this enum type, in
    +the order they're declared.  This method may be used to iterate
    +over the constants as follows:
    +<pre>
    +for(AgentOptions.OutputMode c : AgentOptions.OutputMode.values())
    +        System.out.println(c);
    +</pre>
    +<P>
    +<DD><DL>
    +
    +<DT><B>Returns:</B><DD>an array containing the constants of this enum type, in
    +the order they're declared</DL>
    +</DD>
    +</DL>
    +<HR>
    +
    +<A NAME="valueOf(java.lang.String)"><!-- --></A><H3>
    +valueOf</H3>
    +<PRE>
    +public static <A HREF="../../../../org/jacoco/core/runtime/AgentOptions.OutputMode.html" title="enum in org.jacoco.core.runtime">AgentOptions.OutputMode</A> <B>valueOf</B>(<A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A>&nbsp;name)</PRE>
    +<DL>
    +<DD>Returns the enum constant of this type with the specified name.
    +The string must match <I>exactly</I> an identifier used to declare an
    +enum constant in this type.  (Extraneous whitespace characters are 
    +not permitted.)
    +<P>
    +<DD><DL>
    +<DT><B>Parameters:</B><DD><CODE>name</CODE> - the name of the enum constant to be returned.
    +<DT><B>Returns:</B><DD>the enum constant with the specified name
    +<DT><B>Throws:</B>
    +<DD><CODE><A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/IllegalArgumentException.html" title="class or interface in java.lang">IllegalArgumentException</A></CODE> - if this enum type has no constant
    +with the specified name</DL>
    +</DD>
    +</DL>
    +<!-- ========= END OF CLASS DATA ========= -->
    +<HR>
    +
    +
    +<!-- ======= START OF BOTTOM NAVBAR ====== -->
    +<A NAME="navbar_bottom"><!-- --></A>
    +<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
    +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
    +<TR>
    +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
    +<A NAME="navbar_bottom_firstrow"><!-- --></A>
    +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
    +  <TR ALIGN="center" VALIGN="top">
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="class-use/AgentOptions.OutputMode.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
    +  </TR>
    +</TABLE>
    +</TD>
    +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
    +</EM>
    +</TD>
    +</TR>
    +
    +<TR>
    +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
    +&nbsp;<A HREF="../../../../org/jacoco/core/runtime/AgentOptions.html" title="class in org.jacoco.core.runtime"><B>PREV CLASS</B></A>&nbsp;
    +&nbsp;<A HREF="../../../../org/jacoco/core/runtime/IExecutionDataAccessorGenerator.html" title="interface in org.jacoco.core.runtime"><B>NEXT CLASS</B></A></FONT></TD>
    +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
    +  <A HREF="../../../../index.html?org/jacoco/core/runtime/AgentOptions.OutputMode.html" target="_top"><B>FRAMES</B></A>  &nbsp;
    +&nbsp;<A HREF="AgentOptions.OutputMode.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
    +&nbsp;<SCRIPT type="text/javascript">
    +  <!--
    +  if(window==top) {
    +    document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>');
    +  }
    +  //-->
    +</SCRIPT>
    +<NOSCRIPT>
    +  <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>
    +</NOSCRIPT>
    +
    +
    +</FONT></TD>
    +</TR>
    +<TR>
    +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
    +  SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;<A HREF="#enum_constant_summary">ENUM CONSTANTS</A>&nbsp;|&nbsp;FIELD&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD>
    +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
    +DETAIL:&nbsp;<A HREF="#enum_constant_detail">ENUM CONSTANTS</A>&nbsp;|&nbsp;FIELD&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD>
    +</TR>
    +</TABLE>
    +<A NAME="skip-navbar_bottom"></A>
    +<!-- ======== END OF BOTTOM NAVBAR ======= -->
    +
    +<HR>
    +Copyright &#169; 2009&#x2013;2024 Mountainminds GmbH & Co. KG. All rights reserved.
    +</BODY>
    +</HTML>
    diff --git a/jacoco/trunk/doc/api/org/jacoco/core/runtime/AgentOptions.html b/jacoco/trunk/doc/api/org/jacoco/core/runtime/AgentOptions.html
    new file mode 100644
    index 00000000000..8a7b622fa72
    --- /dev/null
    +++ b/jacoco/trunk/doc/api/org/jacoco/core/runtime/AgentOptions.html
    @@ -0,0 +1,1439 @@
    +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
    +<!--NewPage-->
    +<HTML>
    +<HEAD>
    +<!-- Generated by javadoc (build 1.5.0_22) on Wed Mar 27 16:45:41 UTC 2024 -->
    +<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
    +<TITLE>
    +AgentOptions (JaCoCo 0.8.12.202403270442 API)
    +</TITLE>
    +
    +<META NAME="keywords" CONTENT="org.jacoco.core.runtime.AgentOptions class">
    +
    +<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../stylesheet.css" TITLE="Style">
    +
    +<SCRIPT type="text/javascript">
    +function windowTitle()
    +{
    +    parent.document.title="AgentOptions (JaCoCo 0.8.12.202403270442 API)";
    +}
    +</SCRIPT>
    +<NOSCRIPT>
    +</NOSCRIPT>
    +
    +</HEAD>
    +
    +<BODY BGCOLOR="white" onload="windowTitle();">
    +
    +
    +<!-- ========= START OF TOP NAVBAR ======= -->
    +<A NAME="navbar_top"><!-- --></A>
    +<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
    +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
    +<TR>
    +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
    +<A NAME="navbar_top_firstrow"><!-- --></A>
    +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
    +  <TR ALIGN="center" VALIGN="top">
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="class-use/AgentOptions.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
    +  </TR>
    +</TABLE>
    +</TD>
    +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
    +</EM>
    +</TD>
    +</TR>
    +
    +<TR>
    +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
    +&nbsp;<A HREF="../../../../org/jacoco/core/runtime/AbstractRuntime.html" title="class in org.jacoco.core.runtime"><B>PREV CLASS</B></A>&nbsp;
    +&nbsp;<A HREF="../../../../org/jacoco/core/runtime/AgentOptions.OutputMode.html" title="enum in org.jacoco.core.runtime"><B>NEXT CLASS</B></A></FONT></TD>
    +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
    +  <A HREF="../../../../index.html?org/jacoco/core/runtime/AgentOptions.html" target="_top"><B>FRAMES</B></A>  &nbsp;
    +&nbsp;<A HREF="AgentOptions.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
    +&nbsp;<SCRIPT type="text/javascript">
    +  <!--
    +  if(window==top) {
    +    document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>');
    +  }
    +  //-->
    +</SCRIPT>
    +<NOSCRIPT>
    +  <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>
    +</NOSCRIPT>
    +
    +
    +</FONT></TD>
    +</TR>
    +<TR>
    +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
    +  SUMMARY:&nbsp;<A HREF="#nested_class_summary">NESTED</A>&nbsp;|&nbsp;<A HREF="#field_summary">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD>
    +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
    +DETAIL:&nbsp;<A HREF="#field_detail">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD>
    +</TR>
    +</TABLE>
    +<A NAME="skip-navbar_top"></A>
    +<!-- ========= END OF TOP NAVBAR ========= -->
    +
    +<HR>
    +<!-- ======== START OF CLASS DATA ======== -->
    +<H2>
    +<FONT SIZE="-1">
    +org.jacoco.core.runtime</FONT>
    +<BR>
    +Class AgentOptions</H2>
    +<PRE>
    +<A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html" title="class or interface in java.lang">java.lang.Object</A>
    +  <IMG SRC="../../../../resources/inherit.gif" ALT="extended by "><B>org.jacoco.core.runtime.AgentOptions</B>
    +</PRE>
    +<HR>
    +<DL>
    +<DT><PRE>public final class <B>AgentOptions</B><DT>extends <A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html" title="class or interface in java.lang">Object</A></DL>
    +</PRE>
    +
    +<P>
    +Utility to create and parse options for the runtime agent. Options are
    + represented as a string in the following format:
    +
    + <pre>
    +   key1=value1,key2=value2,key3=value3
    + </pre>
    +<P>
    +
    +<P>
    +<HR>
    +
    +<P>
    +<!-- ======== NESTED CLASS SUMMARY ======== -->
    +
    +<A NAME="nested_class_summary"><!-- --></A>
    +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
    +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
    +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
    +<B>Nested Class Summary</B></FONT></TH>
    +</TR>
    +<TR BGCOLOR="white" CLASS="TableRowColor">
    +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
    +<CODE>static&nbsp;class</CODE></FONT></TD>
    +<TD><CODE><B><A HREF="../../../../org/jacoco/core/runtime/AgentOptions.OutputMode.html" title="enum in org.jacoco.core.runtime">AgentOptions.OutputMode</A></B></CODE>
    +
    +<BR>
    +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Possible values for <A HREF="../../../../org/jacoco/core/runtime/AgentOptions.html#OUTPUT"><CODE>OUTPUT</CODE></A>.</TD>
    +</TR>
    +</TABLE>
    +&nbsp;<!-- =========== FIELD SUMMARY =========== -->
    +
    +<A NAME="field_summary"><!-- --></A>
    +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
    +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
    +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
    +<B>Field Summary</B></FONT></TH>
    +</TR>
    +<TR BGCOLOR="white" CLASS="TableRowColor">
    +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
    +<CODE>static&nbsp;<A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A></CODE></FONT></TD>
    +<TD><CODE><B><A HREF="../../../../org/jacoco/core/runtime/AgentOptions.html#ADDRESS">ADDRESS</A></B></CODE>
    +
    +<BR>
    +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;The IP address or DNS name the tcpserver binds to or the tcpclient
    + connects to.</TD>
    +</TR>
    +<TR BGCOLOR="white" CLASS="TableRowColor">
    +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
    +<CODE>static&nbsp;<A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A></CODE></FONT></TD>
    +<TD><CODE><B><A HREF="../../../../org/jacoco/core/runtime/AgentOptions.html#APPEND">APPEND</A></B></CODE>
    +
    +<BR>
    +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Specifies whether execution data should be appended to the output file.</TD>
    +</TR>
    +<TR BGCOLOR="white" CLASS="TableRowColor">
    +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
    +<CODE>static&nbsp;<A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A></CODE></FONT></TD>
    +<TD><CODE><B><A HREF="../../../../org/jacoco/core/runtime/AgentOptions.html#CLASSDUMPDIR">CLASSDUMPDIR</A></B></CODE>
    +
    +<BR>
    +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Specifies where the agent dumps all class files it encounters.</TD>
    +</TR>
    +<TR BGCOLOR="white" CLASS="TableRowColor">
    +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
    +<CODE>static&nbsp;<A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A></CODE></FONT></TD>
    +<TD><CODE><B><A HREF="../../../../org/jacoco/core/runtime/AgentOptions.html#DEFAULT_ADDRESS">DEFAULT_ADDRESS</A></B></CODE>
    +
    +<BR>
    +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Default value for the "address" agent option.</TD>
    +</TR>
    +<TR BGCOLOR="white" CLASS="TableRowColor">
    +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
    +<CODE>static&nbsp;<A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A></CODE></FONT></TD>
    +<TD><CODE><B><A HREF="../../../../org/jacoco/core/runtime/AgentOptions.html#DEFAULT_DESTFILE">DEFAULT_DESTFILE</A></B></CODE>
    +
    +<BR>
    +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Default value for the "destfile" agent option.</TD>
    +</TR>
    +<TR BGCOLOR="white" CLASS="TableRowColor">
    +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
    +<CODE>static&nbsp;int</CODE></FONT></TD>
    +<TD><CODE><B><A HREF="../../../../org/jacoco/core/runtime/AgentOptions.html#DEFAULT_PORT">DEFAULT_PORT</A></B></CODE>
    +
    +<BR>
    +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Default value for the "port" agent option.</TD>
    +</TR>
    +<TR BGCOLOR="white" CLASS="TableRowColor">
    +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
    +<CODE>static&nbsp;<A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A></CODE></FONT></TD>
    +<TD><CODE><B><A HREF="../../../../org/jacoco/core/runtime/AgentOptions.html#DESTFILE">DESTFILE</A></B></CODE>
    +
    +<BR>
    +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Specifies the output file for execution data.</TD>
    +</TR>
    +<TR BGCOLOR="white" CLASS="TableRowColor">
    +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
    +<CODE>static&nbsp;<A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A></CODE></FONT></TD>
    +<TD><CODE><B><A HREF="../../../../org/jacoco/core/runtime/AgentOptions.html#DUMPONEXIT">DUMPONEXIT</A></B></CODE>
    +
    +<BR>
    +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Specifies whether the agent will automatically dump coverage data on VM
    + exit.</TD>
    +</TR>
    +<TR BGCOLOR="white" CLASS="TableRowColor">
    +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
    +<CODE>static&nbsp;<A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A></CODE></FONT></TD>
    +<TD><CODE><B><A HREF="../../../../org/jacoco/core/runtime/AgentOptions.html#EXCLCLASSLOADER">EXCLCLASSLOADER</A></B></CODE>
    +
    +<BR>
    +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Wildcard expression for class loaders names for classes that should be
    + excluded from code coverage.</TD>
    +</TR>
    +<TR BGCOLOR="white" CLASS="TableRowColor">
    +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
    +<CODE>static&nbsp;<A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A></CODE></FONT></TD>
    +<TD><CODE><B><A HREF="../../../../org/jacoco/core/runtime/AgentOptions.html#EXCLUDES">EXCLUDES</A></B></CODE>
    +
    +<BR>
    +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Wildcard expression for class names that should be excluded from code
    + coverage.</TD>
    +</TR>
    +<TR BGCOLOR="white" CLASS="TableRowColor">
    +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
    +<CODE>static&nbsp;<A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A></CODE></FONT></TD>
    +<TD><CODE><B><A HREF="../../../../org/jacoco/core/runtime/AgentOptions.html#INCLBOOTSTRAPCLASSES">INCLBOOTSTRAPCLASSES</A></B></CODE>
    +
    +<BR>
    +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Specifies whether also classes from the bootstrap classloader should be
    + instrumented.</TD>
    +</TR>
    +<TR BGCOLOR="white" CLASS="TableRowColor">
    +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
    +<CODE>static&nbsp;<A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A></CODE></FONT></TD>
    +<TD><CODE><B><A HREF="../../../../org/jacoco/core/runtime/AgentOptions.html#INCLNOLOCATIONCLASSES">INCLNOLOCATIONCLASSES</A></B></CODE>
    +
    +<BR>
    +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Specifies whether also classes without a source location should be
    + instrumented.</TD>
    +</TR>
    +<TR BGCOLOR="white" CLASS="TableRowColor">
    +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
    +<CODE>static&nbsp;<A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A></CODE></FONT></TD>
    +<TD><CODE><B><A HREF="../../../../org/jacoco/core/runtime/AgentOptions.html#INCLUDES">INCLUDES</A></B></CODE>
    +
    +<BR>
    +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Wildcard expression for class names that should be included for code
    + coverage.</TD>
    +</TR>
    +<TR BGCOLOR="white" CLASS="TableRowColor">
    +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
    +<CODE>static&nbsp;<A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A></CODE></FONT></TD>
    +<TD><CODE><B><A HREF="../../../../org/jacoco/core/runtime/AgentOptions.html#JMX">JMX</A></B></CODE>
    +
    +<BR>
    +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Specifies whether the agent should expose functionality via JMX under the
    + name "org.jacoco:type=Runtime".</TD>
    +</TR>
    +<TR BGCOLOR="white" CLASS="TableRowColor">
    +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
    +<CODE>static&nbsp;<A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A></CODE></FONT></TD>
    +<TD><CODE><B><A HREF="../../../../org/jacoco/core/runtime/AgentOptions.html#OUTPUT">OUTPUT</A></B></CODE>
    +
    +<BR>
    +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Specifies the output mode.</TD>
    +</TR>
    +<TR BGCOLOR="white" CLASS="TableRowColor">
    +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
    +<CODE>static&nbsp;<A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A></CODE></FONT></TD>
    +<TD><CODE><B><A HREF="../../../../org/jacoco/core/runtime/AgentOptions.html#PORT">PORT</A></B></CODE>
    +
    +<BR>
    +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;The port the tcpserver binds to or the tcpclient connects to.</TD>
    +</TR>
    +<TR BGCOLOR="white" CLASS="TableRowColor">
    +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
    +<CODE>static&nbsp;<A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A></CODE></FONT></TD>
    +<TD><CODE><B><A HREF="../../../../org/jacoco/core/runtime/AgentOptions.html#SESSIONID">SESSIONID</A></B></CODE>
    +
    +<BR>
    +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Specifies a session identifier that is written with the execution data.</TD>
    +</TR>
    +</TABLE>
    +&nbsp;
    +<!-- ======== CONSTRUCTOR SUMMARY ======== -->
    +
    +<A NAME="constructor_summary"><!-- --></A>
    +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
    +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
    +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
    +<B>Constructor Summary</B></FONT></TH>
    +</TR>
    +<TR BGCOLOR="white" CLASS="TableRowColor">
    +<TD><CODE><B><A HREF="../../../../org/jacoco/core/runtime/AgentOptions.html#AgentOptions()">AgentOptions</A></B>()</CODE>
    +
    +<BR>
    +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;New instance with all values set to default.</TD>
    +</TR>
    +<TR BGCOLOR="white" CLASS="TableRowColor">
    +<TD><CODE><B><A HREF="../../../../org/jacoco/core/runtime/AgentOptions.html#AgentOptions(java.util.Properties)">AgentOptions</A></B>(<A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/util/Properties.html" title="class or interface in java.util">Properties</A>&nbsp;properties)</CODE>
    +
    +<BR>
    +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;New instance read from the given <A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/util/Properties.html" title="class or interface in java.util"><CODE>Properties</CODE></A> object.</TD>
    +</TR>
    +<TR BGCOLOR="white" CLASS="TableRowColor">
    +<TD><CODE><B><A HREF="../../../../org/jacoco/core/runtime/AgentOptions.html#AgentOptions(java.lang.String)">AgentOptions</A></B>(<A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A>&nbsp;optionstr)</CODE>
    +
    +<BR>
    +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;New instance parsed from the given option string.</TD>
    +</TR>
    +</TABLE>
    +&nbsp;
    +<!-- ========== METHOD SUMMARY =========== -->
    +
    +<A NAME="method_summary"><!-- --></A>
    +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
    +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
    +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
    +<B>Method Summary</B></FONT></TH>
    +</TR>
    +<TR BGCOLOR="white" CLASS="TableRowColor">
    +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
    +<CODE>&nbsp;<A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A></CODE></FONT></TD>
    +<TD><CODE><B><A HREF="../../../../org/jacoco/core/runtime/AgentOptions.html#getAddress()">getAddress</A></B>()</CODE>
    +
    +<BR>
    +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Gets the hostname or IP address to listen to when output is
    + <code>tcpserver</code> or connect to when output is
    + <code>tcpclient</code></TD>
    +</TR>
    +<TR BGCOLOR="white" CLASS="TableRowColor">
    +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
    +<CODE>&nbsp;boolean</CODE></FONT></TD>
    +<TD><CODE><B><A HREF="../../../../org/jacoco/core/runtime/AgentOptions.html#getAppend()">getAppend</A></B>()</CODE>
    +
    +<BR>
    +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns whether the output should be appended to an existing file.</TD>
    +</TR>
    +<TR BGCOLOR="white" CLASS="TableRowColor">
    +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
    +<CODE>&nbsp;<A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A></CODE></FONT></TD>
    +<TD><CODE><B><A HREF="../../../../org/jacoco/core/runtime/AgentOptions.html#getClassDumpDir()">getClassDumpDir</A></B>()</CODE>
    +
    +<BR>
    +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns the location of the directory where class files should be dumped
    + to.</TD>
    +</TR>
    +<TR BGCOLOR="white" CLASS="TableRowColor">
    +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
    +<CODE>&nbsp;<A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A></CODE></FONT></TD>
    +<TD><CODE><B><A HREF="../../../../org/jacoco/core/runtime/AgentOptions.html#getDestfile()">getDestfile</A></B>()</CODE>
    +
    +<BR>
    +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns the output file location.</TD>
    +</TR>
    +<TR BGCOLOR="white" CLASS="TableRowColor">
    +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
    +<CODE>&nbsp;boolean</CODE></FONT></TD>
    +<TD><CODE><B><A HREF="../../../../org/jacoco/core/runtime/AgentOptions.html#getDumpOnExit()">getDumpOnExit</A></B>()</CODE>
    +
    +<BR>
    +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns whether coverage data should be dumped on exit.</TD>
    +</TR>
    +<TR BGCOLOR="white" CLASS="TableRowColor">
    +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
    +<CODE>&nbsp;<A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A></CODE></FONT></TD>
    +<TD><CODE><B><A HREF="../../../../org/jacoco/core/runtime/AgentOptions.html#getExclClassloader()">getExclClassloader</A></B>()</CODE>
    +
    +<BR>
    +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns the wildcard expression for excluded class loaders.</TD>
    +</TR>
    +<TR BGCOLOR="white" CLASS="TableRowColor">
    +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
    +<CODE>&nbsp;<A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A></CODE></FONT></TD>
    +<TD><CODE><B><A HREF="../../../../org/jacoco/core/runtime/AgentOptions.html#getExcludes()">getExcludes</A></B>()</CODE>
    +
    +<BR>
    +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns the wildcard expression for classes to exclude.</TD>
    +</TR>
    +<TR BGCOLOR="white" CLASS="TableRowColor">
    +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
    +<CODE>&nbsp;boolean</CODE></FONT></TD>
    +<TD><CODE><B><A HREF="../../../../org/jacoco/core/runtime/AgentOptions.html#getInclBootstrapClasses()">getInclBootstrapClasses</A></B>()</CODE>
    +
    +<BR>
    +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns whether classes from the bootstrap classloader should be
    + instrumented.</TD>
    +</TR>
    +<TR BGCOLOR="white" CLASS="TableRowColor">
    +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
    +<CODE>&nbsp;boolean</CODE></FONT></TD>
    +<TD><CODE><B><A HREF="../../../../org/jacoco/core/runtime/AgentOptions.html#getInclNoLocationClasses()">getInclNoLocationClasses</A></B>()</CODE>
    +
    +<BR>
    +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns whether classes without source location should be instrumented.</TD>
    +</TR>
    +<TR BGCOLOR="white" CLASS="TableRowColor">
    +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
    +<CODE>&nbsp;<A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A></CODE></FONT></TD>
    +<TD><CODE><B><A HREF="../../../../org/jacoco/core/runtime/AgentOptions.html#getIncludes()">getIncludes</A></B>()</CODE>
    +
    +<BR>
    +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns the wildcard expression for classes to include.</TD>
    +</TR>
    +<TR BGCOLOR="white" CLASS="TableRowColor">
    +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
    +<CODE>&nbsp;boolean</CODE></FONT></TD>
    +<TD><CODE><B><A HREF="../../../../org/jacoco/core/runtime/AgentOptions.html#getJmx()">getJmx</A></B>()</CODE>
    +
    +<BR>
    +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns whether the agent exposes functionality via JMX.</TD>
    +</TR>
    +<TR BGCOLOR="white" CLASS="TableRowColor">
    +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
    +<CODE>&nbsp;<A HREF="../../../../org/jacoco/core/runtime/AgentOptions.OutputMode.html" title="enum in org.jacoco.core.runtime">AgentOptions.OutputMode</A></CODE></FONT></TD>
    +<TD><CODE><B><A HREF="../../../../org/jacoco/core/runtime/AgentOptions.html#getOutput()">getOutput</A></B>()</CODE>
    +
    +<BR>
    +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns the output mode</TD>
    +</TR>
    +<TR BGCOLOR="white" CLASS="TableRowColor">
    +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
    +<CODE>&nbsp;int</CODE></FONT></TD>
    +<TD><CODE><B><A HREF="../../../../org/jacoco/core/runtime/AgentOptions.html#getPort()">getPort</A></B>()</CODE>
    +
    +<BR>
    +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns the port on which to listen to when the output is
    + <code>tcpserver</code> or the port to connect to when output is
    + <code>tcpclient</code>.</TD>
    +</TR>
    +<TR BGCOLOR="white" CLASS="TableRowColor">
    +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
    +<CODE>&nbsp;<A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A></CODE></FONT></TD>
    +<TD><CODE><B><A HREF="../../../../org/jacoco/core/runtime/AgentOptions.html#getQuotedVMArgument(java.io.File)">getQuotedVMArgument</A></B>(<A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/io/File.html" title="class or interface in java.io">File</A>&nbsp;agentJarFile)</CODE>
    +
    +<BR>
    +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Generate required quoted JVM argument based on current configuration and
    + supplied agent jar location.</TD>
    +</TR>
    +<TR BGCOLOR="white" CLASS="TableRowColor">
    +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
    +<CODE>&nbsp;<A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A></CODE></FONT></TD>
    +<TD><CODE><B><A HREF="../../../../org/jacoco/core/runtime/AgentOptions.html#getSessionId()">getSessionId</A></B>()</CODE>
    +
    +<BR>
    +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns the session identifier.</TD>
    +</TR>
    +<TR BGCOLOR="white" CLASS="TableRowColor">
    +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
    +<CODE>&nbsp;<A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A></CODE></FONT></TD>
    +<TD><CODE><B><A HREF="../../../../org/jacoco/core/runtime/AgentOptions.html#getVMArgument(java.io.File)">getVMArgument</A></B>(<A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/io/File.html" title="class or interface in java.io">File</A>&nbsp;agentJarFile)</CODE>
    +
    +<BR>
    +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Generate required JVM argument based on current configuration and
    + supplied agent jar location.</TD>
    +</TR>
    +<TR BGCOLOR="white" CLASS="TableRowColor">
    +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
    +<CODE>&nbsp;<A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A></CODE></FONT></TD>
    +<TD><CODE><B><A HREF="../../../../org/jacoco/core/runtime/AgentOptions.html#prependVMArguments(java.lang.String, java.io.File)">prependVMArguments</A></B>(<A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A>&nbsp;arguments,
    +                   <A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/io/File.html" title="class or interface in java.io">File</A>&nbsp;agentJarFile)</CODE>
    +
    +<BR>
    +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Generate required quotes JVM argument based on current configuration and
    + prepends it to the given argument command line.</TD>
    +</TR>
    +<TR BGCOLOR="white" CLASS="TableRowColor">
    +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
    +<CODE>&nbsp;void</CODE></FONT></TD>
    +<TD><CODE><B><A HREF="../../../../org/jacoco/core/runtime/AgentOptions.html#setAddress(java.lang.String)">setAddress</A></B>(<A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A>&nbsp;address)</CODE>
    +
    +<BR>
    +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Sets the hostname or IP address to listen to when output is
    + <code>tcpserver</code> or connect to when output is
    + <code>tcpclient</code></TD>
    +</TR>
    +<TR BGCOLOR="white" CLASS="TableRowColor">
    +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
    +<CODE>&nbsp;void</CODE></FONT></TD>
    +<TD><CODE><B><A HREF="../../../../org/jacoco/core/runtime/AgentOptions.html#setAppend(boolean)">setAppend</A></B>(boolean&nbsp;append)</CODE>
    +
    +<BR>
    +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Sets whether the output should be appended to an existing file.</TD>
    +</TR>
    +<TR BGCOLOR="white" CLASS="TableRowColor">
    +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
    +<CODE>&nbsp;void</CODE></FONT></TD>
    +<TD><CODE><B><A HREF="../../../../org/jacoco/core/runtime/AgentOptions.html#setClassDumpDir(java.lang.String)">setClassDumpDir</A></B>(<A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A>&nbsp;location)</CODE>
    +
    +<BR>
    +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Sets the directory where class files should be dumped to.</TD>
    +</TR>
    +<TR BGCOLOR="white" CLASS="TableRowColor">
    +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
    +<CODE>&nbsp;void</CODE></FONT></TD>
    +<TD><CODE><B><A HREF="../../../../org/jacoco/core/runtime/AgentOptions.html#setDestfile(java.lang.String)">setDestfile</A></B>(<A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A>&nbsp;destfile)</CODE>
    +
    +<BR>
    +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Sets the output file location.</TD>
    +</TR>
    +<TR BGCOLOR="white" CLASS="TableRowColor">
    +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
    +<CODE>&nbsp;void</CODE></FONT></TD>
    +<TD><CODE><B><A HREF="../../../../org/jacoco/core/runtime/AgentOptions.html#setDumpOnExit(boolean)">setDumpOnExit</A></B>(boolean&nbsp;dumpOnExit)</CODE>
    +
    +<BR>
    +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Sets whether coverage data should be dumped on exit.</TD>
    +</TR>
    +<TR BGCOLOR="white" CLASS="TableRowColor">
    +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
    +<CODE>&nbsp;void</CODE></FONT></TD>
    +<TD><CODE><B><A HREF="../../../../org/jacoco/core/runtime/AgentOptions.html#setExclClassloader(java.lang.String)">setExclClassloader</A></B>(<A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A>&nbsp;expression)</CODE>
    +
    +<BR>
    +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Sets the wildcard expression for excluded class loaders.</TD>
    +</TR>
    +<TR BGCOLOR="white" CLASS="TableRowColor">
    +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
    +<CODE>&nbsp;void</CODE></FONT></TD>
    +<TD><CODE><B><A HREF="../../../../org/jacoco/core/runtime/AgentOptions.html#setExcludes(java.lang.String)">setExcludes</A></B>(<A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A>&nbsp;excludes)</CODE>
    +
    +<BR>
    +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Sets the wildcard expression for classes to exclude.</TD>
    +</TR>
    +<TR BGCOLOR="white" CLASS="TableRowColor">
    +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
    +<CODE>&nbsp;void</CODE></FONT></TD>
    +<TD><CODE><B><A HREF="../../../../org/jacoco/core/runtime/AgentOptions.html#setInclBootstrapClasses(boolean)">setInclBootstrapClasses</A></B>(boolean&nbsp;include)</CODE>
    +
    +<BR>
    +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Sets whether classes from the bootstrap classloader should be
    + instrumented.</TD>
    +</TR>
    +<TR BGCOLOR="white" CLASS="TableRowColor">
    +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
    +<CODE>&nbsp;void</CODE></FONT></TD>
    +<TD><CODE><B><A HREF="../../../../org/jacoco/core/runtime/AgentOptions.html#setInclNoLocationClasses(boolean)">setInclNoLocationClasses</A></B>(boolean&nbsp;include)</CODE>
    +
    +<BR>
    +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Sets whether classes without source location should be instrumented.</TD>
    +</TR>
    +<TR BGCOLOR="white" CLASS="TableRowColor">
    +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
    +<CODE>&nbsp;void</CODE></FONT></TD>
    +<TD><CODE><B><A HREF="../../../../org/jacoco/core/runtime/AgentOptions.html#setIncludes(java.lang.String)">setIncludes</A></B>(<A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A>&nbsp;includes)</CODE>
    +
    +<BR>
    +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Sets the wildcard expression for classes to include.</TD>
    +</TR>
    +<TR BGCOLOR="white" CLASS="TableRowColor">
    +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
    +<CODE>&nbsp;void</CODE></FONT></TD>
    +<TD><CODE><B><A HREF="../../../../org/jacoco/core/runtime/AgentOptions.html#setJmx(boolean)">setJmx</A></B>(boolean&nbsp;jmx)</CODE>
    +
    +<BR>
    +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Sets whether the agent should expose functionality via JMX.</TD>
    +</TR>
    +<TR BGCOLOR="white" CLASS="TableRowColor">
    +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
    +<CODE>&nbsp;void</CODE></FONT></TD>
    +<TD><CODE><B><A HREF="../../../../org/jacoco/core/runtime/AgentOptions.html#setOutput(org.jacoco.core.runtime.AgentOptions.OutputMode)">setOutput</A></B>(<A HREF="../../../../org/jacoco/core/runtime/AgentOptions.OutputMode.html" title="enum in org.jacoco.core.runtime">AgentOptions.OutputMode</A>&nbsp;output)</CODE>
    +
    +<BR>
    +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Sets the output mode</TD>
    +</TR>
    +<TR BGCOLOR="white" CLASS="TableRowColor">
    +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
    +<CODE>&nbsp;void</CODE></FONT></TD>
    +<TD><CODE><B><A HREF="../../../../org/jacoco/core/runtime/AgentOptions.html#setOutput(java.lang.String)">setOutput</A></B>(<A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A>&nbsp;output)</CODE>
    +
    +<BR>
    +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Sets the output mode</TD>
    +</TR>
    +<TR BGCOLOR="white" CLASS="TableRowColor">
    +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
    +<CODE>&nbsp;void</CODE></FONT></TD>
    +<TD><CODE><B><A HREF="../../../../org/jacoco/core/runtime/AgentOptions.html#setPort(int)">setPort</A></B>(int&nbsp;port)</CODE>
    +
    +<BR>
    +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Sets the port on which to listen to when output is <code>tcpserver</code>
    + or the port to connect to when output is <code>tcpclient</code></TD>
    +</TR>
    +<TR BGCOLOR="white" CLASS="TableRowColor">
    +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
    +<CODE>&nbsp;void</CODE></FONT></TD>
    +<TD><CODE><B><A HREF="../../../../org/jacoco/core/runtime/AgentOptions.html#setSessionId(java.lang.String)">setSessionId</A></B>(<A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A>&nbsp;id)</CODE>
    +
    +<BR>
    +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Sets the session identifier.</TD>
    +</TR>
    +<TR BGCOLOR="white" CLASS="TableRowColor">
    +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
    +<CODE>&nbsp;<A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A></CODE></FONT></TD>
    +<TD><CODE><B><A HREF="../../../../org/jacoco/core/runtime/AgentOptions.html#toString()">toString</A></B>()</CODE>
    +
    +<BR>
    +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Creates a string representation that can be passed to the agent via the
    + command line.</TD>
    +</TR>
    +</TABLE>
    +&nbsp;<A NAME="methods_inherited_from_class_java.lang.Object"><!-- --></A>
    +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
    +<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
    +<TH ALIGN="left"><B>Methods inherited from class java.lang.<A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html" title="class or interface in java.lang">Object</A></B></TH>
    +</TR>
    +<TR BGCOLOR="white" CLASS="TableRowColor">
    +<TD><CODE><A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html#clone()" title="class or interface in java.lang">clone</A>, <A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html#equals(java.lang.Object)" title="class or interface in java.lang">equals</A>, <A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html#finalize()" title="class or interface in java.lang">finalize</A>, <A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html#getClass()" title="class or interface in java.lang">getClass</A>, <A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html#hashCode()" title="class or interface in java.lang">hashCode</A>, <A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html#notify()" title="class or interface in java.lang">notify</A>, <A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html#notifyAll()" title="class or interface in java.lang">notifyAll</A>, <A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html#wait()" title="class or interface in java.lang">wait</A>, <A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html#wait(long)" title="class or interface in java.lang">wait</A>, <A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html#wait(long, int)" title="class or interface in java.lang">wait</A></CODE></TD>
    +</TR>
    +</TABLE>
    +&nbsp;
    +<P>
    +
    +<!-- ============ FIELD DETAIL =========== -->
    +
    +<A NAME="field_detail"><!-- --></A>
    +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
    +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
    +<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2">
    +<B>Field Detail</B></FONT></TH>
    +</TR>
    +</TABLE>
    +
    +<A NAME="DESTFILE"><!-- --></A><H3>
    +DESTFILE</H3>
    +<PRE>
    +public static final <A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> <B>DESTFILE</B></PRE>
    +<DL>
    +<DD>Specifies the output file for execution data. Default is
    + <code>jacoco.exec</code> in the working directory.
    +<P>
    +<DL>
    +<DT><B>See Also:</B><DD><A HREF="../../../../constant-values.html#org.jacoco.core.runtime.AgentOptions.DESTFILE">Constant Field Values</A></DL>
    +</DL>
    +<HR>
    +
    +<A NAME="DEFAULT_DESTFILE"><!-- --></A><H3>
    +DEFAULT_DESTFILE</H3>
    +<PRE>
    +public static final <A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> <B>DEFAULT_DESTFILE</B></PRE>
    +<DL>
    +<DD>Default value for the "destfile" agent option.
    +<P>
    +<DL>
    +<DT><B>See Also:</B><DD><A HREF="../../../../constant-values.html#org.jacoco.core.runtime.AgentOptions.DEFAULT_DESTFILE">Constant Field Values</A></DL>
    +</DL>
    +<HR>
    +
    +<A NAME="APPEND"><!-- --></A><H3>
    +APPEND</H3>
    +<PRE>
    +public static final <A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> <B>APPEND</B></PRE>
    +<DL>
    +<DD>Specifies whether execution data should be appended to the output file.
    + Default is <code>true</code>.
    +<P>
    +<DL>
    +<DT><B>See Also:</B><DD><A HREF="../../../../constant-values.html#org.jacoco.core.runtime.AgentOptions.APPEND">Constant Field Values</A></DL>
    +</DL>
    +<HR>
    +
    +<A NAME="INCLUDES"><!-- --></A><H3>
    +INCLUDES</H3>
    +<PRE>
    +public static final <A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> <B>INCLUDES</B></PRE>
    +<DL>
    +<DD>Wildcard expression for class names that should be included for code
    + coverage. Default is <code>*</code> (all classes included).
    +<P>
    +<DL>
    +<DT><B>See Also:</B><DD><A HREF="../../../../org/jacoco/core/runtime/WildcardMatcher.html" title="class in org.jacoco.core.runtime"><CODE>WildcardMatcher</CODE></A>, 
    +<A HREF="../../../../constant-values.html#org.jacoco.core.runtime.AgentOptions.INCLUDES">Constant Field Values</A></DL>
    +</DL>
    +<HR>
    +
    +<A NAME="EXCLUDES"><!-- --></A><H3>
    +EXCLUDES</H3>
    +<PRE>
    +public static final <A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> <B>EXCLUDES</B></PRE>
    +<DL>
    +<DD>Wildcard expression for class names that should be excluded from code
    + coverage. Default is the empty string (no exclusions).
    +<P>
    +<DL>
    +<DT><B>See Also:</B><DD><A HREF="../../../../org/jacoco/core/runtime/WildcardMatcher.html" title="class in org.jacoco.core.runtime"><CODE>WildcardMatcher</CODE></A>, 
    +<A HREF="../../../../constant-values.html#org.jacoco.core.runtime.AgentOptions.EXCLUDES">Constant Field Values</A></DL>
    +</DL>
    +<HR>
    +
    +<A NAME="EXCLCLASSLOADER"><!-- --></A><H3>
    +EXCLCLASSLOADER</H3>
    +<PRE>
    +public static final <A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> <B>EXCLCLASSLOADER</B></PRE>
    +<DL>
    +<DD>Wildcard expression for class loaders names for classes that should be
    + excluded from code coverage. This means all classes loaded by a class
    + loader which full qualified name matches this expression will be ignored
    + for code coverage regardless of all other filtering settings. Default is
    + <code>sun.reflect.DelegatingClassLoader</code>.
    +<P>
    +<DL>
    +<DT><B>See Also:</B><DD><A HREF="../../../../org/jacoco/core/runtime/WildcardMatcher.html" title="class in org.jacoco.core.runtime"><CODE>WildcardMatcher</CODE></A>, 
    +<A HREF="../../../../constant-values.html#org.jacoco.core.runtime.AgentOptions.EXCLCLASSLOADER">Constant Field Values</A></DL>
    +</DL>
    +<HR>
    +
    +<A NAME="INCLBOOTSTRAPCLASSES"><!-- --></A><H3>
    +INCLBOOTSTRAPCLASSES</H3>
    +<PRE>
    +public static final <A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> <B>INCLBOOTSTRAPCLASSES</B></PRE>
    +<DL>
    +<DD>Specifies whether also classes from the bootstrap classloader should be
    + instrumented. Use this feature with caution, it needs heavy
    + includes/excludes tuning. Default is <code>false</code>.
    +<P>
    +<DL>
    +<DT><B>See Also:</B><DD><A HREF="../../../../constant-values.html#org.jacoco.core.runtime.AgentOptions.INCLBOOTSTRAPCLASSES">Constant Field Values</A></DL>
    +</DL>
    +<HR>
    +
    +<A NAME="INCLNOLOCATIONCLASSES"><!-- --></A><H3>
    +INCLNOLOCATIONCLASSES</H3>
    +<PRE>
    +public static final <A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> <B>INCLNOLOCATIONCLASSES</B></PRE>
    +<DL>
    +<DD>Specifies whether also classes without a source location should be
    + instrumented. Normally such classes are generated at runtime e.g. by
    + mocking frameworks and are therefore excluded by default. Default is
    + <code>false</code>.
    +<P>
    +<DL>
    +<DT><B>See Also:</B><DD><A HREF="../../../../constant-values.html#org.jacoco.core.runtime.AgentOptions.INCLNOLOCATIONCLASSES">Constant Field Values</A></DL>
    +</DL>
    +<HR>
    +
    +<A NAME="SESSIONID"><!-- --></A><H3>
    +SESSIONID</H3>
    +<PRE>
    +public static final <A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> <B>SESSIONID</B></PRE>
    +<DL>
    +<DD>Specifies a session identifier that is written with the execution data.
    + Without this parameter a random identifier is created by the agent.
    +<P>
    +<DL>
    +<DT><B>See Also:</B><DD><A HREF="../../../../constant-values.html#org.jacoco.core.runtime.AgentOptions.SESSIONID">Constant Field Values</A></DL>
    +</DL>
    +<HR>
    +
    +<A NAME="DUMPONEXIT"><!-- --></A><H3>
    +DUMPONEXIT</H3>
    +<PRE>
    +public static final <A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> <B>DUMPONEXIT</B></PRE>
    +<DL>
    +<DD>Specifies whether the agent will automatically dump coverage data on VM
    + exit. Default is <code>true</code>.
    +<P>
    +<DL>
    +<DT><B>See Also:</B><DD><A HREF="../../../../constant-values.html#org.jacoco.core.runtime.AgentOptions.DUMPONEXIT">Constant Field Values</A></DL>
    +</DL>
    +<HR>
    +
    +<A NAME="OUTPUT"><!-- --></A><H3>
    +OUTPUT</H3>
    +<PRE>
    +public static final <A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> <B>OUTPUT</B></PRE>
    +<DL>
    +<DD>Specifies the output mode. Default is <A HREF="../../../../org/jacoco/core/runtime/AgentOptions.OutputMode.html#file"><CODE>AgentOptions.OutputMode.file</CODE></A>.
    +<P>
    +<DL>
    +<DT><B>See Also:</B><DD><A HREF="../../../../org/jacoco/core/runtime/AgentOptions.OutputMode.html#file"><CODE>AgentOptions.OutputMode.file</CODE></A>, 
    +<A HREF="../../../../org/jacoco/core/runtime/AgentOptions.OutputMode.html#tcpserver"><CODE>AgentOptions.OutputMode.tcpserver</CODE></A>, 
    +<A HREF="../../../../org/jacoco/core/runtime/AgentOptions.OutputMode.html#tcpclient"><CODE>AgentOptions.OutputMode.tcpclient</CODE></A>, 
    +<A HREF="../../../../org/jacoco/core/runtime/AgentOptions.OutputMode.html#none"><CODE>AgentOptions.OutputMode.none</CODE></A>, 
    +<A HREF="../../../../constant-values.html#org.jacoco.core.runtime.AgentOptions.OUTPUT">Constant Field Values</A></DL>
    +</DL>
    +<HR>
    +
    +<A NAME="ADDRESS"><!-- --></A><H3>
    +ADDRESS</H3>
    +<PRE>
    +public static final <A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> <B>ADDRESS</B></PRE>
    +<DL>
    +<DD>The IP address or DNS name the tcpserver binds to or the tcpclient
    + connects to. Default is defined by <A HREF="../../../../org/jacoco/core/runtime/AgentOptions.html#DEFAULT_ADDRESS"><CODE>DEFAULT_ADDRESS</CODE></A>.
    +<P>
    +<DL>
    +<DT><B>See Also:</B><DD><A HREF="../../../../constant-values.html#org.jacoco.core.runtime.AgentOptions.ADDRESS">Constant Field Values</A></DL>
    +</DL>
    +<HR>
    +
    +<A NAME="DEFAULT_ADDRESS"><!-- --></A><H3>
    +DEFAULT_ADDRESS</H3>
    +<PRE>
    +public static final <A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> <B>DEFAULT_ADDRESS</B></PRE>
    +<DL>
    +<DD>Default value for the "address" agent option.
    +<P>
    +<DL>
    +</DL>
    +</DL>
    +<HR>
    +
    +<A NAME="PORT"><!-- --></A><H3>
    +PORT</H3>
    +<PRE>
    +public static final <A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> <B>PORT</B></PRE>
    +<DL>
    +<DD>The port the tcpserver binds to or the tcpclient connects to. In
    + tcpserver mode the port must be available, which means that if multiple
    + JaCoCo agents should run on the same machine, different ports have to be
    + specified. Default is defined by <A HREF="../../../../org/jacoco/core/runtime/AgentOptions.html#DEFAULT_PORT"><CODE>DEFAULT_PORT</CODE></A>.
    +<P>
    +<DL>
    +<DT><B>See Also:</B><DD><A HREF="../../../../constant-values.html#org.jacoco.core.runtime.AgentOptions.PORT">Constant Field Values</A></DL>
    +</DL>
    +<HR>
    +
    +<A NAME="DEFAULT_PORT"><!-- --></A><H3>
    +DEFAULT_PORT</H3>
    +<PRE>
    +public static final int <B>DEFAULT_PORT</B></PRE>
    +<DL>
    +<DD>Default value for the "port" agent option.
    +<P>
    +<DL>
    +<DT><B>See Also:</B><DD><A HREF="../../../../constant-values.html#org.jacoco.core.runtime.AgentOptions.DEFAULT_PORT">Constant Field Values</A></DL>
    +</DL>
    +<HR>
    +
    +<A NAME="CLASSDUMPDIR"><!-- --></A><H3>
    +CLASSDUMPDIR</H3>
    +<PRE>
    +public static final <A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> <B>CLASSDUMPDIR</B></PRE>
    +<DL>
    +<DD>Specifies where the agent dumps all class files it encounters. The
    + location is specified as a relative path to the working directory.
    + Default is <code>null</code> (no dumps).
    +<P>
    +<DL>
    +<DT><B>See Also:</B><DD><A HREF="../../../../constant-values.html#org.jacoco.core.runtime.AgentOptions.CLASSDUMPDIR">Constant Field Values</A></DL>
    +</DL>
    +<HR>
    +
    +<A NAME="JMX"><!-- --></A><H3>
    +JMX</H3>
    +<PRE>
    +public static final <A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> <B>JMX</B></PRE>
    +<DL>
    +<DD>Specifies whether the agent should expose functionality via JMX under the
    + name "org.jacoco:type=Runtime". Default is <code>false</code>.
    +<P>
    +<DL>
    +<DT><B>See Also:</B><DD><A HREF="../../../../constant-values.html#org.jacoco.core.runtime.AgentOptions.JMX">Constant Field Values</A></DL>
    +</DL>
    +
    +<!-- ========= CONSTRUCTOR DETAIL ======== -->
    +
    +<A NAME="constructor_detail"><!-- --></A>
    +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
    +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
    +<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2">
    +<B>Constructor Detail</B></FONT></TH>
    +</TR>
    +</TABLE>
    +
    +<A NAME="AgentOptions()"><!-- --></A><H3>
    +AgentOptions</H3>
    +<PRE>
    +public <B>AgentOptions</B>()</PRE>
    +<DL>
    +<DD>New instance with all values set to default.
    +<P>
    +</DL>
    +<HR>
    +
    +<A NAME="AgentOptions(java.lang.String)"><!-- --></A><H3>
    +AgentOptions</H3>
    +<PRE>
    +public <B>AgentOptions</B>(<A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A>&nbsp;optionstr)</PRE>
    +<DL>
    +<DD>New instance parsed from the given option string.
    +<P>
    +<DL>
    +<DT><B>Parameters:</B><DD><CODE>optionstr</CODE> - string to parse or <code>null</code></DL>
    +</DL>
    +<HR>
    +
    +<A NAME="AgentOptions(java.util.Properties)"><!-- --></A><H3>
    +AgentOptions</H3>
    +<PRE>
    +public <B>AgentOptions</B>(<A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/util/Properties.html" title="class or interface in java.util">Properties</A>&nbsp;properties)</PRE>
    +<DL>
    +<DD>New instance read from the given <A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/util/Properties.html" title="class or interface in java.util"><CODE>Properties</CODE></A> object.
    +<P>
    +<DL>
    +<DT><B>Parameters:</B><DD><CODE>properties</CODE> - <A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/util/Properties.html" title="class or interface in java.util"><CODE>Properties</CODE></A> object to read configuration options from</DL>
    +</DL>
    +
    +<!-- ============ METHOD DETAIL ========== -->
    +
    +<A NAME="method_detail"><!-- --></A>
    +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
    +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
    +<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2">
    +<B>Method Detail</B></FONT></TH>
    +</TR>
    +</TABLE>
    +
    +<A NAME="getDestfile()"><!-- --></A><H3>
    +getDestfile</H3>
    +<PRE>
    +public <A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> <B>getDestfile</B>()</PRE>
    +<DL>
    +<DD>Returns the output file location.
    +<P>
    +<DD><DL>
    +
    +<DT><B>Returns:</B><DD>output file location</DL>
    +</DD>
    +</DL>
    +<HR>
    +
    +<A NAME="setDestfile(java.lang.String)"><!-- --></A><H3>
    +setDestfile</H3>
    +<PRE>
    +public void <B>setDestfile</B>(<A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A>&nbsp;destfile)</PRE>
    +<DL>
    +<DD>Sets the output file location.
    +<P>
    +<DD><DL>
    +<DT><B>Parameters:</B><DD><CODE>destfile</CODE> - output file location</DL>
    +</DD>
    +</DL>
    +<HR>
    +
    +<A NAME="getAppend()"><!-- --></A><H3>
    +getAppend</H3>
    +<PRE>
    +public boolean <B>getAppend</B>()</PRE>
    +<DL>
    +<DD>Returns whether the output should be appended to an existing file.
    +<P>
    +<DD><DL>
    +
    +<DT><B>Returns:</B><DD><code>true</code>, when the output should be appended</DL>
    +</DD>
    +</DL>
    +<HR>
    +
    +<A NAME="setAppend(boolean)"><!-- --></A><H3>
    +setAppend</H3>
    +<PRE>
    +public void <B>setAppend</B>(boolean&nbsp;append)</PRE>
    +<DL>
    +<DD>Sets whether the output should be appended to an existing file.
    +<P>
    +<DD><DL>
    +<DT><B>Parameters:</B><DD><CODE>append</CODE> - <code>true</code>, when the output should be appended</DL>
    +</DD>
    +</DL>
    +<HR>
    +
    +<A NAME="getIncludes()"><!-- --></A><H3>
    +getIncludes</H3>
    +<PRE>
    +public <A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> <B>getIncludes</B>()</PRE>
    +<DL>
    +<DD>Returns the wildcard expression for classes to include.
    +<P>
    +<DD><DL>
    +
    +<DT><B>Returns:</B><DD>wildcard expression for classes to include<DT><B>See Also:</B><DD><A HREF="../../../../org/jacoco/core/runtime/WildcardMatcher.html" title="class in org.jacoco.core.runtime"><CODE>WildcardMatcher</CODE></A></DL>
    +</DD>
    +</DL>
    +<HR>
    +
    +<A NAME="setIncludes(java.lang.String)"><!-- --></A><H3>
    +setIncludes</H3>
    +<PRE>
    +public void <B>setIncludes</B>(<A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A>&nbsp;includes)</PRE>
    +<DL>
    +<DD>Sets the wildcard expression for classes to include.
    +<P>
    +<DD><DL>
    +<DT><B>Parameters:</B><DD><CODE>includes</CODE> - wildcard expression for classes to include<DT><B>See Also:</B><DD><A HREF="../../../../org/jacoco/core/runtime/WildcardMatcher.html" title="class in org.jacoco.core.runtime"><CODE>WildcardMatcher</CODE></A></DL>
    +</DD>
    +</DL>
    +<HR>
    +
    +<A NAME="getExcludes()"><!-- --></A><H3>
    +getExcludes</H3>
    +<PRE>
    +public <A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> <B>getExcludes</B>()</PRE>
    +<DL>
    +<DD>Returns the wildcard expression for classes to exclude.
    +<P>
    +<DD><DL>
    +
    +<DT><B>Returns:</B><DD>wildcard expression for classes to exclude<DT><B>See Also:</B><DD><A HREF="../../../../org/jacoco/core/runtime/WildcardMatcher.html" title="class in org.jacoco.core.runtime"><CODE>WildcardMatcher</CODE></A></DL>
    +</DD>
    +</DL>
    +<HR>
    +
    +<A NAME="setExcludes(java.lang.String)"><!-- --></A><H3>
    +setExcludes</H3>
    +<PRE>
    +public void <B>setExcludes</B>(<A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A>&nbsp;excludes)</PRE>
    +<DL>
    +<DD>Sets the wildcard expression for classes to exclude.
    +<P>
    +<DD><DL>
    +<DT><B>Parameters:</B><DD><CODE>excludes</CODE> - wildcard expression for classes to exclude<DT><B>See Also:</B><DD><A HREF="../../../../org/jacoco/core/runtime/WildcardMatcher.html" title="class in org.jacoco.core.runtime"><CODE>WildcardMatcher</CODE></A></DL>
    +</DD>
    +</DL>
    +<HR>
    +
    +<A NAME="getExclClassloader()"><!-- --></A><H3>
    +getExclClassloader</H3>
    +<PRE>
    +public <A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> <B>getExclClassloader</B>()</PRE>
    +<DL>
    +<DD>Returns the wildcard expression for excluded class loaders.
    +<P>
    +<DD><DL>
    +
    +<DT><B>Returns:</B><DD>expression for excluded class loaders<DT><B>See Also:</B><DD><A HREF="../../../../org/jacoco/core/runtime/WildcardMatcher.html" title="class in org.jacoco.core.runtime"><CODE>WildcardMatcher</CODE></A></DL>
    +</DD>
    +</DL>
    +<HR>
    +
    +<A NAME="setExclClassloader(java.lang.String)"><!-- --></A><H3>
    +setExclClassloader</H3>
    +<PRE>
    +public void <B>setExclClassloader</B>(<A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A>&nbsp;expression)</PRE>
    +<DL>
    +<DD>Sets the wildcard expression for excluded class loaders.
    +<P>
    +<DD><DL>
    +<DT><B>Parameters:</B><DD><CODE>expression</CODE> - expression for excluded class loaders<DT><B>See Also:</B><DD><A HREF="../../../../org/jacoco/core/runtime/WildcardMatcher.html" title="class in org.jacoco.core.runtime"><CODE>WildcardMatcher</CODE></A></DL>
    +</DD>
    +</DL>
    +<HR>
    +
    +<A NAME="getInclBootstrapClasses()"><!-- --></A><H3>
    +getInclBootstrapClasses</H3>
    +<PRE>
    +public boolean <B>getInclBootstrapClasses</B>()</PRE>
    +<DL>
    +<DD>Returns whether classes from the bootstrap classloader should be
    + instrumented.
    +<P>
    +<DD><DL>
    +
    +<DT><B>Returns:</B><DD><code>true</code> if classes from the bootstrap classloader
    +         should be instrumented</DL>
    +</DD>
    +</DL>
    +<HR>
    +
    +<A NAME="setInclBootstrapClasses(boolean)"><!-- --></A><H3>
    +setInclBootstrapClasses</H3>
    +<PRE>
    +public void <B>setInclBootstrapClasses</B>(boolean&nbsp;include)</PRE>
    +<DL>
    +<DD>Sets whether classes from the bootstrap classloader should be
    + instrumented.
    +<P>
    +<DD><DL>
    +<DT><B>Parameters:</B><DD><CODE>include</CODE> - <code>true</code> if bootstrap classes should be instrumented</DL>
    +</DD>
    +</DL>
    +<HR>
    +
    +<A NAME="getInclNoLocationClasses()"><!-- --></A><H3>
    +getInclNoLocationClasses</H3>
    +<PRE>
    +public boolean <B>getInclNoLocationClasses</B>()</PRE>
    +<DL>
    +<DD>Returns whether classes without source location should be instrumented.
    +<P>
    +<DD><DL>
    +
    +<DT><B>Returns:</B><DD><code>true</code> if classes without source location should be
    +         instrumented</DL>
    +</DD>
    +</DL>
    +<HR>
    +
    +<A NAME="setInclNoLocationClasses(boolean)"><!-- --></A><H3>
    +setInclNoLocationClasses</H3>
    +<PRE>
    +public void <B>setInclNoLocationClasses</B>(boolean&nbsp;include)</PRE>
    +<DL>
    +<DD>Sets whether classes without source location should be instrumented.
    +<P>
    +<DD><DL>
    +<DT><B>Parameters:</B><DD><CODE>include</CODE> - <code>true</code> if classes without source location should be
    +            instrumented</DL>
    +</DD>
    +</DL>
    +<HR>
    +
    +<A NAME="getSessionId()"><!-- --></A><H3>
    +getSessionId</H3>
    +<PRE>
    +public <A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> <B>getSessionId</B>()</PRE>
    +<DL>
    +<DD>Returns the session identifier.
    +<P>
    +<DD><DL>
    +
    +<DT><B>Returns:</B><DD>session identifier</DL>
    +</DD>
    +</DL>
    +<HR>
    +
    +<A NAME="setSessionId(java.lang.String)"><!-- --></A><H3>
    +setSessionId</H3>
    +<PRE>
    +public void <B>setSessionId</B>(<A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A>&nbsp;id)</PRE>
    +<DL>
    +<DD>Sets the session identifier.
    +<P>
    +<DD><DL>
    +<DT><B>Parameters:</B><DD><CODE>id</CODE> - session identifier</DL>
    +</DD>
    +</DL>
    +<HR>
    +
    +<A NAME="getDumpOnExit()"><!-- --></A><H3>
    +getDumpOnExit</H3>
    +<PRE>
    +public boolean <B>getDumpOnExit</B>()</PRE>
    +<DL>
    +<DD>Returns whether coverage data should be dumped on exit.
    +<P>
    +<DD><DL>
    +
    +<DT><B>Returns:</B><DD><code>true</code> if coverage data will be written on VM exit</DL>
    +</DD>
    +</DL>
    +<HR>
    +
    +<A NAME="setDumpOnExit(boolean)"><!-- --></A><H3>
    +setDumpOnExit</H3>
    +<PRE>
    +public void <B>setDumpOnExit</B>(boolean&nbsp;dumpOnExit)</PRE>
    +<DL>
    +<DD>Sets whether coverage data should be dumped on exit.
    +<P>
    +<DD><DL>
    +<DT><B>Parameters:</B><DD><CODE>dumpOnExit</CODE> - <code>true</code> if coverage data should be written on VM
    +            exit</DL>
    +</DD>
    +</DL>
    +<HR>
    +
    +<A NAME="getPort()"><!-- --></A><H3>
    +getPort</H3>
    +<PRE>
    +public int <B>getPort</B>()</PRE>
    +<DL>
    +<DD>Returns the port on which to listen to when the output is
    + <code>tcpserver</code> or the port to connect to when output is
    + <code>tcpclient</code>.
    +<P>
    +<DD><DL>
    +
    +<DT><B>Returns:</B><DD>port to listen on or connect to</DL>
    +</DD>
    +</DL>
    +<HR>
    +
    +<A NAME="setPort(int)"><!-- --></A><H3>
    +setPort</H3>
    +<PRE>
    +public void <B>setPort</B>(int&nbsp;port)</PRE>
    +<DL>
    +<DD>Sets the port on which to listen to when output is <code>tcpserver</code>
    + or the port to connect to when output is <code>tcpclient</code>
    +<P>
    +<DD><DL>
    +<DT><B>Parameters:</B><DD><CODE>port</CODE> - port to listen on or connect to</DL>
    +</DD>
    +</DL>
    +<HR>
    +
    +<A NAME="getAddress()"><!-- --></A><H3>
    +getAddress</H3>
    +<PRE>
    +public <A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> <B>getAddress</B>()</PRE>
    +<DL>
    +<DD>Gets the hostname or IP address to listen to when output is
    + <code>tcpserver</code> or connect to when output is
    + <code>tcpclient</code>
    +<P>
    +<DD><DL>
    +
    +<DT><B>Returns:</B><DD>Hostname or IP address</DL>
    +</DD>
    +</DL>
    +<HR>
    +
    +<A NAME="setAddress(java.lang.String)"><!-- --></A><H3>
    +setAddress</H3>
    +<PRE>
    +public void <B>setAddress</B>(<A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A>&nbsp;address)</PRE>
    +<DL>
    +<DD>Sets the hostname or IP address to listen to when output is
    + <code>tcpserver</code> or connect to when output is
    + <code>tcpclient</code>
    +<P>
    +<DD><DL>
    +<DT><B>Parameters:</B><DD><CODE>address</CODE> - Hostname or IP address</DL>
    +</DD>
    +</DL>
    +<HR>
    +
    +<A NAME="getOutput()"><!-- --></A><H3>
    +getOutput</H3>
    +<PRE>
    +public <A HREF="../../../../org/jacoco/core/runtime/AgentOptions.OutputMode.html" title="enum in org.jacoco.core.runtime">AgentOptions.OutputMode</A> <B>getOutput</B>()</PRE>
    +<DL>
    +<DD>Returns the output mode
    +<P>
    +<DD><DL>
    +
    +<DT><B>Returns:</B><DD>current output mode</DL>
    +</DD>
    +</DL>
    +<HR>
    +
    +<A NAME="setOutput(java.lang.String)"><!-- --></A><H3>
    +setOutput</H3>
    +<PRE>
    +public void <B>setOutput</B>(<A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A>&nbsp;output)</PRE>
    +<DL>
    +<DD>Sets the output mode
    +<P>
    +<DD><DL>
    +<DT><B>Parameters:</B><DD><CODE>output</CODE> - Output mode</DL>
    +</DD>
    +</DL>
    +<HR>
    +
    +<A NAME="setOutput(org.jacoco.core.runtime.AgentOptions.OutputMode)"><!-- --></A><H3>
    +setOutput</H3>
    +<PRE>
    +public void <B>setOutput</B>(<A HREF="../../../../org/jacoco/core/runtime/AgentOptions.OutputMode.html" title="enum in org.jacoco.core.runtime">AgentOptions.OutputMode</A>&nbsp;output)</PRE>
    +<DL>
    +<DD>Sets the output mode
    +<P>
    +<DD><DL>
    +<DT><B>Parameters:</B><DD><CODE>output</CODE> - Output mode</DL>
    +</DD>
    +</DL>
    +<HR>
    +
    +<A NAME="getClassDumpDir()"><!-- --></A><H3>
    +getClassDumpDir</H3>
    +<PRE>
    +public <A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> <B>getClassDumpDir</B>()</PRE>
    +<DL>
    +<DD>Returns the location of the directory where class files should be dumped
    + to.
    +<P>
    +<DD><DL>
    +
    +<DT><B>Returns:</B><DD>dump location or <code>null</code> (no dumps)</DL>
    +</DD>
    +</DL>
    +<HR>
    +
    +<A NAME="setClassDumpDir(java.lang.String)"><!-- --></A><H3>
    +setClassDumpDir</H3>
    +<PRE>
    +public void <B>setClassDumpDir</B>(<A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A>&nbsp;location)</PRE>
    +<DL>
    +<DD>Sets the directory where class files should be dumped to.
    +<P>
    +<DD><DL>
    +<DT><B>Parameters:</B><DD><CODE>location</CODE> - dump location or <code>null</code> (no dumps)</DL>
    +</DD>
    +</DL>
    +<HR>
    +
    +<A NAME="getJmx()"><!-- --></A><H3>
    +getJmx</H3>
    +<PRE>
    +public boolean <B>getJmx</B>()</PRE>
    +<DL>
    +<DD>Returns whether the agent exposes functionality via JMX.
    +<P>
    +<DD><DL>
    +
    +<DT><B>Returns:</B><DD><code>true</code>, when JMX is enabled</DL>
    +</DD>
    +</DL>
    +<HR>
    +
    +<A NAME="setJmx(boolean)"><!-- --></A><H3>
    +setJmx</H3>
    +<PRE>
    +public void <B>setJmx</B>(boolean&nbsp;jmx)</PRE>
    +<DL>
    +<DD>Sets whether the agent should expose functionality via JMX.
    +<P>
    +<DD><DL>
    +<DT><B>Parameters:</B><DD><CODE>jmx</CODE> - <code>true</code> if JMX should be enabled</DL>
    +</DD>
    +</DL>
    +<HR>
    +
    +<A NAME="getVMArgument(java.io.File)"><!-- --></A><H3>
    +getVMArgument</H3>
    +<PRE>
    +public <A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> <B>getVMArgument</B>(<A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/io/File.html" title="class or interface in java.io">File</A>&nbsp;agentJarFile)</PRE>
    +<DL>
    +<DD>Generate required JVM argument based on current configuration and
    + supplied agent jar location.
    +<P>
    +<DD><DL>
    +<DT><B>Parameters:</B><DD><CODE>agentJarFile</CODE> - location of the JaCoCo Agent Jar
    +<DT><B>Returns:</B><DD>Argument to pass to create new VM with coverage enabled</DL>
    +</DD>
    +</DL>
    +<HR>
    +
    +<A NAME="getQuotedVMArgument(java.io.File)"><!-- --></A><H3>
    +getQuotedVMArgument</H3>
    +<PRE>
    +public <A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> <B>getQuotedVMArgument</B>(<A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/io/File.html" title="class or interface in java.io">File</A>&nbsp;agentJarFile)</PRE>
    +<DL>
    +<DD>Generate required quoted JVM argument based on current configuration and
    + supplied agent jar location.
    +<P>
    +<DD><DL>
    +<DT><B>Parameters:</B><DD><CODE>agentJarFile</CODE> - location of the JaCoCo Agent Jar
    +<DT><B>Returns:</B><DD>Quoted argument to pass to create new VM with coverage enabled</DL>
    +</DD>
    +</DL>
    +<HR>
    +
    +<A NAME="prependVMArguments(java.lang.String, java.io.File)"><!-- --></A><H3>
    +prependVMArguments</H3>
    +<PRE>
    +public <A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> <B>prependVMArguments</B>(<A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A>&nbsp;arguments,
    +                                 <A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/io/File.html" title="class or interface in java.io">File</A>&nbsp;agentJarFile)</PRE>
    +<DL>
    +<DD>Generate required quotes JVM argument based on current configuration and
    + prepends it to the given argument command line. If a agent with the same
    + JAR file is already specified this parameter is removed from the existing
    + command line.
    +<P>
    +<DD><DL>
    +<DT><B>Parameters:</B><DD><CODE>arguments</CODE> - existing command line arguments or <code>null</code><DD><CODE>agentJarFile</CODE> - location of the JaCoCo Agent Jar
    +<DT><B>Returns:</B><DD>VM command line arguments prepended with configured JaCoCo agent</DL>
    +</DD>
    +</DL>
    +<HR>
    +
    +<A NAME="toString()"><!-- --></A><H3>
    +toString</H3>
    +<PRE>
    +public <A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> <B>toString</B>()</PRE>
    +<DL>
    +<DD>Creates a string representation that can be passed to the agent via the
    + command line. Might be the empty string, if no options are set.
    +<P>
    +<DD><DL>
    +<DT><B>Overrides:</B><DD><CODE><A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html#toString()" title="class or interface in java.lang">toString</A></CODE> in class <CODE><A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html" title="class or interface in java.lang">Object</A></CODE></DL>
    +</DD>
    +<DD><DL>
    +</DL>
    +</DD>
    +</DL>
    +<!-- ========= END OF CLASS DATA ========= -->
    +<HR>
    +
    +
    +<!-- ======= START OF BOTTOM NAVBAR ====== -->
    +<A NAME="navbar_bottom"><!-- --></A>
    +<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
    +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
    +<TR>
    +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
    +<A NAME="navbar_bottom_firstrow"><!-- --></A>
    +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
    +  <TR ALIGN="center" VALIGN="top">
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="class-use/AgentOptions.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
    +  </TR>
    +</TABLE>
    +</TD>
    +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
    +</EM>
    +</TD>
    +</TR>
    +
    +<TR>
    +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
    +&nbsp;<A HREF="../../../../org/jacoco/core/runtime/AbstractRuntime.html" title="class in org.jacoco.core.runtime"><B>PREV CLASS</B></A>&nbsp;
    +&nbsp;<A HREF="../../../../org/jacoco/core/runtime/AgentOptions.OutputMode.html" title="enum in org.jacoco.core.runtime"><B>NEXT CLASS</B></A></FONT></TD>
    +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
    +  <A HREF="../../../../index.html?org/jacoco/core/runtime/AgentOptions.html" target="_top"><B>FRAMES</B></A>  &nbsp;
    +&nbsp;<A HREF="AgentOptions.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
    +&nbsp;<SCRIPT type="text/javascript">
    +  <!--
    +  if(window==top) {
    +    document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>');
    +  }
    +  //-->
    +</SCRIPT>
    +<NOSCRIPT>
    +  <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>
    +</NOSCRIPT>
    +
    +
    +</FONT></TD>
    +</TR>
    +<TR>
    +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
    +  SUMMARY:&nbsp;<A HREF="#nested_class_summary">NESTED</A>&nbsp;|&nbsp;<A HREF="#field_summary">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD>
    +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
    +DETAIL:&nbsp;<A HREF="#field_detail">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD>
    +</TR>
    +</TABLE>
    +<A NAME="skip-navbar_bottom"></A>
    +<!-- ======== END OF BOTTOM NAVBAR ======= -->
    +
    +<HR>
    +Copyright &#169; 2009&#x2013;2024 Mountainminds GmbH & Co. KG. All rights reserved.
    +</BODY>
    +</HTML>
    diff --git a/jacoco/trunk/doc/api/org/jacoco/core/runtime/IExecutionDataAccessorGenerator.html b/jacoco/trunk/doc/api/org/jacoco/core/runtime/IExecutionDataAccessorGenerator.html
    new file mode 100644
    index 00000000000..74e89b44757
    --- /dev/null
    +++ b/jacoco/trunk/doc/api/org/jacoco/core/runtime/IExecutionDataAccessorGenerator.html
    @@ -0,0 +1,238 @@
    +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
    +<!--NewPage-->
    +<HTML>
    +<HEAD>
    +<!-- Generated by javadoc (build 1.5.0_22) on Wed Mar 27 16:45:41 UTC 2024 -->
    +<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
    +<TITLE>
    +IExecutionDataAccessorGenerator (JaCoCo 0.8.12.202403270442 API)
    +</TITLE>
    +
    +<META NAME="keywords" CONTENT="org.jacoco.core.runtime.IExecutionDataAccessorGenerator interface">
    +
    +<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../stylesheet.css" TITLE="Style">
    +
    +<SCRIPT type="text/javascript">
    +function windowTitle()
    +{
    +    parent.document.title="IExecutionDataAccessorGenerator (JaCoCo 0.8.12.202403270442 API)";
    +}
    +</SCRIPT>
    +<NOSCRIPT>
    +</NOSCRIPT>
    +
    +</HEAD>
    +
    +<BODY BGCOLOR="white" onload="windowTitle();">
    +
    +
    +<!-- ========= START OF TOP NAVBAR ======= -->
    +<A NAME="navbar_top"><!-- --></A>
    +<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
    +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
    +<TR>
    +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
    +<A NAME="navbar_top_firstrow"><!-- --></A>
    +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
    +  <TR ALIGN="center" VALIGN="top">
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="class-use/IExecutionDataAccessorGenerator.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
    +  </TR>
    +</TABLE>
    +</TD>
    +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
    +</EM>
    +</TD>
    +</TR>
    +
    +<TR>
    +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
    +&nbsp;<A HREF="../../../../org/jacoco/core/runtime/AgentOptions.OutputMode.html" title="enum in org.jacoco.core.runtime"><B>PREV CLASS</B></A>&nbsp;
    +&nbsp;<A HREF="../../../../org/jacoco/core/runtime/InjectedClassRuntime.html" title="class in org.jacoco.core.runtime"><B>NEXT CLASS</B></A></FONT></TD>
    +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
    +  <A HREF="../../../../index.html?org/jacoco/core/runtime/IExecutionDataAccessorGenerator.html" target="_top"><B>FRAMES</B></A>  &nbsp;
    +&nbsp;<A HREF="IExecutionDataAccessorGenerator.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
    +&nbsp;<SCRIPT type="text/javascript">
    +  <!--
    +  if(window==top) {
    +    document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>');
    +  }
    +  //-->
    +</SCRIPT>
    +<NOSCRIPT>
    +  <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>
    +</NOSCRIPT>
    +
    +
    +</FONT></TD>
    +</TR>
    +<TR>
    +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
    +  SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;FIELD&nbsp;|&nbsp;CONSTR&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD>
    +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
    +DETAIL:&nbsp;FIELD&nbsp;|&nbsp;CONSTR&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD>
    +</TR>
    +</TABLE>
    +<A NAME="skip-navbar_top"></A>
    +<!-- ========= END OF TOP NAVBAR ========= -->
    +
    +<HR>
    +<!-- ======== START OF CLASS DATA ======== -->
    +<H2>
    +<FONT SIZE="-1">
    +org.jacoco.core.runtime</FONT>
    +<BR>
    +Interface IExecutionDataAccessorGenerator</H2>
    +<DL>
    +<DT><B>All Known Subinterfaces:</B> <DD><A HREF="../../../../org/jacoco/core/runtime/IRuntime.html" title="interface in org.jacoco.core.runtime">IRuntime</A></DD>
    +</DL>
    +<DL>
    +<DT><B>All Known Implementing Classes:</B> <DD><A HREF="../../../../org/jacoco/core/runtime/AbstractRuntime.html" title="class in org.jacoco.core.runtime">AbstractRuntime</A>, <A HREF="../../../../org/jacoco/core/runtime/InjectedClassRuntime.html" title="class in org.jacoco.core.runtime">InjectedClassRuntime</A>, <A HREF="../../../../org/jacoco/core/runtime/LoggerRuntime.html" title="class in org.jacoco.core.runtime">LoggerRuntime</A>, <A HREF="../../../../org/jacoco/core/runtime/ModifiedSystemClassRuntime.html" title="class in org.jacoco.core.runtime">ModifiedSystemClassRuntime</A>, <A HREF="../../../../org/jacoco/core/runtime/OfflineInstrumentationAccessGenerator.html" title="class in org.jacoco.core.runtime">OfflineInstrumentationAccessGenerator</A>, <A HREF="../../../../org/jacoco/core/runtime/SystemPropertiesRuntime.html" title="class in org.jacoco.core.runtime">SystemPropertiesRuntime</A></DD>
    +</DL>
    +<HR>
    +<DL>
    +<DT><PRE>public interface <B>IExecutionDataAccessorGenerator</B></DL>
    +</PRE>
    +
    +<P>
    +The instrumented classes need a piece of code that obtains a
    + <code>boolean[]</code> instance from the runtime. The mechanism is runtime
    + specific and therefore abstracted by this interface. Implementations are
    + provided by <A HREF="../../../../org/jacoco/core/runtime/IRuntime.html" title="interface in org.jacoco.core.runtime"><CODE>IRuntime</CODE></A> implementations and are used by the
    + instrumentation process.
    +<P>
    +
    +<P>
    +<HR>
    +
    +<P>
    +
    +<!-- ========== METHOD SUMMARY =========== -->
    +
    +<A NAME="method_summary"><!-- --></A>
    +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
    +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
    +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
    +<B>Method Summary</B></FONT></TH>
    +</TR>
    +<TR BGCOLOR="white" CLASS="TableRowColor">
    +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
    +<CODE>&nbsp;int</CODE></FONT></TD>
    +<TD><CODE><B><A HREF="../../../../org/jacoco/core/runtime/IExecutionDataAccessorGenerator.html#generateDataAccessor(long, java.lang.String, int, org.objectweb.asm.MethodVisitor)">generateDataAccessor</A></B>(long&nbsp;classid,
    +                     <A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A>&nbsp;classname,
    +                     int&nbsp;probecount,
    +                     org.objectweb.asm.MethodVisitor&nbsp;mv)</CODE>
    +
    +<BR>
    +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;This method generates the byte code required to obtain the coverage data
    + structure for the class with the given id.</TD>
    +</TR>
    +</TABLE>
    +&nbsp;
    +<P>
    +
    +<!-- ============ METHOD DETAIL ========== -->
    +
    +<A NAME="method_detail"><!-- --></A>
    +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
    +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
    +<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2">
    +<B>Method Detail</B></FONT></TH>
    +</TR>
    +</TABLE>
    +
    +<A NAME="generateDataAccessor(long, java.lang.String, int, org.objectweb.asm.MethodVisitor)"><!-- --></A><H3>
    +generateDataAccessor</H3>
    +<PRE>
    +int <B>generateDataAccessor</B>(long&nbsp;classid,
    +                         <A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A>&nbsp;classname,
    +                         int&nbsp;probecount,
    +                         org.objectweb.asm.MethodVisitor&nbsp;mv)</PRE>
    +<DL>
    +<DD>This method generates the byte code required to obtain the coverage data
    + structure for the class with the given id. Typically the instrumentation
    + process will embed this code into a method that is called on class
    + initialization. This method can be called at any time even outside the
    + target VM.
    +
    + The generated code must push a <code>boolean[]</code> instance to the
    + operand stack. Except this result object the generated code must not make
    + any assumptions about the structure of the embedding method or class. The
    + generated code must not use or allocate local variables.
    +<P>
    +<DD><DL>
    +<DT><B>Parameters:</B><DD><CODE>classid</CODE> - identifier of the class<DD><CODE>classname</CODE> - VM class name<DD><CODE>probecount</CODE> - probe count for this class<DD><CODE>mv</CODE> - code output
    +<DT><B>Returns:</B><DD>additional stack size required by the implementation, including
    +         the instance pushed to the stack</DL>
    +</DD>
    +</DL>
    +<!-- ========= END OF CLASS DATA ========= -->
    +<HR>
    +
    +
    +<!-- ======= START OF BOTTOM NAVBAR ====== -->
    +<A NAME="navbar_bottom"><!-- --></A>
    +<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
    +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
    +<TR>
    +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
    +<A NAME="navbar_bottom_firstrow"><!-- --></A>
    +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
    +  <TR ALIGN="center" VALIGN="top">
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="class-use/IExecutionDataAccessorGenerator.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
    +  </TR>
    +</TABLE>
    +</TD>
    +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
    +</EM>
    +</TD>
    +</TR>
    +
    +<TR>
    +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
    +&nbsp;<A HREF="../../../../org/jacoco/core/runtime/AgentOptions.OutputMode.html" title="enum in org.jacoco.core.runtime"><B>PREV CLASS</B></A>&nbsp;
    +&nbsp;<A HREF="../../../../org/jacoco/core/runtime/InjectedClassRuntime.html" title="class in org.jacoco.core.runtime"><B>NEXT CLASS</B></A></FONT></TD>
    +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
    +  <A HREF="../../../../index.html?org/jacoco/core/runtime/IExecutionDataAccessorGenerator.html" target="_top"><B>FRAMES</B></A>  &nbsp;
    +&nbsp;<A HREF="IExecutionDataAccessorGenerator.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
    +&nbsp;<SCRIPT type="text/javascript">
    +  <!--
    +  if(window==top) {
    +    document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>');
    +  }
    +  //-->
    +</SCRIPT>
    +<NOSCRIPT>
    +  <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>
    +</NOSCRIPT>
    +
    +
    +</FONT></TD>
    +</TR>
    +<TR>
    +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
    +  SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;FIELD&nbsp;|&nbsp;CONSTR&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD>
    +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
    +DETAIL:&nbsp;FIELD&nbsp;|&nbsp;CONSTR&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD>
    +</TR>
    +</TABLE>
    +<A NAME="skip-navbar_bottom"></A>
    +<!-- ======== END OF BOTTOM NAVBAR ======= -->
    +
    +<HR>
    +Copyright &#169; 2009&#x2013;2024 Mountainminds GmbH & Co. KG. All rights reserved.
    +</BODY>
    +</HTML>
    diff --git a/jacoco/trunk/doc/api/org/jacoco/core/runtime/IRemoteCommandVisitor.html b/jacoco/trunk/doc/api/org/jacoco/core/runtime/IRemoteCommandVisitor.html
    new file mode 100644
    index 00000000000..7992fb0feef
    --- /dev/null
    +++ b/jacoco/trunk/doc/api/org/jacoco/core/runtime/IRemoteCommandVisitor.html
    @@ -0,0 +1,218 @@
    +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
    +<!--NewPage-->
    +<HTML>
    +<HEAD>
    +<!-- Generated by javadoc (build 1.5.0_22) on Wed Mar 27 16:45:41 UTC 2024 -->
    +<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
    +<TITLE>
    +IRemoteCommandVisitor (JaCoCo 0.8.12.202403270442 API)
    +</TITLE>
    +
    +<META NAME="keywords" CONTENT="org.jacoco.core.runtime.IRemoteCommandVisitor interface">
    +
    +<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../stylesheet.css" TITLE="Style">
    +
    +<SCRIPT type="text/javascript">
    +function windowTitle()
    +{
    +    parent.document.title="IRemoteCommandVisitor (JaCoCo 0.8.12.202403270442 API)";
    +}
    +</SCRIPT>
    +<NOSCRIPT>
    +</NOSCRIPT>
    +
    +</HEAD>
    +
    +<BODY BGCOLOR="white" onload="windowTitle();">
    +
    +
    +<!-- ========= START OF TOP NAVBAR ======= -->
    +<A NAME="navbar_top"><!-- --></A>
    +<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
    +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
    +<TR>
    +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
    +<A NAME="navbar_top_firstrow"><!-- --></A>
    +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
    +  <TR ALIGN="center" VALIGN="top">
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="class-use/IRemoteCommandVisitor.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
    +  </TR>
    +</TABLE>
    +</TD>
    +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
    +</EM>
    +</TD>
    +</TR>
    +
    +<TR>
    +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
    +&nbsp;<A HREF="../../../../org/jacoco/core/runtime/InjectedClassRuntime.html" title="class in org.jacoco.core.runtime"><B>PREV CLASS</B></A>&nbsp;
    +&nbsp;<A HREF="../../../../org/jacoco/core/runtime/IRuntime.html" title="interface in org.jacoco.core.runtime"><B>NEXT CLASS</B></A></FONT></TD>
    +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
    +  <A HREF="../../../../index.html?org/jacoco/core/runtime/IRemoteCommandVisitor.html" target="_top"><B>FRAMES</B></A>  &nbsp;
    +&nbsp;<A HREF="IRemoteCommandVisitor.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
    +&nbsp;<SCRIPT type="text/javascript">
    +  <!--
    +  if(window==top) {
    +    document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>');
    +  }
    +  //-->
    +</SCRIPT>
    +<NOSCRIPT>
    +  <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>
    +</NOSCRIPT>
    +
    +
    +</FONT></TD>
    +</TR>
    +<TR>
    +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
    +  SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;FIELD&nbsp;|&nbsp;CONSTR&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD>
    +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
    +DETAIL:&nbsp;FIELD&nbsp;|&nbsp;CONSTR&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD>
    +</TR>
    +</TABLE>
    +<A NAME="skip-navbar_top"></A>
    +<!-- ========= END OF TOP NAVBAR ========= -->
    +
    +<HR>
    +<!-- ======== START OF CLASS DATA ======== -->
    +<H2>
    +<FONT SIZE="-1">
    +org.jacoco.core.runtime</FONT>
    +<BR>
    +Interface IRemoteCommandVisitor</H2>
    +<DL>
    +<DT><B>All Known Implementing Classes:</B> <DD><A HREF="../../../../org/jacoco/core/runtime/RemoteControlWriter.html" title="class in org.jacoco.core.runtime">RemoteControlWriter</A></DD>
    +</DL>
    +<HR>
    +<DL>
    +<DT><PRE>public interface <B>IRemoteCommandVisitor</B></DL>
    +</PRE>
    +
    +<P>
    +Interface for remote commands to a coverage runtime.
    +<P>
    +
    +<P>
    +<HR>
    +
    +<P>
    +
    +<!-- ========== METHOD SUMMARY =========== -->
    +
    +<A NAME="method_summary"><!-- --></A>
    +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
    +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
    +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
    +<B>Method Summary</B></FONT></TH>
    +</TR>
    +<TR BGCOLOR="white" CLASS="TableRowColor">
    +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
    +<CODE>&nbsp;void</CODE></FONT></TD>
    +<TD><CODE><B><A HREF="../../../../org/jacoco/core/runtime/IRemoteCommandVisitor.html#visitDumpCommand(boolean, boolean)">visitDumpCommand</A></B>(boolean&nbsp;dump,
    +                 boolean&nbsp;reset)</CODE>
    +
    +<BR>
    +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Requests a execution data dump with an optional reset.</TD>
    +</TR>
    +</TABLE>
    +&nbsp;
    +<P>
    +
    +<!-- ============ METHOD DETAIL ========== -->
    +
    +<A NAME="method_detail"><!-- --></A>
    +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
    +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
    +<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2">
    +<B>Method Detail</B></FONT></TH>
    +</TR>
    +</TABLE>
    +
    +<A NAME="visitDumpCommand(boolean, boolean)"><!-- --></A><H3>
    +visitDumpCommand</H3>
    +<PRE>
    +void <B>visitDumpCommand</B>(boolean&nbsp;dump,
    +                      boolean&nbsp;reset)
    +                      throws <A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/io/IOException.html" title="class or interface in java.io">IOException</A></PRE>
    +<DL>
    +<DD>Requests a execution data dump with an optional reset.
    +<P>
    +<DD><DL>
    +<DT><B>Parameters:</B><DD><CODE>dump</CODE> - <code>true</code> if the dump should be executed<DD><CODE>reset</CODE> - <code>true</code> if the reset should be executed
    +<DT><B>Throws:</B>
    +<DD><CODE><A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/io/IOException.html" title="class or interface in java.io">IOException</A></CODE> - in case of problems with the remote connection</DL>
    +</DD>
    +</DL>
    +<!-- ========= END OF CLASS DATA ========= -->
    +<HR>
    +
    +
    +<!-- ======= START OF BOTTOM NAVBAR ====== -->
    +<A NAME="navbar_bottom"><!-- --></A>
    +<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
    +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
    +<TR>
    +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
    +<A NAME="navbar_bottom_firstrow"><!-- --></A>
    +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
    +  <TR ALIGN="center" VALIGN="top">
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="class-use/IRemoteCommandVisitor.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
    +  </TR>
    +</TABLE>
    +</TD>
    +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
    +</EM>
    +</TD>
    +</TR>
    +
    +<TR>
    +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
    +&nbsp;<A HREF="../../../../org/jacoco/core/runtime/InjectedClassRuntime.html" title="class in org.jacoco.core.runtime"><B>PREV CLASS</B></A>&nbsp;
    +&nbsp;<A HREF="../../../../org/jacoco/core/runtime/IRuntime.html" title="interface in org.jacoco.core.runtime"><B>NEXT CLASS</B></A></FONT></TD>
    +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
    +  <A HREF="../../../../index.html?org/jacoco/core/runtime/IRemoteCommandVisitor.html" target="_top"><B>FRAMES</B></A>  &nbsp;
    +&nbsp;<A HREF="IRemoteCommandVisitor.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
    +&nbsp;<SCRIPT type="text/javascript">
    +  <!--
    +  if(window==top) {
    +    document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>');
    +  }
    +  //-->
    +</SCRIPT>
    +<NOSCRIPT>
    +  <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>
    +</NOSCRIPT>
    +
    +
    +</FONT></TD>
    +</TR>
    +<TR>
    +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
    +  SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;FIELD&nbsp;|&nbsp;CONSTR&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD>
    +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
    +DETAIL:&nbsp;FIELD&nbsp;|&nbsp;CONSTR&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD>
    +</TR>
    +</TABLE>
    +<A NAME="skip-navbar_bottom"></A>
    +<!-- ======== END OF BOTTOM NAVBAR ======= -->
    +
    +<HR>
    +Copyright &#169; 2009&#x2013;2024 Mountainminds GmbH & Co. KG. All rights reserved.
    +</BODY>
    +</HTML>
    diff --git a/jacoco/trunk/doc/api/org/jacoco/core/runtime/IRuntime.html b/jacoco/trunk/doc/api/org/jacoco/core/runtime/IRuntime.html
    new file mode 100644
    index 00000000000..58ee5d1759b
    --- /dev/null
    +++ b/jacoco/trunk/doc/api/org/jacoco/core/runtime/IRuntime.html
    @@ -0,0 +1,258 @@
    +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
    +<!--NewPage-->
    +<HTML>
    +<HEAD>
    +<!-- Generated by javadoc (build 1.5.0_22) on Wed Mar 27 16:45:41 UTC 2024 -->
    +<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
    +<TITLE>
    +IRuntime (JaCoCo 0.8.12.202403270442 API)
    +</TITLE>
    +
    +<META NAME="keywords" CONTENT="org.jacoco.core.runtime.IRuntime interface">
    +
    +<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../stylesheet.css" TITLE="Style">
    +
    +<SCRIPT type="text/javascript">
    +function windowTitle()
    +{
    +    parent.document.title="IRuntime (JaCoCo 0.8.12.202403270442 API)";
    +}
    +</SCRIPT>
    +<NOSCRIPT>
    +</NOSCRIPT>
    +
    +</HEAD>
    +
    +<BODY BGCOLOR="white" onload="windowTitle();">
    +
    +
    +<!-- ========= START OF TOP NAVBAR ======= -->
    +<A NAME="navbar_top"><!-- --></A>
    +<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
    +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
    +<TR>
    +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
    +<A NAME="navbar_top_firstrow"><!-- --></A>
    +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
    +  <TR ALIGN="center" VALIGN="top">
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="class-use/IRuntime.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
    +  </TR>
    +</TABLE>
    +</TD>
    +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
    +</EM>
    +</TD>
    +</TR>
    +
    +<TR>
    +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
    +&nbsp;<A HREF="../../../../org/jacoco/core/runtime/IRemoteCommandVisitor.html" title="interface in org.jacoco.core.runtime"><B>PREV CLASS</B></A>&nbsp;
    +&nbsp;<A HREF="../../../../org/jacoco/core/runtime/LoggerRuntime.html" title="class in org.jacoco.core.runtime"><B>NEXT CLASS</B></A></FONT></TD>
    +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
    +  <A HREF="../../../../index.html?org/jacoco/core/runtime/IRuntime.html" target="_top"><B>FRAMES</B></A>  &nbsp;
    +&nbsp;<A HREF="IRuntime.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
    +&nbsp;<SCRIPT type="text/javascript">
    +  <!--
    +  if(window==top) {
    +    document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>');
    +  }
    +  //-->
    +</SCRIPT>
    +<NOSCRIPT>
    +  <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>
    +</NOSCRIPT>
    +
    +
    +</FONT></TD>
    +</TR>
    +<TR>
    +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
    +  SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;FIELD&nbsp;|&nbsp;CONSTR&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD>
    +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
    +DETAIL:&nbsp;FIELD&nbsp;|&nbsp;CONSTR&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD>
    +</TR>
    +</TABLE>
    +<A NAME="skip-navbar_top"></A>
    +<!-- ========= END OF TOP NAVBAR ========= -->
    +
    +<HR>
    +<!-- ======== START OF CLASS DATA ======== -->
    +<H2>
    +<FONT SIZE="-1">
    +org.jacoco.core.runtime</FONT>
    +<BR>
    +Interface IRuntime</H2>
    +<DL>
    +<DT><B>All Superinterfaces:</B> <DD><A HREF="../../../../org/jacoco/core/runtime/IExecutionDataAccessorGenerator.html" title="interface in org.jacoco.core.runtime">IExecutionDataAccessorGenerator</A></DD>
    +</DL>
    +<DL>
    +<DT><B>All Known Implementing Classes:</B> <DD><A HREF="../../../../org/jacoco/core/runtime/AbstractRuntime.html" title="class in org.jacoco.core.runtime">AbstractRuntime</A>, <A HREF="../../../../org/jacoco/core/runtime/InjectedClassRuntime.html" title="class in org.jacoco.core.runtime">InjectedClassRuntime</A>, <A HREF="../../../../org/jacoco/core/runtime/LoggerRuntime.html" title="class in org.jacoco.core.runtime">LoggerRuntime</A>, <A HREF="../../../../org/jacoco/core/runtime/ModifiedSystemClassRuntime.html" title="class in org.jacoco.core.runtime">ModifiedSystemClassRuntime</A>, <A HREF="../../../../org/jacoco/core/runtime/SystemPropertiesRuntime.html" title="class in org.jacoco.core.runtime">SystemPropertiesRuntime</A></DD>
    +</DL>
    +<HR>
    +<DL>
    +<DT><PRE>public interface <B>IRuntime</B><DT>extends <A HREF="../../../../org/jacoco/core/runtime/IExecutionDataAccessorGenerator.html" title="interface in org.jacoco.core.runtime">IExecutionDataAccessorGenerator</A></DL>
    +</PRE>
    +
    +<P>
    +This interface represents a particular mechanism to collect execution
    + information in the target VM at runtime.
    +<P>
    +
    +<P>
    +<HR>
    +
    +<P>
    +
    +<!-- ========== METHOD SUMMARY =========== -->
    +
    +<A NAME="method_summary"><!-- --></A>
    +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
    +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
    +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
    +<B>Method Summary</B></FONT></TH>
    +</TR>
    +<TR BGCOLOR="white" CLASS="TableRowColor">
    +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
    +<CODE>&nbsp;void</CODE></FONT></TD>
    +<TD><CODE><B><A HREF="../../../../org/jacoco/core/runtime/IRuntime.html#shutdown()">shutdown</A></B>()</CODE>
    +
    +<BR>
    +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Allows the coverage runtime to cleanup internals.</TD>
    +</TR>
    +<TR BGCOLOR="white" CLASS="TableRowColor">
    +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
    +<CODE>&nbsp;void</CODE></FONT></TD>
    +<TD><CODE><B><A HREF="../../../../org/jacoco/core/runtime/IRuntime.html#startup(org.jacoco.core.runtime.RuntimeData)">startup</A></B>(<A HREF="../../../../org/jacoco/core/runtime/RuntimeData.html" title="class in org.jacoco.core.runtime">RuntimeData</A>&nbsp;data)</CODE>
    +
    +<BR>
    +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Starts the coverage runtime.</TD>
    +</TR>
    +</TABLE>
    +&nbsp;<A NAME="methods_inherited_from_class_org.jacoco.core.runtime.IExecutionDataAccessorGenerator"><!-- --></A>
    +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
    +<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
    +<TH ALIGN="left"><B>Methods inherited from interface org.jacoco.core.runtime.<A HREF="../../../../org/jacoco/core/runtime/IExecutionDataAccessorGenerator.html" title="interface in org.jacoco.core.runtime">IExecutionDataAccessorGenerator</A></B></TH>
    +</TR>
    +<TR BGCOLOR="white" CLASS="TableRowColor">
    +<TD><CODE><A HREF="../../../../org/jacoco/core/runtime/IExecutionDataAccessorGenerator.html#generateDataAccessor(long, java.lang.String, int, org.objectweb.asm.MethodVisitor)">generateDataAccessor</A></CODE></TD>
    +</TR>
    +</TABLE>
    +&nbsp;
    +<P>
    +
    +<!-- ============ METHOD DETAIL ========== -->
    +
    +<A NAME="method_detail"><!-- --></A>
    +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
    +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
    +<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2">
    +<B>Method Detail</B></FONT></TH>
    +</TR>
    +</TABLE>
    +
    +<A NAME="startup(org.jacoco.core.runtime.RuntimeData)"><!-- --></A><H3>
    +startup</H3>
    +<PRE>
    +void <B>startup</B>(<A HREF="../../../../org/jacoco/core/runtime/RuntimeData.html" title="class in org.jacoco.core.runtime">RuntimeData</A>&nbsp;data)
    +             throws <A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Exception.html" title="class or interface in java.lang">Exception</A></PRE>
    +<DL>
    +<DD>Starts the coverage runtime. This method MUST be called before any class
    + instrumented for this runtime is loaded.
    +<P>
    +<DD><DL>
    +</DL>
    +</DD>
    +<DD><DL>
    +<DT><B>Parameters:</B><DD><CODE>data</CODE> - the execution data for this runtime
    +<DT><B>Throws:</B>
    +<DD><CODE><A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Exception.html" title="class or interface in java.lang">Exception</A></CODE> - any internal problem during startup</DL>
    +</DD>
    +</DL>
    +<HR>
    +
    +<A NAME="shutdown()"><!-- --></A><H3>
    +shutdown</H3>
    +<PRE>
    +void <B>shutdown</B>()</PRE>
    +<DL>
    +<DD>Allows the coverage runtime to cleanup internals. This class should be
    + called when classes instrumented for this runtime are not used any more.
    +<P>
    +<DD><DL>
    +</DL>
    +</DD>
    +<DD><DL>
    +</DL>
    +</DD>
    +</DL>
    +<!-- ========= END OF CLASS DATA ========= -->
    +<HR>
    +
    +
    +<!-- ======= START OF BOTTOM NAVBAR ====== -->
    +<A NAME="navbar_bottom"><!-- --></A>
    +<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
    +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
    +<TR>
    +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
    +<A NAME="navbar_bottom_firstrow"><!-- --></A>
    +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
    +  <TR ALIGN="center" VALIGN="top">
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="class-use/IRuntime.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
    +  </TR>
    +</TABLE>
    +</TD>
    +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
    +</EM>
    +</TD>
    +</TR>
    +
    +<TR>
    +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
    +&nbsp;<A HREF="../../../../org/jacoco/core/runtime/IRemoteCommandVisitor.html" title="interface in org.jacoco.core.runtime"><B>PREV CLASS</B></A>&nbsp;
    +&nbsp;<A HREF="../../../../org/jacoco/core/runtime/LoggerRuntime.html" title="class in org.jacoco.core.runtime"><B>NEXT CLASS</B></A></FONT></TD>
    +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
    +  <A HREF="../../../../index.html?org/jacoco/core/runtime/IRuntime.html" target="_top"><B>FRAMES</B></A>  &nbsp;
    +&nbsp;<A HREF="IRuntime.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
    +&nbsp;<SCRIPT type="text/javascript">
    +  <!--
    +  if(window==top) {
    +    document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>');
    +  }
    +  //-->
    +</SCRIPT>
    +<NOSCRIPT>
    +  <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>
    +</NOSCRIPT>
    +
    +
    +</FONT></TD>
    +</TR>
    +<TR>
    +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
    +  SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;FIELD&nbsp;|&nbsp;CONSTR&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD>
    +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
    +DETAIL:&nbsp;FIELD&nbsp;|&nbsp;CONSTR&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD>
    +</TR>
    +</TABLE>
    +<A NAME="skip-navbar_bottom"></A>
    +<!-- ======== END OF BOTTOM NAVBAR ======= -->
    +
    +<HR>
    +Copyright &#169; 2009&#x2013;2024 Mountainminds GmbH & Co. KG. All rights reserved.
    +</BODY>
    +</HTML>
    diff --git a/jacoco/trunk/doc/api/org/jacoco/core/runtime/InjectedClassRuntime.html b/jacoco/trunk/doc/api/org/jacoco/core/runtime/InjectedClassRuntime.html
    new file mode 100644
    index 00000000000..660c0640991
    --- /dev/null
    +++ b/jacoco/trunk/doc/api/org/jacoco/core/runtime/InjectedClassRuntime.html
    @@ -0,0 +1,368 @@
    +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
    +<!--NewPage-->
    +<HTML>
    +<HEAD>
    +<!-- Generated by javadoc (build 1.5.0_22) on Wed Mar 27 16:45:41 UTC 2024 -->
    +<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
    +<TITLE>
    +InjectedClassRuntime (JaCoCo 0.8.12.202403270442 API)
    +</TITLE>
    +
    +<META NAME="keywords" CONTENT="org.jacoco.core.runtime.InjectedClassRuntime class">
    +
    +<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../stylesheet.css" TITLE="Style">
    +
    +<SCRIPT type="text/javascript">
    +function windowTitle()
    +{
    +    parent.document.title="InjectedClassRuntime (JaCoCo 0.8.12.202403270442 API)";
    +}
    +</SCRIPT>
    +<NOSCRIPT>
    +</NOSCRIPT>
    +
    +</HEAD>
    +
    +<BODY BGCOLOR="white" onload="windowTitle();">
    +
    +
    +<!-- ========= START OF TOP NAVBAR ======= -->
    +<A NAME="navbar_top"><!-- --></A>
    +<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
    +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
    +<TR>
    +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
    +<A NAME="navbar_top_firstrow"><!-- --></A>
    +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
    +  <TR ALIGN="center" VALIGN="top">
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="class-use/InjectedClassRuntime.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
    +  </TR>
    +</TABLE>
    +</TD>
    +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
    +</EM>
    +</TD>
    +</TR>
    +
    +<TR>
    +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
    +&nbsp;<A HREF="../../../../org/jacoco/core/runtime/IExecutionDataAccessorGenerator.html" title="interface in org.jacoco.core.runtime"><B>PREV CLASS</B></A>&nbsp;
    +&nbsp;<A HREF="../../../../org/jacoco/core/runtime/IRemoteCommandVisitor.html" title="interface in org.jacoco.core.runtime"><B>NEXT CLASS</B></A></FONT></TD>
    +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
    +  <A HREF="../../../../index.html?org/jacoco/core/runtime/InjectedClassRuntime.html" target="_top"><B>FRAMES</B></A>  &nbsp;
    +&nbsp;<A HREF="InjectedClassRuntime.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
    +&nbsp;<SCRIPT type="text/javascript">
    +  <!--
    +  if(window==top) {
    +    document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>');
    +  }
    +  //-->
    +</SCRIPT>
    +<NOSCRIPT>
    +  <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>
    +</NOSCRIPT>
    +
    +
    +</FONT></TD>
    +</TR>
    +<TR>
    +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
    +  SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;<A HREF="#fields_inherited_from_class_org.jacoco.core.runtime.AbstractRuntime">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD>
    +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
    +DETAIL:&nbsp;FIELD&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD>
    +</TR>
    +</TABLE>
    +<A NAME="skip-navbar_top"></A>
    +<!-- ========= END OF TOP NAVBAR ========= -->
    +
    +<HR>
    +<!-- ======== START OF CLASS DATA ======== -->
    +<H2>
    +<FONT SIZE="-1">
    +org.jacoco.core.runtime</FONT>
    +<BR>
    +Class InjectedClassRuntime</H2>
    +<PRE>
    +<A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html" title="class or interface in java.lang">java.lang.Object</A>
    +  <IMG SRC="../../../../resources/inherit.gif" ALT="extended by "><A HREF="../../../../org/jacoco/core/runtime/AbstractRuntime.html" title="class in org.jacoco.core.runtime">org.jacoco.core.runtime.AbstractRuntime</A>
    +      <IMG SRC="../../../../resources/inherit.gif" ALT="extended by "><B>org.jacoco.core.runtime.InjectedClassRuntime</B>
    +</PRE>
    +<DL>
    +<DT><B>All Implemented Interfaces:</B> <DD><A HREF="../../../../org/jacoco/core/runtime/IExecutionDataAccessorGenerator.html" title="interface in org.jacoco.core.runtime">IExecutionDataAccessorGenerator</A>, <A HREF="../../../../org/jacoco/core/runtime/IRuntime.html" title="interface in org.jacoco.core.runtime">IRuntime</A></DD>
    +</DL>
    +<HR>
    +<DL>
    +<DT><PRE>public class <B>InjectedClassRuntime</B><DT>extends <A HREF="../../../../org/jacoco/core/runtime/AbstractRuntime.html" title="class in org.jacoco.core.runtime">AbstractRuntime</A></DL>
    +</PRE>
    +
    +<P>
    +<A HREF="../../../../org/jacoco/core/runtime/IRuntime.html" title="interface in org.jacoco.core.runtime"><CODE>IRuntime</CODE></A> which defines a new class using
    + <code>java.lang.invoke.MethodHandles.Lookup.defineClass</code> introduced in Java
    + 9. Module where class will be defined must be opened to at least module of
    + this class.
    +<P>
    +
    +<P>
    +<HR>
    +
    +<P>
    +<!-- =========== FIELD SUMMARY =========== -->
    +
    +<A NAME="field_summary"><!-- --></A>
    +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
    +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
    +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
    +<B>Field Summary</B></FONT></TH>
    +</TR>
    +</TABLE>
    +&nbsp;<A NAME="fields_inherited_from_class_org.jacoco.core.runtime.AbstractRuntime"><!-- --></A>
    +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
    +<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
    +<TH ALIGN="left"><B>Fields inherited from class org.jacoco.core.runtime.<A HREF="../../../../org/jacoco/core/runtime/AbstractRuntime.html" title="class in org.jacoco.core.runtime">AbstractRuntime</A></B></TH>
    +</TR>
    +<TR BGCOLOR="white" CLASS="TableRowColor">
    +<TD><CODE><A HREF="../../../../org/jacoco/core/runtime/AbstractRuntime.html#data">data</A></CODE></TD>
    +</TR>
    +</TABLE>
    +&nbsp;
    +<!-- ======== CONSTRUCTOR SUMMARY ======== -->
    +
    +<A NAME="constructor_summary"><!-- --></A>
    +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
    +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
    +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
    +<B>Constructor Summary</B></FONT></TH>
    +</TR>
    +<TR BGCOLOR="white" CLASS="TableRowColor">
    +<TD><CODE><B><A HREF="../../../../org/jacoco/core/runtime/InjectedClassRuntime.html#InjectedClassRuntime(java.lang.Class, java.lang.String)">InjectedClassRuntime</A></B>(<A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Class.html" title="class or interface in java.lang">Class</A>&lt;?&gt;&nbsp;locator,
    +                     <A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A>&nbsp;simpleClassName)</CODE>
    +
    +<BR>
    +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Creates a new runtime which will define a class to the same class loader
    + and in the same package and protection domain as given class.</TD>
    +</TR>
    +</TABLE>
    +&nbsp;
    +<!-- ========== METHOD SUMMARY =========== -->
    +
    +<A NAME="method_summary"><!-- --></A>
    +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
    +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
    +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
    +<B>Method Summary</B></FONT></TH>
    +</TR>
    +<TR BGCOLOR="white" CLASS="TableRowColor">
    +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
    +<CODE>&nbsp;int</CODE></FONT></TD>
    +<TD><CODE><B><A HREF="../../../../org/jacoco/core/runtime/InjectedClassRuntime.html#generateDataAccessor(long, java.lang.String, int, org.objectweb.asm.MethodVisitor)">generateDataAccessor</A></B>(long&nbsp;classid,
    +                     <A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A>&nbsp;classname,
    +                     int&nbsp;probecount,
    +                     org.objectweb.asm.MethodVisitor&nbsp;mv)</CODE>
    +
    +<BR>
    +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;This method generates the byte code required to obtain the coverage data
    + structure for the class with the given id.</TD>
    +</TR>
    +<TR BGCOLOR="white" CLASS="TableRowColor">
    +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
    +<CODE>&nbsp;void</CODE></FONT></TD>
    +<TD><CODE><B><A HREF="../../../../org/jacoco/core/runtime/InjectedClassRuntime.html#shutdown()">shutdown</A></B>()</CODE>
    +
    +<BR>
    +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Allows the coverage runtime to cleanup internals.</TD>
    +</TR>
    +<TR BGCOLOR="white" CLASS="TableRowColor">
    +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
    +<CODE>&nbsp;void</CODE></FONT></TD>
    +<TD><CODE><B><A HREF="../../../../org/jacoco/core/runtime/InjectedClassRuntime.html#startup(org.jacoco.core.runtime.RuntimeData)">startup</A></B>(<A HREF="../../../../org/jacoco/core/runtime/RuntimeData.html" title="class in org.jacoco.core.runtime">RuntimeData</A>&nbsp;data)</CODE>
    +
    +<BR>
    +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Subclasses must call this method when overwriting it.</TD>
    +</TR>
    +</TABLE>
    +&nbsp;<A NAME="methods_inherited_from_class_org.jacoco.core.runtime.AbstractRuntime"><!-- --></A>
    +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
    +<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
    +<TH ALIGN="left"><B>Methods inherited from class org.jacoco.core.runtime.<A HREF="../../../../org/jacoco/core/runtime/AbstractRuntime.html" title="class in org.jacoco.core.runtime">AbstractRuntime</A></B></TH>
    +</TR>
    +<TR BGCOLOR="white" CLASS="TableRowColor">
    +<TD><CODE><A HREF="../../../../org/jacoco/core/runtime/AbstractRuntime.html#createRandomId()">createRandomId</A></CODE></TD>
    +</TR>
    +</TABLE>
    +&nbsp;<A NAME="methods_inherited_from_class_java.lang.Object"><!-- --></A>
    +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
    +<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
    +<TH ALIGN="left"><B>Methods inherited from class java.lang.<A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html" title="class or interface in java.lang">Object</A></B></TH>
    +</TR>
    +<TR BGCOLOR="white" CLASS="TableRowColor">
    +<TD><CODE><A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html#clone()" title="class or interface in java.lang">clone</A>, <A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html#equals(java.lang.Object)" title="class or interface in java.lang">equals</A>, <A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html#finalize()" title="class or interface in java.lang">finalize</A>, <A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html#getClass()" title="class or interface in java.lang">getClass</A>, <A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html#hashCode()" title="class or interface in java.lang">hashCode</A>, <A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html#notify()" title="class or interface in java.lang">notify</A>, <A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html#notifyAll()" title="class or interface in java.lang">notifyAll</A>, <A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html#toString()" title="class or interface in java.lang">toString</A>, <A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html#wait()" title="class or interface in java.lang">wait</A>, <A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html#wait(long)" title="class or interface in java.lang">wait</A>, <A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html#wait(long, int)" title="class or interface in java.lang">wait</A></CODE></TD>
    +</TR>
    +</TABLE>
    +&nbsp;
    +<P>
    +
    +<!-- ========= CONSTRUCTOR DETAIL ======== -->
    +
    +<A NAME="constructor_detail"><!-- --></A>
    +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
    +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
    +<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2">
    +<B>Constructor Detail</B></FONT></TH>
    +</TR>
    +</TABLE>
    +
    +<A NAME="InjectedClassRuntime(java.lang.Class, java.lang.String)"><!-- --></A><H3>
    +InjectedClassRuntime</H3>
    +<PRE>
    +public <B>InjectedClassRuntime</B>(<A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Class.html" title="class or interface in java.lang">Class</A>&lt;?&gt;&nbsp;locator,
    +                            <A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A>&nbsp;simpleClassName)</PRE>
    +<DL>
    +<DD>Creates a new runtime which will define a class to the same class loader
    + and in the same package and protection domain as given class.
    +<P>
    +<DL>
    +<DT><B>Parameters:</B><DD><CODE>locator</CODE> - class to identify the target class loader and package<DD><CODE>simpleClassName</CODE> - simple name of the class to be defined</DL>
    +</DL>
    +
    +<!-- ============ METHOD DETAIL ========== -->
    +
    +<A NAME="method_detail"><!-- --></A>
    +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
    +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
    +<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2">
    +<B>Method Detail</B></FONT></TH>
    +</TR>
    +</TABLE>
    +
    +<A NAME="startup(org.jacoco.core.runtime.RuntimeData)"><!-- --></A><H3>
    +startup</H3>
    +<PRE>
    +public void <B>startup</B>(<A HREF="../../../../org/jacoco/core/runtime/RuntimeData.html" title="class in org.jacoco.core.runtime">RuntimeData</A>&nbsp;data)
    +             throws <A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Exception.html" title="class or interface in java.lang">Exception</A></PRE>
    +<DL>
    +<DD><B>Description copied from class: <CODE><A HREF="../../../../org/jacoco/core/runtime/AbstractRuntime.html#startup(org.jacoco.core.runtime.RuntimeData)">AbstractRuntime</A></CODE></B></DD>
    +<DD>Subclasses must call this method when overwriting it.
    +<P>
    +<DD><DL>
    +<DT><B>Specified by:</B><DD><CODE><A HREF="../../../../org/jacoco/core/runtime/IRuntime.html#startup(org.jacoco.core.runtime.RuntimeData)">startup</A></CODE> in interface <CODE><A HREF="../../../../org/jacoco/core/runtime/IRuntime.html" title="interface in org.jacoco.core.runtime">IRuntime</A></CODE><DT><B>Overrides:</B><DD><CODE><A HREF="../../../../org/jacoco/core/runtime/AbstractRuntime.html#startup(org.jacoco.core.runtime.RuntimeData)">startup</A></CODE> in class <CODE><A HREF="../../../../org/jacoco/core/runtime/AbstractRuntime.html" title="class in org.jacoco.core.runtime">AbstractRuntime</A></CODE></DL>
    +</DD>
    +<DD><DL>
    +<DT><B>Parameters:</B><DD><CODE>data</CODE> - the execution data for this runtime
    +<DT><B>Throws:</B>
    +<DD><CODE><A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Exception.html" title="class or interface in java.lang">Exception</A></CODE> - any internal problem during startup</DL>
    +</DD>
    +</DL>
    +<HR>
    +
    +<A NAME="shutdown()"><!-- --></A><H3>
    +shutdown</H3>
    +<PRE>
    +public void <B>shutdown</B>()</PRE>
    +<DL>
    +<DD><B>Description copied from interface: <CODE><A HREF="../../../../org/jacoco/core/runtime/IRuntime.html#shutdown()">IRuntime</A></CODE></B></DD>
    +<DD>Allows the coverage runtime to cleanup internals. This class should be
    + called when classes instrumented for this runtime are not used any more.
    +<P>
    +<DD><DL>
    +</DL>
    +</DD>
    +</DL>
    +<HR>
    +
    +<A NAME="generateDataAccessor(long, java.lang.String, int, org.objectweb.asm.MethodVisitor)"><!-- --></A><H3>
    +generateDataAccessor</H3>
    +<PRE>
    +public int <B>generateDataAccessor</B>(long&nbsp;classid,
    +                                <A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A>&nbsp;classname,
    +                                int&nbsp;probecount,
    +                                org.objectweb.asm.MethodVisitor&nbsp;mv)</PRE>
    +<DL>
    +<DD><B>Description copied from interface: <CODE><A HREF="../../../../org/jacoco/core/runtime/IExecutionDataAccessorGenerator.html#generateDataAccessor(long, java.lang.String, int, org.objectweb.asm.MethodVisitor)">IExecutionDataAccessorGenerator</A></CODE></B></DD>
    +<DD>This method generates the byte code required to obtain the coverage data
    + structure for the class with the given id. Typically the instrumentation
    + process will embed this code into a method that is called on class
    + initialization. This method can be called at any time even outside the
    + target VM.
    +
    + The generated code must push a <code>boolean[]</code> instance to the
    + operand stack. Except this result object the generated code must not make
    + any assumptions about the structure of the embedding method or class. The
    + generated code must not use or allocate local variables.
    +<P>
    +<DD><DL>
    +<DT><B>Parameters:</B><DD><CODE>classid</CODE> - identifier of the class<DD><CODE>classname</CODE> - VM class name<DD><CODE>probecount</CODE> - probe count for this class<DD><CODE>mv</CODE> - code output
    +<DT><B>Returns:</B><DD>additional stack size required by the implementation, including
    +         the instance pushed to the stack</DL>
    +</DD>
    +</DL>
    +<!-- ========= END OF CLASS DATA ========= -->
    +<HR>
    +
    +
    +<!-- ======= START OF BOTTOM NAVBAR ====== -->
    +<A NAME="navbar_bottom"><!-- --></A>
    +<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
    +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
    +<TR>
    +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
    +<A NAME="navbar_bottom_firstrow"><!-- --></A>
    +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
    +  <TR ALIGN="center" VALIGN="top">
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="class-use/InjectedClassRuntime.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
    +  </TR>
    +</TABLE>
    +</TD>
    +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
    +</EM>
    +</TD>
    +</TR>
    +
    +<TR>
    +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
    +&nbsp;<A HREF="../../../../org/jacoco/core/runtime/IExecutionDataAccessorGenerator.html" title="interface in org.jacoco.core.runtime"><B>PREV CLASS</B></A>&nbsp;
    +&nbsp;<A HREF="../../../../org/jacoco/core/runtime/IRemoteCommandVisitor.html" title="interface in org.jacoco.core.runtime"><B>NEXT CLASS</B></A></FONT></TD>
    +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
    +  <A HREF="../../../../index.html?org/jacoco/core/runtime/InjectedClassRuntime.html" target="_top"><B>FRAMES</B></A>  &nbsp;
    +&nbsp;<A HREF="InjectedClassRuntime.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
    +&nbsp;<SCRIPT type="text/javascript">
    +  <!--
    +  if(window==top) {
    +    document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>');
    +  }
    +  //-->
    +</SCRIPT>
    +<NOSCRIPT>
    +  <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>
    +</NOSCRIPT>
    +
    +
    +</FONT></TD>
    +</TR>
    +<TR>
    +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
    +  SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;<A HREF="#fields_inherited_from_class_org.jacoco.core.runtime.AbstractRuntime">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD>
    +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
    +DETAIL:&nbsp;FIELD&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD>
    +</TR>
    +</TABLE>
    +<A NAME="skip-navbar_bottom"></A>
    +<!-- ======== END OF BOTTOM NAVBAR ======= -->
    +
    +<HR>
    +Copyright &#169; 2009&#x2013;2024 Mountainminds GmbH & Co. KG. All rights reserved.
    +</BODY>
    +</HTML>
    diff --git a/jacoco/trunk/doc/api/org/jacoco/core/runtime/LoggerRuntime.html b/jacoco/trunk/doc/api/org/jacoco/core/runtime/LoggerRuntime.html
    new file mode 100644
    index 00000000000..3afe667bbb7
    --- /dev/null
    +++ b/jacoco/trunk/doc/api/org/jacoco/core/runtime/LoggerRuntime.html
    @@ -0,0 +1,367 @@
    +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
    +<!--NewPage-->
    +<HTML>
    +<HEAD>
    +<!-- Generated by javadoc (build 1.5.0_22) on Wed Mar 27 16:45:41 UTC 2024 -->
    +<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
    +<TITLE>
    +LoggerRuntime (JaCoCo 0.8.12.202403270442 API)
    +</TITLE>
    +
    +<META NAME="keywords" CONTENT="org.jacoco.core.runtime.LoggerRuntime class">
    +
    +<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../stylesheet.css" TITLE="Style">
    +
    +<SCRIPT type="text/javascript">
    +function windowTitle()
    +{
    +    parent.document.title="LoggerRuntime (JaCoCo 0.8.12.202403270442 API)";
    +}
    +</SCRIPT>
    +<NOSCRIPT>
    +</NOSCRIPT>
    +
    +</HEAD>
    +
    +<BODY BGCOLOR="white" onload="windowTitle();">
    +
    +
    +<!-- ========= START OF TOP NAVBAR ======= -->
    +<A NAME="navbar_top"><!-- --></A>
    +<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
    +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
    +<TR>
    +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
    +<A NAME="navbar_top_firstrow"><!-- --></A>
    +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
    +  <TR ALIGN="center" VALIGN="top">
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="class-use/LoggerRuntime.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
    +  </TR>
    +</TABLE>
    +</TD>
    +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
    +</EM>
    +</TD>
    +</TR>
    +
    +<TR>
    +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
    +&nbsp;<A HREF="../../../../org/jacoco/core/runtime/IRuntime.html" title="interface in org.jacoco.core.runtime"><B>PREV CLASS</B></A>&nbsp;
    +&nbsp;<A HREF="../../../../org/jacoco/core/runtime/ModifiedSystemClassRuntime.html" title="class in org.jacoco.core.runtime"><B>NEXT CLASS</B></A></FONT></TD>
    +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
    +  <A HREF="../../../../index.html?org/jacoco/core/runtime/LoggerRuntime.html" target="_top"><B>FRAMES</B></A>  &nbsp;
    +&nbsp;<A HREF="LoggerRuntime.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
    +&nbsp;<SCRIPT type="text/javascript">
    +  <!--
    +  if(window==top) {
    +    document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>');
    +  }
    +  //-->
    +</SCRIPT>
    +<NOSCRIPT>
    +  <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>
    +</NOSCRIPT>
    +
    +
    +</FONT></TD>
    +</TR>
    +<TR>
    +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
    +  SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;<A HREF="#fields_inherited_from_class_org.jacoco.core.runtime.AbstractRuntime">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD>
    +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
    +DETAIL:&nbsp;FIELD&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD>
    +</TR>
    +</TABLE>
    +<A NAME="skip-navbar_top"></A>
    +<!-- ========= END OF TOP NAVBAR ========= -->
    +
    +<HR>
    +<!-- ======== START OF CLASS DATA ======== -->
    +<H2>
    +<FONT SIZE="-1">
    +org.jacoco.core.runtime</FONT>
    +<BR>
    +Class LoggerRuntime</H2>
    +<PRE>
    +<A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html" title="class or interface in java.lang">java.lang.Object</A>
    +  <IMG SRC="../../../../resources/inherit.gif" ALT="extended by "><A HREF="../../../../org/jacoco/core/runtime/AbstractRuntime.html" title="class in org.jacoco.core.runtime">org.jacoco.core.runtime.AbstractRuntime</A>
    +      <IMG SRC="../../../../resources/inherit.gif" ALT="extended by "><B>org.jacoco.core.runtime.LoggerRuntime</B>
    +</PRE>
    +<DL>
    +<DT><B>All Implemented Interfaces:</B> <DD><A HREF="../../../../org/jacoco/core/runtime/IExecutionDataAccessorGenerator.html" title="interface in org.jacoco.core.runtime">IExecutionDataAccessorGenerator</A>, <A HREF="../../../../org/jacoco/core/runtime/IRuntime.html" title="interface in org.jacoco.core.runtime">IRuntime</A></DD>
    +</DL>
    +<HR>
    +<DL>
    +<DT><PRE>public class <B>LoggerRuntime</B><DT>extends <A HREF="../../../../org/jacoco/core/runtime/AbstractRuntime.html" title="class in org.jacoco.core.runtime">AbstractRuntime</A></DL>
    +</PRE>
    +
    +<P>
    +This <A HREF="../../../../org/jacoco/core/runtime/IRuntime.html" title="interface in org.jacoco.core.runtime"><CODE>IRuntime</CODE></A> implementation uses the Java logging API to report
    + coverage data.
    + <p>
    +
    + The implementation uses a dedicated log channel. Instrumented classes call
    + <A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/util/logging/Logger.html#log(java.util.logging.Level, java.lang.String, java.lang.Object[])" title="class or interface in java.util.logging"><CODE>Logger.log(Level, String, Object[])</CODE></A> with the class identifier in the
    + first slot of the parameter array. The runtime implements a <A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/util/logging/Handler.html" title="class or interface in java.util.logging"><CODE>Handler</CODE></A>
    + for this channel that puts the probe data structure into the first slot of
    + the parameter array.
    +<P>
    +
    +<P>
    +<HR>
    +
    +<P>
    +<!-- =========== FIELD SUMMARY =========== -->
    +
    +<A NAME="field_summary"><!-- --></A>
    +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
    +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
    +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
    +<B>Field Summary</B></FONT></TH>
    +</TR>
    +</TABLE>
    +&nbsp;<A NAME="fields_inherited_from_class_org.jacoco.core.runtime.AbstractRuntime"><!-- --></A>
    +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
    +<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
    +<TH ALIGN="left"><B>Fields inherited from class org.jacoco.core.runtime.<A HREF="../../../../org/jacoco/core/runtime/AbstractRuntime.html" title="class in org.jacoco.core.runtime">AbstractRuntime</A></B></TH>
    +</TR>
    +<TR BGCOLOR="white" CLASS="TableRowColor">
    +<TD><CODE><A HREF="../../../../org/jacoco/core/runtime/AbstractRuntime.html#data">data</A></CODE></TD>
    +</TR>
    +</TABLE>
    +&nbsp;
    +<!-- ======== CONSTRUCTOR SUMMARY ======== -->
    +
    +<A NAME="constructor_summary"><!-- --></A>
    +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
    +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
    +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
    +<B>Constructor Summary</B></FONT></TH>
    +</TR>
    +<TR BGCOLOR="white" CLASS="TableRowColor">
    +<TD><CODE><B><A HREF="../../../../org/jacoco/core/runtime/LoggerRuntime.html#LoggerRuntime()">LoggerRuntime</A></B>()</CODE>
    +
    +<BR>
    +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Creates a new runtime.</TD>
    +</TR>
    +</TABLE>
    +&nbsp;
    +<!-- ========== METHOD SUMMARY =========== -->
    +
    +<A NAME="method_summary"><!-- --></A>
    +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
    +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
    +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
    +<B>Method Summary</B></FONT></TH>
    +</TR>
    +<TR BGCOLOR="white" CLASS="TableRowColor">
    +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
    +<CODE>&nbsp;int</CODE></FONT></TD>
    +<TD><CODE><B><A HREF="../../../../org/jacoco/core/runtime/LoggerRuntime.html#generateDataAccessor(long, java.lang.String, int, org.objectweb.asm.MethodVisitor)">generateDataAccessor</A></B>(long&nbsp;classid,
    +                     <A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A>&nbsp;classname,
    +                     int&nbsp;probecount,
    +                     org.objectweb.asm.MethodVisitor&nbsp;mv)</CODE>
    +
    +<BR>
    +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;This method generates the byte code required to obtain the coverage data
    + structure for the class with the given id.</TD>
    +</TR>
    +<TR BGCOLOR="white" CLASS="TableRowColor">
    +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
    +<CODE>&nbsp;void</CODE></FONT></TD>
    +<TD><CODE><B><A HREF="../../../../org/jacoco/core/runtime/LoggerRuntime.html#shutdown()">shutdown</A></B>()</CODE>
    +
    +<BR>
    +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Allows the coverage runtime to cleanup internals.</TD>
    +</TR>
    +<TR BGCOLOR="white" CLASS="TableRowColor">
    +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
    +<CODE>&nbsp;void</CODE></FONT></TD>
    +<TD><CODE><B><A HREF="../../../../org/jacoco/core/runtime/LoggerRuntime.html#startup(org.jacoco.core.runtime.RuntimeData)">startup</A></B>(<A HREF="../../../../org/jacoco/core/runtime/RuntimeData.html" title="class in org.jacoco.core.runtime">RuntimeData</A>&nbsp;data)</CODE>
    +
    +<BR>
    +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Subclasses must call this method when overwriting it.</TD>
    +</TR>
    +</TABLE>
    +&nbsp;<A NAME="methods_inherited_from_class_org.jacoco.core.runtime.AbstractRuntime"><!-- --></A>
    +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
    +<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
    +<TH ALIGN="left"><B>Methods inherited from class org.jacoco.core.runtime.<A HREF="../../../../org/jacoco/core/runtime/AbstractRuntime.html" title="class in org.jacoco.core.runtime">AbstractRuntime</A></B></TH>
    +</TR>
    +<TR BGCOLOR="white" CLASS="TableRowColor">
    +<TD><CODE><A HREF="../../../../org/jacoco/core/runtime/AbstractRuntime.html#createRandomId()">createRandomId</A></CODE></TD>
    +</TR>
    +</TABLE>
    +&nbsp;<A NAME="methods_inherited_from_class_java.lang.Object"><!-- --></A>
    +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
    +<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
    +<TH ALIGN="left"><B>Methods inherited from class java.lang.<A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html" title="class or interface in java.lang">Object</A></B></TH>
    +</TR>
    +<TR BGCOLOR="white" CLASS="TableRowColor">
    +<TD><CODE><A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html#clone()" title="class or interface in java.lang">clone</A>, <A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html#equals(java.lang.Object)" title="class or interface in java.lang">equals</A>, <A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html#finalize()" title="class or interface in java.lang">finalize</A>, <A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html#getClass()" title="class or interface in java.lang">getClass</A>, <A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html#hashCode()" title="class or interface in java.lang">hashCode</A>, <A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html#notify()" title="class or interface in java.lang">notify</A>, <A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html#notifyAll()" title="class or interface in java.lang">notifyAll</A>, <A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html#toString()" title="class or interface in java.lang">toString</A>, <A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html#wait()" title="class or interface in java.lang">wait</A>, <A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html#wait(long)" title="class or interface in java.lang">wait</A>, <A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html#wait(long, int)" title="class or interface in java.lang">wait</A></CODE></TD>
    +</TR>
    +</TABLE>
    +&nbsp;
    +<P>
    +
    +<!-- ========= CONSTRUCTOR DETAIL ======== -->
    +
    +<A NAME="constructor_detail"><!-- --></A>
    +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
    +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
    +<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2">
    +<B>Constructor Detail</B></FONT></TH>
    +</TR>
    +</TABLE>
    +
    +<A NAME="LoggerRuntime()"><!-- --></A><H3>
    +LoggerRuntime</H3>
    +<PRE>
    +public <B>LoggerRuntime</B>()</PRE>
    +<DL>
    +<DD>Creates a new runtime.
    +<P>
    +</DL>
    +
    +<!-- ============ METHOD DETAIL ========== -->
    +
    +<A NAME="method_detail"><!-- --></A>
    +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
    +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
    +<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2">
    +<B>Method Detail</B></FONT></TH>
    +</TR>
    +</TABLE>
    +
    +<A NAME="generateDataAccessor(long, java.lang.String, int, org.objectweb.asm.MethodVisitor)"><!-- --></A><H3>
    +generateDataAccessor</H3>
    +<PRE>
    +public int <B>generateDataAccessor</B>(long&nbsp;classid,
    +                                <A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A>&nbsp;classname,
    +                                int&nbsp;probecount,
    +                                org.objectweb.asm.MethodVisitor&nbsp;mv)</PRE>
    +<DL>
    +<DD><B>Description copied from interface: <CODE><A HREF="../../../../org/jacoco/core/runtime/IExecutionDataAccessorGenerator.html#generateDataAccessor(long, java.lang.String, int, org.objectweb.asm.MethodVisitor)">IExecutionDataAccessorGenerator</A></CODE></B></DD>
    +<DD>This method generates the byte code required to obtain the coverage data
    + structure for the class with the given id. Typically the instrumentation
    + process will embed this code into a method that is called on class
    + initialization. This method can be called at any time even outside the
    + target VM.
    +
    + The generated code must push a <code>boolean[]</code> instance to the
    + operand stack. Except this result object the generated code must not make
    + any assumptions about the structure of the embedding method or class. The
    + generated code must not use or allocate local variables.
    +<P>
    +<DD><DL>
    +<DT><B>Parameters:</B><DD><CODE>classid</CODE> - identifier of the class<DD><CODE>classname</CODE> - VM class name<DD><CODE>probecount</CODE> - probe count for this class<DD><CODE>mv</CODE> - code output
    +<DT><B>Returns:</B><DD>additional stack size required by the implementation, including
    +         the instance pushed to the stack</DL>
    +</DD>
    +</DL>
    +<HR>
    +
    +<A NAME="startup(org.jacoco.core.runtime.RuntimeData)"><!-- --></A><H3>
    +startup</H3>
    +<PRE>
    +public void <B>startup</B>(<A HREF="../../../../org/jacoco/core/runtime/RuntimeData.html" title="class in org.jacoco.core.runtime">RuntimeData</A>&nbsp;data)
    +             throws <A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Exception.html" title="class or interface in java.lang">Exception</A></PRE>
    +<DL>
    +<DD><B>Description copied from class: <CODE><A HREF="../../../../org/jacoco/core/runtime/AbstractRuntime.html#startup(org.jacoco.core.runtime.RuntimeData)">AbstractRuntime</A></CODE></B></DD>
    +<DD>Subclasses must call this method when overwriting it.
    +<P>
    +<DD><DL>
    +<DT><B>Specified by:</B><DD><CODE><A HREF="../../../../org/jacoco/core/runtime/IRuntime.html#startup(org.jacoco.core.runtime.RuntimeData)">startup</A></CODE> in interface <CODE><A HREF="../../../../org/jacoco/core/runtime/IRuntime.html" title="interface in org.jacoco.core.runtime">IRuntime</A></CODE><DT><B>Overrides:</B><DD><CODE><A HREF="../../../../org/jacoco/core/runtime/AbstractRuntime.html#startup(org.jacoco.core.runtime.RuntimeData)">startup</A></CODE> in class <CODE><A HREF="../../../../org/jacoco/core/runtime/AbstractRuntime.html" title="class in org.jacoco.core.runtime">AbstractRuntime</A></CODE></DL>
    +</DD>
    +<DD><DL>
    +<DT><B>Parameters:</B><DD><CODE>data</CODE> - the execution data for this runtime
    +<DT><B>Throws:</B>
    +<DD><CODE><A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Exception.html" title="class or interface in java.lang">Exception</A></CODE> - any internal problem during startup</DL>
    +</DD>
    +</DL>
    +<HR>
    +
    +<A NAME="shutdown()"><!-- --></A><H3>
    +shutdown</H3>
    +<PRE>
    +public void <B>shutdown</B>()</PRE>
    +<DL>
    +<DD><B>Description copied from interface: <CODE><A HREF="../../../../org/jacoco/core/runtime/IRuntime.html#shutdown()">IRuntime</A></CODE></B></DD>
    +<DD>Allows the coverage runtime to cleanup internals. This class should be
    + called when classes instrumented for this runtime are not used any more.
    +<P>
    +<DD><DL>
    +</DL>
    +</DD>
    +</DL>
    +<!-- ========= END OF CLASS DATA ========= -->
    +<HR>
    +
    +
    +<!-- ======= START OF BOTTOM NAVBAR ====== -->
    +<A NAME="navbar_bottom"><!-- --></A>
    +<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
    +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
    +<TR>
    +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
    +<A NAME="navbar_bottom_firstrow"><!-- --></A>
    +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
    +  <TR ALIGN="center" VALIGN="top">
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="class-use/LoggerRuntime.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
    +  </TR>
    +</TABLE>
    +</TD>
    +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
    +</EM>
    +</TD>
    +</TR>
    +
    +<TR>
    +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
    +&nbsp;<A HREF="../../../../org/jacoco/core/runtime/IRuntime.html" title="interface in org.jacoco.core.runtime"><B>PREV CLASS</B></A>&nbsp;
    +&nbsp;<A HREF="../../../../org/jacoco/core/runtime/ModifiedSystemClassRuntime.html" title="class in org.jacoco.core.runtime"><B>NEXT CLASS</B></A></FONT></TD>
    +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
    +  <A HREF="../../../../index.html?org/jacoco/core/runtime/LoggerRuntime.html" target="_top"><B>FRAMES</B></A>  &nbsp;
    +&nbsp;<A HREF="LoggerRuntime.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
    +&nbsp;<SCRIPT type="text/javascript">
    +  <!--
    +  if(window==top) {
    +    document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>');
    +  }
    +  //-->
    +</SCRIPT>
    +<NOSCRIPT>
    +  <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>
    +</NOSCRIPT>
    +
    +
    +</FONT></TD>
    +</TR>
    +<TR>
    +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
    +  SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;<A HREF="#fields_inherited_from_class_org.jacoco.core.runtime.AbstractRuntime">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD>
    +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
    +DETAIL:&nbsp;FIELD&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD>
    +</TR>
    +</TABLE>
    +<A NAME="skip-navbar_bottom"></A>
    +<!-- ======== END OF BOTTOM NAVBAR ======= -->
    +
    +<HR>
    +Copyright &#169; 2009&#x2013;2024 Mountainminds GmbH & Co. KG. All rights reserved.
    +</BODY>
    +</HTML>
    diff --git a/jacoco/trunk/doc/api/org/jacoco/core/runtime/ModifiedSystemClassRuntime.html b/jacoco/trunk/doc/api/org/jacoco/core/runtime/ModifiedSystemClassRuntime.html
    new file mode 100644
    index 00000000000..6e290e6bd35
    --- /dev/null
    +++ b/jacoco/trunk/doc/api/org/jacoco/core/runtime/ModifiedSystemClassRuntime.html
    @@ -0,0 +1,452 @@
    +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
    +<!--NewPage-->
    +<HTML>
    +<HEAD>
    +<!-- Generated by javadoc (build 1.5.0_22) on Wed Mar 27 16:45:41 UTC 2024 -->
    +<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
    +<TITLE>
    +ModifiedSystemClassRuntime (JaCoCo 0.8.12.202403270442 API)
    +</TITLE>
    +
    +<META NAME="keywords" CONTENT="org.jacoco.core.runtime.ModifiedSystemClassRuntime class">
    +
    +<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../stylesheet.css" TITLE="Style">
    +
    +<SCRIPT type="text/javascript">
    +function windowTitle()
    +{
    +    parent.document.title="ModifiedSystemClassRuntime (JaCoCo 0.8.12.202403270442 API)";
    +}
    +</SCRIPT>
    +<NOSCRIPT>
    +</NOSCRIPT>
    +
    +</HEAD>
    +
    +<BODY BGCOLOR="white" onload="windowTitle();">
    +
    +
    +<!-- ========= START OF TOP NAVBAR ======= -->
    +<A NAME="navbar_top"><!-- --></A>
    +<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
    +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
    +<TR>
    +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
    +<A NAME="navbar_top_firstrow"><!-- --></A>
    +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
    +  <TR ALIGN="center" VALIGN="top">
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="class-use/ModifiedSystemClassRuntime.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
    +  </TR>
    +</TABLE>
    +</TD>
    +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
    +</EM>
    +</TD>
    +</TR>
    +
    +<TR>
    +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
    +&nbsp;<A HREF="../../../../org/jacoco/core/runtime/LoggerRuntime.html" title="class in org.jacoco.core.runtime"><B>PREV CLASS</B></A>&nbsp;
    +&nbsp;<A HREF="../../../../org/jacoco/core/runtime/OfflineInstrumentationAccessGenerator.html" title="class in org.jacoco.core.runtime"><B>NEXT CLASS</B></A></FONT></TD>
    +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
    +  <A HREF="../../../../index.html?org/jacoco/core/runtime/ModifiedSystemClassRuntime.html" target="_top"><B>FRAMES</B></A>  &nbsp;
    +&nbsp;<A HREF="ModifiedSystemClassRuntime.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
    +&nbsp;<SCRIPT type="text/javascript">
    +  <!--
    +  if(window==top) {
    +    document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>');
    +  }
    +  //-->
    +</SCRIPT>
    +<NOSCRIPT>
    +  <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>
    +</NOSCRIPT>
    +
    +
    +</FONT></TD>
    +</TR>
    +<TR>
    +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
    +  SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;<A HREF="#fields_inherited_from_class_org.jacoco.core.runtime.AbstractRuntime">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD>
    +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
    +DETAIL:&nbsp;FIELD&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD>
    +</TR>
    +</TABLE>
    +<A NAME="skip-navbar_top"></A>
    +<!-- ========= END OF TOP NAVBAR ========= -->
    +
    +<HR>
    +<!-- ======== START OF CLASS DATA ======== -->
    +<H2>
    +<FONT SIZE="-1">
    +org.jacoco.core.runtime</FONT>
    +<BR>
    +Class ModifiedSystemClassRuntime</H2>
    +<PRE>
    +<A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html" title="class or interface in java.lang">java.lang.Object</A>
    +  <IMG SRC="../../../../resources/inherit.gif" ALT="extended by "><A HREF="../../../../org/jacoco/core/runtime/AbstractRuntime.html" title="class in org.jacoco.core.runtime">org.jacoco.core.runtime.AbstractRuntime</A>
    +      <IMG SRC="../../../../resources/inherit.gif" ALT="extended by "><B>org.jacoco.core.runtime.ModifiedSystemClassRuntime</B>
    +</PRE>
    +<DL>
    +<DT><B>All Implemented Interfaces:</B> <DD><A HREF="../../../../org/jacoco/core/runtime/IExecutionDataAccessorGenerator.html" title="interface in org.jacoco.core.runtime">IExecutionDataAccessorGenerator</A>, <A HREF="../../../../org/jacoco/core/runtime/IRuntime.html" title="interface in org.jacoco.core.runtime">IRuntime</A></DD>
    +</DL>
    +<HR>
    +<DL>
    +<DT><PRE>public class <B>ModifiedSystemClassRuntime</B><DT>extends <A HREF="../../../../org/jacoco/core/runtime/AbstractRuntime.html" title="class in org.jacoco.core.runtime">AbstractRuntime</A></DL>
    +</PRE>
    +
    +<P>
    +This <A HREF="../../../../org/jacoco/core/runtime/IRuntime.html" title="interface in org.jacoco.core.runtime"><CODE>IRuntime</CODE></A> implementation works with a modified system class. A
    + new static field is added to a bootstrap class that will be used by
    + instrumented classes. As the system class itself needs to be instrumented
    + this runtime requires a Java agent.
    +<P>
    +
    +<P>
    +<HR>
    +
    +<P>
    +<!-- =========== FIELD SUMMARY =========== -->
    +
    +<A NAME="field_summary"><!-- --></A>
    +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
    +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
    +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
    +<B>Field Summary</B></FONT></TH>
    +</TR>
    +</TABLE>
    +&nbsp;<A NAME="fields_inherited_from_class_org.jacoco.core.runtime.AbstractRuntime"><!-- --></A>
    +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
    +<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
    +<TH ALIGN="left"><B>Fields inherited from class org.jacoco.core.runtime.<A HREF="../../../../org/jacoco/core/runtime/AbstractRuntime.html" title="class in org.jacoco.core.runtime">AbstractRuntime</A></B></TH>
    +</TR>
    +<TR BGCOLOR="white" CLASS="TableRowColor">
    +<TD><CODE><A HREF="../../../../org/jacoco/core/runtime/AbstractRuntime.html#data">data</A></CODE></TD>
    +</TR>
    +</TABLE>
    +&nbsp;
    +<!-- ======== CONSTRUCTOR SUMMARY ======== -->
    +
    +<A NAME="constructor_summary"><!-- --></A>
    +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
    +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
    +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
    +<B>Constructor Summary</B></FONT></TH>
    +</TR>
    +<TR BGCOLOR="white" CLASS="TableRowColor">
    +<TD><CODE><B><A HREF="../../../../org/jacoco/core/runtime/ModifiedSystemClassRuntime.html#ModifiedSystemClassRuntime(java.lang.Class, java.lang.String)">ModifiedSystemClassRuntime</A></B>(<A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Class.html" title="class or interface in java.lang">Class</A>&lt;?&gt;&nbsp;systemClass,
    +                           <A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A>&nbsp;accessFieldName)</CODE>
    +
    +<BR>
    +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Creates a new runtime based on the given class and members.</TD>
    +</TR>
    +</TABLE>
    +&nbsp;
    +<!-- ========== METHOD SUMMARY =========== -->
    +
    +<A NAME="method_summary"><!-- --></A>
    +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
    +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
    +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
    +<B>Method Summary</B></FONT></TH>
    +</TR>
    +<TR BGCOLOR="white" CLASS="TableRowColor">
    +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
    +<CODE>static&nbsp;<A HREF="../../../../org/jacoco/core/runtime/IRuntime.html" title="interface in org.jacoco.core.runtime">IRuntime</A></CODE></FONT></TD>
    +<TD><CODE><B><A HREF="../../../../org/jacoco/core/runtime/ModifiedSystemClassRuntime.html#createFor(java.lang.instrument.Instrumentation, java.lang.String)">createFor</A></B>(<A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/instrument/Instrumentation.html" title="class or interface in java.lang.instrument">Instrumentation</A>&nbsp;inst,
    +          <A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A>&nbsp;className)</CODE>
    +
    +<BR>
    +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Creates a new <A HREF="../../../../org/jacoco/core/runtime/ModifiedSystemClassRuntime.html" title="class in org.jacoco.core.runtime"><CODE>ModifiedSystemClassRuntime</CODE></A> using the given class as
    + the data container.</TD>
    +</TR>
    +<TR BGCOLOR="white" CLASS="TableRowColor">
    +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
    +<CODE>static&nbsp;<A HREF="../../../../org/jacoco/core/runtime/IRuntime.html" title="interface in org.jacoco.core.runtime">IRuntime</A></CODE></FONT></TD>
    +<TD><CODE><B><A HREF="../../../../org/jacoco/core/runtime/ModifiedSystemClassRuntime.html#createFor(java.lang.instrument.Instrumentation, java.lang.String, java.lang.String)">createFor</A></B>(<A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/instrument/Instrumentation.html" title="class or interface in java.lang.instrument">Instrumentation</A>&nbsp;inst,
    +          <A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A>&nbsp;className,
    +          <A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A>&nbsp;accessFieldName)</CODE>
    +
    +<BR>
    +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Creates a new <A HREF="../../../../org/jacoco/core/runtime/ModifiedSystemClassRuntime.html" title="class in org.jacoco.core.runtime"><CODE>ModifiedSystemClassRuntime</CODE></A> using the given class as
    + the data container.</TD>
    +</TR>
    +<TR BGCOLOR="white" CLASS="TableRowColor">
    +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
    +<CODE>&nbsp;int</CODE></FONT></TD>
    +<TD><CODE><B><A HREF="../../../../org/jacoco/core/runtime/ModifiedSystemClassRuntime.html#generateDataAccessor(long, java.lang.String, int, org.objectweb.asm.MethodVisitor)">generateDataAccessor</A></B>(long&nbsp;classid,
    +                     <A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A>&nbsp;classname,
    +                     int&nbsp;probecount,
    +                     org.objectweb.asm.MethodVisitor&nbsp;mv)</CODE>
    +
    +<BR>
    +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;This method generates the byte code required to obtain the coverage data
    + structure for the class with the given id.</TD>
    +</TR>
    +<TR BGCOLOR="white" CLASS="TableRowColor">
    +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
    +<CODE>static&nbsp;byte[]</CODE></FONT></TD>
    +<TD><CODE><B><A HREF="../../../../org/jacoco/core/runtime/ModifiedSystemClassRuntime.html#instrument(byte[], java.lang.String)">instrument</A></B>(byte[]&nbsp;source,
    +           <A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A>&nbsp;accessFieldName)</CODE>
    +
    +<BR>
    +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Adds the static data field to the given class definition.</TD>
    +</TR>
    +<TR BGCOLOR="white" CLASS="TableRowColor">
    +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
    +<CODE>&nbsp;void</CODE></FONT></TD>
    +<TD><CODE><B><A HREF="../../../../org/jacoco/core/runtime/ModifiedSystemClassRuntime.html#shutdown()">shutdown</A></B>()</CODE>
    +
    +<BR>
    +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Allows the coverage runtime to cleanup internals.</TD>
    +</TR>
    +<TR BGCOLOR="white" CLASS="TableRowColor">
    +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
    +<CODE>&nbsp;void</CODE></FONT></TD>
    +<TD><CODE><B><A HREF="../../../../org/jacoco/core/runtime/ModifiedSystemClassRuntime.html#startup(org.jacoco.core.runtime.RuntimeData)">startup</A></B>(<A HREF="../../../../org/jacoco/core/runtime/RuntimeData.html" title="class in org.jacoco.core.runtime">RuntimeData</A>&nbsp;data)</CODE>
    +
    +<BR>
    +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Subclasses must call this method when overwriting it.</TD>
    +</TR>
    +</TABLE>
    +&nbsp;<A NAME="methods_inherited_from_class_org.jacoco.core.runtime.AbstractRuntime"><!-- --></A>
    +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
    +<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
    +<TH ALIGN="left"><B>Methods inherited from class org.jacoco.core.runtime.<A HREF="../../../../org/jacoco/core/runtime/AbstractRuntime.html" title="class in org.jacoco.core.runtime">AbstractRuntime</A></B></TH>
    +</TR>
    +<TR BGCOLOR="white" CLASS="TableRowColor">
    +<TD><CODE><A HREF="../../../../org/jacoco/core/runtime/AbstractRuntime.html#createRandomId()">createRandomId</A></CODE></TD>
    +</TR>
    +</TABLE>
    +&nbsp;<A NAME="methods_inherited_from_class_java.lang.Object"><!-- --></A>
    +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
    +<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
    +<TH ALIGN="left"><B>Methods inherited from class java.lang.<A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html" title="class or interface in java.lang">Object</A></B></TH>
    +</TR>
    +<TR BGCOLOR="white" CLASS="TableRowColor">
    +<TD><CODE><A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html#clone()" title="class or interface in java.lang">clone</A>, <A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html#equals(java.lang.Object)" title="class or interface in java.lang">equals</A>, <A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html#finalize()" title="class or interface in java.lang">finalize</A>, <A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html#getClass()" title="class or interface in java.lang">getClass</A>, <A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html#hashCode()" title="class or interface in java.lang">hashCode</A>, <A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html#notify()" title="class or interface in java.lang">notify</A>, <A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html#notifyAll()" title="class or interface in java.lang">notifyAll</A>, <A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html#toString()" title="class or interface in java.lang">toString</A>, <A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html#wait()" title="class or interface in java.lang">wait</A>, <A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html#wait(long)" title="class or interface in java.lang">wait</A>, <A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html#wait(long, int)" title="class or interface in java.lang">wait</A></CODE></TD>
    +</TR>
    +</TABLE>
    +&nbsp;
    +<P>
    +
    +<!-- ========= CONSTRUCTOR DETAIL ======== -->
    +
    +<A NAME="constructor_detail"><!-- --></A>
    +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
    +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
    +<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2">
    +<B>Constructor Detail</B></FONT></TH>
    +</TR>
    +</TABLE>
    +
    +<A NAME="ModifiedSystemClassRuntime(java.lang.Class, java.lang.String)"><!-- --></A><H3>
    +ModifiedSystemClassRuntime</H3>
    +<PRE>
    +public <B>ModifiedSystemClassRuntime</B>(<A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Class.html" title="class or interface in java.lang">Class</A>&lt;?&gt;&nbsp;systemClass,
    +                                  <A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A>&nbsp;accessFieldName)</PRE>
    +<DL>
    +<DD>Creates a new runtime based on the given class and members.
    +<P>
    +<DL>
    +<DT><B>Parameters:</B><DD><CODE>systemClass</CODE> - system class that contains the execution data<DD><CODE>accessFieldName</CODE> - name of the public static runtime access field</DL>
    +</DL>
    +
    +<!-- ============ METHOD DETAIL ========== -->
    +
    +<A NAME="method_detail"><!-- --></A>
    +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
    +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
    +<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2">
    +<B>Method Detail</B></FONT></TH>
    +</TR>
    +</TABLE>
    +
    +<A NAME="startup(org.jacoco.core.runtime.RuntimeData)"><!-- --></A><H3>
    +startup</H3>
    +<PRE>
    +public void <B>startup</B>(<A HREF="../../../../org/jacoco/core/runtime/RuntimeData.html" title="class in org.jacoco.core.runtime">RuntimeData</A>&nbsp;data)
    +             throws <A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Exception.html" title="class or interface in java.lang">Exception</A></PRE>
    +<DL>
    +<DD><B>Description copied from class: <CODE><A HREF="../../../../org/jacoco/core/runtime/AbstractRuntime.html#startup(org.jacoco.core.runtime.RuntimeData)">AbstractRuntime</A></CODE></B></DD>
    +<DD>Subclasses must call this method when overwriting it.
    +<P>
    +<DD><DL>
    +<DT><B>Specified by:</B><DD><CODE><A HREF="../../../../org/jacoco/core/runtime/IRuntime.html#startup(org.jacoco.core.runtime.RuntimeData)">startup</A></CODE> in interface <CODE><A HREF="../../../../org/jacoco/core/runtime/IRuntime.html" title="interface in org.jacoco.core.runtime">IRuntime</A></CODE><DT><B>Overrides:</B><DD><CODE><A HREF="../../../../org/jacoco/core/runtime/AbstractRuntime.html#startup(org.jacoco.core.runtime.RuntimeData)">startup</A></CODE> in class <CODE><A HREF="../../../../org/jacoco/core/runtime/AbstractRuntime.html" title="class in org.jacoco.core.runtime">AbstractRuntime</A></CODE></DL>
    +</DD>
    +<DD><DL>
    +<DT><B>Parameters:</B><DD><CODE>data</CODE> - the execution data for this runtime
    +<DT><B>Throws:</B>
    +<DD><CODE><A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Exception.html" title="class or interface in java.lang">Exception</A></CODE> - any internal problem during startup</DL>
    +</DD>
    +</DL>
    +<HR>
    +
    +<A NAME="shutdown()"><!-- --></A><H3>
    +shutdown</H3>
    +<PRE>
    +public void <B>shutdown</B>()</PRE>
    +<DL>
    +<DD><B>Description copied from interface: <CODE><A HREF="../../../../org/jacoco/core/runtime/IRuntime.html#shutdown()">IRuntime</A></CODE></B></DD>
    +<DD>Allows the coverage runtime to cleanup internals. This class should be
    + called when classes instrumented for this runtime are not used any more.
    +<P>
    +<DD><DL>
    +</DL>
    +</DD>
    +</DL>
    +<HR>
    +
    +<A NAME="generateDataAccessor(long, java.lang.String, int, org.objectweb.asm.MethodVisitor)"><!-- --></A><H3>
    +generateDataAccessor</H3>
    +<PRE>
    +public int <B>generateDataAccessor</B>(long&nbsp;classid,
    +                                <A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A>&nbsp;classname,
    +                                int&nbsp;probecount,
    +                                org.objectweb.asm.MethodVisitor&nbsp;mv)</PRE>
    +<DL>
    +<DD><B>Description copied from interface: <CODE><A HREF="../../../../org/jacoco/core/runtime/IExecutionDataAccessorGenerator.html#generateDataAccessor(long, java.lang.String, int, org.objectweb.asm.MethodVisitor)">IExecutionDataAccessorGenerator</A></CODE></B></DD>
    +<DD>This method generates the byte code required to obtain the coverage data
    + structure for the class with the given id. Typically the instrumentation
    + process will embed this code into a method that is called on class
    + initialization. This method can be called at any time even outside the
    + target VM.
    +
    + The generated code must push a <code>boolean[]</code> instance to the
    + operand stack. Except this result object the generated code must not make
    + any assumptions about the structure of the embedding method or class. The
    + generated code must not use or allocate local variables.
    +<P>
    +<DD><DL>
    +<DT><B>Parameters:</B><DD><CODE>classid</CODE> - identifier of the class<DD><CODE>classname</CODE> - VM class name<DD><CODE>probecount</CODE> - probe count for this class<DD><CODE>mv</CODE> - code output
    +<DT><B>Returns:</B><DD>additional stack size required by the implementation, including
    +         the instance pushed to the stack</DL>
    +</DD>
    +</DL>
    +<HR>
    +
    +<A NAME="createFor(java.lang.instrument.Instrumentation, java.lang.String)"><!-- --></A><H3>
    +createFor</H3>
    +<PRE>
    +public static <A HREF="../../../../org/jacoco/core/runtime/IRuntime.html" title="interface in org.jacoco.core.runtime">IRuntime</A> <B>createFor</B>(<A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/instrument/Instrumentation.html" title="class or interface in java.lang.instrument">Instrumentation</A>&nbsp;inst,
    +                                 <A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A>&nbsp;className)
    +                          throws <A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/ClassNotFoundException.html" title="class or interface in java.lang">ClassNotFoundException</A></PRE>
    +<DL>
    +<DD>Creates a new <A HREF="../../../../org/jacoco/core/runtime/ModifiedSystemClassRuntime.html" title="class in org.jacoco.core.runtime"><CODE>ModifiedSystemClassRuntime</CODE></A> using the given class as
    + the data container. Member is created with internal default name. The
    + given class must not have been loaded before by the agent.
    +<P>
    +<DD><DL>
    +<DT><B>Parameters:</B><DD><CODE>inst</CODE> - instrumentation interface<DD><CODE>className</CODE> - VM name of the class to use
    +<DT><B>Returns:</B><DD>new runtime instance
    +<DT><B>Throws:</B>
    +<DD><CODE><A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/ClassNotFoundException.html" title="class or interface in java.lang">ClassNotFoundException</A></CODE> - id the given class can not be found</DL>
    +</DD>
    +</DL>
    +<HR>
    +
    +<A NAME="createFor(java.lang.instrument.Instrumentation, java.lang.String, java.lang.String)"><!-- --></A><H3>
    +createFor</H3>
    +<PRE>
    +public static <A HREF="../../../../org/jacoco/core/runtime/IRuntime.html" title="interface in org.jacoco.core.runtime">IRuntime</A> <B>createFor</B>(<A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/instrument/Instrumentation.html" title="class or interface in java.lang.instrument">Instrumentation</A>&nbsp;inst,
    +                                 <A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A>&nbsp;className,
    +                                 <A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A>&nbsp;accessFieldName)
    +                          throws <A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/ClassNotFoundException.html" title="class or interface in java.lang">ClassNotFoundException</A></PRE>
    +<DL>
    +<DD>Creates a new <A HREF="../../../../org/jacoco/core/runtime/ModifiedSystemClassRuntime.html" title="class in org.jacoco.core.runtime"><CODE>ModifiedSystemClassRuntime</CODE></A> using the given class as
    + the data container. The given class must not have been loaded before by
    + the agent.
    +<P>
    +<DD><DL>
    +<DT><B>Parameters:</B><DD><CODE>inst</CODE> - instrumentation interface<DD><CODE>className</CODE> - VM name of the class to use<DD><CODE>accessFieldName</CODE> - name of the added runtime access field
    +<DT><B>Returns:</B><DD>new runtime instance
    +<DT><B>Throws:</B>
    +<DD><CODE><A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/ClassNotFoundException.html" title="class or interface in java.lang">ClassNotFoundException</A></CODE> - if the given class can not be found</DL>
    +</DD>
    +</DL>
    +<HR>
    +
    +<A NAME="instrument(byte[], java.lang.String)"><!-- --></A><H3>
    +instrument</H3>
    +<PRE>
    +public static byte[] <B>instrument</B>(byte[]&nbsp;source,
    +                                <A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A>&nbsp;accessFieldName)</PRE>
    +<DL>
    +<DD>Adds the static data field to the given class definition.
    +<P>
    +<DD><DL>
    +<DT><B>Parameters:</B><DD><CODE>source</CODE> - class definition source<DD><CODE>accessFieldName</CODE> - name of the runtime access field
    +<DT><B>Returns:</B><DD>instrumented version with added members</DL>
    +</DD>
    +</DL>
    +<!-- ========= END OF CLASS DATA ========= -->
    +<HR>
    +
    +
    +<!-- ======= START OF BOTTOM NAVBAR ====== -->
    +<A NAME="navbar_bottom"><!-- --></A>
    +<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
    +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
    +<TR>
    +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
    +<A NAME="navbar_bottom_firstrow"><!-- --></A>
    +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
    +  <TR ALIGN="center" VALIGN="top">
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="class-use/ModifiedSystemClassRuntime.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
    +  </TR>
    +</TABLE>
    +</TD>
    +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
    +</EM>
    +</TD>
    +</TR>
    +
    +<TR>
    +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
    +&nbsp;<A HREF="../../../../org/jacoco/core/runtime/LoggerRuntime.html" title="class in org.jacoco.core.runtime"><B>PREV CLASS</B></A>&nbsp;
    +&nbsp;<A HREF="../../../../org/jacoco/core/runtime/OfflineInstrumentationAccessGenerator.html" title="class in org.jacoco.core.runtime"><B>NEXT CLASS</B></A></FONT></TD>
    +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
    +  <A HREF="../../../../index.html?org/jacoco/core/runtime/ModifiedSystemClassRuntime.html" target="_top"><B>FRAMES</B></A>  &nbsp;
    +&nbsp;<A HREF="ModifiedSystemClassRuntime.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
    +&nbsp;<SCRIPT type="text/javascript">
    +  <!--
    +  if(window==top) {
    +    document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>');
    +  }
    +  //-->
    +</SCRIPT>
    +<NOSCRIPT>
    +  <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>
    +</NOSCRIPT>
    +
    +
    +</FONT></TD>
    +</TR>
    +<TR>
    +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
    +  SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;<A HREF="#fields_inherited_from_class_org.jacoco.core.runtime.AbstractRuntime">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD>
    +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
    +DETAIL:&nbsp;FIELD&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD>
    +</TR>
    +</TABLE>
    +<A NAME="skip-navbar_bottom"></A>
    +<!-- ======== END OF BOTTOM NAVBAR ======= -->
    +
    +<HR>
    +Copyright &#169; 2009&#x2013;2024 Mountainminds GmbH & Co. KG. All rights reserved.
    +</BODY>
    +</HTML>
    diff --git a/jacoco/trunk/doc/api/org/jacoco/core/runtime/OfflineInstrumentationAccessGenerator.html b/jacoco/trunk/doc/api/org/jacoco/core/runtime/OfflineInstrumentationAccessGenerator.html
    new file mode 100644
    index 00000000000..b1776bb9cd8
    --- /dev/null
    +++ b/jacoco/trunk/doc/api/org/jacoco/core/runtime/OfflineInstrumentationAccessGenerator.html
    @@ -0,0 +1,286 @@
    +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
    +<!--NewPage-->
    +<HTML>
    +<HEAD>
    +<!-- Generated by javadoc (build 1.5.0_22) on Wed Mar 27 16:45:41 UTC 2024 -->
    +<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
    +<TITLE>
    +OfflineInstrumentationAccessGenerator (JaCoCo 0.8.12.202403270442 API)
    +</TITLE>
    +
    +<META NAME="keywords" CONTENT="org.jacoco.core.runtime.OfflineInstrumentationAccessGenerator class">
    +
    +<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../stylesheet.css" TITLE="Style">
    +
    +<SCRIPT type="text/javascript">
    +function windowTitle()
    +{
    +    parent.document.title="OfflineInstrumentationAccessGenerator (JaCoCo 0.8.12.202403270442 API)";
    +}
    +</SCRIPT>
    +<NOSCRIPT>
    +</NOSCRIPT>
    +
    +</HEAD>
    +
    +<BODY BGCOLOR="white" onload="windowTitle();">
    +
    +
    +<!-- ========= START OF TOP NAVBAR ======= -->
    +<A NAME="navbar_top"><!-- --></A>
    +<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
    +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
    +<TR>
    +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
    +<A NAME="navbar_top_firstrow"><!-- --></A>
    +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
    +  <TR ALIGN="center" VALIGN="top">
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="class-use/OfflineInstrumentationAccessGenerator.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
    +  </TR>
    +</TABLE>
    +</TD>
    +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
    +</EM>
    +</TD>
    +</TR>
    +
    +<TR>
    +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
    +&nbsp;<A HREF="../../../../org/jacoco/core/runtime/ModifiedSystemClassRuntime.html" title="class in org.jacoco.core.runtime"><B>PREV CLASS</B></A>&nbsp;
    +&nbsp;<A HREF="../../../../org/jacoco/core/runtime/RemoteControlReader.html" title="class in org.jacoco.core.runtime"><B>NEXT CLASS</B></A></FONT></TD>
    +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
    +  <A HREF="../../../../index.html?org/jacoco/core/runtime/OfflineInstrumentationAccessGenerator.html" target="_top"><B>FRAMES</B></A>  &nbsp;
    +&nbsp;<A HREF="OfflineInstrumentationAccessGenerator.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
    +&nbsp;<SCRIPT type="text/javascript">
    +  <!--
    +  if(window==top) {
    +    document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>');
    +  }
    +  //-->
    +</SCRIPT>
    +<NOSCRIPT>
    +  <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>
    +</NOSCRIPT>
    +
    +
    +</FONT></TD>
    +</TR>
    +<TR>
    +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
    +  SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;FIELD&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD>
    +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
    +DETAIL:&nbsp;FIELD&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD>
    +</TR>
    +</TABLE>
    +<A NAME="skip-navbar_top"></A>
    +<!-- ========= END OF TOP NAVBAR ========= -->
    +
    +<HR>
    +<!-- ======== START OF CLASS DATA ======== -->
    +<H2>
    +<FONT SIZE="-1">
    +org.jacoco.core.runtime</FONT>
    +<BR>
    +Class OfflineInstrumentationAccessGenerator</H2>
    +<PRE>
    +<A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html" title="class or interface in java.lang">java.lang.Object</A>
    +  <IMG SRC="../../../../resources/inherit.gif" ALT="extended by "><B>org.jacoco.core.runtime.OfflineInstrumentationAccessGenerator</B>
    +</PRE>
    +<DL>
    +<DT><B>All Implemented Interfaces:</B> <DD><A HREF="../../../../org/jacoco/core/runtime/IExecutionDataAccessorGenerator.html" title="interface in org.jacoco.core.runtime">IExecutionDataAccessorGenerator</A></DD>
    +</DL>
    +<HR>
    +<DL>
    +<DT><PRE>public class <B>OfflineInstrumentationAccessGenerator</B><DT>extends <A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html" title="class or interface in java.lang">Object</A><DT>implements <A HREF="../../../../org/jacoco/core/runtime/IExecutionDataAccessorGenerator.html" title="interface in org.jacoco.core.runtime">IExecutionDataAccessorGenerator</A></DL>
    +</PRE>
    +
    +<P>
    +This implementation of <A HREF="../../../../org/jacoco/core/runtime/IExecutionDataAccessorGenerator.html" title="interface in org.jacoco.core.runtime"><CODE>IExecutionDataAccessorGenerator</CODE></A> generate a
    + direct dependency to the JaCoCo runtime agent to initialize the runtime and
    + obtain probe arrays. This generator is designed for offline instrumentation
    + only.
    +<P>
    +
    +<P>
    +<HR>
    +
    +<P>
    +
    +<!-- ======== CONSTRUCTOR SUMMARY ======== -->
    +
    +<A NAME="constructor_summary"><!-- --></A>
    +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
    +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
    +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
    +<B>Constructor Summary</B></FONT></TH>
    +</TR>
    +<TR BGCOLOR="white" CLASS="TableRowColor">
    +<TD><CODE><B><A HREF="../../../../org/jacoco/core/runtime/OfflineInstrumentationAccessGenerator.html#OfflineInstrumentationAccessGenerator()">OfflineInstrumentationAccessGenerator</A></B>()</CODE>
    +
    +<BR>
    +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Creates a new instance for offline instrumentation.</TD>
    +</TR>
    +</TABLE>
    +&nbsp;
    +<!-- ========== METHOD SUMMARY =========== -->
    +
    +<A NAME="method_summary"><!-- --></A>
    +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
    +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
    +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
    +<B>Method Summary</B></FONT></TH>
    +</TR>
    +<TR BGCOLOR="white" CLASS="TableRowColor">
    +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
    +<CODE>&nbsp;int</CODE></FONT></TD>
    +<TD><CODE><B><A HREF="../../../../org/jacoco/core/runtime/OfflineInstrumentationAccessGenerator.html#generateDataAccessor(long, java.lang.String, int, org.objectweb.asm.MethodVisitor)">generateDataAccessor</A></B>(long&nbsp;classid,
    +                     <A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A>&nbsp;classname,
    +                     int&nbsp;probecount,
    +                     org.objectweb.asm.MethodVisitor&nbsp;mv)</CODE>
    +
    +<BR>
    +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;This method generates the byte code required to obtain the coverage data
    + structure for the class with the given id.</TD>
    +</TR>
    +</TABLE>
    +&nbsp;<A NAME="methods_inherited_from_class_java.lang.Object"><!-- --></A>
    +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
    +<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
    +<TH ALIGN="left"><B>Methods inherited from class java.lang.<A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html" title="class or interface in java.lang">Object</A></B></TH>
    +</TR>
    +<TR BGCOLOR="white" CLASS="TableRowColor">
    +<TD><CODE><A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html#clone()" title="class or interface in java.lang">clone</A>, <A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html#equals(java.lang.Object)" title="class or interface in java.lang">equals</A>, <A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html#finalize()" title="class or interface in java.lang">finalize</A>, <A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html#getClass()" title="class or interface in java.lang">getClass</A>, <A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html#hashCode()" title="class or interface in java.lang">hashCode</A>, <A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html#notify()" title="class or interface in java.lang">notify</A>, <A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html#notifyAll()" title="class or interface in java.lang">notifyAll</A>, <A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html#toString()" title="class or interface in java.lang">toString</A>, <A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html#wait()" title="class or interface in java.lang">wait</A>, <A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html#wait(long)" title="class or interface in java.lang">wait</A>, <A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html#wait(long, int)" title="class or interface in java.lang">wait</A></CODE></TD>
    +</TR>
    +</TABLE>
    +&nbsp;
    +<P>
    +
    +<!-- ========= CONSTRUCTOR DETAIL ======== -->
    +
    +<A NAME="constructor_detail"><!-- --></A>
    +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
    +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
    +<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2">
    +<B>Constructor Detail</B></FONT></TH>
    +</TR>
    +</TABLE>
    +
    +<A NAME="OfflineInstrumentationAccessGenerator()"><!-- --></A><H3>
    +OfflineInstrumentationAccessGenerator</H3>
    +<PRE>
    +public <B>OfflineInstrumentationAccessGenerator</B>()</PRE>
    +<DL>
    +<DD>Creates a new instance for offline instrumentation.
    +<P>
    +</DL>
    +
    +<!-- ============ METHOD DETAIL ========== -->
    +
    +<A NAME="method_detail"><!-- --></A>
    +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
    +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
    +<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2">
    +<B>Method Detail</B></FONT></TH>
    +</TR>
    +</TABLE>
    +
    +<A NAME="generateDataAccessor(long, java.lang.String, int, org.objectweb.asm.MethodVisitor)"><!-- --></A><H3>
    +generateDataAccessor</H3>
    +<PRE>
    +public int <B>generateDataAccessor</B>(long&nbsp;classid,
    +                                <A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A>&nbsp;classname,
    +                                int&nbsp;probecount,
    +                                org.objectweb.asm.MethodVisitor&nbsp;mv)</PRE>
    +<DL>
    +<DD><B>Description copied from interface: <CODE><A HREF="../../../../org/jacoco/core/runtime/IExecutionDataAccessorGenerator.html#generateDataAccessor(long, java.lang.String, int, org.objectweb.asm.MethodVisitor)">IExecutionDataAccessorGenerator</A></CODE></B></DD>
    +<DD>This method generates the byte code required to obtain the coverage data
    + structure for the class with the given id. Typically the instrumentation
    + process will embed this code into a method that is called on class
    + initialization. This method can be called at any time even outside the
    + target VM.
    +
    + The generated code must push a <code>boolean[]</code> instance to the
    + operand stack. Except this result object the generated code must not make
    + any assumptions about the structure of the embedding method or class. The
    + generated code must not use or allocate local variables.
    +<P>
    +<DD><DL>
    +<DT><B>Specified by:</B><DD><CODE><A HREF="../../../../org/jacoco/core/runtime/IExecutionDataAccessorGenerator.html#generateDataAccessor(long, java.lang.String, int, org.objectweb.asm.MethodVisitor)">generateDataAccessor</A></CODE> in interface <CODE><A HREF="../../../../org/jacoco/core/runtime/IExecutionDataAccessorGenerator.html" title="interface in org.jacoco.core.runtime">IExecutionDataAccessorGenerator</A></CODE></DL>
    +</DD>
    +<DD><DL>
    +<DT><B>Parameters:</B><DD><CODE>classid</CODE> - identifier of the class<DD><CODE>classname</CODE> - VM class name<DD><CODE>probecount</CODE> - probe count for this class<DD><CODE>mv</CODE> - code output
    +<DT><B>Returns:</B><DD>additional stack size required by the implementation, including
    +         the instance pushed to the stack</DL>
    +</DD>
    +</DL>
    +<!-- ========= END OF CLASS DATA ========= -->
    +<HR>
    +
    +
    +<!-- ======= START OF BOTTOM NAVBAR ====== -->
    +<A NAME="navbar_bottom"><!-- --></A>
    +<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
    +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
    +<TR>
    +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
    +<A NAME="navbar_bottom_firstrow"><!-- --></A>
    +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
    +  <TR ALIGN="center" VALIGN="top">
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="class-use/OfflineInstrumentationAccessGenerator.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
    +  </TR>
    +</TABLE>
    +</TD>
    +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
    +</EM>
    +</TD>
    +</TR>
    +
    +<TR>
    +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
    +&nbsp;<A HREF="../../../../org/jacoco/core/runtime/ModifiedSystemClassRuntime.html" title="class in org.jacoco.core.runtime"><B>PREV CLASS</B></A>&nbsp;
    +&nbsp;<A HREF="../../../../org/jacoco/core/runtime/RemoteControlReader.html" title="class in org.jacoco.core.runtime"><B>NEXT CLASS</B></A></FONT></TD>
    +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
    +  <A HREF="../../../../index.html?org/jacoco/core/runtime/OfflineInstrumentationAccessGenerator.html" target="_top"><B>FRAMES</B></A>  &nbsp;
    +&nbsp;<A HREF="OfflineInstrumentationAccessGenerator.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
    +&nbsp;<SCRIPT type="text/javascript">
    +  <!--
    +  if(window==top) {
    +    document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>');
    +  }
    +  //-->
    +</SCRIPT>
    +<NOSCRIPT>
    +  <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>
    +</NOSCRIPT>
    +
    +
    +</FONT></TD>
    +</TR>
    +<TR>
    +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
    +  SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;FIELD&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD>
    +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
    +DETAIL:&nbsp;FIELD&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD>
    +</TR>
    +</TABLE>
    +<A NAME="skip-navbar_bottom"></A>
    +<!-- ======== END OF BOTTOM NAVBAR ======= -->
    +
    +<HR>
    +Copyright &#169; 2009&#x2013;2024 Mountainminds GmbH & Co. KG. All rights reserved.
    +</BODY>
    +</HTML>
    diff --git a/jacoco/trunk/doc/api/org/jacoco/core/runtime/RemoteControlReader.html b/jacoco/trunk/doc/api/org/jacoco/core/runtime/RemoteControlReader.html
    new file mode 100644
    index 00000000000..be7a6d54b5b
    --- /dev/null
    +++ b/jacoco/trunk/doc/api/org/jacoco/core/runtime/RemoteControlReader.html
    @@ -0,0 +1,321 @@
    +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
    +<!--NewPage-->
    +<HTML>
    +<HEAD>
    +<!-- Generated by javadoc (build 1.5.0_22) on Wed Mar 27 16:45:41 UTC 2024 -->
    +<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
    +<TITLE>
    +RemoteControlReader (JaCoCo 0.8.12.202403270442 API)
    +</TITLE>
    +
    +<META NAME="keywords" CONTENT="org.jacoco.core.runtime.RemoteControlReader class">
    +
    +<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../stylesheet.css" TITLE="Style">
    +
    +<SCRIPT type="text/javascript">
    +function windowTitle()
    +{
    +    parent.document.title="RemoteControlReader (JaCoCo 0.8.12.202403270442 API)";
    +}
    +</SCRIPT>
    +<NOSCRIPT>
    +</NOSCRIPT>
    +
    +</HEAD>
    +
    +<BODY BGCOLOR="white" onload="windowTitle();">
    +
    +
    +<!-- ========= START OF TOP NAVBAR ======= -->
    +<A NAME="navbar_top"><!-- --></A>
    +<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
    +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
    +<TR>
    +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
    +<A NAME="navbar_top_firstrow"><!-- --></A>
    +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
    +  <TR ALIGN="center" VALIGN="top">
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="class-use/RemoteControlReader.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
    +  </TR>
    +</TABLE>
    +</TD>
    +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
    +</EM>
    +</TD>
    +</TR>
    +
    +<TR>
    +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
    +&nbsp;<A HREF="../../../../org/jacoco/core/runtime/OfflineInstrumentationAccessGenerator.html" title="class in org.jacoco.core.runtime"><B>PREV CLASS</B></A>&nbsp;
    +&nbsp;<A HREF="../../../../org/jacoco/core/runtime/RemoteControlWriter.html" title="class in org.jacoco.core.runtime"><B>NEXT CLASS</B></A></FONT></TD>
    +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
    +  <A HREF="../../../../index.html?org/jacoco/core/runtime/RemoteControlReader.html" target="_top"><B>FRAMES</B></A>  &nbsp;
    +&nbsp;<A HREF="RemoteControlReader.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
    +&nbsp;<SCRIPT type="text/javascript">
    +  <!--
    +  if(window==top) {
    +    document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>');
    +  }
    +  //-->
    +</SCRIPT>
    +<NOSCRIPT>
    +  <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>
    +</NOSCRIPT>
    +
    +
    +</FONT></TD>
    +</TR>
    +<TR>
    +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
    +  SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;<A HREF="#fields_inherited_from_class_org.jacoco.core.data.ExecutionDataReader">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD>
    +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
    +DETAIL:&nbsp;FIELD&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD>
    +</TR>
    +</TABLE>
    +<A NAME="skip-navbar_top"></A>
    +<!-- ========= END OF TOP NAVBAR ========= -->
    +
    +<HR>
    +<!-- ======== START OF CLASS DATA ======== -->
    +<H2>
    +<FONT SIZE="-1">
    +org.jacoco.core.runtime</FONT>
    +<BR>
    +Class RemoteControlReader</H2>
    +<PRE>
    +<A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html" title="class or interface in java.lang">java.lang.Object</A>
    +  <IMG SRC="../../../../resources/inherit.gif" ALT="extended by "><A HREF="../../../../org/jacoco/core/data/ExecutionDataReader.html" title="class in org.jacoco.core.data">org.jacoco.core.data.ExecutionDataReader</A>
    +      <IMG SRC="../../../../resources/inherit.gif" ALT="extended by "><B>org.jacoco.core.runtime.RemoteControlReader</B>
    +</PRE>
    +<HR>
    +<DL>
    +<DT><PRE>public class <B>RemoteControlReader</B><DT>extends <A HREF="../../../../org/jacoco/core/data/ExecutionDataReader.html" title="class in org.jacoco.core.data">ExecutionDataReader</A></DL>
    +</PRE>
    +
    +<P>
    +<A HREF="../../../../org/jacoco/core/data/ExecutionDataReader.html" title="class in org.jacoco.core.data"><CODE>ExecutionDataReader</CODE></A> with commands added for runtime remote control.
    +<P>
    +
    +<P>
    +<HR>
    +
    +<P>
    +<!-- =========== FIELD SUMMARY =========== -->
    +
    +<A NAME="field_summary"><!-- --></A>
    +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
    +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
    +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
    +<B>Field Summary</B></FONT></TH>
    +</TR>
    +</TABLE>
    +&nbsp;<A NAME="fields_inherited_from_class_org.jacoco.core.data.ExecutionDataReader"><!-- --></A>
    +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
    +<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
    +<TH ALIGN="left"><B>Fields inherited from class org.jacoco.core.data.<A HREF="../../../../org/jacoco/core/data/ExecutionDataReader.html" title="class in org.jacoco.core.data">ExecutionDataReader</A></B></TH>
    +</TR>
    +<TR BGCOLOR="white" CLASS="TableRowColor">
    +<TD><CODE><A HREF="../../../../org/jacoco/core/data/ExecutionDataReader.html#in">in</A></CODE></TD>
    +</TR>
    +</TABLE>
    +&nbsp;
    +<!-- ======== CONSTRUCTOR SUMMARY ======== -->
    +
    +<A NAME="constructor_summary"><!-- --></A>
    +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
    +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
    +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
    +<B>Constructor Summary</B></FONT></TH>
    +</TR>
    +<TR BGCOLOR="white" CLASS="TableRowColor">
    +<TD><CODE><B><A HREF="../../../../org/jacoco/core/runtime/RemoteControlReader.html#RemoteControlReader(java.io.InputStream)">RemoteControlReader</A></B>(<A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/io/InputStream.html" title="class or interface in java.io">InputStream</A>&nbsp;input)</CODE>
    +
    +<BR>
    +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Create a new read based on the given input stream.</TD>
    +</TR>
    +</TABLE>
    +&nbsp;
    +<!-- ========== METHOD SUMMARY =========== -->
    +
    +<A NAME="method_summary"><!-- --></A>
    +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
    +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
    +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
    +<B>Method Summary</B></FONT></TH>
    +</TR>
    +<TR BGCOLOR="white" CLASS="TableRowColor">
    +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
    +<CODE>protected &nbsp;boolean</CODE></FONT></TD>
    +<TD><CODE><B><A HREF="../../../../org/jacoco/core/runtime/RemoteControlReader.html#readBlock(byte)">readBlock</A></B>(byte&nbsp;blockid)</CODE>
    +
    +<BR>
    +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Reads a block of data identified by the given id.</TD>
    +</TR>
    +<TR BGCOLOR="white" CLASS="TableRowColor">
    +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
    +<CODE>&nbsp;void</CODE></FONT></TD>
    +<TD><CODE><B><A HREF="../../../../org/jacoco/core/runtime/RemoteControlReader.html#setRemoteCommandVisitor(org.jacoco.core.runtime.IRemoteCommandVisitor)">setRemoteCommandVisitor</A></B>(<A HREF="../../../../org/jacoco/core/runtime/IRemoteCommandVisitor.html" title="interface in org.jacoco.core.runtime">IRemoteCommandVisitor</A>&nbsp;visitor)</CODE>
    +
    +<BR>
    +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Sets an listener for agent commands.</TD>
    +</TR>
    +</TABLE>
    +&nbsp;<A NAME="methods_inherited_from_class_org.jacoco.core.data.ExecutionDataReader"><!-- --></A>
    +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
    +<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
    +<TH ALIGN="left"><B>Methods inherited from class org.jacoco.core.data.<A HREF="../../../../org/jacoco/core/data/ExecutionDataReader.html" title="class in org.jacoco.core.data">ExecutionDataReader</A></B></TH>
    +</TR>
    +<TR BGCOLOR="white" CLASS="TableRowColor">
    +<TD><CODE><A HREF="../../../../org/jacoco/core/data/ExecutionDataReader.html#read()">read</A>, <A HREF="../../../../org/jacoco/core/data/ExecutionDataReader.html#setExecutionDataVisitor(org.jacoco.core.data.IExecutionDataVisitor)">setExecutionDataVisitor</A>, <A HREF="../../../../org/jacoco/core/data/ExecutionDataReader.html#setSessionInfoVisitor(org.jacoco.core.data.ISessionInfoVisitor)">setSessionInfoVisitor</A></CODE></TD>
    +</TR>
    +</TABLE>
    +&nbsp;<A NAME="methods_inherited_from_class_java.lang.Object"><!-- --></A>
    +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
    +<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
    +<TH ALIGN="left"><B>Methods inherited from class java.lang.<A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html" title="class or interface in java.lang">Object</A></B></TH>
    +</TR>
    +<TR BGCOLOR="white" CLASS="TableRowColor">
    +<TD><CODE><A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html#clone()" title="class or interface in java.lang">clone</A>, <A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html#equals(java.lang.Object)" title="class or interface in java.lang">equals</A>, <A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html#finalize()" title="class or interface in java.lang">finalize</A>, <A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html#getClass()" title="class or interface in java.lang">getClass</A>, <A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html#hashCode()" title="class or interface in java.lang">hashCode</A>, <A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html#notify()" title="class or interface in java.lang">notify</A>, <A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html#notifyAll()" title="class or interface in java.lang">notifyAll</A>, <A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html#toString()" title="class or interface in java.lang">toString</A>, <A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html#wait()" title="class or interface in java.lang">wait</A>, <A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html#wait(long)" title="class or interface in java.lang">wait</A>, <A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html#wait(long, int)" title="class or interface in java.lang">wait</A></CODE></TD>
    +</TR>
    +</TABLE>
    +&nbsp;
    +<P>
    +
    +<!-- ========= CONSTRUCTOR DETAIL ======== -->
    +
    +<A NAME="constructor_detail"><!-- --></A>
    +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
    +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
    +<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2">
    +<B>Constructor Detail</B></FONT></TH>
    +</TR>
    +</TABLE>
    +
    +<A NAME="RemoteControlReader(java.io.InputStream)"><!-- --></A><H3>
    +RemoteControlReader</H3>
    +<PRE>
    +public <B>RemoteControlReader</B>(<A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/io/InputStream.html" title="class or interface in java.io">InputStream</A>&nbsp;input)
    +                    throws <A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/io/IOException.html" title="class or interface in java.io">IOException</A></PRE>
    +<DL>
    +<DD>Create a new read based on the given input stream.
    +<P>
    +<DL>
    +<DT><B>Parameters:</B><DD><CODE>input</CODE> - input stream to read commands from
    +<DT><B>Throws:</B>
    +<DD><CODE><A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/io/IOException.html" title="class or interface in java.io">IOException</A></CODE> - if the stream does not have a valid header</DL>
    +</DL>
    +
    +<!-- ============ METHOD DETAIL ========== -->
    +
    +<A NAME="method_detail"><!-- --></A>
    +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
    +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
    +<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2">
    +<B>Method Detail</B></FONT></TH>
    +</TR>
    +</TABLE>
    +
    +<A NAME="readBlock(byte)"><!-- --></A><H3>
    +readBlock</H3>
    +<PRE>
    +protected boolean <B>readBlock</B>(byte&nbsp;blockid)
    +                     throws <A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/io/IOException.html" title="class or interface in java.io">IOException</A></PRE>
    +<DL>
    +<DD><B>Description copied from class: <CODE><A HREF="../../../../org/jacoco/core/data/ExecutionDataReader.html#readBlock(byte)">ExecutionDataReader</A></CODE></B></DD>
    +<DD>Reads a block of data identified by the given id. Subclasses may
    + overwrite this method to support additional block types.
    +<P>
    +<DD><DL>
    +<DT><B>Overrides:</B><DD><CODE><A HREF="../../../../org/jacoco/core/data/ExecutionDataReader.html#readBlock(byte)">readBlock</A></CODE> in class <CODE><A HREF="../../../../org/jacoco/core/data/ExecutionDataReader.html" title="class in org.jacoco.core.data">ExecutionDataReader</A></CODE></DL>
    +</DD>
    +<DD><DL>
    +<DT><B>Parameters:</B><DD><CODE>blockid</CODE> - block type
    +<DT><B>Returns:</B><DD><code>true</code> if there are more blocks to read
    +<DT><B>Throws:</B>
    +<DD><CODE><A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/io/IOException.html" title="class or interface in java.io">IOException</A></CODE> - might be thrown by the underlying input stream</DL>
    +</DD>
    +</DL>
    +<HR>
    +
    +<A NAME="setRemoteCommandVisitor(org.jacoco.core.runtime.IRemoteCommandVisitor)"><!-- --></A><H3>
    +setRemoteCommandVisitor</H3>
    +<PRE>
    +public void <B>setRemoteCommandVisitor</B>(<A HREF="../../../../org/jacoco/core/runtime/IRemoteCommandVisitor.html" title="interface in org.jacoco.core.runtime">IRemoteCommandVisitor</A>&nbsp;visitor)</PRE>
    +<DL>
    +<DD>Sets an listener for agent commands.
    +<P>
    +<DD><DL>
    +<DT><B>Parameters:</B><DD><CODE>visitor</CODE> - visitor to retrieve agent commands</DL>
    +</DD>
    +</DL>
    +<!-- ========= END OF CLASS DATA ========= -->
    +<HR>
    +
    +
    +<!-- ======= START OF BOTTOM NAVBAR ====== -->
    +<A NAME="navbar_bottom"><!-- --></A>
    +<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
    +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
    +<TR>
    +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
    +<A NAME="navbar_bottom_firstrow"><!-- --></A>
    +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
    +  <TR ALIGN="center" VALIGN="top">
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="class-use/RemoteControlReader.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
    +  </TR>
    +</TABLE>
    +</TD>
    +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
    +</EM>
    +</TD>
    +</TR>
    +
    +<TR>
    +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
    +&nbsp;<A HREF="../../../../org/jacoco/core/runtime/OfflineInstrumentationAccessGenerator.html" title="class in org.jacoco.core.runtime"><B>PREV CLASS</B></A>&nbsp;
    +&nbsp;<A HREF="../../../../org/jacoco/core/runtime/RemoteControlWriter.html" title="class in org.jacoco.core.runtime"><B>NEXT CLASS</B></A></FONT></TD>
    +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
    +  <A HREF="../../../../index.html?org/jacoco/core/runtime/RemoteControlReader.html" target="_top"><B>FRAMES</B></A>  &nbsp;
    +&nbsp;<A HREF="RemoteControlReader.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
    +&nbsp;<SCRIPT type="text/javascript">
    +  <!--
    +  if(window==top) {
    +    document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>');
    +  }
    +  //-->
    +</SCRIPT>
    +<NOSCRIPT>
    +  <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>
    +</NOSCRIPT>
    +
    +
    +</FONT></TD>
    +</TR>
    +<TR>
    +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
    +  SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;<A HREF="#fields_inherited_from_class_org.jacoco.core.data.ExecutionDataReader">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD>
    +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
    +DETAIL:&nbsp;FIELD&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD>
    +</TR>
    +</TABLE>
    +<A NAME="skip-navbar_bottom"></A>
    +<!-- ======== END OF BOTTOM NAVBAR ======= -->
    +
    +<HR>
    +Copyright &#169; 2009&#x2013;2024 Mountainminds GmbH & Co. KG. All rights reserved.
    +</BODY>
    +</HTML>
    diff --git a/jacoco/trunk/doc/api/org/jacoco/core/runtime/RemoteControlWriter.html b/jacoco/trunk/doc/api/org/jacoco/core/runtime/RemoteControlWriter.html
    new file mode 100644
    index 00000000000..5239d73d143
    --- /dev/null
    +++ b/jacoco/trunk/doc/api/org/jacoco/core/runtime/RemoteControlWriter.html
    @@ -0,0 +1,381 @@
    +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
    +<!--NewPage-->
    +<HTML>
    +<HEAD>
    +<!-- Generated by javadoc (build 1.5.0_22) on Wed Mar 27 16:45:41 UTC 2024 -->
    +<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
    +<TITLE>
    +RemoteControlWriter (JaCoCo 0.8.12.202403270442 API)
    +</TITLE>
    +
    +<META NAME="keywords" CONTENT="org.jacoco.core.runtime.RemoteControlWriter class">
    +
    +<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../stylesheet.css" TITLE="Style">
    +
    +<SCRIPT type="text/javascript">
    +function windowTitle()
    +{
    +    parent.document.title="RemoteControlWriter (JaCoCo 0.8.12.202403270442 API)";
    +}
    +</SCRIPT>
    +<NOSCRIPT>
    +</NOSCRIPT>
    +
    +</HEAD>
    +
    +<BODY BGCOLOR="white" onload="windowTitle();">
    +
    +
    +<!-- ========= START OF TOP NAVBAR ======= -->
    +<A NAME="navbar_top"><!-- --></A>
    +<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
    +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
    +<TR>
    +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
    +<A NAME="navbar_top_firstrow"><!-- --></A>
    +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
    +  <TR ALIGN="center" VALIGN="top">
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="class-use/RemoteControlWriter.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
    +  </TR>
    +</TABLE>
    +</TD>
    +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
    +</EM>
    +</TD>
    +</TR>
    +
    +<TR>
    +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
    +&nbsp;<A HREF="../../../../org/jacoco/core/runtime/RemoteControlReader.html" title="class in org.jacoco.core.runtime"><B>PREV CLASS</B></A>&nbsp;
    +&nbsp;<A HREF="../../../../org/jacoco/core/runtime/RuntimeData.html" title="class in org.jacoco.core.runtime"><B>NEXT CLASS</B></A></FONT></TD>
    +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
    +  <A HREF="../../../../index.html?org/jacoco/core/runtime/RemoteControlWriter.html" target="_top"><B>FRAMES</B></A>  &nbsp;
    +&nbsp;<A HREF="RemoteControlWriter.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
    +&nbsp;<SCRIPT type="text/javascript">
    +  <!--
    +  if(window==top) {
    +    document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>');
    +  }
    +  //-->
    +</SCRIPT>
    +<NOSCRIPT>
    +  <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>
    +</NOSCRIPT>
    +
    +
    +</FONT></TD>
    +</TR>
    +<TR>
    +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
    +  SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;<A HREF="#field_summary">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD>
    +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
    +DETAIL:&nbsp;<A HREF="#field_detail">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD>
    +</TR>
    +</TABLE>
    +<A NAME="skip-navbar_top"></A>
    +<!-- ========= END OF TOP NAVBAR ========= -->
    +
    +<HR>
    +<!-- ======== START OF CLASS DATA ======== -->
    +<H2>
    +<FONT SIZE="-1">
    +org.jacoco.core.runtime</FONT>
    +<BR>
    +Class RemoteControlWriter</H2>
    +<PRE>
    +<A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html" title="class or interface in java.lang">java.lang.Object</A>
    +  <IMG SRC="../../../../resources/inherit.gif" ALT="extended by "><A HREF="../../../../org/jacoco/core/data/ExecutionDataWriter.html" title="class in org.jacoco.core.data">org.jacoco.core.data.ExecutionDataWriter</A>
    +      <IMG SRC="../../../../resources/inherit.gif" ALT="extended by "><B>org.jacoco.core.runtime.RemoteControlWriter</B>
    +</PRE>
    +<DL>
    +<DT><B>All Implemented Interfaces:</B> <DD><A HREF="../../../../org/jacoco/core/data/IExecutionDataVisitor.html" title="interface in org.jacoco.core.data">IExecutionDataVisitor</A>, <A HREF="../../../../org/jacoco/core/data/ISessionInfoVisitor.html" title="interface in org.jacoco.core.data">ISessionInfoVisitor</A>, <A HREF="../../../../org/jacoco/core/runtime/IRemoteCommandVisitor.html" title="interface in org.jacoco.core.runtime">IRemoteCommandVisitor</A></DD>
    +</DL>
    +<HR>
    +<DL>
    +<DT><PRE>public class <B>RemoteControlWriter</B><DT>extends <A HREF="../../../../org/jacoco/core/data/ExecutionDataWriter.html" title="class in org.jacoco.core.data">ExecutionDataWriter</A><DT>implements <A HREF="../../../../org/jacoco/core/runtime/IRemoteCommandVisitor.html" title="interface in org.jacoco.core.runtime">IRemoteCommandVisitor</A></DL>
    +</PRE>
    +
    +<P>
    +<A HREF="../../../../org/jacoco/core/data/ExecutionDataWriter.html" title="class in org.jacoco.core.data"><CODE>ExecutionDataWriter</CODE></A> with commands added for runtime remote control.
    +<P>
    +
    +<P>
    +<HR>
    +
    +<P>
    +<!-- =========== FIELD SUMMARY =========== -->
    +
    +<A NAME="field_summary"><!-- --></A>
    +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
    +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
    +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
    +<B>Field Summary</B></FONT></TH>
    +</TR>
    +<TR BGCOLOR="white" CLASS="TableRowColor">
    +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
    +<CODE>static&nbsp;byte</CODE></FONT></TD>
    +<TD><CODE><B><A HREF="../../../../org/jacoco/core/runtime/RemoteControlWriter.html#BLOCK_CMDDUMP">BLOCK_CMDDUMP</A></B></CODE>
    +
    +<BR>
    +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Block identifier for dump command</TD>
    +</TR>
    +<TR BGCOLOR="white" CLASS="TableRowColor">
    +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
    +<CODE>static&nbsp;byte</CODE></FONT></TD>
    +<TD><CODE><B><A HREF="../../../../org/jacoco/core/runtime/RemoteControlWriter.html#BLOCK_CMDOK">BLOCK_CMDOK</A></B></CODE>
    +
    +<BR>
    +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Block identifier to confirm successful command execution.</TD>
    +</TR>
    +</TABLE>
    +&nbsp;<A NAME="fields_inherited_from_class_org.jacoco.core.data.ExecutionDataWriter"><!-- --></A>
    +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
    +<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
    +<TH ALIGN="left"><B>Fields inherited from class org.jacoco.core.data.<A HREF="../../../../org/jacoco/core/data/ExecutionDataWriter.html" title="class in org.jacoco.core.data">ExecutionDataWriter</A></B></TH>
    +</TR>
    +<TR BGCOLOR="white" CLASS="TableRowColor">
    +<TD><CODE><A HREF="../../../../org/jacoco/core/data/ExecutionDataWriter.html#BLOCK_EXECUTIONDATA">BLOCK_EXECUTIONDATA</A>, <A HREF="../../../../org/jacoco/core/data/ExecutionDataWriter.html#BLOCK_HEADER">BLOCK_HEADER</A>, <A HREF="../../../../org/jacoco/core/data/ExecutionDataWriter.html#BLOCK_SESSIONINFO">BLOCK_SESSIONINFO</A>, <A HREF="../../../../org/jacoco/core/data/ExecutionDataWriter.html#FORMAT_VERSION">FORMAT_VERSION</A>, <A HREF="../../../../org/jacoco/core/data/ExecutionDataWriter.html#MAGIC_NUMBER">MAGIC_NUMBER</A>, <A HREF="../../../../org/jacoco/core/data/ExecutionDataWriter.html#out">out</A></CODE></TD>
    +</TR>
    +</TABLE>
    +&nbsp;
    +<!-- ======== CONSTRUCTOR SUMMARY ======== -->
    +
    +<A NAME="constructor_summary"><!-- --></A>
    +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
    +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
    +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
    +<B>Constructor Summary</B></FONT></TH>
    +</TR>
    +<TR BGCOLOR="white" CLASS="TableRowColor">
    +<TD><CODE><B><A HREF="../../../../org/jacoco/core/runtime/RemoteControlWriter.html#RemoteControlWriter(java.io.OutputStream)">RemoteControlWriter</A></B>(<A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/io/OutputStream.html" title="class or interface in java.io">OutputStream</A>&nbsp;output)</CODE>
    +
    +<BR>
    +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Creates a new writer based on the given output stream.</TD>
    +</TR>
    +</TABLE>
    +&nbsp;
    +<!-- ========== METHOD SUMMARY =========== -->
    +
    +<A NAME="method_summary"><!-- --></A>
    +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
    +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
    +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
    +<B>Method Summary</B></FONT></TH>
    +</TR>
    +<TR BGCOLOR="white" CLASS="TableRowColor">
    +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
    +<CODE>&nbsp;void</CODE></FONT></TD>
    +<TD><CODE><B><A HREF="../../../../org/jacoco/core/runtime/RemoteControlWriter.html#sendCmdOk()">sendCmdOk</A></B>()</CODE>
    +
    +<BR>
    +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Sends a confirmation that a commands has been successfully executed and
    + the response is completed.</TD>
    +</TR>
    +<TR BGCOLOR="white" CLASS="TableRowColor">
    +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
    +<CODE>&nbsp;void</CODE></FONT></TD>
    +<TD><CODE><B><A HREF="../../../../org/jacoco/core/runtime/RemoteControlWriter.html#visitDumpCommand(boolean, boolean)">visitDumpCommand</A></B>(boolean&nbsp;dump,
    +                 boolean&nbsp;reset)</CODE>
    +
    +<BR>
    +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Requests a execution data dump with an optional reset.</TD>
    +</TR>
    +</TABLE>
    +&nbsp;<A NAME="methods_inherited_from_class_org.jacoco.core.data.ExecutionDataWriter"><!-- --></A>
    +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
    +<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
    +<TH ALIGN="left"><B>Methods inherited from class org.jacoco.core.data.<A HREF="../../../../org/jacoco/core/data/ExecutionDataWriter.html" title="class in org.jacoco.core.data">ExecutionDataWriter</A></B></TH>
    +</TR>
    +<TR BGCOLOR="white" CLASS="TableRowColor">
    +<TD><CODE><A HREF="../../../../org/jacoco/core/data/ExecutionDataWriter.html#flush()">flush</A>, <A HREF="../../../../org/jacoco/core/data/ExecutionDataWriter.html#getFileHeader()">getFileHeader</A>, <A HREF="../../../../org/jacoco/core/data/ExecutionDataWriter.html#visitClassExecution(org.jacoco.core.data.ExecutionData)">visitClassExecution</A>, <A HREF="../../../../org/jacoco/core/data/ExecutionDataWriter.html#visitSessionInfo(org.jacoco.core.data.SessionInfo)">visitSessionInfo</A></CODE></TD>
    +</TR>
    +</TABLE>
    +&nbsp;<A NAME="methods_inherited_from_class_java.lang.Object"><!-- --></A>
    +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
    +<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
    +<TH ALIGN="left"><B>Methods inherited from class java.lang.<A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html" title="class or interface in java.lang">Object</A></B></TH>
    +</TR>
    +<TR BGCOLOR="white" CLASS="TableRowColor">
    +<TD><CODE><A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html#clone()" title="class or interface in java.lang">clone</A>, <A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html#equals(java.lang.Object)" title="class or interface in java.lang">equals</A>, <A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html#finalize()" title="class or interface in java.lang">finalize</A>, <A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html#getClass()" title="class or interface in java.lang">getClass</A>, <A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html#hashCode()" title="class or interface in java.lang">hashCode</A>, <A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html#notify()" title="class or interface in java.lang">notify</A>, <A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html#notifyAll()" title="class or interface in java.lang">notifyAll</A>, <A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html#toString()" title="class or interface in java.lang">toString</A>, <A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html#wait()" title="class or interface in java.lang">wait</A>, <A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html#wait(long)" title="class or interface in java.lang">wait</A>, <A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html#wait(long, int)" title="class or interface in java.lang">wait</A></CODE></TD>
    +</TR>
    +</TABLE>
    +&nbsp;
    +<P>
    +
    +<!-- ============ FIELD DETAIL =========== -->
    +
    +<A NAME="field_detail"><!-- --></A>
    +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
    +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
    +<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2">
    +<B>Field Detail</B></FONT></TH>
    +</TR>
    +</TABLE>
    +
    +<A NAME="BLOCK_CMDOK"><!-- --></A><H3>
    +BLOCK_CMDOK</H3>
    +<PRE>
    +public static final byte <B>BLOCK_CMDOK</B></PRE>
    +<DL>
    +<DD>Block identifier to confirm successful command execution.
    +<P>
    +<DL>
    +<DT><B>See Also:</B><DD><A HREF="../../../../constant-values.html#org.jacoco.core.runtime.RemoteControlWriter.BLOCK_CMDOK">Constant Field Values</A></DL>
    +</DL>
    +<HR>
    +
    +<A NAME="BLOCK_CMDDUMP"><!-- --></A><H3>
    +BLOCK_CMDDUMP</H3>
    +<PRE>
    +public static final byte <B>BLOCK_CMDDUMP</B></PRE>
    +<DL>
    +<DD>Block identifier for dump command
    +<P>
    +<DL>
    +<DT><B>See Also:</B><DD><A HREF="../../../../constant-values.html#org.jacoco.core.runtime.RemoteControlWriter.BLOCK_CMDDUMP">Constant Field Values</A></DL>
    +</DL>
    +
    +<!-- ========= CONSTRUCTOR DETAIL ======== -->
    +
    +<A NAME="constructor_detail"><!-- --></A>
    +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
    +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
    +<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2">
    +<B>Constructor Detail</B></FONT></TH>
    +</TR>
    +</TABLE>
    +
    +<A NAME="RemoteControlWriter(java.io.OutputStream)"><!-- --></A><H3>
    +RemoteControlWriter</H3>
    +<PRE>
    +public <B>RemoteControlWriter</B>(<A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/io/OutputStream.html" title="class or interface in java.io">OutputStream</A>&nbsp;output)
    +                    throws <A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/io/IOException.html" title="class or interface in java.io">IOException</A></PRE>
    +<DL>
    +<DD>Creates a new writer based on the given output stream.
    +<P>
    +<DL>
    +<DT><B>Parameters:</B><DD><CODE>output</CODE> - stream to write commands to
    +<DT><B>Throws:</B>
    +<DD><CODE><A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/io/IOException.html" title="class or interface in java.io">IOException</A></CODE> - if the header can't be written</DL>
    +</DL>
    +
    +<!-- ============ METHOD DETAIL ========== -->
    +
    +<A NAME="method_detail"><!-- --></A>
    +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
    +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
    +<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2">
    +<B>Method Detail</B></FONT></TH>
    +</TR>
    +</TABLE>
    +
    +<A NAME="sendCmdOk()"><!-- --></A><H3>
    +sendCmdOk</H3>
    +<PRE>
    +public void <B>sendCmdOk</B>()
    +               throws <A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/io/IOException.html" title="class or interface in java.io">IOException</A></PRE>
    +<DL>
    +<DD>Sends a confirmation that a commands has been successfully executed and
    + the response is completed.
    +<P>
    +<DD><DL>
    +</DL>
    +</DD>
    +<DD><DL>
    +
    +<DT><B>Throws:</B>
    +<DD><CODE><A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/io/IOException.html" title="class or interface in java.io">IOException</A></CODE> - in case of problems with the remote connection</DL>
    +</DD>
    +</DL>
    +<HR>
    +
    +<A NAME="visitDumpCommand(boolean, boolean)"><!-- --></A><H3>
    +visitDumpCommand</H3>
    +<PRE>
    +public void <B>visitDumpCommand</B>(boolean&nbsp;dump,
    +                             boolean&nbsp;reset)
    +                      throws <A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/io/IOException.html" title="class or interface in java.io">IOException</A></PRE>
    +<DL>
    +<DD><B>Description copied from interface: <CODE><A HREF="../../../../org/jacoco/core/runtime/IRemoteCommandVisitor.html#visitDumpCommand(boolean, boolean)">IRemoteCommandVisitor</A></CODE></B></DD>
    +<DD>Requests a execution data dump with an optional reset.
    +<P>
    +<DD><DL>
    +<DT><B>Specified by:</B><DD><CODE><A HREF="../../../../org/jacoco/core/runtime/IRemoteCommandVisitor.html#visitDumpCommand(boolean, boolean)">visitDumpCommand</A></CODE> in interface <CODE><A HREF="../../../../org/jacoco/core/runtime/IRemoteCommandVisitor.html" title="interface in org.jacoco.core.runtime">IRemoteCommandVisitor</A></CODE></DL>
    +</DD>
    +<DD><DL>
    +<DT><B>Parameters:</B><DD><CODE>dump</CODE> - <code>true</code> if the dump should be executed<DD><CODE>reset</CODE> - <code>true</code> if the reset should be executed
    +<DT><B>Throws:</B>
    +<DD><CODE><A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/io/IOException.html" title="class or interface in java.io">IOException</A></CODE> - in case of problems with the remote connection</DL>
    +</DD>
    +</DL>
    +<!-- ========= END OF CLASS DATA ========= -->
    +<HR>
    +
    +
    +<!-- ======= START OF BOTTOM NAVBAR ====== -->
    +<A NAME="navbar_bottom"><!-- --></A>
    +<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
    +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
    +<TR>
    +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
    +<A NAME="navbar_bottom_firstrow"><!-- --></A>
    +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
    +  <TR ALIGN="center" VALIGN="top">
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="class-use/RemoteControlWriter.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
    +  </TR>
    +</TABLE>
    +</TD>
    +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
    +</EM>
    +</TD>
    +</TR>
    +
    +<TR>
    +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
    +&nbsp;<A HREF="../../../../org/jacoco/core/runtime/RemoteControlReader.html" title="class in org.jacoco.core.runtime"><B>PREV CLASS</B></A>&nbsp;
    +&nbsp;<A HREF="../../../../org/jacoco/core/runtime/RuntimeData.html" title="class in org.jacoco.core.runtime"><B>NEXT CLASS</B></A></FONT></TD>
    +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
    +  <A HREF="../../../../index.html?org/jacoco/core/runtime/RemoteControlWriter.html" target="_top"><B>FRAMES</B></A>  &nbsp;
    +&nbsp;<A HREF="RemoteControlWriter.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
    +&nbsp;<SCRIPT type="text/javascript">
    +  <!--
    +  if(window==top) {
    +    document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>');
    +  }
    +  //-->
    +</SCRIPT>
    +<NOSCRIPT>
    +  <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>
    +</NOSCRIPT>
    +
    +
    +</FONT></TD>
    +</TR>
    +<TR>
    +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
    +  SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;<A HREF="#field_summary">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD>
    +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
    +DETAIL:&nbsp;<A HREF="#field_detail">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD>
    +</TR>
    +</TABLE>
    +<A NAME="skip-navbar_bottom"></A>
    +<!-- ======== END OF BOTTOM NAVBAR ======= -->
    +
    +<HR>
    +Copyright &#169; 2009&#x2013;2024 Mountainminds GmbH & Co. KG. All rights reserved.
    +</BODY>
    +</HTML>
    diff --git a/jacoco/trunk/doc/api/org/jacoco/core/runtime/RuntimeData.html b/jacoco/trunk/doc/api/org/jacoco/core/runtime/RuntimeData.html
    new file mode 100644
    index 00000000000..876e89f6cd3
    --- /dev/null
    +++ b/jacoco/trunk/doc/api/org/jacoco/core/runtime/RuntimeData.html
    @@ -0,0 +1,523 @@
    +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
    +<!--NewPage-->
    +<HTML>
    +<HEAD>
    +<!-- Generated by javadoc (build 1.5.0_22) on Wed Mar 27 16:45:41 UTC 2024 -->
    +<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
    +<TITLE>
    +RuntimeData (JaCoCo 0.8.12.202403270442 API)
    +</TITLE>
    +
    +<META NAME="keywords" CONTENT="org.jacoco.core.runtime.RuntimeData class">
    +
    +<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../stylesheet.css" TITLE="Style">
    +
    +<SCRIPT type="text/javascript">
    +function windowTitle()
    +{
    +    parent.document.title="RuntimeData (JaCoCo 0.8.12.202403270442 API)";
    +}
    +</SCRIPT>
    +<NOSCRIPT>
    +</NOSCRIPT>
    +
    +</HEAD>
    +
    +<BODY BGCOLOR="white" onload="windowTitle();">
    +
    +
    +<!-- ========= START OF TOP NAVBAR ======= -->
    +<A NAME="navbar_top"><!-- --></A>
    +<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
    +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
    +<TR>
    +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
    +<A NAME="navbar_top_firstrow"><!-- --></A>
    +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
    +  <TR ALIGN="center" VALIGN="top">
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="class-use/RuntimeData.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
    +  </TR>
    +</TABLE>
    +</TD>
    +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
    +</EM>
    +</TD>
    +</TR>
    +
    +<TR>
    +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
    +&nbsp;<A HREF="../../../../org/jacoco/core/runtime/RemoteControlWriter.html" title="class in org.jacoco.core.runtime"><B>PREV CLASS</B></A>&nbsp;
    +&nbsp;<A HREF="../../../../org/jacoco/core/runtime/SystemPropertiesRuntime.html" title="class in org.jacoco.core.runtime"><B>NEXT CLASS</B></A></FONT></TD>
    +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
    +  <A HREF="../../../../index.html?org/jacoco/core/runtime/RuntimeData.html" target="_top"><B>FRAMES</B></A>  &nbsp;
    +&nbsp;<A HREF="RuntimeData.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
    +&nbsp;<SCRIPT type="text/javascript">
    +  <!--
    +  if(window==top) {
    +    document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>');
    +  }
    +  //-->
    +</SCRIPT>
    +<NOSCRIPT>
    +  <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>
    +</NOSCRIPT>
    +
    +
    +</FONT></TD>
    +</TR>
    +<TR>
    +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
    +  SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;<A HREF="#field_summary">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD>
    +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
    +DETAIL:&nbsp;<A HREF="#field_detail">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD>
    +</TR>
    +</TABLE>
    +<A NAME="skip-navbar_top"></A>
    +<!-- ========= END OF TOP NAVBAR ========= -->
    +
    +<HR>
    +<!-- ======== START OF CLASS DATA ======== -->
    +<H2>
    +<FONT SIZE="-1">
    +org.jacoco.core.runtime</FONT>
    +<BR>
    +Class RuntimeData</H2>
    +<PRE>
    +<A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html" title="class or interface in java.lang">java.lang.Object</A>
    +  <IMG SRC="../../../../resources/inherit.gif" ALT="extended by "><B>org.jacoco.core.runtime.RuntimeData</B>
    +</PRE>
    +<HR>
    +<DL>
    +<DT><PRE>public class <B>RuntimeData</B><DT>extends <A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html" title="class or interface in java.lang">Object</A></DL>
    +</PRE>
    +
    +<P>
    +Container for runtime execution and meta data. All access to the runtime data
    + is thread safe.
    +<P>
    +
    +<P>
    +<HR>
    +
    +<P>
    +<!-- =========== FIELD SUMMARY =========== -->
    +
    +<A NAME="field_summary"><!-- --></A>
    +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
    +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
    +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
    +<B>Field Summary</B></FONT></TH>
    +</TR>
    +<TR BGCOLOR="white" CLASS="TableRowColor">
    +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
    +<CODE>protected &nbsp;<A HREF="../../../../org/jacoco/core/data/ExecutionDataStore.html" title="class in org.jacoco.core.data">ExecutionDataStore</A></CODE></FONT></TD>
    +<TD><CODE><B><A HREF="../../../../org/jacoco/core/runtime/RuntimeData.html#store">store</A></B></CODE>
    +
    +<BR>
    +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;store for execution data</TD>
    +</TR>
    +</TABLE>
    +&nbsp;
    +<!-- ======== CONSTRUCTOR SUMMARY ======== -->
    +
    +<A NAME="constructor_summary"><!-- --></A>
    +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
    +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
    +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
    +<B>Constructor Summary</B></FONT></TH>
    +</TR>
    +<TR BGCOLOR="white" CLASS="TableRowColor">
    +<TD><CODE><B><A HREF="../../../../org/jacoco/core/runtime/RuntimeData.html#RuntimeData()">RuntimeData</A></B>()</CODE>
    +
    +<BR>
    +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Creates a new runtime.</TD>
    +</TR>
    +</TABLE>
    +&nbsp;
    +<!-- ========== METHOD SUMMARY =========== -->
    +
    +<A NAME="method_summary"><!-- --></A>
    +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
    +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
    +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
    +<B>Method Summary</B></FONT></TH>
    +</TR>
    +<TR BGCOLOR="white" CLASS="TableRowColor">
    +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
    +<CODE>&nbsp;void</CODE></FONT></TD>
    +<TD><CODE><B><A HREF="../../../../org/jacoco/core/runtime/RuntimeData.html#collect(org.jacoco.core.data.IExecutionDataVisitor, org.jacoco.core.data.ISessionInfoVisitor, boolean)">collect</A></B>(<A HREF="../../../../org/jacoco/core/data/IExecutionDataVisitor.html" title="interface in org.jacoco.core.data">IExecutionDataVisitor</A>&nbsp;executionDataVisitor,
    +        <A HREF="../../../../org/jacoco/core/data/ISessionInfoVisitor.html" title="interface in org.jacoco.core.data">ISessionInfoVisitor</A>&nbsp;sessionInfoVisitor,
    +        boolean&nbsp;reset)</CODE>
    +
    +<BR>
    +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Collects the current execution data and writes it to the given
    + <A HREF="../../../../org/jacoco/core/data/IExecutionDataVisitor.html" title="interface in org.jacoco.core.data"><CODE>IExecutionDataVisitor</CODE></A> object.</TD>
    +</TR>
    +<TR BGCOLOR="white" CLASS="TableRowColor">
    +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
    +<CODE>&nbsp;boolean</CODE></FONT></TD>
    +<TD><CODE><B><A HREF="../../../../org/jacoco/core/runtime/RuntimeData.html#equals(java.lang.Object)">equals</A></B>(<A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html" title="class or interface in java.lang">Object</A>&nbsp;args)</CODE>
    +
    +<BR>
    +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;In violation of the regular semantic of <A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html#equals(java.lang.Object)" title="class or interface in java.lang"><CODE>Object.equals(Object)</CODE></A>
    + this implementation is used as the interface to the execution data store.</TD>
    +</TR>
    +<TR BGCOLOR="white" CLASS="TableRowColor">
    +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
    +<CODE>static&nbsp;void</CODE></FONT></TD>
    +<TD><CODE><B><A HREF="../../../../org/jacoco/core/runtime/RuntimeData.html#generateAccessCall(long, java.lang.String, int, org.objectweb.asm.MethodVisitor)">generateAccessCall</A></B>(long&nbsp;classid,
    +                   <A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A>&nbsp;classname,
    +                   int&nbsp;probecount,
    +                   org.objectweb.asm.MethodVisitor&nbsp;mv)</CODE>
    +
    +<BR>
    +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Generates the code that calls a <A HREF="../../../../org/jacoco/core/runtime/RuntimeData.html" title="class in org.jacoco.core.runtime"><CODE>RuntimeData</CODE></A> instance through the
    + JRE API method <A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html#equals(java.lang.Object)" title="class or interface in java.lang"><CODE>Object.equals(Object)</CODE></A>.</TD>
    +</TR>
    +<TR BGCOLOR="white" CLASS="TableRowColor">
    +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
    +<CODE>static&nbsp;void</CODE></FONT></TD>
    +<TD><CODE><B><A HREF="../../../../org/jacoco/core/runtime/RuntimeData.html#generateArgumentArray(long, java.lang.String, int, org.objectweb.asm.MethodVisitor)">generateArgumentArray</A></B>(long&nbsp;classid,
    +                      <A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A>&nbsp;classname,
    +                      int&nbsp;probecount,
    +                      org.objectweb.asm.MethodVisitor&nbsp;mv)</CODE>
    +
    +<BR>
    +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Generates code that creates the argument array for the
    + <A HREF="../../../../org/jacoco/core/runtime/RuntimeData.html#getProbes(java.lang.Object[])"><CODE>getProbes(Object[])</CODE></A> method.</TD>
    +</TR>
    +<TR BGCOLOR="white" CLASS="TableRowColor">
    +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
    +<CODE>&nbsp;<A HREF="../../../../org/jacoco/core/data/ExecutionData.html" title="class in org.jacoco.core.data">ExecutionData</A></CODE></FONT></TD>
    +<TD><CODE><B><A HREF="../../../../org/jacoco/core/runtime/RuntimeData.html#getExecutionData(java.lang.Long, java.lang.String, int)">getExecutionData</A></B>(<A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Long.html" title="class or interface in java.lang">Long</A>&nbsp;id,
    +                 <A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A>&nbsp;name,
    +                 int&nbsp;probecount)</CODE>
    +
    +<BR>
    +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns the coverage data for the class with the given identifier.</TD>
    +</TR>
    +<TR BGCOLOR="white" CLASS="TableRowColor">
    +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
    +<CODE>&nbsp;void</CODE></FONT></TD>
    +<TD><CODE><B><A HREF="../../../../org/jacoco/core/runtime/RuntimeData.html#getProbes(java.lang.Object[])">getProbes</A></B>(<A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html" title="class or interface in java.lang">Object</A>[]&nbsp;args)</CODE>
    +
    +<BR>
    +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Retrieves the execution probe array for a given class.</TD>
    +</TR>
    +<TR BGCOLOR="white" CLASS="TableRowColor">
    +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
    +<CODE>&nbsp;<A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A></CODE></FONT></TD>
    +<TD><CODE><B><A HREF="../../../../org/jacoco/core/runtime/RuntimeData.html#getSessionId()">getSessionId</A></B>()</CODE>
    +
    +<BR>
    +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Get the current a session identifier for this runtime.</TD>
    +</TR>
    +<TR BGCOLOR="white" CLASS="TableRowColor">
    +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
    +<CODE>&nbsp;void</CODE></FONT></TD>
    +<TD><CODE><B><A HREF="../../../../org/jacoco/core/runtime/RuntimeData.html#reset()">reset</A></B>()</CODE>
    +
    +<BR>
    +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Resets all coverage information.</TD>
    +</TR>
    +<TR BGCOLOR="white" CLASS="TableRowColor">
    +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
    +<CODE>&nbsp;void</CODE></FONT></TD>
    +<TD><CODE><B><A HREF="../../../../org/jacoco/core/runtime/RuntimeData.html#setSessionId(java.lang.String)">setSessionId</A></B>(<A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A>&nbsp;id)</CODE>
    +
    +<BR>
    +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Sets a session identifier for this runtime.</TD>
    +</TR>
    +</TABLE>
    +&nbsp;<A NAME="methods_inherited_from_class_java.lang.Object"><!-- --></A>
    +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
    +<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
    +<TH ALIGN="left"><B>Methods inherited from class java.lang.<A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html" title="class or interface in java.lang">Object</A></B></TH>
    +</TR>
    +<TR BGCOLOR="white" CLASS="TableRowColor">
    +<TD><CODE><A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html#clone()" title="class or interface in java.lang">clone</A>, <A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html#finalize()" title="class or interface in java.lang">finalize</A>, <A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html#getClass()" title="class or interface in java.lang">getClass</A>, <A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html#hashCode()" title="class or interface in java.lang">hashCode</A>, <A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html#notify()" title="class or interface in java.lang">notify</A>, <A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html#notifyAll()" title="class or interface in java.lang">notifyAll</A>, <A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html#toString()" title="class or interface in java.lang">toString</A>, <A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html#wait()" title="class or interface in java.lang">wait</A>, <A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html#wait(long)" title="class or interface in java.lang">wait</A>, <A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html#wait(long, int)" title="class or interface in java.lang">wait</A></CODE></TD>
    +</TR>
    +</TABLE>
    +&nbsp;
    +<P>
    +
    +<!-- ============ FIELD DETAIL =========== -->
    +
    +<A NAME="field_detail"><!-- --></A>
    +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
    +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
    +<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2">
    +<B>Field Detail</B></FONT></TH>
    +</TR>
    +</TABLE>
    +
    +<A NAME="store"><!-- --></A><H3>
    +store</H3>
    +<PRE>
    +protected final <A HREF="../../../../org/jacoco/core/data/ExecutionDataStore.html" title="class in org.jacoco.core.data">ExecutionDataStore</A> <B>store</B></PRE>
    +<DL>
    +<DD>store for execution data
    +<P>
    +<DL>
    +</DL>
    +</DL>
    +
    +<!-- ========= CONSTRUCTOR DETAIL ======== -->
    +
    +<A NAME="constructor_detail"><!-- --></A>
    +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
    +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
    +<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2">
    +<B>Constructor Detail</B></FONT></TH>
    +</TR>
    +</TABLE>
    +
    +<A NAME="RuntimeData()"><!-- --></A><H3>
    +RuntimeData</H3>
    +<PRE>
    +public <B>RuntimeData</B>()</PRE>
    +<DL>
    +<DD>Creates a new runtime.
    +<P>
    +</DL>
    +
    +<!-- ============ METHOD DETAIL ========== -->
    +
    +<A NAME="method_detail"><!-- --></A>
    +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
    +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
    +<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2">
    +<B>Method Detail</B></FONT></TH>
    +</TR>
    +</TABLE>
    +
    +<A NAME="setSessionId(java.lang.String)"><!-- --></A><H3>
    +setSessionId</H3>
    +<PRE>
    +public void <B>setSessionId</B>(<A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A>&nbsp;id)</PRE>
    +<DL>
    +<DD>Sets a session identifier for this runtime. The identifier is used when
    + execution data is collected. If no identifier is explicitly set a
    + identifier is generated from the host name and a random number. This
    + method can be called at any time.
    +<P>
    +<DD><DL>
    +<DT><B>Parameters:</B><DD><CODE>id</CODE> - new session identifier<DT><B>See Also:</B><DD><A HREF="../../../../org/jacoco/core/runtime/RuntimeData.html#collect(org.jacoco.core.data.IExecutionDataVisitor, org.jacoco.core.data.ISessionInfoVisitor, boolean)"><CODE>collect(IExecutionDataVisitor, ISessionInfoVisitor, boolean)</CODE></A></DL>
    +</DD>
    +</DL>
    +<HR>
    +
    +<A NAME="getSessionId()"><!-- --></A><H3>
    +getSessionId</H3>
    +<PRE>
    +public <A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> <B>getSessionId</B>()</PRE>
    +<DL>
    +<DD>Get the current a session identifier for this runtime.
    +<P>
    +<DD><DL>
    +
    +<DT><B>Returns:</B><DD>current session identifier<DT><B>See Also:</B><DD><A HREF="../../../../org/jacoco/core/runtime/RuntimeData.html#setSessionId(java.lang.String)"><CODE>setSessionId(String)</CODE></A></DL>
    +</DD>
    +</DL>
    +<HR>
    +
    +<A NAME="collect(org.jacoco.core.data.IExecutionDataVisitor, org.jacoco.core.data.ISessionInfoVisitor, boolean)"><!-- --></A><H3>
    +collect</H3>
    +<PRE>
    +public final void <B>collect</B>(<A HREF="../../../../org/jacoco/core/data/IExecutionDataVisitor.html" title="interface in org.jacoco.core.data">IExecutionDataVisitor</A>&nbsp;executionDataVisitor,
    +                          <A HREF="../../../../org/jacoco/core/data/ISessionInfoVisitor.html" title="interface in org.jacoco.core.data">ISessionInfoVisitor</A>&nbsp;sessionInfoVisitor,
    +                          boolean&nbsp;reset)</PRE>
    +<DL>
    +<DD>Collects the current execution data and writes it to the given
    + <A HREF="../../../../org/jacoco/core/data/IExecutionDataVisitor.html" title="interface in org.jacoco.core.data"><CODE>IExecutionDataVisitor</CODE></A> object.
    +<P>
    +<DD><DL>
    +<DT><B>Parameters:</B><DD><CODE>executionDataVisitor</CODE> - handler to write coverage data to<DD><CODE>sessionInfoVisitor</CODE> - handler to write session information to<DD><CODE>reset</CODE> - if <code>true</code> the current coverage information is also
    +            cleared</DL>
    +</DD>
    +</DL>
    +<HR>
    +
    +<A NAME="reset()"><!-- --></A><H3>
    +reset</H3>
    +<PRE>
    +public final void <B>reset</B>()</PRE>
    +<DL>
    +<DD>Resets all coverage information.
    +<P>
    +<DD><DL>
    +</DL>
    +</DD>
    +</DL>
    +<HR>
    +
    +<A NAME="getExecutionData(java.lang.Long, java.lang.String, int)"><!-- --></A><H3>
    +getExecutionData</H3>
    +<PRE>
    +public <A HREF="../../../../org/jacoco/core/data/ExecutionData.html" title="class in org.jacoco.core.data">ExecutionData</A> <B>getExecutionData</B>(<A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Long.html" title="class or interface in java.lang">Long</A>&nbsp;id,
    +                                      <A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A>&nbsp;name,
    +                                      int&nbsp;probecount)</PRE>
    +<DL>
    +<DD>Returns the coverage data for the class with the given identifier. If
    + there is no data available under the given id a new entry is created.
    + This is a synchronized access to the underlying store.
    +<P>
    +<DD><DL>
    +<DT><B>Parameters:</B><DD><CODE>id</CODE> - class identifier<DD><CODE>name</CODE> - VM name of the class<DD><CODE>probecount</CODE> - probe data length
    +<DT><B>Returns:</B><DD>execution data</DL>
    +</DD>
    +</DL>
    +<HR>
    +
    +<A NAME="getProbes(java.lang.Object[])"><!-- --></A><H3>
    +getProbes</H3>
    +<PRE>
    +public void <B>getProbes</B>(<A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html" title="class or interface in java.lang">Object</A>[]&nbsp;args)</PRE>
    +<DL>
    +<DD>Retrieves the execution probe array for a given class. The passed
    + <A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html" title="class or interface in java.lang"><CODE>Object</CODE></A> array instance is used for parameters and the return value
    + as follows. Call parameters:
    +
    + <ul>
    + <li>args[0]: class id (<A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Long.html" title="class or interface in java.lang"><CODE>Long</CODE></A>)
    + <li>args[1]: vm class name (<A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/String.html" title="class or interface in java.lang"><CODE>String</CODE></A>)
    + <li>args[2]: probe count (<A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Integer.html" title="class or interface in java.lang"><CODE>Integer</CODE></A>)
    + </ul>
    +
    + Return value:
    +
    + <ul>
    + <li>args[0]: probe array (<code>boolean[]</code>)
    + </ul>
    +<P>
    +<DD><DL>
    +<DT><B>Parameters:</B><DD><CODE>args</CODE> - parameter array of length 3</DL>
    +</DD>
    +</DL>
    +<HR>
    +
    +<A NAME="equals(java.lang.Object)"><!-- --></A><H3>
    +equals</H3>
    +<PRE>
    +public boolean <B>equals</B>(<A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html" title="class or interface in java.lang">Object</A>&nbsp;args)</PRE>
    +<DL>
    +<DD>In violation of the regular semantic of <A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html#equals(java.lang.Object)" title="class or interface in java.lang"><CODE>Object.equals(Object)</CODE></A>
    + this implementation is used as the interface to the execution data store.
    +<P>
    +<DD><DL>
    +<DT><B>Overrides:</B><DD><CODE><A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html#equals(java.lang.Object)" title="class or interface in java.lang">equals</A></CODE> in class <CODE><A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html" title="class or interface in java.lang">Object</A></CODE></DL>
    +</DD>
    +<DD><DL>
    +<DT><B>Parameters:</B><DD><CODE>args</CODE> - the arguments as an <A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html" title="class or interface in java.lang"><CODE>Object</CODE></A> array
    +<DT><B>Returns:</B><DD>has no meaning</DL>
    +</DD>
    +</DL>
    +<HR>
    +
    +<A NAME="generateArgumentArray(long, java.lang.String, int, org.objectweb.asm.MethodVisitor)"><!-- --></A><H3>
    +generateArgumentArray</H3>
    +<PRE>
    +public static void <B>generateArgumentArray</B>(long&nbsp;classid,
    +                                         <A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A>&nbsp;classname,
    +                                         int&nbsp;probecount,
    +                                         org.objectweb.asm.MethodVisitor&nbsp;mv)</PRE>
    +<DL>
    +<DD>Generates code that creates the argument array for the
    + <A HREF="../../../../org/jacoco/core/runtime/RuntimeData.html#getProbes(java.lang.Object[])"><CODE>getProbes(Object[])</CODE></A> method. The array instance is left on the
    + operand stack. The generated code requires a stack size of 5.
    +<P>
    +<DD><DL>
    +<DT><B>Parameters:</B><DD><CODE>classid</CODE> - class identifier<DD><CODE>classname</CODE> - VM class name<DD><CODE>probecount</CODE> - probe count for this class<DD><CODE>mv</CODE> - visitor to emit generated code</DL>
    +</DD>
    +</DL>
    +<HR>
    +
    +<A NAME="generateAccessCall(long, java.lang.String, int, org.objectweb.asm.MethodVisitor)"><!-- --></A><H3>
    +generateAccessCall</H3>
    +<PRE>
    +public static void <B>generateAccessCall</B>(long&nbsp;classid,
    +                                      <A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A>&nbsp;classname,
    +                                      int&nbsp;probecount,
    +                                      org.objectweb.asm.MethodVisitor&nbsp;mv)</PRE>
    +<DL>
    +<DD>Generates the code that calls a <A HREF="../../../../org/jacoco/core/runtime/RuntimeData.html" title="class in org.jacoco.core.runtime"><CODE>RuntimeData</CODE></A> instance through the
    + JRE API method <A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html#equals(java.lang.Object)" title="class or interface in java.lang"><CODE>Object.equals(Object)</CODE></A>. The code pops a
    + <A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html" title="class or interface in java.lang"><CODE>Object</CODE></A> instance from the stack and pushes the probe array of type
    + <code>boolean[]</code> on the operand stack. The generated code requires
    + a stack size of 6.
    +<P>
    +<DD><DL>
    +<DT><B>Parameters:</B><DD><CODE>classid</CODE> - class identifier<DD><CODE>classname</CODE> - VM class name<DD><CODE>probecount</CODE> - probe count for this class<DD><CODE>mv</CODE> - visitor to emit generated code</DL>
    +</DD>
    +</DL>
    +<!-- ========= END OF CLASS DATA ========= -->
    +<HR>
    +
    +
    +<!-- ======= START OF BOTTOM NAVBAR ====== -->
    +<A NAME="navbar_bottom"><!-- --></A>
    +<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
    +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
    +<TR>
    +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
    +<A NAME="navbar_bottom_firstrow"><!-- --></A>
    +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
    +  <TR ALIGN="center" VALIGN="top">
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="class-use/RuntimeData.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
    +  </TR>
    +</TABLE>
    +</TD>
    +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
    +</EM>
    +</TD>
    +</TR>
    +
    +<TR>
    +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
    +&nbsp;<A HREF="../../../../org/jacoco/core/runtime/RemoteControlWriter.html" title="class in org.jacoco.core.runtime"><B>PREV CLASS</B></A>&nbsp;
    +&nbsp;<A HREF="../../../../org/jacoco/core/runtime/SystemPropertiesRuntime.html" title="class in org.jacoco.core.runtime"><B>NEXT CLASS</B></A></FONT></TD>
    +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
    +  <A HREF="../../../../index.html?org/jacoco/core/runtime/RuntimeData.html" target="_top"><B>FRAMES</B></A>  &nbsp;
    +&nbsp;<A HREF="RuntimeData.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
    +&nbsp;<SCRIPT type="text/javascript">
    +  <!--
    +  if(window==top) {
    +    document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>');
    +  }
    +  //-->
    +</SCRIPT>
    +<NOSCRIPT>
    +  <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>
    +</NOSCRIPT>
    +
    +
    +</FONT></TD>
    +</TR>
    +<TR>
    +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
    +  SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;<A HREF="#field_summary">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD>
    +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
    +DETAIL:&nbsp;<A HREF="#field_detail">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD>
    +</TR>
    +</TABLE>
    +<A NAME="skip-navbar_bottom"></A>
    +<!-- ======== END OF BOTTOM NAVBAR ======= -->
    +
    +<HR>
    +Copyright &#169; 2009&#x2013;2024 Mountainminds GmbH & Co. KG. All rights reserved.
    +</BODY>
    +</HTML>
    diff --git a/jacoco/trunk/doc/api/org/jacoco/core/runtime/SystemPropertiesRuntime.html b/jacoco/trunk/doc/api/org/jacoco/core/runtime/SystemPropertiesRuntime.html
    new file mode 100644
    index 00000000000..c88d0efd639
    --- /dev/null
    +++ b/jacoco/trunk/doc/api/org/jacoco/core/runtime/SystemPropertiesRuntime.html
    @@ -0,0 +1,366 @@
    +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
    +<!--NewPage-->
    +<HTML>
    +<HEAD>
    +<!-- Generated by javadoc (build 1.5.0_22) on Wed Mar 27 16:45:41 UTC 2024 -->
    +<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
    +<TITLE>
    +SystemPropertiesRuntime (JaCoCo 0.8.12.202403270442 API)
    +</TITLE>
    +
    +<META NAME="keywords" CONTENT="org.jacoco.core.runtime.SystemPropertiesRuntime class">
    +
    +<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../stylesheet.css" TITLE="Style">
    +
    +<SCRIPT type="text/javascript">
    +function windowTitle()
    +{
    +    parent.document.title="SystemPropertiesRuntime (JaCoCo 0.8.12.202403270442 API)";
    +}
    +</SCRIPT>
    +<NOSCRIPT>
    +</NOSCRIPT>
    +
    +</HEAD>
    +
    +<BODY BGCOLOR="white" onload="windowTitle();">
    +
    +
    +<!-- ========= START OF TOP NAVBAR ======= -->
    +<A NAME="navbar_top"><!-- --></A>
    +<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
    +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
    +<TR>
    +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
    +<A NAME="navbar_top_firstrow"><!-- --></A>
    +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
    +  <TR ALIGN="center" VALIGN="top">
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="class-use/SystemPropertiesRuntime.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
    +  </TR>
    +</TABLE>
    +</TD>
    +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
    +</EM>
    +</TD>
    +</TR>
    +
    +<TR>
    +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
    +&nbsp;<A HREF="../../../../org/jacoco/core/runtime/RuntimeData.html" title="class in org.jacoco.core.runtime"><B>PREV CLASS</B></A>&nbsp;
    +&nbsp;<A HREF="../../../../org/jacoco/core/runtime/WildcardMatcher.html" title="class in org.jacoco.core.runtime"><B>NEXT CLASS</B></A></FONT></TD>
    +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
    +  <A HREF="../../../../index.html?org/jacoco/core/runtime/SystemPropertiesRuntime.html" target="_top"><B>FRAMES</B></A>  &nbsp;
    +&nbsp;<A HREF="SystemPropertiesRuntime.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
    +&nbsp;<SCRIPT type="text/javascript">
    +  <!--
    +  if(window==top) {
    +    document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>');
    +  }
    +  //-->
    +</SCRIPT>
    +<NOSCRIPT>
    +  <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>
    +</NOSCRIPT>
    +
    +
    +</FONT></TD>
    +</TR>
    +<TR>
    +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
    +  SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;<A HREF="#fields_inherited_from_class_org.jacoco.core.runtime.AbstractRuntime">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD>
    +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
    +DETAIL:&nbsp;FIELD&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD>
    +</TR>
    +</TABLE>
    +<A NAME="skip-navbar_top"></A>
    +<!-- ========= END OF TOP NAVBAR ========= -->
    +
    +<HR>
    +<!-- ======== START OF CLASS DATA ======== -->
    +<H2>
    +<FONT SIZE="-1">
    +org.jacoco.core.runtime</FONT>
    +<BR>
    +Class SystemPropertiesRuntime</H2>
    +<PRE>
    +<A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html" title="class or interface in java.lang">java.lang.Object</A>
    +  <IMG SRC="../../../../resources/inherit.gif" ALT="extended by "><A HREF="../../../../org/jacoco/core/runtime/AbstractRuntime.html" title="class in org.jacoco.core.runtime">org.jacoco.core.runtime.AbstractRuntime</A>
    +      <IMG SRC="../../../../resources/inherit.gif" ALT="extended by "><B>org.jacoco.core.runtime.SystemPropertiesRuntime</B>
    +</PRE>
    +<DL>
    +<DT><B>All Implemented Interfaces:</B> <DD><A HREF="../../../../org/jacoco/core/runtime/IExecutionDataAccessorGenerator.html" title="interface in org.jacoco.core.runtime">IExecutionDataAccessorGenerator</A>, <A HREF="../../../../org/jacoco/core/runtime/IRuntime.html" title="interface in org.jacoco.core.runtime">IRuntime</A></DD>
    +</DL>
    +<HR>
    +<DL>
    +<DT><PRE>public class <B>SystemPropertiesRuntime</B><DT>extends <A HREF="../../../../org/jacoco/core/runtime/AbstractRuntime.html" title="class in org.jacoco.core.runtime">AbstractRuntime</A></DL>
    +</PRE>
    +
    +<P>
    +This <A HREF="../../../../org/jacoco/core/runtime/IRuntime.html" title="interface in org.jacoco.core.runtime"><CODE>IRuntime</CODE></A> implementation makes the execution data available
    + through a special entry in the <A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/System.html#getProperties()" title="class or interface in java.lang"><CODE>System.getProperties()</CODE></A> hash table. The
    + advantage is, that the instrumented classes do not get dependencies to other
    + classes than the JRE library itself.
    +
    + This runtime may cause problems in environments with security restrictions,
    + in applications that replace the system properties or in applications that
    + fail if non-String values are placed in the system properties.
    +<P>
    +
    +<P>
    +<HR>
    +
    +<P>
    +<!-- =========== FIELD SUMMARY =========== -->
    +
    +<A NAME="field_summary"><!-- --></A>
    +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
    +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
    +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
    +<B>Field Summary</B></FONT></TH>
    +</TR>
    +</TABLE>
    +&nbsp;<A NAME="fields_inherited_from_class_org.jacoco.core.runtime.AbstractRuntime"><!-- --></A>
    +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
    +<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
    +<TH ALIGN="left"><B>Fields inherited from class org.jacoco.core.runtime.<A HREF="../../../../org/jacoco/core/runtime/AbstractRuntime.html" title="class in org.jacoco.core.runtime">AbstractRuntime</A></B></TH>
    +</TR>
    +<TR BGCOLOR="white" CLASS="TableRowColor">
    +<TD><CODE><A HREF="../../../../org/jacoco/core/runtime/AbstractRuntime.html#data">data</A></CODE></TD>
    +</TR>
    +</TABLE>
    +&nbsp;
    +<!-- ======== CONSTRUCTOR SUMMARY ======== -->
    +
    +<A NAME="constructor_summary"><!-- --></A>
    +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
    +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
    +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
    +<B>Constructor Summary</B></FONT></TH>
    +</TR>
    +<TR BGCOLOR="white" CLASS="TableRowColor">
    +<TD><CODE><B><A HREF="../../../../org/jacoco/core/runtime/SystemPropertiesRuntime.html#SystemPropertiesRuntime()">SystemPropertiesRuntime</A></B>()</CODE>
    +
    +<BR>
    +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Creates a new runtime.</TD>
    +</TR>
    +</TABLE>
    +&nbsp;
    +<!-- ========== METHOD SUMMARY =========== -->
    +
    +<A NAME="method_summary"><!-- --></A>
    +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
    +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
    +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
    +<B>Method Summary</B></FONT></TH>
    +</TR>
    +<TR BGCOLOR="white" CLASS="TableRowColor">
    +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
    +<CODE>&nbsp;int</CODE></FONT></TD>
    +<TD><CODE><B><A HREF="../../../../org/jacoco/core/runtime/SystemPropertiesRuntime.html#generateDataAccessor(long, java.lang.String, int, org.objectweb.asm.MethodVisitor)">generateDataAccessor</A></B>(long&nbsp;classid,
    +                     <A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A>&nbsp;classname,
    +                     int&nbsp;probecount,
    +                     org.objectweb.asm.MethodVisitor&nbsp;mv)</CODE>
    +
    +<BR>
    +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;This method generates the byte code required to obtain the coverage data
    + structure for the class with the given id.</TD>
    +</TR>
    +<TR BGCOLOR="white" CLASS="TableRowColor">
    +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
    +<CODE>&nbsp;void</CODE></FONT></TD>
    +<TD><CODE><B><A HREF="../../../../org/jacoco/core/runtime/SystemPropertiesRuntime.html#shutdown()">shutdown</A></B>()</CODE>
    +
    +<BR>
    +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Allows the coverage runtime to cleanup internals.</TD>
    +</TR>
    +<TR BGCOLOR="white" CLASS="TableRowColor">
    +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
    +<CODE>&nbsp;void</CODE></FONT></TD>
    +<TD><CODE><B><A HREF="../../../../org/jacoco/core/runtime/SystemPropertiesRuntime.html#startup(org.jacoco.core.runtime.RuntimeData)">startup</A></B>(<A HREF="../../../../org/jacoco/core/runtime/RuntimeData.html" title="class in org.jacoco.core.runtime">RuntimeData</A>&nbsp;data)</CODE>
    +
    +<BR>
    +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Subclasses must call this method when overwriting it.</TD>
    +</TR>
    +</TABLE>
    +&nbsp;<A NAME="methods_inherited_from_class_org.jacoco.core.runtime.AbstractRuntime"><!-- --></A>
    +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
    +<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
    +<TH ALIGN="left"><B>Methods inherited from class org.jacoco.core.runtime.<A HREF="../../../../org/jacoco/core/runtime/AbstractRuntime.html" title="class in org.jacoco.core.runtime">AbstractRuntime</A></B></TH>
    +</TR>
    +<TR BGCOLOR="white" CLASS="TableRowColor">
    +<TD><CODE><A HREF="../../../../org/jacoco/core/runtime/AbstractRuntime.html#createRandomId()">createRandomId</A></CODE></TD>
    +</TR>
    +</TABLE>
    +&nbsp;<A NAME="methods_inherited_from_class_java.lang.Object"><!-- --></A>
    +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
    +<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
    +<TH ALIGN="left"><B>Methods inherited from class java.lang.<A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html" title="class or interface in java.lang">Object</A></B></TH>
    +</TR>
    +<TR BGCOLOR="white" CLASS="TableRowColor">
    +<TD><CODE><A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html#clone()" title="class or interface in java.lang">clone</A>, <A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html#equals(java.lang.Object)" title="class or interface in java.lang">equals</A>, <A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html#finalize()" title="class or interface in java.lang">finalize</A>, <A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html#getClass()" title="class or interface in java.lang">getClass</A>, <A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html#hashCode()" title="class or interface in java.lang">hashCode</A>, <A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html#notify()" title="class or interface in java.lang">notify</A>, <A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html#notifyAll()" title="class or interface in java.lang">notifyAll</A>, <A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html#toString()" title="class or interface in java.lang">toString</A>, <A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html#wait()" title="class or interface in java.lang">wait</A>, <A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html#wait(long)" title="class or interface in java.lang">wait</A>, <A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html#wait(long, int)" title="class or interface in java.lang">wait</A></CODE></TD>
    +</TR>
    +</TABLE>
    +&nbsp;
    +<P>
    +
    +<!-- ========= CONSTRUCTOR DETAIL ======== -->
    +
    +<A NAME="constructor_detail"><!-- --></A>
    +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
    +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
    +<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2">
    +<B>Constructor Detail</B></FONT></TH>
    +</TR>
    +</TABLE>
    +
    +<A NAME="SystemPropertiesRuntime()"><!-- --></A><H3>
    +SystemPropertiesRuntime</H3>
    +<PRE>
    +public <B>SystemPropertiesRuntime</B>()</PRE>
    +<DL>
    +<DD>Creates a new runtime.
    +<P>
    +</DL>
    +
    +<!-- ============ METHOD DETAIL ========== -->
    +
    +<A NAME="method_detail"><!-- --></A>
    +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
    +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
    +<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2">
    +<B>Method Detail</B></FONT></TH>
    +</TR>
    +</TABLE>
    +
    +<A NAME="generateDataAccessor(long, java.lang.String, int, org.objectweb.asm.MethodVisitor)"><!-- --></A><H3>
    +generateDataAccessor</H3>
    +<PRE>
    +public int <B>generateDataAccessor</B>(long&nbsp;classid,
    +                                <A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A>&nbsp;classname,
    +                                int&nbsp;probecount,
    +                                org.objectweb.asm.MethodVisitor&nbsp;mv)</PRE>
    +<DL>
    +<DD><B>Description copied from interface: <CODE><A HREF="../../../../org/jacoco/core/runtime/IExecutionDataAccessorGenerator.html#generateDataAccessor(long, java.lang.String, int, org.objectweb.asm.MethodVisitor)">IExecutionDataAccessorGenerator</A></CODE></B></DD>
    +<DD>This method generates the byte code required to obtain the coverage data
    + structure for the class with the given id. Typically the instrumentation
    + process will embed this code into a method that is called on class
    + initialization. This method can be called at any time even outside the
    + target VM.
    +
    + The generated code must push a <code>boolean[]</code> instance to the
    + operand stack. Except this result object the generated code must not make
    + any assumptions about the structure of the embedding method or class. The
    + generated code must not use or allocate local variables.
    +<P>
    +<DD><DL>
    +<DT><B>Parameters:</B><DD><CODE>classid</CODE> - identifier of the class<DD><CODE>classname</CODE> - VM class name<DD><CODE>probecount</CODE> - probe count for this class<DD><CODE>mv</CODE> - code output
    +<DT><B>Returns:</B><DD>additional stack size required by the implementation, including
    +         the instance pushed to the stack</DL>
    +</DD>
    +</DL>
    +<HR>
    +
    +<A NAME="startup(org.jacoco.core.runtime.RuntimeData)"><!-- --></A><H3>
    +startup</H3>
    +<PRE>
    +public void <B>startup</B>(<A HREF="../../../../org/jacoco/core/runtime/RuntimeData.html" title="class in org.jacoco.core.runtime">RuntimeData</A>&nbsp;data)
    +             throws <A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Exception.html" title="class or interface in java.lang">Exception</A></PRE>
    +<DL>
    +<DD><B>Description copied from class: <CODE><A HREF="../../../../org/jacoco/core/runtime/AbstractRuntime.html#startup(org.jacoco.core.runtime.RuntimeData)">AbstractRuntime</A></CODE></B></DD>
    +<DD>Subclasses must call this method when overwriting it.
    +<P>
    +<DD><DL>
    +<DT><B>Specified by:</B><DD><CODE><A HREF="../../../../org/jacoco/core/runtime/IRuntime.html#startup(org.jacoco.core.runtime.RuntimeData)">startup</A></CODE> in interface <CODE><A HREF="../../../../org/jacoco/core/runtime/IRuntime.html" title="interface in org.jacoco.core.runtime">IRuntime</A></CODE><DT><B>Overrides:</B><DD><CODE><A HREF="../../../../org/jacoco/core/runtime/AbstractRuntime.html#startup(org.jacoco.core.runtime.RuntimeData)">startup</A></CODE> in class <CODE><A HREF="../../../../org/jacoco/core/runtime/AbstractRuntime.html" title="class in org.jacoco.core.runtime">AbstractRuntime</A></CODE></DL>
    +</DD>
    +<DD><DL>
    +<DT><B>Parameters:</B><DD><CODE>data</CODE> - the execution data for this runtime
    +<DT><B>Throws:</B>
    +<DD><CODE><A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Exception.html" title="class or interface in java.lang">Exception</A></CODE> - any internal problem during startup</DL>
    +</DD>
    +</DL>
    +<HR>
    +
    +<A NAME="shutdown()"><!-- --></A><H3>
    +shutdown</H3>
    +<PRE>
    +public void <B>shutdown</B>()</PRE>
    +<DL>
    +<DD><B>Description copied from interface: <CODE><A HREF="../../../../org/jacoco/core/runtime/IRuntime.html#shutdown()">IRuntime</A></CODE></B></DD>
    +<DD>Allows the coverage runtime to cleanup internals. This class should be
    + called when classes instrumented for this runtime are not used any more.
    +<P>
    +<DD><DL>
    +</DL>
    +</DD>
    +</DL>
    +<!-- ========= END OF CLASS DATA ========= -->
    +<HR>
    +
    +
    +<!-- ======= START OF BOTTOM NAVBAR ====== -->
    +<A NAME="navbar_bottom"><!-- --></A>
    +<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
    +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
    +<TR>
    +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
    +<A NAME="navbar_bottom_firstrow"><!-- --></A>
    +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
    +  <TR ALIGN="center" VALIGN="top">
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="class-use/SystemPropertiesRuntime.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
    +  </TR>
    +</TABLE>
    +</TD>
    +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
    +</EM>
    +</TD>
    +</TR>
    +
    +<TR>
    +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
    +&nbsp;<A HREF="../../../../org/jacoco/core/runtime/RuntimeData.html" title="class in org.jacoco.core.runtime"><B>PREV CLASS</B></A>&nbsp;
    +&nbsp;<A HREF="../../../../org/jacoco/core/runtime/WildcardMatcher.html" title="class in org.jacoco.core.runtime"><B>NEXT CLASS</B></A></FONT></TD>
    +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
    +  <A HREF="../../../../index.html?org/jacoco/core/runtime/SystemPropertiesRuntime.html" target="_top"><B>FRAMES</B></A>  &nbsp;
    +&nbsp;<A HREF="SystemPropertiesRuntime.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
    +&nbsp;<SCRIPT type="text/javascript">
    +  <!--
    +  if(window==top) {
    +    document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>');
    +  }
    +  //-->
    +</SCRIPT>
    +<NOSCRIPT>
    +  <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>
    +</NOSCRIPT>
    +
    +
    +</FONT></TD>
    +</TR>
    +<TR>
    +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
    +  SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;<A HREF="#fields_inherited_from_class_org.jacoco.core.runtime.AbstractRuntime">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD>
    +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
    +DETAIL:&nbsp;FIELD&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD>
    +</TR>
    +</TABLE>
    +<A NAME="skip-navbar_bottom"></A>
    +<!-- ======== END OF BOTTOM NAVBAR ======= -->
    +
    +<HR>
    +Copyright &#169; 2009&#x2013;2024 Mountainminds GmbH & Co. KG. All rights reserved.
    +</BODY>
    +</HTML>
    diff --git a/jacoco/trunk/doc/api/org/jacoco/core/runtime/WildcardMatcher.html b/jacoco/trunk/doc/api/org/jacoco/core/runtime/WildcardMatcher.html
    new file mode 100644
    index 00000000000..4ca446524d1
    --- /dev/null
    +++ b/jacoco/trunk/doc/api/org/jacoco/core/runtime/WildcardMatcher.html
    @@ -0,0 +1,264 @@
    +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
    +<!--NewPage-->
    +<HTML>
    +<HEAD>
    +<!-- Generated by javadoc (build 1.5.0_22) on Wed Mar 27 16:45:41 UTC 2024 -->
    +<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
    +<TITLE>
    +WildcardMatcher (JaCoCo 0.8.12.202403270442 API)
    +</TITLE>
    +
    +<META NAME="keywords" CONTENT="org.jacoco.core.runtime.WildcardMatcher class">
    +
    +<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../stylesheet.css" TITLE="Style">
    +
    +<SCRIPT type="text/javascript">
    +function windowTitle()
    +{
    +    parent.document.title="WildcardMatcher (JaCoCo 0.8.12.202403270442 API)";
    +}
    +</SCRIPT>
    +<NOSCRIPT>
    +</NOSCRIPT>
    +
    +</HEAD>
    +
    +<BODY BGCOLOR="white" onload="windowTitle();">
    +
    +
    +<!-- ========= START OF TOP NAVBAR ======= -->
    +<A NAME="navbar_top"><!-- --></A>
    +<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
    +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
    +<TR>
    +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
    +<A NAME="navbar_top_firstrow"><!-- --></A>
    +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
    +  <TR ALIGN="center" VALIGN="top">
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="class-use/WildcardMatcher.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
    +  </TR>
    +</TABLE>
    +</TD>
    +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
    +</EM>
    +</TD>
    +</TR>
    +
    +<TR>
    +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
    +&nbsp;<A HREF="../../../../org/jacoco/core/runtime/SystemPropertiesRuntime.html" title="class in org.jacoco.core.runtime"><B>PREV CLASS</B></A>&nbsp;
    +&nbsp;NEXT CLASS</FONT></TD>
    +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
    +  <A HREF="../../../../index.html?org/jacoco/core/runtime/WildcardMatcher.html" target="_top"><B>FRAMES</B></A>  &nbsp;
    +&nbsp;<A HREF="WildcardMatcher.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
    +&nbsp;<SCRIPT type="text/javascript">
    +  <!--
    +  if(window==top) {
    +    document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>');
    +  }
    +  //-->
    +</SCRIPT>
    +<NOSCRIPT>
    +  <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>
    +</NOSCRIPT>
    +
    +
    +</FONT></TD>
    +</TR>
    +<TR>
    +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
    +  SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;FIELD&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD>
    +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
    +DETAIL:&nbsp;FIELD&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD>
    +</TR>
    +</TABLE>
    +<A NAME="skip-navbar_top"></A>
    +<!-- ========= END OF TOP NAVBAR ========= -->
    +
    +<HR>
    +<!-- ======== START OF CLASS DATA ======== -->
    +<H2>
    +<FONT SIZE="-1">
    +org.jacoco.core.runtime</FONT>
    +<BR>
    +Class WildcardMatcher</H2>
    +<PRE>
    +<A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html" title="class or interface in java.lang">java.lang.Object</A>
    +  <IMG SRC="../../../../resources/inherit.gif" ALT="extended by "><B>org.jacoco.core.runtime.WildcardMatcher</B>
    +</PRE>
    +<HR>
    +<DL>
    +<DT><PRE>public class <B>WildcardMatcher</B><DT>extends <A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html" title="class or interface in java.lang">Object</A></DL>
    +</PRE>
    +
    +<P>
    +Matches strings against glob like wildcard expressions where <code>?</code>
    + matches any single character and <code>*</code> matches any number of any
    + character. Multiple expressions can be separated with a colon (:). In this
    + case the expression matches if at least one part matches.
    +<P>
    +
    +<P>
    +<HR>
    +
    +<P>
    +
    +<!-- ======== CONSTRUCTOR SUMMARY ======== -->
    +
    +<A NAME="constructor_summary"><!-- --></A>
    +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
    +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
    +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
    +<B>Constructor Summary</B></FONT></TH>
    +</TR>
    +<TR BGCOLOR="white" CLASS="TableRowColor">
    +<TD><CODE><B><A HREF="../../../../org/jacoco/core/runtime/WildcardMatcher.html#WildcardMatcher(java.lang.String)">WildcardMatcher</A></B>(<A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A>&nbsp;expression)</CODE>
    +
    +<BR>
    +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Creates a new matcher with the given expression.</TD>
    +</TR>
    +</TABLE>
    +&nbsp;
    +<!-- ========== METHOD SUMMARY =========== -->
    +
    +<A NAME="method_summary"><!-- --></A>
    +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
    +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
    +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
    +<B>Method Summary</B></FONT></TH>
    +</TR>
    +<TR BGCOLOR="white" CLASS="TableRowColor">
    +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
    +<CODE>&nbsp;boolean</CODE></FONT></TD>
    +<TD><CODE><B><A HREF="../../../../org/jacoco/core/runtime/WildcardMatcher.html#matches(java.lang.String)">matches</A></B>(<A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A>&nbsp;s)</CODE>
    +
    +<BR>
    +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Matches the given string against the expressions of this matcher.</TD>
    +</TR>
    +</TABLE>
    +&nbsp;<A NAME="methods_inherited_from_class_java.lang.Object"><!-- --></A>
    +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
    +<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
    +<TH ALIGN="left"><B>Methods inherited from class java.lang.<A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html" title="class or interface in java.lang">Object</A></B></TH>
    +</TR>
    +<TR BGCOLOR="white" CLASS="TableRowColor">
    +<TD><CODE><A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html#clone()" title="class or interface in java.lang">clone</A>, <A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html#equals(java.lang.Object)" title="class or interface in java.lang">equals</A>, <A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html#finalize()" title="class or interface in java.lang">finalize</A>, <A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html#getClass()" title="class or interface in java.lang">getClass</A>, <A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html#hashCode()" title="class or interface in java.lang">hashCode</A>, <A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html#notify()" title="class or interface in java.lang">notify</A>, <A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html#notifyAll()" title="class or interface in java.lang">notifyAll</A>, <A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html#toString()" title="class or interface in java.lang">toString</A>, <A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html#wait()" title="class or interface in java.lang">wait</A>, <A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html#wait(long)" title="class or interface in java.lang">wait</A>, <A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html#wait(long, int)" title="class or interface in java.lang">wait</A></CODE></TD>
    +</TR>
    +</TABLE>
    +&nbsp;
    +<P>
    +
    +<!-- ========= CONSTRUCTOR DETAIL ======== -->
    +
    +<A NAME="constructor_detail"><!-- --></A>
    +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
    +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
    +<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2">
    +<B>Constructor Detail</B></FONT></TH>
    +</TR>
    +</TABLE>
    +
    +<A NAME="WildcardMatcher(java.lang.String)"><!-- --></A><H3>
    +WildcardMatcher</H3>
    +<PRE>
    +public <B>WildcardMatcher</B>(<A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A>&nbsp;expression)</PRE>
    +<DL>
    +<DD>Creates a new matcher with the given expression.
    +<P>
    +<DL>
    +<DT><B>Parameters:</B><DD><CODE>expression</CODE> - wildcard expressions</DL>
    +</DL>
    +
    +<!-- ============ METHOD DETAIL ========== -->
    +
    +<A NAME="method_detail"><!-- --></A>
    +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
    +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
    +<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2">
    +<B>Method Detail</B></FONT></TH>
    +</TR>
    +</TABLE>
    +
    +<A NAME="matches(java.lang.String)"><!-- --></A><H3>
    +matches</H3>
    +<PRE>
    +public boolean <B>matches</B>(<A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A>&nbsp;s)</PRE>
    +<DL>
    +<DD>Matches the given string against the expressions of this matcher.
    +<P>
    +<DD><DL>
    +<DT><B>Parameters:</B><DD><CODE>s</CODE> - string to test
    +<DT><B>Returns:</B><DD><code>true</code>, if the expression matches</DL>
    +</DD>
    +</DL>
    +<!-- ========= END OF CLASS DATA ========= -->
    +<HR>
    +
    +
    +<!-- ======= START OF BOTTOM NAVBAR ====== -->
    +<A NAME="navbar_bottom"><!-- --></A>
    +<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
    +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
    +<TR>
    +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
    +<A NAME="navbar_bottom_firstrow"><!-- --></A>
    +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
    +  <TR ALIGN="center" VALIGN="top">
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="class-use/WildcardMatcher.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
    +  </TR>
    +</TABLE>
    +</TD>
    +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
    +</EM>
    +</TD>
    +</TR>
    +
    +<TR>
    +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
    +&nbsp;<A HREF="../../../../org/jacoco/core/runtime/SystemPropertiesRuntime.html" title="class in org.jacoco.core.runtime"><B>PREV CLASS</B></A>&nbsp;
    +&nbsp;NEXT CLASS</FONT></TD>
    +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
    +  <A HREF="../../../../index.html?org/jacoco/core/runtime/WildcardMatcher.html" target="_top"><B>FRAMES</B></A>  &nbsp;
    +&nbsp;<A HREF="WildcardMatcher.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
    +&nbsp;<SCRIPT type="text/javascript">
    +  <!--
    +  if(window==top) {
    +    document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>');
    +  }
    +  //-->
    +</SCRIPT>
    +<NOSCRIPT>
    +  <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>
    +</NOSCRIPT>
    +
    +
    +</FONT></TD>
    +</TR>
    +<TR>
    +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
    +  SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;FIELD&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD>
    +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
    +DETAIL:&nbsp;FIELD&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD>
    +</TR>
    +</TABLE>
    +<A NAME="skip-navbar_bottom"></A>
    +<!-- ======== END OF BOTTOM NAVBAR ======= -->
    +
    +<HR>
    +Copyright &#169; 2009&#x2013;2024 Mountainminds GmbH & Co. KG. All rights reserved.
    +</BODY>
    +</HTML>
    diff --git a/jacoco/trunk/doc/api/org/jacoco/core/runtime/class-use/AbstractRuntime.html b/jacoco/trunk/doc/api/org/jacoco/core/runtime/class-use/AbstractRuntime.html
    new file mode 100644
    index 00000000000..dd07a48d802
    --- /dev/null
    +++ b/jacoco/trunk/doc/api/org/jacoco/core/runtime/class-use/AbstractRuntime.html
    @@ -0,0 +1,205 @@
    +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
    +<!--NewPage-->
    +<HTML>
    +<HEAD>
    +<!-- Generated by javadoc (build 1.5.0_22) on Wed Mar 27 16:45:42 UTC 2024 -->
    +<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
    +<TITLE>
    +Uses of Class org.jacoco.core.runtime.AbstractRuntime (JaCoCo 0.8.12.202403270442 API)
    +</TITLE>
    +
    +
    +<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../../stylesheet.css" TITLE="Style">
    +
    +<SCRIPT type="text/javascript">
    +function windowTitle()
    +{
    +    parent.document.title="Uses of Class org.jacoco.core.runtime.AbstractRuntime (JaCoCo 0.8.12.202403270442 API)";
    +}
    +</SCRIPT>
    +<NOSCRIPT>
    +</NOSCRIPT>
    +
    +</HEAD>
    +
    +<BODY BGCOLOR="white" onload="windowTitle();">
    +
    +
    +<!-- ========= START OF TOP NAVBAR ======= -->
    +<A NAME="navbar_top"><!-- --></A>
    +<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
    +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
    +<TR>
    +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
    +<A NAME="navbar_top_firstrow"><!-- --></A>
    +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
    +  <TR ALIGN="center" VALIGN="top">
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../org/jacoco/core/runtime/AbstractRuntime.html" title="class in org.jacoco.core.runtime"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
    +  </TR>
    +</TABLE>
    +</TD>
    +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
    +</EM>
    +</TD>
    +</TR>
    +
    +<TR>
    +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
    +&nbsp;PREV&nbsp;
    +&nbsp;NEXT</FONT></TD>
    +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
    +  <A HREF="../../../../../index.html?org/jacoco/core/runtime/class-use/AbstractRuntime.html" target="_top"><B>FRAMES</B></A>  &nbsp;
    +&nbsp;<A HREF="AbstractRuntime.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
    +&nbsp;<SCRIPT type="text/javascript">
    +  <!--
    +  if(window==top) {
    +    document.writeln('<A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>');
    +  }
    +  //-->
    +</SCRIPT>
    +<NOSCRIPT>
    +  <A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>
    +</NOSCRIPT>
    +
    +
    +</FONT></TD>
    +</TR>
    +</TABLE>
    +<A NAME="skip-navbar_top"></A>
    +<!-- ========= END OF TOP NAVBAR ========= -->
    +
    +<HR>
    +<CENTER>
    +<H2>
    +<B>Uses of Class<br>org.jacoco.core.runtime.AbstractRuntime</B></H2>
    +</CENTER>
    +
    +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
    +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
    +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
    +Packages that use <A HREF="../../../../../org/jacoco/core/runtime/AbstractRuntime.html" title="class in org.jacoco.core.runtime">AbstractRuntime</A></FONT></TH>
    +</TR>
    +<TR BGCOLOR="white" CLASS="TableRowColor">
    +<TD><A HREF="#org.jacoco.core.runtime"><B>org.jacoco.core.runtime</B></A></TD>
    +<TD>Runtime control and execution data collection.&nbsp;</TD>
    +</TR>
    +</TABLE>
    +&nbsp;
    +<P>
    +<A NAME="org.jacoco.core.runtime"><!-- --></A>
    +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
    +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
    +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
    +Uses of <A HREF="../../../../../org/jacoco/core/runtime/AbstractRuntime.html" title="class in org.jacoco.core.runtime">AbstractRuntime</A> in <A HREF="../../../../../org/jacoco/core/runtime/package-summary.html">org.jacoco.core.runtime</A></FONT></TH>
    +</TR>
    +</TABLE>
    +&nbsp;
    +<P>
    +
    +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
    +<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor">
    +<TH ALIGN="left" COLSPAN="2">Subclasses of <A HREF="../../../../../org/jacoco/core/runtime/AbstractRuntime.html" title="class in org.jacoco.core.runtime">AbstractRuntime</A> in <A HREF="../../../../../org/jacoco/core/runtime/package-summary.html">org.jacoco.core.runtime</A></FONT></TH>
    +</TR>
    +<TR BGCOLOR="white" CLASS="TableRowColor">
    +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
    +<CODE>&nbsp;class</CODE></FONT></TD>
    +<TD><CODE><B><A HREF="../../../../../org/jacoco/core/runtime/InjectedClassRuntime.html" title="class in org.jacoco.core.runtime">InjectedClassRuntime</A></B></CODE>
    +
    +<BR>
    +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<A HREF="../../../../../org/jacoco/core/runtime/IRuntime.html" title="interface in org.jacoco.core.runtime"><CODE>IRuntime</CODE></A> which defines a new class using
    + <code>java.lang.invoke.MethodHandles.Lookup.defineClass</code> introduced in Java
    + 9.</TD>
    +</TR>
    +<TR BGCOLOR="white" CLASS="TableRowColor">
    +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
    +<CODE>&nbsp;class</CODE></FONT></TD>
    +<TD><CODE><B><A HREF="../../../../../org/jacoco/core/runtime/LoggerRuntime.html" title="class in org.jacoco.core.runtime">LoggerRuntime</A></B></CODE>
    +
    +<BR>
    +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;This <A HREF="../../../../../org/jacoco/core/runtime/IRuntime.html" title="interface in org.jacoco.core.runtime"><CODE>IRuntime</CODE></A> implementation uses the Java logging API to report
    + coverage data.</TD>
    +</TR>
    +<TR BGCOLOR="white" CLASS="TableRowColor">
    +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
    +<CODE>&nbsp;class</CODE></FONT></TD>
    +<TD><CODE><B><A HREF="../../../../../org/jacoco/core/runtime/ModifiedSystemClassRuntime.html" title="class in org.jacoco.core.runtime">ModifiedSystemClassRuntime</A></B></CODE>
    +
    +<BR>
    +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;This <A HREF="../../../../../org/jacoco/core/runtime/IRuntime.html" title="interface in org.jacoco.core.runtime"><CODE>IRuntime</CODE></A> implementation works with a modified system class.</TD>
    +</TR>
    +<TR BGCOLOR="white" CLASS="TableRowColor">
    +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
    +<CODE>&nbsp;class</CODE></FONT></TD>
    +<TD><CODE><B><A HREF="../../../../../org/jacoco/core/runtime/SystemPropertiesRuntime.html" title="class in org.jacoco.core.runtime">SystemPropertiesRuntime</A></B></CODE>
    +
    +<BR>
    +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;This <A HREF="../../../../../org/jacoco/core/runtime/IRuntime.html" title="interface in org.jacoco.core.runtime"><CODE>IRuntime</CODE></A> implementation makes the execution data available
    + through a special entry in the <A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/System.html#getProperties()" title="class or interface in java.lang"><CODE>System.getProperties()</CODE></A> hash table.</TD>
    +</TR>
    +</TABLE>
    +&nbsp;
    +<P>
    +<HR>
    +
    +
    +<!-- ======= START OF BOTTOM NAVBAR ====== -->
    +<A NAME="navbar_bottom"><!-- --></A>
    +<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
    +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
    +<TR>
    +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
    +<A NAME="navbar_bottom_firstrow"><!-- --></A>
    +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
    +  <TR ALIGN="center" VALIGN="top">
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../org/jacoco/core/runtime/AbstractRuntime.html" title="class in org.jacoco.core.runtime"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
    +  </TR>
    +</TABLE>
    +</TD>
    +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
    +</EM>
    +</TD>
    +</TR>
    +
    +<TR>
    +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
    +&nbsp;PREV&nbsp;
    +&nbsp;NEXT</FONT></TD>
    +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
    +  <A HREF="../../../../../index.html?org/jacoco/core/runtime/class-use/AbstractRuntime.html" target="_top"><B>FRAMES</B></A>  &nbsp;
    +&nbsp;<A HREF="AbstractRuntime.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
    +&nbsp;<SCRIPT type="text/javascript">
    +  <!--
    +  if(window==top) {
    +    document.writeln('<A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>');
    +  }
    +  //-->
    +</SCRIPT>
    +<NOSCRIPT>
    +  <A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>
    +</NOSCRIPT>
    +
    +
    +</FONT></TD>
    +</TR>
    +</TABLE>
    +<A NAME="skip-navbar_bottom"></A>
    +<!-- ======== END OF BOTTOM NAVBAR ======= -->
    +
    +<HR>
    +Copyright &#169; 2009&#x2013;2024 Mountainminds GmbH & Co. KG. All rights reserved.
    +</BODY>
    +</HTML>
    diff --git a/jacoco/trunk/doc/api/org/jacoco/core/runtime/class-use/AgentOptions.OutputMode.html b/jacoco/trunk/doc/api/org/jacoco/core/runtime/class-use/AgentOptions.OutputMode.html
    new file mode 100644
    index 00000000000..fe801c60358
    --- /dev/null
    +++ b/jacoco/trunk/doc/api/org/jacoco/core/runtime/class-use/AgentOptions.OutputMode.html
    @@ -0,0 +1,210 @@
    +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
    +<!--NewPage-->
    +<HTML>
    +<HEAD>
    +<!-- Generated by javadoc (build 1.5.0_22) on Wed Mar 27 16:45:42 UTC 2024 -->
    +<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
    +<TITLE>
    +Uses of Class org.jacoco.core.runtime.AgentOptions.OutputMode (JaCoCo 0.8.12.202403270442 API)
    +</TITLE>
    +
    +
    +<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../../stylesheet.css" TITLE="Style">
    +
    +<SCRIPT type="text/javascript">
    +function windowTitle()
    +{
    +    parent.document.title="Uses of Class org.jacoco.core.runtime.AgentOptions.OutputMode (JaCoCo 0.8.12.202403270442 API)";
    +}
    +</SCRIPT>
    +<NOSCRIPT>
    +</NOSCRIPT>
    +
    +</HEAD>
    +
    +<BODY BGCOLOR="white" onload="windowTitle();">
    +
    +
    +<!-- ========= START OF TOP NAVBAR ======= -->
    +<A NAME="navbar_top"><!-- --></A>
    +<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
    +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
    +<TR>
    +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
    +<A NAME="navbar_top_firstrow"><!-- --></A>
    +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
    +  <TR ALIGN="center" VALIGN="top">
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../org/jacoco/core/runtime/AgentOptions.OutputMode.html" title="enum in org.jacoco.core.runtime"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
    +  </TR>
    +</TABLE>
    +</TD>
    +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
    +</EM>
    +</TD>
    +</TR>
    +
    +<TR>
    +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
    +&nbsp;PREV&nbsp;
    +&nbsp;NEXT</FONT></TD>
    +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
    +  <A HREF="../../../../../index.html?org/jacoco/core/runtime/class-use/AgentOptions.OutputMode.html" target="_top"><B>FRAMES</B></A>  &nbsp;
    +&nbsp;<A HREF="AgentOptions.OutputMode.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
    +&nbsp;<SCRIPT type="text/javascript">
    +  <!--
    +  if(window==top) {
    +    document.writeln('<A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>');
    +  }
    +  //-->
    +</SCRIPT>
    +<NOSCRIPT>
    +  <A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>
    +</NOSCRIPT>
    +
    +
    +</FONT></TD>
    +</TR>
    +</TABLE>
    +<A NAME="skip-navbar_top"></A>
    +<!-- ========= END OF TOP NAVBAR ========= -->
    +
    +<HR>
    +<CENTER>
    +<H2>
    +<B>Uses of Class<br>org.jacoco.core.runtime.AgentOptions.OutputMode</B></H2>
    +</CENTER>
    +
    +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
    +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
    +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
    +Packages that use <A HREF="../../../../../org/jacoco/core/runtime/AgentOptions.OutputMode.html" title="enum in org.jacoco.core.runtime">AgentOptions.OutputMode</A></FONT></TH>
    +</TR>
    +<TR BGCOLOR="white" CLASS="TableRowColor">
    +<TD><A HREF="#org.jacoco.core.runtime"><B>org.jacoco.core.runtime</B></A></TD>
    +<TD>Runtime control and execution data collection.&nbsp;</TD>
    +</TR>
    +</TABLE>
    +&nbsp;
    +<P>
    +<A NAME="org.jacoco.core.runtime"><!-- --></A>
    +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
    +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
    +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
    +Uses of <A HREF="../../../../../org/jacoco/core/runtime/AgentOptions.OutputMode.html" title="enum in org.jacoco.core.runtime">AgentOptions.OutputMode</A> in <A HREF="../../../../../org/jacoco/core/runtime/package-summary.html">org.jacoco.core.runtime</A></FONT></TH>
    +</TR>
    +</TABLE>
    +&nbsp;
    +<P>
    +
    +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
    +<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor">
    +<TH ALIGN="left" COLSPAN="2">Methods in <A HREF="../../../../../org/jacoco/core/runtime/package-summary.html">org.jacoco.core.runtime</A> that return <A HREF="../../../../../org/jacoco/core/runtime/AgentOptions.OutputMode.html" title="enum in org.jacoco.core.runtime">AgentOptions.OutputMode</A></FONT></TH>
    +</TR>
    +<TR BGCOLOR="white" CLASS="TableRowColor">
    +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
    +<CODE>&nbsp;<A HREF="../../../../../org/jacoco/core/runtime/AgentOptions.OutputMode.html" title="enum in org.jacoco.core.runtime">AgentOptions.OutputMode</A></CODE></FONT></TD>
    +<TD><CODE><B>AgentOptions.</B><B><A HREF="../../../../../org/jacoco/core/runtime/AgentOptions.html#getOutput()">getOutput</A></B>()</CODE>
    +
    +<BR>
    +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns the output mode</TD>
    +</TR>
    +<TR BGCOLOR="white" CLASS="TableRowColor">
    +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
    +<CODE>static&nbsp;<A HREF="../../../../../org/jacoco/core/runtime/AgentOptions.OutputMode.html" title="enum in org.jacoco.core.runtime">AgentOptions.OutputMode</A></CODE></FONT></TD>
    +<TD><CODE><B>AgentOptions.OutputMode.</B><B><A HREF="../../../../../org/jacoco/core/runtime/AgentOptions.OutputMode.html#valueOf(java.lang.String)">valueOf</A></B>(<A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A>&nbsp;name)</CODE>
    +
    +<BR>
    +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns the enum constant of this type with the specified name.</TD>
    +</TR>
    +<TR BGCOLOR="white" CLASS="TableRowColor">
    +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
    +<CODE>static&nbsp;<A HREF="../../../../../org/jacoco/core/runtime/AgentOptions.OutputMode.html" title="enum in org.jacoco.core.runtime">AgentOptions.OutputMode</A>[]</CODE></FONT></TD>
    +<TD><CODE><B>AgentOptions.OutputMode.</B><B><A HREF="../../../../../org/jacoco/core/runtime/AgentOptions.OutputMode.html#values()">values</A></B>()</CODE>
    +
    +<BR>
    +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns an array containing the constants of this enum type, in
    +the order they're declared.</TD>
    +</TR>
    +</TABLE>
    +&nbsp;
    +<P>
    +
    +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
    +<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor">
    +<TH ALIGN="left" COLSPAN="2">Methods in <A HREF="../../../../../org/jacoco/core/runtime/package-summary.html">org.jacoco.core.runtime</A> with parameters of type <A HREF="../../../../../org/jacoco/core/runtime/AgentOptions.OutputMode.html" title="enum in org.jacoco.core.runtime">AgentOptions.OutputMode</A></FONT></TH>
    +</TR>
    +<TR BGCOLOR="white" CLASS="TableRowColor">
    +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
    +<CODE>&nbsp;void</CODE></FONT></TD>
    +<TD><CODE><B>AgentOptions.</B><B><A HREF="../../../../../org/jacoco/core/runtime/AgentOptions.html#setOutput(org.jacoco.core.runtime.AgentOptions.OutputMode)">setOutput</A></B>(<A HREF="../../../../../org/jacoco/core/runtime/AgentOptions.OutputMode.html" title="enum in org.jacoco.core.runtime">AgentOptions.OutputMode</A>&nbsp;output)</CODE>
    +
    +<BR>
    +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Sets the output mode</TD>
    +</TR>
    +</TABLE>
    +&nbsp;
    +<P>
    +<HR>
    +
    +
    +<!-- ======= START OF BOTTOM NAVBAR ====== -->
    +<A NAME="navbar_bottom"><!-- --></A>
    +<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
    +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
    +<TR>
    +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
    +<A NAME="navbar_bottom_firstrow"><!-- --></A>
    +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
    +  <TR ALIGN="center" VALIGN="top">
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../org/jacoco/core/runtime/AgentOptions.OutputMode.html" title="enum in org.jacoco.core.runtime"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
    +  </TR>
    +</TABLE>
    +</TD>
    +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
    +</EM>
    +</TD>
    +</TR>
    +
    +<TR>
    +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
    +&nbsp;PREV&nbsp;
    +&nbsp;NEXT</FONT></TD>
    +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
    +  <A HREF="../../../../../index.html?org/jacoco/core/runtime/class-use/AgentOptions.OutputMode.html" target="_top"><B>FRAMES</B></A>  &nbsp;
    +&nbsp;<A HREF="AgentOptions.OutputMode.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
    +&nbsp;<SCRIPT type="text/javascript">
    +  <!--
    +  if(window==top) {
    +    document.writeln('<A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>');
    +  }
    +  //-->
    +</SCRIPT>
    +<NOSCRIPT>
    +  <A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>
    +</NOSCRIPT>
    +
    +
    +</FONT></TD>
    +</TR>
    +</TABLE>
    +<A NAME="skip-navbar_bottom"></A>
    +<!-- ======== END OF BOTTOM NAVBAR ======= -->
    +
    +<HR>
    +Copyright &#169; 2009&#x2013;2024 Mountainminds GmbH & Co. KG. All rights reserved.
    +</BODY>
    +</HTML>
    diff --git a/jacoco/trunk/doc/api/org/jacoco/core/runtime/class-use/AgentOptions.html b/jacoco/trunk/doc/api/org/jacoco/core/runtime/class-use/AgentOptions.html
    new file mode 100644
    index 00000000000..161481aa06b
    --- /dev/null
    +++ b/jacoco/trunk/doc/api/org/jacoco/core/runtime/class-use/AgentOptions.html
    @@ -0,0 +1,141 @@
    +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
    +<!--NewPage-->
    +<HTML>
    +<HEAD>
    +<!-- Generated by javadoc (build 1.5.0_22) on Wed Mar 27 16:45:42 UTC 2024 -->
    +<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
    +<TITLE>
    +Uses of Class org.jacoco.core.runtime.AgentOptions (JaCoCo 0.8.12.202403270442 API)
    +</TITLE>
    +
    +
    +<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../../stylesheet.css" TITLE="Style">
    +
    +<SCRIPT type="text/javascript">
    +function windowTitle()
    +{
    +    parent.document.title="Uses of Class org.jacoco.core.runtime.AgentOptions (JaCoCo 0.8.12.202403270442 API)";
    +}
    +</SCRIPT>
    +<NOSCRIPT>
    +</NOSCRIPT>
    +
    +</HEAD>
    +
    +<BODY BGCOLOR="white" onload="windowTitle();">
    +
    +
    +<!-- ========= START OF TOP NAVBAR ======= -->
    +<A NAME="navbar_top"><!-- --></A>
    +<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
    +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
    +<TR>
    +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
    +<A NAME="navbar_top_firstrow"><!-- --></A>
    +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
    +  <TR ALIGN="center" VALIGN="top">
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../org/jacoco/core/runtime/AgentOptions.html" title="class in org.jacoco.core.runtime"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
    +  </TR>
    +</TABLE>
    +</TD>
    +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
    +</EM>
    +</TD>
    +</TR>
    +
    +<TR>
    +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
    +&nbsp;PREV&nbsp;
    +&nbsp;NEXT</FONT></TD>
    +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
    +  <A HREF="../../../../../index.html?org/jacoco/core/runtime/class-use/AgentOptions.html" target="_top"><B>FRAMES</B></A>  &nbsp;
    +&nbsp;<A HREF="AgentOptions.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
    +&nbsp;<SCRIPT type="text/javascript">
    +  <!--
    +  if(window==top) {
    +    document.writeln('<A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>');
    +  }
    +  //-->
    +</SCRIPT>
    +<NOSCRIPT>
    +  <A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>
    +</NOSCRIPT>
    +
    +
    +</FONT></TD>
    +</TR>
    +</TABLE>
    +<A NAME="skip-navbar_top"></A>
    +<!-- ========= END OF TOP NAVBAR ========= -->
    +
    +<HR>
    +<CENTER>
    +<H2>
    +<B>Uses of Class<br>org.jacoco.core.runtime.AgentOptions</B></H2>
    +</CENTER>
    +No usage of org.jacoco.core.runtime.AgentOptions
    +<P>
    +<HR>
    +
    +
    +<!-- ======= START OF BOTTOM NAVBAR ====== -->
    +<A NAME="navbar_bottom"><!-- --></A>
    +<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
    +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
    +<TR>
    +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
    +<A NAME="navbar_bottom_firstrow"><!-- --></A>
    +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
    +  <TR ALIGN="center" VALIGN="top">
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../org/jacoco/core/runtime/AgentOptions.html" title="class in org.jacoco.core.runtime"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
    +  </TR>
    +</TABLE>
    +</TD>
    +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
    +</EM>
    +</TD>
    +</TR>
    +
    +<TR>
    +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
    +&nbsp;PREV&nbsp;
    +&nbsp;NEXT</FONT></TD>
    +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
    +  <A HREF="../../../../../index.html?org/jacoco/core/runtime/class-use/AgentOptions.html" target="_top"><B>FRAMES</B></A>  &nbsp;
    +&nbsp;<A HREF="AgentOptions.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
    +&nbsp;<SCRIPT type="text/javascript">
    +  <!--
    +  if(window==top) {
    +    document.writeln('<A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>');
    +  }
    +  //-->
    +</SCRIPT>
    +<NOSCRIPT>
    +  <A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>
    +</NOSCRIPT>
    +
    +
    +</FONT></TD>
    +</TR>
    +</TABLE>
    +<A NAME="skip-navbar_bottom"></A>
    +<!-- ======== END OF BOTTOM NAVBAR ======= -->
    +
    +<HR>
    +Copyright &#169; 2009&#x2013;2024 Mountainminds GmbH & Co. KG. All rights reserved.
    +</BODY>
    +</HTML>
    diff --git a/jacoco/trunk/doc/api/org/jacoco/core/runtime/class-use/IExecutionDataAccessorGenerator.html b/jacoco/trunk/doc/api/org/jacoco/core/runtime/class-use/IExecutionDataAccessorGenerator.html
    new file mode 100644
    index 00000000000..cacdba3c58e
    --- /dev/null
    +++ b/jacoco/trunk/doc/api/org/jacoco/core/runtime/class-use/IExecutionDataAccessorGenerator.html
    @@ -0,0 +1,268 @@
    +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
    +<!--NewPage-->
    +<HTML>
    +<HEAD>
    +<!-- Generated by javadoc (build 1.5.0_22) on Wed Mar 27 16:45:42 UTC 2024 -->
    +<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
    +<TITLE>
    +Uses of Interface org.jacoco.core.runtime.IExecutionDataAccessorGenerator (JaCoCo 0.8.12.202403270442 API)
    +</TITLE>
    +
    +
    +<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../../stylesheet.css" TITLE="Style">
    +
    +<SCRIPT type="text/javascript">
    +function windowTitle()
    +{
    +    parent.document.title="Uses of Interface org.jacoco.core.runtime.IExecutionDataAccessorGenerator (JaCoCo 0.8.12.202403270442 API)";
    +}
    +</SCRIPT>
    +<NOSCRIPT>
    +</NOSCRIPT>
    +
    +</HEAD>
    +
    +<BODY BGCOLOR="white" onload="windowTitle();">
    +
    +
    +<!-- ========= START OF TOP NAVBAR ======= -->
    +<A NAME="navbar_top"><!-- --></A>
    +<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
    +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
    +<TR>
    +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
    +<A NAME="navbar_top_firstrow"><!-- --></A>
    +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
    +  <TR ALIGN="center" VALIGN="top">
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../org/jacoco/core/runtime/IExecutionDataAccessorGenerator.html" title="interface in org.jacoco.core.runtime"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
    +  </TR>
    +</TABLE>
    +</TD>
    +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
    +</EM>
    +</TD>
    +</TR>
    +
    +<TR>
    +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
    +&nbsp;PREV&nbsp;
    +&nbsp;NEXT</FONT></TD>
    +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
    +  <A HREF="../../../../../index.html?org/jacoco/core/runtime/class-use/IExecutionDataAccessorGenerator.html" target="_top"><B>FRAMES</B></A>  &nbsp;
    +&nbsp;<A HREF="IExecutionDataAccessorGenerator.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
    +&nbsp;<SCRIPT type="text/javascript">
    +  <!--
    +  if(window==top) {
    +    document.writeln('<A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>');
    +  }
    +  //-->
    +</SCRIPT>
    +<NOSCRIPT>
    +  <A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>
    +</NOSCRIPT>
    +
    +
    +</FONT></TD>
    +</TR>
    +</TABLE>
    +<A NAME="skip-navbar_top"></A>
    +<!-- ========= END OF TOP NAVBAR ========= -->
    +
    +<HR>
    +<CENTER>
    +<H2>
    +<B>Uses of Interface<br>org.jacoco.core.runtime.IExecutionDataAccessorGenerator</B></H2>
    +</CENTER>
    +
    +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
    +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
    +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
    +Packages that use <A HREF="../../../../../org/jacoco/core/runtime/IExecutionDataAccessorGenerator.html" title="interface in org.jacoco.core.runtime">IExecutionDataAccessorGenerator</A></FONT></TH>
    +</TR>
    +<TR BGCOLOR="white" CLASS="TableRowColor">
    +<TD><A HREF="#org.jacoco.core.instr"><B>org.jacoco.core.instr</B></A></TD>
    +<TD>
    + Instrumentation of Java class files for code coverage.&nbsp;</TD>
    +</TR>
    +<TR BGCOLOR="white" CLASS="TableRowColor">
    +<TD><A HREF="#org.jacoco.core.runtime"><B>org.jacoco.core.runtime</B></A></TD>
    +<TD>Runtime control and execution data collection.&nbsp;</TD>
    +</TR>
    +</TABLE>
    +&nbsp;
    +<P>
    +<A NAME="org.jacoco.core.instr"><!-- --></A>
    +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
    +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
    +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
    +Uses of <A HREF="../../../../../org/jacoco/core/runtime/IExecutionDataAccessorGenerator.html" title="interface in org.jacoco.core.runtime">IExecutionDataAccessorGenerator</A> in <A HREF="../../../../../org/jacoco/core/instr/package-summary.html">org.jacoco.core.instr</A></FONT></TH>
    +</TR>
    +</TABLE>
    +&nbsp;
    +<P>
    +
    +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
    +<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor">
    +<TH ALIGN="left" COLSPAN="2">Constructors in <A HREF="../../../../../org/jacoco/core/instr/package-summary.html">org.jacoco.core.instr</A> with parameters of type <A HREF="../../../../../org/jacoco/core/runtime/IExecutionDataAccessorGenerator.html" title="interface in org.jacoco.core.runtime">IExecutionDataAccessorGenerator</A></FONT></TH>
    +</TR>
    +<TR BGCOLOR="white" CLASS="TableRowColor">
    +<TD><CODE><B><A HREF="../../../../../org/jacoco/core/instr/Instrumenter.html#Instrumenter(org.jacoco.core.runtime.IExecutionDataAccessorGenerator)">Instrumenter</A></B>(<A HREF="../../../../../org/jacoco/core/runtime/IExecutionDataAccessorGenerator.html" title="interface in org.jacoco.core.runtime">IExecutionDataAccessorGenerator</A>&nbsp;runtime)</CODE>
    +
    +<BR>
    +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Creates a new instance based on the given runtime.</TD>
    +</TR>
    +</TABLE>
    +&nbsp;
    +<P>
    +<A NAME="org.jacoco.core.runtime"><!-- --></A>
    +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
    +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
    +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
    +Uses of <A HREF="../../../../../org/jacoco/core/runtime/IExecutionDataAccessorGenerator.html" title="interface in org.jacoco.core.runtime">IExecutionDataAccessorGenerator</A> in <A HREF="../../../../../org/jacoco/core/runtime/package-summary.html">org.jacoco.core.runtime</A></FONT></TH>
    +</TR>
    +</TABLE>
    +&nbsp;
    +<P>
    +
    +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
    +<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor">
    +<TH ALIGN="left" COLSPAN="2">Subinterfaces of <A HREF="../../../../../org/jacoco/core/runtime/IExecutionDataAccessorGenerator.html" title="interface in org.jacoco.core.runtime">IExecutionDataAccessorGenerator</A> in <A HREF="../../../../../org/jacoco/core/runtime/package-summary.html">org.jacoco.core.runtime</A></FONT></TH>
    +</TR>
    +<TR BGCOLOR="white" CLASS="TableRowColor">
    +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
    +<CODE>&nbsp;interface</CODE></FONT></TD>
    +<TD><CODE><B><A HREF="../../../../../org/jacoco/core/runtime/IRuntime.html" title="interface in org.jacoco.core.runtime">IRuntime</A></B></CODE>
    +
    +<BR>
    +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;This interface represents a particular mechanism to collect execution
    + information in the target VM at runtime.</TD>
    +</TR>
    +</TABLE>
    +&nbsp;
    +<P>
    +
    +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
    +<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor">
    +<TH ALIGN="left" COLSPAN="2">Classes in <A HREF="../../../../../org/jacoco/core/runtime/package-summary.html">org.jacoco.core.runtime</A> that implement <A HREF="../../../../../org/jacoco/core/runtime/IExecutionDataAccessorGenerator.html" title="interface in org.jacoco.core.runtime">IExecutionDataAccessorGenerator</A></FONT></TH>
    +</TR>
    +<TR BGCOLOR="white" CLASS="TableRowColor">
    +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
    +<CODE>&nbsp;class</CODE></FONT></TD>
    +<TD><CODE><B><A HREF="../../../../../org/jacoco/core/runtime/AbstractRuntime.html" title="class in org.jacoco.core.runtime">AbstractRuntime</A></B></CODE>
    +
    +<BR>
    +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Base <A HREF="../../../../../org/jacoco/core/runtime/IRuntime.html" title="interface in org.jacoco.core.runtime"><CODE>IRuntime</CODE></A> implementation.</TD>
    +</TR>
    +<TR BGCOLOR="white" CLASS="TableRowColor">
    +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
    +<CODE>&nbsp;class</CODE></FONT></TD>
    +<TD><CODE><B><A HREF="../../../../../org/jacoco/core/runtime/InjectedClassRuntime.html" title="class in org.jacoco.core.runtime">InjectedClassRuntime</A></B></CODE>
    +
    +<BR>
    +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<A HREF="../../../../../org/jacoco/core/runtime/IRuntime.html" title="interface in org.jacoco.core.runtime"><CODE>IRuntime</CODE></A> which defines a new class using
    + <code>java.lang.invoke.MethodHandles.Lookup.defineClass</code> introduced in Java
    + 9.</TD>
    +</TR>
    +<TR BGCOLOR="white" CLASS="TableRowColor">
    +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
    +<CODE>&nbsp;class</CODE></FONT></TD>
    +<TD><CODE><B><A HREF="../../../../../org/jacoco/core/runtime/LoggerRuntime.html" title="class in org.jacoco.core.runtime">LoggerRuntime</A></B></CODE>
    +
    +<BR>
    +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;This <A HREF="../../../../../org/jacoco/core/runtime/IRuntime.html" title="interface in org.jacoco.core.runtime"><CODE>IRuntime</CODE></A> implementation uses the Java logging API to report
    + coverage data.</TD>
    +</TR>
    +<TR BGCOLOR="white" CLASS="TableRowColor">
    +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
    +<CODE>&nbsp;class</CODE></FONT></TD>
    +<TD><CODE><B><A HREF="../../../../../org/jacoco/core/runtime/ModifiedSystemClassRuntime.html" title="class in org.jacoco.core.runtime">ModifiedSystemClassRuntime</A></B></CODE>
    +
    +<BR>
    +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;This <A HREF="../../../../../org/jacoco/core/runtime/IRuntime.html" title="interface in org.jacoco.core.runtime"><CODE>IRuntime</CODE></A> implementation works with a modified system class.</TD>
    +</TR>
    +<TR BGCOLOR="white" CLASS="TableRowColor">
    +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
    +<CODE>&nbsp;class</CODE></FONT></TD>
    +<TD><CODE><B><A HREF="../../../../../org/jacoco/core/runtime/OfflineInstrumentationAccessGenerator.html" title="class in org.jacoco.core.runtime">OfflineInstrumentationAccessGenerator</A></B></CODE>
    +
    +<BR>
    +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;This implementation of <A HREF="../../../../../org/jacoco/core/runtime/IExecutionDataAccessorGenerator.html" title="interface in org.jacoco.core.runtime"><CODE>IExecutionDataAccessorGenerator</CODE></A> generate a
    + direct dependency to the JaCoCo runtime agent to initialize the runtime and
    + obtain probe arrays.</TD>
    +</TR>
    +<TR BGCOLOR="white" CLASS="TableRowColor">
    +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
    +<CODE>&nbsp;class</CODE></FONT></TD>
    +<TD><CODE><B><A HREF="../../../../../org/jacoco/core/runtime/SystemPropertiesRuntime.html" title="class in org.jacoco.core.runtime">SystemPropertiesRuntime</A></B></CODE>
    +
    +<BR>
    +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;This <A HREF="../../../../../org/jacoco/core/runtime/IRuntime.html" title="interface in org.jacoco.core.runtime"><CODE>IRuntime</CODE></A> implementation makes the execution data available
    + through a special entry in the <A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/System.html#getProperties()" title="class or interface in java.lang"><CODE>System.getProperties()</CODE></A> hash table.</TD>
    +</TR>
    +</TABLE>
    +&nbsp;
    +<P>
    +<HR>
    +
    +
    +<!-- ======= START OF BOTTOM NAVBAR ====== -->
    +<A NAME="navbar_bottom"><!-- --></A>
    +<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
    +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
    +<TR>
    +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
    +<A NAME="navbar_bottom_firstrow"><!-- --></A>
    +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
    +  <TR ALIGN="center" VALIGN="top">
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../org/jacoco/core/runtime/IExecutionDataAccessorGenerator.html" title="interface in org.jacoco.core.runtime"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
    +  </TR>
    +</TABLE>
    +</TD>
    +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
    +</EM>
    +</TD>
    +</TR>
    +
    +<TR>
    +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
    +&nbsp;PREV&nbsp;
    +&nbsp;NEXT</FONT></TD>
    +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
    +  <A HREF="../../../../../index.html?org/jacoco/core/runtime/class-use/IExecutionDataAccessorGenerator.html" target="_top"><B>FRAMES</B></A>  &nbsp;
    +&nbsp;<A HREF="IExecutionDataAccessorGenerator.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
    +&nbsp;<SCRIPT type="text/javascript">
    +  <!--
    +  if(window==top) {
    +    document.writeln('<A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>');
    +  }
    +  //-->
    +</SCRIPT>
    +<NOSCRIPT>
    +  <A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>
    +</NOSCRIPT>
    +
    +
    +</FONT></TD>
    +</TR>
    +</TABLE>
    +<A NAME="skip-navbar_bottom"></A>
    +<!-- ======== END OF BOTTOM NAVBAR ======= -->
    +
    +<HR>
    +Copyright &#169; 2009&#x2013;2024 Mountainminds GmbH & Co. KG. All rights reserved.
    +</BODY>
    +</HTML>
    diff --git a/jacoco/trunk/doc/api/org/jacoco/core/runtime/class-use/IRemoteCommandVisitor.html b/jacoco/trunk/doc/api/org/jacoco/core/runtime/class-use/IRemoteCommandVisitor.html
    new file mode 100644
    index 00000000000..94f1f4fc857
    --- /dev/null
    +++ b/jacoco/trunk/doc/api/org/jacoco/core/runtime/class-use/IRemoteCommandVisitor.html
    @@ -0,0 +1,193 @@
    +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
    +<!--NewPage-->
    +<HTML>
    +<HEAD>
    +<!-- Generated by javadoc (build 1.5.0_22) on Wed Mar 27 16:45:42 UTC 2024 -->
    +<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
    +<TITLE>
    +Uses of Interface org.jacoco.core.runtime.IRemoteCommandVisitor (JaCoCo 0.8.12.202403270442 API)
    +</TITLE>
    +
    +
    +<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../../stylesheet.css" TITLE="Style">
    +
    +<SCRIPT type="text/javascript">
    +function windowTitle()
    +{
    +    parent.document.title="Uses of Interface org.jacoco.core.runtime.IRemoteCommandVisitor (JaCoCo 0.8.12.202403270442 API)";
    +}
    +</SCRIPT>
    +<NOSCRIPT>
    +</NOSCRIPT>
    +
    +</HEAD>
    +
    +<BODY BGCOLOR="white" onload="windowTitle();">
    +
    +
    +<!-- ========= START OF TOP NAVBAR ======= -->
    +<A NAME="navbar_top"><!-- --></A>
    +<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
    +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
    +<TR>
    +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
    +<A NAME="navbar_top_firstrow"><!-- --></A>
    +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
    +  <TR ALIGN="center" VALIGN="top">
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../org/jacoco/core/runtime/IRemoteCommandVisitor.html" title="interface in org.jacoco.core.runtime"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
    +  </TR>
    +</TABLE>
    +</TD>
    +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
    +</EM>
    +</TD>
    +</TR>
    +
    +<TR>
    +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
    +&nbsp;PREV&nbsp;
    +&nbsp;NEXT</FONT></TD>
    +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
    +  <A HREF="../../../../../index.html?org/jacoco/core/runtime/class-use/IRemoteCommandVisitor.html" target="_top"><B>FRAMES</B></A>  &nbsp;
    +&nbsp;<A HREF="IRemoteCommandVisitor.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
    +&nbsp;<SCRIPT type="text/javascript">
    +  <!--
    +  if(window==top) {
    +    document.writeln('<A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>');
    +  }
    +  //-->
    +</SCRIPT>
    +<NOSCRIPT>
    +  <A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>
    +</NOSCRIPT>
    +
    +
    +</FONT></TD>
    +</TR>
    +</TABLE>
    +<A NAME="skip-navbar_top"></A>
    +<!-- ========= END OF TOP NAVBAR ========= -->
    +
    +<HR>
    +<CENTER>
    +<H2>
    +<B>Uses of Interface<br>org.jacoco.core.runtime.IRemoteCommandVisitor</B></H2>
    +</CENTER>
    +
    +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
    +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
    +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
    +Packages that use <A HREF="../../../../../org/jacoco/core/runtime/IRemoteCommandVisitor.html" title="interface in org.jacoco.core.runtime">IRemoteCommandVisitor</A></FONT></TH>
    +</TR>
    +<TR BGCOLOR="white" CLASS="TableRowColor">
    +<TD><A HREF="#org.jacoco.core.runtime"><B>org.jacoco.core.runtime</B></A></TD>
    +<TD>Runtime control and execution data collection.&nbsp;</TD>
    +</TR>
    +</TABLE>
    +&nbsp;
    +<P>
    +<A NAME="org.jacoco.core.runtime"><!-- --></A>
    +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
    +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
    +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
    +Uses of <A HREF="../../../../../org/jacoco/core/runtime/IRemoteCommandVisitor.html" title="interface in org.jacoco.core.runtime">IRemoteCommandVisitor</A> in <A HREF="../../../../../org/jacoco/core/runtime/package-summary.html">org.jacoco.core.runtime</A></FONT></TH>
    +</TR>
    +</TABLE>
    +&nbsp;
    +<P>
    +
    +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
    +<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor">
    +<TH ALIGN="left" COLSPAN="2">Classes in <A HREF="../../../../../org/jacoco/core/runtime/package-summary.html">org.jacoco.core.runtime</A> that implement <A HREF="../../../../../org/jacoco/core/runtime/IRemoteCommandVisitor.html" title="interface in org.jacoco.core.runtime">IRemoteCommandVisitor</A></FONT></TH>
    +</TR>
    +<TR BGCOLOR="white" CLASS="TableRowColor">
    +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
    +<CODE>&nbsp;class</CODE></FONT></TD>
    +<TD><CODE><B><A HREF="../../../../../org/jacoco/core/runtime/RemoteControlWriter.html" title="class in org.jacoco.core.runtime">RemoteControlWriter</A></B></CODE>
    +
    +<BR>
    +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<A HREF="../../../../../org/jacoco/core/data/ExecutionDataWriter.html" title="class in org.jacoco.core.data"><CODE>ExecutionDataWriter</CODE></A> with commands added for runtime remote control.</TD>
    +</TR>
    +</TABLE>
    +&nbsp;
    +<P>
    +
    +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
    +<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor">
    +<TH ALIGN="left" COLSPAN="2">Methods in <A HREF="../../../../../org/jacoco/core/runtime/package-summary.html">org.jacoco.core.runtime</A> with parameters of type <A HREF="../../../../../org/jacoco/core/runtime/IRemoteCommandVisitor.html" title="interface in org.jacoco.core.runtime">IRemoteCommandVisitor</A></FONT></TH>
    +</TR>
    +<TR BGCOLOR="white" CLASS="TableRowColor">
    +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
    +<CODE>&nbsp;void</CODE></FONT></TD>
    +<TD><CODE><B>RemoteControlReader.</B><B><A HREF="../../../../../org/jacoco/core/runtime/RemoteControlReader.html#setRemoteCommandVisitor(org.jacoco.core.runtime.IRemoteCommandVisitor)">setRemoteCommandVisitor</A></B>(<A HREF="../../../../../org/jacoco/core/runtime/IRemoteCommandVisitor.html" title="interface in org.jacoco.core.runtime">IRemoteCommandVisitor</A>&nbsp;visitor)</CODE>
    +
    +<BR>
    +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Sets an listener for agent commands.</TD>
    +</TR>
    +</TABLE>
    +&nbsp;
    +<P>
    +<HR>
    +
    +
    +<!-- ======= START OF BOTTOM NAVBAR ====== -->
    +<A NAME="navbar_bottom"><!-- --></A>
    +<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
    +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
    +<TR>
    +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
    +<A NAME="navbar_bottom_firstrow"><!-- --></A>
    +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
    +  <TR ALIGN="center" VALIGN="top">
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../org/jacoco/core/runtime/IRemoteCommandVisitor.html" title="interface in org.jacoco.core.runtime"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
    +  </TR>
    +</TABLE>
    +</TD>
    +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
    +</EM>
    +</TD>
    +</TR>
    +
    +<TR>
    +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
    +&nbsp;PREV&nbsp;
    +&nbsp;NEXT</FONT></TD>
    +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
    +  <A HREF="../../../../../index.html?org/jacoco/core/runtime/class-use/IRemoteCommandVisitor.html" target="_top"><B>FRAMES</B></A>  &nbsp;
    +&nbsp;<A HREF="IRemoteCommandVisitor.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
    +&nbsp;<SCRIPT type="text/javascript">
    +  <!--
    +  if(window==top) {
    +    document.writeln('<A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>');
    +  }
    +  //-->
    +</SCRIPT>
    +<NOSCRIPT>
    +  <A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>
    +</NOSCRIPT>
    +
    +
    +</FONT></TD>
    +</TR>
    +</TABLE>
    +<A NAME="skip-navbar_bottom"></A>
    +<!-- ======== END OF BOTTOM NAVBAR ======= -->
    +
    +<HR>
    +Copyright &#169; 2009&#x2013;2024 Mountainminds GmbH & Co. KG. All rights reserved.
    +</BODY>
    +</HTML>
    diff --git a/jacoco/trunk/doc/api/org/jacoco/core/runtime/class-use/IRuntime.html b/jacoco/trunk/doc/api/org/jacoco/core/runtime/class-use/IRuntime.html
    new file mode 100644
    index 00000000000..f269f064970
    --- /dev/null
    +++ b/jacoco/trunk/doc/api/org/jacoco/core/runtime/class-use/IRuntime.html
    @@ -0,0 +1,242 @@
    +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
    +<!--NewPage-->
    +<HTML>
    +<HEAD>
    +<!-- Generated by javadoc (build 1.5.0_22) on Wed Mar 27 16:45:42 UTC 2024 -->
    +<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
    +<TITLE>
    +Uses of Interface org.jacoco.core.runtime.IRuntime (JaCoCo 0.8.12.202403270442 API)
    +</TITLE>
    +
    +
    +<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../../stylesheet.css" TITLE="Style">
    +
    +<SCRIPT type="text/javascript">
    +function windowTitle()
    +{
    +    parent.document.title="Uses of Interface org.jacoco.core.runtime.IRuntime (JaCoCo 0.8.12.202403270442 API)";
    +}
    +</SCRIPT>
    +<NOSCRIPT>
    +</NOSCRIPT>
    +
    +</HEAD>
    +
    +<BODY BGCOLOR="white" onload="windowTitle();">
    +
    +
    +<!-- ========= START OF TOP NAVBAR ======= -->
    +<A NAME="navbar_top"><!-- --></A>
    +<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
    +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
    +<TR>
    +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
    +<A NAME="navbar_top_firstrow"><!-- --></A>
    +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
    +  <TR ALIGN="center" VALIGN="top">
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../org/jacoco/core/runtime/IRuntime.html" title="interface in org.jacoco.core.runtime"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
    +  </TR>
    +</TABLE>
    +</TD>
    +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
    +</EM>
    +</TD>
    +</TR>
    +
    +<TR>
    +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
    +&nbsp;PREV&nbsp;
    +&nbsp;NEXT</FONT></TD>
    +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
    +  <A HREF="../../../../../index.html?org/jacoco/core/runtime/class-use/IRuntime.html" target="_top"><B>FRAMES</B></A>  &nbsp;
    +&nbsp;<A HREF="IRuntime.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
    +&nbsp;<SCRIPT type="text/javascript">
    +  <!--
    +  if(window==top) {
    +    document.writeln('<A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>');
    +  }
    +  //-->
    +</SCRIPT>
    +<NOSCRIPT>
    +  <A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>
    +</NOSCRIPT>
    +
    +
    +</FONT></TD>
    +</TR>
    +</TABLE>
    +<A NAME="skip-navbar_top"></A>
    +<!-- ========= END OF TOP NAVBAR ========= -->
    +
    +<HR>
    +<CENTER>
    +<H2>
    +<B>Uses of Interface<br>org.jacoco.core.runtime.IRuntime</B></H2>
    +</CENTER>
    +
    +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
    +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
    +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
    +Packages that use <A HREF="../../../../../org/jacoco/core/runtime/IRuntime.html" title="interface in org.jacoco.core.runtime">IRuntime</A></FONT></TH>
    +</TR>
    +<TR BGCOLOR="white" CLASS="TableRowColor">
    +<TD><A HREF="#org.jacoco.core.runtime"><B>org.jacoco.core.runtime</B></A></TD>
    +<TD>Runtime control and execution data collection.&nbsp;</TD>
    +</TR>
    +</TABLE>
    +&nbsp;
    +<P>
    +<A NAME="org.jacoco.core.runtime"><!-- --></A>
    +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
    +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
    +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
    +Uses of <A HREF="../../../../../org/jacoco/core/runtime/IRuntime.html" title="interface in org.jacoco.core.runtime">IRuntime</A> in <A HREF="../../../../../org/jacoco/core/runtime/package-summary.html">org.jacoco.core.runtime</A></FONT></TH>
    +</TR>
    +</TABLE>
    +&nbsp;
    +<P>
    +
    +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
    +<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor">
    +<TH ALIGN="left" COLSPAN="2">Classes in <A HREF="../../../../../org/jacoco/core/runtime/package-summary.html">org.jacoco.core.runtime</A> that implement <A HREF="../../../../../org/jacoco/core/runtime/IRuntime.html" title="interface in org.jacoco.core.runtime">IRuntime</A></FONT></TH>
    +</TR>
    +<TR BGCOLOR="white" CLASS="TableRowColor">
    +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
    +<CODE>&nbsp;class</CODE></FONT></TD>
    +<TD><CODE><B><A HREF="../../../../../org/jacoco/core/runtime/AbstractRuntime.html" title="class in org.jacoco.core.runtime">AbstractRuntime</A></B></CODE>
    +
    +<BR>
    +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Base <A HREF="../../../../../org/jacoco/core/runtime/IRuntime.html" title="interface in org.jacoco.core.runtime"><CODE>IRuntime</CODE></A> implementation.</TD>
    +</TR>
    +<TR BGCOLOR="white" CLASS="TableRowColor">
    +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
    +<CODE>&nbsp;class</CODE></FONT></TD>
    +<TD><CODE><B><A HREF="../../../../../org/jacoco/core/runtime/InjectedClassRuntime.html" title="class in org.jacoco.core.runtime">InjectedClassRuntime</A></B></CODE>
    +
    +<BR>
    +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<A HREF="../../../../../org/jacoco/core/runtime/IRuntime.html" title="interface in org.jacoco.core.runtime"><CODE>IRuntime</CODE></A> which defines a new class using
    + <code>java.lang.invoke.MethodHandles.Lookup.defineClass</code> introduced in Java
    + 9.</TD>
    +</TR>
    +<TR BGCOLOR="white" CLASS="TableRowColor">
    +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
    +<CODE>&nbsp;class</CODE></FONT></TD>
    +<TD><CODE><B><A HREF="../../../../../org/jacoco/core/runtime/LoggerRuntime.html" title="class in org.jacoco.core.runtime">LoggerRuntime</A></B></CODE>
    +
    +<BR>
    +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;This <A HREF="../../../../../org/jacoco/core/runtime/IRuntime.html" title="interface in org.jacoco.core.runtime"><CODE>IRuntime</CODE></A> implementation uses the Java logging API to report
    + coverage data.</TD>
    +</TR>
    +<TR BGCOLOR="white" CLASS="TableRowColor">
    +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
    +<CODE>&nbsp;class</CODE></FONT></TD>
    +<TD><CODE><B><A HREF="../../../../../org/jacoco/core/runtime/ModifiedSystemClassRuntime.html" title="class in org.jacoco.core.runtime">ModifiedSystemClassRuntime</A></B></CODE>
    +
    +<BR>
    +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;This <A HREF="../../../../../org/jacoco/core/runtime/IRuntime.html" title="interface in org.jacoco.core.runtime"><CODE>IRuntime</CODE></A> implementation works with a modified system class.</TD>
    +</TR>
    +<TR BGCOLOR="white" CLASS="TableRowColor">
    +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
    +<CODE>&nbsp;class</CODE></FONT></TD>
    +<TD><CODE><B><A HREF="../../../../../org/jacoco/core/runtime/SystemPropertiesRuntime.html" title="class in org.jacoco.core.runtime">SystemPropertiesRuntime</A></B></CODE>
    +
    +<BR>
    +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;This <A HREF="../../../../../org/jacoco/core/runtime/IRuntime.html" title="interface in org.jacoco.core.runtime"><CODE>IRuntime</CODE></A> implementation makes the execution data available
    + through a special entry in the <A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/System.html#getProperties()" title="class or interface in java.lang"><CODE>System.getProperties()</CODE></A> hash table.</TD>
    +</TR>
    +</TABLE>
    +&nbsp;
    +<P>
    +
    +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
    +<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor">
    +<TH ALIGN="left" COLSPAN="2">Methods in <A HREF="../../../../../org/jacoco/core/runtime/package-summary.html">org.jacoco.core.runtime</A> that return <A HREF="../../../../../org/jacoco/core/runtime/IRuntime.html" title="interface in org.jacoco.core.runtime">IRuntime</A></FONT></TH>
    +</TR>
    +<TR BGCOLOR="white" CLASS="TableRowColor">
    +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
    +<CODE>static&nbsp;<A HREF="../../../../../org/jacoco/core/runtime/IRuntime.html" title="interface in org.jacoco.core.runtime">IRuntime</A></CODE></FONT></TD>
    +<TD><CODE><B>ModifiedSystemClassRuntime.</B><B><A HREF="../../../../../org/jacoco/core/runtime/ModifiedSystemClassRuntime.html#createFor(java.lang.instrument.Instrumentation, java.lang.String)">createFor</A></B>(<A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/instrument/Instrumentation.html" title="class or interface in java.lang.instrument">Instrumentation</A>&nbsp;inst,
    +          <A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A>&nbsp;className)</CODE>
    +
    +<BR>
    +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Creates a new <A HREF="../../../../../org/jacoco/core/runtime/ModifiedSystemClassRuntime.html" title="class in org.jacoco.core.runtime"><CODE>ModifiedSystemClassRuntime</CODE></A> using the given class as
    + the data container.</TD>
    +</TR>
    +<TR BGCOLOR="white" CLASS="TableRowColor">
    +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
    +<CODE>static&nbsp;<A HREF="../../../../../org/jacoco/core/runtime/IRuntime.html" title="interface in org.jacoco.core.runtime">IRuntime</A></CODE></FONT></TD>
    +<TD><CODE><B>ModifiedSystemClassRuntime.</B><B><A HREF="../../../../../org/jacoco/core/runtime/ModifiedSystemClassRuntime.html#createFor(java.lang.instrument.Instrumentation, java.lang.String, java.lang.String)">createFor</A></B>(<A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/instrument/Instrumentation.html" title="class or interface in java.lang.instrument">Instrumentation</A>&nbsp;inst,
    +          <A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A>&nbsp;className,
    +          <A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A>&nbsp;accessFieldName)</CODE>
    +
    +<BR>
    +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Creates a new <A HREF="../../../../../org/jacoco/core/runtime/ModifiedSystemClassRuntime.html" title="class in org.jacoco.core.runtime"><CODE>ModifiedSystemClassRuntime</CODE></A> using the given class as
    + the data container.</TD>
    +</TR>
    +</TABLE>
    +&nbsp;
    +<P>
    +<HR>
    +
    +
    +<!-- ======= START OF BOTTOM NAVBAR ====== -->
    +<A NAME="navbar_bottom"><!-- --></A>
    +<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
    +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
    +<TR>
    +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
    +<A NAME="navbar_bottom_firstrow"><!-- --></A>
    +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
    +  <TR ALIGN="center" VALIGN="top">
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../org/jacoco/core/runtime/IRuntime.html" title="interface in org.jacoco.core.runtime"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
    +  </TR>
    +</TABLE>
    +</TD>
    +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
    +</EM>
    +</TD>
    +</TR>
    +
    +<TR>
    +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
    +&nbsp;PREV&nbsp;
    +&nbsp;NEXT</FONT></TD>
    +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
    +  <A HREF="../../../../../index.html?org/jacoco/core/runtime/class-use/IRuntime.html" target="_top"><B>FRAMES</B></A>  &nbsp;
    +&nbsp;<A HREF="IRuntime.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
    +&nbsp;<SCRIPT type="text/javascript">
    +  <!--
    +  if(window==top) {
    +    document.writeln('<A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>');
    +  }
    +  //-->
    +</SCRIPT>
    +<NOSCRIPT>
    +  <A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>
    +</NOSCRIPT>
    +
    +
    +</FONT></TD>
    +</TR>
    +</TABLE>
    +<A NAME="skip-navbar_bottom"></A>
    +<!-- ======== END OF BOTTOM NAVBAR ======= -->
    +
    +<HR>
    +Copyright &#169; 2009&#x2013;2024 Mountainminds GmbH & Co. KG. All rights reserved.
    +</BODY>
    +</HTML>
    diff --git a/jacoco/trunk/doc/api/org/jacoco/core/runtime/class-use/InjectedClassRuntime.html b/jacoco/trunk/doc/api/org/jacoco/core/runtime/class-use/InjectedClassRuntime.html
    new file mode 100644
    index 00000000000..d9e316fc09b
    --- /dev/null
    +++ b/jacoco/trunk/doc/api/org/jacoco/core/runtime/class-use/InjectedClassRuntime.html
    @@ -0,0 +1,141 @@
    +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
    +<!--NewPage-->
    +<HTML>
    +<HEAD>
    +<!-- Generated by javadoc (build 1.5.0_22) on Wed Mar 27 16:45:42 UTC 2024 -->
    +<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
    +<TITLE>
    +Uses of Class org.jacoco.core.runtime.InjectedClassRuntime (JaCoCo 0.8.12.202403270442 API)
    +</TITLE>
    +
    +
    +<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../../stylesheet.css" TITLE="Style">
    +
    +<SCRIPT type="text/javascript">
    +function windowTitle()
    +{
    +    parent.document.title="Uses of Class org.jacoco.core.runtime.InjectedClassRuntime (JaCoCo 0.8.12.202403270442 API)";
    +}
    +</SCRIPT>
    +<NOSCRIPT>
    +</NOSCRIPT>
    +
    +</HEAD>
    +
    +<BODY BGCOLOR="white" onload="windowTitle();">
    +
    +
    +<!-- ========= START OF TOP NAVBAR ======= -->
    +<A NAME="navbar_top"><!-- --></A>
    +<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
    +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
    +<TR>
    +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
    +<A NAME="navbar_top_firstrow"><!-- --></A>
    +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
    +  <TR ALIGN="center" VALIGN="top">
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../org/jacoco/core/runtime/InjectedClassRuntime.html" title="class in org.jacoco.core.runtime"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
    +  </TR>
    +</TABLE>
    +</TD>
    +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
    +</EM>
    +</TD>
    +</TR>
    +
    +<TR>
    +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
    +&nbsp;PREV&nbsp;
    +&nbsp;NEXT</FONT></TD>
    +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
    +  <A HREF="../../../../../index.html?org/jacoco/core/runtime/class-use/InjectedClassRuntime.html" target="_top"><B>FRAMES</B></A>  &nbsp;
    +&nbsp;<A HREF="InjectedClassRuntime.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
    +&nbsp;<SCRIPT type="text/javascript">
    +  <!--
    +  if(window==top) {
    +    document.writeln('<A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>');
    +  }
    +  //-->
    +</SCRIPT>
    +<NOSCRIPT>
    +  <A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>
    +</NOSCRIPT>
    +
    +
    +</FONT></TD>
    +</TR>
    +</TABLE>
    +<A NAME="skip-navbar_top"></A>
    +<!-- ========= END OF TOP NAVBAR ========= -->
    +
    +<HR>
    +<CENTER>
    +<H2>
    +<B>Uses of Class<br>org.jacoco.core.runtime.InjectedClassRuntime</B></H2>
    +</CENTER>
    +No usage of org.jacoco.core.runtime.InjectedClassRuntime
    +<P>
    +<HR>
    +
    +
    +<!-- ======= START OF BOTTOM NAVBAR ====== -->
    +<A NAME="navbar_bottom"><!-- --></A>
    +<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
    +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
    +<TR>
    +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
    +<A NAME="navbar_bottom_firstrow"><!-- --></A>
    +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
    +  <TR ALIGN="center" VALIGN="top">
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../org/jacoco/core/runtime/InjectedClassRuntime.html" title="class in org.jacoco.core.runtime"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
    +  </TR>
    +</TABLE>
    +</TD>
    +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
    +</EM>
    +</TD>
    +</TR>
    +
    +<TR>
    +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
    +&nbsp;PREV&nbsp;
    +&nbsp;NEXT</FONT></TD>
    +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
    +  <A HREF="../../../../../index.html?org/jacoco/core/runtime/class-use/InjectedClassRuntime.html" target="_top"><B>FRAMES</B></A>  &nbsp;
    +&nbsp;<A HREF="InjectedClassRuntime.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
    +&nbsp;<SCRIPT type="text/javascript">
    +  <!--
    +  if(window==top) {
    +    document.writeln('<A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>');
    +  }
    +  //-->
    +</SCRIPT>
    +<NOSCRIPT>
    +  <A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>
    +</NOSCRIPT>
    +
    +
    +</FONT></TD>
    +</TR>
    +</TABLE>
    +<A NAME="skip-navbar_bottom"></A>
    +<!-- ======== END OF BOTTOM NAVBAR ======= -->
    +
    +<HR>
    +Copyright &#169; 2009&#x2013;2024 Mountainminds GmbH & Co. KG. All rights reserved.
    +</BODY>
    +</HTML>
    diff --git a/jacoco/trunk/doc/api/org/jacoco/core/runtime/class-use/LoggerRuntime.html b/jacoco/trunk/doc/api/org/jacoco/core/runtime/class-use/LoggerRuntime.html
    new file mode 100644
    index 00000000000..ca6ed5bac1b
    --- /dev/null
    +++ b/jacoco/trunk/doc/api/org/jacoco/core/runtime/class-use/LoggerRuntime.html
    @@ -0,0 +1,141 @@
    +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
    +<!--NewPage-->
    +<HTML>
    +<HEAD>
    +<!-- Generated by javadoc (build 1.5.0_22) on Wed Mar 27 16:45:42 UTC 2024 -->
    +<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
    +<TITLE>
    +Uses of Class org.jacoco.core.runtime.LoggerRuntime (JaCoCo 0.8.12.202403270442 API)
    +</TITLE>
    +
    +
    +<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../../stylesheet.css" TITLE="Style">
    +
    +<SCRIPT type="text/javascript">
    +function windowTitle()
    +{
    +    parent.document.title="Uses of Class org.jacoco.core.runtime.LoggerRuntime (JaCoCo 0.8.12.202403270442 API)";
    +}
    +</SCRIPT>
    +<NOSCRIPT>
    +</NOSCRIPT>
    +
    +</HEAD>
    +
    +<BODY BGCOLOR="white" onload="windowTitle();">
    +
    +
    +<!-- ========= START OF TOP NAVBAR ======= -->
    +<A NAME="navbar_top"><!-- --></A>
    +<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
    +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
    +<TR>
    +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
    +<A NAME="navbar_top_firstrow"><!-- --></A>
    +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
    +  <TR ALIGN="center" VALIGN="top">
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../org/jacoco/core/runtime/LoggerRuntime.html" title="class in org.jacoco.core.runtime"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
    +  </TR>
    +</TABLE>
    +</TD>
    +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
    +</EM>
    +</TD>
    +</TR>
    +
    +<TR>
    +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
    +&nbsp;PREV&nbsp;
    +&nbsp;NEXT</FONT></TD>
    +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
    +  <A HREF="../../../../../index.html?org/jacoco/core/runtime/class-use/LoggerRuntime.html" target="_top"><B>FRAMES</B></A>  &nbsp;
    +&nbsp;<A HREF="LoggerRuntime.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
    +&nbsp;<SCRIPT type="text/javascript">
    +  <!--
    +  if(window==top) {
    +    document.writeln('<A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>');
    +  }
    +  //-->
    +</SCRIPT>
    +<NOSCRIPT>
    +  <A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>
    +</NOSCRIPT>
    +
    +
    +</FONT></TD>
    +</TR>
    +</TABLE>
    +<A NAME="skip-navbar_top"></A>
    +<!-- ========= END OF TOP NAVBAR ========= -->
    +
    +<HR>
    +<CENTER>
    +<H2>
    +<B>Uses of Class<br>org.jacoco.core.runtime.LoggerRuntime</B></H2>
    +</CENTER>
    +No usage of org.jacoco.core.runtime.LoggerRuntime
    +<P>
    +<HR>
    +
    +
    +<!-- ======= START OF BOTTOM NAVBAR ====== -->
    +<A NAME="navbar_bottom"><!-- --></A>
    +<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
    +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
    +<TR>
    +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
    +<A NAME="navbar_bottom_firstrow"><!-- --></A>
    +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
    +  <TR ALIGN="center" VALIGN="top">
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../org/jacoco/core/runtime/LoggerRuntime.html" title="class in org.jacoco.core.runtime"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
    +  </TR>
    +</TABLE>
    +</TD>
    +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
    +</EM>
    +</TD>
    +</TR>
    +
    +<TR>
    +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
    +&nbsp;PREV&nbsp;
    +&nbsp;NEXT</FONT></TD>
    +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
    +  <A HREF="../../../../../index.html?org/jacoco/core/runtime/class-use/LoggerRuntime.html" target="_top"><B>FRAMES</B></A>  &nbsp;
    +&nbsp;<A HREF="LoggerRuntime.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
    +&nbsp;<SCRIPT type="text/javascript">
    +  <!--
    +  if(window==top) {
    +    document.writeln('<A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>');
    +  }
    +  //-->
    +</SCRIPT>
    +<NOSCRIPT>
    +  <A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>
    +</NOSCRIPT>
    +
    +
    +</FONT></TD>
    +</TR>
    +</TABLE>
    +<A NAME="skip-navbar_bottom"></A>
    +<!-- ======== END OF BOTTOM NAVBAR ======= -->
    +
    +<HR>
    +Copyright &#169; 2009&#x2013;2024 Mountainminds GmbH & Co. KG. All rights reserved.
    +</BODY>
    +</HTML>
    diff --git a/jacoco/trunk/doc/api/org/jacoco/core/runtime/class-use/ModifiedSystemClassRuntime.html b/jacoco/trunk/doc/api/org/jacoco/core/runtime/class-use/ModifiedSystemClassRuntime.html
    new file mode 100644
    index 00000000000..10fdfa94128
    --- /dev/null
    +++ b/jacoco/trunk/doc/api/org/jacoco/core/runtime/class-use/ModifiedSystemClassRuntime.html
    @@ -0,0 +1,141 @@
    +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
    +<!--NewPage-->
    +<HTML>
    +<HEAD>
    +<!-- Generated by javadoc (build 1.5.0_22) on Wed Mar 27 16:45:42 UTC 2024 -->
    +<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
    +<TITLE>
    +Uses of Class org.jacoco.core.runtime.ModifiedSystemClassRuntime (JaCoCo 0.8.12.202403270442 API)
    +</TITLE>
    +
    +
    +<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../../stylesheet.css" TITLE="Style">
    +
    +<SCRIPT type="text/javascript">
    +function windowTitle()
    +{
    +    parent.document.title="Uses of Class org.jacoco.core.runtime.ModifiedSystemClassRuntime (JaCoCo 0.8.12.202403270442 API)";
    +}
    +</SCRIPT>
    +<NOSCRIPT>
    +</NOSCRIPT>
    +
    +</HEAD>
    +
    +<BODY BGCOLOR="white" onload="windowTitle();">
    +
    +
    +<!-- ========= START OF TOP NAVBAR ======= -->
    +<A NAME="navbar_top"><!-- --></A>
    +<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
    +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
    +<TR>
    +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
    +<A NAME="navbar_top_firstrow"><!-- --></A>
    +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
    +  <TR ALIGN="center" VALIGN="top">
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../org/jacoco/core/runtime/ModifiedSystemClassRuntime.html" title="class in org.jacoco.core.runtime"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
    +  </TR>
    +</TABLE>
    +</TD>
    +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
    +</EM>
    +</TD>
    +</TR>
    +
    +<TR>
    +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
    +&nbsp;PREV&nbsp;
    +&nbsp;NEXT</FONT></TD>
    +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
    +  <A HREF="../../../../../index.html?org/jacoco/core/runtime/class-use/ModifiedSystemClassRuntime.html" target="_top"><B>FRAMES</B></A>  &nbsp;
    +&nbsp;<A HREF="ModifiedSystemClassRuntime.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
    +&nbsp;<SCRIPT type="text/javascript">
    +  <!--
    +  if(window==top) {
    +    document.writeln('<A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>');
    +  }
    +  //-->
    +</SCRIPT>
    +<NOSCRIPT>
    +  <A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>
    +</NOSCRIPT>
    +
    +
    +</FONT></TD>
    +</TR>
    +</TABLE>
    +<A NAME="skip-navbar_top"></A>
    +<!-- ========= END OF TOP NAVBAR ========= -->
    +
    +<HR>
    +<CENTER>
    +<H2>
    +<B>Uses of Class<br>org.jacoco.core.runtime.ModifiedSystemClassRuntime</B></H2>
    +</CENTER>
    +No usage of org.jacoco.core.runtime.ModifiedSystemClassRuntime
    +<P>
    +<HR>
    +
    +
    +<!-- ======= START OF BOTTOM NAVBAR ====== -->
    +<A NAME="navbar_bottom"><!-- --></A>
    +<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
    +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
    +<TR>
    +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
    +<A NAME="navbar_bottom_firstrow"><!-- --></A>
    +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
    +  <TR ALIGN="center" VALIGN="top">
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../org/jacoco/core/runtime/ModifiedSystemClassRuntime.html" title="class in org.jacoco.core.runtime"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
    +  </TR>
    +</TABLE>
    +</TD>
    +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
    +</EM>
    +</TD>
    +</TR>
    +
    +<TR>
    +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
    +&nbsp;PREV&nbsp;
    +&nbsp;NEXT</FONT></TD>
    +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
    +  <A HREF="../../../../../index.html?org/jacoco/core/runtime/class-use/ModifiedSystemClassRuntime.html" target="_top"><B>FRAMES</B></A>  &nbsp;
    +&nbsp;<A HREF="ModifiedSystemClassRuntime.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
    +&nbsp;<SCRIPT type="text/javascript">
    +  <!--
    +  if(window==top) {
    +    document.writeln('<A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>');
    +  }
    +  //-->
    +</SCRIPT>
    +<NOSCRIPT>
    +  <A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>
    +</NOSCRIPT>
    +
    +
    +</FONT></TD>
    +</TR>
    +</TABLE>
    +<A NAME="skip-navbar_bottom"></A>
    +<!-- ======== END OF BOTTOM NAVBAR ======= -->
    +
    +<HR>
    +Copyright &#169; 2009&#x2013;2024 Mountainminds GmbH & Co. KG. All rights reserved.
    +</BODY>
    +</HTML>
    diff --git a/jacoco/trunk/doc/api/org/jacoco/core/runtime/class-use/OfflineInstrumentationAccessGenerator.html b/jacoco/trunk/doc/api/org/jacoco/core/runtime/class-use/OfflineInstrumentationAccessGenerator.html
    new file mode 100644
    index 00000000000..f4ca896b8e0
    --- /dev/null
    +++ b/jacoco/trunk/doc/api/org/jacoco/core/runtime/class-use/OfflineInstrumentationAccessGenerator.html
    @@ -0,0 +1,141 @@
    +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
    +<!--NewPage-->
    +<HTML>
    +<HEAD>
    +<!-- Generated by javadoc (build 1.5.0_22) on Wed Mar 27 16:45:42 UTC 2024 -->
    +<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
    +<TITLE>
    +Uses of Class org.jacoco.core.runtime.OfflineInstrumentationAccessGenerator (JaCoCo 0.8.12.202403270442 API)
    +</TITLE>
    +
    +
    +<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../../stylesheet.css" TITLE="Style">
    +
    +<SCRIPT type="text/javascript">
    +function windowTitle()
    +{
    +    parent.document.title="Uses of Class org.jacoco.core.runtime.OfflineInstrumentationAccessGenerator (JaCoCo 0.8.12.202403270442 API)";
    +}
    +</SCRIPT>
    +<NOSCRIPT>
    +</NOSCRIPT>
    +
    +</HEAD>
    +
    +<BODY BGCOLOR="white" onload="windowTitle();">
    +
    +
    +<!-- ========= START OF TOP NAVBAR ======= -->
    +<A NAME="navbar_top"><!-- --></A>
    +<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
    +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
    +<TR>
    +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
    +<A NAME="navbar_top_firstrow"><!-- --></A>
    +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
    +  <TR ALIGN="center" VALIGN="top">
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../org/jacoco/core/runtime/OfflineInstrumentationAccessGenerator.html" title="class in org.jacoco.core.runtime"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
    +  </TR>
    +</TABLE>
    +</TD>
    +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
    +</EM>
    +</TD>
    +</TR>
    +
    +<TR>
    +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
    +&nbsp;PREV&nbsp;
    +&nbsp;NEXT</FONT></TD>
    +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
    +  <A HREF="../../../../../index.html?org/jacoco/core/runtime/class-use/OfflineInstrumentationAccessGenerator.html" target="_top"><B>FRAMES</B></A>  &nbsp;
    +&nbsp;<A HREF="OfflineInstrumentationAccessGenerator.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
    +&nbsp;<SCRIPT type="text/javascript">
    +  <!--
    +  if(window==top) {
    +    document.writeln('<A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>');
    +  }
    +  //-->
    +</SCRIPT>
    +<NOSCRIPT>
    +  <A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>
    +</NOSCRIPT>
    +
    +
    +</FONT></TD>
    +</TR>
    +</TABLE>
    +<A NAME="skip-navbar_top"></A>
    +<!-- ========= END OF TOP NAVBAR ========= -->
    +
    +<HR>
    +<CENTER>
    +<H2>
    +<B>Uses of Class<br>org.jacoco.core.runtime.OfflineInstrumentationAccessGenerator</B></H2>
    +</CENTER>
    +No usage of org.jacoco.core.runtime.OfflineInstrumentationAccessGenerator
    +<P>
    +<HR>
    +
    +
    +<!-- ======= START OF BOTTOM NAVBAR ====== -->
    +<A NAME="navbar_bottom"><!-- --></A>
    +<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
    +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
    +<TR>
    +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
    +<A NAME="navbar_bottom_firstrow"><!-- --></A>
    +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
    +  <TR ALIGN="center" VALIGN="top">
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../org/jacoco/core/runtime/OfflineInstrumentationAccessGenerator.html" title="class in org.jacoco.core.runtime"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
    +  </TR>
    +</TABLE>
    +</TD>
    +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
    +</EM>
    +</TD>
    +</TR>
    +
    +<TR>
    +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
    +&nbsp;PREV&nbsp;
    +&nbsp;NEXT</FONT></TD>
    +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
    +  <A HREF="../../../../../index.html?org/jacoco/core/runtime/class-use/OfflineInstrumentationAccessGenerator.html" target="_top"><B>FRAMES</B></A>  &nbsp;
    +&nbsp;<A HREF="OfflineInstrumentationAccessGenerator.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
    +&nbsp;<SCRIPT type="text/javascript">
    +  <!--
    +  if(window==top) {
    +    document.writeln('<A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>');
    +  }
    +  //-->
    +</SCRIPT>
    +<NOSCRIPT>
    +  <A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>
    +</NOSCRIPT>
    +
    +
    +</FONT></TD>
    +</TR>
    +</TABLE>
    +<A NAME="skip-navbar_bottom"></A>
    +<!-- ======== END OF BOTTOM NAVBAR ======= -->
    +
    +<HR>
    +Copyright &#169; 2009&#x2013;2024 Mountainminds GmbH & Co. KG. All rights reserved.
    +</BODY>
    +</HTML>
    diff --git a/jacoco/trunk/doc/api/org/jacoco/core/runtime/class-use/RemoteControlReader.html b/jacoco/trunk/doc/api/org/jacoco/core/runtime/class-use/RemoteControlReader.html
    new file mode 100644
    index 00000000000..08497a0e047
    --- /dev/null
    +++ b/jacoco/trunk/doc/api/org/jacoco/core/runtime/class-use/RemoteControlReader.html
    @@ -0,0 +1,141 @@
    +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
    +<!--NewPage-->
    +<HTML>
    +<HEAD>
    +<!-- Generated by javadoc (build 1.5.0_22) on Wed Mar 27 16:45:42 UTC 2024 -->
    +<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
    +<TITLE>
    +Uses of Class org.jacoco.core.runtime.RemoteControlReader (JaCoCo 0.8.12.202403270442 API)
    +</TITLE>
    +
    +
    +<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../../stylesheet.css" TITLE="Style">
    +
    +<SCRIPT type="text/javascript">
    +function windowTitle()
    +{
    +    parent.document.title="Uses of Class org.jacoco.core.runtime.RemoteControlReader (JaCoCo 0.8.12.202403270442 API)";
    +}
    +</SCRIPT>
    +<NOSCRIPT>
    +</NOSCRIPT>
    +
    +</HEAD>
    +
    +<BODY BGCOLOR="white" onload="windowTitle();">
    +
    +
    +<!-- ========= START OF TOP NAVBAR ======= -->
    +<A NAME="navbar_top"><!-- --></A>
    +<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
    +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
    +<TR>
    +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
    +<A NAME="navbar_top_firstrow"><!-- --></A>
    +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
    +  <TR ALIGN="center" VALIGN="top">
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../org/jacoco/core/runtime/RemoteControlReader.html" title="class in org.jacoco.core.runtime"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
    +  </TR>
    +</TABLE>
    +</TD>
    +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
    +</EM>
    +</TD>
    +</TR>
    +
    +<TR>
    +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
    +&nbsp;PREV&nbsp;
    +&nbsp;NEXT</FONT></TD>
    +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
    +  <A HREF="../../../../../index.html?org/jacoco/core/runtime/class-use/RemoteControlReader.html" target="_top"><B>FRAMES</B></A>  &nbsp;
    +&nbsp;<A HREF="RemoteControlReader.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
    +&nbsp;<SCRIPT type="text/javascript">
    +  <!--
    +  if(window==top) {
    +    document.writeln('<A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>');
    +  }
    +  //-->
    +</SCRIPT>
    +<NOSCRIPT>
    +  <A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>
    +</NOSCRIPT>
    +
    +
    +</FONT></TD>
    +</TR>
    +</TABLE>
    +<A NAME="skip-navbar_top"></A>
    +<!-- ========= END OF TOP NAVBAR ========= -->
    +
    +<HR>
    +<CENTER>
    +<H2>
    +<B>Uses of Class<br>org.jacoco.core.runtime.RemoteControlReader</B></H2>
    +</CENTER>
    +No usage of org.jacoco.core.runtime.RemoteControlReader
    +<P>
    +<HR>
    +
    +
    +<!-- ======= START OF BOTTOM NAVBAR ====== -->
    +<A NAME="navbar_bottom"><!-- --></A>
    +<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
    +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
    +<TR>
    +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
    +<A NAME="navbar_bottom_firstrow"><!-- --></A>
    +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
    +  <TR ALIGN="center" VALIGN="top">
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../org/jacoco/core/runtime/RemoteControlReader.html" title="class in org.jacoco.core.runtime"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
    +  </TR>
    +</TABLE>
    +</TD>
    +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
    +</EM>
    +</TD>
    +</TR>
    +
    +<TR>
    +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
    +&nbsp;PREV&nbsp;
    +&nbsp;NEXT</FONT></TD>
    +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
    +  <A HREF="../../../../../index.html?org/jacoco/core/runtime/class-use/RemoteControlReader.html" target="_top"><B>FRAMES</B></A>  &nbsp;
    +&nbsp;<A HREF="RemoteControlReader.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
    +&nbsp;<SCRIPT type="text/javascript">
    +  <!--
    +  if(window==top) {
    +    document.writeln('<A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>');
    +  }
    +  //-->
    +</SCRIPT>
    +<NOSCRIPT>
    +  <A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>
    +</NOSCRIPT>
    +
    +
    +</FONT></TD>
    +</TR>
    +</TABLE>
    +<A NAME="skip-navbar_bottom"></A>
    +<!-- ======== END OF BOTTOM NAVBAR ======= -->
    +
    +<HR>
    +Copyright &#169; 2009&#x2013;2024 Mountainminds GmbH & Co. KG. All rights reserved.
    +</BODY>
    +</HTML>
    diff --git a/jacoco/trunk/doc/api/org/jacoco/core/runtime/class-use/RemoteControlWriter.html b/jacoco/trunk/doc/api/org/jacoco/core/runtime/class-use/RemoteControlWriter.html
    new file mode 100644
    index 00000000000..ef28613faf3
    --- /dev/null
    +++ b/jacoco/trunk/doc/api/org/jacoco/core/runtime/class-use/RemoteControlWriter.html
    @@ -0,0 +1,141 @@
    +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
    +<!--NewPage-->
    +<HTML>
    +<HEAD>
    +<!-- Generated by javadoc (build 1.5.0_22) on Wed Mar 27 16:45:42 UTC 2024 -->
    +<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
    +<TITLE>
    +Uses of Class org.jacoco.core.runtime.RemoteControlWriter (JaCoCo 0.8.12.202403270442 API)
    +</TITLE>
    +
    +
    +<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../../stylesheet.css" TITLE="Style">
    +
    +<SCRIPT type="text/javascript">
    +function windowTitle()
    +{
    +    parent.document.title="Uses of Class org.jacoco.core.runtime.RemoteControlWriter (JaCoCo 0.8.12.202403270442 API)";
    +}
    +</SCRIPT>
    +<NOSCRIPT>
    +</NOSCRIPT>
    +
    +</HEAD>
    +
    +<BODY BGCOLOR="white" onload="windowTitle();">
    +
    +
    +<!-- ========= START OF TOP NAVBAR ======= -->
    +<A NAME="navbar_top"><!-- --></A>
    +<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
    +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
    +<TR>
    +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
    +<A NAME="navbar_top_firstrow"><!-- --></A>
    +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
    +  <TR ALIGN="center" VALIGN="top">
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../org/jacoco/core/runtime/RemoteControlWriter.html" title="class in org.jacoco.core.runtime"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
    +  </TR>
    +</TABLE>
    +</TD>
    +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
    +</EM>
    +</TD>
    +</TR>
    +
    +<TR>
    +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
    +&nbsp;PREV&nbsp;
    +&nbsp;NEXT</FONT></TD>
    +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
    +  <A HREF="../../../../../index.html?org/jacoco/core/runtime/class-use/RemoteControlWriter.html" target="_top"><B>FRAMES</B></A>  &nbsp;
    +&nbsp;<A HREF="RemoteControlWriter.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
    +&nbsp;<SCRIPT type="text/javascript">
    +  <!--
    +  if(window==top) {
    +    document.writeln('<A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>');
    +  }
    +  //-->
    +</SCRIPT>
    +<NOSCRIPT>
    +  <A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>
    +</NOSCRIPT>
    +
    +
    +</FONT></TD>
    +</TR>
    +</TABLE>
    +<A NAME="skip-navbar_top"></A>
    +<!-- ========= END OF TOP NAVBAR ========= -->
    +
    +<HR>
    +<CENTER>
    +<H2>
    +<B>Uses of Class<br>org.jacoco.core.runtime.RemoteControlWriter</B></H2>
    +</CENTER>
    +No usage of org.jacoco.core.runtime.RemoteControlWriter
    +<P>
    +<HR>
    +
    +
    +<!-- ======= START OF BOTTOM NAVBAR ====== -->
    +<A NAME="navbar_bottom"><!-- --></A>
    +<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
    +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
    +<TR>
    +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
    +<A NAME="navbar_bottom_firstrow"><!-- --></A>
    +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
    +  <TR ALIGN="center" VALIGN="top">
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../org/jacoco/core/runtime/RemoteControlWriter.html" title="class in org.jacoco.core.runtime"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
    +  </TR>
    +</TABLE>
    +</TD>
    +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
    +</EM>
    +</TD>
    +</TR>
    +
    +<TR>
    +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
    +&nbsp;PREV&nbsp;
    +&nbsp;NEXT</FONT></TD>
    +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
    +  <A HREF="../../../../../index.html?org/jacoco/core/runtime/class-use/RemoteControlWriter.html" target="_top"><B>FRAMES</B></A>  &nbsp;
    +&nbsp;<A HREF="RemoteControlWriter.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
    +&nbsp;<SCRIPT type="text/javascript">
    +  <!--
    +  if(window==top) {
    +    document.writeln('<A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>');
    +  }
    +  //-->
    +</SCRIPT>
    +<NOSCRIPT>
    +  <A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>
    +</NOSCRIPT>
    +
    +
    +</FONT></TD>
    +</TR>
    +</TABLE>
    +<A NAME="skip-navbar_bottom"></A>
    +<!-- ======== END OF BOTTOM NAVBAR ======= -->
    +
    +<HR>
    +Copyright &#169; 2009&#x2013;2024 Mountainminds GmbH & Co. KG. All rights reserved.
    +</BODY>
    +</HTML>
    diff --git a/jacoco/trunk/doc/api/org/jacoco/core/runtime/class-use/RuntimeData.html b/jacoco/trunk/doc/api/org/jacoco/core/runtime/class-use/RuntimeData.html
    new file mode 100644
    index 00000000000..5dd6aca990d
    --- /dev/null
    +++ b/jacoco/trunk/doc/api/org/jacoco/core/runtime/class-use/RuntimeData.html
    @@ -0,0 +1,233 @@
    +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
    +<!--NewPage-->
    +<HTML>
    +<HEAD>
    +<!-- Generated by javadoc (build 1.5.0_22) on Wed Mar 27 16:45:42 UTC 2024 -->
    +<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
    +<TITLE>
    +Uses of Class org.jacoco.core.runtime.RuntimeData (JaCoCo 0.8.12.202403270442 API)
    +</TITLE>
    +
    +
    +<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../../stylesheet.css" TITLE="Style">
    +
    +<SCRIPT type="text/javascript">
    +function windowTitle()
    +{
    +    parent.document.title="Uses of Class org.jacoco.core.runtime.RuntimeData (JaCoCo 0.8.12.202403270442 API)";
    +}
    +</SCRIPT>
    +<NOSCRIPT>
    +</NOSCRIPT>
    +
    +</HEAD>
    +
    +<BODY BGCOLOR="white" onload="windowTitle();">
    +
    +
    +<!-- ========= START OF TOP NAVBAR ======= -->
    +<A NAME="navbar_top"><!-- --></A>
    +<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
    +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
    +<TR>
    +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
    +<A NAME="navbar_top_firstrow"><!-- --></A>
    +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
    +  <TR ALIGN="center" VALIGN="top">
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../org/jacoco/core/runtime/RuntimeData.html" title="class in org.jacoco.core.runtime"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
    +  </TR>
    +</TABLE>
    +</TD>
    +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
    +</EM>
    +</TD>
    +</TR>
    +
    +<TR>
    +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
    +&nbsp;PREV&nbsp;
    +&nbsp;NEXT</FONT></TD>
    +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
    +  <A HREF="../../../../../index.html?org/jacoco/core/runtime/class-use/RuntimeData.html" target="_top"><B>FRAMES</B></A>  &nbsp;
    +&nbsp;<A HREF="RuntimeData.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
    +&nbsp;<SCRIPT type="text/javascript">
    +  <!--
    +  if(window==top) {
    +    document.writeln('<A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>');
    +  }
    +  //-->
    +</SCRIPT>
    +<NOSCRIPT>
    +  <A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>
    +</NOSCRIPT>
    +
    +
    +</FONT></TD>
    +</TR>
    +</TABLE>
    +<A NAME="skip-navbar_top"></A>
    +<!-- ========= END OF TOP NAVBAR ========= -->
    +
    +<HR>
    +<CENTER>
    +<H2>
    +<B>Uses of Class<br>org.jacoco.core.runtime.RuntimeData</B></H2>
    +</CENTER>
    +
    +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
    +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
    +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
    +Packages that use <A HREF="../../../../../org/jacoco/core/runtime/RuntimeData.html" title="class in org.jacoco.core.runtime">RuntimeData</A></FONT></TH>
    +</TR>
    +<TR BGCOLOR="white" CLASS="TableRowColor">
    +<TD><A HREF="#org.jacoco.core.runtime"><B>org.jacoco.core.runtime</B></A></TD>
    +<TD>Runtime control and execution data collection.&nbsp;</TD>
    +</TR>
    +</TABLE>
    +&nbsp;
    +<P>
    +<A NAME="org.jacoco.core.runtime"><!-- --></A>
    +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
    +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
    +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
    +Uses of <A HREF="../../../../../org/jacoco/core/runtime/RuntimeData.html" title="class in org.jacoco.core.runtime">RuntimeData</A> in <A HREF="../../../../../org/jacoco/core/runtime/package-summary.html">org.jacoco.core.runtime</A></FONT></TH>
    +</TR>
    +</TABLE>
    +&nbsp;
    +<P>
    +
    +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
    +<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor">
    +<TH ALIGN="left" COLSPAN="2">Fields in <A HREF="../../../../../org/jacoco/core/runtime/package-summary.html">org.jacoco.core.runtime</A> declared as <A HREF="../../../../../org/jacoco/core/runtime/RuntimeData.html" title="class in org.jacoco.core.runtime">RuntimeData</A></FONT></TH>
    +</TR>
    +<TR BGCOLOR="white" CLASS="TableRowColor">
    +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
    +<CODE>protected &nbsp;<A HREF="../../../../../org/jacoco/core/runtime/RuntimeData.html" title="class in org.jacoco.core.runtime">RuntimeData</A></CODE></FONT></TD>
    +<TD><CODE><B>AbstractRuntime.</B><B><A HREF="../../../../../org/jacoco/core/runtime/AbstractRuntime.html#data">data</A></B></CODE>
    +
    +<BR>
    +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;access to the runtime data</TD>
    +</TR>
    +</TABLE>
    +&nbsp;
    +<P>
    +
    +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
    +<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor">
    +<TH ALIGN="left" COLSPAN="2">Methods in <A HREF="../../../../../org/jacoco/core/runtime/package-summary.html">org.jacoco.core.runtime</A> with parameters of type <A HREF="../../../../../org/jacoco/core/runtime/RuntimeData.html" title="class in org.jacoco.core.runtime">RuntimeData</A></FONT></TH>
    +</TR>
    +<TR BGCOLOR="white" CLASS="TableRowColor">
    +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
    +<CODE>&nbsp;void</CODE></FONT></TD>
    +<TD><CODE><B>LoggerRuntime.</B><B><A HREF="../../../../../org/jacoco/core/runtime/LoggerRuntime.html#startup(org.jacoco.core.runtime.RuntimeData)">startup</A></B>(<A HREF="../../../../../org/jacoco/core/runtime/RuntimeData.html" title="class in org.jacoco.core.runtime">RuntimeData</A>&nbsp;data)</CODE>
    +
    +<BR>
    +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
    +</TR>
    +<TR BGCOLOR="white" CLASS="TableRowColor">
    +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
    +<CODE>&nbsp;void</CODE></FONT></TD>
    +<TD><CODE><B>ModifiedSystemClassRuntime.</B><B><A HREF="../../../../../org/jacoco/core/runtime/ModifiedSystemClassRuntime.html#startup(org.jacoco.core.runtime.RuntimeData)">startup</A></B>(<A HREF="../../../../../org/jacoco/core/runtime/RuntimeData.html" title="class in org.jacoco.core.runtime">RuntimeData</A>&nbsp;data)</CODE>
    +
    +<BR>
    +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
    +</TR>
    +<TR BGCOLOR="white" CLASS="TableRowColor">
    +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
    +<CODE>&nbsp;void</CODE></FONT></TD>
    +<TD><CODE><B>InjectedClassRuntime.</B><B><A HREF="../../../../../org/jacoco/core/runtime/InjectedClassRuntime.html#startup(org.jacoco.core.runtime.RuntimeData)">startup</A></B>(<A HREF="../../../../../org/jacoco/core/runtime/RuntimeData.html" title="class in org.jacoco.core.runtime">RuntimeData</A>&nbsp;data)</CODE>
    +
    +<BR>
    +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
    +</TR>
    +<TR BGCOLOR="white" CLASS="TableRowColor">
    +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
    +<CODE>&nbsp;void</CODE></FONT></TD>
    +<TD><CODE><B>SystemPropertiesRuntime.</B><B><A HREF="../../../../../org/jacoco/core/runtime/SystemPropertiesRuntime.html#startup(org.jacoco.core.runtime.RuntimeData)">startup</A></B>(<A HREF="../../../../../org/jacoco/core/runtime/RuntimeData.html" title="class in org.jacoco.core.runtime">RuntimeData</A>&nbsp;data)</CODE>
    +
    +<BR>
    +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
    +</TR>
    +<TR BGCOLOR="white" CLASS="TableRowColor">
    +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
    +<CODE>&nbsp;void</CODE></FONT></TD>
    +<TD><CODE><B>IRuntime.</B><B><A HREF="../../../../../org/jacoco/core/runtime/IRuntime.html#startup(org.jacoco.core.runtime.RuntimeData)">startup</A></B>(<A HREF="../../../../../org/jacoco/core/runtime/RuntimeData.html" title="class in org.jacoco.core.runtime">RuntimeData</A>&nbsp;data)</CODE>
    +
    +<BR>
    +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Starts the coverage runtime.</TD>
    +</TR>
    +<TR BGCOLOR="white" CLASS="TableRowColor">
    +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
    +<CODE>&nbsp;void</CODE></FONT></TD>
    +<TD><CODE><B>AbstractRuntime.</B><B><A HREF="../../../../../org/jacoco/core/runtime/AbstractRuntime.html#startup(org.jacoco.core.runtime.RuntimeData)">startup</A></B>(<A HREF="../../../../../org/jacoco/core/runtime/RuntimeData.html" title="class in org.jacoco.core.runtime">RuntimeData</A>&nbsp;data)</CODE>
    +
    +<BR>
    +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Subclasses must call this method when overwriting it.</TD>
    +</TR>
    +</TABLE>
    +&nbsp;
    +<P>
    +<HR>
    +
    +
    +<!-- ======= START OF BOTTOM NAVBAR ====== -->
    +<A NAME="navbar_bottom"><!-- --></A>
    +<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
    +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
    +<TR>
    +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
    +<A NAME="navbar_bottom_firstrow"><!-- --></A>
    +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
    +  <TR ALIGN="center" VALIGN="top">
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../org/jacoco/core/runtime/RuntimeData.html" title="class in org.jacoco.core.runtime"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
    +  </TR>
    +</TABLE>
    +</TD>
    +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
    +</EM>
    +</TD>
    +</TR>
    +
    +<TR>
    +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
    +&nbsp;PREV&nbsp;
    +&nbsp;NEXT</FONT></TD>
    +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
    +  <A HREF="../../../../../index.html?org/jacoco/core/runtime/class-use/RuntimeData.html" target="_top"><B>FRAMES</B></A>  &nbsp;
    +&nbsp;<A HREF="RuntimeData.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
    +&nbsp;<SCRIPT type="text/javascript">
    +  <!--
    +  if(window==top) {
    +    document.writeln('<A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>');
    +  }
    +  //-->
    +</SCRIPT>
    +<NOSCRIPT>
    +  <A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>
    +</NOSCRIPT>
    +
    +
    +</FONT></TD>
    +</TR>
    +</TABLE>
    +<A NAME="skip-navbar_bottom"></A>
    +<!-- ======== END OF BOTTOM NAVBAR ======= -->
    +
    +<HR>
    +Copyright &#169; 2009&#x2013;2024 Mountainminds GmbH & Co. KG. All rights reserved.
    +</BODY>
    +</HTML>
    diff --git a/jacoco/trunk/doc/api/org/jacoco/core/runtime/class-use/SystemPropertiesRuntime.html b/jacoco/trunk/doc/api/org/jacoco/core/runtime/class-use/SystemPropertiesRuntime.html
    new file mode 100644
    index 00000000000..f37a5b95720
    --- /dev/null
    +++ b/jacoco/trunk/doc/api/org/jacoco/core/runtime/class-use/SystemPropertiesRuntime.html
    @@ -0,0 +1,141 @@
    +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
    +<!--NewPage-->
    +<HTML>
    +<HEAD>
    +<!-- Generated by javadoc (build 1.5.0_22) on Wed Mar 27 16:45:42 UTC 2024 -->
    +<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
    +<TITLE>
    +Uses of Class org.jacoco.core.runtime.SystemPropertiesRuntime (JaCoCo 0.8.12.202403270442 API)
    +</TITLE>
    +
    +
    +<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../../stylesheet.css" TITLE="Style">
    +
    +<SCRIPT type="text/javascript">
    +function windowTitle()
    +{
    +    parent.document.title="Uses of Class org.jacoco.core.runtime.SystemPropertiesRuntime (JaCoCo 0.8.12.202403270442 API)";
    +}
    +</SCRIPT>
    +<NOSCRIPT>
    +</NOSCRIPT>
    +
    +</HEAD>
    +
    +<BODY BGCOLOR="white" onload="windowTitle();">
    +
    +
    +<!-- ========= START OF TOP NAVBAR ======= -->
    +<A NAME="navbar_top"><!-- --></A>
    +<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
    +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
    +<TR>
    +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
    +<A NAME="navbar_top_firstrow"><!-- --></A>
    +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
    +  <TR ALIGN="center" VALIGN="top">
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../org/jacoco/core/runtime/SystemPropertiesRuntime.html" title="class in org.jacoco.core.runtime"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
    +  </TR>
    +</TABLE>
    +</TD>
    +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
    +</EM>
    +</TD>
    +</TR>
    +
    +<TR>
    +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
    +&nbsp;PREV&nbsp;
    +&nbsp;NEXT</FONT></TD>
    +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
    +  <A HREF="../../../../../index.html?org/jacoco/core/runtime/class-use/SystemPropertiesRuntime.html" target="_top"><B>FRAMES</B></A>  &nbsp;
    +&nbsp;<A HREF="SystemPropertiesRuntime.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
    +&nbsp;<SCRIPT type="text/javascript">
    +  <!--
    +  if(window==top) {
    +    document.writeln('<A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>');
    +  }
    +  //-->
    +</SCRIPT>
    +<NOSCRIPT>
    +  <A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>
    +</NOSCRIPT>
    +
    +
    +</FONT></TD>
    +</TR>
    +</TABLE>
    +<A NAME="skip-navbar_top"></A>
    +<!-- ========= END OF TOP NAVBAR ========= -->
    +
    +<HR>
    +<CENTER>
    +<H2>
    +<B>Uses of Class<br>org.jacoco.core.runtime.SystemPropertiesRuntime</B></H2>
    +</CENTER>
    +No usage of org.jacoco.core.runtime.SystemPropertiesRuntime
    +<P>
    +<HR>
    +
    +
    +<!-- ======= START OF BOTTOM NAVBAR ====== -->
    +<A NAME="navbar_bottom"><!-- --></A>
    +<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
    +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
    +<TR>
    +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
    +<A NAME="navbar_bottom_firstrow"><!-- --></A>
    +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
    +  <TR ALIGN="center" VALIGN="top">
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../org/jacoco/core/runtime/SystemPropertiesRuntime.html" title="class in org.jacoco.core.runtime"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
    +  </TR>
    +</TABLE>
    +</TD>
    +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
    +</EM>
    +</TD>
    +</TR>
    +
    +<TR>
    +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
    +&nbsp;PREV&nbsp;
    +&nbsp;NEXT</FONT></TD>
    +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
    +  <A HREF="../../../../../index.html?org/jacoco/core/runtime/class-use/SystemPropertiesRuntime.html" target="_top"><B>FRAMES</B></A>  &nbsp;
    +&nbsp;<A HREF="SystemPropertiesRuntime.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
    +&nbsp;<SCRIPT type="text/javascript">
    +  <!--
    +  if(window==top) {
    +    document.writeln('<A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>');
    +  }
    +  //-->
    +</SCRIPT>
    +<NOSCRIPT>
    +  <A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>
    +</NOSCRIPT>
    +
    +
    +</FONT></TD>
    +</TR>
    +</TABLE>
    +<A NAME="skip-navbar_bottom"></A>
    +<!-- ======== END OF BOTTOM NAVBAR ======= -->
    +
    +<HR>
    +Copyright &#169; 2009&#x2013;2024 Mountainminds GmbH & Co. KG. All rights reserved.
    +</BODY>
    +</HTML>
    diff --git a/jacoco/trunk/doc/api/org/jacoco/core/runtime/class-use/WildcardMatcher.html b/jacoco/trunk/doc/api/org/jacoco/core/runtime/class-use/WildcardMatcher.html
    new file mode 100644
    index 00000000000..af42503a140
    --- /dev/null
    +++ b/jacoco/trunk/doc/api/org/jacoco/core/runtime/class-use/WildcardMatcher.html
    @@ -0,0 +1,141 @@
    +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
    +<!--NewPage-->
    +<HTML>
    +<HEAD>
    +<!-- Generated by javadoc (build 1.5.0_22) on Wed Mar 27 16:45:42 UTC 2024 -->
    +<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
    +<TITLE>
    +Uses of Class org.jacoco.core.runtime.WildcardMatcher (JaCoCo 0.8.12.202403270442 API)
    +</TITLE>
    +
    +
    +<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../../stylesheet.css" TITLE="Style">
    +
    +<SCRIPT type="text/javascript">
    +function windowTitle()
    +{
    +    parent.document.title="Uses of Class org.jacoco.core.runtime.WildcardMatcher (JaCoCo 0.8.12.202403270442 API)";
    +}
    +</SCRIPT>
    +<NOSCRIPT>
    +</NOSCRIPT>
    +
    +</HEAD>
    +
    +<BODY BGCOLOR="white" onload="windowTitle();">
    +
    +
    +<!-- ========= START OF TOP NAVBAR ======= -->
    +<A NAME="navbar_top"><!-- --></A>
    +<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
    +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
    +<TR>
    +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
    +<A NAME="navbar_top_firstrow"><!-- --></A>
    +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
    +  <TR ALIGN="center" VALIGN="top">
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../org/jacoco/core/runtime/WildcardMatcher.html" title="class in org.jacoco.core.runtime"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
    +  </TR>
    +</TABLE>
    +</TD>
    +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
    +</EM>
    +</TD>
    +</TR>
    +
    +<TR>
    +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
    +&nbsp;PREV&nbsp;
    +&nbsp;NEXT</FONT></TD>
    +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
    +  <A HREF="../../../../../index.html?org/jacoco/core/runtime/class-use/WildcardMatcher.html" target="_top"><B>FRAMES</B></A>  &nbsp;
    +&nbsp;<A HREF="WildcardMatcher.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
    +&nbsp;<SCRIPT type="text/javascript">
    +  <!--
    +  if(window==top) {
    +    document.writeln('<A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>');
    +  }
    +  //-->
    +</SCRIPT>
    +<NOSCRIPT>
    +  <A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>
    +</NOSCRIPT>
    +
    +
    +</FONT></TD>
    +</TR>
    +</TABLE>
    +<A NAME="skip-navbar_top"></A>
    +<!-- ========= END OF TOP NAVBAR ========= -->
    +
    +<HR>
    +<CENTER>
    +<H2>
    +<B>Uses of Class<br>org.jacoco.core.runtime.WildcardMatcher</B></H2>
    +</CENTER>
    +No usage of org.jacoco.core.runtime.WildcardMatcher
    +<P>
    +<HR>
    +
    +
    +<!-- ======= START OF BOTTOM NAVBAR ====== -->
    +<A NAME="navbar_bottom"><!-- --></A>
    +<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
    +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
    +<TR>
    +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
    +<A NAME="navbar_bottom_firstrow"><!-- --></A>
    +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
    +  <TR ALIGN="center" VALIGN="top">
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../org/jacoco/core/runtime/WildcardMatcher.html" title="class in org.jacoco.core.runtime"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
    +  </TR>
    +</TABLE>
    +</TD>
    +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
    +</EM>
    +</TD>
    +</TR>
    +
    +<TR>
    +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
    +&nbsp;PREV&nbsp;
    +&nbsp;NEXT</FONT></TD>
    +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
    +  <A HREF="../../../../../index.html?org/jacoco/core/runtime/class-use/WildcardMatcher.html" target="_top"><B>FRAMES</B></A>  &nbsp;
    +&nbsp;<A HREF="WildcardMatcher.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
    +&nbsp;<SCRIPT type="text/javascript">
    +  <!--
    +  if(window==top) {
    +    document.writeln('<A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>');
    +  }
    +  //-->
    +</SCRIPT>
    +<NOSCRIPT>
    +  <A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>
    +</NOSCRIPT>
    +
    +
    +</FONT></TD>
    +</TR>
    +</TABLE>
    +<A NAME="skip-navbar_bottom"></A>
    +<!-- ======== END OF BOTTOM NAVBAR ======= -->
    +
    +<HR>
    +Copyright &#169; 2009&#x2013;2024 Mountainminds GmbH & Co. KG. All rights reserved.
    +</BODY>
    +</HTML>
    diff --git a/jacoco/trunk/doc/api/org/jacoco/core/runtime/package-frame.html b/jacoco/trunk/doc/api/org/jacoco/core/runtime/package-frame.html
    new file mode 100644
    index 00000000000..a0ddc1d5529
    --- /dev/null
    +++ b/jacoco/trunk/doc/api/org/jacoco/core/runtime/package-frame.html
    @@ -0,0 +1,79 @@
    +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
    +<!--NewPage-->
    +<HTML>
    +<HEAD>
    +<!-- Generated by javadoc (build 1.5.0_22) on Wed Mar 27 16:45:42 UTC 2024 -->
    +<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
    +<TITLE>
    +org.jacoco.core.runtime (JaCoCo 0.8.12.202403270442 API)
    +</TITLE>
    +
    +<META NAME="keywords" CONTENT="org.jacoco.core.runtime package">
    +
    +<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../stylesheet.css" TITLE="Style">
    +
    +
    +</HEAD>
    +
    +<BODY BGCOLOR="white">
    +<FONT size="+1" CLASS="FrameTitleFont">
    +<A HREF="../../../../org/jacoco/core/runtime/package-summary.html" target="classFrame">org.jacoco.core.runtime</A></FONT>
    +<TABLE BORDER="0" WIDTH="100%" SUMMARY="">
    +<TR>
    +<TD NOWRAP><FONT size="+1" CLASS="FrameHeadingFont">
    +Interfaces</FONT>&nbsp;
    +<FONT CLASS="FrameItemFont">
    +<BR>
    +<A HREF="IExecutionDataAccessorGenerator.html" title="interface in org.jacoco.core.runtime" target="classFrame"><I>IExecutionDataAccessorGenerator</I></A>
    +<BR>
    +<A HREF="IRemoteCommandVisitor.html" title="interface in org.jacoco.core.runtime" target="classFrame"><I>IRemoteCommandVisitor</I></A>
    +<BR>
    +<A HREF="IRuntime.html" title="interface in org.jacoco.core.runtime" target="classFrame"><I>IRuntime</I></A></FONT></TD>
    +</TR>
    +</TABLE>
    +
    +
    +<TABLE BORDER="0" WIDTH="100%" SUMMARY="">
    +<TR>
    +<TD NOWRAP><FONT size="+1" CLASS="FrameHeadingFont">
    +Classes</FONT>&nbsp;
    +<FONT CLASS="FrameItemFont">
    +<BR>
    +<A HREF="AbstractRuntime.html" title="class in org.jacoco.core.runtime" target="classFrame">AbstractRuntime</A>
    +<BR>
    +<A HREF="AgentOptions.html" title="class in org.jacoco.core.runtime" target="classFrame">AgentOptions</A>
    +<BR>
    +<A HREF="InjectedClassRuntime.html" title="class in org.jacoco.core.runtime" target="classFrame">InjectedClassRuntime</A>
    +<BR>
    +<A HREF="LoggerRuntime.html" title="class in org.jacoco.core.runtime" target="classFrame">LoggerRuntime</A>
    +<BR>
    +<A HREF="ModifiedSystemClassRuntime.html" title="class in org.jacoco.core.runtime" target="classFrame">ModifiedSystemClassRuntime</A>
    +<BR>
    +<A HREF="OfflineInstrumentationAccessGenerator.html" title="class in org.jacoco.core.runtime" target="classFrame">OfflineInstrumentationAccessGenerator</A>
    +<BR>
    +<A HREF="RemoteControlReader.html" title="class in org.jacoco.core.runtime" target="classFrame">RemoteControlReader</A>
    +<BR>
    +<A HREF="RemoteControlWriter.html" title="class in org.jacoco.core.runtime" target="classFrame">RemoteControlWriter</A>
    +<BR>
    +<A HREF="RuntimeData.html" title="class in org.jacoco.core.runtime" target="classFrame">RuntimeData</A>
    +<BR>
    +<A HREF="SystemPropertiesRuntime.html" title="class in org.jacoco.core.runtime" target="classFrame">SystemPropertiesRuntime</A>
    +<BR>
    +<A HREF="WildcardMatcher.html" title="class in org.jacoco.core.runtime" target="classFrame">WildcardMatcher</A></FONT></TD>
    +</TR>
    +</TABLE>
    +
    +
    +<TABLE BORDER="0" WIDTH="100%" SUMMARY="">
    +<TR>
    +<TD NOWRAP><FONT size="+1" CLASS="FrameHeadingFont">
    +Enums</FONT>&nbsp;
    +<FONT CLASS="FrameItemFont">
    +<BR>
    +<A HREF="AgentOptions.OutputMode.html" title="enum in org.jacoco.core.runtime" target="classFrame">AgentOptions.OutputMode</A></FONT></TD>
    +</TR>
    +</TABLE>
    +
    +
    +</BODY>
    +</HTML>
    diff --git a/jacoco/trunk/doc/api/org/jacoco/core/runtime/package-summary.html b/jacoco/trunk/doc/api/org/jacoco/core/runtime/package-summary.html
    new file mode 100644
    index 00000000000..86d7804fbd6
    --- /dev/null
    +++ b/jacoco/trunk/doc/api/org/jacoco/core/runtime/package-summary.html
    @@ -0,0 +1,256 @@
    +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
    +<!--NewPage-->
    +<HTML>
    +<HEAD>
    +<!-- Generated by javadoc (build 1.5.0_22) on Wed Mar 27 16:45:42 UTC 2024 -->
    +<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
    +<TITLE>
    +org.jacoco.core.runtime (JaCoCo 0.8.12.202403270442 API)
    +</TITLE>
    +
    +<META NAME="keywords" CONTENT="org.jacoco.core.runtime package">
    +
    +<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../stylesheet.css" TITLE="Style">
    +
    +<SCRIPT type="text/javascript">
    +function windowTitle()
    +{
    +    parent.document.title="org.jacoco.core.runtime (JaCoCo 0.8.12.202403270442 API)";
    +}
    +</SCRIPT>
    +<NOSCRIPT>
    +</NOSCRIPT>
    +
    +</HEAD>
    +
    +<BODY BGCOLOR="white" onload="windowTitle();">
    +
    +
    +<!-- ========= START OF TOP NAVBAR ======= -->
    +<A NAME="navbar_top"><!-- --></A>
    +<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
    +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
    +<TR>
    +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
    +<A NAME="navbar_top_firstrow"><!-- --></A>
    +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
    +  <TR ALIGN="center" VALIGN="top">
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Package</B></FONT>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <FONT CLASS="NavBarFont1">Class</FONT>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-use.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
    +  </TR>
    +</TABLE>
    +</TD>
    +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
    +</EM>
    +</TD>
    +</TR>
    +
    +<TR>
    +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
    +&nbsp;<A HREF="../../../../org/jacoco/core/instr/package-summary.html"><B>PREV PACKAGE</B></A>&nbsp;
    +&nbsp;<A HREF="../../../../org/jacoco/core/tools/package-summary.html"><B>NEXT PACKAGE</B></A></FONT></TD>
    +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
    +  <A HREF="../../../../index.html?org/jacoco/core/runtime/package-summary.html" target="_top"><B>FRAMES</B></A>  &nbsp;
    +&nbsp;<A HREF="package-summary.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
    +&nbsp;<SCRIPT type="text/javascript">
    +  <!--
    +  if(window==top) {
    +    document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>');
    +  }
    +  //-->
    +</SCRIPT>
    +<NOSCRIPT>
    +  <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>
    +</NOSCRIPT>
    +
    +
    +</FONT></TD>
    +</TR>
    +</TABLE>
    +<A NAME="skip-navbar_top"></A>
    +<!-- ========= END OF TOP NAVBAR ========= -->
    +
    +<HR>
    +<H2>
    +Package org.jacoco.core.runtime
    +</H2>
    +Runtime control and execution data collection.
    +<P>
    +<B>See:</B>
    +<BR>
    +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<A HREF="#package_description"><B>Description</B></A>
    +<P>
    +
    +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
    +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
    +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
    +<B>Interface Summary</B></FONT></TH>
    +</TR>
    +<TR BGCOLOR="white" CLASS="TableRowColor">
    +<TD WIDTH="15%"><B><A HREF="../../../../org/jacoco/core/runtime/IExecutionDataAccessorGenerator.html" title="interface in org.jacoco.core.runtime">IExecutionDataAccessorGenerator</A></B></TD>
    +<TD>The instrumented classes need a piece of code that obtains a
    + <code>boolean[]</code> instance from the runtime.</TD>
    +</TR>
    +<TR BGCOLOR="white" CLASS="TableRowColor">
    +<TD WIDTH="15%"><B><A HREF="../../../../org/jacoco/core/runtime/IRemoteCommandVisitor.html" title="interface in org.jacoco.core.runtime">IRemoteCommandVisitor</A></B></TD>
    +<TD>Interface for remote commands to a coverage runtime.</TD>
    +</TR>
    +<TR BGCOLOR="white" CLASS="TableRowColor">
    +<TD WIDTH="15%"><B><A HREF="../../../../org/jacoco/core/runtime/IRuntime.html" title="interface in org.jacoco.core.runtime">IRuntime</A></B></TD>
    +<TD>This interface represents a particular mechanism to collect execution
    + information in the target VM at runtime.</TD>
    +</TR>
    +</TABLE>
    +&nbsp;
    +
    +<P>
    +
    +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
    +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
    +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
    +<B>Class Summary</B></FONT></TH>
    +</TR>
    +<TR BGCOLOR="white" CLASS="TableRowColor">
    +<TD WIDTH="15%"><B><A HREF="../../../../org/jacoco/core/runtime/AbstractRuntime.html" title="class in org.jacoco.core.runtime">AbstractRuntime</A></B></TD>
    +<TD>Base <A HREF="../../../../org/jacoco/core/runtime/IRuntime.html" title="interface in org.jacoco.core.runtime"><CODE>IRuntime</CODE></A> implementation.</TD>
    +</TR>
    +<TR BGCOLOR="white" CLASS="TableRowColor">
    +<TD WIDTH="15%"><B><A HREF="../../../../org/jacoco/core/runtime/AgentOptions.html" title="class in org.jacoco.core.runtime">AgentOptions</A></B></TD>
    +<TD>Utility to create and parse options for the runtime agent.</TD>
    +</TR>
    +<TR BGCOLOR="white" CLASS="TableRowColor">
    +<TD WIDTH="15%"><B><A HREF="../../../../org/jacoco/core/runtime/InjectedClassRuntime.html" title="class in org.jacoco.core.runtime">InjectedClassRuntime</A></B></TD>
    +<TD><A HREF="../../../../org/jacoco/core/runtime/IRuntime.html" title="interface in org.jacoco.core.runtime"><CODE>IRuntime</CODE></A> which defines a new class using
    + <code>java.lang.invoke.MethodHandles.Lookup.defineClass</code> introduced in Java
    + 9.</TD>
    +</TR>
    +<TR BGCOLOR="white" CLASS="TableRowColor">
    +<TD WIDTH="15%"><B><A HREF="../../../../org/jacoco/core/runtime/LoggerRuntime.html" title="class in org.jacoco.core.runtime">LoggerRuntime</A></B></TD>
    +<TD>This <A HREF="../../../../org/jacoco/core/runtime/IRuntime.html" title="interface in org.jacoco.core.runtime"><CODE>IRuntime</CODE></A> implementation uses the Java logging API to report
    + coverage data.</TD>
    +</TR>
    +<TR BGCOLOR="white" CLASS="TableRowColor">
    +<TD WIDTH="15%"><B><A HREF="../../../../org/jacoco/core/runtime/ModifiedSystemClassRuntime.html" title="class in org.jacoco.core.runtime">ModifiedSystemClassRuntime</A></B></TD>
    +<TD>This <A HREF="../../../../org/jacoco/core/runtime/IRuntime.html" title="interface in org.jacoco.core.runtime"><CODE>IRuntime</CODE></A> implementation works with a modified system class.</TD>
    +</TR>
    +<TR BGCOLOR="white" CLASS="TableRowColor">
    +<TD WIDTH="15%"><B><A HREF="../../../../org/jacoco/core/runtime/OfflineInstrumentationAccessGenerator.html" title="class in org.jacoco.core.runtime">OfflineInstrumentationAccessGenerator</A></B></TD>
    +<TD>This implementation of <A HREF="../../../../org/jacoco/core/runtime/IExecutionDataAccessorGenerator.html" title="interface in org.jacoco.core.runtime"><CODE>IExecutionDataAccessorGenerator</CODE></A> generate a
    + direct dependency to the JaCoCo runtime agent to initialize the runtime and
    + obtain probe arrays.</TD>
    +</TR>
    +<TR BGCOLOR="white" CLASS="TableRowColor">
    +<TD WIDTH="15%"><B><A HREF="../../../../org/jacoco/core/runtime/RemoteControlReader.html" title="class in org.jacoco.core.runtime">RemoteControlReader</A></B></TD>
    +<TD><A HREF="../../../../org/jacoco/core/data/ExecutionDataReader.html" title="class in org.jacoco.core.data"><CODE>ExecutionDataReader</CODE></A> with commands added for runtime remote control.</TD>
    +</TR>
    +<TR BGCOLOR="white" CLASS="TableRowColor">
    +<TD WIDTH="15%"><B><A HREF="../../../../org/jacoco/core/runtime/RemoteControlWriter.html" title="class in org.jacoco.core.runtime">RemoteControlWriter</A></B></TD>
    +<TD><A HREF="../../../../org/jacoco/core/data/ExecutionDataWriter.html" title="class in org.jacoco.core.data"><CODE>ExecutionDataWriter</CODE></A> with commands added for runtime remote control.</TD>
    +</TR>
    +<TR BGCOLOR="white" CLASS="TableRowColor">
    +<TD WIDTH="15%"><B><A HREF="../../../../org/jacoco/core/runtime/RuntimeData.html" title="class in org.jacoco.core.runtime">RuntimeData</A></B></TD>
    +<TD>Container for runtime execution and meta data.</TD>
    +</TR>
    +<TR BGCOLOR="white" CLASS="TableRowColor">
    +<TD WIDTH="15%"><B><A HREF="../../../../org/jacoco/core/runtime/SystemPropertiesRuntime.html" title="class in org.jacoco.core.runtime">SystemPropertiesRuntime</A></B></TD>
    +<TD>This <A HREF="../../../../org/jacoco/core/runtime/IRuntime.html" title="interface in org.jacoco.core.runtime"><CODE>IRuntime</CODE></A> implementation makes the execution data available
    + through a special entry in the <A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/System.html#getProperties()" title="class or interface in java.lang"><CODE>System.getProperties()</CODE></A> hash table.</TD>
    +</TR>
    +<TR BGCOLOR="white" CLASS="TableRowColor">
    +<TD WIDTH="15%"><B><A HREF="../../../../org/jacoco/core/runtime/WildcardMatcher.html" title="class in org.jacoco.core.runtime">WildcardMatcher</A></B></TD>
    +<TD>Matches strings against glob like wildcard expressions where <code>?</code>
    + matches any single character and <code>*</code> matches any number of any
    + character.</TD>
    +</TR>
    +</TABLE>
    +&nbsp;
    +
    +<P>
    +
    +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
    +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
    +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
    +<B>Enum Summary</B></FONT></TH>
    +</TR>
    +<TR BGCOLOR="white" CLASS="TableRowColor">
    +<TD WIDTH="15%"><B><A HREF="../../../../org/jacoco/core/runtime/AgentOptions.OutputMode.html" title="enum in org.jacoco.core.runtime">AgentOptions.OutputMode</A></B></TD>
    +<TD>Possible values for <A HREF="../../../../org/jacoco/core/runtime/AgentOptions.html#OUTPUT"><CODE>AgentOptions.OUTPUT</CODE></A>.</TD>
    +</TR>
    +</TABLE>
    +&nbsp;
    +
    +<P>
    +<A NAME="package_description"><!-- --></A><H2>
    +Package org.jacoco.core.runtime Description
    +</H2>
    +
    +<P>
    +Runtime control and execution data collection.
    +<P>
    +
    +<P>
    +<DL>
    +</DL>
    +<HR>
    +
    +
    +<!-- ======= START OF BOTTOM NAVBAR ====== -->
    +<A NAME="navbar_bottom"><!-- --></A>
    +<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
    +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
    +<TR>
    +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
    +<A NAME="navbar_bottom_firstrow"><!-- --></A>
    +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
    +  <TR ALIGN="center" VALIGN="top">
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Package</B></FONT>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <FONT CLASS="NavBarFont1">Class</FONT>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-use.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
    +  </TR>
    +</TABLE>
    +</TD>
    +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
    +</EM>
    +</TD>
    +</TR>
    +
    +<TR>
    +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
    +&nbsp;<A HREF="../../../../org/jacoco/core/instr/package-summary.html"><B>PREV PACKAGE</B></A>&nbsp;
    +&nbsp;<A HREF="../../../../org/jacoco/core/tools/package-summary.html"><B>NEXT PACKAGE</B></A></FONT></TD>
    +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
    +  <A HREF="../../../../index.html?org/jacoco/core/runtime/package-summary.html" target="_top"><B>FRAMES</B></A>  &nbsp;
    +&nbsp;<A HREF="package-summary.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
    +&nbsp;<SCRIPT type="text/javascript">
    +  <!--
    +  if(window==top) {
    +    document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>');
    +  }
    +  //-->
    +</SCRIPT>
    +<NOSCRIPT>
    +  <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>
    +</NOSCRIPT>
    +
    +
    +</FONT></TD>
    +</TR>
    +</TABLE>
    +<A NAME="skip-navbar_bottom"></A>
    +<!-- ======== END OF BOTTOM NAVBAR ======= -->
    +
    +<HR>
    +Copyright &#169; 2009&#x2013;2024 Mountainminds GmbH & Co. KG. All rights reserved.
    +</BODY>
    +</HTML>
    diff --git a/jacoco/trunk/doc/api/org/jacoco/core/runtime/package-tree.html b/jacoco/trunk/doc/api/org/jacoco/core/runtime/package-tree.html
    new file mode 100644
    index 00000000000..d8250217097
    --- /dev/null
    +++ b/jacoco/trunk/doc/api/org/jacoco/core/runtime/package-tree.html
    @@ -0,0 +1,177 @@
    +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
    +<!--NewPage-->
    +<HTML>
    +<HEAD>
    +<!-- Generated by javadoc (build 1.5.0_22) on Wed Mar 27 16:45:42 UTC 2024 -->
    +<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
    +<TITLE>
    +org.jacoco.core.runtime Class Hierarchy (JaCoCo 0.8.12.202403270442 API)
    +</TITLE>
    +
    +
    +<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../stylesheet.css" TITLE="Style">
    +
    +<SCRIPT type="text/javascript">
    +function windowTitle()
    +{
    +    parent.document.title="org.jacoco.core.runtime Class Hierarchy (JaCoCo 0.8.12.202403270442 API)";
    +}
    +</SCRIPT>
    +<NOSCRIPT>
    +</NOSCRIPT>
    +
    +</HEAD>
    +
    +<BODY BGCOLOR="white" onload="windowTitle();">
    +
    +
    +<!-- ========= START OF TOP NAVBAR ======= -->
    +<A NAME="navbar_top"><!-- --></A>
    +<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
    +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
    +<TR>
    +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
    +<A NAME="navbar_top_firstrow"><!-- --></A>
    +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
    +  <TR ALIGN="center" VALIGN="top">
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <FONT CLASS="NavBarFont1">Class</FONT>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <FONT CLASS="NavBarFont1">Use</FONT>&nbsp;</TD>
    +  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Tree</B></FONT>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
    +  </TR>
    +</TABLE>
    +</TD>
    +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
    +</EM>
    +</TD>
    +</TR>
    +
    +<TR>
    +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
    +&nbsp;<A HREF="../../../../org/jacoco/core/instr/package-tree.html"><B>PREV</B></A>&nbsp;
    +&nbsp;<A HREF="../../../../org/jacoco/core/tools/package-tree.html"><B>NEXT</B></A></FONT></TD>
    +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
    +  <A HREF="../../../../index.html?org/jacoco/core/runtime/package-tree.html" target="_top"><B>FRAMES</B></A>  &nbsp;
    +&nbsp;<A HREF="package-tree.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
    +&nbsp;<SCRIPT type="text/javascript">
    +  <!--
    +  if(window==top) {
    +    document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>');
    +  }
    +  //-->
    +</SCRIPT>
    +<NOSCRIPT>
    +  <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>
    +</NOSCRIPT>
    +
    +
    +</FONT></TD>
    +</TR>
    +</TABLE>
    +<A NAME="skip-navbar_top"></A>
    +<!-- ========= END OF TOP NAVBAR ========= -->
    +
    +<HR>
    +<CENTER>
    +<H2>
    +Hierarchy For Package org.jacoco.core.runtime
    +</H2>
    +</CENTER>
    +<DL>
    +<DT><B>Package Hierarchies:</B><DD><A HREF="../../../../overview-tree.html">All Packages</A></DL>
    +<HR>
    +<H2>
    +Class Hierarchy
    +</H2>
    +<UL>
    +<LI TYPE="circle">java.lang.<A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html" title="class or interface in java.lang"><B>Object</B></A><UL>
    +<LI TYPE="circle">org.jacoco.core.runtime.<A HREF="../../../../org/jacoco/core/runtime/AbstractRuntime.html" title="class in org.jacoco.core.runtime"><B>AbstractRuntime</B></A> (implements org.jacoco.core.runtime.<A HREF="../../../../org/jacoco/core/runtime/IRuntime.html" title="interface in org.jacoco.core.runtime">IRuntime</A>)
    +<UL>
    +<LI TYPE="circle">org.jacoco.core.runtime.<A HREF="../../../../org/jacoco/core/runtime/InjectedClassRuntime.html" title="class in org.jacoco.core.runtime"><B>InjectedClassRuntime</B></A><LI TYPE="circle">org.jacoco.core.runtime.<A HREF="../../../../org/jacoco/core/runtime/LoggerRuntime.html" title="class in org.jacoco.core.runtime"><B>LoggerRuntime</B></A><LI TYPE="circle">org.jacoco.core.runtime.<A HREF="../../../../org/jacoco/core/runtime/ModifiedSystemClassRuntime.html" title="class in org.jacoco.core.runtime"><B>ModifiedSystemClassRuntime</B></A><LI TYPE="circle">org.jacoco.core.runtime.<A HREF="../../../../org/jacoco/core/runtime/SystemPropertiesRuntime.html" title="class in org.jacoco.core.runtime"><B>SystemPropertiesRuntime</B></A></UL>
    +<LI TYPE="circle">org.jacoco.core.runtime.<A HREF="../../../../org/jacoco/core/runtime/AgentOptions.html" title="class in org.jacoco.core.runtime"><B>AgentOptions</B></A><LI TYPE="circle">org.jacoco.core.data.<A HREF="../../../../org/jacoco/core/data/ExecutionDataReader.html" title="class in org.jacoco.core.data"><B>ExecutionDataReader</B></A><UL>
    +<LI TYPE="circle">org.jacoco.core.runtime.<A HREF="../../../../org/jacoco/core/runtime/RemoteControlReader.html" title="class in org.jacoco.core.runtime"><B>RemoteControlReader</B></A></UL>
    +<LI TYPE="circle">org.jacoco.core.data.<A HREF="../../../../org/jacoco/core/data/ExecutionDataWriter.html" title="class in org.jacoco.core.data"><B>ExecutionDataWriter</B></A> (implements org.jacoco.core.data.<A HREF="../../../../org/jacoco/core/data/IExecutionDataVisitor.html" title="interface in org.jacoco.core.data">IExecutionDataVisitor</A>, org.jacoco.core.data.<A HREF="../../../../org/jacoco/core/data/ISessionInfoVisitor.html" title="interface in org.jacoco.core.data">ISessionInfoVisitor</A>)
    +<UL>
    +<LI TYPE="circle">org.jacoco.core.runtime.<A HREF="../../../../org/jacoco/core/runtime/RemoteControlWriter.html" title="class in org.jacoco.core.runtime"><B>RemoteControlWriter</B></A> (implements org.jacoco.core.runtime.<A HREF="../../../../org/jacoco/core/runtime/IRemoteCommandVisitor.html" title="interface in org.jacoco.core.runtime">IRemoteCommandVisitor</A>)
    +</UL>
    +<LI TYPE="circle">org.jacoco.core.runtime.<A HREF="../../../../org/jacoco/core/runtime/OfflineInstrumentationAccessGenerator.html" title="class in org.jacoco.core.runtime"><B>OfflineInstrumentationAccessGenerator</B></A> (implements org.jacoco.core.runtime.<A HREF="../../../../org/jacoco/core/runtime/IExecutionDataAccessorGenerator.html" title="interface in org.jacoco.core.runtime">IExecutionDataAccessorGenerator</A>)
    +<LI TYPE="circle">org.jacoco.core.runtime.<A HREF="../../../../org/jacoco/core/runtime/RuntimeData.html" title="class in org.jacoco.core.runtime"><B>RuntimeData</B></A><LI TYPE="circle">org.jacoco.core.runtime.<A HREF="../../../../org/jacoco/core/runtime/WildcardMatcher.html" title="class in org.jacoco.core.runtime"><B>WildcardMatcher</B></A></UL>
    +</UL>
    +<H2>
    +Interface Hierarchy
    +</H2>
    +<UL>
    +<LI TYPE="circle">org.jacoco.core.runtime.<A HREF="../../../../org/jacoco/core/runtime/IExecutionDataAccessorGenerator.html" title="interface in org.jacoco.core.runtime"><B>IExecutionDataAccessorGenerator</B></A><UL>
    +<LI TYPE="circle">org.jacoco.core.runtime.<A HREF="../../../../org/jacoco/core/runtime/IRuntime.html" title="interface in org.jacoco.core.runtime"><B>IRuntime</B></A></UL>
    +<LI TYPE="circle">org.jacoco.core.runtime.<A HREF="../../../../org/jacoco/core/runtime/IRemoteCommandVisitor.html" title="interface in org.jacoco.core.runtime"><B>IRemoteCommandVisitor</B></A></UL>
    +<H2>
    +Enum Hierarchy
    +</H2>
    +<UL>
    +<LI TYPE="circle">java.lang.<A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html" title="class or interface in java.lang"><B>Object</B></A><UL>
    +<LI TYPE="circle">java.lang.<A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Enum.html" title="class or interface in java.lang"><B>Enum</B></A>&lt;E&gt; (implements java.lang.<A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Comparable.html" title="class or interface in java.lang">Comparable</A>&lt;T&gt;, java.io.<A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/io/Serializable.html" title="class or interface in java.io">Serializable</A>)
    +<UL>
    +<LI TYPE="circle">org.jacoco.core.runtime.<A HREF="../../../../org/jacoco/core/runtime/AgentOptions.OutputMode.html" title="enum in org.jacoco.core.runtime"><B>AgentOptions.OutputMode</B></A></UL>
    +</UL>
    +</UL>
    +<HR>
    +
    +
    +<!-- ======= START OF BOTTOM NAVBAR ====== -->
    +<A NAME="navbar_bottom"><!-- --></A>
    +<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
    +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
    +<TR>
    +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
    +<A NAME="navbar_bottom_firstrow"><!-- --></A>
    +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
    +  <TR ALIGN="center" VALIGN="top">
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <FONT CLASS="NavBarFont1">Class</FONT>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <FONT CLASS="NavBarFont1">Use</FONT>&nbsp;</TD>
    +  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Tree</B></FONT>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
    +  </TR>
    +</TABLE>
    +</TD>
    +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
    +</EM>
    +</TD>
    +</TR>
    +
    +<TR>
    +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
    +&nbsp;<A HREF="../../../../org/jacoco/core/instr/package-tree.html"><B>PREV</B></A>&nbsp;
    +&nbsp;<A HREF="../../../../org/jacoco/core/tools/package-tree.html"><B>NEXT</B></A></FONT></TD>
    +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
    +  <A HREF="../../../../index.html?org/jacoco/core/runtime/package-tree.html" target="_top"><B>FRAMES</B></A>  &nbsp;
    +&nbsp;<A HREF="package-tree.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
    +&nbsp;<SCRIPT type="text/javascript">
    +  <!--
    +  if(window==top) {
    +    document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>');
    +  }
    +  //-->
    +</SCRIPT>
    +<NOSCRIPT>
    +  <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>
    +</NOSCRIPT>
    +
    +
    +</FONT></TD>
    +</TR>
    +</TABLE>
    +<A NAME="skip-navbar_bottom"></A>
    +<!-- ======== END OF BOTTOM NAVBAR ======= -->
    +
    +<HR>
    +Copyright &#169; 2009&#x2013;2024 Mountainminds GmbH & Co. KG. All rights reserved.
    +</BODY>
    +</HTML>
    diff --git a/jacoco/trunk/doc/api/org/jacoco/core/runtime/package-use.html b/jacoco/trunk/doc/api/org/jacoco/core/runtime/package-use.html
    new file mode 100644
    index 00000000000..e85b65409e6
    --- /dev/null
    +++ b/jacoco/trunk/doc/api/org/jacoco/core/runtime/package-use.html
    @@ -0,0 +1,220 @@
    +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
    +<!--NewPage-->
    +<HTML>
    +<HEAD>
    +<!-- Generated by javadoc (build 1.5.0_22) on Wed Mar 27 16:45:42 UTC 2024 -->
    +<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
    +<TITLE>
    +Uses of Package org.jacoco.core.runtime (JaCoCo 0.8.12.202403270442 API)
    +</TITLE>
    +
    +
    +<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../stylesheet.css" TITLE="Style">
    +
    +<SCRIPT type="text/javascript">
    +function windowTitle()
    +{
    +    parent.document.title="Uses of Package org.jacoco.core.runtime (JaCoCo 0.8.12.202403270442 API)";
    +}
    +</SCRIPT>
    +<NOSCRIPT>
    +</NOSCRIPT>
    +
    +</HEAD>
    +
    +<BODY BGCOLOR="white" onload="windowTitle();">
    +
    +
    +<!-- ========= START OF TOP NAVBAR ======= -->
    +<A NAME="navbar_top"><!-- --></A>
    +<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
    +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
    +<TR>
    +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
    +<A NAME="navbar_top_firstrow"><!-- --></A>
    +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
    +  <TR ALIGN="center" VALIGN="top">
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <FONT CLASS="NavBarFont1">Class</FONT>&nbsp;</TD>
    +  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
    +  </TR>
    +</TABLE>
    +</TD>
    +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
    +</EM>
    +</TD>
    +</TR>
    +
    +<TR>
    +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
    +&nbsp;PREV&nbsp;
    +&nbsp;NEXT</FONT></TD>
    +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
    +  <A HREF="../../../../index.html?org/jacoco/core/runtime/package-use.html" target="_top"><B>FRAMES</B></A>  &nbsp;
    +&nbsp;<A HREF="package-use.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
    +&nbsp;<SCRIPT type="text/javascript">
    +  <!--
    +  if(window==top) {
    +    document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>');
    +  }
    +  //-->
    +</SCRIPT>
    +<NOSCRIPT>
    +  <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>
    +</NOSCRIPT>
    +
    +
    +</FONT></TD>
    +</TR>
    +</TABLE>
    +<A NAME="skip-navbar_top"></A>
    +<!-- ========= END OF TOP NAVBAR ========= -->
    +
    +<HR>
    +<CENTER>
    +<H2>
    +<B>Uses of Package<br>org.jacoco.core.runtime</B></H2>
    +</CENTER>
    +
    +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
    +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
    +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
    +Packages that use <A HREF="../../../../org/jacoco/core/runtime/package-summary.html">org.jacoco.core.runtime</A></FONT></TH>
    +</TR>
    +<TR BGCOLOR="white" CLASS="TableRowColor">
    +<TD><A HREF="#org.jacoco.core.instr"><B>org.jacoco.core.instr</B></A></TD>
    +<TD>
    + Instrumentation of Java class files for code coverage.&nbsp;</TD>
    +</TR>
    +<TR BGCOLOR="white" CLASS="TableRowColor">
    +<TD><A HREF="#org.jacoco.core.runtime"><B>org.jacoco.core.runtime</B></A></TD>
    +<TD>Runtime control and execution data collection.&nbsp;</TD>
    +</TR>
    +</TABLE>
    +&nbsp;
    +<P>
    +<A NAME="org.jacoco.core.instr"><!-- --></A>
    +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
    +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
    +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
    +Classes in <A HREF="../../../../org/jacoco/core/runtime/package-summary.html">org.jacoco.core.runtime</A> used by <A HREF="../../../../org/jacoco/core/instr/package-summary.html">org.jacoco.core.instr</A></FONT></TH>
    +</TR>
    +<TR BGCOLOR="white" CLASS="TableRowColor">
    +<TD><B><A HREF="../../../../org/jacoco/core/runtime/class-use/IExecutionDataAccessorGenerator.html#org.jacoco.core.instr"><B>IExecutionDataAccessorGenerator</B></A></B>
    +
    +<BR>
    +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;The instrumented classes need a piece of code that obtains a
    + <code>boolean[]</code> instance from the runtime.</TD>
    +</TR>
    +</TABLE>
    +&nbsp;
    +<P>
    +<A NAME="org.jacoco.core.runtime"><!-- --></A>
    +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
    +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
    +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
    +Classes in <A HREF="../../../../org/jacoco/core/runtime/package-summary.html">org.jacoco.core.runtime</A> used by <A HREF="../../../../org/jacoco/core/runtime/package-summary.html">org.jacoco.core.runtime</A></FONT></TH>
    +</TR>
    +<TR BGCOLOR="white" CLASS="TableRowColor">
    +<TD><B><A HREF="../../../../org/jacoco/core/runtime/class-use/AbstractRuntime.html#org.jacoco.core.runtime"><B>AbstractRuntime</B></A></B>
    +
    +<BR>
    +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Base <A HREF="../../../../org/jacoco/core/runtime/IRuntime.html" title="interface in org.jacoco.core.runtime"><CODE>IRuntime</CODE></A> implementation.</TD>
    +</TR>
    +<TR BGCOLOR="white" CLASS="TableRowColor">
    +<TD><B><A HREF="../../../../org/jacoco/core/runtime/class-use/AgentOptions.OutputMode.html#org.jacoco.core.runtime"><B>AgentOptions.OutputMode</B></A></B>
    +
    +<BR>
    +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Possible values for <A HREF="../../../../org/jacoco/core/runtime/AgentOptions.html#OUTPUT"><CODE>AgentOptions.OUTPUT</CODE></A>.</TD>
    +</TR>
    +<TR BGCOLOR="white" CLASS="TableRowColor">
    +<TD><B><A HREF="../../../../org/jacoco/core/runtime/class-use/IExecutionDataAccessorGenerator.html#org.jacoco.core.runtime"><B>IExecutionDataAccessorGenerator</B></A></B>
    +
    +<BR>
    +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;The instrumented classes need a piece of code that obtains a
    + <code>boolean[]</code> instance from the runtime.</TD>
    +</TR>
    +<TR BGCOLOR="white" CLASS="TableRowColor">
    +<TD><B><A HREF="../../../../org/jacoco/core/runtime/class-use/IRemoteCommandVisitor.html#org.jacoco.core.runtime"><B>IRemoteCommandVisitor</B></A></B>
    +
    +<BR>
    +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Interface for remote commands to a coverage runtime.</TD>
    +</TR>
    +<TR BGCOLOR="white" CLASS="TableRowColor">
    +<TD><B><A HREF="../../../../org/jacoco/core/runtime/class-use/IRuntime.html#org.jacoco.core.runtime"><B>IRuntime</B></A></B>
    +
    +<BR>
    +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;This interface represents a particular mechanism to collect execution
    + information in the target VM at runtime.</TD>
    +</TR>
    +<TR BGCOLOR="white" CLASS="TableRowColor">
    +<TD><B><A HREF="../../../../org/jacoco/core/runtime/class-use/RuntimeData.html#org.jacoco.core.runtime"><B>RuntimeData</B></A></B>
    +
    +<BR>
    +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Container for runtime execution and meta data.</TD>
    +</TR>
    +</TABLE>
    +&nbsp;
    +<P>
    +<HR>
    +
    +
    +<!-- ======= START OF BOTTOM NAVBAR ====== -->
    +<A NAME="navbar_bottom"><!-- --></A>
    +<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
    +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
    +<TR>
    +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
    +<A NAME="navbar_bottom_firstrow"><!-- --></A>
    +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
    +  <TR ALIGN="center" VALIGN="top">
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <FONT CLASS="NavBarFont1">Class</FONT>&nbsp;</TD>
    +  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
    +  </TR>
    +</TABLE>
    +</TD>
    +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
    +</EM>
    +</TD>
    +</TR>
    +
    +<TR>
    +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
    +&nbsp;PREV&nbsp;
    +&nbsp;NEXT</FONT></TD>
    +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
    +  <A HREF="../../../../index.html?org/jacoco/core/runtime/package-use.html" target="_top"><B>FRAMES</B></A>  &nbsp;
    +&nbsp;<A HREF="package-use.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
    +&nbsp;<SCRIPT type="text/javascript">
    +  <!--
    +  if(window==top) {
    +    document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>');
    +  }
    +  //-->
    +</SCRIPT>
    +<NOSCRIPT>
    +  <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>
    +</NOSCRIPT>
    +
    +
    +</FONT></TD>
    +</TR>
    +</TABLE>
    +<A NAME="skip-navbar_bottom"></A>
    +<!-- ======== END OF BOTTOM NAVBAR ======= -->
    +
    +<HR>
    +Copyright &#169; 2009&#x2013;2024 Mountainminds GmbH & Co. KG. All rights reserved.
    +</BODY>
    +</HTML>
    diff --git a/jacoco/trunk/doc/api/org/jacoco/core/tools/ExecDumpClient.html b/jacoco/trunk/doc/api/org/jacoco/core/tools/ExecDumpClient.html
    new file mode 100644
    index 00000000000..c1be947e312
    --- /dev/null
    +++ b/jacoco/trunk/doc/api/org/jacoco/core/tools/ExecDumpClient.html
    @@ -0,0 +1,428 @@
    +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
    +<!--NewPage-->
    +<HTML>
    +<HEAD>
    +<!-- Generated by javadoc (build 1.5.0_22) on Wed Mar 27 16:45:41 UTC 2024 -->
    +<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
    +<TITLE>
    +ExecDumpClient (JaCoCo 0.8.12.202403270442 API)
    +</TITLE>
    +
    +<META NAME="keywords" CONTENT="org.jacoco.core.tools.ExecDumpClient class">
    +
    +<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../stylesheet.css" TITLE="Style">
    +
    +<SCRIPT type="text/javascript">
    +function windowTitle()
    +{
    +    parent.document.title="ExecDumpClient (JaCoCo 0.8.12.202403270442 API)";
    +}
    +</SCRIPT>
    +<NOSCRIPT>
    +</NOSCRIPT>
    +
    +</HEAD>
    +
    +<BODY BGCOLOR="white" onload="windowTitle();">
    +
    +
    +<!-- ========= START OF TOP NAVBAR ======= -->
    +<A NAME="navbar_top"><!-- --></A>
    +<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
    +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
    +<TR>
    +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
    +<A NAME="navbar_top_firstrow"><!-- --></A>
    +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
    +  <TR ALIGN="center" VALIGN="top">
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="class-use/ExecDumpClient.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
    +  </TR>
    +</TABLE>
    +</TD>
    +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
    +</EM>
    +</TD>
    +</TR>
    +
    +<TR>
    +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
    +&nbsp;PREV CLASS&nbsp;
    +&nbsp;<A HREF="../../../../org/jacoco/core/tools/ExecFileLoader.html" title="class in org.jacoco.core.tools"><B>NEXT CLASS</B></A></FONT></TD>
    +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
    +  <A HREF="../../../../index.html?org/jacoco/core/tools/ExecDumpClient.html" target="_top"><B>FRAMES</B></A>  &nbsp;
    +&nbsp;<A HREF="ExecDumpClient.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
    +&nbsp;<SCRIPT type="text/javascript">
    +  <!--
    +  if(window==top) {
    +    document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>');
    +  }
    +  //-->
    +</SCRIPT>
    +<NOSCRIPT>
    +  <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>
    +</NOSCRIPT>
    +
    +
    +</FONT></TD>
    +</TR>
    +<TR>
    +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
    +  SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;FIELD&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD>
    +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
    +DETAIL:&nbsp;FIELD&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD>
    +</TR>
    +</TABLE>
    +<A NAME="skip-navbar_top"></A>
    +<!-- ========= END OF TOP NAVBAR ========= -->
    +
    +<HR>
    +<!-- ======== START OF CLASS DATA ======== -->
    +<H2>
    +<FONT SIZE="-1">
    +org.jacoco.core.tools</FONT>
    +<BR>
    +Class ExecDumpClient</H2>
    +<PRE>
    +<A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html" title="class or interface in java.lang">java.lang.Object</A>
    +  <IMG SRC="../../../../resources/inherit.gif" ALT="extended by "><B>org.jacoco.core.tools.ExecDumpClient</B>
    +</PRE>
    +<HR>
    +<DL>
    +<DT><PRE>public class <B>ExecDumpClient</B><DT>extends <A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html" title="class or interface in java.lang">Object</A></DL>
    +</PRE>
    +
    +<P>
    +A client for remote execution data dumps.
    +<P>
    +
    +<P>
    +<HR>
    +
    +<P>
    +
    +<!-- ======== CONSTRUCTOR SUMMARY ======== -->
    +
    +<A NAME="constructor_summary"><!-- --></A>
    +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
    +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
    +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
    +<B>Constructor Summary</B></FONT></TH>
    +</TR>
    +<TR BGCOLOR="white" CLASS="TableRowColor">
    +<TD><CODE><B><A HREF="../../../../org/jacoco/core/tools/ExecDumpClient.html#ExecDumpClient()">ExecDumpClient</A></B>()</CODE>
    +
    +<BR>
    +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;New instance with the defaults <code>dump==true</code>,
    + <code>reset==false</code>, <code>retryCount==0</code> and
    + <code>retryDelay=1000</code>.</TD>
    +</TR>
    +</TABLE>
    +&nbsp;
    +<!-- ========== METHOD SUMMARY =========== -->
    +
    +<A NAME="method_summary"><!-- --></A>
    +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
    +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
    +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
    +<B>Method Summary</B></FONT></TH>
    +</TR>
    +<TR BGCOLOR="white" CLASS="TableRowColor">
    +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
    +<CODE>&nbsp;<A HREF="../../../../org/jacoco/core/tools/ExecFileLoader.html" title="class in org.jacoco.core.tools">ExecFileLoader</A></CODE></FONT></TD>
    +<TD><CODE><B><A HREF="../../../../org/jacoco/core/tools/ExecDumpClient.html#dump(java.net.InetAddress, int)">dump</A></B>(<A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/net/InetAddress.html" title="class or interface in java.net">InetAddress</A>&nbsp;address,
    +     int&nbsp;port)</CODE>
    +
    +<BR>
    +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Requests a dump from the given end-point.</TD>
    +</TR>
    +<TR BGCOLOR="white" CLASS="TableRowColor">
    +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
    +<CODE>&nbsp;<A HREF="../../../../org/jacoco/core/tools/ExecFileLoader.html" title="class in org.jacoco.core.tools">ExecFileLoader</A></CODE></FONT></TD>
    +<TD><CODE><B><A HREF="../../../../org/jacoco/core/tools/ExecDumpClient.html#dump(java.lang.String, int)">dump</A></B>(<A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A>&nbsp;address,
    +     int&nbsp;port)</CODE>
    +
    +<BR>
    +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Requests a dump from the given end-point.</TD>
    +</TR>
    +<TR BGCOLOR="white" CLASS="TableRowColor">
    +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
    +<CODE>protected &nbsp;void</CODE></FONT></TD>
    +<TD><CODE><B><A HREF="../../../../org/jacoco/core/tools/ExecDumpClient.html#onConnecting(java.net.InetAddress, int)">onConnecting</A></B>(<A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/net/InetAddress.html" title="class or interface in java.net">InetAddress</A>&nbsp;address,
    +             int&nbsp;port)</CODE>
    +
    +<BR>
    +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;This method can be overwritten to get an event just before a connection
    + is made.</TD>
    +</TR>
    +<TR BGCOLOR="white" CLASS="TableRowColor">
    +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
    +<CODE>protected &nbsp;void</CODE></FONT></TD>
    +<TD><CODE><B><A HREF="../../../../org/jacoco/core/tools/ExecDumpClient.html#onConnectionFailure(java.io.IOException)">onConnectionFailure</A></B>(<A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/io/IOException.html" title="class or interface in java.io">IOException</A>&nbsp;exception)</CODE>
    +
    +<BR>
    +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;This method can be overwritten to get an event for connection failures
    + when another retry will be attempted.</TD>
    +</TR>
    +<TR BGCOLOR="white" CLASS="TableRowColor">
    +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
    +<CODE>&nbsp;void</CODE></FONT></TD>
    +<TD><CODE><B><A HREF="../../../../org/jacoco/core/tools/ExecDumpClient.html#setDump(boolean)">setDump</A></B>(boolean&nbsp;dump)</CODE>
    +
    +<BR>
    +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Specifies whether a dump should be requested</TD>
    +</TR>
    +<TR BGCOLOR="white" CLASS="TableRowColor">
    +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
    +<CODE>&nbsp;void</CODE></FONT></TD>
    +<TD><CODE><B><A HREF="../../../../org/jacoco/core/tools/ExecDumpClient.html#setReset(boolean)">setReset</A></B>(boolean&nbsp;reset)</CODE>
    +
    +<BR>
    +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Specifies whether execution data should be reset.</TD>
    +</TR>
    +<TR BGCOLOR="white" CLASS="TableRowColor">
    +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
    +<CODE>&nbsp;void</CODE></FONT></TD>
    +<TD><CODE><B><A HREF="../../../../org/jacoco/core/tools/ExecDumpClient.html#setRetryCount(int)">setRetryCount</A></B>(int&nbsp;retryCount)</CODE>
    +
    +<BR>
    +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Sets the number of retry attempts to connect to the target socket.</TD>
    +</TR>
    +<TR BGCOLOR="white" CLASS="TableRowColor">
    +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
    +<CODE>&nbsp;void</CODE></FONT></TD>
    +<TD><CODE><B><A HREF="../../../../org/jacoco/core/tools/ExecDumpClient.html#setRetryDelay(long)">setRetryDelay</A></B>(long&nbsp;retryDelay)</CODE>
    +
    +<BR>
    +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Sets the delay time before between connection attempts.</TD>
    +</TR>
    +</TABLE>
    +&nbsp;<A NAME="methods_inherited_from_class_java.lang.Object"><!-- --></A>
    +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
    +<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
    +<TH ALIGN="left"><B>Methods inherited from class java.lang.<A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html" title="class or interface in java.lang">Object</A></B></TH>
    +</TR>
    +<TR BGCOLOR="white" CLASS="TableRowColor">
    +<TD><CODE><A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html#clone()" title="class or interface in java.lang">clone</A>, <A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html#equals(java.lang.Object)" title="class or interface in java.lang">equals</A>, <A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html#finalize()" title="class or interface in java.lang">finalize</A>, <A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html#getClass()" title="class or interface in java.lang">getClass</A>, <A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html#hashCode()" title="class or interface in java.lang">hashCode</A>, <A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html#notify()" title="class or interface in java.lang">notify</A>, <A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html#notifyAll()" title="class or interface in java.lang">notifyAll</A>, <A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html#toString()" title="class or interface in java.lang">toString</A>, <A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html#wait()" title="class or interface in java.lang">wait</A>, <A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html#wait(long)" title="class or interface in java.lang">wait</A>, <A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html#wait(long, int)" title="class or interface in java.lang">wait</A></CODE></TD>
    +</TR>
    +</TABLE>
    +&nbsp;
    +<P>
    +
    +<!-- ========= CONSTRUCTOR DETAIL ======== -->
    +
    +<A NAME="constructor_detail"><!-- --></A>
    +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
    +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
    +<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2">
    +<B>Constructor Detail</B></FONT></TH>
    +</TR>
    +</TABLE>
    +
    +<A NAME="ExecDumpClient()"><!-- --></A><H3>
    +ExecDumpClient</H3>
    +<PRE>
    +public <B>ExecDumpClient</B>()</PRE>
    +<DL>
    +<DD>New instance with the defaults <code>dump==true</code>,
    + <code>reset==false</code>, <code>retryCount==0</code> and
    + <code>retryDelay=1000</code>.
    +<P>
    +</DL>
    +
    +<!-- ============ METHOD DETAIL ========== -->
    +
    +<A NAME="method_detail"><!-- --></A>
    +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
    +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
    +<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2">
    +<B>Method Detail</B></FONT></TH>
    +</TR>
    +</TABLE>
    +
    +<A NAME="setDump(boolean)"><!-- --></A><H3>
    +setDump</H3>
    +<PRE>
    +public void <B>setDump</B>(boolean&nbsp;dump)</PRE>
    +<DL>
    +<DD>Specifies whether a dump should be requested
    +<P>
    +<DD><DL>
    +<DT><B>Parameters:</B><DD><CODE>dump</CODE> - <code>true</code> if a dump should be requested</DL>
    +</DD>
    +</DL>
    +<HR>
    +
    +<A NAME="setReset(boolean)"><!-- --></A><H3>
    +setReset</H3>
    +<PRE>
    +public void <B>setReset</B>(boolean&nbsp;reset)</PRE>
    +<DL>
    +<DD>Specifies whether execution data should be reset.
    +<P>
    +<DD><DL>
    +<DT><B>Parameters:</B><DD><CODE>reset</CODE> - <code>true</code> if execution data should be reset</DL>
    +</DD>
    +</DL>
    +<HR>
    +
    +<A NAME="setRetryCount(int)"><!-- --></A><H3>
    +setRetryCount</H3>
    +<PRE>
    +public void <B>setRetryCount</B>(int&nbsp;retryCount)</PRE>
    +<DL>
    +<DD>Sets the number of retry attempts to connect to the target socket. This
    + allows to wait for a certain time until the target agent has initialized.
    +<P>
    +<DD><DL>
    +<DT><B>Parameters:</B><DD><CODE>retryCount</CODE> - number of retries</DL>
    +</DD>
    +</DL>
    +<HR>
    +
    +<A NAME="setRetryDelay(long)"><!-- --></A><H3>
    +setRetryDelay</H3>
    +<PRE>
    +public void <B>setRetryDelay</B>(long&nbsp;retryDelay)</PRE>
    +<DL>
    +<DD>Sets the delay time before between connection attempts.
    +<P>
    +<DD><DL>
    +<DT><B>Parameters:</B><DD><CODE>retryDelay</CODE> - delay in milliseconds</DL>
    +</DD>
    +</DL>
    +<HR>
    +
    +<A NAME="dump(java.lang.String, int)"><!-- --></A><H3>
    +dump</H3>
    +<PRE>
    +public <A HREF="../../../../org/jacoco/core/tools/ExecFileLoader.html" title="class in org.jacoco.core.tools">ExecFileLoader</A> <B>dump</B>(<A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A>&nbsp;address,
    +                           int&nbsp;port)
    +                    throws <A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/io/IOException.html" title="class or interface in java.io">IOException</A></PRE>
    +<DL>
    +<DD>Requests a dump from the given end-point.
    +<P>
    +<DD><DL>
    +<DT><B>Parameters:</B><DD><CODE>address</CODE> - IP-Address to connect to<DD><CODE>port</CODE> - port to connect to
    +<DT><B>Returns:</B><DD>container for the dumped data
    +<DT><B>Throws:</B>
    +<DD><CODE><A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/io/IOException.html" title="class or interface in java.io">IOException</A></CODE> - in case the dump can not be requested</DL>
    +</DD>
    +</DL>
    +<HR>
    +
    +<A NAME="dump(java.net.InetAddress, int)"><!-- --></A><H3>
    +dump</H3>
    +<PRE>
    +public <A HREF="../../../../org/jacoco/core/tools/ExecFileLoader.html" title="class in org.jacoco.core.tools">ExecFileLoader</A> <B>dump</B>(<A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/net/InetAddress.html" title="class or interface in java.net">InetAddress</A>&nbsp;address,
    +                           int&nbsp;port)
    +                    throws <A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/io/IOException.html" title="class or interface in java.io">IOException</A></PRE>
    +<DL>
    +<DD>Requests a dump from the given end-point.
    +<P>
    +<DD><DL>
    +<DT><B>Parameters:</B><DD><CODE>address</CODE> - host name or IP-Address to connect to<DD><CODE>port</CODE> - port to connect to
    +<DT><B>Returns:</B><DD>container for the dumped data
    +<DT><B>Throws:</B>
    +<DD><CODE><A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/io/IOException.html" title="class or interface in java.io">IOException</A></CODE> - in case the dump can not be requested</DL>
    +</DD>
    +</DL>
    +<HR>
    +
    +<A NAME="onConnecting(java.net.InetAddress, int)"><!-- --></A><H3>
    +onConnecting</H3>
    +<PRE>
    +protected void <B>onConnecting</B>(<A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/net/InetAddress.html" title="class or interface in java.net">InetAddress</A>&nbsp;address,
    +                            int&nbsp;port)</PRE>
    +<DL>
    +<DD>This method can be overwritten to get an event just before a connection
    + is made.
    +<P>
    +<DD><DL>
    +<DT><B>Parameters:</B><DD><CODE>address</CODE> - target address<DD><CODE>port</CODE> - target port</DL>
    +</DD>
    +</DL>
    +<HR>
    +
    +<A NAME="onConnectionFailure(java.io.IOException)"><!-- --></A><H3>
    +onConnectionFailure</H3>
    +<PRE>
    +protected void <B>onConnectionFailure</B>(<A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/io/IOException.html" title="class or interface in java.io">IOException</A>&nbsp;exception)</PRE>
    +<DL>
    +<DD>This method can be overwritten to get an event for connection failures
    + when another retry will be attempted.
    +<P>
    +<DD><DL>
    +<DT><B>Parameters:</B><DD><CODE>exception</CODE> - connection error</DL>
    +</DD>
    +</DL>
    +<!-- ========= END OF CLASS DATA ========= -->
    +<HR>
    +
    +
    +<!-- ======= START OF BOTTOM NAVBAR ====== -->
    +<A NAME="navbar_bottom"><!-- --></A>
    +<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
    +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
    +<TR>
    +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
    +<A NAME="navbar_bottom_firstrow"><!-- --></A>
    +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
    +  <TR ALIGN="center" VALIGN="top">
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="class-use/ExecDumpClient.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
    +  </TR>
    +</TABLE>
    +</TD>
    +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
    +</EM>
    +</TD>
    +</TR>
    +
    +<TR>
    +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
    +&nbsp;PREV CLASS&nbsp;
    +&nbsp;<A HREF="../../../../org/jacoco/core/tools/ExecFileLoader.html" title="class in org.jacoco.core.tools"><B>NEXT CLASS</B></A></FONT></TD>
    +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
    +  <A HREF="../../../../index.html?org/jacoco/core/tools/ExecDumpClient.html" target="_top"><B>FRAMES</B></A>  &nbsp;
    +&nbsp;<A HREF="ExecDumpClient.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
    +&nbsp;<SCRIPT type="text/javascript">
    +  <!--
    +  if(window==top) {
    +    document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>');
    +  }
    +  //-->
    +</SCRIPT>
    +<NOSCRIPT>
    +  <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>
    +</NOSCRIPT>
    +
    +
    +</FONT></TD>
    +</TR>
    +<TR>
    +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
    +  SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;FIELD&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD>
    +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
    +DETAIL:&nbsp;FIELD&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD>
    +</TR>
    +</TABLE>
    +<A NAME="skip-navbar_bottom"></A>
    +<!-- ======== END OF BOTTOM NAVBAR ======= -->
    +
    +<HR>
    +Copyright &#169; 2009&#x2013;2024 Mountainminds GmbH & Co. KG. All rights reserved.
    +</BODY>
    +</HTML>
    diff --git a/jacoco/trunk/doc/api/org/jacoco/core/tools/ExecFileLoader.html b/jacoco/trunk/doc/api/org/jacoco/core/tools/ExecFileLoader.html
    new file mode 100644
    index 00000000000..9b2abc1d30f
    --- /dev/null
    +++ b/jacoco/trunk/doc/api/org/jacoco/core/tools/ExecFileLoader.html
    @@ -0,0 +1,385 @@
    +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
    +<!--NewPage-->
    +<HTML>
    +<HEAD>
    +<!-- Generated by javadoc (build 1.5.0_22) on Wed Mar 27 16:45:41 UTC 2024 -->
    +<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
    +<TITLE>
    +ExecFileLoader (JaCoCo 0.8.12.202403270442 API)
    +</TITLE>
    +
    +<META NAME="keywords" CONTENT="org.jacoco.core.tools.ExecFileLoader class">
    +
    +<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../stylesheet.css" TITLE="Style">
    +
    +<SCRIPT type="text/javascript">
    +function windowTitle()
    +{
    +    parent.document.title="ExecFileLoader (JaCoCo 0.8.12.202403270442 API)";
    +}
    +</SCRIPT>
    +<NOSCRIPT>
    +</NOSCRIPT>
    +
    +</HEAD>
    +
    +<BODY BGCOLOR="white" onload="windowTitle();">
    +
    +
    +<!-- ========= START OF TOP NAVBAR ======= -->
    +<A NAME="navbar_top"><!-- --></A>
    +<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
    +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
    +<TR>
    +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
    +<A NAME="navbar_top_firstrow"><!-- --></A>
    +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
    +  <TR ALIGN="center" VALIGN="top">
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="class-use/ExecFileLoader.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
    +  </TR>
    +</TABLE>
    +</TD>
    +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
    +</EM>
    +</TD>
    +</TR>
    +
    +<TR>
    +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
    +&nbsp;<A HREF="../../../../org/jacoco/core/tools/ExecDumpClient.html" title="class in org.jacoco.core.tools"><B>PREV CLASS</B></A>&nbsp;
    +&nbsp;NEXT CLASS</FONT></TD>
    +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
    +  <A HREF="../../../../index.html?org/jacoco/core/tools/ExecFileLoader.html" target="_top"><B>FRAMES</B></A>  &nbsp;
    +&nbsp;<A HREF="ExecFileLoader.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
    +&nbsp;<SCRIPT type="text/javascript">
    +  <!--
    +  if(window==top) {
    +    document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>');
    +  }
    +  //-->
    +</SCRIPT>
    +<NOSCRIPT>
    +  <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>
    +</NOSCRIPT>
    +
    +
    +</FONT></TD>
    +</TR>
    +<TR>
    +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
    +  SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;FIELD&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD>
    +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
    +DETAIL:&nbsp;FIELD&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD>
    +</TR>
    +</TABLE>
    +<A NAME="skip-navbar_top"></A>
    +<!-- ========= END OF TOP NAVBAR ========= -->
    +
    +<HR>
    +<!-- ======== START OF CLASS DATA ======== -->
    +<H2>
    +<FONT SIZE="-1">
    +org.jacoco.core.tools</FONT>
    +<BR>
    +Class ExecFileLoader</H2>
    +<PRE>
    +<A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html" title="class or interface in java.lang">java.lang.Object</A>
    +  <IMG SRC="../../../../resources/inherit.gif" ALT="extended by "><B>org.jacoco.core.tools.ExecFileLoader</B>
    +</PRE>
    +<HR>
    +<DL>
    +<DT><PRE>public class <B>ExecFileLoader</B><DT>extends <A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html" title="class or interface in java.lang">Object</A></DL>
    +</PRE>
    +
    +<P>
    +Convenience utility for loading *.exec files into a
    + <A HREF="../../../../org/jacoco/core/data/ExecutionDataStore.html" title="class in org.jacoco.core.data"><CODE>ExecutionDataStore</CODE></A> and a <A HREF="../../../../org/jacoco/core/data/SessionInfoStore.html" title="class in org.jacoco.core.data"><CODE>SessionInfoStore</CODE></A>.
    +<P>
    +
    +<P>
    +<HR>
    +
    +<P>
    +
    +<!-- ======== CONSTRUCTOR SUMMARY ======== -->
    +
    +<A NAME="constructor_summary"><!-- --></A>
    +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
    +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
    +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
    +<B>Constructor Summary</B></FONT></TH>
    +</TR>
    +<TR BGCOLOR="white" CLASS="TableRowColor">
    +<TD><CODE><B><A HREF="../../../../org/jacoco/core/tools/ExecFileLoader.html#ExecFileLoader()">ExecFileLoader</A></B>()</CODE>
    +
    +<BR>
    +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;New instance to combine session infos and execution data from multiple
    + files.</TD>
    +</TR>
    +</TABLE>
    +&nbsp;
    +<!-- ========== METHOD SUMMARY =========== -->
    +
    +<A NAME="method_summary"><!-- --></A>
    +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
    +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
    +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
    +<B>Method Summary</B></FONT></TH>
    +</TR>
    +<TR BGCOLOR="white" CLASS="TableRowColor">
    +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
    +<CODE>&nbsp;<A HREF="../../../../org/jacoco/core/data/ExecutionDataStore.html" title="class in org.jacoco.core.data">ExecutionDataStore</A></CODE></FONT></TD>
    +<TD><CODE><B><A HREF="../../../../org/jacoco/core/tools/ExecFileLoader.html#getExecutionDataStore()">getExecutionDataStore</A></B>()</CODE>
    +
    +<BR>
    +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns the execution data store with data for all loaded classes.</TD>
    +</TR>
    +<TR BGCOLOR="white" CLASS="TableRowColor">
    +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
    +<CODE>&nbsp;<A HREF="../../../../org/jacoco/core/data/SessionInfoStore.html" title="class in org.jacoco.core.data">SessionInfoStore</A></CODE></FONT></TD>
    +<TD><CODE><B><A HREF="../../../../org/jacoco/core/tools/ExecFileLoader.html#getSessionInfoStore()">getSessionInfoStore</A></B>()</CODE>
    +
    +<BR>
    +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns the session info store with all loaded sessions.</TD>
    +</TR>
    +<TR BGCOLOR="white" CLASS="TableRowColor">
    +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
    +<CODE>&nbsp;void</CODE></FONT></TD>
    +<TD><CODE><B><A HREF="../../../../org/jacoco/core/tools/ExecFileLoader.html#load(java.io.File)">load</A></B>(<A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/io/File.html" title="class or interface in java.io">File</A>&nbsp;file)</CODE>
    +
    +<BR>
    +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Reads all data from given input stream.</TD>
    +</TR>
    +<TR BGCOLOR="white" CLASS="TableRowColor">
    +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
    +<CODE>&nbsp;void</CODE></FONT></TD>
    +<TD><CODE><B><A HREF="../../../../org/jacoco/core/tools/ExecFileLoader.html#load(java.io.InputStream)">load</A></B>(<A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/io/InputStream.html" title="class or interface in java.io">InputStream</A>&nbsp;stream)</CODE>
    +
    +<BR>
    +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Reads all data from given input stream.</TD>
    +</TR>
    +<TR BGCOLOR="white" CLASS="TableRowColor">
    +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
    +<CODE>&nbsp;void</CODE></FONT></TD>
    +<TD><CODE><B><A HREF="../../../../org/jacoco/core/tools/ExecFileLoader.html#save(java.io.File, boolean)">save</A></B>(<A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/io/File.html" title="class or interface in java.io">File</A>&nbsp;file,
    +     boolean&nbsp;append)</CODE>
    +
    +<BR>
    +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Saves the current content into the given file.</TD>
    +</TR>
    +<TR BGCOLOR="white" CLASS="TableRowColor">
    +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
    +<CODE>&nbsp;void</CODE></FONT></TD>
    +<TD><CODE><B><A HREF="../../../../org/jacoco/core/tools/ExecFileLoader.html#save(java.io.OutputStream)">save</A></B>(<A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/io/OutputStream.html" title="class or interface in java.io">OutputStream</A>&nbsp;stream)</CODE>
    +
    +<BR>
    +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Saves the current content into the given output stream.</TD>
    +</TR>
    +</TABLE>
    +&nbsp;<A NAME="methods_inherited_from_class_java.lang.Object"><!-- --></A>
    +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
    +<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
    +<TH ALIGN="left"><B>Methods inherited from class java.lang.<A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html" title="class or interface in java.lang">Object</A></B></TH>
    +</TR>
    +<TR BGCOLOR="white" CLASS="TableRowColor">
    +<TD><CODE><A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html#clone()" title="class or interface in java.lang">clone</A>, <A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html#equals(java.lang.Object)" title="class or interface in java.lang">equals</A>, <A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html#finalize()" title="class or interface in java.lang">finalize</A>, <A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html#getClass()" title="class or interface in java.lang">getClass</A>, <A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html#hashCode()" title="class or interface in java.lang">hashCode</A>, <A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html#notify()" title="class or interface in java.lang">notify</A>, <A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html#notifyAll()" title="class or interface in java.lang">notifyAll</A>, <A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html#toString()" title="class or interface in java.lang">toString</A>, <A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html#wait()" title="class or interface in java.lang">wait</A>, <A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html#wait(long)" title="class or interface in java.lang">wait</A>, <A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html#wait(long, int)" title="class or interface in java.lang">wait</A></CODE></TD>
    +</TR>
    +</TABLE>
    +&nbsp;
    +<P>
    +
    +<!-- ========= CONSTRUCTOR DETAIL ======== -->
    +
    +<A NAME="constructor_detail"><!-- --></A>
    +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
    +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
    +<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2">
    +<B>Constructor Detail</B></FONT></TH>
    +</TR>
    +</TABLE>
    +
    +<A NAME="ExecFileLoader()"><!-- --></A><H3>
    +ExecFileLoader</H3>
    +<PRE>
    +public <B>ExecFileLoader</B>()</PRE>
    +<DL>
    +<DD>New instance to combine session infos and execution data from multiple
    + files.
    +<P>
    +</DL>
    +
    +<!-- ============ METHOD DETAIL ========== -->
    +
    +<A NAME="method_detail"><!-- --></A>
    +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
    +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
    +<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2">
    +<B>Method Detail</B></FONT></TH>
    +</TR>
    +</TABLE>
    +
    +<A NAME="load(java.io.InputStream)"><!-- --></A><H3>
    +load</H3>
    +<PRE>
    +public void <B>load</B>(<A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/io/InputStream.html" title="class or interface in java.io">InputStream</A>&nbsp;stream)
    +          throws <A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/io/IOException.html" title="class or interface in java.io">IOException</A></PRE>
    +<DL>
    +<DD>Reads all data from given input stream.
    +<P>
    +<DD><DL>
    +<DT><B>Parameters:</B><DD><CODE>stream</CODE> - Stream to read data from
    +<DT><B>Throws:</B>
    +<DD><CODE><A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/io/IOException.html" title="class or interface in java.io">IOException</A></CODE> - in case of problems while reading from the stream</DL>
    +</DD>
    +</DL>
    +<HR>
    +
    +<A NAME="load(java.io.File)"><!-- --></A><H3>
    +load</H3>
    +<PRE>
    +public void <B>load</B>(<A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/io/File.html" title="class or interface in java.io">File</A>&nbsp;file)
    +          throws <A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/io/IOException.html" title="class or interface in java.io">IOException</A></PRE>
    +<DL>
    +<DD>Reads all data from given input stream.
    +<P>
    +<DD><DL>
    +<DT><B>Parameters:</B><DD><CODE>file</CODE> - file to read data from
    +<DT><B>Throws:</B>
    +<DD><CODE><A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/io/IOException.html" title="class or interface in java.io">IOException</A></CODE> - in case of problems while reading from the stream</DL>
    +</DD>
    +</DL>
    +<HR>
    +
    +<A NAME="save(java.io.OutputStream)"><!-- --></A><H3>
    +save</H3>
    +<PRE>
    +public void <B>save</B>(<A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/io/OutputStream.html" title="class or interface in java.io">OutputStream</A>&nbsp;stream)
    +          throws <A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/io/IOException.html" title="class or interface in java.io">IOException</A></PRE>
    +<DL>
    +<DD>Saves the current content into the given output stream.
    +<P>
    +<DD><DL>
    +<DT><B>Parameters:</B><DD><CODE>stream</CODE> - stream to save content to
    +<DT><B>Throws:</B>
    +<DD><CODE><A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/io/IOException.html" title="class or interface in java.io">IOException</A></CODE> - in case of problems while writing to the stream</DL>
    +</DD>
    +</DL>
    +<HR>
    +
    +<A NAME="save(java.io.File, boolean)"><!-- --></A><H3>
    +save</H3>
    +<PRE>
    +public void <B>save</B>(<A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/io/File.html" title="class or interface in java.io">File</A>&nbsp;file,
    +                 boolean&nbsp;append)
    +          throws <A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/io/IOException.html" title="class or interface in java.io">IOException</A></PRE>
    +<DL>
    +<DD>Saves the current content into the given file. Parent directories are
    + created as needed. Also a files system lock is acquired to avoid
    + concurrent write access.
    +<P>
    +<DD><DL>
    +<DT><B>Parameters:</B><DD><CODE>file</CODE> - file to save content to<DD><CODE>append</CODE> - <code>true</code> if the content should be appended, otherwise
    +            the file is overwritten.
    +<DT><B>Throws:</B>
    +<DD><CODE><A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/io/IOException.html" title="class or interface in java.io">IOException</A></CODE> - in case of problems while writing to the stream</DL>
    +</DD>
    +</DL>
    +<HR>
    +
    +<A NAME="getSessionInfoStore()"><!-- --></A><H3>
    +getSessionInfoStore</H3>
    +<PRE>
    +public <A HREF="../../../../org/jacoco/core/data/SessionInfoStore.html" title="class in org.jacoco.core.data">SessionInfoStore</A> <B>getSessionInfoStore</B>()</PRE>
    +<DL>
    +<DD>Returns the session info store with all loaded sessions.
    +<P>
    +<DD><DL>
    +
    +<DT><B>Returns:</B><DD>session info store</DL>
    +</DD>
    +</DL>
    +<HR>
    +
    +<A NAME="getExecutionDataStore()"><!-- --></A><H3>
    +getExecutionDataStore</H3>
    +<PRE>
    +public <A HREF="../../../../org/jacoco/core/data/ExecutionDataStore.html" title="class in org.jacoco.core.data">ExecutionDataStore</A> <B>getExecutionDataStore</B>()</PRE>
    +<DL>
    +<DD>Returns the execution data store with data for all loaded classes.
    +<P>
    +<DD><DL>
    +
    +<DT><B>Returns:</B><DD>execution data store</DL>
    +</DD>
    +</DL>
    +<!-- ========= END OF CLASS DATA ========= -->
    +<HR>
    +
    +
    +<!-- ======= START OF BOTTOM NAVBAR ====== -->
    +<A NAME="navbar_bottom"><!-- --></A>
    +<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
    +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
    +<TR>
    +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
    +<A NAME="navbar_bottom_firstrow"><!-- --></A>
    +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
    +  <TR ALIGN="center" VALIGN="top">
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="class-use/ExecFileLoader.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
    +  </TR>
    +</TABLE>
    +</TD>
    +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
    +</EM>
    +</TD>
    +</TR>
    +
    +<TR>
    +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
    +&nbsp;<A HREF="../../../../org/jacoco/core/tools/ExecDumpClient.html" title="class in org.jacoco.core.tools"><B>PREV CLASS</B></A>&nbsp;
    +&nbsp;NEXT CLASS</FONT></TD>
    +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
    +  <A HREF="../../../../index.html?org/jacoco/core/tools/ExecFileLoader.html" target="_top"><B>FRAMES</B></A>  &nbsp;
    +&nbsp;<A HREF="ExecFileLoader.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
    +&nbsp;<SCRIPT type="text/javascript">
    +  <!--
    +  if(window==top) {
    +    document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>');
    +  }
    +  //-->
    +</SCRIPT>
    +<NOSCRIPT>
    +  <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>
    +</NOSCRIPT>
    +
    +
    +</FONT></TD>
    +</TR>
    +<TR>
    +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
    +  SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;FIELD&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD>
    +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
    +DETAIL:&nbsp;FIELD&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD>
    +</TR>
    +</TABLE>
    +<A NAME="skip-navbar_bottom"></A>
    +<!-- ======== END OF BOTTOM NAVBAR ======= -->
    +
    +<HR>
    +Copyright &#169; 2009&#x2013;2024 Mountainminds GmbH & Co. KG. All rights reserved.
    +</BODY>
    +</HTML>
    diff --git a/jacoco/trunk/doc/api/org/jacoco/core/tools/class-use/ExecDumpClient.html b/jacoco/trunk/doc/api/org/jacoco/core/tools/class-use/ExecDumpClient.html
    new file mode 100644
    index 00000000000..34bc55de3b8
    --- /dev/null
    +++ b/jacoco/trunk/doc/api/org/jacoco/core/tools/class-use/ExecDumpClient.html
    @@ -0,0 +1,141 @@
    +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
    +<!--NewPage-->
    +<HTML>
    +<HEAD>
    +<!-- Generated by javadoc (build 1.5.0_22) on Wed Mar 27 16:45:42 UTC 2024 -->
    +<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
    +<TITLE>
    +Uses of Class org.jacoco.core.tools.ExecDumpClient (JaCoCo 0.8.12.202403270442 API)
    +</TITLE>
    +
    +
    +<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../../stylesheet.css" TITLE="Style">
    +
    +<SCRIPT type="text/javascript">
    +function windowTitle()
    +{
    +    parent.document.title="Uses of Class org.jacoco.core.tools.ExecDumpClient (JaCoCo 0.8.12.202403270442 API)";
    +}
    +</SCRIPT>
    +<NOSCRIPT>
    +</NOSCRIPT>
    +
    +</HEAD>
    +
    +<BODY BGCOLOR="white" onload="windowTitle();">
    +
    +
    +<!-- ========= START OF TOP NAVBAR ======= -->
    +<A NAME="navbar_top"><!-- --></A>
    +<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
    +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
    +<TR>
    +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
    +<A NAME="navbar_top_firstrow"><!-- --></A>
    +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
    +  <TR ALIGN="center" VALIGN="top">
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../org/jacoco/core/tools/ExecDumpClient.html" title="class in org.jacoco.core.tools"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
    +  </TR>
    +</TABLE>
    +</TD>
    +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
    +</EM>
    +</TD>
    +</TR>
    +
    +<TR>
    +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
    +&nbsp;PREV&nbsp;
    +&nbsp;NEXT</FONT></TD>
    +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
    +  <A HREF="../../../../../index.html?org/jacoco/core/tools/class-use/ExecDumpClient.html" target="_top"><B>FRAMES</B></A>  &nbsp;
    +&nbsp;<A HREF="ExecDumpClient.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
    +&nbsp;<SCRIPT type="text/javascript">
    +  <!--
    +  if(window==top) {
    +    document.writeln('<A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>');
    +  }
    +  //-->
    +</SCRIPT>
    +<NOSCRIPT>
    +  <A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>
    +</NOSCRIPT>
    +
    +
    +</FONT></TD>
    +</TR>
    +</TABLE>
    +<A NAME="skip-navbar_top"></A>
    +<!-- ========= END OF TOP NAVBAR ========= -->
    +
    +<HR>
    +<CENTER>
    +<H2>
    +<B>Uses of Class<br>org.jacoco.core.tools.ExecDumpClient</B></H2>
    +</CENTER>
    +No usage of org.jacoco.core.tools.ExecDumpClient
    +<P>
    +<HR>
    +
    +
    +<!-- ======= START OF BOTTOM NAVBAR ====== -->
    +<A NAME="navbar_bottom"><!-- --></A>
    +<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
    +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
    +<TR>
    +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
    +<A NAME="navbar_bottom_firstrow"><!-- --></A>
    +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
    +  <TR ALIGN="center" VALIGN="top">
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../org/jacoco/core/tools/ExecDumpClient.html" title="class in org.jacoco.core.tools"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
    +  </TR>
    +</TABLE>
    +</TD>
    +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
    +</EM>
    +</TD>
    +</TR>
    +
    +<TR>
    +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
    +&nbsp;PREV&nbsp;
    +&nbsp;NEXT</FONT></TD>
    +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
    +  <A HREF="../../../../../index.html?org/jacoco/core/tools/class-use/ExecDumpClient.html" target="_top"><B>FRAMES</B></A>  &nbsp;
    +&nbsp;<A HREF="ExecDumpClient.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
    +&nbsp;<SCRIPT type="text/javascript">
    +  <!--
    +  if(window==top) {
    +    document.writeln('<A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>');
    +  }
    +  //-->
    +</SCRIPT>
    +<NOSCRIPT>
    +  <A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>
    +</NOSCRIPT>
    +
    +
    +</FONT></TD>
    +</TR>
    +</TABLE>
    +<A NAME="skip-navbar_bottom"></A>
    +<!-- ======== END OF BOTTOM NAVBAR ======= -->
    +
    +<HR>
    +Copyright &#169; 2009&#x2013;2024 Mountainminds GmbH & Co. KG. All rights reserved.
    +</BODY>
    +</HTML>
    diff --git a/jacoco/trunk/doc/api/org/jacoco/core/tools/class-use/ExecFileLoader.html b/jacoco/trunk/doc/api/org/jacoco/core/tools/class-use/ExecFileLoader.html
    new file mode 100644
    index 00000000000..4b61c6c1ecb
    --- /dev/null
    +++ b/jacoco/trunk/doc/api/org/jacoco/core/tools/class-use/ExecFileLoader.html
    @@ -0,0 +1,187 @@
    +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
    +<!--NewPage-->
    +<HTML>
    +<HEAD>
    +<!-- Generated by javadoc (build 1.5.0_22) on Wed Mar 27 16:45:42 UTC 2024 -->
    +<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
    +<TITLE>
    +Uses of Class org.jacoco.core.tools.ExecFileLoader (JaCoCo 0.8.12.202403270442 API)
    +</TITLE>
    +
    +
    +<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../../stylesheet.css" TITLE="Style">
    +
    +<SCRIPT type="text/javascript">
    +function windowTitle()
    +{
    +    parent.document.title="Uses of Class org.jacoco.core.tools.ExecFileLoader (JaCoCo 0.8.12.202403270442 API)";
    +}
    +</SCRIPT>
    +<NOSCRIPT>
    +</NOSCRIPT>
    +
    +</HEAD>
    +
    +<BODY BGCOLOR="white" onload="windowTitle();">
    +
    +
    +<!-- ========= START OF TOP NAVBAR ======= -->
    +<A NAME="navbar_top"><!-- --></A>
    +<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
    +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
    +<TR>
    +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
    +<A NAME="navbar_top_firstrow"><!-- --></A>
    +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
    +  <TR ALIGN="center" VALIGN="top">
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../org/jacoco/core/tools/ExecFileLoader.html" title="class in org.jacoco.core.tools"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
    +  </TR>
    +</TABLE>
    +</TD>
    +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
    +</EM>
    +</TD>
    +</TR>
    +
    +<TR>
    +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
    +&nbsp;PREV&nbsp;
    +&nbsp;NEXT</FONT></TD>
    +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
    +  <A HREF="../../../../../index.html?org/jacoco/core/tools/class-use/ExecFileLoader.html" target="_top"><B>FRAMES</B></A>  &nbsp;
    +&nbsp;<A HREF="ExecFileLoader.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
    +&nbsp;<SCRIPT type="text/javascript">
    +  <!--
    +  if(window==top) {
    +    document.writeln('<A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>');
    +  }
    +  //-->
    +</SCRIPT>
    +<NOSCRIPT>
    +  <A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>
    +</NOSCRIPT>
    +
    +
    +</FONT></TD>
    +</TR>
    +</TABLE>
    +<A NAME="skip-navbar_top"></A>
    +<!-- ========= END OF TOP NAVBAR ========= -->
    +
    +<HR>
    +<CENTER>
    +<H2>
    +<B>Uses of Class<br>org.jacoco.core.tools.ExecFileLoader</B></H2>
    +</CENTER>
    +
    +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
    +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
    +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
    +Packages that use <A HREF="../../../../../org/jacoco/core/tools/ExecFileLoader.html" title="class in org.jacoco.core.tools">ExecFileLoader</A></FONT></TH>
    +</TR>
    +<TR BGCOLOR="white" CLASS="TableRowColor">
    +<TD><A HREF="#org.jacoco.core.tools"><B>org.jacoco.core.tools</B></A></TD>
    +<TD>Collection of tools build on top of the JaCoCo core APIs.&nbsp;</TD>
    +</TR>
    +</TABLE>
    +&nbsp;
    +<P>
    +<A NAME="org.jacoco.core.tools"><!-- --></A>
    +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
    +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
    +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
    +Uses of <A HREF="../../../../../org/jacoco/core/tools/ExecFileLoader.html" title="class in org.jacoco.core.tools">ExecFileLoader</A> in <A HREF="../../../../../org/jacoco/core/tools/package-summary.html">org.jacoco.core.tools</A></FONT></TH>
    +</TR>
    +</TABLE>
    +&nbsp;
    +<P>
    +
    +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
    +<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor">
    +<TH ALIGN="left" COLSPAN="2">Methods in <A HREF="../../../../../org/jacoco/core/tools/package-summary.html">org.jacoco.core.tools</A> that return <A HREF="../../../../../org/jacoco/core/tools/ExecFileLoader.html" title="class in org.jacoco.core.tools">ExecFileLoader</A></FONT></TH>
    +</TR>
    +<TR BGCOLOR="white" CLASS="TableRowColor">
    +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
    +<CODE>&nbsp;<A HREF="../../../../../org/jacoco/core/tools/ExecFileLoader.html" title="class in org.jacoco.core.tools">ExecFileLoader</A></CODE></FONT></TD>
    +<TD><CODE><B>ExecDumpClient.</B><B><A HREF="../../../../../org/jacoco/core/tools/ExecDumpClient.html#dump(java.net.InetAddress, int)">dump</A></B>(<A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/net/InetAddress.html" title="class or interface in java.net">InetAddress</A>&nbsp;address,
    +     int&nbsp;port)</CODE>
    +
    +<BR>
    +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Requests a dump from the given end-point.</TD>
    +</TR>
    +<TR BGCOLOR="white" CLASS="TableRowColor">
    +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
    +<CODE>&nbsp;<A HREF="../../../../../org/jacoco/core/tools/ExecFileLoader.html" title="class in org.jacoco.core.tools">ExecFileLoader</A></CODE></FONT></TD>
    +<TD><CODE><B>ExecDumpClient.</B><B><A HREF="../../../../../org/jacoco/core/tools/ExecDumpClient.html#dump(java.lang.String, int)">dump</A></B>(<A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A>&nbsp;address,
    +     int&nbsp;port)</CODE>
    +
    +<BR>
    +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Requests a dump from the given end-point.</TD>
    +</TR>
    +</TABLE>
    +&nbsp;
    +<P>
    +<HR>
    +
    +
    +<!-- ======= START OF BOTTOM NAVBAR ====== -->
    +<A NAME="navbar_bottom"><!-- --></A>
    +<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
    +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
    +<TR>
    +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
    +<A NAME="navbar_bottom_firstrow"><!-- --></A>
    +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
    +  <TR ALIGN="center" VALIGN="top">
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../org/jacoco/core/tools/ExecFileLoader.html" title="class in org.jacoco.core.tools"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
    +  </TR>
    +</TABLE>
    +</TD>
    +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
    +</EM>
    +</TD>
    +</TR>
    +
    +<TR>
    +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
    +&nbsp;PREV&nbsp;
    +&nbsp;NEXT</FONT></TD>
    +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
    +  <A HREF="../../../../../index.html?org/jacoco/core/tools/class-use/ExecFileLoader.html" target="_top"><B>FRAMES</B></A>  &nbsp;
    +&nbsp;<A HREF="ExecFileLoader.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
    +&nbsp;<SCRIPT type="text/javascript">
    +  <!--
    +  if(window==top) {
    +    document.writeln('<A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>');
    +  }
    +  //-->
    +</SCRIPT>
    +<NOSCRIPT>
    +  <A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>
    +</NOSCRIPT>
    +
    +
    +</FONT></TD>
    +</TR>
    +</TABLE>
    +<A NAME="skip-navbar_bottom"></A>
    +<!-- ======== END OF BOTTOM NAVBAR ======= -->
    +
    +<HR>
    +Copyright &#169; 2009&#x2013;2024 Mountainminds GmbH & Co. KG. All rights reserved.
    +</BODY>
    +</HTML>
    diff --git a/jacoco/trunk/doc/api/org/jacoco/core/tools/package-frame.html b/jacoco/trunk/doc/api/org/jacoco/core/tools/package-frame.html
    new file mode 100644
    index 00000000000..6e21a3b9f8f
    --- /dev/null
    +++ b/jacoco/trunk/doc/api/org/jacoco/core/tools/package-frame.html
    @@ -0,0 +1,35 @@
    +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
    +<!--NewPage-->
    +<HTML>
    +<HEAD>
    +<!-- Generated by javadoc (build 1.5.0_22) on Wed Mar 27 16:45:42 UTC 2024 -->
    +<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
    +<TITLE>
    +org.jacoco.core.tools (JaCoCo 0.8.12.202403270442 API)
    +</TITLE>
    +
    +<META NAME="keywords" CONTENT="org.jacoco.core.tools package">
    +
    +<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../stylesheet.css" TITLE="Style">
    +
    +
    +</HEAD>
    +
    +<BODY BGCOLOR="white">
    +<FONT size="+1" CLASS="FrameTitleFont">
    +<A HREF="../../../../org/jacoco/core/tools/package-summary.html" target="classFrame">org.jacoco.core.tools</A></FONT>
    +<TABLE BORDER="0" WIDTH="100%" SUMMARY="">
    +<TR>
    +<TD NOWRAP><FONT size="+1" CLASS="FrameHeadingFont">
    +Classes</FONT>&nbsp;
    +<FONT CLASS="FrameItemFont">
    +<BR>
    +<A HREF="ExecDumpClient.html" title="class in org.jacoco.core.tools" target="classFrame">ExecDumpClient</A>
    +<BR>
    +<A HREF="ExecFileLoader.html" title="class in org.jacoco.core.tools" target="classFrame">ExecFileLoader</A></FONT></TD>
    +</TR>
    +</TABLE>
    +
    +
    +</BODY>
    +</HTML>
    diff --git a/jacoco/trunk/doc/api/org/jacoco/core/tools/package-summary.html b/jacoco/trunk/doc/api/org/jacoco/core/tools/package-summary.html
    new file mode 100644
    index 00000000000..3aff9a30b55
    --- /dev/null
    +++ b/jacoco/trunk/doc/api/org/jacoco/core/tools/package-summary.html
    @@ -0,0 +1,176 @@
    +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
    +<!--NewPage-->
    +<HTML>
    +<HEAD>
    +<!-- Generated by javadoc (build 1.5.0_22) on Wed Mar 27 16:45:42 UTC 2024 -->
    +<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
    +<TITLE>
    +org.jacoco.core.tools (JaCoCo 0.8.12.202403270442 API)
    +</TITLE>
    +
    +<META NAME="keywords" CONTENT="org.jacoco.core.tools package">
    +
    +<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../stylesheet.css" TITLE="Style">
    +
    +<SCRIPT type="text/javascript">
    +function windowTitle()
    +{
    +    parent.document.title="org.jacoco.core.tools (JaCoCo 0.8.12.202403270442 API)";
    +}
    +</SCRIPT>
    +<NOSCRIPT>
    +</NOSCRIPT>
    +
    +</HEAD>
    +
    +<BODY BGCOLOR="white" onload="windowTitle();">
    +
    +
    +<!-- ========= START OF TOP NAVBAR ======= -->
    +<A NAME="navbar_top"><!-- --></A>
    +<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
    +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
    +<TR>
    +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
    +<A NAME="navbar_top_firstrow"><!-- --></A>
    +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
    +  <TR ALIGN="center" VALIGN="top">
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Package</B></FONT>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <FONT CLASS="NavBarFont1">Class</FONT>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-use.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
    +  </TR>
    +</TABLE>
    +</TD>
    +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
    +</EM>
    +</TD>
    +</TR>
    +
    +<TR>
    +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
    +&nbsp;<A HREF="../../../../org/jacoco/core/runtime/package-summary.html"><B>PREV PACKAGE</B></A>&nbsp;
    +&nbsp;<A HREF="../../../../org/jacoco/report/package-summary.html"><B>NEXT PACKAGE</B></A></FONT></TD>
    +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
    +  <A HREF="../../../../index.html?org/jacoco/core/tools/package-summary.html" target="_top"><B>FRAMES</B></A>  &nbsp;
    +&nbsp;<A HREF="package-summary.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
    +&nbsp;<SCRIPT type="text/javascript">
    +  <!--
    +  if(window==top) {
    +    document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>');
    +  }
    +  //-->
    +</SCRIPT>
    +<NOSCRIPT>
    +  <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>
    +</NOSCRIPT>
    +
    +
    +</FONT></TD>
    +</TR>
    +</TABLE>
    +<A NAME="skip-navbar_top"></A>
    +<!-- ========= END OF TOP NAVBAR ========= -->
    +
    +<HR>
    +<H2>
    +Package org.jacoco.core.tools
    +</H2>
    +Collection of tools build on top of the JaCoCo core APIs.
    +<P>
    +<B>See:</B>
    +<BR>
    +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<A HREF="#package_description"><B>Description</B></A>
    +<P>
    +
    +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
    +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
    +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
    +<B>Class Summary</B></FONT></TH>
    +</TR>
    +<TR BGCOLOR="white" CLASS="TableRowColor">
    +<TD WIDTH="15%"><B><A HREF="../../../../org/jacoco/core/tools/ExecDumpClient.html" title="class in org.jacoco.core.tools">ExecDumpClient</A></B></TD>
    +<TD>A client for remote execution data dumps.</TD>
    +</TR>
    +<TR BGCOLOR="white" CLASS="TableRowColor">
    +<TD WIDTH="15%"><B><A HREF="../../../../org/jacoco/core/tools/ExecFileLoader.html" title="class in org.jacoco.core.tools">ExecFileLoader</A></B></TD>
    +<TD>Convenience utility for loading *.exec files into a
    + <A HREF="../../../../org/jacoco/core/data/ExecutionDataStore.html" title="class in org.jacoco.core.data"><CODE>ExecutionDataStore</CODE></A> and a <A HREF="../../../../org/jacoco/core/data/SessionInfoStore.html" title="class in org.jacoco.core.data"><CODE>SessionInfoStore</CODE></A>.</TD>
    +</TR>
    +</TABLE>
    +&nbsp;
    +
    +<P>
    +<A NAME="package_description"><!-- --></A><H2>
    +Package org.jacoco.core.tools Description
    +</H2>
    +
    +<P>
    +Collection of tools build on top of the JaCoCo core APIs. The tools offer
    + more high-level functionality useful for integrating JaCoCo.
    +<P>
    +
    +<P>
    +<DL>
    +</DL>
    +<HR>
    +
    +
    +<!-- ======= START OF BOTTOM NAVBAR ====== -->
    +<A NAME="navbar_bottom"><!-- --></A>
    +<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
    +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
    +<TR>
    +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
    +<A NAME="navbar_bottom_firstrow"><!-- --></A>
    +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
    +  <TR ALIGN="center" VALIGN="top">
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Package</B></FONT>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <FONT CLASS="NavBarFont1">Class</FONT>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-use.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
    +  </TR>
    +</TABLE>
    +</TD>
    +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
    +</EM>
    +</TD>
    +</TR>
    +
    +<TR>
    +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
    +&nbsp;<A HREF="../../../../org/jacoco/core/runtime/package-summary.html"><B>PREV PACKAGE</B></A>&nbsp;
    +&nbsp;<A HREF="../../../../org/jacoco/report/package-summary.html"><B>NEXT PACKAGE</B></A></FONT></TD>
    +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
    +  <A HREF="../../../../index.html?org/jacoco/core/tools/package-summary.html" target="_top"><B>FRAMES</B></A>  &nbsp;
    +&nbsp;<A HREF="package-summary.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
    +&nbsp;<SCRIPT type="text/javascript">
    +  <!--
    +  if(window==top) {
    +    document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>');
    +  }
    +  //-->
    +</SCRIPT>
    +<NOSCRIPT>
    +  <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>
    +</NOSCRIPT>
    +
    +
    +</FONT></TD>
    +</TR>
    +</TABLE>
    +<A NAME="skip-navbar_bottom"></A>
    +<!-- ======== END OF BOTTOM NAVBAR ======= -->
    +
    +<HR>
    +Copyright &#169; 2009&#x2013;2024 Mountainminds GmbH & Co. KG. All rights reserved.
    +</BODY>
    +</HTML>
    diff --git a/jacoco/trunk/doc/api/org/jacoco/core/tools/package-tree.html b/jacoco/trunk/doc/api/org/jacoco/core/tools/package-tree.html
    new file mode 100644
    index 00000000000..b0c79bef112
    --- /dev/null
    +++ b/jacoco/trunk/doc/api/org/jacoco/core/tools/package-tree.html
    @@ -0,0 +1,150 @@
    +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
    +<!--NewPage-->
    +<HTML>
    +<HEAD>
    +<!-- Generated by javadoc (build 1.5.0_22) on Wed Mar 27 16:45:42 UTC 2024 -->
    +<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
    +<TITLE>
    +org.jacoco.core.tools Class Hierarchy (JaCoCo 0.8.12.202403270442 API)
    +</TITLE>
    +
    +
    +<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../stylesheet.css" TITLE="Style">
    +
    +<SCRIPT type="text/javascript">
    +function windowTitle()
    +{
    +    parent.document.title="org.jacoco.core.tools Class Hierarchy (JaCoCo 0.8.12.202403270442 API)";
    +}
    +</SCRIPT>
    +<NOSCRIPT>
    +</NOSCRIPT>
    +
    +</HEAD>
    +
    +<BODY BGCOLOR="white" onload="windowTitle();">
    +
    +
    +<!-- ========= START OF TOP NAVBAR ======= -->
    +<A NAME="navbar_top"><!-- --></A>
    +<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
    +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
    +<TR>
    +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
    +<A NAME="navbar_top_firstrow"><!-- --></A>
    +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
    +  <TR ALIGN="center" VALIGN="top">
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <FONT CLASS="NavBarFont1">Class</FONT>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <FONT CLASS="NavBarFont1">Use</FONT>&nbsp;</TD>
    +  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Tree</B></FONT>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
    +  </TR>
    +</TABLE>
    +</TD>
    +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
    +</EM>
    +</TD>
    +</TR>
    +
    +<TR>
    +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
    +&nbsp;<A HREF="../../../../org/jacoco/core/runtime/package-tree.html"><B>PREV</B></A>&nbsp;
    +&nbsp;<A HREF="../../../../org/jacoco/report/package-tree.html"><B>NEXT</B></A></FONT></TD>
    +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
    +  <A HREF="../../../../index.html?org/jacoco/core/tools/package-tree.html" target="_top"><B>FRAMES</B></A>  &nbsp;
    +&nbsp;<A HREF="package-tree.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
    +&nbsp;<SCRIPT type="text/javascript">
    +  <!--
    +  if(window==top) {
    +    document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>');
    +  }
    +  //-->
    +</SCRIPT>
    +<NOSCRIPT>
    +  <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>
    +</NOSCRIPT>
    +
    +
    +</FONT></TD>
    +</TR>
    +</TABLE>
    +<A NAME="skip-navbar_top"></A>
    +<!-- ========= END OF TOP NAVBAR ========= -->
    +
    +<HR>
    +<CENTER>
    +<H2>
    +Hierarchy For Package org.jacoco.core.tools
    +</H2>
    +</CENTER>
    +<DL>
    +<DT><B>Package Hierarchies:</B><DD><A HREF="../../../../overview-tree.html">All Packages</A></DL>
    +<HR>
    +<H2>
    +Class Hierarchy
    +</H2>
    +<UL>
    +<LI TYPE="circle">java.lang.<A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html" title="class or interface in java.lang"><B>Object</B></A><UL>
    +<LI TYPE="circle">org.jacoco.core.tools.<A HREF="../../../../org/jacoco/core/tools/ExecDumpClient.html" title="class in org.jacoco.core.tools"><B>ExecDumpClient</B></A><LI TYPE="circle">org.jacoco.core.tools.<A HREF="../../../../org/jacoco/core/tools/ExecFileLoader.html" title="class in org.jacoco.core.tools"><B>ExecFileLoader</B></A></UL>
    +</UL>
    +<HR>
    +
    +
    +<!-- ======= START OF BOTTOM NAVBAR ====== -->
    +<A NAME="navbar_bottom"><!-- --></A>
    +<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
    +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
    +<TR>
    +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
    +<A NAME="navbar_bottom_firstrow"><!-- --></A>
    +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
    +  <TR ALIGN="center" VALIGN="top">
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <FONT CLASS="NavBarFont1">Class</FONT>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <FONT CLASS="NavBarFont1">Use</FONT>&nbsp;</TD>
    +  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Tree</B></FONT>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
    +  </TR>
    +</TABLE>
    +</TD>
    +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
    +</EM>
    +</TD>
    +</TR>
    +
    +<TR>
    +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
    +&nbsp;<A HREF="../../../../org/jacoco/core/runtime/package-tree.html"><B>PREV</B></A>&nbsp;
    +&nbsp;<A HREF="../../../../org/jacoco/report/package-tree.html"><B>NEXT</B></A></FONT></TD>
    +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
    +  <A HREF="../../../../index.html?org/jacoco/core/tools/package-tree.html" target="_top"><B>FRAMES</B></A>  &nbsp;
    +&nbsp;<A HREF="package-tree.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
    +&nbsp;<SCRIPT type="text/javascript">
    +  <!--
    +  if(window==top) {
    +    document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>');
    +  }
    +  //-->
    +</SCRIPT>
    +<NOSCRIPT>
    +  <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>
    +</NOSCRIPT>
    +
    +
    +</FONT></TD>
    +</TR>
    +</TABLE>
    +<A NAME="skip-navbar_bottom"></A>
    +<!-- ======== END OF BOTTOM NAVBAR ======= -->
    +
    +<HR>
    +Copyright &#169; 2009&#x2013;2024 Mountainminds GmbH & Co. KG. All rights reserved.
    +</BODY>
    +</HTML>
    diff --git a/jacoco/trunk/doc/api/org/jacoco/core/tools/package-use.html b/jacoco/trunk/doc/api/org/jacoco/core/tools/package-use.html
    new file mode 100644
    index 00000000000..ec5ff25e386
    --- /dev/null
    +++ b/jacoco/trunk/doc/api/org/jacoco/core/tools/package-use.html
    @@ -0,0 +1,168 @@
    +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
    +<!--NewPage-->
    +<HTML>
    +<HEAD>
    +<!-- Generated by javadoc (build 1.5.0_22) on Wed Mar 27 16:45:42 UTC 2024 -->
    +<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
    +<TITLE>
    +Uses of Package org.jacoco.core.tools (JaCoCo 0.8.12.202403270442 API)
    +</TITLE>
    +
    +
    +<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../stylesheet.css" TITLE="Style">
    +
    +<SCRIPT type="text/javascript">
    +function windowTitle()
    +{
    +    parent.document.title="Uses of Package org.jacoco.core.tools (JaCoCo 0.8.12.202403270442 API)";
    +}
    +</SCRIPT>
    +<NOSCRIPT>
    +</NOSCRIPT>
    +
    +</HEAD>
    +
    +<BODY BGCOLOR="white" onload="windowTitle();">
    +
    +
    +<!-- ========= START OF TOP NAVBAR ======= -->
    +<A NAME="navbar_top"><!-- --></A>
    +<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
    +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
    +<TR>
    +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
    +<A NAME="navbar_top_firstrow"><!-- --></A>
    +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
    +  <TR ALIGN="center" VALIGN="top">
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <FONT CLASS="NavBarFont1">Class</FONT>&nbsp;</TD>
    +  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
    +  </TR>
    +</TABLE>
    +</TD>
    +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
    +</EM>
    +</TD>
    +</TR>
    +
    +<TR>
    +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
    +&nbsp;PREV&nbsp;
    +&nbsp;NEXT</FONT></TD>
    +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
    +  <A HREF="../../../../index.html?org/jacoco/core/tools/package-use.html" target="_top"><B>FRAMES</B></A>  &nbsp;
    +&nbsp;<A HREF="package-use.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
    +&nbsp;<SCRIPT type="text/javascript">
    +  <!--
    +  if(window==top) {
    +    document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>');
    +  }
    +  //-->
    +</SCRIPT>
    +<NOSCRIPT>
    +  <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>
    +</NOSCRIPT>
    +
    +
    +</FONT></TD>
    +</TR>
    +</TABLE>
    +<A NAME="skip-navbar_top"></A>
    +<!-- ========= END OF TOP NAVBAR ========= -->
    +
    +<HR>
    +<CENTER>
    +<H2>
    +<B>Uses of Package<br>org.jacoco.core.tools</B></H2>
    +</CENTER>
    +
    +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
    +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
    +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
    +Packages that use <A HREF="../../../../org/jacoco/core/tools/package-summary.html">org.jacoco.core.tools</A></FONT></TH>
    +</TR>
    +<TR BGCOLOR="white" CLASS="TableRowColor">
    +<TD><A HREF="#org.jacoco.core.tools"><B>org.jacoco.core.tools</B></A></TD>
    +<TD>Collection of tools build on top of the JaCoCo core APIs.&nbsp;</TD>
    +</TR>
    +</TABLE>
    +&nbsp;
    +<P>
    +<A NAME="org.jacoco.core.tools"><!-- --></A>
    +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
    +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
    +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
    +Classes in <A HREF="../../../../org/jacoco/core/tools/package-summary.html">org.jacoco.core.tools</A> used by <A HREF="../../../../org/jacoco/core/tools/package-summary.html">org.jacoco.core.tools</A></FONT></TH>
    +</TR>
    +<TR BGCOLOR="white" CLASS="TableRowColor">
    +<TD><B><A HREF="../../../../org/jacoco/core/tools/class-use/ExecFileLoader.html#org.jacoco.core.tools"><B>ExecFileLoader</B></A></B>
    +
    +<BR>
    +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Convenience utility for loading *.exec files into a
    + <A HREF="../../../../org/jacoco/core/data/ExecutionDataStore.html" title="class in org.jacoco.core.data"><CODE>ExecutionDataStore</CODE></A> and a <A HREF="../../../../org/jacoco/core/data/SessionInfoStore.html" title="class in org.jacoco.core.data"><CODE>SessionInfoStore</CODE></A>.</TD>
    +</TR>
    +</TABLE>
    +&nbsp;
    +<P>
    +<HR>
    +
    +
    +<!-- ======= START OF BOTTOM NAVBAR ====== -->
    +<A NAME="navbar_bottom"><!-- --></A>
    +<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
    +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
    +<TR>
    +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
    +<A NAME="navbar_bottom_firstrow"><!-- --></A>
    +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
    +  <TR ALIGN="center" VALIGN="top">
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <FONT CLASS="NavBarFont1">Class</FONT>&nbsp;</TD>
    +  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
    +  </TR>
    +</TABLE>
    +</TD>
    +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
    +</EM>
    +</TD>
    +</TR>
    +
    +<TR>
    +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
    +&nbsp;PREV&nbsp;
    +&nbsp;NEXT</FONT></TD>
    +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
    +  <A HREF="../../../../index.html?org/jacoco/core/tools/package-use.html" target="_top"><B>FRAMES</B></A>  &nbsp;
    +&nbsp;<A HREF="package-use.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
    +&nbsp;<SCRIPT type="text/javascript">
    +  <!--
    +  if(window==top) {
    +    document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>');
    +  }
    +  //-->
    +</SCRIPT>
    +<NOSCRIPT>
    +  <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>
    +</NOSCRIPT>
    +
    +
    +</FONT></TD>
    +</TR>
    +</TABLE>
    +<A NAME="skip-navbar_bottom"></A>
    +<!-- ======== END OF BOTTOM NAVBAR ======= -->
    +
    +<HR>
    +Copyright &#169; 2009&#x2013;2024 Mountainminds GmbH & Co. KG. All rights reserved.
    +</BODY>
    +</HTML>
    diff --git a/jacoco/trunk/doc/api/org/jacoco/report/DirectorySourceFileLocator.html b/jacoco/trunk/doc/api/org/jacoco/report/DirectorySourceFileLocator.html
    new file mode 100644
    index 00000000000..3c11ba1e290
    --- /dev/null
    +++ b/jacoco/trunk/doc/api/org/jacoco/report/DirectorySourceFileLocator.html
    @@ -0,0 +1,289 @@
    +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
    +<!--NewPage-->
    +<HTML>
    +<HEAD>
    +<!-- Generated by javadoc (build 1.5.0_22) on Wed Mar 27 16:45:42 UTC 2024 -->
    +<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
    +<TITLE>
    +DirectorySourceFileLocator (JaCoCo 0.8.12.202403270442 API)
    +</TITLE>
    +
    +<META NAME="keywords" CONTENT="org.jacoco.report.DirectorySourceFileLocator class">
    +
    +<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../stylesheet.css" TITLE="Style">
    +
    +<SCRIPT type="text/javascript">
    +function windowTitle()
    +{
    +    parent.document.title="DirectorySourceFileLocator (JaCoCo 0.8.12.202403270442 API)";
    +}
    +</SCRIPT>
    +<NOSCRIPT>
    +</NOSCRIPT>
    +
    +</HEAD>
    +
    +<BODY BGCOLOR="white" onload="windowTitle();">
    +
    +
    +<!-- ========= START OF TOP NAVBAR ======= -->
    +<A NAME="navbar_top"><!-- --></A>
    +<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
    +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
    +<TR>
    +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
    +<A NAME="navbar_top_firstrow"><!-- --></A>
    +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
    +  <TR ALIGN="center" VALIGN="top">
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="class-use/DirectorySourceFileLocator.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
    +  </TR>
    +</TABLE>
    +</TD>
    +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
    +</EM>
    +</TD>
    +</TR>
    +
    +<TR>
    +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
    +&nbsp;PREV CLASS&nbsp;
    +&nbsp;<A HREF="../../../org/jacoco/report/FileMultiReportOutput.html" title="class in org.jacoco.report"><B>NEXT CLASS</B></A></FONT></TD>
    +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
    +  <A HREF="../../../index.html?org/jacoco/report/DirectorySourceFileLocator.html" target="_top"><B>FRAMES</B></A>  &nbsp;
    +&nbsp;<A HREF="DirectorySourceFileLocator.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
    +&nbsp;<SCRIPT type="text/javascript">
    +  <!--
    +  if(window==top) {
    +    document.writeln('<A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>');
    +  }
    +  //-->
    +</SCRIPT>
    +<NOSCRIPT>
    +  <A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>
    +</NOSCRIPT>
    +
    +
    +</FONT></TD>
    +</TR>
    +<TR>
    +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
    +  SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;FIELD&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD>
    +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
    +DETAIL:&nbsp;FIELD&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD>
    +</TR>
    +</TABLE>
    +<A NAME="skip-navbar_top"></A>
    +<!-- ========= END OF TOP NAVBAR ========= -->
    +
    +<HR>
    +<!-- ======== START OF CLASS DATA ======== -->
    +<H2>
    +<FONT SIZE="-1">
    +org.jacoco.report</FONT>
    +<BR>
    +Class DirectorySourceFileLocator</H2>
    +<PRE>
    +<A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html" title="class or interface in java.lang">java.lang.Object</A>
    +  <IMG SRC="../../../resources/inherit.gif" ALT="extended by "><A HREF="../../../org/jacoco/report/InputStreamSourceFileLocator.html" title="class in org.jacoco.report">org.jacoco.report.InputStreamSourceFileLocator</A>
    +      <IMG SRC="../../../resources/inherit.gif" ALT="extended by "><B>org.jacoco.report.DirectorySourceFileLocator</B>
    +</PRE>
    +<DL>
    +<DT><B>All Implemented Interfaces:</B> <DD><A HREF="../../../org/jacoco/report/ISourceFileLocator.html" title="interface in org.jacoco.report">ISourceFileLocator</A></DD>
    +</DL>
    +<HR>
    +<DL>
    +<DT><PRE>public class <B>DirectorySourceFileLocator</B><DT>extends <A HREF="../../../org/jacoco/report/InputStreamSourceFileLocator.html" title="class in org.jacoco.report">InputStreamSourceFileLocator</A></DL>
    +</PRE>
    +
    +<P>
    +Locator for source files that picks source files from a given directory in
    + the file system.
    +<P>
    +
    +<P>
    +<HR>
    +
    +<P>
    +
    +<!-- ======== CONSTRUCTOR SUMMARY ======== -->
    +
    +<A NAME="constructor_summary"><!-- --></A>
    +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
    +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
    +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
    +<B>Constructor Summary</B></FONT></TH>
    +</TR>
    +<TR BGCOLOR="white" CLASS="TableRowColor">
    +<TD><CODE><B><A HREF="../../../org/jacoco/report/DirectorySourceFileLocator.html#DirectorySourceFileLocator(java.io.File, java.lang.String, int)">DirectorySourceFileLocator</A></B>(<A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/io/File.html" title="class or interface in java.io">File</A>&nbsp;directory,
    +                           <A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A>&nbsp;encoding,
    +                           int&nbsp;tabWidth)</CODE>
    +
    +<BR>
    +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Creates a new locator that searches for source files in the given
    + directory.</TD>
    +</TR>
    +</TABLE>
    +&nbsp;
    +<!-- ========== METHOD SUMMARY =========== -->
    +
    +<A NAME="method_summary"><!-- --></A>
    +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
    +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
    +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
    +<B>Method Summary</B></FONT></TH>
    +</TR>
    +<TR BGCOLOR="white" CLASS="TableRowColor">
    +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
    +<CODE>protected &nbsp;<A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/io/InputStream.html" title="class or interface in java.io">InputStream</A></CODE></FONT></TD>
    +<TD><CODE><B><A HREF="../../../org/jacoco/report/DirectorySourceFileLocator.html#getSourceStream(java.lang.String)">getSourceStream</A></B>(<A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A>&nbsp;path)</CODE>
    +
    +<BR>
    +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Tries to locate the given source file and opens its binary content.</TD>
    +</TR>
    +</TABLE>
    +&nbsp;<A NAME="methods_inherited_from_class_org.jacoco.report.InputStreamSourceFileLocator"><!-- --></A>
    +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
    +<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
    +<TH ALIGN="left"><B>Methods inherited from class org.jacoco.report.<A HREF="../../../org/jacoco/report/InputStreamSourceFileLocator.html" title="class in org.jacoco.report">InputStreamSourceFileLocator</A></B></TH>
    +</TR>
    +<TR BGCOLOR="white" CLASS="TableRowColor">
    +<TD><CODE><A HREF="../../../org/jacoco/report/InputStreamSourceFileLocator.html#getSourceFile(java.lang.String, java.lang.String)">getSourceFile</A>, <A HREF="../../../org/jacoco/report/InputStreamSourceFileLocator.html#getTabWidth()">getTabWidth</A></CODE></TD>
    +</TR>
    +</TABLE>
    +&nbsp;<A NAME="methods_inherited_from_class_java.lang.Object"><!-- --></A>
    +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
    +<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
    +<TH ALIGN="left"><B>Methods inherited from class java.lang.<A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html" title="class or interface in java.lang">Object</A></B></TH>
    +</TR>
    +<TR BGCOLOR="white" CLASS="TableRowColor">
    +<TD><CODE><A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html#clone()" title="class or interface in java.lang">clone</A>, <A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html#equals(java.lang.Object)" title="class or interface in java.lang">equals</A>, <A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html#finalize()" title="class or interface in java.lang">finalize</A>, <A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html#getClass()" title="class or interface in java.lang">getClass</A>, <A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html#hashCode()" title="class or interface in java.lang">hashCode</A>, <A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html#notify()" title="class or interface in java.lang">notify</A>, <A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html#notifyAll()" title="class or interface in java.lang">notifyAll</A>, <A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html#toString()" title="class or interface in java.lang">toString</A>, <A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html#wait()" title="class or interface in java.lang">wait</A>, <A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html#wait(long)" title="class or interface in java.lang">wait</A>, <A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html#wait(long, int)" title="class or interface in java.lang">wait</A></CODE></TD>
    +</TR>
    +</TABLE>
    +&nbsp;
    +<P>
    +
    +<!-- ========= CONSTRUCTOR DETAIL ======== -->
    +
    +<A NAME="constructor_detail"><!-- --></A>
    +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
    +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
    +<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2">
    +<B>Constructor Detail</B></FONT></TH>
    +</TR>
    +</TABLE>
    +
    +<A NAME="DirectorySourceFileLocator(java.io.File, java.lang.String, int)"><!-- --></A><H3>
    +DirectorySourceFileLocator</H3>
    +<PRE>
    +public <B>DirectorySourceFileLocator</B>(<A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/io/File.html" title="class or interface in java.io">File</A>&nbsp;directory,
    +                                  <A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A>&nbsp;encoding,
    +                                  int&nbsp;tabWidth)</PRE>
    +<DL>
    +<DD>Creates a new locator that searches for source files in the given
    + directory.
    +<P>
    +<DL>
    +<DT><B>Parameters:</B><DD><CODE>directory</CODE> - directory to search for source file<DD><CODE>encoding</CODE> - encoding of the source files, <code>null</code> for platform
    +            default encoding<DD><CODE>tabWidth</CODE> - tab width in source files as number of blanks</DL>
    +</DL>
    +
    +<!-- ============ METHOD DETAIL ========== -->
    +
    +<A NAME="method_detail"><!-- --></A>
    +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
    +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
    +<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2">
    +<B>Method Detail</B></FONT></TH>
    +</TR>
    +</TABLE>
    +
    +<A NAME="getSourceStream(java.lang.String)"><!-- --></A><H3>
    +getSourceStream</H3>
    +<PRE>
    +protected <A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/io/InputStream.html" title="class or interface in java.io">InputStream</A> <B>getSourceStream</B>(<A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A>&nbsp;path)
    +                               throws <A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/io/IOException.html" title="class or interface in java.io">IOException</A></PRE>
    +<DL>
    +<DD><B>Description copied from class: <CODE><A HREF="../../../org/jacoco/report/InputStreamSourceFileLocator.html#getSourceStream(java.lang.String)">InputStreamSourceFileLocator</A></CODE></B></DD>
    +<DD>Tries to locate the given source file and opens its binary content.
    +<P>
    +<DD><DL>
    +<DT><B>Specified by:</B><DD><CODE><A HREF="../../../org/jacoco/report/InputStreamSourceFileLocator.html#getSourceStream(java.lang.String)">getSourceStream</A></CODE> in class <CODE><A HREF="../../../org/jacoco/report/InputStreamSourceFileLocator.html" title="class in org.jacoco.report">InputStreamSourceFileLocator</A></CODE></DL>
    +</DD>
    +<DD><DL>
    +<DT><B>Parameters:</B><DD><CODE>path</CODE> - local path to the resource
    +<DT><B>Returns:</B><DD>stream if the file could be located, <code>null</code> otherwise
    +<DT><B>Throws:</B>
    +<DD><CODE><A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/io/IOException.html" title="class or interface in java.io">IOException</A></CODE> - in case of problems while opening the stream</DL>
    +</DD>
    +</DL>
    +<!-- ========= END OF CLASS DATA ========= -->
    +<HR>
    +
    +
    +<!-- ======= START OF BOTTOM NAVBAR ====== -->
    +<A NAME="navbar_bottom"><!-- --></A>
    +<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
    +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
    +<TR>
    +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
    +<A NAME="navbar_bottom_firstrow"><!-- --></A>
    +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
    +  <TR ALIGN="center" VALIGN="top">
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="class-use/DirectorySourceFileLocator.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
    +  </TR>
    +</TABLE>
    +</TD>
    +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
    +</EM>
    +</TD>
    +</TR>
    +
    +<TR>
    +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
    +&nbsp;PREV CLASS&nbsp;
    +&nbsp;<A HREF="../../../org/jacoco/report/FileMultiReportOutput.html" title="class in org.jacoco.report"><B>NEXT CLASS</B></A></FONT></TD>
    +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
    +  <A HREF="../../../index.html?org/jacoco/report/DirectorySourceFileLocator.html" target="_top"><B>FRAMES</B></A>  &nbsp;
    +&nbsp;<A HREF="DirectorySourceFileLocator.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
    +&nbsp;<SCRIPT type="text/javascript">
    +  <!--
    +  if(window==top) {
    +    document.writeln('<A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>');
    +  }
    +  //-->
    +</SCRIPT>
    +<NOSCRIPT>
    +  <A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>
    +</NOSCRIPT>
    +
    +
    +</FONT></TD>
    +</TR>
    +<TR>
    +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
    +  SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;FIELD&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD>
    +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
    +DETAIL:&nbsp;FIELD&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD>
    +</TR>
    +</TABLE>
    +<A NAME="skip-navbar_bottom"></A>
    +<!-- ======== END OF BOTTOM NAVBAR ======= -->
    +
    +<HR>
    +Copyright &#169; 2009&#x2013;2024 Mountainminds GmbH & Co. KG. All rights reserved.
    +</BODY>
    +</HTML>
    diff --git a/jacoco/trunk/doc/api/org/jacoco/report/FileMultiReportOutput.html b/jacoco/trunk/doc/api/org/jacoco/report/FileMultiReportOutput.html
    new file mode 100644
    index 00000000000..222aed0cc8b
    --- /dev/null
    +++ b/jacoco/trunk/doc/api/org/jacoco/report/FileMultiReportOutput.html
    @@ -0,0 +1,301 @@
    +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
    +<!--NewPage-->
    +<HTML>
    +<HEAD>
    +<!-- Generated by javadoc (build 1.5.0_22) on Wed Mar 27 16:45:42 UTC 2024 -->
    +<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
    +<TITLE>
    +FileMultiReportOutput (JaCoCo 0.8.12.202403270442 API)
    +</TITLE>
    +
    +<META NAME="keywords" CONTENT="org.jacoco.report.FileMultiReportOutput class">
    +
    +<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../stylesheet.css" TITLE="Style">
    +
    +<SCRIPT type="text/javascript">
    +function windowTitle()
    +{
    +    parent.document.title="FileMultiReportOutput (JaCoCo 0.8.12.202403270442 API)";
    +}
    +</SCRIPT>
    +<NOSCRIPT>
    +</NOSCRIPT>
    +
    +</HEAD>
    +
    +<BODY BGCOLOR="white" onload="windowTitle();">
    +
    +
    +<!-- ========= START OF TOP NAVBAR ======= -->
    +<A NAME="navbar_top"><!-- --></A>
    +<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
    +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
    +<TR>
    +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
    +<A NAME="navbar_top_firstrow"><!-- --></A>
    +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
    +  <TR ALIGN="center" VALIGN="top">
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="class-use/FileMultiReportOutput.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
    +  </TR>
    +</TABLE>
    +</TD>
    +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
    +</EM>
    +</TD>
    +</TR>
    +
    +<TR>
    +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
    +&nbsp;<A HREF="../../../org/jacoco/report/DirectorySourceFileLocator.html" title="class in org.jacoco.report"><B>PREV CLASS</B></A>&nbsp;
    +&nbsp;<A HREF="../../../org/jacoco/report/ILanguageNames.html" title="interface in org.jacoco.report"><B>NEXT CLASS</B></A></FONT></TD>
    +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
    +  <A HREF="../../../index.html?org/jacoco/report/FileMultiReportOutput.html" target="_top"><B>FRAMES</B></A>  &nbsp;
    +&nbsp;<A HREF="FileMultiReportOutput.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
    +&nbsp;<SCRIPT type="text/javascript">
    +  <!--
    +  if(window==top) {
    +    document.writeln('<A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>');
    +  }
    +  //-->
    +</SCRIPT>
    +<NOSCRIPT>
    +  <A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>
    +</NOSCRIPT>
    +
    +
    +</FONT></TD>
    +</TR>
    +<TR>
    +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
    +  SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;FIELD&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD>
    +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
    +DETAIL:&nbsp;FIELD&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD>
    +</TR>
    +</TABLE>
    +<A NAME="skip-navbar_top"></A>
    +<!-- ========= END OF TOP NAVBAR ========= -->
    +
    +<HR>
    +<!-- ======== START OF CLASS DATA ======== -->
    +<H2>
    +<FONT SIZE="-1">
    +org.jacoco.report</FONT>
    +<BR>
    +Class FileMultiReportOutput</H2>
    +<PRE>
    +<A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html" title="class or interface in java.lang">java.lang.Object</A>
    +  <IMG SRC="../../../resources/inherit.gif" ALT="extended by "><B>org.jacoco.report.FileMultiReportOutput</B>
    +</PRE>
    +<DL>
    +<DT><B>All Implemented Interfaces:</B> <DD><A HREF="../../../org/jacoco/report/IMultiReportOutput.html" title="interface in org.jacoco.report">IMultiReportOutput</A></DD>
    +</DL>
    +<HR>
    +<DL>
    +<DT><PRE>public class <B>FileMultiReportOutput</B><DT>extends <A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html" title="class or interface in java.lang">Object</A><DT>implements <A HREF="../../../org/jacoco/report/IMultiReportOutput.html" title="interface in org.jacoco.report">IMultiReportOutput</A></DL>
    +</PRE>
    +
    +<P>
    +Implementation of <A HREF="../../../org/jacoco/report/IMultiReportOutput.html" title="interface in org.jacoco.report"><CODE>IMultiReportOutput</CODE></A> that writes files directly to a
    + given directory.
    +<P>
    +
    +<P>
    +<HR>
    +
    +<P>
    +
    +<!-- ======== CONSTRUCTOR SUMMARY ======== -->
    +
    +<A NAME="constructor_summary"><!-- --></A>
    +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
    +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
    +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
    +<B>Constructor Summary</B></FONT></TH>
    +</TR>
    +<TR BGCOLOR="white" CLASS="TableRowColor">
    +<TD><CODE><B><A HREF="../../../org/jacoco/report/FileMultiReportOutput.html#FileMultiReportOutput(java.io.File)">FileMultiReportOutput</A></B>(<A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/io/File.html" title="class or interface in java.io">File</A>&nbsp;basedir)</CODE>
    +
    +<BR>
    +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Creates a new instance for document output in the given base directory.</TD>
    +</TR>
    +</TABLE>
    +&nbsp;
    +<!-- ========== METHOD SUMMARY =========== -->
    +
    +<A NAME="method_summary"><!-- --></A>
    +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
    +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
    +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
    +<B>Method Summary</B></FONT></TH>
    +</TR>
    +<TR BGCOLOR="white" CLASS="TableRowColor">
    +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
    +<CODE>&nbsp;void</CODE></FONT></TD>
    +<TD><CODE><B><A HREF="../../../org/jacoco/report/FileMultiReportOutput.html#close()">close</A></B>()</CODE>
    +
    +<BR>
    +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Closes the underlying resource container.</TD>
    +</TR>
    +<TR BGCOLOR="white" CLASS="TableRowColor">
    +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
    +<CODE>&nbsp;<A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/io/OutputStream.html" title="class or interface in java.io">OutputStream</A></CODE></FONT></TD>
    +<TD><CODE><B><A HREF="../../../org/jacoco/report/FileMultiReportOutput.html#createFile(java.lang.String)">createFile</A></B>(<A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A>&nbsp;path)</CODE>
    +
    +<BR>
    +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Creates a file at the given local path.</TD>
    +</TR>
    +</TABLE>
    +&nbsp;<A NAME="methods_inherited_from_class_java.lang.Object"><!-- --></A>
    +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
    +<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
    +<TH ALIGN="left"><B>Methods inherited from class java.lang.<A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html" title="class or interface in java.lang">Object</A></B></TH>
    +</TR>
    +<TR BGCOLOR="white" CLASS="TableRowColor">
    +<TD><CODE><A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html#clone()" title="class or interface in java.lang">clone</A>, <A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html#equals(java.lang.Object)" title="class or interface in java.lang">equals</A>, <A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html#finalize()" title="class or interface in java.lang">finalize</A>, <A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html#getClass()" title="class or interface in java.lang">getClass</A>, <A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html#hashCode()" title="class or interface in java.lang">hashCode</A>, <A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html#notify()" title="class or interface in java.lang">notify</A>, <A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html#notifyAll()" title="class or interface in java.lang">notifyAll</A>, <A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html#toString()" title="class or interface in java.lang">toString</A>, <A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html#wait()" title="class or interface in java.lang">wait</A>, <A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html#wait(long)" title="class or interface in java.lang">wait</A>, <A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html#wait(long, int)" title="class or interface in java.lang">wait</A></CODE></TD>
    +</TR>
    +</TABLE>
    +&nbsp;
    +<P>
    +
    +<!-- ========= CONSTRUCTOR DETAIL ======== -->
    +
    +<A NAME="constructor_detail"><!-- --></A>
    +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
    +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
    +<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2">
    +<B>Constructor Detail</B></FONT></TH>
    +</TR>
    +</TABLE>
    +
    +<A NAME="FileMultiReportOutput(java.io.File)"><!-- --></A><H3>
    +FileMultiReportOutput</H3>
    +<PRE>
    +public <B>FileMultiReportOutput</B>(<A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/io/File.html" title="class or interface in java.io">File</A>&nbsp;basedir)</PRE>
    +<DL>
    +<DD>Creates a new instance for document output in the given base directory.
    +<P>
    +<DL>
    +<DT><B>Parameters:</B><DD><CODE>basedir</CODE> - base directory</DL>
    +</DL>
    +
    +<!-- ============ METHOD DETAIL ========== -->
    +
    +<A NAME="method_detail"><!-- --></A>
    +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
    +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
    +<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2">
    +<B>Method Detail</B></FONT></TH>
    +</TR>
    +</TABLE>
    +
    +<A NAME="createFile(java.lang.String)"><!-- --></A><H3>
    +createFile</H3>
    +<PRE>
    +public <A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/io/OutputStream.html" title="class or interface in java.io">OutputStream</A> <B>createFile</B>(<A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A>&nbsp;path)
    +                        throws <A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/io/IOException.html" title="class or interface in java.io">IOException</A></PRE>
    +<DL>
    +<DD><B>Description copied from interface: <CODE><A HREF="../../../org/jacoco/report/IMultiReportOutput.html#createFile(java.lang.String)">IMultiReportOutput</A></CODE></B></DD>
    +<DD>Creates a file at the given local path. The returned <A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/io/OutputStream.html" title="class or interface in java.io"><CODE>OutputStream</CODE></A>
    + has to be closed before the next document is created.
    +<P>
    +<DD><DL>
    +<DT><B>Specified by:</B><DD><CODE><A HREF="../../../org/jacoco/report/IMultiReportOutput.html#createFile(java.lang.String)">createFile</A></CODE> in interface <CODE><A HREF="../../../org/jacoco/report/IMultiReportOutput.html" title="interface in org.jacoco.report">IMultiReportOutput</A></CODE></DL>
    +</DD>
    +<DD><DL>
    +<DT><B>Parameters:</B><DD><CODE>path</CODE> - local path to the new document
    +<DT><B>Returns:</B><DD>output for the content
    +<DT><B>Throws:</B>
    +<DD><CODE><A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/io/IOException.html" title="class or interface in java.io">IOException</A></CODE> - if the creation fails</DL>
    +</DD>
    +</DL>
    +<HR>
    +
    +<A NAME="close()"><!-- --></A><H3>
    +close</H3>
    +<PRE>
    +public void <B>close</B>()
    +           throws <A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/io/IOException.html" title="class or interface in java.io">IOException</A></PRE>
    +<DL>
    +<DD><B>Description copied from interface: <CODE><A HREF="../../../org/jacoco/report/IMultiReportOutput.html#close()">IMultiReportOutput</A></CODE></B></DD>
    +<DD>Closes the underlying resource container.
    +<P>
    +<DD><DL>
    +<DT><B>Specified by:</B><DD><CODE><A HREF="../../../org/jacoco/report/IMultiReportOutput.html#close()">close</A></CODE> in interface <CODE><A HREF="../../../org/jacoco/report/IMultiReportOutput.html" title="interface in org.jacoco.report">IMultiReportOutput</A></CODE></DL>
    +</DD>
    +<DD><DL>
    +
    +<DT><B>Throws:</B>
    +<DD><CODE><A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/io/IOException.html" title="class or interface in java.io">IOException</A></CODE> - if closing fails</DL>
    +</DD>
    +</DL>
    +<!-- ========= END OF CLASS DATA ========= -->
    +<HR>
    +
    +
    +<!-- ======= START OF BOTTOM NAVBAR ====== -->
    +<A NAME="navbar_bottom"><!-- --></A>
    +<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
    +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
    +<TR>
    +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
    +<A NAME="navbar_bottom_firstrow"><!-- --></A>
    +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
    +  <TR ALIGN="center" VALIGN="top">
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="class-use/FileMultiReportOutput.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
    +  </TR>
    +</TABLE>
    +</TD>
    +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
    +</EM>
    +</TD>
    +</TR>
    +
    +<TR>
    +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
    +&nbsp;<A HREF="../../../org/jacoco/report/DirectorySourceFileLocator.html" title="class in org.jacoco.report"><B>PREV CLASS</B></A>&nbsp;
    +&nbsp;<A HREF="../../../org/jacoco/report/ILanguageNames.html" title="interface in org.jacoco.report"><B>NEXT CLASS</B></A></FONT></TD>
    +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
    +  <A HREF="../../../index.html?org/jacoco/report/FileMultiReportOutput.html" target="_top"><B>FRAMES</B></A>  &nbsp;
    +&nbsp;<A HREF="FileMultiReportOutput.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
    +&nbsp;<SCRIPT type="text/javascript">
    +  <!--
    +  if(window==top) {
    +    document.writeln('<A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>');
    +  }
    +  //-->
    +</SCRIPT>
    +<NOSCRIPT>
    +  <A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>
    +</NOSCRIPT>
    +
    +
    +</FONT></TD>
    +</TR>
    +<TR>
    +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
    +  SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;FIELD&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD>
    +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
    +DETAIL:&nbsp;FIELD&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD>
    +</TR>
    +</TABLE>
    +<A NAME="skip-navbar_bottom"></A>
    +<!-- ======== END OF BOTTOM NAVBAR ======= -->
    +
    +<HR>
    +Copyright &#169; 2009&#x2013;2024 Mountainminds GmbH & Co. KG. All rights reserved.
    +</BODY>
    +</HTML>
    diff --git a/jacoco/trunk/doc/api/org/jacoco/report/ILanguageNames.html b/jacoco/trunk/doc/api/org/jacoco/report/ILanguageNames.html
    new file mode 100644
    index 00000000000..c55af8426b7
    --- /dev/null
    +++ b/jacoco/trunk/doc/api/org/jacoco/report/ILanguageNames.html
    @@ -0,0 +1,321 @@
    +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
    +<!--NewPage-->
    +<HTML>
    +<HEAD>
    +<!-- Generated by javadoc (build 1.5.0_22) on Wed Mar 27 16:45:42 UTC 2024 -->
    +<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
    +<TITLE>
    +ILanguageNames (JaCoCo 0.8.12.202403270442 API)
    +</TITLE>
    +
    +<META NAME="keywords" CONTENT="org.jacoco.report.ILanguageNames interface">
    +
    +<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../stylesheet.css" TITLE="Style">
    +
    +<SCRIPT type="text/javascript">
    +function windowTitle()
    +{
    +    parent.document.title="ILanguageNames (JaCoCo 0.8.12.202403270442 API)";
    +}
    +</SCRIPT>
    +<NOSCRIPT>
    +</NOSCRIPT>
    +
    +</HEAD>
    +
    +<BODY BGCOLOR="white" onload="windowTitle();">
    +
    +
    +<!-- ========= START OF TOP NAVBAR ======= -->
    +<A NAME="navbar_top"><!-- --></A>
    +<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
    +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
    +<TR>
    +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
    +<A NAME="navbar_top_firstrow"><!-- --></A>
    +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
    +  <TR ALIGN="center" VALIGN="top">
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="class-use/ILanguageNames.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
    +  </TR>
    +</TABLE>
    +</TD>
    +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
    +</EM>
    +</TD>
    +</TR>
    +
    +<TR>
    +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
    +&nbsp;<A HREF="../../../org/jacoco/report/FileMultiReportOutput.html" title="class in org.jacoco.report"><B>PREV CLASS</B></A>&nbsp;
    +&nbsp;<A HREF="../../../org/jacoco/report/IMultiReportOutput.html" title="interface in org.jacoco.report"><B>NEXT CLASS</B></A></FONT></TD>
    +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
    +  <A HREF="../../../index.html?org/jacoco/report/ILanguageNames.html" target="_top"><B>FRAMES</B></A>  &nbsp;
    +&nbsp;<A HREF="ILanguageNames.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
    +&nbsp;<SCRIPT type="text/javascript">
    +  <!--
    +  if(window==top) {
    +    document.writeln('<A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>');
    +  }
    +  //-->
    +</SCRIPT>
    +<NOSCRIPT>
    +  <A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>
    +</NOSCRIPT>
    +
    +
    +</FONT></TD>
    +</TR>
    +<TR>
    +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
    +  SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;FIELD&nbsp;|&nbsp;CONSTR&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD>
    +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
    +DETAIL:&nbsp;FIELD&nbsp;|&nbsp;CONSTR&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD>
    +</TR>
    +</TABLE>
    +<A NAME="skip-navbar_top"></A>
    +<!-- ========= END OF TOP NAVBAR ========= -->
    +
    +<HR>
    +<!-- ======== START OF CLASS DATA ======== -->
    +<H2>
    +<FONT SIZE="-1">
    +org.jacoco.report</FONT>
    +<BR>
    +Interface ILanguageNames</H2>
    +<DL>
    +<DT><B>All Known Implementing Classes:</B> <DD><A HREF="../../../org/jacoco/report/JavaNames.html" title="class in org.jacoco.report">JavaNames</A></DD>
    +</DL>
    +<HR>
    +<DL>
    +<DT><PRE>public interface <B>ILanguageNames</B></DL>
    +</PRE>
    +
    +<P>
    +Interface to create programming language specific names from VM names.
    +<P>
    +
    +<P>
    +<HR>
    +
    +<P>
    +
    +<!-- ========== METHOD SUMMARY =========== -->
    +
    +<A NAME="method_summary"><!-- --></A>
    +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
    +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
    +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
    +<B>Method Summary</B></FONT></TH>
    +</TR>
    +<TR BGCOLOR="white" CLASS="TableRowColor">
    +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
    +<CODE>&nbsp;<A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A></CODE></FONT></TD>
    +<TD><CODE><B><A HREF="../../../org/jacoco/report/ILanguageNames.html#getClassName(java.lang.String, java.lang.String, java.lang.String, java.lang.String[])">getClassName</A></B>(<A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A>&nbsp;vmname,
    +             <A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A>&nbsp;vmsignature,
    +             <A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A>&nbsp;vmsuperclass,
    +             <A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A>[]&nbsp;vminterfaces)</CODE>
    +
    +<BR>
    +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Calculates the language specific name of a class.</TD>
    +</TR>
    +<TR BGCOLOR="white" CLASS="TableRowColor">
    +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
    +<CODE>&nbsp;<A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A></CODE></FONT></TD>
    +<TD><CODE><B><A HREF="../../../org/jacoco/report/ILanguageNames.html#getMethodName(java.lang.String, java.lang.String, java.lang.String, java.lang.String)">getMethodName</A></B>(<A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A>&nbsp;vmclassname,
    +              <A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A>&nbsp;vmmethodname,
    +              <A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A>&nbsp;vmdesc,
    +              <A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A>&nbsp;vmsignature)</CODE>
    +
    +<BR>
    +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Calculates the language specific name of a method.</TD>
    +</TR>
    +<TR BGCOLOR="white" CLASS="TableRowColor">
    +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
    +<CODE>&nbsp;<A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A></CODE></FONT></TD>
    +<TD><CODE><B><A HREF="../../../org/jacoco/report/ILanguageNames.html#getPackageName(java.lang.String)">getPackageName</A></B>(<A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A>&nbsp;vmname)</CODE>
    +
    +<BR>
    +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Calculates the language specific name of a package.</TD>
    +</TR>
    +<TR BGCOLOR="white" CLASS="TableRowColor">
    +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
    +<CODE>&nbsp;<A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A></CODE></FONT></TD>
    +<TD><CODE><B><A HREF="../../../org/jacoco/report/ILanguageNames.html#getQualifiedClassName(java.lang.String)">getQualifiedClassName</A></B>(<A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A>&nbsp;vmname)</CODE>
    +
    +<BR>
    +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Calculates the language specific qualified name of a class.</TD>
    +</TR>
    +<TR BGCOLOR="white" CLASS="TableRowColor">
    +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
    +<CODE>&nbsp;<A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A></CODE></FONT></TD>
    +<TD><CODE><B><A HREF="../../../org/jacoco/report/ILanguageNames.html#getQualifiedMethodName(java.lang.String, java.lang.String, java.lang.String, java.lang.String)">getQualifiedMethodName</A></B>(<A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A>&nbsp;vmclassname,
    +                       <A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A>&nbsp;vmmethodname,
    +                       <A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A>&nbsp;vmdesc,
    +                       <A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A>&nbsp;vmsignature)</CODE>
    +
    +<BR>
    +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Calculates the language specific fully qualified name of a method.</TD>
    +</TR>
    +</TABLE>
    +&nbsp;
    +<P>
    +
    +<!-- ============ METHOD DETAIL ========== -->
    +
    +<A NAME="method_detail"><!-- --></A>
    +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
    +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
    +<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2">
    +<B>Method Detail</B></FONT></TH>
    +</TR>
    +</TABLE>
    +
    +<A NAME="getPackageName(java.lang.String)"><!-- --></A><H3>
    +getPackageName</H3>
    +<PRE>
    +<A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> <B>getPackageName</B>(<A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A>&nbsp;vmname)</PRE>
    +<DL>
    +<DD>Calculates the language specific name of a package.
    +<P>
    +<DD><DL>
    +<DT><B>Parameters:</B><DD><CODE>vmname</CODE> - vm name of a package
    +<DT><B>Returns:</B><DD>language specific notation for the package</DL>
    +</DD>
    +</DL>
    +<HR>
    +
    +<A NAME="getClassName(java.lang.String, java.lang.String, java.lang.String, java.lang.String[])"><!-- --></A><H3>
    +getClassName</H3>
    +<PRE>
    +<A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> <B>getClassName</B>(<A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A>&nbsp;vmname,
    +                    <A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A>&nbsp;vmsignature,
    +                    <A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A>&nbsp;vmsuperclass,
    +                    <A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A>[]&nbsp;vminterfaces)</PRE>
    +<DL>
    +<DD>Calculates the language specific name of a class.
    +<P>
    +<DD><DL>
    +<DT><B>Parameters:</B><DD><CODE>vmname</CODE> - vm name of a class<DD><CODE>vmsignature</CODE> - vm signature of the class (may be <code>null</code>)<DD><CODE>vmsuperclass</CODE> - vm name of the superclass of the class (may be
    +            <code>null</code>)<DD><CODE>vminterfaces</CODE> - vm names of interfaces of the class (may be <code>null</code>)
    +<DT><B>Returns:</B><DD>language specific notation of the class</DL>
    +</DD>
    +</DL>
    +<HR>
    +
    +<A NAME="getQualifiedClassName(java.lang.String)"><!-- --></A><H3>
    +getQualifiedClassName</H3>
    +<PRE>
    +<A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> <B>getQualifiedClassName</B>(<A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A>&nbsp;vmname)</PRE>
    +<DL>
    +<DD>Calculates the language specific qualified name of a class.
    +<P>
    +<DD><DL>
    +<DT><B>Parameters:</B><DD><CODE>vmname</CODE> - vm name of a class
    +<DT><B>Returns:</B><DD>language specific qualified notation of the class</DL>
    +</DD>
    +</DL>
    +<HR>
    +
    +<A NAME="getMethodName(java.lang.String, java.lang.String, java.lang.String, java.lang.String)"><!-- --></A><H3>
    +getMethodName</H3>
    +<PRE>
    +<A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> <B>getMethodName</B>(<A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A>&nbsp;vmclassname,
    +                     <A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A>&nbsp;vmmethodname,
    +                     <A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A>&nbsp;vmdesc,
    +                     <A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A>&nbsp;vmsignature)</PRE>
    +<DL>
    +<DD>Calculates the language specific name of a method.
    +<P>
    +<DD><DL>
    +<DT><B>Parameters:</B><DD><CODE>vmclassname</CODE> - vm name of a containing class<DD><CODE>vmmethodname</CODE> - vm name of the method<DD><CODE>vmdesc</CODE> - vm method descriptor<DD><CODE>vmsignature</CODE> - vm signature of the method (may be <code>null</code>)
    +<DT><B>Returns:</B><DD>language specific notation for the method</DL>
    +</DD>
    +</DL>
    +<HR>
    +
    +<A NAME="getQualifiedMethodName(java.lang.String, java.lang.String, java.lang.String, java.lang.String)"><!-- --></A><H3>
    +getQualifiedMethodName</H3>
    +<PRE>
    +<A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> <B>getQualifiedMethodName</B>(<A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A>&nbsp;vmclassname,
    +                              <A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A>&nbsp;vmmethodname,
    +                              <A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A>&nbsp;vmdesc,
    +                              <A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A>&nbsp;vmsignature)</PRE>
    +<DL>
    +<DD>Calculates the language specific fully qualified name of a method.
    +<P>
    +<DD><DL>
    +<DT><B>Parameters:</B><DD><CODE>vmclassname</CODE> - vm name of a containing class<DD><CODE>vmmethodname</CODE> - vm name of the method<DD><CODE>vmdesc</CODE> - vm method descriptor<DD><CODE>vmsignature</CODE> - vm signature of the method (may be <code>null</code>)
    +<DT><B>Returns:</B><DD>language specific notation for the method</DL>
    +</DD>
    +</DL>
    +<!-- ========= END OF CLASS DATA ========= -->
    +<HR>
    +
    +
    +<!-- ======= START OF BOTTOM NAVBAR ====== -->
    +<A NAME="navbar_bottom"><!-- --></A>
    +<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
    +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
    +<TR>
    +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
    +<A NAME="navbar_bottom_firstrow"><!-- --></A>
    +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
    +  <TR ALIGN="center" VALIGN="top">
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="class-use/ILanguageNames.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
    +  </TR>
    +</TABLE>
    +</TD>
    +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
    +</EM>
    +</TD>
    +</TR>
    +
    +<TR>
    +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
    +&nbsp;<A HREF="../../../org/jacoco/report/FileMultiReportOutput.html" title="class in org.jacoco.report"><B>PREV CLASS</B></A>&nbsp;
    +&nbsp;<A HREF="../../../org/jacoco/report/IMultiReportOutput.html" title="interface in org.jacoco.report"><B>NEXT CLASS</B></A></FONT></TD>
    +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
    +  <A HREF="../../../index.html?org/jacoco/report/ILanguageNames.html" target="_top"><B>FRAMES</B></A>  &nbsp;
    +&nbsp;<A HREF="ILanguageNames.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
    +&nbsp;<SCRIPT type="text/javascript">
    +  <!--
    +  if(window==top) {
    +    document.writeln('<A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>');
    +  }
    +  //-->
    +</SCRIPT>
    +<NOSCRIPT>
    +  <A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>
    +</NOSCRIPT>
    +
    +
    +</FONT></TD>
    +</TR>
    +<TR>
    +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
    +  SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;FIELD&nbsp;|&nbsp;CONSTR&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD>
    +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
    +DETAIL:&nbsp;FIELD&nbsp;|&nbsp;CONSTR&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD>
    +</TR>
    +</TABLE>
    +<A NAME="skip-navbar_bottom"></A>
    +<!-- ======== END OF BOTTOM NAVBAR ======= -->
    +
    +<HR>
    +Copyright &#169; 2009&#x2013;2024 Mountainminds GmbH & Co. KG. All rights reserved.
    +</BODY>
    +</HTML>
    diff --git a/jacoco/trunk/doc/api/org/jacoco/report/IMultiReportOutput.html b/jacoco/trunk/doc/api/org/jacoco/report/IMultiReportOutput.html
    new file mode 100644
    index 00000000000..fec65a03ee5
    --- /dev/null
    +++ b/jacoco/trunk/doc/api/org/jacoco/report/IMultiReportOutput.html
    @@ -0,0 +1,242 @@
    +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
    +<!--NewPage-->
    +<HTML>
    +<HEAD>
    +<!-- Generated by javadoc (build 1.5.0_22) on Wed Mar 27 16:45:42 UTC 2024 -->
    +<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
    +<TITLE>
    +IMultiReportOutput (JaCoCo 0.8.12.202403270442 API)
    +</TITLE>
    +
    +<META NAME="keywords" CONTENT="org.jacoco.report.IMultiReportOutput interface">
    +
    +<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../stylesheet.css" TITLE="Style">
    +
    +<SCRIPT type="text/javascript">
    +function windowTitle()
    +{
    +    parent.document.title="IMultiReportOutput (JaCoCo 0.8.12.202403270442 API)";
    +}
    +</SCRIPT>
    +<NOSCRIPT>
    +</NOSCRIPT>
    +
    +</HEAD>
    +
    +<BODY BGCOLOR="white" onload="windowTitle();">
    +
    +
    +<!-- ========= START OF TOP NAVBAR ======= -->
    +<A NAME="navbar_top"><!-- --></A>
    +<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
    +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
    +<TR>
    +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
    +<A NAME="navbar_top_firstrow"><!-- --></A>
    +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
    +  <TR ALIGN="center" VALIGN="top">
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="class-use/IMultiReportOutput.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
    +  </TR>
    +</TABLE>
    +</TD>
    +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
    +</EM>
    +</TD>
    +</TR>
    +
    +<TR>
    +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
    +&nbsp;<A HREF="../../../org/jacoco/report/ILanguageNames.html" title="interface in org.jacoco.report"><B>PREV CLASS</B></A>&nbsp;
    +&nbsp;<A HREF="../../../org/jacoco/report/InputStreamSourceFileLocator.html" title="class in org.jacoco.report"><B>NEXT CLASS</B></A></FONT></TD>
    +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
    +  <A HREF="../../../index.html?org/jacoco/report/IMultiReportOutput.html" target="_top"><B>FRAMES</B></A>  &nbsp;
    +&nbsp;<A HREF="IMultiReportOutput.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
    +&nbsp;<SCRIPT type="text/javascript">
    +  <!--
    +  if(window==top) {
    +    document.writeln('<A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>');
    +  }
    +  //-->
    +</SCRIPT>
    +<NOSCRIPT>
    +  <A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>
    +</NOSCRIPT>
    +
    +
    +</FONT></TD>
    +</TR>
    +<TR>
    +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
    +  SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;FIELD&nbsp;|&nbsp;CONSTR&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD>
    +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
    +DETAIL:&nbsp;FIELD&nbsp;|&nbsp;CONSTR&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD>
    +</TR>
    +</TABLE>
    +<A NAME="skip-navbar_top"></A>
    +<!-- ========= END OF TOP NAVBAR ========= -->
    +
    +<HR>
    +<!-- ======== START OF CLASS DATA ======== -->
    +<H2>
    +<FONT SIZE="-1">
    +org.jacoco.report</FONT>
    +<BR>
    +Interface IMultiReportOutput</H2>
    +<DL>
    +<DT><B>All Known Implementing Classes:</B> <DD><A HREF="../../../org/jacoco/report/FileMultiReportOutput.html" title="class in org.jacoco.report">FileMultiReportOutput</A>, <A HREF="../../../org/jacoco/report/ZipMultiReportOutput.html" title="class in org.jacoco.report">ZipMultiReportOutput</A></DD>
    +</DL>
    +<HR>
    +<DL>
    +<DT><PRE>public interface <B>IMultiReportOutput</B></DL>
    +</PRE>
    +
    +<P>
    +Interface to emit multiple binary files.
    +<P>
    +
    +<P>
    +<HR>
    +
    +<P>
    +
    +<!-- ========== METHOD SUMMARY =========== -->
    +
    +<A NAME="method_summary"><!-- --></A>
    +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
    +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
    +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
    +<B>Method Summary</B></FONT></TH>
    +</TR>
    +<TR BGCOLOR="white" CLASS="TableRowColor">
    +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
    +<CODE>&nbsp;void</CODE></FONT></TD>
    +<TD><CODE><B><A HREF="../../../org/jacoco/report/IMultiReportOutput.html#close()">close</A></B>()</CODE>
    +
    +<BR>
    +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Closes the underlying resource container.</TD>
    +</TR>
    +<TR BGCOLOR="white" CLASS="TableRowColor">
    +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
    +<CODE>&nbsp;<A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/io/OutputStream.html" title="class or interface in java.io">OutputStream</A></CODE></FONT></TD>
    +<TD><CODE><B><A HREF="../../../org/jacoco/report/IMultiReportOutput.html#createFile(java.lang.String)">createFile</A></B>(<A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A>&nbsp;path)</CODE>
    +
    +<BR>
    +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Creates a file at the given local path.</TD>
    +</TR>
    +</TABLE>
    +&nbsp;
    +<P>
    +
    +<!-- ============ METHOD DETAIL ========== -->
    +
    +<A NAME="method_detail"><!-- --></A>
    +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
    +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
    +<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2">
    +<B>Method Detail</B></FONT></TH>
    +</TR>
    +</TABLE>
    +
    +<A NAME="createFile(java.lang.String)"><!-- --></A><H3>
    +createFile</H3>
    +<PRE>
    +<A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/io/OutputStream.html" title="class or interface in java.io">OutputStream</A> <B>createFile</B>(<A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A>&nbsp;path)
    +                        throws <A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/io/IOException.html" title="class or interface in java.io">IOException</A></PRE>
    +<DL>
    +<DD>Creates a file at the given local path. The returned <A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/io/OutputStream.html" title="class or interface in java.io"><CODE>OutputStream</CODE></A>
    + has to be closed before the next document is created.
    +<P>
    +<DD><DL>
    +<DT><B>Parameters:</B><DD><CODE>path</CODE> - local path to the new document
    +<DT><B>Returns:</B><DD>output for the content
    +<DT><B>Throws:</B>
    +<DD><CODE><A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/io/IOException.html" title="class or interface in java.io">IOException</A></CODE> - if the creation fails</DL>
    +</DD>
    +</DL>
    +<HR>
    +
    +<A NAME="close()"><!-- --></A><H3>
    +close</H3>
    +<PRE>
    +void <B>close</B>()
    +           throws <A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/io/IOException.html" title="class or interface in java.io">IOException</A></PRE>
    +<DL>
    +<DD>Closes the underlying resource container.
    +<P>
    +<DD><DL>
    +
    +<DT><B>Throws:</B>
    +<DD><CODE><A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/io/IOException.html" title="class or interface in java.io">IOException</A></CODE> - if closing fails</DL>
    +</DD>
    +</DL>
    +<!-- ========= END OF CLASS DATA ========= -->
    +<HR>
    +
    +
    +<!-- ======= START OF BOTTOM NAVBAR ====== -->
    +<A NAME="navbar_bottom"><!-- --></A>
    +<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
    +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
    +<TR>
    +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
    +<A NAME="navbar_bottom_firstrow"><!-- --></A>
    +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
    +  <TR ALIGN="center" VALIGN="top">
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="class-use/IMultiReportOutput.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
    +  </TR>
    +</TABLE>
    +</TD>
    +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
    +</EM>
    +</TD>
    +</TR>
    +
    +<TR>
    +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
    +&nbsp;<A HREF="../../../org/jacoco/report/ILanguageNames.html" title="interface in org.jacoco.report"><B>PREV CLASS</B></A>&nbsp;
    +&nbsp;<A HREF="../../../org/jacoco/report/InputStreamSourceFileLocator.html" title="class in org.jacoco.report"><B>NEXT CLASS</B></A></FONT></TD>
    +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
    +  <A HREF="../../../index.html?org/jacoco/report/IMultiReportOutput.html" target="_top"><B>FRAMES</B></A>  &nbsp;
    +&nbsp;<A HREF="IMultiReportOutput.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
    +&nbsp;<SCRIPT type="text/javascript">
    +  <!--
    +  if(window==top) {
    +    document.writeln('<A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>');
    +  }
    +  //-->
    +</SCRIPT>
    +<NOSCRIPT>
    +  <A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>
    +</NOSCRIPT>
    +
    +
    +</FONT></TD>
    +</TR>
    +<TR>
    +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
    +  SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;FIELD&nbsp;|&nbsp;CONSTR&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD>
    +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
    +DETAIL:&nbsp;FIELD&nbsp;|&nbsp;CONSTR&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD>
    +</TR>
    +</TABLE>
    +<A NAME="skip-navbar_bottom"></A>
    +<!-- ======== END OF BOTTOM NAVBAR ======= -->
    +
    +<HR>
    +Copyright &#169; 2009&#x2013;2024 Mountainminds GmbH & Co. KG. All rights reserved.
    +</BODY>
    +</HTML>
    diff --git a/jacoco/trunk/doc/api/org/jacoco/report/IReportGroupVisitor.html b/jacoco/trunk/doc/api/org/jacoco/report/IReportGroupVisitor.html
    new file mode 100644
    index 00000000000..beacf1b64e8
    --- /dev/null
    +++ b/jacoco/trunk/doc/api/org/jacoco/report/IReportGroupVisitor.html
    @@ -0,0 +1,264 @@
    +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
    +<!--NewPage-->
    +<HTML>
    +<HEAD>
    +<!-- Generated by javadoc (build 1.5.0_22) on Wed Mar 27 16:45:42 UTC 2024 -->
    +<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
    +<TITLE>
    +IReportGroupVisitor (JaCoCo 0.8.12.202403270442 API)
    +</TITLE>
    +
    +<META NAME="keywords" CONTENT="org.jacoco.report.IReportGroupVisitor interface">
    +
    +<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../stylesheet.css" TITLE="Style">
    +
    +<SCRIPT type="text/javascript">
    +function windowTitle()
    +{
    +    parent.document.title="IReportGroupVisitor (JaCoCo 0.8.12.202403270442 API)";
    +}
    +</SCRIPT>
    +<NOSCRIPT>
    +</NOSCRIPT>
    +
    +</HEAD>
    +
    +<BODY BGCOLOR="white" onload="windowTitle();">
    +
    +
    +<!-- ========= START OF TOP NAVBAR ======= -->
    +<A NAME="navbar_top"><!-- --></A>
    +<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
    +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
    +<TR>
    +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
    +<A NAME="navbar_top_firstrow"><!-- --></A>
    +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
    +  <TR ALIGN="center" VALIGN="top">
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="class-use/IReportGroupVisitor.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
    +  </TR>
    +</TABLE>
    +</TD>
    +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
    +</EM>
    +</TD>
    +</TR>
    +
    +<TR>
    +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
    +&nbsp;<A HREF="../../../org/jacoco/report/InputStreamSourceFileLocator.html" title="class in org.jacoco.report"><B>PREV CLASS</B></A>&nbsp;
    +&nbsp;<A HREF="../../../org/jacoco/report/IReportVisitor.html" title="interface in org.jacoco.report"><B>NEXT CLASS</B></A></FONT></TD>
    +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
    +  <A HREF="../../../index.html?org/jacoco/report/IReportGroupVisitor.html" target="_top"><B>FRAMES</B></A>  &nbsp;
    +&nbsp;<A HREF="IReportGroupVisitor.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
    +&nbsp;<SCRIPT type="text/javascript">
    +  <!--
    +  if(window==top) {
    +    document.writeln('<A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>');
    +  }
    +  //-->
    +</SCRIPT>
    +<NOSCRIPT>
    +  <A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>
    +</NOSCRIPT>
    +
    +
    +</FONT></TD>
    +</TR>
    +<TR>
    +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
    +  SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;FIELD&nbsp;|&nbsp;CONSTR&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD>
    +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
    +DETAIL:&nbsp;FIELD&nbsp;|&nbsp;CONSTR&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD>
    +</TR>
    +</TABLE>
    +<A NAME="skip-navbar_top"></A>
    +<!-- ========= END OF TOP NAVBAR ========= -->
    +
    +<HR>
    +<!-- ======== START OF CLASS DATA ======== -->
    +<H2>
    +<FONT SIZE="-1">
    +org.jacoco.report</FONT>
    +<BR>
    +Interface IReportGroupVisitor</H2>
    +<DL>
    +<DT><B>All Known Subinterfaces:</B> <DD><A HREF="../../../org/jacoco/report/IReportVisitor.html" title="interface in org.jacoco.report">IReportVisitor</A></DD>
    +</DL>
    +<DL>
    +<DT><B>All Known Implementing Classes:</B> <DD><A HREF="../../../org/jacoco/report/MultiReportVisitor.html" title="class in org.jacoco.report">MultiReportVisitor</A></DD>
    +</DL>
    +<HR>
    +<DL>
    +<DT><PRE>public interface <B>IReportGroupVisitor</B></DL>
    +</PRE>
    +
    +<P>
    +Output-Interface for hierarchical report structures. To allow sequential
    + processing and save memory the group structure has to be traversed in a "deep
    + first" fashion. The interface is implemented by the report formatters and can
    + be used to emit coverage report structures.
    +
    + The following constraints apply in using <A HREF="../../../org/jacoco/report/IReportGroupVisitor.html" title="interface in org.jacoco.report"><CODE>IReportGroupVisitor</CODE></A>
    + instances:
    +
    + <ul>
    + <li>A visitor instance can be used to either submit bundles (
    + <A HREF="../../../org/jacoco/report/IReportGroupVisitor.html#visitBundle(org.jacoco.core.analysis.IBundleCoverage, org.jacoco.report.ISourceFileLocator)"><CODE>visitBundle(IBundleCoverage, ISourceFileLocator)</CODE></A>) or groups
    + <A HREF="../../../org/jacoco/report/IReportGroupVisitor.html#visitGroup(java.lang.String)"><CODE>visitGroup(String)</CODE></A>). Bundles and groups are not allowed for the same
    + visitor.</li>
    + <li>When creating nested groups with <A HREF="../../../org/jacoco/report/IReportGroupVisitor.html#visitGroup(java.lang.String)"><CODE>visitGroup(String)</CODE></A> the
    + hierarchy has to be processed in a "deep first" manner.</li>
    + </ul>
    +<P>
    +
    +<P>
    +<HR>
    +
    +<P>
    +
    +<!-- ========== METHOD SUMMARY =========== -->
    +
    +<A NAME="method_summary"><!-- --></A>
    +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
    +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
    +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
    +<B>Method Summary</B></FONT></TH>
    +</TR>
    +<TR BGCOLOR="white" CLASS="TableRowColor">
    +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
    +<CODE>&nbsp;void</CODE></FONT></TD>
    +<TD><CODE><B><A HREF="../../../org/jacoco/report/IReportGroupVisitor.html#visitBundle(org.jacoco.core.analysis.IBundleCoverage, org.jacoco.report.ISourceFileLocator)">visitBundle</A></B>(<A HREF="../../../org/jacoco/core/analysis/IBundleCoverage.html" title="interface in org.jacoco.core.analysis">IBundleCoverage</A>&nbsp;bundle,
    +            <A HREF="../../../org/jacoco/report/ISourceFileLocator.html" title="interface in org.jacoco.report">ISourceFileLocator</A>&nbsp;locator)</CODE>
    +
    +<BR>
    +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Called to add a bundle to the report.</TD>
    +</TR>
    +<TR BGCOLOR="white" CLASS="TableRowColor">
    +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
    +<CODE>&nbsp;<A HREF="../../../org/jacoco/report/IReportGroupVisitor.html" title="interface in org.jacoco.report">IReportGroupVisitor</A></CODE></FONT></TD>
    +<TD><CODE><B><A HREF="../../../org/jacoco/report/IReportGroupVisitor.html#visitGroup(java.lang.String)">visitGroup</A></B>(<A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A>&nbsp;name)</CODE>
    +
    +<BR>
    +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Called to add a new group to the report.</TD>
    +</TR>
    +</TABLE>
    +&nbsp;
    +<P>
    +
    +<!-- ============ METHOD DETAIL ========== -->
    +
    +<A NAME="method_detail"><!-- --></A>
    +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
    +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
    +<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2">
    +<B>Method Detail</B></FONT></TH>
    +</TR>
    +</TABLE>
    +
    +<A NAME="visitBundle(org.jacoco.core.analysis.IBundleCoverage, org.jacoco.report.ISourceFileLocator)"><!-- --></A><H3>
    +visitBundle</H3>
    +<PRE>
    +void <B>visitBundle</B>(<A HREF="../../../org/jacoco/core/analysis/IBundleCoverage.html" title="interface in org.jacoco.core.analysis">IBundleCoverage</A>&nbsp;bundle,
    +                 <A HREF="../../../org/jacoco/report/ISourceFileLocator.html" title="interface in org.jacoco.report">ISourceFileLocator</A>&nbsp;locator)
    +                 throws <A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/io/IOException.html" title="class or interface in java.io">IOException</A></PRE>
    +<DL>
    +<DD>Called to add a bundle to the report.
    +<P>
    +<DD><DL>
    +<DT><B>Parameters:</B><DD><CODE>bundle</CODE> - a bundle to include in the report<DD><CODE>locator</CODE> - source locator for this bundle
    +<DT><B>Throws:</B>
    +<DD><CODE><A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/io/IOException.html" title="class or interface in java.io">IOException</A></CODE> - in case of IO problems with the report writer</DL>
    +</DD>
    +</DL>
    +<HR>
    +
    +<A NAME="visitGroup(java.lang.String)"><!-- --></A><H3>
    +visitGroup</H3>
    +<PRE>
    +<A HREF="../../../org/jacoco/report/IReportGroupVisitor.html" title="interface in org.jacoco.report">IReportGroupVisitor</A> <B>visitGroup</B>(<A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A>&nbsp;name)
    +                               throws <A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/io/IOException.html" title="class or interface in java.io">IOException</A></PRE>
    +<DL>
    +<DD>Called to add a new group to the report. The returned
    + <A HREF="../../../org/jacoco/report/IReportGroupVisitor.html" title="interface in org.jacoco.report"><CODE>IReportGroupVisitor</CODE></A> instance can be used to add nested bundles or
    + groups. The content of the group has to be completed before this or any
    + parent visitor can be used again ("deep first").
    +<P>
    +<DD><DL>
    +<DT><B>Parameters:</B><DD><CODE>name</CODE> - name of the group
    +<DT><B>Returns:</B><DD>visitor for the group's content
    +<DT><B>Throws:</B>
    +<DD><CODE><A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/io/IOException.html" title="class or interface in java.io">IOException</A></CODE> - in case of IO problems with the report writer</DL>
    +</DD>
    +</DL>
    +<!-- ========= END OF CLASS DATA ========= -->
    +<HR>
    +
    +
    +<!-- ======= START OF BOTTOM NAVBAR ====== -->
    +<A NAME="navbar_bottom"><!-- --></A>
    +<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
    +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
    +<TR>
    +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
    +<A NAME="navbar_bottom_firstrow"><!-- --></A>
    +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
    +  <TR ALIGN="center" VALIGN="top">
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="class-use/IReportGroupVisitor.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
    +  </TR>
    +</TABLE>
    +</TD>
    +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
    +</EM>
    +</TD>
    +</TR>
    +
    +<TR>
    +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
    +&nbsp;<A HREF="../../../org/jacoco/report/InputStreamSourceFileLocator.html" title="class in org.jacoco.report"><B>PREV CLASS</B></A>&nbsp;
    +&nbsp;<A HREF="../../../org/jacoco/report/IReportVisitor.html" title="interface in org.jacoco.report"><B>NEXT CLASS</B></A></FONT></TD>
    +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
    +  <A HREF="../../../index.html?org/jacoco/report/IReportGroupVisitor.html" target="_top"><B>FRAMES</B></A>  &nbsp;
    +&nbsp;<A HREF="IReportGroupVisitor.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
    +&nbsp;<SCRIPT type="text/javascript">
    +  <!--
    +  if(window==top) {
    +    document.writeln('<A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>');
    +  }
    +  //-->
    +</SCRIPT>
    +<NOSCRIPT>
    +  <A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>
    +</NOSCRIPT>
    +
    +
    +</FONT></TD>
    +</TR>
    +<TR>
    +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
    +  SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;FIELD&nbsp;|&nbsp;CONSTR&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD>
    +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
    +DETAIL:&nbsp;FIELD&nbsp;|&nbsp;CONSTR&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD>
    +</TR>
    +</TABLE>
    +<A NAME="skip-navbar_bottom"></A>
    +<!-- ======== END OF BOTTOM NAVBAR ======= -->
    +
    +<HR>
    +Copyright &#169; 2009&#x2013;2024 Mountainminds GmbH & Co. KG. All rights reserved.
    +</BODY>
    +</HTML>
    diff --git a/jacoco/trunk/doc/api/org/jacoco/report/IReportVisitor.html b/jacoco/trunk/doc/api/org/jacoco/report/IReportVisitor.html
    new file mode 100644
    index 00000000000..7ff04502886
    --- /dev/null
    +++ b/jacoco/trunk/doc/api/org/jacoco/report/IReportVisitor.html
    @@ -0,0 +1,265 @@
    +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
    +<!--NewPage-->
    +<HTML>
    +<HEAD>
    +<!-- Generated by javadoc (build 1.5.0_22) on Wed Mar 27 16:45:42 UTC 2024 -->
    +<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
    +<TITLE>
    +IReportVisitor (JaCoCo 0.8.12.202403270442 API)
    +</TITLE>
    +
    +<META NAME="keywords" CONTENT="org.jacoco.report.IReportVisitor interface">
    +
    +<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../stylesheet.css" TITLE="Style">
    +
    +<SCRIPT type="text/javascript">
    +function windowTitle()
    +{
    +    parent.document.title="IReportVisitor (JaCoCo 0.8.12.202403270442 API)";
    +}
    +</SCRIPT>
    +<NOSCRIPT>
    +</NOSCRIPT>
    +
    +</HEAD>
    +
    +<BODY BGCOLOR="white" onload="windowTitle();">
    +
    +
    +<!-- ========= START OF TOP NAVBAR ======= -->
    +<A NAME="navbar_top"><!-- --></A>
    +<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
    +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
    +<TR>
    +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
    +<A NAME="navbar_top_firstrow"><!-- --></A>
    +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
    +  <TR ALIGN="center" VALIGN="top">
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="class-use/IReportVisitor.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
    +  </TR>
    +</TABLE>
    +</TD>
    +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
    +</EM>
    +</TD>
    +</TR>
    +
    +<TR>
    +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
    +&nbsp;<A HREF="../../../org/jacoco/report/IReportGroupVisitor.html" title="interface in org.jacoco.report"><B>PREV CLASS</B></A>&nbsp;
    +&nbsp;<A HREF="../../../org/jacoco/report/ISourceFileLocator.html" title="interface in org.jacoco.report"><B>NEXT CLASS</B></A></FONT></TD>
    +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
    +  <A HREF="../../../index.html?org/jacoco/report/IReportVisitor.html" target="_top"><B>FRAMES</B></A>  &nbsp;
    +&nbsp;<A HREF="IReportVisitor.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
    +&nbsp;<SCRIPT type="text/javascript">
    +  <!--
    +  if(window==top) {
    +    document.writeln('<A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>');
    +  }
    +  //-->
    +</SCRIPT>
    +<NOSCRIPT>
    +  <A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>
    +</NOSCRIPT>
    +
    +
    +</FONT></TD>
    +</TR>
    +<TR>
    +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
    +  SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;FIELD&nbsp;|&nbsp;CONSTR&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD>
    +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
    +DETAIL:&nbsp;FIELD&nbsp;|&nbsp;CONSTR&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD>
    +</TR>
    +</TABLE>
    +<A NAME="skip-navbar_top"></A>
    +<!-- ========= END OF TOP NAVBAR ========= -->
    +
    +<HR>
    +<!-- ======== START OF CLASS DATA ======== -->
    +<H2>
    +<FONT SIZE="-1">
    +org.jacoco.report</FONT>
    +<BR>
    +Interface IReportVisitor</H2>
    +<DL>
    +<DT><B>All Superinterfaces:</B> <DD><A HREF="../../../org/jacoco/report/IReportGroupVisitor.html" title="interface in org.jacoco.report">IReportGroupVisitor</A></DD>
    +</DL>
    +<DL>
    +<DT><B>All Known Implementing Classes:</B> <DD><A HREF="../../../org/jacoco/report/MultiReportVisitor.html" title="class in org.jacoco.report">MultiReportVisitor</A></DD>
    +</DL>
    +<HR>
    +<DL>
    +<DT><PRE>public interface <B>IReportVisitor</B><DT>extends <A HREF="../../../org/jacoco/report/IReportGroupVisitor.html" title="interface in org.jacoco.report">IReportGroupVisitor</A></DL>
    +</PRE>
    +
    +<P>
    +Interface for all implementations to retrieve structured report data. Unlike
    + nested <A HREF="../../../org/jacoco/report/IReportGroupVisitor.html" title="interface in org.jacoco.report"><CODE>IReportGroupVisitor</CODE></A> instances the root visitor accepts exactly
    + one bundle or group.
    +<P>
    +
    +<P>
    +<HR>
    +
    +<P>
    +
    +<!-- ========== METHOD SUMMARY =========== -->
    +
    +<A NAME="method_summary"><!-- --></A>
    +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
    +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
    +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
    +<B>Method Summary</B></FONT></TH>
    +</TR>
    +<TR BGCOLOR="white" CLASS="TableRowColor">
    +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
    +<CODE>&nbsp;void</CODE></FONT></TD>
    +<TD><CODE><B><A HREF="../../../org/jacoco/report/IReportVisitor.html#visitEnd()">visitEnd</A></B>()</CODE>
    +
    +<BR>
    +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Has to be called after all report data has been emitted.</TD>
    +</TR>
    +<TR BGCOLOR="white" CLASS="TableRowColor">
    +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
    +<CODE>&nbsp;void</CODE></FONT></TD>
    +<TD><CODE><B><A HREF="../../../org/jacoco/report/IReportVisitor.html#visitInfo(java.util.List, java.util.Collection)">visitInfo</A></B>(<A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/util/List.html" title="class or interface in java.util">List</A>&lt;<A HREF="../../../org/jacoco/core/data/SessionInfo.html" title="class in org.jacoco.core.data">SessionInfo</A>&gt;&nbsp;sessionInfos,
    +          <A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/util/Collection.html" title="class or interface in java.util">Collection</A>&lt;<A HREF="../../../org/jacoco/core/data/ExecutionData.html" title="class in org.jacoco.core.data">ExecutionData</A>&gt;&nbsp;executionData)</CODE>
    +
    +<BR>
    +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Initializes the report with global information.</TD>
    +</TR>
    +</TABLE>
    +&nbsp;<A NAME="methods_inherited_from_class_org.jacoco.report.IReportGroupVisitor"><!-- --></A>
    +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
    +<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
    +<TH ALIGN="left"><B>Methods inherited from interface org.jacoco.report.<A HREF="../../../org/jacoco/report/IReportGroupVisitor.html" title="interface in org.jacoco.report">IReportGroupVisitor</A></B></TH>
    +</TR>
    +<TR BGCOLOR="white" CLASS="TableRowColor">
    +<TD><CODE><A HREF="../../../org/jacoco/report/IReportGroupVisitor.html#visitBundle(org.jacoco.core.analysis.IBundleCoverage, org.jacoco.report.ISourceFileLocator)">visitBundle</A>, <A HREF="../../../org/jacoco/report/IReportGroupVisitor.html#visitGroup(java.lang.String)">visitGroup</A></CODE></TD>
    +</TR>
    +</TABLE>
    +&nbsp;
    +<P>
    +
    +<!-- ============ METHOD DETAIL ========== -->
    +
    +<A NAME="method_detail"><!-- --></A>
    +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
    +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
    +<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2">
    +<B>Method Detail</B></FONT></TH>
    +</TR>
    +</TABLE>
    +
    +<A NAME="visitInfo(java.util.List, java.util.Collection)"><!-- --></A><H3>
    +visitInfo</H3>
    +<PRE>
    +void <B>visitInfo</B>(<A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/util/List.html" title="class or interface in java.util">List</A>&lt;<A HREF="../../../org/jacoco/core/data/SessionInfo.html" title="class in org.jacoco.core.data">SessionInfo</A>&gt;&nbsp;sessionInfos,
    +               <A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/util/Collection.html" title="class or interface in java.util">Collection</A>&lt;<A HREF="../../../org/jacoco/core/data/ExecutionData.html" title="class in org.jacoco.core.data">ExecutionData</A>&gt;&nbsp;executionData)
    +               throws <A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/io/IOException.html" title="class or interface in java.io">IOException</A></PRE>
    +<DL>
    +<DD>Initializes the report with global information. This method has to be
    + called before any other method can be called.
    +<P>
    +<DD><DL>
    +</DL>
    +</DD>
    +<DD><DL>
    +<DT><B>Parameters:</B><DD><CODE>sessionInfos</CODE> - list of chronological ordered <A HREF="../../../org/jacoco/core/data/SessionInfo.html" title="class in org.jacoco.core.data"><CODE>SessionInfo</CODE></A> objects
    +            where execution data has been collected for this report.<DD><CODE>executionData</CODE> - collection of all <A HREF="../../../org/jacoco/core/data/ExecutionData.html" title="class in org.jacoco.core.data"><CODE>ExecutionData</CODE></A> objects that are
    +            considered for this report
    +<DT><B>Throws:</B>
    +<DD><CODE><A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/io/IOException.html" title="class or interface in java.io">IOException</A></CODE> - in case of IO problems with the report writer</DL>
    +</DD>
    +</DL>
    +<HR>
    +
    +<A NAME="visitEnd()"><!-- --></A><H3>
    +visitEnd</H3>
    +<PRE>
    +void <B>visitEnd</B>()
    +              throws <A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/io/IOException.html" title="class or interface in java.io">IOException</A></PRE>
    +<DL>
    +<DD>Has to be called after all report data has been emitted.
    +<P>
    +<DD><DL>
    +</DL>
    +</DD>
    +<DD><DL>
    +
    +<DT><B>Throws:</B>
    +<DD><CODE><A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/io/IOException.html" title="class or interface in java.io">IOException</A></CODE> - in case of IO problems with the report writer</DL>
    +</DD>
    +</DL>
    +<!-- ========= END OF CLASS DATA ========= -->
    +<HR>
    +
    +
    +<!-- ======= START OF BOTTOM NAVBAR ====== -->
    +<A NAME="navbar_bottom"><!-- --></A>
    +<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
    +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
    +<TR>
    +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
    +<A NAME="navbar_bottom_firstrow"><!-- --></A>
    +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
    +  <TR ALIGN="center" VALIGN="top">
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="class-use/IReportVisitor.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
    +  </TR>
    +</TABLE>
    +</TD>
    +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
    +</EM>
    +</TD>
    +</TR>
    +
    +<TR>
    +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
    +&nbsp;<A HREF="../../../org/jacoco/report/IReportGroupVisitor.html" title="interface in org.jacoco.report"><B>PREV CLASS</B></A>&nbsp;
    +&nbsp;<A HREF="../../../org/jacoco/report/ISourceFileLocator.html" title="interface in org.jacoco.report"><B>NEXT CLASS</B></A></FONT></TD>
    +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
    +  <A HREF="../../../index.html?org/jacoco/report/IReportVisitor.html" target="_top"><B>FRAMES</B></A>  &nbsp;
    +&nbsp;<A HREF="IReportVisitor.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
    +&nbsp;<SCRIPT type="text/javascript">
    +  <!--
    +  if(window==top) {
    +    document.writeln('<A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>');
    +  }
    +  //-->
    +</SCRIPT>
    +<NOSCRIPT>
    +  <A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>
    +</NOSCRIPT>
    +
    +
    +</FONT></TD>
    +</TR>
    +<TR>
    +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
    +  SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;FIELD&nbsp;|&nbsp;CONSTR&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD>
    +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
    +DETAIL:&nbsp;FIELD&nbsp;|&nbsp;CONSTR&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD>
    +</TR>
    +</TABLE>
    +<A NAME="skip-navbar_bottom"></A>
    +<!-- ======== END OF BOTTOM NAVBAR ======= -->
    +
    +<HR>
    +Copyright &#169; 2009&#x2013;2024 Mountainminds GmbH & Co. KG. All rights reserved.
    +</BODY>
    +</HTML>
    diff --git a/jacoco/trunk/doc/api/org/jacoco/report/ISourceFileLocator.html b/jacoco/trunk/doc/api/org/jacoco/report/ISourceFileLocator.html
    new file mode 100644
    index 00000000000..75b5c453787
    --- /dev/null
    +++ b/jacoco/trunk/doc/api/org/jacoco/report/ISourceFileLocator.html
    @@ -0,0 +1,243 @@
    +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
    +<!--NewPage-->
    +<HTML>
    +<HEAD>
    +<!-- Generated by javadoc (build 1.5.0_22) on Wed Mar 27 16:45:42 UTC 2024 -->
    +<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
    +<TITLE>
    +ISourceFileLocator (JaCoCo 0.8.12.202403270442 API)
    +</TITLE>
    +
    +<META NAME="keywords" CONTENT="org.jacoco.report.ISourceFileLocator interface">
    +
    +<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../stylesheet.css" TITLE="Style">
    +
    +<SCRIPT type="text/javascript">
    +function windowTitle()
    +{
    +    parent.document.title="ISourceFileLocator (JaCoCo 0.8.12.202403270442 API)";
    +}
    +</SCRIPT>
    +<NOSCRIPT>
    +</NOSCRIPT>
    +
    +</HEAD>
    +
    +<BODY BGCOLOR="white" onload="windowTitle();">
    +
    +
    +<!-- ========= START OF TOP NAVBAR ======= -->
    +<A NAME="navbar_top"><!-- --></A>
    +<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
    +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
    +<TR>
    +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
    +<A NAME="navbar_top_firstrow"><!-- --></A>
    +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
    +  <TR ALIGN="center" VALIGN="top">
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="class-use/ISourceFileLocator.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
    +  </TR>
    +</TABLE>
    +</TD>
    +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
    +</EM>
    +</TD>
    +</TR>
    +
    +<TR>
    +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
    +&nbsp;<A HREF="../../../org/jacoco/report/IReportVisitor.html" title="interface in org.jacoco.report"><B>PREV CLASS</B></A>&nbsp;
    +&nbsp;<A HREF="../../../org/jacoco/report/JavaNames.html" title="class in org.jacoco.report"><B>NEXT CLASS</B></A></FONT></TD>
    +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
    +  <A HREF="../../../index.html?org/jacoco/report/ISourceFileLocator.html" target="_top"><B>FRAMES</B></A>  &nbsp;
    +&nbsp;<A HREF="ISourceFileLocator.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
    +&nbsp;<SCRIPT type="text/javascript">
    +  <!--
    +  if(window==top) {
    +    document.writeln('<A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>');
    +  }
    +  //-->
    +</SCRIPT>
    +<NOSCRIPT>
    +  <A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>
    +</NOSCRIPT>
    +
    +
    +</FONT></TD>
    +</TR>
    +<TR>
    +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
    +  SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;FIELD&nbsp;|&nbsp;CONSTR&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD>
    +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
    +DETAIL:&nbsp;FIELD&nbsp;|&nbsp;CONSTR&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD>
    +</TR>
    +</TABLE>
    +<A NAME="skip-navbar_top"></A>
    +<!-- ========= END OF TOP NAVBAR ========= -->
    +
    +<HR>
    +<!-- ======== START OF CLASS DATA ======== -->
    +<H2>
    +<FONT SIZE="-1">
    +org.jacoco.report</FONT>
    +<BR>
    +Interface ISourceFileLocator</H2>
    +<DL>
    +<DT><B>All Known Implementing Classes:</B> <DD><A HREF="../../../org/jacoco/report/DirectorySourceFileLocator.html" title="class in org.jacoco.report">DirectorySourceFileLocator</A>, <A HREF="../../../org/jacoco/report/InputStreamSourceFileLocator.html" title="class in org.jacoco.report">InputStreamSourceFileLocator</A>, <A HREF="../../../org/jacoco/report/MultiSourceFileLocator.html" title="class in org.jacoco.report">MultiSourceFileLocator</A></DD>
    +</DL>
    +<HR>
    +<DL>
    +<DT><PRE>public interface <B>ISourceFileLocator</B></DL>
    +</PRE>
    +
    +<P>
    +Interface to look-up source files that will be included with the report.
    +<P>
    +
    +<P>
    +<HR>
    +
    +<P>
    +
    +<!-- ========== METHOD SUMMARY =========== -->
    +
    +<A NAME="method_summary"><!-- --></A>
    +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
    +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
    +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
    +<B>Method Summary</B></FONT></TH>
    +</TR>
    +<TR BGCOLOR="white" CLASS="TableRowColor">
    +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
    +<CODE>&nbsp;<A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/io/Reader.html" title="class or interface in java.io">Reader</A></CODE></FONT></TD>
    +<TD><CODE><B><A HREF="../../../org/jacoco/report/ISourceFileLocator.html#getSourceFile(java.lang.String, java.lang.String)">getSourceFile</A></B>(<A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A>&nbsp;packageName,
    +              <A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A>&nbsp;fileName)</CODE>
    +
    +<BR>
    +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Tries to locate the given source file and opens a reader with the
    + appropriate encoding.</TD>
    +</TR>
    +<TR BGCOLOR="white" CLASS="TableRowColor">
    +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
    +<CODE>&nbsp;int</CODE></FONT></TD>
    +<TD><CODE><B><A HREF="../../../org/jacoco/report/ISourceFileLocator.html#getTabWidth()">getTabWidth</A></B>()</CODE>
    +
    +<BR>
    +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns number of blank characters that represent a tab in source code.</TD>
    +</TR>
    +</TABLE>
    +&nbsp;
    +<P>
    +
    +<!-- ============ METHOD DETAIL ========== -->
    +
    +<A NAME="method_detail"><!-- --></A>
    +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
    +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
    +<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2">
    +<B>Method Detail</B></FONT></TH>
    +</TR>
    +</TABLE>
    +
    +<A NAME="getSourceFile(java.lang.String, java.lang.String)"><!-- --></A><H3>
    +getSourceFile</H3>
    +<PRE>
    +<A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/io/Reader.html" title="class or interface in java.io">Reader</A> <B>getSourceFile</B>(<A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A>&nbsp;packageName,
    +                     <A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A>&nbsp;fileName)
    +                     throws <A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/io/IOException.html" title="class or interface in java.io">IOException</A></PRE>
    +<DL>
    +<DD>Tries to locate the given source file and opens a reader with the
    + appropriate encoding.
    +<P>
    +<DD><DL>
    +<DT><B>Parameters:</B><DD><CODE>packageName</CODE> - VM name of the package<DD><CODE>fileName</CODE> - name of the source file
    +<DT><B>Returns:</B><DD>reader if the file could be located, <code>null</code> otherwise
    +<DT><B>Throws:</B>
    +<DD><CODE><A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/io/IOException.html" title="class or interface in java.io">IOException</A></CODE> - in case of problems while opening the file</DL>
    +</DD>
    +</DL>
    +<HR>
    +
    +<A NAME="getTabWidth()"><!-- --></A><H3>
    +getTabWidth</H3>
    +<PRE>
    +int <B>getTabWidth</B>()</PRE>
    +<DL>
    +<DD>Returns number of blank characters that represent a tab in source code.
    +<P>
    +<DD><DL>
    +
    +<DT><B>Returns:</B><DD>tab width as number of blanks</DL>
    +</DD>
    +</DL>
    +<!-- ========= END OF CLASS DATA ========= -->
    +<HR>
    +
    +
    +<!-- ======= START OF BOTTOM NAVBAR ====== -->
    +<A NAME="navbar_bottom"><!-- --></A>
    +<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
    +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
    +<TR>
    +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
    +<A NAME="navbar_bottom_firstrow"><!-- --></A>
    +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
    +  <TR ALIGN="center" VALIGN="top">
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="class-use/ISourceFileLocator.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
    +  </TR>
    +</TABLE>
    +</TD>
    +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
    +</EM>
    +</TD>
    +</TR>
    +
    +<TR>
    +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
    +&nbsp;<A HREF="../../../org/jacoco/report/IReportVisitor.html" title="interface in org.jacoco.report"><B>PREV CLASS</B></A>&nbsp;
    +&nbsp;<A HREF="../../../org/jacoco/report/JavaNames.html" title="class in org.jacoco.report"><B>NEXT CLASS</B></A></FONT></TD>
    +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
    +  <A HREF="../../../index.html?org/jacoco/report/ISourceFileLocator.html" target="_top"><B>FRAMES</B></A>  &nbsp;
    +&nbsp;<A HREF="ISourceFileLocator.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
    +&nbsp;<SCRIPT type="text/javascript">
    +  <!--
    +  if(window==top) {
    +    document.writeln('<A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>');
    +  }
    +  //-->
    +</SCRIPT>
    +<NOSCRIPT>
    +  <A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>
    +</NOSCRIPT>
    +
    +
    +</FONT></TD>
    +</TR>
    +<TR>
    +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
    +  SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;FIELD&nbsp;|&nbsp;CONSTR&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD>
    +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
    +DETAIL:&nbsp;FIELD&nbsp;|&nbsp;CONSTR&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD>
    +</TR>
    +</TABLE>
    +<A NAME="skip-navbar_bottom"></A>
    +<!-- ======== END OF BOTTOM NAVBAR ======= -->
    +
    +<HR>
    +Copyright &#169; 2009&#x2013;2024 Mountainminds GmbH & Co. KG. All rights reserved.
    +</BODY>
    +</HTML>
    diff --git a/jacoco/trunk/doc/api/org/jacoco/report/InputStreamSourceFileLocator.html b/jacoco/trunk/doc/api/org/jacoco/report/InputStreamSourceFileLocator.html
    new file mode 100644
    index 00000000000..9c85a3f7d84
    --- /dev/null
    +++ b/jacoco/trunk/doc/api/org/jacoco/report/InputStreamSourceFileLocator.html
    @@ -0,0 +1,338 @@
    +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
    +<!--NewPage-->
    +<HTML>
    +<HEAD>
    +<!-- Generated by javadoc (build 1.5.0_22) on Wed Mar 27 16:45:42 UTC 2024 -->
    +<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
    +<TITLE>
    +InputStreamSourceFileLocator (JaCoCo 0.8.12.202403270442 API)
    +</TITLE>
    +
    +<META NAME="keywords" CONTENT="org.jacoco.report.InputStreamSourceFileLocator class">
    +
    +<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../stylesheet.css" TITLE="Style">
    +
    +<SCRIPT type="text/javascript">
    +function windowTitle()
    +{
    +    parent.document.title="InputStreamSourceFileLocator (JaCoCo 0.8.12.202403270442 API)";
    +}
    +</SCRIPT>
    +<NOSCRIPT>
    +</NOSCRIPT>
    +
    +</HEAD>
    +
    +<BODY BGCOLOR="white" onload="windowTitle();">
    +
    +
    +<!-- ========= START OF TOP NAVBAR ======= -->
    +<A NAME="navbar_top"><!-- --></A>
    +<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
    +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
    +<TR>
    +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
    +<A NAME="navbar_top_firstrow"><!-- --></A>
    +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
    +  <TR ALIGN="center" VALIGN="top">
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="class-use/InputStreamSourceFileLocator.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
    +  </TR>
    +</TABLE>
    +</TD>
    +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
    +</EM>
    +</TD>
    +</TR>
    +
    +<TR>
    +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
    +&nbsp;<A HREF="../../../org/jacoco/report/IMultiReportOutput.html" title="interface in org.jacoco.report"><B>PREV CLASS</B></A>&nbsp;
    +&nbsp;<A HREF="../../../org/jacoco/report/IReportGroupVisitor.html" title="interface in org.jacoco.report"><B>NEXT CLASS</B></A></FONT></TD>
    +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
    +  <A HREF="../../../index.html?org/jacoco/report/InputStreamSourceFileLocator.html" target="_top"><B>FRAMES</B></A>  &nbsp;
    +&nbsp;<A HREF="InputStreamSourceFileLocator.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
    +&nbsp;<SCRIPT type="text/javascript">
    +  <!--
    +  if(window==top) {
    +    document.writeln('<A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>');
    +  }
    +  //-->
    +</SCRIPT>
    +<NOSCRIPT>
    +  <A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>
    +</NOSCRIPT>
    +
    +
    +</FONT></TD>
    +</TR>
    +<TR>
    +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
    +  SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;FIELD&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD>
    +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
    +DETAIL:&nbsp;FIELD&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD>
    +</TR>
    +</TABLE>
    +<A NAME="skip-navbar_top"></A>
    +<!-- ========= END OF TOP NAVBAR ========= -->
    +
    +<HR>
    +<!-- ======== START OF CLASS DATA ======== -->
    +<H2>
    +<FONT SIZE="-1">
    +org.jacoco.report</FONT>
    +<BR>
    +Class InputStreamSourceFileLocator</H2>
    +<PRE>
    +<A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html" title="class or interface in java.lang">java.lang.Object</A>
    +  <IMG SRC="../../../resources/inherit.gif" ALT="extended by "><B>org.jacoco.report.InputStreamSourceFileLocator</B>
    +</PRE>
    +<DL>
    +<DT><B>All Implemented Interfaces:</B> <DD><A HREF="../../../org/jacoco/report/ISourceFileLocator.html" title="interface in org.jacoco.report">ISourceFileLocator</A></DD>
    +</DL>
    +<DL>
    +<DT><B>Direct Known Subclasses:</B> <DD><A HREF="../../../org/jacoco/report/DirectorySourceFileLocator.html" title="class in org.jacoco.report">DirectorySourceFileLocator</A></DD>
    +</DL>
    +<HR>
    +<DL>
    +<DT><PRE>public abstract class <B>InputStreamSourceFileLocator</B><DT>extends <A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html" title="class or interface in java.lang">Object</A><DT>implements <A HREF="../../../org/jacoco/report/ISourceFileLocator.html" title="interface in org.jacoco.report">ISourceFileLocator</A></DL>
    +</PRE>
    +
    +<P>
    +Abstract base class for <A HREF="../../../org/jacoco/report/ISourceFileLocator.html" title="interface in org.jacoco.report"><CODE>ISourceFileLocator</CODE></A> locator implementations
    + based on <A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/io/InputStream.html" title="class or interface in java.io"><CODE>InputStream</CODE></A>s. It handles the encoding and tab width.
    +<P>
    +
    +<P>
    +<HR>
    +
    +<P>
    +
    +<!-- ======== CONSTRUCTOR SUMMARY ======== -->
    +
    +<A NAME="constructor_summary"><!-- --></A>
    +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
    +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
    +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
    +<B>Constructor Summary</B></FONT></TH>
    +</TR>
    +<TR BGCOLOR="white" CLASS="TableRowColor">
    +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
    +<CODE>protected </CODE></FONT></TD>
    +<TD><CODE><B><A HREF="../../../org/jacoco/report/InputStreamSourceFileLocator.html#InputStreamSourceFileLocator(java.lang.String, int)">InputStreamSourceFileLocator</A></B>(<A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A>&nbsp;encoding,
    +                             int&nbsp;tabWidth)</CODE>
    +
    +<BR>
    +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Creates a new locator with the given specification.</TD>
    +</TR>
    +</TABLE>
    +&nbsp;
    +<!-- ========== METHOD SUMMARY =========== -->
    +
    +<A NAME="method_summary"><!-- --></A>
    +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
    +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
    +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
    +<B>Method Summary</B></FONT></TH>
    +</TR>
    +<TR BGCOLOR="white" CLASS="TableRowColor">
    +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
    +<CODE>&nbsp;<A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/io/Reader.html" title="class or interface in java.io">Reader</A></CODE></FONT></TD>
    +<TD><CODE><B><A HREF="../../../org/jacoco/report/InputStreamSourceFileLocator.html#getSourceFile(java.lang.String, java.lang.String)">getSourceFile</A></B>(<A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A>&nbsp;packageName,
    +              <A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A>&nbsp;fileName)</CODE>
    +
    +<BR>
    +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Tries to locate the given source file and opens a reader with the
    + appropriate encoding.</TD>
    +</TR>
    +<TR BGCOLOR="white" CLASS="TableRowColor">
    +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
    +<CODE>protected abstract &nbsp;<A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/io/InputStream.html" title="class or interface in java.io">InputStream</A></CODE></FONT></TD>
    +<TD><CODE><B><A HREF="../../../org/jacoco/report/InputStreamSourceFileLocator.html#getSourceStream(java.lang.String)">getSourceStream</A></B>(<A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A>&nbsp;path)</CODE>
    +
    +<BR>
    +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Tries to locate the given source file and opens its binary content.</TD>
    +</TR>
    +<TR BGCOLOR="white" CLASS="TableRowColor">
    +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
    +<CODE>&nbsp;int</CODE></FONT></TD>
    +<TD><CODE><B><A HREF="../../../org/jacoco/report/InputStreamSourceFileLocator.html#getTabWidth()">getTabWidth</A></B>()</CODE>
    +
    +<BR>
    +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns number of blank characters that represent a tab in source code.</TD>
    +</TR>
    +</TABLE>
    +&nbsp;<A NAME="methods_inherited_from_class_java.lang.Object"><!-- --></A>
    +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
    +<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
    +<TH ALIGN="left"><B>Methods inherited from class java.lang.<A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html" title="class or interface in java.lang">Object</A></B></TH>
    +</TR>
    +<TR BGCOLOR="white" CLASS="TableRowColor">
    +<TD><CODE><A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html#clone()" title="class or interface in java.lang">clone</A>, <A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html#equals(java.lang.Object)" title="class or interface in java.lang">equals</A>, <A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html#finalize()" title="class or interface in java.lang">finalize</A>, <A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html#getClass()" title="class or interface in java.lang">getClass</A>, <A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html#hashCode()" title="class or interface in java.lang">hashCode</A>, <A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html#notify()" title="class or interface in java.lang">notify</A>, <A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html#notifyAll()" title="class or interface in java.lang">notifyAll</A>, <A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html#toString()" title="class or interface in java.lang">toString</A>, <A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html#wait()" title="class or interface in java.lang">wait</A>, <A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html#wait(long)" title="class or interface in java.lang">wait</A>, <A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html#wait(long, int)" title="class or interface in java.lang">wait</A></CODE></TD>
    +</TR>
    +</TABLE>
    +&nbsp;
    +<P>
    +
    +<!-- ========= CONSTRUCTOR DETAIL ======== -->
    +
    +<A NAME="constructor_detail"><!-- --></A>
    +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
    +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
    +<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2">
    +<B>Constructor Detail</B></FONT></TH>
    +</TR>
    +</TABLE>
    +
    +<A NAME="InputStreamSourceFileLocator(java.lang.String, int)"><!-- --></A><H3>
    +InputStreamSourceFileLocator</H3>
    +<PRE>
    +protected <B>InputStreamSourceFileLocator</B>(<A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A>&nbsp;encoding,
    +                                       int&nbsp;tabWidth)</PRE>
    +<DL>
    +<DD>Creates a new locator with the given specification.
    +<P>
    +<DL>
    +<DT><B>Parameters:</B><DD><CODE>encoding</CODE> - encoding of the source files, <code>null</code> for platform
    +            default encoding<DD><CODE>tabWidth</CODE> - tab width in source files as number of blanks</DL>
    +</DL>
    +
    +<!-- ============ METHOD DETAIL ========== -->
    +
    +<A NAME="method_detail"><!-- --></A>
    +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
    +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
    +<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2">
    +<B>Method Detail</B></FONT></TH>
    +</TR>
    +</TABLE>
    +
    +<A NAME="getSourceFile(java.lang.String, java.lang.String)"><!-- --></A><H3>
    +getSourceFile</H3>
    +<PRE>
    +public <A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/io/Reader.html" title="class or interface in java.io">Reader</A> <B>getSourceFile</B>(<A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A>&nbsp;packageName,
    +                            <A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A>&nbsp;fileName)
    +                     throws <A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/io/IOException.html" title="class or interface in java.io">IOException</A></PRE>
    +<DL>
    +<DD><B>Description copied from interface: <CODE><A HREF="../../../org/jacoco/report/ISourceFileLocator.html#getSourceFile(java.lang.String, java.lang.String)">ISourceFileLocator</A></CODE></B></DD>
    +<DD>Tries to locate the given source file and opens a reader with the
    + appropriate encoding.
    +<P>
    +<DD><DL>
    +<DT><B>Specified by:</B><DD><CODE><A HREF="../../../org/jacoco/report/ISourceFileLocator.html#getSourceFile(java.lang.String, java.lang.String)">getSourceFile</A></CODE> in interface <CODE><A HREF="../../../org/jacoco/report/ISourceFileLocator.html" title="interface in org.jacoco.report">ISourceFileLocator</A></CODE></DL>
    +</DD>
    +<DD><DL>
    +<DT><B>Parameters:</B><DD><CODE>packageName</CODE> - VM name of the package<DD><CODE>fileName</CODE> - name of the source file
    +<DT><B>Returns:</B><DD>reader if the file could be located, <code>null</code> otherwise
    +<DT><B>Throws:</B>
    +<DD><CODE><A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/io/IOException.html" title="class or interface in java.io">IOException</A></CODE> - in case of problems while opening the file</DL>
    +</DD>
    +</DL>
    +<HR>
    +
    +<A NAME="getTabWidth()"><!-- --></A><H3>
    +getTabWidth</H3>
    +<PRE>
    +public int <B>getTabWidth</B>()</PRE>
    +<DL>
    +<DD><B>Description copied from interface: <CODE><A HREF="../../../org/jacoco/report/ISourceFileLocator.html#getTabWidth()">ISourceFileLocator</A></CODE></B></DD>
    +<DD>Returns number of blank characters that represent a tab in source code.
    +<P>
    +<DD><DL>
    +<DT><B>Specified by:</B><DD><CODE><A HREF="../../../org/jacoco/report/ISourceFileLocator.html#getTabWidth()">getTabWidth</A></CODE> in interface <CODE><A HREF="../../../org/jacoco/report/ISourceFileLocator.html" title="interface in org.jacoco.report">ISourceFileLocator</A></CODE></DL>
    +</DD>
    +<DD><DL>
    +
    +<DT><B>Returns:</B><DD>tab width as number of blanks</DL>
    +</DD>
    +</DL>
    +<HR>
    +
    +<A NAME="getSourceStream(java.lang.String)"><!-- --></A><H3>
    +getSourceStream</H3>
    +<PRE>
    +protected abstract <A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/io/InputStream.html" title="class or interface in java.io">InputStream</A> <B>getSourceStream</B>(<A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A>&nbsp;path)
    +                                        throws <A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/io/IOException.html" title="class or interface in java.io">IOException</A></PRE>
    +<DL>
    +<DD>Tries to locate the given source file and opens its binary content.
    +<P>
    +<DD><DL>
    +</DL>
    +</DD>
    +<DD><DL>
    +<DT><B>Parameters:</B><DD><CODE>path</CODE> - local path to the resource
    +<DT><B>Returns:</B><DD>stream if the file could be located, <code>null</code> otherwise
    +<DT><B>Throws:</B>
    +<DD><CODE><A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/io/IOException.html" title="class or interface in java.io">IOException</A></CODE> - in case of problems while opening the stream</DL>
    +</DD>
    +</DL>
    +<!-- ========= END OF CLASS DATA ========= -->
    +<HR>
    +
    +
    +<!-- ======= START OF BOTTOM NAVBAR ====== -->
    +<A NAME="navbar_bottom"><!-- --></A>
    +<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
    +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
    +<TR>
    +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
    +<A NAME="navbar_bottom_firstrow"><!-- --></A>
    +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
    +  <TR ALIGN="center" VALIGN="top">
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="class-use/InputStreamSourceFileLocator.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
    +  </TR>
    +</TABLE>
    +</TD>
    +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
    +</EM>
    +</TD>
    +</TR>
    +
    +<TR>
    +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
    +&nbsp;<A HREF="../../../org/jacoco/report/IMultiReportOutput.html" title="interface in org.jacoco.report"><B>PREV CLASS</B></A>&nbsp;
    +&nbsp;<A HREF="../../../org/jacoco/report/IReportGroupVisitor.html" title="interface in org.jacoco.report"><B>NEXT CLASS</B></A></FONT></TD>
    +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
    +  <A HREF="../../../index.html?org/jacoco/report/InputStreamSourceFileLocator.html" target="_top"><B>FRAMES</B></A>  &nbsp;
    +&nbsp;<A HREF="InputStreamSourceFileLocator.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
    +&nbsp;<SCRIPT type="text/javascript">
    +  <!--
    +  if(window==top) {
    +    document.writeln('<A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>');
    +  }
    +  //-->
    +</SCRIPT>
    +<NOSCRIPT>
    +  <A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>
    +</NOSCRIPT>
    +
    +
    +</FONT></TD>
    +</TR>
    +<TR>
    +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
    +  SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;FIELD&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD>
    +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
    +DETAIL:&nbsp;FIELD&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD>
    +</TR>
    +</TABLE>
    +<A NAME="skip-navbar_bottom"></A>
    +<!-- ======== END OF BOTTOM NAVBAR ======= -->
    +
    +<HR>
    +Copyright &#169; 2009&#x2013;2024 Mountainminds GmbH & Co. KG. All rights reserved.
    +</BODY>
    +</HTML>
    diff --git a/jacoco/trunk/doc/api/org/jacoco/report/JavaNames.html b/jacoco/trunk/doc/api/org/jacoco/report/JavaNames.html
    new file mode 100644
    index 00000000000..640f0285230
    --- /dev/null
    +++ b/jacoco/trunk/doc/api/org/jacoco/report/JavaNames.html
    @@ -0,0 +1,387 @@
    +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
    +<!--NewPage-->
    +<HTML>
    +<HEAD>
    +<!-- Generated by javadoc (build 1.5.0_22) on Wed Mar 27 16:45:42 UTC 2024 -->
    +<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
    +<TITLE>
    +JavaNames (JaCoCo 0.8.12.202403270442 API)
    +</TITLE>
    +
    +<META NAME="keywords" CONTENT="org.jacoco.report.JavaNames class">
    +
    +<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../stylesheet.css" TITLE="Style">
    +
    +<SCRIPT type="text/javascript">
    +function windowTitle()
    +{
    +    parent.document.title="JavaNames (JaCoCo 0.8.12.202403270442 API)";
    +}
    +</SCRIPT>
    +<NOSCRIPT>
    +</NOSCRIPT>
    +
    +</HEAD>
    +
    +<BODY BGCOLOR="white" onload="windowTitle();">
    +
    +
    +<!-- ========= START OF TOP NAVBAR ======= -->
    +<A NAME="navbar_top"><!-- --></A>
    +<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
    +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
    +<TR>
    +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
    +<A NAME="navbar_top_firstrow"><!-- --></A>
    +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
    +  <TR ALIGN="center" VALIGN="top">
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="class-use/JavaNames.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
    +  </TR>
    +</TABLE>
    +</TD>
    +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
    +</EM>
    +</TD>
    +</TR>
    +
    +<TR>
    +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
    +&nbsp;<A HREF="../../../org/jacoco/report/ISourceFileLocator.html" title="interface in org.jacoco.report"><B>PREV CLASS</B></A>&nbsp;
    +&nbsp;<A HREF="../../../org/jacoco/report/MultiReportVisitor.html" title="class in org.jacoco.report"><B>NEXT CLASS</B></A></FONT></TD>
    +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
    +  <A HREF="../../../index.html?org/jacoco/report/JavaNames.html" target="_top"><B>FRAMES</B></A>  &nbsp;
    +&nbsp;<A HREF="JavaNames.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
    +&nbsp;<SCRIPT type="text/javascript">
    +  <!--
    +  if(window==top) {
    +    document.writeln('<A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>');
    +  }
    +  //-->
    +</SCRIPT>
    +<NOSCRIPT>
    +  <A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>
    +</NOSCRIPT>
    +
    +
    +</FONT></TD>
    +</TR>
    +<TR>
    +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
    +  SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;FIELD&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD>
    +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
    +DETAIL:&nbsp;FIELD&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD>
    +</TR>
    +</TABLE>
    +<A NAME="skip-navbar_top"></A>
    +<!-- ========= END OF TOP NAVBAR ========= -->
    +
    +<HR>
    +<!-- ======== START OF CLASS DATA ======== -->
    +<H2>
    +<FONT SIZE="-1">
    +org.jacoco.report</FONT>
    +<BR>
    +Class JavaNames</H2>
    +<PRE>
    +<A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html" title="class or interface in java.lang">java.lang.Object</A>
    +  <IMG SRC="../../../resources/inherit.gif" ALT="extended by "><B>org.jacoco.report.JavaNames</B>
    +</PRE>
    +<DL>
    +<DT><B>All Implemented Interfaces:</B> <DD><A HREF="../../../org/jacoco/report/ILanguageNames.html" title="interface in org.jacoco.report">ILanguageNames</A></DD>
    +</DL>
    +<HR>
    +<DL>
    +<DT><PRE>public class <B>JavaNames</B><DT>extends <A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html" title="class or interface in java.lang">Object</A><DT>implements <A HREF="../../../org/jacoco/report/ILanguageNames.html" title="interface in org.jacoco.report">ILanguageNames</A></DL>
    +</PRE>
    +
    +<P>
    +Names for the Java language.
    +<P>
    +
    +<P>
    +<HR>
    +
    +<P>
    +
    +<!-- ======== CONSTRUCTOR SUMMARY ======== -->
    +
    +<A NAME="constructor_summary"><!-- --></A>
    +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
    +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
    +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
    +<B>Constructor Summary</B></FONT></TH>
    +</TR>
    +<TR BGCOLOR="white" CLASS="TableRowColor">
    +<TD><CODE><B><A HREF="../../../org/jacoco/report/JavaNames.html#JavaNames()">JavaNames</A></B>()</CODE>
    +
    +<BR>
    +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
    +</TR>
    +</TABLE>
    +&nbsp;
    +<!-- ========== METHOD SUMMARY =========== -->
    +
    +<A NAME="method_summary"><!-- --></A>
    +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
    +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
    +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
    +<B>Method Summary</B></FONT></TH>
    +</TR>
    +<TR BGCOLOR="white" CLASS="TableRowColor">
    +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
    +<CODE>&nbsp;<A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A></CODE></FONT></TD>
    +<TD><CODE><B><A HREF="../../../org/jacoco/report/JavaNames.html#getClassName(java.lang.String, java.lang.String, java.lang.String, java.lang.String[])">getClassName</A></B>(<A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A>&nbsp;vmname,
    +             <A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A>&nbsp;vmsignature,
    +             <A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A>&nbsp;vmsuperclass,
    +             <A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A>[]&nbsp;vminterfaces)</CODE>
    +
    +<BR>
    +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Calculates the language specific name of a class.</TD>
    +</TR>
    +<TR BGCOLOR="white" CLASS="TableRowColor">
    +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
    +<CODE>&nbsp;<A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A></CODE></FONT></TD>
    +<TD><CODE><B><A HREF="../../../org/jacoco/report/JavaNames.html#getMethodName(java.lang.String, java.lang.String, java.lang.String, java.lang.String)">getMethodName</A></B>(<A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A>&nbsp;vmclassname,
    +              <A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A>&nbsp;vmmethodname,
    +              <A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A>&nbsp;vmdesc,
    +              <A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A>&nbsp;vmsignature)</CODE>
    +
    +<BR>
    +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Calculates the language specific name of a method.</TD>
    +</TR>
    +<TR BGCOLOR="white" CLASS="TableRowColor">
    +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
    +<CODE>&nbsp;<A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A></CODE></FONT></TD>
    +<TD><CODE><B><A HREF="../../../org/jacoco/report/JavaNames.html#getPackageName(java.lang.String)">getPackageName</A></B>(<A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A>&nbsp;vmname)</CODE>
    +
    +<BR>
    +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Calculates the language specific name of a package.</TD>
    +</TR>
    +<TR BGCOLOR="white" CLASS="TableRowColor">
    +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
    +<CODE>&nbsp;<A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A></CODE></FONT></TD>
    +<TD><CODE><B><A HREF="../../../org/jacoco/report/JavaNames.html#getQualifiedClassName(java.lang.String)">getQualifiedClassName</A></B>(<A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A>&nbsp;vmname)</CODE>
    +
    +<BR>
    +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Calculates the language specific qualified name of a class.</TD>
    +</TR>
    +<TR BGCOLOR="white" CLASS="TableRowColor">
    +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
    +<CODE>&nbsp;<A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A></CODE></FONT></TD>
    +<TD><CODE><B><A HREF="../../../org/jacoco/report/JavaNames.html#getQualifiedMethodName(java.lang.String, java.lang.String, java.lang.String, java.lang.String)">getQualifiedMethodName</A></B>(<A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A>&nbsp;vmclassname,
    +                       <A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A>&nbsp;vmmethodname,
    +                       <A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A>&nbsp;vmdesc,
    +                       <A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A>&nbsp;vmsignature)</CODE>
    +
    +<BR>
    +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Calculates the language specific fully qualified name of a method.</TD>
    +</TR>
    +</TABLE>
    +&nbsp;<A NAME="methods_inherited_from_class_java.lang.Object"><!-- --></A>
    +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
    +<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
    +<TH ALIGN="left"><B>Methods inherited from class java.lang.<A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html" title="class or interface in java.lang">Object</A></B></TH>
    +</TR>
    +<TR BGCOLOR="white" CLASS="TableRowColor">
    +<TD><CODE><A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html#clone()" title="class or interface in java.lang">clone</A>, <A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html#equals(java.lang.Object)" title="class or interface in java.lang">equals</A>, <A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html#finalize()" title="class or interface in java.lang">finalize</A>, <A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html#getClass()" title="class or interface in java.lang">getClass</A>, <A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html#hashCode()" title="class or interface in java.lang">hashCode</A>, <A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html#notify()" title="class or interface in java.lang">notify</A>, <A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html#notifyAll()" title="class or interface in java.lang">notifyAll</A>, <A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html#toString()" title="class or interface in java.lang">toString</A>, <A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html#wait()" title="class or interface in java.lang">wait</A>, <A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html#wait(long)" title="class or interface in java.lang">wait</A>, <A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html#wait(long, int)" title="class or interface in java.lang">wait</A></CODE></TD>
    +</TR>
    +</TABLE>
    +&nbsp;
    +<P>
    +
    +<!-- ========= CONSTRUCTOR DETAIL ======== -->
    +
    +<A NAME="constructor_detail"><!-- --></A>
    +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
    +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
    +<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2">
    +<B>Constructor Detail</B></FONT></TH>
    +</TR>
    +</TABLE>
    +
    +<A NAME="JavaNames()"><!-- --></A><H3>
    +JavaNames</H3>
    +<PRE>
    +public <B>JavaNames</B>()</PRE>
    +<DL>
    +</DL>
    +
    +<!-- ============ METHOD DETAIL ========== -->
    +
    +<A NAME="method_detail"><!-- --></A>
    +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
    +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
    +<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2">
    +<B>Method Detail</B></FONT></TH>
    +</TR>
    +</TABLE>
    +
    +<A NAME="getPackageName(java.lang.String)"><!-- --></A><H3>
    +getPackageName</H3>
    +<PRE>
    +public <A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> <B>getPackageName</B>(<A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A>&nbsp;vmname)</PRE>
    +<DL>
    +<DD><B>Description copied from interface: <CODE><A HREF="../../../org/jacoco/report/ILanguageNames.html#getPackageName(java.lang.String)">ILanguageNames</A></CODE></B></DD>
    +<DD>Calculates the language specific name of a package.
    +<P>
    +<DD><DL>
    +<DT><B>Specified by:</B><DD><CODE><A HREF="../../../org/jacoco/report/ILanguageNames.html#getPackageName(java.lang.String)">getPackageName</A></CODE> in interface <CODE><A HREF="../../../org/jacoco/report/ILanguageNames.html" title="interface in org.jacoco.report">ILanguageNames</A></CODE></DL>
    +</DD>
    +<DD><DL>
    +<DT><B>Parameters:</B><DD><CODE>vmname</CODE> - vm name of a package
    +<DT><B>Returns:</B><DD>language specific notation for the package</DL>
    +</DD>
    +</DL>
    +<HR>
    +
    +<A NAME="getClassName(java.lang.String, java.lang.String, java.lang.String, java.lang.String[])"><!-- --></A><H3>
    +getClassName</H3>
    +<PRE>
    +public <A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> <B>getClassName</B>(<A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A>&nbsp;vmname,
    +                           <A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A>&nbsp;vmsignature,
    +                           <A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A>&nbsp;vmsuperclass,
    +                           <A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A>[]&nbsp;vminterfaces)</PRE>
    +<DL>
    +<DD><B>Description copied from interface: <CODE><A HREF="../../../org/jacoco/report/ILanguageNames.html#getClassName(java.lang.String, java.lang.String, java.lang.String, java.lang.String[])">ILanguageNames</A></CODE></B></DD>
    +<DD>Calculates the language specific name of a class.
    +<P>
    +<DD><DL>
    +<DT><B>Specified by:</B><DD><CODE><A HREF="../../../org/jacoco/report/ILanguageNames.html#getClassName(java.lang.String, java.lang.String, java.lang.String, java.lang.String[])">getClassName</A></CODE> in interface <CODE><A HREF="../../../org/jacoco/report/ILanguageNames.html" title="interface in org.jacoco.report">ILanguageNames</A></CODE></DL>
    +</DD>
    +<DD><DL>
    +<DT><B>Parameters:</B><DD><CODE>vmname</CODE> - vm name of a class<DD><CODE>vmsignature</CODE> - vm signature of the class (may be <code>null</code>)<DD><CODE>vmsuperclass</CODE> - vm name of the superclass of the class (may be
    +            <code>null</code>)<DD><CODE>vminterfaces</CODE> - vm names of interfaces of the class (may be <code>null</code>)
    +<DT><B>Returns:</B><DD>language specific notation of the class</DL>
    +</DD>
    +</DL>
    +<HR>
    +
    +<A NAME="getQualifiedClassName(java.lang.String)"><!-- --></A><H3>
    +getQualifiedClassName</H3>
    +<PRE>
    +public <A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> <B>getQualifiedClassName</B>(<A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A>&nbsp;vmname)</PRE>
    +<DL>
    +<DD><B>Description copied from interface: <CODE><A HREF="../../../org/jacoco/report/ILanguageNames.html#getQualifiedClassName(java.lang.String)">ILanguageNames</A></CODE></B></DD>
    +<DD>Calculates the language specific qualified name of a class.
    +<P>
    +<DD><DL>
    +<DT><B>Specified by:</B><DD><CODE><A HREF="../../../org/jacoco/report/ILanguageNames.html#getQualifiedClassName(java.lang.String)">getQualifiedClassName</A></CODE> in interface <CODE><A HREF="../../../org/jacoco/report/ILanguageNames.html" title="interface in org.jacoco.report">ILanguageNames</A></CODE></DL>
    +</DD>
    +<DD><DL>
    +<DT><B>Parameters:</B><DD><CODE>vmname</CODE> - vm name of a class
    +<DT><B>Returns:</B><DD>language specific qualified notation of the class</DL>
    +</DD>
    +</DL>
    +<HR>
    +
    +<A NAME="getMethodName(java.lang.String, java.lang.String, java.lang.String, java.lang.String)"><!-- --></A><H3>
    +getMethodName</H3>
    +<PRE>
    +public <A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> <B>getMethodName</B>(<A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A>&nbsp;vmclassname,
    +                            <A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A>&nbsp;vmmethodname,
    +                            <A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A>&nbsp;vmdesc,
    +                            <A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A>&nbsp;vmsignature)</PRE>
    +<DL>
    +<DD><B>Description copied from interface: <CODE><A HREF="../../../org/jacoco/report/ILanguageNames.html#getMethodName(java.lang.String, java.lang.String, java.lang.String, java.lang.String)">ILanguageNames</A></CODE></B></DD>
    +<DD>Calculates the language specific name of a method.
    +<P>
    +<DD><DL>
    +<DT><B>Specified by:</B><DD><CODE><A HREF="../../../org/jacoco/report/ILanguageNames.html#getMethodName(java.lang.String, java.lang.String, java.lang.String, java.lang.String)">getMethodName</A></CODE> in interface <CODE><A HREF="../../../org/jacoco/report/ILanguageNames.html" title="interface in org.jacoco.report">ILanguageNames</A></CODE></DL>
    +</DD>
    +<DD><DL>
    +<DT><B>Parameters:</B><DD><CODE>vmclassname</CODE> - vm name of a containing class<DD><CODE>vmmethodname</CODE> - vm name of the method<DD><CODE>vmdesc</CODE> - vm method descriptor<DD><CODE>vmsignature</CODE> - vm signature of the method (may be <code>null</code>)
    +<DT><B>Returns:</B><DD>language specific notation for the method</DL>
    +</DD>
    +</DL>
    +<HR>
    +
    +<A NAME="getQualifiedMethodName(java.lang.String, java.lang.String, java.lang.String, java.lang.String)"><!-- --></A><H3>
    +getQualifiedMethodName</H3>
    +<PRE>
    +public <A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> <B>getQualifiedMethodName</B>(<A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A>&nbsp;vmclassname,
    +                                     <A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A>&nbsp;vmmethodname,
    +                                     <A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A>&nbsp;vmdesc,
    +                                     <A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A>&nbsp;vmsignature)</PRE>
    +<DL>
    +<DD><B>Description copied from interface: <CODE><A HREF="../../../org/jacoco/report/ILanguageNames.html#getQualifiedMethodName(java.lang.String, java.lang.String, java.lang.String, java.lang.String)">ILanguageNames</A></CODE></B></DD>
    +<DD>Calculates the language specific fully qualified name of a method.
    +<P>
    +<DD><DL>
    +<DT><B>Specified by:</B><DD><CODE><A HREF="../../../org/jacoco/report/ILanguageNames.html#getQualifiedMethodName(java.lang.String, java.lang.String, java.lang.String, java.lang.String)">getQualifiedMethodName</A></CODE> in interface <CODE><A HREF="../../../org/jacoco/report/ILanguageNames.html" title="interface in org.jacoco.report">ILanguageNames</A></CODE></DL>
    +</DD>
    +<DD><DL>
    +<DT><B>Parameters:</B><DD><CODE>vmclassname</CODE> - vm name of a containing class<DD><CODE>vmmethodname</CODE> - vm name of the method<DD><CODE>vmdesc</CODE> - vm method descriptor<DD><CODE>vmsignature</CODE> - vm signature of the method (may be <code>null</code>)
    +<DT><B>Returns:</B><DD>language specific notation for the method</DL>
    +</DD>
    +</DL>
    +<!-- ========= END OF CLASS DATA ========= -->
    +<HR>
    +
    +
    +<!-- ======= START OF BOTTOM NAVBAR ====== -->
    +<A NAME="navbar_bottom"><!-- --></A>
    +<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
    +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
    +<TR>
    +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
    +<A NAME="navbar_bottom_firstrow"><!-- --></A>
    +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
    +  <TR ALIGN="center" VALIGN="top">
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="class-use/JavaNames.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
    +  </TR>
    +</TABLE>
    +</TD>
    +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
    +</EM>
    +</TD>
    +</TR>
    +
    +<TR>
    +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
    +&nbsp;<A HREF="../../../org/jacoco/report/ISourceFileLocator.html" title="interface in org.jacoco.report"><B>PREV CLASS</B></A>&nbsp;
    +&nbsp;<A HREF="../../../org/jacoco/report/MultiReportVisitor.html" title="class in org.jacoco.report"><B>NEXT CLASS</B></A></FONT></TD>
    +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
    +  <A HREF="../../../index.html?org/jacoco/report/JavaNames.html" target="_top"><B>FRAMES</B></A>  &nbsp;
    +&nbsp;<A HREF="JavaNames.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
    +&nbsp;<SCRIPT type="text/javascript">
    +  <!--
    +  if(window==top) {
    +    document.writeln('<A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>');
    +  }
    +  //-->
    +</SCRIPT>
    +<NOSCRIPT>
    +  <A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>
    +</NOSCRIPT>
    +
    +
    +</FONT></TD>
    +</TR>
    +<TR>
    +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
    +  SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;FIELD&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD>
    +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
    +DETAIL:&nbsp;FIELD&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD>
    +</TR>
    +</TABLE>
    +<A NAME="skip-navbar_bottom"></A>
    +<!-- ======== END OF BOTTOM NAVBAR ======= -->
    +
    +<HR>
    +Copyright &#169; 2009&#x2013;2024 Mountainminds GmbH & Co. KG. All rights reserved.
    +</BODY>
    +</HTML>
    diff --git a/jacoco/trunk/doc/api/org/jacoco/report/MultiReportVisitor.html b/jacoco/trunk/doc/api/org/jacoco/report/MultiReportVisitor.html
    new file mode 100644
    index 00000000000..369bf90e246
    --- /dev/null
    +++ b/jacoco/trunk/doc/api/org/jacoco/report/MultiReportVisitor.html
    @@ -0,0 +1,375 @@
    +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
    +<!--NewPage-->
    +<HTML>
    +<HEAD>
    +<!-- Generated by javadoc (build 1.5.0_22) on Wed Mar 27 16:45:42 UTC 2024 -->
    +<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
    +<TITLE>
    +MultiReportVisitor (JaCoCo 0.8.12.202403270442 API)
    +</TITLE>
    +
    +<META NAME="keywords" CONTENT="org.jacoco.report.MultiReportVisitor class">
    +
    +<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../stylesheet.css" TITLE="Style">
    +
    +<SCRIPT type="text/javascript">
    +function windowTitle()
    +{
    +    parent.document.title="MultiReportVisitor (JaCoCo 0.8.12.202403270442 API)";
    +}
    +</SCRIPT>
    +<NOSCRIPT>
    +</NOSCRIPT>
    +
    +</HEAD>
    +
    +<BODY BGCOLOR="white" onload="windowTitle();">
    +
    +
    +<!-- ========= START OF TOP NAVBAR ======= -->
    +<A NAME="navbar_top"><!-- --></A>
    +<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
    +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
    +<TR>
    +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
    +<A NAME="navbar_top_firstrow"><!-- --></A>
    +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
    +  <TR ALIGN="center" VALIGN="top">
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="class-use/MultiReportVisitor.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
    +  </TR>
    +</TABLE>
    +</TD>
    +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
    +</EM>
    +</TD>
    +</TR>
    +
    +<TR>
    +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
    +&nbsp;<A HREF="../../../org/jacoco/report/JavaNames.html" title="class in org.jacoco.report"><B>PREV CLASS</B></A>&nbsp;
    +&nbsp;<A HREF="../../../org/jacoco/report/MultiSourceFileLocator.html" title="class in org.jacoco.report"><B>NEXT CLASS</B></A></FONT></TD>
    +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
    +  <A HREF="../../../index.html?org/jacoco/report/MultiReportVisitor.html" target="_top"><B>FRAMES</B></A>  &nbsp;
    +&nbsp;<A HREF="MultiReportVisitor.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
    +&nbsp;<SCRIPT type="text/javascript">
    +  <!--
    +  if(window==top) {
    +    document.writeln('<A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>');
    +  }
    +  //-->
    +</SCRIPT>
    +<NOSCRIPT>
    +  <A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>
    +</NOSCRIPT>
    +
    +
    +</FONT></TD>
    +</TR>
    +<TR>
    +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
    +  SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;FIELD&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD>
    +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
    +DETAIL:&nbsp;FIELD&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD>
    +</TR>
    +</TABLE>
    +<A NAME="skip-navbar_top"></A>
    +<!-- ========= END OF TOP NAVBAR ========= -->
    +
    +<HR>
    +<!-- ======== START OF CLASS DATA ======== -->
    +<H2>
    +<FONT SIZE="-1">
    +org.jacoco.report</FONT>
    +<BR>
    +Class MultiReportVisitor</H2>
    +<PRE>
    +<A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html" title="class or interface in java.lang">java.lang.Object</A>
    +  <IMG SRC="../../../resources/inherit.gif" ALT="extended by "><B>org.jacoco.report.MultiReportVisitor</B>
    +</PRE>
    +<DL>
    +<DT><B>All Implemented Interfaces:</B> <DD><A HREF="../../../org/jacoco/report/IReportGroupVisitor.html" title="interface in org.jacoco.report">IReportGroupVisitor</A>, <A HREF="../../../org/jacoco/report/IReportVisitor.html" title="interface in org.jacoco.report">IReportVisitor</A></DD>
    +</DL>
    +<HR>
    +<DL>
    +<DT><PRE>public class <B>MultiReportVisitor</B><DT>extends <A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html" title="class or interface in java.lang">Object</A><DT>implements <A HREF="../../../org/jacoco/report/IReportVisitor.html" title="interface in org.jacoco.report">IReportVisitor</A></DL>
    +</PRE>
    +
    +<P>
    +A report visitor that is composed from multiple other visitors. This can be
    + used to create more than one report format in one run.
    +<P>
    +
    +<P>
    +<HR>
    +
    +<P>
    +
    +<!-- ======== CONSTRUCTOR SUMMARY ======== -->
    +
    +<A NAME="constructor_summary"><!-- --></A>
    +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
    +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
    +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
    +<B>Constructor Summary</B></FONT></TH>
    +</TR>
    +<TR BGCOLOR="white" CLASS="TableRowColor">
    +<TD><CODE><B><A HREF="../../../org/jacoco/report/MultiReportVisitor.html#MultiReportVisitor(java.util.List)">MultiReportVisitor</A></B>(<A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/util/List.html" title="class or interface in java.util">List</A>&lt;<A HREF="../../../org/jacoco/report/IReportVisitor.html" title="interface in org.jacoco.report">IReportVisitor</A>&gt;&nbsp;visitors)</CODE>
    +
    +<BR>
    +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;New visitor delegating to all given visitors.</TD>
    +</TR>
    +</TABLE>
    +&nbsp;
    +<!-- ========== METHOD SUMMARY =========== -->
    +
    +<A NAME="method_summary"><!-- --></A>
    +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
    +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
    +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
    +<B>Method Summary</B></FONT></TH>
    +</TR>
    +<TR BGCOLOR="white" CLASS="TableRowColor">
    +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
    +<CODE>&nbsp;void</CODE></FONT></TD>
    +<TD><CODE><B><A HREF="../../../org/jacoco/report/MultiReportVisitor.html#visitBundle(org.jacoco.core.analysis.IBundleCoverage, org.jacoco.report.ISourceFileLocator)">visitBundle</A></B>(<A HREF="../../../org/jacoco/core/analysis/IBundleCoverage.html" title="interface in org.jacoco.core.analysis">IBundleCoverage</A>&nbsp;bundle,
    +            <A HREF="../../../org/jacoco/report/ISourceFileLocator.html" title="interface in org.jacoco.report">ISourceFileLocator</A>&nbsp;locator)</CODE>
    +
    +<BR>
    +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Called to add a bundle to the report.</TD>
    +</TR>
    +<TR BGCOLOR="white" CLASS="TableRowColor">
    +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
    +<CODE>&nbsp;void</CODE></FONT></TD>
    +<TD><CODE><B><A HREF="../../../org/jacoco/report/MultiReportVisitor.html#visitEnd()">visitEnd</A></B>()</CODE>
    +
    +<BR>
    +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Has to be called after all report data has been emitted.</TD>
    +</TR>
    +<TR BGCOLOR="white" CLASS="TableRowColor">
    +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
    +<CODE>&nbsp;<A HREF="../../../org/jacoco/report/IReportGroupVisitor.html" title="interface in org.jacoco.report">IReportGroupVisitor</A></CODE></FONT></TD>
    +<TD><CODE><B><A HREF="../../../org/jacoco/report/MultiReportVisitor.html#visitGroup(java.lang.String)">visitGroup</A></B>(<A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A>&nbsp;name)</CODE>
    +
    +<BR>
    +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Called to add a new group to the report.</TD>
    +</TR>
    +<TR BGCOLOR="white" CLASS="TableRowColor">
    +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
    +<CODE>&nbsp;void</CODE></FONT></TD>
    +<TD><CODE><B><A HREF="../../../org/jacoco/report/MultiReportVisitor.html#visitInfo(java.util.List, java.util.Collection)">visitInfo</A></B>(<A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/util/List.html" title="class or interface in java.util">List</A>&lt;<A HREF="../../../org/jacoco/core/data/SessionInfo.html" title="class in org.jacoco.core.data">SessionInfo</A>&gt;&nbsp;sessionInfos,
    +          <A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/util/Collection.html" title="class or interface in java.util">Collection</A>&lt;<A HREF="../../../org/jacoco/core/data/ExecutionData.html" title="class in org.jacoco.core.data">ExecutionData</A>&gt;&nbsp;executionData)</CODE>
    +
    +<BR>
    +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Initializes the report with global information.</TD>
    +</TR>
    +</TABLE>
    +&nbsp;<A NAME="methods_inherited_from_class_java.lang.Object"><!-- --></A>
    +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
    +<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
    +<TH ALIGN="left"><B>Methods inherited from class java.lang.<A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html" title="class or interface in java.lang">Object</A></B></TH>
    +</TR>
    +<TR BGCOLOR="white" CLASS="TableRowColor">
    +<TD><CODE><A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html#clone()" title="class or interface in java.lang">clone</A>, <A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html#equals(java.lang.Object)" title="class or interface in java.lang">equals</A>, <A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html#finalize()" title="class or interface in java.lang">finalize</A>, <A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html#getClass()" title="class or interface in java.lang">getClass</A>, <A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html#hashCode()" title="class or interface in java.lang">hashCode</A>, <A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html#notify()" title="class or interface in java.lang">notify</A>, <A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html#notifyAll()" title="class or interface in java.lang">notifyAll</A>, <A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html#toString()" title="class or interface in java.lang">toString</A>, <A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html#wait()" title="class or interface in java.lang">wait</A>, <A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html#wait(long)" title="class or interface in java.lang">wait</A>, <A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html#wait(long, int)" title="class or interface in java.lang">wait</A></CODE></TD>
    +</TR>
    +</TABLE>
    +&nbsp;<A NAME="methods_inherited_from_class_org.jacoco.report.IReportGroupVisitor"><!-- --></A>
    +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
    +<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
    +<TH ALIGN="left"><B>Methods inherited from interface org.jacoco.report.<A HREF="../../../org/jacoco/report/IReportGroupVisitor.html" title="interface in org.jacoco.report">IReportGroupVisitor</A></B></TH>
    +</TR>
    +<TR BGCOLOR="white" CLASS="TableRowColor">
    +<TD><CODE><A HREF="../../../org/jacoco/report/IReportGroupVisitor.html#visitBundle(org.jacoco.core.analysis.IBundleCoverage, org.jacoco.report.ISourceFileLocator)">visitBundle</A>, <A HREF="../../../org/jacoco/report/IReportGroupVisitor.html#visitGroup(java.lang.String)">visitGroup</A></CODE></TD>
    +</TR>
    +</TABLE>
    +&nbsp;
    +<P>
    +
    +<!-- ========= CONSTRUCTOR DETAIL ======== -->
    +
    +<A NAME="constructor_detail"><!-- --></A>
    +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
    +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
    +<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2">
    +<B>Constructor Detail</B></FONT></TH>
    +</TR>
    +</TABLE>
    +
    +<A NAME="MultiReportVisitor(java.util.List)"><!-- --></A><H3>
    +MultiReportVisitor</H3>
    +<PRE>
    +public <B>MultiReportVisitor</B>(<A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/util/List.html" title="class or interface in java.util">List</A>&lt;<A HREF="../../../org/jacoco/report/IReportVisitor.html" title="interface in org.jacoco.report">IReportVisitor</A>&gt;&nbsp;visitors)</PRE>
    +<DL>
    +<DD>New visitor delegating to all given visitors.
    +<P>
    +<DL>
    +<DT><B>Parameters:</B><DD><CODE>visitors</CODE> - visitors to delegate to</DL>
    +</DL>
    +
    +<!-- ============ METHOD DETAIL ========== -->
    +
    +<A NAME="method_detail"><!-- --></A>
    +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
    +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
    +<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2">
    +<B>Method Detail</B></FONT></TH>
    +</TR>
    +</TABLE>
    +
    +<A NAME="visitInfo(java.util.List, java.util.Collection)"><!-- --></A><H3>
    +visitInfo</H3>
    +<PRE>
    +public void <B>visitInfo</B>(<A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/util/List.html" title="class or interface in java.util">List</A>&lt;<A HREF="../../../org/jacoco/core/data/SessionInfo.html" title="class in org.jacoco.core.data">SessionInfo</A>&gt;&nbsp;sessionInfos,
    +                      <A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/util/Collection.html" title="class or interface in java.util">Collection</A>&lt;<A HREF="../../../org/jacoco/core/data/ExecutionData.html" title="class in org.jacoco.core.data">ExecutionData</A>&gt;&nbsp;executionData)
    +               throws <A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/io/IOException.html" title="class or interface in java.io">IOException</A></PRE>
    +<DL>
    +<DD><B>Description copied from interface: <CODE><A HREF="../../../org/jacoco/report/IReportVisitor.html#visitInfo(java.util.List, java.util.Collection)">IReportVisitor</A></CODE></B></DD>
    +<DD>Initializes the report with global information. This method has to be
    + called before any other method can be called.
    +<P>
    +<DD><DL>
    +<DT><B>Specified by:</B><DD><CODE><A HREF="../../../org/jacoco/report/IReportVisitor.html#visitInfo(java.util.List, java.util.Collection)">visitInfo</A></CODE> in interface <CODE><A HREF="../../../org/jacoco/report/IReportVisitor.html" title="interface in org.jacoco.report">IReportVisitor</A></CODE></DL>
    +</DD>
    +<DD><DL>
    +<DT><B>Parameters:</B><DD><CODE>sessionInfos</CODE> - list of chronological ordered <A HREF="../../../org/jacoco/core/data/SessionInfo.html" title="class in org.jacoco.core.data"><CODE>SessionInfo</CODE></A> objects
    +            where execution data has been collected for this report.<DD><CODE>executionData</CODE> - collection of all <A HREF="../../../org/jacoco/core/data/ExecutionData.html" title="class in org.jacoco.core.data"><CODE>ExecutionData</CODE></A> objects that are
    +            considered for this report
    +<DT><B>Throws:</B>
    +<DD><CODE><A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/io/IOException.html" title="class or interface in java.io">IOException</A></CODE> - in case of IO problems with the report writer</DL>
    +</DD>
    +</DL>
    +<HR>
    +
    +<A NAME="visitEnd()"><!-- --></A><H3>
    +visitEnd</H3>
    +<PRE>
    +public void <B>visitEnd</B>()
    +              throws <A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/io/IOException.html" title="class or interface in java.io">IOException</A></PRE>
    +<DL>
    +<DD><B>Description copied from interface: <CODE><A HREF="../../../org/jacoco/report/IReportVisitor.html#visitEnd()">IReportVisitor</A></CODE></B></DD>
    +<DD>Has to be called after all report data has been emitted.
    +<P>
    +<DD><DL>
    +<DT><B>Specified by:</B><DD><CODE><A HREF="../../../org/jacoco/report/IReportVisitor.html#visitEnd()">visitEnd</A></CODE> in interface <CODE><A HREF="../../../org/jacoco/report/IReportVisitor.html" title="interface in org.jacoco.report">IReportVisitor</A></CODE></DL>
    +</DD>
    +<DD><DL>
    +
    +<DT><B>Throws:</B>
    +<DD><CODE><A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/io/IOException.html" title="class or interface in java.io">IOException</A></CODE> - in case of IO problems with the report writer</DL>
    +</DD>
    +</DL>
    +<HR>
    +
    +<A NAME="visitBundle(org.jacoco.core.analysis.IBundleCoverage, org.jacoco.report.ISourceFileLocator)"><!-- --></A><H3>
    +visitBundle</H3>
    +<PRE>
    +public void <B>visitBundle</B>(<A HREF="../../../org/jacoco/core/analysis/IBundleCoverage.html" title="interface in org.jacoco.core.analysis">IBundleCoverage</A>&nbsp;bundle,
    +                        <A HREF="../../../org/jacoco/report/ISourceFileLocator.html" title="interface in org.jacoco.report">ISourceFileLocator</A>&nbsp;locator)
    +                 throws <A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/io/IOException.html" title="class or interface in java.io">IOException</A></PRE>
    +<DL>
    +<DD><B>Description copied from interface: <CODE><A HREF="../../../org/jacoco/report/IReportGroupVisitor.html#visitBundle(org.jacoco.core.analysis.IBundleCoverage, org.jacoco.report.ISourceFileLocator)">IReportGroupVisitor</A></CODE></B></DD>
    +<DD>Called to add a bundle to the report.
    +<P>
    +<DD><DL>
    +<DT><B>Specified by:</B><DD><CODE><A HREF="../../../org/jacoco/report/IReportGroupVisitor.html#visitBundle(org.jacoco.core.analysis.IBundleCoverage, org.jacoco.report.ISourceFileLocator)">visitBundle</A></CODE> in interface <CODE><A HREF="../../../org/jacoco/report/IReportGroupVisitor.html" title="interface in org.jacoco.report">IReportGroupVisitor</A></CODE></DL>
    +</DD>
    +<DD><DL>
    +<DT><B>Parameters:</B><DD><CODE>bundle</CODE> - a bundle to include in the report<DD><CODE>locator</CODE> - source locator for this bundle
    +<DT><B>Throws:</B>
    +<DD><CODE><A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/io/IOException.html" title="class or interface in java.io">IOException</A></CODE> - in case of IO problems with the report writer</DL>
    +</DD>
    +</DL>
    +<HR>
    +
    +<A NAME="visitGroup(java.lang.String)"><!-- --></A><H3>
    +visitGroup</H3>
    +<PRE>
    +public <A HREF="../../../org/jacoco/report/IReportGroupVisitor.html" title="interface in org.jacoco.report">IReportGroupVisitor</A> <B>visitGroup</B>(<A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A>&nbsp;name)
    +                               throws <A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/io/IOException.html" title="class or interface in java.io">IOException</A></PRE>
    +<DL>
    +<DD><B>Description copied from interface: <CODE><A HREF="../../../org/jacoco/report/IReportGroupVisitor.html#visitGroup(java.lang.String)">IReportGroupVisitor</A></CODE></B></DD>
    +<DD>Called to add a new group to the report. The returned
    + <A HREF="../../../org/jacoco/report/IReportGroupVisitor.html" title="interface in org.jacoco.report"><CODE>IReportGroupVisitor</CODE></A> instance can be used to add nested bundles or
    + groups. The content of the group has to be completed before this or any
    + parent visitor can be used again ("deep first").
    +<P>
    +<DD><DL>
    +<DT><B>Specified by:</B><DD><CODE><A HREF="../../../org/jacoco/report/IReportGroupVisitor.html#visitGroup(java.lang.String)">visitGroup</A></CODE> in interface <CODE><A HREF="../../../org/jacoco/report/IReportGroupVisitor.html" title="interface in org.jacoco.report">IReportGroupVisitor</A></CODE></DL>
    +</DD>
    +<DD><DL>
    +<DT><B>Parameters:</B><DD><CODE>name</CODE> - name of the group
    +<DT><B>Returns:</B><DD>visitor for the group's content
    +<DT><B>Throws:</B>
    +<DD><CODE><A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/io/IOException.html" title="class or interface in java.io">IOException</A></CODE> - in case of IO problems with the report writer</DL>
    +</DD>
    +</DL>
    +<!-- ========= END OF CLASS DATA ========= -->
    +<HR>
    +
    +
    +<!-- ======= START OF BOTTOM NAVBAR ====== -->
    +<A NAME="navbar_bottom"><!-- --></A>
    +<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
    +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
    +<TR>
    +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
    +<A NAME="navbar_bottom_firstrow"><!-- --></A>
    +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
    +  <TR ALIGN="center" VALIGN="top">
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="class-use/MultiReportVisitor.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
    +  </TR>
    +</TABLE>
    +</TD>
    +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
    +</EM>
    +</TD>
    +</TR>
    +
    +<TR>
    +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
    +&nbsp;<A HREF="../../../org/jacoco/report/JavaNames.html" title="class in org.jacoco.report"><B>PREV CLASS</B></A>&nbsp;
    +&nbsp;<A HREF="../../../org/jacoco/report/MultiSourceFileLocator.html" title="class in org.jacoco.report"><B>NEXT CLASS</B></A></FONT></TD>
    +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
    +  <A HREF="../../../index.html?org/jacoco/report/MultiReportVisitor.html" target="_top"><B>FRAMES</B></A>  &nbsp;
    +&nbsp;<A HREF="MultiReportVisitor.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
    +&nbsp;<SCRIPT type="text/javascript">
    +  <!--
    +  if(window==top) {
    +    document.writeln('<A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>');
    +  }
    +  //-->
    +</SCRIPT>
    +<NOSCRIPT>
    +  <A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>
    +</NOSCRIPT>
    +
    +
    +</FONT></TD>
    +</TR>
    +<TR>
    +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
    +  SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;FIELD&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD>
    +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
    +DETAIL:&nbsp;FIELD&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD>
    +</TR>
    +</TABLE>
    +<A NAME="skip-navbar_bottom"></A>
    +<!-- ======== END OF BOTTOM NAVBAR ======= -->
    +
    +<HR>
    +Copyright &#169; 2009&#x2013;2024 Mountainminds GmbH & Co. KG. All rights reserved.
    +</BODY>
    +</HTML>
    diff --git a/jacoco/trunk/doc/api/org/jacoco/report/MultiSourceFileLocator.html b/jacoco/trunk/doc/api/org/jacoco/report/MultiSourceFileLocator.html
    new file mode 100644
    index 00000000000..6a7388d4c89
    --- /dev/null
    +++ b/jacoco/trunk/doc/api/org/jacoco/report/MultiSourceFileLocator.html
    @@ -0,0 +1,329 @@
    +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
    +<!--NewPage-->
    +<HTML>
    +<HEAD>
    +<!-- Generated by javadoc (build 1.5.0_22) on Wed Mar 27 16:45:42 UTC 2024 -->
    +<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
    +<TITLE>
    +MultiSourceFileLocator (JaCoCo 0.8.12.202403270442 API)
    +</TITLE>
    +
    +<META NAME="keywords" CONTENT="org.jacoco.report.MultiSourceFileLocator class">
    +
    +<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../stylesheet.css" TITLE="Style">
    +
    +<SCRIPT type="text/javascript">
    +function windowTitle()
    +{
    +    parent.document.title="MultiSourceFileLocator (JaCoCo 0.8.12.202403270442 API)";
    +}
    +</SCRIPT>
    +<NOSCRIPT>
    +</NOSCRIPT>
    +
    +</HEAD>
    +
    +<BODY BGCOLOR="white" onload="windowTitle();">
    +
    +
    +<!-- ========= START OF TOP NAVBAR ======= -->
    +<A NAME="navbar_top"><!-- --></A>
    +<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
    +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
    +<TR>
    +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
    +<A NAME="navbar_top_firstrow"><!-- --></A>
    +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
    +  <TR ALIGN="center" VALIGN="top">
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="class-use/MultiSourceFileLocator.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
    +  </TR>
    +</TABLE>
    +</TD>
    +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
    +</EM>
    +</TD>
    +</TR>
    +
    +<TR>
    +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
    +&nbsp;<A HREF="../../../org/jacoco/report/MultiReportVisitor.html" title="class in org.jacoco.report"><B>PREV CLASS</B></A>&nbsp;
    +&nbsp;<A HREF="../../../org/jacoco/report/ZipMultiReportOutput.html" title="class in org.jacoco.report"><B>NEXT CLASS</B></A></FONT></TD>
    +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
    +  <A HREF="../../../index.html?org/jacoco/report/MultiSourceFileLocator.html" target="_top"><B>FRAMES</B></A>  &nbsp;
    +&nbsp;<A HREF="MultiSourceFileLocator.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
    +&nbsp;<SCRIPT type="text/javascript">
    +  <!--
    +  if(window==top) {
    +    document.writeln('<A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>');
    +  }
    +  //-->
    +</SCRIPT>
    +<NOSCRIPT>
    +  <A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>
    +</NOSCRIPT>
    +
    +
    +</FONT></TD>
    +</TR>
    +<TR>
    +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
    +  SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;FIELD&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD>
    +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
    +DETAIL:&nbsp;FIELD&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD>
    +</TR>
    +</TABLE>
    +<A NAME="skip-navbar_top"></A>
    +<!-- ========= END OF TOP NAVBAR ========= -->
    +
    +<HR>
    +<!-- ======== START OF CLASS DATA ======== -->
    +<H2>
    +<FONT SIZE="-1">
    +org.jacoco.report</FONT>
    +<BR>
    +Class MultiSourceFileLocator</H2>
    +<PRE>
    +<A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html" title="class or interface in java.lang">java.lang.Object</A>
    +  <IMG SRC="../../../resources/inherit.gif" ALT="extended by "><B>org.jacoco.report.MultiSourceFileLocator</B>
    +</PRE>
    +<DL>
    +<DT><B>All Implemented Interfaces:</B> <DD><A HREF="../../../org/jacoco/report/ISourceFileLocator.html" title="interface in org.jacoco.report">ISourceFileLocator</A></DD>
    +</DL>
    +<HR>
    +<DL>
    +<DT><PRE>public class <B>MultiSourceFileLocator</B><DT>extends <A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html" title="class or interface in java.lang">Object</A><DT>implements <A HREF="../../../org/jacoco/report/ISourceFileLocator.html" title="interface in org.jacoco.report">ISourceFileLocator</A></DL>
    +</PRE>
    +
    +<P>
    +Locator that searches source files in multiple <A HREF="../../../org/jacoco/report/ISourceFileLocator.html" title="interface in org.jacoco.report"><CODE>ISourceFileLocator</CODE></A>
    + instances. For each lookup request the first locator that returns a
    + <A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/io/Reader.html" title="class or interface in java.io"><CODE>Reader</CODE></A> for source content is selected.
    +<P>
    +
    +<P>
    +<HR>
    +
    +<P>
    +
    +<!-- ======== CONSTRUCTOR SUMMARY ======== -->
    +
    +<A NAME="constructor_summary"><!-- --></A>
    +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
    +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
    +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
    +<B>Constructor Summary</B></FONT></TH>
    +</TR>
    +<TR BGCOLOR="white" CLASS="TableRowColor">
    +<TD><CODE><B><A HREF="../../../org/jacoco/report/MultiSourceFileLocator.html#MultiSourceFileLocator(int)">MultiSourceFileLocator</A></B>(int&nbsp;tabWidth)</CODE>
    +
    +<BR>
    +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Creates a new empty locator.</TD>
    +</TR>
    +</TABLE>
    +&nbsp;
    +<!-- ========== METHOD SUMMARY =========== -->
    +
    +<A NAME="method_summary"><!-- --></A>
    +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
    +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
    +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
    +<B>Method Summary</B></FONT></TH>
    +</TR>
    +<TR BGCOLOR="white" CLASS="TableRowColor">
    +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
    +<CODE>&nbsp;void</CODE></FONT></TD>
    +<TD><CODE><B><A HREF="../../../org/jacoco/report/MultiSourceFileLocator.html#add(org.jacoco.report.ISourceFileLocator)">add</A></B>(<A HREF="../../../org/jacoco/report/ISourceFileLocator.html" title="interface in org.jacoco.report">ISourceFileLocator</A>&nbsp;locator)</CODE>
    +
    +<BR>
    +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Adds the given locator.</TD>
    +</TR>
    +<TR BGCOLOR="white" CLASS="TableRowColor">
    +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
    +<CODE>&nbsp;<A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/io/Reader.html" title="class or interface in java.io">Reader</A></CODE></FONT></TD>
    +<TD><CODE><B><A HREF="../../../org/jacoco/report/MultiSourceFileLocator.html#getSourceFile(java.lang.String, java.lang.String)">getSourceFile</A></B>(<A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A>&nbsp;packageName,
    +              <A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A>&nbsp;fileName)</CODE>
    +
    +<BR>
    +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Tries to locate the given source file and opens a reader with the
    + appropriate encoding.</TD>
    +</TR>
    +<TR BGCOLOR="white" CLASS="TableRowColor">
    +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
    +<CODE>&nbsp;int</CODE></FONT></TD>
    +<TD><CODE><B><A HREF="../../../org/jacoco/report/MultiSourceFileLocator.html#getTabWidth()">getTabWidth</A></B>()</CODE>
    +
    +<BR>
    +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns number of blank characters that represent a tab in source code.</TD>
    +</TR>
    +</TABLE>
    +&nbsp;<A NAME="methods_inherited_from_class_java.lang.Object"><!-- --></A>
    +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
    +<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
    +<TH ALIGN="left"><B>Methods inherited from class java.lang.<A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html" title="class or interface in java.lang">Object</A></B></TH>
    +</TR>
    +<TR BGCOLOR="white" CLASS="TableRowColor">
    +<TD><CODE><A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html#clone()" title="class or interface in java.lang">clone</A>, <A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html#equals(java.lang.Object)" title="class or interface in java.lang">equals</A>, <A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html#finalize()" title="class or interface in java.lang">finalize</A>, <A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html#getClass()" title="class or interface in java.lang">getClass</A>, <A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html#hashCode()" title="class or interface in java.lang">hashCode</A>, <A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html#notify()" title="class or interface in java.lang">notify</A>, <A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html#notifyAll()" title="class or interface in java.lang">notifyAll</A>, <A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html#toString()" title="class or interface in java.lang">toString</A>, <A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html#wait()" title="class or interface in java.lang">wait</A>, <A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html#wait(long)" title="class or interface in java.lang">wait</A>, <A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html#wait(long, int)" title="class or interface in java.lang">wait</A></CODE></TD>
    +</TR>
    +</TABLE>
    +&nbsp;
    +<P>
    +
    +<!-- ========= CONSTRUCTOR DETAIL ======== -->
    +
    +<A NAME="constructor_detail"><!-- --></A>
    +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
    +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
    +<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2">
    +<B>Constructor Detail</B></FONT></TH>
    +</TR>
    +</TABLE>
    +
    +<A NAME="MultiSourceFileLocator(int)"><!-- --></A><H3>
    +MultiSourceFileLocator</H3>
    +<PRE>
    +public <B>MultiSourceFileLocator</B>(int&nbsp;tabWidth)</PRE>
    +<DL>
    +<DD>Creates a new empty locator.
    +<P>
    +<DL>
    +<DT><B>Parameters:</B><DD><CODE>tabWidth</CODE> - tab width in source files as number of blanks used for all
    +            source files</DL>
    +</DL>
    +
    +<!-- ============ METHOD DETAIL ========== -->
    +
    +<A NAME="method_detail"><!-- --></A>
    +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
    +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
    +<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2">
    +<B>Method Detail</B></FONT></TH>
    +</TR>
    +</TABLE>
    +
    +<A NAME="add(org.jacoco.report.ISourceFileLocator)"><!-- --></A><H3>
    +add</H3>
    +<PRE>
    +public void <B>add</B>(<A HREF="../../../org/jacoco/report/ISourceFileLocator.html" title="interface in org.jacoco.report">ISourceFileLocator</A>&nbsp;locator)</PRE>
    +<DL>
    +<DD>Adds the given locator. Locators are queried in the sequence they have
    + been added.
    +<P>
    +<DD><DL>
    +</DL>
    +</DD>
    +<DD><DL>
    +<DT><B>Parameters:</B><DD><CODE>locator</CODE> - Additional locator to query</DL>
    +</DD>
    +</DL>
    +<HR>
    +
    +<A NAME="getSourceFile(java.lang.String, java.lang.String)"><!-- --></A><H3>
    +getSourceFile</H3>
    +<PRE>
    +public <A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/io/Reader.html" title="class or interface in java.io">Reader</A> <B>getSourceFile</B>(<A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A>&nbsp;packageName,
    +                            <A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A>&nbsp;fileName)
    +                     throws <A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/io/IOException.html" title="class or interface in java.io">IOException</A></PRE>
    +<DL>
    +<DD><B>Description copied from interface: <CODE><A HREF="../../../org/jacoco/report/ISourceFileLocator.html#getSourceFile(java.lang.String, java.lang.String)">ISourceFileLocator</A></CODE></B></DD>
    +<DD>Tries to locate the given source file and opens a reader with the
    + appropriate encoding.
    +<P>
    +<DD><DL>
    +<DT><B>Specified by:</B><DD><CODE><A HREF="../../../org/jacoco/report/ISourceFileLocator.html#getSourceFile(java.lang.String, java.lang.String)">getSourceFile</A></CODE> in interface <CODE><A HREF="../../../org/jacoco/report/ISourceFileLocator.html" title="interface in org.jacoco.report">ISourceFileLocator</A></CODE></DL>
    +</DD>
    +<DD><DL>
    +<DT><B>Parameters:</B><DD><CODE>packageName</CODE> - VM name of the package<DD><CODE>fileName</CODE> - name of the source file
    +<DT><B>Returns:</B><DD>reader if the file could be located, <code>null</code> otherwise
    +<DT><B>Throws:</B>
    +<DD><CODE><A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/io/IOException.html" title="class or interface in java.io">IOException</A></CODE> - in case of problems while opening the file</DL>
    +</DD>
    +</DL>
    +<HR>
    +
    +<A NAME="getTabWidth()"><!-- --></A><H3>
    +getTabWidth</H3>
    +<PRE>
    +public int <B>getTabWidth</B>()</PRE>
    +<DL>
    +<DD><B>Description copied from interface: <CODE><A HREF="../../../org/jacoco/report/ISourceFileLocator.html#getTabWidth()">ISourceFileLocator</A></CODE></B></DD>
    +<DD>Returns number of blank characters that represent a tab in source code.
    +<P>
    +<DD><DL>
    +<DT><B>Specified by:</B><DD><CODE><A HREF="../../../org/jacoco/report/ISourceFileLocator.html#getTabWidth()">getTabWidth</A></CODE> in interface <CODE><A HREF="../../../org/jacoco/report/ISourceFileLocator.html" title="interface in org.jacoco.report">ISourceFileLocator</A></CODE></DL>
    +</DD>
    +<DD><DL>
    +
    +<DT><B>Returns:</B><DD>tab width as number of blanks</DL>
    +</DD>
    +</DL>
    +<!-- ========= END OF CLASS DATA ========= -->
    +<HR>
    +
    +
    +<!-- ======= START OF BOTTOM NAVBAR ====== -->
    +<A NAME="navbar_bottom"><!-- --></A>
    +<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
    +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
    +<TR>
    +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
    +<A NAME="navbar_bottom_firstrow"><!-- --></A>
    +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
    +  <TR ALIGN="center" VALIGN="top">
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="class-use/MultiSourceFileLocator.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
    +  </TR>
    +</TABLE>
    +</TD>
    +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
    +</EM>
    +</TD>
    +</TR>
    +
    +<TR>
    +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
    +&nbsp;<A HREF="../../../org/jacoco/report/MultiReportVisitor.html" title="class in org.jacoco.report"><B>PREV CLASS</B></A>&nbsp;
    +&nbsp;<A HREF="../../../org/jacoco/report/ZipMultiReportOutput.html" title="class in org.jacoco.report"><B>NEXT CLASS</B></A></FONT></TD>
    +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
    +  <A HREF="../../../index.html?org/jacoco/report/MultiSourceFileLocator.html" target="_top"><B>FRAMES</B></A>  &nbsp;
    +&nbsp;<A HREF="MultiSourceFileLocator.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
    +&nbsp;<SCRIPT type="text/javascript">
    +  <!--
    +  if(window==top) {
    +    document.writeln('<A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>');
    +  }
    +  //-->
    +</SCRIPT>
    +<NOSCRIPT>
    +  <A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>
    +</NOSCRIPT>
    +
    +
    +</FONT></TD>
    +</TR>
    +<TR>
    +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
    +  SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;FIELD&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD>
    +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
    +DETAIL:&nbsp;FIELD&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD>
    +</TR>
    +</TABLE>
    +<A NAME="skip-navbar_bottom"></A>
    +<!-- ======== END OF BOTTOM NAVBAR ======= -->
    +
    +<HR>
    +Copyright &#169; 2009&#x2013;2024 Mountainminds GmbH & Co. KG. All rights reserved.
    +</BODY>
    +</HTML>
    diff --git a/jacoco/trunk/doc/api/org/jacoco/report/ZipMultiReportOutput.html b/jacoco/trunk/doc/api/org/jacoco/report/ZipMultiReportOutput.html
    new file mode 100644
    index 00000000000..f317a00cc4d
    --- /dev/null
    +++ b/jacoco/trunk/doc/api/org/jacoco/report/ZipMultiReportOutput.html
    @@ -0,0 +1,319 @@
    +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
    +<!--NewPage-->
    +<HTML>
    +<HEAD>
    +<!-- Generated by javadoc (build 1.5.0_22) on Wed Mar 27 16:45:42 UTC 2024 -->
    +<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
    +<TITLE>
    +ZipMultiReportOutput (JaCoCo 0.8.12.202403270442 API)
    +</TITLE>
    +
    +<META NAME="keywords" CONTENT="org.jacoco.report.ZipMultiReportOutput class">
    +
    +<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../stylesheet.css" TITLE="Style">
    +
    +<SCRIPT type="text/javascript">
    +function windowTitle()
    +{
    +    parent.document.title="ZipMultiReportOutput (JaCoCo 0.8.12.202403270442 API)";
    +}
    +</SCRIPT>
    +<NOSCRIPT>
    +</NOSCRIPT>
    +
    +</HEAD>
    +
    +<BODY BGCOLOR="white" onload="windowTitle();">
    +
    +
    +<!-- ========= START OF TOP NAVBAR ======= -->
    +<A NAME="navbar_top"><!-- --></A>
    +<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
    +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
    +<TR>
    +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
    +<A NAME="navbar_top_firstrow"><!-- --></A>
    +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
    +  <TR ALIGN="center" VALIGN="top">
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="class-use/ZipMultiReportOutput.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
    +  </TR>
    +</TABLE>
    +</TD>
    +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
    +</EM>
    +</TD>
    +</TR>
    +
    +<TR>
    +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
    +&nbsp;<A HREF="../../../org/jacoco/report/MultiSourceFileLocator.html" title="class in org.jacoco.report"><B>PREV CLASS</B></A>&nbsp;
    +&nbsp;NEXT CLASS</FONT></TD>
    +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
    +  <A HREF="../../../index.html?org/jacoco/report/ZipMultiReportOutput.html" target="_top"><B>FRAMES</B></A>  &nbsp;
    +&nbsp;<A HREF="ZipMultiReportOutput.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
    +&nbsp;<SCRIPT type="text/javascript">
    +  <!--
    +  if(window==top) {
    +    document.writeln('<A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>');
    +  }
    +  //-->
    +</SCRIPT>
    +<NOSCRIPT>
    +  <A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>
    +</NOSCRIPT>
    +
    +
    +</FONT></TD>
    +</TR>
    +<TR>
    +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
    +  SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;FIELD&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD>
    +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
    +DETAIL:&nbsp;FIELD&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD>
    +</TR>
    +</TABLE>
    +<A NAME="skip-navbar_top"></A>
    +<!-- ========= END OF TOP NAVBAR ========= -->
    +
    +<HR>
    +<!-- ======== START OF CLASS DATA ======== -->
    +<H2>
    +<FONT SIZE="-1">
    +org.jacoco.report</FONT>
    +<BR>
    +Class ZipMultiReportOutput</H2>
    +<PRE>
    +<A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html" title="class or interface in java.lang">java.lang.Object</A>
    +  <IMG SRC="../../../resources/inherit.gif" ALT="extended by "><B>org.jacoco.report.ZipMultiReportOutput</B>
    +</PRE>
    +<DL>
    +<DT><B>All Implemented Interfaces:</B> <DD><A HREF="../../../org/jacoco/report/IMultiReportOutput.html" title="interface in org.jacoco.report">IMultiReportOutput</A></DD>
    +</DL>
    +<HR>
    +<DL>
    +<DT><PRE>public class <B>ZipMultiReportOutput</B><DT>extends <A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html" title="class or interface in java.lang">Object</A><DT>implements <A HREF="../../../org/jacoco/report/IMultiReportOutput.html" title="interface in org.jacoco.report">IMultiReportOutput</A></DL>
    +</PRE>
    +
    +<P>
    +Implementation of <A HREF="../../../org/jacoco/report/IMultiReportOutput.html" title="interface in org.jacoco.report"><CODE>IMultiReportOutput</CODE></A> that writes files into a
    + <A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/util/zip/ZipOutputStream.html" title="class or interface in java.util.zip"><CODE>ZipOutputStream</CODE></A>.
    +<P>
    +
    +<P>
    +<HR>
    +
    +<P>
    +
    +<!-- ======== CONSTRUCTOR SUMMARY ======== -->
    +
    +<A NAME="constructor_summary"><!-- --></A>
    +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
    +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
    +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
    +<B>Constructor Summary</B></FONT></TH>
    +</TR>
    +<TR BGCOLOR="white" CLASS="TableRowColor">
    +<TD><CODE><B><A HREF="../../../org/jacoco/report/ZipMultiReportOutput.html#ZipMultiReportOutput(java.io.OutputStream)">ZipMultiReportOutput</A></B>(<A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/io/OutputStream.html" title="class or interface in java.io">OutputStream</A>&nbsp;out)</CODE>
    +
    +<BR>
    +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Creates a new instance based on the given <A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/io/OutputStream.html" title="class or interface in java.io"><CODE>OutputStream</CODE></A>.</TD>
    +</TR>
    +<TR BGCOLOR="white" CLASS="TableRowColor">
    +<TD><CODE><B><A HREF="../../../org/jacoco/report/ZipMultiReportOutput.html#ZipMultiReportOutput(java.util.zip.ZipOutputStream)">ZipMultiReportOutput</A></B>(<A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/util/zip/ZipOutputStream.html" title="class or interface in java.util.zip">ZipOutputStream</A>&nbsp;zip)</CODE>
    +
    +<BR>
    +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Creates a new instance based on the given <A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/util/zip/ZipOutputStream.html" title="class or interface in java.util.zip"><CODE>ZipOutputStream</CODE></A>.</TD>
    +</TR>
    +</TABLE>
    +&nbsp;
    +<!-- ========== METHOD SUMMARY =========== -->
    +
    +<A NAME="method_summary"><!-- --></A>
    +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
    +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
    +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
    +<B>Method Summary</B></FONT></TH>
    +</TR>
    +<TR BGCOLOR="white" CLASS="TableRowColor">
    +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
    +<CODE>&nbsp;void</CODE></FONT></TD>
    +<TD><CODE><B><A HREF="../../../org/jacoco/report/ZipMultiReportOutput.html#close()">close</A></B>()</CODE>
    +
    +<BR>
    +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Closes the underlying resource container.</TD>
    +</TR>
    +<TR BGCOLOR="white" CLASS="TableRowColor">
    +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
    +<CODE>&nbsp;<A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/io/OutputStream.html" title="class or interface in java.io">OutputStream</A></CODE></FONT></TD>
    +<TD><CODE><B><A HREF="../../../org/jacoco/report/ZipMultiReportOutput.html#createFile(java.lang.String)">createFile</A></B>(<A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A>&nbsp;path)</CODE>
    +
    +<BR>
    +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Creates a file at the given local path.</TD>
    +</TR>
    +</TABLE>
    +&nbsp;<A NAME="methods_inherited_from_class_java.lang.Object"><!-- --></A>
    +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
    +<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
    +<TH ALIGN="left"><B>Methods inherited from class java.lang.<A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html" title="class or interface in java.lang">Object</A></B></TH>
    +</TR>
    +<TR BGCOLOR="white" CLASS="TableRowColor">
    +<TD><CODE><A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html#clone()" title="class or interface in java.lang">clone</A>, <A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html#equals(java.lang.Object)" title="class or interface in java.lang">equals</A>, <A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html#finalize()" title="class or interface in java.lang">finalize</A>, <A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html#getClass()" title="class or interface in java.lang">getClass</A>, <A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html#hashCode()" title="class or interface in java.lang">hashCode</A>, <A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html#notify()" title="class or interface in java.lang">notify</A>, <A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html#notifyAll()" title="class or interface in java.lang">notifyAll</A>, <A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html#toString()" title="class or interface in java.lang">toString</A>, <A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html#wait()" title="class or interface in java.lang">wait</A>, <A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html#wait(long)" title="class or interface in java.lang">wait</A>, <A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html#wait(long, int)" title="class or interface in java.lang">wait</A></CODE></TD>
    +</TR>
    +</TABLE>
    +&nbsp;
    +<P>
    +
    +<!-- ========= CONSTRUCTOR DETAIL ======== -->
    +
    +<A NAME="constructor_detail"><!-- --></A>
    +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
    +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
    +<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2">
    +<B>Constructor Detail</B></FONT></TH>
    +</TR>
    +</TABLE>
    +
    +<A NAME="ZipMultiReportOutput(java.util.zip.ZipOutputStream)"><!-- --></A><H3>
    +ZipMultiReportOutput</H3>
    +<PRE>
    +public <B>ZipMultiReportOutput</B>(<A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/util/zip/ZipOutputStream.html" title="class or interface in java.util.zip">ZipOutputStream</A>&nbsp;zip)</PRE>
    +<DL>
    +<DD>Creates a new instance based on the given <A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/util/zip/ZipOutputStream.html" title="class or interface in java.util.zip"><CODE>ZipOutputStream</CODE></A>.
    +<P>
    +<DL>
    +<DT><B>Parameters:</B><DD><CODE>zip</CODE> - stream to write file entries to</DL>
    +</DL>
    +<HR>
    +
    +<A NAME="ZipMultiReportOutput(java.io.OutputStream)"><!-- --></A><H3>
    +ZipMultiReportOutput</H3>
    +<PRE>
    +public <B>ZipMultiReportOutput</B>(<A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/io/OutputStream.html" title="class or interface in java.io">OutputStream</A>&nbsp;out)</PRE>
    +<DL>
    +<DD>Creates a new instance based on the given <A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/io/OutputStream.html" title="class or interface in java.io"><CODE>OutputStream</CODE></A>.
    +<P>
    +<DL>
    +<DT><B>Parameters:</B><DD><CODE>out</CODE> - stream to write file entries to</DL>
    +</DL>
    +
    +<!-- ============ METHOD DETAIL ========== -->
    +
    +<A NAME="method_detail"><!-- --></A>
    +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
    +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
    +<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2">
    +<B>Method Detail</B></FONT></TH>
    +</TR>
    +</TABLE>
    +
    +<A NAME="createFile(java.lang.String)"><!-- --></A><H3>
    +createFile</H3>
    +<PRE>
    +public <A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/io/OutputStream.html" title="class or interface in java.io">OutputStream</A> <B>createFile</B>(<A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A>&nbsp;path)
    +                        throws <A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/io/IOException.html" title="class or interface in java.io">IOException</A></PRE>
    +<DL>
    +<DD><B>Description copied from interface: <CODE><A HREF="../../../org/jacoco/report/IMultiReportOutput.html#createFile(java.lang.String)">IMultiReportOutput</A></CODE></B></DD>
    +<DD>Creates a file at the given local path. The returned <A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/io/OutputStream.html" title="class or interface in java.io"><CODE>OutputStream</CODE></A>
    + has to be closed before the next document is created.
    +<P>
    +<DD><DL>
    +<DT><B>Specified by:</B><DD><CODE><A HREF="../../../org/jacoco/report/IMultiReportOutput.html#createFile(java.lang.String)">createFile</A></CODE> in interface <CODE><A HREF="../../../org/jacoco/report/IMultiReportOutput.html" title="interface in org.jacoco.report">IMultiReportOutput</A></CODE></DL>
    +</DD>
    +<DD><DL>
    +<DT><B>Parameters:</B><DD><CODE>path</CODE> - local path to the new document
    +<DT><B>Returns:</B><DD>output for the content
    +<DT><B>Throws:</B>
    +<DD><CODE><A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/io/IOException.html" title="class or interface in java.io">IOException</A></CODE> - if the creation fails</DL>
    +</DD>
    +</DL>
    +<HR>
    +
    +<A NAME="close()"><!-- --></A><H3>
    +close</H3>
    +<PRE>
    +public void <B>close</B>()
    +           throws <A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/io/IOException.html" title="class or interface in java.io">IOException</A></PRE>
    +<DL>
    +<DD><B>Description copied from interface: <CODE><A HREF="../../../org/jacoco/report/IMultiReportOutput.html#close()">IMultiReportOutput</A></CODE></B></DD>
    +<DD>Closes the underlying resource container.
    +<P>
    +<DD><DL>
    +<DT><B>Specified by:</B><DD><CODE><A HREF="../../../org/jacoco/report/IMultiReportOutput.html#close()">close</A></CODE> in interface <CODE><A HREF="../../../org/jacoco/report/IMultiReportOutput.html" title="interface in org.jacoco.report">IMultiReportOutput</A></CODE></DL>
    +</DD>
    +<DD><DL>
    +
    +<DT><B>Throws:</B>
    +<DD><CODE><A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/io/IOException.html" title="class or interface in java.io">IOException</A></CODE> - if closing fails</DL>
    +</DD>
    +</DL>
    +<!-- ========= END OF CLASS DATA ========= -->
    +<HR>
    +
    +
    +<!-- ======= START OF BOTTOM NAVBAR ====== -->
    +<A NAME="navbar_bottom"><!-- --></A>
    +<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
    +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
    +<TR>
    +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
    +<A NAME="navbar_bottom_firstrow"><!-- --></A>
    +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
    +  <TR ALIGN="center" VALIGN="top">
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="class-use/ZipMultiReportOutput.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
    +  </TR>
    +</TABLE>
    +</TD>
    +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
    +</EM>
    +</TD>
    +</TR>
    +
    +<TR>
    +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
    +&nbsp;<A HREF="../../../org/jacoco/report/MultiSourceFileLocator.html" title="class in org.jacoco.report"><B>PREV CLASS</B></A>&nbsp;
    +&nbsp;NEXT CLASS</FONT></TD>
    +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
    +  <A HREF="../../../index.html?org/jacoco/report/ZipMultiReportOutput.html" target="_top"><B>FRAMES</B></A>  &nbsp;
    +&nbsp;<A HREF="ZipMultiReportOutput.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
    +&nbsp;<SCRIPT type="text/javascript">
    +  <!--
    +  if(window==top) {
    +    document.writeln('<A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>');
    +  }
    +  //-->
    +</SCRIPT>
    +<NOSCRIPT>
    +  <A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>
    +</NOSCRIPT>
    +
    +
    +</FONT></TD>
    +</TR>
    +<TR>
    +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
    +  SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;FIELD&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD>
    +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
    +DETAIL:&nbsp;FIELD&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD>
    +</TR>
    +</TABLE>
    +<A NAME="skip-navbar_bottom"></A>
    +<!-- ======== END OF BOTTOM NAVBAR ======= -->
    +
    +<HR>
    +Copyright &#169; 2009&#x2013;2024 Mountainminds GmbH & Co. KG. All rights reserved.
    +</BODY>
    +</HTML>
    diff --git a/jacoco/trunk/doc/api/org/jacoco/report/check/IViolationsOutput.html b/jacoco/trunk/doc/api/org/jacoco/report/check/IViolationsOutput.html
    new file mode 100644
    index 00000000000..1e69a0d3a44
    --- /dev/null
    +++ b/jacoco/trunk/doc/api/org/jacoco/report/check/IViolationsOutput.html
    @@ -0,0 +1,216 @@
    +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
    +<!--NewPage-->
    +<HTML>
    +<HEAD>
    +<!-- Generated by javadoc (build 1.5.0_22) on Wed Mar 27 16:45:42 UTC 2024 -->
    +<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
    +<TITLE>
    +IViolationsOutput (JaCoCo 0.8.12.202403270442 API)
    +</TITLE>
    +
    +<META NAME="keywords" CONTENT="org.jacoco.report.check.IViolationsOutput interface">
    +
    +<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../stylesheet.css" TITLE="Style">
    +
    +<SCRIPT type="text/javascript">
    +function windowTitle()
    +{
    +    parent.document.title="IViolationsOutput (JaCoCo 0.8.12.202403270442 API)";
    +}
    +</SCRIPT>
    +<NOSCRIPT>
    +</NOSCRIPT>
    +
    +</HEAD>
    +
    +<BODY BGCOLOR="white" onload="windowTitle();">
    +
    +
    +<!-- ========= START OF TOP NAVBAR ======= -->
    +<A NAME="navbar_top"><!-- --></A>
    +<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
    +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
    +<TR>
    +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
    +<A NAME="navbar_top_firstrow"><!-- --></A>
    +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
    +  <TR ALIGN="center" VALIGN="top">
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="class-use/IViolationsOutput.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
    +  </TR>
    +</TABLE>
    +</TD>
    +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
    +</EM>
    +</TD>
    +</TR>
    +
    +<TR>
    +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
    +&nbsp;PREV CLASS&nbsp;
    +&nbsp;<A HREF="../../../../org/jacoco/report/check/Limit.html" title="class in org.jacoco.report.check"><B>NEXT CLASS</B></A></FONT></TD>
    +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
    +  <A HREF="../../../../index.html?org/jacoco/report/check/IViolationsOutput.html" target="_top"><B>FRAMES</B></A>  &nbsp;
    +&nbsp;<A HREF="IViolationsOutput.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
    +&nbsp;<SCRIPT type="text/javascript">
    +  <!--
    +  if(window==top) {
    +    document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>');
    +  }
    +  //-->
    +</SCRIPT>
    +<NOSCRIPT>
    +  <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>
    +</NOSCRIPT>
    +
    +
    +</FONT></TD>
    +</TR>
    +<TR>
    +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
    +  SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;FIELD&nbsp;|&nbsp;CONSTR&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD>
    +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
    +DETAIL:&nbsp;FIELD&nbsp;|&nbsp;CONSTR&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD>
    +</TR>
    +</TABLE>
    +<A NAME="skip-navbar_top"></A>
    +<!-- ========= END OF TOP NAVBAR ========= -->
    +
    +<HR>
    +<!-- ======== START OF CLASS DATA ======== -->
    +<H2>
    +<FONT SIZE="-1">
    +org.jacoco.report.check</FONT>
    +<BR>
    +Interface IViolationsOutput</H2>
    +<HR>
    +<DL>
    +<DT><PRE>public interface <B>IViolationsOutput</B></DL>
    +</PRE>
    +
    +<P>
    +Call-back interface which is used to report rule violations to.
    +<P>
    +
    +<P>
    +<HR>
    +
    +<P>
    +
    +<!-- ========== METHOD SUMMARY =========== -->
    +
    +<A NAME="method_summary"><!-- --></A>
    +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
    +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
    +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
    +<B>Method Summary</B></FONT></TH>
    +</TR>
    +<TR BGCOLOR="white" CLASS="TableRowColor">
    +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
    +<CODE>&nbsp;void</CODE></FONT></TD>
    +<TD><CODE><B><A HREF="../../../../org/jacoco/report/check/IViolationsOutput.html#onViolation(org.jacoco.core.analysis.ICoverageNode, org.jacoco.report.check.Rule, org.jacoco.report.check.Limit, java.lang.String)">onViolation</A></B>(<A HREF="../../../../org/jacoco/core/analysis/ICoverageNode.html" title="interface in org.jacoco.core.analysis">ICoverageNode</A>&nbsp;node,
    +            <A HREF="../../../../org/jacoco/report/check/Rule.html" title="class in org.jacoco.report.check">Rule</A>&nbsp;rule,
    +            <A HREF="../../../../org/jacoco/report/check/Limit.html" title="class in org.jacoco.report.check">Limit</A>&nbsp;limit,
    +            <A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A>&nbsp;message)</CODE>
    +
    +<BR>
    +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Called for every rule violation.</TD>
    +</TR>
    +</TABLE>
    +&nbsp;
    +<P>
    +
    +<!-- ============ METHOD DETAIL ========== -->
    +
    +<A NAME="method_detail"><!-- --></A>
    +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
    +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
    +<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2">
    +<B>Method Detail</B></FONT></TH>
    +</TR>
    +</TABLE>
    +
    +<A NAME="onViolation(org.jacoco.core.analysis.ICoverageNode, org.jacoco.report.check.Rule, org.jacoco.report.check.Limit, java.lang.String)"><!-- --></A><H3>
    +onViolation</H3>
    +<PRE>
    +void <B>onViolation</B>(<A HREF="../../../../org/jacoco/core/analysis/ICoverageNode.html" title="interface in org.jacoco.core.analysis">ICoverageNode</A>&nbsp;node,
    +                 <A HREF="../../../../org/jacoco/report/check/Rule.html" title="class in org.jacoco.report.check">Rule</A>&nbsp;rule,
    +                 <A HREF="../../../../org/jacoco/report/check/Limit.html" title="class in org.jacoco.report.check">Limit</A>&nbsp;limit,
    +                 <A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A>&nbsp;message)</PRE>
    +<DL>
    +<DD>Called for every rule violation.
    +<P>
    +<DD><DL>
    +<DT><B>Parameters:</B><DD><CODE>node</CODE> - node which violates a rule<DD><CODE>rule</CODE> - rule which is violated<DD><CODE>limit</CODE> - limit which is violated<DD><CODE>message</CODE> - readable message describing this violation</DL>
    +</DD>
    +</DL>
    +<!-- ========= END OF CLASS DATA ========= -->
    +<HR>
    +
    +
    +<!-- ======= START OF BOTTOM NAVBAR ====== -->
    +<A NAME="navbar_bottom"><!-- --></A>
    +<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
    +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
    +<TR>
    +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
    +<A NAME="navbar_bottom_firstrow"><!-- --></A>
    +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
    +  <TR ALIGN="center" VALIGN="top">
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="class-use/IViolationsOutput.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
    +  </TR>
    +</TABLE>
    +</TD>
    +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
    +</EM>
    +</TD>
    +</TR>
    +
    +<TR>
    +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
    +&nbsp;PREV CLASS&nbsp;
    +&nbsp;<A HREF="../../../../org/jacoco/report/check/Limit.html" title="class in org.jacoco.report.check"><B>NEXT CLASS</B></A></FONT></TD>
    +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
    +  <A HREF="../../../../index.html?org/jacoco/report/check/IViolationsOutput.html" target="_top"><B>FRAMES</B></A>  &nbsp;
    +&nbsp;<A HREF="IViolationsOutput.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
    +&nbsp;<SCRIPT type="text/javascript">
    +  <!--
    +  if(window==top) {
    +    document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>');
    +  }
    +  //-->
    +</SCRIPT>
    +<NOSCRIPT>
    +  <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>
    +</NOSCRIPT>
    +
    +
    +</FONT></TD>
    +</TR>
    +<TR>
    +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
    +  SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;FIELD&nbsp;|&nbsp;CONSTR&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD>
    +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
    +DETAIL:&nbsp;FIELD&nbsp;|&nbsp;CONSTR&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD>
    +</TR>
    +</TABLE>
    +<A NAME="skip-navbar_bottom"></A>
    +<!-- ======== END OF BOTTOM NAVBAR ======= -->
    +
    +<HR>
    +Copyright &#169; 2009&#x2013;2024 Mountainminds GmbH & Co. KG. All rights reserved.
    +</BODY>
    +</HTML>
    diff --git a/jacoco/trunk/doc/api/org/jacoco/report/check/Limit.html b/jacoco/trunk/doc/api/org/jacoco/report/check/Limit.html
    new file mode 100644
    index 00000000000..560b8eca19c
    --- /dev/null
    +++ b/jacoco/trunk/doc/api/org/jacoco/report/check/Limit.html
    @@ -0,0 +1,425 @@
    +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
    +<!--NewPage-->
    +<HTML>
    +<HEAD>
    +<!-- Generated by javadoc (build 1.5.0_22) on Wed Mar 27 16:45:42 UTC 2024 -->
    +<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
    +<TITLE>
    +Limit (JaCoCo 0.8.12.202403270442 API)
    +</TITLE>
    +
    +<META NAME="keywords" CONTENT="org.jacoco.report.check.Limit class">
    +
    +<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../stylesheet.css" TITLE="Style">
    +
    +<SCRIPT type="text/javascript">
    +function windowTitle()
    +{
    +    parent.document.title="Limit (JaCoCo 0.8.12.202403270442 API)";
    +}
    +</SCRIPT>
    +<NOSCRIPT>
    +</NOSCRIPT>
    +
    +</HEAD>
    +
    +<BODY BGCOLOR="white" onload="windowTitle();">
    +
    +
    +<!-- ========= START OF TOP NAVBAR ======= -->
    +<A NAME="navbar_top"><!-- --></A>
    +<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
    +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
    +<TR>
    +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
    +<A NAME="navbar_top_firstrow"><!-- --></A>
    +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
    +  <TR ALIGN="center" VALIGN="top">
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="class-use/Limit.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
    +  </TR>
    +</TABLE>
    +</TD>
    +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
    +</EM>
    +</TD>
    +</TR>
    +
    +<TR>
    +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
    +&nbsp;<A HREF="../../../../org/jacoco/report/check/IViolationsOutput.html" title="interface in org.jacoco.report.check"><B>PREV CLASS</B></A>&nbsp;
    +&nbsp;<A HREF="../../../../org/jacoco/report/check/Rule.html" title="class in org.jacoco.report.check"><B>NEXT CLASS</B></A></FONT></TD>
    +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
    +  <A HREF="../../../../index.html?org/jacoco/report/check/Limit.html" target="_top"><B>FRAMES</B></A>  &nbsp;
    +&nbsp;<A HREF="Limit.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
    +&nbsp;<SCRIPT type="text/javascript">
    +  <!--
    +  if(window==top) {
    +    document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>');
    +  }
    +  //-->
    +</SCRIPT>
    +<NOSCRIPT>
    +  <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>
    +</NOSCRIPT>
    +
    +
    +</FONT></TD>
    +</TR>
    +<TR>
    +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
    +  SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;FIELD&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD>
    +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
    +DETAIL:&nbsp;FIELD&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD>
    +</TR>
    +</TABLE>
    +<A NAME="skip-navbar_top"></A>
    +<!-- ========= END OF TOP NAVBAR ========= -->
    +
    +<HR>
    +<!-- ======== START OF CLASS DATA ======== -->
    +<H2>
    +<FONT SIZE="-1">
    +org.jacoco.report.check</FONT>
    +<BR>
    +Class Limit</H2>
    +<PRE>
    +<A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html" title="class or interface in java.lang">java.lang.Object</A>
    +  <IMG SRC="../../../../resources/inherit.gif" ALT="extended by "><B>org.jacoco.report.check.Limit</B>
    +</PRE>
    +<HR>
    +<DL>
    +<DT><PRE>public class <B>Limit</B><DT>extends <A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html" title="class or interface in java.lang">Object</A></DL>
    +</PRE>
    +
    +<P>
    +Descriptor for a limit which is given by a <A HREF="../../../../org/jacoco/report/check/Rule.html" title="class in org.jacoco.report.check"><CODE>Rule</CODE></A>.
    +<P>
    +
    +<P>
    +<HR>
    +
    +<P>
    +
    +<!-- ======== CONSTRUCTOR SUMMARY ======== -->
    +
    +<A NAME="constructor_summary"><!-- --></A>
    +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
    +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
    +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
    +<B>Constructor Summary</B></FONT></TH>
    +</TR>
    +<TR BGCOLOR="white" CLASS="TableRowColor">
    +<TD><CODE><B><A HREF="../../../../org/jacoco/report/check/Limit.html#Limit()">Limit</A></B>()</CODE>
    +
    +<BR>
    +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Creates a new instance with the following defaults:
    + 
    + counter entity: <A HREF="../../../../org/jacoco/core/analysis/ICoverageNode.CounterEntity.html#INSTRUCTION"><CODE>ICoverageNode.CounterEntity.INSTRUCTION</CODE></A>
    + counter value: <A HREF="../../../../org/jacoco/core/analysis/ICounter.CounterValue.html#COVEREDRATIO"><CODE>ICounter.CounterValue.COVEREDRATIO</CODE></A>
    + minimum: no limit
    + maximum: no limit
    + </TD>
    +</TR>
    +</TABLE>
    +&nbsp;
    +<!-- ========== METHOD SUMMARY =========== -->
    +
    +<A NAME="method_summary"><!-- --></A>
    +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
    +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
    +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
    +<B>Method Summary</B></FONT></TH>
    +</TR>
    +<TR BGCOLOR="white" CLASS="TableRowColor">
    +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
    +<CODE>&nbsp;<A HREF="../../../../org/jacoco/core/analysis/ICoverageNode.CounterEntity.html" title="enum in org.jacoco.core.analysis">ICoverageNode.CounterEntity</A></CODE></FONT></TD>
    +<TD><CODE><B><A HREF="../../../../org/jacoco/report/check/Limit.html#getEntity()">getEntity</A></B>()</CODE>
    +
    +<BR>
    +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
    +</TR>
    +<TR BGCOLOR="white" CLASS="TableRowColor">
    +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
    +<CODE>&nbsp;<A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A></CODE></FONT></TD>
    +<TD><CODE><B><A HREF="../../../../org/jacoco/report/check/Limit.html#getMaximum()">getMaximum</A></B>()</CODE>
    +
    +<BR>
    +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
    +</TR>
    +<TR BGCOLOR="white" CLASS="TableRowColor">
    +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
    +<CODE>&nbsp;<A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A></CODE></FONT></TD>
    +<TD><CODE><B><A HREF="../../../../org/jacoco/report/check/Limit.html#getMinimum()">getMinimum</A></B>()</CODE>
    +
    +<BR>
    +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
    +</TR>
    +<TR BGCOLOR="white" CLASS="TableRowColor">
    +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
    +<CODE>&nbsp;<A HREF="../../../../org/jacoco/core/analysis/ICounter.CounterValue.html" title="enum in org.jacoco.core.analysis">ICounter.CounterValue</A></CODE></FONT></TD>
    +<TD><CODE><B><A HREF="../../../../org/jacoco/report/check/Limit.html#getValue()">getValue</A></B>()</CODE>
    +
    +<BR>
    +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
    +</TR>
    +<TR BGCOLOR="white" CLASS="TableRowColor">
    +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
    +<CODE>&nbsp;void</CODE></FONT></TD>
    +<TD><CODE><B><A HREF="../../../../org/jacoco/report/check/Limit.html#setCounter(java.lang.String)">setCounter</A></B>(<A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A>&nbsp;entity)</CODE>
    +
    +<BR>
    +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Sets the counter entity to check.</TD>
    +</TR>
    +<TR BGCOLOR="white" CLASS="TableRowColor">
    +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
    +<CODE>&nbsp;void</CODE></FONT></TD>
    +<TD><CODE><B><A HREF="../../../../org/jacoco/report/check/Limit.html#setMaximum(java.lang.String)">setMaximum</A></B>(<A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A>&nbsp;maximum)</CODE>
    +
    +<BR>
    +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Sets the expected maximum value.</TD>
    +</TR>
    +<TR BGCOLOR="white" CLASS="TableRowColor">
    +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
    +<CODE>&nbsp;void</CODE></FONT></TD>
    +<TD><CODE><B><A HREF="../../../../org/jacoco/report/check/Limit.html#setMinimum(java.lang.String)">setMinimum</A></B>(<A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A>&nbsp;minimum)</CODE>
    +
    +<BR>
    +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Sets the expected minimum value.</TD>
    +</TR>
    +<TR BGCOLOR="white" CLASS="TableRowColor">
    +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
    +<CODE>&nbsp;void</CODE></FONT></TD>
    +<TD><CODE><B><A HREF="../../../../org/jacoco/report/check/Limit.html#setValue(java.lang.String)">setValue</A></B>(<A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A>&nbsp;value)</CODE>
    +
    +<BR>
    +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Sets the value to check.</TD>
    +</TR>
    +</TABLE>
    +&nbsp;<A NAME="methods_inherited_from_class_java.lang.Object"><!-- --></A>
    +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
    +<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
    +<TH ALIGN="left"><B>Methods inherited from class java.lang.<A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html" title="class or interface in java.lang">Object</A></B></TH>
    +</TR>
    +<TR BGCOLOR="white" CLASS="TableRowColor">
    +<TD><CODE><A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html#clone()" title="class or interface in java.lang">clone</A>, <A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html#equals(java.lang.Object)" title="class or interface in java.lang">equals</A>, <A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html#finalize()" title="class or interface in java.lang">finalize</A>, <A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html#getClass()" title="class or interface in java.lang">getClass</A>, <A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html#hashCode()" title="class or interface in java.lang">hashCode</A>, <A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html#notify()" title="class or interface in java.lang">notify</A>, <A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html#notifyAll()" title="class or interface in java.lang">notifyAll</A>, <A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html#toString()" title="class or interface in java.lang">toString</A>, <A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html#wait()" title="class or interface in java.lang">wait</A>, <A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html#wait(long)" title="class or interface in java.lang">wait</A>, <A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html#wait(long, int)" title="class or interface in java.lang">wait</A></CODE></TD>
    +</TR>
    +</TABLE>
    +&nbsp;
    +<P>
    +
    +<!-- ========= CONSTRUCTOR DETAIL ======== -->
    +
    +<A NAME="constructor_detail"><!-- --></A>
    +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
    +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
    +<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2">
    +<B>Constructor Detail</B></FONT></TH>
    +</TR>
    +</TABLE>
    +
    +<A NAME="Limit()"><!-- --></A><H3>
    +Limit</H3>
    +<PRE>
    +public <B>Limit</B>()</PRE>
    +<DL>
    +<DD>Creates a new instance with the following defaults:
    + <ul>
    + <li>counter entity: <A HREF="../../../../org/jacoco/core/analysis/ICoverageNode.CounterEntity.html#INSTRUCTION"><CODE>ICoverageNode.CounterEntity.INSTRUCTION</CODE></A>
    + <li>counter value: <A HREF="../../../../org/jacoco/core/analysis/ICounter.CounterValue.html#COVEREDRATIO"><CODE>ICounter.CounterValue.COVEREDRATIO</CODE></A>
    + <li>minimum: no limit
    + <li>maximum: no limit
    + </ul>
    +<P>
    +</DL>
    +
    +<!-- ============ METHOD DETAIL ========== -->
    +
    +<A NAME="method_detail"><!-- --></A>
    +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
    +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
    +<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2">
    +<B>Method Detail</B></FONT></TH>
    +</TR>
    +</TABLE>
    +
    +<A NAME="getEntity()"><!-- --></A><H3>
    +getEntity</H3>
    +<PRE>
    +public <A HREF="../../../../org/jacoco/core/analysis/ICoverageNode.CounterEntity.html" title="enum in org.jacoco.core.analysis">ICoverageNode.CounterEntity</A> <B>getEntity</B>()</PRE>
    +<DL>
    +<DD><DL>
    +
    +<DT><B>Returns:</B><DD>the configured counter entity to check</DL>
    +</DD>
    +</DL>
    +<HR>
    +
    +<A NAME="setCounter(java.lang.String)"><!-- --></A><H3>
    +setCounter</H3>
    +<PRE>
    +public void <B>setCounter</B>(<A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A>&nbsp;entity)</PRE>
    +<DL>
    +<DD>Sets the counter entity to check.
    +<P>
    +<DD><DL>
    +<DT><B>Parameters:</B><DD><CODE>entity</CODE> - counter entity to check</DL>
    +</DD>
    +</DL>
    +<HR>
    +
    +<A NAME="getValue()"><!-- --></A><H3>
    +getValue</H3>
    +<PRE>
    +public <A HREF="../../../../org/jacoco/core/analysis/ICounter.CounterValue.html" title="enum in org.jacoco.core.analysis">ICounter.CounterValue</A> <B>getValue</B>()</PRE>
    +<DL>
    +<DD><DL>
    +
    +<DT><B>Returns:</B><DD>the configured value to check</DL>
    +</DD>
    +</DL>
    +<HR>
    +
    +<A NAME="setValue(java.lang.String)"><!-- --></A><H3>
    +setValue</H3>
    +<PRE>
    +public void <B>setValue</B>(<A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A>&nbsp;value)</PRE>
    +<DL>
    +<DD>Sets the value to check.
    +<P>
    +<DD><DL>
    +<DT><B>Parameters:</B><DD><CODE>value</CODE> - value to check</DL>
    +</DD>
    +</DL>
    +<HR>
    +
    +<A NAME="getMinimum()"><!-- --></A><H3>
    +getMinimum</H3>
    +<PRE>
    +public <A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> <B>getMinimum</B>()</PRE>
    +<DL>
    +<DD><DL>
    +
    +<DT><B>Returns:</B><DD>configured minimum value, or <code>null</code> if no minimum is
    +         given</DL>
    +</DD>
    +</DL>
    +<HR>
    +
    +<A NAME="setMinimum(java.lang.String)"><!-- --></A><H3>
    +setMinimum</H3>
    +<PRE>
    +public void <B>setMinimum</B>(<A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A>&nbsp;minimum)</PRE>
    +<DL>
    +<DD>Sets the expected minimum value. If the minimum refers to a ratio it must
    + be in the range from 0.0 to 1.0 where the number of decimal places will
    + also determine the precision in error messages. A limit ratio may
    + optionally be declared as a percentage where 0.80 and 80% represent the
    + same value.
    +<P>
    +<DD><DL>
    +<DT><B>Parameters:</B><DD><CODE>minimum</CODE> - allowed minimum or <code>null</code>, if no minimum should be
    +            checked</DL>
    +</DD>
    +</DL>
    +<HR>
    +
    +<A NAME="getMaximum()"><!-- --></A><H3>
    +getMaximum</H3>
    +<PRE>
    +public <A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> <B>getMaximum</B>()</PRE>
    +<DL>
    +<DD><DL>
    +
    +<DT><B>Returns:</B><DD>configured maximum value, or <code>null</code> if no maximum is
    +         given</DL>
    +</DD>
    +</DL>
    +<HR>
    +
    +<A NAME="setMaximum(java.lang.String)"><!-- --></A><H3>
    +setMaximum</H3>
    +<PRE>
    +public void <B>setMaximum</B>(<A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A>&nbsp;maximum)</PRE>
    +<DL>
    +<DD>Sets the expected maximum value. If the maximum refers to a ratio it must
    + be in the range from 0.0 to 1.0 where the number of decimal places will
    + also determine the precision in error messages. A limit ratio may
    + optionally be declared as a percentage where 0.80 and 80% represent the
    + same value.
    +<P>
    +<DD><DL>
    +<DT><B>Parameters:</B><DD><CODE>maximum</CODE> - allowed maximum or <code>null</code>, if no maximum should be
    +            checked</DL>
    +</DD>
    +</DL>
    +<!-- ========= END OF CLASS DATA ========= -->
    +<HR>
    +
    +
    +<!-- ======= START OF BOTTOM NAVBAR ====== -->
    +<A NAME="navbar_bottom"><!-- --></A>
    +<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
    +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
    +<TR>
    +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
    +<A NAME="navbar_bottom_firstrow"><!-- --></A>
    +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
    +  <TR ALIGN="center" VALIGN="top">
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="class-use/Limit.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
    +  </TR>
    +</TABLE>
    +</TD>
    +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
    +</EM>
    +</TD>
    +</TR>
    +
    +<TR>
    +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
    +&nbsp;<A HREF="../../../../org/jacoco/report/check/IViolationsOutput.html" title="interface in org.jacoco.report.check"><B>PREV CLASS</B></A>&nbsp;
    +&nbsp;<A HREF="../../../../org/jacoco/report/check/Rule.html" title="class in org.jacoco.report.check"><B>NEXT CLASS</B></A></FONT></TD>
    +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
    +  <A HREF="../../../../index.html?org/jacoco/report/check/Limit.html" target="_top"><B>FRAMES</B></A>  &nbsp;
    +&nbsp;<A HREF="Limit.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
    +&nbsp;<SCRIPT type="text/javascript">
    +  <!--
    +  if(window==top) {
    +    document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>');
    +  }
    +  //-->
    +</SCRIPT>
    +<NOSCRIPT>
    +  <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>
    +</NOSCRIPT>
    +
    +
    +</FONT></TD>
    +</TR>
    +<TR>
    +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
    +  SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;FIELD&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD>
    +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
    +DETAIL:&nbsp;FIELD&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD>
    +</TR>
    +</TABLE>
    +<A NAME="skip-navbar_bottom"></A>
    +<!-- ======== END OF BOTTOM NAVBAR ======= -->
    +
    +<HR>
    +Copyright &#169; 2009&#x2013;2024 Mountainminds GmbH & Co. KG. All rights reserved.
    +</BODY>
    +</HTML>
    diff --git a/jacoco/trunk/doc/api/org/jacoco/report/check/Rule.html b/jacoco/trunk/doc/api/org/jacoco/report/check/Rule.html
    new file mode 100644
    index 00000000000..86327e036bf
    --- /dev/null
    +++ b/jacoco/trunk/doc/api/org/jacoco/report/check/Rule.html
    @@ -0,0 +1,416 @@
    +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
    +<!--NewPage-->
    +<HTML>
    +<HEAD>
    +<!-- Generated by javadoc (build 1.5.0_22) on Wed Mar 27 16:45:42 UTC 2024 -->
    +<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
    +<TITLE>
    +Rule (JaCoCo 0.8.12.202403270442 API)
    +</TITLE>
    +
    +<META NAME="keywords" CONTENT="org.jacoco.report.check.Rule class">
    +
    +<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../stylesheet.css" TITLE="Style">
    +
    +<SCRIPT type="text/javascript">
    +function windowTitle()
    +{
    +    parent.document.title="Rule (JaCoCo 0.8.12.202403270442 API)";
    +}
    +</SCRIPT>
    +<NOSCRIPT>
    +</NOSCRIPT>
    +
    +</HEAD>
    +
    +<BODY BGCOLOR="white" onload="windowTitle();">
    +
    +
    +<!-- ========= START OF TOP NAVBAR ======= -->
    +<A NAME="navbar_top"><!-- --></A>
    +<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
    +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
    +<TR>
    +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
    +<A NAME="navbar_top_firstrow"><!-- --></A>
    +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
    +  <TR ALIGN="center" VALIGN="top">
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="class-use/Rule.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
    +  </TR>
    +</TABLE>
    +</TD>
    +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
    +</EM>
    +</TD>
    +</TR>
    +
    +<TR>
    +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
    +&nbsp;<A HREF="../../../../org/jacoco/report/check/Limit.html" title="class in org.jacoco.report.check"><B>PREV CLASS</B></A>&nbsp;
    +&nbsp;<A HREF="../../../../org/jacoco/report/check/RulesChecker.html" title="class in org.jacoco.report.check"><B>NEXT CLASS</B></A></FONT></TD>
    +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
    +  <A HREF="../../../../index.html?org/jacoco/report/check/Rule.html" target="_top"><B>FRAMES</B></A>  &nbsp;
    +&nbsp;<A HREF="Rule.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
    +&nbsp;<SCRIPT type="text/javascript">
    +  <!--
    +  if(window==top) {
    +    document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>');
    +  }
    +  //-->
    +</SCRIPT>
    +<NOSCRIPT>
    +  <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>
    +</NOSCRIPT>
    +
    +
    +</FONT></TD>
    +</TR>
    +<TR>
    +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
    +  SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;FIELD&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD>
    +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
    +DETAIL:&nbsp;FIELD&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD>
    +</TR>
    +</TABLE>
    +<A NAME="skip-navbar_top"></A>
    +<!-- ========= END OF TOP NAVBAR ========= -->
    +
    +<HR>
    +<!-- ======== START OF CLASS DATA ======== -->
    +<H2>
    +<FONT SIZE="-1">
    +org.jacoco.report.check</FONT>
    +<BR>
    +Class Rule</H2>
    +<PRE>
    +<A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html" title="class or interface in java.lang">java.lang.Object</A>
    +  <IMG SRC="../../../../resources/inherit.gif" ALT="extended by "><B>org.jacoco.report.check.Rule</B>
    +</PRE>
    +<HR>
    +<DL>
    +<DT><PRE>public final class <B>Rule</B><DT>extends <A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html" title="class or interface in java.lang">Object</A></DL>
    +</PRE>
    +
    +<P>
    +A rule applies for a certain element type and can define any number of limits
    + for all elements of this type.
    +<P>
    +
    +<P>
    +<HR>
    +
    +<P>
    +
    +<!-- ======== CONSTRUCTOR SUMMARY ======== -->
    +
    +<A NAME="constructor_summary"><!-- --></A>
    +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
    +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
    +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
    +<B>Constructor Summary</B></FONT></TH>
    +</TR>
    +<TR BGCOLOR="white" CLASS="TableRowColor">
    +<TD><CODE><B><A HREF="../../../../org/jacoco/report/check/Rule.html#Rule()">Rule</A></B>()</CODE>
    +
    +<BR>
    +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Creates a new Rule without limits.</TD>
    +</TR>
    +</TABLE>
    +&nbsp;
    +<!-- ========== METHOD SUMMARY =========== -->
    +
    +<A NAME="method_summary"><!-- --></A>
    +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
    +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
    +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
    +<B>Method Summary</B></FONT></TH>
    +</TR>
    +<TR BGCOLOR="white" CLASS="TableRowColor">
    +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
    +<CODE>&nbsp;<A HREF="../../../../org/jacoco/report/check/Limit.html" title="class in org.jacoco.report.check">Limit</A></CODE></FONT></TD>
    +<TD><CODE><B><A HREF="../../../../org/jacoco/report/check/Rule.html#createLimit()">createLimit</A></B>()</CODE>
    +
    +<BR>
    +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Creates and adds a new <A HREF="../../../../org/jacoco/report/check/Limit.html" title="class in org.jacoco.report.check"><CODE>Limit</CODE></A>.</TD>
    +</TR>
    +<TR BGCOLOR="white" CLASS="TableRowColor">
    +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
    +<CODE>&nbsp;<A HREF="../../../../org/jacoco/core/analysis/ICoverageNode.ElementType.html" title="enum in org.jacoco.core.analysis">ICoverageNode.ElementType</A></CODE></FONT></TD>
    +<TD><CODE><B><A HREF="../../../../org/jacoco/report/check/Rule.html#getElement()">getElement</A></B>()</CODE>
    +
    +<BR>
    +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
    +</TR>
    +<TR BGCOLOR="white" CLASS="TableRowColor">
    +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
    +<CODE>&nbsp;<A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A></CODE></FONT></TD>
    +<TD><CODE><B><A HREF="../../../../org/jacoco/report/check/Rule.html#getExcludes()">getExcludes</A></B>()</CODE>
    +
    +<BR>
    +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
    +</TR>
    +<TR BGCOLOR="white" CLASS="TableRowColor">
    +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
    +<CODE>&nbsp;<A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A></CODE></FONT></TD>
    +<TD><CODE><B><A HREF="../../../../org/jacoco/report/check/Rule.html#getIncludes()">getIncludes</A></B>()</CODE>
    +
    +<BR>
    +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
    +</TR>
    +<TR BGCOLOR="white" CLASS="TableRowColor">
    +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
    +<CODE>&nbsp;<A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/util/List.html" title="class or interface in java.util">List</A>&lt;<A HREF="../../../../org/jacoco/report/check/Limit.html" title="class in org.jacoco.report.check">Limit</A>&gt;</CODE></FONT></TD>
    +<TD><CODE><B><A HREF="../../../../org/jacoco/report/check/Rule.html#getLimits()">getLimits</A></B>()</CODE>
    +
    +<BR>
    +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
    +</TR>
    +<TR BGCOLOR="white" CLASS="TableRowColor">
    +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
    +<CODE>&nbsp;void</CODE></FONT></TD>
    +<TD><CODE><B><A HREF="../../../../org/jacoco/report/check/Rule.html#setElement(org.jacoco.core.analysis.ICoverageNode.ElementType)">setElement</A></B>(<A HREF="../../../../org/jacoco/core/analysis/ICoverageNode.ElementType.html" title="enum in org.jacoco.core.analysis">ICoverageNode.ElementType</A>&nbsp;elementType)</CODE>
    +
    +<BR>
    +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
    +</TR>
    +<TR BGCOLOR="white" CLASS="TableRowColor">
    +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
    +<CODE>&nbsp;void</CODE></FONT></TD>
    +<TD><CODE><B><A HREF="../../../../org/jacoco/report/check/Rule.html#setExcludes(java.lang.String)">setExcludes</A></B>(<A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A>&nbsp;excludes)</CODE>
    +
    +<BR>
    +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
    +</TR>
    +<TR BGCOLOR="white" CLASS="TableRowColor">
    +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
    +<CODE>&nbsp;void</CODE></FONT></TD>
    +<TD><CODE><B><A HREF="../../../../org/jacoco/report/check/Rule.html#setIncludes(java.lang.String)">setIncludes</A></B>(<A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A>&nbsp;includes)</CODE>
    +
    +<BR>
    +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
    +</TR>
    +<TR BGCOLOR="white" CLASS="TableRowColor">
    +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
    +<CODE>&nbsp;void</CODE></FONT></TD>
    +<TD><CODE><B><A HREF="../../../../org/jacoco/report/check/Rule.html#setLimits(java.util.List)">setLimits</A></B>(<A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/util/List.html" title="class or interface in java.util">List</A>&lt;<A HREF="../../../../org/jacoco/report/check/Limit.html" title="class in org.jacoco.report.check">Limit</A>&gt;&nbsp;limits)</CODE>
    +
    +<BR>
    +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
    +</TR>
    +</TABLE>
    +&nbsp;<A NAME="methods_inherited_from_class_java.lang.Object"><!-- --></A>
    +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
    +<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
    +<TH ALIGN="left"><B>Methods inherited from class java.lang.<A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html" title="class or interface in java.lang">Object</A></B></TH>
    +</TR>
    +<TR BGCOLOR="white" CLASS="TableRowColor">
    +<TD><CODE><A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html#clone()" title="class or interface in java.lang">clone</A>, <A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html#equals(java.lang.Object)" title="class or interface in java.lang">equals</A>, <A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html#finalize()" title="class or interface in java.lang">finalize</A>, <A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html#getClass()" title="class or interface in java.lang">getClass</A>, <A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html#hashCode()" title="class or interface in java.lang">hashCode</A>, <A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html#notify()" title="class or interface in java.lang">notify</A>, <A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html#notifyAll()" title="class or interface in java.lang">notifyAll</A>, <A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html#toString()" title="class or interface in java.lang">toString</A>, <A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html#wait()" title="class or interface in java.lang">wait</A>, <A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html#wait(long)" title="class or interface in java.lang">wait</A>, <A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html#wait(long, int)" title="class or interface in java.lang">wait</A></CODE></TD>
    +</TR>
    +</TABLE>
    +&nbsp;
    +<P>
    +
    +<!-- ========= CONSTRUCTOR DETAIL ======== -->
    +
    +<A NAME="constructor_detail"><!-- --></A>
    +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
    +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
    +<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2">
    +<B>Constructor Detail</B></FONT></TH>
    +</TR>
    +</TABLE>
    +
    +<A NAME="Rule()"><!-- --></A><H3>
    +Rule</H3>
    +<PRE>
    +public <B>Rule</B>()</PRE>
    +<DL>
    +<DD>Creates a new Rule without limits.
    +<P>
    +</DL>
    +
    +<!-- ============ METHOD DETAIL ========== -->
    +
    +<A NAME="method_detail"><!-- --></A>
    +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
    +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
    +<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2">
    +<B>Method Detail</B></FONT></TH>
    +</TR>
    +</TABLE>
    +
    +<A NAME="getElement()"><!-- --></A><H3>
    +getElement</H3>
    +<PRE>
    +public <A HREF="../../../../org/jacoco/core/analysis/ICoverageNode.ElementType.html" title="enum in org.jacoco.core.analysis">ICoverageNode.ElementType</A> <B>getElement</B>()</PRE>
    +<DL>
    +<DD><DL>
    +
    +<DT><B>Returns:</B><DD>element type this rule applies to</DL>
    +</DD>
    +</DL>
    +<HR>
    +
    +<A NAME="setElement(org.jacoco.core.analysis.ICoverageNode.ElementType)"><!-- --></A><H3>
    +setElement</H3>
    +<PRE>
    +public void <B>setElement</B>(<A HREF="../../../../org/jacoco/core/analysis/ICoverageNode.ElementType.html" title="enum in org.jacoco.core.analysis">ICoverageNode.ElementType</A>&nbsp;elementType)</PRE>
    +<DL>
    +<DD><DL>
    +<DT><B>Parameters:</B><DD><CODE>elementType</CODE> - element type this rule applies to</DL>
    +</DD>
    +</DL>
    +<HR>
    +
    +<A NAME="getIncludes()"><!-- --></A><H3>
    +getIncludes</H3>
    +<PRE>
    +public <A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> <B>getIncludes</B>()</PRE>
    +<DL>
    +<DD><DL>
    +
    +<DT><B>Returns:</B><DD>includes pattern</DL>
    +</DD>
    +</DL>
    +<HR>
    +
    +<A NAME="setIncludes(java.lang.String)"><!-- --></A><H3>
    +setIncludes</H3>
    +<PRE>
    +public void <B>setIncludes</B>(<A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A>&nbsp;includes)</PRE>
    +<DL>
    +<DD><DL>
    +<DT><B>Parameters:</B><DD><CODE>includes</CODE> - includes pattern</DL>
    +</DD>
    +</DL>
    +<HR>
    +
    +<A NAME="getExcludes()"><!-- --></A><H3>
    +getExcludes</H3>
    +<PRE>
    +public <A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> <B>getExcludes</B>()</PRE>
    +<DL>
    +<DD><DL>
    +
    +<DT><B>Returns:</B><DD>excludes pattern</DL>
    +</DD>
    +</DL>
    +<HR>
    +
    +<A NAME="setExcludes(java.lang.String)"><!-- --></A><H3>
    +setExcludes</H3>
    +<PRE>
    +public void <B>setExcludes</B>(<A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A>&nbsp;excludes)</PRE>
    +<DL>
    +<DD><DL>
    +<DT><B>Parameters:</B><DD><CODE>excludes</CODE> - excludes patterns</DL>
    +</DD>
    +</DL>
    +<HR>
    +
    +<A NAME="getLimits()"><!-- --></A><H3>
    +getLimits</H3>
    +<PRE>
    +public <A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/util/List.html" title="class or interface in java.util">List</A>&lt;<A HREF="../../../../org/jacoco/report/check/Limit.html" title="class in org.jacoco.report.check">Limit</A>&gt; <B>getLimits</B>()</PRE>
    +<DL>
    +<DD><DL>
    +
    +<DT><B>Returns:</B><DD>list of <A HREF="../../../../org/jacoco/report/check/Limit.html" title="class in org.jacoco.report.check"><CODE>Limit</CODE></A>s configured for this rule</DL>
    +</DD>
    +</DL>
    +<HR>
    +
    +<A NAME="setLimits(java.util.List)"><!-- --></A><H3>
    +setLimits</H3>
    +<PRE>
    +public void <B>setLimits</B>(<A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/util/List.html" title="class or interface in java.util">List</A>&lt;<A HREF="../../../../org/jacoco/report/check/Limit.html" title="class in org.jacoco.report.check">Limit</A>&gt;&nbsp;limits)</PRE>
    +<DL>
    +<DD><DL>
    +<DT><B>Parameters:</B><DD><CODE>limits</CODE> - list of <A HREF="../../../../org/jacoco/report/check/Limit.html" title="class in org.jacoco.report.check"><CODE>Limit</CODE></A>s configured for this rule</DL>
    +</DD>
    +</DL>
    +<HR>
    +
    +<A NAME="createLimit()"><!-- --></A><H3>
    +createLimit</H3>
    +<PRE>
    +public <A HREF="../../../../org/jacoco/report/check/Limit.html" title="class in org.jacoco.report.check">Limit</A> <B>createLimit</B>()</PRE>
    +<DL>
    +<DD>Creates and adds a new <A HREF="../../../../org/jacoco/report/check/Limit.html" title="class in org.jacoco.report.check"><CODE>Limit</CODE></A>.
    +<P>
    +<DD><DL>
    +
    +<DT><B>Returns:</B><DD>creates <A HREF="../../../../org/jacoco/report/check/Limit.html" title="class in org.jacoco.report.check"><CODE>Limit</CODE></A></DL>
    +</DD>
    +</DL>
    +<!-- ========= END OF CLASS DATA ========= -->
    +<HR>
    +
    +
    +<!-- ======= START OF BOTTOM NAVBAR ====== -->
    +<A NAME="navbar_bottom"><!-- --></A>
    +<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
    +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
    +<TR>
    +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
    +<A NAME="navbar_bottom_firstrow"><!-- --></A>
    +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
    +  <TR ALIGN="center" VALIGN="top">
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="class-use/Rule.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
    +  </TR>
    +</TABLE>
    +</TD>
    +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
    +</EM>
    +</TD>
    +</TR>
    +
    +<TR>
    +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
    +&nbsp;<A HREF="../../../../org/jacoco/report/check/Limit.html" title="class in org.jacoco.report.check"><B>PREV CLASS</B></A>&nbsp;
    +&nbsp;<A HREF="../../../../org/jacoco/report/check/RulesChecker.html" title="class in org.jacoco.report.check"><B>NEXT CLASS</B></A></FONT></TD>
    +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
    +  <A HREF="../../../../index.html?org/jacoco/report/check/Rule.html" target="_top"><B>FRAMES</B></A>  &nbsp;
    +&nbsp;<A HREF="Rule.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
    +&nbsp;<SCRIPT type="text/javascript">
    +  <!--
    +  if(window==top) {
    +    document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>');
    +  }
    +  //-->
    +</SCRIPT>
    +<NOSCRIPT>
    +  <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>
    +</NOSCRIPT>
    +
    +
    +</FONT></TD>
    +</TR>
    +<TR>
    +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
    +  SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;FIELD&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD>
    +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
    +DETAIL:&nbsp;FIELD&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD>
    +</TR>
    +</TABLE>
    +<A NAME="skip-navbar_bottom"></A>
    +<!-- ======== END OF BOTTOM NAVBAR ======= -->
    +
    +<HR>
    +Copyright &#169; 2009&#x2013;2024 Mountainminds GmbH & Co. KG. All rights reserved.
    +</BODY>
    +</HTML>
    diff --git a/jacoco/trunk/doc/api/org/jacoco/report/check/RulesChecker.html b/jacoco/trunk/doc/api/org/jacoco/report/check/RulesChecker.html
    new file mode 100644
    index 00000000000..108938fc5eb
    --- /dev/null
    +++ b/jacoco/trunk/doc/api/org/jacoco/report/check/RulesChecker.html
    @@ -0,0 +1,303 @@
    +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
    +<!--NewPage-->
    +<HTML>
    +<HEAD>
    +<!-- Generated by javadoc (build 1.5.0_22) on Wed Mar 27 16:45:42 UTC 2024 -->
    +<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
    +<TITLE>
    +RulesChecker (JaCoCo 0.8.12.202403270442 API)
    +</TITLE>
    +
    +<META NAME="keywords" CONTENT="org.jacoco.report.check.RulesChecker class">
    +
    +<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../stylesheet.css" TITLE="Style">
    +
    +<SCRIPT type="text/javascript">
    +function windowTitle()
    +{
    +    parent.document.title="RulesChecker (JaCoCo 0.8.12.202403270442 API)";
    +}
    +</SCRIPT>
    +<NOSCRIPT>
    +</NOSCRIPT>
    +
    +</HEAD>
    +
    +<BODY BGCOLOR="white" onload="windowTitle();">
    +
    +
    +<!-- ========= START OF TOP NAVBAR ======= -->
    +<A NAME="navbar_top"><!-- --></A>
    +<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
    +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
    +<TR>
    +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
    +<A NAME="navbar_top_firstrow"><!-- --></A>
    +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
    +  <TR ALIGN="center" VALIGN="top">
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="class-use/RulesChecker.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
    +  </TR>
    +</TABLE>
    +</TD>
    +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
    +</EM>
    +</TD>
    +</TR>
    +
    +<TR>
    +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
    +&nbsp;<A HREF="../../../../org/jacoco/report/check/Rule.html" title="class in org.jacoco.report.check"><B>PREV CLASS</B></A>&nbsp;
    +&nbsp;NEXT CLASS</FONT></TD>
    +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
    +  <A HREF="../../../../index.html?org/jacoco/report/check/RulesChecker.html" target="_top"><B>FRAMES</B></A>  &nbsp;
    +&nbsp;<A HREF="RulesChecker.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
    +&nbsp;<SCRIPT type="text/javascript">
    +  <!--
    +  if(window==top) {
    +    document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>');
    +  }
    +  //-->
    +</SCRIPT>
    +<NOSCRIPT>
    +  <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>
    +</NOSCRIPT>
    +
    +
    +</FONT></TD>
    +</TR>
    +<TR>
    +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
    +  SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;FIELD&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD>
    +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
    +DETAIL:&nbsp;FIELD&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD>
    +</TR>
    +</TABLE>
    +<A NAME="skip-navbar_top"></A>
    +<!-- ========= END OF TOP NAVBAR ========= -->
    +
    +<HR>
    +<!-- ======== START OF CLASS DATA ======== -->
    +<H2>
    +<FONT SIZE="-1">
    +org.jacoco.report.check</FONT>
    +<BR>
    +Class RulesChecker</H2>
    +<PRE>
    +<A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html" title="class or interface in java.lang">java.lang.Object</A>
    +  <IMG SRC="../../../../resources/inherit.gif" ALT="extended by "><B>org.jacoco.report.check.RulesChecker</B>
    +</PRE>
    +<HR>
    +<DL>
    +<DT><PRE>public class <B>RulesChecker</B><DT>extends <A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html" title="class or interface in java.lang">Object</A></DL>
    +</PRE>
    +
    +<P>
    +Formatter which checks a set of given rules and reports violations to a
    + <A HREF="../../../../org/jacoco/report/check/IViolationsOutput.html" title="interface in org.jacoco.report.check"><CODE>IViolationsOutput</CODE></A> instance.
    +<P>
    +
    +<P>
    +<HR>
    +
    +<P>
    +
    +<!-- ======== CONSTRUCTOR SUMMARY ======== -->
    +
    +<A NAME="constructor_summary"><!-- --></A>
    +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
    +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
    +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
    +<B>Constructor Summary</B></FONT></TH>
    +</TR>
    +<TR BGCOLOR="white" CLASS="TableRowColor">
    +<TD><CODE><B><A HREF="../../../../org/jacoco/report/check/RulesChecker.html#RulesChecker()">RulesChecker</A></B>()</CODE>
    +
    +<BR>
    +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;New formatter instance.</TD>
    +</TR>
    +</TABLE>
    +&nbsp;
    +<!-- ========== METHOD SUMMARY =========== -->
    +
    +<A NAME="method_summary"><!-- --></A>
    +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
    +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
    +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
    +<B>Method Summary</B></FONT></TH>
    +</TR>
    +<TR BGCOLOR="white" CLASS="TableRowColor">
    +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
    +<CODE>&nbsp;<A HREF="../../../../org/jacoco/report/IReportVisitor.html" title="interface in org.jacoco.report">IReportVisitor</A></CODE></FONT></TD>
    +<TD><CODE><B><A HREF="../../../../org/jacoco/report/check/RulesChecker.html#createVisitor(org.jacoco.report.check.IViolationsOutput)">createVisitor</A></B>(<A HREF="../../../../org/jacoco/report/check/IViolationsOutput.html" title="interface in org.jacoco.report.check">IViolationsOutput</A>&nbsp;output)</CODE>
    +
    +<BR>
    +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Creates a new visitor to process the configured checks.</TD>
    +</TR>
    +<TR BGCOLOR="white" CLASS="TableRowColor">
    +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
    +<CODE>&nbsp;void</CODE></FONT></TD>
    +<TD><CODE><B><A HREF="../../../../org/jacoco/report/check/RulesChecker.html#setLanguageNames(org.jacoco.report.ILanguageNames)">setLanguageNames</A></B>(<A HREF="../../../../org/jacoco/report/ILanguageNames.html" title="interface in org.jacoco.report">ILanguageNames</A>&nbsp;languageNames)</CODE>
    +
    +<BR>
    +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Sets the implementation for language name display for message formatting.</TD>
    +</TR>
    +<TR BGCOLOR="white" CLASS="TableRowColor">
    +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
    +<CODE>&nbsp;void</CODE></FONT></TD>
    +<TD><CODE><B><A HREF="../../../../org/jacoco/report/check/RulesChecker.html#setRules(java.util.List)">setRules</A></B>(<A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/util/List.html" title="class or interface in java.util">List</A>&lt;<A HREF="../../../../org/jacoco/report/check/Rule.html" title="class in org.jacoco.report.check">Rule</A>&gt;&nbsp;rules)</CODE>
    +
    +<BR>
    +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Sets the rules to check by this formatter.</TD>
    +</TR>
    +</TABLE>
    +&nbsp;<A NAME="methods_inherited_from_class_java.lang.Object"><!-- --></A>
    +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
    +<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
    +<TH ALIGN="left"><B>Methods inherited from class java.lang.<A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html" title="class or interface in java.lang">Object</A></B></TH>
    +</TR>
    +<TR BGCOLOR="white" CLASS="TableRowColor">
    +<TD><CODE><A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html#clone()" title="class or interface in java.lang">clone</A>, <A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html#equals(java.lang.Object)" title="class or interface in java.lang">equals</A>, <A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html#finalize()" title="class or interface in java.lang">finalize</A>, <A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html#getClass()" title="class or interface in java.lang">getClass</A>, <A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html#hashCode()" title="class or interface in java.lang">hashCode</A>, <A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html#notify()" title="class or interface in java.lang">notify</A>, <A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html#notifyAll()" title="class or interface in java.lang">notifyAll</A>, <A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html#toString()" title="class or interface in java.lang">toString</A>, <A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html#wait()" title="class or interface in java.lang">wait</A>, <A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html#wait(long)" title="class or interface in java.lang">wait</A>, <A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html#wait(long, int)" title="class or interface in java.lang">wait</A></CODE></TD>
    +</TR>
    +</TABLE>
    +&nbsp;
    +<P>
    +
    +<!-- ========= CONSTRUCTOR DETAIL ======== -->
    +
    +<A NAME="constructor_detail"><!-- --></A>
    +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
    +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
    +<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2">
    +<B>Constructor Detail</B></FONT></TH>
    +</TR>
    +</TABLE>
    +
    +<A NAME="RulesChecker()"><!-- --></A><H3>
    +RulesChecker</H3>
    +<PRE>
    +public <B>RulesChecker</B>()</PRE>
    +<DL>
    +<DD>New formatter instance.
    +<P>
    +</DL>
    +
    +<!-- ============ METHOD DETAIL ========== -->
    +
    +<A NAME="method_detail"><!-- --></A>
    +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
    +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
    +<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2">
    +<B>Method Detail</B></FONT></TH>
    +</TR>
    +</TABLE>
    +
    +<A NAME="setRules(java.util.List)"><!-- --></A><H3>
    +setRules</H3>
    +<PRE>
    +public void <B>setRules</B>(<A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/util/List.html" title="class or interface in java.util">List</A>&lt;<A HREF="../../../../org/jacoco/report/check/Rule.html" title="class in org.jacoco.report.check">Rule</A>&gt;&nbsp;rules)</PRE>
    +<DL>
    +<DD>Sets the rules to check by this formatter.
    +<P>
    +<DD><DL>
    +<DT><B>Parameters:</B><DD><CODE>rules</CODE> - rules to check</DL>
    +</DD>
    +</DL>
    +<HR>
    +
    +<A NAME="setLanguageNames(org.jacoco.report.ILanguageNames)"><!-- --></A><H3>
    +setLanguageNames</H3>
    +<PRE>
    +public void <B>setLanguageNames</B>(<A HREF="../../../../org/jacoco/report/ILanguageNames.html" title="interface in org.jacoco.report">ILanguageNames</A>&nbsp;languageNames)</PRE>
    +<DL>
    +<DD>Sets the implementation for language name display for message formatting.
    + Java language names are defined by default.
    +<P>
    +<DD><DL>
    +<DT><B>Parameters:</B><DD><CODE>languageNames</CODE> - converter for language specific names</DL>
    +</DD>
    +</DL>
    +<HR>
    +
    +<A NAME="createVisitor(org.jacoco.report.check.IViolationsOutput)"><!-- --></A><H3>
    +createVisitor</H3>
    +<PRE>
    +public <A HREF="../../../../org/jacoco/report/IReportVisitor.html" title="interface in org.jacoco.report">IReportVisitor</A> <B>createVisitor</B>(<A HREF="../../../../org/jacoco/report/check/IViolationsOutput.html" title="interface in org.jacoco.report.check">IViolationsOutput</A>&nbsp;output)</PRE>
    +<DL>
    +<DD>Creates a new visitor to process the configured checks.
    +<P>
    +<DD><DL>
    +<DT><B>Parameters:</B><DD><CODE>output</CODE> - call-back to report violations to
    +<DT><B>Returns:</B><DD>visitor to emit the report data to</DL>
    +</DD>
    +</DL>
    +<!-- ========= END OF CLASS DATA ========= -->
    +<HR>
    +
    +
    +<!-- ======= START OF BOTTOM NAVBAR ====== -->
    +<A NAME="navbar_bottom"><!-- --></A>
    +<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
    +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
    +<TR>
    +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
    +<A NAME="navbar_bottom_firstrow"><!-- --></A>
    +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
    +  <TR ALIGN="center" VALIGN="top">
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="class-use/RulesChecker.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
    +  </TR>
    +</TABLE>
    +</TD>
    +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
    +</EM>
    +</TD>
    +</TR>
    +
    +<TR>
    +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
    +&nbsp;<A HREF="../../../../org/jacoco/report/check/Rule.html" title="class in org.jacoco.report.check"><B>PREV CLASS</B></A>&nbsp;
    +&nbsp;NEXT CLASS</FONT></TD>
    +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
    +  <A HREF="../../../../index.html?org/jacoco/report/check/RulesChecker.html" target="_top"><B>FRAMES</B></A>  &nbsp;
    +&nbsp;<A HREF="RulesChecker.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
    +&nbsp;<SCRIPT type="text/javascript">
    +  <!--
    +  if(window==top) {
    +    document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>');
    +  }
    +  //-->
    +</SCRIPT>
    +<NOSCRIPT>
    +  <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>
    +</NOSCRIPT>
    +
    +
    +</FONT></TD>
    +</TR>
    +<TR>
    +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
    +  SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;FIELD&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD>
    +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
    +DETAIL:&nbsp;FIELD&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD>
    +</TR>
    +</TABLE>
    +<A NAME="skip-navbar_bottom"></A>
    +<!-- ======== END OF BOTTOM NAVBAR ======= -->
    +
    +<HR>
    +Copyright &#169; 2009&#x2013;2024 Mountainminds GmbH & Co. KG. All rights reserved.
    +</BODY>
    +</HTML>
    diff --git a/jacoco/trunk/doc/api/org/jacoco/report/check/class-use/IViolationsOutput.html b/jacoco/trunk/doc/api/org/jacoco/report/check/class-use/IViolationsOutput.html
    new file mode 100644
    index 00000000000..74876f7e8c9
    --- /dev/null
    +++ b/jacoco/trunk/doc/api/org/jacoco/report/check/class-use/IViolationsOutput.html
    @@ -0,0 +1,177 @@
    +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
    +<!--NewPage-->
    +<HTML>
    +<HEAD>
    +<!-- Generated by javadoc (build 1.5.0_22) on Wed Mar 27 16:45:42 UTC 2024 -->
    +<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
    +<TITLE>
    +Uses of Interface org.jacoco.report.check.IViolationsOutput (JaCoCo 0.8.12.202403270442 API)
    +</TITLE>
    +
    +
    +<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../../stylesheet.css" TITLE="Style">
    +
    +<SCRIPT type="text/javascript">
    +function windowTitle()
    +{
    +    parent.document.title="Uses of Interface org.jacoco.report.check.IViolationsOutput (JaCoCo 0.8.12.202403270442 API)";
    +}
    +</SCRIPT>
    +<NOSCRIPT>
    +</NOSCRIPT>
    +
    +</HEAD>
    +
    +<BODY BGCOLOR="white" onload="windowTitle();">
    +
    +
    +<!-- ========= START OF TOP NAVBAR ======= -->
    +<A NAME="navbar_top"><!-- --></A>
    +<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
    +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
    +<TR>
    +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
    +<A NAME="navbar_top_firstrow"><!-- --></A>
    +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
    +  <TR ALIGN="center" VALIGN="top">
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../org/jacoco/report/check/IViolationsOutput.html" title="interface in org.jacoco.report.check"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
    +  </TR>
    +</TABLE>
    +</TD>
    +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
    +</EM>
    +</TD>
    +</TR>
    +
    +<TR>
    +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
    +&nbsp;PREV&nbsp;
    +&nbsp;NEXT</FONT></TD>
    +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
    +  <A HREF="../../../../../index.html?org/jacoco/report/check/class-use/IViolationsOutput.html" target="_top"><B>FRAMES</B></A>  &nbsp;
    +&nbsp;<A HREF="IViolationsOutput.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
    +&nbsp;<SCRIPT type="text/javascript">
    +  <!--
    +  if(window==top) {
    +    document.writeln('<A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>');
    +  }
    +  //-->
    +</SCRIPT>
    +<NOSCRIPT>
    +  <A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>
    +</NOSCRIPT>
    +
    +
    +</FONT></TD>
    +</TR>
    +</TABLE>
    +<A NAME="skip-navbar_top"></A>
    +<!-- ========= END OF TOP NAVBAR ========= -->
    +
    +<HR>
    +<CENTER>
    +<H2>
    +<B>Uses of Interface<br>org.jacoco.report.check.IViolationsOutput</B></H2>
    +</CENTER>
    +
    +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
    +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
    +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
    +Packages that use <A HREF="../../../../../org/jacoco/report/check/IViolationsOutput.html" title="interface in org.jacoco.report.check">IViolationsOutput</A></FONT></TH>
    +</TR>
    +<TR BGCOLOR="white" CLASS="TableRowColor">
    +<TD><A HREF="#org.jacoco.report.check"><B>org.jacoco.report.check</B></A></TD>
    +<TD>Rules check implementation.&nbsp;</TD>
    +</TR>
    +</TABLE>
    +&nbsp;
    +<P>
    +<A NAME="org.jacoco.report.check"><!-- --></A>
    +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
    +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
    +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
    +Uses of <A HREF="../../../../../org/jacoco/report/check/IViolationsOutput.html" title="interface in org.jacoco.report.check">IViolationsOutput</A> in <A HREF="../../../../../org/jacoco/report/check/package-summary.html">org.jacoco.report.check</A></FONT></TH>
    +</TR>
    +</TABLE>
    +&nbsp;
    +<P>
    +
    +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
    +<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor">
    +<TH ALIGN="left" COLSPAN="2">Methods in <A HREF="../../../../../org/jacoco/report/check/package-summary.html">org.jacoco.report.check</A> with parameters of type <A HREF="../../../../../org/jacoco/report/check/IViolationsOutput.html" title="interface in org.jacoco.report.check">IViolationsOutput</A></FONT></TH>
    +</TR>
    +<TR BGCOLOR="white" CLASS="TableRowColor">
    +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
    +<CODE>&nbsp;<A HREF="../../../../../org/jacoco/report/IReportVisitor.html" title="interface in org.jacoco.report">IReportVisitor</A></CODE></FONT></TD>
    +<TD><CODE><B>RulesChecker.</B><B><A HREF="../../../../../org/jacoco/report/check/RulesChecker.html#createVisitor(org.jacoco.report.check.IViolationsOutput)">createVisitor</A></B>(<A HREF="../../../../../org/jacoco/report/check/IViolationsOutput.html" title="interface in org.jacoco.report.check">IViolationsOutput</A>&nbsp;output)</CODE>
    +
    +<BR>
    +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Creates a new visitor to process the configured checks.</TD>
    +</TR>
    +</TABLE>
    +&nbsp;
    +<P>
    +<HR>
    +
    +
    +<!-- ======= START OF BOTTOM NAVBAR ====== -->
    +<A NAME="navbar_bottom"><!-- --></A>
    +<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
    +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
    +<TR>
    +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
    +<A NAME="navbar_bottom_firstrow"><!-- --></A>
    +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
    +  <TR ALIGN="center" VALIGN="top">
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../org/jacoco/report/check/IViolationsOutput.html" title="interface in org.jacoco.report.check"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
    +  </TR>
    +</TABLE>
    +</TD>
    +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
    +</EM>
    +</TD>
    +</TR>
    +
    +<TR>
    +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
    +&nbsp;PREV&nbsp;
    +&nbsp;NEXT</FONT></TD>
    +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
    +  <A HREF="../../../../../index.html?org/jacoco/report/check/class-use/IViolationsOutput.html" target="_top"><B>FRAMES</B></A>  &nbsp;
    +&nbsp;<A HREF="IViolationsOutput.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
    +&nbsp;<SCRIPT type="text/javascript">
    +  <!--
    +  if(window==top) {
    +    document.writeln('<A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>');
    +  }
    +  //-->
    +</SCRIPT>
    +<NOSCRIPT>
    +  <A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>
    +</NOSCRIPT>
    +
    +
    +</FONT></TD>
    +</TR>
    +</TABLE>
    +<A NAME="skip-navbar_bottom"></A>
    +<!-- ======== END OF BOTTOM NAVBAR ======= -->
    +
    +<HR>
    +Copyright &#169; 2009&#x2013;2024 Mountainminds GmbH & Co. KG. All rights reserved.
    +</BODY>
    +</HTML>
    diff --git a/jacoco/trunk/doc/api/org/jacoco/report/check/class-use/Limit.html b/jacoco/trunk/doc/api/org/jacoco/report/check/class-use/Limit.html
    new file mode 100644
    index 00000000000..348930eea68
    --- /dev/null
    +++ b/jacoco/trunk/doc/api/org/jacoco/report/check/class-use/Limit.html
    @@ -0,0 +1,228 @@
    +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
    +<!--NewPage-->
    +<HTML>
    +<HEAD>
    +<!-- Generated by javadoc (build 1.5.0_22) on Wed Mar 27 16:45:42 UTC 2024 -->
    +<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
    +<TITLE>
    +Uses of Class org.jacoco.report.check.Limit (JaCoCo 0.8.12.202403270442 API)
    +</TITLE>
    +
    +
    +<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../../stylesheet.css" TITLE="Style">
    +
    +<SCRIPT type="text/javascript">
    +function windowTitle()
    +{
    +    parent.document.title="Uses of Class org.jacoco.report.check.Limit (JaCoCo 0.8.12.202403270442 API)";
    +}
    +</SCRIPT>
    +<NOSCRIPT>
    +</NOSCRIPT>
    +
    +</HEAD>
    +
    +<BODY BGCOLOR="white" onload="windowTitle();">
    +
    +
    +<!-- ========= START OF TOP NAVBAR ======= -->
    +<A NAME="navbar_top"><!-- --></A>
    +<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
    +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
    +<TR>
    +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
    +<A NAME="navbar_top_firstrow"><!-- --></A>
    +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
    +  <TR ALIGN="center" VALIGN="top">
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../org/jacoco/report/check/Limit.html" title="class in org.jacoco.report.check"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
    +  </TR>
    +</TABLE>
    +</TD>
    +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
    +</EM>
    +</TD>
    +</TR>
    +
    +<TR>
    +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
    +&nbsp;PREV&nbsp;
    +&nbsp;NEXT</FONT></TD>
    +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
    +  <A HREF="../../../../../index.html?org/jacoco/report/check/class-use/Limit.html" target="_top"><B>FRAMES</B></A>  &nbsp;
    +&nbsp;<A HREF="Limit.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
    +&nbsp;<SCRIPT type="text/javascript">
    +  <!--
    +  if(window==top) {
    +    document.writeln('<A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>');
    +  }
    +  //-->
    +</SCRIPT>
    +<NOSCRIPT>
    +  <A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>
    +</NOSCRIPT>
    +
    +
    +</FONT></TD>
    +</TR>
    +</TABLE>
    +<A NAME="skip-navbar_top"></A>
    +<!-- ========= END OF TOP NAVBAR ========= -->
    +
    +<HR>
    +<CENTER>
    +<H2>
    +<B>Uses of Class<br>org.jacoco.report.check.Limit</B></H2>
    +</CENTER>
    +
    +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
    +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
    +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
    +Packages that use <A HREF="../../../../../org/jacoco/report/check/Limit.html" title="class in org.jacoco.report.check">Limit</A></FONT></TH>
    +</TR>
    +<TR BGCOLOR="white" CLASS="TableRowColor">
    +<TD><A HREF="#org.jacoco.report.check"><B>org.jacoco.report.check</B></A></TD>
    +<TD>Rules check implementation.&nbsp;</TD>
    +</TR>
    +</TABLE>
    +&nbsp;
    +<P>
    +<A NAME="org.jacoco.report.check"><!-- --></A>
    +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
    +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
    +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
    +Uses of <A HREF="../../../../../org/jacoco/report/check/Limit.html" title="class in org.jacoco.report.check">Limit</A> in <A HREF="../../../../../org/jacoco/report/check/package-summary.html">org.jacoco.report.check</A></FONT></TH>
    +</TR>
    +</TABLE>
    +&nbsp;
    +<P>
    +
    +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
    +<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor">
    +<TH ALIGN="left" COLSPAN="2">Methods in <A HREF="../../../../../org/jacoco/report/check/package-summary.html">org.jacoco.report.check</A> that return <A HREF="../../../../../org/jacoco/report/check/Limit.html" title="class in org.jacoco.report.check">Limit</A></FONT></TH>
    +</TR>
    +<TR BGCOLOR="white" CLASS="TableRowColor">
    +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
    +<CODE>&nbsp;<A HREF="../../../../../org/jacoco/report/check/Limit.html" title="class in org.jacoco.report.check">Limit</A></CODE></FONT></TD>
    +<TD><CODE><B>Rule.</B><B><A HREF="../../../../../org/jacoco/report/check/Rule.html#createLimit()">createLimit</A></B>()</CODE>
    +
    +<BR>
    +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Creates and adds a new <A HREF="../../../../../org/jacoco/report/check/Limit.html" title="class in org.jacoco.report.check"><CODE>Limit</CODE></A>.</TD>
    +</TR>
    +</TABLE>
    +&nbsp;
    +<P>
    +
    +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
    +<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor">
    +<TH ALIGN="left" COLSPAN="2">Methods in <A HREF="../../../../../org/jacoco/report/check/package-summary.html">org.jacoco.report.check</A> that return types with arguments of type <A HREF="../../../../../org/jacoco/report/check/Limit.html" title="class in org.jacoco.report.check">Limit</A></FONT></TH>
    +</TR>
    +<TR BGCOLOR="white" CLASS="TableRowColor">
    +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
    +<CODE>&nbsp;<A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/util/List.html" title="class or interface in java.util">List</A>&lt;<A HREF="../../../../../org/jacoco/report/check/Limit.html" title="class in org.jacoco.report.check">Limit</A>&gt;</CODE></FONT></TD>
    +<TD><CODE><B>Rule.</B><B><A HREF="../../../../../org/jacoco/report/check/Rule.html#getLimits()">getLimits</A></B>()</CODE>
    +
    +<BR>
    +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
    +</TR>
    +</TABLE>
    +&nbsp;
    +<P>
    +
    +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
    +<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor">
    +<TH ALIGN="left" COLSPAN="2">Methods in <A HREF="../../../../../org/jacoco/report/check/package-summary.html">org.jacoco.report.check</A> with parameters of type <A HREF="../../../../../org/jacoco/report/check/Limit.html" title="class in org.jacoco.report.check">Limit</A></FONT></TH>
    +</TR>
    +<TR BGCOLOR="white" CLASS="TableRowColor">
    +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
    +<CODE>&nbsp;void</CODE></FONT></TD>
    +<TD><CODE><B>IViolationsOutput.</B><B><A HREF="../../../../../org/jacoco/report/check/IViolationsOutput.html#onViolation(org.jacoco.core.analysis.ICoverageNode, org.jacoco.report.check.Rule, org.jacoco.report.check.Limit, java.lang.String)">onViolation</A></B>(<A HREF="../../../../../org/jacoco/core/analysis/ICoverageNode.html" title="interface in org.jacoco.core.analysis">ICoverageNode</A>&nbsp;node,
    +            <A HREF="../../../../../org/jacoco/report/check/Rule.html" title="class in org.jacoco.report.check">Rule</A>&nbsp;rule,
    +            <A HREF="../../../../../org/jacoco/report/check/Limit.html" title="class in org.jacoco.report.check">Limit</A>&nbsp;limit,
    +            <A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A>&nbsp;message)</CODE>
    +
    +<BR>
    +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Called for every rule violation.</TD>
    +</TR>
    +</TABLE>
    +&nbsp;
    +<P>
    +
    +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
    +<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor">
    +<TH ALIGN="left" COLSPAN="2">Method parameters in <A HREF="../../../../../org/jacoco/report/check/package-summary.html">org.jacoco.report.check</A> with type arguments of type <A HREF="../../../../../org/jacoco/report/check/Limit.html" title="class in org.jacoco.report.check">Limit</A></FONT></TH>
    +</TR>
    +<TR BGCOLOR="white" CLASS="TableRowColor">
    +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
    +<CODE>&nbsp;void</CODE></FONT></TD>
    +<TD><CODE><B>Rule.</B><B><A HREF="../../../../../org/jacoco/report/check/Rule.html#setLimits(java.util.List)">setLimits</A></B>(<A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/util/List.html" title="class or interface in java.util">List</A>&lt;<A HREF="../../../../../org/jacoco/report/check/Limit.html" title="class in org.jacoco.report.check">Limit</A>&gt;&nbsp;limits)</CODE>
    +
    +<BR>
    +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
    +</TR>
    +</TABLE>
    +&nbsp;
    +<P>
    +<HR>
    +
    +
    +<!-- ======= START OF BOTTOM NAVBAR ====== -->
    +<A NAME="navbar_bottom"><!-- --></A>
    +<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
    +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
    +<TR>
    +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
    +<A NAME="navbar_bottom_firstrow"><!-- --></A>
    +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
    +  <TR ALIGN="center" VALIGN="top">
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../org/jacoco/report/check/Limit.html" title="class in org.jacoco.report.check"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
    +  </TR>
    +</TABLE>
    +</TD>
    +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
    +</EM>
    +</TD>
    +</TR>
    +
    +<TR>
    +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
    +&nbsp;PREV&nbsp;
    +&nbsp;NEXT</FONT></TD>
    +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
    +  <A HREF="../../../../../index.html?org/jacoco/report/check/class-use/Limit.html" target="_top"><B>FRAMES</B></A>  &nbsp;
    +&nbsp;<A HREF="Limit.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
    +&nbsp;<SCRIPT type="text/javascript">
    +  <!--
    +  if(window==top) {
    +    document.writeln('<A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>');
    +  }
    +  //-->
    +</SCRIPT>
    +<NOSCRIPT>
    +  <A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>
    +</NOSCRIPT>
    +
    +
    +</FONT></TD>
    +</TR>
    +</TABLE>
    +<A NAME="skip-navbar_bottom"></A>
    +<!-- ======== END OF BOTTOM NAVBAR ======= -->
    +
    +<HR>
    +Copyright &#169; 2009&#x2013;2024 Mountainminds GmbH & Co. KG. All rights reserved.
    +</BODY>
    +</HTML>
    diff --git a/jacoco/trunk/doc/api/org/jacoco/report/check/class-use/Rule.html b/jacoco/trunk/doc/api/org/jacoco/report/check/class-use/Rule.html
    new file mode 100644
    index 00000000000..87407576a19
    --- /dev/null
    +++ b/jacoco/trunk/doc/api/org/jacoco/report/check/class-use/Rule.html
    @@ -0,0 +1,196 @@
    +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
    +<!--NewPage-->
    +<HTML>
    +<HEAD>
    +<!-- Generated by javadoc (build 1.5.0_22) on Wed Mar 27 16:45:42 UTC 2024 -->
    +<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
    +<TITLE>
    +Uses of Class org.jacoco.report.check.Rule (JaCoCo 0.8.12.202403270442 API)
    +</TITLE>
    +
    +
    +<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../../stylesheet.css" TITLE="Style">
    +
    +<SCRIPT type="text/javascript">
    +function windowTitle()
    +{
    +    parent.document.title="Uses of Class org.jacoco.report.check.Rule (JaCoCo 0.8.12.202403270442 API)";
    +}
    +</SCRIPT>
    +<NOSCRIPT>
    +</NOSCRIPT>
    +
    +</HEAD>
    +
    +<BODY BGCOLOR="white" onload="windowTitle();">
    +
    +
    +<!-- ========= START OF TOP NAVBAR ======= -->
    +<A NAME="navbar_top"><!-- --></A>
    +<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
    +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
    +<TR>
    +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
    +<A NAME="navbar_top_firstrow"><!-- --></A>
    +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
    +  <TR ALIGN="center" VALIGN="top">
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../org/jacoco/report/check/Rule.html" title="class in org.jacoco.report.check"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
    +  </TR>
    +</TABLE>
    +</TD>
    +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
    +</EM>
    +</TD>
    +</TR>
    +
    +<TR>
    +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
    +&nbsp;PREV&nbsp;
    +&nbsp;NEXT</FONT></TD>
    +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
    +  <A HREF="../../../../../index.html?org/jacoco/report/check/class-use/Rule.html" target="_top"><B>FRAMES</B></A>  &nbsp;
    +&nbsp;<A HREF="Rule.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
    +&nbsp;<SCRIPT type="text/javascript">
    +  <!--
    +  if(window==top) {
    +    document.writeln('<A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>');
    +  }
    +  //-->
    +</SCRIPT>
    +<NOSCRIPT>
    +  <A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>
    +</NOSCRIPT>
    +
    +
    +</FONT></TD>
    +</TR>
    +</TABLE>
    +<A NAME="skip-navbar_top"></A>
    +<!-- ========= END OF TOP NAVBAR ========= -->
    +
    +<HR>
    +<CENTER>
    +<H2>
    +<B>Uses of Class<br>org.jacoco.report.check.Rule</B></H2>
    +</CENTER>
    +
    +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
    +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
    +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
    +Packages that use <A HREF="../../../../../org/jacoco/report/check/Rule.html" title="class in org.jacoco.report.check">Rule</A></FONT></TH>
    +</TR>
    +<TR BGCOLOR="white" CLASS="TableRowColor">
    +<TD><A HREF="#org.jacoco.report.check"><B>org.jacoco.report.check</B></A></TD>
    +<TD>Rules check implementation.&nbsp;</TD>
    +</TR>
    +</TABLE>
    +&nbsp;
    +<P>
    +<A NAME="org.jacoco.report.check"><!-- --></A>
    +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
    +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
    +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
    +Uses of <A HREF="../../../../../org/jacoco/report/check/Rule.html" title="class in org.jacoco.report.check">Rule</A> in <A HREF="../../../../../org/jacoco/report/check/package-summary.html">org.jacoco.report.check</A></FONT></TH>
    +</TR>
    +</TABLE>
    +&nbsp;
    +<P>
    +
    +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
    +<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor">
    +<TH ALIGN="left" COLSPAN="2">Methods in <A HREF="../../../../../org/jacoco/report/check/package-summary.html">org.jacoco.report.check</A> with parameters of type <A HREF="../../../../../org/jacoco/report/check/Rule.html" title="class in org.jacoco.report.check">Rule</A></FONT></TH>
    +</TR>
    +<TR BGCOLOR="white" CLASS="TableRowColor">
    +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
    +<CODE>&nbsp;void</CODE></FONT></TD>
    +<TD><CODE><B>IViolationsOutput.</B><B><A HREF="../../../../../org/jacoco/report/check/IViolationsOutput.html#onViolation(org.jacoco.core.analysis.ICoverageNode, org.jacoco.report.check.Rule, org.jacoco.report.check.Limit, java.lang.String)">onViolation</A></B>(<A HREF="../../../../../org/jacoco/core/analysis/ICoverageNode.html" title="interface in org.jacoco.core.analysis">ICoverageNode</A>&nbsp;node,
    +            <A HREF="../../../../../org/jacoco/report/check/Rule.html" title="class in org.jacoco.report.check">Rule</A>&nbsp;rule,
    +            <A HREF="../../../../../org/jacoco/report/check/Limit.html" title="class in org.jacoco.report.check">Limit</A>&nbsp;limit,
    +            <A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A>&nbsp;message)</CODE>
    +
    +<BR>
    +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Called for every rule violation.</TD>
    +</TR>
    +</TABLE>
    +&nbsp;
    +<P>
    +
    +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
    +<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor">
    +<TH ALIGN="left" COLSPAN="2">Method parameters in <A HREF="../../../../../org/jacoco/report/check/package-summary.html">org.jacoco.report.check</A> with type arguments of type <A HREF="../../../../../org/jacoco/report/check/Rule.html" title="class in org.jacoco.report.check">Rule</A></FONT></TH>
    +</TR>
    +<TR BGCOLOR="white" CLASS="TableRowColor">
    +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
    +<CODE>&nbsp;void</CODE></FONT></TD>
    +<TD><CODE><B>RulesChecker.</B><B><A HREF="../../../../../org/jacoco/report/check/RulesChecker.html#setRules(java.util.List)">setRules</A></B>(<A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/util/List.html" title="class or interface in java.util">List</A>&lt;<A HREF="../../../../../org/jacoco/report/check/Rule.html" title="class in org.jacoco.report.check">Rule</A>&gt;&nbsp;rules)</CODE>
    +
    +<BR>
    +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Sets the rules to check by this formatter.</TD>
    +</TR>
    +</TABLE>
    +&nbsp;
    +<P>
    +<HR>
    +
    +
    +<!-- ======= START OF BOTTOM NAVBAR ====== -->
    +<A NAME="navbar_bottom"><!-- --></A>
    +<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
    +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
    +<TR>
    +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
    +<A NAME="navbar_bottom_firstrow"><!-- --></A>
    +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
    +  <TR ALIGN="center" VALIGN="top">
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../org/jacoco/report/check/Rule.html" title="class in org.jacoco.report.check"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
    +  </TR>
    +</TABLE>
    +</TD>
    +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
    +</EM>
    +</TD>
    +</TR>
    +
    +<TR>
    +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
    +&nbsp;PREV&nbsp;
    +&nbsp;NEXT</FONT></TD>
    +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
    +  <A HREF="../../../../../index.html?org/jacoco/report/check/class-use/Rule.html" target="_top"><B>FRAMES</B></A>  &nbsp;
    +&nbsp;<A HREF="Rule.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
    +&nbsp;<SCRIPT type="text/javascript">
    +  <!--
    +  if(window==top) {
    +    document.writeln('<A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>');
    +  }
    +  //-->
    +</SCRIPT>
    +<NOSCRIPT>
    +  <A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>
    +</NOSCRIPT>
    +
    +
    +</FONT></TD>
    +</TR>
    +</TABLE>
    +<A NAME="skip-navbar_bottom"></A>
    +<!-- ======== END OF BOTTOM NAVBAR ======= -->
    +
    +<HR>
    +Copyright &#169; 2009&#x2013;2024 Mountainminds GmbH & Co. KG. All rights reserved.
    +</BODY>
    +</HTML>
    diff --git a/jacoco/trunk/doc/api/org/jacoco/report/check/class-use/RulesChecker.html b/jacoco/trunk/doc/api/org/jacoco/report/check/class-use/RulesChecker.html
    new file mode 100644
    index 00000000000..b417d786bc5
    --- /dev/null
    +++ b/jacoco/trunk/doc/api/org/jacoco/report/check/class-use/RulesChecker.html
    @@ -0,0 +1,141 @@
    +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
    +<!--NewPage-->
    +<HTML>
    +<HEAD>
    +<!-- Generated by javadoc (build 1.5.0_22) on Wed Mar 27 16:45:42 UTC 2024 -->
    +<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
    +<TITLE>
    +Uses of Class org.jacoco.report.check.RulesChecker (JaCoCo 0.8.12.202403270442 API)
    +</TITLE>
    +
    +
    +<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../../stylesheet.css" TITLE="Style">
    +
    +<SCRIPT type="text/javascript">
    +function windowTitle()
    +{
    +    parent.document.title="Uses of Class org.jacoco.report.check.RulesChecker (JaCoCo 0.8.12.202403270442 API)";
    +}
    +</SCRIPT>
    +<NOSCRIPT>
    +</NOSCRIPT>
    +
    +</HEAD>
    +
    +<BODY BGCOLOR="white" onload="windowTitle();">
    +
    +
    +<!-- ========= START OF TOP NAVBAR ======= -->
    +<A NAME="navbar_top"><!-- --></A>
    +<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
    +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
    +<TR>
    +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
    +<A NAME="navbar_top_firstrow"><!-- --></A>
    +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
    +  <TR ALIGN="center" VALIGN="top">
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../org/jacoco/report/check/RulesChecker.html" title="class in org.jacoco.report.check"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
    +  </TR>
    +</TABLE>
    +</TD>
    +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
    +</EM>
    +</TD>
    +</TR>
    +
    +<TR>
    +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
    +&nbsp;PREV&nbsp;
    +&nbsp;NEXT</FONT></TD>
    +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
    +  <A HREF="../../../../../index.html?org/jacoco/report/check/class-use/RulesChecker.html" target="_top"><B>FRAMES</B></A>  &nbsp;
    +&nbsp;<A HREF="RulesChecker.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
    +&nbsp;<SCRIPT type="text/javascript">
    +  <!--
    +  if(window==top) {
    +    document.writeln('<A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>');
    +  }
    +  //-->
    +</SCRIPT>
    +<NOSCRIPT>
    +  <A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>
    +</NOSCRIPT>
    +
    +
    +</FONT></TD>
    +</TR>
    +</TABLE>
    +<A NAME="skip-navbar_top"></A>
    +<!-- ========= END OF TOP NAVBAR ========= -->
    +
    +<HR>
    +<CENTER>
    +<H2>
    +<B>Uses of Class<br>org.jacoco.report.check.RulesChecker</B></H2>
    +</CENTER>
    +No usage of org.jacoco.report.check.RulesChecker
    +<P>
    +<HR>
    +
    +
    +<!-- ======= START OF BOTTOM NAVBAR ====== -->
    +<A NAME="navbar_bottom"><!-- --></A>
    +<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
    +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
    +<TR>
    +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
    +<A NAME="navbar_bottom_firstrow"><!-- --></A>
    +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
    +  <TR ALIGN="center" VALIGN="top">
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../org/jacoco/report/check/RulesChecker.html" title="class in org.jacoco.report.check"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
    +  </TR>
    +</TABLE>
    +</TD>
    +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
    +</EM>
    +</TD>
    +</TR>
    +
    +<TR>
    +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
    +&nbsp;PREV&nbsp;
    +&nbsp;NEXT</FONT></TD>
    +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
    +  <A HREF="../../../../../index.html?org/jacoco/report/check/class-use/RulesChecker.html" target="_top"><B>FRAMES</B></A>  &nbsp;
    +&nbsp;<A HREF="RulesChecker.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
    +&nbsp;<SCRIPT type="text/javascript">
    +  <!--
    +  if(window==top) {
    +    document.writeln('<A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>');
    +  }
    +  //-->
    +</SCRIPT>
    +<NOSCRIPT>
    +  <A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>
    +</NOSCRIPT>
    +
    +
    +</FONT></TD>
    +</TR>
    +</TABLE>
    +<A NAME="skip-navbar_bottom"></A>
    +<!-- ======== END OF BOTTOM NAVBAR ======= -->
    +
    +<HR>
    +Copyright &#169; 2009&#x2013;2024 Mountainminds GmbH & Co. KG. All rights reserved.
    +</BODY>
    +</HTML>
    diff --git a/jacoco/trunk/doc/api/org/jacoco/report/check/package-frame.html b/jacoco/trunk/doc/api/org/jacoco/report/check/package-frame.html
    new file mode 100644
    index 00000000000..1fb6ba7b895
    --- /dev/null
    +++ b/jacoco/trunk/doc/api/org/jacoco/report/check/package-frame.html
    @@ -0,0 +1,48 @@
    +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
    +<!--NewPage-->
    +<HTML>
    +<HEAD>
    +<!-- Generated by javadoc (build 1.5.0_22) on Wed Mar 27 16:45:42 UTC 2024 -->
    +<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
    +<TITLE>
    +org.jacoco.report.check (JaCoCo 0.8.12.202403270442 API)
    +</TITLE>
    +
    +<META NAME="keywords" CONTENT="org.jacoco.report.check package">
    +
    +<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../stylesheet.css" TITLE="Style">
    +
    +
    +</HEAD>
    +
    +<BODY BGCOLOR="white">
    +<FONT size="+1" CLASS="FrameTitleFont">
    +<A HREF="../../../../org/jacoco/report/check/package-summary.html" target="classFrame">org.jacoco.report.check</A></FONT>
    +<TABLE BORDER="0" WIDTH="100%" SUMMARY="">
    +<TR>
    +<TD NOWRAP><FONT size="+1" CLASS="FrameHeadingFont">
    +Interfaces</FONT>&nbsp;
    +<FONT CLASS="FrameItemFont">
    +<BR>
    +<A HREF="IViolationsOutput.html" title="interface in org.jacoco.report.check" target="classFrame"><I>IViolationsOutput</I></A></FONT></TD>
    +</TR>
    +</TABLE>
    +
    +
    +<TABLE BORDER="0" WIDTH="100%" SUMMARY="">
    +<TR>
    +<TD NOWRAP><FONT size="+1" CLASS="FrameHeadingFont">
    +Classes</FONT>&nbsp;
    +<FONT CLASS="FrameItemFont">
    +<BR>
    +<A HREF="Limit.html" title="class in org.jacoco.report.check" target="classFrame">Limit</A>
    +<BR>
    +<A HREF="Rule.html" title="class in org.jacoco.report.check" target="classFrame">Rule</A>
    +<BR>
    +<A HREF="RulesChecker.html" title="class in org.jacoco.report.check" target="classFrame">RulesChecker</A></FONT></TD>
    +</TR>
    +</TABLE>
    +
    +
    +</BODY>
    +</HTML>
    diff --git a/jacoco/trunk/doc/api/org/jacoco/report/check/package-summary.html b/jacoco/trunk/doc/api/org/jacoco/report/check/package-summary.html
    new file mode 100644
    index 00000000000..f54a6973b6b
    --- /dev/null
    +++ b/jacoco/trunk/doc/api/org/jacoco/report/check/package-summary.html
    @@ -0,0 +1,194 @@
    +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
    +<!--NewPage-->
    +<HTML>
    +<HEAD>
    +<!-- Generated by javadoc (build 1.5.0_22) on Wed Mar 27 16:45:42 UTC 2024 -->
    +<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
    +<TITLE>
    +org.jacoco.report.check (JaCoCo 0.8.12.202403270442 API)
    +</TITLE>
    +
    +<META NAME="keywords" CONTENT="org.jacoco.report.check package">
    +
    +<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../stylesheet.css" TITLE="Style">
    +
    +<SCRIPT type="text/javascript">
    +function windowTitle()
    +{
    +    parent.document.title="org.jacoco.report.check (JaCoCo 0.8.12.202403270442 API)";
    +}
    +</SCRIPT>
    +<NOSCRIPT>
    +</NOSCRIPT>
    +
    +</HEAD>
    +
    +<BODY BGCOLOR="white" onload="windowTitle();">
    +
    +
    +<!-- ========= START OF TOP NAVBAR ======= -->
    +<A NAME="navbar_top"><!-- --></A>
    +<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
    +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
    +<TR>
    +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
    +<A NAME="navbar_top_firstrow"><!-- --></A>
    +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
    +  <TR ALIGN="center" VALIGN="top">
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Package</B></FONT>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <FONT CLASS="NavBarFont1">Class</FONT>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-use.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
    +  </TR>
    +</TABLE>
    +</TD>
    +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
    +</EM>
    +</TD>
    +</TR>
    +
    +<TR>
    +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
    +&nbsp;<A HREF="../../../../org/jacoco/report/package-summary.html"><B>PREV PACKAGE</B></A>&nbsp;
    +&nbsp;<A HREF="../../../../org/jacoco/report/csv/package-summary.html"><B>NEXT PACKAGE</B></A></FONT></TD>
    +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
    +  <A HREF="../../../../index.html?org/jacoco/report/check/package-summary.html" target="_top"><B>FRAMES</B></A>  &nbsp;
    +&nbsp;<A HREF="package-summary.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
    +&nbsp;<SCRIPT type="text/javascript">
    +  <!--
    +  if(window==top) {
    +    document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>');
    +  }
    +  //-->
    +</SCRIPT>
    +<NOSCRIPT>
    +  <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>
    +</NOSCRIPT>
    +
    +
    +</FONT></TD>
    +</TR>
    +</TABLE>
    +<A NAME="skip-navbar_top"></A>
    +<!-- ========= END OF TOP NAVBAR ========= -->
    +
    +<HR>
    +<H2>
    +Package org.jacoco.report.check
    +</H2>
    +Rules check implementation.
    +<P>
    +<B>See:</B>
    +<BR>
    +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<A HREF="#package_description"><B>Description</B></A>
    +<P>
    +
    +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
    +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
    +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
    +<B>Interface Summary</B></FONT></TH>
    +</TR>
    +<TR BGCOLOR="white" CLASS="TableRowColor">
    +<TD WIDTH="15%"><B><A HREF="../../../../org/jacoco/report/check/IViolationsOutput.html" title="interface in org.jacoco.report.check">IViolationsOutput</A></B></TD>
    +<TD>Call-back interface which is used to report rule violations to.</TD>
    +</TR>
    +</TABLE>
    +&nbsp;
    +
    +<P>
    +
    +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
    +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
    +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
    +<B>Class Summary</B></FONT></TH>
    +</TR>
    +<TR BGCOLOR="white" CLASS="TableRowColor">
    +<TD WIDTH="15%"><B><A HREF="../../../../org/jacoco/report/check/Limit.html" title="class in org.jacoco.report.check">Limit</A></B></TD>
    +<TD>Descriptor for a limit which is given by a <A HREF="../../../../org/jacoco/report/check/Rule.html" title="class in org.jacoco.report.check"><CODE>Rule</CODE></A>.</TD>
    +</TR>
    +<TR BGCOLOR="white" CLASS="TableRowColor">
    +<TD WIDTH="15%"><B><A HREF="../../../../org/jacoco/report/check/Rule.html" title="class in org.jacoco.report.check">Rule</A></B></TD>
    +<TD>A rule applies for a certain element type and can define any number of limits
    + for all elements of this type.</TD>
    +</TR>
    +<TR BGCOLOR="white" CLASS="TableRowColor">
    +<TD WIDTH="15%"><B><A HREF="../../../../org/jacoco/report/check/RulesChecker.html" title="class in org.jacoco.report.check">RulesChecker</A></B></TD>
    +<TD>Formatter which checks a set of given rules and reports violations to a
    + <A HREF="../../../../org/jacoco/report/check/IViolationsOutput.html" title="interface in org.jacoco.report.check"><CODE>IViolationsOutput</CODE></A> instance.</TD>
    +</TR>
    +</TABLE>
    +&nbsp;
    +
    +<P>
    +<A NAME="package_description"><!-- --></A><H2>
    +Package org.jacoco.report.check Description
    +</H2>
    +
    +<P>
    +Rules check implementation.
    +<P>
    +
    +<P>
    +<DL>
    +</DL>
    +<HR>
    +
    +
    +<!-- ======= START OF BOTTOM NAVBAR ====== -->
    +<A NAME="navbar_bottom"><!-- --></A>
    +<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
    +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
    +<TR>
    +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
    +<A NAME="navbar_bottom_firstrow"><!-- --></A>
    +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
    +  <TR ALIGN="center" VALIGN="top">
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Package</B></FONT>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <FONT CLASS="NavBarFont1">Class</FONT>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-use.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
    +  </TR>
    +</TABLE>
    +</TD>
    +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
    +</EM>
    +</TD>
    +</TR>
    +
    +<TR>
    +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
    +&nbsp;<A HREF="../../../../org/jacoco/report/package-summary.html"><B>PREV PACKAGE</B></A>&nbsp;
    +&nbsp;<A HREF="../../../../org/jacoco/report/csv/package-summary.html"><B>NEXT PACKAGE</B></A></FONT></TD>
    +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
    +  <A HREF="../../../../index.html?org/jacoco/report/check/package-summary.html" target="_top"><B>FRAMES</B></A>  &nbsp;
    +&nbsp;<A HREF="package-summary.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
    +&nbsp;<SCRIPT type="text/javascript">
    +  <!--
    +  if(window==top) {
    +    document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>');
    +  }
    +  //-->
    +</SCRIPT>
    +<NOSCRIPT>
    +  <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>
    +</NOSCRIPT>
    +
    +
    +</FONT></TD>
    +</TR>
    +</TABLE>
    +<A NAME="skip-navbar_bottom"></A>
    +<!-- ======== END OF BOTTOM NAVBAR ======= -->
    +
    +<HR>
    +Copyright &#169; 2009&#x2013;2024 Mountainminds GmbH & Co. KG. All rights reserved.
    +</BODY>
    +</HTML>
    diff --git a/jacoco/trunk/doc/api/org/jacoco/report/check/package-tree.html b/jacoco/trunk/doc/api/org/jacoco/report/check/package-tree.html
    new file mode 100644
    index 00000000000..b8961957a92
    --- /dev/null
    +++ b/jacoco/trunk/doc/api/org/jacoco/report/check/package-tree.html
    @@ -0,0 +1,155 @@
    +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
    +<!--NewPage-->
    +<HTML>
    +<HEAD>
    +<!-- Generated by javadoc (build 1.5.0_22) on Wed Mar 27 16:45:42 UTC 2024 -->
    +<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
    +<TITLE>
    +org.jacoco.report.check Class Hierarchy (JaCoCo 0.8.12.202403270442 API)
    +</TITLE>
    +
    +
    +<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../stylesheet.css" TITLE="Style">
    +
    +<SCRIPT type="text/javascript">
    +function windowTitle()
    +{
    +    parent.document.title="org.jacoco.report.check Class Hierarchy (JaCoCo 0.8.12.202403270442 API)";
    +}
    +</SCRIPT>
    +<NOSCRIPT>
    +</NOSCRIPT>
    +
    +</HEAD>
    +
    +<BODY BGCOLOR="white" onload="windowTitle();">
    +
    +
    +<!-- ========= START OF TOP NAVBAR ======= -->
    +<A NAME="navbar_top"><!-- --></A>
    +<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
    +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
    +<TR>
    +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
    +<A NAME="navbar_top_firstrow"><!-- --></A>
    +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
    +  <TR ALIGN="center" VALIGN="top">
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <FONT CLASS="NavBarFont1">Class</FONT>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <FONT CLASS="NavBarFont1">Use</FONT>&nbsp;</TD>
    +  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Tree</B></FONT>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
    +  </TR>
    +</TABLE>
    +</TD>
    +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
    +</EM>
    +</TD>
    +</TR>
    +
    +<TR>
    +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
    +&nbsp;<A HREF="../../../../org/jacoco/report/package-tree.html"><B>PREV</B></A>&nbsp;
    +&nbsp;<A HREF="../../../../org/jacoco/report/csv/package-tree.html"><B>NEXT</B></A></FONT></TD>
    +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
    +  <A HREF="../../../../index.html?org/jacoco/report/check/package-tree.html" target="_top"><B>FRAMES</B></A>  &nbsp;
    +&nbsp;<A HREF="package-tree.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
    +&nbsp;<SCRIPT type="text/javascript">
    +  <!--
    +  if(window==top) {
    +    document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>');
    +  }
    +  //-->
    +</SCRIPT>
    +<NOSCRIPT>
    +  <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>
    +</NOSCRIPT>
    +
    +
    +</FONT></TD>
    +</TR>
    +</TABLE>
    +<A NAME="skip-navbar_top"></A>
    +<!-- ========= END OF TOP NAVBAR ========= -->
    +
    +<HR>
    +<CENTER>
    +<H2>
    +Hierarchy For Package org.jacoco.report.check
    +</H2>
    +</CENTER>
    +<DL>
    +<DT><B>Package Hierarchies:</B><DD><A HREF="../../../../overview-tree.html">All Packages</A></DL>
    +<HR>
    +<H2>
    +Class Hierarchy
    +</H2>
    +<UL>
    +<LI TYPE="circle">java.lang.<A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html" title="class or interface in java.lang"><B>Object</B></A><UL>
    +<LI TYPE="circle">org.jacoco.report.check.<A HREF="../../../../org/jacoco/report/check/Limit.html" title="class in org.jacoco.report.check"><B>Limit</B></A><LI TYPE="circle">org.jacoco.report.check.<A HREF="../../../../org/jacoco/report/check/Rule.html" title="class in org.jacoco.report.check"><B>Rule</B></A><LI TYPE="circle">org.jacoco.report.check.<A HREF="../../../../org/jacoco/report/check/RulesChecker.html" title="class in org.jacoco.report.check"><B>RulesChecker</B></A></UL>
    +</UL>
    +<H2>
    +Interface Hierarchy
    +</H2>
    +<UL>
    +<LI TYPE="circle">org.jacoco.report.check.<A HREF="../../../../org/jacoco/report/check/IViolationsOutput.html" title="interface in org.jacoco.report.check"><B>IViolationsOutput</B></A></UL>
    +<HR>
    +
    +
    +<!-- ======= START OF BOTTOM NAVBAR ====== -->
    +<A NAME="navbar_bottom"><!-- --></A>
    +<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
    +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
    +<TR>
    +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
    +<A NAME="navbar_bottom_firstrow"><!-- --></A>
    +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
    +  <TR ALIGN="center" VALIGN="top">
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <FONT CLASS="NavBarFont1">Class</FONT>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <FONT CLASS="NavBarFont1">Use</FONT>&nbsp;</TD>
    +  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Tree</B></FONT>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
    +  </TR>
    +</TABLE>
    +</TD>
    +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
    +</EM>
    +</TD>
    +</TR>
    +
    +<TR>
    +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
    +&nbsp;<A HREF="../../../../org/jacoco/report/package-tree.html"><B>PREV</B></A>&nbsp;
    +&nbsp;<A HREF="../../../../org/jacoco/report/csv/package-tree.html"><B>NEXT</B></A></FONT></TD>
    +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
    +  <A HREF="../../../../index.html?org/jacoco/report/check/package-tree.html" target="_top"><B>FRAMES</B></A>  &nbsp;
    +&nbsp;<A HREF="package-tree.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
    +&nbsp;<SCRIPT type="text/javascript">
    +  <!--
    +  if(window==top) {
    +    document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>');
    +  }
    +  //-->
    +</SCRIPT>
    +<NOSCRIPT>
    +  <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>
    +</NOSCRIPT>
    +
    +
    +</FONT></TD>
    +</TR>
    +</TABLE>
    +<A NAME="skip-navbar_bottom"></A>
    +<!-- ======== END OF BOTTOM NAVBAR ======= -->
    +
    +<HR>
    +Copyright &#169; 2009&#x2013;2024 Mountainminds GmbH & Co. KG. All rights reserved.
    +</BODY>
    +</HTML>
    diff --git a/jacoco/trunk/doc/api/org/jacoco/report/check/package-use.html b/jacoco/trunk/doc/api/org/jacoco/report/check/package-use.html
    new file mode 100644
    index 00000000000..ad9d88b9764
    --- /dev/null
    +++ b/jacoco/trunk/doc/api/org/jacoco/report/check/package-use.html
    @@ -0,0 +1,180 @@
    +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
    +<!--NewPage-->
    +<HTML>
    +<HEAD>
    +<!-- Generated by javadoc (build 1.5.0_22) on Wed Mar 27 16:45:42 UTC 2024 -->
    +<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
    +<TITLE>
    +Uses of Package org.jacoco.report.check (JaCoCo 0.8.12.202403270442 API)
    +</TITLE>
    +
    +
    +<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../stylesheet.css" TITLE="Style">
    +
    +<SCRIPT type="text/javascript">
    +function windowTitle()
    +{
    +    parent.document.title="Uses of Package org.jacoco.report.check (JaCoCo 0.8.12.202403270442 API)";
    +}
    +</SCRIPT>
    +<NOSCRIPT>
    +</NOSCRIPT>
    +
    +</HEAD>
    +
    +<BODY BGCOLOR="white" onload="windowTitle();">
    +
    +
    +<!-- ========= START OF TOP NAVBAR ======= -->
    +<A NAME="navbar_top"><!-- --></A>
    +<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
    +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
    +<TR>
    +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
    +<A NAME="navbar_top_firstrow"><!-- --></A>
    +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
    +  <TR ALIGN="center" VALIGN="top">
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <FONT CLASS="NavBarFont1">Class</FONT>&nbsp;</TD>
    +  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
    +  </TR>
    +</TABLE>
    +</TD>
    +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
    +</EM>
    +</TD>
    +</TR>
    +
    +<TR>
    +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
    +&nbsp;PREV&nbsp;
    +&nbsp;NEXT</FONT></TD>
    +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
    +  <A HREF="../../../../index.html?org/jacoco/report/check/package-use.html" target="_top"><B>FRAMES</B></A>  &nbsp;
    +&nbsp;<A HREF="package-use.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
    +&nbsp;<SCRIPT type="text/javascript">
    +  <!--
    +  if(window==top) {
    +    document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>');
    +  }
    +  //-->
    +</SCRIPT>
    +<NOSCRIPT>
    +  <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>
    +</NOSCRIPT>
    +
    +
    +</FONT></TD>
    +</TR>
    +</TABLE>
    +<A NAME="skip-navbar_top"></A>
    +<!-- ========= END OF TOP NAVBAR ========= -->
    +
    +<HR>
    +<CENTER>
    +<H2>
    +<B>Uses of Package<br>org.jacoco.report.check</B></H2>
    +</CENTER>
    +
    +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
    +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
    +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
    +Packages that use <A HREF="../../../../org/jacoco/report/check/package-summary.html">org.jacoco.report.check</A></FONT></TH>
    +</TR>
    +<TR BGCOLOR="white" CLASS="TableRowColor">
    +<TD><A HREF="#org.jacoco.report.check"><B>org.jacoco.report.check</B></A></TD>
    +<TD>Rules check implementation.&nbsp;</TD>
    +</TR>
    +</TABLE>
    +&nbsp;
    +<P>
    +<A NAME="org.jacoco.report.check"><!-- --></A>
    +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
    +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
    +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
    +Classes in <A HREF="../../../../org/jacoco/report/check/package-summary.html">org.jacoco.report.check</A> used by <A HREF="../../../../org/jacoco/report/check/package-summary.html">org.jacoco.report.check</A></FONT></TH>
    +</TR>
    +<TR BGCOLOR="white" CLASS="TableRowColor">
    +<TD><B><A HREF="../../../../org/jacoco/report/check/class-use/IViolationsOutput.html#org.jacoco.report.check"><B>IViolationsOutput</B></A></B>
    +
    +<BR>
    +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Call-back interface which is used to report rule violations to.</TD>
    +</TR>
    +<TR BGCOLOR="white" CLASS="TableRowColor">
    +<TD><B><A HREF="../../../../org/jacoco/report/check/class-use/Limit.html#org.jacoco.report.check"><B>Limit</B></A></B>
    +
    +<BR>
    +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Descriptor for a limit which is given by a <A HREF="../../../../org/jacoco/report/check/Rule.html" title="class in org.jacoco.report.check"><CODE>Rule</CODE></A>.</TD>
    +</TR>
    +<TR BGCOLOR="white" CLASS="TableRowColor">
    +<TD><B><A HREF="../../../../org/jacoco/report/check/class-use/Rule.html#org.jacoco.report.check"><B>Rule</B></A></B>
    +
    +<BR>
    +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;A rule applies for a certain element type and can define any number of limits
    + for all elements of this type.</TD>
    +</TR>
    +</TABLE>
    +&nbsp;
    +<P>
    +<HR>
    +
    +
    +<!-- ======= START OF BOTTOM NAVBAR ====== -->
    +<A NAME="navbar_bottom"><!-- --></A>
    +<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
    +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
    +<TR>
    +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
    +<A NAME="navbar_bottom_firstrow"><!-- --></A>
    +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
    +  <TR ALIGN="center" VALIGN="top">
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <FONT CLASS="NavBarFont1">Class</FONT>&nbsp;</TD>
    +  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
    +  </TR>
    +</TABLE>
    +</TD>
    +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
    +</EM>
    +</TD>
    +</TR>
    +
    +<TR>
    +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
    +&nbsp;PREV&nbsp;
    +&nbsp;NEXT</FONT></TD>
    +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
    +  <A HREF="../../../../index.html?org/jacoco/report/check/package-use.html" target="_top"><B>FRAMES</B></A>  &nbsp;
    +&nbsp;<A HREF="package-use.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
    +&nbsp;<SCRIPT type="text/javascript">
    +  <!--
    +  if(window==top) {
    +    document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>');
    +  }
    +  //-->
    +</SCRIPT>
    +<NOSCRIPT>
    +  <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>
    +</NOSCRIPT>
    +
    +
    +</FONT></TD>
    +</TR>
    +</TABLE>
    +<A NAME="skip-navbar_bottom"></A>
    +<!-- ======== END OF BOTTOM NAVBAR ======= -->
    +
    +<HR>
    +Copyright &#169; 2009&#x2013;2024 Mountainminds GmbH & Co. KG. All rights reserved.
    +</BODY>
    +</HTML>
    diff --git a/jacoco/trunk/doc/api/org/jacoco/report/class-use/DirectorySourceFileLocator.html b/jacoco/trunk/doc/api/org/jacoco/report/class-use/DirectorySourceFileLocator.html
    new file mode 100644
    index 00000000000..bdfdc1d0bf5
    --- /dev/null
    +++ b/jacoco/trunk/doc/api/org/jacoco/report/class-use/DirectorySourceFileLocator.html
    @@ -0,0 +1,141 @@
    +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
    +<!--NewPage-->
    +<HTML>
    +<HEAD>
    +<!-- Generated by javadoc (build 1.5.0_22) on Wed Mar 27 16:45:42 UTC 2024 -->
    +<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
    +<TITLE>
    +Uses of Class org.jacoco.report.DirectorySourceFileLocator (JaCoCo 0.8.12.202403270442 API)
    +</TITLE>
    +
    +
    +<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../stylesheet.css" TITLE="Style">
    +
    +<SCRIPT type="text/javascript">
    +function windowTitle()
    +{
    +    parent.document.title="Uses of Class org.jacoco.report.DirectorySourceFileLocator (JaCoCo 0.8.12.202403270442 API)";
    +}
    +</SCRIPT>
    +<NOSCRIPT>
    +</NOSCRIPT>
    +
    +</HEAD>
    +
    +<BODY BGCOLOR="white" onload="windowTitle();">
    +
    +
    +<!-- ========= START OF TOP NAVBAR ======= -->
    +<A NAME="navbar_top"><!-- --></A>
    +<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
    +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
    +<TR>
    +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
    +<A NAME="navbar_top_firstrow"><!-- --></A>
    +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
    +  <TR ALIGN="center" VALIGN="top">
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../org/jacoco/report/DirectorySourceFileLocator.html" title="class in org.jacoco.report"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
    +  </TR>
    +</TABLE>
    +</TD>
    +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
    +</EM>
    +</TD>
    +</TR>
    +
    +<TR>
    +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
    +&nbsp;PREV&nbsp;
    +&nbsp;NEXT</FONT></TD>
    +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
    +  <A HREF="../../../../index.html?org/jacoco/report/class-use/DirectorySourceFileLocator.html" target="_top"><B>FRAMES</B></A>  &nbsp;
    +&nbsp;<A HREF="DirectorySourceFileLocator.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
    +&nbsp;<SCRIPT type="text/javascript">
    +  <!--
    +  if(window==top) {
    +    document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>');
    +  }
    +  //-->
    +</SCRIPT>
    +<NOSCRIPT>
    +  <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>
    +</NOSCRIPT>
    +
    +
    +</FONT></TD>
    +</TR>
    +</TABLE>
    +<A NAME="skip-navbar_top"></A>
    +<!-- ========= END OF TOP NAVBAR ========= -->
    +
    +<HR>
    +<CENTER>
    +<H2>
    +<B>Uses of Class<br>org.jacoco.report.DirectorySourceFileLocator</B></H2>
    +</CENTER>
    +No usage of org.jacoco.report.DirectorySourceFileLocator
    +<P>
    +<HR>
    +
    +
    +<!-- ======= START OF BOTTOM NAVBAR ====== -->
    +<A NAME="navbar_bottom"><!-- --></A>
    +<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
    +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
    +<TR>
    +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
    +<A NAME="navbar_bottom_firstrow"><!-- --></A>
    +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
    +  <TR ALIGN="center" VALIGN="top">
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../org/jacoco/report/DirectorySourceFileLocator.html" title="class in org.jacoco.report"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
    +  </TR>
    +</TABLE>
    +</TD>
    +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
    +</EM>
    +</TD>
    +</TR>
    +
    +<TR>
    +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
    +&nbsp;PREV&nbsp;
    +&nbsp;NEXT</FONT></TD>
    +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
    +  <A HREF="../../../../index.html?org/jacoco/report/class-use/DirectorySourceFileLocator.html" target="_top"><B>FRAMES</B></A>  &nbsp;
    +&nbsp;<A HREF="DirectorySourceFileLocator.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
    +&nbsp;<SCRIPT type="text/javascript">
    +  <!--
    +  if(window==top) {
    +    document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>');
    +  }
    +  //-->
    +</SCRIPT>
    +<NOSCRIPT>
    +  <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>
    +</NOSCRIPT>
    +
    +
    +</FONT></TD>
    +</TR>
    +</TABLE>
    +<A NAME="skip-navbar_bottom"></A>
    +<!-- ======== END OF BOTTOM NAVBAR ======= -->
    +
    +<HR>
    +Copyright &#169; 2009&#x2013;2024 Mountainminds GmbH & Co. KG. All rights reserved.
    +</BODY>
    +</HTML>
    diff --git a/jacoco/trunk/doc/api/org/jacoco/report/class-use/FileMultiReportOutput.html b/jacoco/trunk/doc/api/org/jacoco/report/class-use/FileMultiReportOutput.html
    new file mode 100644
    index 00000000000..1502a5bb10e
    --- /dev/null
    +++ b/jacoco/trunk/doc/api/org/jacoco/report/class-use/FileMultiReportOutput.html
    @@ -0,0 +1,141 @@
    +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
    +<!--NewPage-->
    +<HTML>
    +<HEAD>
    +<!-- Generated by javadoc (build 1.5.0_22) on Wed Mar 27 16:45:42 UTC 2024 -->
    +<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
    +<TITLE>
    +Uses of Class org.jacoco.report.FileMultiReportOutput (JaCoCo 0.8.12.202403270442 API)
    +</TITLE>
    +
    +
    +<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../stylesheet.css" TITLE="Style">
    +
    +<SCRIPT type="text/javascript">
    +function windowTitle()
    +{
    +    parent.document.title="Uses of Class org.jacoco.report.FileMultiReportOutput (JaCoCo 0.8.12.202403270442 API)";
    +}
    +</SCRIPT>
    +<NOSCRIPT>
    +</NOSCRIPT>
    +
    +</HEAD>
    +
    +<BODY BGCOLOR="white" onload="windowTitle();">
    +
    +
    +<!-- ========= START OF TOP NAVBAR ======= -->
    +<A NAME="navbar_top"><!-- --></A>
    +<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
    +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
    +<TR>
    +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
    +<A NAME="navbar_top_firstrow"><!-- --></A>
    +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
    +  <TR ALIGN="center" VALIGN="top">
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../org/jacoco/report/FileMultiReportOutput.html" title="class in org.jacoco.report"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
    +  </TR>
    +</TABLE>
    +</TD>
    +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
    +</EM>
    +</TD>
    +</TR>
    +
    +<TR>
    +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
    +&nbsp;PREV&nbsp;
    +&nbsp;NEXT</FONT></TD>
    +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
    +  <A HREF="../../../../index.html?org/jacoco/report/class-use/FileMultiReportOutput.html" target="_top"><B>FRAMES</B></A>  &nbsp;
    +&nbsp;<A HREF="FileMultiReportOutput.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
    +&nbsp;<SCRIPT type="text/javascript">
    +  <!--
    +  if(window==top) {
    +    document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>');
    +  }
    +  //-->
    +</SCRIPT>
    +<NOSCRIPT>
    +  <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>
    +</NOSCRIPT>
    +
    +
    +</FONT></TD>
    +</TR>
    +</TABLE>
    +<A NAME="skip-navbar_top"></A>
    +<!-- ========= END OF TOP NAVBAR ========= -->
    +
    +<HR>
    +<CENTER>
    +<H2>
    +<B>Uses of Class<br>org.jacoco.report.FileMultiReportOutput</B></H2>
    +</CENTER>
    +No usage of org.jacoco.report.FileMultiReportOutput
    +<P>
    +<HR>
    +
    +
    +<!-- ======= START OF BOTTOM NAVBAR ====== -->
    +<A NAME="navbar_bottom"><!-- --></A>
    +<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
    +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
    +<TR>
    +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
    +<A NAME="navbar_bottom_firstrow"><!-- --></A>
    +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
    +  <TR ALIGN="center" VALIGN="top">
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../org/jacoco/report/FileMultiReportOutput.html" title="class in org.jacoco.report"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
    +  </TR>
    +</TABLE>
    +</TD>
    +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
    +</EM>
    +</TD>
    +</TR>
    +
    +<TR>
    +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
    +&nbsp;PREV&nbsp;
    +&nbsp;NEXT</FONT></TD>
    +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
    +  <A HREF="../../../../index.html?org/jacoco/report/class-use/FileMultiReportOutput.html" target="_top"><B>FRAMES</B></A>  &nbsp;
    +&nbsp;<A HREF="FileMultiReportOutput.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
    +&nbsp;<SCRIPT type="text/javascript">
    +  <!--
    +  if(window==top) {
    +    document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>');
    +  }
    +  //-->
    +</SCRIPT>
    +<NOSCRIPT>
    +  <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>
    +</NOSCRIPT>
    +
    +
    +</FONT></TD>
    +</TR>
    +</TABLE>
    +<A NAME="skip-navbar_bottom"></A>
    +<!-- ======== END OF BOTTOM NAVBAR ======= -->
    +
    +<HR>
    +Copyright &#169; 2009&#x2013;2024 Mountainminds GmbH & Co. KG. All rights reserved.
    +</BODY>
    +</HTML>
    diff --git a/jacoco/trunk/doc/api/org/jacoco/report/class-use/ILanguageNames.html b/jacoco/trunk/doc/api/org/jacoco/report/class-use/ILanguageNames.html
    new file mode 100644
    index 00000000000..0aabbd4fdcd
    --- /dev/null
    +++ b/jacoco/trunk/doc/api/org/jacoco/report/class-use/ILanguageNames.html
    @@ -0,0 +1,296 @@
    +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
    +<!--NewPage-->
    +<HTML>
    +<HEAD>
    +<!-- Generated by javadoc (build 1.5.0_22) on Wed Mar 27 16:45:42 UTC 2024 -->
    +<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
    +<TITLE>
    +Uses of Interface org.jacoco.report.ILanguageNames (JaCoCo 0.8.12.202403270442 API)
    +</TITLE>
    +
    +
    +<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../stylesheet.css" TITLE="Style">
    +
    +<SCRIPT type="text/javascript">
    +function windowTitle()
    +{
    +    parent.document.title="Uses of Interface org.jacoco.report.ILanguageNames (JaCoCo 0.8.12.202403270442 API)";
    +}
    +</SCRIPT>
    +<NOSCRIPT>
    +</NOSCRIPT>
    +
    +</HEAD>
    +
    +<BODY BGCOLOR="white" onload="windowTitle();">
    +
    +
    +<!-- ========= START OF TOP NAVBAR ======= -->
    +<A NAME="navbar_top"><!-- --></A>
    +<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
    +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
    +<TR>
    +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
    +<A NAME="navbar_top_firstrow"><!-- --></A>
    +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
    +  <TR ALIGN="center" VALIGN="top">
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../org/jacoco/report/ILanguageNames.html" title="interface in org.jacoco.report"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
    +  </TR>
    +</TABLE>
    +</TD>
    +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
    +</EM>
    +</TD>
    +</TR>
    +
    +<TR>
    +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
    +&nbsp;PREV&nbsp;
    +&nbsp;NEXT</FONT></TD>
    +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
    +  <A HREF="../../../../index.html?org/jacoco/report/class-use/ILanguageNames.html" target="_top"><B>FRAMES</B></A>  &nbsp;
    +&nbsp;<A HREF="ILanguageNames.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
    +&nbsp;<SCRIPT type="text/javascript">
    +  <!--
    +  if(window==top) {
    +    document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>');
    +  }
    +  //-->
    +</SCRIPT>
    +<NOSCRIPT>
    +  <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>
    +</NOSCRIPT>
    +
    +
    +</FONT></TD>
    +</TR>
    +</TABLE>
    +<A NAME="skip-navbar_top"></A>
    +<!-- ========= END OF TOP NAVBAR ========= -->
    +
    +<HR>
    +<CENTER>
    +<H2>
    +<B>Uses of Interface<br>org.jacoco.report.ILanguageNames</B></H2>
    +</CENTER>
    +
    +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
    +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
    +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
    +Packages that use <A HREF="../../../../org/jacoco/report/ILanguageNames.html" title="interface in org.jacoco.report">ILanguageNames</A></FONT></TH>
    +</TR>
    +<TR BGCOLOR="white" CLASS="TableRowColor">
    +<TD><A HREF="#org.jacoco.report"><B>org.jacoco.report</B></A></TD>
    +<TD>Common interfaces and utilities for report generation.&nbsp;</TD>
    +</TR>
    +<TR BGCOLOR="white" CLASS="TableRowColor">
    +<TD><A HREF="#org.jacoco.report.check"><B>org.jacoco.report.check</B></A></TD>
    +<TD>Rules check implementation.&nbsp;</TD>
    +</TR>
    +<TR BGCOLOR="white" CLASS="TableRowColor">
    +<TD><A HREF="#org.jacoco.report.csv"><B>org.jacoco.report.csv</B></A></TD>
    +<TD>CSV report implementation.&nbsp;</TD>
    +</TR>
    +<TR BGCOLOR="white" CLASS="TableRowColor">
    +<TD><A HREF="#org.jacoco.report.html"><B>org.jacoco.report.html</B></A></TD>
    +<TD>HTML report implementation.&nbsp;</TD>
    +</TR>
    +</TABLE>
    +&nbsp;
    +<P>
    +<A NAME="org.jacoco.report"><!-- --></A>
    +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
    +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
    +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
    +Uses of <A HREF="../../../../org/jacoco/report/ILanguageNames.html" title="interface in org.jacoco.report">ILanguageNames</A> in <A HREF="../../../../org/jacoco/report/package-summary.html">org.jacoco.report</A></FONT></TH>
    +</TR>
    +</TABLE>
    +&nbsp;
    +<P>
    +
    +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
    +<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor">
    +<TH ALIGN="left" COLSPAN="2">Classes in <A HREF="../../../../org/jacoco/report/package-summary.html">org.jacoco.report</A> that implement <A HREF="../../../../org/jacoco/report/ILanguageNames.html" title="interface in org.jacoco.report">ILanguageNames</A></FONT></TH>
    +</TR>
    +<TR BGCOLOR="white" CLASS="TableRowColor">
    +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
    +<CODE>&nbsp;class</CODE></FONT></TD>
    +<TD><CODE><B><A HREF="../../../../org/jacoco/report/JavaNames.html" title="class in org.jacoco.report">JavaNames</A></B></CODE>
    +
    +<BR>
    +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Names for the Java language.</TD>
    +</TR>
    +</TABLE>
    +&nbsp;
    +<P>
    +<A NAME="org.jacoco.report.check"><!-- --></A>
    +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
    +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
    +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
    +Uses of <A HREF="../../../../org/jacoco/report/ILanguageNames.html" title="interface in org.jacoco.report">ILanguageNames</A> in <A HREF="../../../../org/jacoco/report/check/package-summary.html">org.jacoco.report.check</A></FONT></TH>
    +</TR>
    +</TABLE>
    +&nbsp;
    +<P>
    +
    +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
    +<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor">
    +<TH ALIGN="left" COLSPAN="2">Methods in <A HREF="../../../../org/jacoco/report/check/package-summary.html">org.jacoco.report.check</A> with parameters of type <A HREF="../../../../org/jacoco/report/ILanguageNames.html" title="interface in org.jacoco.report">ILanguageNames</A></FONT></TH>
    +</TR>
    +<TR BGCOLOR="white" CLASS="TableRowColor">
    +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
    +<CODE>&nbsp;void</CODE></FONT></TD>
    +<TD><CODE><B>RulesChecker.</B><B><A HREF="../../../../org/jacoco/report/check/RulesChecker.html#setLanguageNames(org.jacoco.report.ILanguageNames)">setLanguageNames</A></B>(<A HREF="../../../../org/jacoco/report/ILanguageNames.html" title="interface in org.jacoco.report">ILanguageNames</A>&nbsp;languageNames)</CODE>
    +
    +<BR>
    +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Sets the implementation for language name display for message formatting.</TD>
    +</TR>
    +</TABLE>
    +&nbsp;
    +<P>
    +<A NAME="org.jacoco.report.csv"><!-- --></A>
    +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
    +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
    +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
    +Uses of <A HREF="../../../../org/jacoco/report/ILanguageNames.html" title="interface in org.jacoco.report">ILanguageNames</A> in <A HREF="../../../../org/jacoco/report/csv/package-summary.html">org.jacoco.report.csv</A></FONT></TH>
    +</TR>
    +</TABLE>
    +&nbsp;
    +<P>
    +
    +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
    +<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor">
    +<TH ALIGN="left" COLSPAN="2">Methods in <A HREF="../../../../org/jacoco/report/csv/package-summary.html">org.jacoco.report.csv</A> that return <A HREF="../../../../org/jacoco/report/ILanguageNames.html" title="interface in org.jacoco.report">ILanguageNames</A></FONT></TH>
    +</TR>
    +<TR BGCOLOR="white" CLASS="TableRowColor">
    +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
    +<CODE>&nbsp;<A HREF="../../../../org/jacoco/report/ILanguageNames.html" title="interface in org.jacoco.report">ILanguageNames</A></CODE></FONT></TD>
    +<TD><CODE><B>CSVFormatter.</B><B><A HREF="../../../../org/jacoco/report/csv/CSVFormatter.html#getLanguageNames()">getLanguageNames</A></B>()</CODE>
    +
    +<BR>
    +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns the language names call-back used in this report.</TD>
    +</TR>
    +</TABLE>
    +&nbsp;
    +<P>
    +
    +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
    +<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor">
    +<TH ALIGN="left" COLSPAN="2">Methods in <A HREF="../../../../org/jacoco/report/csv/package-summary.html">org.jacoco.report.csv</A> with parameters of type <A HREF="../../../../org/jacoco/report/ILanguageNames.html" title="interface in org.jacoco.report">ILanguageNames</A></FONT></TH>
    +</TR>
    +<TR BGCOLOR="white" CLASS="TableRowColor">
    +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
    +<CODE>&nbsp;void</CODE></FONT></TD>
    +<TD><CODE><B>CSVFormatter.</B><B><A HREF="../../../../org/jacoco/report/csv/CSVFormatter.html#setLanguageNames(org.jacoco.report.ILanguageNames)">setLanguageNames</A></B>(<A HREF="../../../../org/jacoco/report/ILanguageNames.html" title="interface in org.jacoco.report">ILanguageNames</A>&nbsp;languageNames)</CODE>
    +
    +<BR>
    +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Sets the implementation for language name display.</TD>
    +</TR>
    +</TABLE>
    +&nbsp;
    +<P>
    +<A NAME="org.jacoco.report.html"><!-- --></A>
    +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
    +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
    +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
    +Uses of <A HREF="../../../../org/jacoco/report/ILanguageNames.html" title="interface in org.jacoco.report">ILanguageNames</A> in <A HREF="../../../../org/jacoco/report/html/package-summary.html">org.jacoco.report.html</A></FONT></TH>
    +</TR>
    +</TABLE>
    +&nbsp;
    +<P>
    +
    +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
    +<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor">
    +<TH ALIGN="left" COLSPAN="2">Methods in <A HREF="../../../../org/jacoco/report/html/package-summary.html">org.jacoco.report.html</A> that return <A HREF="../../../../org/jacoco/report/ILanguageNames.html" title="interface in org.jacoco.report">ILanguageNames</A></FONT></TH>
    +</TR>
    +<TR BGCOLOR="white" CLASS="TableRowColor">
    +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
    +<CODE>&nbsp;<A HREF="../../../../org/jacoco/report/ILanguageNames.html" title="interface in org.jacoco.report">ILanguageNames</A></CODE></FONT></TD>
    +<TD><CODE><B>HTMLFormatter.</B><B><A HREF="../../../../org/jacoco/report/html/HTMLFormatter.html#getLanguageNames()">getLanguageNames</A></B>()</CODE>
    +
    +<BR>
    +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
    +</TR>
    +</TABLE>
    +&nbsp;
    +<P>
    +
    +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
    +<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor">
    +<TH ALIGN="left" COLSPAN="2">Methods in <A HREF="../../../../org/jacoco/report/html/package-summary.html">org.jacoco.report.html</A> with parameters of type <A HREF="../../../../org/jacoco/report/ILanguageNames.html" title="interface in org.jacoco.report">ILanguageNames</A></FONT></TH>
    +</TR>
    +<TR BGCOLOR="white" CLASS="TableRowColor">
    +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
    +<CODE>&nbsp;void</CODE></FONT></TD>
    +<TD><CODE><B>HTMLFormatter.</B><B><A HREF="../../../../org/jacoco/report/html/HTMLFormatter.html#setLanguageNames(org.jacoco.report.ILanguageNames)">setLanguageNames</A></B>(<A HREF="../../../../org/jacoco/report/ILanguageNames.html" title="interface in org.jacoco.report">ILanguageNames</A>&nbsp;languageNames)</CODE>
    +
    +<BR>
    +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Sets the implementation for language name display.</TD>
    +</TR>
    +</TABLE>
    +&nbsp;
    +<P>
    +<HR>
    +
    +
    +<!-- ======= START OF BOTTOM NAVBAR ====== -->
    +<A NAME="navbar_bottom"><!-- --></A>
    +<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
    +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
    +<TR>
    +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
    +<A NAME="navbar_bottom_firstrow"><!-- --></A>
    +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
    +  <TR ALIGN="center" VALIGN="top">
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../org/jacoco/report/ILanguageNames.html" title="interface in org.jacoco.report"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
    +  </TR>
    +</TABLE>
    +</TD>
    +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
    +</EM>
    +</TD>
    +</TR>
    +
    +<TR>
    +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
    +&nbsp;PREV&nbsp;
    +&nbsp;NEXT</FONT></TD>
    +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
    +  <A HREF="../../../../index.html?org/jacoco/report/class-use/ILanguageNames.html" target="_top"><B>FRAMES</B></A>  &nbsp;
    +&nbsp;<A HREF="ILanguageNames.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
    +&nbsp;<SCRIPT type="text/javascript">
    +  <!--
    +  if(window==top) {
    +    document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>');
    +  }
    +  //-->
    +</SCRIPT>
    +<NOSCRIPT>
    +  <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>
    +</NOSCRIPT>
    +
    +
    +</FONT></TD>
    +</TR>
    +</TABLE>
    +<A NAME="skip-navbar_bottom"></A>
    +<!-- ======== END OF BOTTOM NAVBAR ======= -->
    +
    +<HR>
    +Copyright &#169; 2009&#x2013;2024 Mountainminds GmbH & Co. KG. All rights reserved.
    +</BODY>
    +</HTML>
    diff --git a/jacoco/trunk/doc/api/org/jacoco/report/class-use/IMultiReportOutput.html b/jacoco/trunk/doc/api/org/jacoco/report/class-use/IMultiReportOutput.html
    new file mode 100644
    index 00000000000..c307577c788
    --- /dev/null
    +++ b/jacoco/trunk/doc/api/org/jacoco/report/class-use/IMultiReportOutput.html
    @@ -0,0 +1,216 @@
    +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
    +<!--NewPage-->
    +<HTML>
    +<HEAD>
    +<!-- Generated by javadoc (build 1.5.0_22) on Wed Mar 27 16:45:42 UTC 2024 -->
    +<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
    +<TITLE>
    +Uses of Interface org.jacoco.report.IMultiReportOutput (JaCoCo 0.8.12.202403270442 API)
    +</TITLE>
    +
    +
    +<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../stylesheet.css" TITLE="Style">
    +
    +<SCRIPT type="text/javascript">
    +function windowTitle()
    +{
    +    parent.document.title="Uses of Interface org.jacoco.report.IMultiReportOutput (JaCoCo 0.8.12.202403270442 API)";
    +}
    +</SCRIPT>
    +<NOSCRIPT>
    +</NOSCRIPT>
    +
    +</HEAD>
    +
    +<BODY BGCOLOR="white" onload="windowTitle();">
    +
    +
    +<!-- ========= START OF TOP NAVBAR ======= -->
    +<A NAME="navbar_top"><!-- --></A>
    +<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
    +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
    +<TR>
    +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
    +<A NAME="navbar_top_firstrow"><!-- --></A>
    +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
    +  <TR ALIGN="center" VALIGN="top">
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../org/jacoco/report/IMultiReportOutput.html" title="interface in org.jacoco.report"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
    +  </TR>
    +</TABLE>
    +</TD>
    +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
    +</EM>
    +</TD>
    +</TR>
    +
    +<TR>
    +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
    +&nbsp;PREV&nbsp;
    +&nbsp;NEXT</FONT></TD>
    +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
    +  <A HREF="../../../../index.html?org/jacoco/report/class-use/IMultiReportOutput.html" target="_top"><B>FRAMES</B></A>  &nbsp;
    +&nbsp;<A HREF="IMultiReportOutput.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
    +&nbsp;<SCRIPT type="text/javascript">
    +  <!--
    +  if(window==top) {
    +    document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>');
    +  }
    +  //-->
    +</SCRIPT>
    +<NOSCRIPT>
    +  <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>
    +</NOSCRIPT>
    +
    +
    +</FONT></TD>
    +</TR>
    +</TABLE>
    +<A NAME="skip-navbar_top"></A>
    +<!-- ========= END OF TOP NAVBAR ========= -->
    +
    +<HR>
    +<CENTER>
    +<H2>
    +<B>Uses of Interface<br>org.jacoco.report.IMultiReportOutput</B></H2>
    +</CENTER>
    +
    +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
    +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
    +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
    +Packages that use <A HREF="../../../../org/jacoco/report/IMultiReportOutput.html" title="interface in org.jacoco.report">IMultiReportOutput</A></FONT></TH>
    +</TR>
    +<TR BGCOLOR="white" CLASS="TableRowColor">
    +<TD><A HREF="#org.jacoco.report"><B>org.jacoco.report</B></A></TD>
    +<TD>Common interfaces and utilities for report generation.&nbsp;</TD>
    +</TR>
    +<TR BGCOLOR="white" CLASS="TableRowColor">
    +<TD><A HREF="#org.jacoco.report.html"><B>org.jacoco.report.html</B></A></TD>
    +<TD>HTML report implementation.&nbsp;</TD>
    +</TR>
    +</TABLE>
    +&nbsp;
    +<P>
    +<A NAME="org.jacoco.report"><!-- --></A>
    +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
    +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
    +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
    +Uses of <A HREF="../../../../org/jacoco/report/IMultiReportOutput.html" title="interface in org.jacoco.report">IMultiReportOutput</A> in <A HREF="../../../../org/jacoco/report/package-summary.html">org.jacoco.report</A></FONT></TH>
    +</TR>
    +</TABLE>
    +&nbsp;
    +<P>
    +
    +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
    +<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor">
    +<TH ALIGN="left" COLSPAN="2">Classes in <A HREF="../../../../org/jacoco/report/package-summary.html">org.jacoco.report</A> that implement <A HREF="../../../../org/jacoco/report/IMultiReportOutput.html" title="interface in org.jacoco.report">IMultiReportOutput</A></FONT></TH>
    +</TR>
    +<TR BGCOLOR="white" CLASS="TableRowColor">
    +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
    +<CODE>&nbsp;class</CODE></FONT></TD>
    +<TD><CODE><B><A HREF="../../../../org/jacoco/report/FileMultiReportOutput.html" title="class in org.jacoco.report">FileMultiReportOutput</A></B></CODE>
    +
    +<BR>
    +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Implementation of <A HREF="../../../../org/jacoco/report/IMultiReportOutput.html" title="interface in org.jacoco.report"><CODE>IMultiReportOutput</CODE></A> that writes files directly to a
    + given directory.</TD>
    +</TR>
    +<TR BGCOLOR="white" CLASS="TableRowColor">
    +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
    +<CODE>&nbsp;class</CODE></FONT></TD>
    +<TD><CODE><B><A HREF="../../../../org/jacoco/report/ZipMultiReportOutput.html" title="class in org.jacoco.report">ZipMultiReportOutput</A></B></CODE>
    +
    +<BR>
    +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Implementation of <A HREF="../../../../org/jacoco/report/IMultiReportOutput.html" title="interface in org.jacoco.report"><CODE>IMultiReportOutput</CODE></A> that writes files into a
    + <A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/util/zip/ZipOutputStream.html" title="class or interface in java.util.zip"><CODE>ZipOutputStream</CODE></A>.</TD>
    +</TR>
    +</TABLE>
    +&nbsp;
    +<P>
    +<A NAME="org.jacoco.report.html"><!-- --></A>
    +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
    +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
    +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
    +Uses of <A HREF="../../../../org/jacoco/report/IMultiReportOutput.html" title="interface in org.jacoco.report">IMultiReportOutput</A> in <A HREF="../../../../org/jacoco/report/html/package-summary.html">org.jacoco.report.html</A></FONT></TH>
    +</TR>
    +</TABLE>
    +&nbsp;
    +<P>
    +
    +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
    +<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor">
    +<TH ALIGN="left" COLSPAN="2">Methods in <A HREF="../../../../org/jacoco/report/html/package-summary.html">org.jacoco.report.html</A> with parameters of type <A HREF="../../../../org/jacoco/report/IMultiReportOutput.html" title="interface in org.jacoco.report">IMultiReportOutput</A></FONT></TH>
    +</TR>
    +<TR BGCOLOR="white" CLASS="TableRowColor">
    +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
    +<CODE>&nbsp;<A HREF="../../../../org/jacoco/report/IReportVisitor.html" title="interface in org.jacoco.report">IReportVisitor</A></CODE></FONT></TD>
    +<TD><CODE><B>HTMLFormatter.</B><B><A HREF="../../../../org/jacoco/report/html/HTMLFormatter.html#createVisitor(org.jacoco.report.IMultiReportOutput)">createVisitor</A></B>(<A HREF="../../../../org/jacoco/report/IMultiReportOutput.html" title="interface in org.jacoco.report">IMultiReportOutput</A>&nbsp;output)</CODE>
    +
    +<BR>
    +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Creates a new visitor to write a report to the given output.</TD>
    +</TR>
    +</TABLE>
    +&nbsp;
    +<P>
    +<HR>
    +
    +
    +<!-- ======= START OF BOTTOM NAVBAR ====== -->
    +<A NAME="navbar_bottom"><!-- --></A>
    +<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
    +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
    +<TR>
    +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
    +<A NAME="navbar_bottom_firstrow"><!-- --></A>
    +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
    +  <TR ALIGN="center" VALIGN="top">
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../org/jacoco/report/IMultiReportOutput.html" title="interface in org.jacoco.report"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
    +  </TR>
    +</TABLE>
    +</TD>
    +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
    +</EM>
    +</TD>
    +</TR>
    +
    +<TR>
    +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
    +&nbsp;PREV&nbsp;
    +&nbsp;NEXT</FONT></TD>
    +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
    +  <A HREF="../../../../index.html?org/jacoco/report/class-use/IMultiReportOutput.html" target="_top"><B>FRAMES</B></A>  &nbsp;
    +&nbsp;<A HREF="IMultiReportOutput.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
    +&nbsp;<SCRIPT type="text/javascript">
    +  <!--
    +  if(window==top) {
    +    document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>');
    +  }
    +  //-->
    +</SCRIPT>
    +<NOSCRIPT>
    +  <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>
    +</NOSCRIPT>
    +
    +
    +</FONT></TD>
    +</TR>
    +</TABLE>
    +<A NAME="skip-navbar_bottom"></A>
    +<!-- ======== END OF BOTTOM NAVBAR ======= -->
    +
    +<HR>
    +Copyright &#169; 2009&#x2013;2024 Mountainminds GmbH & Co. KG. All rights reserved.
    +</BODY>
    +</HTML>
    diff --git a/jacoco/trunk/doc/api/org/jacoco/report/class-use/IReportGroupVisitor.html b/jacoco/trunk/doc/api/org/jacoco/report/class-use/IReportGroupVisitor.html
    new file mode 100644
    index 00000000000..b8036ad4400
    --- /dev/null
    +++ b/jacoco/trunk/doc/api/org/jacoco/report/class-use/IReportGroupVisitor.html
    @@ -0,0 +1,209 @@
    +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
    +<!--NewPage-->
    +<HTML>
    +<HEAD>
    +<!-- Generated by javadoc (build 1.5.0_22) on Wed Mar 27 16:45:42 UTC 2024 -->
    +<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
    +<TITLE>
    +Uses of Interface org.jacoco.report.IReportGroupVisitor (JaCoCo 0.8.12.202403270442 API)
    +</TITLE>
    +
    +
    +<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../stylesheet.css" TITLE="Style">
    +
    +<SCRIPT type="text/javascript">
    +function windowTitle()
    +{
    +    parent.document.title="Uses of Interface org.jacoco.report.IReportGroupVisitor (JaCoCo 0.8.12.202403270442 API)";
    +}
    +</SCRIPT>
    +<NOSCRIPT>
    +</NOSCRIPT>
    +
    +</HEAD>
    +
    +<BODY BGCOLOR="white" onload="windowTitle();">
    +
    +
    +<!-- ========= START OF TOP NAVBAR ======= -->
    +<A NAME="navbar_top"><!-- --></A>
    +<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
    +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
    +<TR>
    +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
    +<A NAME="navbar_top_firstrow"><!-- --></A>
    +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
    +  <TR ALIGN="center" VALIGN="top">
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../org/jacoco/report/IReportGroupVisitor.html" title="interface in org.jacoco.report"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
    +  </TR>
    +</TABLE>
    +</TD>
    +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
    +</EM>
    +</TD>
    +</TR>
    +
    +<TR>
    +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
    +&nbsp;PREV&nbsp;
    +&nbsp;NEXT</FONT></TD>
    +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
    +  <A HREF="../../../../index.html?org/jacoco/report/class-use/IReportGroupVisitor.html" target="_top"><B>FRAMES</B></A>  &nbsp;
    +&nbsp;<A HREF="IReportGroupVisitor.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
    +&nbsp;<SCRIPT type="text/javascript">
    +  <!--
    +  if(window==top) {
    +    document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>');
    +  }
    +  //-->
    +</SCRIPT>
    +<NOSCRIPT>
    +  <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>
    +</NOSCRIPT>
    +
    +
    +</FONT></TD>
    +</TR>
    +</TABLE>
    +<A NAME="skip-navbar_top"></A>
    +<!-- ========= END OF TOP NAVBAR ========= -->
    +
    +<HR>
    +<CENTER>
    +<H2>
    +<B>Uses of Interface<br>org.jacoco.report.IReportGroupVisitor</B></H2>
    +</CENTER>
    +
    +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
    +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
    +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
    +Packages that use <A HREF="../../../../org/jacoco/report/IReportGroupVisitor.html" title="interface in org.jacoco.report">IReportGroupVisitor</A></FONT></TH>
    +</TR>
    +<TR BGCOLOR="white" CLASS="TableRowColor">
    +<TD><A HREF="#org.jacoco.report"><B>org.jacoco.report</B></A></TD>
    +<TD>Common interfaces and utilities for report generation.&nbsp;</TD>
    +</TR>
    +</TABLE>
    +&nbsp;
    +<P>
    +<A NAME="org.jacoco.report"><!-- --></A>
    +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
    +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
    +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
    +Uses of <A HREF="../../../../org/jacoco/report/IReportGroupVisitor.html" title="interface in org.jacoco.report">IReportGroupVisitor</A> in <A HREF="../../../../org/jacoco/report/package-summary.html">org.jacoco.report</A></FONT></TH>
    +</TR>
    +</TABLE>
    +&nbsp;
    +<P>
    +
    +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
    +<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor">
    +<TH ALIGN="left" COLSPAN="2">Subinterfaces of <A HREF="../../../../org/jacoco/report/IReportGroupVisitor.html" title="interface in org.jacoco.report">IReportGroupVisitor</A> in <A HREF="../../../../org/jacoco/report/package-summary.html">org.jacoco.report</A></FONT></TH>
    +</TR>
    +<TR BGCOLOR="white" CLASS="TableRowColor">
    +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
    +<CODE>&nbsp;interface</CODE></FONT></TD>
    +<TD><CODE><B><A HREF="../../../../org/jacoco/report/IReportVisitor.html" title="interface in org.jacoco.report">IReportVisitor</A></B></CODE>
    +
    +<BR>
    +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Interface for all implementations to retrieve structured report data.</TD>
    +</TR>
    +</TABLE>
    +&nbsp;
    +<P>
    +
    +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
    +<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor">
    +<TH ALIGN="left" COLSPAN="2">Classes in <A HREF="../../../../org/jacoco/report/package-summary.html">org.jacoco.report</A> that implement <A HREF="../../../../org/jacoco/report/IReportGroupVisitor.html" title="interface in org.jacoco.report">IReportGroupVisitor</A></FONT></TH>
    +</TR>
    +<TR BGCOLOR="white" CLASS="TableRowColor">
    +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
    +<CODE>&nbsp;class</CODE></FONT></TD>
    +<TD><CODE><B><A HREF="../../../../org/jacoco/report/MultiReportVisitor.html" title="class in org.jacoco.report">MultiReportVisitor</A></B></CODE>
    +
    +<BR>
    +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;A report visitor that is composed from multiple other visitors.</TD>
    +</TR>
    +</TABLE>
    +&nbsp;
    +<P>
    +
    +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
    +<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor">
    +<TH ALIGN="left" COLSPAN="2">Methods in <A HREF="../../../../org/jacoco/report/package-summary.html">org.jacoco.report</A> that return <A HREF="../../../../org/jacoco/report/IReportGroupVisitor.html" title="interface in org.jacoco.report">IReportGroupVisitor</A></FONT></TH>
    +</TR>
    +<TR BGCOLOR="white" CLASS="TableRowColor">
    +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
    +<CODE>&nbsp;<A HREF="../../../../org/jacoco/report/IReportGroupVisitor.html" title="interface in org.jacoco.report">IReportGroupVisitor</A></CODE></FONT></TD>
    +<TD><CODE><B>IReportGroupVisitor.</B><B><A HREF="../../../../org/jacoco/report/IReportGroupVisitor.html#visitGroup(java.lang.String)">visitGroup</A></B>(<A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A>&nbsp;name)</CODE>
    +
    +<BR>
    +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Called to add a new group to the report.</TD>
    +</TR>
    +</TABLE>
    +&nbsp;
    +<P>
    +<HR>
    +
    +
    +<!-- ======= START OF BOTTOM NAVBAR ====== -->
    +<A NAME="navbar_bottom"><!-- --></A>
    +<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
    +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
    +<TR>
    +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
    +<A NAME="navbar_bottom_firstrow"><!-- --></A>
    +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
    +  <TR ALIGN="center" VALIGN="top">
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../org/jacoco/report/IReportGroupVisitor.html" title="interface in org.jacoco.report"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
    +  </TR>
    +</TABLE>
    +</TD>
    +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
    +</EM>
    +</TD>
    +</TR>
    +
    +<TR>
    +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
    +&nbsp;PREV&nbsp;
    +&nbsp;NEXT</FONT></TD>
    +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
    +  <A HREF="../../../../index.html?org/jacoco/report/class-use/IReportGroupVisitor.html" target="_top"><B>FRAMES</B></A>  &nbsp;
    +&nbsp;<A HREF="IReportGroupVisitor.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
    +&nbsp;<SCRIPT type="text/javascript">
    +  <!--
    +  if(window==top) {
    +    document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>');
    +  }
    +  //-->
    +</SCRIPT>
    +<NOSCRIPT>
    +  <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>
    +</NOSCRIPT>
    +
    +
    +</FONT></TD>
    +</TR>
    +</TABLE>
    +<A NAME="skip-navbar_bottom"></A>
    +<!-- ======== END OF BOTTOM NAVBAR ======= -->
    +
    +<HR>
    +Copyright &#169; 2009&#x2013;2024 Mountainminds GmbH & Co. KG. All rights reserved.
    +</BODY>
    +</HTML>
    diff --git a/jacoco/trunk/doc/api/org/jacoco/report/class-use/IReportVisitor.html b/jacoco/trunk/doc/api/org/jacoco/report/class-use/IReportVisitor.html
    new file mode 100644
    index 00000000000..8ce6337120d
    --- /dev/null
    +++ b/jacoco/trunk/doc/api/org/jacoco/report/class-use/IReportVisitor.html
    @@ -0,0 +1,307 @@
    +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
    +<!--NewPage-->
    +<HTML>
    +<HEAD>
    +<!-- Generated by javadoc (build 1.5.0_22) on Wed Mar 27 16:45:42 UTC 2024 -->
    +<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
    +<TITLE>
    +Uses of Interface org.jacoco.report.IReportVisitor (JaCoCo 0.8.12.202403270442 API)
    +</TITLE>
    +
    +
    +<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../stylesheet.css" TITLE="Style">
    +
    +<SCRIPT type="text/javascript">
    +function windowTitle()
    +{
    +    parent.document.title="Uses of Interface org.jacoco.report.IReportVisitor (JaCoCo 0.8.12.202403270442 API)";
    +}
    +</SCRIPT>
    +<NOSCRIPT>
    +</NOSCRIPT>
    +
    +</HEAD>
    +
    +<BODY BGCOLOR="white" onload="windowTitle();">
    +
    +
    +<!-- ========= START OF TOP NAVBAR ======= -->
    +<A NAME="navbar_top"><!-- --></A>
    +<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
    +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
    +<TR>
    +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
    +<A NAME="navbar_top_firstrow"><!-- --></A>
    +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
    +  <TR ALIGN="center" VALIGN="top">
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../org/jacoco/report/IReportVisitor.html" title="interface in org.jacoco.report"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
    +  </TR>
    +</TABLE>
    +</TD>
    +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
    +</EM>
    +</TD>
    +</TR>
    +
    +<TR>
    +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
    +&nbsp;PREV&nbsp;
    +&nbsp;NEXT</FONT></TD>
    +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
    +  <A HREF="../../../../index.html?org/jacoco/report/class-use/IReportVisitor.html" target="_top"><B>FRAMES</B></A>  &nbsp;
    +&nbsp;<A HREF="IReportVisitor.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
    +&nbsp;<SCRIPT type="text/javascript">
    +  <!--
    +  if(window==top) {
    +    document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>');
    +  }
    +  //-->
    +</SCRIPT>
    +<NOSCRIPT>
    +  <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>
    +</NOSCRIPT>
    +
    +
    +</FONT></TD>
    +</TR>
    +</TABLE>
    +<A NAME="skip-navbar_top"></A>
    +<!-- ========= END OF TOP NAVBAR ========= -->
    +
    +<HR>
    +<CENTER>
    +<H2>
    +<B>Uses of Interface<br>org.jacoco.report.IReportVisitor</B></H2>
    +</CENTER>
    +
    +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
    +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
    +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
    +Packages that use <A HREF="../../../../org/jacoco/report/IReportVisitor.html" title="interface in org.jacoco.report">IReportVisitor</A></FONT></TH>
    +</TR>
    +<TR BGCOLOR="white" CLASS="TableRowColor">
    +<TD><A HREF="#org.jacoco.report"><B>org.jacoco.report</B></A></TD>
    +<TD>Common interfaces and utilities for report generation.&nbsp;</TD>
    +</TR>
    +<TR BGCOLOR="white" CLASS="TableRowColor">
    +<TD><A HREF="#org.jacoco.report.check"><B>org.jacoco.report.check</B></A></TD>
    +<TD>Rules check implementation.&nbsp;</TD>
    +</TR>
    +<TR BGCOLOR="white" CLASS="TableRowColor">
    +<TD><A HREF="#org.jacoco.report.csv"><B>org.jacoco.report.csv</B></A></TD>
    +<TD>CSV report implementation.&nbsp;</TD>
    +</TR>
    +<TR BGCOLOR="white" CLASS="TableRowColor">
    +<TD><A HREF="#org.jacoco.report.html"><B>org.jacoco.report.html</B></A></TD>
    +<TD>HTML report implementation.&nbsp;</TD>
    +</TR>
    +<TR BGCOLOR="white" CLASS="TableRowColor">
    +<TD><A HREF="#org.jacoco.report.xml"><B>org.jacoco.report.xml</B></A></TD>
    +<TD>XML report implementation.&nbsp;</TD>
    +</TR>
    +</TABLE>
    +&nbsp;
    +<P>
    +<A NAME="org.jacoco.report"><!-- --></A>
    +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
    +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
    +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
    +Uses of <A HREF="../../../../org/jacoco/report/IReportVisitor.html" title="interface in org.jacoco.report">IReportVisitor</A> in <A HREF="../../../../org/jacoco/report/package-summary.html">org.jacoco.report</A></FONT></TH>
    +</TR>
    +</TABLE>
    +&nbsp;
    +<P>
    +
    +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
    +<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor">
    +<TH ALIGN="left" COLSPAN="2">Classes in <A HREF="../../../../org/jacoco/report/package-summary.html">org.jacoco.report</A> that implement <A HREF="../../../../org/jacoco/report/IReportVisitor.html" title="interface in org.jacoco.report">IReportVisitor</A></FONT></TH>
    +</TR>
    +<TR BGCOLOR="white" CLASS="TableRowColor">
    +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
    +<CODE>&nbsp;class</CODE></FONT></TD>
    +<TD><CODE><B><A HREF="../../../../org/jacoco/report/MultiReportVisitor.html" title="class in org.jacoco.report">MultiReportVisitor</A></B></CODE>
    +
    +<BR>
    +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;A report visitor that is composed from multiple other visitors.</TD>
    +</TR>
    +</TABLE>
    +&nbsp;
    +<P>
    +
    +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
    +<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor">
    +<TH ALIGN="left" COLSPAN="2">Constructor parameters in <A HREF="../../../../org/jacoco/report/package-summary.html">org.jacoco.report</A> with type arguments of type <A HREF="../../../../org/jacoco/report/IReportVisitor.html" title="interface in org.jacoco.report">IReportVisitor</A></FONT></TH>
    +</TR>
    +<TR BGCOLOR="white" CLASS="TableRowColor">
    +<TD><CODE><B><A HREF="../../../../org/jacoco/report/MultiReportVisitor.html#MultiReportVisitor(java.util.List)">MultiReportVisitor</A></B>(<A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/util/List.html" title="class or interface in java.util">List</A>&lt;<A HREF="../../../../org/jacoco/report/IReportVisitor.html" title="interface in org.jacoco.report">IReportVisitor</A>&gt;&nbsp;visitors)</CODE>
    +
    +<BR>
    +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;New visitor delegating to all given visitors.</TD>
    +</TR>
    +</TABLE>
    +&nbsp;
    +<P>
    +<A NAME="org.jacoco.report.check"><!-- --></A>
    +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
    +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
    +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
    +Uses of <A HREF="../../../../org/jacoco/report/IReportVisitor.html" title="interface in org.jacoco.report">IReportVisitor</A> in <A HREF="../../../../org/jacoco/report/check/package-summary.html">org.jacoco.report.check</A></FONT></TH>
    +</TR>
    +</TABLE>
    +&nbsp;
    +<P>
    +
    +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
    +<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor">
    +<TH ALIGN="left" COLSPAN="2">Methods in <A HREF="../../../../org/jacoco/report/check/package-summary.html">org.jacoco.report.check</A> that return <A HREF="../../../../org/jacoco/report/IReportVisitor.html" title="interface in org.jacoco.report">IReportVisitor</A></FONT></TH>
    +</TR>
    +<TR BGCOLOR="white" CLASS="TableRowColor">
    +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
    +<CODE>&nbsp;<A HREF="../../../../org/jacoco/report/IReportVisitor.html" title="interface in org.jacoco.report">IReportVisitor</A></CODE></FONT></TD>
    +<TD><CODE><B>RulesChecker.</B><B><A HREF="../../../../org/jacoco/report/check/RulesChecker.html#createVisitor(org.jacoco.report.check.IViolationsOutput)">createVisitor</A></B>(<A HREF="../../../../org/jacoco/report/check/IViolationsOutput.html" title="interface in org.jacoco.report.check">IViolationsOutput</A>&nbsp;output)</CODE>
    +
    +<BR>
    +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Creates a new visitor to process the configured checks.</TD>
    +</TR>
    +</TABLE>
    +&nbsp;
    +<P>
    +<A NAME="org.jacoco.report.csv"><!-- --></A>
    +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
    +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
    +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
    +Uses of <A HREF="../../../../org/jacoco/report/IReportVisitor.html" title="interface in org.jacoco.report">IReportVisitor</A> in <A HREF="../../../../org/jacoco/report/csv/package-summary.html">org.jacoco.report.csv</A></FONT></TH>
    +</TR>
    +</TABLE>
    +&nbsp;
    +<P>
    +
    +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
    +<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor">
    +<TH ALIGN="left" COLSPAN="2">Methods in <A HREF="../../../../org/jacoco/report/csv/package-summary.html">org.jacoco.report.csv</A> that return <A HREF="../../../../org/jacoco/report/IReportVisitor.html" title="interface in org.jacoco.report">IReportVisitor</A></FONT></TH>
    +</TR>
    +<TR BGCOLOR="white" CLASS="TableRowColor">
    +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
    +<CODE>&nbsp;<A HREF="../../../../org/jacoco/report/IReportVisitor.html" title="interface in org.jacoco.report">IReportVisitor</A></CODE></FONT></TD>
    +<TD><CODE><B>CSVFormatter.</B><B><A HREF="../../../../org/jacoco/report/csv/CSVFormatter.html#createVisitor(java.io.OutputStream)">createVisitor</A></B>(<A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/io/OutputStream.html" title="class or interface in java.io">OutputStream</A>&nbsp;output)</CODE>
    +
    +<BR>
    +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Creates a new visitor to write a report to the given stream.</TD>
    +</TR>
    +</TABLE>
    +&nbsp;
    +<P>
    +<A NAME="org.jacoco.report.html"><!-- --></A>
    +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
    +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
    +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
    +Uses of <A HREF="../../../../org/jacoco/report/IReportVisitor.html" title="interface in org.jacoco.report">IReportVisitor</A> in <A HREF="../../../../org/jacoco/report/html/package-summary.html">org.jacoco.report.html</A></FONT></TH>
    +</TR>
    +</TABLE>
    +&nbsp;
    +<P>
    +
    +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
    +<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor">
    +<TH ALIGN="left" COLSPAN="2">Methods in <A HREF="../../../../org/jacoco/report/html/package-summary.html">org.jacoco.report.html</A> that return <A HREF="../../../../org/jacoco/report/IReportVisitor.html" title="interface in org.jacoco.report">IReportVisitor</A></FONT></TH>
    +</TR>
    +<TR BGCOLOR="white" CLASS="TableRowColor">
    +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
    +<CODE>&nbsp;<A HREF="../../../../org/jacoco/report/IReportVisitor.html" title="interface in org.jacoco.report">IReportVisitor</A></CODE></FONT></TD>
    +<TD><CODE><B>HTMLFormatter.</B><B><A HREF="../../../../org/jacoco/report/html/HTMLFormatter.html#createVisitor(org.jacoco.report.IMultiReportOutput)">createVisitor</A></B>(<A HREF="../../../../org/jacoco/report/IMultiReportOutput.html" title="interface in org.jacoco.report">IMultiReportOutput</A>&nbsp;output)</CODE>
    +
    +<BR>
    +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Creates a new visitor to write a report to the given output.</TD>
    +</TR>
    +</TABLE>
    +&nbsp;
    +<P>
    +<A NAME="org.jacoco.report.xml"><!-- --></A>
    +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
    +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
    +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
    +Uses of <A HREF="../../../../org/jacoco/report/IReportVisitor.html" title="interface in org.jacoco.report">IReportVisitor</A> in <A HREF="../../../../org/jacoco/report/xml/package-summary.html">org.jacoco.report.xml</A></FONT></TH>
    +</TR>
    +</TABLE>
    +&nbsp;
    +<P>
    +
    +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
    +<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor">
    +<TH ALIGN="left" COLSPAN="2">Methods in <A HREF="../../../../org/jacoco/report/xml/package-summary.html">org.jacoco.report.xml</A> that return <A HREF="../../../../org/jacoco/report/IReportVisitor.html" title="interface in org.jacoco.report">IReportVisitor</A></FONT></TH>
    +</TR>
    +<TR BGCOLOR="white" CLASS="TableRowColor">
    +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
    +<CODE>&nbsp;<A HREF="../../../../org/jacoco/report/IReportVisitor.html" title="interface in org.jacoco.report">IReportVisitor</A></CODE></FONT></TD>
    +<TD><CODE><B>XMLFormatter.</B><B><A HREF="../../../../org/jacoco/report/xml/XMLFormatter.html#createVisitor(java.io.OutputStream)">createVisitor</A></B>(<A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/io/OutputStream.html" title="class or interface in java.io">OutputStream</A>&nbsp;output)</CODE>
    +
    +<BR>
    +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Creates a new visitor to write a report to the given stream.</TD>
    +</TR>
    +</TABLE>
    +&nbsp;
    +<P>
    +<HR>
    +
    +
    +<!-- ======= START OF BOTTOM NAVBAR ====== -->
    +<A NAME="navbar_bottom"><!-- --></A>
    +<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
    +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
    +<TR>
    +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
    +<A NAME="navbar_bottom_firstrow"><!-- --></A>
    +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
    +  <TR ALIGN="center" VALIGN="top">
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../org/jacoco/report/IReportVisitor.html" title="interface in org.jacoco.report"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
    +  </TR>
    +</TABLE>
    +</TD>
    +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
    +</EM>
    +</TD>
    +</TR>
    +
    +<TR>
    +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
    +&nbsp;PREV&nbsp;
    +&nbsp;NEXT</FONT></TD>
    +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
    +  <A HREF="../../../../index.html?org/jacoco/report/class-use/IReportVisitor.html" target="_top"><B>FRAMES</B></A>  &nbsp;
    +&nbsp;<A HREF="IReportVisitor.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
    +&nbsp;<SCRIPT type="text/javascript">
    +  <!--
    +  if(window==top) {
    +    document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>');
    +  }
    +  //-->
    +</SCRIPT>
    +<NOSCRIPT>
    +  <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>
    +</NOSCRIPT>
    +
    +
    +</FONT></TD>
    +</TR>
    +</TABLE>
    +<A NAME="skip-navbar_bottom"></A>
    +<!-- ======== END OF BOTTOM NAVBAR ======= -->
    +
    +<HR>
    +Copyright &#169; 2009&#x2013;2024 Mountainminds GmbH & Co. KG. All rights reserved.
    +</BODY>
    +</HTML>
    diff --git a/jacoco/trunk/doc/api/org/jacoco/report/class-use/ISourceFileLocator.html b/jacoco/trunk/doc/api/org/jacoco/report/class-use/ISourceFileLocator.html
    new file mode 100644
    index 00000000000..8cb317e880c
    --- /dev/null
    +++ b/jacoco/trunk/doc/api/org/jacoco/report/class-use/ISourceFileLocator.html
    @@ -0,0 +1,221 @@
    +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
    +<!--NewPage-->
    +<HTML>
    +<HEAD>
    +<!-- Generated by javadoc (build 1.5.0_22) on Wed Mar 27 16:45:42 UTC 2024 -->
    +<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
    +<TITLE>
    +Uses of Interface org.jacoco.report.ISourceFileLocator (JaCoCo 0.8.12.202403270442 API)
    +</TITLE>
    +
    +
    +<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../stylesheet.css" TITLE="Style">
    +
    +<SCRIPT type="text/javascript">
    +function windowTitle()
    +{
    +    parent.document.title="Uses of Interface org.jacoco.report.ISourceFileLocator (JaCoCo 0.8.12.202403270442 API)";
    +}
    +</SCRIPT>
    +<NOSCRIPT>
    +</NOSCRIPT>
    +
    +</HEAD>
    +
    +<BODY BGCOLOR="white" onload="windowTitle();">
    +
    +
    +<!-- ========= START OF TOP NAVBAR ======= -->
    +<A NAME="navbar_top"><!-- --></A>
    +<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
    +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
    +<TR>
    +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
    +<A NAME="navbar_top_firstrow"><!-- --></A>
    +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
    +  <TR ALIGN="center" VALIGN="top">
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../org/jacoco/report/ISourceFileLocator.html" title="interface in org.jacoco.report"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
    +  </TR>
    +</TABLE>
    +</TD>
    +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
    +</EM>
    +</TD>
    +</TR>
    +
    +<TR>
    +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
    +&nbsp;PREV&nbsp;
    +&nbsp;NEXT</FONT></TD>
    +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
    +  <A HREF="../../../../index.html?org/jacoco/report/class-use/ISourceFileLocator.html" target="_top"><B>FRAMES</B></A>  &nbsp;
    +&nbsp;<A HREF="ISourceFileLocator.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
    +&nbsp;<SCRIPT type="text/javascript">
    +  <!--
    +  if(window==top) {
    +    document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>');
    +  }
    +  //-->
    +</SCRIPT>
    +<NOSCRIPT>
    +  <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>
    +</NOSCRIPT>
    +
    +
    +</FONT></TD>
    +</TR>
    +</TABLE>
    +<A NAME="skip-navbar_top"></A>
    +<!-- ========= END OF TOP NAVBAR ========= -->
    +
    +<HR>
    +<CENTER>
    +<H2>
    +<B>Uses of Interface<br>org.jacoco.report.ISourceFileLocator</B></H2>
    +</CENTER>
    +
    +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
    +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
    +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
    +Packages that use <A HREF="../../../../org/jacoco/report/ISourceFileLocator.html" title="interface in org.jacoco.report">ISourceFileLocator</A></FONT></TH>
    +</TR>
    +<TR BGCOLOR="white" CLASS="TableRowColor">
    +<TD><A HREF="#org.jacoco.report"><B>org.jacoco.report</B></A></TD>
    +<TD>Common interfaces and utilities for report generation.&nbsp;</TD>
    +</TR>
    +</TABLE>
    +&nbsp;
    +<P>
    +<A NAME="org.jacoco.report"><!-- --></A>
    +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
    +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
    +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
    +Uses of <A HREF="../../../../org/jacoco/report/ISourceFileLocator.html" title="interface in org.jacoco.report">ISourceFileLocator</A> in <A HREF="../../../../org/jacoco/report/package-summary.html">org.jacoco.report</A></FONT></TH>
    +</TR>
    +</TABLE>
    +&nbsp;
    +<P>
    +
    +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
    +<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor">
    +<TH ALIGN="left" COLSPAN="2">Classes in <A HREF="../../../../org/jacoco/report/package-summary.html">org.jacoco.report</A> that implement <A HREF="../../../../org/jacoco/report/ISourceFileLocator.html" title="interface in org.jacoco.report">ISourceFileLocator</A></FONT></TH>
    +</TR>
    +<TR BGCOLOR="white" CLASS="TableRowColor">
    +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
    +<CODE>&nbsp;class</CODE></FONT></TD>
    +<TD><CODE><B><A HREF="../../../../org/jacoco/report/DirectorySourceFileLocator.html" title="class in org.jacoco.report">DirectorySourceFileLocator</A></B></CODE>
    +
    +<BR>
    +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Locator for source files that picks source files from a given directory in
    + the file system.</TD>
    +</TR>
    +<TR BGCOLOR="white" CLASS="TableRowColor">
    +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
    +<CODE>&nbsp;class</CODE></FONT></TD>
    +<TD><CODE><B><A HREF="../../../../org/jacoco/report/InputStreamSourceFileLocator.html" title="class in org.jacoco.report">InputStreamSourceFileLocator</A></B></CODE>
    +
    +<BR>
    +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Abstract base class for <A HREF="../../../../org/jacoco/report/ISourceFileLocator.html" title="interface in org.jacoco.report"><CODE>ISourceFileLocator</CODE></A> locator implementations
    + based on <A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/io/InputStream.html" title="class or interface in java.io"><CODE>InputStream</CODE></A>s.</TD>
    +</TR>
    +<TR BGCOLOR="white" CLASS="TableRowColor">
    +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
    +<CODE>&nbsp;class</CODE></FONT></TD>
    +<TD><CODE><B><A HREF="../../../../org/jacoco/report/MultiSourceFileLocator.html" title="class in org.jacoco.report">MultiSourceFileLocator</A></B></CODE>
    +
    +<BR>
    +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Locator that searches source files in multiple <A HREF="../../../../org/jacoco/report/ISourceFileLocator.html" title="interface in org.jacoco.report"><CODE>ISourceFileLocator</CODE></A>
    + instances.</TD>
    +</TR>
    +</TABLE>
    +&nbsp;
    +<P>
    +
    +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
    +<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor">
    +<TH ALIGN="left" COLSPAN="2">Methods in <A HREF="../../../../org/jacoco/report/package-summary.html">org.jacoco.report</A> with parameters of type <A HREF="../../../../org/jacoco/report/ISourceFileLocator.html" title="interface in org.jacoco.report">ISourceFileLocator</A></FONT></TH>
    +</TR>
    +<TR BGCOLOR="white" CLASS="TableRowColor">
    +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
    +<CODE>&nbsp;void</CODE></FONT></TD>
    +<TD><CODE><B>MultiSourceFileLocator.</B><B><A HREF="../../../../org/jacoco/report/MultiSourceFileLocator.html#add(org.jacoco.report.ISourceFileLocator)">add</A></B>(<A HREF="../../../../org/jacoco/report/ISourceFileLocator.html" title="interface in org.jacoco.report">ISourceFileLocator</A>&nbsp;locator)</CODE>
    +
    +<BR>
    +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Adds the given locator.</TD>
    +</TR>
    +<TR BGCOLOR="white" CLASS="TableRowColor">
    +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
    +<CODE>&nbsp;void</CODE></FONT></TD>
    +<TD><CODE><B>IReportGroupVisitor.</B><B><A HREF="../../../../org/jacoco/report/IReportGroupVisitor.html#visitBundle(org.jacoco.core.analysis.IBundleCoverage, org.jacoco.report.ISourceFileLocator)">visitBundle</A></B>(<A HREF="../../../../org/jacoco/core/analysis/IBundleCoverage.html" title="interface in org.jacoco.core.analysis">IBundleCoverage</A>&nbsp;bundle,
    +            <A HREF="../../../../org/jacoco/report/ISourceFileLocator.html" title="interface in org.jacoco.report">ISourceFileLocator</A>&nbsp;locator)</CODE>
    +
    +<BR>
    +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Called to add a bundle to the report.</TD>
    +</TR>
    +</TABLE>
    +&nbsp;
    +<P>
    +<HR>
    +
    +
    +<!-- ======= START OF BOTTOM NAVBAR ====== -->
    +<A NAME="navbar_bottom"><!-- --></A>
    +<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
    +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
    +<TR>
    +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
    +<A NAME="navbar_bottom_firstrow"><!-- --></A>
    +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
    +  <TR ALIGN="center" VALIGN="top">
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../org/jacoco/report/ISourceFileLocator.html" title="interface in org.jacoco.report"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
    +  </TR>
    +</TABLE>
    +</TD>
    +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
    +</EM>
    +</TD>
    +</TR>
    +
    +<TR>
    +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
    +&nbsp;PREV&nbsp;
    +&nbsp;NEXT</FONT></TD>
    +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
    +  <A HREF="../../../../index.html?org/jacoco/report/class-use/ISourceFileLocator.html" target="_top"><B>FRAMES</B></A>  &nbsp;
    +&nbsp;<A HREF="ISourceFileLocator.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
    +&nbsp;<SCRIPT type="text/javascript">
    +  <!--
    +  if(window==top) {
    +    document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>');
    +  }
    +  //-->
    +</SCRIPT>
    +<NOSCRIPT>
    +  <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>
    +</NOSCRIPT>
    +
    +
    +</FONT></TD>
    +</TR>
    +</TABLE>
    +<A NAME="skip-navbar_bottom"></A>
    +<!-- ======== END OF BOTTOM NAVBAR ======= -->
    +
    +<HR>
    +Copyright &#169; 2009&#x2013;2024 Mountainminds GmbH & Co. KG. All rights reserved.
    +</BODY>
    +</HTML>
    diff --git a/jacoco/trunk/doc/api/org/jacoco/report/class-use/InputStreamSourceFileLocator.html b/jacoco/trunk/doc/api/org/jacoco/report/class-use/InputStreamSourceFileLocator.html
    new file mode 100644
    index 00000000000..f7b1b19c2c1
    --- /dev/null
    +++ b/jacoco/trunk/doc/api/org/jacoco/report/class-use/InputStreamSourceFileLocator.html
    @@ -0,0 +1,178 @@
    +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
    +<!--NewPage-->
    +<HTML>
    +<HEAD>
    +<!-- Generated by javadoc (build 1.5.0_22) on Wed Mar 27 16:45:42 UTC 2024 -->
    +<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
    +<TITLE>
    +Uses of Class org.jacoco.report.InputStreamSourceFileLocator (JaCoCo 0.8.12.202403270442 API)
    +</TITLE>
    +
    +
    +<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../stylesheet.css" TITLE="Style">
    +
    +<SCRIPT type="text/javascript">
    +function windowTitle()
    +{
    +    parent.document.title="Uses of Class org.jacoco.report.InputStreamSourceFileLocator (JaCoCo 0.8.12.202403270442 API)";
    +}
    +</SCRIPT>
    +<NOSCRIPT>
    +</NOSCRIPT>
    +
    +</HEAD>
    +
    +<BODY BGCOLOR="white" onload="windowTitle();">
    +
    +
    +<!-- ========= START OF TOP NAVBAR ======= -->
    +<A NAME="navbar_top"><!-- --></A>
    +<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
    +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
    +<TR>
    +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
    +<A NAME="navbar_top_firstrow"><!-- --></A>
    +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
    +  <TR ALIGN="center" VALIGN="top">
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../org/jacoco/report/InputStreamSourceFileLocator.html" title="class in org.jacoco.report"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
    +  </TR>
    +</TABLE>
    +</TD>
    +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
    +</EM>
    +</TD>
    +</TR>
    +
    +<TR>
    +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
    +&nbsp;PREV&nbsp;
    +&nbsp;NEXT</FONT></TD>
    +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
    +  <A HREF="../../../../index.html?org/jacoco/report/class-use/InputStreamSourceFileLocator.html" target="_top"><B>FRAMES</B></A>  &nbsp;
    +&nbsp;<A HREF="InputStreamSourceFileLocator.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
    +&nbsp;<SCRIPT type="text/javascript">
    +  <!--
    +  if(window==top) {
    +    document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>');
    +  }
    +  //-->
    +</SCRIPT>
    +<NOSCRIPT>
    +  <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>
    +</NOSCRIPT>
    +
    +
    +</FONT></TD>
    +</TR>
    +</TABLE>
    +<A NAME="skip-navbar_top"></A>
    +<!-- ========= END OF TOP NAVBAR ========= -->
    +
    +<HR>
    +<CENTER>
    +<H2>
    +<B>Uses of Class<br>org.jacoco.report.InputStreamSourceFileLocator</B></H2>
    +</CENTER>
    +
    +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
    +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
    +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
    +Packages that use <A HREF="../../../../org/jacoco/report/InputStreamSourceFileLocator.html" title="class in org.jacoco.report">InputStreamSourceFileLocator</A></FONT></TH>
    +</TR>
    +<TR BGCOLOR="white" CLASS="TableRowColor">
    +<TD><A HREF="#org.jacoco.report"><B>org.jacoco.report</B></A></TD>
    +<TD>Common interfaces and utilities for report generation.&nbsp;</TD>
    +</TR>
    +</TABLE>
    +&nbsp;
    +<P>
    +<A NAME="org.jacoco.report"><!-- --></A>
    +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
    +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
    +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
    +Uses of <A HREF="../../../../org/jacoco/report/InputStreamSourceFileLocator.html" title="class in org.jacoco.report">InputStreamSourceFileLocator</A> in <A HREF="../../../../org/jacoco/report/package-summary.html">org.jacoco.report</A></FONT></TH>
    +</TR>
    +</TABLE>
    +&nbsp;
    +<P>
    +
    +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
    +<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor">
    +<TH ALIGN="left" COLSPAN="2">Subclasses of <A HREF="../../../../org/jacoco/report/InputStreamSourceFileLocator.html" title="class in org.jacoco.report">InputStreamSourceFileLocator</A> in <A HREF="../../../../org/jacoco/report/package-summary.html">org.jacoco.report</A></FONT></TH>
    +</TR>
    +<TR BGCOLOR="white" CLASS="TableRowColor">
    +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
    +<CODE>&nbsp;class</CODE></FONT></TD>
    +<TD><CODE><B><A HREF="../../../../org/jacoco/report/DirectorySourceFileLocator.html" title="class in org.jacoco.report">DirectorySourceFileLocator</A></B></CODE>
    +
    +<BR>
    +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Locator for source files that picks source files from a given directory in
    + the file system.</TD>
    +</TR>
    +</TABLE>
    +&nbsp;
    +<P>
    +<HR>
    +
    +
    +<!-- ======= START OF BOTTOM NAVBAR ====== -->
    +<A NAME="navbar_bottom"><!-- --></A>
    +<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
    +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
    +<TR>
    +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
    +<A NAME="navbar_bottom_firstrow"><!-- --></A>
    +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
    +  <TR ALIGN="center" VALIGN="top">
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../org/jacoco/report/InputStreamSourceFileLocator.html" title="class in org.jacoco.report"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
    +  </TR>
    +</TABLE>
    +</TD>
    +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
    +</EM>
    +</TD>
    +</TR>
    +
    +<TR>
    +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
    +&nbsp;PREV&nbsp;
    +&nbsp;NEXT</FONT></TD>
    +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
    +  <A HREF="../../../../index.html?org/jacoco/report/class-use/InputStreamSourceFileLocator.html" target="_top"><B>FRAMES</B></A>  &nbsp;
    +&nbsp;<A HREF="InputStreamSourceFileLocator.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
    +&nbsp;<SCRIPT type="text/javascript">
    +  <!--
    +  if(window==top) {
    +    document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>');
    +  }
    +  //-->
    +</SCRIPT>
    +<NOSCRIPT>
    +  <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>
    +</NOSCRIPT>
    +
    +
    +</FONT></TD>
    +</TR>
    +</TABLE>
    +<A NAME="skip-navbar_bottom"></A>
    +<!-- ======== END OF BOTTOM NAVBAR ======= -->
    +
    +<HR>
    +Copyright &#169; 2009&#x2013;2024 Mountainminds GmbH & Co. KG. All rights reserved.
    +</BODY>
    +</HTML>
    diff --git a/jacoco/trunk/doc/api/org/jacoco/report/class-use/JavaNames.html b/jacoco/trunk/doc/api/org/jacoco/report/class-use/JavaNames.html
    new file mode 100644
    index 00000000000..55d0e12bdc4
    --- /dev/null
    +++ b/jacoco/trunk/doc/api/org/jacoco/report/class-use/JavaNames.html
    @@ -0,0 +1,141 @@
    +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
    +<!--NewPage-->
    +<HTML>
    +<HEAD>
    +<!-- Generated by javadoc (build 1.5.0_22) on Wed Mar 27 16:45:42 UTC 2024 -->
    +<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
    +<TITLE>
    +Uses of Class org.jacoco.report.JavaNames (JaCoCo 0.8.12.202403270442 API)
    +</TITLE>
    +
    +
    +<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../stylesheet.css" TITLE="Style">
    +
    +<SCRIPT type="text/javascript">
    +function windowTitle()
    +{
    +    parent.document.title="Uses of Class org.jacoco.report.JavaNames (JaCoCo 0.8.12.202403270442 API)";
    +}
    +</SCRIPT>
    +<NOSCRIPT>
    +</NOSCRIPT>
    +
    +</HEAD>
    +
    +<BODY BGCOLOR="white" onload="windowTitle();">
    +
    +
    +<!-- ========= START OF TOP NAVBAR ======= -->
    +<A NAME="navbar_top"><!-- --></A>
    +<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
    +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
    +<TR>
    +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
    +<A NAME="navbar_top_firstrow"><!-- --></A>
    +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
    +  <TR ALIGN="center" VALIGN="top">
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../org/jacoco/report/JavaNames.html" title="class in org.jacoco.report"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
    +  </TR>
    +</TABLE>
    +</TD>
    +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
    +</EM>
    +</TD>
    +</TR>
    +
    +<TR>
    +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
    +&nbsp;PREV&nbsp;
    +&nbsp;NEXT</FONT></TD>
    +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
    +  <A HREF="../../../../index.html?org/jacoco/report/class-use/JavaNames.html" target="_top"><B>FRAMES</B></A>  &nbsp;
    +&nbsp;<A HREF="JavaNames.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
    +&nbsp;<SCRIPT type="text/javascript">
    +  <!--
    +  if(window==top) {
    +    document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>');
    +  }
    +  //-->
    +</SCRIPT>
    +<NOSCRIPT>
    +  <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>
    +</NOSCRIPT>
    +
    +
    +</FONT></TD>
    +</TR>
    +</TABLE>
    +<A NAME="skip-navbar_top"></A>
    +<!-- ========= END OF TOP NAVBAR ========= -->
    +
    +<HR>
    +<CENTER>
    +<H2>
    +<B>Uses of Class<br>org.jacoco.report.JavaNames</B></H2>
    +</CENTER>
    +No usage of org.jacoco.report.JavaNames
    +<P>
    +<HR>
    +
    +
    +<!-- ======= START OF BOTTOM NAVBAR ====== -->
    +<A NAME="navbar_bottom"><!-- --></A>
    +<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
    +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
    +<TR>
    +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
    +<A NAME="navbar_bottom_firstrow"><!-- --></A>
    +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
    +  <TR ALIGN="center" VALIGN="top">
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../org/jacoco/report/JavaNames.html" title="class in org.jacoco.report"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
    +  </TR>
    +</TABLE>
    +</TD>
    +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
    +</EM>
    +</TD>
    +</TR>
    +
    +<TR>
    +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
    +&nbsp;PREV&nbsp;
    +&nbsp;NEXT</FONT></TD>
    +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
    +  <A HREF="../../../../index.html?org/jacoco/report/class-use/JavaNames.html" target="_top"><B>FRAMES</B></A>  &nbsp;
    +&nbsp;<A HREF="JavaNames.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
    +&nbsp;<SCRIPT type="text/javascript">
    +  <!--
    +  if(window==top) {
    +    document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>');
    +  }
    +  //-->
    +</SCRIPT>
    +<NOSCRIPT>
    +  <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>
    +</NOSCRIPT>
    +
    +
    +</FONT></TD>
    +</TR>
    +</TABLE>
    +<A NAME="skip-navbar_bottom"></A>
    +<!-- ======== END OF BOTTOM NAVBAR ======= -->
    +
    +<HR>
    +Copyright &#169; 2009&#x2013;2024 Mountainminds GmbH & Co. KG. All rights reserved.
    +</BODY>
    +</HTML>
    diff --git a/jacoco/trunk/doc/api/org/jacoco/report/class-use/MultiReportVisitor.html b/jacoco/trunk/doc/api/org/jacoco/report/class-use/MultiReportVisitor.html
    new file mode 100644
    index 00000000000..aaa7c72899b
    --- /dev/null
    +++ b/jacoco/trunk/doc/api/org/jacoco/report/class-use/MultiReportVisitor.html
    @@ -0,0 +1,141 @@
    +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
    +<!--NewPage-->
    +<HTML>
    +<HEAD>
    +<!-- Generated by javadoc (build 1.5.0_22) on Wed Mar 27 16:45:42 UTC 2024 -->
    +<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
    +<TITLE>
    +Uses of Class org.jacoco.report.MultiReportVisitor (JaCoCo 0.8.12.202403270442 API)
    +</TITLE>
    +
    +
    +<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../stylesheet.css" TITLE="Style">
    +
    +<SCRIPT type="text/javascript">
    +function windowTitle()
    +{
    +    parent.document.title="Uses of Class org.jacoco.report.MultiReportVisitor (JaCoCo 0.8.12.202403270442 API)";
    +}
    +</SCRIPT>
    +<NOSCRIPT>
    +</NOSCRIPT>
    +
    +</HEAD>
    +
    +<BODY BGCOLOR="white" onload="windowTitle();">
    +
    +
    +<!-- ========= START OF TOP NAVBAR ======= -->
    +<A NAME="navbar_top"><!-- --></A>
    +<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
    +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
    +<TR>
    +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
    +<A NAME="navbar_top_firstrow"><!-- --></A>
    +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
    +  <TR ALIGN="center" VALIGN="top">
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../org/jacoco/report/MultiReportVisitor.html" title="class in org.jacoco.report"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
    +  </TR>
    +</TABLE>
    +</TD>
    +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
    +</EM>
    +</TD>
    +</TR>
    +
    +<TR>
    +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
    +&nbsp;PREV&nbsp;
    +&nbsp;NEXT</FONT></TD>
    +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
    +  <A HREF="../../../../index.html?org/jacoco/report/class-use/MultiReportVisitor.html" target="_top"><B>FRAMES</B></A>  &nbsp;
    +&nbsp;<A HREF="MultiReportVisitor.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
    +&nbsp;<SCRIPT type="text/javascript">
    +  <!--
    +  if(window==top) {
    +    document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>');
    +  }
    +  //-->
    +</SCRIPT>
    +<NOSCRIPT>
    +  <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>
    +</NOSCRIPT>
    +
    +
    +</FONT></TD>
    +</TR>
    +</TABLE>
    +<A NAME="skip-navbar_top"></A>
    +<!-- ========= END OF TOP NAVBAR ========= -->
    +
    +<HR>
    +<CENTER>
    +<H2>
    +<B>Uses of Class<br>org.jacoco.report.MultiReportVisitor</B></H2>
    +</CENTER>
    +No usage of org.jacoco.report.MultiReportVisitor
    +<P>
    +<HR>
    +
    +
    +<!-- ======= START OF BOTTOM NAVBAR ====== -->
    +<A NAME="navbar_bottom"><!-- --></A>
    +<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
    +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
    +<TR>
    +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
    +<A NAME="navbar_bottom_firstrow"><!-- --></A>
    +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
    +  <TR ALIGN="center" VALIGN="top">
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../org/jacoco/report/MultiReportVisitor.html" title="class in org.jacoco.report"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
    +  </TR>
    +</TABLE>
    +</TD>
    +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
    +</EM>
    +</TD>
    +</TR>
    +
    +<TR>
    +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
    +&nbsp;PREV&nbsp;
    +&nbsp;NEXT</FONT></TD>
    +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
    +  <A HREF="../../../../index.html?org/jacoco/report/class-use/MultiReportVisitor.html" target="_top"><B>FRAMES</B></A>  &nbsp;
    +&nbsp;<A HREF="MultiReportVisitor.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
    +&nbsp;<SCRIPT type="text/javascript">
    +  <!--
    +  if(window==top) {
    +    document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>');
    +  }
    +  //-->
    +</SCRIPT>
    +<NOSCRIPT>
    +  <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>
    +</NOSCRIPT>
    +
    +
    +</FONT></TD>
    +</TR>
    +</TABLE>
    +<A NAME="skip-navbar_bottom"></A>
    +<!-- ======== END OF BOTTOM NAVBAR ======= -->
    +
    +<HR>
    +Copyright &#169; 2009&#x2013;2024 Mountainminds GmbH & Co. KG. All rights reserved.
    +</BODY>
    +</HTML>
    diff --git a/jacoco/trunk/doc/api/org/jacoco/report/class-use/MultiSourceFileLocator.html b/jacoco/trunk/doc/api/org/jacoco/report/class-use/MultiSourceFileLocator.html
    new file mode 100644
    index 00000000000..24555b24f75
    --- /dev/null
    +++ b/jacoco/trunk/doc/api/org/jacoco/report/class-use/MultiSourceFileLocator.html
    @@ -0,0 +1,141 @@
    +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
    +<!--NewPage-->
    +<HTML>
    +<HEAD>
    +<!-- Generated by javadoc (build 1.5.0_22) on Wed Mar 27 16:45:42 UTC 2024 -->
    +<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
    +<TITLE>
    +Uses of Class org.jacoco.report.MultiSourceFileLocator (JaCoCo 0.8.12.202403270442 API)
    +</TITLE>
    +
    +
    +<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../stylesheet.css" TITLE="Style">
    +
    +<SCRIPT type="text/javascript">
    +function windowTitle()
    +{
    +    parent.document.title="Uses of Class org.jacoco.report.MultiSourceFileLocator (JaCoCo 0.8.12.202403270442 API)";
    +}
    +</SCRIPT>
    +<NOSCRIPT>
    +</NOSCRIPT>
    +
    +</HEAD>
    +
    +<BODY BGCOLOR="white" onload="windowTitle();">
    +
    +
    +<!-- ========= START OF TOP NAVBAR ======= -->
    +<A NAME="navbar_top"><!-- --></A>
    +<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
    +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
    +<TR>
    +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
    +<A NAME="navbar_top_firstrow"><!-- --></A>
    +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
    +  <TR ALIGN="center" VALIGN="top">
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../org/jacoco/report/MultiSourceFileLocator.html" title="class in org.jacoco.report"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
    +  </TR>
    +</TABLE>
    +</TD>
    +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
    +</EM>
    +</TD>
    +</TR>
    +
    +<TR>
    +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
    +&nbsp;PREV&nbsp;
    +&nbsp;NEXT</FONT></TD>
    +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
    +  <A HREF="../../../../index.html?org/jacoco/report/class-use/MultiSourceFileLocator.html" target="_top"><B>FRAMES</B></A>  &nbsp;
    +&nbsp;<A HREF="MultiSourceFileLocator.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
    +&nbsp;<SCRIPT type="text/javascript">
    +  <!--
    +  if(window==top) {
    +    document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>');
    +  }
    +  //-->
    +</SCRIPT>
    +<NOSCRIPT>
    +  <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>
    +</NOSCRIPT>
    +
    +
    +</FONT></TD>
    +</TR>
    +</TABLE>
    +<A NAME="skip-navbar_top"></A>
    +<!-- ========= END OF TOP NAVBAR ========= -->
    +
    +<HR>
    +<CENTER>
    +<H2>
    +<B>Uses of Class<br>org.jacoco.report.MultiSourceFileLocator</B></H2>
    +</CENTER>
    +No usage of org.jacoco.report.MultiSourceFileLocator
    +<P>
    +<HR>
    +
    +
    +<!-- ======= START OF BOTTOM NAVBAR ====== -->
    +<A NAME="navbar_bottom"><!-- --></A>
    +<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
    +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
    +<TR>
    +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
    +<A NAME="navbar_bottom_firstrow"><!-- --></A>
    +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
    +  <TR ALIGN="center" VALIGN="top">
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../org/jacoco/report/MultiSourceFileLocator.html" title="class in org.jacoco.report"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
    +  </TR>
    +</TABLE>
    +</TD>
    +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
    +</EM>
    +</TD>
    +</TR>
    +
    +<TR>
    +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
    +&nbsp;PREV&nbsp;
    +&nbsp;NEXT</FONT></TD>
    +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
    +  <A HREF="../../../../index.html?org/jacoco/report/class-use/MultiSourceFileLocator.html" target="_top"><B>FRAMES</B></A>  &nbsp;
    +&nbsp;<A HREF="MultiSourceFileLocator.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
    +&nbsp;<SCRIPT type="text/javascript">
    +  <!--
    +  if(window==top) {
    +    document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>');
    +  }
    +  //-->
    +</SCRIPT>
    +<NOSCRIPT>
    +  <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>
    +</NOSCRIPT>
    +
    +
    +</FONT></TD>
    +</TR>
    +</TABLE>
    +<A NAME="skip-navbar_bottom"></A>
    +<!-- ======== END OF BOTTOM NAVBAR ======= -->
    +
    +<HR>
    +Copyright &#169; 2009&#x2013;2024 Mountainminds GmbH & Co. KG. All rights reserved.
    +</BODY>
    +</HTML>
    diff --git a/jacoco/trunk/doc/api/org/jacoco/report/class-use/ZipMultiReportOutput.html b/jacoco/trunk/doc/api/org/jacoco/report/class-use/ZipMultiReportOutput.html
    new file mode 100644
    index 00000000000..7e902527a51
    --- /dev/null
    +++ b/jacoco/trunk/doc/api/org/jacoco/report/class-use/ZipMultiReportOutput.html
    @@ -0,0 +1,141 @@
    +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
    +<!--NewPage-->
    +<HTML>
    +<HEAD>
    +<!-- Generated by javadoc (build 1.5.0_22) on Wed Mar 27 16:45:42 UTC 2024 -->
    +<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
    +<TITLE>
    +Uses of Class org.jacoco.report.ZipMultiReportOutput (JaCoCo 0.8.12.202403270442 API)
    +</TITLE>
    +
    +
    +<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../stylesheet.css" TITLE="Style">
    +
    +<SCRIPT type="text/javascript">
    +function windowTitle()
    +{
    +    parent.document.title="Uses of Class org.jacoco.report.ZipMultiReportOutput (JaCoCo 0.8.12.202403270442 API)";
    +}
    +</SCRIPT>
    +<NOSCRIPT>
    +</NOSCRIPT>
    +
    +</HEAD>
    +
    +<BODY BGCOLOR="white" onload="windowTitle();">
    +
    +
    +<!-- ========= START OF TOP NAVBAR ======= -->
    +<A NAME="navbar_top"><!-- --></A>
    +<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
    +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
    +<TR>
    +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
    +<A NAME="navbar_top_firstrow"><!-- --></A>
    +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
    +  <TR ALIGN="center" VALIGN="top">
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../org/jacoco/report/ZipMultiReportOutput.html" title="class in org.jacoco.report"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
    +  </TR>
    +</TABLE>
    +</TD>
    +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
    +</EM>
    +</TD>
    +</TR>
    +
    +<TR>
    +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
    +&nbsp;PREV&nbsp;
    +&nbsp;NEXT</FONT></TD>
    +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
    +  <A HREF="../../../../index.html?org/jacoco/report/class-use/ZipMultiReportOutput.html" target="_top"><B>FRAMES</B></A>  &nbsp;
    +&nbsp;<A HREF="ZipMultiReportOutput.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
    +&nbsp;<SCRIPT type="text/javascript">
    +  <!--
    +  if(window==top) {
    +    document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>');
    +  }
    +  //-->
    +</SCRIPT>
    +<NOSCRIPT>
    +  <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>
    +</NOSCRIPT>
    +
    +
    +</FONT></TD>
    +</TR>
    +</TABLE>
    +<A NAME="skip-navbar_top"></A>
    +<!-- ========= END OF TOP NAVBAR ========= -->
    +
    +<HR>
    +<CENTER>
    +<H2>
    +<B>Uses of Class<br>org.jacoco.report.ZipMultiReportOutput</B></H2>
    +</CENTER>
    +No usage of org.jacoco.report.ZipMultiReportOutput
    +<P>
    +<HR>
    +
    +
    +<!-- ======= START OF BOTTOM NAVBAR ====== -->
    +<A NAME="navbar_bottom"><!-- --></A>
    +<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
    +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
    +<TR>
    +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
    +<A NAME="navbar_bottom_firstrow"><!-- --></A>
    +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
    +  <TR ALIGN="center" VALIGN="top">
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../org/jacoco/report/ZipMultiReportOutput.html" title="class in org.jacoco.report"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
    +  </TR>
    +</TABLE>
    +</TD>
    +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
    +</EM>
    +</TD>
    +</TR>
    +
    +<TR>
    +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
    +&nbsp;PREV&nbsp;
    +&nbsp;NEXT</FONT></TD>
    +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
    +  <A HREF="../../../../index.html?org/jacoco/report/class-use/ZipMultiReportOutput.html" target="_top"><B>FRAMES</B></A>  &nbsp;
    +&nbsp;<A HREF="ZipMultiReportOutput.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
    +&nbsp;<SCRIPT type="text/javascript">
    +  <!--
    +  if(window==top) {
    +    document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>');
    +  }
    +  //-->
    +</SCRIPT>
    +<NOSCRIPT>
    +  <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>
    +</NOSCRIPT>
    +
    +
    +</FONT></TD>
    +</TR>
    +</TABLE>
    +<A NAME="skip-navbar_bottom"></A>
    +<!-- ======== END OF BOTTOM NAVBAR ======= -->
    +
    +<HR>
    +Copyright &#169; 2009&#x2013;2024 Mountainminds GmbH & Co. KG. All rights reserved.
    +</BODY>
    +</HTML>
    diff --git a/jacoco/trunk/doc/api/org/jacoco/report/csv/CSVFormatter.html b/jacoco/trunk/doc/api/org/jacoco/report/csv/CSVFormatter.html
    new file mode 100644
    index 00000000000..c9e32fa6ebe
    --- /dev/null
    +++ b/jacoco/trunk/doc/api/org/jacoco/report/csv/CSVFormatter.html
    @@ -0,0 +1,326 @@
    +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
    +<!--NewPage-->
    +<HTML>
    +<HEAD>
    +<!-- Generated by javadoc (build 1.5.0_22) on Wed Mar 27 16:45:42 UTC 2024 -->
    +<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
    +<TITLE>
    +CSVFormatter (JaCoCo 0.8.12.202403270442 API)
    +</TITLE>
    +
    +<META NAME="keywords" CONTENT="org.jacoco.report.csv.CSVFormatter class">
    +
    +<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../stylesheet.css" TITLE="Style">
    +
    +<SCRIPT type="text/javascript">
    +function windowTitle()
    +{
    +    parent.document.title="CSVFormatter (JaCoCo 0.8.12.202403270442 API)";
    +}
    +</SCRIPT>
    +<NOSCRIPT>
    +</NOSCRIPT>
    +
    +</HEAD>
    +
    +<BODY BGCOLOR="white" onload="windowTitle();">
    +
    +
    +<!-- ========= START OF TOP NAVBAR ======= -->
    +<A NAME="navbar_top"><!-- --></A>
    +<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
    +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
    +<TR>
    +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
    +<A NAME="navbar_top_firstrow"><!-- --></A>
    +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
    +  <TR ALIGN="center" VALIGN="top">
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="class-use/CSVFormatter.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
    +  </TR>
    +</TABLE>
    +</TD>
    +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
    +</EM>
    +</TD>
    +</TR>
    +
    +<TR>
    +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
    +&nbsp;PREV CLASS&nbsp;
    +&nbsp;NEXT CLASS</FONT></TD>
    +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
    +  <A HREF="../../../../index.html?org/jacoco/report/csv/CSVFormatter.html" target="_top"><B>FRAMES</B></A>  &nbsp;
    +&nbsp;<A HREF="CSVFormatter.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
    +&nbsp;<SCRIPT type="text/javascript">
    +  <!--
    +  if(window==top) {
    +    document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>');
    +  }
    +  //-->
    +</SCRIPT>
    +<NOSCRIPT>
    +  <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>
    +</NOSCRIPT>
    +
    +
    +</FONT></TD>
    +</TR>
    +<TR>
    +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
    +  SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;FIELD&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD>
    +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
    +DETAIL:&nbsp;FIELD&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD>
    +</TR>
    +</TABLE>
    +<A NAME="skip-navbar_top"></A>
    +<!-- ========= END OF TOP NAVBAR ========= -->
    +
    +<HR>
    +<!-- ======== START OF CLASS DATA ======== -->
    +<H2>
    +<FONT SIZE="-1">
    +org.jacoco.report.csv</FONT>
    +<BR>
    +Class CSVFormatter</H2>
    +<PRE>
    +<A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html" title="class or interface in java.lang">java.lang.Object</A>
    +  <IMG SRC="../../../../resources/inherit.gif" ALT="extended by "><B>org.jacoco.report.csv.CSVFormatter</B>
    +</PRE>
    +<HR>
    +<DL>
    +<DT><PRE>public class <B>CSVFormatter</B><DT>extends <A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html" title="class or interface in java.lang">Object</A></DL>
    +</PRE>
    +
    +<P>
    +Report formatter that will create a single CSV file. By default the filename
    + used will be the name of the session.
    +<P>
    +
    +<P>
    +<HR>
    +
    +<P>
    +
    +<!-- ======== CONSTRUCTOR SUMMARY ======== -->
    +
    +<A NAME="constructor_summary"><!-- --></A>
    +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
    +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
    +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
    +<B>Constructor Summary</B></FONT></TH>
    +</TR>
    +<TR BGCOLOR="white" CLASS="TableRowColor">
    +<TD><CODE><B><A HREF="../../../../org/jacoco/report/csv/CSVFormatter.html#CSVFormatter()">CSVFormatter</A></B>()</CODE>
    +
    +<BR>
    +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
    +</TR>
    +</TABLE>
    +&nbsp;
    +<!-- ========== METHOD SUMMARY =========== -->
    +
    +<A NAME="method_summary"><!-- --></A>
    +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
    +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
    +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
    +<B>Method Summary</B></FONT></TH>
    +</TR>
    +<TR BGCOLOR="white" CLASS="TableRowColor">
    +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
    +<CODE>&nbsp;<A HREF="../../../../org/jacoco/report/IReportVisitor.html" title="interface in org.jacoco.report">IReportVisitor</A></CODE></FONT></TD>
    +<TD><CODE><B><A HREF="../../../../org/jacoco/report/csv/CSVFormatter.html#createVisitor(java.io.OutputStream)">createVisitor</A></B>(<A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/io/OutputStream.html" title="class or interface in java.io">OutputStream</A>&nbsp;output)</CODE>
    +
    +<BR>
    +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Creates a new visitor to write a report to the given stream.</TD>
    +</TR>
    +<TR BGCOLOR="white" CLASS="TableRowColor">
    +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
    +<CODE>&nbsp;<A HREF="../../../../org/jacoco/report/ILanguageNames.html" title="interface in org.jacoco.report">ILanguageNames</A></CODE></FONT></TD>
    +<TD><CODE><B><A HREF="../../../../org/jacoco/report/csv/CSVFormatter.html#getLanguageNames()">getLanguageNames</A></B>()</CODE>
    +
    +<BR>
    +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns the language names call-back used in this report.</TD>
    +</TR>
    +<TR BGCOLOR="white" CLASS="TableRowColor">
    +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
    +<CODE>&nbsp;void</CODE></FONT></TD>
    +<TD><CODE><B><A HREF="../../../../org/jacoco/report/csv/CSVFormatter.html#setLanguageNames(org.jacoco.report.ILanguageNames)">setLanguageNames</A></B>(<A HREF="../../../../org/jacoco/report/ILanguageNames.html" title="interface in org.jacoco.report">ILanguageNames</A>&nbsp;languageNames)</CODE>
    +
    +<BR>
    +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Sets the implementation for language name display.</TD>
    +</TR>
    +<TR BGCOLOR="white" CLASS="TableRowColor">
    +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
    +<CODE>&nbsp;void</CODE></FONT></TD>
    +<TD><CODE><B><A HREF="../../../../org/jacoco/report/csv/CSVFormatter.html#setOutputEncoding(java.lang.String)">setOutputEncoding</A></B>(<A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A>&nbsp;outputEncoding)</CODE>
    +
    +<BR>
    +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Sets the encoding used for generated CSV document.</TD>
    +</TR>
    +</TABLE>
    +&nbsp;<A NAME="methods_inherited_from_class_java.lang.Object"><!-- --></A>
    +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
    +<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
    +<TH ALIGN="left"><B>Methods inherited from class java.lang.<A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html" title="class or interface in java.lang">Object</A></B></TH>
    +</TR>
    +<TR BGCOLOR="white" CLASS="TableRowColor">
    +<TD><CODE><A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html#clone()" title="class or interface in java.lang">clone</A>, <A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html#equals(java.lang.Object)" title="class or interface in java.lang">equals</A>, <A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html#finalize()" title="class or interface in java.lang">finalize</A>, <A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html#getClass()" title="class or interface in java.lang">getClass</A>, <A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html#hashCode()" title="class or interface in java.lang">hashCode</A>, <A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html#notify()" title="class or interface in java.lang">notify</A>, <A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html#notifyAll()" title="class or interface in java.lang">notifyAll</A>, <A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html#toString()" title="class or interface in java.lang">toString</A>, <A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html#wait()" title="class or interface in java.lang">wait</A>, <A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html#wait(long)" title="class or interface in java.lang">wait</A>, <A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html#wait(long, int)" title="class or interface in java.lang">wait</A></CODE></TD>
    +</TR>
    +</TABLE>
    +&nbsp;
    +<P>
    +
    +<!-- ========= CONSTRUCTOR DETAIL ======== -->
    +
    +<A NAME="constructor_detail"><!-- --></A>
    +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
    +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
    +<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2">
    +<B>Constructor Detail</B></FONT></TH>
    +</TR>
    +</TABLE>
    +
    +<A NAME="CSVFormatter()"><!-- --></A><H3>
    +CSVFormatter</H3>
    +<PRE>
    +public <B>CSVFormatter</B>()</PRE>
    +<DL>
    +</DL>
    +
    +<!-- ============ METHOD DETAIL ========== -->
    +
    +<A NAME="method_detail"><!-- --></A>
    +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
    +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
    +<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2">
    +<B>Method Detail</B></FONT></TH>
    +</TR>
    +</TABLE>
    +
    +<A NAME="setLanguageNames(org.jacoco.report.ILanguageNames)"><!-- --></A><H3>
    +setLanguageNames</H3>
    +<PRE>
    +public void <B>setLanguageNames</B>(<A HREF="../../../../org/jacoco/report/ILanguageNames.html" title="interface in org.jacoco.report">ILanguageNames</A>&nbsp;languageNames)</PRE>
    +<DL>
    +<DD>Sets the implementation for language name display. Java language names
    + are defined by default.
    +<P>
    +<DD><DL>
    +<DT><B>Parameters:</B><DD><CODE>languageNames</CODE> - converter for language specific names</DL>
    +</DD>
    +</DL>
    +<HR>
    +
    +<A NAME="getLanguageNames()"><!-- --></A><H3>
    +getLanguageNames</H3>
    +<PRE>
    +public <A HREF="../../../../org/jacoco/report/ILanguageNames.html" title="interface in org.jacoco.report">ILanguageNames</A> <B>getLanguageNames</B>()</PRE>
    +<DL>
    +<DD>Returns the language names call-back used in this report.
    +<P>
    +<DD><DL>
    +
    +<DT><B>Returns:</B><DD>language names</DL>
    +</DD>
    +</DL>
    +<HR>
    +
    +<A NAME="setOutputEncoding(java.lang.String)"><!-- --></A><H3>
    +setOutputEncoding</H3>
    +<PRE>
    +public void <B>setOutputEncoding</B>(<A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A>&nbsp;outputEncoding)</PRE>
    +<DL>
    +<DD>Sets the encoding used for generated CSV document. Default is UTF-8.
    +<P>
    +<DD><DL>
    +<DT><B>Parameters:</B><DD><CODE>outputEncoding</CODE> - CSV output encoding</DL>
    +</DD>
    +</DL>
    +<HR>
    +
    +<A NAME="createVisitor(java.io.OutputStream)"><!-- --></A><H3>
    +createVisitor</H3>
    +<PRE>
    +public <A HREF="../../../../org/jacoco/report/IReportVisitor.html" title="interface in org.jacoco.report">IReportVisitor</A> <B>createVisitor</B>(<A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/io/OutputStream.html" title="class or interface in java.io">OutputStream</A>&nbsp;output)
    +                             throws <A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/io/IOException.html" title="class or interface in java.io">IOException</A></PRE>
    +<DL>
    +<DD>Creates a new visitor to write a report to the given stream.
    +<P>
    +<DD><DL>
    +<DT><B>Parameters:</B><DD><CODE>output</CODE> - output stream to write the report to
    +<DT><B>Returns:</B><DD>visitor to emit the report data to
    +<DT><B>Throws:</B>
    +<DD><CODE><A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/io/IOException.html" title="class or interface in java.io">IOException</A></CODE> - in case of problems with the output stream</DL>
    +</DD>
    +</DL>
    +<!-- ========= END OF CLASS DATA ========= -->
    +<HR>
    +
    +
    +<!-- ======= START OF BOTTOM NAVBAR ====== -->
    +<A NAME="navbar_bottom"><!-- --></A>
    +<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
    +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
    +<TR>
    +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
    +<A NAME="navbar_bottom_firstrow"><!-- --></A>
    +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
    +  <TR ALIGN="center" VALIGN="top">
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="class-use/CSVFormatter.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
    +  </TR>
    +</TABLE>
    +</TD>
    +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
    +</EM>
    +</TD>
    +</TR>
    +
    +<TR>
    +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
    +&nbsp;PREV CLASS&nbsp;
    +&nbsp;NEXT CLASS</FONT></TD>
    +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
    +  <A HREF="../../../../index.html?org/jacoco/report/csv/CSVFormatter.html" target="_top"><B>FRAMES</B></A>  &nbsp;
    +&nbsp;<A HREF="CSVFormatter.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
    +&nbsp;<SCRIPT type="text/javascript">
    +  <!--
    +  if(window==top) {
    +    document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>');
    +  }
    +  //-->
    +</SCRIPT>
    +<NOSCRIPT>
    +  <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>
    +</NOSCRIPT>
    +
    +
    +</FONT></TD>
    +</TR>
    +<TR>
    +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
    +  SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;FIELD&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD>
    +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
    +DETAIL:&nbsp;FIELD&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD>
    +</TR>
    +</TABLE>
    +<A NAME="skip-navbar_bottom"></A>
    +<!-- ======== END OF BOTTOM NAVBAR ======= -->
    +
    +<HR>
    +Copyright &#169; 2009&#x2013;2024 Mountainminds GmbH & Co. KG. All rights reserved.
    +</BODY>
    +</HTML>
    diff --git a/jacoco/trunk/doc/api/org/jacoco/report/csv/class-use/CSVFormatter.html b/jacoco/trunk/doc/api/org/jacoco/report/csv/class-use/CSVFormatter.html
    new file mode 100644
    index 00000000000..d74c067b770
    --- /dev/null
    +++ b/jacoco/trunk/doc/api/org/jacoco/report/csv/class-use/CSVFormatter.html
    @@ -0,0 +1,141 @@
    +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
    +<!--NewPage-->
    +<HTML>
    +<HEAD>
    +<!-- Generated by javadoc (build 1.5.0_22) on Wed Mar 27 16:45:42 UTC 2024 -->
    +<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
    +<TITLE>
    +Uses of Class org.jacoco.report.csv.CSVFormatter (JaCoCo 0.8.12.202403270442 API)
    +</TITLE>
    +
    +
    +<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../../stylesheet.css" TITLE="Style">
    +
    +<SCRIPT type="text/javascript">
    +function windowTitle()
    +{
    +    parent.document.title="Uses of Class org.jacoco.report.csv.CSVFormatter (JaCoCo 0.8.12.202403270442 API)";
    +}
    +</SCRIPT>
    +<NOSCRIPT>
    +</NOSCRIPT>
    +
    +</HEAD>
    +
    +<BODY BGCOLOR="white" onload="windowTitle();">
    +
    +
    +<!-- ========= START OF TOP NAVBAR ======= -->
    +<A NAME="navbar_top"><!-- --></A>
    +<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
    +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
    +<TR>
    +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
    +<A NAME="navbar_top_firstrow"><!-- --></A>
    +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
    +  <TR ALIGN="center" VALIGN="top">
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../org/jacoco/report/csv/CSVFormatter.html" title="class in org.jacoco.report.csv"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
    +  </TR>
    +</TABLE>
    +</TD>
    +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
    +</EM>
    +</TD>
    +</TR>
    +
    +<TR>
    +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
    +&nbsp;PREV&nbsp;
    +&nbsp;NEXT</FONT></TD>
    +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
    +  <A HREF="../../../../../index.html?org/jacoco/report/csv/class-use/CSVFormatter.html" target="_top"><B>FRAMES</B></A>  &nbsp;
    +&nbsp;<A HREF="CSVFormatter.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
    +&nbsp;<SCRIPT type="text/javascript">
    +  <!--
    +  if(window==top) {
    +    document.writeln('<A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>');
    +  }
    +  //-->
    +</SCRIPT>
    +<NOSCRIPT>
    +  <A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>
    +</NOSCRIPT>
    +
    +
    +</FONT></TD>
    +</TR>
    +</TABLE>
    +<A NAME="skip-navbar_top"></A>
    +<!-- ========= END OF TOP NAVBAR ========= -->
    +
    +<HR>
    +<CENTER>
    +<H2>
    +<B>Uses of Class<br>org.jacoco.report.csv.CSVFormatter</B></H2>
    +</CENTER>
    +No usage of org.jacoco.report.csv.CSVFormatter
    +<P>
    +<HR>
    +
    +
    +<!-- ======= START OF BOTTOM NAVBAR ====== -->
    +<A NAME="navbar_bottom"><!-- --></A>
    +<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
    +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
    +<TR>
    +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
    +<A NAME="navbar_bottom_firstrow"><!-- --></A>
    +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
    +  <TR ALIGN="center" VALIGN="top">
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../org/jacoco/report/csv/CSVFormatter.html" title="class in org.jacoco.report.csv"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
    +  </TR>
    +</TABLE>
    +</TD>
    +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
    +</EM>
    +</TD>
    +</TR>
    +
    +<TR>
    +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
    +&nbsp;PREV&nbsp;
    +&nbsp;NEXT</FONT></TD>
    +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
    +  <A HREF="../../../../../index.html?org/jacoco/report/csv/class-use/CSVFormatter.html" target="_top"><B>FRAMES</B></A>  &nbsp;
    +&nbsp;<A HREF="CSVFormatter.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
    +&nbsp;<SCRIPT type="text/javascript">
    +  <!--
    +  if(window==top) {
    +    document.writeln('<A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>');
    +  }
    +  //-->
    +</SCRIPT>
    +<NOSCRIPT>
    +  <A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>
    +</NOSCRIPT>
    +
    +
    +</FONT></TD>
    +</TR>
    +</TABLE>
    +<A NAME="skip-navbar_bottom"></A>
    +<!-- ======== END OF BOTTOM NAVBAR ======= -->
    +
    +<HR>
    +Copyright &#169; 2009&#x2013;2024 Mountainminds GmbH & Co. KG. All rights reserved.
    +</BODY>
    +</HTML>
    diff --git a/jacoco/trunk/doc/api/org/jacoco/report/csv/package-frame.html b/jacoco/trunk/doc/api/org/jacoco/report/csv/package-frame.html
    new file mode 100644
    index 00000000000..ed198b8b39b
    --- /dev/null
    +++ b/jacoco/trunk/doc/api/org/jacoco/report/csv/package-frame.html
    @@ -0,0 +1,33 @@
    +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
    +<!--NewPage-->
    +<HTML>
    +<HEAD>
    +<!-- Generated by javadoc (build 1.5.0_22) on Wed Mar 27 16:45:42 UTC 2024 -->
    +<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
    +<TITLE>
    +org.jacoco.report.csv (JaCoCo 0.8.12.202403270442 API)
    +</TITLE>
    +
    +<META NAME="keywords" CONTENT="org.jacoco.report.csv package">
    +
    +<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../stylesheet.css" TITLE="Style">
    +
    +
    +</HEAD>
    +
    +<BODY BGCOLOR="white">
    +<FONT size="+1" CLASS="FrameTitleFont">
    +<A HREF="../../../../org/jacoco/report/csv/package-summary.html" target="classFrame">org.jacoco.report.csv</A></FONT>
    +<TABLE BORDER="0" WIDTH="100%" SUMMARY="">
    +<TR>
    +<TD NOWRAP><FONT size="+1" CLASS="FrameHeadingFont">
    +Classes</FONT>&nbsp;
    +<FONT CLASS="FrameItemFont">
    +<BR>
    +<A HREF="CSVFormatter.html" title="class in org.jacoco.report.csv" target="classFrame">CSVFormatter</A></FONT></TD>
    +</TR>
    +</TABLE>
    +
    +
    +</BODY>
    +</HTML>
    diff --git a/jacoco/trunk/doc/api/org/jacoco/report/csv/package-summary.html b/jacoco/trunk/doc/api/org/jacoco/report/csv/package-summary.html
    new file mode 100644
    index 00000000000..d8fe71bb1c6
    --- /dev/null
    +++ b/jacoco/trunk/doc/api/org/jacoco/report/csv/package-summary.html
    @@ -0,0 +1,170 @@
    +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
    +<!--NewPage-->
    +<HTML>
    +<HEAD>
    +<!-- Generated by javadoc (build 1.5.0_22) on Wed Mar 27 16:45:42 UTC 2024 -->
    +<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
    +<TITLE>
    +org.jacoco.report.csv (JaCoCo 0.8.12.202403270442 API)
    +</TITLE>
    +
    +<META NAME="keywords" CONTENT="org.jacoco.report.csv package">
    +
    +<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../stylesheet.css" TITLE="Style">
    +
    +<SCRIPT type="text/javascript">
    +function windowTitle()
    +{
    +    parent.document.title="org.jacoco.report.csv (JaCoCo 0.8.12.202403270442 API)";
    +}
    +</SCRIPT>
    +<NOSCRIPT>
    +</NOSCRIPT>
    +
    +</HEAD>
    +
    +<BODY BGCOLOR="white" onload="windowTitle();">
    +
    +
    +<!-- ========= START OF TOP NAVBAR ======= -->
    +<A NAME="navbar_top"><!-- --></A>
    +<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
    +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
    +<TR>
    +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
    +<A NAME="navbar_top_firstrow"><!-- --></A>
    +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
    +  <TR ALIGN="center" VALIGN="top">
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Package</B></FONT>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <FONT CLASS="NavBarFont1">Class</FONT>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-use.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
    +  </TR>
    +</TABLE>
    +</TD>
    +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
    +</EM>
    +</TD>
    +</TR>
    +
    +<TR>
    +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
    +&nbsp;<A HREF="../../../../org/jacoco/report/check/package-summary.html"><B>PREV PACKAGE</B></A>&nbsp;
    +&nbsp;<A HREF="../../../../org/jacoco/report/html/package-summary.html"><B>NEXT PACKAGE</B></A></FONT></TD>
    +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
    +  <A HREF="../../../../index.html?org/jacoco/report/csv/package-summary.html" target="_top"><B>FRAMES</B></A>  &nbsp;
    +&nbsp;<A HREF="package-summary.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
    +&nbsp;<SCRIPT type="text/javascript">
    +  <!--
    +  if(window==top) {
    +    document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>');
    +  }
    +  //-->
    +</SCRIPT>
    +<NOSCRIPT>
    +  <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>
    +</NOSCRIPT>
    +
    +
    +</FONT></TD>
    +</TR>
    +</TABLE>
    +<A NAME="skip-navbar_top"></A>
    +<!-- ========= END OF TOP NAVBAR ========= -->
    +
    +<HR>
    +<H2>
    +Package org.jacoco.report.csv
    +</H2>
    +CSV report implementation.
    +<P>
    +<B>See:</B>
    +<BR>
    +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<A HREF="#package_description"><B>Description</B></A>
    +<P>
    +
    +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
    +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
    +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
    +<B>Class Summary</B></FONT></TH>
    +</TR>
    +<TR BGCOLOR="white" CLASS="TableRowColor">
    +<TD WIDTH="15%"><B><A HREF="../../../../org/jacoco/report/csv/CSVFormatter.html" title="class in org.jacoco.report.csv">CSVFormatter</A></B></TD>
    +<TD>Report formatter that will create a single CSV file.</TD>
    +</TR>
    +</TABLE>
    +&nbsp;
    +
    +<P>
    +<A NAME="package_description"><!-- --></A><H2>
    +Package org.jacoco.report.csv Description
    +</H2>
    +
    +<P>
    +CSV report implementation.
    +<P>
    +
    +<P>
    +<DL>
    +</DL>
    +<HR>
    +
    +
    +<!-- ======= START OF BOTTOM NAVBAR ====== -->
    +<A NAME="navbar_bottom"><!-- --></A>
    +<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
    +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
    +<TR>
    +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
    +<A NAME="navbar_bottom_firstrow"><!-- --></A>
    +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
    +  <TR ALIGN="center" VALIGN="top">
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Package</B></FONT>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <FONT CLASS="NavBarFont1">Class</FONT>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-use.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
    +  </TR>
    +</TABLE>
    +</TD>
    +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
    +</EM>
    +</TD>
    +</TR>
    +
    +<TR>
    +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
    +&nbsp;<A HREF="../../../../org/jacoco/report/check/package-summary.html"><B>PREV PACKAGE</B></A>&nbsp;
    +&nbsp;<A HREF="../../../../org/jacoco/report/html/package-summary.html"><B>NEXT PACKAGE</B></A></FONT></TD>
    +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
    +  <A HREF="../../../../index.html?org/jacoco/report/csv/package-summary.html" target="_top"><B>FRAMES</B></A>  &nbsp;
    +&nbsp;<A HREF="package-summary.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
    +&nbsp;<SCRIPT type="text/javascript">
    +  <!--
    +  if(window==top) {
    +    document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>');
    +  }
    +  //-->
    +</SCRIPT>
    +<NOSCRIPT>
    +  <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>
    +</NOSCRIPT>
    +
    +
    +</FONT></TD>
    +</TR>
    +</TABLE>
    +<A NAME="skip-navbar_bottom"></A>
    +<!-- ======== END OF BOTTOM NAVBAR ======= -->
    +
    +<HR>
    +Copyright &#169; 2009&#x2013;2024 Mountainminds GmbH & Co. KG. All rights reserved.
    +</BODY>
    +</HTML>
    diff --git a/jacoco/trunk/doc/api/org/jacoco/report/csv/package-tree.html b/jacoco/trunk/doc/api/org/jacoco/report/csv/package-tree.html
    new file mode 100644
    index 00000000000..860deec9c9e
    --- /dev/null
    +++ b/jacoco/trunk/doc/api/org/jacoco/report/csv/package-tree.html
    @@ -0,0 +1,150 @@
    +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
    +<!--NewPage-->
    +<HTML>
    +<HEAD>
    +<!-- Generated by javadoc (build 1.5.0_22) on Wed Mar 27 16:45:42 UTC 2024 -->
    +<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
    +<TITLE>
    +org.jacoco.report.csv Class Hierarchy (JaCoCo 0.8.12.202403270442 API)
    +</TITLE>
    +
    +
    +<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../stylesheet.css" TITLE="Style">
    +
    +<SCRIPT type="text/javascript">
    +function windowTitle()
    +{
    +    parent.document.title="org.jacoco.report.csv Class Hierarchy (JaCoCo 0.8.12.202403270442 API)";
    +}
    +</SCRIPT>
    +<NOSCRIPT>
    +</NOSCRIPT>
    +
    +</HEAD>
    +
    +<BODY BGCOLOR="white" onload="windowTitle();">
    +
    +
    +<!-- ========= START OF TOP NAVBAR ======= -->
    +<A NAME="navbar_top"><!-- --></A>
    +<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
    +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
    +<TR>
    +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
    +<A NAME="navbar_top_firstrow"><!-- --></A>
    +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
    +  <TR ALIGN="center" VALIGN="top">
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <FONT CLASS="NavBarFont1">Class</FONT>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <FONT CLASS="NavBarFont1">Use</FONT>&nbsp;</TD>
    +  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Tree</B></FONT>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
    +  </TR>
    +</TABLE>
    +</TD>
    +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
    +</EM>
    +</TD>
    +</TR>
    +
    +<TR>
    +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
    +&nbsp;<A HREF="../../../../org/jacoco/report/check/package-tree.html"><B>PREV</B></A>&nbsp;
    +&nbsp;<A HREF="../../../../org/jacoco/report/html/package-tree.html"><B>NEXT</B></A></FONT></TD>
    +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
    +  <A HREF="../../../../index.html?org/jacoco/report/csv/package-tree.html" target="_top"><B>FRAMES</B></A>  &nbsp;
    +&nbsp;<A HREF="package-tree.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
    +&nbsp;<SCRIPT type="text/javascript">
    +  <!--
    +  if(window==top) {
    +    document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>');
    +  }
    +  //-->
    +</SCRIPT>
    +<NOSCRIPT>
    +  <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>
    +</NOSCRIPT>
    +
    +
    +</FONT></TD>
    +</TR>
    +</TABLE>
    +<A NAME="skip-navbar_top"></A>
    +<!-- ========= END OF TOP NAVBAR ========= -->
    +
    +<HR>
    +<CENTER>
    +<H2>
    +Hierarchy For Package org.jacoco.report.csv
    +</H2>
    +</CENTER>
    +<DL>
    +<DT><B>Package Hierarchies:</B><DD><A HREF="../../../../overview-tree.html">All Packages</A></DL>
    +<HR>
    +<H2>
    +Class Hierarchy
    +</H2>
    +<UL>
    +<LI TYPE="circle">java.lang.<A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html" title="class or interface in java.lang"><B>Object</B></A><UL>
    +<LI TYPE="circle">org.jacoco.report.csv.<A HREF="../../../../org/jacoco/report/csv/CSVFormatter.html" title="class in org.jacoco.report.csv"><B>CSVFormatter</B></A></UL>
    +</UL>
    +<HR>
    +
    +
    +<!-- ======= START OF BOTTOM NAVBAR ====== -->
    +<A NAME="navbar_bottom"><!-- --></A>
    +<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
    +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
    +<TR>
    +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
    +<A NAME="navbar_bottom_firstrow"><!-- --></A>
    +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
    +  <TR ALIGN="center" VALIGN="top">
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <FONT CLASS="NavBarFont1">Class</FONT>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <FONT CLASS="NavBarFont1">Use</FONT>&nbsp;</TD>
    +  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Tree</B></FONT>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
    +  </TR>
    +</TABLE>
    +</TD>
    +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
    +</EM>
    +</TD>
    +</TR>
    +
    +<TR>
    +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
    +&nbsp;<A HREF="../../../../org/jacoco/report/check/package-tree.html"><B>PREV</B></A>&nbsp;
    +&nbsp;<A HREF="../../../../org/jacoco/report/html/package-tree.html"><B>NEXT</B></A></FONT></TD>
    +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
    +  <A HREF="../../../../index.html?org/jacoco/report/csv/package-tree.html" target="_top"><B>FRAMES</B></A>  &nbsp;
    +&nbsp;<A HREF="package-tree.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
    +&nbsp;<SCRIPT type="text/javascript">
    +  <!--
    +  if(window==top) {
    +    document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>');
    +  }
    +  //-->
    +</SCRIPT>
    +<NOSCRIPT>
    +  <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>
    +</NOSCRIPT>
    +
    +
    +</FONT></TD>
    +</TR>
    +</TABLE>
    +<A NAME="skip-navbar_bottom"></A>
    +<!-- ======== END OF BOTTOM NAVBAR ======= -->
    +
    +<HR>
    +Copyright &#169; 2009&#x2013;2024 Mountainminds GmbH & Co. KG. All rights reserved.
    +</BODY>
    +</HTML>
    diff --git a/jacoco/trunk/doc/api/org/jacoco/report/csv/package-use.html b/jacoco/trunk/doc/api/org/jacoco/report/csv/package-use.html
    new file mode 100644
    index 00000000000..f5d91077aa4
    --- /dev/null
    +++ b/jacoco/trunk/doc/api/org/jacoco/report/csv/package-use.html
    @@ -0,0 +1,141 @@
    +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
    +<!--NewPage-->
    +<HTML>
    +<HEAD>
    +<!-- Generated by javadoc (build 1.5.0_22) on Wed Mar 27 16:45:42 UTC 2024 -->
    +<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
    +<TITLE>
    +Uses of Package org.jacoco.report.csv (JaCoCo 0.8.12.202403270442 API)
    +</TITLE>
    +
    +
    +<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../stylesheet.css" TITLE="Style">
    +
    +<SCRIPT type="text/javascript">
    +function windowTitle()
    +{
    +    parent.document.title="Uses of Package org.jacoco.report.csv (JaCoCo 0.8.12.202403270442 API)";
    +}
    +</SCRIPT>
    +<NOSCRIPT>
    +</NOSCRIPT>
    +
    +</HEAD>
    +
    +<BODY BGCOLOR="white" onload="windowTitle();">
    +
    +
    +<!-- ========= START OF TOP NAVBAR ======= -->
    +<A NAME="navbar_top"><!-- --></A>
    +<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
    +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
    +<TR>
    +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
    +<A NAME="navbar_top_firstrow"><!-- --></A>
    +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
    +  <TR ALIGN="center" VALIGN="top">
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <FONT CLASS="NavBarFont1">Class</FONT>&nbsp;</TD>
    +  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
    +  </TR>
    +</TABLE>
    +</TD>
    +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
    +</EM>
    +</TD>
    +</TR>
    +
    +<TR>
    +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
    +&nbsp;PREV&nbsp;
    +&nbsp;NEXT</FONT></TD>
    +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
    +  <A HREF="../../../../index.html?org/jacoco/report/csv/package-use.html" target="_top"><B>FRAMES</B></A>  &nbsp;
    +&nbsp;<A HREF="package-use.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
    +&nbsp;<SCRIPT type="text/javascript">
    +  <!--
    +  if(window==top) {
    +    document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>');
    +  }
    +  //-->
    +</SCRIPT>
    +<NOSCRIPT>
    +  <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>
    +</NOSCRIPT>
    +
    +
    +</FONT></TD>
    +</TR>
    +</TABLE>
    +<A NAME="skip-navbar_top"></A>
    +<!-- ========= END OF TOP NAVBAR ========= -->
    +
    +<HR>
    +<CENTER>
    +<H2>
    +<B>Uses of Package<br>org.jacoco.report.csv</B></H2>
    +</CENTER>
    +No usage of org.jacoco.report.csv
    +<P>
    +<HR>
    +
    +
    +<!-- ======= START OF BOTTOM NAVBAR ====== -->
    +<A NAME="navbar_bottom"><!-- --></A>
    +<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
    +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
    +<TR>
    +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
    +<A NAME="navbar_bottom_firstrow"><!-- --></A>
    +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
    +  <TR ALIGN="center" VALIGN="top">
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <FONT CLASS="NavBarFont1">Class</FONT>&nbsp;</TD>
    +  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
    +  </TR>
    +</TABLE>
    +</TD>
    +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
    +</EM>
    +</TD>
    +</TR>
    +
    +<TR>
    +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
    +&nbsp;PREV&nbsp;
    +&nbsp;NEXT</FONT></TD>
    +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
    +  <A HREF="../../../../index.html?org/jacoco/report/csv/package-use.html" target="_top"><B>FRAMES</B></A>  &nbsp;
    +&nbsp;<A HREF="package-use.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
    +&nbsp;<SCRIPT type="text/javascript">
    +  <!--
    +  if(window==top) {
    +    document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>');
    +  }
    +  //-->
    +</SCRIPT>
    +<NOSCRIPT>
    +  <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>
    +</NOSCRIPT>
    +
    +
    +</FONT></TD>
    +</TR>
    +</TABLE>
    +<A NAME="skip-navbar_bottom"></A>
    +<!-- ======== END OF BOTTOM NAVBAR ======= -->
    +
    +<HR>
    +Copyright &#169; 2009&#x2013;2024 Mountainminds GmbH & Co. KG. All rights reserved.
    +</BODY>
    +</HTML>
    diff --git a/jacoco/trunk/doc/api/org/jacoco/report/html/HTMLFormatter.html b/jacoco/trunk/doc/api/org/jacoco/report/html/HTMLFormatter.html
    new file mode 100644
    index 00000000000..750dd754f03
    --- /dev/null
    +++ b/jacoco/trunk/doc/api/org/jacoco/report/html/HTMLFormatter.html
    @@ -0,0 +1,542 @@
    +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
    +<!--NewPage-->
    +<HTML>
    +<HEAD>
    +<!-- Generated by javadoc (build 1.5.0_22) on Wed Mar 27 16:45:42 UTC 2024 -->
    +<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
    +<TITLE>
    +HTMLFormatter (JaCoCo 0.8.12.202403270442 API)
    +</TITLE>
    +
    +<META NAME="keywords" CONTENT="org.jacoco.report.html.HTMLFormatter class">
    +
    +<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../stylesheet.css" TITLE="Style">
    +
    +<SCRIPT type="text/javascript">
    +function windowTitle()
    +{
    +    parent.document.title="HTMLFormatter (JaCoCo 0.8.12.202403270442 API)";
    +}
    +</SCRIPT>
    +<NOSCRIPT>
    +</NOSCRIPT>
    +
    +</HEAD>
    +
    +<BODY BGCOLOR="white" onload="windowTitle();">
    +
    +
    +<!-- ========= START OF TOP NAVBAR ======= -->
    +<A NAME="navbar_top"><!-- --></A>
    +<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
    +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
    +<TR>
    +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
    +<A NAME="navbar_top_firstrow"><!-- --></A>
    +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
    +  <TR ALIGN="center" VALIGN="top">
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="class-use/HTMLFormatter.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
    +  </TR>
    +</TABLE>
    +</TD>
    +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
    +</EM>
    +</TD>
    +</TR>
    +
    +<TR>
    +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
    +&nbsp;PREV CLASS&nbsp;
    +&nbsp;NEXT CLASS</FONT></TD>
    +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
    +  <A HREF="../../../../index.html?org/jacoco/report/html/HTMLFormatter.html" target="_top"><B>FRAMES</B></A>  &nbsp;
    +&nbsp;<A HREF="HTMLFormatter.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
    +&nbsp;<SCRIPT type="text/javascript">
    +  <!--
    +  if(window==top) {
    +    document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>');
    +  }
    +  //-->
    +</SCRIPT>
    +<NOSCRIPT>
    +  <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>
    +</NOSCRIPT>
    +
    +
    +</FONT></TD>
    +</TR>
    +<TR>
    +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
    +  SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;FIELD&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD>
    +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
    +DETAIL:&nbsp;FIELD&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD>
    +</TR>
    +</TABLE>
    +<A NAME="skip-navbar_top"></A>
    +<!-- ========= END OF TOP NAVBAR ========= -->
    +
    +<HR>
    +<!-- ======== START OF CLASS DATA ======== -->
    +<H2>
    +<FONT SIZE="-1">
    +org.jacoco.report.html</FONT>
    +<BR>
    +Class HTMLFormatter</H2>
    +<PRE>
    +<A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html" title="class or interface in java.lang">java.lang.Object</A>
    +  <IMG SRC="../../../../resources/inherit.gif" ALT="extended by "><B>org.jacoco.report.html.HTMLFormatter</B>
    +</PRE>
    +<DL>
    +<DT><B>All Implemented Interfaces:</B> <DD>org.jacoco.report.internal.html.IHTMLReportContext</DD>
    +</DL>
    +<HR>
    +<DL>
    +<DT><PRE>public class <B>HTMLFormatter</B><DT>extends <A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html" title="class or interface in java.lang">Object</A><DT>implements org.jacoco.report.internal.html.IHTMLReportContext</DL>
    +</PRE>
    +
    +<P>
    +Formatter for coverage reports in multiple HTML pages.
    +<P>
    +
    +<P>
    +<HR>
    +
    +<P>
    +
    +<!-- ======== CONSTRUCTOR SUMMARY ======== -->
    +
    +<A NAME="constructor_summary"><!-- --></A>
    +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
    +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
    +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
    +<B>Constructor Summary</B></FONT></TH>
    +</TR>
    +<TR BGCOLOR="white" CLASS="TableRowColor">
    +<TD><CODE><B><A HREF="../../../../org/jacoco/report/html/HTMLFormatter.html#HTMLFormatter()">HTMLFormatter</A></B>()</CODE>
    +
    +<BR>
    +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;New instance with default settings.</TD>
    +</TR>
    +</TABLE>
    +&nbsp;
    +<!-- ========== METHOD SUMMARY =========== -->
    +
    +<A NAME="method_summary"><!-- --></A>
    +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
    +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
    +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
    +<B>Method Summary</B></FONT></TH>
    +</TR>
    +<TR BGCOLOR="white" CLASS="TableRowColor">
    +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
    +<CODE>&nbsp;<A HREF="../../../../org/jacoco/report/IReportVisitor.html" title="interface in org.jacoco.report">IReportVisitor</A></CODE></FONT></TD>
    +<TD><CODE><B><A HREF="../../../../org/jacoco/report/html/HTMLFormatter.html#createVisitor(org.jacoco.report.IMultiReportOutput)">createVisitor</A></B>(<A HREF="../../../../org/jacoco/report/IMultiReportOutput.html" title="interface in org.jacoco.report">IMultiReportOutput</A>&nbsp;output)</CODE>
    +
    +<BR>
    +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Creates a new visitor to write a report to the given output.</TD>
    +</TR>
    +<TR BGCOLOR="white" CLASS="TableRowColor">
    +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
    +<CODE>&nbsp;<A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A></CODE></FONT></TD>
    +<TD><CODE><B><A HREF="../../../../org/jacoco/report/html/HTMLFormatter.html#getFooterText()">getFooterText</A></B>()</CODE>
    +
    +<BR>
    +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
    +</TR>
    +<TR BGCOLOR="white" CLASS="TableRowColor">
    +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
    +<CODE>&nbsp;org.jacoco.report.internal.html.index.IIndexUpdate</CODE></FONT></TD>
    +<TD><CODE><B><A HREF="../../../../org/jacoco/report/html/HTMLFormatter.html#getIndexUpdate()">getIndexUpdate</A></B>()</CODE>
    +
    +<BR>
    +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
    +</TR>
    +<TR BGCOLOR="white" CLASS="TableRowColor">
    +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
    +<CODE>&nbsp;<A HREF="../../../../org/jacoco/report/ILanguageNames.html" title="interface in org.jacoco.report">ILanguageNames</A></CODE></FONT></TD>
    +<TD><CODE><B><A HREF="../../../../org/jacoco/report/html/HTMLFormatter.html#getLanguageNames()">getLanguageNames</A></B>()</CODE>
    +
    +<BR>
    +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
    +</TR>
    +<TR BGCOLOR="white" CLASS="TableRowColor">
    +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
    +<CODE>&nbsp;<A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/util/Locale.html" title="class or interface in java.util">Locale</A></CODE></FONT></TD>
    +<TD><CODE><B><A HREF="../../../../org/jacoco/report/html/HTMLFormatter.html#getLocale()">getLocale</A></B>()</CODE>
    +
    +<BR>
    +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
    +</TR>
    +<TR BGCOLOR="white" CLASS="TableRowColor">
    +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
    +<CODE>&nbsp;<A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A></CODE></FONT></TD>
    +<TD><CODE><B><A HREF="../../../../org/jacoco/report/html/HTMLFormatter.html#getOutputEncoding()">getOutputEncoding</A></B>()</CODE>
    +
    +<BR>
    +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
    +</TR>
    +<TR BGCOLOR="white" CLASS="TableRowColor">
    +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
    +<CODE>&nbsp;org.jacoco.report.internal.html.resources.Resources</CODE></FONT></TD>
    +<TD><CODE><B><A HREF="../../../../org/jacoco/report/html/HTMLFormatter.html#getResources()">getResources</A></B>()</CODE>
    +
    +<BR>
    +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
    +</TR>
    +<TR BGCOLOR="white" CLASS="TableRowColor">
    +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
    +<CODE>&nbsp;org.jacoco.report.internal.html.ILinkable</CODE></FONT></TD>
    +<TD><CODE><B><A HREF="../../../../org/jacoco/report/html/HTMLFormatter.html#getSessionsPage()">getSessionsPage</A></B>()</CODE>
    +
    +<BR>
    +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
    +</TR>
    +<TR BGCOLOR="white" CLASS="TableRowColor">
    +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
    +<CODE>&nbsp;org.jacoco.report.internal.html.table.Table</CODE></FONT></TD>
    +<TD><CODE><B><A HREF="../../../../org/jacoco/report/html/HTMLFormatter.html#getTable()">getTable</A></B>()</CODE>
    +
    +<BR>
    +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
    +</TR>
    +<TR BGCOLOR="white" CLASS="TableRowColor">
    +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
    +<CODE>&nbsp;void</CODE></FONT></TD>
    +<TD><CODE><B><A HREF="../../../../org/jacoco/report/html/HTMLFormatter.html#setFooterText(java.lang.String)">setFooterText</A></B>(<A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A>&nbsp;footerText)</CODE>
    +
    +<BR>
    +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Sets the optional text that should be included in every footer page.</TD>
    +</TR>
    +<TR BGCOLOR="white" CLASS="TableRowColor">
    +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
    +<CODE>&nbsp;void</CODE></FONT></TD>
    +<TD><CODE><B><A HREF="../../../../org/jacoco/report/html/HTMLFormatter.html#setLanguageNames(org.jacoco.report.ILanguageNames)">setLanguageNames</A></B>(<A HREF="../../../../org/jacoco/report/ILanguageNames.html" title="interface in org.jacoco.report">ILanguageNames</A>&nbsp;languageNames)</CODE>
    +
    +<BR>
    +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Sets the implementation for language name display.</TD>
    +</TR>
    +<TR BGCOLOR="white" CLASS="TableRowColor">
    +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
    +<CODE>&nbsp;void</CODE></FONT></TD>
    +<TD><CODE><B><A HREF="../../../../org/jacoco/report/html/HTMLFormatter.html#setLocale(java.util.Locale)">setLocale</A></B>(<A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/util/Locale.html" title="class or interface in java.util">Locale</A>&nbsp;locale)</CODE>
    +
    +<BR>
    +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Sets the locale used for report rendering.</TD>
    +</TR>
    +<TR BGCOLOR="white" CLASS="TableRowColor">
    +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
    +<CODE>&nbsp;void</CODE></FONT></TD>
    +<TD><CODE><B><A HREF="../../../../org/jacoco/report/html/HTMLFormatter.html#setOutputEncoding(java.lang.String)">setOutputEncoding</A></B>(<A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A>&nbsp;outputEncoding)</CODE>
    +
    +<BR>
    +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Sets the encoding used for generated HTML pages.</TD>
    +</TR>
    +</TABLE>
    +&nbsp;<A NAME="methods_inherited_from_class_java.lang.Object"><!-- --></A>
    +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
    +<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
    +<TH ALIGN="left"><B>Methods inherited from class java.lang.<A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html" title="class or interface in java.lang">Object</A></B></TH>
    +</TR>
    +<TR BGCOLOR="white" CLASS="TableRowColor">
    +<TD><CODE><A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html#clone()" title="class or interface in java.lang">clone</A>, <A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html#equals(java.lang.Object)" title="class or interface in java.lang">equals</A>, <A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html#finalize()" title="class or interface in java.lang">finalize</A>, <A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html#getClass()" title="class or interface in java.lang">getClass</A>, <A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html#hashCode()" title="class or interface in java.lang">hashCode</A>, <A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html#notify()" title="class or interface in java.lang">notify</A>, <A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html#notifyAll()" title="class or interface in java.lang">notifyAll</A>, <A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html#toString()" title="class or interface in java.lang">toString</A>, <A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html#wait()" title="class or interface in java.lang">wait</A>, <A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html#wait(long)" title="class or interface in java.lang">wait</A>, <A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html#wait(long, int)" title="class or interface in java.lang">wait</A></CODE></TD>
    +</TR>
    +</TABLE>
    +&nbsp;
    +<P>
    +
    +<!-- ========= CONSTRUCTOR DETAIL ======== -->
    +
    +<A NAME="constructor_detail"><!-- --></A>
    +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
    +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
    +<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2">
    +<B>Constructor Detail</B></FONT></TH>
    +</TR>
    +</TABLE>
    +
    +<A NAME="HTMLFormatter()"><!-- --></A><H3>
    +HTMLFormatter</H3>
    +<PRE>
    +public <B>HTMLFormatter</B>()</PRE>
    +<DL>
    +<DD>New instance with default settings.
    +<P>
    +</DL>
    +
    +<!-- ============ METHOD DETAIL ========== -->
    +
    +<A NAME="method_detail"><!-- --></A>
    +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
    +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
    +<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2">
    +<B>Method Detail</B></FONT></TH>
    +</TR>
    +</TABLE>
    +
    +<A NAME="setLanguageNames(org.jacoco.report.ILanguageNames)"><!-- --></A><H3>
    +setLanguageNames</H3>
    +<PRE>
    +public void <B>setLanguageNames</B>(<A HREF="../../../../org/jacoco/report/ILanguageNames.html" title="interface in org.jacoco.report">ILanguageNames</A>&nbsp;languageNames)</PRE>
    +<DL>
    +<DD>Sets the implementation for language name display. Java language names
    + are defined by default.
    +<P>
    +<DD><DL>
    +</DL>
    +</DD>
    +<DD><DL>
    +<DT><B>Parameters:</B><DD><CODE>languageNames</CODE> - converter for language specific names</DL>
    +</DD>
    +</DL>
    +<HR>
    +
    +<A NAME="setLocale(java.util.Locale)"><!-- --></A><H3>
    +setLocale</H3>
    +<PRE>
    +public void <B>setLocale</B>(<A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/util/Locale.html" title="class or interface in java.util">Locale</A>&nbsp;locale)</PRE>
    +<DL>
    +<DD>Sets the locale used for report rendering. The current default locale is
    + used by default.
    +<P>
    +<DD><DL>
    +</DL>
    +</DD>
    +<DD><DL>
    +<DT><B>Parameters:</B><DD><CODE>locale</CODE> - locale used for report rendering</DL>
    +</DD>
    +</DL>
    +<HR>
    +
    +<A NAME="setFooterText(java.lang.String)"><!-- --></A><H3>
    +setFooterText</H3>
    +<PRE>
    +public void <B>setFooterText</B>(<A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A>&nbsp;footerText)</PRE>
    +<DL>
    +<DD>Sets the optional text that should be included in every footer page.
    +<P>
    +<DD><DL>
    +</DL>
    +</DD>
    +<DD><DL>
    +<DT><B>Parameters:</B><DD><CODE>footerText</CODE> - footer text</DL>
    +</DD>
    +</DL>
    +<HR>
    +
    +<A NAME="setOutputEncoding(java.lang.String)"><!-- --></A><H3>
    +setOutputEncoding</H3>
    +<PRE>
    +public void <B>setOutputEncoding</B>(<A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A>&nbsp;outputEncoding)</PRE>
    +<DL>
    +<DD>Sets the encoding used for generated HTML pages. Default is UTF-8.
    +<P>
    +<DD><DL>
    +</DL>
    +</DD>
    +<DD><DL>
    +<DT><B>Parameters:</B><DD><CODE>outputEncoding</CODE> - HTML output encoding</DL>
    +</DD>
    +</DL>
    +<HR>
    +
    +<A NAME="getLanguageNames()"><!-- --></A><H3>
    +getLanguageNames</H3>
    +<PRE>
    +public <A HREF="../../../../org/jacoco/report/ILanguageNames.html" title="interface in org.jacoco.report">ILanguageNames</A> <B>getLanguageNames</B>()</PRE>
    +<DL>
    +<DD><DL>
    +<DT><B>Specified by:</B><DD><CODE>getLanguageNames</CODE> in interface <CODE>org.jacoco.report.internal.html.IHTMLReportContext</CODE></DL>
    +</DD>
    +<DD><DL>
    +</DL>
    +</DD>
    +</DL>
    +<HR>
    +
    +<A NAME="getResources()"><!-- --></A><H3>
    +getResources</H3>
    +<PRE>
    +public org.jacoco.report.internal.html.resources.Resources <B>getResources</B>()</PRE>
    +<DL>
    +<DD><DL>
    +<DT><B>Specified by:</B><DD><CODE>getResources</CODE> in interface <CODE>org.jacoco.report.internal.html.IHTMLReportContext</CODE></DL>
    +</DD>
    +<DD><DL>
    +</DL>
    +</DD>
    +</DL>
    +<HR>
    +
    +<A NAME="getTable()"><!-- --></A><H3>
    +getTable</H3>
    +<PRE>
    +public org.jacoco.report.internal.html.table.Table <B>getTable</B>()</PRE>
    +<DL>
    +<DD><DL>
    +<DT><B>Specified by:</B><DD><CODE>getTable</CODE> in interface <CODE>org.jacoco.report.internal.html.IHTMLReportContext</CODE></DL>
    +</DD>
    +<DD><DL>
    +</DL>
    +</DD>
    +</DL>
    +<HR>
    +
    +<A NAME="getFooterText()"><!-- --></A><H3>
    +getFooterText</H3>
    +<PRE>
    +public <A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> <B>getFooterText</B>()</PRE>
    +<DL>
    +<DD><DL>
    +<DT><B>Specified by:</B><DD><CODE>getFooterText</CODE> in interface <CODE>org.jacoco.report.internal.html.IHTMLReportContext</CODE></DL>
    +</DD>
    +<DD><DL>
    +</DL>
    +</DD>
    +</DL>
    +<HR>
    +
    +<A NAME="getSessionsPage()"><!-- --></A><H3>
    +getSessionsPage</H3>
    +<PRE>
    +public org.jacoco.report.internal.html.ILinkable <B>getSessionsPage</B>()</PRE>
    +<DL>
    +<DD><DL>
    +<DT><B>Specified by:</B><DD><CODE>getSessionsPage</CODE> in interface <CODE>org.jacoco.report.internal.html.IHTMLReportContext</CODE></DL>
    +</DD>
    +<DD><DL>
    +</DL>
    +</DD>
    +</DL>
    +<HR>
    +
    +<A NAME="getOutputEncoding()"><!-- --></A><H3>
    +getOutputEncoding</H3>
    +<PRE>
    +public <A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> <B>getOutputEncoding</B>()</PRE>
    +<DL>
    +<DD><DL>
    +<DT><B>Specified by:</B><DD><CODE>getOutputEncoding</CODE> in interface <CODE>org.jacoco.report.internal.html.IHTMLReportContext</CODE></DL>
    +</DD>
    +<DD><DL>
    +</DL>
    +</DD>
    +</DL>
    +<HR>
    +
    +<A NAME="getIndexUpdate()"><!-- --></A><H3>
    +getIndexUpdate</H3>
    +<PRE>
    +public org.jacoco.report.internal.html.index.IIndexUpdate <B>getIndexUpdate</B>()</PRE>
    +<DL>
    +<DD><DL>
    +<DT><B>Specified by:</B><DD><CODE>getIndexUpdate</CODE> in interface <CODE>org.jacoco.report.internal.html.IHTMLReportContext</CODE></DL>
    +</DD>
    +<DD><DL>
    +</DL>
    +</DD>
    +</DL>
    +<HR>
    +
    +<A NAME="getLocale()"><!-- --></A><H3>
    +getLocale</H3>
    +<PRE>
    +public <A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/util/Locale.html" title="class or interface in java.util">Locale</A> <B>getLocale</B>()</PRE>
    +<DL>
    +<DD><DL>
    +<DT><B>Specified by:</B><DD><CODE>getLocale</CODE> in interface <CODE>org.jacoco.report.internal.html.IHTMLReportContext</CODE></DL>
    +</DD>
    +<DD><DL>
    +</DL>
    +</DD>
    +</DL>
    +<HR>
    +
    +<A NAME="createVisitor(org.jacoco.report.IMultiReportOutput)"><!-- --></A><H3>
    +createVisitor</H3>
    +<PRE>
    +public <A HREF="../../../../org/jacoco/report/IReportVisitor.html" title="interface in org.jacoco.report">IReportVisitor</A> <B>createVisitor</B>(<A HREF="../../../../org/jacoco/report/IMultiReportOutput.html" title="interface in org.jacoco.report">IMultiReportOutput</A>&nbsp;output)
    +                             throws <A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/io/IOException.html" title="class or interface in java.io">IOException</A></PRE>
    +<DL>
    +<DD>Creates a new visitor to write a report to the given output.
    +<P>
    +<DD><DL>
    +</DL>
    +</DD>
    +<DD><DL>
    +<DT><B>Parameters:</B><DD><CODE>output</CODE> - output to write the report to
    +<DT><B>Returns:</B><DD>visitor to emit the report data to
    +<DT><B>Throws:</B>
    +<DD><CODE><A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/io/IOException.html" title="class or interface in java.io">IOException</A></CODE> - in case of problems with the output stream</DL>
    +</DD>
    +</DL>
    +<!-- ========= END OF CLASS DATA ========= -->
    +<HR>
    +
    +
    +<!-- ======= START OF BOTTOM NAVBAR ====== -->
    +<A NAME="navbar_bottom"><!-- --></A>
    +<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
    +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
    +<TR>
    +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
    +<A NAME="navbar_bottom_firstrow"><!-- --></A>
    +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
    +  <TR ALIGN="center" VALIGN="top">
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="class-use/HTMLFormatter.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
    +  </TR>
    +</TABLE>
    +</TD>
    +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
    +</EM>
    +</TD>
    +</TR>
    +
    +<TR>
    +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
    +&nbsp;PREV CLASS&nbsp;
    +&nbsp;NEXT CLASS</FONT></TD>
    +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
    +  <A HREF="../../../../index.html?org/jacoco/report/html/HTMLFormatter.html" target="_top"><B>FRAMES</B></A>  &nbsp;
    +&nbsp;<A HREF="HTMLFormatter.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
    +&nbsp;<SCRIPT type="text/javascript">
    +  <!--
    +  if(window==top) {
    +    document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>');
    +  }
    +  //-->
    +</SCRIPT>
    +<NOSCRIPT>
    +  <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>
    +</NOSCRIPT>
    +
    +
    +</FONT></TD>
    +</TR>
    +<TR>
    +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
    +  SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;FIELD&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD>
    +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
    +DETAIL:&nbsp;FIELD&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD>
    +</TR>
    +</TABLE>
    +<A NAME="skip-navbar_bottom"></A>
    +<!-- ======== END OF BOTTOM NAVBAR ======= -->
    +
    +<HR>
    +Copyright &#169; 2009&#x2013;2024 Mountainminds GmbH & Co. KG. All rights reserved.
    +</BODY>
    +</HTML>
    diff --git a/jacoco/trunk/doc/api/org/jacoco/report/html/class-use/HTMLFormatter.html b/jacoco/trunk/doc/api/org/jacoco/report/html/class-use/HTMLFormatter.html
    new file mode 100644
    index 00000000000..571c3613b36
    --- /dev/null
    +++ b/jacoco/trunk/doc/api/org/jacoco/report/html/class-use/HTMLFormatter.html
    @@ -0,0 +1,141 @@
    +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
    +<!--NewPage-->
    +<HTML>
    +<HEAD>
    +<!-- Generated by javadoc (build 1.5.0_22) on Wed Mar 27 16:45:42 UTC 2024 -->
    +<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
    +<TITLE>
    +Uses of Class org.jacoco.report.html.HTMLFormatter (JaCoCo 0.8.12.202403270442 API)
    +</TITLE>
    +
    +
    +<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../../stylesheet.css" TITLE="Style">
    +
    +<SCRIPT type="text/javascript">
    +function windowTitle()
    +{
    +    parent.document.title="Uses of Class org.jacoco.report.html.HTMLFormatter (JaCoCo 0.8.12.202403270442 API)";
    +}
    +</SCRIPT>
    +<NOSCRIPT>
    +</NOSCRIPT>
    +
    +</HEAD>
    +
    +<BODY BGCOLOR="white" onload="windowTitle();">
    +
    +
    +<!-- ========= START OF TOP NAVBAR ======= -->
    +<A NAME="navbar_top"><!-- --></A>
    +<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
    +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
    +<TR>
    +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
    +<A NAME="navbar_top_firstrow"><!-- --></A>
    +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
    +  <TR ALIGN="center" VALIGN="top">
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../org/jacoco/report/html/HTMLFormatter.html" title="class in org.jacoco.report.html"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
    +  </TR>
    +</TABLE>
    +</TD>
    +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
    +</EM>
    +</TD>
    +</TR>
    +
    +<TR>
    +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
    +&nbsp;PREV&nbsp;
    +&nbsp;NEXT</FONT></TD>
    +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
    +  <A HREF="../../../../../index.html?org/jacoco/report/html/class-use/HTMLFormatter.html" target="_top"><B>FRAMES</B></A>  &nbsp;
    +&nbsp;<A HREF="HTMLFormatter.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
    +&nbsp;<SCRIPT type="text/javascript">
    +  <!--
    +  if(window==top) {
    +    document.writeln('<A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>');
    +  }
    +  //-->
    +</SCRIPT>
    +<NOSCRIPT>
    +  <A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>
    +</NOSCRIPT>
    +
    +
    +</FONT></TD>
    +</TR>
    +</TABLE>
    +<A NAME="skip-navbar_top"></A>
    +<!-- ========= END OF TOP NAVBAR ========= -->
    +
    +<HR>
    +<CENTER>
    +<H2>
    +<B>Uses of Class<br>org.jacoco.report.html.HTMLFormatter</B></H2>
    +</CENTER>
    +No usage of org.jacoco.report.html.HTMLFormatter
    +<P>
    +<HR>
    +
    +
    +<!-- ======= START OF BOTTOM NAVBAR ====== -->
    +<A NAME="navbar_bottom"><!-- --></A>
    +<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
    +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
    +<TR>
    +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
    +<A NAME="navbar_bottom_firstrow"><!-- --></A>
    +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
    +  <TR ALIGN="center" VALIGN="top">
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../org/jacoco/report/html/HTMLFormatter.html" title="class in org.jacoco.report.html"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
    +  </TR>
    +</TABLE>
    +</TD>
    +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
    +</EM>
    +</TD>
    +</TR>
    +
    +<TR>
    +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
    +&nbsp;PREV&nbsp;
    +&nbsp;NEXT</FONT></TD>
    +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
    +  <A HREF="../../../../../index.html?org/jacoco/report/html/class-use/HTMLFormatter.html" target="_top"><B>FRAMES</B></A>  &nbsp;
    +&nbsp;<A HREF="HTMLFormatter.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
    +&nbsp;<SCRIPT type="text/javascript">
    +  <!--
    +  if(window==top) {
    +    document.writeln('<A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>');
    +  }
    +  //-->
    +</SCRIPT>
    +<NOSCRIPT>
    +  <A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>
    +</NOSCRIPT>
    +
    +
    +</FONT></TD>
    +</TR>
    +</TABLE>
    +<A NAME="skip-navbar_bottom"></A>
    +<!-- ======== END OF BOTTOM NAVBAR ======= -->
    +
    +<HR>
    +Copyright &#169; 2009&#x2013;2024 Mountainminds GmbH & Co. KG. All rights reserved.
    +</BODY>
    +</HTML>
    diff --git a/jacoco/trunk/doc/api/org/jacoco/report/html/package-frame.html b/jacoco/trunk/doc/api/org/jacoco/report/html/package-frame.html
    new file mode 100644
    index 00000000000..1b2e7a1911c
    --- /dev/null
    +++ b/jacoco/trunk/doc/api/org/jacoco/report/html/package-frame.html
    @@ -0,0 +1,33 @@
    +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
    +<!--NewPage-->
    +<HTML>
    +<HEAD>
    +<!-- Generated by javadoc (build 1.5.0_22) on Wed Mar 27 16:45:42 UTC 2024 -->
    +<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
    +<TITLE>
    +org.jacoco.report.html (JaCoCo 0.8.12.202403270442 API)
    +</TITLE>
    +
    +<META NAME="keywords" CONTENT="org.jacoco.report.html package">
    +
    +<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../stylesheet.css" TITLE="Style">
    +
    +
    +</HEAD>
    +
    +<BODY BGCOLOR="white">
    +<FONT size="+1" CLASS="FrameTitleFont">
    +<A HREF="../../../../org/jacoco/report/html/package-summary.html" target="classFrame">org.jacoco.report.html</A></FONT>
    +<TABLE BORDER="0" WIDTH="100%" SUMMARY="">
    +<TR>
    +<TD NOWRAP><FONT size="+1" CLASS="FrameHeadingFont">
    +Classes</FONT>&nbsp;
    +<FONT CLASS="FrameItemFont">
    +<BR>
    +<A HREF="HTMLFormatter.html" title="class in org.jacoco.report.html" target="classFrame">HTMLFormatter</A></FONT></TD>
    +</TR>
    +</TABLE>
    +
    +
    +</BODY>
    +</HTML>
    diff --git a/jacoco/trunk/doc/api/org/jacoco/report/html/package-summary.html b/jacoco/trunk/doc/api/org/jacoco/report/html/package-summary.html
    new file mode 100644
    index 00000000000..1761e4a23b3
    --- /dev/null
    +++ b/jacoco/trunk/doc/api/org/jacoco/report/html/package-summary.html
    @@ -0,0 +1,170 @@
    +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
    +<!--NewPage-->
    +<HTML>
    +<HEAD>
    +<!-- Generated by javadoc (build 1.5.0_22) on Wed Mar 27 16:45:42 UTC 2024 -->
    +<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
    +<TITLE>
    +org.jacoco.report.html (JaCoCo 0.8.12.202403270442 API)
    +</TITLE>
    +
    +<META NAME="keywords" CONTENT="org.jacoco.report.html package">
    +
    +<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../stylesheet.css" TITLE="Style">
    +
    +<SCRIPT type="text/javascript">
    +function windowTitle()
    +{
    +    parent.document.title="org.jacoco.report.html (JaCoCo 0.8.12.202403270442 API)";
    +}
    +</SCRIPT>
    +<NOSCRIPT>
    +</NOSCRIPT>
    +
    +</HEAD>
    +
    +<BODY BGCOLOR="white" onload="windowTitle();">
    +
    +
    +<!-- ========= START OF TOP NAVBAR ======= -->
    +<A NAME="navbar_top"><!-- --></A>
    +<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
    +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
    +<TR>
    +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
    +<A NAME="navbar_top_firstrow"><!-- --></A>
    +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
    +  <TR ALIGN="center" VALIGN="top">
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Package</B></FONT>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <FONT CLASS="NavBarFont1">Class</FONT>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-use.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
    +  </TR>
    +</TABLE>
    +</TD>
    +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
    +</EM>
    +</TD>
    +</TR>
    +
    +<TR>
    +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
    +&nbsp;<A HREF="../../../../org/jacoco/report/csv/package-summary.html"><B>PREV PACKAGE</B></A>&nbsp;
    +&nbsp;<A HREF="../../../../org/jacoco/report/xml/package-summary.html"><B>NEXT PACKAGE</B></A></FONT></TD>
    +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
    +  <A HREF="../../../../index.html?org/jacoco/report/html/package-summary.html" target="_top"><B>FRAMES</B></A>  &nbsp;
    +&nbsp;<A HREF="package-summary.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
    +&nbsp;<SCRIPT type="text/javascript">
    +  <!--
    +  if(window==top) {
    +    document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>');
    +  }
    +  //-->
    +</SCRIPT>
    +<NOSCRIPT>
    +  <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>
    +</NOSCRIPT>
    +
    +
    +</FONT></TD>
    +</TR>
    +</TABLE>
    +<A NAME="skip-navbar_top"></A>
    +<!-- ========= END OF TOP NAVBAR ========= -->
    +
    +<HR>
    +<H2>
    +Package org.jacoco.report.html
    +</H2>
    +HTML report implementation.
    +<P>
    +<B>See:</B>
    +<BR>
    +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<A HREF="#package_description"><B>Description</B></A>
    +<P>
    +
    +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
    +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
    +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
    +<B>Class Summary</B></FONT></TH>
    +</TR>
    +<TR BGCOLOR="white" CLASS="TableRowColor">
    +<TD WIDTH="15%"><B><A HREF="../../../../org/jacoco/report/html/HTMLFormatter.html" title="class in org.jacoco.report.html">HTMLFormatter</A></B></TD>
    +<TD>Formatter for coverage reports in multiple HTML pages.</TD>
    +</TR>
    +</TABLE>
    +&nbsp;
    +
    +<P>
    +<A NAME="package_description"><!-- --></A><H2>
    +Package org.jacoco.report.html Description
    +</H2>
    +
    +<P>
    +HTML report implementation.
    +<P>
    +
    +<P>
    +<DL>
    +</DL>
    +<HR>
    +
    +
    +<!-- ======= START OF BOTTOM NAVBAR ====== -->
    +<A NAME="navbar_bottom"><!-- --></A>
    +<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
    +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
    +<TR>
    +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
    +<A NAME="navbar_bottom_firstrow"><!-- --></A>
    +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
    +  <TR ALIGN="center" VALIGN="top">
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Package</B></FONT>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <FONT CLASS="NavBarFont1">Class</FONT>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-use.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
    +  </TR>
    +</TABLE>
    +</TD>
    +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
    +</EM>
    +</TD>
    +</TR>
    +
    +<TR>
    +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
    +&nbsp;<A HREF="../../../../org/jacoco/report/csv/package-summary.html"><B>PREV PACKAGE</B></A>&nbsp;
    +&nbsp;<A HREF="../../../../org/jacoco/report/xml/package-summary.html"><B>NEXT PACKAGE</B></A></FONT></TD>
    +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
    +  <A HREF="../../../../index.html?org/jacoco/report/html/package-summary.html" target="_top"><B>FRAMES</B></A>  &nbsp;
    +&nbsp;<A HREF="package-summary.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
    +&nbsp;<SCRIPT type="text/javascript">
    +  <!--
    +  if(window==top) {
    +    document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>');
    +  }
    +  //-->
    +</SCRIPT>
    +<NOSCRIPT>
    +  <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>
    +</NOSCRIPT>
    +
    +
    +</FONT></TD>
    +</TR>
    +</TABLE>
    +<A NAME="skip-navbar_bottom"></A>
    +<!-- ======== END OF BOTTOM NAVBAR ======= -->
    +
    +<HR>
    +Copyright &#169; 2009&#x2013;2024 Mountainminds GmbH & Co. KG. All rights reserved.
    +</BODY>
    +</HTML>
    diff --git a/jacoco/trunk/doc/api/org/jacoco/report/html/package-tree.html b/jacoco/trunk/doc/api/org/jacoco/report/html/package-tree.html
    new file mode 100644
    index 00000000000..54230d269a2
    --- /dev/null
    +++ b/jacoco/trunk/doc/api/org/jacoco/report/html/package-tree.html
    @@ -0,0 +1,151 @@
    +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
    +<!--NewPage-->
    +<HTML>
    +<HEAD>
    +<!-- Generated by javadoc (build 1.5.0_22) on Wed Mar 27 16:45:42 UTC 2024 -->
    +<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
    +<TITLE>
    +org.jacoco.report.html Class Hierarchy (JaCoCo 0.8.12.202403270442 API)
    +</TITLE>
    +
    +
    +<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../stylesheet.css" TITLE="Style">
    +
    +<SCRIPT type="text/javascript">
    +function windowTitle()
    +{
    +    parent.document.title="org.jacoco.report.html Class Hierarchy (JaCoCo 0.8.12.202403270442 API)";
    +}
    +</SCRIPT>
    +<NOSCRIPT>
    +</NOSCRIPT>
    +
    +</HEAD>
    +
    +<BODY BGCOLOR="white" onload="windowTitle();">
    +
    +
    +<!-- ========= START OF TOP NAVBAR ======= -->
    +<A NAME="navbar_top"><!-- --></A>
    +<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
    +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
    +<TR>
    +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
    +<A NAME="navbar_top_firstrow"><!-- --></A>
    +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
    +  <TR ALIGN="center" VALIGN="top">
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <FONT CLASS="NavBarFont1">Class</FONT>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <FONT CLASS="NavBarFont1">Use</FONT>&nbsp;</TD>
    +  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Tree</B></FONT>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
    +  </TR>
    +</TABLE>
    +</TD>
    +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
    +</EM>
    +</TD>
    +</TR>
    +
    +<TR>
    +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
    +&nbsp;<A HREF="../../../../org/jacoco/report/csv/package-tree.html"><B>PREV</B></A>&nbsp;
    +&nbsp;<A HREF="../../../../org/jacoco/report/xml/package-tree.html"><B>NEXT</B></A></FONT></TD>
    +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
    +  <A HREF="../../../../index.html?org/jacoco/report/html/package-tree.html" target="_top"><B>FRAMES</B></A>  &nbsp;
    +&nbsp;<A HREF="package-tree.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
    +&nbsp;<SCRIPT type="text/javascript">
    +  <!--
    +  if(window==top) {
    +    document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>');
    +  }
    +  //-->
    +</SCRIPT>
    +<NOSCRIPT>
    +  <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>
    +</NOSCRIPT>
    +
    +
    +</FONT></TD>
    +</TR>
    +</TABLE>
    +<A NAME="skip-navbar_top"></A>
    +<!-- ========= END OF TOP NAVBAR ========= -->
    +
    +<HR>
    +<CENTER>
    +<H2>
    +Hierarchy For Package org.jacoco.report.html
    +</H2>
    +</CENTER>
    +<DL>
    +<DT><B>Package Hierarchies:</B><DD><A HREF="../../../../overview-tree.html">All Packages</A></DL>
    +<HR>
    +<H2>
    +Class Hierarchy
    +</H2>
    +<UL>
    +<LI TYPE="circle">java.lang.<A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html" title="class or interface in java.lang"><B>Object</B></A><UL>
    +<LI TYPE="circle">org.jacoco.report.html.<A HREF="../../../../org/jacoco/report/html/HTMLFormatter.html" title="class in org.jacoco.report.html"><B>HTMLFormatter</B></A> (implements org.jacoco.report.internal.html.IHTMLReportContext)
    +</UL>
    +</UL>
    +<HR>
    +
    +
    +<!-- ======= START OF BOTTOM NAVBAR ====== -->
    +<A NAME="navbar_bottom"><!-- --></A>
    +<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
    +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
    +<TR>
    +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
    +<A NAME="navbar_bottom_firstrow"><!-- --></A>
    +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
    +  <TR ALIGN="center" VALIGN="top">
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <FONT CLASS="NavBarFont1">Class</FONT>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <FONT CLASS="NavBarFont1">Use</FONT>&nbsp;</TD>
    +  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Tree</B></FONT>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
    +  </TR>
    +</TABLE>
    +</TD>
    +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
    +</EM>
    +</TD>
    +</TR>
    +
    +<TR>
    +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
    +&nbsp;<A HREF="../../../../org/jacoco/report/csv/package-tree.html"><B>PREV</B></A>&nbsp;
    +&nbsp;<A HREF="../../../../org/jacoco/report/xml/package-tree.html"><B>NEXT</B></A></FONT></TD>
    +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
    +  <A HREF="../../../../index.html?org/jacoco/report/html/package-tree.html" target="_top"><B>FRAMES</B></A>  &nbsp;
    +&nbsp;<A HREF="package-tree.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
    +&nbsp;<SCRIPT type="text/javascript">
    +  <!--
    +  if(window==top) {
    +    document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>');
    +  }
    +  //-->
    +</SCRIPT>
    +<NOSCRIPT>
    +  <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>
    +</NOSCRIPT>
    +
    +
    +</FONT></TD>
    +</TR>
    +</TABLE>
    +<A NAME="skip-navbar_bottom"></A>
    +<!-- ======== END OF BOTTOM NAVBAR ======= -->
    +
    +<HR>
    +Copyright &#169; 2009&#x2013;2024 Mountainminds GmbH & Co. KG. All rights reserved.
    +</BODY>
    +</HTML>
    diff --git a/jacoco/trunk/doc/api/org/jacoco/report/html/package-use.html b/jacoco/trunk/doc/api/org/jacoco/report/html/package-use.html
    new file mode 100644
    index 00000000000..9c6fa1ff7ff
    --- /dev/null
    +++ b/jacoco/trunk/doc/api/org/jacoco/report/html/package-use.html
    @@ -0,0 +1,141 @@
    +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
    +<!--NewPage-->
    +<HTML>
    +<HEAD>
    +<!-- Generated by javadoc (build 1.5.0_22) on Wed Mar 27 16:45:42 UTC 2024 -->
    +<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
    +<TITLE>
    +Uses of Package org.jacoco.report.html (JaCoCo 0.8.12.202403270442 API)
    +</TITLE>
    +
    +
    +<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../stylesheet.css" TITLE="Style">
    +
    +<SCRIPT type="text/javascript">
    +function windowTitle()
    +{
    +    parent.document.title="Uses of Package org.jacoco.report.html (JaCoCo 0.8.12.202403270442 API)";
    +}
    +</SCRIPT>
    +<NOSCRIPT>
    +</NOSCRIPT>
    +
    +</HEAD>
    +
    +<BODY BGCOLOR="white" onload="windowTitle();">
    +
    +
    +<!-- ========= START OF TOP NAVBAR ======= -->
    +<A NAME="navbar_top"><!-- --></A>
    +<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
    +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
    +<TR>
    +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
    +<A NAME="navbar_top_firstrow"><!-- --></A>
    +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
    +  <TR ALIGN="center" VALIGN="top">
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <FONT CLASS="NavBarFont1">Class</FONT>&nbsp;</TD>
    +  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
    +  </TR>
    +</TABLE>
    +</TD>
    +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
    +</EM>
    +</TD>
    +</TR>
    +
    +<TR>
    +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
    +&nbsp;PREV&nbsp;
    +&nbsp;NEXT</FONT></TD>
    +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
    +  <A HREF="../../../../index.html?org/jacoco/report/html/package-use.html" target="_top"><B>FRAMES</B></A>  &nbsp;
    +&nbsp;<A HREF="package-use.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
    +&nbsp;<SCRIPT type="text/javascript">
    +  <!--
    +  if(window==top) {
    +    document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>');
    +  }
    +  //-->
    +</SCRIPT>
    +<NOSCRIPT>
    +  <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>
    +</NOSCRIPT>
    +
    +
    +</FONT></TD>
    +</TR>
    +</TABLE>
    +<A NAME="skip-navbar_top"></A>
    +<!-- ========= END OF TOP NAVBAR ========= -->
    +
    +<HR>
    +<CENTER>
    +<H2>
    +<B>Uses of Package<br>org.jacoco.report.html</B></H2>
    +</CENTER>
    +No usage of org.jacoco.report.html
    +<P>
    +<HR>
    +
    +
    +<!-- ======= START OF BOTTOM NAVBAR ====== -->
    +<A NAME="navbar_bottom"><!-- --></A>
    +<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
    +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
    +<TR>
    +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
    +<A NAME="navbar_bottom_firstrow"><!-- --></A>
    +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
    +  <TR ALIGN="center" VALIGN="top">
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <FONT CLASS="NavBarFont1">Class</FONT>&nbsp;</TD>
    +  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
    +  </TR>
    +</TABLE>
    +</TD>
    +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
    +</EM>
    +</TD>
    +</TR>
    +
    +<TR>
    +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
    +&nbsp;PREV&nbsp;
    +&nbsp;NEXT</FONT></TD>
    +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
    +  <A HREF="../../../../index.html?org/jacoco/report/html/package-use.html" target="_top"><B>FRAMES</B></A>  &nbsp;
    +&nbsp;<A HREF="package-use.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
    +&nbsp;<SCRIPT type="text/javascript">
    +  <!--
    +  if(window==top) {
    +    document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>');
    +  }
    +  //-->
    +</SCRIPT>
    +<NOSCRIPT>
    +  <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>
    +</NOSCRIPT>
    +
    +
    +</FONT></TD>
    +</TR>
    +</TABLE>
    +<A NAME="skip-navbar_bottom"></A>
    +<!-- ======== END OF BOTTOM NAVBAR ======= -->
    +
    +<HR>
    +Copyright &#169; 2009&#x2013;2024 Mountainminds GmbH & Co. KG. All rights reserved.
    +</BODY>
    +</HTML>
    diff --git a/jacoco/trunk/doc/api/org/jacoco/report/package-frame.html b/jacoco/trunk/doc/api/org/jacoco/report/package-frame.html
    new file mode 100644
    index 00000000000..3c632e0e06f
    --- /dev/null
    +++ b/jacoco/trunk/doc/api/org/jacoco/report/package-frame.html
    @@ -0,0 +1,64 @@
    +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
    +<!--NewPage-->
    +<HTML>
    +<HEAD>
    +<!-- Generated by javadoc (build 1.5.0_22) on Wed Mar 27 16:45:42 UTC 2024 -->
    +<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
    +<TITLE>
    +org.jacoco.report (JaCoCo 0.8.12.202403270442 API)
    +</TITLE>
    +
    +<META NAME="keywords" CONTENT="org.jacoco.report package">
    +
    +<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../stylesheet.css" TITLE="Style">
    +
    +
    +</HEAD>
    +
    +<BODY BGCOLOR="white">
    +<FONT size="+1" CLASS="FrameTitleFont">
    +<A HREF="../../../org/jacoco/report/package-summary.html" target="classFrame">org.jacoco.report</A></FONT>
    +<TABLE BORDER="0" WIDTH="100%" SUMMARY="">
    +<TR>
    +<TD NOWRAP><FONT size="+1" CLASS="FrameHeadingFont">
    +Interfaces</FONT>&nbsp;
    +<FONT CLASS="FrameItemFont">
    +<BR>
    +<A HREF="ILanguageNames.html" title="interface in org.jacoco.report" target="classFrame"><I>ILanguageNames</I></A>
    +<BR>
    +<A HREF="IMultiReportOutput.html" title="interface in org.jacoco.report" target="classFrame"><I>IMultiReportOutput</I></A>
    +<BR>
    +<A HREF="IReportGroupVisitor.html" title="interface in org.jacoco.report" target="classFrame"><I>IReportGroupVisitor</I></A>
    +<BR>
    +<A HREF="IReportVisitor.html" title="interface in org.jacoco.report" target="classFrame"><I>IReportVisitor</I></A>
    +<BR>
    +<A HREF="ISourceFileLocator.html" title="interface in org.jacoco.report" target="classFrame"><I>ISourceFileLocator</I></A></FONT></TD>
    +</TR>
    +</TABLE>
    +
    +
    +<TABLE BORDER="0" WIDTH="100%" SUMMARY="">
    +<TR>
    +<TD NOWRAP><FONT size="+1" CLASS="FrameHeadingFont">
    +Classes</FONT>&nbsp;
    +<FONT CLASS="FrameItemFont">
    +<BR>
    +<A HREF="DirectorySourceFileLocator.html" title="class in org.jacoco.report" target="classFrame">DirectorySourceFileLocator</A>
    +<BR>
    +<A HREF="FileMultiReportOutput.html" title="class in org.jacoco.report" target="classFrame">FileMultiReportOutput</A>
    +<BR>
    +<A HREF="InputStreamSourceFileLocator.html" title="class in org.jacoco.report" target="classFrame">InputStreamSourceFileLocator</A>
    +<BR>
    +<A HREF="JavaNames.html" title="class in org.jacoco.report" target="classFrame">JavaNames</A>
    +<BR>
    +<A HREF="MultiReportVisitor.html" title="class in org.jacoco.report" target="classFrame">MultiReportVisitor</A>
    +<BR>
    +<A HREF="MultiSourceFileLocator.html" title="class in org.jacoco.report" target="classFrame">MultiSourceFileLocator</A>
    +<BR>
    +<A HREF="ZipMultiReportOutput.html" title="class in org.jacoco.report" target="classFrame">ZipMultiReportOutput</A></FONT></TD>
    +</TR>
    +</TABLE>
    +
    +
    +</BODY>
    +</HTML>
    diff --git a/jacoco/trunk/doc/api/org/jacoco/report/package-summary.html b/jacoco/trunk/doc/api/org/jacoco/report/package-summary.html
    new file mode 100644
    index 00000000000..5cd8c7fd632
    --- /dev/null
    +++ b/jacoco/trunk/doc/api/org/jacoco/report/package-summary.html
    @@ -0,0 +1,229 @@
    +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
    +<!--NewPage-->
    +<HTML>
    +<HEAD>
    +<!-- Generated by javadoc (build 1.5.0_22) on Wed Mar 27 16:45:42 UTC 2024 -->
    +<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
    +<TITLE>
    +org.jacoco.report (JaCoCo 0.8.12.202403270442 API)
    +</TITLE>
    +
    +<META NAME="keywords" CONTENT="org.jacoco.report package">
    +
    +<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../stylesheet.css" TITLE="Style">
    +
    +<SCRIPT type="text/javascript">
    +function windowTitle()
    +{
    +    parent.document.title="org.jacoco.report (JaCoCo 0.8.12.202403270442 API)";
    +}
    +</SCRIPT>
    +<NOSCRIPT>
    +</NOSCRIPT>
    +
    +</HEAD>
    +
    +<BODY BGCOLOR="white" onload="windowTitle();">
    +
    +
    +<!-- ========= START OF TOP NAVBAR ======= -->
    +<A NAME="navbar_top"><!-- --></A>
    +<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
    +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
    +<TR>
    +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
    +<A NAME="navbar_top_firstrow"><!-- --></A>
    +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
    +  <TR ALIGN="center" VALIGN="top">
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Package</B></FONT>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <FONT CLASS="NavBarFont1">Class</FONT>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-use.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
    +  </TR>
    +</TABLE>
    +</TD>
    +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
    +</EM>
    +</TD>
    +</TR>
    +
    +<TR>
    +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
    +&nbsp;<A HREF="../../../org/jacoco/core/tools/package-summary.html"><B>PREV PACKAGE</B></A>&nbsp;
    +&nbsp;<A HREF="../../../org/jacoco/report/check/package-summary.html"><B>NEXT PACKAGE</B></A></FONT></TD>
    +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
    +  <A HREF="../../../index.html?org/jacoco/report/package-summary.html" target="_top"><B>FRAMES</B></A>  &nbsp;
    +&nbsp;<A HREF="package-summary.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
    +&nbsp;<SCRIPT type="text/javascript">
    +  <!--
    +  if(window==top) {
    +    document.writeln('<A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>');
    +  }
    +  //-->
    +</SCRIPT>
    +<NOSCRIPT>
    +  <A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>
    +</NOSCRIPT>
    +
    +
    +</FONT></TD>
    +</TR>
    +</TABLE>
    +<A NAME="skip-navbar_top"></A>
    +<!-- ========= END OF TOP NAVBAR ========= -->
    +
    +<HR>
    +<H2>
    +Package org.jacoco.report
    +</H2>
    +Common interfaces and utilities for report generation.
    +<P>
    +<B>See:</B>
    +<BR>
    +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<A HREF="#package_description"><B>Description</B></A>
    +<P>
    +
    +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
    +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
    +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
    +<B>Interface Summary</B></FONT></TH>
    +</TR>
    +<TR BGCOLOR="white" CLASS="TableRowColor">
    +<TD WIDTH="15%"><B><A HREF="../../../org/jacoco/report/ILanguageNames.html" title="interface in org.jacoco.report">ILanguageNames</A></B></TD>
    +<TD>Interface to create programming language specific names from VM names.</TD>
    +</TR>
    +<TR BGCOLOR="white" CLASS="TableRowColor">
    +<TD WIDTH="15%"><B><A HREF="../../../org/jacoco/report/IMultiReportOutput.html" title="interface in org.jacoco.report">IMultiReportOutput</A></B></TD>
    +<TD>Interface to emit multiple binary files.</TD>
    +</TR>
    +<TR BGCOLOR="white" CLASS="TableRowColor">
    +<TD WIDTH="15%"><B><A HREF="../../../org/jacoco/report/IReportGroupVisitor.html" title="interface in org.jacoco.report">IReportGroupVisitor</A></B></TD>
    +<TD>Output-Interface for hierarchical report structures.</TD>
    +</TR>
    +<TR BGCOLOR="white" CLASS="TableRowColor">
    +<TD WIDTH="15%"><B><A HREF="../../../org/jacoco/report/IReportVisitor.html" title="interface in org.jacoco.report">IReportVisitor</A></B></TD>
    +<TD>Interface for all implementations to retrieve structured report data.</TD>
    +</TR>
    +<TR BGCOLOR="white" CLASS="TableRowColor">
    +<TD WIDTH="15%"><B><A HREF="../../../org/jacoco/report/ISourceFileLocator.html" title="interface in org.jacoco.report">ISourceFileLocator</A></B></TD>
    +<TD>Interface to look-up source files that will be included with the report.</TD>
    +</TR>
    +</TABLE>
    +&nbsp;
    +
    +<P>
    +
    +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
    +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
    +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
    +<B>Class Summary</B></FONT></TH>
    +</TR>
    +<TR BGCOLOR="white" CLASS="TableRowColor">
    +<TD WIDTH="15%"><B><A HREF="../../../org/jacoco/report/DirectorySourceFileLocator.html" title="class in org.jacoco.report">DirectorySourceFileLocator</A></B></TD>
    +<TD>Locator for source files that picks source files from a given directory in
    + the file system.</TD>
    +</TR>
    +<TR BGCOLOR="white" CLASS="TableRowColor">
    +<TD WIDTH="15%"><B><A HREF="../../../org/jacoco/report/FileMultiReportOutput.html" title="class in org.jacoco.report">FileMultiReportOutput</A></B></TD>
    +<TD>Implementation of <A HREF="../../../org/jacoco/report/IMultiReportOutput.html" title="interface in org.jacoco.report"><CODE>IMultiReportOutput</CODE></A> that writes files directly to a
    + given directory.</TD>
    +</TR>
    +<TR BGCOLOR="white" CLASS="TableRowColor">
    +<TD WIDTH="15%"><B><A HREF="../../../org/jacoco/report/InputStreamSourceFileLocator.html" title="class in org.jacoco.report">InputStreamSourceFileLocator</A></B></TD>
    +<TD>Abstract base class for <A HREF="../../../org/jacoco/report/ISourceFileLocator.html" title="interface in org.jacoco.report"><CODE>ISourceFileLocator</CODE></A> locator implementations
    + based on <A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/io/InputStream.html" title="class or interface in java.io"><CODE>InputStream</CODE></A>s.</TD>
    +</TR>
    +<TR BGCOLOR="white" CLASS="TableRowColor">
    +<TD WIDTH="15%"><B><A HREF="../../../org/jacoco/report/JavaNames.html" title="class in org.jacoco.report">JavaNames</A></B></TD>
    +<TD>Names for the Java language.</TD>
    +</TR>
    +<TR BGCOLOR="white" CLASS="TableRowColor">
    +<TD WIDTH="15%"><B><A HREF="../../../org/jacoco/report/MultiReportVisitor.html" title="class in org.jacoco.report">MultiReportVisitor</A></B></TD>
    +<TD>A report visitor that is composed from multiple other visitors.</TD>
    +</TR>
    +<TR BGCOLOR="white" CLASS="TableRowColor">
    +<TD WIDTH="15%"><B><A HREF="../../../org/jacoco/report/MultiSourceFileLocator.html" title="class in org.jacoco.report">MultiSourceFileLocator</A></B></TD>
    +<TD>Locator that searches source files in multiple <A HREF="../../../org/jacoco/report/ISourceFileLocator.html" title="interface in org.jacoco.report"><CODE>ISourceFileLocator</CODE></A>
    + instances.</TD>
    +</TR>
    +<TR BGCOLOR="white" CLASS="TableRowColor">
    +<TD WIDTH="15%"><B><A HREF="../../../org/jacoco/report/ZipMultiReportOutput.html" title="class in org.jacoco.report">ZipMultiReportOutput</A></B></TD>
    +<TD>Implementation of <A HREF="../../../org/jacoco/report/IMultiReportOutput.html" title="interface in org.jacoco.report"><CODE>IMultiReportOutput</CODE></A> that writes files into a
    + <A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/util/zip/ZipOutputStream.html" title="class or interface in java.util.zip"><CODE>ZipOutputStream</CODE></A>.</TD>
    +</TR>
    +</TABLE>
    +&nbsp;
    +
    +<P>
    +<A NAME="package_description"><!-- --></A><H2>
    +Package org.jacoco.report Description
    +</H2>
    +
    +<P>
    +Common interfaces and utilities for report generation.
    +<P>
    +
    +<P>
    +<DL>
    +</DL>
    +<HR>
    +
    +
    +<!-- ======= START OF BOTTOM NAVBAR ====== -->
    +<A NAME="navbar_bottom"><!-- --></A>
    +<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
    +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
    +<TR>
    +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
    +<A NAME="navbar_bottom_firstrow"><!-- --></A>
    +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
    +  <TR ALIGN="center" VALIGN="top">
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Package</B></FONT>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <FONT CLASS="NavBarFont1">Class</FONT>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-use.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
    +  </TR>
    +</TABLE>
    +</TD>
    +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
    +</EM>
    +</TD>
    +</TR>
    +
    +<TR>
    +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
    +&nbsp;<A HREF="../../../org/jacoco/core/tools/package-summary.html"><B>PREV PACKAGE</B></A>&nbsp;
    +&nbsp;<A HREF="../../../org/jacoco/report/check/package-summary.html"><B>NEXT PACKAGE</B></A></FONT></TD>
    +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
    +  <A HREF="../../../index.html?org/jacoco/report/package-summary.html" target="_top"><B>FRAMES</B></A>  &nbsp;
    +&nbsp;<A HREF="package-summary.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
    +&nbsp;<SCRIPT type="text/javascript">
    +  <!--
    +  if(window==top) {
    +    document.writeln('<A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>');
    +  }
    +  //-->
    +</SCRIPT>
    +<NOSCRIPT>
    +  <A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>
    +</NOSCRIPT>
    +
    +
    +</FONT></TD>
    +</TR>
    +</TABLE>
    +<A NAME="skip-navbar_bottom"></A>
    +<!-- ======== END OF BOTTOM NAVBAR ======= -->
    +
    +<HR>
    +Copyright &#169; 2009&#x2013;2024 Mountainminds GmbH & Co. KG. All rights reserved.
    +</BODY>
    +</HTML>
    diff --git a/jacoco/trunk/doc/api/org/jacoco/report/package-tree.html b/jacoco/trunk/doc/api/org/jacoco/report/package-tree.html
    new file mode 100644
    index 00000000000..98151f339f1
    --- /dev/null
    +++ b/jacoco/trunk/doc/api/org/jacoco/report/package-tree.html
    @@ -0,0 +1,165 @@
    +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
    +<!--NewPage-->
    +<HTML>
    +<HEAD>
    +<!-- Generated by javadoc (build 1.5.0_22) on Wed Mar 27 16:45:42 UTC 2024 -->
    +<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
    +<TITLE>
    +org.jacoco.report Class Hierarchy (JaCoCo 0.8.12.202403270442 API)
    +</TITLE>
    +
    +
    +<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../stylesheet.css" TITLE="Style">
    +
    +<SCRIPT type="text/javascript">
    +function windowTitle()
    +{
    +    parent.document.title="org.jacoco.report Class Hierarchy (JaCoCo 0.8.12.202403270442 API)";
    +}
    +</SCRIPT>
    +<NOSCRIPT>
    +</NOSCRIPT>
    +
    +</HEAD>
    +
    +<BODY BGCOLOR="white" onload="windowTitle();">
    +
    +
    +<!-- ========= START OF TOP NAVBAR ======= -->
    +<A NAME="navbar_top"><!-- --></A>
    +<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
    +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
    +<TR>
    +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
    +<A NAME="navbar_top_firstrow"><!-- --></A>
    +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
    +  <TR ALIGN="center" VALIGN="top">
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <FONT CLASS="NavBarFont1">Class</FONT>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <FONT CLASS="NavBarFont1">Use</FONT>&nbsp;</TD>
    +  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Tree</B></FONT>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
    +  </TR>
    +</TABLE>
    +</TD>
    +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
    +</EM>
    +</TD>
    +</TR>
    +
    +<TR>
    +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
    +&nbsp;<A HREF="../../../org/jacoco/core/tools/package-tree.html"><B>PREV</B></A>&nbsp;
    +&nbsp;<A HREF="../../../org/jacoco/report/check/package-tree.html"><B>NEXT</B></A></FONT></TD>
    +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
    +  <A HREF="../../../index.html?org/jacoco/report/package-tree.html" target="_top"><B>FRAMES</B></A>  &nbsp;
    +&nbsp;<A HREF="package-tree.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
    +&nbsp;<SCRIPT type="text/javascript">
    +  <!--
    +  if(window==top) {
    +    document.writeln('<A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>');
    +  }
    +  //-->
    +</SCRIPT>
    +<NOSCRIPT>
    +  <A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>
    +</NOSCRIPT>
    +
    +
    +</FONT></TD>
    +</TR>
    +</TABLE>
    +<A NAME="skip-navbar_top"></A>
    +<!-- ========= END OF TOP NAVBAR ========= -->
    +
    +<HR>
    +<CENTER>
    +<H2>
    +Hierarchy For Package org.jacoco.report
    +</H2>
    +</CENTER>
    +<DL>
    +<DT><B>Package Hierarchies:</B><DD><A HREF="../../../overview-tree.html">All Packages</A></DL>
    +<HR>
    +<H2>
    +Class Hierarchy
    +</H2>
    +<UL>
    +<LI TYPE="circle">java.lang.<A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html" title="class or interface in java.lang"><B>Object</B></A><UL>
    +<LI TYPE="circle">org.jacoco.report.<A HREF="../../../org/jacoco/report/FileMultiReportOutput.html" title="class in org.jacoco.report"><B>FileMultiReportOutput</B></A> (implements org.jacoco.report.<A HREF="../../../org/jacoco/report/IMultiReportOutput.html" title="interface in org.jacoco.report">IMultiReportOutput</A>)
    +<LI TYPE="circle">org.jacoco.report.<A HREF="../../../org/jacoco/report/InputStreamSourceFileLocator.html" title="class in org.jacoco.report"><B>InputStreamSourceFileLocator</B></A> (implements org.jacoco.report.<A HREF="../../../org/jacoco/report/ISourceFileLocator.html" title="interface in org.jacoco.report">ISourceFileLocator</A>)
    +<UL>
    +<LI TYPE="circle">org.jacoco.report.<A HREF="../../../org/jacoco/report/DirectorySourceFileLocator.html" title="class in org.jacoco.report"><B>DirectorySourceFileLocator</B></A></UL>
    +<LI TYPE="circle">org.jacoco.report.<A HREF="../../../org/jacoco/report/JavaNames.html" title="class in org.jacoco.report"><B>JavaNames</B></A> (implements org.jacoco.report.<A HREF="../../../org/jacoco/report/ILanguageNames.html" title="interface in org.jacoco.report">ILanguageNames</A>)
    +<LI TYPE="circle">org.jacoco.report.<A HREF="../../../org/jacoco/report/MultiReportVisitor.html" title="class in org.jacoco.report"><B>MultiReportVisitor</B></A> (implements org.jacoco.report.<A HREF="../../../org/jacoco/report/IReportVisitor.html" title="interface in org.jacoco.report">IReportVisitor</A>)
    +<LI TYPE="circle">org.jacoco.report.<A HREF="../../../org/jacoco/report/MultiSourceFileLocator.html" title="class in org.jacoco.report"><B>MultiSourceFileLocator</B></A> (implements org.jacoco.report.<A HREF="../../../org/jacoco/report/ISourceFileLocator.html" title="interface in org.jacoco.report">ISourceFileLocator</A>)
    +<LI TYPE="circle">org.jacoco.report.<A HREF="../../../org/jacoco/report/ZipMultiReportOutput.html" title="class in org.jacoco.report"><B>ZipMultiReportOutput</B></A> (implements org.jacoco.report.<A HREF="../../../org/jacoco/report/IMultiReportOutput.html" title="interface in org.jacoco.report">IMultiReportOutput</A>)
    +</UL>
    +</UL>
    +<H2>
    +Interface Hierarchy
    +</H2>
    +<UL>
    +<LI TYPE="circle">org.jacoco.report.<A HREF="../../../org/jacoco/report/ILanguageNames.html" title="interface in org.jacoco.report"><B>ILanguageNames</B></A><LI TYPE="circle">org.jacoco.report.<A HREF="../../../org/jacoco/report/IMultiReportOutput.html" title="interface in org.jacoco.report"><B>IMultiReportOutput</B></A><LI TYPE="circle">org.jacoco.report.<A HREF="../../../org/jacoco/report/IReportGroupVisitor.html" title="interface in org.jacoco.report"><B>IReportGroupVisitor</B></A><UL>
    +<LI TYPE="circle">org.jacoco.report.<A HREF="../../../org/jacoco/report/IReportVisitor.html" title="interface in org.jacoco.report"><B>IReportVisitor</B></A></UL>
    +<LI TYPE="circle">org.jacoco.report.<A HREF="../../../org/jacoco/report/ISourceFileLocator.html" title="interface in org.jacoco.report"><B>ISourceFileLocator</B></A></UL>
    +<HR>
    +
    +
    +<!-- ======= START OF BOTTOM NAVBAR ====== -->
    +<A NAME="navbar_bottom"><!-- --></A>
    +<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
    +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
    +<TR>
    +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
    +<A NAME="navbar_bottom_firstrow"><!-- --></A>
    +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
    +  <TR ALIGN="center" VALIGN="top">
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <FONT CLASS="NavBarFont1">Class</FONT>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <FONT CLASS="NavBarFont1">Use</FONT>&nbsp;</TD>
    +  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Tree</B></FONT>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
    +  </TR>
    +</TABLE>
    +</TD>
    +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
    +</EM>
    +</TD>
    +</TR>
    +
    +<TR>
    +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
    +&nbsp;<A HREF="../../../org/jacoco/core/tools/package-tree.html"><B>PREV</B></A>&nbsp;
    +&nbsp;<A HREF="../../../org/jacoco/report/check/package-tree.html"><B>NEXT</B></A></FONT></TD>
    +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
    +  <A HREF="../../../index.html?org/jacoco/report/package-tree.html" target="_top"><B>FRAMES</B></A>  &nbsp;
    +&nbsp;<A HREF="package-tree.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
    +&nbsp;<SCRIPT type="text/javascript">
    +  <!--
    +  if(window==top) {
    +    document.writeln('<A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>');
    +  }
    +  //-->
    +</SCRIPT>
    +<NOSCRIPT>
    +  <A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>
    +</NOSCRIPT>
    +
    +
    +</FONT></TD>
    +</TR>
    +</TABLE>
    +<A NAME="skip-navbar_bottom"></A>
    +<!-- ======== END OF BOTTOM NAVBAR ======= -->
    +
    +<HR>
    +Copyright &#169; 2009&#x2013;2024 Mountainminds GmbH & Co. KG. All rights reserved.
    +</BODY>
    +</HTML>
    diff --git a/jacoco/trunk/doc/api/org/jacoco/report/package-use.html b/jacoco/trunk/doc/api/org/jacoco/report/package-use.html
    new file mode 100644
    index 00000000000..24324336f17
    --- /dev/null
    +++ b/jacoco/trunk/doc/api/org/jacoco/report/package-use.html
    @@ -0,0 +1,298 @@
    +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
    +<!--NewPage-->
    +<HTML>
    +<HEAD>
    +<!-- Generated by javadoc (build 1.5.0_22) on Wed Mar 27 16:45:42 UTC 2024 -->
    +<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
    +<TITLE>
    +Uses of Package org.jacoco.report (JaCoCo 0.8.12.202403270442 API)
    +</TITLE>
    +
    +
    +<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../stylesheet.css" TITLE="Style">
    +
    +<SCRIPT type="text/javascript">
    +function windowTitle()
    +{
    +    parent.document.title="Uses of Package org.jacoco.report (JaCoCo 0.8.12.202403270442 API)";
    +}
    +</SCRIPT>
    +<NOSCRIPT>
    +</NOSCRIPT>
    +
    +</HEAD>
    +
    +<BODY BGCOLOR="white" onload="windowTitle();">
    +
    +
    +<!-- ========= START OF TOP NAVBAR ======= -->
    +<A NAME="navbar_top"><!-- --></A>
    +<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
    +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
    +<TR>
    +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
    +<A NAME="navbar_top_firstrow"><!-- --></A>
    +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
    +  <TR ALIGN="center" VALIGN="top">
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <FONT CLASS="NavBarFont1">Class</FONT>&nbsp;</TD>
    +  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
    +  </TR>
    +</TABLE>
    +</TD>
    +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
    +</EM>
    +</TD>
    +</TR>
    +
    +<TR>
    +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
    +&nbsp;PREV&nbsp;
    +&nbsp;NEXT</FONT></TD>
    +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
    +  <A HREF="../../../index.html?org/jacoco/report/package-use.html" target="_top"><B>FRAMES</B></A>  &nbsp;
    +&nbsp;<A HREF="package-use.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
    +&nbsp;<SCRIPT type="text/javascript">
    +  <!--
    +  if(window==top) {
    +    document.writeln('<A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>');
    +  }
    +  //-->
    +</SCRIPT>
    +<NOSCRIPT>
    +  <A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>
    +</NOSCRIPT>
    +
    +
    +</FONT></TD>
    +</TR>
    +</TABLE>
    +<A NAME="skip-navbar_top"></A>
    +<!-- ========= END OF TOP NAVBAR ========= -->
    +
    +<HR>
    +<CENTER>
    +<H2>
    +<B>Uses of Package<br>org.jacoco.report</B></H2>
    +</CENTER>
    +
    +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
    +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
    +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
    +Packages that use <A HREF="../../../org/jacoco/report/package-summary.html">org.jacoco.report</A></FONT></TH>
    +</TR>
    +<TR BGCOLOR="white" CLASS="TableRowColor">
    +<TD><A HREF="#org.jacoco.report"><B>org.jacoco.report</B></A></TD>
    +<TD>Common interfaces and utilities for report generation.&nbsp;</TD>
    +</TR>
    +<TR BGCOLOR="white" CLASS="TableRowColor">
    +<TD><A HREF="#org.jacoco.report.check"><B>org.jacoco.report.check</B></A></TD>
    +<TD>Rules check implementation.&nbsp;</TD>
    +</TR>
    +<TR BGCOLOR="white" CLASS="TableRowColor">
    +<TD><A HREF="#org.jacoco.report.csv"><B>org.jacoco.report.csv</B></A></TD>
    +<TD>CSV report implementation.&nbsp;</TD>
    +</TR>
    +<TR BGCOLOR="white" CLASS="TableRowColor">
    +<TD><A HREF="#org.jacoco.report.html"><B>org.jacoco.report.html</B></A></TD>
    +<TD>HTML report implementation.&nbsp;</TD>
    +</TR>
    +<TR BGCOLOR="white" CLASS="TableRowColor">
    +<TD><A HREF="#org.jacoco.report.xml"><B>org.jacoco.report.xml</B></A></TD>
    +<TD>XML report implementation.&nbsp;</TD>
    +</TR>
    +</TABLE>
    +&nbsp;
    +<P>
    +<A NAME="org.jacoco.report"><!-- --></A>
    +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
    +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
    +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
    +Classes in <A HREF="../../../org/jacoco/report/package-summary.html">org.jacoco.report</A> used by <A HREF="../../../org/jacoco/report/package-summary.html">org.jacoco.report</A></FONT></TH>
    +</TR>
    +<TR BGCOLOR="white" CLASS="TableRowColor">
    +<TD><B><A HREF="../../../org/jacoco/report/class-use/ILanguageNames.html#org.jacoco.report"><B>ILanguageNames</B></A></B>
    +
    +<BR>
    +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Interface to create programming language specific names from VM names.</TD>
    +</TR>
    +<TR BGCOLOR="white" CLASS="TableRowColor">
    +<TD><B><A HREF="../../../org/jacoco/report/class-use/IMultiReportOutput.html#org.jacoco.report"><B>IMultiReportOutput</B></A></B>
    +
    +<BR>
    +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Interface to emit multiple binary files.</TD>
    +</TR>
    +<TR BGCOLOR="white" CLASS="TableRowColor">
    +<TD><B><A HREF="../../../org/jacoco/report/class-use/InputStreamSourceFileLocator.html#org.jacoco.report"><B>InputStreamSourceFileLocator</B></A></B>
    +
    +<BR>
    +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Abstract base class for <A HREF="../../../org/jacoco/report/ISourceFileLocator.html" title="interface in org.jacoco.report"><CODE>ISourceFileLocator</CODE></A> locator implementations
    + based on <A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/io/InputStream.html" title="class or interface in java.io"><CODE>InputStream</CODE></A>s.</TD>
    +</TR>
    +<TR BGCOLOR="white" CLASS="TableRowColor">
    +<TD><B><A HREF="../../../org/jacoco/report/class-use/IReportGroupVisitor.html#org.jacoco.report"><B>IReportGroupVisitor</B></A></B>
    +
    +<BR>
    +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Output-Interface for hierarchical report structures.</TD>
    +</TR>
    +<TR BGCOLOR="white" CLASS="TableRowColor">
    +<TD><B><A HREF="../../../org/jacoco/report/class-use/IReportVisitor.html#org.jacoco.report"><B>IReportVisitor</B></A></B>
    +
    +<BR>
    +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Interface for all implementations to retrieve structured report data.</TD>
    +</TR>
    +<TR BGCOLOR="white" CLASS="TableRowColor">
    +<TD><B><A HREF="../../../org/jacoco/report/class-use/ISourceFileLocator.html#org.jacoco.report"><B>ISourceFileLocator</B></A></B>
    +
    +<BR>
    +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Interface to look-up source files that will be included with the report.</TD>
    +</TR>
    +</TABLE>
    +&nbsp;
    +<P>
    +<A NAME="org.jacoco.report.check"><!-- --></A>
    +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
    +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
    +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
    +Classes in <A HREF="../../../org/jacoco/report/package-summary.html">org.jacoco.report</A> used by <A HREF="../../../org/jacoco/report/check/package-summary.html">org.jacoco.report.check</A></FONT></TH>
    +</TR>
    +<TR BGCOLOR="white" CLASS="TableRowColor">
    +<TD><B><A HREF="../../../org/jacoco/report/class-use/ILanguageNames.html#org.jacoco.report.check"><B>ILanguageNames</B></A></B>
    +
    +<BR>
    +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Interface to create programming language specific names from VM names.</TD>
    +</TR>
    +<TR BGCOLOR="white" CLASS="TableRowColor">
    +<TD><B><A HREF="../../../org/jacoco/report/class-use/IReportVisitor.html#org.jacoco.report.check"><B>IReportVisitor</B></A></B>
    +
    +<BR>
    +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Interface for all implementations to retrieve structured report data.</TD>
    +</TR>
    +</TABLE>
    +&nbsp;
    +<P>
    +<A NAME="org.jacoco.report.csv"><!-- --></A>
    +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
    +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
    +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
    +Classes in <A HREF="../../../org/jacoco/report/package-summary.html">org.jacoco.report</A> used by <A HREF="../../../org/jacoco/report/csv/package-summary.html">org.jacoco.report.csv</A></FONT></TH>
    +</TR>
    +<TR BGCOLOR="white" CLASS="TableRowColor">
    +<TD><B><A HREF="../../../org/jacoco/report/class-use/ILanguageNames.html#org.jacoco.report.csv"><B>ILanguageNames</B></A></B>
    +
    +<BR>
    +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Interface to create programming language specific names from VM names.</TD>
    +</TR>
    +<TR BGCOLOR="white" CLASS="TableRowColor">
    +<TD><B><A HREF="../../../org/jacoco/report/class-use/IReportVisitor.html#org.jacoco.report.csv"><B>IReportVisitor</B></A></B>
    +
    +<BR>
    +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Interface for all implementations to retrieve structured report data.</TD>
    +</TR>
    +</TABLE>
    +&nbsp;
    +<P>
    +<A NAME="org.jacoco.report.html"><!-- --></A>
    +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
    +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
    +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
    +Classes in <A HREF="../../../org/jacoco/report/package-summary.html">org.jacoco.report</A> used by <A HREF="../../../org/jacoco/report/html/package-summary.html">org.jacoco.report.html</A></FONT></TH>
    +</TR>
    +<TR BGCOLOR="white" CLASS="TableRowColor">
    +<TD><B><A HREF="../../../org/jacoco/report/class-use/ILanguageNames.html#org.jacoco.report.html"><B>ILanguageNames</B></A></B>
    +
    +<BR>
    +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Interface to create programming language specific names from VM names.</TD>
    +</TR>
    +<TR BGCOLOR="white" CLASS="TableRowColor">
    +<TD><B><A HREF="../../../org/jacoco/report/class-use/IMultiReportOutput.html#org.jacoco.report.html"><B>IMultiReportOutput</B></A></B>
    +
    +<BR>
    +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Interface to emit multiple binary files.</TD>
    +</TR>
    +<TR BGCOLOR="white" CLASS="TableRowColor">
    +<TD><B><A HREF="../../../org/jacoco/report/class-use/IReportVisitor.html#org.jacoco.report.html"><B>IReportVisitor</B></A></B>
    +
    +<BR>
    +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Interface for all implementations to retrieve structured report data.</TD>
    +</TR>
    +</TABLE>
    +&nbsp;
    +<P>
    +<A NAME="org.jacoco.report.xml"><!-- --></A>
    +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
    +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
    +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
    +Classes in <A HREF="../../../org/jacoco/report/package-summary.html">org.jacoco.report</A> used by <A HREF="../../../org/jacoco/report/xml/package-summary.html">org.jacoco.report.xml</A></FONT></TH>
    +</TR>
    +<TR BGCOLOR="white" CLASS="TableRowColor">
    +<TD><B><A HREF="../../../org/jacoco/report/class-use/IReportVisitor.html#org.jacoco.report.xml"><B>IReportVisitor</B></A></B>
    +
    +<BR>
    +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Interface for all implementations to retrieve structured report data.</TD>
    +</TR>
    +</TABLE>
    +&nbsp;
    +<P>
    +<HR>
    +
    +
    +<!-- ======= START OF BOTTOM NAVBAR ====== -->
    +<A NAME="navbar_bottom"><!-- --></A>
    +<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
    +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
    +<TR>
    +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
    +<A NAME="navbar_bottom_firstrow"><!-- --></A>
    +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
    +  <TR ALIGN="center" VALIGN="top">
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <FONT CLASS="NavBarFont1">Class</FONT>&nbsp;</TD>
    +  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
    +  </TR>
    +</TABLE>
    +</TD>
    +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
    +</EM>
    +</TD>
    +</TR>
    +
    +<TR>
    +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
    +&nbsp;PREV&nbsp;
    +&nbsp;NEXT</FONT></TD>
    +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
    +  <A HREF="../../../index.html?org/jacoco/report/package-use.html" target="_top"><B>FRAMES</B></A>  &nbsp;
    +&nbsp;<A HREF="package-use.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
    +&nbsp;<SCRIPT type="text/javascript">
    +  <!--
    +  if(window==top) {
    +    document.writeln('<A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>');
    +  }
    +  //-->
    +</SCRIPT>
    +<NOSCRIPT>
    +  <A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>
    +</NOSCRIPT>
    +
    +
    +</FONT></TD>
    +</TR>
    +</TABLE>
    +<A NAME="skip-navbar_bottom"></A>
    +<!-- ======== END OF BOTTOM NAVBAR ======= -->
    +
    +<HR>
    +Copyright &#169; 2009&#x2013;2024 Mountainminds GmbH & Co. KG. All rights reserved.
    +</BODY>
    +</HTML>
    diff --git a/jacoco/trunk/doc/api/org/jacoco/report/xml/XMLFormatter.html b/jacoco/trunk/doc/api/org/jacoco/report/xml/XMLFormatter.html
    new file mode 100644
    index 00000000000..0c8eef5cf63
    --- /dev/null
    +++ b/jacoco/trunk/doc/api/org/jacoco/report/xml/XMLFormatter.html
    @@ -0,0 +1,281 @@
    +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
    +<!--NewPage-->
    +<HTML>
    +<HEAD>
    +<!-- Generated by javadoc (build 1.5.0_22) on Wed Mar 27 16:45:42 UTC 2024 -->
    +<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
    +<TITLE>
    +XMLFormatter (JaCoCo 0.8.12.202403270442 API)
    +</TITLE>
    +
    +<META NAME="keywords" CONTENT="org.jacoco.report.xml.XMLFormatter class">
    +
    +<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../stylesheet.css" TITLE="Style">
    +
    +<SCRIPT type="text/javascript">
    +function windowTitle()
    +{
    +    parent.document.title="XMLFormatter (JaCoCo 0.8.12.202403270442 API)";
    +}
    +</SCRIPT>
    +<NOSCRIPT>
    +</NOSCRIPT>
    +
    +</HEAD>
    +
    +<BODY BGCOLOR="white" onload="windowTitle();">
    +
    +
    +<!-- ========= START OF TOP NAVBAR ======= -->
    +<A NAME="navbar_top"><!-- --></A>
    +<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
    +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
    +<TR>
    +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
    +<A NAME="navbar_top_firstrow"><!-- --></A>
    +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
    +  <TR ALIGN="center" VALIGN="top">
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="class-use/XMLFormatter.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
    +  </TR>
    +</TABLE>
    +</TD>
    +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
    +</EM>
    +</TD>
    +</TR>
    +
    +<TR>
    +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
    +&nbsp;PREV CLASS&nbsp;
    +&nbsp;NEXT CLASS</FONT></TD>
    +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
    +  <A HREF="../../../../index.html?org/jacoco/report/xml/XMLFormatter.html" target="_top"><B>FRAMES</B></A>  &nbsp;
    +&nbsp;<A HREF="XMLFormatter.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
    +&nbsp;<SCRIPT type="text/javascript">
    +  <!--
    +  if(window==top) {
    +    document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>');
    +  }
    +  //-->
    +</SCRIPT>
    +<NOSCRIPT>
    +  <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>
    +</NOSCRIPT>
    +
    +
    +</FONT></TD>
    +</TR>
    +<TR>
    +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
    +  SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;FIELD&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD>
    +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
    +DETAIL:&nbsp;FIELD&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD>
    +</TR>
    +</TABLE>
    +<A NAME="skip-navbar_top"></A>
    +<!-- ========= END OF TOP NAVBAR ========= -->
    +
    +<HR>
    +<!-- ======== START OF CLASS DATA ======== -->
    +<H2>
    +<FONT SIZE="-1">
    +org.jacoco.report.xml</FONT>
    +<BR>
    +Class XMLFormatter</H2>
    +<PRE>
    +<A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html" title="class or interface in java.lang">java.lang.Object</A>
    +  <IMG SRC="../../../../resources/inherit.gif" ALT="extended by "><B>org.jacoco.report.xml.XMLFormatter</B>
    +</PRE>
    +<HR>
    +<DL>
    +<DT><PRE>public class <B>XMLFormatter</B><DT>extends <A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html" title="class or interface in java.lang">Object</A></DL>
    +</PRE>
    +
    +<P>
    +Report formatter that creates a single XML file for a coverage session
    +<P>
    +
    +<P>
    +<HR>
    +
    +<P>
    +
    +<!-- ======== CONSTRUCTOR SUMMARY ======== -->
    +
    +<A NAME="constructor_summary"><!-- --></A>
    +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
    +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
    +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
    +<B>Constructor Summary</B></FONT></TH>
    +</TR>
    +<TR BGCOLOR="white" CLASS="TableRowColor">
    +<TD><CODE><B><A HREF="../../../../org/jacoco/report/xml/XMLFormatter.html#XMLFormatter()">XMLFormatter</A></B>()</CODE>
    +
    +<BR>
    +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
    +</TR>
    +</TABLE>
    +&nbsp;
    +<!-- ========== METHOD SUMMARY =========== -->
    +
    +<A NAME="method_summary"><!-- --></A>
    +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
    +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
    +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
    +<B>Method Summary</B></FONT></TH>
    +</TR>
    +<TR BGCOLOR="white" CLASS="TableRowColor">
    +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
    +<CODE>&nbsp;<A HREF="../../../../org/jacoco/report/IReportVisitor.html" title="interface in org.jacoco.report">IReportVisitor</A></CODE></FONT></TD>
    +<TD><CODE><B><A HREF="../../../../org/jacoco/report/xml/XMLFormatter.html#createVisitor(java.io.OutputStream)">createVisitor</A></B>(<A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/io/OutputStream.html" title="class or interface in java.io">OutputStream</A>&nbsp;output)</CODE>
    +
    +<BR>
    +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Creates a new visitor to write a report to the given stream.</TD>
    +</TR>
    +<TR BGCOLOR="white" CLASS="TableRowColor">
    +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
    +<CODE>&nbsp;void</CODE></FONT></TD>
    +<TD><CODE><B><A HREF="../../../../org/jacoco/report/xml/XMLFormatter.html#setOutputEncoding(java.lang.String)">setOutputEncoding</A></B>(<A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A>&nbsp;outputEncoding)</CODE>
    +
    +<BR>
    +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Sets the encoding used for generated XML document.</TD>
    +</TR>
    +</TABLE>
    +&nbsp;<A NAME="methods_inherited_from_class_java.lang.Object"><!-- --></A>
    +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
    +<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
    +<TH ALIGN="left"><B>Methods inherited from class java.lang.<A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html" title="class or interface in java.lang">Object</A></B></TH>
    +</TR>
    +<TR BGCOLOR="white" CLASS="TableRowColor">
    +<TD><CODE><A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html#clone()" title="class or interface in java.lang">clone</A>, <A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html#equals(java.lang.Object)" title="class or interface in java.lang">equals</A>, <A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html#finalize()" title="class or interface in java.lang">finalize</A>, <A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html#getClass()" title="class or interface in java.lang">getClass</A>, <A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html#hashCode()" title="class or interface in java.lang">hashCode</A>, <A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html#notify()" title="class or interface in java.lang">notify</A>, <A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html#notifyAll()" title="class or interface in java.lang">notifyAll</A>, <A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html#toString()" title="class or interface in java.lang">toString</A>, <A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html#wait()" title="class or interface in java.lang">wait</A>, <A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html#wait(long)" title="class or interface in java.lang">wait</A>, <A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html#wait(long, int)" title="class or interface in java.lang">wait</A></CODE></TD>
    +</TR>
    +</TABLE>
    +&nbsp;
    +<P>
    +
    +<!-- ========= CONSTRUCTOR DETAIL ======== -->
    +
    +<A NAME="constructor_detail"><!-- --></A>
    +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
    +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
    +<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2">
    +<B>Constructor Detail</B></FONT></TH>
    +</TR>
    +</TABLE>
    +
    +<A NAME="XMLFormatter()"><!-- --></A><H3>
    +XMLFormatter</H3>
    +<PRE>
    +public <B>XMLFormatter</B>()</PRE>
    +<DL>
    +</DL>
    +
    +<!-- ============ METHOD DETAIL ========== -->
    +
    +<A NAME="method_detail"><!-- --></A>
    +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
    +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
    +<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2">
    +<B>Method Detail</B></FONT></TH>
    +</TR>
    +</TABLE>
    +
    +<A NAME="setOutputEncoding(java.lang.String)"><!-- --></A><H3>
    +setOutputEncoding</H3>
    +<PRE>
    +public void <B>setOutputEncoding</B>(<A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A>&nbsp;outputEncoding)</PRE>
    +<DL>
    +<DD>Sets the encoding used for generated XML document. Default is UTF-8.
    +<P>
    +<DD><DL>
    +<DT><B>Parameters:</B><DD><CODE>outputEncoding</CODE> - XML output encoding</DL>
    +</DD>
    +</DL>
    +<HR>
    +
    +<A NAME="createVisitor(java.io.OutputStream)"><!-- --></A><H3>
    +createVisitor</H3>
    +<PRE>
    +public <A HREF="../../../../org/jacoco/report/IReportVisitor.html" title="interface in org.jacoco.report">IReportVisitor</A> <B>createVisitor</B>(<A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/io/OutputStream.html" title="class or interface in java.io">OutputStream</A>&nbsp;output)
    +                             throws <A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/io/IOException.html" title="class or interface in java.io">IOException</A></PRE>
    +<DL>
    +<DD>Creates a new visitor to write a report to the given stream.
    +<P>
    +<DD><DL>
    +<DT><B>Parameters:</B><DD><CODE>output</CODE> - output stream to write the report to
    +<DT><B>Returns:</B><DD>visitor to emit the report data to
    +<DT><B>Throws:</B>
    +<DD><CODE><A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/io/IOException.html" title="class or interface in java.io">IOException</A></CODE> - in case of problems with the output stream</DL>
    +</DD>
    +</DL>
    +<!-- ========= END OF CLASS DATA ========= -->
    +<HR>
    +
    +
    +<!-- ======= START OF BOTTOM NAVBAR ====== -->
    +<A NAME="navbar_bottom"><!-- --></A>
    +<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
    +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
    +<TR>
    +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
    +<A NAME="navbar_bottom_firstrow"><!-- --></A>
    +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
    +  <TR ALIGN="center" VALIGN="top">
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="class-use/XMLFormatter.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
    +  </TR>
    +</TABLE>
    +</TD>
    +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
    +</EM>
    +</TD>
    +</TR>
    +
    +<TR>
    +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
    +&nbsp;PREV CLASS&nbsp;
    +&nbsp;NEXT CLASS</FONT></TD>
    +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
    +  <A HREF="../../../../index.html?org/jacoco/report/xml/XMLFormatter.html" target="_top"><B>FRAMES</B></A>  &nbsp;
    +&nbsp;<A HREF="XMLFormatter.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
    +&nbsp;<SCRIPT type="text/javascript">
    +  <!--
    +  if(window==top) {
    +    document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>');
    +  }
    +  //-->
    +</SCRIPT>
    +<NOSCRIPT>
    +  <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>
    +</NOSCRIPT>
    +
    +
    +</FONT></TD>
    +</TR>
    +<TR>
    +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
    +  SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;FIELD&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD>
    +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
    +DETAIL:&nbsp;FIELD&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD>
    +</TR>
    +</TABLE>
    +<A NAME="skip-navbar_bottom"></A>
    +<!-- ======== END OF BOTTOM NAVBAR ======= -->
    +
    +<HR>
    +Copyright &#169; 2009&#x2013;2024 Mountainminds GmbH & Co. KG. All rights reserved.
    +</BODY>
    +</HTML>
    diff --git a/jacoco/trunk/doc/api/org/jacoco/report/xml/class-use/XMLFormatter.html b/jacoco/trunk/doc/api/org/jacoco/report/xml/class-use/XMLFormatter.html
    new file mode 100644
    index 00000000000..12f07419dfd
    --- /dev/null
    +++ b/jacoco/trunk/doc/api/org/jacoco/report/xml/class-use/XMLFormatter.html
    @@ -0,0 +1,141 @@
    +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
    +<!--NewPage-->
    +<HTML>
    +<HEAD>
    +<!-- Generated by javadoc (build 1.5.0_22) on Wed Mar 27 16:45:42 UTC 2024 -->
    +<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
    +<TITLE>
    +Uses of Class org.jacoco.report.xml.XMLFormatter (JaCoCo 0.8.12.202403270442 API)
    +</TITLE>
    +
    +
    +<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../../stylesheet.css" TITLE="Style">
    +
    +<SCRIPT type="text/javascript">
    +function windowTitle()
    +{
    +    parent.document.title="Uses of Class org.jacoco.report.xml.XMLFormatter (JaCoCo 0.8.12.202403270442 API)";
    +}
    +</SCRIPT>
    +<NOSCRIPT>
    +</NOSCRIPT>
    +
    +</HEAD>
    +
    +<BODY BGCOLOR="white" onload="windowTitle();">
    +
    +
    +<!-- ========= START OF TOP NAVBAR ======= -->
    +<A NAME="navbar_top"><!-- --></A>
    +<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
    +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
    +<TR>
    +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
    +<A NAME="navbar_top_firstrow"><!-- --></A>
    +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
    +  <TR ALIGN="center" VALIGN="top">
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../org/jacoco/report/xml/XMLFormatter.html" title="class in org.jacoco.report.xml"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
    +  </TR>
    +</TABLE>
    +</TD>
    +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
    +</EM>
    +</TD>
    +</TR>
    +
    +<TR>
    +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
    +&nbsp;PREV&nbsp;
    +&nbsp;NEXT</FONT></TD>
    +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
    +  <A HREF="../../../../../index.html?org/jacoco/report/xml/class-use/XMLFormatter.html" target="_top"><B>FRAMES</B></A>  &nbsp;
    +&nbsp;<A HREF="XMLFormatter.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
    +&nbsp;<SCRIPT type="text/javascript">
    +  <!--
    +  if(window==top) {
    +    document.writeln('<A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>');
    +  }
    +  //-->
    +</SCRIPT>
    +<NOSCRIPT>
    +  <A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>
    +</NOSCRIPT>
    +
    +
    +</FONT></TD>
    +</TR>
    +</TABLE>
    +<A NAME="skip-navbar_top"></A>
    +<!-- ========= END OF TOP NAVBAR ========= -->
    +
    +<HR>
    +<CENTER>
    +<H2>
    +<B>Uses of Class<br>org.jacoco.report.xml.XMLFormatter</B></H2>
    +</CENTER>
    +No usage of org.jacoco.report.xml.XMLFormatter
    +<P>
    +<HR>
    +
    +
    +<!-- ======= START OF BOTTOM NAVBAR ====== -->
    +<A NAME="navbar_bottom"><!-- --></A>
    +<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
    +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
    +<TR>
    +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
    +<A NAME="navbar_bottom_firstrow"><!-- --></A>
    +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
    +  <TR ALIGN="center" VALIGN="top">
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../org/jacoco/report/xml/XMLFormatter.html" title="class in org.jacoco.report.xml"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
    +  </TR>
    +</TABLE>
    +</TD>
    +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
    +</EM>
    +</TD>
    +</TR>
    +
    +<TR>
    +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
    +&nbsp;PREV&nbsp;
    +&nbsp;NEXT</FONT></TD>
    +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
    +  <A HREF="../../../../../index.html?org/jacoco/report/xml/class-use/XMLFormatter.html" target="_top"><B>FRAMES</B></A>  &nbsp;
    +&nbsp;<A HREF="XMLFormatter.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
    +&nbsp;<SCRIPT type="text/javascript">
    +  <!--
    +  if(window==top) {
    +    document.writeln('<A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>');
    +  }
    +  //-->
    +</SCRIPT>
    +<NOSCRIPT>
    +  <A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>
    +</NOSCRIPT>
    +
    +
    +</FONT></TD>
    +</TR>
    +</TABLE>
    +<A NAME="skip-navbar_bottom"></A>
    +<!-- ======== END OF BOTTOM NAVBAR ======= -->
    +
    +<HR>
    +Copyright &#169; 2009&#x2013;2024 Mountainminds GmbH & Co. KG. All rights reserved.
    +</BODY>
    +</HTML>
    diff --git a/jacoco/trunk/doc/api/org/jacoco/report/xml/package-frame.html b/jacoco/trunk/doc/api/org/jacoco/report/xml/package-frame.html
    new file mode 100644
    index 00000000000..79cdb5e3279
    --- /dev/null
    +++ b/jacoco/trunk/doc/api/org/jacoco/report/xml/package-frame.html
    @@ -0,0 +1,33 @@
    +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
    +<!--NewPage-->
    +<HTML>
    +<HEAD>
    +<!-- Generated by javadoc (build 1.5.0_22) on Wed Mar 27 16:45:42 UTC 2024 -->
    +<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
    +<TITLE>
    +org.jacoco.report.xml (JaCoCo 0.8.12.202403270442 API)
    +</TITLE>
    +
    +<META NAME="keywords" CONTENT="org.jacoco.report.xml package">
    +
    +<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../stylesheet.css" TITLE="Style">
    +
    +
    +</HEAD>
    +
    +<BODY BGCOLOR="white">
    +<FONT size="+1" CLASS="FrameTitleFont">
    +<A HREF="../../../../org/jacoco/report/xml/package-summary.html" target="classFrame">org.jacoco.report.xml</A></FONT>
    +<TABLE BORDER="0" WIDTH="100%" SUMMARY="">
    +<TR>
    +<TD NOWRAP><FONT size="+1" CLASS="FrameHeadingFont">
    +Classes</FONT>&nbsp;
    +<FONT CLASS="FrameItemFont">
    +<BR>
    +<A HREF="XMLFormatter.html" title="class in org.jacoco.report.xml" target="classFrame">XMLFormatter</A></FONT></TD>
    +</TR>
    +</TABLE>
    +
    +
    +</BODY>
    +</HTML>
    diff --git a/jacoco/trunk/doc/api/org/jacoco/report/xml/package-summary.html b/jacoco/trunk/doc/api/org/jacoco/report/xml/package-summary.html
    new file mode 100644
    index 00000000000..d64447084d7
    --- /dev/null
    +++ b/jacoco/trunk/doc/api/org/jacoco/report/xml/package-summary.html
    @@ -0,0 +1,170 @@
    +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
    +<!--NewPage-->
    +<HTML>
    +<HEAD>
    +<!-- Generated by javadoc (build 1.5.0_22) on Wed Mar 27 16:45:42 UTC 2024 -->
    +<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
    +<TITLE>
    +org.jacoco.report.xml (JaCoCo 0.8.12.202403270442 API)
    +</TITLE>
    +
    +<META NAME="keywords" CONTENT="org.jacoco.report.xml package">
    +
    +<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../stylesheet.css" TITLE="Style">
    +
    +<SCRIPT type="text/javascript">
    +function windowTitle()
    +{
    +    parent.document.title="org.jacoco.report.xml (JaCoCo 0.8.12.202403270442 API)";
    +}
    +</SCRIPT>
    +<NOSCRIPT>
    +</NOSCRIPT>
    +
    +</HEAD>
    +
    +<BODY BGCOLOR="white" onload="windowTitle();">
    +
    +
    +<!-- ========= START OF TOP NAVBAR ======= -->
    +<A NAME="navbar_top"><!-- --></A>
    +<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
    +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
    +<TR>
    +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
    +<A NAME="navbar_top_firstrow"><!-- --></A>
    +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
    +  <TR ALIGN="center" VALIGN="top">
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Package</B></FONT>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <FONT CLASS="NavBarFont1">Class</FONT>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-use.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
    +  </TR>
    +</TABLE>
    +</TD>
    +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
    +</EM>
    +</TD>
    +</TR>
    +
    +<TR>
    +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
    +&nbsp;<A HREF="../../../../org/jacoco/report/html/package-summary.html"><B>PREV PACKAGE</B></A>&nbsp;
    +&nbsp;NEXT PACKAGE</FONT></TD>
    +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
    +  <A HREF="../../../../index.html?org/jacoco/report/xml/package-summary.html" target="_top"><B>FRAMES</B></A>  &nbsp;
    +&nbsp;<A HREF="package-summary.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
    +&nbsp;<SCRIPT type="text/javascript">
    +  <!--
    +  if(window==top) {
    +    document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>');
    +  }
    +  //-->
    +</SCRIPT>
    +<NOSCRIPT>
    +  <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>
    +</NOSCRIPT>
    +
    +
    +</FONT></TD>
    +</TR>
    +</TABLE>
    +<A NAME="skip-navbar_top"></A>
    +<!-- ========= END OF TOP NAVBAR ========= -->
    +
    +<HR>
    +<H2>
    +Package org.jacoco.report.xml
    +</H2>
    +XML report implementation.
    +<P>
    +<B>See:</B>
    +<BR>
    +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<A HREF="#package_description"><B>Description</B></A>
    +<P>
    +
    +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
    +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
    +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
    +<B>Class Summary</B></FONT></TH>
    +</TR>
    +<TR BGCOLOR="white" CLASS="TableRowColor">
    +<TD WIDTH="15%"><B><A HREF="../../../../org/jacoco/report/xml/XMLFormatter.html" title="class in org.jacoco.report.xml">XMLFormatter</A></B></TD>
    +<TD>Report formatter that creates a single XML file for a coverage session</TD>
    +</TR>
    +</TABLE>
    +&nbsp;
    +
    +<P>
    +<A NAME="package_description"><!-- --></A><H2>
    +Package org.jacoco.report.xml Description
    +</H2>
    +
    +<P>
    +XML report implementation.
    +<P>
    +
    +<P>
    +<DL>
    +</DL>
    +<HR>
    +
    +
    +<!-- ======= START OF BOTTOM NAVBAR ====== -->
    +<A NAME="navbar_bottom"><!-- --></A>
    +<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
    +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
    +<TR>
    +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
    +<A NAME="navbar_bottom_firstrow"><!-- --></A>
    +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
    +  <TR ALIGN="center" VALIGN="top">
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Package</B></FONT>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <FONT CLASS="NavBarFont1">Class</FONT>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-use.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
    +  </TR>
    +</TABLE>
    +</TD>
    +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
    +</EM>
    +</TD>
    +</TR>
    +
    +<TR>
    +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
    +&nbsp;<A HREF="../../../../org/jacoco/report/html/package-summary.html"><B>PREV PACKAGE</B></A>&nbsp;
    +&nbsp;NEXT PACKAGE</FONT></TD>
    +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
    +  <A HREF="../../../../index.html?org/jacoco/report/xml/package-summary.html" target="_top"><B>FRAMES</B></A>  &nbsp;
    +&nbsp;<A HREF="package-summary.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
    +&nbsp;<SCRIPT type="text/javascript">
    +  <!--
    +  if(window==top) {
    +    document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>');
    +  }
    +  //-->
    +</SCRIPT>
    +<NOSCRIPT>
    +  <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>
    +</NOSCRIPT>
    +
    +
    +</FONT></TD>
    +</TR>
    +</TABLE>
    +<A NAME="skip-navbar_bottom"></A>
    +<!-- ======== END OF BOTTOM NAVBAR ======= -->
    +
    +<HR>
    +Copyright &#169; 2009&#x2013;2024 Mountainminds GmbH & Co. KG. All rights reserved.
    +</BODY>
    +</HTML>
    diff --git a/jacoco/trunk/doc/api/org/jacoco/report/xml/package-tree.html b/jacoco/trunk/doc/api/org/jacoco/report/xml/package-tree.html
    new file mode 100644
    index 00000000000..938784cb1c4
    --- /dev/null
    +++ b/jacoco/trunk/doc/api/org/jacoco/report/xml/package-tree.html
    @@ -0,0 +1,150 @@
    +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
    +<!--NewPage-->
    +<HTML>
    +<HEAD>
    +<!-- Generated by javadoc (build 1.5.0_22) on Wed Mar 27 16:45:42 UTC 2024 -->
    +<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
    +<TITLE>
    +org.jacoco.report.xml Class Hierarchy (JaCoCo 0.8.12.202403270442 API)
    +</TITLE>
    +
    +
    +<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../stylesheet.css" TITLE="Style">
    +
    +<SCRIPT type="text/javascript">
    +function windowTitle()
    +{
    +    parent.document.title="org.jacoco.report.xml Class Hierarchy (JaCoCo 0.8.12.202403270442 API)";
    +}
    +</SCRIPT>
    +<NOSCRIPT>
    +</NOSCRIPT>
    +
    +</HEAD>
    +
    +<BODY BGCOLOR="white" onload="windowTitle();">
    +
    +
    +<!-- ========= START OF TOP NAVBAR ======= -->
    +<A NAME="navbar_top"><!-- --></A>
    +<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
    +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
    +<TR>
    +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
    +<A NAME="navbar_top_firstrow"><!-- --></A>
    +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
    +  <TR ALIGN="center" VALIGN="top">
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <FONT CLASS="NavBarFont1">Class</FONT>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <FONT CLASS="NavBarFont1">Use</FONT>&nbsp;</TD>
    +  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Tree</B></FONT>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
    +  </TR>
    +</TABLE>
    +</TD>
    +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
    +</EM>
    +</TD>
    +</TR>
    +
    +<TR>
    +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
    +&nbsp;<A HREF="../../../../org/jacoco/report/html/package-tree.html"><B>PREV</B></A>&nbsp;
    +&nbsp;NEXT</FONT></TD>
    +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
    +  <A HREF="../../../../index.html?org/jacoco/report/xml/package-tree.html" target="_top"><B>FRAMES</B></A>  &nbsp;
    +&nbsp;<A HREF="package-tree.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
    +&nbsp;<SCRIPT type="text/javascript">
    +  <!--
    +  if(window==top) {
    +    document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>');
    +  }
    +  //-->
    +</SCRIPT>
    +<NOSCRIPT>
    +  <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>
    +</NOSCRIPT>
    +
    +
    +</FONT></TD>
    +</TR>
    +</TABLE>
    +<A NAME="skip-navbar_top"></A>
    +<!-- ========= END OF TOP NAVBAR ========= -->
    +
    +<HR>
    +<CENTER>
    +<H2>
    +Hierarchy For Package org.jacoco.report.xml
    +</H2>
    +</CENTER>
    +<DL>
    +<DT><B>Package Hierarchies:</B><DD><A HREF="../../../../overview-tree.html">All Packages</A></DL>
    +<HR>
    +<H2>
    +Class Hierarchy
    +</H2>
    +<UL>
    +<LI TYPE="circle">java.lang.<A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html" title="class or interface in java.lang"><B>Object</B></A><UL>
    +<LI TYPE="circle">org.jacoco.report.xml.<A HREF="../../../../org/jacoco/report/xml/XMLFormatter.html" title="class in org.jacoco.report.xml"><B>XMLFormatter</B></A></UL>
    +</UL>
    +<HR>
    +
    +
    +<!-- ======= START OF BOTTOM NAVBAR ====== -->
    +<A NAME="navbar_bottom"><!-- --></A>
    +<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
    +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
    +<TR>
    +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
    +<A NAME="navbar_bottom_firstrow"><!-- --></A>
    +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
    +  <TR ALIGN="center" VALIGN="top">
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <FONT CLASS="NavBarFont1">Class</FONT>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <FONT CLASS="NavBarFont1">Use</FONT>&nbsp;</TD>
    +  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Tree</B></FONT>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
    +  </TR>
    +</TABLE>
    +</TD>
    +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
    +</EM>
    +</TD>
    +</TR>
    +
    +<TR>
    +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
    +&nbsp;<A HREF="../../../../org/jacoco/report/html/package-tree.html"><B>PREV</B></A>&nbsp;
    +&nbsp;NEXT</FONT></TD>
    +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
    +  <A HREF="../../../../index.html?org/jacoco/report/xml/package-tree.html" target="_top"><B>FRAMES</B></A>  &nbsp;
    +&nbsp;<A HREF="package-tree.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
    +&nbsp;<SCRIPT type="text/javascript">
    +  <!--
    +  if(window==top) {
    +    document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>');
    +  }
    +  //-->
    +</SCRIPT>
    +<NOSCRIPT>
    +  <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>
    +</NOSCRIPT>
    +
    +
    +</FONT></TD>
    +</TR>
    +</TABLE>
    +<A NAME="skip-navbar_bottom"></A>
    +<!-- ======== END OF BOTTOM NAVBAR ======= -->
    +
    +<HR>
    +Copyright &#169; 2009&#x2013;2024 Mountainminds GmbH & Co. KG. All rights reserved.
    +</BODY>
    +</HTML>
    diff --git a/jacoco/trunk/doc/api/org/jacoco/report/xml/package-use.html b/jacoco/trunk/doc/api/org/jacoco/report/xml/package-use.html
    new file mode 100644
    index 00000000000..46d730fdb16
    --- /dev/null
    +++ b/jacoco/trunk/doc/api/org/jacoco/report/xml/package-use.html
    @@ -0,0 +1,141 @@
    +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
    +<!--NewPage-->
    +<HTML>
    +<HEAD>
    +<!-- Generated by javadoc (build 1.5.0_22) on Wed Mar 27 16:45:42 UTC 2024 -->
    +<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
    +<TITLE>
    +Uses of Package org.jacoco.report.xml (JaCoCo 0.8.12.202403270442 API)
    +</TITLE>
    +
    +
    +<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../stylesheet.css" TITLE="Style">
    +
    +<SCRIPT type="text/javascript">
    +function windowTitle()
    +{
    +    parent.document.title="Uses of Package org.jacoco.report.xml (JaCoCo 0.8.12.202403270442 API)";
    +}
    +</SCRIPT>
    +<NOSCRIPT>
    +</NOSCRIPT>
    +
    +</HEAD>
    +
    +<BODY BGCOLOR="white" onload="windowTitle();">
    +
    +
    +<!-- ========= START OF TOP NAVBAR ======= -->
    +<A NAME="navbar_top"><!-- --></A>
    +<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
    +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
    +<TR>
    +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
    +<A NAME="navbar_top_firstrow"><!-- --></A>
    +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
    +  <TR ALIGN="center" VALIGN="top">
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <FONT CLASS="NavBarFont1">Class</FONT>&nbsp;</TD>
    +  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
    +  </TR>
    +</TABLE>
    +</TD>
    +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
    +</EM>
    +</TD>
    +</TR>
    +
    +<TR>
    +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
    +&nbsp;PREV&nbsp;
    +&nbsp;NEXT</FONT></TD>
    +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
    +  <A HREF="../../../../index.html?org/jacoco/report/xml/package-use.html" target="_top"><B>FRAMES</B></A>  &nbsp;
    +&nbsp;<A HREF="package-use.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
    +&nbsp;<SCRIPT type="text/javascript">
    +  <!--
    +  if(window==top) {
    +    document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>');
    +  }
    +  //-->
    +</SCRIPT>
    +<NOSCRIPT>
    +  <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>
    +</NOSCRIPT>
    +
    +
    +</FONT></TD>
    +</TR>
    +</TABLE>
    +<A NAME="skip-navbar_top"></A>
    +<!-- ========= END OF TOP NAVBAR ========= -->
    +
    +<HR>
    +<CENTER>
    +<H2>
    +<B>Uses of Package<br>org.jacoco.report.xml</B></H2>
    +</CENTER>
    +No usage of org.jacoco.report.xml
    +<P>
    +<HR>
    +
    +
    +<!-- ======= START OF BOTTOM NAVBAR ====== -->
    +<A NAME="navbar_bottom"><!-- --></A>
    +<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
    +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
    +<TR>
    +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
    +<A NAME="navbar_bottom_firstrow"><!-- --></A>
    +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
    +  <TR ALIGN="center" VALIGN="top">
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <FONT CLASS="NavBarFont1">Class</FONT>&nbsp;</TD>
    +  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
    +  </TR>
    +</TABLE>
    +</TD>
    +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
    +</EM>
    +</TD>
    +</TR>
    +
    +<TR>
    +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
    +&nbsp;PREV&nbsp;
    +&nbsp;NEXT</FONT></TD>
    +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
    +  <A HREF="../../../../index.html?org/jacoco/report/xml/package-use.html" target="_top"><B>FRAMES</B></A>  &nbsp;
    +&nbsp;<A HREF="package-use.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
    +&nbsp;<SCRIPT type="text/javascript">
    +  <!--
    +  if(window==top) {
    +    document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>');
    +  }
    +  //-->
    +</SCRIPT>
    +<NOSCRIPT>
    +  <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>
    +</NOSCRIPT>
    +
    +
    +</FONT></TD>
    +</TR>
    +</TABLE>
    +<A NAME="skip-navbar_bottom"></A>
    +<!-- ======== END OF BOTTOM NAVBAR ======= -->
    +
    +<HR>
    +Copyright &#169; 2009&#x2013;2024 Mountainminds GmbH & Co. KG. All rights reserved.
    +</BODY>
    +</HTML>
    diff --git a/jacoco/trunk/doc/api/overview-frame.html b/jacoco/trunk/doc/api/overview-frame.html
    new file mode 100644
    index 00000000000..4b4df810883
    --- /dev/null
    +++ b/jacoco/trunk/doc/api/overview-frame.html
    @@ -0,0 +1,69 @@
    +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
    +<!--NewPage-->
    +<HTML>
    +<HEAD>
    +<!-- Generated by javadoc (build 1.5.0_22) on Wed Mar 27 16:45:42 UTC 2024 -->
    +<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
    +<TITLE>
    +Overview (JaCoCo 0.8.12.202403270442 API)
    +</TITLE>
    +
    +<META NAME="keywords" CONTENT="Overview, JaCoCo 0.8.12.202403270442 API">
    +
    +<LINK REL ="stylesheet" TYPE="text/css" HREF="stylesheet.css" TITLE="Style">
    +
    +
    +</HEAD>
    +
    +<BODY BGCOLOR="white">
    +
    +<TABLE BORDER="0" WIDTH="100%" SUMMARY="">
    +<TR>
    +<TH ALIGN="left" NOWRAP><FONT size="+1" CLASS="FrameTitleFont">
    +<B></B></FONT></TH>
    +</TR>
    +</TABLE>
    +
    +<TABLE BORDER="0" WIDTH="100%" SUMMARY="">
    +<TR>
    +<TD NOWRAP><FONT CLASS="FrameItemFont"><A HREF="allclasses-frame.html" target="packageFrame">All Classes</A></FONT>
    +<P>
    +<FONT size="+1" CLASS="FrameHeadingFont">
    +Packages</FONT>
    +<BR>
    +<FONT CLASS="FrameItemFont"><A HREF="com/vladium/emma/rt/package-frame.html" target="packageFrame">com.vladium.emma.rt</A></FONT>
    +<BR>
    +<FONT CLASS="FrameItemFont"><A HREF="org/jacoco/agent/package-frame.html" target="packageFrame">org.jacoco.agent</A></FONT>
    +<BR>
    +<FONT CLASS="FrameItemFont"><A HREF="org/jacoco/agent/rt/package-frame.html" target="packageFrame">org.jacoco.agent.rt</A></FONT>
    +<BR>
    +<FONT CLASS="FrameItemFont"><A HREF="org/jacoco/core/package-frame.html" target="packageFrame">org.jacoco.core</A></FONT>
    +<BR>
    +<FONT CLASS="FrameItemFont"><A HREF="org/jacoco/core/analysis/package-frame.html" target="packageFrame">org.jacoco.core.analysis</A></FONT>
    +<BR>
    +<FONT CLASS="FrameItemFont"><A HREF="org/jacoco/core/data/package-frame.html" target="packageFrame">org.jacoco.core.data</A></FONT>
    +<BR>
    +<FONT CLASS="FrameItemFont"><A HREF="org/jacoco/core/instr/package-frame.html" target="packageFrame">org.jacoco.core.instr</A></FONT>
    +<BR>
    +<FONT CLASS="FrameItemFont"><A HREF="org/jacoco/core/runtime/package-frame.html" target="packageFrame">org.jacoco.core.runtime</A></FONT>
    +<BR>
    +<FONT CLASS="FrameItemFont"><A HREF="org/jacoco/core/tools/package-frame.html" target="packageFrame">org.jacoco.core.tools</A></FONT>
    +<BR>
    +<FONT CLASS="FrameItemFont"><A HREF="org/jacoco/report/package-frame.html" target="packageFrame">org.jacoco.report</A></FONT>
    +<BR>
    +<FONT CLASS="FrameItemFont"><A HREF="org/jacoco/report/check/package-frame.html" target="packageFrame">org.jacoco.report.check</A></FONT>
    +<BR>
    +<FONT CLASS="FrameItemFont"><A HREF="org/jacoco/report/csv/package-frame.html" target="packageFrame">org.jacoco.report.csv</A></FONT>
    +<BR>
    +<FONT CLASS="FrameItemFont"><A HREF="org/jacoco/report/html/package-frame.html" target="packageFrame">org.jacoco.report.html</A></FONT>
    +<BR>
    +<FONT CLASS="FrameItemFont"><A HREF="org/jacoco/report/xml/package-frame.html" target="packageFrame">org.jacoco.report.xml</A></FONT>
    +<BR>
    +</TD>
    +</TR>
    +</TABLE>
    +
    +<P>
    +&nbsp;
    +</BODY>
    +</HTML>
    diff --git a/jacoco/trunk/doc/api/overview-summary.html b/jacoco/trunk/doc/api/overview-summary.html
    new file mode 100644
    index 00000000000..2c059e2ccf9
    --- /dev/null
    +++ b/jacoco/trunk/doc/api/overview-summary.html
    @@ -0,0 +1,279 @@
    +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
    +<!--NewPage-->
    +<HTML>
    +<HEAD>
    +<!-- Generated by javadoc (build 1.5.0_22) on Wed Mar 27 16:45:42 UTC 2024 -->
    +<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
    +<TITLE>
    +Overview (JaCoCo 0.8.12.202403270442 API)
    +</TITLE>
    +
    +<META NAME="keywords" CONTENT="Overview, JaCoCo 0.8.12.202403270442 API">
    +
    +<LINK REL ="stylesheet" TYPE="text/css" HREF="stylesheet.css" TITLE="Style">
    +
    +<SCRIPT type="text/javascript">
    +function windowTitle()
    +{
    +    parent.document.title="Overview (JaCoCo 0.8.12.202403270442 API)";
    +}
    +</SCRIPT>
    +<NOSCRIPT>
    +</NOSCRIPT>
    +
    +</HEAD>
    +
    +<BODY BGCOLOR="white" onload="windowTitle();">
    +
    +
    +<!-- ========= START OF TOP NAVBAR ======= -->
    +<A NAME="navbar_top"><!-- --></A>
    +<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
    +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
    +<TR>
    +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
    +<A NAME="navbar_top_firstrow"><!-- --></A>
    +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
    +  <TR ALIGN="center" VALIGN="top">
    +  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Overview</B></FONT>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <FONT CLASS="NavBarFont1">Package</FONT>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <FONT CLASS="NavBarFont1">Class</FONT>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <FONT CLASS="NavBarFont1">Use</FONT>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="overview-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
    +  </TR>
    +</TABLE>
    +</TD>
    +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
    +</EM>
    +</TD>
    +</TR>
    +
    +<TR>
    +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
    +&nbsp;PREV&nbsp;
    +&nbsp;NEXT</FONT></TD>
    +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
    +  <A HREF="index.html?overview-summary.html" target="_top"><B>FRAMES</B></A>  &nbsp;
    +&nbsp;<A HREF="overview-summary.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
    +&nbsp;<SCRIPT type="text/javascript">
    +  <!--
    +  if(window==top) {
    +    document.writeln('<A HREF="allclasses-noframe.html"><B>All Classes</B></A>');
    +  }
    +  //-->
    +</SCRIPT>
    +<NOSCRIPT>
    +  <A HREF="allclasses-noframe.html"><B>All Classes</B></A>
    +</NOSCRIPT>
    +
    +
    +</FONT></TD>
    +</TR>
    +</TABLE>
    +<A NAME="skip-navbar_top"></A>
    +<!-- ========= END OF TOP NAVBAR ========= -->
    +
    +<HR>
    +<CENTER>
    +<H1>
    +JaCoCo 0.8.12.202403270442 API
    +</H1>
    +</CENTER>
    +
    +  This is the public JaCoCo API that can be used for integration.
    +<P>
    +<B>See:</B>
    +<BR>
    +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<A HREF="#overview_description"><B>Description</B></A>
    +<P>
    +
    +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
    +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
    +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
    +<B>Bundle org.jacoco.core</B></FONT></TH>
    +</TR>
    +<TR BGCOLOR="white" CLASS="TableRowColor">
    +<TD WIDTH="20%"><B><A HREF="org/jacoco/core/package-summary.html">org.jacoco.core</A></B></TD>
    +<TD>Meta information about JaCoCo.</TD>
    +</TR>
    +<TR BGCOLOR="white" CLASS="TableRowColor">
    +<TD WIDTH="20%"><B><A HREF="org/jacoco/core/analysis/package-summary.html">org.jacoco.core.analysis</A></B></TD>
    +<TD>
    + Coverage calculation and analysis.</TD>
    +</TR>
    +<TR BGCOLOR="white" CLASS="TableRowColor">
    +<TD WIDTH="20%"><B><A HREF="org/jacoco/core/data/package-summary.html">org.jacoco.core.data</A></B></TD>
    +<TD>Representation and persistence of execution data and session information.</TD>
    +</TR>
    +<TR BGCOLOR="white" CLASS="TableRowColor">
    +<TD WIDTH="20%"><B><A HREF="org/jacoco/core/instr/package-summary.html">org.jacoco.core.instr</A></B></TD>
    +<TD>
    + Instrumentation of Java class files for code coverage.</TD>
    +</TR>
    +<TR BGCOLOR="white" CLASS="TableRowColor">
    +<TD WIDTH="20%"><B><A HREF="org/jacoco/core/runtime/package-summary.html">org.jacoco.core.runtime</A></B></TD>
    +<TD>Runtime control and execution data collection.</TD>
    +</TR>
    +<TR BGCOLOR="white" CLASS="TableRowColor">
    +<TD WIDTH="20%"><B><A HREF="org/jacoco/core/tools/package-summary.html">org.jacoco.core.tools</A></B></TD>
    +<TD>Collection of tools build on top of the JaCoCo core APIs.</TD>
    +</TR>
    +</TABLE>
    +
    +<P>
    +&nbsp;
    +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
    +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
    +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
    +<B>Bundle org.jacoco.report</B></FONT></TH>
    +</TR>
    +<TR BGCOLOR="white" CLASS="TableRowColor">
    +<TD WIDTH="20%"><B><A HREF="org/jacoco/report/package-summary.html">org.jacoco.report</A></B></TD>
    +<TD>Common interfaces and utilities for report generation.</TD>
    +</TR>
    +<TR BGCOLOR="white" CLASS="TableRowColor">
    +<TD WIDTH="20%"><B><A HREF="org/jacoco/report/check/package-summary.html">org.jacoco.report.check</A></B></TD>
    +<TD>Rules check implementation.</TD>
    +</TR>
    +<TR BGCOLOR="white" CLASS="TableRowColor">
    +<TD WIDTH="20%"><B><A HREF="org/jacoco/report/csv/package-summary.html">org.jacoco.report.csv</A></B></TD>
    +<TD>CSV report implementation.</TD>
    +</TR>
    +<TR BGCOLOR="white" CLASS="TableRowColor">
    +<TD WIDTH="20%"><B><A HREF="org/jacoco/report/html/package-summary.html">org.jacoco.report.html</A></B></TD>
    +<TD>HTML report implementation.</TD>
    +</TR>
    +<TR BGCOLOR="white" CLASS="TableRowColor">
    +<TD WIDTH="20%"><B><A HREF="org/jacoco/report/xml/package-summary.html">org.jacoco.report.xml</A></B></TD>
    +<TD>XML report implementation.</TD>
    +</TR>
    +</TABLE>
    +
    +<P>
    +&nbsp;
    +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
    +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
    +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
    +<B>Bundle org.jacoco.agent</B></FONT></TH>
    +</TR>
    +<TR BGCOLOR="white" CLASS="TableRowColor">
    +<TD WIDTH="20%"><B><A HREF="org/jacoco/agent/package-summary.html">org.jacoco.agent</A></B></TD>
    +<TD>Provides the runtime Java agent (JAR file) as a resource.</TD>
    +</TR>
    +</TABLE>
    +
    +<P>
    +&nbsp;
    +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
    +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
    +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
    +<B>JaCoCo Runtime</B></FONT></TH>
    +</TR>
    +<TR BGCOLOR="white" CLASS="TableRowColor">
    +<TD WIDTH="20%"><B><A HREF="com/vladium/emma/rt/package-summary.html">com.vladium.emma.rt</A></B></TD>
    +<TD>Compatibility API for EMMA runtime.</TD>
    +</TR>
    +<TR BGCOLOR="white" CLASS="TableRowColor">
    +<TD WIDTH="20%"><B><A HREF="org/jacoco/agent/rt/package-summary.html">org.jacoco.agent.rt</A></B></TD>
    +<TD>API to access the JaCoCo agent from within the JVM under test.</TD>
    +</TR>
    +</TABLE>
    +
    +<P>
    +&nbsp;<A NAME="overview_description"><!-- --></A>
    +<P>
    +<p>
    +  This is the public JaCoCo API that can be used for integration. JaCoCo is
    +  packed as several bundles. While the bundles formally fulfill the OSGi
    +  specification, there is no dependency on OSGi. They can also be used as
    +  regular JARs in your classpath.
    +</p>
    +
    +<h1>Bundle org.jacoco.core</h1>
    +
    +<p>
    +  The core bundle implements the code coverage technology itself. It provides
    +  APIs and implementation for
    +</p>
    +
    +<ul>
    +  <li>class file instrumentation,</li>
    +  <li>collecting execution data at runtime and</li>
    +  <li>analyzing coverage data.</li>
    +</ul>
    +
    +<h1>Bundle org.jacoco.agent</h1>
    +
    +<p>
    +  Provides the runtime Java agent (JAR file) as a resource.
    +</p>
    +
    +
    +<h1>Bundle org.jacoco.report</h1>
    +
    +<p>
    +  APIs and implementation to create coverage reports in several formats.
    +</p>
    +<P>
    +
    +<P>
    +<HR>
    +
    +
    +<!-- ======= START OF BOTTOM NAVBAR ====== -->
    +<A NAME="navbar_bottom"><!-- --></A>
    +<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
    +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
    +<TR>
    +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
    +<A NAME="navbar_bottom_firstrow"><!-- --></A>
    +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
    +  <TR ALIGN="center" VALIGN="top">
    +  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Overview</B></FONT>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <FONT CLASS="NavBarFont1">Package</FONT>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <FONT CLASS="NavBarFont1">Class</FONT>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <FONT CLASS="NavBarFont1">Use</FONT>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="overview-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
    +  </TR>
    +</TABLE>
    +</TD>
    +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
    +</EM>
    +</TD>
    +</TR>
    +
    +<TR>
    +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
    +&nbsp;PREV&nbsp;
    +&nbsp;NEXT</FONT></TD>
    +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
    +  <A HREF="index.html?overview-summary.html" target="_top"><B>FRAMES</B></A>  &nbsp;
    +&nbsp;<A HREF="overview-summary.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
    +&nbsp;<SCRIPT type="text/javascript">
    +  <!--
    +  if(window==top) {
    +    document.writeln('<A HREF="allclasses-noframe.html"><B>All Classes</B></A>');
    +  }
    +  //-->
    +</SCRIPT>
    +<NOSCRIPT>
    +  <A HREF="allclasses-noframe.html"><B>All Classes</B></A>
    +</NOSCRIPT>
    +
    +
    +</FONT></TD>
    +</TR>
    +</TABLE>
    +<A NAME="skip-navbar_bottom"></A>
    +<!-- ======== END OF BOTTOM NAVBAR ======= -->
    +
    +<HR>
    +Copyright &#169; 2009&#x2013;2024 Mountainminds GmbH & Co. KG. All rights reserved.
    +</BODY>
    +</HTML>
    diff --git a/jacoco/trunk/doc/api/overview-tree.html b/jacoco/trunk/doc/api/overview-tree.html
    new file mode 100644
    index 00000000000..58e68c2a196
    --- /dev/null
    +++ b/jacoco/trunk/doc/api/overview-tree.html
    @@ -0,0 +1,205 @@
    +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
    +<!--NewPage-->
    +<HTML>
    +<HEAD>
    +<!-- Generated by javadoc (build 1.5.0_22) on Wed Mar 27 16:45:42 UTC 2024 -->
    +<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
    +<TITLE>
    +Class Hierarchy (JaCoCo 0.8.12.202403270442 API)
    +</TITLE>
    +
    +
    +<LINK REL ="stylesheet" TYPE="text/css" HREF="stylesheet.css" TITLE="Style">
    +
    +<SCRIPT type="text/javascript">
    +function windowTitle()
    +{
    +    parent.document.title="Class Hierarchy (JaCoCo 0.8.12.202403270442 API)";
    +}
    +</SCRIPT>
    +<NOSCRIPT>
    +</NOSCRIPT>
    +
    +</HEAD>
    +
    +<BODY BGCOLOR="white" onload="windowTitle();">
    +
    +
    +<!-- ========= START OF TOP NAVBAR ======= -->
    +<A NAME="navbar_top"><!-- --></A>
    +<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
    +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
    +<TR>
    +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
    +<A NAME="navbar_top_firstrow"><!-- --></A>
    +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
    +  <TR ALIGN="center" VALIGN="top">
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <FONT CLASS="NavBarFont1">Package</FONT>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <FONT CLASS="NavBarFont1">Class</FONT>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <FONT CLASS="NavBarFont1">Use</FONT>&nbsp;</TD>
    +  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Tree</B></FONT>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
    +  </TR>
    +</TABLE>
    +</TD>
    +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
    +</EM>
    +</TD>
    +</TR>
    +
    +<TR>
    +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
    +&nbsp;PREV&nbsp;
    +&nbsp;NEXT</FONT></TD>
    +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
    +  <A HREF="index.html?overview-tree.html" target="_top"><B>FRAMES</B></A>  &nbsp;
    +&nbsp;<A HREF="overview-tree.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
    +&nbsp;<SCRIPT type="text/javascript">
    +  <!--
    +  if(window==top) {
    +    document.writeln('<A HREF="allclasses-noframe.html"><B>All Classes</B></A>');
    +  }
    +  //-->
    +</SCRIPT>
    +<NOSCRIPT>
    +  <A HREF="allclasses-noframe.html"><B>All Classes</B></A>
    +</NOSCRIPT>
    +
    +
    +</FONT></TD>
    +</TR>
    +</TABLE>
    +<A NAME="skip-navbar_top"></A>
    +<!-- ========= END OF TOP NAVBAR ========= -->
    +
    +<HR>
    +<CENTER>
    +<H2>
    +Hierarchy For All Packages</H2>
    +</CENTER>
    +<DL>
    +<DT><B>Package Hierarchies:</B><DD><A HREF="com/vladium/emma/rt/package-tree.html">com.vladium.emma.rt</A>, <A HREF="org/jacoco/agent/package-tree.html">org.jacoco.agent</A>, <A HREF="org/jacoco/agent/rt/package-tree.html">org.jacoco.agent.rt</A>, <A HREF="org/jacoco/core/package-tree.html">org.jacoco.core</A>, <A HREF="org/jacoco/core/analysis/package-tree.html">org.jacoco.core.analysis</A>, <A HREF="org/jacoco/core/data/package-tree.html">org.jacoco.core.data</A>, <A HREF="org/jacoco/core/instr/package-tree.html">org.jacoco.core.instr</A>, <A HREF="org/jacoco/core/runtime/package-tree.html">org.jacoco.core.runtime</A>, <A HREF="org/jacoco/core/tools/package-tree.html">org.jacoco.core.tools</A>, <A HREF="org/jacoco/report/package-tree.html">org.jacoco.report</A>, <A HREF="org/jacoco/report/check/package-tree.html">org.jacoco.report.check</A>, <A HREF="org/jacoco/report/csv/package-tree.html">org.jacoco.report.csv</A>, <A HREF="org/jacoco/report/html/package-tree.html">org.jacoco.report.html</A>, <A HREF="org/jacoco/report/xml/package-tree.html">org.jacoco.report.xml</A></DL>
    +<HR>
    +<H2>
    +Class Hierarchy
    +</H2>
    +<UL>
    +<LI TYPE="circle">java.lang.<A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html" title="class or interface in java.lang"><B>Object</B></A><UL>
    +<LI TYPE="circle">org.jacoco.core.runtime.<A HREF="org/jacoco/core/runtime/AbstractRuntime.html" title="class in org.jacoco.core.runtime"><B>AbstractRuntime</B></A> (implements org.jacoco.core.runtime.<A HREF="org/jacoco/core/runtime/IRuntime.html" title="interface in org.jacoco.core.runtime">IRuntime</A>)
    +<UL>
    +<LI TYPE="circle">org.jacoco.core.runtime.<A HREF="org/jacoco/core/runtime/InjectedClassRuntime.html" title="class in org.jacoco.core.runtime"><B>InjectedClassRuntime</B></A><LI TYPE="circle">org.jacoco.core.runtime.<A HREF="org/jacoco/core/runtime/LoggerRuntime.html" title="class in org.jacoco.core.runtime"><B>LoggerRuntime</B></A><LI TYPE="circle">org.jacoco.core.runtime.<A HREF="org/jacoco/core/runtime/ModifiedSystemClassRuntime.html" title="class in org.jacoco.core.runtime"><B>ModifiedSystemClassRuntime</B></A><LI TYPE="circle">org.jacoco.core.runtime.<A HREF="org/jacoco/core/runtime/SystemPropertiesRuntime.html" title="class in org.jacoco.core.runtime"><B>SystemPropertiesRuntime</B></A></UL>
    +<LI TYPE="circle">org.jacoco.agent.<A HREF="org/jacoco/agent/AgentJar.html" title="class in org.jacoco.agent"><B>AgentJar</B></A><LI TYPE="circle">org.jacoco.core.runtime.<A HREF="org/jacoco/core/runtime/AgentOptions.html" title="class in org.jacoco.core.runtime"><B>AgentOptions</B></A><LI TYPE="circle">org.jacoco.core.analysis.<A HREF="org/jacoco/core/analysis/Analyzer.html" title="class in org.jacoco.core.analysis"><B>Analyzer</B></A><LI TYPE="circle">org.jacoco.core.analysis.<A HREF="org/jacoco/core/analysis/CounterComparator.html" title="class in org.jacoco.core.analysis"><B>CounterComparator</B></A> (implements java.util.<A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/util/Comparator.html" title="class or interface in java.util">Comparator</A>&lt;T&gt;, java.io.<A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/io/Serializable.html" title="class or interface in java.io">Serializable</A>)
    +<LI TYPE="circle">org.jacoco.core.analysis.<A HREF="org/jacoco/core/analysis/CoverageBuilder.html" title="class in org.jacoco.core.analysis"><B>CoverageBuilder</B></A> (implements org.jacoco.core.analysis.<A HREF="org/jacoco/core/analysis/ICoverageVisitor.html" title="interface in org.jacoco.core.analysis">ICoverageVisitor</A>)
    +<LI TYPE="circle">org.jacoco.core.analysis.<A HREF="org/jacoco/core/analysis/CoverageNodeImpl.html" title="class in org.jacoco.core.analysis"><B>CoverageNodeImpl</B></A> (implements org.jacoco.core.analysis.<A HREF="org/jacoco/core/analysis/ICoverageNode.html" title="interface in org.jacoco.core.analysis">ICoverageNode</A>)
    +<LI TYPE="circle">org.jacoco.report.csv.<A HREF="org/jacoco/report/csv/CSVFormatter.html" title="class in org.jacoco.report.csv"><B>CSVFormatter</B></A><LI TYPE="circle">org.jacoco.core.tools.<A HREF="org/jacoco/core/tools/ExecDumpClient.html" title="class in org.jacoco.core.tools"><B>ExecDumpClient</B></A><LI TYPE="circle">org.jacoco.core.tools.<A HREF="org/jacoco/core/tools/ExecFileLoader.html" title="class in org.jacoco.core.tools"><B>ExecFileLoader</B></A><LI TYPE="circle">org.jacoco.core.data.<A HREF="org/jacoco/core/data/ExecutionData.html" title="class in org.jacoco.core.data"><B>ExecutionData</B></A><LI TYPE="circle">org.jacoco.core.data.<A HREF="org/jacoco/core/data/ExecutionDataReader.html" title="class in org.jacoco.core.data"><B>ExecutionDataReader</B></A><UL>
    +<LI TYPE="circle">org.jacoco.core.runtime.<A HREF="org/jacoco/core/runtime/RemoteControlReader.html" title="class in org.jacoco.core.runtime"><B>RemoteControlReader</B></A></UL>
    +<LI TYPE="circle">org.jacoco.core.data.<A HREF="org/jacoco/core/data/ExecutionDataStore.html" title="class in org.jacoco.core.data"><B>ExecutionDataStore</B></A> (implements org.jacoco.core.data.<A HREF="org/jacoco/core/data/IExecutionDataVisitor.html" title="interface in org.jacoco.core.data">IExecutionDataVisitor</A>)
    +<LI TYPE="circle">org.jacoco.core.data.<A HREF="org/jacoco/core/data/ExecutionDataWriter.html" title="class in org.jacoco.core.data"><B>ExecutionDataWriter</B></A> (implements org.jacoco.core.data.<A HREF="org/jacoco/core/data/IExecutionDataVisitor.html" title="interface in org.jacoco.core.data">IExecutionDataVisitor</A>, org.jacoco.core.data.<A HREF="org/jacoco/core/data/ISessionInfoVisitor.html" title="interface in org.jacoco.core.data">ISessionInfoVisitor</A>)
    +<UL>
    +<LI TYPE="circle">org.jacoco.core.runtime.<A HREF="org/jacoco/core/runtime/RemoteControlWriter.html" title="class in org.jacoco.core.runtime"><B>RemoteControlWriter</B></A> (implements org.jacoco.core.runtime.<A HREF="org/jacoco/core/runtime/IRemoteCommandVisitor.html" title="interface in org.jacoco.core.runtime">IRemoteCommandVisitor</A>)
    +</UL>
    +<LI TYPE="circle">org.jacoco.report.<A HREF="org/jacoco/report/FileMultiReportOutput.html" title="class in org.jacoco.report"><B>FileMultiReportOutput</B></A> (implements org.jacoco.report.<A HREF="org/jacoco/report/IMultiReportOutput.html" title="interface in org.jacoco.report">IMultiReportOutput</A>)
    +<LI TYPE="circle">org.jacoco.report.html.<A HREF="org/jacoco/report/html/HTMLFormatter.html" title="class in org.jacoco.report.html"><B>HTMLFormatter</B></A> (implements org.jacoco.report.internal.html.IHTMLReportContext)
    +<LI TYPE="circle">org.jacoco.report.<A HREF="org/jacoco/report/InputStreamSourceFileLocator.html" title="class in org.jacoco.report"><B>InputStreamSourceFileLocator</B></A> (implements org.jacoco.report.<A HREF="org/jacoco/report/ISourceFileLocator.html" title="interface in org.jacoco.report">ISourceFileLocator</A>)
    +<UL>
    +<LI TYPE="circle">org.jacoco.report.<A HREF="org/jacoco/report/DirectorySourceFileLocator.html" title="class in org.jacoco.report"><B>DirectorySourceFileLocator</B></A></UL>
    +<LI TYPE="circle">org.jacoco.core.instr.<A HREF="org/jacoco/core/instr/Instrumenter.html" title="class in org.jacoco.core.instr"><B>Instrumenter</B></A><LI TYPE="circle">org.jacoco.core.<A HREF="org/jacoco/core/JaCoCo.html" title="class in org.jacoco.core"><B>JaCoCo</B></A><LI TYPE="circle">org.jacoco.report.<A HREF="org/jacoco/report/JavaNames.html" title="class in org.jacoco.report"><B>JavaNames</B></A> (implements org.jacoco.report.<A HREF="org/jacoco/report/ILanguageNames.html" title="interface in org.jacoco.report">ILanguageNames</A>)
    +<LI TYPE="circle">org.jacoco.report.check.<A HREF="org/jacoco/report/check/Limit.html" title="class in org.jacoco.report.check"><B>Limit</B></A><LI TYPE="circle">org.jacoco.report.<A HREF="org/jacoco/report/MultiReportVisitor.html" title="class in org.jacoco.report"><B>MultiReportVisitor</B></A> (implements org.jacoco.report.<A HREF="org/jacoco/report/IReportVisitor.html" title="interface in org.jacoco.report">IReportVisitor</A>)
    +<LI TYPE="circle">org.jacoco.report.<A HREF="org/jacoco/report/MultiSourceFileLocator.html" title="class in org.jacoco.report"><B>MultiSourceFileLocator</B></A> (implements org.jacoco.report.<A HREF="org/jacoco/report/ISourceFileLocator.html" title="interface in org.jacoco.report">ISourceFileLocator</A>)
    +<LI TYPE="circle">org.jacoco.core.analysis.<A HREF="org/jacoco/core/analysis/NodeComparator.html" title="class in org.jacoco.core.analysis"><B>NodeComparator</B></A> (implements java.util.<A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/util/Comparator.html" title="class or interface in java.util">Comparator</A>&lt;T&gt;, java.io.<A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/io/Serializable.html" title="class or interface in java.io">Serializable</A>)
    +<LI TYPE="circle">org.jacoco.core.runtime.<A HREF="org/jacoco/core/runtime/OfflineInstrumentationAccessGenerator.html" title="class in org.jacoco.core.runtime"><B>OfflineInstrumentationAccessGenerator</B></A> (implements org.jacoco.core.runtime.<A HREF="org/jacoco/core/runtime/IExecutionDataAccessorGenerator.html" title="interface in org.jacoco.core.runtime">IExecutionDataAccessorGenerator</A>)
    +<LI TYPE="circle">com.vladium.emma.rt.<A HREF="com/vladium/emma/rt/RT.html" title="class in com.vladium.emma.rt"><B>RT</B></A><LI TYPE="circle">org.jacoco.agent.rt.<A HREF="org/jacoco/agent/rt/RT.html" title="class in org.jacoco.agent.rt"><B>RT</B></A><LI TYPE="circle">org.jacoco.report.check.<A HREF="org/jacoco/report/check/Rule.html" title="class in org.jacoco.report.check"><B>Rule</B></A><LI TYPE="circle">org.jacoco.report.check.<A HREF="org/jacoco/report/check/RulesChecker.html" title="class in org.jacoco.report.check"><B>RulesChecker</B></A><LI TYPE="circle">org.jacoco.core.runtime.<A HREF="org/jacoco/core/runtime/RuntimeData.html" title="class in org.jacoco.core.runtime"><B>RuntimeData</B></A><LI TYPE="circle">org.jacoco.core.data.<A HREF="org/jacoco/core/data/SessionInfo.html" title="class in org.jacoco.core.data"><B>SessionInfo</B></A> (implements java.lang.<A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Comparable.html" title="class or interface in java.lang">Comparable</A>&lt;T&gt;)
    +<LI TYPE="circle">org.jacoco.core.data.<A HREF="org/jacoco/core/data/SessionInfoStore.html" title="class in org.jacoco.core.data"><B>SessionInfoStore</B></A> (implements org.jacoco.core.data.<A HREF="org/jacoco/core/data/ISessionInfoVisitor.html" title="interface in org.jacoco.core.data">ISessionInfoVisitor</A>)
    +<LI TYPE="circle">java.lang.<A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Throwable.html" title="class or interface in java.lang"><B>Throwable</B></A> (implements java.io.<A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/io/Serializable.html" title="class or interface in java.io">Serializable</A>)
    +<UL>
    +<LI TYPE="circle">java.lang.<A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Exception.html" title="class or interface in java.lang"><B>Exception</B></A><UL>
    +<LI TYPE="circle">java.io.<A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/io/IOException.html" title="class or interface in java.io"><B>IOException</B></A><UL>
    +<LI TYPE="circle">org.jacoco.core.data.<A HREF="org/jacoco/core/data/IncompatibleExecDataVersionException.html" title="class in org.jacoco.core.data"><B>IncompatibleExecDataVersionException</B></A></UL>
    +</UL>
    +</UL>
    +<LI TYPE="circle">org.jacoco.core.runtime.<A HREF="org/jacoco/core/runtime/WildcardMatcher.html" title="class in org.jacoco.core.runtime"><B>WildcardMatcher</B></A><LI TYPE="circle">org.jacoco.report.xml.<A HREF="org/jacoco/report/xml/XMLFormatter.html" title="class in org.jacoco.report.xml"><B>XMLFormatter</B></A><LI TYPE="circle">org.jacoco.report.<A HREF="org/jacoco/report/ZipMultiReportOutput.html" title="class in org.jacoco.report"><B>ZipMultiReportOutput</B></A> (implements org.jacoco.report.<A HREF="org/jacoco/report/IMultiReportOutput.html" title="interface in org.jacoco.report">IMultiReportOutput</A>)
    +</UL>
    +</UL>
    +<H2>
    +Interface Hierarchy
    +</H2>
    +<UL>
    +<LI TYPE="circle">org.jacoco.agent.rt.<A HREF="org/jacoco/agent/rt/IAgent.html" title="interface in org.jacoco.agent.rt"><B>IAgent</B></A><LI TYPE="circle">org.jacoco.core.analysis.<A HREF="org/jacoco/core/analysis/ICounter.html" title="interface in org.jacoco.core.analysis"><B>ICounter</B></A><LI TYPE="circle">org.jacoco.core.analysis.<A HREF="org/jacoco/core/analysis/ICoverageNode.html" title="interface in org.jacoco.core.analysis"><B>ICoverageNode</B></A><UL>
    +<LI TYPE="circle">org.jacoco.core.analysis.<A HREF="org/jacoco/core/analysis/IBundleCoverage.html" title="interface in org.jacoco.core.analysis"><B>IBundleCoverage</B></A><LI TYPE="circle">org.jacoco.core.analysis.<A HREF="org/jacoco/core/analysis/IClassCoverage.html" title="interface in org.jacoco.core.analysis"><B>IClassCoverage</B></A><LI TYPE="circle">org.jacoco.core.analysis.<A HREF="org/jacoco/core/analysis/IMethodCoverage.html" title="interface in org.jacoco.core.analysis"><B>IMethodCoverage</B></A><LI TYPE="circle">org.jacoco.core.analysis.<A HREF="org/jacoco/core/analysis/IPackageCoverage.html" title="interface in org.jacoco.core.analysis"><B>IPackageCoverage</B></A><LI TYPE="circle">org.jacoco.core.analysis.<A HREF="org/jacoco/core/analysis/ISourceFileCoverage.html" title="interface in org.jacoco.core.analysis"><B>ISourceFileCoverage</B></A><LI TYPE="circle">org.jacoco.core.analysis.<A HREF="org/jacoco/core/analysis/ISourceNode.html" title="interface in org.jacoco.core.analysis"><B>ISourceNode</B></A><UL>
    +<LI TYPE="circle">org.jacoco.core.analysis.<A HREF="org/jacoco/core/analysis/IClassCoverage.html" title="interface in org.jacoco.core.analysis"><B>IClassCoverage</B></A><LI TYPE="circle">org.jacoco.core.analysis.<A HREF="org/jacoco/core/analysis/IMethodCoverage.html" title="interface in org.jacoco.core.analysis"><B>IMethodCoverage</B></A><LI TYPE="circle">org.jacoco.core.analysis.<A HREF="org/jacoco/core/analysis/ISourceFileCoverage.html" title="interface in org.jacoco.core.analysis"><B>ISourceFileCoverage</B></A></UL>
    +</UL>
    +<LI TYPE="circle">org.jacoco.core.analysis.<A HREF="org/jacoco/core/analysis/ICoverageVisitor.html" title="interface in org.jacoco.core.analysis"><B>ICoverageVisitor</B></A><LI TYPE="circle">org.jacoco.core.runtime.<A HREF="org/jacoco/core/runtime/IExecutionDataAccessorGenerator.html" title="interface in org.jacoco.core.runtime"><B>IExecutionDataAccessorGenerator</B></A><UL>
    +<LI TYPE="circle">org.jacoco.core.runtime.<A HREF="org/jacoco/core/runtime/IRuntime.html" title="interface in org.jacoco.core.runtime"><B>IRuntime</B></A></UL>
    +<LI TYPE="circle">org.jacoco.core.data.<A HREF="org/jacoco/core/data/IExecutionDataVisitor.html" title="interface in org.jacoco.core.data"><B>IExecutionDataVisitor</B></A><LI TYPE="circle">org.jacoco.report.<A HREF="org/jacoco/report/ILanguageNames.html" title="interface in org.jacoco.report"><B>ILanguageNames</B></A><LI TYPE="circle">org.jacoco.core.analysis.<A HREF="org/jacoco/core/analysis/ILine.html" title="interface in org.jacoco.core.analysis"><B>ILine</B></A><LI TYPE="circle">org.jacoco.report.<A HREF="org/jacoco/report/IMultiReportOutput.html" title="interface in org.jacoco.report"><B>IMultiReportOutput</B></A><LI TYPE="circle">org.jacoco.core.runtime.<A HREF="org/jacoco/core/runtime/IRemoteCommandVisitor.html" title="interface in org.jacoco.core.runtime"><B>IRemoteCommandVisitor</B></A><LI TYPE="circle">org.jacoco.report.<A HREF="org/jacoco/report/IReportGroupVisitor.html" title="interface in org.jacoco.report"><B>IReportGroupVisitor</B></A><UL>
    +<LI TYPE="circle">org.jacoco.report.<A HREF="org/jacoco/report/IReportVisitor.html" title="interface in org.jacoco.report"><B>IReportVisitor</B></A></UL>
    +<LI TYPE="circle">org.jacoco.core.data.<A HREF="org/jacoco/core/data/ISessionInfoVisitor.html" title="interface in org.jacoco.core.data"><B>ISessionInfoVisitor</B></A><LI TYPE="circle">org.jacoco.report.<A HREF="org/jacoco/report/ISourceFileLocator.html" title="interface in org.jacoco.report"><B>ISourceFileLocator</B></A><LI TYPE="circle">org.jacoco.report.check.<A HREF="org/jacoco/report/check/IViolationsOutput.html" title="interface in org.jacoco.report.check"><B>IViolationsOutput</B></A></UL>
    +<H2>
    +Enum Hierarchy
    +</H2>
    +<UL>
    +<LI TYPE="circle">java.lang.<A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html" title="class or interface in java.lang"><B>Object</B></A><UL>
    +<LI TYPE="circle">java.lang.<A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Enum.html" title="class or interface in java.lang"><B>Enum</B></A>&lt;E&gt; (implements java.lang.<A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Comparable.html" title="class or interface in java.lang">Comparable</A>&lt;T&gt;, java.io.<A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/io/Serializable.html" title="class or interface in java.io">Serializable</A>)
    +<UL>
    +<LI TYPE="circle">org.jacoco.core.runtime.<A HREF="org/jacoco/core/runtime/AgentOptions.OutputMode.html" title="enum in org.jacoco.core.runtime"><B>AgentOptions.OutputMode</B></A><LI TYPE="circle">org.jacoco.core.analysis.<A HREF="org/jacoco/core/analysis/ICounter.CounterValue.html" title="enum in org.jacoco.core.analysis"><B>ICounter.CounterValue</B></A><LI TYPE="circle">org.jacoco.core.analysis.<A HREF="org/jacoco/core/analysis/ICoverageNode.ElementType.html" title="enum in org.jacoco.core.analysis"><B>ICoverageNode.ElementType</B></A><LI TYPE="circle">org.jacoco.core.analysis.<A HREF="org/jacoco/core/analysis/ICoverageNode.CounterEntity.html" title="enum in org.jacoco.core.analysis"><B>ICoverageNode.CounterEntity</B></A></UL>
    +</UL>
    +</UL>
    +<HR>
    +
    +
    +<!-- ======= START OF BOTTOM NAVBAR ====== -->
    +<A NAME="navbar_bottom"><!-- --></A>
    +<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
    +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
    +<TR>
    +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
    +<A NAME="navbar_bottom_firstrow"><!-- --></A>
    +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
    +  <TR ALIGN="center" VALIGN="top">
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <FONT CLASS="NavBarFont1">Package</FONT>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <FONT CLASS="NavBarFont1">Class</FONT>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <FONT CLASS="NavBarFont1">Use</FONT>&nbsp;</TD>
    +  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Tree</B></FONT>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
    +  </TR>
    +</TABLE>
    +</TD>
    +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
    +</EM>
    +</TD>
    +</TR>
    +
    +<TR>
    +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
    +&nbsp;PREV&nbsp;
    +&nbsp;NEXT</FONT></TD>
    +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
    +  <A HREF="index.html?overview-tree.html" target="_top"><B>FRAMES</B></A>  &nbsp;
    +&nbsp;<A HREF="overview-tree.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
    +&nbsp;<SCRIPT type="text/javascript">
    +  <!--
    +  if(window==top) {
    +    document.writeln('<A HREF="allclasses-noframe.html"><B>All Classes</B></A>');
    +  }
    +  //-->
    +</SCRIPT>
    +<NOSCRIPT>
    +  <A HREF="allclasses-noframe.html"><B>All Classes</B></A>
    +</NOSCRIPT>
    +
    +
    +</FONT></TD>
    +</TR>
    +</TABLE>
    +<A NAME="skip-navbar_bottom"></A>
    +<!-- ======== END OF BOTTOM NAVBAR ======= -->
    +
    +<HR>
    +Copyright &#169; 2009&#x2013;2024 Mountainminds GmbH & Co. KG. All rights reserved.
    +</BODY>
    +</HTML>
    diff --git a/jacoco/trunk/doc/api/package-list b/jacoco/trunk/doc/api/package-list
    new file mode 100644
    index 00000000000..983fb5edb6f
    --- /dev/null
    +++ b/jacoco/trunk/doc/api/package-list
    @@ -0,0 +1,14 @@
    +com.vladium.emma.rt
    +org.jacoco.agent
    +org.jacoco.agent.rt
    +org.jacoco.core
    +org.jacoco.core.analysis
    +org.jacoco.core.data
    +org.jacoco.core.instr
    +org.jacoco.core.runtime
    +org.jacoco.core.tools
    +org.jacoco.report
    +org.jacoco.report.check
    +org.jacoco.report.csv
    +org.jacoco.report.html
    +org.jacoco.report.xml
    diff --git a/jacoco/trunk/doc/api/resources/inherit.gif b/jacoco/trunk/doc/api/resources/inherit.gif
    new file mode 100644
    index 00000000000..c814867a13d
    Binary files /dev/null and b/jacoco/trunk/doc/api/resources/inherit.gif differ
    diff --git a/jacoco/trunk/doc/api/serialized-form.html b/jacoco/trunk/doc/api/serialized-form.html
    new file mode 100644
    index 00000000000..297e3879e1f
    --- /dev/null
    +++ b/jacoco/trunk/doc/api/serialized-form.html
    @@ -0,0 +1,265 @@
    +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
    +<!--NewPage-->
    +<HTML>
    +<HEAD>
    +<!-- Generated by javadoc (build 1.5.0_22) on Wed Mar 27 16:45:42 UTC 2024 -->
    +<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
    +<TITLE>
    +Serialized Form (JaCoCo 0.8.12.202403270442 API)
    +</TITLE>
    +
    +
    +<LINK REL ="stylesheet" TYPE="text/css" HREF="stylesheet.css" TITLE="Style">
    +
    +<SCRIPT type="text/javascript">
    +function windowTitle()
    +{
    +    parent.document.title="Serialized Form (JaCoCo 0.8.12.202403270442 API)";
    +}
    +</SCRIPT>
    +<NOSCRIPT>
    +</NOSCRIPT>
    +
    +</HEAD>
    +
    +<BODY BGCOLOR="white" onload="windowTitle();">
    +
    +
    +<!-- ========= START OF TOP NAVBAR ======= -->
    +<A NAME="navbar_top"><!-- --></A>
    +<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
    +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
    +<TR>
    +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
    +<A NAME="navbar_top_firstrow"><!-- --></A>
    +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
    +  <TR ALIGN="center" VALIGN="top">
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <FONT CLASS="NavBarFont1">Package</FONT>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <FONT CLASS="NavBarFont1">Class</FONT>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <FONT CLASS="NavBarFont1">Use</FONT>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="overview-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
    +  </TR>
    +</TABLE>
    +</TD>
    +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
    +</EM>
    +</TD>
    +</TR>
    +
    +<TR>
    +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
    +&nbsp;PREV&nbsp;
    +&nbsp;NEXT</FONT></TD>
    +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
    +  <A HREF="index.html?serialized-form.html" target="_top"><B>FRAMES</B></A>  &nbsp;
    +&nbsp;<A HREF="serialized-form.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
    +&nbsp;<SCRIPT type="text/javascript">
    +  <!--
    +  if(window==top) {
    +    document.writeln('<A HREF="allclasses-noframe.html"><B>All Classes</B></A>');
    +  }
    +  //-->
    +</SCRIPT>
    +<NOSCRIPT>
    +  <A HREF="allclasses-noframe.html"><B>All Classes</B></A>
    +</NOSCRIPT>
    +
    +
    +</FONT></TD>
    +</TR>
    +</TABLE>
    +<A NAME="skip-navbar_top"></A>
    +<!-- ========= END OF TOP NAVBAR ========= -->
    +
    +<HR>
    +<CENTER>
    +<H1>
    +Serialized Form</H1>
    +</CENTER>
    +<HR SIZE="4" NOSHADE>
    +
    +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
    +<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor">
    +<TH ALIGN="center"><FONT SIZE="+2">
    +<B>Package</B> <B>org.jacoco.core.analysis</B></FONT></TH>
    +</TR>
    +</TABLE>
    +
    +<P>
    +<A NAME="org.jacoco.core.analysis.CounterComparator"><!-- --></A>
    +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
    +<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor">
    +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
    +<B>Class <A HREF="org/jacoco/core/analysis/CounterComparator.html" title="class in org.jacoco.core.analysis">org.jacoco.core.analysis.CounterComparator</A> extends <A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html" title="class or interface in java.lang">Object</A> implements Serializable</B></FONT></TH>
    +</TR>
    +</TABLE>
    +
    +<P>
    +<B>serialVersionUID:&nbsp;</B>-3777463066252746748L
    +
    +<P>
    +<A NAME="serializedForm"><!-- --></A>
    +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
    +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
    +<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2">
    +<B>Serialized Fields</B></FONT></TH>
    +</TR>
    +</TABLE>
    +
    +<H3>
    +value</H3>
    +<PRE>
    +<A HREF="org/jacoco/core/analysis/ICounter.CounterValue.html" title="enum in org.jacoco.core.analysis">ICounter.CounterValue</A> <B>value</B></PRE>
    +<DL>
    +<DL>
    +</DL>
    +</DL>
    +<HR>
    +<H3>
    +reverse</H3>
    +<PRE>
    +boolean <B>reverse</B></PRE>
    +<DL>
    +<DL>
    +</DL>
    +</DL>
    +
    +<P>
    +<A NAME="org.jacoco.core.analysis.NodeComparator"><!-- --></A>
    +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
    +<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor">
    +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
    +<B>Class <A HREF="org/jacoco/core/analysis/NodeComparator.html" title="class in org.jacoco.core.analysis">org.jacoco.core.analysis.NodeComparator</A> extends <A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html" title="class or interface in java.lang">Object</A> implements Serializable</B></FONT></TH>
    +</TR>
    +</TABLE>
    +
    +<P>
    +<B>serialVersionUID:&nbsp;</B>8550521643608826519L
    +
    +<P>
    +<A NAME="serializedForm"><!-- --></A>
    +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
    +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
    +<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2">
    +<B>Serialized Fields</B></FONT></TH>
    +</TR>
    +</TABLE>
    +
    +<H3>
    +counterComparator</H3>
    +<PRE>
    +<A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/util/Comparator.html" title="class or interface in java.util">Comparator</A>&lt;<A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/util/Comparator.html" title="class or interface in java.util">T</A>&gt; <B>counterComparator</B></PRE>
    +<DL>
    +<DL>
    +</DL>
    +</DL>
    +<HR>
    +<H3>
    +entity</H3>
    +<PRE>
    +<A HREF="org/jacoco/core/analysis/ICoverageNode.CounterEntity.html" title="enum in org.jacoco.core.analysis">ICoverageNode.CounterEntity</A> <B>entity</B></PRE>
    +<DL>
    +<DL>
    +</DL>
    +</DL>
    +<HR SIZE="4" NOSHADE>
    +
    +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
    +<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor">
    +<TH ALIGN="center"><FONT SIZE="+2">
    +<B>Package</B> <B>org.jacoco.core.data</B></FONT></TH>
    +</TR>
    +</TABLE>
    +
    +<P>
    +<A NAME="org.jacoco.core.data.IncompatibleExecDataVersionException"><!-- --></A>
    +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
    +<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor">
    +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
    +<B>Class <A HREF="org/jacoco/core/data/IncompatibleExecDataVersionException.html" title="class in org.jacoco.core.data">org.jacoco.core.data.IncompatibleExecDataVersionException</A> extends <A HREF="https://docs.oracle.com/javase/1.5.0/docs/api/java/io/IOException.html" title="class or interface in java.io">IOException</A> implements Serializable</B></FONT></TH>
    +</TR>
    +</TABLE>
    +
    +<P>
    +<B>serialVersionUID:&nbsp;</B>1L
    +
    +<P>
    +<A NAME="serializedForm"><!-- --></A>
    +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
    +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
    +<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2">
    +<B>Serialized Fields</B></FONT></TH>
    +</TR>
    +</TABLE>
    +
    +<H3>
    +actualVersion</H3>
    +<PRE>
    +int <B>actualVersion</B></PRE>
    +<DL>
    +<DL>
    +</DL>
    +</DL>
    +
    +<P>
    +<HR>
    +
    +
    +<!-- ======= START OF BOTTOM NAVBAR ====== -->
    +<A NAME="navbar_bottom"><!-- --></A>
    +<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
    +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
    +<TR>
    +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
    +<A NAME="navbar_bottom_firstrow"><!-- --></A>
    +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
    +  <TR ALIGN="center" VALIGN="top">
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <FONT CLASS="NavBarFont1">Package</FONT>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <FONT CLASS="NavBarFont1">Class</FONT>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <FONT CLASS="NavBarFont1">Use</FONT>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="overview-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
    +  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
    +  </TR>
    +</TABLE>
    +</TD>
    +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
    +</EM>
    +</TD>
    +</TR>
    +
    +<TR>
    +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
    +&nbsp;PREV&nbsp;
    +&nbsp;NEXT</FONT></TD>
    +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
    +  <A HREF="index.html?serialized-form.html" target="_top"><B>FRAMES</B></A>  &nbsp;
    +&nbsp;<A HREF="serialized-form.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
    +&nbsp;<SCRIPT type="text/javascript">
    +  <!--
    +  if(window==top) {
    +    document.writeln('<A HREF="allclasses-noframe.html"><B>All Classes</B></A>');
    +  }
    +  //-->
    +</SCRIPT>
    +<NOSCRIPT>
    +  <A HREF="allclasses-noframe.html"><B>All Classes</B></A>
    +</NOSCRIPT>
    +
    +
    +</FONT></TD>
    +</TR>
    +</TABLE>
    +<A NAME="skip-navbar_bottom"></A>
    +<!-- ======== END OF BOTTOM NAVBAR ======= -->
    +
    +<HR>
    +Copyright &#169; 2009&#x2013;2024 Mountainminds GmbH & Co. KG. All rights reserved.
    +</BODY>
    +</HTML>
    diff --git a/jacoco/trunk/doc/api/stylesheet.css b/jacoco/trunk/doc/api/stylesheet.css
    new file mode 100644
    index 00000000000..7cf502ceaf9
    --- /dev/null
    +++ b/jacoco/trunk/doc/api/stylesheet.css
    @@ -0,0 +1,72 @@
    +body {
    +	font-family:sans-serif;
    +	font-size:10pt;
    +	background-color:#FFFFFF;
    +}
    +
    +h1 {
    + 	font-weight:bold;
    + 	font-size:18pt;
    +}
    +
    +.TableHeadingColor {
    +	background:#E0E0E0
    +}
    +
    +.TableSubHeadingColor {
    +	background: #EEEEEE
    +}
    +
    +.TableRowColor {
    +	background: #FFFFFF
    +}
    +
    +.FrameTitleFont {
    +	font-weight:bold;
    +	font-size:10pt;
    +}
    +
    +.FrameHeadingFont {
    +	font-weight:bold;
    +	font-size:14pt;
    +}
    +
    +.FrameItemFont {
    +}
    +
    +.NavBarCell1 { background-color:#EEEEFF;} /* Light mauve */
    +.NavBarCell1Rev { background-color:#00008B;} /* Dark Blue */
    +.NavBarFont1    { font-family: Arial, Helvetica, sans-serif; color:#000000;}
    +.NavBarFont1Rev { font-family: Arial, Helvetica, sans-serif; color:#FFFFFF;}
    +
    +.NavBarCell2    { font-family: Arial, Helvetica, sans-serif; background-color:#FFFFFF;}
    +.NavBarCell3    { font-family: Arial, Helvetica, sans-serif; background-color:#FFFFFF;}
    +
    +a[href^='http://'], a[href^='https://'] {
    +	display:inline-block;
    +	padding-left:15px;
    +	background:transparent url(../resources/extern.gif) center left no-repeat;
    +}
    +
    +hr {
    +	border:none;
    +	border-top:#d6d3ce 1px solid;
    +	height:1px;
    +}
    +
    +.footer {
    +	padding-top:2px;
    +	font-size:8pt;
    +	color:#a0a0a0;
    +}
    +
    +.right {
    +	width:30%;
    +	float:right;
    +	text-align:right;
    +}
    +
    +.footer a {
    +	color:#a0a0a0;
    +	background-image:none;
    +}
    diff --git a/jacoco/trunk/doc/build.html b/jacoco/trunk/doc/build.html
    new file mode 100644
    index 00000000000..c8716864962
    --- /dev/null
    +++ b/jacoco/trunk/doc/build.html
    @@ -0,0 +1,355 @@
    +<?xml version="1.0" encoding="UTF-8" ?>
    +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
    +<html xmlns="http://www.w3.org/1999/xhtml" lang="en">
    +<head>
    +  <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
    +  <link rel="stylesheet" href="resources/doc.css" charset="UTF-8" type="text/css" />
    +  <link rel="stylesheet" href="../coverage/jacoco-resources/prettify.css" charset="UTF-8" type="text/css" />
    +  <link rel="shortcut icon" href="resources/report.gif" type="image/gif" />
    +  <script type="text/javascript" src="../coverage/jacoco-resources/prettify.js"></script>
    +  <title>JaCoCo - Build</title>
    +</head>
    +<body onload="prettyPrint()">
    +
    +<div class="breadcrumb">
    +  <a href="../index.html" class="el_report">JaCoCo</a> &gt;
    +  <a href="index.html" class="el_group">Documentation</a> &gt;
    +  <span class="el_source">Build</span>
    +</div>
    +<div id="content">
    +
    +<h1>Build</h1>
    +
    +<p>
    +  The JaCoCo build is based on <a href="http://maven.apache.org/">Maven</a> and
    +  can be locally executed on every machine with a proper
    +  <a href="environment.html">environment setup</a>. In particular you need at
    +  least <a href="http://maven.apache.org/">Maven 3.5.4</a> and JDK 17
    +  installations. Developers are encouraged to run the build before every commit
    +  to ensure consistency of the source tree.
    +</p>
    +
    +
    +<h2>Running the Build</h2>
    +
    +<p>
    +  The build can be started by executing the following command with
    +  <code>./org.jacoco.build/</code> as the working directory:
    +</p>
    +
    +<pre>
    +  mvn clean verify
    +</pre>
    +
    +<p>
    +  Total build time is typically around 3 minutes, however first build might take
    +  more time, because Maven should download plugins and dependencies. The
    +  download ZIP will be created at the following location:
    +</p>
    +
    +<pre>
    +  ./jacoco/target/jacoco-<i>x.y.z.qualifier</i>.zip
    +</pre>
    +
    +
    +<h2>Running Quick Build without Tests</h2>
    +
    +<p>
    +  It is not recommended, however possible to the run build without any tests:
    +</p>
    +
    +<pre>
    +  mvn clean verify -DskipTests
    +</pre>
    +
    +
    +<h2>Compilation and testing with different JDKs</h2>
    +
    +<p>
    +  By default for compilation and execution of tests will be used JDK that runs
    +  Maven. Alternatively you can use JDK from
    +  <a href="http://maven.apache.org/guides/mini/guide-using-toolchains.html">Maven
    +  Toolchains</a> by setting property <code>jdk.version</code>.
    +</p>
    +
    +<p>
    +  Following table shows in which classfile version modules will be compiled to
    +  depending on version of JDK (empty cells = no compilation possible):
    +</p>
    +
    +<table class="coverage">
    +  <thead>
    +  <tr>
    +    <td>Modules</td>
    +    <td>JDK 5</td>
    +    <td>JDK 6</td>
    +    <td>JDK 7</td>
    +    <td>JDK 8</td>
    +    <td>JDK 9</td>
    +    <td>JDK 10</td>
    +    <td>JDK 11</td>
    +    <td>JDK 12</td>
    +    <td>JDK 13</td>
    +    <td>JDK 14</td>
    +    <td>JDK 15</td>
    +    <td>JDK 16</td>
    +    <td>JDK 17</td>
    +    <td>JDK 18</td>
    +    <td>JDK 19</td>
    +    <td>JDK 20</td>
    +    <td>JDK 21</td>
    +    <td>JDK 22</td>
    +  </tr>
    +  </thead>
    +  <tbody>
    +  <tr>
    +    <td>org.jacoco.core.test.validation.java21</td>
    +    <td></td>
    +    <td></td>
    +    <td></td>
    +    <td></td>
    +    <td></td>
    +    <td></td>
    +    <td></td>
    +    <td></td>
    +    <td></td>
    +    <td></td>
    +    <td></td>
    +    <td></td>
    +    <td></td>
    +    <td></td>
    +    <td></td>
    +    <td></td>
    +    <td>21</td>
    +    <td>21</td>
    +  </tr>
    +  <tr>
    +    <td>org.jacoco.core.test.validation.java16</td>
    +    <td></td>
    +    <td></td>
    +    <td></td>
    +    <td></td>
    +    <td></td>
    +    <td></td>
    +    <td></td>
    +    <td></td>
    +    <td></td>
    +    <td></td>
    +    <td></td>
    +    <td>16</td>
    +    <td>16</td>
    +    <td>16</td>
    +    <td>16</td>
    +    <td>16</td>
    +    <td>16</td>
    +    <td>16</td>
    +  </tr>
    +  <tr>
    +    <td>org.jacoco.core.test.validation.java14</td>
    +    <td></td>
    +    <td></td>
    +    <td></td>
    +    <td></td>
    +    <td></td>
    +    <td></td>
    +    <td></td>
    +    <td></td>
    +    <td></td>
    +    <td>14</td>
    +    <td>14</td>
    +    <td>14</td>
    +    <td>14</td>
    +    <td>14</td>
    +    <td>14</td>
    +    <td>14</td>
    +    <td>14</td>
    +    <td>14</td>
    +  </tr>
    +  <tr>
    +    <td>org.jacoco.core.test.validation.java8</td>
    +    <td></td>
    +    <td></td>
    +    <td></td>
    +    <td>8</td>
    +    <td>8</td>
    +    <td>8</td>
    +    <td>8</td>
    +    <td>8</td>
    +    <td>8</td>
    +    <td>8</td>
    +    <td>8</td>
    +    <td>8</td>
    +    <td>8</td>
    +    <td>8</td>
    +    <td>8</td>
    +    <td>8</td>
    +    <td>8</td>
    +    <td>8</td>
    +  </tr>
    +  <tr>
    +    <td>org.jacoco.core.test.validation.java7</td>
    +    <td></td>
    +    <td></td>
    +    <td>7</td>
    +    <td>7</td>
    +    <td>7</td>
    +    <td>7</td>
    +    <td>7</td>
    +    <td>7</td>
    +    <td>7</td>
    +    <td>7</td>
    +    <td>7</td>
    +    <td>7</td>
    +    <td>7</td>
    +    <td>7</td>
    +    <td>7</td>
    +    <td>7</td>
    +    <td>7</td>
    +    <td>7</td>
    +  </tr>
    +  <tr>
    +    <td>org.jacoco.core.test.validation.groovy</td>
    +    <td></td>
    +    <td></td>
    +    <td></td>
    +    <td>8</td>
    +    <td>8</td>
    +    <td>8</td>
    +    <td>8</td>
    +    <td>8</td>
    +    <td>8</td>
    +    <td>8</td>
    +    <td>8</td>
    +    <td>8</td>
    +    <td>8</td>
    +    <td>8</td>
    +    <td>8</td>
    +    <td>8</td>
    +    <td>8</td>
    +    <td>8</td>
    +  </tr>
    +  <tr>
    +    <td>org.jacoco.core.test.validation.kotlin</td>
    +    <td></td>
    +    <td>6</td>
    +    <td>6</td>
    +    <td>6</td>
    +    <td>6</td>
    +    <td>6</td>
    +    <td>6</td>
    +    <td>6</td>
    +    <td>6</td>
    +    <td>6</td>
    +    <td>6</td>
    +    <td>6</td>
    +    <td>6</td>
    +    <td>6</td>
    +    <td>6</td>
    +    <td>6</td>
    +    <td>6</td>
    +    <td>6</td>
    +  </tr>
    +  <tr>
    +    <td>org.jacoco.core.test.validation.scala</td>
    +    <td></td>
    +    <td></td>
    +    <td></td>
    +    <td>8</td>
    +    <td>8</td>
    +    <td>8</td>
    +    <td>8</td>
    +    <td>8</td>
    +    <td>8</td>
    +    <td>8</td>
    +    <td>8</td>
    +    <td>8</td>
    +    <td>8</td>
    +    <td>8</td>
    +    <td>8</td>
    +    <td>8</td>
    +    <td>8</td>
    +    <td>8</td>
    +  </tr>
    +  <tr>
    +    <td>all other modules</td>
    +    <td>5</td>
    +    <td>5</td>
    +    <td>5</td>
    +    <td>5</td>
    +    <td>6</td>
    +    <td>6</td>
    +    <td>6</td>
    +    <td>7</td>
    +    <td>7</td>
    +    <td>7</td>
    +    <td>7</td>
    +    <td>7</td>
    +    <td>7</td>
    +    <td>7</td>
    +    <td>7</td>
    +    <td>7</td>
    +    <td>7</td>
    +    <td>7</td>
    +  </tr>
    +  </tbody>
    +</table>
    +
    +<p>
    +  Alternatively you can specify bytecode version for all modules using property
    +  <code>bytecode.version</code>.
    +</p>
    +
    +<p>
    +  For example to use JDK 10 from Maven Toolchains and compile all modules
    +  into bytecode version 53 (Java 9):
    +</p>
    +
    +<pre>
    +  mvn clean verify -Djdk.version=10 -Dbytecode.version=9
    +</pre>
    +
    +<p>
    +  Also Eclipse Compiler for Java can be used for compilation:
    +</p>
    +
    +<pre>
    +  mvn clean verify -Decj
    +</pre>
    +
    +<p>
    +  Combining these options JaCoCo is regularly tested with the following setups:
    +</p>
    +
    +<ul>
    +  <li><code>mvn clean verify -Djdk.version=5 -Dbytecode.version=5</code></li>
    +  <li><code>mvn clean verify -Djdk.version=6 -Dbytecode.version=6</code></li>
    +  <li><code>mvn clean verify -Djdk.version=7 -Dbytecode.version=7</code></li>
    +  <li><code>mvn clean verify -Djdk.version=8 -Dbytecode.version=8</code></li>
    +  <li><code>mvn clean verify -Djdk.version=9 -Dbytecode.version=9</code></li>
    +  <li><code>mvn clean verify -Djdk.version=10 -Dbytecode.version=10</code></li>
    +  <li><code>mvn clean verify -Djdk.version=11 -Dbytecode.version=11</code></li>
    +  <li><code>mvn clean verify -Djdk.version=11 -Dbytecode.version=11 -Decj</code></li>
    +  <li><code>mvn clean verify -Djdk.version=12 -Dbytecode.version=12</code></li>
    +  <li><code>mvn clean verify -Djdk.version=13 -Dbytecode.version=13</code></li>
    +  <li><code>mvn clean verify -Djdk.version=14 -Dbytecode.version=14</code></li>
    +  <li><code>mvn clean verify -Djdk.version=15 -Dbytecode.version=15</code></li>
    +  <li><code>mvn clean verify -Djdk.version=16 -Dbytecode.version=16</code></li>
    +  <li><code>mvn clean verify -Djdk.version=17 -Dbytecode.version=17</code></li>
    +  <li><code>mvn clean verify -Djdk.version=17 -Dbytecode.version=17 -Decj</code></li>
    +  <li><code>mvn clean verify -Djdk.version=18 -Dbytecode.version=18</code></li>
    +  <li><code>mvn clean verify -Djdk.version=19 -Dbytecode.version=19</code></li>
    +  <li><code>mvn clean verify -Djdk.version=20 -Dbytecode.version=20</code></li>
    +  <li><code>mvn clean verify -Djdk.version=21 -Dbytecode.version=21</code></li>
    +  <li><code>mvn clean verify -Djdk.version=21 -Dbytecode.version=21 -Decj</code></li>
    +  <li><code>mvn clean verify -Djdk.version=22 -Dbytecode.version=22</code></li>
    +</ul>
    +
    +
    +</div>
    +<div class="footer">
    +  <span class="right"><a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.12.202403270442</span>
    +  <a href="license.html">Copyright</a> &copy; 2009, 2024 Mountainminds GmbH &amp; Co. KG and Contributors
    +</div>
    +
    +</body>
    +</html>
    diff --git a/jacoco/trunk/doc/changes.html b/jacoco/trunk/doc/changes.html
    new file mode 100644
    index 00000000000..266f1154913
    --- /dev/null
    +++ b/jacoco/trunk/doc/changes.html
    @@ -0,0 +1,1442 @@
    +<?xml version="1.0" encoding="UTF-8" ?>
    +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
    +<html xmlns="http://www.w3.org/1999/xhtml" lang="en">
    +<head>
    +  <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
    +  <link rel="stylesheet" href="resources/doc.css" charset="UTF-8" type="text/css" />
    +  <link rel="shortcut icon" href="resources/report.gif" type="image/gif" />
    +  <title>JaCoCo - Change History</title>
    +</head>
    +<body>
    +
    +<div class="breadcrumb">
    +  <a href="../index.html" class="el_report">JaCoCo</a> &gt;
    +  <a href="index.html" class="el_group">Documentation</a> &gt;
    +  <span class="el_source">Change History</span>
    +</div>
    +<div id="content">
    +
    +<h1>Change History</h1>
    +
    +<h2>Snapshot Build 0.8.12.202403270442 (2024/03/27)</h2>
    +
    +<h3>New Features</h3>
    +<ul>
    +  <li>JaCoCo now officially supports Java 22
    +      (GitHub <a href="https://github.com/jacoco/jacoco/issues/1596">#1596</a>).</li>
    +  <li>Experimental support for Java 23 class files
    +      (GitHub <a href="https://github.com/jacoco/jacoco/issues/1553">#1553</a>).</li>
    +</ul>
    +
    +<h3>Fixed bugs</h3>
    +<ul>
    +  <li>Branches added by the Kotlin compiler for functions with default arguments and
    +      having more than 32 parameters are filtered out during generation of report
    +      (GitHub <a href="https://github.com/jacoco/jacoco/issues/1556">#1556</a>).</li>
    +  <li>Branch added by the Kotlin compiler version 1.5.0 and above for reading from
    +      <code>lateinit</code> property is filtered out during generation of report
    +      (GitHub <a href="https://github.com/jacoco/jacoco/issues/1568">#1568</a>).</li>
    +</ul>
    +
    +<h3>Non-functional Changes</h3>
    +<ul>
    +  <li>JaCoCo now depends on ASM 9.7
    +      (GitHub <a href="https://github.com/jacoco/jacoco/issues/1600">#1600</a>).</li>
    +</ul>
    +
    +<h2>Release 0.8.11 (2023/10/14)</h2>
    +
    +<h3>New Features</h3>
    +<ul>
    +  <li>JaCoCo now officially supports Java 21
    +      (GitHub <a href="https://github.com/jacoco/jacoco/issues/1520">#1520</a>).</li>
    +  <li>Experimental support for Java 22 class files
    +      (GitHub <a href="https://github.com/jacoco/jacoco/issues/1479">#1479</a>).</li>
    +  <li>Part of bytecode generated by the Java compilers for exhaustive switch
    +      expressions is filtered out during generation of report
    +      (GitHub <a href="https://github.com/jacoco/jacoco/issues/1472">#1472</a>).</li>
    +  <li>Part of bytecode generated by the Java compilers for record patterns is
    +      filtered out during generation of report
    +      (GitHub <a href="https://github.com/jacoco/jacoco/issues/1473">#1473</a>).</li>
    +</ul>
    +
    +<h3>Fixed bugs</h3>
    +<ul>
    +  <li>Instrumentation should not cause <code>VerifyError</code> when the last
    +      local variable of method parameters is overridden in the method body to
    +      store a value of type long or double
    +      (GitHub <a href="https://github.com/jacoco/jacoco/issues/893">#893</a>).</li>
    +  <li>Restore exec file compatibility with versions from 0.7.5 to 0.8.8
    +      in case of class files with zero line numbers
    +      (GitHub <a href="https://github.com/jacoco/jacoco/issues/1492">#1492</a>).</li>
    +</ul>
    +
    +<h3>Non-functional Changes</h3>
    +<ul>
    +  <li>jacoco-maven-plugin now requires at least Java 8
    +      (GitHub <a href="https://github.com/jacoco/jacoco/issues/1466">#1466</a>,
    +      <a href="https://github.com/jacoco/jacoco/issues/1468">#1468</a>).</li>
    +  <li>JaCoCo build now requires at least Maven 3.5.4
    +      (GitHub <a href="https://github.com/jacoco/jacoco/issues/1467">#1467</a>).</li>
    +  <li>Maven 3.9.2 should not produce warnings for jacoco-maven-plugin
    +      (GitHub <a href="https://github.com/jacoco/jacoco/issues/1468">#1468</a>).</li>
    +  <li>JaCoCo build now requires JDK 17
    +      (GitHub <a href="https://github.com/jacoco/jacoco/issues/1482">#1482</a>).</li>
    +  <li>JaCoCo now depends on ASM 9.6
    +      (GitHub <a href="https://github.com/jacoco/jacoco/issues/1518">#1518</a>).</li>
    +</ul>
    +
    +<h2>Release 0.8.10 (2023/04/24)</h2>
    +
    +<h3>Fixed bugs</h3>
    +<ul>
    +  <li>Agent should not require configuration of permissions for
    +      <code>SecurityManager</code> outside of its <code>codeBase</code>
    +      (GitHub <a href="https://github.com/jacoco/jacoco/issues/1425">#1425</a>).</li>
    +</ul>
    +
    +<h2>Release 0.8.9 (2023/03/31)</h2>
    +
    +<h3>New Features</h3>
    +<ul>
    +  <li>JaCoCo now officially supports Java 19 and 20
    +      (GitHub <a href="https://github.com/jacoco/jacoco/issues/1371">#1371</a>,
    +      <a href="https://github.com/jacoco/jacoco/issues/1386">#1386</a>).</li>
    +  <li>Experimental support for Java 21 class files
    +      (GitHub <a href="https://github.com/jacoco/jacoco/issues/1386">#1386</a>).</li>
    +  <li>Add parameter to include the current project in the <code>report-aggregate</code>
    +      Maven goal
    +      (GitHub <a href="https://github.com/jacoco/jacoco/issues/1007">#1007</a>).</li>
    +  <li>Component accessors generated by the Java compilers for records are filtered
    +      out during generation of report. Contributed by Tesla Zhang
    +      (GitHub <a href="https://github.com/jacoco/jacoco/issues/1393">#1393</a>).</li>
    +</ul>
    +
    +<h3>Fixed bugs</h3>
    +<ul>
    +  <li>Agent should not open <code>java.lang</code> package to unnamed module of the
    +      application class loader
    +      (GitHub <a href="https://github.com/jacoco/jacoco/issues/1334">#1334</a>).</li>
    +</ul>
    +
    +<h3>Non-functional Changes</h3>
    +<ul>
    +  <li>JaCoCo now depends on ASM 9.5
    +      (GitHub <a href="https://github.com/jacoco/jacoco/issues/1299">#1299</a>,
    +      <a href="https://github.com/jacoco/jacoco/issues/1368">#1368</a>,
    +      <a href="https://github.com/jacoco/jacoco/issues/1416">#1416</a>).</li>
    +  <li>JaCoCo build now requires JDK 11
    +      (GitHub <a href="https://github.com/jacoco/jacoco/issues/1413">#1413</a>).</li>
    +</ul>
    +
    +<h2>Release 0.8.8 (2022/04/05)</h2>
    +
    +<h3>New Features</h3>
    +<ul>
    +  <li>JaCoCo now officially supports Java 17 and 18
    +      (GitHub <a href="https://github.com/jacoco/jacoco/issues/1282">#1282</a>,
    +      <a href="https://github.com/jacoco/jacoco/issues/1198">#1198</a>).</li>
    +  <li>Experimental support for Java 19 class files
    +      (GitHub <a href="https://github.com/jacoco/jacoco/issues/1264">#1264</a>).</li>
    +  <li>Part of bytecode generated by the Java compilers for <code>assert</code>
    +      statement is filtered out during generation of report
    +      (GitHub <a href="https://github.com/jacoco/jacoco/issues/1196">#1196</a>).</li>
    +  <li>Branch added by the Kotlin compiler version 1.6.0 and above for "unsafe" cast
    +      operator is filtered out during generation of report
    +      (GitHub <a href="https://github.com/jacoco/jacoco/issues/1266">#1266</a>).</li>
    +  <li>Improved support for multiple JaCoCo runtimes in the same VM
    +      (GitHub <a href="https://github.com/jacoco/jacoco/issues/1057">#1057</a>).</li>
    +</ul>
    +
    +<h3>Fixed bugs</h3>
    +<ul>
    +  <li>Fixed <code>NullPointerException</code> during filtering
    +      (GitHub <a href="https://github.com/jacoco/jacoco/issues/1189">#1189</a>).</li>
    +  <li>Fix range for debug symbols of method parameters
    +      (GitHub <a href="https://github.com/jacoco/jacoco/issues/1246">#1246</a>).</li>
    +</ul>
    +
    +<h3>Non-functional Changes</h3>
    +<ul>
    +  <li>JaCoCo now depends on ASM 9.2
    +      (GitHub <a href="https://github.com/jacoco/jacoco/issues/1206">#1206</a>).</li>
    +  <li>Messages of exceptions occurring during analysis or instrumentation now include
    +      JaCoCo version
    +      (GitHub <a href="https://github.com/jacoco/jacoco/issues/1217">#1217</a>).</li>
    +</ul>
    +
    +<h2>Release 0.8.7 (2021/05/04)</h2>
    +
    +<h3>New Features</h3>
    +<ul>
    +  <li>JaCoCo now officially supports Java 15 and 16
    +      (GitHub <a href="https://github.com/jacoco/jacoco/issues/1094">#1094</a>,
    +      <a href="https://github.com/jacoco/jacoco/issues/1097">#1097</a>,
    +      <a href="https://github.com/jacoco/jacoco/issues/1176">#1176</a>).</li>
    +  <li>Experimental support for Java 17 class files
    +      (GitHub <a href="https://github.com/jacoco/jacoco/issues/1132">#1132</a>).</li>
    +  <li>New <code>formats</code> parameter for Maven report goals to specify the
    +      generated report formats. Contributed by troosan.
    +      (GitHub <a href="https://github.com/jacoco/jacoco/issues/1175">#1175</a>).</li>
    +  <li>Branch added by the Kotlin compiler version 1.4.0 and above for "unsafe" cast
    +      operator is filtered out during generation of report
    +      (GitHub <a href="https://github.com/jacoco/jacoco/issues/1143">#1143</a>,
    +      <a href="https://github.com/jacoco/jacoco/issues/1178">#1178</a>).</li>
    +  <li><code>synthetic</code> methods added by the Kotlin compiler version 1.5.0 and
    +      above for <code>private</code> suspending functions are filtered out
    +      (GitHub <a href="https://github.com/jacoco/jacoco/issues/1174">#1174</a>).</li>
    +  <li>Branches added by the Kotlin compiler version 1.4.20 and above for suspending
    +      lambdas are filtered out during generation of report
    +      (GitHub <a href="https://github.com/jacoco/jacoco/issues/1149">#1149</a>).</li>
    +  <li>Branches added by the Kotlin compiler version 1.5.0 and above for functions
    +      with default arguments are filtered out during generation of report
    +      (GitHub <a href="https://github.com/jacoco/jacoco/issues/1162">#1162</a>).</li>
    +  <li>Branch added by the Kotlin compiler version 1.5.0 and above for reading from
    +      <code>lateinit</code> property is filtered out during generation of report
    +      (GitHub <a href="https://github.com/jacoco/jacoco/issues/1166">#1166</a>).</li>
    +  <li>Additional bytecode generated by the Kotlin compiler version 1.5.0 and above
    +      for <code>when</code> expressions on <code>kotlin.String</code> values
    +      is filtered out during generation of report
    +      (GitHub <a href="https://github.com/jacoco/jacoco/issues/1172">#1172</a>).</li>
    +  <li>Improved filtering of bytecode generated by Kotlin compiler versions below
    +      1.5.0 for <code>when</code> expressions on <code>kotlin.String</code> values
    +      (GitHub <a href="https://github.com/jacoco/jacoco/issues/1156">#1156</a>).</li>
    +</ul>
    +
    +<h3>Fixed bugs</h3>
    +<ul>
    +  <li>Fixed parsing of SMAP generated by Kotlin compiler version 1.5.0 and above
    +      (GitHub <a href="https://github.com/jacoco/jacoco/issues/1164">#1164</a>).</li>
    +</ul>
    +
    +<h3>Non-functional Changes</h3>
    +<ul>
    +  <li>JaCoCo now depends on ASM 9.1
    +      (GitHub <a href="https://github.com/jacoco/jacoco/issues/1094">#1094</a>,
    +      <a href="https://github.com/jacoco/jacoco/issues/1097">#1097</a>,
    +      <a href="https://github.com/jacoco/jacoco/issues/1153">#1153</a>).</li>
    +  <li>Maven plug-in has no dependency on <code>maven-reporting-impl</code> any more
    +      (GitHub <a href="https://github.com/jacoco/jacoco/issues/1121">#1121</a>).</li>
    +</ul>
    +
    +<h2>Release 0.8.6 (2020/09/15)</h2>
    +
    +<h3>New Features</h3>
    +<ul>
    +  <li>JaCoCo now officially supports Java 14.</li>
    +  <li>Experimental support for Java 15 class files
    +      (GitHub <a href="https://github.com/jacoco/jacoco/issues/992">#992</a>).</li>
    +  <li>Experimental support for Java 16 class files
    +      (GitHub <a href="https://github.com/jacoco/jacoco/issues/1059">#1059</a>).</li>
    +  <li>Methods <code>toString</code>, <code>hashCode</code> and <code>equals</code>
    +      generated by compiler for records are filtered out during generation of report
    +      (GitHub <a href="https://github.com/jacoco/jacoco/issues/990">#990</a>).</li>
    +  <li>Bridge methods are filtered out during generation of report
    +      (GitHub <a href="https://github.com/jacoco/jacoco/issues/1010">#1010</a>).</li>
    +  <li>Methods generated by Kotlin compiler for non-overridden non-abstract methods
    +      of interfaces are filtered out during generation of report
    +      (GitHub <a href="https://github.com/jacoco/jacoco/issues/1012">#1012</a>).</li>
    +  <li>Branches added by the Kotlin compiler version 1.3.60 for suspending functions
    +      with tail call optimization are filtered out during generation of report
    +      (GitHub <a href="https://github.com/jacoco/jacoco/issues/1016">#1016</a>).</li>
    +</ul>
    +
    +<h3>Fixed bugs</h3>
    +<ul>
    +  <li>Compression method of zip entries is now preserved when instrumenting archives.
    +      This allows to use JaCoCo with frameworks that expect uncompressed entries
    +      (GitHub <a href="https://github.com/jacoco/jacoco/issues/1018">#1018</a>).</li>
    +</ul>
    +
    +<h3>Non-functional Changes</h3>
    +<ul>
    +  <li>Support for Pack200 was removed in JDK 14. JaCoCo will now throw a detailed
    +      exception when Pack200 archives are processed with the latest JDKs
    +      (GitHub <a href="https://github.com/jacoco/jacoco/issues/984">#984</a>).</li>
    +  <li>JaCoCo now depends on ASM 8.0.1
    +      (GitHub <a href="https://github.com/jacoco/jacoco/issues/1032">#1032</a>,
    +      <a href="https://github.com/jacoco/jacoco/issues/1043">#1043</a>).</li>
    +</ul>
    +
    +<h3>API Changes</h3>
    +<ul>
    +  <li><code>URLStreamHandlerRuntime</code> removed
    +      (GitHub <a href="https://github.com/jacoco/jacoco/issues/471">#471</a>).</li>
    +</ul>
    +
    +<h2>Release 0.8.5 (2019/10/11)</h2>
    +
    +<h3>New Features</h3>
    +<ul>
    +  <li>JaCoCo now officially supports Java 13</li>
    +  <li>Experimental support for Java 14 class files
    +      (GitHub <a href="https://github.com/jacoco/jacoco/issues/897">#897</a>).</li>
    +  <li>Branches added by the Kotlin compiler for <code>open</code> functions with
    +      default arguments are filtered out during generation of report
    +      (GitHub <a href="https://github.com/jacoco/jacoco/issues/887">#887</a>).</li>
    +</ul>
    +
    +<h3>Fixed bugs</h3>
    +<ul>
    +  <li><code>synthetic</code> constructors that contain values of default arguments
    +      in Kotlin should not be ignored
    +      (GitHub <a href="https://github.com/jacoco/jacoco/issues/888">#888</a>).</li>
    +  <li>Instrumentation should update indexes of local variables in annotations
    +      (GitHub <a href="https://github.com/jacoco/jacoco/issues/894">#894</a>).</li>
    +  <li>Branches added by the Kotlin compiler for functions with default arguments
    +      and containing arguments of type <code>long</code> or <code>double</code>
    +      should be filtered out during generation of report
    +      (GitHub <a href="https://github.com/jacoco/jacoco/issues/908">#908</a>).</li>
    +  <li><code>synthetic</code> methods that contain bodies of anonymous functions
    +      in Scala should not be ignored
    +      (GitHub <a href="https://github.com/jacoco/jacoco/issues/912">#912</a>).</li>
    +  <li>To avoid failures with invalid class files report generation now checks
    +      that source references are actually files
    +      (GitHub <a href="https://github.com/jacoco/jacoco/issues/941">#941</a>).</li>
    +  <li><code>NullPointerException</code> during filtering
    +      (GitHub <a href="https://github.com/jacoco/jacoco/issues/942">#942</a>,
    +      <a href="https://github.com/jacoco/jacoco/issues/944">#944</a>).</li>
    +</ul>
    +
    +<h3>Non-functional Changes</h3>
    +<ul>
    +  <li>JaCoCo now distributed under the terms and conditions of the
    +      Eclipse Public License Version 2.0
    +      (GitHub <a href="https://github.com/jacoco/jacoco/issues/943">#943</a>).</li>
    +  <li>Prevent startup when JaCoCo runtime cannot be initialized to avoid
    +      subsequent faults
    +      (GitHub <a href="https://github.com/jacoco/jacoco/issues/910">#910</a>).</li>
    +  <li>JaCoCo now depends on ASM 7.2
    +      (GitHub <a href="https://github.com/jacoco/jacoco/issues/947">#947</a>).</li>
    +</ul>
    +
    +<h3>API Changes</h3>
    +<ul>
    +    <li>The coverage check API and tools (Ant, Maven) now report an error, when
    +        a coverage ratio limit is configured outside the range [0,1] to avoid
    +        common configuration mistakes
    +        (GitHub <a href="https://github.com/jacoco/jacoco/issues/783">#783</a>).</li>
    +  <li>Unsupported class file versions are now consistently reported as exceptions
    +      by all methods of <code>Analyzer</code> and <code>Instrumenter</code> and
    +      thus also during report generation and offline instrumentation
    +      (GitHub <a href="https://github.com/jacoco/jacoco/issues/952">#952</a>).</li>
    +</ul>
    +
    +<h2>Release 0.8.4 (2019/05/08)</h2>
    +
    +<h3>New Features</h3>
    +<ul>
    +  <li>JaCoCo now officially supports Java 12</li>
    +  <li>Instrumentation does not add synthetic field to Java 11+ class files,
    +      however still adds synthetic method
    +      (GitHub <a href="https://github.com/jacoco/jacoco/issues/845">#845</a>).</li>
    +  <li>Branches added by the Kotlin compiler version 1.3.30 for suspending lambdas
    +      and functions are filtered out during generation of report
    +      (GitHub <a href="https://github.com/jacoco/jacoco/issues/849">#849</a>).</li>
    +</ul>
    +
    +<h3>Fixed bugs</h3>
    +<ul>
    +  <li>Fixed incorrect update of frames caused by bug in ASM library in case of
    +      arrays with more than 7 dimensions
    +      (GitHub <a href="https://github.com/jacoco/jacoco/issues/839">#839</a>).</li>
    +  <li>Fixed regression, which was introduced in 0.8.3 -
    +      <code>module-info.class</code> should be excluded from analysis to not cause
    +      <code>IllegalStateException</code>
    +      (GitHub <a href="https://github.com/jacoco/jacoco/issues/859">#859</a>).</li>
    +</ul>
    +
    +<h3>API Changes</h3>
    +<ul>
    +    <li>Methods <code>Instrumenter.instrument(org.objectweb.asm.ClassReader)</code>
    +        and <code>Analyzer.analyzeClass(org.objectweb.asm.ClassReader)</code>
    +        were removed
    +        (GitHub <a href="https://github.com/jacoco/jacoco/issues/850">#850</a>).</li>
    +</ul>
    +
    +<h3>Non-functional Changes</h3>
    +<ul>
    +  <li>JaCoCo now depends on ASM 7.1
    +      (GitHub <a href="https://github.com/jacoco/jacoco/issues/851">#851</a>).</li>
    +</ul>
    +
    +<h2>Release 0.8.3 (2019/01/23)</h2>
    +
    +<h3>New Features</h3>
    +<ul>
    +  <li>jacoco-maven-plugin now requires at least Maven 3.0
    +      (GitHub <a href="https://github.com/jacoco/jacoco/issues/821">#821</a>).</li>
    +  <li>JaCoCo now officially supports Java 11
    +      (GitHub <a href="https://github.com/jacoco/jacoco/issues/760">#760</a>).</li>
    +  <li>Experimental support for Java 13 class files
    +      (GitHub <a href="https://github.com/jacoco/jacoco/issues/835">#835</a>).</li>
    +  <li>Branch added by the Kotlin compiler for "unsafe" cast operator is filtered
    +      out during generation of report
    +      (GitHub <a href="https://github.com/jacoco/jacoco/issues/761">#761</a>).</li>
    +  <li>Branch added by the Kotlin compiler for not-null assertion operator is
    +      filtered out during generation of report
    +      (GitHub <a href="https://github.com/jacoco/jacoco/issues/815">#815</a>).</li>
    +  <li>Instructions inlined by Kotlin compiler are filtered out during generation
    +      of report
    +      (GitHub <a href="https://github.com/jacoco/jacoco/issues/764">#764</a>).</li>
    +  <li>Branches added by the Kotlin compiler for suspending lambdas and functions
    +      are filtered out during generation of report
    +      (GitHub <a href="https://github.com/jacoco/jacoco/issues/802">#802</a>,
    +      <a href="https://github.com/jacoco/jacoco/issues/803">#803</a>,
    +      <a href="https://github.com/jacoco/jacoco/issues/809">#809</a>).</li>
    +  <li>Classes and methods annotated by annotation whose retention policy is
    +      <code>runtime</code> or <code>class</code> and whose simple name contains
    +      "Generated" (previously equality was required) are filtered out during
    +      generation of report
    +      (GitHub <a href="https://github.com/jacoco/jacoco/issues/822">#822</a>).</li>
    +  <li>HTML report shows message when source file can't be found
    +      (GitHub <a href="https://github.com/jacoco/jacoco/issues/801">#801</a>).</li>
    +  <li>HTML report shows message when class has no debug information
    +      (GitHub <a href="https://github.com/jacoco/jacoco/issues/818">#818</a>).</li>
    +  <li>HTML report shows message when analyzed class does not match executed
    +      (GitHub <a href="https://github.com/jacoco/jacoco/issues/819">#819</a>).</li>
    +  <li>HTML report shows message when no class files specified and when
    +      none of the analyzed classes contain code relevant for code coverage
    +      (GitHub <a href="https://github.com/jacoco/jacoco/issues/833">#833</a>).</li>
    +  <li>Empty class and sourcefile nodes are preserved and available in XML report
    +      (GitHub <a href="https://github.com/jacoco/jacoco/issues/817">#817</a>).</li>
    +  <li>Agent avoids conflicts with other agents when running on Java 9+
    +      (GitHub <a href="https://github.com/jacoco/jacoco/issues/829">#829</a>).</li>
    +</ul>
    +
    +<h3>Fixed Bugs</h3>
    +<ul>
    +  <li><code>synthetic</code> methods that contain values of default arguments
    +      in Kotlin should not be ignored
    +      (GitHub <a href="https://github.com/jacoco/jacoco/issues/774">#774</a>).</li>
    +  <li><code>synthetic</code> methods that represent <code>suspend</code>
    +      functions in Kotlin should not be ignored
    +      (GitHub <a href="https://github.com/jacoco/jacoco/issues/804">#804</a>).</li>
    +  <li>Removed misleading parameters <code>includes</code> and
    +      <code>excludes</code> from <code>dump</code>, <code>merge</code> and
    +      <code>restore-instrumented-classes</code> goals of jacoco-maven-plugin,
    +      because they have no effect
    +      (GitHub <a href="https://github.com/jacoco/jacoco/issues/827">#827</a>).</li>
    +</ul>
    +
    +<h3>Non-functional Changes</h3>
    +<ul>
    +  <li>JaCoCo now depends on ASM 7.0
    +      (GitHub <a href="https://github.com/jacoco/jacoco/issues/760">#760</a>).</li>
    +</ul>
    +
    +<h2>Release 0.8.2 (2018/08/21)</h2>
    +
    +<h3>New Features</h3>
    +<ul>
    +  <li>Experimental support for Java 11 and Java 12 class files, including
    +      JEP 12 "preview features"
    +      (GitHub <a href="https://github.com/jacoco/jacoco/issues/719">#719</a>,
    +      <a href="https://github.com/jacoco/jacoco/issues/738">#738</a>,
    +      <a href="https://github.com/jacoco/jacoco/issues/743">#743</a>).</li>
    +  <li>Branches and instructions generated by javac 11 for try-with-resources
    +      statement are filtered out
    +      (GitHub <a href="https://github.com/jacoco/jacoco/issues/669">#669</a>).</li>
    +  <li>Synthetic classes are filtered out during generation of report
    +      (GitHub <a href="https://github.com/jacoco/jacoco/issues/668">#668</a>).</li>
    +  <li>Part of bytecode generated by ECJ for <code>switch</code> statements on
    +      <code>java.lang.String</code> values is filtered out during generation of
    +      report
    +      (GitHub <a href="https://github.com/jacoco/jacoco/issues/735">#735</a>,
    +      <a href="https://github.com/jacoco/jacoco/issues/741">#741</a>,
    +      <a href="https://github.com/jacoco/jacoco/issues/746">#746</a>).</li>
    +  <li>Methods added by the Kotlin compiler that do not have line numbers are
    +      filtered out during generation of report. Idea and implementation by
    +      Nikolay Krasko
    +      (GitHub <a href="https://github.com/jacoco/jacoco/issues/689">#689</a>).</li>
    +  <li>Branch added by the Kotlin compiler for reading from <code>lateinit</code>
    +      property is filtered out during generation of report. Implementation by
    +      Fabian Mastenbroek
    +      (GitHub <a href="https://github.com/jacoco/jacoco/issues/707">#707</a>).</li>
    +  <li>Bytecode generated by Kotlin compiler for implicit <code>else</code> of
    +      <code>when</code> expressions that list all cases of <code>enum</code> or
    +      <code>sealed class</code> is filtered out during generation of report
    +      (GitHub <a href="https://github.com/jacoco/jacoco/issues/721">#721</a>,
    +      <a href="https://github.com/jacoco/jacoco/issues/729">#729</a>,
    +      <a href="https://github.com/jacoco/jacoco/issues/749">#749</a>).</li>
    +  <li>Additional bytecode generated by Kotlin compiler for <code>when</code>
    +      expressions on <code>kotlin.String</code> values is filtered out during
    +      generation of report
    +      (GitHub <a href="https://github.com/jacoco/jacoco/issues/737">#737</a>,
    +      <a href="https://github.com/jacoco/jacoco/issues/746">#746</a>).</li>
    +  <li>Classes and methods annotated with annotation whose retention policy
    +      is <code>runtime</code> or <code>class</code> and whose simple name
    +      is <code>Generated</code> are filtered out during generation of report
    +      (GitHub <a href="https://github.com/jacoco/jacoco/issues/731">#731</a>).</li>
    +  <li>Maven goal <code>report-aggregate</code> now also considers dependencies
    +      specified using version range. Idea and implementation by Lukas Krejc
    +      (GitHub <a href="https://github.com/jacoco/jacoco/issues/658">#658</a>).</li>
    +</ul>
    +
    +<h3>Fixed Bugs</h3>
    +<ul>
    +  <li>Don't insert stackmap frames into class files with version &lt; 1.6,
    +      this fixes regression which was introduced in version 0.6.5
    +      (GitHub <a href="https://github.com/jacoco/jacoco/issues/667">#667</a>).</li>
    +  <li>Question mark in filter expressions now correctly matches exactly one character
    +      (GitHub <a href="https://github.com/jacoco/jacoco/issues/672">#672</a>).</li>
    +  <li>Part of bytecode that javac generates for <code>switch</code> statement on
    +      <code>java.lang.String</code> values with a small number cases is now correctly
    +      filtered out during generation of report
    +      (GitHub <a href="https://github.com/jacoco/jacoco/issues/730">#730</a>).</li>
    +</ul>
    +
    +<h3>Non-functional Changes</h3>
    +<ul>
    +  <li>JaCoCo now depends on ASM 6.2.1
    +      (GitHub <a href="https://github.com/jacoco/jacoco/issues/706">#706</a>,
    +      <a href="https://github.com/jacoco/jacoco/issues/725">#725</a>).</li>
    +  <li>Improved error message when already instrumented classes are used for
    +      instrumentation or analysis
    +      (GitHub <a href="https://github.com/jacoco/jacoco/issues/703">#703</a>).</li>
    +  <li>JaCoCo build now requires at least Maven 3.3.9 and JDK 8
    +      (GitHub <a href="https://github.com/jacoco/jacoco/issues/711">#711</a>).</li>
    +</ul>
    +
    +<h3>API Changes</h3>
    +<ul>
    +  <li>The XML report now has an optional attribute <code>sourcefilename</code>
    +      on the <code>class</code> element to allow unambiguously relate classes
    +      to source files. The JaCoCo DTD version has been updated to 1.1
    +      (GitHub <a href="https://github.com/jacoco/jacoco/issues/702">#702</a>).</li>
    +</ul>
    +
    +<h2>Release 0.8.1 (2018/03/21)</h2>
    +
    +<h3>New Features</h3>
    +<ul>
    +  <li>JaCoCo now supports Java 10
    +      (GitHub <a href="https://github.com/jacoco/jacoco/issues/629">#629</a>).</li>
    +  <li>Empty constructor without parameters in enum is filtered out during
    +      generation of report
    +      (GitHub <a href="https://github.com/jacoco/jacoco/issues/649">#649</a>).</li>
    +</ul>
    +
    +<h2>Release 0.8.0 (2018/01/02)</h2>
    +
    +<h3>New Features</h3>
    +<ul>
    +  <li>JaCoCo now officially supports Java 9
    +      (GitHub <a href="https://github.com/jacoco/jacoco/issues/600">#600</a>).</li>
    +  <li>JaCoCo now comes with a simple command line interface
    +      (GitHub <a href="https://github.com/jacoco/jacoco/issues/525">#525</a>).</li>
    +  <li>Limit configuration of Maven <code>check</code> goal and Ant
    +      <code>check</code> element now also supports percentage values
    +      (GitHub <a href="https://github.com/jacoco/jacoco/issues/534">#534</a>).</li>
    +  <li>Manifests of JAR files now have <code>Automatic-Module-Name</code> for Java 9
    +      (GitHub <a href="https://github.com/jacoco/jacoco/issues/565">#565</a>).</li>
    +  <li>Maven aggregated reports will now also include modules of <code>runtime</code>
    +      and <code>provided</code> dependencies
    +      (GitHub <a href="https://github.com/jacoco/jacoco/issues/498">#498</a>,
    +      <a href="https://github.com/jacoco/jacoco/issues/572">#572</a>).</li>
    +</ul>
    +
    +<p>
    +  During creation of reports various compiler generated artifacts are filtered
    +  out, which otherwise require unnecessary and sometimes impossible tricks to
    +  not have partial or missed coverage:
    +</p>
    +
    +<ul>
    +  <li>Methods <code>valueOf</code> and <code>values</code> of enum types
    +      (GitHub <a href="https://github.com/jacoco/jacoco/issues/491">#491</a>).</li>
    +  <li>Private empty no-argument constructors
    +      (GitHub <a href="https://github.com/jacoco/jacoco/issues/529">#529</a>).</li>
    +  <li>Methods annotated with <code>@lombok.Generated</code> to better integrate
    +      with Lombok >= 1.16.14. Initial analysis and contribution by Rüdiger zu Dohna
    +      (GitHub <a href="https://github.com/jacoco/jacoco/issues/513">#513</a>).</li>
    +  <li>Methods annotated with <code>@groovy.transform.Generated</code> to better
    +      integrate with Groovy >= 2.5.0. Thanks to Andres Almiray for adding the annotation to Groovy
    +      (GitHub <a href="https://github.com/jacoco/jacoco/issues/610">#610</a>).</li>
    +  <li>Part of bytecode for <code>synchronized</code> blocks
    +      (GitHub <a href="https://github.com/jacoco/jacoco/issues/501">#501</a>).</li>
    +  <li>Part of bytecode for try-with-resources statements
    +      (GitHub <a href="https://github.com/jacoco/jacoco/issues/500">#500</a>).</li>
    +  <li>Part of bytecode for <code>finally</code> blocks
    +      (GitHub <a href="https://github.com/jacoco/jacoco/issues/604">#604</a>).</li>
    +  <li>Part of bytecode for <code>switch</code> statements on
    +      <code>java.lang.String</code> values
    +      (GitHub <a href="https://github.com/jacoco/jacoco/issues/596">#596</a>).</li>
    +</ul>
    +
    +<p>
    +  Note: Tools that directly read <code>exec</code> files and embed JaCoCo for
    +  this (such as SonarQube or Jenkins) will provide filtering functionality only
    +  after they updated to this version of JaCoCo.
    +</p>
    +
    +<h3>Fixed Bugs</h3>
    +<ul>
    +  <li>Fixed bug in instrumentation of exception handlers, which was causing damage
    +      of structured locking in certain situations and as consequence poor
    +      performance of instrumented methods, analysis and fix contributed by Allen Hair
    +      (GitHub <a href="https://github.com/jacoco/jacoco/issues/627">#627</a>).</li>
    +  <li><code>dump</code> commands now report error when server unexpectedly
    +      closes connection without sending response
    +      (GitHub <a href="https://github.com/jacoco/jacoco/issues/538">#538</a>).</li>
    +  <li>Reduced chance of conflict with other agents
    +      (GitHub <a href="https://github.com/jacoco/jacoco/issues/555">#555</a>).</li>
    +  <li>Restored Maven <code>help</code> goal that was missing in version 0.7.9
    +      (GitHub <a href="https://github.com/jacoco/jacoco/issues/559">#559</a>).</li>
    +  <li><code>NullPointerException</code> during offline instrumentation of
    +      <code>module-info.class</code>
    +      (GitHub <a href="https://github.com/jacoco/jacoco/issues/600">#600</a>,
    +      GitHub <a href="https://github.com/jacoco/jacoco/issues/634">#634</a>).</li>
    +  <li>Incorrect update of frames caused by bug in ASM library
    +      (GitHub <a href="https://github.com/jacoco/jacoco/issues/600">#600</a>).</li>
    +  <li>Loss of <code>InnerClasses</code> attribute caused by bug in ASM library
    +      (GitHub <a href="https://github.com/jacoco/jacoco/issues/600">#600</a>).</li>
    +  <li><code>NegativeArraySizeException</code> during instrumentation caused by bug
    +      in ASM library
    +      (GitHub <a href="https://github.com/jacoco/jacoco/issues/600">#600</a>).</li>
    +</ul>
    +
    +<h3>Non-functional Changes</h3>
    +<ul>
    +  <li>JaCoCo now depends on ASM 6.0
    +      (GitHub <a href="https://github.com/jacoco/jacoco/issues/600">#600</a>).</li>
    +  <li>More information about context is provided when unable to read input during
    +      instrumentation
    +      (GitHub <a href="https://github.com/jacoco/jacoco/issues/527">#527</a>).</li>
    +  <li>More information about context is provided when unable to read stream during
    +      analysis
    +      (GitHub <a href="https://github.com/jacoco/jacoco/issues/541">#541</a>).</li>
    +</ul>
    +
    +<h2>Release 0.7.9 (2017/02/05)</h2>
    +
    +<h3>Fixed Bugs</h3>
    +<ul>
    +  <li>"<code>java.lang.ClassFormatError: Short length on BootstrapMethods in class file</code>"
    +      caused by bug in ASM library
    +      (GitHub <a href="https://github.com/jacoco/jacoco/issues/462">#462</a>).</li>
    +  <li>Do not recompute frames in case of large methods, otherwise
    +      <code>java.lang.ClassNotFoundException</code> might be thrown
    +      (GitHub <a href="https://github.com/jacoco/jacoco/issues/177">#177</a>).</li>
    +  <li><code>ExecutionDataWriter.FORMAT_VERSION</code> is not a compile-time constant
    +      (GitHub <a href="https://github.com/jacoco/jacoco/issues/474">#474</a>).</li>
    +  <li>Maven goal "prepare-agent" should not overwrite existing property value if execution was skipped
    +      (GitHub <a href="https://github.com/jacoco/jacoco/issues/486">#486</a>).</li>
    +</ul>
    +
    +<h3>API Changes</h3>
    +<ul>
    +  <li><code>JaCoCo.ASM_API_VERSION</code> removed
    +      (GitHub <a href="https://github.com/jacoco/jacoco/issues/474">#474</a>).</li>
    +</ul>
    +
    +<h3>Non-functional Changes</h3>
    +<ul>
    +  <li>JaCoCo now depends on ASM 5.2.</li>
    +  <li>OSGi metadata now generated automatically and additionally include
    +      <code>uses</code> directives, <code>Require-Capability</code> attribute,
    +      and export of all internal packages with <code>x-internal:=true</code> directive
    +      (GitHub <a href="https://github.com/jacoco/jacoco/issues/211">#211</a>).</li>
    +  <li>Removed OSGi attributes that were mistakenly added in version 0.6.1 into
    +      <code>jacocoant.jar</code> that contains all dependencies
    +      (GitHub <a href="https://github.com/jacoco/jacoco/issues/211">#211</a>).</li>
    +</ul>
    +
    +<h2>Release 0.7.8 (2016/12/09)</h2>
    +
    +<h3>New Features</h3>
    +<ul>
    +  <li>User property <code>jacoco.dataFile</code> for parameter <code>dataFile</code>
    +      of Maven <code>report</code> goal
    +      (GitHub <a href="https://github.com/jacoco/jacoco/issues/322">#322</a>).</li>
    +</ul>
    +
    +<h3>Fixed Bugs</h3>
    +<ul>
    +  <li>Use <code>RoundingMode#FLOOR</code> instead of
    +      <code>RoundingMode#HALF_EVEN</code> for percentages in HTML report, so that
    +      "99.5" is displayed as "99%", not as "100%"
    +      (GitHub <a href="https://github.com/jacoco/jacoco/issues/452">#452</a>).</li>
    +  <li>Do not add useless members into Java 8 interfaces that have only interface
    +      initialization and abstract methods
    +      (GitHub <a href="https://github.com/jacoco/jacoco/issues/441">#441</a>).</li>
    +  <li>Fix instrumentation to not violate Java Virtual Machine Specification regarding
    +      initialization of final fields, otherwise <code>IllegalAccessError</code>
    +      will be thrown starting from OpenJDK 9 EA b127
    +      (GitHub <a href="https://github.com/jacoco/jacoco/issues/434">#434</a>).</li>
    +  <li>Fix instrumentation of interfaces with default methods to not create incorrect
    +      constant pool entries, which lead to <code>IncompatibleClassChangeError</code>
    +      starting from OpenJDK 9 EA b122
    +      (GitHub <a href="https://github.com/jacoco/jacoco/issues/428">#428</a>).</li>
    +  <li>Add Maven goal <code>report-aggregate</code> to lifecycle-mapping-metadata.xml
    +      (GitHub <a href="https://github.com/jacoco/jacoco/issues/427">#427</a>).</li>
    +</ul>
    +
    +<h3>Non-functional Changes</h3>
    +<ul>
    +  <li>Released JaCoCo JARs are not signed any more. Signed versions of JaCoCo are
    +      now available from the Eclipse Orbit project
    +      (GitHub <a href="https://github.com/jacoco/jacoco/issues/466">#466</a>).</li>
    +  <li>Simplified numbering of versions - JaCoCo JARs in Maven Central repository
    +      do not have qualifier any more
    +      (GitHub <a href="https://github.com/jacoco/jacoco/issues/468">#468</a>).</li>
    +</ul>
    +
    +<h2>Release 0.7.7 (2016/06/06)</h2>
    +
    +<h3>New Features</h3>
    +<ul>
    +  <li>New Maven goal <code>report-aggregate</code> to create reports for
    +      multi-module projects
    +      (GitHub <a href="https://github.com/jacoco/jacoco/issues/388">#388</a>).</li>
    +  <li>New parameters <code>title</code> and <code>footer</code> for Maven
    +      reporting goals allow customization of generated reports.</li>
    +  <li>Renamed "dot" resources in generated HTML reports to become more web
    +      hosting friendly
    +      (GitHub <a href="https://github.com/jacoco/jacoco/issues/401">#401</a>).</li>
    +  <li>Experimental support for Java 9 class files
    +      (GitHub <a href="https://github.com/jacoco/jacoco/issues/406">#406</a>).</li>
    +</ul>
    +
    +<h3>Fixed Bugs</h3>
    +<ul>
    +  <li>Don't suppress EOF errors in case of truncated execution data files
    +      (GitHub <a href="https://github.com/jacoco/jacoco/issues/397">#397</a>).</li>
    +</ul>
    +
    +<h3>Non-functional Changes</h3>
    +<ul>
    +  <li>JaCoCo now depends on ASM 5.1.</li>
    +  <li>Empty probe arrays are not written to execution data files any more. This
    +      reduces exec file size significantly for per-test data dumps.
    +      (GitHub <a href="https://github.com/jacoco/jacoco/issues/387">#387</a>).</li>
    +  <li>More information about context is provided when unable to read input during
    +      analysis.
    +      (GitHub <a href="https://github.com/jacoco/jacoco/issues/400">#400</a>).</li>
    +  <li>Require at least Maven 3.0 for build of JaCoCo.</li>
    +</ul>
    +
    +
    +<h2>Release 0.7.6 (2016/02/18)</h2>
    +
    +<h3>New Features</h3>
    +<ul>
    +  <li>New agent option <code>inclnolocationclasses</code> to support execution
    +      environments like Android where no source location is provided with classes
    +      (GitHub <a href="https://github.com/jacoco/jacoco/issues/288">#288</a>).</li>
    +  <li>Improved error message in case of incompatible execution data files.
    +      (GitHub <a href="https://github.com/jacoco/jacoco/issues/319">#319</a>).</li>
    +  <li>Command line agent options now supports comma in file names. Contributed
    +      by Jochen Berger.
    +      (GitHub <a href="https://github.com/jacoco/jacoco/issues/358">#358</a>).</li>
    +</ul>
    +
    +<h3>Fixed Bugs</h3>
    +<ul>
    +  <li>Fix <code>MBeanClient</code> example
    +      (GitHub <a href="https://github.com/jacoco/jacoco/issues/333">#333</a>).</li>
    +  <li>Avoid <code>ConcurrentModificationException</code> during shutdown
    +      (GitHub <a href="https://github.com/jacoco/jacoco/issues/364">#364</a>).</li>
    +</ul>
    +
    +<h3>API Changes</h3>
    +<ul>
    +  <li>In case of incompatible execution data formats read from another JaCoCo
    +  version <code>ExecutionDataReader.read()</code> now throws a
    +  <code>IncompatibleExecDataVersionException</code>.</li>
    +</ul>
    +
    +<h3>Non-functional Changes</h3>
    +<ul>
    +  <li>JaCoCo now depends on ASM 5.0.4.</li>
    +</ul>
    +
    +
    +<h2>Release 0.7.5 (2015/05/24)</h2>
    +
    +<h3>New Features</h3>
    +<ul>
    +  <li>Better detection of coverage in code blocks with implicit exceptions.
    +      (GitHub <a href="https://github.com/jacoco/jacoco/issues/310">#310</a>).</li>
    +  <li>Added lifecycle-mapping-metadata.xml for M2E
    +      (GitHub <a href="https://github.com/jacoco/jacoco/issues/203">#203</a>).</li>
    +  <li>Allow locales with country and variant for Ant report task
    +      (GitHub <a href="https://github.com/jacoco/jacoco/issues/289">#289</a>).</li>
    +</ul>
    +
    +<h3>Fixed Bugs</h3>
    +<ul>
    +  <li>For the Ant tasks <code>coverage</code> and <code>agent</code> the
    +      <code>destfile</code> attribute is now passed as an absolute path also in
    +      the default case
    +      (GitHub <a href="https://github.com/jacoco/jacoco/issues/301">#301</a>).</li>
    +</ul>
    +
    +<h3>API Changes</h3>
    +<ul>
    +  <li>The exec file version has been updated and is not compatible with previous
    +      versions.</li>
    +</ul>
    +
    +<h2>Release 0.7.4 (2015/02/26)</h2>
    +
    +<h3>Fixed Bugs</h3>
    +<ul>
    +  <li>Restored exec file compatibility with version 0.7.2 by fixing missing
    +      probes in case of try/catch blocks which are jump targets.
    +      (GitHub <a href="https://github.com/jacoco/jacoco/issues/286">#286</a>).</li>
    +</ul>
    +
    +
    +<h2>Release 0.7.3 (2015/02/19)</h2>
    +
    +<h3>New Features</h3>
    +<ul>
    +  <li>For offline instrumemtation agent configuration supports system properties
    +      replacements. Implementation based on pull request of GitHub user 'debugger'
    +      (GitHub <a href="https://github.com/jacoco/jacoco/issues/262">#262</a>).</li>
    +  <li>Exclude dynamically generated classes from instrumentation for better
    +      interoperability with JMockit, analysis contributed by Rogério Liesenfeld
    +      (GitHub <a href="https://github.com/jacoco/jacoco/issues/272">#272</a>).</li>
    +</ul>
    +
    +<h3>Fixed Bugs</h3>
    +<ul>
    +  <li>Instrumented bytecode now compatible with Android ART runtime, analysis
    +      and fix contributed by Allen Hair
    +      (GitHub <a href="https://github.com/jacoco/jacoco/issues/265">#265</a>).</li>
    +</ul>
    +
    +<h2>Release 0.7.2 (2014/09/12)</h2>
    +
    +<h3>Fixed Bugs</h3>
    +<ul>
    +  <li>Do not ignore synthetic lambda methods to get code coverage for Java 8
    +      lambda expressions
    +      (GitHub <a href="https://github.com/jacoco/jacoco/issues/232">#232</a>).</li>
    +</ul>
    +
    +<h3>New Features</h3>
    +<ul>
    +  <li>New configuration option for the JaCoCo agent
    +      <code>inclbootstrapclasses</code> to also instrument classes from the
    +      bootstrap class loader
    +      (GitHub <a href="https://github.com/jacoco/jacoco/issues/49">#49</a>).</li>
    +  <li>Agent uses unique file names to dump class files
    +      (GitHub <a href="https://github.com/jacoco/jacoco/issues/225">#225</a>).</li>
    +</ul>
    +
    +<h2>Release 0.7.1 (2014/05/08)</h2>
    +
    +<h3>Fixed Bugs</h3>
    +<ul>
    +  <li>Fixed failure with default methods in Java 8 interfaces
    +      (GitHub <a href="https://github.com/jacoco/jacoco/issues/201">#201</a>).</li>
    +  <li>Better interoperability with JMockit, analysis and fix contributed by Rogério
    +      Liesenfeld (GitHub <a href="https://github.com/jacoco/jacoco/issues/35">#35</a>
    +      and <a href="https://github.com/jacoco/jacoco/issues/54">#54</a>).</li>
    +</ul>
    +
    +<h3>Non-functional Changes</h3>
    +<ul>
    +  <li>JaCoCo now depends on ASM 5.0.1
    +      (GitHub <a href="https://github.com/jacoco/jacoco/issues/201">#201</a>).</li>
    +</ul>
    +
    +<h2>Release 0.7.0 (2014/03/18)</h2>
    +
    +<h3>New Features</h3>
    +<ul>
    +  <li>JaCoCo now supports Java 8
    +      (GitHub <a href="https://github.com/jacoco/jacoco/issues/74">#74</a>).</li>
    +</ul>
    +
    +<h3>Non-functional Changes</h3>
    +<ul>
    +  <li>JaCoCo now depends on ASM 5.0 using asm-debug-all instead of asm-all
    +      (GitHub <a href="https://github.com/jacoco/jacoco/issues/199">#199</a>).</li>
    +</ul>
    +
    +<h2>Release 0.6.5 (2014/03/03)</h2>
    +
    +<h3>New Features</h3>
    +<ul>
    +  <li>Warnings are logged during report generation if different versions of
    +      classes are used than at runtime (GitHub <a href="https://github.com/jacoco/jacoco/issues/185">#185</a>).</li>
    +  <li>Signatures are removed from instrumented JAR files
    +      (GitHub <a href="https://github.com/jacoco/jacoco/issues/186">#186</a>).</li>
    +</ul>
    +
    +<h3>Fixed Bugs</h3>
    +<ul>
    +  <li>Skip jacoco instrumentation for mvn modules with package type ear (GitHub <a href="https://github.com/jacoco/jacoco/issues/169">#169</a>).</li>
    +  <li>Align skip conditions and messages for Maven goals and give reasons. This
    +      includes removal of the specific skip condition for packages e.g. POMs and
    +      instead checks existence of <tt>target/classes</tt> in appropriate goals
    +      (GitHub <a href="https://github.com/jacoco/jacoco/issues/171">#171</a>).</li>
    +  <li>GitHub #44: (Regression) Agent Mojo should set empty property, if execution was skipped
    +      (GitHub <a href="https://github.com/jacoco/jacoco/issues/192">#192</a>).</li>
    +</ul>
    +
    +<h3>API Changes</h3>
    +<ul>
    +  <li>Restrict visibility of methods in abstract classes of jacoco-maven-plugin (GitHub <a href="https://github.com/jacoco/jacoco/issues/175">#175</a>).</li>
    +</ul>
    +
    +<h2>Release 0.6.4 (2013/12/10)</h2>
    +
    +<h3>New Features</h3>
    +<ul>
    +  <li>Support for Android <i>Strict Mode</i> (GitHub <a href="https://github.com/jacoco/jacoco/issues/113">#113</a>).</li>
    +  <li>New dump Mojo for Maven plug-in (GitHub <a href="https://github.com/jacoco/jacoco/issues/107">#107</a>).</li>
    +  <li>New merge Mojo for Maven plug-in, contributed by Mads Mohr Christensen
    +      (GitHub <a href="https://github.com/jacoco/jacoco/issues/126">#126</a>).</li>
    +  <li>Additional list of source files for every package in HTML report
    +      (GitHub <a href="https://github.com/jacoco/jacoco/issues/142">#142</a>).</li>
    +  <li>Additional report-integration and prepare-agent-integration goals for
    +      integration tests. (GitHub <a href="https://github.com/jacoco/jacoco/issues/152">#152</a>, <a href="https://github.com/jacoco/jacoco/issues/161">#161</a>).</li>
    +</ul>
    +
    +<h3>Fixed Bugs</h3>
    +<ul>
    +  <li>Multiple executions of Maven goal "prepare-agent" should not lead to
    +      incorrect configuration (GitHub <a href="https://github.com/jacoco/jacoco/issues/40">#40</a>).</li>
    +  <li>Avoid direct dependency on java.lang.management APIs to allow usage on
    +      Android (GitHub <a href="https://github.com/jacoco/jacoco/issues/150">#150</a>).</li>
    +  <li>All JaCoCo Maven goals are marked as thread-safe (GitHub <a href="https://github.com/jacoco/jacoco/issues/133">#133</a>).</li>
    +  <li>check and merge goal failures in jacoco-maven-plugin with Maven 2.2.1
    +      due to incompatible configuration (GitHub <a href="https://github.com/jacoco/jacoco/issues/129">#129</a>).</li>
    +</ul>
    +
    +<h3>API Changes</h3>
    +<ul>
    +  <li>New API package <code>org.jacoco.core.tools</code> for shared high-level
    +      tools. (GitHub <a href="https://github.com/jacoco/jacoco/issues/159">#159</a>).</li>
    +</ul>
    +
    +<h2>Release 0.6.3 (2013/06/03)</h2>
    +
    +<h3>New Features</h3>
    +<ul>
    +  <li>Support for archives in Pack200 format (GitHub <a href="https://github.com/jacoco/jacoco/issues/91">#91</a>).</li>
    +  <li>The coverage check has been reworked to allow checks on all counter values
    +      on all element types (GitHub <a href="https://github.com/jacoco/jacoco/issues/106">#106</a>).</li>
    +  <li>Coverage checks are now also available in Ant (GitHub <a href="https://github.com/jacoco/jacoco/issues/106">#106</a>).</li>
    +</ul>
    +
    +<h3>Fixed Bugs</h3>
    +<ul>
    +  <li>Fixed inconsistent stackmap frames when instrumenting class files produced
    +      by certain tools like ProGuard (GitHub <a href="https://github.com/jacoco/jacoco/issues/85">#85</a>).</li>
    +</ul>
    +
    +<h3>Non-functional Changes</h3>
    +<ul>
    +  <li>More context information when exceptions occur during analysis or
    +      instrumentation (GitHub <a href="https://github.com/jacoco/jacoco/issues/104">#104</a>).</li>
    +  <li>If analysis is performed on offline instrumented classes - which is an
    +      build configuration error - an exception is now thrown (GitHub <a href="https://github.com/jacoco/jacoco/issues/108">#108</a>).</li>
    +</ul>
    +
    +<h3>API Changes</h3>
    +<ul>
    +  <li>The configuration of the Maven check goal has been reworked to support
    +      checks on any element type (GitHub <a href="https://github.com/jacoco/jacoco/issues/106">#106</a>).</li>
    +  <li><code>Analyzer</code> and <code>Instrumenter</code> expect resource name
    +      as additional parameter for better error messages (GitHub <a href="https://github.com/jacoco/jacoco/issues/104">#104</a>).</li>
    +</ul>
    +
    +<h2>Release 0.6.2 (2013/02/03)</h2>
    +
    +<h3>New Features</h3>
    +<ul>
    +  <li>Support for offline instrumentation (GitHub <a href="https://github.com/jacoco/jacoco/issues/4">#4</a>, <a href="https://github.com/jacoco/jacoco/issues/64">#64</a>).</li>
    +  <li>JaCoCo agent exposes runtime API for direct integration with application
    +      under test (GitHub <a href="https://github.com/jacoco/jacoco/issues/61">#61</a>).</li>
    +  <li>Support for parallel test execution: Different agents can now safely write
    +      to the same <code>*.exec</code> file (GitHub <a href="https://github.com/jacoco/jacoco/issues/52">#52</a>).</li>
    +  <li>New output mode 'none' can be used when agent is only controlled via JMX
    +      or its new runtime API (GitHub <a href="https://github.com/jacoco/jacoco/issues/63">#63</a>).</li>
    +  <li>Better error message in case of invalid stackmap frames (GitHub <a href="https://github.com/jacoco/jacoco/issues/73">#73</a>).</li>
    +  <li>jacoco-maven-plugin: default phase for goal "report" - "verify"
    +      (GitHub <a href="https://github.com/jacoco/jacoco/issues/72">#72</a>).</li>
    +</ul>
    +
    +<h3>Non-functional Changes</h3>
    +<ul>
    +  <li>For every build the corresponding Git commit hash is included as
    +      <code>Eclipse-SourceReferences</code> manifest headers (GitHub <a href="https://github.com/jacoco/jacoco/issues/7">#7</a>, <a href="https://github.com/jacoco/jacoco/issues/59">#59</a>).</li>
    +  <li>Adjust saturation of red source highlighting in HTML reports to make
    +      JaCoCo reports more accessible to red/green blind users.</li>
    +</ul>
    +
    +<h3>API Changes</h3>
    +<ul>
    +  <li>The <code>output</code> mode <code>mbean</code> of the agent has been
    +      dropped in favor of the new boolean option <code>jmx</code>. This allows
    +      to combine JMX access with any other output mode (GitHub <a href="https://github.com/jacoco/jacoco/issues/62">#62</a>).</li>
    +</ul>
    +
    +<h2>Release 0.6.1 (2012/12/23)</h2>
    +
    +<h3>New Features</h3>
    +<ul>
    +  <li>Add a coverage check Mojo, contributed by Kyle Lieber (GitHub <a href="https://github.com/jacoco/jacoco/issues/6">#6</a>).</li>
    +</ul>
    +
    +<h3>Fixed Bugs</h3>
    +<ul>
    +  <li>jacocoant.jar should not conflict with ASM 3.x (GitHub <a href="https://github.com/jacoco/jacoco/issues/39">#39</a>).</li>
    +  <li>Agent Mojo should set empty property, if execution was skipped
    +      (GitHub <a href="https://github.com/jacoco/jacoco/issues/44">#44</a>).</li>
    +</ul>
    +
    +<h3>Non-functional Changes</h3>
    +<ul>
    +  <li>Upgrade to ASM 4.1 (GitHub <a href="https://github.com/jacoco/jacoco/issues/37">#37</a>).</li>
    +  <li>Log location of merged execution data file in Ant <code>merge</code> task
    +      (GitHub <a href="https://github.com/jacoco/jacoco/issues/29">#29</a>).</li>
    +</ul>
    +
    +<h2>Release 0.6.0 (2012/10/06)</h2>
    +
    +<h3>New Features</h3>
    +<ul>
    +  <li>Full support for Java 7 including INVOKEDYNAMIC as JaCoCo is now based
    +      on ASM 4.0 (GitHub <a href="https://github.com/jacoco/jacoco/issues/5">#5</a>).</li>
    +</ul>
    +
    +<h3>Fixed Bugs</h3>
    +<ul>
    +  <li>Maven plugin should skip creation of report if the execution data file is
    +      missing. This avoids appearance of stack traces in case when JVM was not
    +      forked, e.g. if there are no tests to run (SF #3563431, GitHub <a href="https://github.com/jacoco/jacoco/issues/19">#19</a>).</li>
    +  <li>Maven plugin should fail if unable to read execution data file or create
    +      report (GitHub <a href="https://github.com/jacoco/jacoco/issues/19">#19</a>).</li>
    +</ul>
    +
    +<h3>API Changes</h3>
    +<ul>
    +  <li>Only colon as separator character supported in agent parameters. The
    +      deprecated pipe character is no longer supported.</li>
    +</ul>
    +
    +<h2>Release 0.5.10 (2012/08/31)</h2>
    +
    +<h3>Fixed Bugs</h3>
    +<ul>
    +  <li>Correct stackmap frames for new <code>long[]</code> arrays (SF #3553210).</li>
    +  <li>Properly resolve the <code>fork</code> variable for tasks wrapped by the
    +      <code>coverage</code> Ant task (Trac #213).</li>
    +</ul>
    +
    +<h3>Non-functional Changes</h3>
    +<ul>
    +  <li>Source tree has been migrated to Git and is now hosted on Github at
    +  <a href="https://github.com/jacoco/jacoco">https://github.com/jacoco/jacoco</a>.</li>
    +</ul>
    +
    +<h2>Release 0.5.9 (2012/07/30)</h2>
    +
    +<h3>Fixed Bugs</h3>
    +<ul>
    +  <li>Don't produce invalid class files in case of unexpected stackmap frames
    +      (SF #3543758).</li>
    +</ul>
    +
    +<h2>Release 0.5.8 (2012/07/11)</h2>
    +
    +<h3>New Features</h3>
    +<ul>
    +  <li>Support for parallel Maven builds (Trac #191).</li>
    +  <li>New agent option <code>classdumpdir</code> to dump all class files seen
    +      by the JaCoCo agent to disk. This option is also available for Ant and
    +      Maven (Trac #208).</li>
    +</ul>
    +
    +<h3>Fixed Bugs</h3>
    +<ul>
    +  <li>Allow instrumentation of classes with dead code (SF #3538112).</li>
    +  <li>Reworked instrumentation strategy to avoid verifier error "Uninitialized
    +      object exists on backward branch" with certain Java 7 class files
    +      (Trac #154).</li>
    +</ul>
    +
    +<h3>Non-functional Changes</h3>
    +<ul>
    +  <li>Documentation now includes Maven example and Maven goal documentation
    +      (Trac #201, #202).</li>
    +</ul>
    +
    +<h2>Release 0.5.7 (2012/04/19)</h2>
    +
    +<h3>New Features</h3>
    +<ul>
    +  <li>Support for class redefinitions by other agents like JMockit (SF #3509409).</li>
    +  <li>Remove class file attributes with invalid code offsets caused by other
    +      byte code processing tools to avoid verifier errors (Trac #196).</li>
    +  <li>Improved logging for Ant tasks (SF #3518429).</li>
    +</ul>
    +
    +<h3>Fixed Bugs</h3>
    +<ul>
    +  <li>In case of failures the agent should log the original exception.</li>
    +</ul>
    +
    +<h2>Release 0.5.6 (2012/01/23)</h2>
    +
    +<h3>New Features</h3>
    +<ul>
    +  <li>jacoco-maven-plugin can be used together with maven-site-plugin (Trac #181).</li>
    +  <li>The <code>report</code> Ant task now also supports directory resources to
    +      specify source folders. This allows reading source files from multiple
    +      directories. Contributed by Dominik Stadler (Trac #119).</li>
    +</ul>
    +
    +<h3>Fixed Bugs</h3>
    +<ul>
    +  <li>Don't insert stackmap frames for class files before version 1.6.</li>
    +  <li>Regression, which was introduced in 0.5.4 - restored compatibility of jacoco-maven-plugin with Maven 2 (Trac #182).</li>
    +</ul>
    +
    +<h2>Release 0.5.5 (2011/12/15)</h2>
    +
    +<h3>Fixed Bugs</h3>
    +<ul>
    +  <li>Correct default value for the <code>append</code> property of the
    +      <code>dump</code> Ant task is <code>true</code> (Trac #178).</li>
    +  <li>Try/catch blocks must not be counted as instructions (Trac #179).</li>
    +</ul>
    +
    +<h3>Non-functional Changes</h3>
    +<ul>
    +  <li>Upgrade to ASM 3.3.1.</li>
    +</ul>
    +
    +<h2>Release 0.5.4 (2011/11/11)</h2>
    +
    +<h3>New Features</h3>
    +<ul>
    +  <li>Maven plug-in: respect <code>includes</code> and <code>excludes</code>
    +      properties in report Mojo (Trac #160).
    +      Also note that:
    +<pre class="source lang-xml">
    +&lt;configuration&gt;
    +  &lt;includes&gt;org.foo.*:org.bar.*&lt;/includes&gt;
    +  &lt;excludes&gt;com.foo.*:com.bar.*&lt;/excludes&gt;
    +&lt;/configuration&gt;
    +</pre>
    +      must be replaced on:
    +<pre class="source lang-xml">
    +&lt;configuration&gt;
    +  &lt;includes&gt;
    +    &lt;include>org.foo.*&lt;/include&gt;
    +    &lt;include>org.bar.*&lt;/include&gt;
    +  &lt;/includes&gt;
    +  &lt;excludes&gt;
    +    &lt;exclude&gt;com.foo.*&lt;/exclude&gt;
    +    &lt;exclude&gt;com.bar.*&lt;/exclude&gt;
    +  &lt;/excludes&gt;
    +&lt;/configuration&gt;
    +</pre>
    +  </li>
    +</ul>
    +
    +<h3>API Changes</h3>
    +<ul>
    +  <li><code>Instrumenter</code> now only requires
    +      <code>IExecutionDataAccessorGenerator</code> instead of
    +      <code>IRuntime</code> (Trac #174).</li>
    +  <li>Removed reference to internal implementation classes from
    +      <code>CoverageBuilder</code> API.</li>
    +</ul>
    +
    +<h3>Non-functional Changes</h3>
    +<ul>
    +  <li>Release bundles from now on signed again.</li>
    +  <li>Several documentation updates.</li>
    +</ul>
    +
    +<h2>Release 0.5.3 (2011/07/06)</h2>
    +
    +<h3>New Features</h3>
    +<ul>
    +  <li>New Maven plug-in for JaCoCo agent setup and basic reporting (Trac #25).</li>
    +  <li>Additional output mode implementation for JaCoCo agent based on JMX.</li>
    +</ul>
    +
    +<h3>Fixed Bugs</h3>
    +<ul>
    +  <li>Fixed problem with reporting of nested group structures (Trac #157).</li>
    +</ul>
    +
    +<h3>Non-functional Changes</h3>
    +<ul>
    +  <li>JaCoCo build based on Maven (Trac #136).</li>
    +  <li>JaCoCo published to Maven repository (Trac #149).</li>
    +</ul>
    +
    +<h2>Release 0.5.2 (2011/05/19)</h2>
    +
    +<h3>New Features</h3>
    +<ul>
    +  <li>JaCoCo reports cyclomatic complexity numbers (Trac #129).</li>
    +  <li>For HTML reports the tab width can be specified on the
    +      <code>sourcefiles</code> attribute of the <code>report</code> Ant task
    +      (Track #152).</li>
    +</ul>
    +
    +<h3>Fixed Bugs</h3>
    +<ul>
    +  <li>Removed duplicate counters in the root node of XML reports (Trac #155).</li>
    +  <li>Avoid <code>StackOverflowException</code> when analyzing methods with very
    +      long instruction sequences (Trac #156). Many thanks to Jean-Eric Cuendet
    +      for reporting and analyzing this!</li>
    +</ul>
    +
    +<h3>API Changes</h3>
    +<ul>
    +  <li><code>ICoverageNode</code> API has been extended for cyclomatic
    +      complexity (Trac #129).</li>
    +  <li>XML and CSV report includes new counter type <code>COMPLEXITY</code>
    +      (Trac #129).</li>
    +  <li>New method <code>getTabWidth()</code> in callback interface
    +      <code>ISourceFileLocator</code> instead of
    +      <code>HTMLReportFormatter.setTabWidth()</code> which has been removed.
    +      (Trac #152).</li>
    +</ul>
    +
    +<h2>Release 0.5.1 (2011/03/21)</h2>
    +
    +<h3>New Features</h3>
    +<ul>
    +  <li>Duplicate classes with identical identifiers are now ignored during
    +      analysis.</li>
    +  <li>Added support for TestNG to Ant task Coverage (Track #144).</li>
    +</ul>
    +
    +<h3>Fixed Bugs</h3>
    +<ul>
    +  <li>Calculate correct stackmap frames for Java 1.6 branches (Trac #139).</li>
    +  <li>Link source files also for classes in default package (Trac #151).</li>
    +</ul>
    +
    +<h3>Non-functional Changes</h3>
    +<ul>
    +  <li>API documentation cleanup (Track #140).</li>
    +  <li>Removed obsolete examples from documentation (Trac #141).</li>
    +  <li>Added reporting API example (Trac #146).</li>
    +  <li>Reduced file size of HTML report source pages (Trac #148).</li>
    +</ul>
    +
    +<h3>API Changes</h3>
    +<ul>
    +  <li>Simplified reporting API (Trac #53).</li>
    +  <li>Use colon as separator character in agent parameters (Trac #143).</li>
    +  <li>Now also empty files are accepted as <code>*.exec</code> files (Trac #150).</li>
    +</ul>
    +
    +<h2>Release 0.5.0 (2011/01/19)</h2>
    +
    +<h3>New Features</h3>
    +<ul>
    +  <li>JaCoCo now reports branch coverage (Track #66).</li>
    +</ul>
    +
    +<h3>Fixed Bugs</h3>
    +<ul>
    +  <li>Only process actual Java class files during analysis (SF #3106102).</li>
    +  <li>Fix broken source links due to sort hash (Track #125).</li>
    +  <li>Fixed invalid OSGi headers in MANIFEST.MF files (Track #127).</li>
    +  <li>Try to avoid interference with Hibernate (SF #3134190).</li>
    +  <li>Provide proper error message in case of duplicate class names in the same
    +      group (SF #3110219).</li>
    +  <li>Allow any number of probes in static interface initializers (SF #3161106).</li>
    +</ul>
    +
    +<h3>API Changes</h3>
    +<ul>
    +  <li>All analysis specific APIs have been moved to package
    +      <code>org.jacoco.core.analysis</code>.</li>
    +  <li>The <code>IStructureVisitor</code> interface has been replaced by a
    +      simplified version called <code>ICoverageVisitor</code> (Track #132).</li>
    +  <li>All counter creation and update APIs now accept <i>missed items</i> and
    +      <i>covered items</i> as parameters (Track #131).</li>
    +  <li>Instructions are now counted on a per line basis. Therefore some
    +      interfaces in the <code>org.jacoco.core.analysis</code> package have
    +      changed as well as the <code>line</code> element in the XML report
    +      (Track #130).</li>
    +  <li>Several internal implementation classes have removed from the core APIs or
    +      have been replaced by new interfaces (Track #133).</li>
    +</ul>
    +
    +<h2>Release 0.4.1 (2010/10/07)</h2>
    +
    +<h3>New Features</h3>
    +<ul>
    +  <li>New attribute <code>line</code> for <code>method</code> elements in the
    +      XML report containing the first source line number of the method.
    +      (Track #120).</li>
    +  <li>Optional <code>locale</code> attribute for number rendering HTML reports,
    +      also available as an attribute of the <code>html</code> tag of the
    +      <code>report</code> Ant task (Track #122).</li>
    +  <li>Coverage tables in HTML report are now sortable (Track #98).</li>
    +  <li>The <code>report</code> Ant task issues a warning if source files are
    +      provided but class files do not contain debug information to collect line
    +      numbers (SF #3024486).</li>
    +</ul>
    +
    +<h3>Non-functional Changes</h3>
    +<ul>
    +  <li>Reduced memory footprint for coverage data by 30% (Track #106).</li>
    +  <li>Moved to Eclipse 3.6.x as development environment (Trac #115).</li>
    +  <li>All delivered bundles and JAR files are signed (Trac #118).</li>
    +</ul>
    +
    +<h3>Fixed Bugs</h3>
    +<ul>
    +  <li>Better error message when multiple JaCoCo agents are specified
    +      (Track #103).</li>
    +  <li>Fixed potential NPE at shutdown when running agent in
    +      <code>tcpserver</code> mode (Track #117).</li>
    +  <li>Agent now fails at startup when execution data file can't be opened
    +      (Track #121).</li>
    +</ul>
    +
    +<h2>Release 0.4.0 (2010/06/04)</h2>
    +
    +<h3>New Features</h3>
    +<ul>
    +  <li>Execution data now includes session information: an arbitrary identifier,
    +      the start time and dump time (Trac #88).</li>
    +  <li>Added session information to XML report (Trac #92).</li>
    +  <li>New "Sessions" page in the HTML report shows information about each
    +      sessions wherein execution data has been collected for the report
    +      (Trac #93). Additionally all classes with execution data available are
    +      listed on this page (Trac #94).</li>
    +  <li>The agent now supports remote dumps via TCP/IP connections (Trac #82).</li>
    +  <li>New Ant task <code>dump</code> to remotely collect coverage data from
    +      agents (Trac #100).</li>
    +</ul>
    +
    +<h3>API Changes</h3>
    +<ul>
    +  <li>Execution data file header is written and read in any case (Trac #72).</li>
    +  <li>Added <code>dumponexit</code> to agent options (Trac #82).</li>
    +  <li>Added <code>sessionid</code> to agent options (Trac #88).</li>
    +  <li>Added <code>output, address and port</code> to agent options (Trac #82).</li>
    +  <li>Additional and modified methods in <code>IRuntime</code> to produce
    +      session information (Trac #88).</li>
    +  <li>Coverage element type <code>SESSION</code> removed (Trac #95).</li>
    +  <li>Removed several internal APIs from package
    +      <code>org.jacoco.core.instr</code> used for class instrumentation.</li>
    +  <li>Renamed class <code>org.jacoco.report.csv.CsvFormatter</code> to
    +      <code>CSVFormatter</code> (upper case) for consistency with other
    +      formatters.</li>
    +</ul>
    +
    +<h2>Release 0.3.3 (2010/04/19)</h2>
    +
    +<h3>New Features</h3>
    +<ul>
    +  <li>Support for different archives (jar, war, ear etc.) and nested archives
    +      (Trac #78).</li>
    +  <li>XML report with line level coverage information (requested for Sonar).</li>
    +</ul>
    +
    +<h3>Fixed Bugs</h3>
    +<ul>
    +  <li>Correct stackmap frames for Java 1.6 class files. (Track #81).</li>
    +  <li>Avoid usage of <code>LocalVariableSorter</code> due to ASM bug #314563
    +      (Track #69).</li>
    +  <li>Nested Java/JUnit Ant tasks not being executed when coverage task disabled. (Track #85).</li>
    +</ul>
    +
    +<h2>Release 0.3.2 (2010/04/01)</h2>
    +
    +<h3>New Features</h3>
    +<ul>
    +  <li>New HTML report option to directly create a zip file containing the report
    +      (Trac #12).</li>
    +  <li>Code coverage for static initializers in interfaces (Trac #21).</li>
    +  <li>Better error handling for <code>report</code> Ant task (Trac #71).</li>
    +  <li>Classes without instructions are excluded from reports (Trac #73).</li>
    +</ul>
    +
    +<h3>Fixed Bugs</h3>
    +<ul>
    +  <li>XML and CSV report output now also works for structures without groups
    +      (Track #76).</li>
    +</ul>
    +
    +<h3>API Changes</h3>
    +<ul>
    +  <li>Consistent usage of the term "Missed" instead of "NotCovered" in all APIs
    +      (Trac #72).</li>
    +  <li>To support "off-line" instrumentation scenarios it is not required any
    +      more to register instrumented classes with the runtime (Trac #74).</li>
    +</ul>
    +
    +<h2>Release 0.3.1 (2010/02/09)</h2>
    +
    +<h3>Fixed Bugs</h3>
    +<ul>
    +  <li>Ant tasks broken on Linux (Trac #68).</li>
    +</ul>
    +
    +<h2>Release 0.3.0 (2010/02/02)</h2>
    +
    +<h3>New Features</h3>
    +<ul>
    +  <li>Report renders anonymous classes with type information (Trac #46).</li>
    +  <li><code>enabled</code> property added to <code>agent</code> and
    +      <code>coverage</code> Ant tasks (Trac #63).</li>
    +  <li>Ant task <code>merge</code> added (Trac #52).</li>
    +</ul>
    +
    +<h3>Fixed Bugs</h3>
    +<ul>
    +  <li>New <code>IRuntime</code> implementation enables JaCoCo usage for J2EE
    +  application servers like Glassfish.</li>
    +</ul>
    +
    +<h3>API Changes</h3>
    +<ul>
    +  <li>Agent option and Ant task parameter <code>file</code> changed to
    +      <code>destfile</code> (Trac #59).</li>
    +  <li>Agent option and Ant task parameter <code>merge</code> changed to
    +      <code>append</code> (Trac #51).</li>
    +</ul>
    +
    +<h2>Release 0.2.0 (2010/01/08)</h2>
    +
    +<h3>New Features</h3>
    +
    +<ul>
    +  <li>Simplified probe data structure reduces memory usage (Trac #47).</li>
    +  <li>Performance test becomes part of the build.</li>
    +  <li>New bundle <code>org.jacoco.agent</code> that provides the Java agent
    +      as a resource (Trac #50).</li>
    +</ul>
    +
    +<h3>Fixed Bugs</h3>
    +
    +<ul>
    +  <li><code>ArrayIndexOutOfBoundsException</code> due to inconsistent processing
    +      while instrumentation and analysis (Trac #44).</li>
    +</ul>
    +
    +<h2>Release 0.1.0 (2009/10/28)</h2>
    +
    +<p>
    +  The very first JaCoCo release.
    +</p>
    +
    +</div>
    +<div class="footer">
    +  <span class="right"><a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.12.202403270442</span>
    +  <a href="license.html">Copyright</a> &copy; 2009, 2024 Mountainminds GmbH &amp; Co. KG and Contributors
    +</div>
    +
    +</body>
    +</html>
    diff --git a/jacoco/trunk/doc/check-mojo.html b/jacoco/trunk/doc/check-mojo.html
    new file mode 100644
    index 00000000000..7b5bbe85b2a
    --- /dev/null
    +++ b/jacoco/trunk/doc/check-mojo.html
    @@ -0,0 +1,590 @@
    +<?xml version="1.0" encoding="UTF-8"?>
    +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
    +<html xmlns="http://www.w3.org/1999/xhtml">
    +    <head>
    +        <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
    +        <link rel="stylesheet" href="resources/doc.css" charset="UTF-8" type="text/css" />
    +        <link rel="shortcut icon" href="resources/report.gif" type="image/gif" />
    +        <title>
    +					JaCoCo -
    +					jacoco:check</title>
    +    </head>
    +    <body>
    +        <div class="breadcrumb">
    +            <a href="../index.html" class="el_report">JaCoCo</a>
    +            					&gt;
    +					
    +            <a href="index.html" class="el_group">Documentation</a>
    +            					&gt;
    +					
    +            <a href="maven.html" class="el_group">Maven</a>
    +            					&gt;
    +					
    +            <span class="el_source">jacoco:check</span>
    +        </div>
    +        <div id="content">
    +                
    +            <h1>jacoco:check</h1>
    +                  
    +            <p>
    +                <b>Full name</b>
    +                :
    +            </p>
    +                  
    +            <p>org.jacoco:jacoco-maven-plugin:0.8.12-SNAPSHOT:check</p>
    +                  
    +            <p>
    +                <b>Description</b>
    +                :
    +            </p>
    +                  
    +            <div>Checks that the code coverage metrics are being met.</div>
    +                  
    +            <p>
    +                <b>Attributes</b>
    +                :
    +            </p>
    +                  
    +            <ul>
    +                        
    +                <li>Requires a Maven project to be executed.</li>
    +                        
    +                <li>The goal is thread-safe and supports parallel builds.</li>
    +                        
    +                <li>
    +                    Since version: 
    +                    <code>0.6.1</code>
    +                    .
    +                </li>
    +                        
    +                <li>
    +                    Binds by default to the 
    +                    <a href="http://maven.apache.org/ref/current/maven-core/lifecycles.html">lifecycle phase</a>
    +                    : 
    +                    <code>verify</code>
    +                    .
    +                </li>
    +                      
    +            </ul>
    +                  
    +            <h2>Required Parameters</h2>
    +                    
    +            <table class="coverage">
    +                <thead>
    +                    <tr>
    +                        <td>Name</td>
    +                        <td>Type</td>
    +                        <td>Since</td>
    +                        <td>Description</td>
    +                    </tr>
    +                </thead>
    +                <tbody>
    +                    <tr>
    +                        <td>
    +                            <code>
    +                                <a href="#haltOnFailure">&lt;haltOnFailure&gt;</a>
    +                            </code>
    +                        </td>
    +                        <td>
    +                            <code>boolean</code>
    +                        </td>
    +                        <td>
    +                            <code>0.6.1</code>
    +                        </td>
    +                        <td>
    +                            Halt the build if any of the checks fail.
    +                            <br />
    +                            <b>Default value is</b>
    +                            : 
    +                            <code>true</code>
    +                            .
    +                            <br />
    +                            <b>User property is</b>
    +                            : 
    +                            <code>jacoco.haltOnFailure</code>
    +                            .
    +                            <br />
    +                        </td>
    +                    </tr>
    +                    <tr>
    +                        <td>
    +                            <code>
    +                                <a href="#rules">&lt;rules&gt;</a>
    +                            </code>
    +                        </td>
    +                        <td>
    +                            <code>List</code>
    +                        </td>
    +                        <td>
    +                            <code>0.6.1</code>
    +                        </td>
    +                        <td>
    +                            <p>Check configuration used to specify rules on element types
    +(BUNDLE, PACKAGE, CLASS, SOURCEFILE or METHOD) with a list of
    +limits. Each limit applies to a certain counter (INSTRUCTION, LINE,
    +BRANCH, COMPLEXITY, METHOD, CLASS) and defines a minimum or maximum
    +for the corresponding value (TOTALCOUNT, COVEREDCOUNT, MISSEDCOUNT,
    +COVEREDRATIO, MISSEDRATIO). If a limit refers to a ratio it must be
    +in the range from 0.0 to 1.0 where the number of decimal places
    +will also determine the precision in error messages. A limit ratio
    +may optionally be declared as a percentage where 0.80 and 80%
    +represent the same value.</p>
    +                            
    +                            <p>If not specified the following defaults are assumed:</p>
    +                            
    +                            <ul>
    +                                
    +                                <li>rule element: BUNDLE</li>
    +                                
    +                                <li>limit counter: INSTRUCTION</li>
    +                                
    +                                <li>limit value: COVEREDRATIO</li>
    +                                
    +                            </ul>
    +                            
    +                            <p>This example requires an overall instruction coverage of 80% and
    +no class must be missed:</p>
    +                            
    +                            <pre>
    +                                
    +                                <code>
    +&lt;rules&gt;
    +  &lt;rule&gt;
    +    &lt;element&gt;BUNDLE&lt;/element&gt;
    +    &lt;limits&gt;
    +      &lt;limit&gt;
    +        &lt;counter&gt;INSTRUCTION&lt;/counter&gt;
    +        &lt;value&gt;COVEREDRATIO&lt;/value&gt;
    +        &lt;minimum&gt;0.80&lt;/minimum&gt;
    +      &lt;/limit&gt;
    +      &lt;limit&gt;
    +        &lt;counter&gt;CLASS&lt;/counter&gt;
    +        &lt;value&gt;MISSEDCOUNT&lt;/value&gt;
    +        &lt;maximum&gt;0&lt;/maximum&gt;
    +      &lt;/limit&gt;
    +    &lt;/limits&gt;
    +  &lt;/rule&gt;
    +&lt;/rules&gt;</code>
    +                                
    +                            </pre>
    +                            
    +                            <p>This example requires a line coverage minimum of 50% for every
    +class except test classes:</p>
    +                            
    +                            <pre>
    +                                
    +                                <code>
    +&lt;rules&gt;
    +  &lt;rule&gt;
    +    &lt;element&gt;CLASS&lt;/element&gt;
    +    &lt;excludes&gt;
    +      &lt;exclude&gt;*Test&lt;/exclude&gt;
    +    &lt;/excludes&gt;
    +    &lt;limits&gt;
    +      &lt;limit&gt;
    +        &lt;counter&gt;LINE&lt;/counter&gt;
    +        &lt;value&gt;COVEREDRATIO&lt;/value&gt;
    +        &lt;minimum&gt;50%&lt;/minimum&gt;
    +      &lt;/limit&gt;
    +    &lt;/limits&gt;
    +  &lt;/rule&gt;
    +&lt;/rules&gt;</code>
    +                                
    +                            </pre>
    +                            <br />
    +                        </td>
    +                    </tr>
    +                </tbody>
    +            </table>
    +                  
    +      
    +            <h2>Optional Parameters</h2>
    +                    
    +            <table class="coverage">
    +                <thead>
    +                    <tr>
    +                        <td>Name</td>
    +                        <td>Type</td>
    +                        <td>Since</td>
    +                        <td>Description</td>
    +                    </tr>
    +                </thead>
    +                <tbody>
    +                    <tr>
    +                        <td>
    +                            <code>
    +                                <a href="#dataFile">&lt;dataFile&gt;</a>
    +                            </code>
    +                        </td>
    +                        <td>
    +                            <code>File</code>
    +                        </td>
    +                        <td>
    +                            <code>0.6.1</code>
    +                        </td>
    +                        <td>
    +                            File with execution data.
    +                            <br />
    +                            <b>Default value is</b>
    +                            : 
    +                            <code>${project.build.directory}/jacoco.exec</code>
    +                            .
    +                            <br />
    +                        </td>
    +                    </tr>
    +                    <tr>
    +                        <td>
    +                            <code>
    +                                <a href="#excludes">&lt;excludes&gt;</a>
    +                            </code>
    +                        </td>
    +                        <td>
    +                            <code>List</code>
    +                        </td>
    +                        <td>
    +                            <code>0.6.1</code>
    +                        </td>
    +                        <td>
    +                            A list of class files to exclude from analysis. May use wildcard
    +characters (* and ?). When not specified nothing will be excluded.
    +                            <br />
    +                        </td>
    +                    </tr>
    +                    <tr>
    +                        <td>
    +                            <code>
    +                                <a href="#includes">&lt;includes&gt;</a>
    +                            </code>
    +                        </td>
    +                        <td>
    +                            <code>List</code>
    +                        </td>
    +                        <td>
    +                            <code>0.6.1</code>
    +                        </td>
    +                        <td>
    +                            A list of class files to include into analysis. May use wildcard
    +characters (* and ?). When not specified everything will be
    +included.
    +                            <br />
    +                        </td>
    +                    </tr>
    +                    <tr>
    +                        <td>
    +                            <code>
    +                                <a href="#skip">&lt;skip&gt;</a>
    +                            </code>
    +                        </td>
    +                        <td>
    +                            <code>boolean</code>
    +                        </td>
    +                        <td>
    +                            <code>0.6.1</code>
    +                        </td>
    +                        <td>
    +                            Flag used to suppress execution.
    +                            <br />
    +                            <b>Default value is</b>
    +                            : 
    +                            <code>false</code>
    +                            .
    +                            <br />
    +                            <b>User property is</b>
    +                            : 
    +                            <code>jacoco.skip</code>
    +                            .
    +                            <br />
    +                        </td>
    +                    </tr>
    +                </tbody>
    +            </table>
    +                  
    +      
    +            <h2>Parameter Details</h2>
    +                    
    +            <b>
    +                <a name="dataFile">&lt;dataFile&gt;</a>
    +            </b>
    +                    
    +            <div>File with execution data.</div>
    +                    
    +            <ul>
    +                          
    +                <li>
    +                    <b>Type</b>
    +                    : 
    +                    <code>java.io.File</code>
    +                </li>
    +                          
    +                <li>
    +                    <b>Since</b>
    +                    : 
    +                    <code>0.6.1</code>
    +                </li>
    +                          
    +                <li>
    +                    <b>Required</b>
    +                    : 
    +                    <code>No</code>
    +                </li>
    +                          
    +                <li>
    +                    <b>Default</b>
    +                    : 
    +                    <code>${project.build.directory}/jacoco.exec</code>
    +                </li>
    +                        
    +            </ul>
    +            <b>
    +                <a name="excludes">&lt;excludes&gt;</a>
    +            </b>
    +                    
    +            <div>A list of class files to exclude from analysis. May use wildcard
    +characters (* and ?). When not specified nothing will be excluded.</div>
    +                    
    +            <ul>
    +                          
    +                <li>
    +                    <b>Type</b>
    +                    : 
    +                    <code>java.util.List</code>
    +                </li>
    +                          
    +                <li>
    +                    <b>Since</b>
    +                    : 
    +                    <code>0.6.1</code>
    +                </li>
    +                          
    +                <li>
    +                    <b>Required</b>
    +                    : 
    +                    <code>No</code>
    +                </li>
    +                        
    +            </ul>
    +            <b>
    +                <a name="haltOnFailure">&lt;haltOnFailure&gt;</a>
    +            </b>
    +                    
    +            <div>Halt the build if any of the checks fail.</div>
    +                    
    +            <ul>
    +                          
    +                <li>
    +                    <b>Type</b>
    +                    : 
    +                    <code>boolean</code>
    +                </li>
    +                          
    +                <li>
    +                    <b>Since</b>
    +                    : 
    +                    <code>0.6.1</code>
    +                </li>
    +                          
    +                <li>
    +                    <b>Required</b>
    +                    : 
    +                    <code>Yes</code>
    +                </li>
    +                          
    +                <li>
    +                    <b>User Property</b>
    +                    : 
    +                    <code>jacoco.haltOnFailure</code>
    +                </li>
    +                          
    +                <li>
    +                    <b>Default</b>
    +                    : 
    +                    <code>true</code>
    +                </li>
    +                        
    +            </ul>
    +            <b>
    +                <a name="includes">&lt;includes&gt;</a>
    +            </b>
    +                    
    +            <div>A list of class files to include into analysis. May use wildcard
    +characters (* and ?). When not specified everything will be
    +included.</div>
    +                    
    +            <ul>
    +                          
    +                <li>
    +                    <b>Type</b>
    +                    : 
    +                    <code>java.util.List</code>
    +                </li>
    +                          
    +                <li>
    +                    <b>Since</b>
    +                    : 
    +                    <code>0.6.1</code>
    +                </li>
    +                          
    +                <li>
    +                    <b>Required</b>
    +                    : 
    +                    <code>No</code>
    +                </li>
    +                        
    +            </ul>
    +            <b>
    +                <a name="rules">&lt;rules&gt;</a>
    +            </b>
    +                    
    +            <div>
    +                <p>Check configuration used to specify rules on element types
    +(BUNDLE, PACKAGE, CLASS, SOURCEFILE or METHOD) with a list of
    +limits. Each limit applies to a certain counter (INSTRUCTION, LINE,
    +BRANCH, COMPLEXITY, METHOD, CLASS) and defines a minimum or maximum
    +for the corresponding value (TOTALCOUNT, COVEREDCOUNT, MISSEDCOUNT,
    +COVEREDRATIO, MISSEDRATIO). If a limit refers to a ratio it must be
    +in the range from 0.0 to 1.0 where the number of decimal places
    +will also determine the precision in error messages. A limit ratio
    +may optionally be declared as a percentage where 0.80 and 80%
    +represent the same value.</p>
    +                
    +                <p>If not specified the following defaults are assumed:</p>
    +                
    +                <ul>
    +                    
    +                    <li>rule element: BUNDLE</li>
    +                    
    +                    <li>limit counter: INSTRUCTION</li>
    +                    
    +                    <li>limit value: COVEREDRATIO</li>
    +                    
    +                </ul>
    +                
    +                <p>This example requires an overall instruction coverage of 80% and
    +no class must be missed:</p>
    +                
    +                <pre>
    +                    
    +                    <code>
    +&lt;rules&gt;
    +  &lt;rule&gt;
    +    &lt;element&gt;BUNDLE&lt;/element&gt;
    +    &lt;limits&gt;
    +      &lt;limit&gt;
    +        &lt;counter&gt;INSTRUCTION&lt;/counter&gt;
    +        &lt;value&gt;COVEREDRATIO&lt;/value&gt;
    +        &lt;minimum&gt;0.80&lt;/minimum&gt;
    +      &lt;/limit&gt;
    +      &lt;limit&gt;
    +        &lt;counter&gt;CLASS&lt;/counter&gt;
    +        &lt;value&gt;MISSEDCOUNT&lt;/value&gt;
    +        &lt;maximum&gt;0&lt;/maximum&gt;
    +      &lt;/limit&gt;
    +    &lt;/limits&gt;
    +  &lt;/rule&gt;
    +&lt;/rules&gt;</code>
    +                    
    +                </pre>
    +                
    +                <p>This example requires a line coverage minimum of 50% for every
    +class except test classes:</p>
    +                
    +                <pre>
    +                    
    +                    <code>
    +&lt;rules&gt;
    +  &lt;rule&gt;
    +    &lt;element&gt;CLASS&lt;/element&gt;
    +    &lt;excludes&gt;
    +      &lt;exclude&gt;*Test&lt;/exclude&gt;
    +    &lt;/excludes&gt;
    +    &lt;limits&gt;
    +      &lt;limit&gt;
    +        &lt;counter&gt;LINE&lt;/counter&gt;
    +        &lt;value&gt;COVEREDRATIO&lt;/value&gt;
    +        &lt;minimum&gt;50%&lt;/minimum&gt;
    +      &lt;/limit&gt;
    +    &lt;/limits&gt;
    +  &lt;/rule&gt;
    +&lt;/rules&gt;</code>
    +                    
    +                </pre>
    +            </div>
    +                    
    +            <ul>
    +                          
    +                <li>
    +                    <b>Type</b>
    +                    : 
    +                    <code>java.util.List</code>
    +                </li>
    +                          
    +                <li>
    +                    <b>Since</b>
    +                    : 
    +                    <code>0.6.1</code>
    +                </li>
    +                          
    +                <li>
    +                    <b>Required</b>
    +                    : 
    +                    <code>Yes</code>
    +                </li>
    +                        
    +            </ul>
    +            <b>
    +                <a name="skip">&lt;skip&gt;</a>
    +            </b>
    +                    
    +            <div>Flag used to suppress execution.</div>
    +                    
    +            <ul>
    +                          
    +                <li>
    +                    <b>Type</b>
    +                    : 
    +                    <code>boolean</code>
    +                </li>
    +                          
    +                <li>
    +                    <b>Since</b>
    +                    : 
    +                    <code>0.6.1</code>
    +                </li>
    +                          
    +                <li>
    +                    <b>Required</b>
    +                    : 
    +                    <code>No</code>
    +                </li>
    +                          
    +                <li>
    +                    <b>User Property</b>
    +                    : 
    +                    <code>jacoco.skip</code>
    +                </li>
    +                          
    +                <li>
    +                    <b>Default</b>
    +                    : 
    +                    <code>false</code>
    +                </li>
    +                        
    +            </ul>
    +                  
    +    
    +  
    +        </div>
    +        <div class="footer">
    +            <span class="right">
    +                <a href="http://www.jacoco.org/jacoco">JaCoCo</a>
    +                						 
    +						0.8.12.202403270442
    +            </span>
    +            <a href="../doc/license.html">Copyright</a>
    +            					©
    +					2009, 2024
    +					Mountainminds GmbH &amp; Co. KG and Contributors
    +				
    +        </div>
    +    </body>
    +</html>
    diff --git a/jacoco/trunk/doc/classids.html b/jacoco/trunk/doc/classids.html
    new file mode 100644
    index 00000000000..5bc0f10f094
    --- /dev/null
    +++ b/jacoco/trunk/doc/classids.html
    @@ -0,0 +1,183 @@
    +<?xml version="1.0" encoding="UTF-8" ?>
    +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
    +<html xmlns="http://www.w3.org/1999/xhtml" lang="en">
    +<head>
    +  <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
    +  <link rel="stylesheet" href="resources/doc.css" charset="UTF-8" type="text/css" />
    +  <link rel="shortcut icon" href="resources/report.gif" type="image/gif" />
    +  <title>JaCoCo - Class Ids</title>
    +</head>
    +<body>
    +
    +<div class="breadcrumb">
    +  <a href="../index.html" class="el_report">JaCoCo</a> &gt;
    +  <a href="index.html" class="el_group">Documentation</a> &gt;
    +  <span class="el_source">Class Ids</span>
    +</div>
    +<div id="content">
    +
    +<h1>Class Ids</h1>
    +
    +<p>
    +  As JaCoCo's class identifiers are sometimes causing confusion this chapter
    +  answers the concepts and common issues with class ids in FAQ style format.
    +</p>
    +
    +<h3>What are class ids and how are they created?</h3>
    +<p>
    +  Class ids are 64-bit integer values, for example
    +  <code>0x638e104737889183</code> in hex notation. Their calculation is
    +  considered an implementation detail of JaCoCo. Currently ids are created with
    +  a CRC64 checksum of the raw class file.
    +</p>
    +
    +<h3>What are class ids used for?</h3>
    +<p>
    +  Class ids are used to unambiguously identify Java classes. At runtime execution
    +  data is sampled for every loaded class and typically stored to
    +  <code>*.exec</code> files. At analysis time &mdash; for example for report
    +  generation &mdash; the class ids are used to relate analyzed classes with the
    +  execution data.
    +</p>
    +
    +<h3>What are the advantages of JaCoCo class ids?</h3>
    +<p>
    +  The concept of class ids allows distinguishing different versions of classes,
    +  for example when multiple versions of an application are deployed to an
    +  application server or different versions of libraries are included.
    +</p>
    +<p>
    +  Also class ids are the prerequisite for JaCoCo's minimal runtime-overhead and
    +  small <code>*.exec</code> files even for very large applications under test.
    +</p>
    +
    +<h3>What is the disadvantage of JaCoCo class ids?</h3>
    +<p>
    +  The fact that class ids identify a specific version of a class causes problems
    +  in setups where different classes are used at runtime and at analysis time.
    +</p>
    +
    +<h3>What happens if different classes are used at runtime and at analysis time?</h3>
    +<p>
    +  In this case execution data cannot be related to the analyzed classes. As a
    +  consequence such classes are reported with 0% coverage.
    +</p>
    +
    +<h3>How can I detect that I have a problem with class ids?</h3>
    +<p>
    +  The typical symptom of class id mismatch is classes not shown as covered
    +  although they have been executed during the test. This situation can be easily
    +  detected e.g. in the HTML report: Open the <i>Sessions</i> page with the link
    +  on the top-right corner. You see a list of all classes where execution data
    +  has been collected for. Find the class in questions and check whether the
    +  entry has a link to the corresponding coverage report page. If the entry is
    +  not linked this means there is a class id mismatch between the class used at
    +  runtime and the class provided to create the report.
    +</p>
    +
    +<h3>What can cause different class ids?</h3>
    +<p>
    +  Class ids are identical for the exact same class file only (byte-by-byte).
    +  There is a couple of reasons why you might get different class files. First
    +  compiling Java source files will result in different class files if you use
    +  a different tool chain:
    +</p>
    +<ul>
    +  <li>Different compiler vendor (e.g. Eclipse vs. Oracle JDK)</li>
    +  <li>Different compiler versions</li>
    +  <li>Different compiler settings (e.g. debug vs. non-debug) </li>
    +</ul>
    +<p>
    +  Also post-processing class files (obfuscation, AspectJ, etc.) will typically
    +  change the class files. JaCoCo will work well if you simply use the same class
    +  files for runtime as well as for analysis. So the tool chain to create these
    +  class files does not matter.
    +</p>
    +<p>
    +  Even if the class files on the file system are the same there is possible that
    +  classes seen by the JaCoCo runtime agent are different anyways. This typically
    +  happens when another Java agent is configured <i>before</i> the JaCoCo agent
    +  or special class loaders pre-process the class files. Typical candidates are:
    +</p>
    +<ul>
    +  <li>Mocking frameworks</li>
    +  <li>Application servers</li>
    +  <li>Persistence frameworks</li>
    +</ul>
    +
    +<h3>What workarounds exist to deal with runtime-modified classes?</h3>
    +<p>
    +  If classes get modified at runtime in your setup there are some workarounds to
    +  make JaCoCo work anyways:
    +</p>
    +<ul>
    +  <li>If you use another Java agent make sure the <a href="agent.html">JaCoCo
    +      agent</a> is specified at first in the command line. This way the JaCoCo
    +      agent should see the original class files.</li>
    +  <li>Specify the <code>classdumpdir</code> option of the
    +      <a href="agent.html">JaCoCo agent</a> and use the dumped classes at report
    +      generation. Note that only loaded classes will be dumped, i.e. classes not
    +      executed at all will not show-up in your report as not covered.</li>
    +  <li>Use <a href="offline.html">offline instrumentation</a> before you run your
    +      tests. This way classes get instrumented by JaCoCo before any runtime
    +      modification can take place. Note that in this case the report has to be
    +      generated with the <i>original</i> classes, not with instrumented ones.</li>
    +</ul>
    +
    +<h3>Why can't JaCoCo simply use the class name to identify classes?</h3>
    +<p>
    +  To understand why JaCoCo can't rely on class names we need to have a look at
    +  the way how JaCoCo measures code coverage.
    +</p>
    +<p>
    +  JaCoCo tracks execution with so called <i>probes</i>. Probes are additional
    +  byte code instructions inserted in the original class file which will note
    +  when they are executed and report this to the JaCoCo runtime. This process is
    +  called <i>instrumentation</i>. To keep the runtime overhead minimal, only a
    +  few probes are inserted at "strategic" places. These probe positions are
    +  determined by <a href="flow.html">analyzing the control flow</a> of all
    +  methods of a class. As a result every instrumented class produces a list of
    +  <code>n</code> boolean flags indicating whether the probe has been executed or
    +  not. A JaCoCo <code>*.exec</code> file simply stores a boolean array per
    +  class id.
    +</p>
    +<p>
    +  At analysis time, for example for report generation, the <code>*.exec</code>
    +  file is used to get information about probe execution status. But as probes
    +  are stored in a plain boolean array there is no information like corresponding
    +  methods or lines. To retrieve this information we need the original class
    +  files and perform the exact same control flow analysis than at instrumentation
    +  time. Because this is a deterministic process we get the same probe positions.
    +  With this information we can now interfere the execution status of every
    +  single instruction and branch of a method. Using the debug information
    +  embedded in the class files we can also calculate line coverage.
    +</p>
    +<p>
    +  If we would use just slightly different classes at analysis time than at
    +  runtime &mdash; e.g. different method ordering or additional branches &mdash;
    +  we would end-up with different probes. For example the probe at index
    +  <code>i</code> would be in method <code>a()</code> and not in method
    +  <code>b()</code>. Obviously this will create random coverage results.
    +</p>
    +
    +<h3>Why do I get an error when I try to analyze multiple versions of the same
    +    class with a group?</h3>
    +<p>
    +  JaCoCo always analyzes a set of class as a group. The group is used to
    +  aggregate data for source files and packages (both can contain multiple
    +  classes). Within the reporting API classes are identified by their fully
    +  qualified name (e.g. to create stable file names in the HTML reports).
    +  Therefore it is not possible to include two different classes with the same
    +  name within a group. Anyhow it is possible to analyze different versions of
    +  class files in separate groups, for example the <a href="ant.html#report">Ant
    +  report task</a> can be configured with multiple groups.
    +</p>
    +
    +</div>
    +<div class="footer">
    +  <span class="right"><a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.12.202403270442</span>
    +  <a href="license.html">Copyright</a> &copy; 2009, 2024 Mountainminds GmbH &amp; Co. KG and Contributors
    +</div>
    +
    +</body>
    +</html>
    diff --git a/jacoco/trunk/doc/cli.html b/jacoco/trunk/doc/cli.html
    new file mode 100644
    index 00000000000..7b31ce39abc
    --- /dev/null
    +++ b/jacoco/trunk/doc/cli.html
    @@ -0,0 +1,465 @@
    +<?xml version="1.0" encoding="UTF-8"?>
    +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
    +<html xmlns="http://www.w3.org/1999/xhtml">
    +    <head>
    +        <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
    +        <link rel="stylesheet" href="resources/doc.css" charset="UTF-8" type="text/css" />
    +        <link rel="shortcut icon" href="resources/report.gif" type="image/gif" />
    +        <title>
    +					JaCoCo - Command Line Interface
    +				</title>
    +    </head>
    +    <body>
    +        <div class="breadcrumb">
    +            <a href="../index.html" class="el_report">JaCoCo</a>
    +             &gt;
    +					
    +            <a href="index.html" class="el_group">Documentation</a>
    +             &gt;
    +					
    +            <span class="el_source">Command Line Interface</span>
    +        </div>
    +        <div id="content">
    +            <h1>Command Line Interface</h1>
    +            <p>
    +                					  JaCoCo comes with a command line interface to perform
    +					  basic operations from the command line. The command line
    +					  tools with all dependencies are packaged in
    +					  
    +                <code>jacococli.jar</code>
    +                 and are available with the
    +					  JaCoCo download. Java 1.5 or greater is required for
    +					  execution.
    +					
    +            </p>
    +            <p>
    +                					  For more sophisticated usage especially with larger
    +					  projects please use our
    +					  
    +                <a href="integrations.html">integrations</a>
    +                 with various
    +					  build tools.
    +					
    +            </p>
    +            <p>
    +					  The following commands are available. Each command has a
    +					  list of optional and required parameters. Some parameters
    +					  can be specified multiple times to provide multiple values.
    +					</p>
    +            <p class="hint">
    +                <b>Warning:</b>
    +                 Although a 
    +                <code>instrument</code>
    +                 command
    +					  is provided the preferred way for code coverage analysis
    +					  with JaCoCo is on-the-fly instrumentation with the
    +					  
    +                <a href="agent.html">JaCoCo agent</a>
    +                . Offline
    +					  instrumentation has several drawbacks and should only be
    +					  used if a specific scenario explicitly requires this mode.
    +					  Please consult 
    +                <a href="offline.html">documentation</a>
    +                					  about offline instrumentation before using this mode.
    +					
    +            </p>
    +            <h2>dump</h2>
    +            <pre class="source" style="white-space: pre-wrap">java -jar jacococli.jar dump [--address &lt;address&gt;] --destfile &lt;path&gt; [--help] [--port &lt;port&gt;] [--quiet] [--reset] [--retry &lt;count&gt;]</pre>
    +            <p>Request execution data from a JaCoCo agent running in 'tcpserver' output mode.</p>
    +            <table class="coverage">
    +                <thead>
    +                    <tr>
    +                        <td>Option</td>
    +                        <td>Description</td>
    +                        <td>Required</td>
    +                        <td>Multiple</td>
    +                    </tr>
    +                </thead>
    +                <tbody>
    +                    <tr>
    +                        <td>
    +                            <code>--address &lt;address&gt;</code>
    +                        </td>
    +                        <td>host name or ip address to connect to (default localhost)</td>
    +                        <td style="text-align:center" />
    +                        <td style="text-align:center" />
    +                    </tr>
    +                    <tr>
    +                        <td>
    +                            <code>--destfile &lt;path&gt;</code>
    +                        </td>
    +                        <td>file to write execution data to</td>
    +                        <td style="text-align:center">◼</td>
    +                        <td style="text-align:center" />
    +                    </tr>
    +                    <tr>
    +                        <td>
    +                            <code>--help</code>
    +                        </td>
    +                        <td>show help</td>
    +                        <td style="text-align:center" />
    +                        <td style="text-align:center" />
    +                    </tr>
    +                    <tr>
    +                        <td>
    +                            <code>--port &lt;port&gt;</code>
    +                        </td>
    +                        <td>the port to connect to (default 6300)</td>
    +                        <td style="text-align:center" />
    +                        <td style="text-align:center" />
    +                    </tr>
    +                    <tr>
    +                        <td>
    +                            <code>--quiet</code>
    +                        </td>
    +                        <td>suppress all output on stdout</td>
    +                        <td style="text-align:center" />
    +                        <td style="text-align:center" />
    +                    </tr>
    +                    <tr>
    +                        <td>
    +                            <code>--reset</code>
    +                        </td>
    +                        <td>reset execution data on test target after dump</td>
    +                        <td style="text-align:center" />
    +                        <td style="text-align:center" />
    +                    </tr>
    +                    <tr>
    +                        <td>
    +                            <code>--retry &lt;count&gt;</code>
    +                        </td>
    +                        <td>number of retries (default 10)</td>
    +                        <td style="text-align:center" />
    +                        <td style="text-align:center" />
    +                    </tr>
    +                </tbody>
    +            </table>
    +            <h2>instrument</h2>
    +            <pre class="source" style="white-space: pre-wrap">java -jar jacococli.jar instrument [&lt;sourcefiles&gt; ...] --dest &lt;dir&gt; [--help] [--quiet]</pre>
    +            <p>Off-line instrumentation of Java class files and JAR files.</p>
    +            <table class="coverage">
    +                <thead>
    +                    <tr>
    +                        <td>Option</td>
    +                        <td>Description</td>
    +                        <td>Required</td>
    +                        <td>Multiple</td>
    +                    </tr>
    +                </thead>
    +                <tbody>
    +                    <tr>
    +                        <td>
    +                            <code>&lt;sourcefiles&gt;</code>
    +                        </td>
    +                        <td>list of folder or files to instrument recusively</td>
    +                        <td style="text-align:center" />
    +                        <td style="text-align:center">◼</td>
    +                    </tr>
    +                    <tr>
    +                        <td>
    +                            <code>--dest &lt;dir&gt;</code>
    +                        </td>
    +                        <td>path to write instrumented Java classes to</td>
    +                        <td style="text-align:center">◼</td>
    +                        <td style="text-align:center" />
    +                    </tr>
    +                    <tr>
    +                        <td>
    +                            <code>--help</code>
    +                        </td>
    +                        <td>show help</td>
    +                        <td style="text-align:center" />
    +                        <td style="text-align:center" />
    +                    </tr>
    +                    <tr>
    +                        <td>
    +                            <code>--quiet</code>
    +                        </td>
    +                        <td>suppress all output on stdout</td>
    +                        <td style="text-align:center" />
    +                        <td style="text-align:center" />
    +                    </tr>
    +                </tbody>
    +            </table>
    +            <h2>merge</h2>
    +            <pre class="source" style="white-space: pre-wrap">java -jar jacococli.jar merge [&lt;execfiles&gt; ...] --destfile &lt;path&gt; [--help] [--quiet]</pre>
    +            <p>Merges multiple exec files into a new one.</p>
    +            <table class="coverage">
    +                <thead>
    +                    <tr>
    +                        <td>Option</td>
    +                        <td>Description</td>
    +                        <td>Required</td>
    +                        <td>Multiple</td>
    +                    </tr>
    +                </thead>
    +                <tbody>
    +                    <tr>
    +                        <td>
    +                            <code>&lt;execfiles&gt;</code>
    +                        </td>
    +                        <td>list of JaCoCo *.exec files to read</td>
    +                        <td style="text-align:center" />
    +                        <td style="text-align:center">◼</td>
    +                    </tr>
    +                    <tr>
    +                        <td>
    +                            <code>--destfile &lt;path&gt;</code>
    +                        </td>
    +                        <td>file to write merged execution data to</td>
    +                        <td style="text-align:center">◼</td>
    +                        <td style="text-align:center" />
    +                    </tr>
    +                    <tr>
    +                        <td>
    +                            <code>--help</code>
    +                        </td>
    +                        <td>show help</td>
    +                        <td style="text-align:center" />
    +                        <td style="text-align:center" />
    +                    </tr>
    +                    <tr>
    +                        <td>
    +                            <code>--quiet</code>
    +                        </td>
    +                        <td>suppress all output on stdout</td>
    +                        <td style="text-align:center" />
    +                        <td style="text-align:center" />
    +                    </tr>
    +                </tbody>
    +            </table>
    +            <h2>report</h2>
    +            <pre class="source" style="white-space: pre-wrap">java -jar jacococli.jar report [&lt;execfiles&gt; ...] --classfiles &lt;path&gt; [--csv &lt;file&gt;] [--encoding &lt;charset&gt;] [--help] [--html &lt;dir&gt;] [--name &lt;name&gt;] [--quiet] [--sourcefiles &lt;path&gt;] [--tabwith &lt;n&gt;] [--xml &lt;file&gt;]</pre>
    +            <p>Generate reports in different formats by reading exec and Java class files.</p>
    +            <table class="coverage">
    +                <thead>
    +                    <tr>
    +                        <td>Option</td>
    +                        <td>Description</td>
    +                        <td>Required</td>
    +                        <td>Multiple</td>
    +                    </tr>
    +                </thead>
    +                <tbody>
    +                    <tr>
    +                        <td>
    +                            <code>&lt;execfiles&gt;</code>
    +                        </td>
    +                        <td>list of JaCoCo *.exec files to read</td>
    +                        <td style="text-align:center" />
    +                        <td style="text-align:center">◼</td>
    +                    </tr>
    +                    <tr>
    +                        <td>
    +                            <code>--classfiles &lt;path&gt;</code>
    +                        </td>
    +                        <td>location of Java class files</td>
    +                        <td style="text-align:center">◼</td>
    +                        <td style="text-align:center">◼</td>
    +                    </tr>
    +                    <tr>
    +                        <td>
    +                            <code>--csv &lt;file&gt;</code>
    +                        </td>
    +                        <td>output file for the CSV report</td>
    +                        <td style="text-align:center" />
    +                        <td style="text-align:center" />
    +                    </tr>
    +                    <tr>
    +                        <td>
    +                            <code>--encoding &lt;charset&gt;</code>
    +                        </td>
    +                        <td>source file encoding (by default platform encoding is used)</td>
    +                        <td style="text-align:center" />
    +                        <td style="text-align:center" />
    +                    </tr>
    +                    <tr>
    +                        <td>
    +                            <code>--help</code>
    +                        </td>
    +                        <td>show help</td>
    +                        <td style="text-align:center" />
    +                        <td style="text-align:center" />
    +                    </tr>
    +                    <tr>
    +                        <td>
    +                            <code>--html &lt;dir&gt;</code>
    +                        </td>
    +                        <td>output directory for the HTML report</td>
    +                        <td style="text-align:center" />
    +                        <td style="text-align:center" />
    +                    </tr>
    +                    <tr>
    +                        <td>
    +                            <code>--name &lt;name&gt;</code>
    +                        </td>
    +                        <td>name used for this report</td>
    +                        <td style="text-align:center" />
    +                        <td style="text-align:center" />
    +                    </tr>
    +                    <tr>
    +                        <td>
    +                            <code>--quiet</code>
    +                        </td>
    +                        <td>suppress all output on stdout</td>
    +                        <td style="text-align:center" />
    +                        <td style="text-align:center" />
    +                    </tr>
    +                    <tr>
    +                        <td>
    +                            <code>--sourcefiles &lt;path&gt;</code>
    +                        </td>
    +                        <td>location of the source files</td>
    +                        <td style="text-align:center" />
    +                        <td style="text-align:center">◼</td>
    +                    </tr>
    +                    <tr>
    +                        <td>
    +                            <code>--tabwith &lt;n&gt;</code>
    +                        </td>
    +                        <td>tab stop width for the source pages (default 4)</td>
    +                        <td style="text-align:center" />
    +                        <td style="text-align:center" />
    +                    </tr>
    +                    <tr>
    +                        <td>
    +                            <code>--xml &lt;file&gt;</code>
    +                        </td>
    +                        <td>output file for the XML report</td>
    +                        <td style="text-align:center" />
    +                        <td style="text-align:center" />
    +                    </tr>
    +                </tbody>
    +            </table>
    +            <h2>classinfo</h2>
    +            <pre class="source" style="white-space: pre-wrap">java -jar jacococli.jar classinfo [&lt;classlocations&gt; ...] [--help] [--quiet] [--verbose]</pre>
    +            <p>Print information about Java class files at the provided location.</p>
    +            <table class="coverage">
    +                <thead>
    +                    <tr>
    +                        <td>Option</td>
    +                        <td>Description</td>
    +                        <td>Required</td>
    +                        <td>Multiple</td>
    +                    </tr>
    +                </thead>
    +                <tbody>
    +                    <tr>
    +                        <td>
    +                            <code>&lt;classlocations&gt;</code>
    +                        </td>
    +                        <td>location of Java class files</td>
    +                        <td style="text-align:center" />
    +                        <td style="text-align:center">◼</td>
    +                    </tr>
    +                    <tr>
    +                        <td>
    +                            <code>--help</code>
    +                        </td>
    +                        <td>show help</td>
    +                        <td style="text-align:center" />
    +                        <td style="text-align:center" />
    +                    </tr>
    +                    <tr>
    +                        <td>
    +                            <code>--quiet</code>
    +                        </td>
    +                        <td>suppress all output on stdout</td>
    +                        <td style="text-align:center" />
    +                        <td style="text-align:center" />
    +                    </tr>
    +                    <tr>
    +                        <td>
    +                            <code>--verbose</code>
    +                        </td>
    +                        <td>show method and line number details</td>
    +                        <td style="text-align:center" />
    +                        <td style="text-align:center" />
    +                    </tr>
    +                </tbody>
    +            </table>
    +            <h2>execinfo</h2>
    +            <pre class="source" style="white-space: pre-wrap">java -jar jacococli.jar execinfo [&lt;execfiles&gt; ...] [--help] [--quiet]</pre>
    +            <p>Print exec file content in human readable format.</p>
    +            <table class="coverage">
    +                <thead>
    +                    <tr>
    +                        <td>Option</td>
    +                        <td>Description</td>
    +                        <td>Required</td>
    +                        <td>Multiple</td>
    +                    </tr>
    +                </thead>
    +                <tbody>
    +                    <tr>
    +                        <td>
    +                            <code>&lt;execfiles&gt;</code>
    +                        </td>
    +                        <td>list of JaCoCo *.exec files to read</td>
    +                        <td style="text-align:center" />
    +                        <td style="text-align:center">◼</td>
    +                    </tr>
    +                    <tr>
    +                        <td>
    +                            <code>--help</code>
    +                        </td>
    +                        <td>show help</td>
    +                        <td style="text-align:center" />
    +                        <td style="text-align:center" />
    +                    </tr>
    +                    <tr>
    +                        <td>
    +                            <code>--quiet</code>
    +                        </td>
    +                        <td>suppress all output on stdout</td>
    +                        <td style="text-align:center" />
    +                        <td style="text-align:center" />
    +                    </tr>
    +                </tbody>
    +            </table>
    +            <h2>version</h2>
    +            <pre class="source" style="white-space: pre-wrap">java -jar jacococli.jar version [--help] [--quiet]</pre>
    +            <p>Print JaCoCo version information.</p>
    +            <table class="coverage">
    +                <thead>
    +                    <tr>
    +                        <td>Option</td>
    +                        <td>Description</td>
    +                        <td>Required</td>
    +                        <td>Multiple</td>
    +                    </tr>
    +                </thead>
    +                <tbody>
    +                    <tr>
    +                        <td>
    +                            <code>--help</code>
    +                        </td>
    +                        <td>show help</td>
    +                        <td style="text-align:center" />
    +                        <td style="text-align:center" />
    +                    </tr>
    +                    <tr>
    +                        <td>
    +                            <code>--quiet</code>
    +                        </td>
    +                        <td>suppress all output on stdout</td>
    +                        <td style="text-align:center" />
    +                        <td style="text-align:center" />
    +                    </tr>
    +                </tbody>
    +            </table>
    +        </div>
    +        <div class="footer">
    +            <span class="right">
    +                <a href="http://www.jacoco.org/jacoco">JaCoCo</a>
    +                						 
    +						0.8.12.202403270442
    +            </span>
    +            <a href="../doc/license.html">Copyright</a>
    +            					©
    +					2009, 2024
    +					Mountainminds GmbH &amp; Co. KG and Contributors
    +				
    +        </div>
    +    </body>
    +</html>
    diff --git a/jacoco/trunk/doc/conventions.html b/jacoco/trunk/doc/conventions.html
    new file mode 100644
    index 00000000000..e55031d1371
    --- /dev/null
    +++ b/jacoco/trunk/doc/conventions.html
    @@ -0,0 +1,180 @@
    +<?xml version="1.0" encoding="UTF-8" ?>
    +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
    +<html xmlns="http://www.w3.org/1999/xhtml" lang="en">
    +<head>
    +  <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
    +  <link rel="stylesheet" href="resources/doc.css" charset="UTF-8" type="text/css" />
    +  <link rel="shortcut icon" href="resources/report.gif" type="image/gif" />
    +  <title>JaCoCo - Development Conventions</title>
    +</head>
    +<body>
    +
    +<div class="breadcrumb">
    +  <a href="../index.html" class="el_report">JaCoCo</a> &gt;
    +  <a href="index.html" class="el_group">Documentation</a> &gt;
    +  <span class="el_source">Development Conventions</span>
    +</div>
    +<div id="content">
    +
    +<h1>Development Conventions</h1>
    +
    +<p>
    +  Efficient team work that produces high-quality software requires a common set
    +  of rules.
    +</p>
    +
    +<h2>Consistent Source Tree</h2>
    +
    +<p>
    +  Follow the existing coding style and formatting rules. The projects contain
    +  auto-formatting rules for the Eclipse IDE.
    +</p>
    +
    +<p>
    +  Update your local branches and run the build locally before every push. Push
    +  only if the build succeeds and the configured compiler settings do not show
    +  any warnings in the Eclipse IDE.
    +</p>
    +
    +<p>
    +  Documentation is part of the product. Whenever you implement a new feature or
    +  change existing behavior make sure to update all corresponding JavaDoc as well
    +  as other documentation with the same change set. The product should always be
    +  in a consistent state. For every change the following items should be checked:
    +</p>
    +
    +<ul>
    +  <li>Corresponding JavaDoc, every public type and member requires JavaDoc.</li>
    +  <li>Documentation referring to the modified concepts, interfaces or
    +    implementation.</li>
    +  <li>New features, bug fixes and modified behavior should be enlisted in the
    +    <code>org.jacoco.doc/docroot/doc/changes.html</code> file together with
    +    the corresponding issue tracker id.</li>
    +</ul>
    +
    +<h2>Design for Integration</h2>
    +
    +<p>
    +  The primary focus of the JaCoCo project is to provide a code coverage library.
    +  Integrators may want to embed JaCoCo in different tools and environments with
    +  very different usage scenarios. Therefore following aspects should be considered:
    +</p>
    +
    +<p>
    +  <b>Documentation:</b> All APIs should be properly documented on different
    +  levels of granularity:
    +</p>
    +
    +<ul>
    +  <li>General usage</li>
    +  <li>Bundle summary</li>
    +  <li>Package summary</li>
    +  <li>Type description</li>
    +  <li>Member description</li>
    +</ul>
    +
    +<p>
    +  <b>Proper Units:</b> All APIs and internal implementation classes should form proper
    +  units with well defined responsibilities and dependencies. Each class and method
    +  should focus on a single concept. It should be possible to use different aspects
    +  separately.
    +</p>
    +
    +<p>
    +  <b>Abstraction:</b> All APIs must  use the most general abstractions possible. For instance
    +  reading binary data should rely on the <code>java.io.InputStream</code> interface, not
    +  on a <code>java.io.File</code> object.
    +</p>
    +
    +<p>
    +  <b>System Dependencies:</b> Avoid any dependencies to the local file system, network
    +  resources, threads, processes etc.
    +</p>
    +
    +<h2>Test Driven Development</h2>
    +
    +<p>
    +  All code added to JaCoCo should have corresponding JUnit test cases. Ideally tests
    +  are developed before or along with the actual implementation:
    +</p>
    +
    +<ul>
    +  <li>Every new feature should be verified by test cases.</li>
    +  <li>Modified behavior should also be reflected by test cases.</li>
    +  <li>Ideally for every reported bug a reproducer is added to the unit tests.</li>
    +</ul>
    +
    +<h2>Keep an Eye on License Issues</h2>
    +
    +<p>
    +  All code included with JaCoCo must conform to the EPL license.
    +</p>
    +
    +<ul>
    +  <li>
    +    Every committer and contributor must agree that all code will be published
    +    under EPL. He or she must be the original author and must have the
    +    permission to contribute code to JaCoCo, for example if such a permission
    +    is required by the employer.
    +  </li>
    +  <li>
    +    Every third party content must be enlisted in the corresponding
    +    <code>about.html</code> file along with its license.
    +  </li>
    +  <li>
    +    Every third party content included with the JaCoCo distribution must be
    +    enlisted in the <code>org.jacoco.doc/docroot/doc/license.html</code> file
    +    and the corresponding <code>about.html</code> file along with its license.
    +  </li>
    +  <li>
    +    Every source file (Java, Build Script, DTD) must have a
    +    <a href="http://www.eclipse.org/legal/copyrightandlicensenotice.php">EPL
    +    license notice</a>. The initial contributor should be listed. In case of
    +    significant changes or additions additional contributors should also
    +    be listed.
    +  </li>
    +</ul>
    +
    +<h2>Contribution process</h2>
    +
    +<p>
    +  All changes on the JaCoCo code base are handled via
    +  <a href="https://github.com/jacoco/jacoco/pulls">GitHub pull requests</a> and
    +  always reviewed by a second developer. This applies for external contributors
    +  as well as for project members. Beside functional correctness every pull
    +  request needs to fulfill the conventions above.
    +</p>
    +
    +<p>
    +  For external contributors the following recommendations will help the project
    +  to incorporate their precious work:
    +</p>
    +
    +<ul>
    +  <li>
    +    <b>Get in touch</b>: Before you start a bigger contribution
    +    please get in touch through our <a href="support.html">mailing list</a> to
    +    make sure the JaCoCo project considers this in scope and the approach fits
    +    in the overall architecture.
    +  </li>
    +  <li>
    +    <b>Clear scope</b>: We track and review every semantical change through a
    +    separate pull request. Pull requests handling various topics ("I fixed this
    +    and that") are typically difficult in handling and are therefore declined.
    +  </li>
    +  <li>
    +    <b>No technical debt</b>: We are committed to maintain JaCoCo in the long
    +    run with on a high quality level. Therefore we will not accept contributions
    +    as long as they add technical debt to the project (e.g. lack of tests or
    +    design issues).
    +  </li>
    +</ul>
    +
    +</div>
    +<div class="footer">
    +  <span class="right"><a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.12.202403270442</span>
    +  <a href="license.html">Copyright</a> &copy; 2009, 2024 Mountainminds GmbH &amp; Co. KG and Contributors
    +</div>
    +
    +</body>
    +</html>
    diff --git a/jacoco/trunk/doc/counters.html b/jacoco/trunk/doc/counters.html
    new file mode 100644
    index 00000000000..cc3142c42ef
    --- /dev/null
    +++ b/jacoco/trunk/doc/counters.html
    @@ -0,0 +1,174 @@
    +<?xml version="1.0" encoding="UTF-8" ?>
    +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
    +<html xmlns="http://www.w3.org/1999/xhtml" lang="en">
    +<head>
    +  <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
    +  <link rel="stylesheet" href="resources/doc.css" charset="UTF-8" type="text/css" />
    +  <link rel="shortcut icon" href="resources/report.gif" type="image/gif" />
    +  <title>JaCoCo - Coverage Counter</title>
    +</head>
    +<body>
    +
    +<div class="breadcrumb">
    +  <a href="../index.html" class="el_report">JaCoCo</a> &gt;
    +  <a href="index.html" class="el_group">Documentation</a> &gt;
    +  <span class="el_source">Coverage Counters</span>
    +</div>
    +<div id="content">
    +
    +<h1>Coverage Counters</h1>
    +
    +<p>
    +  JaCoCo uses a set of different counters to calculate coverage metrics. All
    +  these counters are derived from information contained in Java class files
    +  which basically are Java byte code instructions and debug information
    +  optionally embedded in class files. This approach allows efficient on-the-fly
    +  instrumentation and analysis of applications even when no source code is
    +  available. In most cases the collected information can be mapped back to
    +  source code and visualized down to line level granularity. Anyhow there are
    +  limitations to this approach. The class files have to be compiled with debug
    +  information to calculate line level coverage and provide source highlighting.
    +  Not all Java language constructs can be directly compiled to corresponding
    +  byte code. In such cases the Java compiler creates so called <i>synthetic</i>
    +  code which sometimes results in unexpected code coverage results.
    +</p>
    +
    +<h2>Instructions (C0 Coverage)</h2>
    +
    +<p>
    +  The smallest unit JaCoCo counts are single Java byte code instructions.
    +  <i>Instruction coverage</i> provides information about the amount of code that
    +  has been executed or missed. This metric is completely independent from source
    +  formatting and always available, even in absence of debug information in the
    +  class files.
    +</p>
    +
    +<h2>Branches (C1 Coverage)</h2>
    +
    +<p>
    +  JaCoCo also calculates <i>branch coverage</i> for all <code>if</code> and
    +  <code>switch</code> statements. This metric counts the total number of such
    +  branches in a method and determines the number of executed or missed branches.
    +  Branch coverage is always available, even in absence of debug information in
    +  the class files. Note that exception handling is not considered as branches
    +  in the context of this counter definition.
    +</p>
    +
    +<p>
    +  If the class files haven been compiled with debug information decision points
    +  can be mapped to source lines and highlighted accordingly:
    +</p>
    +
    +<ul>
    +  <li>No coverage: No branches in the line has been executed (red diamond)</li>
    +  <li>Partial coverage: Only a part of the branches in the line have been
    +      executed (yellow diamond)</li>
    +  <li>Full coverage: All branches in the line have been executed (green diamond)</li>
    +</ul>
    +
    +<h2>Cyclomatic Complexity</h2>
    +
    +<p>
    +  JaCoCo also calculates cyclomatic complexity for each non-abstract method and
    +  summarizes complexity for classes, packages and groups. According to its
    +  definition by
    +  <a href="http://hissa.nist.gov/HHRFdata/Artifacts/ITLdoc/235/title.htm">McCabe1996</a>
    +  cyclomatic complexity is the minimum number of paths that can, in (linear)
    +  combination, generate all possible paths through a method. Thus the
    +  complexity value can serve as an indication for the number of unit test cases
    +  to fully cover a certain piece of software. Complexity figures can always be
    +  calculated, even in absence of debug information in the class files.
    +</p>
    +
    +<p>
    +  The formal definition of the cyclomatic complexity v(G) is based on the
    +  representation of a method's control flow graph as a directed graph:
    +</p>
    +
    +<blockquote>
    +  <p>
    +  v(G) = E - N + 2
    +  </p>
    +</blockquote>
    +
    +<p>
    +  Where E is the number of edges and N the number of nodes. JaCoCo calculates
    +  cyclomatic complexity of a method with the following equivalent equation based
    +  on the number of branches (B) and the number of decision points (D):
    +</p>
    +
    +<blockquote>
    +  <p>
    +  v(G) = B - D + 1
    +  </p>
    +</blockquote>
    +
    +<p>
    +  Based on the coverage status of each branch JaCoCo also calculates covered and
    +  missed complexity for each method. Missed complexity again is an indication
    +  for the number of test cases missing to fully cover a module. Note that as
    +  JaCoCo does not consider exception handling as branches try/catch blocks will
    +  also not increase complexity.
    +</p>
    +
    +<h2>Lines</h2>
    +
    +<p>
    +  For all class files that have been compiled with debug information, coverage
    +  information for individual lines can be calculated. A source line is
    +  considered executed when at least one instruction that is assigned to this
    +  line has been executed.
    +</p>
    +
    +<p>
    +  Due to the fact that a single line typically compiles to multiple byte code
    +  instructions the source code highlighting shows three different status for
    +  each line containing source code:
    +</p>
    +
    +<ul>
    +  <li>No coverage: No instruction in the line has been executed (red
    +      background)</li>
    +  <li>Partial coverage: Only a part of the instruction in the line have been
    +      executed (yellow background)</li>
    +  <li>Full coverage: All instructions in the line have been executed (green
    +      background)</li>
    +</ul>
    +
    +<p>
    +  Depending on source formatting a single line of a source code may refer to
    +  multiple methods or multiple classes. Therefore the line count of methods
    +  cannot be simply added to obtain the total number for the containing class.
    +  The same holds true for the lines of multiple classes within a single source
    +  file. JaCoCo calculates line coverage for classes and source file based on the
    +  actual source lines covered.
    +</p>
    +
    +<h2>Methods</h2>
    +
    +<p>
    +  Each non-abstract method contains at least one instruction. A method is
    +  considered as executed when at least one instruction has been executed. As
    +  JaCoCo works on byte code level also constructors and static initializers are
    +  counted as methods. Some of these methods may not have a direct correspondence
    +  in Java source code, like implicit and thus generated default constructors or
    +  initializers for constants.
    +</p>
    +
    +<h2>Classes</h2>
    +
    +<p>
    +  A class is considered as executed when at least one of its methods has been
    +  executed. Note that JaCoCo considers constructors as well as static
    +  initializers as methods. As Java interface types may contain static
    +  initializers such interfaces are also considered as executable classes.
    +</p>
    +
    +</div>
    +<div class="footer">
    +  <span class="right"><a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.12.202403270442</span>
    +  <a href="license.html">Copyright</a> &copy; 2009, 2024 Mountainminds GmbH &amp; Co. KG and Contributors
    +</div>
    +
    +</body>
    +</html>
    diff --git a/jacoco/trunk/doc/dump-mojo.html b/jacoco/trunk/doc/dump-mojo.html
    new file mode 100644
    index 00000000000..8191c3f6fa6
    --- /dev/null
    +++ b/jacoco/trunk/doc/dump-mojo.html
    @@ -0,0 +1,649 @@
    +<?xml version="1.0" encoding="UTF-8"?>
    +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
    +<html xmlns="http://www.w3.org/1999/xhtml">
    +    <head>
    +        <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
    +        <link rel="stylesheet" href="resources/doc.css" charset="UTF-8" type="text/css" />
    +        <link rel="shortcut icon" href="resources/report.gif" type="image/gif" />
    +        <title>
    +					JaCoCo -
    +					jacoco:dump</title>
    +    </head>
    +    <body>
    +        <div class="breadcrumb">
    +            <a href="../index.html" class="el_report">JaCoCo</a>
    +            					&gt;
    +					
    +            <a href="index.html" class="el_group">Documentation</a>
    +            					&gt;
    +					
    +            <a href="maven.html" class="el_group">Maven</a>
    +            					&gt;
    +					
    +            <span class="el_source">jacoco:dump</span>
    +        </div>
    +        <div id="content">
    +                
    +            <h1>jacoco:dump</h1>
    +                  
    +            <p>
    +                <b>Full name</b>
    +                :
    +            </p>
    +                  
    +            <p>org.jacoco:jacoco-maven-plugin:0.8.12-SNAPSHOT:dump</p>
    +                  
    +            <p>
    +                <b>Description</b>
    +                :
    +            </p>
    +                  
    +            <div>
    +                <p>
    +                    Request a dump over TCP/IP from a JaCoCo agent running in
    +
    +                    <code>tcpserver</code>
    +                     mode.
    +                </p>
    +                
    +                <p>Note concerning parallel builds: While the dump goal as such is
    +thread safe, it has to be considered that TCP/IP server ports of
    +the agents are a shared resource.</p>
    +            </div>
    +                  
    +            <p>
    +                <b>Attributes</b>
    +                :
    +            </p>
    +                  
    +            <ul>
    +                        
    +                <li>Requires a Maven project to be executed.</li>
    +                        
    +                <li>The goal is thread-safe and supports parallel builds.</li>
    +                        
    +                <li>
    +                    Since version: 
    +                    <code>0.6.4</code>
    +                    .
    +                </li>
    +                        
    +                <li>
    +                    Binds by default to the 
    +                    <a href="http://maven.apache.org/ref/current/maven-core/lifecycles.html">lifecycle phase</a>
    +                    : 
    +                    <code>post-integration-test</code>
    +                    .
    +                </li>
    +                      
    +            </ul>
    +                  
    +            <h2>Optional Parameters</h2>
    +                    
    +            <table class="coverage">
    +                <thead>
    +                    <tr>
    +                        <td>Name</td>
    +                        <td>Type</td>
    +                        <td>Since</td>
    +                        <td>Description</td>
    +                    </tr>
    +                </thead>
    +                <tbody>
    +                    <tr>
    +                        <td>
    +                            <code>
    +                                <a href="#address">&lt;address&gt;</a>
    +                            </code>
    +                        </td>
    +                        <td>
    +                            <code>String</code>
    +                        </td>
    +                        <td>
    +                            <code>0.6.4</code>
    +                        </td>
    +                        <td>
    +                            IP address or hostname to connect to.
    +                            <br />
    +                            <b>User property is</b>
    +                            : 
    +                            <code>jacoco.address</code>
    +                            .
    +                            <br />
    +                        </td>
    +                    </tr>
    +                    <tr>
    +                        <td>
    +                            <code>
    +                                <a href="#append">&lt;append&gt;</a>
    +                            </code>
    +                        </td>
    +                        <td>
    +                            <code>boolean</code>
    +                        </td>
    +                        <td>
    +                            <code>0.6.4</code>
    +                        </td>
    +                        <td>
    +                            If set to true and the execution data file already exists, coverage
    +data is appended to the existing file. If set to false, an existing
    +execution data file will be replaced.
    +                            <br />
    +                            <b>Default value is</b>
    +                            : 
    +                            <code>true</code>
    +                            .
    +                            <br />
    +                            <b>User property is</b>
    +                            : 
    +                            <code>jacoco.append</code>
    +                            .
    +                            <br />
    +                        </td>
    +                    </tr>
    +                    <tr>
    +                        <td>
    +                            <code>
    +                                <a href="#destFile">&lt;destFile&gt;</a>
    +                            </code>
    +                        </td>
    +                        <td>
    +                            <code>File</code>
    +                        </td>
    +                        <td>
    +                            <code>0.6.4</code>
    +                        </td>
    +                        <td>
    +                            Path to the output file for execution data.
    +                            <br />
    +                            <b>Default value is</b>
    +                            : 
    +                            <code>${project.build.directory}/jacoco.exec</code>
    +                            .
    +                            <br />
    +                            <b>User property is</b>
    +                            : 
    +                            <code>jacoco.destFile</code>
    +                            .
    +                            <br />
    +                        </td>
    +                    </tr>
    +                    <tr>
    +                        <td>
    +                            <code>
    +                                <a href="#dump">&lt;dump&gt;</a>
    +                            </code>
    +                        </td>
    +                        <td>
    +                            <code>boolean</code>
    +                        </td>
    +                        <td>
    +                            <code>0.6.4</code>
    +                        </td>
    +                        <td>
    +                            Sets whether execution data should be downloaded from the remote
    +host.
    +                            <br />
    +                            <b>Default value is</b>
    +                            : 
    +                            <code>true</code>
    +                            .
    +                            <br />
    +                            <b>User property is</b>
    +                            : 
    +                            <code>jacoco.dump</code>
    +                            .
    +                            <br />
    +                        </td>
    +                    </tr>
    +                    <tr>
    +                        <td>
    +                            <code>
    +                                <a href="#port">&lt;port&gt;</a>
    +                            </code>
    +                        </td>
    +                        <td>
    +                            <code>int</code>
    +                        </td>
    +                        <td>
    +                            <code>0.6.4</code>
    +                        </td>
    +                        <td>
    +                            Port number to connect to. If multiple JaCoCo agents should run on
    +the same machine, different ports have to be specified for the
    +agents.
    +                            <br />
    +                            <b>Default value is</b>
    +                            : 
    +                            <code>6300</code>
    +                            .
    +                            <br />
    +                            <b>User property is</b>
    +                            : 
    +                            <code>jacoco.port</code>
    +                            .
    +                            <br />
    +                        </td>
    +                    </tr>
    +                    <tr>
    +                        <td>
    +                            <code>
    +                                <a href="#reset">&lt;reset&gt;</a>
    +                            </code>
    +                        </td>
    +                        <td>
    +                            <code>boolean</code>
    +                        </td>
    +                        <td>
    +                            <code>0.6.4</code>
    +                        </td>
    +                        <td>
    +                            Sets whether a reset command should be sent after the execution
    +data has been dumped.
    +                            <br />
    +                            <b>Default value is</b>
    +                            : 
    +                            <code>false</code>
    +                            .
    +                            <br />
    +                            <b>User property is</b>
    +                            : 
    +                            <code>jacoco.reset</code>
    +                            .
    +                            <br />
    +                        </td>
    +                    </tr>
    +                    <tr>
    +                        <td>
    +                            <code>
    +                                <a href="#retryCount">&lt;retryCount&gt;</a>
    +                            </code>
    +                        </td>
    +                        <td>
    +                            <code>int</code>
    +                        </td>
    +                        <td>
    +                            <code>0.6.4</code>
    +                        </td>
    +                        <td>
    +                            Number of retries which the goal will attempt to establish a
    +connection. This can be used to wait until the target JVM is
    +successfully launched.
    +                            <br />
    +                            <b>Default value is</b>
    +                            : 
    +                            <code>10</code>
    +                            .
    +                            <br />
    +                            <b>User property is</b>
    +                            : 
    +                            <code>jacoco.retryCount</code>
    +                            .
    +                            <br />
    +                        </td>
    +                    </tr>
    +                    <tr>
    +                        <td>
    +                            <code>
    +                                <a href="#skip">&lt;skip&gt;</a>
    +                            </code>
    +                        </td>
    +                        <td>
    +                            <code>boolean</code>
    +                        </td>
    +                        <td>
    +                            <code>0.6.4</code>
    +                        </td>
    +                        <td>
    +                            Flag used to suppress execution.
    +                            <br />
    +                            <b>Default value is</b>
    +                            : 
    +                            <code>false</code>
    +                            .
    +                            <br />
    +                            <b>User property is</b>
    +                            : 
    +                            <code>jacoco.skip</code>
    +                            .
    +                            <br />
    +                        </td>
    +                    </tr>
    +                </tbody>
    +            </table>
    +                  
    +      
    +            <h2>Parameter Details</h2>
    +                    
    +            <b>
    +                <a name="address">&lt;address&gt;</a>
    +            </b>
    +                    
    +            <div>IP address or hostname to connect to.</div>
    +                    
    +            <ul>
    +                          
    +                <li>
    +                    <b>Type</b>
    +                    : 
    +                    <code>java.lang.String</code>
    +                </li>
    +                          
    +                <li>
    +                    <b>Since</b>
    +                    : 
    +                    <code>0.6.4</code>
    +                </li>
    +                          
    +                <li>
    +                    <b>Required</b>
    +                    : 
    +                    <code>No</code>
    +                </li>
    +                          
    +                <li>
    +                    <b>User Property</b>
    +                    : 
    +                    <code>jacoco.address</code>
    +                </li>
    +                        
    +            </ul>
    +            <b>
    +                <a name="append">&lt;append&gt;</a>
    +            </b>
    +                    
    +            <div>If set to true and the execution data file already exists, coverage
    +data is appended to the existing file. If set to false, an existing
    +execution data file will be replaced.</div>
    +                    
    +            <ul>
    +                          
    +                <li>
    +                    <b>Type</b>
    +                    : 
    +                    <code>boolean</code>
    +                </li>
    +                          
    +                <li>
    +                    <b>Since</b>
    +                    : 
    +                    <code>0.6.4</code>
    +                </li>
    +                          
    +                <li>
    +                    <b>Required</b>
    +                    : 
    +                    <code>No</code>
    +                </li>
    +                          
    +                <li>
    +                    <b>User Property</b>
    +                    : 
    +                    <code>jacoco.append</code>
    +                </li>
    +                          
    +                <li>
    +                    <b>Default</b>
    +                    : 
    +                    <code>true</code>
    +                </li>
    +                        
    +            </ul>
    +            <b>
    +                <a name="destFile">&lt;destFile&gt;</a>
    +            </b>
    +                    
    +            <div>Path to the output file for execution data.</div>
    +                    
    +            <ul>
    +                          
    +                <li>
    +                    <b>Type</b>
    +                    : 
    +                    <code>java.io.File</code>
    +                </li>
    +                          
    +                <li>
    +                    <b>Since</b>
    +                    : 
    +                    <code>0.6.4</code>
    +                </li>
    +                          
    +                <li>
    +                    <b>Required</b>
    +                    : 
    +                    <code>No</code>
    +                </li>
    +                          
    +                <li>
    +                    <b>User Property</b>
    +                    : 
    +                    <code>jacoco.destFile</code>
    +                </li>
    +                          
    +                <li>
    +                    <b>Default</b>
    +                    : 
    +                    <code>${project.build.directory}/jacoco.exec</code>
    +                </li>
    +                        
    +            </ul>
    +            <b>
    +                <a name="dump">&lt;dump&gt;</a>
    +            </b>
    +                    
    +            <div>Sets whether execution data should be downloaded from the remote
    +host.</div>
    +                    
    +            <ul>
    +                          
    +                <li>
    +                    <b>Type</b>
    +                    : 
    +                    <code>boolean</code>
    +                </li>
    +                          
    +                <li>
    +                    <b>Since</b>
    +                    : 
    +                    <code>0.6.4</code>
    +                </li>
    +                          
    +                <li>
    +                    <b>Required</b>
    +                    : 
    +                    <code>No</code>
    +                </li>
    +                          
    +                <li>
    +                    <b>User Property</b>
    +                    : 
    +                    <code>jacoco.dump</code>
    +                </li>
    +                          
    +                <li>
    +                    <b>Default</b>
    +                    : 
    +                    <code>true</code>
    +                </li>
    +                        
    +            </ul>
    +            <b>
    +                <a name="port">&lt;port&gt;</a>
    +            </b>
    +                    
    +            <div>Port number to connect to. If multiple JaCoCo agents should run on
    +the same machine, different ports have to be specified for the
    +agents.</div>
    +                    
    +            <ul>
    +                          
    +                <li>
    +                    <b>Type</b>
    +                    : 
    +                    <code>int</code>
    +                </li>
    +                          
    +                <li>
    +                    <b>Since</b>
    +                    : 
    +                    <code>0.6.4</code>
    +                </li>
    +                          
    +                <li>
    +                    <b>Required</b>
    +                    : 
    +                    <code>No</code>
    +                </li>
    +                          
    +                <li>
    +                    <b>User Property</b>
    +                    : 
    +                    <code>jacoco.port</code>
    +                </li>
    +                          
    +                <li>
    +                    <b>Default</b>
    +                    : 
    +                    <code>6300</code>
    +                </li>
    +                        
    +            </ul>
    +            <b>
    +                <a name="reset">&lt;reset&gt;</a>
    +            </b>
    +                    
    +            <div>Sets whether a reset command should be sent after the execution
    +data has been dumped.</div>
    +                    
    +            <ul>
    +                          
    +                <li>
    +                    <b>Type</b>
    +                    : 
    +                    <code>boolean</code>
    +                </li>
    +                          
    +                <li>
    +                    <b>Since</b>
    +                    : 
    +                    <code>0.6.4</code>
    +                </li>
    +                          
    +                <li>
    +                    <b>Required</b>
    +                    : 
    +                    <code>No</code>
    +                </li>
    +                          
    +                <li>
    +                    <b>User Property</b>
    +                    : 
    +                    <code>jacoco.reset</code>
    +                </li>
    +                          
    +                <li>
    +                    <b>Default</b>
    +                    : 
    +                    <code>false</code>
    +                </li>
    +                        
    +            </ul>
    +            <b>
    +                <a name="retryCount">&lt;retryCount&gt;</a>
    +            </b>
    +                    
    +            <div>Number of retries which the goal will attempt to establish a
    +connection. This can be used to wait until the target JVM is
    +successfully launched.</div>
    +                    
    +            <ul>
    +                          
    +                <li>
    +                    <b>Type</b>
    +                    : 
    +                    <code>int</code>
    +                </li>
    +                          
    +                <li>
    +                    <b>Since</b>
    +                    : 
    +                    <code>0.6.4</code>
    +                </li>
    +                          
    +                <li>
    +                    <b>Required</b>
    +                    : 
    +                    <code>No</code>
    +                </li>
    +                          
    +                <li>
    +                    <b>User Property</b>
    +                    : 
    +                    <code>jacoco.retryCount</code>
    +                </li>
    +                          
    +                <li>
    +                    <b>Default</b>
    +                    : 
    +                    <code>10</code>
    +                </li>
    +                        
    +            </ul>
    +            <b>
    +                <a name="skip">&lt;skip&gt;</a>
    +            </b>
    +                    
    +            <div>Flag used to suppress execution.</div>
    +                    
    +            <ul>
    +                          
    +                <li>
    +                    <b>Type</b>
    +                    : 
    +                    <code>boolean</code>
    +                </li>
    +                          
    +                <li>
    +                    <b>Since</b>
    +                    : 
    +                    <code>0.6.4</code>
    +                </li>
    +                          
    +                <li>
    +                    <b>Required</b>
    +                    : 
    +                    <code>No</code>
    +                </li>
    +                          
    +                <li>
    +                    <b>User Property</b>
    +                    : 
    +                    <code>jacoco.skip</code>
    +                </li>
    +                          
    +                <li>
    +                    <b>Default</b>
    +                    : 
    +                    <code>false</code>
    +                </li>
    +                        
    +            </ul>
    +                  
    +    
    +  
    +        </div>
    +        <div class="footer">
    +            <span class="right">
    +                <a href="http://www.jacoco.org/jacoco">JaCoCo</a>
    +                						 
    +						0.8.12.202403270442
    +            </span>
    +            <a href="../doc/license.html">Copyright</a>
    +            					©
    +					2009, 2024
    +					Mountainminds GmbH &amp; Co. KG and Contributors
    +				
    +        </div>
    +    </body>
    +</html>
    diff --git a/jacoco/trunk/doc/empty.html b/jacoco/trunk/doc/empty.html
    new file mode 100644
    index 00000000000..1de81e5776c
    --- /dev/null
    +++ b/jacoco/trunk/doc/empty.html
    @@ -0,0 +1,31 @@
    +<?xml version="1.0" encoding="UTF-8" ?>
    +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
    +<html xmlns="http://www.w3.org/1999/xhtml" lang="en">
    +<head>
    +  <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
    +  <link rel="stylesheet" href="resources/doc.css" charset="UTF-8" type="text/css" />
    +  <link rel="shortcut icon" href="resources/report.gif" type="image/gif" />
    +  <title>JaCoCo - XXX TITLE XXX</title>
    +</head>
    +<body>
    +
    +<div class="breadcrumb">
    +  <a href="../index.html" class="el_report">JaCoCo</a> &gt;
    +  <span class="el_source">Title</span>
    +</div>
    +<div id="content">
    +
    +<h1>Title</h1>
    +
    +<p>
    +  Text
    +</p>
    +
    +</div>
    +<div class="footer">
    +  <span class="right"><a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.12.202403270442</span>
    +  <a href="license.html">Copyright</a> &copy; 2009, 2024 Mountainminds GmbH &amp; Co. KG and Contributors
    +</div>
    +
    +</body>
    +</html>
    diff --git a/jacoco/trunk/doc/environment.html b/jacoco/trunk/doc/environment.html
    new file mode 100644
    index 00000000000..18304dc7e2f
    --- /dev/null
    +++ b/jacoco/trunk/doc/environment.html
    @@ -0,0 +1,140 @@
    +<?xml version="1.0" encoding="UTF-8" ?>
    +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
    +<html xmlns="http://www.w3.org/1999/xhtml" lang="en">
    +<head>
    +  <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
    +  <link rel="stylesheet" href="resources/doc.css" charset="UTF-8" type="text/css" />
    +  <link rel="shortcut icon" href="resources/report.gif" type="image/gif" />
    +  <title>JaCoCo - Development Environment</title>
    +</head>
    +<body>
    +
    +<div class="breadcrumb">
    +  <a href="../index.html" class="el_report">JaCoCo</a> &gt;
    +  <a href="index.html" class="el_group">Documentation</a> &gt;
    +  <span class="el_source">Development Environment</span>
    +</div>
    +<div id="content">
    +
    +<h1>Development Environment</h1>
    +
    +<h2>Project Hosting</h2>
    +
    +<p>
    +  The JaCoCo project is hosted on
    +  <a href="https://github.com/jacoco/jacoco">GitHub</a> and can be cloned from
    +  this URL:
    +</p>
    +
    +<pre>
    +  https://github.com/jacoco/jacoco.git
    +</pre>
    +
    +<p>
    +  We also track all
    +  <a href="https://github.com/jacoco/jacoco/issues">issues</a> and
    +  <a href="https://github.com/jacoco/jacoco/pulls">pull requests</a>
    +  on the GitHub project.
    +</p>
    +
    +
    +<h3>IDE</h3>
    +
    +<p>
    +  JaCoCo development is done with the latest version of
    +  <a href="http://www.eclipse.org/">Eclipse</a>. Please make sure to install
    +  the <a href="http://www.eclipse.org/m2e/">m2e plug-in</a> to get all
    +  dependencies resolved properly. The source tree is organized as a list of
    +  Eclipse projects that can be imported in a Eclipse workspace.
    +</p>
    +
    +<p>
    +  Project specific Eclipse settings only exist for the following projects. All
    +  other projects and test projects link to these settings:
    +</p>
    +
    +<ul>
    +  <li><code>org.jacoco.core</code></li>
    +  <li><code>org.jacoco.core.test</code></li>
    +</ul>
    +
    +<p>
    +  These settings specify various compiler warnings and the standard Eclipse
    +  source formatting rules.
    +</p>
    +
    +<h3>JRE/JDK</h3>
    +
    +<p>
    +  The minimum supported JRE version for JaCoCo is Java 5. To guarantee
    +  compatibility JaCoCo release builds should always be executed using JDK 5.
    +  In addition we run builds with 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17
    +  18, 19, 20, 21 and 22 JDKs.
    +</p>
    +
    +<h3>Build</h3>
    +
    +<p>
    +  The JaCoCo build is based on <a href="http://maven.apache.org/">Maven</a>
    +  and requires at least Maven 3.5.4 and JDK 17.
    +  See the <a href="build.html">build description</a> for details.
    +</p>
    +
    +<h3>Continuous Integration</h3>
    +
    +<p>
    +  We have a list of CI tools directly integrated with our source repository:
    +</p>
    +
    +<ul>
    +  <li><a href="https://github.com/jacoco/jacoco/actions">GitHub Actions</a></li>
    +  <li><a href="https://dev.azure.com/JaCoCo-org/JaCoCo/_build">Azure Pipelines</a></li>
    +</ul>
    +
    +<p>
    +  CI builds run for master and every pull request.
    +</p>
    +
    +<h3>Development Build Artifacts</h3>
    +
    +<p>
    +  Beside the <a href="http://search.maven.org/#search|ga|1|g%3Aorg.jacoco"> JaCoCo releases</a>
    +  the following build artifacts are automatically available during the
    +  development cycle:
    +</p>
    +
    +<ul>
    +  <li><b>Master:</b> The current master is available through the Maven
    +    <a href="repo.html">snapshot repository</a>.</li>
    +  <li><b>Pull Requests:</b> For every pull request the
    +    <a href="https://github.com/jacoco/jacoco/actions">GitHub Actions builds</a>
    +    provide the corresponding all-in-one zip for download. To access the
    +    artifacts go to a summary page of a workflow run corresponding to the pull
    +    request.</li>
    +</ul>
    +
    +<h3>Continuous Inspection</h3>
    +
    +<p>
    +  We track quality issues with our source code with
    +  <a href="https://sonarcloud.io/dashboard?id=org.jacoco:org.jacoco.build">SonarQube</a>.
    +</p>
    +
    +<h3>Communication</h3>
    +
    +<p>
    +  The development team communicates through a mailing list. The list is closed
    +  for non-developers but the archive is
    +  <a href="https://groups.google.com/d/forum/jacoco-dev">public</a>.
    +  Please use the <a href="support.html">support channels</a> to get in touch
    +  with the development team.
    +</p>
    +
    +</div>
    +<div class="footer">
    +  <span class="right"><a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.12.202403270442</span>
    +  <a href="license.html">Copyright</a> &copy; 2009, 2024 Mountainminds GmbH &amp; Co. KG and Contributors
    +</div>
    +
    +</body>
    +</html>
    diff --git a/jacoco/trunk/doc/epl-2.0.html b/jacoco/trunk/doc/epl-2.0.html
    new file mode 100644
    index 00000000000..426d74e2f8b
    --- /dev/null
    +++ b/jacoco/trunk/doc/epl-2.0.html
    @@ -0,0 +1,295 @@
    +<?xml version="1.0" encoding="UTF-8" ?>
    +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
    +<html xmlns="http://www.w3.org/1999/xhtml" lang="en">
    +<head>
    +  <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
    +  <link rel="stylesheet" href="resources/doc.css" charset="UTF-8" type="text/css" />
    +  <link rel="shortcut icon" href="resources/report.gif" type="image/gif" />
    +  <title>JaCoCo - Eclipse Public License - Version 2.0</title>
    +<style type="text/css">
    +  p.list {
    +    margin-left: 0.5in;
    +    margin-top:  0.05em;
    +    margin-bottom: 0.05em;
    +  }
    +</style>
    +</head>
    +<body>
    +
    +<div class="breadcrumb">
    +  <a href="../index.html" class="el_report">JaCoCo</a> &gt;
    +  <span class="el_source">Eclipse Public License - Version 2.0</span>
    +</div>
    +<div id="content">
    +
    +<h1>Eclipse Public License - v 2.0</h1>
    +
    +<pre>
    +    THE ACCOMPANYING PROGRAM IS PROVIDED UNDER THE TERMS OF THIS ECLIPSE
    +    PUBLIC LICENSE ("AGREEMENT"). ANY USE, REPRODUCTION OR DISTRIBUTION
    +    OF THE PROGRAM CONSTITUTES RECIPIENT'S ACCEPTANCE OF THIS AGREEMENT.
    +
    +1. DEFINITIONS
    +
    +"Contribution" means:
    +
    +  a) in the case of the initial Contributor, the initial content
    +     Distributed under this Agreement, and
    +
    +  b) in the case of each subsequent Contributor:
    +     i) changes to the Program, and
    +     ii) additions to the Program;
    +  where such changes and/or additions to the Program originate from
    +  and are Distributed by that particular Contributor. A Contribution
    +  "originates" from a Contributor if it was added to the Program by
    +  such Contributor itself or anyone acting on such Contributor's behalf.
    +  Contributions do not include changes or additions to the Program that
    +  are not Modified Works.
    +
    +"Contributor" means any person or entity that Distributes the Program.
    +
    +"Licensed Patents" mean patent claims licensable by a Contributor which
    +are necessarily infringed by the use or sale of its Contribution alone
    +or when combined with the Program.
    +
    +"Program" means the Contributions Distributed in accordance with this
    +Agreement.
    +
    +"Recipient" means anyone who receives the Program under this Agreement
    +or any Secondary License (as applicable), including Contributors.
    +
    +"Derivative Works" shall mean any work, whether in Source Code or other
    +form, that is based on (or derived from) the Program and for which the
    +editorial revisions, annotations, elaborations, or other modifications
    +represent, as a whole, an original work of authorship.
    +
    +"Modified Works" shall mean any work in Source Code or other form that
    +results from an addition to, deletion from, or modification of the
    +contents of the Program, including, for purposes of clarity any new file
    +in Source Code form that contains any contents of the Program. Modified
    +Works shall not include works that contain only declarations,
    +interfaces, types, classes, structures, or files of the Program solely
    +in each case in order to link to, bind by name, or subclass the Program
    +or Modified Works thereof.
    +
    +"Distribute" means the acts of a) distributing or b) making available
    +in any manner that enables the transfer of a copy.
    +
    +"Source Code" means the form of a Program preferred for making
    +modifications, including but not limited to software source code,
    +documentation source, and configuration files.
    +
    +"Secondary License" means either the GNU General Public License,
    +Version 2.0, or any later versions of that license, including any
    +exceptions or additional permissions as identified by the initial
    +Contributor.
    +
    +2. GRANT OF RIGHTS
    +
    +  a) Subject to the terms of this Agreement, each Contributor hereby
    +  grants Recipient a non-exclusive, worldwide, royalty-free copyright
    +  license to reproduce, prepare Derivative Works of, publicly display,
    +  publicly perform, Distribute and sublicense the Contribution of such
    +  Contributor, if any, and such Derivative Works.
    +
    +  b) Subject to the terms of this Agreement, each Contributor hereby
    +  grants Recipient a non-exclusive, worldwide, royalty-free patent
    +  license under Licensed Patents to make, use, sell, offer to sell,
    +  import and otherwise transfer the Contribution of such Contributor,
    +  if any, in Source Code or other form. This patent license shall
    +  apply to the combination of the Contribution and the Program if, at
    +  the time the Contribution is added by the Contributor, such addition
    +  of the Contribution causes such combination to be covered by the
    +  Licensed Patents. The patent license shall not apply to any other
    +  combinations which include the Contribution. No hardware per se is
    +  licensed hereunder.
    +
    +  c) Recipient understands that although each Contributor grants the
    +  licenses to its Contributions set forth herein, no assurances are
    +  provided by any Contributor that the Program does not infringe the
    +  patent or other intellectual property rights of any other entity.
    +  Each Contributor disclaims any liability to Recipient for claims
    +  brought by any other entity based on infringement of intellectual
    +  property rights or otherwise. As a condition to exercising the
    +  rights and licenses granted hereunder, each Recipient hereby
    +  assumes sole responsibility to secure any other intellectual
    +  property rights needed, if any. For example, if a third party
    +  patent license is required to allow Recipient to Distribute the
    +  Program, it is Recipient's responsibility to acquire that license
    +  before distributing the Program.
    +
    +  d) Each Contributor represents that to its knowledge it has
    +  sufficient copyright rights in its Contribution, if any, to grant
    +  the copyright license set forth in this Agreement.
    +
    +  e) Notwithstanding the terms of any Secondary License, no
    +  Contributor makes additional grants to any Recipient (other than
    +  those set forth in this Agreement) as a result of such Recipient's
    +  receipt of the Program under the terms of a Secondary License
    +  (if permitted under the terms of Section 3).
    +
    +3. REQUIREMENTS
    +
    +3.1 If a Contributor Distributes the Program in any form, then:
    +
    +  a) the Program must also be made available as Source Code, in
    +  accordance with section 3.2, and the Contributor must accompany
    +  the Program with a statement that the Source Code for the Program
    +  is available under this Agreement, and informs Recipients how to
    +  obtain it in a reasonable manner on or through a medium customarily
    +  used for software exchange; and
    +
    +  b) the Contributor may Distribute the Program under a license
    +  different than this Agreement, provided that such license:
    +     i) effectively disclaims on behalf of all other Contributors all
    +     warranties and conditions, express and implied, including
    +     warranties or conditions of title and non-infringement, and
    +     implied warranties or conditions of merchantability and fitness
    +     for a particular purpose;
    +
    +     ii) effectively excludes on behalf of all other Contributors all
    +     liability for damages, including direct, indirect, special,
    +     incidental and consequential damages, such as lost profits;
    +
    +     iii) does not attempt to limit or alter the recipients' rights
    +     in the Source Code under section 3.2; and
    +
    +     iv) requires any subsequent distribution of the Program by any
    +     party to be under a license that satisfies the requirements
    +     of this section 3.
    +
    +3.2 When the Program is Distributed as Source Code:
    +
    +  a) it must be made available under this Agreement, or if the
    +  Program (i) is combined with other material in a separate file or
    +  files made available under a Secondary License, and (ii) the initial
    +  Contributor attached to the Source Code the notice described in
    +  Exhibit A of this Agreement, then the Program may be made available
    +  under the terms of such Secondary Licenses, and
    +
    +  b) a copy of this Agreement must be included with each copy of
    +  the Program.
    +
    +3.3 Contributors may not remove or alter any copyright, patent,
    +trademark, attribution notices, disclaimers of warranty, or limitations
    +of liability ("notices") contained within the Program from any copy of
    +the Program which they Distribute, provided that Contributors may add
    +their own appropriate notices.
    +
    +4. COMMERCIAL DISTRIBUTION
    +
    +Commercial distributors of software may accept certain responsibilities
    +with respect to end users, business partners and the like. While this
    +license is intended to facilitate the commercial use of the Program,
    +the Contributor who includes the Program in a commercial product
    +offering should do so in a manner which does not create potential
    +liability for other Contributors. Therefore, if a Contributor includes
    +the Program in a commercial product offering, such Contributor
    +("Commercial Contributor") hereby agrees to defend and indemnify every
    +other Contributor ("Indemnified Contributor") against any losses,
    +damages and costs (collectively "Losses") arising from claims, lawsuits
    +and other legal actions brought by a third party against the Indemnified
    +Contributor to the extent caused by the acts or omissions of such
    +Commercial Contributor in connection with its distribution of the Program
    +in a commercial product offering. The obligations in this section do not
    +apply to any claims or Losses relating to any actual or alleged
    +intellectual property infringement. In order to qualify, an Indemnified
    +Contributor must: a) promptly notify the Commercial Contributor in
    +writing of such claim, and b) allow the Commercial Contributor to control,
    +and cooperate with the Commercial Contributor in, the defense and any
    +related settlement negotiations. The Indemnified Contributor may
    +participate in any such claim at its own expense.
    +
    +For example, a Contributor might include the Program in a commercial
    +product offering, Product X. That Contributor is then a Commercial
    +Contributor. If that Commercial Contributor then makes performance
    +claims, or offers warranties related to Product X, those performance
    +claims and warranties are such Commercial Contributor's responsibility
    +alone. Under this section, the Commercial Contributor would have to
    +defend claims against the other Contributors related to those performance
    +claims and warranties, and if a court requires any other Contributor to
    +pay any damages as a result, the Commercial Contributor must pay
    +those damages.
    +
    +5. NO WARRANTY
    +
    +EXCEPT AS EXPRESSLY SET FORTH IN THIS AGREEMENT, AND TO THE EXTENT
    +PERMITTED BY APPLICABLE LAW, THE PROGRAM IS PROVIDED ON AN "AS IS"
    +BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, EITHER EXPRESS OR
    +IMPLIED INCLUDING, WITHOUT LIMITATION, ANY WARRANTIES OR CONDITIONS OF
    +TITLE, NON-INFRINGEMENT, MERCHANTABILITY OR FITNESS FOR A PARTICULAR
    +PURPOSE. Each Recipient is solely responsible for determining the
    +appropriateness of using and distributing the Program and assumes all
    +risks associated with its exercise of rights under this Agreement,
    +including but not limited to the risks and costs of program errors,
    +compliance with applicable laws, damage to or loss of data, programs
    +or equipment, and unavailability or interruption of operations.
    +
    +6. DISCLAIMER OF LIABILITY
    +
    +EXCEPT AS EXPRESSLY SET FORTH IN THIS AGREEMENT, AND TO THE EXTENT
    +PERMITTED BY APPLICABLE LAW, NEITHER RECIPIENT NOR ANY CONTRIBUTORS
    +SHALL HAVE ANY LIABILITY FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
    +EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING WITHOUT LIMITATION LOST
    +PROFITS), HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
    +CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
    +ARISING IN ANY WAY OUT OF THE USE OR DISTRIBUTION OF THE PROGRAM OR THE
    +EXERCISE OF ANY RIGHTS GRANTED HEREUNDER, EVEN IF ADVISED OF THE
    +POSSIBILITY OF SUCH DAMAGES.
    +
    +7. GENERAL
    +
    +If any provision of this Agreement is invalid or unenforceable under
    +applicable law, it shall not affect the validity or enforceability of
    +the remainder of the terms of this Agreement, and without further
    +action by the parties hereto, such provision shall be reformed to the
    +minimum extent necessary to make such provision valid and enforceable.
    +
    +If Recipient institutes patent litigation against any entity
    +(including a cross-claim or counterclaim in a lawsuit) alleging that the
    +Program itself (excluding combinations of the Program with other software
    +or hardware) infringes such Recipient's patent(s), then such Recipient's
    +rights granted under Section 2(b) shall terminate as of the date such
    +litigation is filed.
    +
    +All Recipient's rights under this Agreement shall terminate if it
    +fails to comply with any of the material terms or conditions of this
    +Agreement and does not cure such failure in a reasonable period of
    +time after becoming aware of such noncompliance. If all Recipient's
    +rights under this Agreement terminate, Recipient agrees to cease use
    +and distribution of the Program as soon as reasonably practicable.
    +However, Recipient's obligations under this Agreement and any licenses
    +granted by Recipient relating to the Program shall continue and survive.
    +
    +Everyone is permitted to copy and distribute copies of this Agreement,
    +but in order to avoid inconsistency the Agreement is copyrighted and
    +may only be modified in the following manner. The Agreement Steward
    +reserves the right to publish new versions (including revisions) of
    +this Agreement from time to time. No one other than the Agreement
    +Steward has the right to modify this Agreement. The Eclipse Foundation
    +is the initial Agreement Steward. The Eclipse Foundation may assign the
    +responsibility to serve as the Agreement Steward to a suitable separate
    +entity. Each new version of the Agreement will be given a distinguishing
    +version number. The Program (including Contributions) may always be
    +Distributed subject to the version of the Agreement under which it was
    +received. In addition, after a new version of the Agreement is published,
    +Contributor may elect to Distribute the Program (including its
    +Contributions) under the new version.
    +
    +Except as expressly stated in Sections 2(a) and 2(b) above, Recipient
    +receives no rights or licenses to the intellectual property of any
    +Contributor under this Agreement, whether expressly, by implication,
    +estoppel or otherwise. All rights in the Program not expressly granted
    +under this Agreement are reserved. Nothing in this Agreement is intended
    +to be enforceable by any entity that is not a Contributor or Recipient.
    +No third-party beneficiary rights are created under this Agreement.
    +</pre>
    +
    +</div>
    +<div class="footer">
    +  <span class="right"><a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.12.202403270442</span>
    +  <a href="license.html">Copyright</a> &copy; 2009, 2024 Mountainminds GmbH &amp; Co. KG and Contributors
    +</div>
    +
    +</body>
    +</html>
    diff --git a/jacoco/trunk/doc/examples/build/build-offline.xml b/jacoco/trunk/doc/examples/build/build-offline.xml
    new file mode 100644
    index 00000000000..f52a2050bbf
    --- /dev/null
    +++ b/jacoco/trunk/doc/examples/build/build-offline.xml
    @@ -0,0 +1,99 @@
    +<?xml version="1.0" encoding="UTF-8"?>
    +
    +<!--
    +   Copyright (c) 2009, 2024 Mountainminds GmbH & Co. KG and Contributors
    +   This program and the accompanying materials are made available under
    +   the terms of the Eclipse Public License 2.0 which is available at
    +   http://www.eclipse.org/legal/epl-2.0
    +
    +   SPDX-License-Identifier: EPL-2.0
    +
    +   Contributors:
    +      Marc R. Hoffmann - initial API and implementation
    +-->
    +
    +<project name="Example Ant Build with JaCoCo Offline Instrumentation" default="rebuild" xmlns:jacoco="antlib:org.jacoco.ant">
    +
    +	<description>
    +	  Example Ant build file that demonstrates how JaCoCo can be used with
    +	  offline instrumentation. This requires preprocessing of the class files
    +	  before the test is launched and adding the JaCoCo agent to the classpath.
    +	</description>
    +
    +	<property name="src.dir" location="./src/main/java" />
    +	<property name="result.dir" location="./target" />
    +	<property name="result.classes.dir" location="${result.dir}/classes" />
    +	<property name="result.classes.instr.dir" location="${result.dir}/classes-instr" />
    +	<property name="result.report.dir" location="${result.dir}/site/jacoco" />
    +	<property name="result.exec.file" location="${result.dir}/jacoco.exec" />
    +
    +	<!-- Step 1: Import JaCoCo Ant tasks -->
    +	<taskdef uri="antlib:org.jacoco.ant" resource="org/jacoco/ant/antlib.xml">
    +		<classpath path="../../../lib/jacocoant.jar" />
    +	</taskdef>
    +
    +	<target name="clean">
    +		<delete dir="${result.dir}" />
    +	</target>
    +
    +	<target name="compile">
    +		<mkdir dir="${result.classes.dir}" />
    +		<javac srcdir="${src.dir}" destdir="${result.classes.dir}" debug="true" includeantruntime="false" />
    +	</target>
    +
    +	<target name="instrument" depends="compile">
    +		<!-- Step 2: Instrument class files -->
    +		<jacoco:instrument destdir="${result.classes.instr.dir}">
    +			<fileset dir="${result.classes.dir}" />
    +		</jacoco:instrument>
    +	</target>
    +
    +
    +	<target name="test" depends="instrument">
    +		<!-- Step 3: Run tests with instrumented classes -->
    +		<java classname="org.jacoco.examples.parser.Main" fork="true">
    +			<!-- jacocoagent.jar must be on the classpath -->
    +			<classpath>
    +				<pathelement path="../../../lib/jacocoagent.jar"/>
    +				<pathelement path="${result.classes.instr.dir}" />
    +			</classpath>
    +			<!-- Agent is configured with system properties -->
    +			<sysproperty key="jacoco-agent.destfile" file="${result.exec.file}"/>
    +			<arg value="2 * 3 + 4"/>
    +			<arg value="2 + 3 * 4"/>
    +			<arg value="(2 + 3) * 4"/>
    +			<arg value="2 * 2 * 2 * 2"/>
    +			<arg value="1 + 2 + 3 + 4"/>
    +			<arg value="2 * 3 + 2 * 5"/>
    +		</java>
    +	</target>
    +
    +	<target name="report" depends="test">
    +		<!-- Step 4: Create coverage report -->
    +		<jacoco:report>
    +
    +			<!-- This task needs the collected execution data and ... -->
    +			<executiondata>
    +				<file file="${result.exec.file}" />
    +			</executiondata>
    +
    +			<!-- the class files and optional source files ... -->
    +			<structure name="JaCoCo Ant Example">
    +				<classfiles>
    +					<fileset dir="${result.classes.dir}" />
    +				</classfiles>
    +				<sourcefiles encoding="UTF-8">
    +					<fileset dir="${src.dir}" />
    +				</sourcefiles>
    +			</structure>
    +
    +			<!-- to produce reports in different formats. -->
    +			<html destdir="${result.report.dir}" />
    +			<csv destfile="${result.report.dir}/report.csv" />
    +			<xml destfile="${result.report.dir}/report.xml" />
    +		</jacoco:report>
    +	</target>
    +
    +	<target name="rebuild" depends="clean,compile,instrument,test,report" />
    +
    +</project>
    diff --git a/jacoco/trunk/doc/examples/build/build.xml b/jacoco/trunk/doc/examples/build/build.xml
    new file mode 100644
    index 00000000000..c877f645500
    --- /dev/null
    +++ b/jacoco/trunk/doc/examples/build/build.xml
    @@ -0,0 +1,85 @@
    +<?xml version="1.0" encoding="UTF-8"?>
    +
    +<!--
    +   Copyright (c) 2009, 2024 Mountainminds GmbH & Co. KG and Contributors
    +   This program and the accompanying materials are made available under
    +   the terms of the Eclipse Public License 2.0 which is available at
    +   http://www.eclipse.org/legal/epl-2.0
    +
    +   SPDX-License-Identifier: EPL-2.0
    +
    +   Contributors:
    +      Marc R. Hoffmann - initial API and implementation
    +-->
    +
    +<project name="Example Ant Build with JaCoCo" default="rebuild" xmlns:jacoco="antlib:org.jacoco.ant">
    +
    +	<description>
    +	  Example Ant build file that demonstrates how a JaCoCo coverage report
    +	  can be integrated into an existing build in three simple steps.
    +	</description>
    +
    +	<property name="src.dir" location="./src/main/java" />
    +	<property name="result.dir" location="./target" />
    +	<property name="result.classes.dir" location="${result.dir}/classes" />
    +	<property name="result.report.dir" location="${result.dir}/site/jacoco" />
    +	<property name="result.exec.file" location="${result.dir}/jacoco.exec" />
    +
    +	<!-- Step 1: Import JaCoCo Ant tasks -->
    +	<taskdef uri="antlib:org.jacoco.ant" resource="org/jacoco/ant/antlib.xml">
    +		<classpath path="../../../lib/jacocoant.jar" />
    +	</taskdef>
    +
    +	<target name="clean">
    +		<delete dir="${result.dir}" />
    +	</target>
    +
    +	<target name="compile">
    +		<mkdir dir="${result.classes.dir}" />
    +		<javac srcdir="${src.dir}" destdir="${result.classes.dir}" debug="true" includeantruntime="false" />
    +	</target>
    +
    +	<target name="test" depends="compile">
    +		<!-- Step 2: Wrap test execution with the JaCoCo coverage task -->
    +		<jacoco:coverage destfile="${result.exec.file}">
    +			<java classname="org.jacoco.examples.parser.Main" fork="true">
    +				<classpath path="${result.classes.dir}" />
    +				<arg value="2 * 3 + 4"/>
    +				<arg value="2 + 3 * 4"/>
    +				<arg value="(2 + 3) * 4"/>
    +				<arg value="2 * 2 * 2 * 2"/>
    +				<arg value="1 + 2 + 3 + 4"/>
    +				<arg value="2 * 3 + 2 * 5"/>
    +			</java>
    +		</jacoco:coverage>
    +	</target>
    +
    +	<target name="report" depends="test">
    +		<!-- Step 3: Create coverage report -->
    +		<jacoco:report>
    +
    +			<!-- This task needs the collected execution data and ... -->
    +			<executiondata>
    +				<file file="${result.exec.file}" />
    +			</executiondata>
    +
    +			<!-- the class files and optional source files ... -->
    +			<structure name="JaCoCo Ant Example">
    +				<classfiles>
    +					<fileset dir="${result.classes.dir}" />
    +				</classfiles>
    +				<sourcefiles encoding="UTF-8">
    +					<fileset dir="${src.dir}" />
    +				</sourcefiles>
    +			</structure>
    +
    +			<!-- to produce reports in different formats. -->
    +			<html destdir="${result.report.dir}" />
    +			<csv destfile="${result.report.dir}/report.csv" />
    +			<xml destfile="${result.report.dir}/report.xml" />
    +		</jacoco:report>
    +	</target>
    +
    +	<target name="rebuild" depends="clean,compile,test,report" />
    +
    +</project>
    diff --git a/jacoco/trunk/doc/examples/build/pom-it.xml b/jacoco/trunk/doc/examples/build/pom-it.xml
    new file mode 100644
    index 00000000000..b54f38caf89
    --- /dev/null
    +++ b/jacoco/trunk/doc/examples/build/pom-it.xml
    @@ -0,0 +1,113 @@
    +<?xml version="1.0" encoding="UTF-8"?>
    +<!--
    +   Copyright (c) 2009, 2024 Mountainminds GmbH & Co. KG and Contributors
    +   This program and the accompanying materials are made available under
    +   the terms of the Eclipse Public License 2.0 which is available at
    +   http://www.eclipse.org/legal/epl-2.0
    +
    +   SPDX-License-Identifier: EPL-2.0
    +
    +   Contributors:
    +      Marc R. Hoffmann - initial API and implementation
    +      Kyle Lieber - implementation of CheckMojo
    +-->
    +<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    +  xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
    +  <modelVersion>4.0.0</modelVersion>
    +
    +  <groupId>org.jacoco</groupId>
    +  <artifactId>org.jacoco.examples.maven</artifactId>
    +  <version>0.8.12-SNAPSHOT</version>
    +  <packaging>jar</packaging>
    +
    +  <name>JaCoCo Maven plug-in example</name>
    +  <url>http://www.jacoco.org/jacoco</url>
    +
    +  <dependencies>
    +    <dependency>
    +      <groupId>junit</groupId>
    +      <artifactId>junit</artifactId>
    +      <version>4.10</version>
    +      <scope>test</scope>
    +    </dependency>
    +  </dependencies>
    +
    +  <properties>
    +    <maven.compiler.source>1.5</maven.compiler.source>
    +    <maven.compiler.target>1.5</maven.compiler.target>
    +  </properties>
    +
    +  <build>
    +    <plugins>
    +      <plugin>
    +        <groupId>org.jacoco</groupId>
    +        <artifactId>jacoco-maven-plugin</artifactId>
    +        <version>0.8.12-SNAPSHOT</version>
    +        <executions>
    +          <execution>
    +            <id>default-prepare-agent</id>
    +            <goals>
    +              <goal>prepare-agent</goal>
    +            </goals>
    +          </execution>
    +          <execution>
    +            <id>default-prepare-agent-integration</id>
    +            <goals>
    +              <goal>prepare-agent-integration</goal>
    +            </goals>
    +          </execution>
    +          <execution>
    +            <id>default-report</id>
    +            <goals>
    +              <goal>report</goal>
    +            </goals>
    +          </execution>
    +          <execution>
    +            <id>default-report-integration</id>
    +            <goals>
    +              <goal>report-integration</goal>
    +            </goals>
    +          </execution>
    +          <execution>
    +            <id>default-check</id>
    +            <goals>
    +              <goal>check</goal>
    +            </goals>
    +            <configuration>
    +              <rules>
    +                <rule>
    +                  <element>BUNDLE</element>
    +                  <limits>
    +                    <limit>
    +                      <counter>COMPLEXITY</counter>
    +                      <value>COVEREDRATIO</value>
    +                      <minimum>0.60</minimum>
    +                    </limit>
    +                  </limits>
    +                </rule>
    +              </rules>
    +            </configuration>
    +          </execution>
    +        </executions>
    +      </plugin>
    +      <plugin>
    +        <groupId>org.apache.maven.plugins</groupId>
    +        <artifactId>maven-surefire-plugin</artifactId>
    +        <version>2.16</version>
    +      </plugin>
    +      <plugin>
    +        <groupId>org.apache.maven.plugins</groupId>
    +        <artifactId>maven-failsafe-plugin</artifactId>
    +        <version>2.16</version>
    +        <executions>
    +          <execution>
    +            <id>default-integration-test</id>
    +            <goals>
    +              <goal>integration-test</goal>
    +            </goals>
    +          </execution>
    +        </executions>
    +      </plugin>
    +    </plugins>
    +  </build>
    +</project>
    diff --git a/jacoco/trunk/doc/examples/build/pom-offline.xml b/jacoco/trunk/doc/examples/build/pom-offline.xml
    new file mode 100644
    index 00000000000..53007f2a47c
    --- /dev/null
    +++ b/jacoco/trunk/doc/examples/build/pom-offline.xml
    @@ -0,0 +1,107 @@
    +<?xml version="1.0" encoding="UTF-8"?>
    +<!--
    +   Copyright (c) 2009, 2024 Mountainminds GmbH & Co. KG and Contributors
    +   This program and the accompanying materials are made available under
    +   the terms of the Eclipse Public License 2.0 which is available at
    +   http://www.eclipse.org/legal/epl-2.0
    +
    +   SPDX-License-Identifier: EPL-2.0
    +
    +   Contributors:
    +      Evgeny Mandrikov - initial API and implementation
    +-->
    +<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    +  xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
    +  <modelVersion>4.0.0</modelVersion>
    +
    +  <groupId>org.jacoco</groupId>
    +  <artifactId>org.jacoco.examples.maven</artifactId>
    +  <version>0.8.12-SNAPSHOT</version>
    +  <packaging>jar</packaging>
    +
    +  <name>JaCoCo Maven plug-in example with Offline Instrumentation</name>
    +  <url>http://www.jacoco.org/jacoco</url>
    +
    +  <dependencies>
    +    <dependency>
    +      <groupId>junit</groupId>
    +      <artifactId>junit</artifactId>
    +      <version>4.10</version>
    +      <scope>test</scope>
    +    </dependency>
    +    <dependency>
    +      <!-- must be on the classpath -->
    +      <groupId>org.jacoco</groupId>
    +      <artifactId>org.jacoco.agent</artifactId>
    +      <classifier>runtime</classifier>
    +      <version>0.8.12-SNAPSHOT</version>
    +      <scope>test</scope>
    +    </dependency>
    +  </dependencies>
    +
    +  <properties>
    +    <maven.compiler.source>1.5</maven.compiler.source>
    +    <maven.compiler.target>1.5</maven.compiler.target>
    +  </properties>
    +
    +  <build>
    +    <plugins>
    +      <plugin>
    +        <groupId>org.jacoco</groupId>
    +        <artifactId>jacoco-maven-plugin</artifactId>
    +        <version>0.8.12-SNAPSHOT</version>
    +        <executions>
    +          <execution>
    +            <id>default-instrument</id>
    +            <goals>
    +              <goal>instrument</goal>
    +            </goals>
    +          </execution>
    +          <execution>
    +            <id>default-restore-instrumented-classes</id>
    +            <goals>
    +              <goal>restore-instrumented-classes</goal>
    +            </goals>
    +          </execution>
    +          <execution>
    +            <id>default-report</id>
    +            <goals>
    +              <goal>report</goal>
    +            </goals>
    +          </execution>
    +          <execution>
    +            <id>default-check</id>
    +            <goals>
    +              <goal>check</goal>
    +            </goals>
    +            <configuration>
    +              <rules>
    +                <rule>
    +                  <element>BUNDLE</element>
    +                  <limits>
    +                    <limit>
    +                      <counter>COMPLEXITY</counter>
    +                      <value>COVEREDRATIO</value>
    +                      <minimum>0.60</minimum>
    +                    </limit>
    +                  </limits>
    +                </rule>
    +              </rules>
    +            </configuration>
    +          </execution>
    +        </executions>
    +      </plugin>
    +      <plugin>
    +        <groupId>org.apache.maven.plugins</groupId>
    +        <artifactId>maven-surefire-plugin</artifactId>
    +        <version>2.12.2</version>
    +        <configuration>
    +          <systemPropertyVariables>
    +            <jacoco-agent.destfile>target/jacoco.exec</jacoco-agent.destfile>
    +          </systemPropertyVariables>
    +        </configuration>
    +      </plugin>
    +    </plugins>
    +  </build>
    +
    +</project>
    diff --git a/jacoco/trunk/doc/examples/build/pom.xml b/jacoco/trunk/doc/examples/build/pom.xml
    new file mode 100644
    index 00000000000..b277a200d94
    --- /dev/null
    +++ b/jacoco/trunk/doc/examples/build/pom.xml
    @@ -0,0 +1,84 @@
    +<?xml version="1.0" encoding="UTF-8"?>
    +<!--
    +   Copyright (c) 2009, 2024 Mountainminds GmbH & Co. KG and Contributors
    +   This program and the accompanying materials are made available under
    +   the terms of the Eclipse Public License 2.0 which is available at
    +   http://www.eclipse.org/legal/epl-2.0
    +
    +   SPDX-License-Identifier: EPL-2.0
    +
    +   Contributors:
    +      Marc R. Hoffmann - initial API and implementation
    +      Kyle Lieber - implementation of CheckMojo
    +-->
    +<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    +  xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
    +  <modelVersion>4.0.0</modelVersion>
    +
    +  <groupId>org.jacoco</groupId>
    +  <artifactId>org.jacoco.examples.maven</artifactId>
    +  <version>0.8.12-SNAPSHOT</version>
    +  <packaging>jar</packaging>
    +
    +  <name>JaCoCo Maven plug-in example</name>
    +  <url>http://www.jacoco.org/jacoco</url>
    +
    +  <dependencies>
    +    <dependency>
    +      <groupId>junit</groupId>
    +      <artifactId>junit</artifactId>
    +      <version>4.13.1</version>
    +      <scope>test</scope>
    +    </dependency>
    +  </dependencies>
    +
    +  <properties>
    +    <maven.compiler.source>1.5</maven.compiler.source>
    +    <maven.compiler.target>1.5</maven.compiler.target>
    +  </properties>
    +
    +  <build>
    +    <plugins>
    +      <plugin>
    +        <groupId>org.jacoco</groupId>
    +        <artifactId>jacoco-maven-plugin</artifactId>
    +        <version>0.8.12-SNAPSHOT</version>
    +        <executions>
    +          <execution>
    +            <id>default-prepare-agent</id>
    +            <goals>
    +              <goal>prepare-agent</goal>
    +            </goals>
    +          </execution>
    +          <execution>
    +            <id>default-report</id>
    +            <goals>
    +              <goal>report</goal>
    +            </goals>
    +          </execution>
    +          <execution>
    +            <id>default-check</id>
    +            <goals>
    +              <goal>check</goal>
    +            </goals>
    +            <configuration>
    +              <rules>
    +                <rule>
    +                  <element>BUNDLE</element>
    +                  <limits>
    +                    <limit>
    +                      <counter>COMPLEXITY</counter>
    +                      <value>COVEREDRATIO</value>
    +                      <minimum>0.60</minimum>
    +                    </limit>
    +                  </limits>
    +                </rule>
    +              </rules>
    +            </configuration>
    +          </execution>
    +        </executions>
    +      </plugin>
    +    </plugins>
    +  </build>
    +
    +</project>
    diff --git a/jacoco/trunk/doc/examples/build/src/main/java/org/jacoco/examples/expressions/Add.java b/jacoco/trunk/doc/examples/build/src/main/java/org/jacoco/examples/expressions/Add.java
    new file mode 100644
    index 00000000000..9707f54ce1a
    --- /dev/null
    +++ b/jacoco/trunk/doc/examples/build/src/main/java/org/jacoco/examples/expressions/Add.java
    @@ -0,0 +1,30 @@
    +/*******************************************************************************
    + * Copyright (c) 2009, 2024 Mountainminds GmbH & Co. KG and Contributors
    + * This program and the accompanying materials are made available under
    + * the terms of the Eclipse Public License 2.0 which is available at
    + * http://www.eclipse.org/legal/epl-2.0
    + *
    + * SPDX-License-Identifier: EPL-2.0
    + *
    + * Contributors:
    + *    Marc R. Hoffmann - initial API and implementation
    + *    
    + *******************************************************************************/
    +package org.jacoco.examples.expressions;
    +
    +public class Add implements IExpression {
    +
    +	private final IExpression l;
    +
    +	private final IExpression r;
    +
    +	public Add(final IExpression l, final IExpression r) {
    +		this.l = l;
    +		this.r = r;
    +	}
    +
    +	public double evaluate() {
    +		return l.evaluate() + r.evaluate();
    +	}
    +
    +}
    diff --git a/jacoco/trunk/doc/examples/build/src/main/java/org/jacoco/examples/expressions/Const.java b/jacoco/trunk/doc/examples/build/src/main/java/org/jacoco/examples/expressions/Const.java
    new file mode 100644
    index 00000000000..a6fdba6bcc1
    --- /dev/null
    +++ b/jacoco/trunk/doc/examples/build/src/main/java/org/jacoco/examples/expressions/Const.java
    @@ -0,0 +1,27 @@
    +/*******************************************************************************
    + * Copyright (c) 2009, 2024 Mountainminds GmbH & Co. KG and Contributors
    + * This program and the accompanying materials are made available under
    + * the terms of the Eclipse Public License 2.0 which is available at
    + * http://www.eclipse.org/legal/epl-2.0
    + *
    + * SPDX-License-Identifier: EPL-2.0
    + *
    + * Contributors:
    + *    Marc R. Hoffmann - initial API and implementation
    + *    
    + *******************************************************************************/
    +package org.jacoco.examples.expressions;
    +
    +public class Const implements IExpression {
    +
    +	private final double value;
    +
    +	public Const(final double value) {
    +		this.value = value;
    +	}
    +
    +	public double evaluate() {
    +		return value;
    +	}
    +
    +}
    diff --git a/jacoco/trunk/doc/examples/build/src/main/java/org/jacoco/examples/expressions/Div.java b/jacoco/trunk/doc/examples/build/src/main/java/org/jacoco/examples/expressions/Div.java
    new file mode 100644
    index 00000000000..a53582ed48a
    --- /dev/null
    +++ b/jacoco/trunk/doc/examples/build/src/main/java/org/jacoco/examples/expressions/Div.java
    @@ -0,0 +1,30 @@
    +/*******************************************************************************
    + * Copyright (c) 2009, 2024 Mountainminds GmbH & Co. KG and Contributors
    + * This program and the accompanying materials are made available under
    + * the terms of the Eclipse Public License 2.0 which is available at
    + * http://www.eclipse.org/legal/epl-2.0
    + *
    + * SPDX-License-Identifier: EPL-2.0
    + *
    + * Contributors:
    + *    Marc R. Hoffmann - initial API and implementation
    + *    
    + *******************************************************************************/
    +package org.jacoco.examples.expressions;
    +
    +public class Div implements IExpression {
    +
    +	private final IExpression l;
    +
    +	private final IExpression r;
    +
    +	public Div(final IExpression l, final IExpression r) {
    +		this.l = l;
    +		this.r = r;
    +	}
    +
    +	public double evaluate() {
    +		return l.evaluate() / r.evaluate();
    +	}
    +
    +}
    diff --git a/jacoco/trunk/doc/examples/build/src/main/java/org/jacoco/examples/expressions/IExpression.java b/jacoco/trunk/doc/examples/build/src/main/java/org/jacoco/examples/expressions/IExpression.java
    new file mode 100644
    index 00000000000..35ca067bf8a
    --- /dev/null
    +++ b/jacoco/trunk/doc/examples/build/src/main/java/org/jacoco/examples/expressions/IExpression.java
    @@ -0,0 +1,19 @@
    +/*******************************************************************************
    + * Copyright (c) 2009, 2024 Mountainminds GmbH & Co. KG and Contributors
    + * This program and the accompanying materials are made available under
    + * the terms of the Eclipse Public License 2.0 which is available at
    + * http://www.eclipse.org/legal/epl-2.0
    + *
    + * SPDX-License-Identifier: EPL-2.0
    + *
    + * Contributors:
    + *    Marc R. Hoffmann - initial API and implementation
    + *    
    + *******************************************************************************/
    +package org.jacoco.examples.expressions;
    +
    +public interface IExpression {
    +
    +	public double evaluate();
    +
    +}
    diff --git a/jacoco/trunk/doc/examples/build/src/main/java/org/jacoco/examples/expressions/Mul.java b/jacoco/trunk/doc/examples/build/src/main/java/org/jacoco/examples/expressions/Mul.java
    new file mode 100644
    index 00000000000..3d271931e77
    --- /dev/null
    +++ b/jacoco/trunk/doc/examples/build/src/main/java/org/jacoco/examples/expressions/Mul.java
    @@ -0,0 +1,30 @@
    +/*******************************************************************************
    + * Copyright (c) 2009, 2024 Mountainminds GmbH & Co. KG and Contributors
    + * This program and the accompanying materials are made available under
    + * the terms of the Eclipse Public License 2.0 which is available at
    + * http://www.eclipse.org/legal/epl-2.0
    + *
    + * SPDX-License-Identifier: EPL-2.0
    + *
    + * Contributors:
    + *    Marc R. Hoffmann - initial API and implementation
    + *    
    + *******************************************************************************/
    +package org.jacoco.examples.expressions;
    +
    +public class Mul implements IExpression {
    +
    +	private final IExpression l;
    +
    +	private final IExpression r;
    +
    +	public Mul(final IExpression l, final IExpression r) {
    +		this.l = l;
    +		this.r = r;
    +	}
    +
    +	public double evaluate() {
    +		return l.evaluate() * r.evaluate();
    +	}
    +
    +}
    diff --git a/jacoco/trunk/doc/examples/build/src/main/java/org/jacoco/examples/expressions/Sub.java b/jacoco/trunk/doc/examples/build/src/main/java/org/jacoco/examples/expressions/Sub.java
    new file mode 100644
    index 00000000000..5dbbda3489a
    --- /dev/null
    +++ b/jacoco/trunk/doc/examples/build/src/main/java/org/jacoco/examples/expressions/Sub.java
    @@ -0,0 +1,30 @@
    +/*******************************************************************************
    + * Copyright (c) 2009, 2024 Mountainminds GmbH & Co. KG and Contributors
    + * This program and the accompanying materials are made available under
    + * the terms of the Eclipse Public License 2.0 which is available at
    + * http://www.eclipse.org/legal/epl-2.0
    + *
    + * SPDX-License-Identifier: EPL-2.0
    + *
    + * Contributors:
    + *    Marc R. Hoffmann - initial API and implementation
    + *    
    + *******************************************************************************/
    +package org.jacoco.examples.expressions;
    +
    +public class Sub implements IExpression {
    +
    +	private final IExpression l;
    +
    +	private final IExpression r;
    +
    +	public Sub(final IExpression l, final IExpression r) {
    +		this.l = l;
    +		this.r = r;
    +	}
    +
    +	public double evaluate() {
    +		return l.evaluate() - r.evaluate();
    +	}
    +
    +}
    diff --git a/jacoco/trunk/doc/examples/build/src/main/java/org/jacoco/examples/parser/ExpressionParser.java b/jacoco/trunk/doc/examples/build/src/main/java/org/jacoco/examples/parser/ExpressionParser.java
    new file mode 100644
    index 00000000000..28a17c8135e
    --- /dev/null
    +++ b/jacoco/trunk/doc/examples/build/src/main/java/org/jacoco/examples/parser/ExpressionParser.java
    @@ -0,0 +1,103 @@
    +/*******************************************************************************
    + * Copyright (c) 2009, 2024 Mountainminds GmbH & Co. KG and Contributors
    + * This program and the accompanying materials are made available under
    + * the terms of the Eclipse Public License 2.0 which is available at
    + * http://www.eclipse.org/legal/epl-2.0
    + *
    + * SPDX-License-Identifier: EPL-2.0
    + *
    + * Contributors:
    + *    Marc R. Hoffmann - initial API and implementation
    + *    
    + *******************************************************************************/
    +package org.jacoco.examples.parser;
    +
    +import static java.io.StreamTokenizer.TT_EOF;
    +import static java.io.StreamTokenizer.TT_NUMBER;
    +
    +import java.io.IOException;
    +import java.io.StreamTokenizer;
    +import java.io.StringReader;
    +
    +import org.jacoco.examples.expressions.Add;
    +import org.jacoco.examples.expressions.Const;
    +import org.jacoco.examples.expressions.Div;
    +import org.jacoco.examples.expressions.IExpression;
    +import org.jacoco.examples.expressions.Mul;
    +import org.jacoco.examples.expressions.Sub;
    +
    +public class ExpressionParser {
    +
    +	private final StreamTokenizer tokenizer;
    +
    +	public ExpressionParser(final String s) throws IOException {
    +		tokenizer = new StreamTokenizer(new StringReader(s));
    +		tokenizer.ordinaryChar('(');
    +		tokenizer.ordinaryChar(')');
    +		tokenizer.ordinaryChar('+');
    +		tokenizer.ordinaryChar('-');
    +		tokenizer.ordinaryChar('*');
    +		tokenizer.ordinaryChar('/');
    +	}
    +
    +	public IExpression parse() throws IOException {
    +		tokenizer.nextToken();
    +		final IExpression e = term();
    +		expect(TT_EOF);
    +		return e;
    +	}
    +
    +	private IExpression term() throws IOException {
    +		IExpression e = product();
    +		while (true) {
    +			if (accept('+')) {
    +				e = new Add(e, product());
    +			} else if (accept('-')) {
    +				e = new Sub(e, product());
    +			} else {
    +				return e;
    +			}
    +		}
    +	}
    +
    +	private IExpression product() throws IOException {
    +		IExpression e = factor();
    +		while (true) {
    +			if (accept('*')) {
    +				e = new Mul(e, factor());
    +			} else if (accept('/')) {
    +				e = new Div(e, factor());
    +			} else {
    +				return e;
    +			}
    +		}
    +	}
    +
    +	private IExpression factor() throws IOException {
    +		final IExpression e;
    +		if (accept('(')) {
    +			e = term();
    +			expect(')');
    +		} else {
    +			expect(TT_NUMBER);
    +			e = new Const(tokenizer.nval);
    +		}
    +		return e;
    +	}
    +
    +	private boolean accept(final int type) throws IOException {
    +		if (tokenizer.ttype == type) {
    +			tokenizer.nextToken();
    +			return true;
    +		}
    +		return false;
    +	}
    +
    +	private void expect(final int type) throws IOException {
    +		if (tokenizer.ttype != type) {
    +			throw new IOException("Invalid Syntax.");
    +		}
    +		tokenizer.nextToken();
    +	}
    +
    +}
    diff --git a/jacoco/trunk/doc/examples/build/src/main/java/org/jacoco/examples/parser/Main.java b/jacoco/trunk/doc/examples/build/src/main/java/org/jacoco/examples/parser/Main.java
    new file mode 100644
    index 00000000000..9b4b74d8652
    --- /dev/null
    +++ b/jacoco/trunk/doc/examples/build/src/main/java/org/jacoco/examples/parser/Main.java
    @@ -0,0 +1,27 @@
    +/*******************************************************************************
    + * Copyright (c) 2009, 2024 Mountainminds GmbH & Co. KG and Contributors
    + * This program and the accompanying materials are made available under
    + * the terms of the Eclipse Public License 2.0 which is available at
    + * http://www.eclipse.org/legal/epl-2.0
    + *
    + * SPDX-License-Identifier: EPL-2.0
    + *
    + * Contributors:
    + *    Marc R. Hoffmann - initial API and implementation
    + *    
    + *******************************************************************************/
    +package org.jacoco.examples.parser;
    +
    +import java.io.IOException;
    +
    +public class Main {
    +
    +	public static void main(final String[] args) throws IOException {
    +		for (String expression : args) {
    +			ExpressionParser parser = new ExpressionParser(expression);
    +			double result = parser.parse().evaluate();
    +			System.out.printf("%s = %s%n", expression, result);
    +		}
    +	}
    +
    +}
    diff --git a/jacoco/trunk/doc/examples/build/src/test/java/org/jacoco/examples/parser/ExpressionParserIT.java b/jacoco/trunk/doc/examples/build/src/test/java/org/jacoco/examples/parser/ExpressionParserIT.java
    new file mode 100644
    index 00000000000..c5c3018c0a0
    --- /dev/null
    +++ b/jacoco/trunk/doc/examples/build/src/test/java/org/jacoco/examples/parser/ExpressionParserIT.java
    @@ -0,0 +1,16 @@
    +/*******************************************************************************
    + * Copyright (c) 2009, 2024 Mountainminds GmbH & Co. KG and Contributors
    + * This program and the accompanying materials are made available under
    + * the terms of the Eclipse Public License 2.0 which is available at
    + * http://www.eclipse.org/legal/epl-2.0
    + *
    + * SPDX-License-Identifier: EPL-2.0
    + *
    + * Contributors:
    + *    Mirko Friedenhagen - initial
    + *    
    + *******************************************************************************/
    +package org.jacoco.examples.parser;
    +
    +public class ExpressionParserIT extends ExpressionParserTest {
    +}
    diff --git a/jacoco/trunk/doc/examples/build/src/test/java/org/jacoco/examples/parser/ExpressionParserTest.java b/jacoco/trunk/doc/examples/build/src/test/java/org/jacoco/examples/parser/ExpressionParserTest.java
    new file mode 100644
    index 00000000000..5a55c94169e
    --- /dev/null
    +++ b/jacoco/trunk/doc/examples/build/src/test/java/org/jacoco/examples/parser/ExpressionParserTest.java
    @@ -0,0 +1,58 @@
    +/*******************************************************************************
    + * Copyright (c) 2009, 2024 Mountainminds GmbH & Co. KG and Contributors
    + * This program and the accompanying materials are made available under
    + * the terms of the Eclipse Public License 2.0 which is available at
    + * http://www.eclipse.org/legal/epl-2.0
    + *
    + * SPDX-License-Identifier: EPL-2.0
    + *
    + * Contributors:
    + *    Marc R. Hoffmann - initial API and implementation
    + *    
    + *******************************************************************************/
    +package org.jacoco.examples.parser;
    +
    +import java.io.IOException;
    +import static org.junit.Assert.*;
    +import org.junit.Test;
    +
    +public class ExpressionParserTest {
    +
    +	@Test
    +	public void expression1() throws IOException {
    +		assertExpression("2 * 3 + 4", 10);
    +	}
    +
    +	@Test
    +	public void expression2() throws IOException {
    +		assertExpression("2 + 3 * 4", 14);
    +	}
    +
    +	@Test
    +	public void expression3() throws IOException {
    +		assertExpression("(2 + 3) * 4", 20);
    +	}
    +
    +	@Test
    +	public void expression4() throws IOException {
    +		assertExpression("2 * 2 * 2 * 2", 16);
    +	}
    +
    +	@Test
    +	public void expression5() throws IOException {
    +		assertExpression("1 + 2 + 3 + 4", 10);
    +	}
    +
    +	@Test
    +	public void expression6() throws IOException {
    +		assertExpression("2 * 3 + 2 * 5", 16);
    +	}
    +
    +	private static void assertExpression(final String expression,
    +			final double expected) throws IOException {
    +		final ExpressionParser parser = new ExpressionParser(expression);
    +		final double actual = parser.parse().evaluate();
    +		assertEquals("expression", expected, actual, 0.0);
    +	}
    +
    +}
    diff --git a/jacoco/trunk/doc/examples/java/ClassInfo.java b/jacoco/trunk/doc/examples/java/ClassInfo.java
    new file mode 100644
    index 00000000000..aaee2e6c721
    --- /dev/null
    +++ b/jacoco/trunk/doc/examples/java/ClassInfo.java
    @@ -0,0 +1,85 @@
    +/*******************************************************************************
    + * Copyright (c) 2009, 2024 Mountainminds GmbH & Co. KG and Contributors
    + * This program and the accompanying materials are made available under
    + * the terms of the Eclipse Public License 2.0 which is available at
    + * http://www.eclipse.org/legal/epl-2.0
    + *
    + * SPDX-License-Identifier: EPL-2.0
    + *
    + * Contributors:
    + *    Marc R. Hoffmann - initial API and implementation
    + *
    + *******************************************************************************/
    +package org.jacoco.examples;
    +
    +import java.io.File;
    +import java.io.IOException;
    +import java.io.PrintStream;
    +
    +import org.jacoco.core.analysis.Analyzer;
    +import org.jacoco.core.analysis.IClassCoverage;
    +import org.jacoco.core.analysis.ICoverageVisitor;
    +import org.jacoco.core.data.ExecutionDataStore;
    +
    +/**
    + * This example reads Java class files, directories or JARs given as program
    + * arguments and dumps information about the classes.
    + */
    +public final class ClassInfo implements ICoverageVisitor {
    +
    +	private final PrintStream out;
    +	private final Analyzer analyzer;
    +
    +	/**
    +	 * Creates a new example instance printing to the given stream.
    +	 *
    +	 * @param out
    +	 *            stream for outputs
    +	 */
    +	public ClassInfo(final PrintStream out) {
    +		this.out = out;
    +		analyzer = new Analyzer(new ExecutionDataStore(), this);
    +	}
    +
    +	/**
    +	 * Run this example with the given parameters.
    +	 *
    +	 * @param args
    +	 *            command line parameters
    +	 * @throws IOException
    +	 *             in case of error reading a input file
    +	 */
    +	public void execute(final String[] args) throws IOException {
    +		for (final String file : args) {
    +			analyzer.analyzeAll(new File(file));
    +		}
    +	}
    +
    +	public void visitCoverage(final IClassCoverage coverage) {
    +		out.printf("class name:   %s%n", coverage.getName());
    +		out.printf("class id:     %016x%n", Long.valueOf(coverage.getId()));
    +		out.printf("instructions: %s%n", Integer
    +				.valueOf(coverage.getInstructionCounter().getTotalCount()));
    +		out.printf("branches:     %s%n",
    +				Integer.valueOf(coverage.getBranchCounter().getTotalCount()));
    +		out.printf("lines:        %s%n",
    +				Integer.valueOf(coverage.getLineCounter().getTotalCount()));
    +		out.printf("methods:      %s%n",
    +				Integer.valueOf(coverage.getMethodCounter().getTotalCount()));
    +		out.printf("complexity:   %s%n%n", Integer
    +				.valueOf(coverage.getComplexityCounter().getTotalCount()));
    +	}
    +
    +	/**
    +	 * Entry point to run this examples as a Java application.
    +	 *
    +	 * @param args
    +	 *            list of program arguments
    +	 * @throws IOException
    +	 *             in case of errors executing the example
    +	 */
    +	public static void main(final String[] args) throws IOException {
    +		new ClassInfo(System.out).execute(args);
    +	}
    +
    +}
    diff --git a/jacoco/trunk/doc/examples/java/CoreTutorial.java b/jacoco/trunk/doc/examples/java/CoreTutorial.java
    new file mode 100644
    index 00000000000..5bb69f893ed
    --- /dev/null
    +++ b/jacoco/trunk/doc/examples/java/CoreTutorial.java
    @@ -0,0 +1,203 @@
    +/*******************************************************************************
    + * Copyright (c) 2009, 2024 Mountainminds GmbH & Co. KG and Contributors
    + * This program and the accompanying materials are made available under
    + * the terms of the Eclipse Public License 2.0 which is available at
    + * http://www.eclipse.org/legal/epl-2.0
    + *
    + * SPDX-License-Identifier: EPL-2.0
    + *
    + * Contributors:
    + *    Marc R. Hoffmann - initial API and implementation
    + *
    + *******************************************************************************/
    +package org.jacoco.examples;
    +
    +import java.io.InputStream;
    +import java.io.PrintStream;
    +import java.util.HashMap;
    +import java.util.Map;
    +
    +import org.jacoco.core.analysis.Analyzer;
    +import org.jacoco.core.analysis.CoverageBuilder;
    +import org.jacoco.core.analysis.IClassCoverage;
    +import org.jacoco.core.analysis.ICounter;
    +import org.jacoco.core.data.ExecutionDataStore;
    +import org.jacoco.core.data.SessionInfoStore;
    +import org.jacoco.core.instr.Instrumenter;
    +import org.jacoco.core.runtime.IRuntime;
    +import org.jacoco.core.runtime.LoggerRuntime;
    +import org.jacoco.core.runtime.RuntimeData;
    +
    +/**
    + * Example usage of the JaCoCo core API. In this tutorial a single target class
    + * will be instrumented and executed. Finally the coverage information will be
    + * dumped.
    + */
    +public final class CoreTutorial {
    +
    +	/**
    +	 * The test target we want to see code coverage for.
    +	 */
    +	public static class TestTarget implements Runnable {
    +
    +		public void run() {
    +			isPrime(7);
    +		}
    +
    +		private boolean isPrime(final int n) {
    +			for (int i = 2; i * i <= n; i++) {
    +				if ((n ^ i) == 0) {
    +					return false;
    +				}
    +			}
    +			return true;
    +		}
    +
    +	}
    +
    +	/**
    +	 * A class loader that loads classes from in-memory data.
    +	 */
    +	public static class MemoryClassLoader extends ClassLoader {
    +
    +		private final Map<String, byte[]> definitions = new HashMap<String, byte[]>();
    +
    +		/**
    +		 * Add a in-memory representation of a class.
    +		 *
    +		 * @param name
    +		 *            name of the class
    +		 * @param bytes
    +		 *            class definition
    +		 */
    +		public void addDefinition(final String name, final byte[] bytes) {
    +			definitions.put(name, bytes);
    +		}
    +
    +		@Override
    +		protected Class<?> loadClass(final String name, final boolean resolve)
    +				throws ClassNotFoundException {
    +			final byte[] bytes = definitions.get(name);
    +			if (bytes != null) {
    +				return defineClass(name, bytes, 0, bytes.length);
    +			}
    +			return super.loadClass(name, resolve);
    +		}
    +
    +	}
    +
    +	private final PrintStream out;
    +
    +	/**
    +	 * Creates a new example instance printing to the given stream.
    +	 *
    +	 * @param out
    +	 *            stream for outputs
    +	 */
    +	public CoreTutorial(final PrintStream out) {
    +		this.out = out;
    +	}
    +
    +	/**
    +	 * Run this example.
    +	 *
    +	 * @throws Exception
    +	 *             in case of errors
    +	 */
    +	public void execute() throws Exception {
    +		final String targetName = TestTarget.class.getName();
    +
    +		// For instrumentation and runtime we need a IRuntime instance
    +		// to collect execution data:
    +		final IRuntime runtime = new LoggerRuntime();
    +
    +		// The Instrumenter creates a modified version of our test target class
    +		// that contains additional probes for execution data recording:
    +		final Instrumenter instr = new Instrumenter(runtime);
    +		InputStream original = getTargetClass(targetName);
    +		final byte[] instrumented = instr.instrument(original, targetName);
    +		original.close();
    +
    +		// Now we're ready to run our instrumented class and need to startup the
    +		// runtime first:
    +		final RuntimeData data = new RuntimeData();
    +		runtime.startup(data);
    +
    +		// In this tutorial we use a special class loader to directly load the
    +		// instrumented class definition from a byte[] instances.
    +		final MemoryClassLoader memoryClassLoader = new MemoryClassLoader();
    +		memoryClassLoader.addDefinition(targetName, instrumented);
    +		final Class<?> targetClass = memoryClassLoader.loadClass(targetName);
    +
    +		// Here we execute our test target class through its Runnable interface:
    +		final Runnable targetInstance = (Runnable) targetClass.newInstance();
    +		targetInstance.run();
    +
    +		// At the end of test execution we collect execution data and shutdown
    +		// the runtime:
    +		final ExecutionDataStore executionData = new ExecutionDataStore();
    +		final SessionInfoStore sessionInfos = new SessionInfoStore();
    +		data.collect(executionData, sessionInfos, false);
    +		runtime.shutdown();
    +
    +		// Together with the original class definition we can calculate coverage
    +		// information:
    +		final CoverageBuilder coverageBuilder = new CoverageBuilder();
    +		final Analyzer analyzer = new Analyzer(executionData, coverageBuilder);
    +		original = getTargetClass(targetName);
    +		analyzer.analyzeClass(original, targetName);
    +		original.close();
    +
    +		// Let's dump some metrics and line coverage information:
    +		for (final IClassCoverage cc : coverageBuilder.getClasses()) {
    +			out.printf("Coverage of class %s%n", cc.getName());
    +
    +			printCounter("instructions", cc.getInstructionCounter());
    +			printCounter("branches", cc.getBranchCounter());
    +			printCounter("lines", cc.getLineCounter());
    +			printCounter("methods", cc.getMethodCounter());
    +			printCounter("complexity", cc.getComplexityCounter());
    +
    +			for (int i = cc.getFirstLine(); i <= cc.getLastLine(); i++) {
    +				out.printf("Line %s: %s%n", Integer.valueOf(i),
    +						getColor(cc.getLine(i).getStatus()));
    +			}
    +		}
    +	}
    +
    +	private InputStream getTargetClass(final String name) {
    +		final String resource = '/' + name.replace('.', '/') + ".class";
    +		return getClass().getResourceAsStream(resource);
    +	}
    +
    +	private void printCounter(final String unit, final ICounter counter) {
    +		final Integer missed = Integer.valueOf(counter.getMissedCount());
    +		final Integer total = Integer.valueOf(counter.getTotalCount());
    +		out.printf("%s of %s %s missed%n", missed, total, unit);
    +	}
    +
    +	private String getColor(final int status) {
    +		switch (status) {
    +		case ICounter.NOT_COVERED:
    +			return "red";
    +		case ICounter.PARTLY_COVERED:
    +			return "yellow";
    +		case ICounter.FULLY_COVERED:
    +			return "green";
    +		}
    +		return "";
    +	}
    +
    +	/**
    +	 * Entry point to run this examples as a Java application.
    +	 *
    +	 * @param args
    +	 *            list of program arguments
    +	 * @throws Exception
    +	 *             in case of errors
    +	 */
    +	public static void main(final String[] args) throws Exception {
    +		new CoreTutorial(System.out).execute();
    +	}
    +
    +}
    diff --git a/jacoco/trunk/doc/examples/java/ExecDump.java b/jacoco/trunk/doc/examples/java/ExecDump.java
    new file mode 100644
    index 00000000000..139f15b3777
    --- /dev/null
    +++ b/jacoco/trunk/doc/examples/java/ExecDump.java
    @@ -0,0 +1,106 @@
    +/*******************************************************************************
    + * Copyright (c) 2009, 2024 Mountainminds GmbH & Co. KG and Contributors
    + * This program and the accompanying materials are made available under
    + * the terms of the Eclipse Public License 2.0 which is available at
    + * http://www.eclipse.org/legal/epl-2.0
    + *
    + * SPDX-License-Identifier: EPL-2.0
    + *
    + * Contributors:
    + *    Marc R. Hoffmann - initial API and implementation
    + *
    + *******************************************************************************/
    +package org.jacoco.examples;
    +
    +import java.io.FileInputStream;
    +import java.io.IOException;
    +import java.io.PrintStream;
    +import java.util.Date;
    +
    +import org.jacoco.core.data.ExecutionData;
    +import org.jacoco.core.data.ExecutionDataReader;
    +import org.jacoco.core.data.IExecutionDataVisitor;
    +import org.jacoco.core.data.ISessionInfoVisitor;
    +import org.jacoco.core.data.SessionInfo;
    +
    +/**
    + * This example reads execution data files given as program arguments and dumps
    + * their content.
    + */
    +public final class ExecDump {
    +
    +	private final PrintStream out;
    +
    +	/**
    +	 * Creates a new example instance printing to the given stream.
    +	 *
    +	 * @param out
    +	 *            stream for outputs
    +	 */
    +	public ExecDump(final PrintStream out) {
    +		this.out = out;
    +	}
    +
    +	/**
    +	 * Run this example with the given parameters.
    +	 *
    +	 * @param args
    +	 *            command line parameters
    +	 * @throws IOException
    +	 *             in case of error reading a input file
    +	 */
    +	public void execute(final String[] args) throws IOException {
    +		for (final String file : args) {
    +			dump(file);
    +		}
    +	}
    +
    +	private void dump(final String file) throws IOException {
    +		out.printf("exec file: %s%n", file);
    +		out.println("CLASS ID         HITS/PROBES   CLASS NAME");
    +
    +		final FileInputStream in = new FileInputStream(file);
    +		final ExecutionDataReader reader = new ExecutionDataReader(in);
    +		reader.setSessionInfoVisitor(new ISessionInfoVisitor() {
    +			public void visitSessionInfo(final SessionInfo info) {
    +				out.printf("Session \"%s\": %s - %s%n", info.getId(),
    +						new Date(info.getStartTimeStamp()),
    +						new Date(info.getDumpTimeStamp()));
    +			}
    +		});
    +		reader.setExecutionDataVisitor(new IExecutionDataVisitor() {
    +			public void visitClassExecution(final ExecutionData data) {
    +				out.printf("%016x  %3d of %3d   %s%n",
    +						Long.valueOf(data.getId()),
    +						Integer.valueOf(getHitCount(data.getProbes())),
    +						Integer.valueOf(data.getProbes().length),
    +						data.getName());
    +			}
    +		});
    +		reader.read();
    +		in.close();
    +		out.println();
    +	}
    +
    +	private int getHitCount(final boolean[] data) {
    +		int count = 0;
    +		for (final boolean hit : data) {
    +			if (hit) {
    +				count++;
    +			}
    +		}
    +		return count;
    +	}
    +
    +	/**
    +	 * Entry point to run this examples as a Java application.
    +	 *
    +	 * @param args
    +	 *            list of program arguments
    +	 * @throws IOException
    +	 *             in case of errors executing the example
    +	 */
    +	public static void main(final String[] args) throws IOException {
    +		new ExecDump(System.out).execute(args);
    +	}
    +}
    diff --git a/jacoco/trunk/doc/examples/java/ExecutionDataClient.java b/jacoco/trunk/doc/examples/java/ExecutionDataClient.java
    new file mode 100644
    index 00000000000..69b066b6cb8
    --- /dev/null
    +++ b/jacoco/trunk/doc/examples/java/ExecutionDataClient.java
    @@ -0,0 +1,69 @@
    +/*******************************************************************************
    + * Copyright (c) 2009, 2024 Mountainminds GmbH & Co. KG and Contributors
    + * This program and the accompanying materials are made available under
    + * the terms of the Eclipse Public License 2.0 which is available at
    + * http://www.eclipse.org/legal/epl-2.0
    + *
    + * SPDX-License-Identifier: EPL-2.0
    + *
    + * Contributors:
    + *    Marc R. Hoffmann - initial API and implementation
    + *
    + *******************************************************************************/
    +package org.jacoco.examples;
    +
    +import java.io.FileOutputStream;
    +import java.io.IOException;
    +import java.net.InetAddress;
    +import java.net.Socket;
    +
    +import org.jacoco.core.data.ExecutionDataWriter;
    +import org.jacoco.core.runtime.RemoteControlReader;
    +import org.jacoco.core.runtime.RemoteControlWriter;
    +
    +/**
    + * This example connects to a coverage agent that run in output mode
    + * <code>tcpserver</code> and requests execution data. The collected data is
    + * dumped to a local file.
    + */
    +public final class ExecutionDataClient {
    +
    +	private static final String DESTFILE = "jacoco-client.exec";
    +
    +	private static final String ADDRESS = "localhost";
    +
    +	private static final int PORT = 6300;
    +
    +	/**
    +	 * Starts the execution data request.
    +	 *
    +	 * @param args
    +	 * @throws IOException
    +	 */
    +	public static void main(final String[] args) throws IOException {
    +		final FileOutputStream localFile = new FileOutputStream(DESTFILE);
    +		final ExecutionDataWriter localWriter = new ExecutionDataWriter(
    +				localFile);
    +
    +		// Open a socket to the coverage agent:
    +		final Socket socket = new Socket(InetAddress.getByName(ADDRESS), PORT);
    +		final RemoteControlWriter writer = new RemoteControlWriter(
    +				socket.getOutputStream());
    +		final RemoteControlReader reader = new RemoteControlReader(
    +				socket.getInputStream());
    +		reader.setSessionInfoVisitor(localWriter);
    +		reader.setExecutionDataVisitor(localWriter);
    +
    +		// Send a dump command and read the response:
    +		writer.visitDumpCommand(true, false);
    +		if (!reader.read()) {
    +			throw new IOException("Socket closed unexpectedly.");
    +		}
    +
    +		socket.close();
    +		localFile.close();
    +	}
    +
    +	private ExecutionDataClient() {
    +	}
    +}
    diff --git a/jacoco/trunk/doc/examples/java/ExecutionDataServer.java b/jacoco/trunk/doc/examples/java/ExecutionDataServer.java
    new file mode 100644
    index 00000000000..b6f6be5ccda
    --- /dev/null
    +++ b/jacoco/trunk/doc/examples/java/ExecutionDataServer.java
    @@ -0,0 +1,111 @@
    +/*******************************************************************************
    + * Copyright (c) 2009, 2024 Mountainminds GmbH & Co. KG and Contributors
    + * This program and the accompanying materials are made available under
    + * the terms of the Eclipse Public License 2.0 which is available at
    + * http://www.eclipse.org/legal/epl-2.0
    + *
    + * SPDX-License-Identifier: EPL-2.0
    + *
    + * Contributors:
    + *    Marc R. Hoffmann - initial API and implementation
    + *
    + *******************************************************************************/
    +package org.jacoco.examples;
    +
    +import java.io.FileOutputStream;
    +import java.io.IOException;
    +import java.net.InetAddress;
    +import java.net.ServerSocket;
    +import java.net.Socket;
    +
    +import org.jacoco.core.data.ExecutionData;
    +import org.jacoco.core.data.ExecutionDataWriter;
    +import org.jacoco.core.data.IExecutionDataVisitor;
    +import org.jacoco.core.data.ISessionInfoVisitor;
    +import org.jacoco.core.data.SessionInfo;
    +import org.jacoco.core.runtime.RemoteControlReader;
    +import org.jacoco.core.runtime.RemoteControlWriter;
    +
    +/**
    + * This example starts a socket server to collect coverage from agents that run
    + * in output mode <code>tcpclient</code>. The collected data is dumped to a
    + * local file.
    + */
    +public final class ExecutionDataServer {
    +
    +	private static final String DESTFILE = "jacoco-server.exec";
    +
    +	private static final String ADDRESS = "localhost";
    +
    +	private static final int PORT = 6300;
    +
    +	/**
    +	 * Start the server as a standalone program.
    +	 *
    +	 * @param args
    +	 * @throws IOException
    +	 */
    +	public static void main(final String[] args) throws IOException {
    +		final ExecutionDataWriter fileWriter = new ExecutionDataWriter(
    +				new FileOutputStream(DESTFILE));
    +		final ServerSocket server = new ServerSocket(PORT, 0,
    +				InetAddress.getByName(ADDRESS));
    +		while (true) {
    +			final Handler handler = new Handler(server.accept(), fileWriter);
    +			new Thread(handler).start();
    +		}
    +	}
    +
    +	private static class Handler
    +			implements Runnable, ISessionInfoVisitor, IExecutionDataVisitor {
    +
    +		private final Socket socket;
    +
    +		private final RemoteControlReader reader;
    +
    +		private final ExecutionDataWriter fileWriter;
    +
    +		Handler(final Socket socket, final ExecutionDataWriter fileWriter)
    +				throws IOException {
    +			this.socket = socket;
    +			this.fileWriter = fileWriter;
    +
    +			// Just send a valid header:
    +			new RemoteControlWriter(socket.getOutputStream());
    +
    +			reader = new RemoteControlReader(socket.getInputStream());
    +			reader.setSessionInfoVisitor(this);
    +			reader.setExecutionDataVisitor(this);
    +		}
    +
    +		public void run() {
    +			try {
    +				while (reader.read()) {
    +				}
    +				socket.close();
    +				synchronized (fileWriter) {
    +					fileWriter.flush();
    +				}
    +			} catch (final IOException e) {
    +				e.printStackTrace();
    +			}
    +		}
    +
    +		public void visitSessionInfo(final SessionInfo info) {
    +			System.out.printf("Retrieving execution Data for session: %s%n",
    +					info.getId());
    +			synchronized (fileWriter) {
    +				fileWriter.visitSessionInfo(info);
    +			}
    +		}
    +
    +		public void visitClassExecution(final ExecutionData data) {
    +			synchronized (fileWriter) {
    +				fileWriter.visitClassExecution(data);
    +			}
    +		}
    +	}
    +
    +	private ExecutionDataServer() {
    +	}
    +}
    diff --git a/jacoco/trunk/doc/examples/java/MBeanClient.java b/jacoco/trunk/doc/examples/java/MBeanClient.java
    new file mode 100644
    index 00000000000..4ab17b66ab8
    --- /dev/null
    +++ b/jacoco/trunk/doc/examples/java/MBeanClient.java
    @@ -0,0 +1,83 @@
    +/*******************************************************************************
    + * Copyright (c) 2009, 2024 Mountainminds GmbH & Co. KG and Contributors
    + * This program and the accompanying materials are made available under
    + * the terms of the Eclipse Public License 2.0 which is available at
    + * http://www.eclipse.org/legal/epl-2.0
    + *
    + * SPDX-License-Identifier: EPL-2.0
    + *
    + * Contributors:
    + *    Evgeny Mandrikov - initial API and implementation
    + *
    + *******************************************************************************/
    +package org.jacoco.examples;
    +
    +import java.io.FileOutputStream;
    +
    +import javax.management.MBeanServerConnection;
    +import javax.management.MBeanServerInvocationHandler;
    +import javax.management.ObjectName;
    +import javax.management.remote.JMXConnector;
    +import javax.management.remote.JMXConnectorFactory;
    +import javax.management.remote.JMXServiceURL;
    +
    +/**
    + * This example connects to a JaCoCo agent that runs with the option
    + * <code>jmx=yes</code> and requests execution data. The collected data is
    + * dumped to a local file.
    + */
    +public final class MBeanClient {
    +
    +	private static final String DESTFILE = "jacoco-client.exec";
    +
    +	private static final String SERVICE_URL = "service:jmx:rmi:///jndi/rmi://localhost:9999/jmxrmi";
    +
    +	/**
    +	 * Execute the example.
    +	 *
    +	 * @param args
    +	 * @throws Exception
    +	 */
    +	public static void main(final String[] args) throws Exception {
    +		// Open connection to the coverage agent:
    +		final JMXServiceURL url = new JMXServiceURL(SERVICE_URL);
    +		final JMXConnector jmxc = JMXConnectorFactory.connect(url, null);
    +		final MBeanServerConnection connection = jmxc
    +				.getMBeanServerConnection();
    +
    +		final IProxy proxy = (IProxy) MBeanServerInvocationHandler
    +				.newProxyInstance(connection,
    +						new ObjectName("org.jacoco:type=Runtime"), IProxy.class,
    +						false);
    +
    +		// Retrieve JaCoCo version and session id:
    +		System.out.println("Version: " + proxy.getVersion());
    +		System.out.println("Session: " + proxy.getSessionId());
    +
    +		// Retrieve dump and write to file:
    +		final byte[] data = proxy.getExecutionData(false);
    +		final FileOutputStream localFile = new FileOutputStream(DESTFILE);
    +		localFile.write(data);
    +		localFile.close();
    +
    +		// Close connection:
    +		jmxc.close();
    +	}
    +
    +	interface IProxy {
    +		String getVersion();
    +
    +		String getSessionId();
    +
    +		void setSessionId(String id);
    +
    +		byte[] getExecutionData(boolean reset);
    +
    +		void dump(boolean reset);
    +
    +		void reset();
    +	}
    +
    +	private MBeanClient() {
    +	}
    +}
    diff --git a/jacoco/trunk/doc/examples/java/ReportGenerator.java b/jacoco/trunk/doc/examples/java/ReportGenerator.java
    new file mode 100644
    index 00000000000..4aa3a0a86f4
    --- /dev/null
    +++ b/jacoco/trunk/doc/examples/java/ReportGenerator.java
    @@ -0,0 +1,139 @@
    +/*******************************************************************************
    + * Copyright (c) 2009, 2024 Mountainminds GmbH & Co. KG and Contributors
    + * This program and the accompanying materials are made available under
    + * the terms of the Eclipse Public License 2.0 which is available at
    + * http://www.eclipse.org/legal/epl-2.0
    + *
    + * SPDX-License-Identifier: EPL-2.0
    + *
    + * Contributors:
    + *    Brock Janiczak - initial API and implementation
    + *
    + *******************************************************************************/
    +package org.jacoco.examples;
    +
    +import java.io.File;
    +import java.io.IOException;
    +
    +import org.jacoco.core.analysis.Analyzer;
    +import org.jacoco.core.analysis.CoverageBuilder;
    +import org.jacoco.core.analysis.IBundleCoverage;
    +import org.jacoco.core.tools.ExecFileLoader;
    +import org.jacoco.report.DirectorySourceFileLocator;
    +import org.jacoco.report.FileMultiReportOutput;
    +import org.jacoco.report.IReportVisitor;
    +import org.jacoco.report.html.HTMLFormatter;
    +
    +/**
    + * This example creates a HTML report for eclipse like projects based on a
    + * single execution data store called jacoco.exec. The report contains no
    + * grouping information.
    + *
    + * The class files under test must be compiled with debug information, otherwise
    + * source highlighting will not work.
    + */
    +public class ReportGenerator {
    +
    +	private final String title;
    +
    +	private final File executionDataFile;
    +	private final File classesDirectory;
    +	private final File sourceDirectory;
    +	private final File reportDirectory;
    +
    +	private ExecFileLoader execFileLoader;
    +
    +	/**
    +	 * Create a new generator based for the given project.
    +	 *
    +	 * @param projectDirectory
    +	 */
    +	public ReportGenerator(final File projectDirectory) {
    +		this.title = projectDirectory.getName();
    +		this.executionDataFile = new File(projectDirectory, "jacoco.exec");
    +		this.classesDirectory = new File(projectDirectory, "bin");
    +		this.sourceDirectory = new File(projectDirectory, "src");
    +		this.reportDirectory = new File(projectDirectory, "coveragereport");
    +	}
    +
    +	/**
    +	 * Create the report.
    +	 *
    +	 * @throws IOException
    +	 */
    +	public void create() throws IOException {
    +
    +		// Read the jacoco.exec file. Multiple data files could be merged
    +		// at this point
    +		loadExecutionData();
    +
    +		// Run the structure analyzer on a single class folder to build up
    +		// the coverage model. The process would be similar if your classes
    +		// were in a jar file. Typically you would create a bundle for each
    +		// class folder and each jar you want in your report. If you have
    +		// more than one bundle you will need to add a grouping node to your
    +		// report
    +		final IBundleCoverage bundleCoverage = analyzeStructure();
    +
    +		createReport(bundleCoverage);
    +
    +	}
    +
    +	private void createReport(final IBundleCoverage bundleCoverage)
    +			throws IOException {
    +
    +		// Create a concrete report visitor based on some supplied
    +		// configuration. In this case we use the defaults
    +		final HTMLFormatter htmlFormatter = new HTMLFormatter();
    +		final IReportVisitor visitor = htmlFormatter
    +				.createVisitor(new FileMultiReportOutput(reportDirectory));
    +
    +		// Initialize the report with all of the execution and session
    +		// information. At this point the report doesn't know about the
    +		// structure of the report being created
    +		visitor.visitInfo(execFileLoader.getSessionInfoStore().getInfos(),
    +				execFileLoader.getExecutionDataStore().getContents());
    +
    +		// Populate the report structure with the bundle coverage information.
    +		// Call visitGroup if you need groups in your report.
    +		visitor.visitBundle(bundleCoverage,
    +				new DirectorySourceFileLocator(sourceDirectory, "utf-8", 4));
    +
    +		// Signal end of structure information to allow report to write all
    +		// information out
    +		visitor.visitEnd();
    +
    +	}
    +
    +	private void loadExecutionData() throws IOException {
    +		execFileLoader = new ExecFileLoader();
    +		execFileLoader.load(executionDataFile);
    +	}
    +
    +	private IBundleCoverage analyzeStructure() throws IOException {
    +		final CoverageBuilder coverageBuilder = new CoverageBuilder();
    +		final Analyzer analyzer = new Analyzer(
    +				execFileLoader.getExecutionDataStore(), coverageBuilder);
    +
    +		analyzer.analyzeAll(classesDirectory);
    +
    +		return coverageBuilder.getBundle(title);
    +	}
    +
    +	/**
    +	 * Starts the report generation process
    +	 *
    +	 * @param args
    +	 *            Arguments to the application. This will be the location of the
    +	 *            eclipse projects that will be used to generate reports for
    +	 * @throws IOException
    +	 */
    +	public static void main(final String[] args) throws IOException {
    +		for (int i = 0; i < args.length; i++) {
    +			final ReportGenerator generator = new ReportGenerator(
    +					new File(args[i]));
    +			generator.create();
    +		}
    +	}
    +
    +}
    diff --git a/jacoco/trunk/doc/faq.html b/jacoco/trunk/doc/faq.html
    new file mode 100644
    index 00000000000..1c9d5a7728a
    --- /dev/null
    +++ b/jacoco/trunk/doc/faq.html
    @@ -0,0 +1,215 @@
    +<?xml version="1.0" encoding="UTF-8" ?>
    +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
    +<html xmlns="http://www.w3.org/1999/xhtml" lang="en">
    +<head>
    +  <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
    +  <link rel="stylesheet" href="resources/doc.css" charset="UTF-8" type="text/css" />
    +  <link rel="shortcut icon" href="resources/report.gif" type="image/gif" />
    +  <title>JaCoCo - FAQ</title>
    +</head>
    +<body>
    +
    +<div class="breadcrumb">
    +  <a href="../index.html" class="el_report">JaCoCo</a> &gt;
    +  <a href="index.html" class="el_group">Documentation</a> &gt;
    +  <span class="el_source">FAQ</span>
    +</div>
    +<div id="content">
    +
    +<h1>FAQ</h1>
    +
    +<p>
    +  This is a compilation of questions that have been asked by JaCoCo users
    +  before.
    +</p>
    +
    +<h3>When will feature X be released?</h3>
    +<p>
    +  JaCoCo is maintained by volunteers in their free time. Since we cannot
    +  guarantee free capacity, we do not commit to particular release dates.
    +  Typically, you can expect a couple of releases every year.
    +</p>
    +<p>
    +  In the <a href="changes.html">change log</a>, you can see all features
    +  that have been implemented in master branch and will be available
    +  with the next release. And in the meantime you can test latest build
    +  of master branch (<a href="repo.html">Maven SNAPSHOT</a>) and provide
    +  <a href="support.html">feedback</a> to us.
    +</p>
    +
    +<h3>Does JaCoCo have a plug-in for [Eclipse|Netbeans|Whatever...]?</h3>
    +<p>
    +  See <a href="integrations.html">this list</a> for current integrations with
    +  various tools.
    +</p>
    +
    +<h3>What Java versions are supported by JaCoCo?</h3>
    +<p>
    +  JaCoCo supports Java class files from version 1.0 to 22. However the minimum
    +  JRE version required by the JaCoCo runtime (e.g. the agent) and the JaCoCo
    +  tools is 1.5. Also note that class files under test from version 1.6 and above
    +  have to contain valid stackmap frames.
    +</p>
    +
    +<h3>Why do I get the error "Can't add different class with same name"?</h3>
    +<p>
    +  For coverage report generation all classes within a group must have unique
    +  names. You get this error during report generation if JaCoCo is supplied with
    +  multiple different class files with the same name. To fix this remove those
    +  duplicate classes or create separate reports or report groups for each version.
    +</p>
    +
    +<h3>Source code lines with exceptions show no coverage. Why?</h3>
    +<p>
    +  JaCoCo determines code execution with so called probes. Probes are inserted
    +  into the control flow at certain positions. Code is considered as executed
    +  when a subsequent probe has been executed. In case of exceptions such a
    +  sequence of instructions is aborted somewhere in the middle and the
    +  corresponding lines of source code are not marked as covered.
    +</p>
    +
    +<h3>Why does the coverage report not show line coverage figures?</h3>
    +<p>
    +  JaCoCo is based on class files analysis. To calculate line coverage class
    +  files must contain line number attributes. For this your code must be compiled
    +  with debug information.
    +</p>
    +
    +<h3>Why does the coverage report not show highlighted source code?</h3>
    +<p>
    +  Make sure the following prerequisites are fulfilled to get source code
    +  highlighting in JaCoCo coverage reports:
    +</p>
    +<ul>
    +  <li>Class files must be compiled with debug information to contain line numbers.</li>
    +  <li>Source files must be properly supplied at report generation time. I.e.
    +      specified source folders must be the direct parent of the folders that
    +      define the Java packages.</li>
    +</ul>
    +
    +<h3>Why does a class show as not covered although it has been executed?</h3>
    +<p>
    +  First make sure execution data has been collected. For this select the
    +  <i>Sessions</i> link on the top right corner of the HTML report and check
    +  whether the class in question is listed. If it is listed but not linked the
    +  class at execution time is a different class file. Make sure you're using the
    +  exact same class file at runtime as for report generation. Note that some
    +  tools (e.g. EJB containers, mocking frameworks) might modify your class files
    +  at runtime. Please see the chapter about <a href="classids.html"> class
    +  ids</a> for a detailed discussion.
    +</p>
    +
    +<h3>Why are abstract methods not shown in coverage reports?</h3>
    +<p>
    +  Abstract methods do not contain code, therefore code coverage cannot be
    +  evaluated. Indeed code coverage is recorded for subclasses implementing these
    +  methods. The same applies to non-default methods in interfaces.
    +</p>
    +
    +<h3>Can I collect coverage information without stopping the JVM?</h3>
    +<p>
    +  Yes, there are three possible ways: The JaCoCo <a href="agent.html">agent</a>
    +  can be configured for remote control via TCP/IP sockets. This allows to
    +  collect execution data at any point in time from a running JVM. The
    +  <a href="ant.html#dump"><code>dump</code> Ant task</a>, the
    +  <a href="dump-mojo.html"><code>dump</code> Maven goal</a> and the
    +  <a href="cli.html">command line interface</a> can be used to request dumps.
    +  The remote control feature also allows you to reset execution data.
    +</p>
    +<p>
    +  Alternatively the JaCoCo <a href="agent.html">agent</a> can be configured to
    +  expose some functionality via JMX (<code>jmx=true</code>). The bean
    +  <code><a href="./api/org/jacoco/agent/rt/IAgent.html">org.jacoco:type=Runtime</a></code>
    +  provides operations to dump and reset execution data at any point in time.
    +</p>
    +<p>
    +  In addition JaCoCo provides a <a href="./api/org/jacoco/agent/rt/RT.html">Java API</a>
    +  to directly access the runtime within the JVM executing the tests.
    +</p>
    +
    +<h3>My code uses reflection. Why does it fail when I execute it with JaCoCo?</h3>
    +<p>
    +  To collect execution data JaCoCo instruments the classes under test which adds
    +  two members to the classes: A private static field <code>$jacocoData</code>
    +  and a private static method <code>$jacocoInit()</code>. Both members are
    +  marked as synthetic.
    +</p>
    +<p>
    +  Please change your code to ignore synthetic members. This is a good practice
    +  anyways as also the Java compiler creates synthetic members in certain
    +  situation.
    +</p>
    +
    +<h3>Why do I get an error while instrumenting certain Java classes?</h3>
    +<p>
    +  JaCoCo can instrument valid class files only. Class files with syntactical or
    +  semantical error will typically lead to exceptions. In certain areas JaCoCo is
    +  more restrictive then the JVM: JaCoCo expects valid so-called "stackmap
    +  frame" information in class files of version 1.6 or higher. In turn JaCoCo
    +  instrumented classes are expected to conform the specification.
    +</p>
    +<p>
    +  Invalid class files are typically created by some frameworks which do not
    +  properly adjust stackmap frames when manipulating bytecode.
    +</p>
    +
    +<h3>Does JaCoCo run on the IBM JRE J9 and WebSphere?</h3>
    +<p>
    +  It does. To make the JaCoCo agent work please set the VM option
    +  <code>-Xshareclasses:none</code>.
    +</p>
    +
    +<h3>Why do I get a <code>NoClassDefFoundError</code> or
    +    <code>ClassNotFoundException</code> for class
    +    <code>org.jacoco.agent[...]Offline</code>?</h3>
    +<p>
    +  If you use <a href="offline.html">offline instrumentation</a> the instrumented
    +  classes get a direct dependency on the JaCoCo runtime. Therefore
    +  <code>jacocoagent.jar</code> of the same JaCoCo version must be on the
    +  classpath and accessible from by the instrumented classes.
    +</p>
    +
    +<h3>Why do I get a <code>StackOverflowError</code> during code coverage analysis?</h3>
    +<p>
    +  There are two known reasons for this:
    +</p>
    +<ul>
    +  <li>Misconfiguration: If you configure two JaCoCo agents of different releases
    +      they will instrument each other and cause a endless recursion. Check the
    +      effective java command line and avoid such configurations.</li>
    +  <li>Heavy stack usage: JaCoCo instrumentation adds a small runtime overhead
    +      by adding a local variable to each method. If your application is already
    +      close to the maximum stack size this can eventually lead to an
    +      <code>StackOverflowError</code>. Increase the maximum java stack size with
    +      the <code>-Xss</code> JVM option.</li>
    +</ul>
    +
    +<h3>Why do I see classes in the coverage report although I excluded them in the JaCoCo agent configuration?</h3>
    +<p>
    +  The <code>includes</code> and <code>excludes</code> options of the
    +  <a href="agent.html">JaCoCo agent</a> determine for which classes execution
    +  data is collected. Except for technical corner cases these options are
    +  normally not required. If you exclude classes, no execution data is collected
    +  for them.
    +</p>
    +<p>
    +  Report creation is a separate step where all class files which should show up
    +  in the report are explicitly provided. Coverage is determined from the
    +  provided execution data. If execution data is missing for a particular class,
    +  this class is shown as not covered because the report generator cannot
    +  distinguish whether the class was excluded from instrumentation or not executed.
    +</p>
    +
    +<p>
    +  If you want to exclude classes from the report please configure the
    +  respective report generation tool accordingly.
    +</p>
    +
    +</div>
    +<div class="footer">
    +  <span class="right"><a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.12.202403270442</span>
    +  <a href="license.html">Copyright</a> &copy; 2009, 2024 Mountainminds GmbH &amp; Co. KG and Contributors
    +</div>
    +
    +</body>
    +</html>
    diff --git a/jacoco/trunk/doc/flow.html b/jacoco/trunk/doc/flow.html
    new file mode 100644
    index 00000000000..ec2efe00ca7
    --- /dev/null
    +++ b/jacoco/trunk/doc/flow.html
    @@ -0,0 +1,430 @@
    +<?xml version="1.0" encoding="UTF-8" ?>
    +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
    +<html xmlns="http://www.w3.org/1999/xhtml" lang="en">
    +<head>
    +  <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
    +  <link rel="stylesheet" href="resources/doc.css" charset="UTF-8" type="text/css" />
    +  <link rel="stylesheet" href="../coverage/jacoco-resources/prettify.css" charset="UTF-8" type="text/css" />
    +  <link rel="shortcut icon" href="resources/report.gif" type="image/gif" />
    +  <script type="text/javascript" src="../coverage/jacoco-resources/prettify.js"></script>
    +  <title>JaCoCo - Control Flow Analysis</title>
    +</head>
    +<body onload="prettyPrint()">
    +
    +<div class="breadcrumb">
    +  <a href="../index.html" class="el_report">JaCoCo</a> &gt;
    +  <a href="index.html" class="el_group">Documentation</a> &gt;
    +  <span class="el_source">Control Flow Analysis</span>
    +</div>
    +<div id="content">
    +
    +<h1>Control Flow Analysis for Java Methods</h1>
    +
    +<p class="hint">
    +  Implementing a coverage tool that supports statement (C0) as well as branch
    +  coverage coverage (C1) requires detailed analysis of the internal control flow
    +  of Java methods. Due to the architecture of JaCoCo this analysis happens on
    +  the bytecode of compiled class files. This document describes JaCoCo's
    +  strategies for inserting probes into the control flow at runtime and analyzing
    +  the actual code coverage. Marc R. Hoffmann, November 2011
    +</p>
    +
    +<h2>Control Flow Graphs for Java Bytecode</h2>
    +
    +<p>
    +  As an starting point we take the following example method that contains a
    +  single branching point:
    +</p>
    +
    +<pre class="source lang-java linenums">
    +public static void example() {
    +    a();
    +    if (cond()) {
    +        b();
    +    } else {
    +        c();
    +    }
    +    d();
    +}
    +</pre>
    +
    +<p>
    +  A Java compiler will create the following bytecode from this example method.
    +  Java bytecode is a linear sequence of instructions. Control flow is
    +  implemented with <i>jump</i> instructions like the conditional
    +  <code>IFEQ</code> or the unconditional <code>GOTO</code> opcode. The jump
    +  targets are technically relative offsets to the target instruction. For better
    +  readability we use symbolic labels (<code>L1</code>, <code>L2</code>) instead
    +  (also the ASM API uses such symbolic labels):
    +</p>
    +
    +<pre class="source linenums">
    +public static example()V
    +      INVOKESTATIC a()V
    +      INVOKESTATIC cond()Z
    +      IFEQ L1
    +      INVOKESTATIC b()V
    +      GOTO L2
    +  L1: INVOKESTATIC c()V
    +  L2: INVOKESTATIC d()V
    +      RETURN
    +</pre>
    +
    +<p>
    +  The possible control flow in the bytecode above can be represented by a graph.
    +  The nodes are byte code instruction, the edged of the graph represent the
    +  possible control flow between the instructions. The control flow of the
    +  example is shown in the left box of this diagram:
    +</p>
    +
    +<img src="resources/flow-example.png" alt="Bytecode Control Flow"/>
    +
    +
    +<h3>Flow Edges</h3>
    +
    +<p>
    +  The control flow graph of a Java method defined by Java byte code may have
    +  the following Edges. Each edge connects a source instruction with a target
    +  instruction. In some cases the source instruction or the target instruction
    +  does not exist (virtual edges for method entry and exit) or cannot be
    +  exactly specified (exception handlers).
    +</p>
    +
    +<table class="coverage">
    +  <thead>
    +    <tr>
    +      <td>Type</td>
    +      <td>Source</td>
    +      <td>Target</td>
    +      <td>Remarks</td>
    +    </tr>
    +  </thead>
    +  <tbody>
    +    <tr>
    +      <td>ENTRY</td>
    +      <td>-</td>
    +      <td>First instruction in method</td>
    +      <td></td>
    +    </tr>
    +    <tr>
    +      <td>SEQUENCE</td>
    +      <td>Instruction, except <code>GOTO</code>, <code>xRETURN</code>,
    +        <code>THROW</code>, <code>TABLESWITCH</code> and <code>LOOKUPSWITCH</code></td>
    +      <td>Subsequent instruction</td>
    +      <td></td>
    +    </tr>
    +    <tr>
    +      <td>JUMP</td>
    +      <td><code>GOTO</code>, <code>IFx</code>, <code>TABLESWITCH</code> or
    +        <code>LOOKUPSWITCH</code>  instruction</td>
    +      <td>Target instruction</td>
    +      <td><code>TABLESWITCH</code> and <code>LOOKUPSWITCH</code> will define
    +        multiple edges.</td>
    +    </tr>
    +    <tr>
    +      <td>EXHANDLER</td>
    +      <td>Any instruction in handler scope</td>
    +      <td>Target instruction</td>
    +      <td></td>
    +    </tr>
    +    <tr>
    +      <td>EXIT</td>
    +      <td><code>xRETURN</code> or <code>THROW</code> instruction</td>
    +      <td>-</td>
    +      <td></td>
    +    </tr>
    +    <tr>
    +      <td>EXEXIT</td>
    +      <td>Any instruction</td>
    +      <td>-</td>
    +      <td>Unhandled exception.</td>
    +    </tr>
    +  </tbody>
    +</table>
    +
    +<p>
    +  The current JaCoCo implementation ignores edges caused by implicit exceptions
    +  and the method entry. This means we consider SEQUENCE, JUMP, EXIT.
    +</p>
    +
    +
    +<h2>Probe Insertion Strategy</h2>
    +
    +<p>
    +  Probes are additional instructions that can be inserted between existing
    +  instructions. They do not change the behavior of the method but record the
    +  fact that they have been executed. One can think probes are placed on edges of
    +  the control flow graph. Theoretically we could insert a probe at every edge of
    +  the control flow graph. As a probe implementation itself requires multiple
    +  bytecode instructions this would increase the size of the class files several
    +  times and significantly slow down execution speed of the instrumented classes.
    +  Fortunately this is not required, in fact we only need a few probes per method
    +  depending on the control flow of the method. For example a method without any
    +  branches requires a single probe only. The reason for this is that starting
    +  from a certain probe we can back-trace the execution path and typically get
    +  coverage information for multiple instructions.
    +</p>
    +
    +<p>
    +  If a probe has been executed we know that the corresponding edge has been
    +  visited. From this edge we can conclude to other preceding nodes and edges:
    +</p>
    +
    +<ul>
    +  <li>If a edge has been visited, we know that the source node of the this edge
    +      has been executed.</li>
    +  <li>If a node has been executed and the node is the target of only one edge
    +      we know that this edge has been visited.</li>
    +</ul>
    +
    +<p>
    +  Recursively applying these rules allows to determine the execution status of
    +  all instructions of a method &ndash; given that we have probes at the right
    +  positions. Therefore JaCoCo inserts probes
    +</p>
    +
    +<ul>
    +  <li>at every method exit (return or throws) and</li>
    +  <li>at every edge where the target instruction is the target of more than one
    +      edge.</li>
    +</ul>
    +
    +<p>
    +  We recall that a probe is simply a small sequence of additional instructions
    +  that needs to be inserted at a control flow edge. The following table
    +  illustrates how this extra instructions are added in case of different edge
    +  types.
    +</p>
    +
    +<table class="coverage">
    +  <thead>
    +    <tr>
    +      <td>Type</td>
    +      <td>Before</td>
    +      <td>After</td>
    +      <td>Remarks</td>
    +    </tr>
    +  </thead>
    +  <tbody>
    +    <tr>
    +      <td>SEQUENCE</td>
    +      <td><img src="resources/flow-sequence.png" alt="Sequence"/></td>
    +      <td><img src="resources/flow-sequence-probe.png" alt="Sequence with Probe"/></td>
    +      <td>
    +        In case of a simple sequence the probe is simply inserted between the
    +        two instructions.
    +      </td>
    +    </tr>
    +    <tr>
    +      <td>JUMP (unconditional)</td>
    +      <td><img src="resources/flow-goto.png" alt="Unconditional Jump"/></td>
    +      <td><img src="resources/flow-goto-probe.png" alt="Unconditional Jump with Probe"/></td>
    +      <td>
    +        As an unconditional jump is executed in any case, we can also insert the
    +        probe just before the GOTO instruction.
    +      </td>
    +    </tr>
    +    <tr>
    +      <td>JUMP (conditional)</td>
    +      <td><img src="resources/flow-cond.png" alt="Conditional Jump"/></td>
    +      <td><img src="resources/flow-cond-probe.png" alt="Conditional Jump with Probe"/></td>
    +      <td>
    +        Adding a probe to an conditional jump is little bit more tricky. We
    +        invert the semantic of the opcode and add the probe right after the
    +        conditional jump. With a subsequent <code>GOTO</code> instruction we
    +        jump to the original target. Note that this approach will not introduce
    +        a backward jump, which would cause trouble with the Java verifier if we
    +        have an uninitialized object on the stack.
    +      </td>
    +    </tr>
    +    <tr>
    +      <td>EXIT</td>
    +      <td><img src="resources/flow-exit.png" alt="Exit"/></td>
    +      <td><img src="resources/flow-exit-probe.png" alt="Exit with Probe"/></td>
    +      <td>
    +        As is is the nature of RETURN and THROW statements to actually leave the
    +        method we add the probe right before these statements.
    +      </td>
    +    </tr>
    +  </tbody>
    +</table>
    +
    +<p>
    +  Now let's see how this rules apply to the example snippet above. We see that
    +  <code>INVOKE d()</code> instruction is the only node with more than one
    +  incoming edge. So we need to place probes on those edges and another probe on
    +  the only exit node. The result is shown the right box of the diagram
    +  above.
    +</p>
    +
    +<h2>Additional Probes Between Lines</h2>
    +
    +<p>
    +  The probe insertion strategy described so far does not consider implicit
    +  exceptions thrown for example from invoked methods. If the control flow
    +  between two probes is interrupted by a exception not explicitly created with
    +  a <code>throw</code> statement all instruction in between are considered as
    +  not covered. This leads to unexpected results especially when the block of
    +  instructions spans multiple lines of source code.
    +</p>
    +
    +<p>
    +  Therefore JaCoCo adds an additional probe between the instructions of two
    +  lines whenever the subsequent line contains at least one method invocation.
    +  This limits the effect of implicit exceptions from method invocations to
    +  single lines of source. The approach only works for class files compiled with
    +  debug information (line numbers) and does not consider implicit exceptions
    +  from other instructions than method invocations (e.g.
    +  <code>NullPointerException</code> or <code>ArrayIndexOutOfBoundsException</code>).
    +</p>
    +
    +<h2>Probe Implementation</h2>
    +
    +<p>
    +  Code coverage analysis is a runtime metric that provides execution details
    +  of the software under test. This requires detailed recording about the
    +  instructions (instruction coverage) that have been executed. For branch
    +  coverage also the outcome of decisions has to be recorded. In any case
    +  execution data is collected by so called probes:
    +</p>
    +
    +<p class="hint">
    +  A <b>probe</b> is a sequence of bytecode instructions that can be inserted
    +  into a Java method. When the probe is executed, this fact is recorded and can
    +  be reported by the coverage runtime. The probe must not change the behavior
    +  of the original code.
    +</p>
    +
    +<p>
    +  The only purpose of the probe is to record that it has been executed at least
    +  once. The probe does not record the number of times it has been called or
    +  collect any timing information. The latter is out of scope for code coverage
    +  analysis and more in the objective of a performance analysis tool. Typically
    +  multiple probes needs to be inserted into each method, therefore probes needs
    +  to be identified. Also the probe implementation and the storage mechanism it
    +  depends on needs to be thread safe as multi-threaded execution is a common
    +  scenario for java applications (albeit not for plain unit tests). Probes must
    +  not have any side effects on the original code of the method. Also they should
    +  add minimal overhead.
    +</p>
    +
    +<p>
    +  So to summarize the requirements for execution probes:
    +</p>
    +
    +<ul>
    +  <li>Record execution</li>
    +  <li>Identification for different probes</li>
    +  <li>Thread safe</li>
    +  <li>No side effects on application code</li>
    +  <li>Minimal runtime overhead</li>
    +</ul>
    +
    +<p>
    +  JaCoCo implements probes with a <code>boolean[]</code> array instance per
    +  class. Each probe corresponds to a entry in this array. Whenever the probe is
    +  executed the entry is set to <code>true</code> with the following four
    +  bytecode instructions:
    +</p>
    +
    +<pre class="source">
    +ALOAD    probearray
    +xPUSH    probeid
    +ICONST_1
    +BASTORE
    +</pre>
    +
    +<p>
    +  Note that this probe code is thread safe and does not modify the operand stack
    +  or modify local variables. It does also not leave the
    +  method through an external call. The only prerequisite is that the probe array
    +  is available as a local variable. For this at the beginning of each method
    +  additional instrumentation code needs to be added to obtain the array instance
    +  associated with the belonging class. To avoid code duplication the
    +  initialization is delegated to a static private method
    +  <code>$jacocoinit()</code> which is added to every non-interface class.
    +</p>
    +
    +<p>
    +  The size of the probe code above depends on the position of the probe array
    +  variable and the value of the probe identifier as different opcodes can be
    +  used. As calculated in the table below the overhead per probe ranges between 4
    +  and 7 bytes of additional bytecode:
    +</p>
    +
    +<table class="coverage">
    +  <thead>
    +    <tr>
    +      <td>Possible Opcodes</td>
    +      <td>Min. Size [bytes]</td>
    +      <td>Max. Size [bytes]</td>
    +    </tr>
    +  </thead>
    +  <tfoot>
    +    <tr>
    +      <td>Total:</td>
    +      <td>4</td>
    +      <td>7</td>
    +    </tr>
    +  </tfoot>
    +  <tbody>
    +    <tr>
    +      <td><code>ALOAD_x</code>, <code>ALOAD</code> <sup>1</sup></td>
    +      <td>1</td>
    +      <td>2</td>
    +    </tr>
    +    <tr>
    +      <td><code>ICONST_x</code>, <code>BIPUSH</code>, <code>SIPUSH</code>, <code>LDC</code>, <code>LDC_W</code> <sup>2</sup></td>
    +      <td>1</td>
    +      <td>3</td>
    +    </tr>
    +    <tr>
    +      <td><code>ICONST_1</code></td>
    +      <td>1</td>
    +      <td>1</td>
    +    </tr>
    +    <tr>
    +      <td><code>BASTORE</code></td>
    +      <td>1</td>
    +      <td>1</td>
    +    </tr>
    +  </tbody>
    +</table>
    +
    +<p>
    +  <sup>1</sup> The probe array is the first variable after the arguments.
    +  If the method arguments do not consume more that 3 slots the 1-byte opcode can
    +  be used.<br/>
    +  <sup>2</sup> 1-byte opcodes for ids 0 to 5, 2-byte opcode for ids up to 127,
    +  3-byte opcode for ids up to 32767. Ids values of 32768 or more require an
    +  additional constant pool entry. For normal class files it is very unlikely to
    +  require more than 32,000 probes.
    +</p>
    +
    +<h2>Performance</h2>
    +
    +<p>
    +  The control flow analysis and probe insertion strategy described in this
    +  document allows to efficiently record instruction and branch coverage. In
    +  total classes instrumented with JaCoCo increase their size by about 30%. Due
    +  to the fact that probe execution does not require any method calls, only local
    +  instructions, the observed execution time overhead for instrumented
    +  applications typically is less than 10%.
    +</p>
    +
    +<h2>References</h2>
    +
    +<ul>
    +  <li><a href="https://asm.ow2.io/">ASM byte code library</a> by Eric Bruneton at al.</li>
    +  <li><a href="https://marketplace.eclipse.org/content/bytecode-outline">Bytecode Outline Plug-In</a> by Andrei Loskutov</li>
    +  <li><a href="http://en.wikipedia.org/wiki/Glossary_of_graph_theory">Wikipedia: Glossary of Graph Theory</a></li>
    +</ul>
    +
    +</div>
    +<div class="footer">
    +  <div class="right"><a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.12.202403270442</div>
    +  <a href="license.html">Copyright</a> &copy; 2009, 2024 Mountainminds GmbH &amp; Co. KG and Contributors
    +</div>
    +
    +</body>
    +</html>
    diff --git a/jacoco/trunk/doc/help-mojo.html b/jacoco/trunk/doc/help-mojo.html
    new file mode 100644
    index 00000000000..53055f4fbeb
    --- /dev/null
    +++ b/jacoco/trunk/doc/help-mojo.html
    @@ -0,0 +1,335 @@
    +<?xml version="1.0" encoding="UTF-8"?>
    +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
    +<html xmlns="http://www.w3.org/1999/xhtml">
    +    <head>
    +        <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
    +        <link rel="stylesheet" href="resources/doc.css" charset="UTF-8" type="text/css" />
    +        <link rel="shortcut icon" href="resources/report.gif" type="image/gif" />
    +        <title>
    +					JaCoCo -
    +					jacoco:help</title>
    +    </head>
    +    <body>
    +        <div class="breadcrumb">
    +            <a href="../index.html" class="el_report">JaCoCo</a>
    +            					&gt;
    +					
    +            <a href="index.html" class="el_group">Documentation</a>
    +            					&gt;
    +					
    +            <a href="maven.html" class="el_group">Maven</a>
    +            					&gt;
    +					
    +            <span class="el_source">jacoco:help</span>
    +        </div>
    +        <div id="content">
    +                
    +            <h1>jacoco:help</h1>
    +                  
    +            <p>
    +                <b>Full name</b>
    +                :
    +            </p>
    +                  
    +            <p>org.jacoco:jacoco-maven-plugin:0.8.12-SNAPSHOT:help</p>
    +                  
    +            <p>
    +                <b>Description</b>
    +                :
    +            </p>
    +                  
    +            <div>
    +                Display help information on jacoco-maven-plugin.
    +                <br />
    +                Call 
    +                <code>mvn jacoco:help -Ddetail=true
    +-Dgoal=&lt;goal-name&gt;</code>
    +                 to display parameter details.
    +            </div>
    +                  
    +            <p>
    +                <b>Attributes</b>
    +                :
    +            </p>
    +                  
    +            <ul>
    +                        
    +                <li>The goal is thread-safe and supports parallel builds.</li>
    +                      
    +            </ul>
    +                  
    +            <h2>Optional Parameters</h2>
    +                    
    +            <table class="coverage">
    +                <thead>
    +                    <tr>
    +                        <td>Name</td>
    +                        <td>Type</td>
    +                        <td>Since</td>
    +                        <td>Description</td>
    +                    </tr>
    +                </thead>
    +                <tbody>
    +                    <tr>
    +                        <td>
    +                            <code>
    +                                <a href="#detail">&lt;detail&gt;</a>
    +                            </code>
    +                        </td>
    +                        <td>
    +                            <code>boolean</code>
    +                        </td>
    +                        <td>
    +                            <code>-</code>
    +                        </td>
    +                        <td>
    +                            If 
    +                            <code>true</code>
    +                            , display all settable properties for each
    +goal.
    +                            <br />
    +                            <b>Default value is</b>
    +                            : 
    +                            <code>false</code>
    +                            .
    +                            <br />
    +                            <b>User property is</b>
    +                            : 
    +                            <code>detail</code>
    +                            .
    +                            <br />
    +                        </td>
    +                    </tr>
    +                    <tr>
    +                        <td>
    +                            <code>
    +                                <a href="#goal">&lt;goal&gt;</a>
    +                            </code>
    +                        </td>
    +                        <td>
    +                            <code>String</code>
    +                        </td>
    +                        <td>
    +                            <code>-</code>
    +                        </td>
    +                        <td>
    +                            The name of the goal for which to show help. If unspecified, all
    +goals will be displayed.
    +                            <br />
    +                            <b>User property is</b>
    +                            : 
    +                            <code>goal</code>
    +                            .
    +                            <br />
    +                        </td>
    +                    </tr>
    +                    <tr>
    +                        <td>
    +                            <code>
    +                                <a href="#indentSize">&lt;indentSize&gt;</a>
    +                            </code>
    +                        </td>
    +                        <td>
    +                            <code>int</code>
    +                        </td>
    +                        <td>
    +                            <code>-</code>
    +                        </td>
    +                        <td>
    +                            The number of spaces per indentation level, should be positive.
    +                            <br />
    +                            <b>Default value is</b>
    +                            : 
    +                            <code>2</code>
    +                            .
    +                            <br />
    +                            <b>User property is</b>
    +                            : 
    +                            <code>indentSize</code>
    +                            .
    +                            <br />
    +                        </td>
    +                    </tr>
    +                    <tr>
    +                        <td>
    +                            <code>
    +                                <a href="#lineLength">&lt;lineLength&gt;</a>
    +                            </code>
    +                        </td>
    +                        <td>
    +                            <code>int</code>
    +                        </td>
    +                        <td>
    +                            <code>-</code>
    +                        </td>
    +                        <td>
    +                            The maximum length of a display line, should be positive.
    +                            <br />
    +                            <b>Default value is</b>
    +                            : 
    +                            <code>80</code>
    +                            .
    +                            <br />
    +                            <b>User property is</b>
    +                            : 
    +                            <code>lineLength</code>
    +                            .
    +                            <br />
    +                        </td>
    +                    </tr>
    +                </tbody>
    +            </table>
    +                  
    +      
    +            <h2>Parameter Details</h2>
    +                    
    +            <b>
    +                <a name="detail">&lt;detail&gt;</a>
    +            </b>
    +                    
    +            <div>
    +                If 
    +                <code>true</code>
    +                , display all settable properties for each
    +goal.
    +            </div>
    +                    
    +            <ul>
    +                          
    +                <li>
    +                    <b>Type</b>
    +                    : 
    +                    <code>boolean</code>
    +                </li>
    +                          
    +                <li>
    +                    <b>Required</b>
    +                    : 
    +                    <code>No</code>
    +                </li>
    +                          
    +                <li>
    +                    <b>User Property</b>
    +                    : 
    +                    <code>detail</code>
    +                </li>
    +                          
    +                <li>
    +                    <b>Default</b>
    +                    : 
    +                    <code>false</code>
    +                </li>
    +                        
    +            </ul>
    +            <b>
    +                <a name="goal">&lt;goal&gt;</a>
    +            </b>
    +                    
    +            <div>The name of the goal for which to show help. If unspecified, all
    +goals will be displayed.</div>
    +                    
    +            <ul>
    +                          
    +                <li>
    +                    <b>Type</b>
    +                    : 
    +                    <code>java.lang.String</code>
    +                </li>
    +                          
    +                <li>
    +                    <b>Required</b>
    +                    : 
    +                    <code>No</code>
    +                </li>
    +                          
    +                <li>
    +                    <b>User Property</b>
    +                    : 
    +                    <code>goal</code>
    +                </li>
    +                        
    +            </ul>
    +            <b>
    +                <a name="indentSize">&lt;indentSize&gt;</a>
    +            </b>
    +                    
    +            <div>The number of spaces per indentation level, should be positive.</div>
    +                    
    +            <ul>
    +                          
    +                <li>
    +                    <b>Type</b>
    +                    : 
    +                    <code>int</code>
    +                </li>
    +                          
    +                <li>
    +                    <b>Required</b>
    +                    : 
    +                    <code>No</code>
    +                </li>
    +                          
    +                <li>
    +                    <b>User Property</b>
    +                    : 
    +                    <code>indentSize</code>
    +                </li>
    +                          
    +                <li>
    +                    <b>Default</b>
    +                    : 
    +                    <code>2</code>
    +                </li>
    +                        
    +            </ul>
    +            <b>
    +                <a name="lineLength">&lt;lineLength&gt;</a>
    +            </b>
    +                    
    +            <div>The maximum length of a display line, should be positive.</div>
    +                    
    +            <ul>
    +                          
    +                <li>
    +                    <b>Type</b>
    +                    : 
    +                    <code>int</code>
    +                </li>
    +                          
    +                <li>
    +                    <b>Required</b>
    +                    : 
    +                    <code>No</code>
    +                </li>
    +                          
    +                <li>
    +                    <b>User Property</b>
    +                    : 
    +                    <code>lineLength</code>
    +                </li>
    +                          
    +                <li>
    +                    <b>Default</b>
    +                    : 
    +                    <code>80</code>
    +                </li>
    +                        
    +            </ul>
    +                  
    +    
    +  
    +        </div>
    +        <div class="footer">
    +            <span class="right">
    +                <a href="http://www.jacoco.org/jacoco">JaCoCo</a>
    +                						 
    +						0.8.12.202403270442
    +            </span>
    +            <a href="../doc/license.html">Copyright</a>
    +            					©
    +					2009, 2024
    +					Mountainminds GmbH &amp; Co. KG and Contributors
    +				
    +        </div>
    +    </body>
    +</html>
    diff --git a/jacoco/trunk/doc/implementation.html b/jacoco/trunk/doc/implementation.html
    new file mode 100644
    index 00000000000..c51284ccad7
    --- /dev/null
    +++ b/jacoco/trunk/doc/implementation.html
    @@ -0,0 +1,282 @@
    +<?xml version="1.0" encoding="UTF-8" ?>
    +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
    +<html xmlns="http://www.w3.org/1999/xhtml" lang="en">
    +<head>
    +  <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
    +  <link rel="stylesheet" href="resources/doc.css" charset="UTF-8" type="text/css" />
    +  <link rel="stylesheet" href="../coverage/jacoco-resources/prettify.css" charset="UTF-8" type="text/css" />
    +  <link rel="shortcut icon" href="resources/report.gif" type="image/gif" />
    +  <script type="text/javascript" src="../coverage/jacoco-resources/prettify.js"></script>
    +  <title>JaCoCo - Implementation Design</title>
    +</head>
    +<body onload="prettyPrint()">
    +
    +<div class="breadcrumb">
    +  <a href="../index.html" class="el_report">JaCoCo</a> &gt;
    +  <a href="index.html" class="el_group">Documentation</a> &gt;
    +  <span class="el_source">Implementation Design</span>
    +</div>
    +<div id="content">
    +
    +<h1>Implementation Design</h1>
    +
    +<p>
    +  This is a unordered list of implementation design decisions. Each topic tries
    +  to follow this structure:
    +</p>
    +
    +<ul>
    +  <li>Problem statement</li>
    +  <li>Proposed Solution</li>
    +  <li>Alternatives and Discussion</li>
    +</ul>
    +
    +
    +<h2>Coverage Analysis Mechanism</h2>
    +
    +<p class="intro">
    +  Coverage information has to be collected at runtime. For this purpose JaCoCo
    +  creates instrumented versions of the original class definitions. The
    +  instrumentation process happens on-the-fly during class loading using so
    +  called Java agents.
    +</p>
    +
    +<p>
    +  There are several different approaches to collect coverage information. For
    +  each approach different implementation techniques are known. The following
    +  diagram gives an overview with the techniques used by JaCoCo highlighted:
    +</p>
    +
    +<img src="resources/implementation.png" alt="Coverage Implementation Techniques"/>
    +
    +<p>
    +  Byte code instrumentation is very fast, can be implemented in pure Java and
    +  works with every Java VM. On-the-fly instrumentation with the Java agent
    +  hook can be added to the JVM without any modification of the target
    +  application.
    +</p>
    +
    +<p>
    +  The Java agent hook requires at least 1.5 JVMs. Class files compiled with
    +  debug information (line numbers) allow for source code highlighting. Unluckily
    +  some Java language constructs get compiled to byte code that produces
    +  unexpected highlighting results, especially in case of implicitly generated
    +  code like default constructors or control structures for finally statements.
    +</p>
    +
    +
    +<h2>Coverage Agent Isolation</h2>
    +
    +<p class="intro">
    +  The Java agent is loaded by the application class loader. Therefore the
    +  classes of the agent live in the same name space like the application classes
    +  which can result in clashes especially with the third party library ASM. The
    +  JoCoCo build therefore moves all agent classes into a unique package.
    +</p>
    +
    +<p>
    +  The JaCoCo build renames all classes contained in the
    +  <code>jacocoagent.jar</code> into classes with a
    +  <code>org.jacoco.agent.rt_&lt;randomid&gt;</code> prefix, including the
    +  required ASM library classes. The identifier is created from a random number.
    +  As the agent does not provide any API, no one should be affected by this
    +  renaming. This trick also allows that JaCoCo tests can be verified with
    +  JaCoCo.
    +</p>
    +
    +
    +<h2>Minimal Java Version</h2>
    +
    +<p class="intro">
    +  JaCoCo requires Java 1.5.
    +</p>
    +
    +<p>
    +  The Java agent mechanism used for on-the-fly instrumentation became available
    +  with Java 1.5 VMs. Coding and testing with Java 1.5 language level is more
    +  efficient, less error-prone &ndash; and more fun than with older versions.
    +  JaCoCo will still allow to run against Java code compiled for these.
    +</p>
    +
    +
    +<h2>Byte Code Manipulation</h2>
    +
    +<p class="intro">
    +  Instrumentation requires mechanisms to modify and generate Java byte code.
    +  JaCoCo uses the ASM library for this purpose internally.
    +</p>
    +
    +<p>
    +  Implementing the Java byte code specification would be an extensive and
    +  error-prone task. Therefore an existing library should be used. The
    +  <a href="https://asm.ow2.io/">ASM</a> library is lightweight, easy to
    +  use and very efficient in terms of memory and CPU usage. It is actively
    +  maintained and includes a huge regression test suite. Its simplified BSD
    +  license is approved by the Eclipse Foundation for usage with EPL products.
    +</p>
    +
    +<h2>Java Class Identity</h2>
    +
    +<p class="intro">
    +  Each class loaded at runtime needs a unique identity to associate coverage data with.
    +  JaCoCo creates such identities by a CRC64 hash code of the raw class definition.
    +</p>
    +
    +<p>
    +  In multi-classloader environments the plain name of a class does not
    +  unambiguously identify a class. For example OSGi allows to use different
    +  versions of the same class to be loaded within the same VM. In complex
    +  deployment scenarios the actual version of the test target might be different
    +  from current development version. A code coverage report should guarantee that
    +  the presented figures are extracted from a valid test target. A hash code of
    +  the class definitions allows to differentiate between classes and versions of
    +  classes. The CRC64 hash computation is simple and fast resulting in a small 64
    +  bit identifier.
    +</p>
    +
    +<p>
    +  The same class definition might be loaded by class loaders which will result
    +  in different classes for the Java runtime system. For coverage analysis this
    +  distinction should be irrelevant. Class definitions might be altered by other
    +  instrumentation based technologies (e.g. AspectJ). In this case the hash code
    +  will change and identity gets lost. On the other hand code coverage analysis
    +  based on classes that have been somehow altered will produce unexpected
    +  results. The CRC64 code might produce so called <i>collisions</i>, i.e.
    +  creating the same hash code for two different classes. Although CRC64 is not
    +  cryptographically strong and collision examples can be easily computed, for
    +  regular class files the collision probability is very low.
    +</p>
    +
    +<h2>Coverage Runtime Dependency</h2>
    +
    +<p class="intro">
    +  Instrumented code typically gets a dependency to a coverage runtime which is
    +  responsible for collecting and storing execution data. JaCoCo uses JRE types
    +  only in generated instrumentation code.
    +</p>
    +
    +<p>
    +  Making a runtime library available to all instrumented classes can be a
    +  painful or impossible task in frameworks that use their own class loading
    +  mechanisms. Since Java 1.6 <code>java.lang.instrument.Instrumentation</code>
    +  has an API to extends the bootsstrap loader. As our minimum target is Java 1.5
    +  JaCoCo decouples the instrumented classes and the coverage runtime through
    +  official JRE API types only. The instrumented classes communicate through the
    +  <code>Object.equals(Object)</code> method with the runtime. A instrumented
    +  class can retrieve its probe array instance with the following code. Note
    +  that only JRE APIs are used:
    +</p>
    +
    +
    +<pre class="source lang-java linenums">
    +Object access = ...                          // Retrieve instance
    +
    +Object[] args = new Object[3];
    +args[0] = Long.valueOf(8060044182221863588); // class id
    +args[1] = "com/example/MyClass";             // class name
    +args[2] = Integer.valueOf(24);               // probe count
    +
    +access.equals(args);
    +
    +boolean[] probes = (boolean[]) args[0];
    +</pre>
    +
    +<p>
    +  The most tricky part takes place in line 1 and is not shown in the snippet
    +  above. The object instance providing access to the coverage runtime through
    +  its <code>equals()</code> method has to be obtained. Different approaches have
    +  been implemented and tested so far:
    +</p>
    +
    +<ul>
    +  <li><b><code>SystemPropertiesRuntime</code></b>: This approach stores the
    +    object instance under a system property. This solution breaks the contract
    +    that system properties must only contain <code>java.lang.String</code>
    +    values and therefore causes trouble in applications that rely on this
    +    definition (e.g. Ant).</li>
    +  <li><b><code>LoggerRuntime</code></b>: Here we use a shared
    +    <code>java.util.logging.Logger</code> and communicate through the logging
    +    parameter array instead of a <code>equals()</code> method. The coverage
    +    runtime registers a custom <code>Handler</code> to receive the parameter
    +    array. This approach might break environments that install their own log
    +    managers (e.g. Glassfish).</li>
    +  <li><b><code>ModifiedSystemClassRuntime</code></b>: This approach adds a
    +    public static field to an existing JRE class through instrumentation. Unlike
    +    the other methods above this is only possible for environments where a Java
    +    agent is active.</li>
    +  <li><b><code>InjectedClassRuntime</code></b>: This approach defines a new class
    +    using <code>java.lang.invoke.MethodHandles.Lookup.defineClass</code>
    +    introduced in Java 9.</li>
    +</ul>
    +
    +<p>
    +  Starting from version 0.8.3 JaCoCo Java agent implementation uses the
    +  <code>InjectedClassRuntime</code> to define new class in bootstrap class
    +  loader when running on JRE 9 and higher, otherwise uses
    +  <code>ModifiedSystemClassRuntime</code> to add field to an existing JRE class.
    +  Starting from version 0.8.0 field is added to the class
    +  <code>java.lang.UnknownError</code>, versions 0.5.0 - 0.7.9 were adding field
    +  to the class <code>java.util.UUID</code>, having bigger chance of conflict
    +  with other agents.
    +</p>
    +
    +
    +<h2>Memory Usage</h2>
    +
    +<p class="intro">
    +  Coverage analysis for huge projects with several thousand classes or hundred
    +  thousand lines of code should be possible. To allow this with reasonable
    +  memory usage the coverage analysis is based on streaming patterns and
    +  "depth first" traversals.
    +</p>
    +
    +<p>
    +  The complete data tree of a huge coverage report is too big to fit into a
    +  reasonable heap memory configuration. Therefore the coverage analysis and
    +  report generation is implemented as "depth first" traversals. Which means that
    +  at any point in time only the following data has to be held in working memory:
    +</p>
    +
    +<ul>
    +  <li>A single class which is currently processed.</li>
    +  <li>The summary information of all parents of this class (package, groups).</li>
    +</ul>
    +
    +<h2>Java Element Identifiers</h2>
    +
    +<p class="intro">
    +  The Java language and the Java VM use different String representation formats
    +  for Java elements. For example while a type reference in Java reads like
    +  <code>java.lang.Object</code>, the VM references the same type as
    +  <code>Ljava/lang/Object;</code>. The JaCoCo API is based on VM identifiers only.
    +</p>
    +
    +<p>
    +  Using VM identifiers directly does not cause any transformation overhead at
    +  runtime. There are several programming languages based on the Java VM that
    +  might use different notations. Specific transformations should therefore only
    +  happen at the user interface level, for example during report generation.
    +</p>
    +
    +<h2>Modularization of the JaCoCo implementation</h2>
    +
    +<p class="intro">
    +  JaCoCo is implemented in several modules providing different functionality.
    +  These modules are provided as OSGi bundles with proper manifest files. But
    +  there are no dependencies on OSGi itself.
    +</p>
    +
    +<p>
    +  Using OSGi bundles allows well defined dependencies at development time and
    +  at runtime in OSGi containers. As there are no dependencies on OSGi, the
    +  bundles can also be used like regular JAR files.
    +</p>
    +
    +</div>
    +<div class="footer">
    +  <span class="right"><a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.12.202403270442</span>
    +  <a href="license.html">Copyright</a> &copy; 2009, 2024 Mountainminds GmbH &amp; Co. KG and Contributors
    +</div>
    +
    +</body>
    +</html>
    diff --git a/jacoco/trunk/doc/index.html b/jacoco/trunk/doc/index.html
    new file mode 100644
    index 00000000000..df262e995d0
    --- /dev/null
    +++ b/jacoco/trunk/doc/index.html
    @@ -0,0 +1,96 @@
    +<?xml version="1.0" encoding="UTF-8" ?>
    +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
    +<html xmlns="http://www.w3.org/1999/xhtml" lang="en">
    +<head>
    +  <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
    +  <link rel="stylesheet" href="resources/doc.css" charset="UTF-8" type="text/css" />
    +  <link rel="shortcut icon" href="resources/report.gif" type="image/gif" />
    +  <title>JaCoCo - Documentation</title>
    +</head>
    +<body>
    +
    +<div class="breadcrumb">
    +  <a href="../index.html" class="el_report">JaCoCo</a> &gt;
    +  <span class="el_group">Documentation</span>
    +</div>
    +<div id="content">
    +
    +<h1>Documentation</h1>
    +
    +<h3>Concepts</h3>
    +
    +<p>
    +  See what this is all about and understand the basic ideas.
    +</p>
    +
    +<ul>
    +  <li><a href="mission.html">Mission</a></li>
    +  <li><a href="integrations.html">Integration Matrix</a></li>
    +  <li><i>Introduction to Code Coverage</i></li>
    +  <li><a href="counters.html">Coverage Counters</a></li>
    +</ul>
    +
    +<h3>Using JaCoCo</h3>
    +
    +<p>
    +  Use JaCoCo tools out-of-the-box.
    +</p>
    +
    +<ul>
    +  <li><a href="ant.html">Ant Tasks</a></li>
    +  <li><a href="examples/build/build.xml">Ant Usage Example</a> -
    +      <a href="examples/build/build-offline.xml">Offline Example</a></li>
    +  <li><a href="maven.html">Maven Plug-in</a></li>
    +  <li><a href="examples/build/pom.xml">Maven Usage Example</a> -
    +      <a href="examples/build/pom-offline.xml">Offline Example</a></li>
    +  <li><a href="agent.html">Java Agent</a></li>
    +  <li><a href="cli.html">Command Line Interface</a></li>
    +  <li><a href="classids.html">Class Ids</a></li>
    +  <li><a href="offline.html">Offline Instrumentation</a></li>
    +  <li><a href="faq.html">FAQ</a></li>
    +  <li><a href="support.html">Support and Feedback</a></li>
    +</ul>
    +
    +<h3>Integrating JaCoCo</h3>
    +
    +<p>
    +  Integrate JaCoCo technology with your tools.
    +</p>
    +
    +<ul>
    +  <li><a href="api/index.html">API JavaDoc</a></li>
    +  <li><a href="api.html">API Usage Examples</a></li>
    +  <li><a href="../coverage/report.dtd">XML Report DTD</a></li>
    +  <li><a href="repo.html">Maven Repository</a></li>
    +</ul>
    +
    +<h3>Developing JaCoCo</h3>
    +
    +<p>
    +  Improve the implementation and add new features.
    +</p>
    +
    +<ul>
    +  <li><a href="environment.html">Development Environment</a></li>
    +  <li><a href="conventions.html">Conventions</a></li>
    +  <li><a href="build.html">Build</a></li>
    +  <li><a href="implementation.html">Implementation Design</a></li>
    +  <li><a href="flow.html">Control Flow Analysis</a></li>
    +</ul>
    +
    +<h3>Miscellaneous</h3>
    +
    +<ul>
    +  <li><a href="changes.html">Change Log</a></li>
    +  <li><a href="license.html">License</a></li>
    +  <li><a href="team.html">Team</a></li>
    +</ul>
    +
    +</div>
    +<div class="footer">
    +  <span class="right"><a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.12.202403270442</span>
    +  <a href="license.html">Copyright</a> &copy; 2009, 2024 Mountainminds GmbH &amp; Co. KG and Contributors
    +</div>
    +
    +</body>
    +</html>
    diff --git a/jacoco/trunk/doc/instrument-mojo.html b/jacoco/trunk/doc/instrument-mojo.html
    new file mode 100644
    index 00000000000..971a31bc87e
    --- /dev/null
    +++ b/jacoco/trunk/doc/instrument-mojo.html
    @@ -0,0 +1,292 @@
    +<?xml version="1.0" encoding="UTF-8"?>
    +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
    +<html xmlns="http://www.w3.org/1999/xhtml">
    +    <head>
    +        <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
    +        <link rel="stylesheet" href="resources/doc.css" charset="UTF-8" type="text/css" />
    +        <link rel="shortcut icon" href="resources/report.gif" type="image/gif" />
    +        <title>
    +					JaCoCo -
    +					jacoco:instrument</title>
    +    </head>
    +    <body>
    +        <div class="breadcrumb">
    +            <a href="../index.html" class="el_report">JaCoCo</a>
    +            					&gt;
    +					
    +            <a href="index.html" class="el_group">Documentation</a>
    +            					&gt;
    +					
    +            <a href="maven.html" class="el_group">Maven</a>
    +            					&gt;
    +					
    +            <span class="el_source">jacoco:instrument</span>
    +        </div>
    +        <div id="content">
    +                
    +            <h1>jacoco:instrument</h1>
    +                  
    +            <p>
    +                <b>Full name</b>
    +                :
    +            </p>
    +                  
    +            <p>org.jacoco:jacoco-maven-plugin:0.8.12-SNAPSHOT:instrument</p>
    +                  
    +            <p>
    +                <b>Description</b>
    +                :
    +            </p>
    +                  
    +            <div>
    +                Performs offline instrumentation. Note that after execution of test
    +you must restore original classes with help of
    +"restore-instrumented-classes" goal. 
    +
    +                <p>
    +                    <b>Warning:</b>
    +                     The preferred way for code coverage
    +analysis with JaCoCo is on-the-fly instrumentation. Offline
    +instrumentation has several drawbacks and should only be used if a
    +specific scenario explicitly requires this mode. Please consult 
    +                    <a href="offline.html">documentation</a>
    +                     about offline instrumentation
    +before using this mode.
    +                </p>
    +            </div>
    +                  
    +            <p>
    +                <b>Attributes</b>
    +                :
    +            </p>
    +                  
    +            <ul>
    +                        
    +                <li>Requires a Maven project to be executed.</li>
    +                        
    +                <li>The goal is thread-safe and supports parallel builds.</li>
    +                        
    +                <li>
    +                    Since version: 
    +                    <code>0.6.2</code>
    +                    .
    +                </li>
    +                        
    +                <li>
    +                    Binds by default to the 
    +                    <a href="http://maven.apache.org/ref/current/maven-core/lifecycles.html">lifecycle phase</a>
    +                    : 
    +                    <code>process-classes</code>
    +                    .
    +                </li>
    +                      
    +            </ul>
    +                  
    +            <h2>Optional Parameters</h2>
    +                    
    +            <table class="coverage">
    +                <thead>
    +                    <tr>
    +                        <td>Name</td>
    +                        <td>Type</td>
    +                        <td>Since</td>
    +                        <td>Description</td>
    +                    </tr>
    +                </thead>
    +                <tbody>
    +                    <tr>
    +                        <td>
    +                            <code>
    +                                <a href="#excludes">&lt;excludes&gt;</a>
    +                            </code>
    +                        </td>
    +                        <td>
    +                            <code>List</code>
    +                        </td>
    +                        <td>
    +                            <code>0.6.2</code>
    +                        </td>
    +                        <td>
    +                            A list of class files to exclude from instrumentation. May use
    +wildcard characters (* and ?). When not specified nothing will be
    +excluded. Except for performance optimization or technical corner
    +cases this option is normally not required. If you want to exclude
    +classes from the report please configure the 
    +                            <code>report</code>
    +                            goal accordingly.
    +                            <br />
    +                        </td>
    +                    </tr>
    +                    <tr>
    +                        <td>
    +                            <code>
    +                                <a href="#includes">&lt;includes&gt;</a>
    +                            </code>
    +                        </td>
    +                        <td>
    +                            <code>List</code>
    +                        </td>
    +                        <td>
    +                            <code>0.6.2</code>
    +                        </td>
    +                        <td>
    +                            A list of class files to include in instrumentation. May use
    +wildcard characters (* and ?). When not specified everything will
    +be included.
    +                            <br />
    +                        </td>
    +                    </tr>
    +                    <tr>
    +                        <td>
    +                            <code>
    +                                <a href="#skip">&lt;skip&gt;</a>
    +                            </code>
    +                        </td>
    +                        <td>
    +                            <code>boolean</code>
    +                        </td>
    +                        <td>
    +                            <code>0.6.2</code>
    +                        </td>
    +                        <td>
    +                            Flag used to suppress execution.
    +                            <br />
    +                            <b>Default value is</b>
    +                            : 
    +                            <code>false</code>
    +                            .
    +                            <br />
    +                            <b>User property is</b>
    +                            : 
    +                            <code>jacoco.skip</code>
    +                            .
    +                            <br />
    +                        </td>
    +                    </tr>
    +                </tbody>
    +            </table>
    +                  
    +      
    +            <h2>Parameter Details</h2>
    +                    
    +            <b>
    +                <a name="excludes">&lt;excludes&gt;</a>
    +            </b>
    +                    
    +            <div>
    +                A list of class files to exclude from instrumentation. May use
    +wildcard characters (* and ?). When not specified nothing will be
    +excluded. Except for performance optimization or technical corner
    +cases this option is normally not required. If you want to exclude
    +classes from the report please configure the 
    +                <code>report</code>
    +                goal accordingly.
    +            </div>
    +                    
    +            <ul>
    +                          
    +                <li>
    +                    <b>Type</b>
    +                    : 
    +                    <code>java.util.List</code>
    +                </li>
    +                          
    +                <li>
    +                    <b>Since</b>
    +                    : 
    +                    <code>0.6.2</code>
    +                </li>
    +                          
    +                <li>
    +                    <b>Required</b>
    +                    : 
    +                    <code>No</code>
    +                </li>
    +                        
    +            </ul>
    +            <b>
    +                <a name="includes">&lt;includes&gt;</a>
    +            </b>
    +                    
    +            <div>A list of class files to include in instrumentation. May use
    +wildcard characters (* and ?). When not specified everything will
    +be included.</div>
    +                    
    +            <ul>
    +                          
    +                <li>
    +                    <b>Type</b>
    +                    : 
    +                    <code>java.util.List</code>
    +                </li>
    +                          
    +                <li>
    +                    <b>Since</b>
    +                    : 
    +                    <code>0.6.2</code>
    +                </li>
    +                          
    +                <li>
    +                    <b>Required</b>
    +                    : 
    +                    <code>No</code>
    +                </li>
    +                        
    +            </ul>
    +            <b>
    +                <a name="skip">&lt;skip&gt;</a>
    +            </b>
    +                    
    +            <div>Flag used to suppress execution.</div>
    +                    
    +            <ul>
    +                          
    +                <li>
    +                    <b>Type</b>
    +                    : 
    +                    <code>boolean</code>
    +                </li>
    +                          
    +                <li>
    +                    <b>Since</b>
    +                    : 
    +                    <code>0.6.2</code>
    +                </li>
    +                          
    +                <li>
    +                    <b>Required</b>
    +                    : 
    +                    <code>No</code>
    +                </li>
    +                          
    +                <li>
    +                    <b>User Property</b>
    +                    : 
    +                    <code>jacoco.skip</code>
    +                </li>
    +                          
    +                <li>
    +                    <b>Default</b>
    +                    : 
    +                    <code>false</code>
    +                </li>
    +                        
    +            </ul>
    +                  
    +    
    +  
    +        </div>
    +        <div class="footer">
    +            <span class="right">
    +                <a href="http://www.jacoco.org/jacoco">JaCoCo</a>
    +                						 
    +						0.8.12.202403270442
    +            </span>
    +            <a href="../doc/license.html">Copyright</a>
    +            					©
    +					2009, 2024
    +					Mountainminds GmbH &amp; Co. KG and Contributors
    +				
    +        </div>
    +    </body>
    +</html>
    diff --git a/jacoco/trunk/doc/integrations.html b/jacoco/trunk/doc/integrations.html
    new file mode 100644
    index 00000000000..a9ae579606f
    --- /dev/null
    +++ b/jacoco/trunk/doc/integrations.html
    @@ -0,0 +1,171 @@
    +<?xml version="1.0" encoding="UTF-8" ?>
    +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
    +<html xmlns="http://www.w3.org/1999/xhtml" lang="en">
    +<head>
    +  <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
    +  <link rel="stylesheet" href="resources/doc.css" charset="UTF-8" type="text/css" />
    +  <link rel="shortcut icon" href="resources/report.gif" type="image/gif" />
    +  <title>JaCoCo - Integration Matrix</title>
    +</head>
    +<body>
    +
    +<div class="breadcrumb">
    +  <a href="../index.html" class="el_report">JaCoCo</a> &gt;
    +  <a href="index.html" class="el_group">Documentation</a> &gt;
    +  <span class="el_source">Integration Matrix</span>
    +</div>
    +<div id="content">
    +
    +<h1>Integration Matrix</h1>
    +
    +<p>
    +  Currently JaCoCo is integrated with the following products and technologies.
    +</p>
    +
    +<h3>Integrations provided by the JaCoCo/EclEmma project</h3>
    +
    +<table class="coverage">
    +  <thead>
    +    <tr>
    +      <td>Technology</td>
    +      <td>Documentation</td>
    +      <td>Remarks</td>
    +    </tr>
    +  </thead>
    +  <tbody>
    +    <tr>
    +      <td>Java API</td>
    +      <td><a href="api/index.html">JaCoCo JavaDoc</a></td>
    +      <td></td>
    +    </tr>
    +    <tr>
    +      <td>Java Agent</td>
    +      <td><a href="agent.html">JaCoCo Manual</a></td>
    +      <td></td>
    +    </tr>
    +    <tr>
    +      <td>Command Line Tools</td>
    +      <td><a href="cli.html">JaCoCo Manual</a></td>
    +      <td>Since version 0.8.0</td>
    +    </tr>
    +    <tr>
    +      <td>Apache Ant</td>
    +      <td><a href="ant.html">JaCoCo Manual</a></td>
    +      <td></td>
    +    </tr>
    +    <tr>
    +      <td>Apache Maven</td>
    +      <td><a href="maven.html">JaCoCo Manual</a></td>
    +      <td>Since version 0.5.3</td>
    +    </tr>
    +    <tr>
    +      <td>Eclipse</td>
    +      <td><a href="http://www.eclemma.org/">EclEmma Project</a></td>
    +      <td>Since version 2.0</td>
    +    </tr>
    +  </tbody>
    +</table>
    +
    +<h3>Third-Party Integrations</h3>
    +
    +<table class="coverage">
    +  <thead>
    +    <tr>
    +      <td>Product</td>
    +      <td>Remarks</td>
    +    </tr>
    +  </thead>
    +  <tbody>
    +    <tr>
    +      <td><a href="http://arquillian.org/">Arquillian</a></td>
    +      <td>Java EE testing framework, <a href="http://arquillian.org/modules/jacoco-extension/">JaCoCo extension</a></td>
    +    </tr>
    +    <tr>
    +      <td><a href="https://azure.microsoft.com/services/devops/">Azure DevOps</a></td>
    +      <td>Cloud-powered collaboration tools by Microsoft, see <a href="https://docs.microsoft.com/en-us/azure/devops/pipelines/tasks/test/publish-code-coverage-results">documentation</a></td>
    +    </tr>
    +    <tr>
    +      <td><a href="https://rife2.com/bld">bld</a></td>
    +      <td>Pure Java build System with JaCoCo extension, see <a href="https://github.com/rife2/bld-jacoco-report">documentation</a></td>
    +    </tr>
    +    <tr>
    +      <td><a href="https://www.codacy.com/">Codacy</a></td>
    +      <td>Platform to track code coverage and code quality, see <a href="https://support.codacy.com/hc/en-us/articles/207279819-Coverage">documentation</a></td>
    +    </tr>
    +    <tr>
    +      <td><a href="https://codecov.io/">Codecov</a></td>
    +      <td>Web service to track code coverage, see <a href="https://github.com/codecov/example-java">example</a></td>
    +    </tr>
    +    <tr>
    +      <td><a href="https://coveralls.io/">Coveralls</a></td>
    +      <td>Web service to track code coverage, see <a href="https://github.com/trautonen/coveralls-maven-plugin">coveralls-maven-plugin</a></td>
    +    </tr>
    +    <tr>
    +      <td><a href="https://www.stamp-project.eu/">STAMP</a></td>
    +      <td>EU research project with test generation tool for JUnit, see <a href="https://github.com/STAMP-project/dspot">DSpot project page</a></td>
    +    </tr>
    +    <tr>
    +      <td><a href="http://www.gradle.org/">Gradle</a></td>
    +      <td>Build System with JaCoCo plug-in, see <a href="http://www.gradle.org/docs/current/userguide/jacoco_plugin.html">documentation</a></td>
    +    </tr>
    +    <tr>
    +      <td><a href="http://www.jetbrains.com/idea/">IntelliJ IDEA</a></td>
    +      <td>Since version 11.1, see <a href="http://www.jetbrains.com/idea/webhelp/code-coverage.html">documentation</a></td>
    +    </tr>
    +    <tr>
    +      <td><a href="http://jenkins-ci.org/">Jenkins</a></td>
    +      <td>GSoC project of Shenyu Zheng, see <a href="https://github.com/jenkinsci/code-coverage-api-plugin">project page</a></td>
    +    </tr>
    +    <tr>
    +      <td><a href="http://jenkins-ci.org/">Jenkins</a></td>
    +      <td>GSoC project of Ognjen Bubalo, see <a href="https://wiki.jenkins-ci.org/display/JENKINS/JaCoCo+Plugin">documentation</a></td>
    +    </tr>
    +    <tr>
    +      <td><a href="https://www.eclipse.org/jubula/">Jubula</a></td>
    +      <td>Functional GUI testing tool</td>
    +    </tr>
    +    <tr>
    +      <td><a href="http://netbeans.org/">NetBeans</a></td>
    +      <td>Since version 7.2, see <a href="http://wiki.netbeans.org/MavenCodeCoverage">documentation</a>,
    +          <a href="http://plugins.netbeans.org/plugin/48570/tikione-jacocoverage">plug-in</a> for Ant based projects</td>
    +    </tr>
    +    <tr>
    +      <td><a href="https://www.scala-sbt.org/">sbt</a></td>
    +      <td>Scala Build Tool, see <a href="https://www.scala-sbt.org/sbt-jacoco/">JaCoCo plug-in</a></td>
    +    </tr>
    +    <tr>
    +      <td><a href="http://www.shippable.com/">Shippable</a></td>
    +      <td>Continuous integration and delivery platform, see <a href="http://docs.shippable.com/ci/jacoco-reports/">documentation</a></td>
    +    </tr>
    +    <tr>
    +      <td><a href="https://www.skippy.io/">Skippy</a></td>
    +      <td>Test Impact Analysis &amp; Predictive Test Selection framework for the JVM, see <a href="https://www.skippy.io/docs/">documentation</a></td>
    +    </tr>
    +    <tr>
    +      <td><a href="http://www.sonarqube.org/">SonarQube</a></td>
    +      <td>Continuous inspection platform with JaCoCo support, see <a href="https://docs.sonarqube.org/latest/analysis/coverage/">documentation</a></td>
    +    </tr>
    +    <tr>
    +      <td><a href="http://www.jetbrains.com/teamcity/">TeamCity</a></td>
    +      <td>Continuous integration server with JaCoCo support since version 8.1, see <a href="https://www.jetbrains.com/help/teamcity/jacoco.html">documentation</a></td>
    +    </tr>
    +    <tr>
    +      <td><a href="https://developer.ibm.com/urbancode/">Urban Code</a></td>
    +      <td>Continuous delivery platform by IBM with <a href="https://developer.ibm.com/urbancode/plugin/jacoco-3519516/">JaCoCo plug-in</a></td>
    +    </tr>
    +  </tbody>
    +</table>
    +
    +<p>
    +  As <a href="license.html">always</a>, all trademarks listed above are the
    +  property of their respective owners.
    +</p>
    +
    +</div>
    +<div class="footer">
    +  <span class="right"><a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.12.202403270442</span>
    +  <a href="license.html">Copyright</a> &copy; 2009, 2024 Mountainminds GmbH &amp; Co. KG and Contributors
    +</div>
    +
    +</body>
    +</html>
    diff --git a/jacoco/trunk/doc/license.html b/jacoco/trunk/doc/license.html
    new file mode 100644
    index 00000000000..508039c7d87
    --- /dev/null
    +++ b/jacoco/trunk/doc/license.html
    @@ -0,0 +1,313 @@
    +<?xml version="1.0" encoding="UTF-8" ?>
    +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
    +<html xmlns="http://www.w3.org/1999/xhtml" lang="en">
    +<head>
    +  <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
    +  <link rel="stylesheet" href="resources/doc.css" charset="UTF-8" type="text/css" />
    +  <link rel="shortcut icon" href="resources/report.gif" type="image/gif" />
    +  <title>JaCoCo - License</title>
    +</head>
    +<body>
    +
    +<div class="breadcrumb">
    +  <a href="../index.html" class="el_report">JaCoCo</a> &gt;
    +  <span class="el_source">License</span>
    +</div>
    +<div id="content">
    +
    +<h1>License</h1>
    +
    +<p>
    +  Copyright &copy; 2009, 2024 Mountainminds GmbH &amp; Co. KG and Contributors
    +</p>
    +
    +<p>
    +  The JaCoCo Java Code Coverage Library and all included documentation is made
    +  available by Mountainminds GmbH &amp; Co. KG, Munich. Except indicated below,
    +  the Content is provided to you under the terms and conditions of the Eclipse
    +  Public License Version 2.0 (&quot;EPL&quot;). A copy of the EPL is
    +  <a href="epl-2.0.html">provided</a> with this Content and is also available at
    +  <a href="https://www.eclipse.org/legal/epl-2.0/">https://www.eclipse.org/legal/epl-2.0/</a>.
    +</p>
    +
    +<h2>Trademarks</h2>
    +
    +<p>
    +  Java and all Java-based trademarks are trademarks of Oracle Corporation in the
    +  United States, other countries, or both. Eclipse and all Eclipse related
    +  trademarks and logos are trademarks of the Eclipse Foundation, Inc. OSGi is a
    +  trademark, registered trademark, or service mark of The OSGi Alliance in the
    +  US and other countries. Apache Ant and Apache Maven are trademarks of the
    +  Apache Software Foundation. Android and Dalvik are trademarks of Google Inc.
    +  All other trademarks are the property of their respective owners.
    +</p>
    +
    +
    +<h2>Third Party Content</h2>
    +
    +<p>
    +  The Content includes items that have been sourced from third parties as set
    +  out below.
    +</p>
    +
    +<h3>args4j</h3>
    +
    +<p>
    +  <a href="http://args4j.kohsuke.org/">args4j 2.0.28</a> is subject to the
    +  terms and conditions of the following license:
    +</p>
    +
    +<pre>
    +Copyright (c) 2013 Kohsuke Kawaguchi and other contributors
    +
    +Permission is hereby granted, free of charge, to any person obtaining a copy of
    +this software and associated documentation files (the "Software"), to deal in
    +the Software without restriction, including without limitation the rights to
    +use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies
    +of the Software, and to permit persons to whom the Software is furnished to do
    +so, subject to the following conditions:
    +
    +The above copyright notice and this permission notice shall be included in all
    +copies or substantial portions of the Software.
    +
    +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
    +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
    +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
    +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
    +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
    +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
    +SOFTWARE.
    +</pre>
    +
    +<h4>ASM</h4>
    +
    +<p>
    +  <a href="https://asm.ow2.io/">ASM 9.7</a> is subject to the terms and
    +  conditions of the following license:
    +</p>
    +
    +<pre>
    +ASM: a very small and fast Java bytecode manipulation framework
    +Copyright (c) 2000-2011 INRIA, France Telecom
    +All rights reserved.
    +
    +Redistribution and use in source and binary forms, with or without
    +modification, are permitted provided that the following conditions
    +are met:
    +1. Redistributions of source code must retain the above copyright
    +   notice, this list of conditions and the following disclaimer.
    +2. Redistributions in binary form must reproduce the above copyright
    +   notice, this list of conditions and the following disclaimer in the
    +   documentation and/or other materials provided with the distribution.
    +3. Neither the name of the copyright holders nor the names of its
    +   contributors may be used to endorse or promote products derived from
    +   this software without specific prior written permission.
    +
    +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
    +AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
    +IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
    +ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
    +LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
    +CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
    +SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
    +INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
    +CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
    +ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
    +THE POSSIBILITY OF SUCH DAMAGE.
    +</pre>
    +
    +<h3>Google Code Prettify</h3>
    +
    +<p>
    +  <a href="https://github.com/google/code-prettify">Google Code Prettify 2010/07/21</a>
    +  is subject to the terms and conditions of the following license:
    +</p>
    +
    +<pre>
    +Copyright 2011 Mike Samuel et al
    +
    +                                 Apache License
    +                           Version 2.0, January 2004
    +                        http://www.apache.org/licenses/
    +
    +   TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
    +
    +   1. Definitions.
    +
    +      "License" shall mean the terms and conditions for use, reproduction,
    +      and distribution as defined by Sections 1 through 9 of this document.
    +
    +      "Licensor" shall mean the copyright owner or entity authorized by
    +      the copyright owner that is granting the License.
    +
    +      "Legal Entity" shall mean the union of the acting entity and all
    +      other entities that control, are controlled by, or are under common
    +      control with that entity. For the purposes of this definition,
    +      "control" means (i) the power, direct or indirect, to cause the
    +      direction or management of such entity, whether by contract or
    +      otherwise, or (ii) ownership of fifty percent (50%) or more of the
    +      outstanding shares, or (iii) beneficial ownership of such entity.
    +
    +      "You" (or "Your") shall mean an individual or Legal Entity
    +      exercising permissions granted by this License.
    +
    +      "Source" form shall mean the preferred form for making modifications,
    +      including but not limited to software source code, documentation
    +      source, and configuration files.
    +
    +      "Object" form shall mean any form resulting from mechanical
    +      transformation or translation of a Source form, including but
    +      not limited to compiled object code, generated documentation,
    +      and conversions to other media types.
    +
    +      "Work" shall mean the work of authorship, whether in Source or
    +      Object form, made available under the License, as indicated by a
    +      copyright notice that is included in or attached to the work
    +      (an example is provided in the Appendix below).
    +
    +      "Derivative Works" shall mean any work, whether in Source or Object
    +      form, that is based on (or derived from) the Work and for which the
    +      editorial revisions, annotations, elaborations, or other modifications
    +      represent, as a whole, an original work of authorship. For the purposes
    +      of this License, Derivative Works shall not include works that remain
    +      separable from, or merely link (or bind by name) to the interfaces of,
    +      the Work and Derivative Works thereof.
    +
    +      "Contribution" shall mean any work of authorship, including
    +      the original version of the Work and any modifications or additions
    +      to that Work or Derivative Works thereof, that is intentionally
    +      submitted to Licensor for inclusion in the Work by the copyright owner
    +      or by an individual or Legal Entity authorized to submit on behalf of
    +      the copyright owner. For the purposes of this definition, "submitted"
    +      means any form of electronic, verbal, or written communication sent
    +      to the Licensor or its representatives, including but not limited to
    +      communication on electronic mailing lists, source code control systems,
    +      and issue tracking systems that are managed by, or on behalf of, the
    +      Licensor for the purpose of discussing and improving the Work, but
    +      excluding communication that is conspicuously marked or otherwise
    +      designated in writing by the copyright owner as "Not a Contribution."
    +
    +      "Contributor" shall mean Licensor and any individual or Legal Entity
    +      on behalf of whom a Contribution has been received by Licensor and
    +      subsequently incorporated within the Work.
    +
    +   2. Grant of Copyright License. Subject to the terms and conditions of
    +      this License, each Contributor hereby grants to You a perpetual,
    +      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
    +      copyright license to reproduce, prepare Derivative Works of,
    +      publicly display, publicly perform, sublicense, and distribute the
    +      Work and such Derivative Works in Source or Object form.
    +
    +   3. Grant of Patent License. Subject to the terms and conditions of
    +      this License, each Contributor hereby grants to You a perpetual,
    +      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
    +      (except as stated in this section) patent license to make, have made,
    +      use, offer to sell, sell, import, and otherwise transfer the Work,
    +      where such license applies only to those patent claims licensable
    +      by such Contributor that are necessarily infringed by their
    +      Contribution(s) alone or by combination of their Contribution(s)
    +      with the Work to which such Contribution(s) was submitted. If You
    +      institute patent litigation against any entity (including a
    +      cross-claim or counterclaim in a lawsuit) alleging that the Work
    +      or a Contribution incorporated within the Work constitutes direct
    +      or contributory patent infringement, then any patent licenses
    +      granted to You under this License for that Work shall terminate
    +      as of the date such litigation is filed.
    +
    +   4. Redistribution. You may reproduce and distribute copies of the
    +      Work or Derivative Works thereof in any medium, with or without
    +      modifications, and in Source or Object form, provided that You
    +      meet the following conditions:
    +
    +      (a) You must give any other recipients of the Work or
    +          Derivative Works a copy of this License; and
    +
    +      (b) You must cause any modified files to carry prominent notices
    +          stating that You changed the files; and
    +
    +      (c) You must retain, in the Source form of any Derivative Works
    +          that You distribute, all copyright, patent, trademark, and
    +          attribution notices from the Source form of the Work,
    +          excluding those notices that do not pertain to any part of
    +          the Derivative Works; and
    +
    +      (d) If the Work includes a "NOTICE" text file as part of its
    +          distribution, then any Derivative Works that You distribute must
    +          include a readable copy of the attribution notices contained
    +          within such NOTICE file, excluding those notices that do not
    +          pertain to any part of the Derivative Works, in at least one
    +          of the following places: within a NOTICE text file distributed
    +          as part of the Derivative Works; within the Source form or
    +          documentation, if provided along with the Derivative Works; or,
    +          within a display generated by the Derivative Works, if and
    +          wherever such third-party notices normally appear. The contents
    +          of the NOTICE file are for informational purposes only and
    +          do not modify the License. You may add Your own attribution
    +          notices within Derivative Works that You distribute, alongside
    +          or as an addendum to the NOTICE text from the Work, provided
    +          that such additional attribution notices cannot be construed
    +          as modifying the License.
    +
    +      You may add Your own copyright statement to Your modifications and
    +      may provide additional or different license terms and conditions
    +      for use, reproduction, or distribution of Your modifications, or
    +      for any such Derivative Works as a whole, provided Your use,
    +      reproduction, and distribution of the Work otherwise complies with
    +      the conditions stated in this License.
    +
    +   5. Submission of Contributions. Unless You explicitly state otherwise,
    +      any Contribution intentionally submitted for inclusion in the Work
    +      by You to the Licensor shall be under the terms and conditions of
    +      this License, without any additional terms or conditions.
    +      Notwithstanding the above, nothing herein shall supersede or modify
    +      the terms of any separate license agreement you may have executed
    +      with Licensor regarding such Contributions.
    +
    +   6. Trademarks. This License does not grant permission to use the trade
    +      names, trademarks, service marks, or product names of the Licensor,
    +      except as required for reasonable and customary use in describing the
    +      origin of the Work and reproducing the content of the NOTICE file.
    +
    +   7. Disclaimer of Warranty. Unless required by applicable law or
    +      agreed to in writing, Licensor provides the Work (and each
    +      Contributor provides its Contributions) on an "AS IS" BASIS,
    +      WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
    +      implied, including, without limitation, any warranties or conditions
    +      of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
    +      PARTICULAR PURPOSE. You are solely responsible for determining the
    +      appropriateness of using or redistributing the Work and assume any
    +      risks associated with Your exercise of permissions under this License.
    +
    +   8. Limitation of Liability. In no event and under no legal theory,
    +      whether in tort (including negligence), contract, or otherwise,
    +      unless required by applicable law (such as deliberate and grossly
    +      negligent acts) or agreed to in writing, shall any Contributor be
    +      liable to You for damages, including any direct, indirect, special,
    +      incidental, or consequential damages of any character arising as a
    +      result of this License or out of the use or inability to use the
    +      Work (including but not limited to damages for loss of goodwill,
    +      work stoppage, computer failure or malfunction, or any and all
    +      other commercial damages or losses), even if such Contributor
    +      has been advised of the possibility of such damages.
    +
    +   9. Accepting Warranty or Additional Liability. While redistributing
    +      the Work or Derivative Works thereof, You may choose to offer,
    +      and charge a fee for, acceptance of support, warranty, indemnity,
    +      or other liability obligations and/or rights consistent with this
    +      License. However, in accepting such obligations, You may act only
    +      on Your own behalf and on Your sole responsibility, not on behalf
    +      of any other Contributor, and only if You agree to indemnify,
    +      defend, and hold each Contributor harmless for any liability
    +      incurred by, or claims asserted against, such Contributor by reason
    +      of your accepting any such warranty or additional liability.
    +</pre>
    +
    +
    +</div>
    +<div class="footer">
    +  <span class="right"><a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.12.202403270442</span>
    +  <a href="license.html">Copyright</a> &copy; 2009, 2024 Mountainminds GmbH &amp; Co. KG and Contributors
    +</div>
    +
    +</body>
    +</html>
    diff --git a/jacoco/trunk/doc/maven.html b/jacoco/trunk/doc/maven.html
    new file mode 100644
    index 00000000000..dfebac753ad
    --- /dev/null
    +++ b/jacoco/trunk/doc/maven.html
    @@ -0,0 +1,160 @@
    +<?xml version="1.0" encoding="UTF-8" ?>
    +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
    +<html xmlns="http://www.w3.org/1999/xhtml" lang="en">
    +<head>
    +  <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
    +  <link rel="stylesheet" href="resources/doc.css" charset="UTF-8" type="text/css" />
    +  <link rel="stylesheet" href="../coverage/jacoco-resources/prettify.css" charset="UTF-8" type="text/css" />
    +  <link rel="shortcut icon" href="resources/report.gif" type="image/gif" />
    +  <script type="text/javascript" src="../coverage/jacoco-resources/prettify.js"></script>
    +  <title>JaCoCo - Maven Plug-in</title>
    +</head>
    +<body onload="prettyPrint()">
    +
    +<div class="breadcrumb">
    +  <a href="../index.html" class="el_report">JaCoCo</a> &gt;
    +  <a href="index.html" class="el_group">Documentation</a> &gt;
    +  <span class="el_source">Maven Plug-in</span>
    +</div>
    +<div id="content">
    +
    +<h1>Maven Plug-in</h1>
    +
    +<p>
    +  The JaCoCo <a href="http://maven.apache.org/">Maven</a> plug-in provides the
    +  JaCoCo runtime agent to your tests and allows basic report creation.
    +</p>
    +
    +<p class="hint">
    +  If you want to have line number information included in the coverage reports
    +  or you want source code highlighting the class files of the test target must
    +  be compiled with debug information.
    +</p>
    +
    +<p class="hint">
    +  When using the <tt>maven-surefire-plugin</tt> or <tt>maven-failsafe-plugin</tt>
    +  you <b>must not</b> use a
    +  <a href="http://maven.apache.org/surefire/maven-surefire-plugin/test-mojo.html#forkCount">
    +  <tt>forkCount</tt></a> of <tt>0</tt> or set the
    +  <a href="http://maven.apache.org/surefire/maven-surefire-plugin/test-mojo.html#forkMode">
    +  <tt>forkMode</tt></a> to <tt>never</tt> as this would prevent the execution of
    +  the tests with the <tt>javaagent</tt> set and no coverage would be recorded.
    +</p>
    +
    +<h2>Example</h2>
    +
    +<ul>
    +  <li>
    +    The JaCoCo distribution contains a simple example how code coverage
    +    can be added to a Maven project.</li>
    +  <li>
    +    This <a href="examples/build/pom.xml">POM file</a>
    +    for a JAR project runs JUnit tests under code coverage and creates a coverage
    +    report (<tt>target/site/jacoco/index.html</tt>).
    +  </li>
    +  <li>
    +    This <a href="examples/build/pom-it.xml">POM file</a>
    +    for a JAR project runs unit tests and integration tests under code coverage
    +    and creates two coverage reports, one for unit tests (
    +    <tt>target/site/jacoco/index.html</tt>) and one for integration tests (
    +    <tt>target/site/jacoco-it/index.html</tt>).
    +  </li>
    +  <li>
    +  The complete example is located in the <code>./doc/examples/build</code>
    +  folder of the distribution.
    +  </li>
    +</ul>
    +
    +
    +<h2>Prerequisites</h2>
    +
    +<p>
    +  The JaCoCo Maven plug-in requires
    +</p>
    +
    +<ul>
    +  <li>Maven 3.0 or higher and</li>
    +  <li>Java 1.8 or higher for the Maven runtime, Java 1.5 or higher for the test executor.</li>
    +</ul>
    +
    +
    +<h2>Usage</h2>
    +
    +<p>
    +  The Maven plug-in can be included in your build with the following
    +  declaration. Please check
    +  <a href="http://search.maven.org/#search|ga|1|g%3Aorg.jacoco%20a%3Ajacoco-maven-plugin">here</a>
    +  for the latest release version in the repository.
    +</p>
    +
    +<pre class="source lang-xml linenums">
    +&lt;plugin&gt;
    +  &lt;groupId&gt;org.jacoco&lt;/groupId&gt;
    +  &lt;artifactId&gt;jacoco-maven-plugin&lt;/artifactId&gt;
    +  &lt;version&gt;0.8.12-SNAPSHOT&lt;/version&gt;
    +&lt;/plugin&gt;
    +</pre>
    +
    +<p>
    +  To receive a full list of goals and available parameters you can use
    +  <code>maven-help-plugin</code>:
    +</p>
    +<pre>
    +mvn help:describe -Dplugin=org.jacoco:jacoco-maven-plugin -Ddetail
    +</pre>
    +
    +<p>
    +  Usage of plugin together with <tt>maven-site-plugin</tt> without
    +  <a href="https://maven.apache.org/plugins/maven-site-plugin/examples/configuring-reports.html#Selecting_Reports_from_a_Plugin:_Configuring_Report_Sets">explicit selection of reports</a>
    +  might lead to generation of redundant aggregate reports.
    +  Specify <tt>reportSets</tt> explicitly to avoid this:
    +</p>
    +<pre class="source lang-xml linenums">
    +&lt;project&gt;
    +  &lt;reporting&gt;
    +    &lt;plugins&gt;
    +      &lt;plugin&gt;
    +        &lt;groupId&gt;org.jacoco&lt;/groupId&gt;
    +        &lt;artifactId&gt;jacoco-maven-plugin&lt;/artifactId&gt;
    +        &lt;reportSets&gt;
    +          &lt;reportSet&gt;
    +            &lt;reports&gt;
    +              &lt;!-- select non-aggregate reports --&gt;
    +              &lt;report&gt;report&lt;/report&gt;
    +            &lt;/reports&gt;
    +          &lt;/reportSet&gt;
    +        &lt;/reportSets&gt;
    +      &lt;/plugin&gt;
    +    &lt;/plugins&gt;
    +  &lt;/reporting&gt;
    +&lt;/project&gt;
    +</pre>
    +
    +<h2>Goals</h2>
    +
    +<p>
    +  The JaCoCo Maven plug-in defines the following goals:
    +</p>
    +
    +<ul>
    +  <li><a href="help-mojo.html">help</a></li>
    +  <li><a href="prepare-agent-mojo.html">prepare-agent</a></li>
    +  <li><a href="prepare-agent-integration-mojo.html">prepare-agent-integration</a></li>
    +  <li><a href="merge-mojo.html">merge</a></li>
    +  <li><a href="report-mojo.html">report</a></li>
    +  <li><a href="report-integration-mojo.html">report-integration</a></li>
    +  <li><a href="report-aggregate-mojo.html">report-aggregate</a></li>
    +  <li><a href="check-mojo.html">check</a></li>
    +  <li><a href="dump-mojo.html">dump</a></li>
    +  <li><a href="instrument-mojo.html">instrument</a></li>
    +  <li><a href="restore-instrumented-classes-mojo.html">restore-instrumented-classes</a></li>
    +</ul>
    +
    +</div>
    +<div class="footer">
    +  <span class="right"><a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.12.202403270442</span>
    +  <a href="license.html">Copyright</a> &copy; 2009, 2024 Mountainminds GmbH &amp; Co. KG and Contributors
    +</div>
    +
    +</body>
    +</html>
    diff --git a/jacoco/trunk/doc/merge-mojo.html b/jacoco/trunk/doc/merge-mojo.html
    new file mode 100644
    index 00000000000..39d3992d558
    --- /dev/null
    +++ b/jacoco/trunk/doc/merge-mojo.html
    @@ -0,0 +1,330 @@
    +<?xml version="1.0" encoding="UTF-8"?>
    +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
    +<html xmlns="http://www.w3.org/1999/xhtml">
    +    <head>
    +        <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
    +        <link rel="stylesheet" href="resources/doc.css" charset="UTF-8" type="text/css" />
    +        <link rel="shortcut icon" href="resources/report.gif" type="image/gif" />
    +        <title>
    +					JaCoCo -
    +					jacoco:merge</title>
    +    </head>
    +    <body>
    +        <div class="breadcrumb">
    +            <a href="../index.html" class="el_report">JaCoCo</a>
    +            					&gt;
    +					
    +            <a href="index.html" class="el_group">Documentation</a>
    +            					&gt;
    +					
    +            <a href="maven.html" class="el_group">Maven</a>
    +            					&gt;
    +					
    +            <span class="el_source">jacoco:merge</span>
    +        </div>
    +        <div id="content">
    +                
    +            <h1>jacoco:merge</h1>
    +                  
    +            <p>
    +                <b>Full name</b>
    +                :
    +            </p>
    +                  
    +            <p>org.jacoco:jacoco-maven-plugin:0.8.12-SNAPSHOT:merge</p>
    +                  
    +            <p>
    +                <b>Description</b>
    +                :
    +            </p>
    +                  
    +            <div>Mojo for merging a set of execution data files (*.exec) into a
    +single file</div>
    +                  
    +            <p>
    +                <b>Attributes</b>
    +                :
    +            </p>
    +                  
    +            <ul>
    +                        
    +                <li>Requires a Maven project to be executed.</li>
    +                        
    +                <li>The goal is thread-safe and supports parallel builds.</li>
    +                        
    +                <li>
    +                    Since version: 
    +                    <code>0.6.4</code>
    +                    .
    +                </li>
    +                        
    +                <li>
    +                    Binds by default to the 
    +                    <a href="http://maven.apache.org/ref/current/maven-core/lifecycles.html">lifecycle phase</a>
    +                    : 
    +                    <code>generate-resources</code>
    +                    .
    +                </li>
    +                      
    +            </ul>
    +                  
    +            <h2>Required Parameters</h2>
    +                    
    +            <table class="coverage">
    +                <thead>
    +                    <tr>
    +                        <td>Name</td>
    +                        <td>Type</td>
    +                        <td>Since</td>
    +                        <td>Description</td>
    +                    </tr>
    +                </thead>
    +                <tbody>
    +                    <tr>
    +                        <td>
    +                            <code>
    +                                <a href="#fileSets">&lt;fileSets&gt;</a>
    +                            </code>
    +                        </td>
    +                        <td>
    +                            <code>List</code>
    +                        </td>
    +                        <td>
    +                            <code>0.6.4</code>
    +                        </td>
    +                        <td>
    +                            This mojo accepts any number of execution data file sets. 
    +
    +                            <pre>
    +                                
    +                                <code>
    +&lt;fileSets&gt;
    +  &lt;fileSet&gt;
    +    &lt;directory&gt;${project.build.directory}&lt;/directory&gt;
    +    &lt;includes&gt;
    +      &lt;include&gt;*.exec&lt;/include&gt;
    +    &lt;/includes&gt;
    +  &lt;/fileSet&gt;
    +&lt;/fileSets&gt;
    +</code>
    +                                
    +                            </pre>
    +                            <br />
    +                        </td>
    +                    </tr>
    +                </tbody>
    +            </table>
    +                  
    +      
    +            <h2>Optional Parameters</h2>
    +                    
    +            <table class="coverage">
    +                <thead>
    +                    <tr>
    +                        <td>Name</td>
    +                        <td>Type</td>
    +                        <td>Since</td>
    +                        <td>Description</td>
    +                    </tr>
    +                </thead>
    +                <tbody>
    +                    <tr>
    +                        <td>
    +                            <code>
    +                                <a href="#destFile">&lt;destFile&gt;</a>
    +                            </code>
    +                        </td>
    +                        <td>
    +                            <code>File</code>
    +                        </td>
    +                        <td>
    +                            <code>0.6.4</code>
    +                        </td>
    +                        <td>
    +                            Path to the output file for execution data.
    +                            <br />
    +                            <b>Default value is</b>
    +                            : 
    +                            <code>${project.build.directory}/jacoco.exec</code>
    +                            .
    +                            <br />
    +                            <b>User property is</b>
    +                            : 
    +                            <code>jacoco.destFile</code>
    +                            .
    +                            <br />
    +                        </td>
    +                    </tr>
    +                    <tr>
    +                        <td>
    +                            <code>
    +                                <a href="#skip">&lt;skip&gt;</a>
    +                            </code>
    +                        </td>
    +                        <td>
    +                            <code>boolean</code>
    +                        </td>
    +                        <td>
    +                            <code>0.6.4</code>
    +                        </td>
    +                        <td>
    +                            Flag used to suppress execution.
    +                            <br />
    +                            <b>Default value is</b>
    +                            : 
    +                            <code>false</code>
    +                            .
    +                            <br />
    +                            <b>User property is</b>
    +                            : 
    +                            <code>jacoco.skip</code>
    +                            .
    +                            <br />
    +                        </td>
    +                    </tr>
    +                </tbody>
    +            </table>
    +                  
    +      
    +            <h2>Parameter Details</h2>
    +                    
    +            <b>
    +                <a name="destFile">&lt;destFile&gt;</a>
    +            </b>
    +                    
    +            <div>Path to the output file for execution data.</div>
    +                    
    +            <ul>
    +                          
    +                <li>
    +                    <b>Type</b>
    +                    : 
    +                    <code>java.io.File</code>
    +                </li>
    +                          
    +                <li>
    +                    <b>Since</b>
    +                    : 
    +                    <code>0.6.4</code>
    +                </li>
    +                          
    +                <li>
    +                    <b>Required</b>
    +                    : 
    +                    <code>No</code>
    +                </li>
    +                          
    +                <li>
    +                    <b>User Property</b>
    +                    : 
    +                    <code>jacoco.destFile</code>
    +                </li>
    +                          
    +                <li>
    +                    <b>Default</b>
    +                    : 
    +                    <code>${project.build.directory}/jacoco.exec</code>
    +                </li>
    +                        
    +            </ul>
    +            <b>
    +                <a name="fileSets">&lt;fileSets&gt;</a>
    +            </b>
    +                    
    +            <div>
    +                This mojo accepts any number of execution data file sets. 
    +
    +                <pre>
    +                    
    +                    <code>
    +&lt;fileSets&gt;
    +  &lt;fileSet&gt;
    +    &lt;directory&gt;${project.build.directory}&lt;/directory&gt;
    +    &lt;includes&gt;
    +      &lt;include&gt;*.exec&lt;/include&gt;
    +    &lt;/includes&gt;
    +  &lt;/fileSet&gt;
    +&lt;/fileSets&gt;
    +</code>
    +                    
    +                </pre>
    +            </div>
    +                    
    +            <ul>
    +                          
    +                <li>
    +                    <b>Type</b>
    +                    : 
    +                    <code>java.util.List</code>
    +                </li>
    +                          
    +                <li>
    +                    <b>Since</b>
    +                    : 
    +                    <code>0.6.4</code>
    +                </li>
    +                          
    +                <li>
    +                    <b>Required</b>
    +                    : 
    +                    <code>Yes</code>
    +                </li>
    +                        
    +            </ul>
    +            <b>
    +                <a name="skip">&lt;skip&gt;</a>
    +            </b>
    +                    
    +            <div>Flag used to suppress execution.</div>
    +                    
    +            <ul>
    +                          
    +                <li>
    +                    <b>Type</b>
    +                    : 
    +                    <code>boolean</code>
    +                </li>
    +                          
    +                <li>
    +                    <b>Since</b>
    +                    : 
    +                    <code>0.6.4</code>
    +                </li>
    +                          
    +                <li>
    +                    <b>Required</b>
    +                    : 
    +                    <code>No</code>
    +                </li>
    +                          
    +                <li>
    +                    <b>User Property</b>
    +                    : 
    +                    <code>jacoco.skip</code>
    +                </li>
    +                          
    +                <li>
    +                    <b>Default</b>
    +                    : 
    +                    <code>false</code>
    +                </li>
    +                        
    +            </ul>
    +                  
    +    
    +  
    +        </div>
    +        <div class="footer">
    +            <span class="right">
    +                <a href="http://www.jacoco.org/jacoco">JaCoCo</a>
    +                						 
    +						0.8.12.202403270442
    +            </span>
    +            <a href="../doc/license.html">Copyright</a>
    +            					©
    +					2009, 2024
    +					Mountainminds GmbH &amp; Co. KG and Contributors
    +				
    +        </div>
    +    </body>
    +</html>
    diff --git a/jacoco/trunk/doc/mission.html b/jacoco/trunk/doc/mission.html
    new file mode 100644
    index 00000000000..2e3fc13f2d0
    --- /dev/null
    +++ b/jacoco/trunk/doc/mission.html
    @@ -0,0 +1,101 @@
    +<?xml version="1.0" encoding="UTF-8" ?>
    +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
    +<html xmlns="http://www.w3.org/1999/xhtml" lang="en">
    +<head>
    +  <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
    +  <link rel="stylesheet" href="resources/doc.css" charset="UTF-8" type="text/css" />
    +  <link rel="shortcut icon" href="resources/report.gif" type="image/gif" />
    +  <title>JaCoCo - Mission</title>
    +</head>
    +<body>
    +
    +<div class="breadcrumb">
    +  <a href="../index.html" class="el_report">JaCoCo</a> &gt;
    +  <a href="index.html" class="el_group">Documentation</a> &gt;
    +  <span class="el_source">Mission</span>
    +</div>
    +<div id="content">
    +
    +<h1>Mission</h1>
    +
    +<p class="intro">
    +  JaCoCo should provide the standard technology for code coverage analysis in
    +  Java VM based environments. The focus is providing a lightweight, flexible and
    +  well documented library for integration with various build and development
    +  tools.
    +</p>
    +
    +<p>
    +  There are several open source coverage technologies for Java available. While
    +  implementing the Eclipse plug-in <a href="http://www.eclemma.org/">EclEmma</a>
    +  the observation was that none of them are really designed for integration.
    +  Most of them are specifically fit to a particular tool (Ant tasks, command
    +  line, IDE plug-in) and do not offer a documented API that allows embedding in
    +  different contexts. Two of the best and widely used available open source
    +  tools are <a href="http://emma.sourceforge.net/">EMMA</a> and
    +  <a href="http://cobertura.sourceforge.net/">Cobertura</a>. Both tools are not
    +  actively maintained by the original authors any more and do not support the
    +  current Java versions. Due to the lack of regression tests maintenance and
    +  feature additions is difficult.
    +</p>
    +
    +<p>
    +  Therefore we started the JaCoCo project to provide a new standard technology
    +  for code coverage analysis in Java VM based environments. The focus is
    +  providing a lightweight, flexible and well documented library for integration
    +  with various build and development tools. <a href="ant.html">Ant tasks</a>, a
    +  <a href="maven.html">Maven plug-in</a> and the
    +  <a href="http://www.eclemma.org/">EclEmma Eclipse plug-in</a> are provided as
    +  reference usage scenarios. Also many other tool vendors and Open Source
    +  projects have <a href="integrations.html">integrated</a> JaCoCo into their
    +  tools.
    +</p>
    +
    +<h2>Product Definition</h2>
    +
    +<h3>Features</h3>
    +<ul>
    +  <li>Coverage <a href="counters.html">analysis</a> of instructions (C0),
    +      branches (C1), lines, methods, types and cyclomatic complexity.</li>
    +  <li>Based on Java byte code and therefore works also without source files.</li>
    +  <li>Simple integration through <a href="agent.html">Java agent</a> based
    +      on-the-fly instrumentation. Other integration scenarios like custom class
    +      loaders are possible through the API.</li>
    +  <li>Framework agnostic: Smoothly integrates with Java VM based applications
    +      like plain Java programs, OSGi frameworks, web containers or EJB servers.</li>
    +  <li>Compatible with all released Java class file versions.</li>
    +  <li>Support for different
    +      <a href="http://en.wikipedia.org/wiki/List_of_JVM_languages">JVM languages</a>.</li>
    +  <li>Several report formats (HTML, XML, CSV).</li>
    +  <li>Remote protocol and JMX control to request execution data dumps from the
    +      coverage agent at any point in time.</li>
    +  <li><a href="ant.html">Ant tasks</a> to collect and manage execution
    +      data and create structured coverage reports.</li>
    +  <li><a href="maven.html">Maven plug-in</a> to collect coverage information
    +      and create reports in Maven builds.</li>
    +</ul>
    +
    +<h3>Non-Functional Characteristics</h3>
    +<ul>
    +  <li>Simple usage and integration with existing build scripts and tools.</li>
    +  <li>Good performance with minimal runtime overhead especially for large scale
    +      projects.</li>
    +  <li>Lightweight implementation with minimal dependencies on external libraries
    +      and system resources.</li>
    +  <li>Comprehensive documentation.</li>
    +  <li>Fully documented APIs (<a href="api/index.html">JavaDoc</a>) and
    +      <a href="api.html">examples</a> for <a href="integrations.html">integration</a>
    +      with other tools.</li>
    +  <li>Regression <a href="../test/index.html">tests</a> with full functional
    +      test <a href="../coverage/index.html">coverage</a> based on
    +      <a href="http://junit.org/">JUnit</a> test cases.</li>
    +</ul>
    +
    +</div>
    +<div class="footer">
    +  <span class="right"><a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.12.202403270442</span>
    +  <a href="license.html">Copyright</a> &copy; 2009, 2024 Mountainminds GmbH &amp; Co. KG and Contributors
    +</div>
    +
    +</body>
    +</html>
    diff --git a/jacoco/trunk/doc/offline.html b/jacoco/trunk/doc/offline.html
    new file mode 100644
    index 00000000000..2469d850cd9
    --- /dev/null
    +++ b/jacoco/trunk/doc/offline.html
    @@ -0,0 +1,119 @@
    +<?xml version="1.0" encoding="UTF-8" ?>
    +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
    +<html xmlns="http://www.w3.org/1999/xhtml" lang="en">
    +<head>
    +  <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
    +  <link rel="stylesheet" href="resources/doc.css" charset="UTF-8" type="text/css" />
    +  <link rel="shortcut icon" href="resources/report.gif" type="image/gif" />
    +  <title>JaCoCo - Offline Instrumentation</title>
    +</head>
    +<body>
    +
    +<div class="breadcrumb">
    +  <a href="../index.html" class="el_report">JaCoCo</a> &gt;
    +  <a href="index.html" class="el_group">Documentation</a> &gt;
    +  <span class="el_source">Offline Instrumentation</span>
    +</div>
    +<div id="content">
    +
    +<h1>Offline Instrumentation</h1>
    +
    +<p>
    +  One of the main benefits of JaCoCo is the Java agent, which instruments
    +  classes on-the-fly. This simplifies code coverage analysis a lot as no
    +  pre-instrumentation and classpath tweaking is required. However, there can be
    +  situations where on-the-fly instrumentation is not suitable, for example:
    +</p>
    +<ul>
    +  <li>Runtime environments that do not support Java agents.</li>
    +  <li>Deployments where it is not possible to configure JVM options.</li>
    +  <li>Bytecode needs to be converted for another VM like the Android Dalvik VM.</li>
    +  <li>Conflicts with other agents that do dynamic classfile transformation.</li>
    +</ul>
    +
    +<p>
    +  For such scenarios class files can be pre-instrumented with JaCoCo, for
    +  example with the <a href="ant.html#instrument"><code>instrument</code></a>
    +  Ant task. At runtime the pre-instrumented classes needs be on the classpath
    +  instead of the original classes. In addition <code>jacocoagent.jar</code> must
    +  be put on the classpath.
    +</p>
    +
    +<h2>Configuration</h2>
    +<p>
    +  In offline mode the JaCoCo runtime can be configured with the same set of
    +  properties which are available for the <a href="agent.html">agent</a>, except
    +  for the <code>includes</code>/<code>excludes</code> options as the class files
    +  are already instrumented. There are two different ways to provide the
    +  configuration:
    +</p>
    +
    +<ul>
    +  <li><b>Configuration File:</b> If a file <code>jacoco-agent.properties</code>
    +      is supplied on the classpath options are loaded from this file. The file
    +      has to be formatted in the
    +      <a href="http://docs.oracle.com/javase/7/docs/api/java/util/Properties.html#load%28java.io.Reader%29">Java
    +      properties file format</a>.</li>
    +  <li><b>System Properties:</b> Options can also be supplied as Java system
    +      properties. In this case the options have to be prefixed with
    +      "<code>jacoco-agent.</code>". For example the location of the
    +      <code>*.exec</code> file can be configured with the system property
    +      "<code>jacoco-agent.destfile</code>".</li>
    +</ul>
    +
    +<p>
    +  In both cases configuration values may contain variables in the format
    +  <code>${<i>name</i>}</code> which are resolved with system property values
    +  at runtime. For example:
    +</p>
    +
    +<pre class="source">
    +destfile=/home/vsts/jacoco.exec
    +</pre>
    +
    +<h2>Class Loading and Initialization</h2>
    +<p>
    +  Unlike with on-the-fly instrumentation offline instrumented classes get a
    +  direct dependency on the JaCoCo runtime. Therefore
    +  <code>jacocoagent.jar</code> has to be on the classpath and accessible by the
    +  instrumented classes. The proper location for <code>jacocoagent.jar</code>
    +  might depend on your deployment scenario. The first instrumented class loaded
    +  will trigger the initialization of the JaCoCo runtime. If no instrumented
    +  class is loaded the JaCoCo runtime will not get started at all.
    +</p>
    +
    +<h2>Using Pre-Instrumented Classes With the Java Agent</h2>
    +<p>
    +  It is possible to also use offline-instrumented classes with the JaCoCo Java
    +  agent. In this case the configuration is taken from the agent options. The
    +  agent must be configured in a way that pre-instrumented classes are excluded,
    +  e.g. with "<code>excludes=*</code>". Otherwise it will result in error
    +  messages on the console if the agent instruments such classes again.
    +</p>
    +
    +<h2>Execution Data Collection</h2>
    +<p>
    +  If <code>jacocoagent.jar</code> is used on the classpath it will collect
    +  execution data the same way as used as a <a href="agent.html">Java agent</a>.
    +  Depending on the <code>output</code> configuration execution data can be
    +  collected via a remote connection or is written to the file system when the
    +  JVM terminates. For the latter it is required that e.g. a <code>java</code>
    +  task is executed with <code>fork="true"</code>.
    +</p>
    +
    +<h2>Report Generation</h2>
    +<p>
    +  Based on the collected <code>*.exec</code> files reports can be created the
    +  same way as for execution data collected with the Java agent. Note that for
    +  report generation the original class files have to be supplied, not the
    +  instrumented copies.
    +</p>
    +
    +</div>
    +<div class="footer">
    +  <span class="right"><a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.12.202403270442</span>
    +  <a href="license.html">Copyright</a> &copy; 2009, 2024 Mountainminds GmbH &amp; Co. KG and Contributors
    +</div>
    +
    +</body>
    +</html>
    diff --git a/jacoco/trunk/doc/prepare-agent-integration-mojo.html b/jacoco/trunk/doc/prepare-agent-integration-mojo.html
    new file mode 100644
    index 00000000000..b53816090f1
    --- /dev/null
    +++ b/jacoco/trunk/doc/prepare-agent-integration-mojo.html
    @@ -0,0 +1,1137 @@
    +<?xml version="1.0" encoding="UTF-8"?>
    +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
    +<html xmlns="http://www.w3.org/1999/xhtml">
    +    <head>
    +        <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
    +        <link rel="stylesheet" href="resources/doc.css" charset="UTF-8" type="text/css" />
    +        <link rel="shortcut icon" href="resources/report.gif" type="image/gif" />
    +        <title>
    +					JaCoCo -
    +					jacoco:prepare-agent-integration</title>
    +    </head>
    +    <body>
    +        <div class="breadcrumb">
    +            <a href="../index.html" class="el_report">JaCoCo</a>
    +            					&gt;
    +					
    +            <a href="index.html" class="el_group">Documentation</a>
    +            					&gt;
    +					
    +            <a href="maven.html" class="el_group">Maven</a>
    +            					&gt;
    +					
    +            <span class="el_source">jacoco:prepare-agent-integration</span>
    +        </div>
    +        <div id="content">
    +                
    +            <h1>jacoco:prepare-agent-integration</h1>
    +                  
    +            <p>
    +                <b>Full name</b>
    +                :
    +            </p>
    +                  
    +            <p>org.jacoco:jacoco-maven-plugin:0.8.12-SNAPSHOT:prepare-agent-integration</p>
    +                  
    +            <p>
    +                <b>Description</b>
    +                :
    +            </p>
    +                  
    +            <div>
    +                Same as 
    +                <code>prepare-agent</code>
    +                , but provides default values
    +suitable for integration-tests: 
    +
    +                <ul>
    +                    
    +                    <li>
    +                        bound to 
    +                        <code>pre-integration-test</code>
    +                         phase
    +                    </li>
    +                    
    +                    <li>
    +                        different 
    +                        <code>destFile</code>
    +                    </li>
    +                    
    +                </ul>
    +            </div>
    +                  
    +            <p>
    +                <b>Attributes</b>
    +                :
    +            </p>
    +                  
    +            <ul>
    +                        
    +                <li>Requires a Maven project to be executed.</li>
    +                        
    +                <li>
    +                    Requires dependency resolution of artifacts in scope: 
    +                    <code>runtime</code>
    +                    .
    +                </li>
    +                        
    +                <li>The goal is thread-safe and supports parallel builds.</li>
    +                        
    +                <li>
    +                    Since version: 
    +                    <code>0.6.4</code>
    +                    .
    +                </li>
    +                        
    +                <li>
    +                    Binds by default to the 
    +                    <a href="http://maven.apache.org/ref/current/maven-core/lifecycles.html">lifecycle phase</a>
    +                    : 
    +                    <code>pre-integration-test</code>
    +                    .
    +                </li>
    +                      
    +            </ul>
    +                  
    +            <h2>Optional Parameters</h2>
    +                    
    +            <table class="coverage">
    +                <thead>
    +                    <tr>
    +                        <td>Name</td>
    +                        <td>Type</td>
    +                        <td>Since</td>
    +                        <td>Description</td>
    +                    </tr>
    +                </thead>
    +                <tbody>
    +                    <tr>
    +                        <td>
    +                            <code>
    +                                <a href="#address">&lt;address&gt;</a>
    +                            </code>
    +                        </td>
    +                        <td>
    +                            <code>String</code>
    +                        </td>
    +                        <td>
    +                            <code>0.6.4</code>
    +                        </td>
    +                        <td>
    +                            IP address or hostname to bind to when the output method is
    +tcpserver or connect to when the output method is tcpclient. In
    +tcpserver mode the value "*" causes the agent to accept connections
    +on any local address.
    +                            <br />
    +                            <b>User property is</b>
    +                            : 
    +                            <code>jacoco.address</code>
    +                            .
    +                            <br />
    +                        </td>
    +                    </tr>
    +                    <tr>
    +                        <td>
    +                            <code>
    +                                <a href="#append">&lt;append&gt;</a>
    +                            </code>
    +                        </td>
    +                        <td>
    +                            <code>Boolean</code>
    +                        </td>
    +                        <td>
    +                            <code>0.6.4</code>
    +                        </td>
    +                        <td>
    +                            If set to true and the execution data file already exists, coverage
    +data is appended to the existing file. If set to false, an existing
    +execution data file will be replaced.
    +                            <br />
    +                            <b>User property is</b>
    +                            : 
    +                            <code>jacoco.append</code>
    +                            .
    +                            <br />
    +                        </td>
    +                    </tr>
    +                    <tr>
    +                        <td>
    +                            <code>
    +                                <a href="#classDumpDir">&lt;classDumpDir&gt;</a>
    +                            </code>
    +                        </td>
    +                        <td>
    +                            <code>File</code>
    +                        </td>
    +                        <td>
    +                            <code>0.6.4</code>
    +                        </td>
    +                        <td>
    +                            If a directory is specified for this parameter the JaCoCo agent
    +dumps all class files it processes to the given location. This can
    +be useful for debugging purposes or in case of dynamically created
    +classes for example when scripting engines are used.
    +                            <br />
    +                            <b>User property is</b>
    +                            : 
    +                            <code>jacoco.classDumpDir</code>
    +                            .
    +                            <br />
    +                        </td>
    +                    </tr>
    +                    <tr>
    +                        <td>
    +                            <code>
    +                                <a href="#destFile">&lt;destFile&gt;</a>
    +                            </code>
    +                        </td>
    +                        <td>
    +                            <code>File</code>
    +                        </td>
    +                        <td>
    +                            <code>0.6.4</code>
    +                        </td>
    +                        <td>
    +                            Path to the output file for execution data.
    +                            <br />
    +                            <b>Default value is</b>
    +                            : 
    +                            <code>${project.build.directory}/jacoco-it.exec</code>
    +                            .
    +                            <br />
    +                            <b>User property is</b>
    +                            : 
    +                            <code>jacoco.destFile</code>
    +                            .
    +                            <br />
    +                        </td>
    +                    </tr>
    +                    <tr>
    +                        <td>
    +                            <code>
    +                                <a href="#dumpOnExit">&lt;dumpOnExit&gt;</a>
    +                            </code>
    +                        </td>
    +                        <td>
    +                            <code>Boolean</code>
    +                        </td>
    +                        <td>
    +                            <code>0.6.4</code>
    +                        </td>
    +                        <td>
    +                            If set to true coverage data will be written on VM shutdown.
    +                            <br />
    +                            <b>User property is</b>
    +                            : 
    +                            <code>jacoco.dumpOnExit</code>
    +                            .
    +                            <br />
    +                        </td>
    +                    </tr>
    +                    <tr>
    +                        <td>
    +                            <code>
    +                                <a href="#exclClassLoaders">&lt;exclClassLoaders&gt;</a>
    +                            </code>
    +                        </td>
    +                        <td>
    +                            <code>String</code>
    +                        </td>
    +                        <td>
    +                            <code>0.6.4</code>
    +                        </td>
    +                        <td>
    +                            A list of class loader names, that should be excluded from
    +execution analysis. The list entries are separated by a colon (:)
    +and may use wildcard characters (* and ?). This option might be
    +required in case of special frameworks that conflict with JaCoCo
    +code instrumentation, in particular class loaders that do not have
    +access to the Java runtime classes.
    +                            <br />
    +                            <b>User property is</b>
    +                            : 
    +                            <code>jacoco.exclClassLoaders</code>
    +                            .
    +                            <br />
    +                        </td>
    +                    </tr>
    +                    <tr>
    +                        <td>
    +                            <code>
    +                                <a href="#excludes">&lt;excludes&gt;</a>
    +                            </code>
    +                        </td>
    +                        <td>
    +                            <code>List</code>
    +                        </td>
    +                        <td>
    +                            <code>0.6.4</code>
    +                        </td>
    +                        <td>
    +                            A list of class names to exclude from instrumentation. May use
    +wildcard characters (* and ?). When not specified nothing will be
    +excluded. Except for performance optimization or technical corner
    +cases this option is normally not required. If you want to exclude
    +classes from the report please configure the 
    +                            <code>report</code>
    +                            goal accordingly.
    +                            <br />
    +                        </td>
    +                    </tr>
    +                    <tr>
    +                        <td>
    +                            <code>
    +                                <a href="#inclBootstrapClasses">&lt;inclBootstrapClasses&gt;</a>
    +                            </code>
    +                        </td>
    +                        <td>
    +                            <code>Boolean</code>
    +                        </td>
    +                        <td>
    +                            <code>0.6.4</code>
    +                        </td>
    +                        <td>
    +                            Specifies whether also classes from the bootstrap classloader
    +should be instrumented. Use this feature with caution, it needs
    +heavy includes/excludes tuning.
    +                            <br />
    +                            <b>User property is</b>
    +                            : 
    +                            <code>jacoco.inclBootstrapClasses</code>
    +                            .
    +                            <br />
    +                        </td>
    +                    </tr>
    +                    <tr>
    +                        <td>
    +                            <code>
    +                                <a href="#inclNoLocationClasses">&lt;inclNoLocationClasses&gt;</a>
    +                            </code>
    +                        </td>
    +                        <td>
    +                            <code>Boolean</code>
    +                        </td>
    +                        <td>
    +                            <code>0.6.4</code>
    +                        </td>
    +                        <td>
    +                            Specifies whether classes without source location should be
    +instrumented.
    +                            <br />
    +                            <b>User property is</b>
    +                            : 
    +                            <code>jacoco.inclNoLocationClasses</code>
    +                            .
    +                            <br />
    +                        </td>
    +                    </tr>
    +                    <tr>
    +                        <td>
    +                            <code>
    +                                <a href="#includes">&lt;includes&gt;</a>
    +                            </code>
    +                        </td>
    +                        <td>
    +                            <code>List</code>
    +                        </td>
    +                        <td>
    +                            <code>0.6.4</code>
    +                        </td>
    +                        <td>
    +                            A list of class names to include in instrumentation. May use
    +wildcard characters (* and ?). When not specified everything will
    +be included.
    +                            <br />
    +                        </td>
    +                    </tr>
    +                    <tr>
    +                        <td>
    +                            <code>
    +                                <a href="#jmx">&lt;jmx&gt;</a>
    +                            </code>
    +                        </td>
    +                        <td>
    +                            <code>Boolean</code>
    +                        </td>
    +                        <td>
    +                            <code>0.6.4</code>
    +                        </td>
    +                        <td>
    +                            If set to true the agent exposes functionality via JMX.
    +                            <br />
    +                            <b>User property is</b>
    +                            : 
    +                            <code>jacoco.jmx</code>
    +                            .
    +                            <br />
    +                        </td>
    +                    </tr>
    +                    <tr>
    +                        <td>
    +                            <code>
    +                                <a href="#output">&lt;output&gt;</a>
    +                            </code>
    +                        </td>
    +                        <td>
    +                            <code>String</code>
    +                        </td>
    +                        <td>
    +                            <code>0.6.4</code>
    +                        </td>
    +                        <td>
    +                            Output method to use for writing coverage data. Valid options are: 
    +
    +                            <ul>
    +                                
    +                                <li>file: At VM termination execution data is written to a
    +file.</li>
    +                                
    +                                <li>
    +                                    tcpserver: The agent listens for incoming connections on the
    +TCP port specified by the 
    +                                    <code>address</code>
    +                                     and
    +
    +                                    <code>port</code>
    +                                    . Execution data is written to this TCP
    +connection.
    +                                </li>
    +                                
    +                                <li>
    +                                    tcpclient: At startup the agent connects to the TCP port
    +specified by the 
    +                                    <code>address</code>
    +                                     and 
    +                                    <code>port</code>
    +                                    .
    +Execution data is written to this TCP connection.
    +                                </li>
    +                                
    +                                <li>none: Do not produce any output.</li>
    +                                
    +                            </ul>
    +                            <br />
    +                            <b>User property is</b>
    +                            : 
    +                            <code>jacoco.output</code>
    +                            .
    +                            <br />
    +                        </td>
    +                    </tr>
    +                    <tr>
    +                        <td>
    +                            <code>
    +                                <a href="#port">&lt;port&gt;</a>
    +                            </code>
    +                        </td>
    +                        <td>
    +                            <code>Integer</code>
    +                        </td>
    +                        <td>
    +                            <code>0.6.4</code>
    +                        </td>
    +                        <td>
    +                            Port to bind to when the output method is tcpserver or connect to
    +when the output method is tcpclient. In tcpserver mode the port
    +must be available, which means that if multiple JaCoCo agents
    +should run on the same machine, different ports have to be
    +specified.
    +                            <br />
    +                            <b>User property is</b>
    +                            : 
    +                            <code>jacoco.port</code>
    +                            .
    +                            <br />
    +                        </td>
    +                    </tr>
    +                    <tr>
    +                        <td>
    +                            <code>
    +                                <a href="#propertyName">&lt;propertyName&gt;</a>
    +                            </code>
    +                        </td>
    +                        <td>
    +                            <code>String</code>
    +                        </td>
    +                        <td>
    +                            <code>0.6.4</code>
    +                        </td>
    +                        <td>
    +                            Allows to specify property which will contains settings for JaCoCo
    +Agent. If not specified, then "argLine" would be used for "jar"
    +packaging and "tycho.testArgLine" for "eclipse-test-plugin".
    +                            <br />
    +                            <b>User property is</b>
    +                            : 
    +                            <code>jacoco.propertyName</code>
    +                            .
    +                            <br />
    +                        </td>
    +                    </tr>
    +                    <tr>
    +                        <td>
    +                            <code>
    +                                <a href="#sessionId">&lt;sessionId&gt;</a>
    +                            </code>
    +                        </td>
    +                        <td>
    +                            <code>String</code>
    +                        </td>
    +                        <td>
    +                            <code>0.6.4</code>
    +                        </td>
    +                        <td>
    +                            A session identifier that is written with the execution data.
    +Without this parameter a random identifier is created by the agent.
    +                            <br />
    +                            <b>User property is</b>
    +                            : 
    +                            <code>jacoco.sessionId</code>
    +                            .
    +                            <br />
    +                        </td>
    +                    </tr>
    +                    <tr>
    +                        <td>
    +                            <code>
    +                                <a href="#skip">&lt;skip&gt;</a>
    +                            </code>
    +                        </td>
    +                        <td>
    +                            <code>boolean</code>
    +                        </td>
    +                        <td>
    +                            <code>0.6.4</code>
    +                        </td>
    +                        <td>
    +                            Flag used to suppress execution.
    +                            <br />
    +                            <b>Default value is</b>
    +                            : 
    +                            <code>false</code>
    +                            .
    +                            <br />
    +                            <b>User property is</b>
    +                            : 
    +                            <code>jacoco.skip</code>
    +                            .
    +                            <br />
    +                        </td>
    +                    </tr>
    +                </tbody>
    +            </table>
    +                  
    +      
    +            <h2>Parameter Details</h2>
    +                    
    +            <b>
    +                <a name="address">&lt;address&gt;</a>
    +            </b>
    +                    
    +            <div>IP address or hostname to bind to when the output method is
    +tcpserver or connect to when the output method is tcpclient. In
    +tcpserver mode the value "*" causes the agent to accept connections
    +on any local address.</div>
    +                    
    +            <ul>
    +                          
    +                <li>
    +                    <b>Type</b>
    +                    : 
    +                    <code>java.lang.String</code>
    +                </li>
    +                          
    +                <li>
    +                    <b>Since</b>
    +                    : 
    +                    <code>0.6.4</code>
    +                </li>
    +                          
    +                <li>
    +                    <b>Required</b>
    +                    : 
    +                    <code>No</code>
    +                </li>
    +                          
    +                <li>
    +                    <b>User Property</b>
    +                    : 
    +                    <code>jacoco.address</code>
    +                </li>
    +                        
    +            </ul>
    +            <b>
    +                <a name="append">&lt;append&gt;</a>
    +            </b>
    +                    
    +            <div>If set to true and the execution data file already exists, coverage
    +data is appended to the existing file. If set to false, an existing
    +execution data file will be replaced.</div>
    +                    
    +            <ul>
    +                          
    +                <li>
    +                    <b>Type</b>
    +                    : 
    +                    <code>java.lang.Boolean</code>
    +                </li>
    +                          
    +                <li>
    +                    <b>Since</b>
    +                    : 
    +                    <code>0.6.4</code>
    +                </li>
    +                          
    +                <li>
    +                    <b>Required</b>
    +                    : 
    +                    <code>No</code>
    +                </li>
    +                          
    +                <li>
    +                    <b>User Property</b>
    +                    : 
    +                    <code>jacoco.append</code>
    +                </li>
    +                        
    +            </ul>
    +            <b>
    +                <a name="classDumpDir">&lt;classDumpDir&gt;</a>
    +            </b>
    +                    
    +            <div>If a directory is specified for this parameter the JaCoCo agent
    +dumps all class files it processes to the given location. This can
    +be useful for debugging purposes or in case of dynamically created
    +classes for example when scripting engines are used.</div>
    +                    
    +            <ul>
    +                          
    +                <li>
    +                    <b>Type</b>
    +                    : 
    +                    <code>java.io.File</code>
    +                </li>
    +                          
    +                <li>
    +                    <b>Since</b>
    +                    : 
    +                    <code>0.6.4</code>
    +                </li>
    +                          
    +                <li>
    +                    <b>Required</b>
    +                    : 
    +                    <code>No</code>
    +                </li>
    +                          
    +                <li>
    +                    <b>User Property</b>
    +                    : 
    +                    <code>jacoco.classDumpDir</code>
    +                </li>
    +                        
    +            </ul>
    +            <b>
    +                <a name="destFile">&lt;destFile&gt;</a>
    +            </b>
    +                    
    +            <div>Path to the output file for execution data.</div>
    +                    
    +            <ul>
    +                          
    +                <li>
    +                    <b>Type</b>
    +                    : 
    +                    <code>java.io.File</code>
    +                </li>
    +                          
    +                <li>
    +                    <b>Since</b>
    +                    : 
    +                    <code>0.6.4</code>
    +                </li>
    +                          
    +                <li>
    +                    <b>Required</b>
    +                    : 
    +                    <code>No</code>
    +                </li>
    +                          
    +                <li>
    +                    <b>User Property</b>
    +                    : 
    +                    <code>jacoco.destFile</code>
    +                </li>
    +                          
    +                <li>
    +                    <b>Default</b>
    +                    : 
    +                    <code>${project.build.directory}/jacoco-it.exec</code>
    +                </li>
    +                        
    +            </ul>
    +            <b>
    +                <a name="dumpOnExit">&lt;dumpOnExit&gt;</a>
    +            </b>
    +                    
    +            <div>If set to true coverage data will be written on VM shutdown.</div>
    +                    
    +            <ul>
    +                          
    +                <li>
    +                    <b>Type</b>
    +                    : 
    +                    <code>java.lang.Boolean</code>
    +                </li>
    +                          
    +                <li>
    +                    <b>Since</b>
    +                    : 
    +                    <code>0.6.4</code>
    +                </li>
    +                          
    +                <li>
    +                    <b>Required</b>
    +                    : 
    +                    <code>No</code>
    +                </li>
    +                          
    +                <li>
    +                    <b>User Property</b>
    +                    : 
    +                    <code>jacoco.dumpOnExit</code>
    +                </li>
    +                        
    +            </ul>
    +            <b>
    +                <a name="exclClassLoaders">&lt;exclClassLoaders&gt;</a>
    +            </b>
    +                    
    +            <div>A list of class loader names, that should be excluded from
    +execution analysis. The list entries are separated by a colon (:)
    +and may use wildcard characters (* and ?). This option might be
    +required in case of special frameworks that conflict with JaCoCo
    +code instrumentation, in particular class loaders that do not have
    +access to the Java runtime classes.</div>
    +                    
    +            <ul>
    +                          
    +                <li>
    +                    <b>Type</b>
    +                    : 
    +                    <code>java.lang.String</code>
    +                </li>
    +                          
    +                <li>
    +                    <b>Since</b>
    +                    : 
    +                    <code>0.6.4</code>
    +                </li>
    +                          
    +                <li>
    +                    <b>Required</b>
    +                    : 
    +                    <code>No</code>
    +                </li>
    +                          
    +                <li>
    +                    <b>User Property</b>
    +                    : 
    +                    <code>jacoco.exclClassLoaders</code>
    +                </li>
    +                        
    +            </ul>
    +            <b>
    +                <a name="excludes">&lt;excludes&gt;</a>
    +            </b>
    +                    
    +            <div>
    +                A list of class names to exclude from instrumentation. May use
    +wildcard characters (* and ?). When not specified nothing will be
    +excluded. Except for performance optimization or technical corner
    +cases this option is normally not required. If you want to exclude
    +classes from the report please configure the 
    +                <code>report</code>
    +                goal accordingly.
    +            </div>
    +                    
    +            <ul>
    +                          
    +                <li>
    +                    <b>Type</b>
    +                    : 
    +                    <code>java.util.List</code>
    +                </li>
    +                          
    +                <li>
    +                    <b>Since</b>
    +                    : 
    +                    <code>0.6.4</code>
    +                </li>
    +                          
    +                <li>
    +                    <b>Required</b>
    +                    : 
    +                    <code>No</code>
    +                </li>
    +                        
    +            </ul>
    +            <b>
    +                <a name="inclBootstrapClasses">&lt;inclBootstrapClasses&gt;</a>
    +            </b>
    +                    
    +            <div>Specifies whether also classes from the bootstrap classloader
    +should be instrumented. Use this feature with caution, it needs
    +heavy includes/excludes tuning.</div>
    +                    
    +            <ul>
    +                          
    +                <li>
    +                    <b>Type</b>
    +                    : 
    +                    <code>java.lang.Boolean</code>
    +                </li>
    +                          
    +                <li>
    +                    <b>Since</b>
    +                    : 
    +                    <code>0.6.4</code>
    +                </li>
    +                          
    +                <li>
    +                    <b>Required</b>
    +                    : 
    +                    <code>No</code>
    +                </li>
    +                          
    +                <li>
    +                    <b>User Property</b>
    +                    : 
    +                    <code>jacoco.inclBootstrapClasses</code>
    +                </li>
    +                        
    +            </ul>
    +            <b>
    +                <a name="inclNoLocationClasses">&lt;inclNoLocationClasses&gt;</a>
    +            </b>
    +                    
    +            <div>Specifies whether classes without source location should be
    +instrumented.</div>
    +                    
    +            <ul>
    +                          
    +                <li>
    +                    <b>Type</b>
    +                    : 
    +                    <code>java.lang.Boolean</code>
    +                </li>
    +                          
    +                <li>
    +                    <b>Since</b>
    +                    : 
    +                    <code>0.6.4</code>
    +                </li>
    +                          
    +                <li>
    +                    <b>Required</b>
    +                    : 
    +                    <code>No</code>
    +                </li>
    +                          
    +                <li>
    +                    <b>User Property</b>
    +                    : 
    +                    <code>jacoco.inclNoLocationClasses</code>
    +                </li>
    +                        
    +            </ul>
    +            <b>
    +                <a name="includes">&lt;includes&gt;</a>
    +            </b>
    +                    
    +            <div>A list of class names to include in instrumentation. May use
    +wildcard characters (* and ?). When not specified everything will
    +be included.</div>
    +                    
    +            <ul>
    +                          
    +                <li>
    +                    <b>Type</b>
    +                    : 
    +                    <code>java.util.List</code>
    +                </li>
    +                          
    +                <li>
    +                    <b>Since</b>
    +                    : 
    +                    <code>0.6.4</code>
    +                </li>
    +                          
    +                <li>
    +                    <b>Required</b>
    +                    : 
    +                    <code>No</code>
    +                </li>
    +                        
    +            </ul>
    +            <b>
    +                <a name="jmx">&lt;jmx&gt;</a>
    +            </b>
    +                    
    +            <div>If set to true the agent exposes functionality via JMX.</div>
    +                    
    +            <ul>
    +                          
    +                <li>
    +                    <b>Type</b>
    +                    : 
    +                    <code>java.lang.Boolean</code>
    +                </li>
    +                          
    +                <li>
    +                    <b>Since</b>
    +                    : 
    +                    <code>0.6.4</code>
    +                </li>
    +                          
    +                <li>
    +                    <b>Required</b>
    +                    : 
    +                    <code>No</code>
    +                </li>
    +                          
    +                <li>
    +                    <b>User Property</b>
    +                    : 
    +                    <code>jacoco.jmx</code>
    +                </li>
    +                        
    +            </ul>
    +            <b>
    +                <a name="output">&lt;output&gt;</a>
    +            </b>
    +                    
    +            <div>
    +                Output method to use for writing coverage data. Valid options are: 
    +
    +                <ul>
    +                    
    +                    <li>file: At VM termination execution data is written to a
    +file.</li>
    +                    
    +                    <li>
    +                        tcpserver: The agent listens for incoming connections on the
    +TCP port specified by the 
    +                        <code>address</code>
    +                         and
    +
    +                        <code>port</code>
    +                        . Execution data is written to this TCP
    +connection.
    +                    </li>
    +                    
    +                    <li>
    +                        tcpclient: At startup the agent connects to the TCP port
    +specified by the 
    +                        <code>address</code>
    +                         and 
    +                        <code>port</code>
    +                        .
    +Execution data is written to this TCP connection.
    +                    </li>
    +                    
    +                    <li>none: Do not produce any output.</li>
    +                    
    +                </ul>
    +            </div>
    +                    
    +            <ul>
    +                          
    +                <li>
    +                    <b>Type</b>
    +                    : 
    +                    <code>java.lang.String</code>
    +                </li>
    +                          
    +                <li>
    +                    <b>Since</b>
    +                    : 
    +                    <code>0.6.4</code>
    +                </li>
    +                          
    +                <li>
    +                    <b>Required</b>
    +                    : 
    +                    <code>No</code>
    +                </li>
    +                          
    +                <li>
    +                    <b>User Property</b>
    +                    : 
    +                    <code>jacoco.output</code>
    +                </li>
    +                        
    +            </ul>
    +            <b>
    +                <a name="port">&lt;port&gt;</a>
    +            </b>
    +                    
    +            <div>Port to bind to when the output method is tcpserver or connect to
    +when the output method is tcpclient. In tcpserver mode the port
    +must be available, which means that if multiple JaCoCo agents
    +should run on the same machine, different ports have to be
    +specified.</div>
    +                    
    +            <ul>
    +                          
    +                <li>
    +                    <b>Type</b>
    +                    : 
    +                    <code>java.lang.Integer</code>
    +                </li>
    +                          
    +                <li>
    +                    <b>Since</b>
    +                    : 
    +                    <code>0.6.4</code>
    +                </li>
    +                          
    +                <li>
    +                    <b>Required</b>
    +                    : 
    +                    <code>No</code>
    +                </li>
    +                          
    +                <li>
    +                    <b>User Property</b>
    +                    : 
    +                    <code>jacoco.port</code>
    +                </li>
    +                        
    +            </ul>
    +            <b>
    +                <a name="propertyName">&lt;propertyName&gt;</a>
    +            </b>
    +                    
    +            <div>Allows to specify property which will contains settings for JaCoCo
    +Agent. If not specified, then "argLine" would be used for "jar"
    +packaging and "tycho.testArgLine" for "eclipse-test-plugin".</div>
    +                    
    +            <ul>
    +                          
    +                <li>
    +                    <b>Type</b>
    +                    : 
    +                    <code>java.lang.String</code>
    +                </li>
    +                          
    +                <li>
    +                    <b>Since</b>
    +                    : 
    +                    <code>0.6.4</code>
    +                </li>
    +                          
    +                <li>
    +                    <b>Required</b>
    +                    : 
    +                    <code>No</code>
    +                </li>
    +                          
    +                <li>
    +                    <b>User Property</b>
    +                    : 
    +                    <code>jacoco.propertyName</code>
    +                </li>
    +                        
    +            </ul>
    +            <b>
    +                <a name="sessionId">&lt;sessionId&gt;</a>
    +            </b>
    +                    
    +            <div>A session identifier that is written with the execution data.
    +Without this parameter a random identifier is created by the agent.</div>
    +                    
    +            <ul>
    +                          
    +                <li>
    +                    <b>Type</b>
    +                    : 
    +                    <code>java.lang.String</code>
    +                </li>
    +                          
    +                <li>
    +                    <b>Since</b>
    +                    : 
    +                    <code>0.6.4</code>
    +                </li>
    +                          
    +                <li>
    +                    <b>Required</b>
    +                    : 
    +                    <code>No</code>
    +                </li>
    +                          
    +                <li>
    +                    <b>User Property</b>
    +                    : 
    +                    <code>jacoco.sessionId</code>
    +                </li>
    +                        
    +            </ul>
    +            <b>
    +                <a name="skip">&lt;skip&gt;</a>
    +            </b>
    +                    
    +            <div>Flag used to suppress execution.</div>
    +                    
    +            <ul>
    +                          
    +                <li>
    +                    <b>Type</b>
    +                    : 
    +                    <code>boolean</code>
    +                </li>
    +                          
    +                <li>
    +                    <b>Since</b>
    +                    : 
    +                    <code>0.6.4</code>
    +                </li>
    +                          
    +                <li>
    +                    <b>Required</b>
    +                    : 
    +                    <code>No</code>
    +                </li>
    +                          
    +                <li>
    +                    <b>User Property</b>
    +                    : 
    +                    <code>jacoco.skip</code>
    +                </li>
    +                          
    +                <li>
    +                    <b>Default</b>
    +                    : 
    +                    <code>false</code>
    +                </li>
    +                        
    +            </ul>
    +                  
    +    
    +  
    +        </div>
    +        <div class="footer">
    +            <span class="right">
    +                <a href="http://www.jacoco.org/jacoco">JaCoCo</a>
    +                						 
    +						0.8.12.202403270442
    +            </span>
    +            <a href="../doc/license.html">Copyright</a>
    +            					©
    +					2009, 2024
    +					Mountainminds GmbH &amp; Co. KG and Contributors
    +				
    +        </div>
    +    </body>
    +</html>
    diff --git a/jacoco/trunk/doc/prepare-agent-mojo.html b/jacoco/trunk/doc/prepare-agent-mojo.html
    new file mode 100644
    index 00000000000..abd7ae4f1b6
    --- /dev/null
    +++ b/jacoco/trunk/doc/prepare-agent-mojo.html
    @@ -0,0 +1,1181 @@
    +<?xml version="1.0" encoding="UTF-8"?>
    +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
    +<html xmlns="http://www.w3.org/1999/xhtml">
    +    <head>
    +        <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
    +        <link rel="stylesheet" href="resources/doc.css" charset="UTF-8" type="text/css" />
    +        <link rel="shortcut icon" href="resources/report.gif" type="image/gif" />
    +        <title>
    +					JaCoCo -
    +					jacoco:prepare-agent</title>
    +    </head>
    +    <body>
    +        <div class="breadcrumb">
    +            <a href="../index.html" class="el_report">JaCoCo</a>
    +            					&gt;
    +					
    +            <a href="index.html" class="el_group">Documentation</a>
    +            					&gt;
    +					
    +            <a href="maven.html" class="el_group">Maven</a>
    +            					&gt;
    +					
    +            <span class="el_source">jacoco:prepare-agent</span>
    +        </div>
    +        <div id="content">
    +                
    +            <h1>jacoco:prepare-agent</h1>
    +                  
    +            <p>
    +                <b>Full name</b>
    +                :
    +            </p>
    +                  
    +            <p>org.jacoco:jacoco-maven-plugin:0.8.12-SNAPSHOT:prepare-agent</p>
    +                  
    +            <p>
    +                <b>Description</b>
    +                :
    +            </p>
    +                  
    +            <div>
    +                <p>Prepares a property pointing to the JaCoCo runtime agent that
    +can be passed as a VM argument to the application under test.
    +Depending on the project packaging type by default a property with
    +the following name is set:</p>
    +                
    +                <ul>
    +                    
    +                    <li>tycho.testArgLine for packaging type eclipse-test-plugin
    +and</li>
    +                    
    +                    <li>argLine otherwise.</li>
    +                    
    +                </ul>
    +                
    +                <p>If your project already defines VM arguments for test execution,
    +be sure that they will include property defined by JaCoCo.</p>
    +                
    +                <p>
    +                    One of the ways to do this in case of maven-surefire-plugin - is
    +to use syntax for 
    +                    <a href="http://maven.apache.org/surefire/maven-surefire-plugin/faq.html#late-property-evaluation">late
    +property evaluation</a>
    +                    :
    +                </p>
    +                
    +                <pre>
    +  &lt;plugin&gt;
    +    &lt;groupId&gt;org.apache.maven.plugins&lt;/groupId&gt;
    +    &lt;artifactId&gt;maven-surefire-plugin&lt;/artifactId&gt;
    +    &lt;configuration&gt;
    +      &lt;argLine&gt;@{argLine} -your -extra -arguments&lt;/argLine&gt;
    +    &lt;/configuration&gt;
    +  &lt;/plugin&gt;
    +</pre>
    +                
    +                <p>
    +                    You can define empty property to avoid JVM startup error
    +
    +                    <code>Could not find or load main class @{argLine}</code>
    +                     when
    +using late property evaluation and jacoco-maven-plugin not
    +executed.
    +                </p>
    +                
    +                <p>Another way is to define "argLine" as a Maven property rather
    +than as part of the configuration of maven-surefire-plugin:</p>
    +                
    +                <pre>
    +  &lt;properties&gt;
    +    &lt;argLine&gt;-your -extra -arguments&lt;/argLine&gt;
    +  &lt;/properties&gt;
    +  ...
    +  &lt;plugin&gt;
    +    &lt;groupId&gt;org.apache.maven.plugins&lt;/groupId&gt;
    +    &lt;artifactId&gt;maven-surefire-plugin&lt;/artifactId&gt;
    +    &lt;configuration&gt;
    +      &lt;!-- no argLine here --&gt;
    +    &lt;/configuration&gt;
    +  &lt;/plugin&gt;
    +</pre>
    +                
    +                <p>Resulting coverage information is collected during execution and
    +by default written to a file when the process terminates.</p>
    +            </div>
    +                  
    +            <p>
    +                <b>Attributes</b>
    +                :
    +            </p>
    +                  
    +            <ul>
    +                        
    +                <li>Requires a Maven project to be executed.</li>
    +                        
    +                <li>
    +                    Requires dependency resolution of artifacts in scope: 
    +                    <code>runtime</code>
    +                    .
    +                </li>
    +                        
    +                <li>The goal is thread-safe and supports parallel builds.</li>
    +                        
    +                <li>
    +                    Since version: 
    +                    <code>0.5.3</code>
    +                    .
    +                </li>
    +                        
    +                <li>
    +                    Binds by default to the 
    +                    <a href="http://maven.apache.org/ref/current/maven-core/lifecycles.html">lifecycle phase</a>
    +                    : 
    +                    <code>initialize</code>
    +                    .
    +                </li>
    +                      
    +            </ul>
    +                  
    +            <h2>Optional Parameters</h2>
    +                    
    +            <table class="coverage">
    +                <thead>
    +                    <tr>
    +                        <td>Name</td>
    +                        <td>Type</td>
    +                        <td>Since</td>
    +                        <td>Description</td>
    +                    </tr>
    +                </thead>
    +                <tbody>
    +                    <tr>
    +                        <td>
    +                            <code>
    +                                <a href="#address">&lt;address&gt;</a>
    +                            </code>
    +                        </td>
    +                        <td>
    +                            <code>String</code>
    +                        </td>
    +                        <td>
    +                            <code>0.5.3</code>
    +                        </td>
    +                        <td>
    +                            IP address or hostname to bind to when the output method is
    +tcpserver or connect to when the output method is tcpclient. In
    +tcpserver mode the value "*" causes the agent to accept connections
    +on any local address.
    +                            <br />
    +                            <b>User property is</b>
    +                            : 
    +                            <code>jacoco.address</code>
    +                            .
    +                            <br />
    +                        </td>
    +                    </tr>
    +                    <tr>
    +                        <td>
    +                            <code>
    +                                <a href="#append">&lt;append&gt;</a>
    +                            </code>
    +                        </td>
    +                        <td>
    +                            <code>Boolean</code>
    +                        </td>
    +                        <td>
    +                            <code>0.5.3</code>
    +                        </td>
    +                        <td>
    +                            If set to true and the execution data file already exists, coverage
    +data is appended to the existing file. If set to false, an existing
    +execution data file will be replaced.
    +                            <br />
    +                            <b>User property is</b>
    +                            : 
    +                            <code>jacoco.append</code>
    +                            .
    +                            <br />
    +                        </td>
    +                    </tr>
    +                    <tr>
    +                        <td>
    +                            <code>
    +                                <a href="#classDumpDir">&lt;classDumpDir&gt;</a>
    +                            </code>
    +                        </td>
    +                        <td>
    +                            <code>File</code>
    +                        </td>
    +                        <td>
    +                            <code>0.5.3</code>
    +                        </td>
    +                        <td>
    +                            If a directory is specified for this parameter the JaCoCo agent
    +dumps all class files it processes to the given location. This can
    +be useful for debugging purposes or in case of dynamically created
    +classes for example when scripting engines are used.
    +                            <br />
    +                            <b>User property is</b>
    +                            : 
    +                            <code>jacoco.classDumpDir</code>
    +                            .
    +                            <br />
    +                        </td>
    +                    </tr>
    +                    <tr>
    +                        <td>
    +                            <code>
    +                                <a href="#destFile">&lt;destFile&gt;</a>
    +                            </code>
    +                        </td>
    +                        <td>
    +                            <code>File</code>
    +                        </td>
    +                        <td>
    +                            <code>0.5.3</code>
    +                        </td>
    +                        <td>
    +                            Path to the output file for execution data.
    +                            <br />
    +                            <b>Default value is</b>
    +                            : 
    +                            <code>${project.build.directory}/jacoco.exec</code>
    +                            .
    +                            <br />
    +                            <b>User property is</b>
    +                            : 
    +                            <code>jacoco.destFile</code>
    +                            .
    +                            <br />
    +                        </td>
    +                    </tr>
    +                    <tr>
    +                        <td>
    +                            <code>
    +                                <a href="#dumpOnExit">&lt;dumpOnExit&gt;</a>
    +                            </code>
    +                        </td>
    +                        <td>
    +                            <code>Boolean</code>
    +                        </td>
    +                        <td>
    +                            <code>0.5.3</code>
    +                        </td>
    +                        <td>
    +                            If set to true coverage data will be written on VM shutdown.
    +                            <br />
    +                            <b>User property is</b>
    +                            : 
    +                            <code>jacoco.dumpOnExit</code>
    +                            .
    +                            <br />
    +                        </td>
    +                    </tr>
    +                    <tr>
    +                        <td>
    +                            <code>
    +                                <a href="#exclClassLoaders">&lt;exclClassLoaders&gt;</a>
    +                            </code>
    +                        </td>
    +                        <td>
    +                            <code>String</code>
    +                        </td>
    +                        <td>
    +                            <code>0.5.3</code>
    +                        </td>
    +                        <td>
    +                            A list of class loader names, that should be excluded from
    +execution analysis. The list entries are separated by a colon (:)
    +and may use wildcard characters (* and ?). This option might be
    +required in case of special frameworks that conflict with JaCoCo
    +code instrumentation, in particular class loaders that do not have
    +access to the Java runtime classes.
    +                            <br />
    +                            <b>User property is</b>
    +                            : 
    +                            <code>jacoco.exclClassLoaders</code>
    +                            .
    +                            <br />
    +                        </td>
    +                    </tr>
    +                    <tr>
    +                        <td>
    +                            <code>
    +                                <a href="#excludes">&lt;excludes&gt;</a>
    +                            </code>
    +                        </td>
    +                        <td>
    +                            <code>List</code>
    +                        </td>
    +                        <td>
    +                            <code>0.5.3</code>
    +                        </td>
    +                        <td>
    +                            A list of class names to exclude from instrumentation. May use
    +wildcard characters (* and ?). When not specified nothing will be
    +excluded. Except for performance optimization or technical corner
    +cases this option is normally not required. If you want to exclude
    +classes from the report please configure the 
    +                            <code>report</code>
    +                            goal accordingly.
    +                            <br />
    +                        </td>
    +                    </tr>
    +                    <tr>
    +                        <td>
    +                            <code>
    +                                <a href="#inclBootstrapClasses">&lt;inclBootstrapClasses&gt;</a>
    +                            </code>
    +                        </td>
    +                        <td>
    +                            <code>Boolean</code>
    +                        </td>
    +                        <td>
    +                            <code>0.5.3</code>
    +                        </td>
    +                        <td>
    +                            Specifies whether also classes from the bootstrap classloader
    +should be instrumented. Use this feature with caution, it needs
    +heavy includes/excludes tuning.
    +                            <br />
    +                            <b>User property is</b>
    +                            : 
    +                            <code>jacoco.inclBootstrapClasses</code>
    +                            .
    +                            <br />
    +                        </td>
    +                    </tr>
    +                    <tr>
    +                        <td>
    +                            <code>
    +                                <a href="#inclNoLocationClasses">&lt;inclNoLocationClasses&gt;</a>
    +                            </code>
    +                        </td>
    +                        <td>
    +                            <code>Boolean</code>
    +                        </td>
    +                        <td>
    +                            <code>0.5.3</code>
    +                        </td>
    +                        <td>
    +                            Specifies whether classes without source location should be
    +instrumented.
    +                            <br />
    +                            <b>User property is</b>
    +                            : 
    +                            <code>jacoco.inclNoLocationClasses</code>
    +                            .
    +                            <br />
    +                        </td>
    +                    </tr>
    +                    <tr>
    +                        <td>
    +                            <code>
    +                                <a href="#includes">&lt;includes&gt;</a>
    +                            </code>
    +                        </td>
    +                        <td>
    +                            <code>List</code>
    +                        </td>
    +                        <td>
    +                            <code>0.5.3</code>
    +                        </td>
    +                        <td>
    +                            A list of class names to include in instrumentation. May use
    +wildcard characters (* and ?). When not specified everything will
    +be included.
    +                            <br />
    +                        </td>
    +                    </tr>
    +                    <tr>
    +                        <td>
    +                            <code>
    +                                <a href="#jmx">&lt;jmx&gt;</a>
    +                            </code>
    +                        </td>
    +                        <td>
    +                            <code>Boolean</code>
    +                        </td>
    +                        <td>
    +                            <code>0.5.3</code>
    +                        </td>
    +                        <td>
    +                            If set to true the agent exposes functionality via JMX.
    +                            <br />
    +                            <b>User property is</b>
    +                            : 
    +                            <code>jacoco.jmx</code>
    +                            .
    +                            <br />
    +                        </td>
    +                    </tr>
    +                    <tr>
    +                        <td>
    +                            <code>
    +                                <a href="#output">&lt;output&gt;</a>
    +                            </code>
    +                        </td>
    +                        <td>
    +                            <code>String</code>
    +                        </td>
    +                        <td>
    +                            <code>0.5.3</code>
    +                        </td>
    +                        <td>
    +                            Output method to use for writing coverage data. Valid options are: 
    +
    +                            <ul>
    +                                
    +                                <li>file: At VM termination execution data is written to a
    +file.</li>
    +                                
    +                                <li>
    +                                    tcpserver: The agent listens for incoming connections on the
    +TCP port specified by the 
    +                                    <code>address</code>
    +                                     and
    +
    +                                    <code>port</code>
    +                                    . Execution data is written to this TCP
    +connection.
    +                                </li>
    +                                
    +                                <li>
    +                                    tcpclient: At startup the agent connects to the TCP port
    +specified by the 
    +                                    <code>address</code>
    +                                     and 
    +                                    <code>port</code>
    +                                    .
    +Execution data is written to this TCP connection.
    +                                </li>
    +                                
    +                                <li>none: Do not produce any output.</li>
    +                                
    +                            </ul>
    +                            <br />
    +                            <b>User property is</b>
    +                            : 
    +                            <code>jacoco.output</code>
    +                            .
    +                            <br />
    +                        </td>
    +                    </tr>
    +                    <tr>
    +                        <td>
    +                            <code>
    +                                <a href="#port">&lt;port&gt;</a>
    +                            </code>
    +                        </td>
    +                        <td>
    +                            <code>Integer</code>
    +                        </td>
    +                        <td>
    +                            <code>0.5.3</code>
    +                        </td>
    +                        <td>
    +                            Port to bind to when the output method is tcpserver or connect to
    +when the output method is tcpclient. In tcpserver mode the port
    +must be available, which means that if multiple JaCoCo agents
    +should run on the same machine, different ports have to be
    +specified.
    +                            <br />
    +                            <b>User property is</b>
    +                            : 
    +                            <code>jacoco.port</code>
    +                            .
    +                            <br />
    +                        </td>
    +                    </tr>
    +                    <tr>
    +                        <td>
    +                            <code>
    +                                <a href="#propertyName">&lt;propertyName&gt;</a>
    +                            </code>
    +                        </td>
    +                        <td>
    +                            <code>String</code>
    +                        </td>
    +                        <td>
    +                            <code>0.5.3</code>
    +                        </td>
    +                        <td>
    +                            Allows to specify property which will contains settings for JaCoCo
    +Agent. If not specified, then "argLine" would be used for "jar"
    +packaging and "tycho.testArgLine" for "eclipse-test-plugin".
    +                            <br />
    +                            <b>User property is</b>
    +                            : 
    +                            <code>jacoco.propertyName</code>
    +                            .
    +                            <br />
    +                        </td>
    +                    </tr>
    +                    <tr>
    +                        <td>
    +                            <code>
    +                                <a href="#sessionId">&lt;sessionId&gt;</a>
    +                            </code>
    +                        </td>
    +                        <td>
    +                            <code>String</code>
    +                        </td>
    +                        <td>
    +                            <code>0.5.3</code>
    +                        </td>
    +                        <td>
    +                            A session identifier that is written with the execution data.
    +Without this parameter a random identifier is created by the agent.
    +                            <br />
    +                            <b>User property is</b>
    +                            : 
    +                            <code>jacoco.sessionId</code>
    +                            .
    +                            <br />
    +                        </td>
    +                    </tr>
    +                    <tr>
    +                        <td>
    +                            <code>
    +                                <a href="#skip">&lt;skip&gt;</a>
    +                            </code>
    +                        </td>
    +                        <td>
    +                            <code>boolean</code>
    +                        </td>
    +                        <td>
    +                            <code>0.5.3</code>
    +                        </td>
    +                        <td>
    +                            Flag used to suppress execution.
    +                            <br />
    +                            <b>Default value is</b>
    +                            : 
    +                            <code>false</code>
    +                            .
    +                            <br />
    +                            <b>User property is</b>
    +                            : 
    +                            <code>jacoco.skip</code>
    +                            .
    +                            <br />
    +                        </td>
    +                    </tr>
    +                </tbody>
    +            </table>
    +                  
    +      
    +            <h2>Parameter Details</h2>
    +                    
    +            <b>
    +                <a name="address">&lt;address&gt;</a>
    +            </b>
    +                    
    +            <div>IP address or hostname to bind to when the output method is
    +tcpserver or connect to when the output method is tcpclient. In
    +tcpserver mode the value "*" causes the agent to accept connections
    +on any local address.</div>
    +                    
    +            <ul>
    +                          
    +                <li>
    +                    <b>Type</b>
    +                    : 
    +                    <code>java.lang.String</code>
    +                </li>
    +                          
    +                <li>
    +                    <b>Since</b>
    +                    : 
    +                    <code>0.5.3</code>
    +                </li>
    +                          
    +                <li>
    +                    <b>Required</b>
    +                    : 
    +                    <code>No</code>
    +                </li>
    +                          
    +                <li>
    +                    <b>User Property</b>
    +                    : 
    +                    <code>jacoco.address</code>
    +                </li>
    +                        
    +            </ul>
    +            <b>
    +                <a name="append">&lt;append&gt;</a>
    +            </b>
    +                    
    +            <div>If set to true and the execution data file already exists, coverage
    +data is appended to the existing file. If set to false, an existing
    +execution data file will be replaced.</div>
    +                    
    +            <ul>
    +                          
    +                <li>
    +                    <b>Type</b>
    +                    : 
    +                    <code>java.lang.Boolean</code>
    +                </li>
    +                          
    +                <li>
    +                    <b>Since</b>
    +                    : 
    +                    <code>0.5.3</code>
    +                </li>
    +                          
    +                <li>
    +                    <b>Required</b>
    +                    : 
    +                    <code>No</code>
    +                </li>
    +                          
    +                <li>
    +                    <b>User Property</b>
    +                    : 
    +                    <code>jacoco.append</code>
    +                </li>
    +                        
    +            </ul>
    +            <b>
    +                <a name="classDumpDir">&lt;classDumpDir&gt;</a>
    +            </b>
    +                    
    +            <div>If a directory is specified for this parameter the JaCoCo agent
    +dumps all class files it processes to the given location. This can
    +be useful for debugging purposes or in case of dynamically created
    +classes for example when scripting engines are used.</div>
    +                    
    +            <ul>
    +                          
    +                <li>
    +                    <b>Type</b>
    +                    : 
    +                    <code>java.io.File</code>
    +                </li>
    +                          
    +                <li>
    +                    <b>Since</b>
    +                    : 
    +                    <code>0.5.3</code>
    +                </li>
    +                          
    +                <li>
    +                    <b>Required</b>
    +                    : 
    +                    <code>No</code>
    +                </li>
    +                          
    +                <li>
    +                    <b>User Property</b>
    +                    : 
    +                    <code>jacoco.classDumpDir</code>
    +                </li>
    +                        
    +            </ul>
    +            <b>
    +                <a name="destFile">&lt;destFile&gt;</a>
    +            </b>
    +                    
    +            <div>Path to the output file for execution data.</div>
    +                    
    +            <ul>
    +                          
    +                <li>
    +                    <b>Type</b>
    +                    : 
    +                    <code>java.io.File</code>
    +                </li>
    +                          
    +                <li>
    +                    <b>Since</b>
    +                    : 
    +                    <code>0.5.3</code>
    +                </li>
    +                          
    +                <li>
    +                    <b>Required</b>
    +                    : 
    +                    <code>No</code>
    +                </li>
    +                          
    +                <li>
    +                    <b>User Property</b>
    +                    : 
    +                    <code>jacoco.destFile</code>
    +                </li>
    +                          
    +                <li>
    +                    <b>Default</b>
    +                    : 
    +                    <code>${project.build.directory}/jacoco.exec</code>
    +                </li>
    +                        
    +            </ul>
    +            <b>
    +                <a name="dumpOnExit">&lt;dumpOnExit&gt;</a>
    +            </b>
    +                    
    +            <div>If set to true coverage data will be written on VM shutdown.</div>
    +                    
    +            <ul>
    +                          
    +                <li>
    +                    <b>Type</b>
    +                    : 
    +                    <code>java.lang.Boolean</code>
    +                </li>
    +                          
    +                <li>
    +                    <b>Since</b>
    +                    : 
    +                    <code>0.5.3</code>
    +                </li>
    +                          
    +                <li>
    +                    <b>Required</b>
    +                    : 
    +                    <code>No</code>
    +                </li>
    +                          
    +                <li>
    +                    <b>User Property</b>
    +                    : 
    +                    <code>jacoco.dumpOnExit</code>
    +                </li>
    +                        
    +            </ul>
    +            <b>
    +                <a name="exclClassLoaders">&lt;exclClassLoaders&gt;</a>
    +            </b>
    +                    
    +            <div>A list of class loader names, that should be excluded from
    +execution analysis. The list entries are separated by a colon (:)
    +and may use wildcard characters (* and ?). This option might be
    +required in case of special frameworks that conflict with JaCoCo
    +code instrumentation, in particular class loaders that do not have
    +access to the Java runtime classes.</div>
    +                    
    +            <ul>
    +                          
    +                <li>
    +                    <b>Type</b>
    +                    : 
    +                    <code>java.lang.String</code>
    +                </li>
    +                          
    +                <li>
    +                    <b>Since</b>
    +                    : 
    +                    <code>0.5.3</code>
    +                </li>
    +                          
    +                <li>
    +                    <b>Required</b>
    +                    : 
    +                    <code>No</code>
    +                </li>
    +                          
    +                <li>
    +                    <b>User Property</b>
    +                    : 
    +                    <code>jacoco.exclClassLoaders</code>
    +                </li>
    +                        
    +            </ul>
    +            <b>
    +                <a name="excludes">&lt;excludes&gt;</a>
    +            </b>
    +                    
    +            <div>
    +                A list of class names to exclude from instrumentation. May use
    +wildcard characters (* and ?). When not specified nothing will be
    +excluded. Except for performance optimization or technical corner
    +cases this option is normally not required. If you want to exclude
    +classes from the report please configure the 
    +                <code>report</code>
    +                goal accordingly.
    +            </div>
    +                    
    +            <ul>
    +                          
    +                <li>
    +                    <b>Type</b>
    +                    : 
    +                    <code>java.util.List</code>
    +                </li>
    +                          
    +                <li>
    +                    <b>Since</b>
    +                    : 
    +                    <code>0.5.3</code>
    +                </li>
    +                          
    +                <li>
    +                    <b>Required</b>
    +                    : 
    +                    <code>No</code>
    +                </li>
    +                        
    +            </ul>
    +            <b>
    +                <a name="inclBootstrapClasses">&lt;inclBootstrapClasses&gt;</a>
    +            </b>
    +                    
    +            <div>Specifies whether also classes from the bootstrap classloader
    +should be instrumented. Use this feature with caution, it needs
    +heavy includes/excludes tuning.</div>
    +                    
    +            <ul>
    +                          
    +                <li>
    +                    <b>Type</b>
    +                    : 
    +                    <code>java.lang.Boolean</code>
    +                </li>
    +                          
    +                <li>
    +                    <b>Since</b>
    +                    : 
    +                    <code>0.5.3</code>
    +                </li>
    +                          
    +                <li>
    +                    <b>Required</b>
    +                    : 
    +                    <code>No</code>
    +                </li>
    +                          
    +                <li>
    +                    <b>User Property</b>
    +                    : 
    +                    <code>jacoco.inclBootstrapClasses</code>
    +                </li>
    +                        
    +            </ul>
    +            <b>
    +                <a name="inclNoLocationClasses">&lt;inclNoLocationClasses&gt;</a>
    +            </b>
    +                    
    +            <div>Specifies whether classes without source location should be
    +instrumented.</div>
    +                    
    +            <ul>
    +                          
    +                <li>
    +                    <b>Type</b>
    +                    : 
    +                    <code>java.lang.Boolean</code>
    +                </li>
    +                          
    +                <li>
    +                    <b>Since</b>
    +                    : 
    +                    <code>0.5.3</code>
    +                </li>
    +                          
    +                <li>
    +                    <b>Required</b>
    +                    : 
    +                    <code>No</code>
    +                </li>
    +                          
    +                <li>
    +                    <b>User Property</b>
    +                    : 
    +                    <code>jacoco.inclNoLocationClasses</code>
    +                </li>
    +                        
    +            </ul>
    +            <b>
    +                <a name="includes">&lt;includes&gt;</a>
    +            </b>
    +                    
    +            <div>A list of class names to include in instrumentation. May use
    +wildcard characters (* and ?). When not specified everything will
    +be included.</div>
    +                    
    +            <ul>
    +                          
    +                <li>
    +                    <b>Type</b>
    +                    : 
    +                    <code>java.util.List</code>
    +                </li>
    +                          
    +                <li>
    +                    <b>Since</b>
    +                    : 
    +                    <code>0.5.3</code>
    +                </li>
    +                          
    +                <li>
    +                    <b>Required</b>
    +                    : 
    +                    <code>No</code>
    +                </li>
    +                        
    +            </ul>
    +            <b>
    +                <a name="jmx">&lt;jmx&gt;</a>
    +            </b>
    +                    
    +            <div>If set to true the agent exposes functionality via JMX.</div>
    +                    
    +            <ul>
    +                          
    +                <li>
    +                    <b>Type</b>
    +                    : 
    +                    <code>java.lang.Boolean</code>
    +                </li>
    +                          
    +                <li>
    +                    <b>Since</b>
    +                    : 
    +                    <code>0.5.3</code>
    +                </li>
    +                          
    +                <li>
    +                    <b>Required</b>
    +                    : 
    +                    <code>No</code>
    +                </li>
    +                          
    +                <li>
    +                    <b>User Property</b>
    +                    : 
    +                    <code>jacoco.jmx</code>
    +                </li>
    +                        
    +            </ul>
    +            <b>
    +                <a name="output">&lt;output&gt;</a>
    +            </b>
    +                    
    +            <div>
    +                Output method to use for writing coverage data. Valid options are: 
    +
    +                <ul>
    +                    
    +                    <li>file: At VM termination execution data is written to a
    +file.</li>
    +                    
    +                    <li>
    +                        tcpserver: The agent listens for incoming connections on the
    +TCP port specified by the 
    +                        <code>address</code>
    +                         and
    +
    +                        <code>port</code>
    +                        . Execution data is written to this TCP
    +connection.
    +                    </li>
    +                    
    +                    <li>
    +                        tcpclient: At startup the agent connects to the TCP port
    +specified by the 
    +                        <code>address</code>
    +                         and 
    +                        <code>port</code>
    +                        .
    +Execution data is written to this TCP connection.
    +                    </li>
    +                    
    +                    <li>none: Do not produce any output.</li>
    +                    
    +                </ul>
    +            </div>
    +                    
    +            <ul>
    +                          
    +                <li>
    +                    <b>Type</b>
    +                    : 
    +                    <code>java.lang.String</code>
    +                </li>
    +                          
    +                <li>
    +                    <b>Since</b>
    +                    : 
    +                    <code>0.5.3</code>
    +                </li>
    +                          
    +                <li>
    +                    <b>Required</b>
    +                    : 
    +                    <code>No</code>
    +                </li>
    +                          
    +                <li>
    +                    <b>User Property</b>
    +                    : 
    +                    <code>jacoco.output</code>
    +                </li>
    +                        
    +            </ul>
    +            <b>
    +                <a name="port">&lt;port&gt;</a>
    +            </b>
    +                    
    +            <div>Port to bind to when the output method is tcpserver or connect to
    +when the output method is tcpclient. In tcpserver mode the port
    +must be available, which means that if multiple JaCoCo agents
    +should run on the same machine, different ports have to be
    +specified.</div>
    +                    
    +            <ul>
    +                          
    +                <li>
    +                    <b>Type</b>
    +                    : 
    +                    <code>java.lang.Integer</code>
    +                </li>
    +                          
    +                <li>
    +                    <b>Since</b>
    +                    : 
    +                    <code>0.5.3</code>
    +                </li>
    +                          
    +                <li>
    +                    <b>Required</b>
    +                    : 
    +                    <code>No</code>
    +                </li>
    +                          
    +                <li>
    +                    <b>User Property</b>
    +                    : 
    +                    <code>jacoco.port</code>
    +                </li>
    +                        
    +            </ul>
    +            <b>
    +                <a name="propertyName">&lt;propertyName&gt;</a>
    +            </b>
    +                    
    +            <div>Allows to specify property which will contains settings for JaCoCo
    +Agent. If not specified, then "argLine" would be used for "jar"
    +packaging and "tycho.testArgLine" for "eclipse-test-plugin".</div>
    +                    
    +            <ul>
    +                          
    +                <li>
    +                    <b>Type</b>
    +                    : 
    +                    <code>java.lang.String</code>
    +                </li>
    +                          
    +                <li>
    +                    <b>Since</b>
    +                    : 
    +                    <code>0.5.3</code>
    +                </li>
    +                          
    +                <li>
    +                    <b>Required</b>
    +                    : 
    +                    <code>No</code>
    +                </li>
    +                          
    +                <li>
    +                    <b>User Property</b>
    +                    : 
    +                    <code>jacoco.propertyName</code>
    +                </li>
    +                        
    +            </ul>
    +            <b>
    +                <a name="sessionId">&lt;sessionId&gt;</a>
    +            </b>
    +                    
    +            <div>A session identifier that is written with the execution data.
    +Without this parameter a random identifier is created by the agent.</div>
    +                    
    +            <ul>
    +                          
    +                <li>
    +                    <b>Type</b>
    +                    : 
    +                    <code>java.lang.String</code>
    +                </li>
    +                          
    +                <li>
    +                    <b>Since</b>
    +                    : 
    +                    <code>0.5.3</code>
    +                </li>
    +                          
    +                <li>
    +                    <b>Required</b>
    +                    : 
    +                    <code>No</code>
    +                </li>
    +                          
    +                <li>
    +                    <b>User Property</b>
    +                    : 
    +                    <code>jacoco.sessionId</code>
    +                </li>
    +                        
    +            </ul>
    +            <b>
    +                <a name="skip">&lt;skip&gt;</a>
    +            </b>
    +                    
    +            <div>Flag used to suppress execution.</div>
    +                    
    +            <ul>
    +                          
    +                <li>
    +                    <b>Type</b>
    +                    : 
    +                    <code>boolean</code>
    +                </li>
    +                          
    +                <li>
    +                    <b>Since</b>
    +                    : 
    +                    <code>0.5.3</code>
    +                </li>
    +                          
    +                <li>
    +                    <b>Required</b>
    +                    : 
    +                    <code>No</code>
    +                </li>
    +                          
    +                <li>
    +                    <b>User Property</b>
    +                    : 
    +                    <code>jacoco.skip</code>
    +                </li>
    +                          
    +                <li>
    +                    <b>Default</b>
    +                    : 
    +                    <code>false</code>
    +                </li>
    +                        
    +            </ul>
    +                  
    +    
    +  
    +        </div>
    +        <div class="footer">
    +            <span class="right">
    +                <a href="http://www.jacoco.org/jacoco">JaCoCo</a>
    +                						 
    +						0.8.12.202403270442
    +            </span>
    +            <a href="../doc/license.html">Copyright</a>
    +            					©
    +					2009, 2024
    +					Mountainminds GmbH &amp; Co. KG and Contributors
    +				
    +        </div>
    +    </body>
    +</html>
    diff --git a/jacoco/trunk/doc/repo.html b/jacoco/trunk/doc/repo.html
    new file mode 100644
    index 00000000000..322e25953af
    --- /dev/null
    +++ b/jacoco/trunk/doc/repo.html
    @@ -0,0 +1,134 @@
    +<?xml version="1.0" encoding="UTF-8" ?>
    +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
    +<html xmlns="http://www.w3.org/1999/xhtml" lang="en">
    +<head>
    +  <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
    +  <link rel="stylesheet" href="resources/doc.css" charset="UTF-8" type="text/css" />
    +  <link rel="stylesheet" href="../coverage/jacoco-resources/prettify.css" charset="UTF-8" type="text/css" />
    +  <link rel="shortcut icon" href="resources/report.gif" type="image/gif" />
    +  <script type="text/javascript" src="../coverage/jacoco-resources/prettify.js"></script>
    +  <title>JaCoCo - Maven Repository</title>
    +</head>
    +<body onload="prettyPrint()">
    +
    +<div class="breadcrumb">
    +  <a href="../index.html" class="el_report">JaCoCo</a> &gt;
    +  <a href="index.html" class="el_group">Documentation</a> &gt;
    +  <span class="el_source">Maven Repository</span>
    +</div>
    +<div id="content">
    +
    +<h1>Maven Repository</h1>
    +
    +<p>
    +  If you want to integrate JaCoCo within your tools you might directly retrieve
    +  it from the Maven repository. There are two repositories, one for JaCoCo
    +  releases, one for regular snapshot builds.
    +</p>
    +
    +<table class="coverage">
    +  <thead>
    +    <tr>
    +      <td>Type</td>
    +      <td>Repository</td>
    +    </tr>
    +  </thead>
    +  <tbody>
    +    <tr>
    +      <td>Release</td>
    +      <td><code>http://repo1.maven.org/maven2/</code> (Central Repository)</td>
    +    </tr>
    +    <tr>
    +      <td>Snapshot</td>
    +      <td><code>https://oss.sonatype.org/content/repositories/snapshots</code></td>
    +    </tr>
    +  </tbody>
    +</table>
    +
    +<h2>Artifacts</h2>
    +
    +<p>
    +  Following JAR files are available:
    +</p>
    +
    +<table class="coverage">
    +  <thead>
    +    <tr>
    +      <td>Group ID</td>
    +      <td>Artifact ID</td>
    +      <td>Classifier</td>
    +      <td>Description</td>
    +    </tr>
    +  </thead>
    +  <tbody>
    +    <tr>
    +      <td><code>org.jacoco</code></td>
    +      <td><code>jacoco-maven-plugin</code></td>
    +      <td></td>
    +      <td>Plug-in for Maven</td>
    +    </tr>
    +    <tr>
    +      <td><code>org.jacoco</code></td>
    +      <td><code>org.jacoco.agent</code></td>
    +      <td></td>
    +      <td>API to get a local copy of the agent</td>
    +    </tr>
    +    <tr>
    +      <td><code>org.jacoco</code></td>
    +      <td><code>org.jacoco.agent</code></td>
    +      <td><code>runtime</code></td>
    +      <td>Agent</td>
    +    </tr>
    +    <tr>
    +      <td><code>org.jacoco</code></td>
    +      <td><code>org.jacoco.ant</code></td>
    +      <td></td>
    +      <td>Ant Tasks</td>
    +    </tr>
    +    <tr>
    +      <td><code>org.jacoco</code></td>
    +      <td><code>org.jacoco.ant</code></td>
    +      <td><code>nodeps</code></td>
    +      <td>Ant Tasks <i>(all dependencies included)</i></td>
    +    </tr>
    +    <tr>
    +      <td><code>org.jacoco</code></td>
    +      <td><code>org.jacoco.cli</code></td>
    +      <td></td>
    +      <td>Command Line Interface</td>
    +    </tr>
    +    <tr>
    +      <td><code>org.jacoco</code></td>
    +      <td><code>org.jacoco.cli</code></td>
    +      <td><code>nodeps</code></td>
    +      <td>Command Line Interface <i>(all dependencies included)</i></td>
    +    </tr>
    +    <tr>
    +      <td><code>org.jacoco</code></td>
    +      <td><code>org.jacoco.core</code></td>
    +      <td></td>
    +      <td>Core APIs and implementations</td>
    +    </tr>
    +    <tr>
    +      <td><code>org.jacoco</code></td>
    +      <td><code>org.jacoco.report</code></td>
    +      <td></td>
    +      <td>Reporting implementation</td>
    +    </tr>
    +  </tbody>
    +</table>
    +
    +<p>
    +  Please check <a href="http://search.maven.org/#search|ga|1|g%3Aorg.jacoco">here</a>
    +  for the latest release versions in the repository.
    +</p>
    +
    +
    +</div>
    +<div class="footer">
    +  <span class="right"><a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.12.202403270442</span>
    +  <a href="license.html">Copyright</a> &copy; 2009, 2024 Mountainminds GmbH &amp; Co. KG and Contributors
    +</div>
    +
    +</body>
    +</html>
    diff --git a/jacoco/trunk/doc/report-aggregate-mojo.html b/jacoco/trunk/doc/report-aggregate-mojo.html
    new file mode 100644
    index 00000000000..dab0b3015b6
    --- /dev/null
    +++ b/jacoco/trunk/doc/report-aggregate-mojo.html
    @@ -0,0 +1,803 @@
    +<?xml version="1.0" encoding="UTF-8"?>
    +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
    +<html xmlns="http://www.w3.org/1999/xhtml">
    +    <head>
    +        <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
    +        <link rel="stylesheet" href="resources/doc.css" charset="UTF-8" type="text/css" />
    +        <link rel="shortcut icon" href="resources/report.gif" type="image/gif" />
    +        <title>
    +					JaCoCo -
    +					jacoco:report-aggregate</title>
    +    </head>
    +    <body>
    +        <div class="breadcrumb">
    +            <a href="../index.html" class="el_report">JaCoCo</a>
    +            					&gt;
    +					
    +            <a href="index.html" class="el_group">Documentation</a>
    +            					&gt;
    +					
    +            <a href="maven.html" class="el_group">Maven</a>
    +            					&gt;
    +					
    +            <span class="el_source">jacoco:report-aggregate</span>
    +        </div>
    +        <div id="content">
    +                
    +            <h1>jacoco:report-aggregate</h1>
    +                  
    +            <p>
    +                <b>Note</b>
    +                :This goal should be used as a Maven report.
    +            </p>
    +                  
    +            <p>
    +                <b>Full name</b>
    +                :
    +            </p>
    +                  
    +            <p>org.jacoco:jacoco-maven-plugin:0.8.12-SNAPSHOT:report-aggregate</p>
    +                  
    +            <p>
    +                <b>Description</b>
    +                :
    +            </p>
    +                  
    +            <div>
    +                <p>Creates a structured code coverage report (HTML, XML, and CSV)
    +from multiple projects within reactor. The report is created from
    +all modules this project depends on, and optionally this project
    +itself. From those projects class and source files as well as
    +JaCoCo execution data files will be collected. In addition
    +execution data is collected from the project itself. This also
    +allows to create coverage reports when tests are in separate
    +projects than the code under test, for example in case of
    +integration tests.</p>
    +                
    +                <p>Using the dependency scope allows to distinguish projects which
    +contribute execution data but should not become part of the
    +report:</p>
    +                
    +                <ul>
    +                    
    +                    <li>
    +                        <code>compile</code>
    +                        , 
    +                        <code>runtime</code>
    +                        ,
    +
    +                        <code>provided</code>
    +                        : Project source and execution data is
    +included in the report.
    +                    </li>
    +                    
    +                    <li>
    +                        <code>test</code>
    +                        : Only execution data is considered for the
    +report.
    +                    </li>
    +                    
    +                </ul>
    +            </div>
    +                  
    +            <p>
    +                <b>Attributes</b>
    +                :
    +            </p>
    +                  
    +            <ul>
    +                        
    +                <li>Requires a Maven project to be executed.</li>
    +                        
    +                <li>The goal is thread-safe and supports parallel builds.</li>
    +                        
    +                <li>
    +                    Since version: 
    +                    <code>0.7.7</code>
    +                    .
    +                </li>
    +                      
    +            </ul>
    +                  
    +            <h2>Optional Parameters</h2>
    +                    
    +            <table class="coverage">
    +                <thead>
    +                    <tr>
    +                        <td>Name</td>
    +                        <td>Type</td>
    +                        <td>Since</td>
    +                        <td>Description</td>
    +                    </tr>
    +                </thead>
    +                <tbody>
    +                    <tr>
    +                        <td>
    +                            <code>
    +                                <a href="#dataFileExcludes">&lt;dataFileExcludes&gt;</a>
    +                            </code>
    +                        </td>
    +                        <td>
    +                            <code>List</code>
    +                        </td>
    +                        <td>
    +                            <code>0.7.7</code>
    +                        </td>
    +                        <td>
    +                            A list of execution data files to exclude from the report. May use
    +wildcard characters (* and ?). When not specified nothing will be
    +excluded.
    +                            <br />
    +                        </td>
    +                    </tr>
    +                    <tr>
    +                        <td>
    +                            <code>
    +                                <a href="#dataFileIncludes">&lt;dataFileIncludes&gt;</a>
    +                            </code>
    +                        </td>
    +                        <td>
    +                            <code>List</code>
    +                        </td>
    +                        <td>
    +                            <code>0.7.7</code>
    +                        </td>
    +                        <td>
    +                            A list of execution data files to include in the report from each
    +project. May use wildcard characters (* and ?). When not specified
    +all *.exec files from the target folder will be included.
    +                            <br />
    +                        </td>
    +                    </tr>
    +                    <tr>
    +                        <td>
    +                            <code>
    +                                <a href="#excludes">&lt;excludes&gt;</a>
    +                            </code>
    +                        </td>
    +                        <td>
    +                            <code>List</code>
    +                        </td>
    +                        <td>
    +                            <code>0.7.7</code>
    +                        </td>
    +                        <td>
    +                            A list of class files to exclude from the report. May use wildcard
    +characters (* and ?). When not specified nothing will be excluded.
    +                            <br />
    +                        </td>
    +                    </tr>
    +                    <tr>
    +                        <td>
    +                            <code>
    +                                <a href="#footer">&lt;footer&gt;</a>
    +                            </code>
    +                        </td>
    +                        <td>
    +                            <code>String</code>
    +                        </td>
    +                        <td>
    +                            <code>0.7.7</code>
    +                        </td>
    +                        <td>
    +                            Footer text used in HTML report pages.
    +                            <br />
    +                        </td>
    +                    </tr>
    +                    <tr>
    +                        <td>
    +                            <code>
    +                                <a href="#formats">&lt;formats&gt;</a>
    +                            </code>
    +                        </td>
    +                        <td>
    +                            <code>List</code>
    +                        </td>
    +                        <td>
    +                            <code>0.8.7</code>
    +                        </td>
    +                        <td>
    +                            A list of report formats to generate. Supported formats are HTML,
    +XML and CSV. Defaults to all formats if no values are given.
    +                            <br />
    +                            <b>Default value is</b>
    +                            : 
    +                            <code>HTML,XML,CSV</code>
    +                            .
    +                            <br />
    +                        </td>
    +                    </tr>
    +                    <tr>
    +                        <td>
    +                            <code>
    +                                <a href="#includeCurrentProject">&lt;includeCurrentProject&gt;</a>
    +                            </code>
    +                        </td>
    +                        <td>
    +                            <code>boolean</code>
    +                        </td>
    +                        <td>
    +                            <code>0.8.9</code>
    +                        </td>
    +                        <td>
    +                            Include this project in the report. If true then this projects
    +class and source files as well as JaCoCo execution data files will
    +be collected.
    +                            <br />
    +                            <b>Default value is</b>
    +                            : 
    +                            <code>false</code>
    +                            .
    +                            <br />
    +                        </td>
    +                    </tr>
    +                    <tr>
    +                        <td>
    +                            <code>
    +                                <a href="#includes">&lt;includes&gt;</a>
    +                            </code>
    +                        </td>
    +                        <td>
    +                            <code>List</code>
    +                        </td>
    +                        <td>
    +                            <code>0.7.7</code>
    +                        </td>
    +                        <td>
    +                            A list of class files to include in the report. May use wildcard
    +characters (* and ?). When not specified everything will be
    +included.
    +                            <br />
    +                        </td>
    +                    </tr>
    +                    <tr>
    +                        <td>
    +                            <code>
    +                                <a href="#outputDirectory">&lt;outputDirectory&gt;</a>
    +                            </code>
    +                        </td>
    +                        <td>
    +                            <code>File</code>
    +                        </td>
    +                        <td>
    +                            <code>0.7.7</code>
    +                        </td>
    +                        <td>
    +                            Output directory for the reports. Note that this parameter is only
    +relevant if the goal is run from the command line or from the
    +default build lifecycle. If the goal is run indirectly as part of a
    +site generation, the output directory configured in the Maven Site
    +Plugin is used instead.
    +                            <br />
    +                            <b>Default value is</b>
    +                            : 
    +                            <code>${project.reporting.outputDirectory}/jacoco-aggregate</code>
    +                            .
    +                            <br />
    +                        </td>
    +                    </tr>
    +                    <tr>
    +                        <td>
    +                            <code>
    +                                <a href="#outputEncoding">&lt;outputEncoding&gt;</a>
    +                            </code>
    +                        </td>
    +                        <td>
    +                            <code>String</code>
    +                        </td>
    +                        <td>
    +                            <code>0.7.7</code>
    +                        </td>
    +                        <td>
    +                            Encoding of the generated reports.
    +                            <br />
    +                            <b>Default value is</b>
    +                            : 
    +                            <code>UTF-8</code>
    +                            .
    +                            <br />
    +                            <b>User property is</b>
    +                            : 
    +                            <code>project.reporting.outputEncoding</code>
    +                            .
    +                            <br />
    +                        </td>
    +                    </tr>
    +                    <tr>
    +                        <td>
    +                            <code>
    +                                <a href="#skip">&lt;skip&gt;</a>
    +                            </code>
    +                        </td>
    +                        <td>
    +                            <code>boolean</code>
    +                        </td>
    +                        <td>
    +                            <code>0.7.7</code>
    +                        </td>
    +                        <td>
    +                            Flag used to suppress execution.
    +                            <br />
    +                            <b>Default value is</b>
    +                            : 
    +                            <code>false</code>
    +                            .
    +                            <br />
    +                            <b>User property is</b>
    +                            : 
    +                            <code>jacoco.skip</code>
    +                            .
    +                            <br />
    +                        </td>
    +                    </tr>
    +                    <tr>
    +                        <td>
    +                            <code>
    +                                <a href="#sourceEncoding">&lt;sourceEncoding&gt;</a>
    +                            </code>
    +                        </td>
    +                        <td>
    +                            <code>String</code>
    +                        </td>
    +                        <td>
    +                            <code>0.7.7</code>
    +                        </td>
    +                        <td>
    +                            Encoding of the source files.
    +                            <br />
    +                            <b>Default value is</b>
    +                            : 
    +                            <code>UTF-8</code>
    +                            .
    +                            <br />
    +                            <b>User property is</b>
    +                            : 
    +                            <code>project.build.sourceEncoding</code>
    +                            .
    +                            <br />
    +                        </td>
    +                    </tr>
    +                    <tr>
    +                        <td>
    +                            <code>
    +                                <a href="#title">&lt;title&gt;</a>
    +                            </code>
    +                        </td>
    +                        <td>
    +                            <code>String</code>
    +                        </td>
    +                        <td>
    +                            <code>0.7.7</code>
    +                        </td>
    +                        <td>
    +                            Name of the root node HTML report pages.
    +                            <br />
    +                            <b>Default value is</b>
    +                            : 
    +                            <code>${project.name}</code>
    +                            .
    +                            <br />
    +                        </td>
    +                    </tr>
    +                </tbody>
    +            </table>
    +                  
    +      
    +            <h2>Parameter Details</h2>
    +                    
    +            <b>
    +                <a name="dataFileExcludes">&lt;dataFileExcludes&gt;</a>
    +            </b>
    +                    
    +            <div>A list of execution data files to exclude from the report. May use
    +wildcard characters (* and ?). When not specified nothing will be
    +excluded.</div>
    +                    
    +            <ul>
    +                          
    +                <li>
    +                    <b>Type</b>
    +                    : 
    +                    <code>java.util.List</code>
    +                </li>
    +                          
    +                <li>
    +                    <b>Since</b>
    +                    : 
    +                    <code>0.7.7</code>
    +                </li>
    +                          
    +                <li>
    +                    <b>Required</b>
    +                    : 
    +                    <code>No</code>
    +                </li>
    +                        
    +            </ul>
    +            <b>
    +                <a name="dataFileIncludes">&lt;dataFileIncludes&gt;</a>
    +            </b>
    +                    
    +            <div>A list of execution data files to include in the report from each
    +project. May use wildcard characters (* and ?). When not specified
    +all *.exec files from the target folder will be included.</div>
    +                    
    +            <ul>
    +                          
    +                <li>
    +                    <b>Type</b>
    +                    : 
    +                    <code>java.util.List</code>
    +                </li>
    +                          
    +                <li>
    +                    <b>Since</b>
    +                    : 
    +                    <code>0.7.7</code>
    +                </li>
    +                          
    +                <li>
    +                    <b>Required</b>
    +                    : 
    +                    <code>No</code>
    +                </li>
    +                        
    +            </ul>
    +            <b>
    +                <a name="excludes">&lt;excludes&gt;</a>
    +            </b>
    +                    
    +            <div>A list of class files to exclude from the report. May use wildcard
    +characters (* and ?). When not specified nothing will be excluded.</div>
    +                    
    +            <ul>
    +                          
    +                <li>
    +                    <b>Type</b>
    +                    : 
    +                    <code>java.util.List</code>
    +                </li>
    +                          
    +                <li>
    +                    <b>Since</b>
    +                    : 
    +                    <code>0.7.7</code>
    +                </li>
    +                          
    +                <li>
    +                    <b>Required</b>
    +                    : 
    +                    <code>No</code>
    +                </li>
    +                        
    +            </ul>
    +            <b>
    +                <a name="footer">&lt;footer&gt;</a>
    +            </b>
    +                    
    +            <div>Footer text used in HTML report pages.</div>
    +                    
    +            <ul>
    +                          
    +                <li>
    +                    <b>Type</b>
    +                    : 
    +                    <code>java.lang.String</code>
    +                </li>
    +                          
    +                <li>
    +                    <b>Since</b>
    +                    : 
    +                    <code>0.7.7</code>
    +                </li>
    +                          
    +                <li>
    +                    <b>Required</b>
    +                    : 
    +                    <code>No</code>
    +                </li>
    +                        
    +            </ul>
    +            <b>
    +                <a name="formats">&lt;formats&gt;</a>
    +            </b>
    +                    
    +            <div>A list of report formats to generate. Supported formats are HTML,
    +XML and CSV. Defaults to all formats if no values are given.</div>
    +                    
    +            <ul>
    +                          
    +                <li>
    +                    <b>Type</b>
    +                    : 
    +                    <code>java.util.List</code>
    +                </li>
    +                          
    +                <li>
    +                    <b>Since</b>
    +                    : 
    +                    <code>0.8.7</code>
    +                </li>
    +                          
    +                <li>
    +                    <b>Required</b>
    +                    : 
    +                    <code>No</code>
    +                </li>
    +                          
    +                <li>
    +                    <b>Default</b>
    +                    : 
    +                    <code>HTML,XML,CSV</code>
    +                </li>
    +                        
    +            </ul>
    +            <b>
    +                <a name="includeCurrentProject">&lt;includeCurrentProject&gt;</a>
    +            </b>
    +                    
    +            <div>Include this project in the report. If true then this projects
    +class and source files as well as JaCoCo execution data files will
    +be collected.</div>
    +                    
    +            <ul>
    +                          
    +                <li>
    +                    <b>Type</b>
    +                    : 
    +                    <code>boolean</code>
    +                </li>
    +                          
    +                <li>
    +                    <b>Since</b>
    +                    : 
    +                    <code>0.8.9</code>
    +                </li>
    +                          
    +                <li>
    +                    <b>Required</b>
    +                    : 
    +                    <code>No</code>
    +                </li>
    +                          
    +                <li>
    +                    <b>Default</b>
    +                    : 
    +                    <code>false</code>
    +                </li>
    +                        
    +            </ul>
    +            <b>
    +                <a name="includes">&lt;includes&gt;</a>
    +            </b>
    +                    
    +            <div>A list of class files to include in the report. May use wildcard
    +characters (* and ?). When not specified everything will be
    +included.</div>
    +                    
    +            <ul>
    +                          
    +                <li>
    +                    <b>Type</b>
    +                    : 
    +                    <code>java.util.List</code>
    +                </li>
    +                          
    +                <li>
    +                    <b>Since</b>
    +                    : 
    +                    <code>0.7.7</code>
    +                </li>
    +                          
    +                <li>
    +                    <b>Required</b>
    +                    : 
    +                    <code>No</code>
    +                </li>
    +                        
    +            </ul>
    +            <b>
    +                <a name="outputDirectory">&lt;outputDirectory&gt;</a>
    +            </b>
    +                    
    +            <div>Output directory for the reports. Note that this parameter is only
    +relevant if the goal is run from the command line or from the
    +default build lifecycle. If the goal is run indirectly as part of a
    +site generation, the output directory configured in the Maven Site
    +Plugin is used instead.</div>
    +                    
    +            <ul>
    +                          
    +                <li>
    +                    <b>Type</b>
    +                    : 
    +                    <code>java.io.File</code>
    +                </li>
    +                          
    +                <li>
    +                    <b>Since</b>
    +                    : 
    +                    <code>0.7.7</code>
    +                </li>
    +                          
    +                <li>
    +                    <b>Required</b>
    +                    : 
    +                    <code>No</code>
    +                </li>
    +                          
    +                <li>
    +                    <b>Default</b>
    +                    : 
    +                    <code>${project.reporting.outputDirectory}/jacoco-aggregate</code>
    +                </li>
    +                        
    +            </ul>
    +            <b>
    +                <a name="outputEncoding">&lt;outputEncoding&gt;</a>
    +            </b>
    +                    
    +            <div>Encoding of the generated reports.</div>
    +                    
    +            <ul>
    +                          
    +                <li>
    +                    <b>Type</b>
    +                    : 
    +                    <code>java.lang.String</code>
    +                </li>
    +                          
    +                <li>
    +                    <b>Since</b>
    +                    : 
    +                    <code>0.7.7</code>
    +                </li>
    +                          
    +                <li>
    +                    <b>Required</b>
    +                    : 
    +                    <code>No</code>
    +                </li>
    +                          
    +                <li>
    +                    <b>User Property</b>
    +                    : 
    +                    <code>project.reporting.outputEncoding</code>
    +                </li>
    +                          
    +                <li>
    +                    <b>Default</b>
    +                    : 
    +                    <code>UTF-8</code>
    +                </li>
    +                        
    +            </ul>
    +            <b>
    +                <a name="skip">&lt;skip&gt;</a>
    +            </b>
    +                    
    +            <div>Flag used to suppress execution.</div>
    +                    
    +            <ul>
    +                          
    +                <li>
    +                    <b>Type</b>
    +                    : 
    +                    <code>boolean</code>
    +                </li>
    +                          
    +                <li>
    +                    <b>Since</b>
    +                    : 
    +                    <code>0.7.7</code>
    +                </li>
    +                          
    +                <li>
    +                    <b>Required</b>
    +                    : 
    +                    <code>No</code>
    +                </li>
    +                          
    +                <li>
    +                    <b>User Property</b>
    +                    : 
    +                    <code>jacoco.skip</code>
    +                </li>
    +                          
    +                <li>
    +                    <b>Default</b>
    +                    : 
    +                    <code>false</code>
    +                </li>
    +                        
    +            </ul>
    +            <b>
    +                <a name="sourceEncoding">&lt;sourceEncoding&gt;</a>
    +            </b>
    +                    
    +            <div>Encoding of the source files.</div>
    +                    
    +            <ul>
    +                          
    +                <li>
    +                    <b>Type</b>
    +                    : 
    +                    <code>java.lang.String</code>
    +                </li>
    +                          
    +                <li>
    +                    <b>Since</b>
    +                    : 
    +                    <code>0.7.7</code>
    +                </li>
    +                          
    +                <li>
    +                    <b>Required</b>
    +                    : 
    +                    <code>No</code>
    +                </li>
    +                          
    +                <li>
    +                    <b>User Property</b>
    +                    : 
    +                    <code>project.build.sourceEncoding</code>
    +                </li>
    +                          
    +                <li>
    +                    <b>Default</b>
    +                    : 
    +                    <code>UTF-8</code>
    +                </li>
    +                        
    +            </ul>
    +            <b>
    +                <a name="title">&lt;title&gt;</a>
    +            </b>
    +                    
    +            <div>Name of the root node HTML report pages.</div>
    +                    
    +            <ul>
    +                          
    +                <li>
    +                    <b>Type</b>
    +                    : 
    +                    <code>java.lang.String</code>
    +                </li>
    +                          
    +                <li>
    +                    <b>Since</b>
    +                    : 
    +                    <code>0.7.7</code>
    +                </li>
    +                          
    +                <li>
    +                    <b>Required</b>
    +                    : 
    +                    <code>No</code>
    +                </li>
    +                          
    +                <li>
    +                    <b>Default</b>
    +                    : 
    +                    <code>${project.name}</code>
    +                </li>
    +                        
    +            </ul>
    +                  
    +    
    +  
    +        </div>
    +        <div class="footer">
    +            <span class="right">
    +                <a href="http://www.jacoco.org/jacoco">JaCoCo</a>
    +                						 
    +						0.8.12.202403270442
    +            </span>
    +            <a href="../doc/license.html">Copyright</a>
    +            					©
    +					2009, 2024
    +					Mountainminds GmbH &amp; Co. KG and Contributors
    +				
    +        </div>
    +    </body>
    +</html>
    diff --git a/jacoco/trunk/doc/report-integration-mojo.html b/jacoco/trunk/doc/report-integration-mojo.html
    new file mode 100644
    index 00000000000..f5225e8f321
    --- /dev/null
    +++ b/jacoco/trunk/doc/report-integration-mojo.html
    @@ -0,0 +1,696 @@
    +<?xml version="1.0" encoding="UTF-8"?>
    +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
    +<html xmlns="http://www.w3.org/1999/xhtml">
    +    <head>
    +        <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
    +        <link rel="stylesheet" href="resources/doc.css" charset="UTF-8" type="text/css" />
    +        <link rel="shortcut icon" href="resources/report.gif" type="image/gif" />
    +        <title>
    +					JaCoCo -
    +					jacoco:report-integration</title>
    +    </head>
    +    <body>
    +        <div class="breadcrumb">
    +            <a href="../index.html" class="el_report">JaCoCo</a>
    +            					&gt;
    +					
    +            <a href="index.html" class="el_group">Documentation</a>
    +            					&gt;
    +					
    +            <a href="maven.html" class="el_group">Maven</a>
    +            					&gt;
    +					
    +            <span class="el_source">jacoco:report-integration</span>
    +        </div>
    +        <div id="content">
    +                
    +            <h1>jacoco:report-integration</h1>
    +                  
    +            <p>
    +                <b>Note</b>
    +                :This goal should be used as a Maven report.
    +            </p>
    +                  
    +            <p>
    +                <b>Full name</b>
    +                :
    +            </p>
    +                  
    +            <p>org.jacoco:jacoco-maven-plugin:0.8.12-SNAPSHOT:report-integration</p>
    +                  
    +            <p>
    +                <b>Description</b>
    +                :
    +            </p>
    +                  
    +            <div>
    +                Same as 
    +                <code>report</code>
    +                , but provides default values suitable
    +for integration-tests: 
    +
    +                <ul>
    +                    
    +                    <li>
    +                        bound to 
    +                        <code>report-integration</code>
    +                         phase
    +                    </li>
    +                    
    +                    <li>
    +                        different 
    +                        <code>dataFile</code>
    +                    </li>
    +                    
    +                </ul>
    +            </div>
    +                  
    +            <p>
    +                <b>Attributes</b>
    +                :
    +            </p>
    +                  
    +            <ul>
    +                        
    +                <li>Requires a Maven project to be executed.</li>
    +                        
    +                <li>The goal is thread-safe and supports parallel builds.</li>
    +                        
    +                <li>
    +                    Since version: 
    +                    <code>0.6.4</code>
    +                    .
    +                </li>
    +                        
    +                <li>
    +                    Binds by default to the 
    +                    <a href="http://maven.apache.org/ref/current/maven-core/lifecycles.html">lifecycle phase</a>
    +                    : 
    +                    <code>verify</code>
    +                    .
    +                </li>
    +                      
    +            </ul>
    +                  
    +            <h2>Optional Parameters</h2>
    +                    
    +            <table class="coverage">
    +                <thead>
    +                    <tr>
    +                        <td>Name</td>
    +                        <td>Type</td>
    +                        <td>Since</td>
    +                        <td>Description</td>
    +                    </tr>
    +                </thead>
    +                <tbody>
    +                    <tr>
    +                        <td>
    +                            <code>
    +                                <a href="#dataFile">&lt;dataFile&gt;</a>
    +                            </code>
    +                        </td>
    +                        <td>
    +                            <code>File</code>
    +                        </td>
    +                        <td>
    +                            <code>0.6.4</code>
    +                        </td>
    +                        <td>
    +                            File with execution data.
    +                            <br />
    +                            <b>Default value is</b>
    +                            : 
    +                            <code>${project.build.directory}/jacoco-it.exec</code>
    +                            .
    +                            <br />
    +                        </td>
    +                    </tr>
    +                    <tr>
    +                        <td>
    +                            <code>
    +                                <a href="#excludes">&lt;excludes&gt;</a>
    +                            </code>
    +                        </td>
    +                        <td>
    +                            <code>List</code>
    +                        </td>
    +                        <td>
    +                            <code>0.6.4</code>
    +                        </td>
    +                        <td>
    +                            A list of class files to exclude from the report. May use wildcard
    +characters (* and ?). When not specified nothing will be excluded.
    +                            <br />
    +                        </td>
    +                    </tr>
    +                    <tr>
    +                        <td>
    +                            <code>
    +                                <a href="#footer">&lt;footer&gt;</a>
    +                            </code>
    +                        </td>
    +                        <td>
    +                            <code>String</code>
    +                        </td>
    +                        <td>
    +                            <code>0.7.7</code>
    +                        </td>
    +                        <td>
    +                            Footer text used in HTML report pages.
    +                            <br />
    +                        </td>
    +                    </tr>
    +                    <tr>
    +                        <td>
    +                            <code>
    +                                <a href="#formats">&lt;formats&gt;</a>
    +                            </code>
    +                        </td>
    +                        <td>
    +                            <code>List</code>
    +                        </td>
    +                        <td>
    +                            <code>0.8.7</code>
    +                        </td>
    +                        <td>
    +                            A list of report formats to generate. Supported formats are HTML,
    +XML and CSV. Defaults to all formats if no values are given.
    +                            <br />
    +                            <b>Default value is</b>
    +                            : 
    +                            <code>HTML,XML,CSV</code>
    +                            .
    +                            <br />
    +                        </td>
    +                    </tr>
    +                    <tr>
    +                        <td>
    +                            <code>
    +                                <a href="#includes">&lt;includes&gt;</a>
    +                            </code>
    +                        </td>
    +                        <td>
    +                            <code>List</code>
    +                        </td>
    +                        <td>
    +                            <code>0.6.4</code>
    +                        </td>
    +                        <td>
    +                            A list of class files to include in the report. May use wildcard
    +characters (* and ?). When not specified everything will be
    +included.
    +                            <br />
    +                        </td>
    +                    </tr>
    +                    <tr>
    +                        <td>
    +                            <code>
    +                                <a href="#outputDirectory">&lt;outputDirectory&gt;</a>
    +                            </code>
    +                        </td>
    +                        <td>
    +                            <code>File</code>
    +                        </td>
    +                        <td>
    +                            <code>0.6.4</code>
    +                        </td>
    +                        <td>
    +                            Output directory for the reports. Note that this parameter is only
    +relevant if the goal is run from the command line or from the
    +default build lifecycle. If the goal is run indirectly as part of a
    +site generation, the output directory configured in the Maven Site
    +Plugin is used instead.
    +                            <br />
    +                            <b>Default value is</b>
    +                            : 
    +                            <code>${project.reporting.outputDirectory}/jacoco-it</code>
    +                            .
    +                            <br />
    +                        </td>
    +                    </tr>
    +                    <tr>
    +                        <td>
    +                            <code>
    +                                <a href="#outputEncoding">&lt;outputEncoding&gt;</a>
    +                            </code>
    +                        </td>
    +                        <td>
    +                            <code>String</code>
    +                        </td>
    +                        <td>
    +                            <code>0.6.4</code>
    +                        </td>
    +                        <td>
    +                            Encoding of the generated reports.
    +                            <br />
    +                            <b>Default value is</b>
    +                            : 
    +                            <code>UTF-8</code>
    +                            .
    +                            <br />
    +                            <b>User property is</b>
    +                            : 
    +                            <code>project.reporting.outputEncoding</code>
    +                            .
    +                            <br />
    +                        </td>
    +                    </tr>
    +                    <tr>
    +                        <td>
    +                            <code>
    +                                <a href="#skip">&lt;skip&gt;</a>
    +                            </code>
    +                        </td>
    +                        <td>
    +                            <code>boolean</code>
    +                        </td>
    +                        <td>
    +                            <code>0.6.4</code>
    +                        </td>
    +                        <td>
    +                            Flag used to suppress execution.
    +                            <br />
    +                            <b>Default value is</b>
    +                            : 
    +                            <code>false</code>
    +                            .
    +                            <br />
    +                            <b>User property is</b>
    +                            : 
    +                            <code>jacoco.skip</code>
    +                            .
    +                            <br />
    +                        </td>
    +                    </tr>
    +                    <tr>
    +                        <td>
    +                            <code>
    +                                <a href="#sourceEncoding">&lt;sourceEncoding&gt;</a>
    +                            </code>
    +                        </td>
    +                        <td>
    +                            <code>String</code>
    +                        </td>
    +                        <td>
    +                            <code>0.6.4</code>
    +                        </td>
    +                        <td>
    +                            Encoding of the source files.
    +                            <br />
    +                            <b>Default value is</b>
    +                            : 
    +                            <code>UTF-8</code>
    +                            .
    +                            <br />
    +                            <b>User property is</b>
    +                            : 
    +                            <code>project.build.sourceEncoding</code>
    +                            .
    +                            <br />
    +                        </td>
    +                    </tr>
    +                    <tr>
    +                        <td>
    +                            <code>
    +                                <a href="#title">&lt;title&gt;</a>
    +                            </code>
    +                        </td>
    +                        <td>
    +                            <code>String</code>
    +                        </td>
    +                        <td>
    +                            <code>0.7.7</code>
    +                        </td>
    +                        <td>
    +                            Name of the root node HTML report pages.
    +                            <br />
    +                            <b>Default value is</b>
    +                            : 
    +                            <code>${project.name}</code>
    +                            .
    +                            <br />
    +                        </td>
    +                    </tr>
    +                </tbody>
    +            </table>
    +                  
    +      
    +            <h2>Parameter Details</h2>
    +                    
    +            <b>
    +                <a name="dataFile">&lt;dataFile&gt;</a>
    +            </b>
    +                    
    +            <div>File with execution data.</div>
    +                    
    +            <ul>
    +                          
    +                <li>
    +                    <b>Type</b>
    +                    : 
    +                    <code>java.io.File</code>
    +                </li>
    +                          
    +                <li>
    +                    <b>Since</b>
    +                    : 
    +                    <code>0.6.4</code>
    +                </li>
    +                          
    +                <li>
    +                    <b>Required</b>
    +                    : 
    +                    <code>No</code>
    +                </li>
    +                          
    +                <li>
    +                    <b>Default</b>
    +                    : 
    +                    <code>${project.build.directory}/jacoco-it.exec</code>
    +                </li>
    +                        
    +            </ul>
    +            <b>
    +                <a name="excludes">&lt;excludes&gt;</a>
    +            </b>
    +                    
    +            <div>A list of class files to exclude from the report. May use wildcard
    +characters (* and ?). When not specified nothing will be excluded.</div>
    +                    
    +            <ul>
    +                          
    +                <li>
    +                    <b>Type</b>
    +                    : 
    +                    <code>java.util.List</code>
    +                </li>
    +                          
    +                <li>
    +                    <b>Since</b>
    +                    : 
    +                    <code>0.6.4</code>
    +                </li>
    +                          
    +                <li>
    +                    <b>Required</b>
    +                    : 
    +                    <code>No</code>
    +                </li>
    +                        
    +            </ul>
    +            <b>
    +                <a name="footer">&lt;footer&gt;</a>
    +            </b>
    +                    
    +            <div>Footer text used in HTML report pages.</div>
    +                    
    +            <ul>
    +                          
    +                <li>
    +                    <b>Type</b>
    +                    : 
    +                    <code>java.lang.String</code>
    +                </li>
    +                          
    +                <li>
    +                    <b>Since</b>
    +                    : 
    +                    <code>0.7.7</code>
    +                </li>
    +                          
    +                <li>
    +                    <b>Required</b>
    +                    : 
    +                    <code>No</code>
    +                </li>
    +                        
    +            </ul>
    +            <b>
    +                <a name="formats">&lt;formats&gt;</a>
    +            </b>
    +                    
    +            <div>A list of report formats to generate. Supported formats are HTML,
    +XML and CSV. Defaults to all formats if no values are given.</div>
    +                    
    +            <ul>
    +                          
    +                <li>
    +                    <b>Type</b>
    +                    : 
    +                    <code>java.util.List</code>
    +                </li>
    +                          
    +                <li>
    +                    <b>Since</b>
    +                    : 
    +                    <code>0.8.7</code>
    +                </li>
    +                          
    +                <li>
    +                    <b>Required</b>
    +                    : 
    +                    <code>No</code>
    +                </li>
    +                          
    +                <li>
    +                    <b>Default</b>
    +                    : 
    +                    <code>HTML,XML,CSV</code>
    +                </li>
    +                        
    +            </ul>
    +            <b>
    +                <a name="includes">&lt;includes&gt;</a>
    +            </b>
    +                    
    +            <div>A list of class files to include in the report. May use wildcard
    +characters (* and ?). When not specified everything will be
    +included.</div>
    +                    
    +            <ul>
    +                          
    +                <li>
    +                    <b>Type</b>
    +                    : 
    +                    <code>java.util.List</code>
    +                </li>
    +                          
    +                <li>
    +                    <b>Since</b>
    +                    : 
    +                    <code>0.6.4</code>
    +                </li>
    +                          
    +                <li>
    +                    <b>Required</b>
    +                    : 
    +                    <code>No</code>
    +                </li>
    +                        
    +            </ul>
    +            <b>
    +                <a name="outputDirectory">&lt;outputDirectory&gt;</a>
    +            </b>
    +                    
    +            <div>Output directory for the reports. Note that this parameter is only
    +relevant if the goal is run from the command line or from the
    +default build lifecycle. If the goal is run indirectly as part of a
    +site generation, the output directory configured in the Maven Site
    +Plugin is used instead.</div>
    +                    
    +            <ul>
    +                          
    +                <li>
    +                    <b>Type</b>
    +                    : 
    +                    <code>java.io.File</code>
    +                </li>
    +                          
    +                <li>
    +                    <b>Since</b>
    +                    : 
    +                    <code>0.6.4</code>
    +                </li>
    +                          
    +                <li>
    +                    <b>Required</b>
    +                    : 
    +                    <code>No</code>
    +                </li>
    +                          
    +                <li>
    +                    <b>Default</b>
    +                    : 
    +                    <code>${project.reporting.outputDirectory}/jacoco-it</code>
    +                </li>
    +                        
    +            </ul>
    +            <b>
    +                <a name="outputEncoding">&lt;outputEncoding&gt;</a>
    +            </b>
    +                    
    +            <div>Encoding of the generated reports.</div>
    +                    
    +            <ul>
    +                          
    +                <li>
    +                    <b>Type</b>
    +                    : 
    +                    <code>java.lang.String</code>
    +                </li>
    +                          
    +                <li>
    +                    <b>Since</b>
    +                    : 
    +                    <code>0.6.4</code>
    +                </li>
    +                          
    +                <li>
    +                    <b>Required</b>
    +                    : 
    +                    <code>No</code>
    +                </li>
    +                          
    +                <li>
    +                    <b>User Property</b>
    +                    : 
    +                    <code>project.reporting.outputEncoding</code>
    +                </li>
    +                          
    +                <li>
    +                    <b>Default</b>
    +                    : 
    +                    <code>UTF-8</code>
    +                </li>
    +                        
    +            </ul>
    +            <b>
    +                <a name="skip">&lt;skip&gt;</a>
    +            </b>
    +                    
    +            <div>Flag used to suppress execution.</div>
    +                    
    +            <ul>
    +                          
    +                <li>
    +                    <b>Type</b>
    +                    : 
    +                    <code>boolean</code>
    +                </li>
    +                          
    +                <li>
    +                    <b>Since</b>
    +                    : 
    +                    <code>0.6.4</code>
    +                </li>
    +                          
    +                <li>
    +                    <b>Required</b>
    +                    : 
    +                    <code>No</code>
    +                </li>
    +                          
    +                <li>
    +                    <b>User Property</b>
    +                    : 
    +                    <code>jacoco.skip</code>
    +                </li>
    +                          
    +                <li>
    +                    <b>Default</b>
    +                    : 
    +                    <code>false</code>
    +                </li>
    +                        
    +            </ul>
    +            <b>
    +                <a name="sourceEncoding">&lt;sourceEncoding&gt;</a>
    +            </b>
    +                    
    +            <div>Encoding of the source files.</div>
    +                    
    +            <ul>
    +                          
    +                <li>
    +                    <b>Type</b>
    +                    : 
    +                    <code>java.lang.String</code>
    +                </li>
    +                          
    +                <li>
    +                    <b>Since</b>
    +                    : 
    +                    <code>0.6.4</code>
    +                </li>
    +                          
    +                <li>
    +                    <b>Required</b>
    +                    : 
    +                    <code>No</code>
    +                </li>
    +                          
    +                <li>
    +                    <b>User Property</b>
    +                    : 
    +                    <code>project.build.sourceEncoding</code>
    +                </li>
    +                          
    +                <li>
    +                    <b>Default</b>
    +                    : 
    +                    <code>UTF-8</code>
    +                </li>
    +                        
    +            </ul>
    +            <b>
    +                <a name="title">&lt;title&gt;</a>
    +            </b>
    +                    
    +            <div>Name of the root node HTML report pages.</div>
    +                    
    +            <ul>
    +                          
    +                <li>
    +                    <b>Type</b>
    +                    : 
    +                    <code>java.lang.String</code>
    +                </li>
    +                          
    +                <li>
    +                    <b>Since</b>
    +                    : 
    +                    <code>0.7.7</code>
    +                </li>
    +                          
    +                <li>
    +                    <b>Required</b>
    +                    : 
    +                    <code>No</code>
    +                </li>
    +                          
    +                <li>
    +                    <b>Default</b>
    +                    : 
    +                    <code>${project.name}</code>
    +                </li>
    +                        
    +            </ul>
    +                  
    +    
    +  
    +        </div>
    +        <div class="footer">
    +            <span class="right">
    +                <a href="http://www.jacoco.org/jacoco">JaCoCo</a>
    +                						 
    +						0.8.12.202403270442
    +            </span>
    +            <a href="../doc/license.html">Copyright</a>
    +            					©
    +					2009, 2024
    +					Mountainminds GmbH &amp; Co. KG and Contributors
    +				
    +        </div>
    +    </body>
    +</html>
    diff --git a/jacoco/trunk/doc/report-mojo.html b/jacoco/trunk/doc/report-mojo.html
    new file mode 100644
    index 00000000000..505662eef20
    --- /dev/null
    +++ b/jacoco/trunk/doc/report-mojo.html
    @@ -0,0 +1,688 @@
    +<?xml version="1.0" encoding="UTF-8"?>
    +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
    +<html xmlns="http://www.w3.org/1999/xhtml">
    +    <head>
    +        <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
    +        <link rel="stylesheet" href="resources/doc.css" charset="UTF-8" type="text/css" />
    +        <link rel="shortcut icon" href="resources/report.gif" type="image/gif" />
    +        <title>
    +					JaCoCo -
    +					jacoco:report</title>
    +    </head>
    +    <body>
    +        <div class="breadcrumb">
    +            <a href="../index.html" class="el_report">JaCoCo</a>
    +            					&gt;
    +					
    +            <a href="index.html" class="el_group">Documentation</a>
    +            					&gt;
    +					
    +            <a href="maven.html" class="el_group">Maven</a>
    +            					&gt;
    +					
    +            <span class="el_source">jacoco:report</span>
    +        </div>
    +        <div id="content">
    +                
    +            <h1>jacoco:report</h1>
    +                  
    +            <p>
    +                <b>Note</b>
    +                :This goal should be used as a Maven report.
    +            </p>
    +                  
    +            <p>
    +                <b>Full name</b>
    +                :
    +            </p>
    +                  
    +            <p>org.jacoco:jacoco-maven-plugin:0.8.12-SNAPSHOT:report</p>
    +                  
    +            <p>
    +                <b>Description</b>
    +                :
    +            </p>
    +                  
    +            <div>Creates a code coverage report for tests of a single project in
    +multiple formats (HTML, XML, and CSV).</div>
    +                  
    +            <p>
    +                <b>Attributes</b>
    +                :
    +            </p>
    +                  
    +            <ul>
    +                        
    +                <li>Requires a Maven project to be executed.</li>
    +                        
    +                <li>The goal is thread-safe and supports parallel builds.</li>
    +                        
    +                <li>
    +                    Since version: 
    +                    <code>0.5.3</code>
    +                    .
    +                </li>
    +                        
    +                <li>
    +                    Binds by default to the 
    +                    <a href="http://maven.apache.org/ref/current/maven-core/lifecycles.html">lifecycle phase</a>
    +                    : 
    +                    <code>verify</code>
    +                    .
    +                </li>
    +                      
    +            </ul>
    +                  
    +            <h2>Optional Parameters</h2>
    +                    
    +            <table class="coverage">
    +                <thead>
    +                    <tr>
    +                        <td>Name</td>
    +                        <td>Type</td>
    +                        <td>Since</td>
    +                        <td>Description</td>
    +                    </tr>
    +                </thead>
    +                <tbody>
    +                    <tr>
    +                        <td>
    +                            <code>
    +                                <a href="#dataFile">&lt;dataFile&gt;</a>
    +                            </code>
    +                        </td>
    +                        <td>
    +                            <code>File</code>
    +                        </td>
    +                        <td>
    +                            <code>0.5.3</code>
    +                        </td>
    +                        <td>
    +                            File with execution data.
    +                            <br />
    +                            <b>Default value is</b>
    +                            : 
    +                            <code>${project.build.directory}/jacoco.exec</code>
    +                            .
    +                            <br />
    +                            <b>User property is</b>
    +                            : 
    +                            <code>jacoco.dataFile</code>
    +                            .
    +                            <br />
    +                        </td>
    +                    </tr>
    +                    <tr>
    +                        <td>
    +                            <code>
    +                                <a href="#excludes">&lt;excludes&gt;</a>
    +                            </code>
    +                        </td>
    +                        <td>
    +                            <code>List</code>
    +                        </td>
    +                        <td>
    +                            <code>0.5.3</code>
    +                        </td>
    +                        <td>
    +                            A list of class files to exclude from the report. May use wildcard
    +characters (* and ?). When not specified nothing will be excluded.
    +                            <br />
    +                        </td>
    +                    </tr>
    +                    <tr>
    +                        <td>
    +                            <code>
    +                                <a href="#footer">&lt;footer&gt;</a>
    +                            </code>
    +                        </td>
    +                        <td>
    +                            <code>String</code>
    +                        </td>
    +                        <td>
    +                            <code>0.7.7</code>
    +                        </td>
    +                        <td>
    +                            Footer text used in HTML report pages.
    +                            <br />
    +                        </td>
    +                    </tr>
    +                    <tr>
    +                        <td>
    +                            <code>
    +                                <a href="#formats">&lt;formats&gt;</a>
    +                            </code>
    +                        </td>
    +                        <td>
    +                            <code>List</code>
    +                        </td>
    +                        <td>
    +                            <code>0.8.7</code>
    +                        </td>
    +                        <td>
    +                            A list of report formats to generate. Supported formats are HTML,
    +XML and CSV. Defaults to all formats if no values are given.
    +                            <br />
    +                            <b>Default value is</b>
    +                            : 
    +                            <code>HTML,XML,CSV</code>
    +                            .
    +                            <br />
    +                        </td>
    +                    </tr>
    +                    <tr>
    +                        <td>
    +                            <code>
    +                                <a href="#includes">&lt;includes&gt;</a>
    +                            </code>
    +                        </td>
    +                        <td>
    +                            <code>List</code>
    +                        </td>
    +                        <td>
    +                            <code>0.5.3</code>
    +                        </td>
    +                        <td>
    +                            A list of class files to include in the report. May use wildcard
    +characters (* and ?). When not specified everything will be
    +included.
    +                            <br />
    +                        </td>
    +                    </tr>
    +                    <tr>
    +                        <td>
    +                            <code>
    +                                <a href="#outputDirectory">&lt;outputDirectory&gt;</a>
    +                            </code>
    +                        </td>
    +                        <td>
    +                            <code>File</code>
    +                        </td>
    +                        <td>
    +                            <code>0.5.3</code>
    +                        </td>
    +                        <td>
    +                            Output directory for the reports. Note that this parameter is only
    +relevant if the goal is run from the command line or from the
    +default build lifecycle. If the goal is run indirectly as part of a
    +site generation, the output directory configured in the Maven Site
    +Plugin is used instead.
    +                            <br />
    +                            <b>Default value is</b>
    +                            : 
    +                            <code>${project.reporting.outputDirectory}/jacoco</code>
    +                            .
    +                            <br />
    +                        </td>
    +                    </tr>
    +                    <tr>
    +                        <td>
    +                            <code>
    +                                <a href="#outputEncoding">&lt;outputEncoding&gt;</a>
    +                            </code>
    +                        </td>
    +                        <td>
    +                            <code>String</code>
    +                        </td>
    +                        <td>
    +                            <code>0.5.3</code>
    +                        </td>
    +                        <td>
    +                            Encoding of the generated reports.
    +                            <br />
    +                            <b>Default value is</b>
    +                            : 
    +                            <code>UTF-8</code>
    +                            .
    +                            <br />
    +                            <b>User property is</b>
    +                            : 
    +                            <code>project.reporting.outputEncoding</code>
    +                            .
    +                            <br />
    +                        </td>
    +                    </tr>
    +                    <tr>
    +                        <td>
    +                            <code>
    +                                <a href="#skip">&lt;skip&gt;</a>
    +                            </code>
    +                        </td>
    +                        <td>
    +                            <code>boolean</code>
    +                        </td>
    +                        <td>
    +                            <code>0.5.3</code>
    +                        </td>
    +                        <td>
    +                            Flag used to suppress execution.
    +                            <br />
    +                            <b>Default value is</b>
    +                            : 
    +                            <code>false</code>
    +                            .
    +                            <br />
    +                            <b>User property is</b>
    +                            : 
    +                            <code>jacoco.skip</code>
    +                            .
    +                            <br />
    +                        </td>
    +                    </tr>
    +                    <tr>
    +                        <td>
    +                            <code>
    +                                <a href="#sourceEncoding">&lt;sourceEncoding&gt;</a>
    +                            </code>
    +                        </td>
    +                        <td>
    +                            <code>String</code>
    +                        </td>
    +                        <td>
    +                            <code>0.5.3</code>
    +                        </td>
    +                        <td>
    +                            Encoding of the source files.
    +                            <br />
    +                            <b>Default value is</b>
    +                            : 
    +                            <code>UTF-8</code>
    +                            .
    +                            <br />
    +                            <b>User property is</b>
    +                            : 
    +                            <code>project.build.sourceEncoding</code>
    +                            .
    +                            <br />
    +                        </td>
    +                    </tr>
    +                    <tr>
    +                        <td>
    +                            <code>
    +                                <a href="#title">&lt;title&gt;</a>
    +                            </code>
    +                        </td>
    +                        <td>
    +                            <code>String</code>
    +                        </td>
    +                        <td>
    +                            <code>0.7.7</code>
    +                        </td>
    +                        <td>
    +                            Name of the root node HTML report pages.
    +                            <br />
    +                            <b>Default value is</b>
    +                            : 
    +                            <code>${project.name}</code>
    +                            .
    +                            <br />
    +                        </td>
    +                    </tr>
    +                </tbody>
    +            </table>
    +                  
    +      
    +            <h2>Parameter Details</h2>
    +                    
    +            <b>
    +                <a name="dataFile">&lt;dataFile&gt;</a>
    +            </b>
    +                    
    +            <div>File with execution data.</div>
    +                    
    +            <ul>
    +                          
    +                <li>
    +                    <b>Type</b>
    +                    : 
    +                    <code>java.io.File</code>
    +                </li>
    +                          
    +                <li>
    +                    <b>Since</b>
    +                    : 
    +                    <code>0.5.3</code>
    +                </li>
    +                          
    +                <li>
    +                    <b>Required</b>
    +                    : 
    +                    <code>No</code>
    +                </li>
    +                          
    +                <li>
    +                    <b>User Property</b>
    +                    : 
    +                    <code>jacoco.dataFile</code>
    +                </li>
    +                          
    +                <li>
    +                    <b>Default</b>
    +                    : 
    +                    <code>${project.build.directory}/jacoco.exec</code>
    +                </li>
    +                        
    +            </ul>
    +            <b>
    +                <a name="excludes">&lt;excludes&gt;</a>
    +            </b>
    +                    
    +            <div>A list of class files to exclude from the report. May use wildcard
    +characters (* and ?). When not specified nothing will be excluded.</div>
    +                    
    +            <ul>
    +                          
    +                <li>
    +                    <b>Type</b>
    +                    : 
    +                    <code>java.util.List</code>
    +                </li>
    +                          
    +                <li>
    +                    <b>Since</b>
    +                    : 
    +                    <code>0.5.3</code>
    +                </li>
    +                          
    +                <li>
    +                    <b>Required</b>
    +                    : 
    +                    <code>No</code>
    +                </li>
    +                        
    +            </ul>
    +            <b>
    +                <a name="footer">&lt;footer&gt;</a>
    +            </b>
    +                    
    +            <div>Footer text used in HTML report pages.</div>
    +                    
    +            <ul>
    +                          
    +                <li>
    +                    <b>Type</b>
    +                    : 
    +                    <code>java.lang.String</code>
    +                </li>
    +                          
    +                <li>
    +                    <b>Since</b>
    +                    : 
    +                    <code>0.7.7</code>
    +                </li>
    +                          
    +                <li>
    +                    <b>Required</b>
    +                    : 
    +                    <code>No</code>
    +                </li>
    +                        
    +            </ul>
    +            <b>
    +                <a name="formats">&lt;formats&gt;</a>
    +            </b>
    +                    
    +            <div>A list of report formats to generate. Supported formats are HTML,
    +XML and CSV. Defaults to all formats if no values are given.</div>
    +                    
    +            <ul>
    +                          
    +                <li>
    +                    <b>Type</b>
    +                    : 
    +                    <code>java.util.List</code>
    +                </li>
    +                          
    +                <li>
    +                    <b>Since</b>
    +                    : 
    +                    <code>0.8.7</code>
    +                </li>
    +                          
    +                <li>
    +                    <b>Required</b>
    +                    : 
    +                    <code>No</code>
    +                </li>
    +                          
    +                <li>
    +                    <b>Default</b>
    +                    : 
    +                    <code>HTML,XML,CSV</code>
    +                </li>
    +                        
    +            </ul>
    +            <b>
    +                <a name="includes">&lt;includes&gt;</a>
    +            </b>
    +                    
    +            <div>A list of class files to include in the report. May use wildcard
    +characters (* and ?). When not specified everything will be
    +included.</div>
    +                    
    +            <ul>
    +                          
    +                <li>
    +                    <b>Type</b>
    +                    : 
    +                    <code>java.util.List</code>
    +                </li>
    +                          
    +                <li>
    +                    <b>Since</b>
    +                    : 
    +                    <code>0.5.3</code>
    +                </li>
    +                          
    +                <li>
    +                    <b>Required</b>
    +                    : 
    +                    <code>No</code>
    +                </li>
    +                        
    +            </ul>
    +            <b>
    +                <a name="outputDirectory">&lt;outputDirectory&gt;</a>
    +            </b>
    +                    
    +            <div>Output directory for the reports. Note that this parameter is only
    +relevant if the goal is run from the command line or from the
    +default build lifecycle. If the goal is run indirectly as part of a
    +site generation, the output directory configured in the Maven Site
    +Plugin is used instead.</div>
    +                    
    +            <ul>
    +                          
    +                <li>
    +                    <b>Type</b>
    +                    : 
    +                    <code>java.io.File</code>
    +                </li>
    +                          
    +                <li>
    +                    <b>Since</b>
    +                    : 
    +                    <code>0.5.3</code>
    +                </li>
    +                          
    +                <li>
    +                    <b>Required</b>
    +                    : 
    +                    <code>No</code>
    +                </li>
    +                          
    +                <li>
    +                    <b>Default</b>
    +                    : 
    +                    <code>${project.reporting.outputDirectory}/jacoco</code>
    +                </li>
    +                        
    +            </ul>
    +            <b>
    +                <a name="outputEncoding">&lt;outputEncoding&gt;</a>
    +            </b>
    +                    
    +            <div>Encoding of the generated reports.</div>
    +                    
    +            <ul>
    +                          
    +                <li>
    +                    <b>Type</b>
    +                    : 
    +                    <code>java.lang.String</code>
    +                </li>
    +                          
    +                <li>
    +                    <b>Since</b>
    +                    : 
    +                    <code>0.5.3</code>
    +                </li>
    +                          
    +                <li>
    +                    <b>Required</b>
    +                    : 
    +                    <code>No</code>
    +                </li>
    +                          
    +                <li>
    +                    <b>User Property</b>
    +                    : 
    +                    <code>project.reporting.outputEncoding</code>
    +                </li>
    +                          
    +                <li>
    +                    <b>Default</b>
    +                    : 
    +                    <code>UTF-8</code>
    +                </li>
    +                        
    +            </ul>
    +            <b>
    +                <a name="skip">&lt;skip&gt;</a>
    +            </b>
    +                    
    +            <div>Flag used to suppress execution.</div>
    +                    
    +            <ul>
    +                          
    +                <li>
    +                    <b>Type</b>
    +                    : 
    +                    <code>boolean</code>
    +                </li>
    +                          
    +                <li>
    +                    <b>Since</b>
    +                    : 
    +                    <code>0.5.3</code>
    +                </li>
    +                          
    +                <li>
    +                    <b>Required</b>
    +                    : 
    +                    <code>No</code>
    +                </li>
    +                          
    +                <li>
    +                    <b>User Property</b>
    +                    : 
    +                    <code>jacoco.skip</code>
    +                </li>
    +                          
    +                <li>
    +                    <b>Default</b>
    +                    : 
    +                    <code>false</code>
    +                </li>
    +                        
    +            </ul>
    +            <b>
    +                <a name="sourceEncoding">&lt;sourceEncoding&gt;</a>
    +            </b>
    +                    
    +            <div>Encoding of the source files.</div>
    +                    
    +            <ul>
    +                          
    +                <li>
    +                    <b>Type</b>
    +                    : 
    +                    <code>java.lang.String</code>
    +                </li>
    +                          
    +                <li>
    +                    <b>Since</b>
    +                    : 
    +                    <code>0.5.3</code>
    +                </li>
    +                          
    +                <li>
    +                    <b>Required</b>
    +                    : 
    +                    <code>No</code>
    +                </li>
    +                          
    +                <li>
    +                    <b>User Property</b>
    +                    : 
    +                    <code>project.build.sourceEncoding</code>
    +                </li>
    +                          
    +                <li>
    +                    <b>Default</b>
    +                    : 
    +                    <code>UTF-8</code>
    +                </li>
    +                        
    +            </ul>
    +            <b>
    +                <a name="title">&lt;title&gt;</a>
    +            </b>
    +                    
    +            <div>Name of the root node HTML report pages.</div>
    +                    
    +            <ul>
    +                          
    +                <li>
    +                    <b>Type</b>
    +                    : 
    +                    <code>java.lang.String</code>
    +                </li>
    +                          
    +                <li>
    +                    <b>Since</b>
    +                    : 
    +                    <code>0.7.7</code>
    +                </li>
    +                          
    +                <li>
    +                    <b>Required</b>
    +                    : 
    +                    <code>No</code>
    +                </li>
    +                          
    +                <li>
    +                    <b>Default</b>
    +                    : 
    +                    <code>${project.name}</code>
    +                </li>
    +                        
    +            </ul>
    +                  
    +    
    +  
    +        </div>
    +        <div class="footer">
    +            <span class="right">
    +                <a href="http://www.jacoco.org/jacoco">JaCoCo</a>
    +                						 
    +						0.8.12.202403270442
    +            </span>
    +            <a href="../doc/license.html">Copyright</a>
    +            					©
    +					2009, 2024
    +					Mountainminds GmbH &amp; Co. KG and Contributors
    +				
    +        </div>
    +    </body>
    +</html>
    diff --git a/jacoco/trunk/doc/resources/doc.css b/jacoco/trunk/doc/resources/doc.css
    new file mode 100644
    index 00000000000..592be8ab45d
    --- /dev/null
    +++ b/jacoco/trunk/doc/resources/doc.css
    @@ -0,0 +1,225 @@
    +.el_jar {
    +  padding-left:18px;
    +  background-image:url(jar.gif);
    +  background-position:left center;
    +  background-repeat:no-repeat;
    +}
    +
    +.el_test {
    +  padding-left:18px;
    +  background-image:url(test.gif);
    +  background-position:left center;
    +  background-repeat:no-repeat;
    +}
    +
    +.el_testsuite {
    +  padding-left:18px;
    +  background-image:url(testsuite.gif);
    +  background-position:left center;
    +  background-repeat:no-repeat;
    +}
    +
    +p.intro {
    +  margin-left:20px;
    +  padding-left:4px;
    +  border-left:#cccca0 4px solid;
    +  font-style:italic
    +}
    +
    +p.hint {
    +  margin-left:20px;
    +  padding-left:4px;
    +  border-left:#cccca0 4px solid;
    +  font-style:italic
    +}
    +
    +.high {
    +  background-color:#ffff80;
    +}
    +
    +div#content a[href^='http://'], a[href^='https://'] {
    +  display:inline-block;
    +  padding-left:15px;
    +  background:transparent url(extern.gif) center left no-repeat;
    +}
    +
    +/* === Definitions from report.css start here: === */
    +
    +body, td {
    +  font-family:sans-serif;
    +  font-size:10pt;
    +}
    +
    +h1 {
    +  font-weight:bold;
    +  font-size:18pt;
    +}
    +
    +.breadcrumb {
    +  border:#d6d3ce 1px solid;
    +  padding:2px 4px 2px 4px;
    +}
    +
    +
    +.el_report {
    +  padding-left:18px;
    +  background-image:url(report.gif);
    +  background-position:left center;
    +  background-repeat:no-repeat;
    +}
    +
    +.el_group {
    +  padding-left:18px;
    +  background-image:url(group.gif);
    +  background-position:left center;
    +  background-repeat:no-repeat;
    +}
    +
    +.el_bundle {
    +  padding-left:18px;
    +  background-image:url(bundle.gif);
    +  background-position:left center;
    +  background-repeat:no-repeat;
    +}
    +
    +.el_package {
    +  padding-left:18px;
    +  background-image:url(package.gif);
    +  background-position:left center;
    +  background-repeat:no-repeat;
    +}
    +
    +.el_class {
    +  padding-left:18px;
    +  background-image:url(class.gif);
    +  background-position:left center;
    +  background-repeat:no-repeat;
    +}
    +
    +.el_source {
    +  padding-left:18px;
    +  background-image:url(source.gif);
    +  background-position:left center;
    +  background-repeat:no-repeat;
    +}
    +
    +.el_method {
    +  padding-left:18px;
    +  background-image:url(method.gif);
    +  background-position:left center;
    +  background-repeat:no-repeat;
    +}
    +
    +.el_session {
    +  padding-left:18px;
    +  background-image:url(session.gif);
    +  background-position:left center;
    +  background-repeat:no-repeat;
    +}
    +
    +pre.source {
    +  border:#d6d3ce 1px solid;
    +  font-family:monospace;
    +}
    +
    +pre.source ol {
    +  margin-bottom: 0px;
    +  margin-top: 0px;
    +}
    +
    +pre.source li {
    +  border-left: 1px solid #D6D3CE;
    +  color: #A0A0A0;
    +  padding-left: 0px;
    +}
    +
    +pre.source span.fc {
    +  background-color:#ccffcc;
    +}
    +
    +pre.source span.nc {
    +  background-color:#ffcccc;
    +}
    +
    +pre.source span.pc {
    +  background-color:#ffffcc;
    +}
    +
    +
    +table.coverage {
    +  empty-cells:show;
    +  border-collapse:collapse;
    +}
    +
    +table.coverage thead {
    +  background-color:#e0e0e0;
    +}
    +
    +table.coverage thead td {
    +  white-space:nowrap;
    +  padding:2px 8px 0px 8px;
    +  border-bottom:#b0b0b0 1px solid;
    +}
    +
    +table.coverage thead td.ctr1 {
    +  text-align:right;
    +  padding-right:4px;
    +  border-left:#cccccc 1px solid;
    +}
    +
    +table.coverage thead td.ctr2 {
    +  text-align:right;
    +  padding-left:4px;
    +}
    +
    +table.coverage tbody td {
    +  vertical-align:top;
    +  padding:2px 8px 2px 8px;
    +  border-bottom:#d6d3ce 1px solid;
    +}
    +
    +table.coverage tbody tr:hover {
    +  background: #f0f0d0 !important;
    +}
    +
    +table.coverage tbody td.ctr1 {
    +  text-align:right;
    +  padding-right:4px;
    +  border-left:#e8e8e8 1px solid;
    +}
    +
    +table.coverage tbody td.ctr2 {
    +  text-align:right;
    +  padding-left:4px;
    +}
    +
    +table.coverage tfoot td {
    +  padding:2px 8px 2px 8px;
    +}
    +
    +table.coverage tfoot td.ctr1 {
    +  text-align:right;
    +  padding-right:4px;
    +  border-left:#e8e8e8 1px solid;
    +}
    +
    +table.coverage tfoot td.ctr2 {
    +  text-align:right;
    +  padding-left:4px;
    +}
    +
    +.footer {
    +  margin-top:20px;
    +  border-top:#d6d3ce 1px solid;
    +  padding-top:2px;
    +  font-size:8pt;
    +  color:#a0a0a0;
    +}
    +
    +.footer a {
    +  color:#a0a0a0;
    +}
    +
    +.right {
    +  float:right;
    +}
    diff --git a/jacoco/trunk/doc/resources/extern.gif b/jacoco/trunk/doc/resources/extern.gif
    new file mode 100644
    index 00000000000..eb481c01fee
    Binary files /dev/null and b/jacoco/trunk/doc/resources/extern.gif differ
    diff --git a/jacoco/trunk/doc/resources/flow-cond-probe.png b/jacoco/trunk/doc/resources/flow-cond-probe.png
    new file mode 100644
    index 00000000000..4e7c677d9aa
    Binary files /dev/null and b/jacoco/trunk/doc/resources/flow-cond-probe.png differ
    diff --git a/jacoco/trunk/doc/resources/flow-cond.png b/jacoco/trunk/doc/resources/flow-cond.png
    new file mode 100644
    index 00000000000..14597f0c416
    Binary files /dev/null and b/jacoco/trunk/doc/resources/flow-cond.png differ
    diff --git a/jacoco/trunk/doc/resources/flow-example.png b/jacoco/trunk/doc/resources/flow-example.png
    new file mode 100644
    index 00000000000..ca541ff3144
    Binary files /dev/null and b/jacoco/trunk/doc/resources/flow-example.png differ
    diff --git a/jacoco/trunk/doc/resources/flow-exit-probe.png b/jacoco/trunk/doc/resources/flow-exit-probe.png
    new file mode 100644
    index 00000000000..9a8c7c439b0
    Binary files /dev/null and b/jacoco/trunk/doc/resources/flow-exit-probe.png differ
    diff --git a/jacoco/trunk/doc/resources/flow-exit.png b/jacoco/trunk/doc/resources/flow-exit.png
    new file mode 100644
    index 00000000000..8d55de2bcd3
    Binary files /dev/null and b/jacoco/trunk/doc/resources/flow-exit.png differ
    diff --git a/jacoco/trunk/doc/resources/flow-goto-probe.png b/jacoco/trunk/doc/resources/flow-goto-probe.png
    new file mode 100644
    index 00000000000..7032dd96f90
    Binary files /dev/null and b/jacoco/trunk/doc/resources/flow-goto-probe.png differ
    diff --git a/jacoco/trunk/doc/resources/flow-goto.png b/jacoco/trunk/doc/resources/flow-goto.png
    new file mode 100644
    index 00000000000..61cf9d75849
    Binary files /dev/null and b/jacoco/trunk/doc/resources/flow-goto.png differ
    diff --git a/jacoco/trunk/doc/resources/flow-sequence-probe.png b/jacoco/trunk/doc/resources/flow-sequence-probe.png
    new file mode 100644
    index 00000000000..e905ebab874
    Binary files /dev/null and b/jacoco/trunk/doc/resources/flow-sequence-probe.png differ
    diff --git a/jacoco/trunk/doc/resources/flow-sequence.png b/jacoco/trunk/doc/resources/flow-sequence.png
    new file mode 100644
    index 00000000000..9ee9db40c18
    Binary files /dev/null and b/jacoco/trunk/doc/resources/flow-sequence.png differ
    diff --git a/jacoco/trunk/doc/resources/group.gif b/jacoco/trunk/doc/resources/group.gif
    new file mode 100644
    index 00000000000..a4ea580d278
    Binary files /dev/null and b/jacoco/trunk/doc/resources/group.gif differ
    diff --git a/jacoco/trunk/doc/resources/implementation.png b/jacoco/trunk/doc/resources/implementation.png
    new file mode 100644
    index 00000000000..3863e753472
    Binary files /dev/null and b/jacoco/trunk/doc/resources/implementation.png differ
    diff --git a/jacoco/trunk/doc/resources/jar.gif b/jacoco/trunk/doc/resources/jar.gif
    new file mode 100644
    index 00000000000..c026f017803
    Binary files /dev/null and b/jacoco/trunk/doc/resources/jar.gif differ
    diff --git a/jacoco/trunk/doc/resources/report.gif b/jacoco/trunk/doc/resources/report.gif
    new file mode 100644
    index 00000000000..8547be50bf3
    Binary files /dev/null and b/jacoco/trunk/doc/resources/report.gif differ
    diff --git a/jacoco/trunk/doc/resources/source.gif b/jacoco/trunk/doc/resources/source.gif
    new file mode 100644
    index 00000000000..b226e41c527
    Binary files /dev/null and b/jacoco/trunk/doc/resources/source.gif differ
    diff --git a/jacoco/trunk/doc/resources/test.gif b/jacoco/trunk/doc/resources/test.gif
    new file mode 100644
    index 00000000000..f824bd8c012
    Binary files /dev/null and b/jacoco/trunk/doc/resources/test.gif differ
    diff --git a/jacoco/trunk/doc/resources/testsuite.gif b/jacoco/trunk/doc/resources/testsuite.gif
    new file mode 100644
    index 00000000000..e3db1eb3c8a
    Binary files /dev/null and b/jacoco/trunk/doc/resources/testsuite.gif differ
    diff --git a/jacoco/trunk/doc/restore-instrumented-classes-mojo.html b/jacoco/trunk/doc/restore-instrumented-classes-mojo.html
    new file mode 100644
    index 00000000000..973fea7601f
    --- /dev/null
    +++ b/jacoco/trunk/doc/restore-instrumented-classes-mojo.html
    @@ -0,0 +1,172 @@
    +<?xml version="1.0" encoding="UTF-8"?>
    +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
    +<html xmlns="http://www.w3.org/1999/xhtml">
    +    <head>
    +        <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
    +        <link rel="stylesheet" href="resources/doc.css" charset="UTF-8" type="text/css" />
    +        <link rel="shortcut icon" href="resources/report.gif" type="image/gif" />
    +        <title>
    +					JaCoCo -
    +					jacoco:restore-instrumented-classes</title>
    +    </head>
    +    <body>
    +        <div class="breadcrumb">
    +            <a href="../index.html" class="el_report">JaCoCo</a>
    +            					&gt;
    +					
    +            <a href="index.html" class="el_group">Documentation</a>
    +            					&gt;
    +					
    +            <a href="maven.html" class="el_group">Maven</a>
    +            					&gt;
    +					
    +            <span class="el_source">jacoco:restore-instrumented-classes</span>
    +        </div>
    +        <div id="content">
    +                
    +            <h1>jacoco:restore-instrumented-classes</h1>
    +                  
    +            <p>
    +                <b>Full name</b>
    +                :
    +            </p>
    +                  
    +            <p>org.jacoco:jacoco-maven-plugin:0.8.12-SNAPSHOT:restore-instrumented-classes</p>
    +                  
    +            <p>
    +                <b>Description</b>
    +                :
    +            </p>
    +                  
    +            <div>Restores original classes as they were before offline
    +instrumentation.</div>
    +                  
    +            <p>
    +                <b>Attributes</b>
    +                :
    +            </p>
    +                  
    +            <ul>
    +                        
    +                <li>Requires a Maven project to be executed.</li>
    +                        
    +                <li>The goal is thread-safe and supports parallel builds.</li>
    +                        
    +                <li>
    +                    Since version: 
    +                    <code>0.6.2</code>
    +                    .
    +                </li>
    +                        
    +                <li>
    +                    Binds by default to the 
    +                    <a href="http://maven.apache.org/ref/current/maven-core/lifecycles.html">lifecycle phase</a>
    +                    : 
    +                    <code>prepare-package</code>
    +                    .
    +                </li>
    +                      
    +            </ul>
    +                  
    +            <h2>Optional Parameters</h2>
    +                    
    +            <table class="coverage">
    +                <thead>
    +                    <tr>
    +                        <td>Name</td>
    +                        <td>Type</td>
    +                        <td>Since</td>
    +                        <td>Description</td>
    +                    </tr>
    +                </thead>
    +                <tbody>
    +                    <tr>
    +                        <td>
    +                            <code>
    +                                <a href="#skip">&lt;skip&gt;</a>
    +                            </code>
    +                        </td>
    +                        <td>
    +                            <code>boolean</code>
    +                        </td>
    +                        <td>
    +                            <code>0.6.2</code>
    +                        </td>
    +                        <td>
    +                            Flag used to suppress execution.
    +                            <br />
    +                            <b>Default value is</b>
    +                            : 
    +                            <code>false</code>
    +                            .
    +                            <br />
    +                            <b>User property is</b>
    +                            : 
    +                            <code>jacoco.skip</code>
    +                            .
    +                            <br />
    +                        </td>
    +                    </tr>
    +                </tbody>
    +            </table>
    +                  
    +      
    +            <h2>Parameter Details</h2>
    +                    
    +            <b>
    +                <a name="skip">&lt;skip&gt;</a>
    +            </b>
    +                    
    +            <div>Flag used to suppress execution.</div>
    +                    
    +            <ul>
    +                          
    +                <li>
    +                    <b>Type</b>
    +                    : 
    +                    <code>boolean</code>
    +                </li>
    +                          
    +                <li>
    +                    <b>Since</b>
    +                    : 
    +                    <code>0.6.2</code>
    +                </li>
    +                          
    +                <li>
    +                    <b>Required</b>
    +                    : 
    +                    <code>No</code>
    +                </li>
    +                          
    +                <li>
    +                    <b>User Property</b>
    +                    : 
    +                    <code>jacoco.skip</code>
    +                </li>
    +                          
    +                <li>
    +                    <b>Default</b>
    +                    : 
    +                    <code>false</code>
    +                </li>
    +                        
    +            </ul>
    +                  
    +    
    +  
    +        </div>
    +        <div class="footer">
    +            <span class="right">
    +                <a href="http://www.jacoco.org/jacoco">JaCoCo</a>
    +                						 
    +						0.8.12.202403270442
    +            </span>
    +            <a href="../doc/license.html">Copyright</a>
    +            					©
    +					2009, 2024
    +					Mountainminds GmbH &amp; Co. KG and Contributors
    +				
    +        </div>
    +    </body>
    +</html>
    diff --git a/jacoco/trunk/doc/support.html b/jacoco/trunk/doc/support.html
    new file mode 100644
    index 00000000000..505a317cb30
    --- /dev/null
    +++ b/jacoco/trunk/doc/support.html
    @@ -0,0 +1,44 @@
    +<?xml version="1.0" encoding="UTF-8" ?>
    +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
    +<html xmlns="http://www.w3.org/1999/xhtml" lang="en">
    +<head>
    +  <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
    +  <link rel="stylesheet" href="resources/doc.css" charset="UTF-8" type="text/css" />
    +  <link rel="shortcut icon" href="resources/report.gif" type="image/gif" />
    +  <title>JaCoCo - Support and Feedback</title>
    +</head>
    +<body>
    +
    +<div class="breadcrumb">
    +  <a href="../index.html" class="el_report">JaCoCo</a> &gt;
    +  <a href="index.html" class="el_group">Documentation</a> &gt;
    +  <span class="el_source">Support and Feedback</span>
    +</div>
    +<div id="content">
    +
    +<h1>Support and Feedback</h1>
    +
    +<p>
    +  We compiled a <a href="faq.html">FAQ</a> document with typical questions asked
    +  by JaCoCo useres. Please check this document first.
    +</p>
    +
    +<p>
    +  Our Google Group
    +  <a href="https://groups.google.com/d/forum/jacoco"><i>JaCoCo and EclEmma Users</i></a>
    +  is the place to ask questions or discuss feature requests.
    +</p>
    +
    +<p>
    +  Bugs and feature requests can be reported to our GitHub
    +  <a href="https://github.com/jacoco/jacoco/issues">issue tracker</a>.
    +</p>
    +
    +</div>
    +<div class="footer">
    +  <span class="right"><a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.12.202403270442</span>
    +  <a href="license.html">Copyright</a> &copy; 2009, 2024 Mountainminds GmbH &amp; Co. KG and Contributors
    +</div>
    +
    +</body>
    +</html>
    diff --git a/jacoco/trunk/doc/team.html b/jacoco/trunk/doc/team.html
    new file mode 100644
    index 00000000000..4532b7aba8d
    --- /dev/null
    +++ b/jacoco/trunk/doc/team.html
    @@ -0,0 +1,57 @@
    +<?xml version="1.0" encoding="UTF-8" ?>
    +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
    +<html xmlns="http://www.w3.org/1999/xhtml" lang="en">
    +<head>
    +  <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
    +  <link rel="stylesheet" href="resources/doc.css" charset="UTF-8" type="text/css" />
    +  <link rel="shortcut icon" href="resources/report.gif" type="image/gif" />
    +  <title>JaCoCo - Team</title>
    +</head>
    +<body>
    +
    +<div class="breadcrumb">
    +  <a href="../index.html" class="el_report">JaCoCo</a> &gt;
    +  <a href="index.html" class="el_group">Documentation</a> &gt;
    +  <span class="el_source">Team</span>
    +</div>
    +<div id="content">
    +
    +<h1>Team</h1>
    +
    +<p>
    +  The current team behind JaCoCo is (sequence uppon entry):
    +</p>
    +
    +<ul>
    +  <li>Marc R. Hoffmann (Project Lead)</li>
    +  <li>Evgeny Mandrikov</li>
    +  <li>Mirko Friedenhagen</li>
    +</ul>
    +
    +<p>
    +  To keep the development process open please use the
    +  <a href="support.html">public communication channels</a> and do not contact
    +  individual team members.
    +</p>
    +
    +<h2>Former Developers</h2>
    +
    +<p>
    +  Many thanks to the following developers who contributed to former versions
    +  of JaCoCo:
    +</p>
    +
    +<ul>
    +  <li>Radek Liba</li>
    +  <li>Christoph Beck</li>
    +  <li>Brock Janiczak</li>
    +</ul>
    +
    +</div>
    +<div class="footer">
    +  <span class="right"><a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.12.202403270442</span>
    +  <a href="license.html">Copyright</a> &copy; 2009, 2024 Mountainminds GmbH &amp; Co. KG and Contributors
    +</div>
    +
    +</body>
    +</html>
    diff --git a/jacoco/trunk/index.html b/jacoco/trunk/index.html
    new file mode 100644
    index 00000000000..1c73f8fde4b
    --- /dev/null
    +++ b/jacoco/trunk/index.html
    @@ -0,0 +1,115 @@
    +<?xml version="1.0" encoding="UTF-8" ?>
    +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
    +<html xmlns="http://www.w3.org/1999/xhtml" lang="en">
    +<head>
    +  <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
    +  <link rel="stylesheet" href="doc/resources/doc.css" charset="UTF-8" type="text/css" />
    +  <link rel="shortcut icon" href="doc/resources/report.gif" type="image/gif" />
    +  <title>JaCoCo - Java Code Coverage Library</title>
    +</head>
    +<body>
    +
    +<div class="breadcrumb">
    +  <span class="el_report">JaCoCo</span>
    +</div>
    +<div id="content">
    +
    +<h1>JaCoCo - Java Code Coverage Library</h1>
    +
    +<p>
    +  JaCoCo is a free Java code coverage library distributed under the
    +  <a href="doc/license.html">Eclipse Public License</a>. Check
    +  <a href="http://www.jacoco.org/jacoco">http://www.jacoco.org/jacoco</a> for updates and feedback.
    +</p>
    +
    +<p>
    +  This is the distribution of version 0.8.12.202403270442 created on
    +  2024/03/27 based on commit
    +  <a href="https://github.com/jacoco/jacoco/tree/a50585b9e0770c363c56d887a8f639dc05411073">a50585b9e0770c363c56d887a8f639dc05411073</a>.
    +</p>
    +
    +<h2>Contents</h2>
    +
    +<ul>
    +  <li><a href="doc/index.html">Documentation</a></li>
    +  <li><a href="test/index.html">JUnit Test Results</a></li>
    +  <li><a href="coverage/index.html">Code Coverage Report</a>
    +      (<a href="coverage/jacoco.csv">CSV</a>,
    +       <a href="coverage/jacoco.xml">XML</a>)</li>
    +  <li><a href="doc/changes.html">Change History</a></li>
    +  <li><a href="doc/license.html">License</a></li>
    +</ul>
    +
    +<p>
    +  The JaCoCo distribution contains the following libraries in the
    +  <code>./lib</code> folder:
    +</p>
    +
    +<table class="coverage">
    +  <thead>
    +    <tr>
    +      <td>File</td>
    +      <td>OSGi Bundle</td>
    +      <td>Description</td>
    +      <td>Dependencies</td>
    +    </tr>
    +  </thead>
    +  <tbody>
    +    <tr>
    +      <td><span class="el_jar">jacocoagent.jar</span></td>
    +      <td>no</td>
    +      <td>Java agent for execution data recording</td>
    +      <td>- <i>(all dependencies included)</i></td>
    +    </tr>
    +    <tr>
    +      <td><span class="el_jar">jacocoant.jar</span></td>
    +      <td>no</td>
    +      <td>JaCoCo Ant tasks</td>
    +      <td>Ant <i>(all other dependencies included)</i></td>
    +    </tr>
    +    <tr>
    +      <td><span class="el_jar">jacococli.jar</span></td>
    +      <td>no</td>
    +      <td>JaCoCo Command Line Interface</td>
    +      <td>- <i>(all dependencies included)</i></td>
    +    </tr>
    +    <tr>
    +      <td><span class="el_jar">org.jacoco.agent_0.8.12.202403270442.jar</span></td>
    +      <td>yes</td>
    +      <td>JaCoCo agent</td>
    +      <td>-</td>
    +    </tr>
    +    <tr>
    +      <td><span class="el_jar">org.jacoco.core_0.8.12.202403270442.jar</span></td>
    +      <td>yes</td>
    +      <td>JaCoCo core</td>
    +      <td>ASM</td>
    +    </tr>
    +    <tr>
    +      <td><span class="el_jar">org.jacoco.report_0.8.12.202403270442.jar</span></td>
    +      <td>yes</td>
    +      <td>JaCoCo reporting</td>
    +      <td>org.jacoco.core, ASM</td>
    +    </tr>
    +    <tr>
    +      <td><span class="el_jar">org.jacoco.ant_0.8.12.202403270442.jar</span></td>
    +      <td>yes</td>
    +      <td>JaCoCo Ant tasks</td>
    +      <td>org.jacoco.core, org.jacoco.agent, org.jacoco.report, ASM, Ant</td>
    +    </tr>
    +  </tbody>
    +</table>
    +
    +<p>
    +  All libraries as well as the JaCoCo <a href="doc/maven.html">Maven plug-in</a>
    +  are also available from the Maven <a href="doc/repo.html">repository</a>.
    +</p>
    +
    +</div>
    +<div class="footer">
    +  <span class="right"><a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.12.202403270442</span>
    +  <a href="doc/license.html">Copyright</a> &copy; 2009, 2024 Mountainminds GmbH &amp; Co. KG and Contributors
    +</div>
    +
    +</body>
    +</html>
    diff --git a/jacoco/trunk/test/TESTS-TestSuites.xml b/jacoco/trunk/test/TESTS-TestSuites.xml
    new file mode 100644
    index 00000000000..9d630a2066c
    --- /dev/null
    +++ b/jacoco/trunk/test/TESTS-TestSuites.xml
    @@ -0,0 +1,23693 @@
    +<?xml version="1.0" encoding="UTF-8" ?>
    +<testsuites>
    +  <testsuite errors="0" failures="0" id="0" name="AgentJarTest" package="org.jacoco.agent" skipped="0" tests="5" time="0.052" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="https://maven.apache.org/surefire/maven-surefire-plugin/xsd/surefire-test-report.xsd">
    +      <properties>
    +          <property name="jansi.mode" value="strip" />
    +
    +          <property name="java.runtime.name" value="OpenJDK Runtime Environment" />
    +
    +          <property name="java.vm.version" value="17.0.10+7" />
    +
    +          <property name="sun.boot.library.path" value="/usr/lib/jvm/temurin-17-jdk-amd64/lib" />
    +
    +          <property name="maven.multiModuleProjectDirectory" value="/home/vsts/work/1/s/org.jacoco.build" />
    +
    +          <property name="java.vm.vendor" value="Eclipse Adoptium" />
    +
    +          <property name="jdk.version" value="5" />
    +
    +          <property name="java.vendor.url" value="https://adoptium.net/" />
    +
    +          <property name="path.separator" value=":" />
    +
    +          <property name="guice.disable.misplaced.annotation.check" value="true" />
    +
    +          <property name="java.vm.name" value="OpenJDK 64-Bit Server VM" />
    +
    +          <property name="sun.java.launcher" value="SUN_STANDARD" />
    +
    +          <property name="user.dir" value="/home/vsts/work/1/s" />
    +
    +          <property name="java.vm.compressedOopsMode" value="32-bit" />
    +
    +          <property name="java.vm.specification.name" value="Java Virtual Machine Specification" />
    +
    +          <property name="java.runtime.version" value="17.0.10+7" />
    +
    +          <property name="os.arch" value="amd64" />
    +
    +          <property name="java.io.tmpdir" value="/tmp" />
    +
    +          <property name="line.separator" value="&#xa;" />
    +
    +          <property name="java.vm.specification.vendor" value="Oracle Corporation" />
    +
    +          <property name="os.name" value="Linux" />
    +
    +          <property name="classworlds.conf" value="/home/vsts/work/1/s/.maven/bin/m2.conf" />
    +
    +          <property name="sun.jnu.encoding" value="UTF-8" />
    +
    +          <property name="deployAtEnd" value="true" />
    +
    +          <property name="java.library.path" value="/usr/java/packages/lib:/usr/lib64:/lib64:/lib:/usr/lib" />
    +
    +          <property name="maven.conf" value="/home/vsts/work/1/s/.maven/conf" />
    +
    +          <property name="jdk.debug" value="release" />
    +
    +          <property name="java.class.version" value="61.0" />
    +
    +          <property name="java.specification.name" value="Java Platform API Specification" />
    +
    +          <property name="sun.management.compiler" value="HotSpot 64-Bit Tiered Compilers" />
    +
    +          <property name="os.version" value="5.15.0-1059-azure" />
    +
    +          <property name="library.jansi.path" value="/home/vsts/work/1/s/.maven/lib/jansi-native" />
    +
    +          <property name="user.home" value="/home/vsts" />
    +
    +          <property name="user.timezone" value="Etc/UTC" />
    +
    +          <property name="file.encoding" value="UTF-8" />
    +
    +          <property name="java.specification.version" value="17" />
    +
    +          <property name="java.class.path" value="/home/vsts/work/1/s/.maven/boot/plexus-classworlds-2.6.0.jar" />
    +
    +          <property name="user.name" value="vsts" />
    +
    +          <property name="bytecode.version" value="5" />
    +
    +          <property name="java.vm.specification.version" value="17" />
    +
    +          <property name="sun.arch.data.model" value="64" />
    +
    +          <property name="sun.java.command" value="org.codehaus.plexus.classworlds.launcher.Launcher -V -B -e --no-transfer-progress -f org.jacoco.build verify -Djdk.version=5 -Dbytecode.version=5 deploy:deploy -DdeployAtEnd --toolchains=toolchains.xml --settings=.azure-pipelines/maven-settings.xml" />
    +
    +          <property name="java.home" value="/usr/lib/jvm/temurin-17-jdk-amd64" />
    +
    +          <property name="user.language" value="en" />
    +
    +          <property name="java.specification.vendor" value="Oracle Corporation" />
    +
    +          <property name="java.vm.info" value="mixed mode, sharing" />
    +
    +          <property name="java.version" value="17.0.10" />
    +
    +          <property name="native.encoding" value="UTF-8" />
    +
    +          <property name="securerandom.source" value="file:/dev/./urandom" />
    +
    +          <property name="java.vendor" value="Eclipse Adoptium" />
    +
    +          <property name="maven.home" value="/home/vsts/work/1/s/.maven" />
    +
    +          <property name="file.separator" value="/" />
    +
    +          <property name="java.version.date" value="2024-01-16" />
    +
    +          <property name="java.vendor.url.bug" value="https://github.com/adoptium/adoptium-support/issues" />
    +
    +          <property name="sun.cpu.endian" value="little" />
    +
    +          <property name="sun.io.unicode.encoding" value="UnicodeLittle" />
    +
    +          <property name="sun.font.fontmanager" value="sun.awt.X11FontManager" />
    +
    +          <property name="java.vendor.version" value="Temurin-17.0.10+7" />
    +
    +      </properties>
    +
    +      <testcase classname="org.jacoco.agent.AgentJarTest" name="testGetResourceAsStream" time="0.008" />
    +
    +      <testcase classname="org.jacoco.agent.AgentJarTest" name="testExtractToNegative" time="0.003" />
    +
    +      <testcase classname="org.jacoco.agent.AgentJarTest" name="testExtractToTempLocation" time="0.004" />
    +
    +      <testcase classname="org.jacoco.agent.AgentJarTest" name="testExtractTo" time="0.001" />
    +
    +      <testcase classname="org.jacoco.agent.AgentJarTest" name="testGetResource" time="0.001" />
    +
    +  </testsuite>
    +  <testsuite errors="0" failures="0" id="1" name="AgentModuleTest" package="org.jacoco.agent.rt.internal" skipped="0" tests="2" time="0.042" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="https://maven.apache.org/surefire/maven-surefire-plugin/xsd/surefire-test-report.xsd">
    +      <properties>
    +          <property name="jansi.mode" value="strip" />
    +
    +          <property name="java.runtime.name" value="OpenJDK Runtime Environment" />
    +
    +          <property name="java.vm.version" value="17.0.10+7" />
    +
    +          <property name="sun.boot.library.path" value="/usr/lib/jvm/temurin-17-jdk-amd64/lib" />
    +
    +          <property name="maven.multiModuleProjectDirectory" value="/home/vsts/work/1/s/org.jacoco.build" />
    +
    +          <property name="java.vm.vendor" value="Eclipse Adoptium" />
    +
    +          <property name="jdk.version" value="5" />
    +
    +          <property name="java.vendor.url" value="https://adoptium.net/" />
    +
    +          <property name="path.separator" value=":" />
    +
    +          <property name="guice.disable.misplaced.annotation.check" value="true" />
    +
    +          <property name="java.vm.name" value="OpenJDK 64-Bit Server VM" />
    +
    +          <property name="sun.java.launcher" value="SUN_STANDARD" />
    +
    +          <property name="user.dir" value="/home/vsts/work/1/s" />
    +
    +          <property name="java.vm.compressedOopsMode" value="32-bit" />
    +
    +          <property name="java.vm.specification.name" value="Java Virtual Machine Specification" />
    +
    +          <property name="java.runtime.version" value="17.0.10+7" />
    +
    +          <property name="os.arch" value="amd64" />
    +
    +          <property name="java.io.tmpdir" value="/tmp" />
    +
    +          <property name="line.separator" value="&#xa;" />
    +
    +          <property name="java.vm.specification.vendor" value="Oracle Corporation" />
    +
    +          <property name="os.name" value="Linux" />
    +
    +          <property name="classworlds.conf" value="/home/vsts/work/1/s/.maven/bin/m2.conf" />
    +
    +          <property name="sun.jnu.encoding" value="UTF-8" />
    +
    +          <property name="deployAtEnd" value="true" />
    +
    +          <property name="java.library.path" value="/usr/java/packages/lib:/usr/lib64:/lib64:/lib:/usr/lib" />
    +
    +          <property name="maven.conf" value="/home/vsts/work/1/s/.maven/conf" />
    +
    +          <property name="jdk.debug" value="release" />
    +
    +          <property name="java.class.version" value="61.0" />
    +
    +          <property name="java.specification.name" value="Java Platform API Specification" />
    +
    +          <property name="sun.management.compiler" value="HotSpot 64-Bit Tiered Compilers" />
    +
    +          <property name="os.version" value="5.15.0-1059-azure" />
    +
    +          <property name="library.jansi.path" value="/home/vsts/work/1/s/.maven/lib/jansi-native" />
    +
    +          <property name="user.home" value="/home/vsts" />
    +
    +          <property name="user.timezone" value="Etc/UTC" />
    +
    +          <property name="file.encoding" value="UTF-8" />
    +
    +          <property name="java.specification.version" value="17" />
    +
    +          <property name="java.class.path" value="/home/vsts/work/1/s/.maven/boot/plexus-classworlds-2.6.0.jar" />
    +
    +          <property name="user.name" value="vsts" />
    +
    +          <property name="bytecode.version" value="5" />
    +
    +          <property name="java.vm.specification.version" value="17" />
    +
    +          <property name="sun.arch.data.model" value="64" />
    +
    +          <property name="sun.java.command" value="org.codehaus.plexus.classworlds.launcher.Launcher -V -B -e --no-transfer-progress -f org.jacoco.build verify -Djdk.version=5 -Dbytecode.version=5 deploy:deploy -DdeployAtEnd --toolchains=toolchains.xml --settings=.azure-pipelines/maven-settings.xml" />
    +
    +          <property name="java.home" value="/usr/lib/jvm/temurin-17-jdk-amd64" />
    +
    +          <property name="user.language" value="en" />
    +
    +          <property name="java.specification.vendor" value="Oracle Corporation" />
    +
    +          <property name="java.vm.info" value="mixed mode, sharing" />
    +
    +          <property name="java.version" value="17.0.10" />
    +
    +          <property name="native.encoding" value="UTF-8" />
    +
    +          <property name="securerandom.source" value="file:/dev/./urandom" />
    +
    +          <property name="java.vendor" value="Eclipse Adoptium" />
    +
    +          <property name="maven.home" value="/home/vsts/work/1/s/.maven" />
    +
    +          <property name="file.separator" value="/" />
    +
    +          <property name="java.version.date" value="2024-01-16" />
    +
    +          <property name="java.vendor.url.bug" value="https://github.com/adoptium/adoptium-support/issues" />
    +
    +          <property name="sun.cpu.endian" value="little" />
    +
    +          <property name="sun.io.unicode.encoding" value="UnicodeLittle" />
    +
    +          <property name="sun.font.fontmanager" value="sun.awt.X11FontManager" />
    +
    +          <property name="java.vendor.version" value="Temurin-17.0.10+7" />
    +
    +      </properties>
    +
    +      <testcase classname="org.jacoco.agent.rt.internal.AgentModuleTest" name="isSupported_should_return_false_before_Java9" time="0.005" />
    +
    +      <testcase classname="org.jacoco.agent.rt.internal.AgentModuleTest" name="should_only_load_classes_in_scope" time="0.005" />
    +
    +  </testsuite>
    +  <testsuite errors="0" failures="0" id="2" name="AgentTest" package="org.jacoco.agent.rt.internal" skipped="0" tests="19" time="0.039" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="https://maven.apache.org/surefire/maven-surefire-plugin/xsd/surefire-test-report.xsd">
    +      <properties>
    +          <property name="jansi.mode" value="strip" />
    +
    +          <property name="java.runtime.name" value="OpenJDK Runtime Environment" />
    +
    +          <property name="java.vm.version" value="17.0.10+7" />
    +
    +          <property name="sun.boot.library.path" value="/usr/lib/jvm/temurin-17-jdk-amd64/lib" />
    +
    +          <property name="maven.multiModuleProjectDirectory" value="/home/vsts/work/1/s/org.jacoco.build" />
    +
    +          <property name="java.vm.vendor" value="Eclipse Adoptium" />
    +
    +          <property name="jdk.version" value="5" />
    +
    +          <property name="java.vendor.url" value="https://adoptium.net/" />
    +
    +          <property name="path.separator" value=":" />
    +
    +          <property name="guice.disable.misplaced.annotation.check" value="true" />
    +
    +          <property name="java.vm.name" value="OpenJDK 64-Bit Server VM" />
    +
    +          <property name="sun.java.launcher" value="SUN_STANDARD" />
    +
    +          <property name="user.dir" value="/home/vsts/work/1/s" />
    +
    +          <property name="java.vm.compressedOopsMode" value="32-bit" />
    +
    +          <property name="java.vm.specification.name" value="Java Virtual Machine Specification" />
    +
    +          <property name="java.runtime.version" value="17.0.10+7" />
    +
    +          <property name="os.arch" value="amd64" />
    +
    +          <property name="java.io.tmpdir" value="/tmp" />
    +
    +          <property name="line.separator" value="&#xa;" />
    +
    +          <property name="java.vm.specification.vendor" value="Oracle Corporation" />
    +
    +          <property name="os.name" value="Linux" />
    +
    +          <property name="classworlds.conf" value="/home/vsts/work/1/s/.maven/bin/m2.conf" />
    +
    +          <property name="sun.jnu.encoding" value="UTF-8" />
    +
    +          <property name="deployAtEnd" value="true" />
    +
    +          <property name="java.library.path" value="/usr/java/packages/lib:/usr/lib64:/lib64:/lib:/usr/lib" />
    +
    +          <property name="maven.conf" value="/home/vsts/work/1/s/.maven/conf" />
    +
    +          <property name="jdk.debug" value="release" />
    +
    +          <property name="java.class.version" value="61.0" />
    +
    +          <property name="java.specification.name" value="Java Platform API Specification" />
    +
    +          <property name="sun.management.compiler" value="HotSpot 64-Bit Tiered Compilers" />
    +
    +          <property name="os.version" value="5.15.0-1059-azure" />
    +
    +          <property name="library.jansi.path" value="/home/vsts/work/1/s/.maven/lib/jansi-native" />
    +
    +          <property name="user.home" value="/home/vsts" />
    +
    +          <property name="user.timezone" value="Etc/UTC" />
    +
    +          <property name="file.encoding" value="UTF-8" />
    +
    +          <property name="java.specification.version" value="17" />
    +
    +          <property name="java.class.path" value="/home/vsts/work/1/s/.maven/boot/plexus-classworlds-2.6.0.jar" />
    +
    +          <property name="user.name" value="vsts" />
    +
    +          <property name="bytecode.version" value="5" />
    +
    +          <property name="java.vm.specification.version" value="17" />
    +
    +          <property name="sun.arch.data.model" value="64" />
    +
    +          <property name="sun.java.command" value="org.codehaus.plexus.classworlds.launcher.Launcher -V -B -e --no-transfer-progress -f org.jacoco.build verify -Djdk.version=5 -Dbytecode.version=5 deploy:deploy -DdeployAtEnd --toolchains=toolchains.xml --settings=.azure-pipelines/maven-settings.xml" />
    +
    +          <property name="java.home" value="/usr/lib/jvm/temurin-17-jdk-amd64" />
    +
    +          <property name="user.language" value="en" />
    +
    +          <property name="java.specification.vendor" value="Oracle Corporation" />
    +
    +          <property name="java.vm.info" value="mixed mode, sharing" />
    +
    +          <property name="java.version" value="17.0.10" />
    +
    +          <property name="native.encoding" value="UTF-8" />
    +
    +          <property name="securerandom.source" value="file:/dev/./urandom" />
    +
    +          <property name="java.vendor" value="Eclipse Adoptium" />
    +
    +          <property name="maven.home" value="/home/vsts/work/1/s/.maven" />
    +
    +          <property name="file.separator" value="/" />
    +
    +          <property name="java.version.date" value="2024-01-16" />
    +
    +          <property name="java.vendor.url.bug" value="https://github.com/adoptium/adoptium-support/issues" />
    +
    +          <property name="sun.cpu.endian" value="little" />
    +
    +          <property name="sun.io.unicode.encoding" value="UnicodeLittle" />
    +
    +          <property name="sun.font.fontmanager" value="sun.awt.X11FontManager" />
    +
    +          <property name="java.vendor.version" value="Temurin-17.0.10+7" />
    +
    +      </properties>
    +
    +      <testcase classname="org.jacoco.agent.rt.internal.AgentTest" name="startup_should_not_register_mbean_when_disabled" time="0.016" />
    +
    +      <testcase classname="org.jacoco.agent.rt.internal.AgentTest" name="getSessionId_should_return_session_id" time="0" />
    +
    +      <testcase classname="org.jacoco.agent.rt.internal.AgentTest" name="startup_should_register_mbean_when_enabled" time="0.002" />
    +
    +      <testcase classname="org.jacoco.agent.rt.internal.AgentTest" name="setSessionId_should_modify_session_id" time="0" />
    +
    +      <testcase classname="org.jacoco.agent.rt.internal.AgentTest" name="getVersion_should_return_current_version" time="0" />
    +
    +      <testcase classname="org.jacoco.agent.rt.internal.AgentTest" name="getExecutionData_should_reset_probes_when_enabled" time="0.002" />
    +
    +      <testcase classname="org.jacoco.agent.rt.internal.AgentTest" name="shutdown_should_log_exception" time="0.001" />
    +
    +      <testcase classname="org.jacoco.agent.rt.internal.AgentTest" name="getExecutionData_should_return_probes_and_session_id" time="0.002" />
    +
    +      <testcase classname="org.jacoco.agent.rt.internal.AgentTest" name="startup_should_set_defined_session_id" time="0" />
    +
    +      <testcase classname="org.jacoco.agent.rt.internal.AgentTest" name="startup_should_log_and_rethrow_exception" time="0.001" />
    +
    +      <testcase classname="org.jacoco.agent.rt.internal.AgentTest" name="shutdown_should_deregister_mbean_when_enabled" time="0" />
    +
    +      <testcase classname="org.jacoco.agent.rt.internal.AgentTest" name="createController_should_create_defined_controller_type" time="0.004" />
    +
    +      <testcase classname="org.jacoco.agent.rt.internal.AgentTest" name="getExecutionData_should_not_reset_probes_when_disabled" time="0" />
    +
    +      <testcase classname="org.jacoco.agent.rt.internal.AgentTest" name="dump_should_trigger_writeExecutionData_with_reset" time="0" />
    +
    +      <testcase classname="org.jacoco.agent.rt.internal.AgentTest" name="reset_should_reset_probes" time="0" />
    +
    +      <testcase classname="org.jacoco.agent.rt.internal.AgentTest" name="shutdown_should_not_write_execution_data_when_disabled" time="0" />
    +
    +      <testcase classname="org.jacoco.agent.rt.internal.AgentTest" name="startup_should_create_random_session_id_when_undefined" time="0.001" />
    +
    +      <testcase classname="org.jacoco.agent.rt.internal.AgentTest" name="shutdown_should_write_execution_data_when_enabled" time="0" />
    +
    +      <testcase classname="org.jacoco.agent.rt.internal.AgentTest" name="dump_should_trigger_writeExecutionData_without_reset" time="0" />
    +
    +  </testsuite>
    +  <testsuite errors="0" failures="0" id="3" name="ClassFileDumperTest" package="org.jacoco.agent.rt.internal" skipped="0" tests="3" time="0.012" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="https://maven.apache.org/surefire/maven-surefire-plugin/xsd/surefire-test-report.xsd">
    +      <properties>
    +          <property name="jansi.mode" value="strip" />
    +
    +          <property name="java.runtime.name" value="OpenJDK Runtime Environment" />
    +
    +          <property name="java.vm.version" value="17.0.10+7" />
    +
    +          <property name="sun.boot.library.path" value="/usr/lib/jvm/temurin-17-jdk-amd64/lib" />
    +
    +          <property name="maven.multiModuleProjectDirectory" value="/home/vsts/work/1/s/org.jacoco.build" />
    +
    +          <property name="java.vm.vendor" value="Eclipse Adoptium" />
    +
    +          <property name="jdk.version" value="5" />
    +
    +          <property name="java.vendor.url" value="https://adoptium.net/" />
    +
    +          <property name="path.separator" value=":" />
    +
    +          <property name="guice.disable.misplaced.annotation.check" value="true" />
    +
    +          <property name="java.vm.name" value="OpenJDK 64-Bit Server VM" />
    +
    +          <property name="sun.java.launcher" value="SUN_STANDARD" />
    +
    +          <property name="user.dir" value="/home/vsts/work/1/s" />
    +
    +          <property name="java.vm.compressedOopsMode" value="32-bit" />
    +
    +          <property name="java.vm.specification.name" value="Java Virtual Machine Specification" />
    +
    +          <property name="java.runtime.version" value="17.0.10+7" />
    +
    +          <property name="os.arch" value="amd64" />
    +
    +          <property name="java.io.tmpdir" value="/tmp" />
    +
    +          <property name="line.separator" value="&#xa;" />
    +
    +          <property name="java.vm.specification.vendor" value="Oracle Corporation" />
    +
    +          <property name="os.name" value="Linux" />
    +
    +          <property name="classworlds.conf" value="/home/vsts/work/1/s/.maven/bin/m2.conf" />
    +
    +          <property name="sun.jnu.encoding" value="UTF-8" />
    +
    +          <property name="deployAtEnd" value="true" />
    +
    +          <property name="java.library.path" value="/usr/java/packages/lib:/usr/lib64:/lib64:/lib:/usr/lib" />
    +
    +          <property name="maven.conf" value="/home/vsts/work/1/s/.maven/conf" />
    +
    +          <property name="jdk.debug" value="release" />
    +
    +          <property name="java.class.version" value="61.0" />
    +
    +          <property name="java.specification.name" value="Java Platform API Specification" />
    +
    +          <property name="sun.management.compiler" value="HotSpot 64-Bit Tiered Compilers" />
    +
    +          <property name="os.version" value="5.15.0-1059-azure" />
    +
    +          <property name="library.jansi.path" value="/home/vsts/work/1/s/.maven/lib/jansi-native" />
    +
    +          <property name="user.home" value="/home/vsts" />
    +
    +          <property name="user.timezone" value="Etc/UTC" />
    +
    +          <property name="file.encoding" value="UTF-8" />
    +
    +          <property name="java.specification.version" value="17" />
    +
    +          <property name="java.class.path" value="/home/vsts/work/1/s/.maven/boot/plexus-classworlds-2.6.0.jar" />
    +
    +          <property name="user.name" value="vsts" />
    +
    +          <property name="bytecode.version" value="5" />
    +
    +          <property name="java.vm.specification.version" value="17" />
    +
    +          <property name="sun.arch.data.model" value="64" />
    +
    +          <property name="sun.java.command" value="org.codehaus.plexus.classworlds.launcher.Launcher -V -B -e --no-transfer-progress -f org.jacoco.build verify -Djdk.version=5 -Dbytecode.version=5 deploy:deploy -DdeployAtEnd --toolchains=toolchains.xml --settings=.azure-pipelines/maven-settings.xml" />
    +
    +          <property name="java.home" value="/usr/lib/jvm/temurin-17-jdk-amd64" />
    +
    +          <property name="user.language" value="en" />
    +
    +          <property name="java.specification.vendor" value="Oracle Corporation" />
    +
    +          <property name="java.vm.info" value="mixed mode, sharing" />
    +
    +          <property name="java.version" value="17.0.10" />
    +
    +          <property name="native.encoding" value="UTF-8" />
    +
    +          <property name="securerandom.source" value="file:/dev/./urandom" />
    +
    +          <property name="java.vendor" value="Eclipse Adoptium" />
    +
    +          <property name="maven.home" value="/home/vsts/work/1/s/.maven" />
    +
    +          <property name="file.separator" value="/" />
    +
    +          <property name="java.version.date" value="2024-01-16" />
    +
    +          <property name="java.vendor.url.bug" value="https://github.com/adoptium/adoptium-support/issues" />
    +
    +          <property name="sun.cpu.endian" value="little" />
    +
    +          <property name="sun.io.unicode.encoding" value="UnicodeLittle" />
    +
    +          <property name="sun.font.fontmanager" value="sun.awt.X11FontManager" />
    +
    +          <property name="java.vendor.version" value="Temurin-17.0.10+7" />
    +
    +      </properties>
    +
    +      <testcase classname="org.jacoco.agent.rt.internal.ClassFileDumperTest" name="testDumpClassInDefaultPackage" time="0.007" />
    +
    +      <testcase classname="org.jacoco.agent.rt.internal.ClassFileDumperTest" name="testDumpClassWithPackage" time="0.001" />
    +
    +      <testcase classname="org.jacoco.agent.rt.internal.ClassFileDumperTest" name="testNoDumps" time="0.001" />
    +
    +  </testsuite>
    +  <testsuite errors="0" failures="0" id="4" name="ConfigLoaderTest" package="org.jacoco.agent.rt.internal" skipped="0" tests="4" time="0.005" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="https://maven.apache.org/surefire/maven-surefire-plugin/xsd/surefire-test-report.xsd">
    +      <properties>
    +          <property name="jansi.mode" value="strip" />
    +
    +          <property name="java.runtime.name" value="OpenJDK Runtime Environment" />
    +
    +          <property name="java.vm.version" value="17.0.10+7" />
    +
    +          <property name="sun.boot.library.path" value="/usr/lib/jvm/temurin-17-jdk-amd64/lib" />
    +
    +          <property name="maven.multiModuleProjectDirectory" value="/home/vsts/work/1/s/org.jacoco.build" />
    +
    +          <property name="java.vm.vendor" value="Eclipse Adoptium" />
    +
    +          <property name="jdk.version" value="5" />
    +
    +          <property name="java.vendor.url" value="https://adoptium.net/" />
    +
    +          <property name="path.separator" value=":" />
    +
    +          <property name="guice.disable.misplaced.annotation.check" value="true" />
    +
    +          <property name="java.vm.name" value="OpenJDK 64-Bit Server VM" />
    +
    +          <property name="sun.java.launcher" value="SUN_STANDARD" />
    +
    +          <property name="user.dir" value="/home/vsts/work/1/s" />
    +
    +          <property name="java.vm.compressedOopsMode" value="32-bit" />
    +
    +          <property name="java.vm.specification.name" value="Java Virtual Machine Specification" />
    +
    +          <property name="java.runtime.version" value="17.0.10+7" />
    +
    +          <property name="os.arch" value="amd64" />
    +
    +          <property name="java.io.tmpdir" value="/tmp" />
    +
    +          <property name="line.separator" value="&#xa;" />
    +
    +          <property name="java.vm.specification.vendor" value="Oracle Corporation" />
    +
    +          <property name="os.name" value="Linux" />
    +
    +          <property name="classworlds.conf" value="/home/vsts/work/1/s/.maven/bin/m2.conf" />
    +
    +          <property name="sun.jnu.encoding" value="UTF-8" />
    +
    +          <property name="deployAtEnd" value="true" />
    +
    +          <property name="java.library.path" value="/usr/java/packages/lib:/usr/lib64:/lib64:/lib:/usr/lib" />
    +
    +          <property name="maven.conf" value="/home/vsts/work/1/s/.maven/conf" />
    +
    +          <property name="jdk.debug" value="release" />
    +
    +          <property name="java.class.version" value="61.0" />
    +
    +          <property name="java.specification.name" value="Java Platform API Specification" />
    +
    +          <property name="sun.management.compiler" value="HotSpot 64-Bit Tiered Compilers" />
    +
    +          <property name="os.version" value="5.15.0-1059-azure" />
    +
    +          <property name="library.jansi.path" value="/home/vsts/work/1/s/.maven/lib/jansi-native" />
    +
    +          <property name="user.home" value="/home/vsts" />
    +
    +          <property name="user.timezone" value="Etc/UTC" />
    +
    +          <property name="file.encoding" value="UTF-8" />
    +
    +          <property name="java.specification.version" value="17" />
    +
    +          <property name="java.class.path" value="/home/vsts/work/1/s/.maven/boot/plexus-classworlds-2.6.0.jar" />
    +
    +          <property name="user.name" value="vsts" />
    +
    +          <property name="bytecode.version" value="5" />
    +
    +          <property name="java.vm.specification.version" value="17" />
    +
    +          <property name="sun.arch.data.model" value="64" />
    +
    +          <property name="sun.java.command" value="org.codehaus.plexus.classworlds.launcher.Launcher -V -B -e --no-transfer-progress -f org.jacoco.build verify -Djdk.version=5 -Dbytecode.version=5 deploy:deploy -DdeployAtEnd --toolchains=toolchains.xml --settings=.azure-pipelines/maven-settings.xml" />
    +
    +          <property name="java.home" value="/usr/lib/jvm/temurin-17-jdk-amd64" />
    +
    +          <property name="user.language" value="en" />
    +
    +          <property name="java.specification.vendor" value="Oracle Corporation" />
    +
    +          <property name="java.vm.info" value="mixed mode, sharing" />
    +
    +          <property name="java.version" value="17.0.10" />
    +
    +          <property name="native.encoding" value="UTF-8" />
    +
    +          <property name="securerandom.source" value="file:/dev/./urandom" />
    +
    +          <property name="java.vendor" value="Eclipse Adoptium" />
    +
    +          <property name="maven.home" value="/home/vsts/work/1/s/.maven" />
    +
    +          <property name="file.separator" value="/" />
    +
    +          <property name="java.version.date" value="2024-01-16" />
    +
    +          <property name="java.vendor.url.bug" value="https://github.com/adoptium/adoptium-support/issues" />
    +
    +          <property name="sun.cpu.endian" value="little" />
    +
    +          <property name="sun.io.unicode.encoding" value="UnicodeLittle" />
    +
    +          <property name="sun.font.fontmanager" value="sun.awt.X11FontManager" />
    +
    +          <property name="java.vendor.version" value="Temurin-17.0.10+7" />
    +
    +      </properties>
    +
    +      <testcase classname="org.jacoco.agent.rt.internal.ConfigLoaderTest" name="testSystemProperties" time="0.003" />
    +
    +      <testcase classname="org.jacoco.agent.rt.internal.ConfigLoaderTest" name="testNoResource" time="0" />
    +
    +      <testcase classname="org.jacoco.agent.rt.internal.ConfigLoaderTest" name="testSubstituteProperties" time="0" />
    +
    +      <testcase classname="org.jacoco.agent.rt.internal.ConfigLoaderTest" name="testResource" time="0.001" />
    +
    +  </testsuite>
    +  <testsuite errors="0" failures="0" id="5" name="CoverageTransformerTest" package="org.jacoco.agent.rt.internal" skipped="0" tests="20" time="0.029" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="https://maven.apache.org/surefire/maven-surefire-plugin/xsd/surefire-test-report.xsd">
    +      <properties>
    +          <property name="jansi.mode" value="strip" />
    +
    +          <property name="java.runtime.name" value="OpenJDK Runtime Environment" />
    +
    +          <property name="java.vm.version" value="17.0.10+7" />
    +
    +          <property name="sun.boot.library.path" value="/usr/lib/jvm/temurin-17-jdk-amd64/lib" />
    +
    +          <property name="maven.multiModuleProjectDirectory" value="/home/vsts/work/1/s/org.jacoco.build" />
    +
    +          <property name="java.vm.vendor" value="Eclipse Adoptium" />
    +
    +          <property name="jdk.version" value="5" />
    +
    +          <property name="java.vendor.url" value="https://adoptium.net/" />
    +
    +          <property name="path.separator" value=":" />
    +
    +          <property name="guice.disable.misplaced.annotation.check" value="true" />
    +
    +          <property name="java.vm.name" value="OpenJDK 64-Bit Server VM" />
    +
    +          <property name="sun.java.launcher" value="SUN_STANDARD" />
    +
    +          <property name="user.dir" value="/home/vsts/work/1/s" />
    +
    +          <property name="java.vm.compressedOopsMode" value="32-bit" />
    +
    +          <property name="java.vm.specification.name" value="Java Virtual Machine Specification" />
    +
    +          <property name="java.runtime.version" value="17.0.10+7" />
    +
    +          <property name="os.arch" value="amd64" />
    +
    +          <property name="java.io.tmpdir" value="/tmp" />
    +
    +          <property name="line.separator" value="&#xa;" />
    +
    +          <property name="java.vm.specification.vendor" value="Oracle Corporation" />
    +
    +          <property name="os.name" value="Linux" />
    +
    +          <property name="classworlds.conf" value="/home/vsts/work/1/s/.maven/bin/m2.conf" />
    +
    +          <property name="sun.jnu.encoding" value="UTF-8" />
    +
    +          <property name="deployAtEnd" value="true" />
    +
    +          <property name="java.library.path" value="/usr/java/packages/lib:/usr/lib64:/lib64:/lib:/usr/lib" />
    +
    +          <property name="maven.conf" value="/home/vsts/work/1/s/.maven/conf" />
    +
    +          <property name="jdk.debug" value="release" />
    +
    +          <property name="java.class.version" value="61.0" />
    +
    +          <property name="java.specification.name" value="Java Platform API Specification" />
    +
    +          <property name="sun.management.compiler" value="HotSpot 64-Bit Tiered Compilers" />
    +
    +          <property name="os.version" value="5.15.0-1059-azure" />
    +
    +          <property name="library.jansi.path" value="/home/vsts/work/1/s/.maven/lib/jansi-native" />
    +
    +          <property name="user.home" value="/home/vsts" />
    +
    +          <property name="user.timezone" value="Etc/UTC" />
    +
    +          <property name="file.encoding" value="UTF-8" />
    +
    +          <property name="java.specification.version" value="17" />
    +
    +          <property name="java.class.path" value="/home/vsts/work/1/s/.maven/boot/plexus-classworlds-2.6.0.jar" />
    +
    +          <property name="user.name" value="vsts" />
    +
    +          <property name="bytecode.version" value="5" />
    +
    +          <property name="java.vm.specification.version" value="17" />
    +
    +          <property name="sun.arch.data.model" value="64" />
    +
    +          <property name="sun.java.command" value="org.codehaus.plexus.classworlds.launcher.Launcher -V -B -e --no-transfer-progress -f org.jacoco.build verify -Djdk.version=5 -Dbytecode.version=5 deploy:deploy -DdeployAtEnd --toolchains=toolchains.xml --settings=.azure-pipelines/maven-settings.xml" />
    +
    +          <property name="java.home" value="/usr/lib/jvm/temurin-17-jdk-amd64" />
    +
    +          <property name="user.language" value="en" />
    +
    +          <property name="java.specification.vendor" value="Oracle Corporation" />
    +
    +          <property name="java.vm.info" value="mixed mode, sharing" />
    +
    +          <property name="java.version" value="17.0.10" />
    +
    +          <property name="native.encoding" value="UTF-8" />
    +
    +          <property name="securerandom.source" value="file:/dev/./urandom" />
    +
    +          <property name="java.vendor" value="Eclipse Adoptium" />
    +
    +          <property name="maven.home" value="/home/vsts/work/1/s/.maven" />
    +
    +          <property name="file.separator" value="/" />
    +
    +          <property name="java.version.date" value="2024-01-16" />
    +
    +          <property name="java.vendor.url.bug" value="https://github.com/adoptium/adoptium-support/issues" />
    +
    +          <property name="sun.cpu.endian" value="little" />
    +
    +          <property name="sun.io.unicode.encoding" value="UnicodeLittle" />
    +
    +          <property name="sun.font.fontmanager" value="sun.awt.X11FontManager" />
    +
    +          <property name="java.vendor.version" value="Temurin-17.0.10+7" />
    +
    +      </properties>
    +
    +      <testcase classname="org.jacoco.agent.rt.internal.CoverageTransformerTest" name="testFilterExcludedClassPositive" time="0.007" />
    +
    +      <testcase classname="org.jacoco.agent.rt.internal.CoverageTransformerTest" name="testFilterExcludedClassNegative" time="0.001" />
    +
    +      <testcase classname="org.jacoco.agent.rt.internal.CoverageTransformerTest" name="testFilterIncludedClassPositive" time="0.001" />
    +
    +      <testcase classname="org.jacoco.agent.rt.internal.CoverageTransformerTest" name="testFilterIncludedClassNegative" time="0" />
    +
    +      <testcase classname="org.jacoco.agent.rt.internal.CoverageTransformerTest" name="testFilterSourceLocationNegative" time="0.001" />
    +
    +      <testcase classname="org.jacoco.agent.rt.internal.CoverageTransformerTest" name="testFilterClassLoaderPositive1" time="0" />
    +
    +      <testcase classname="org.jacoco.agent.rt.internal.CoverageTransformerTest" name="testFilterClassLoaderPositive2" time="0" />
    +
    +      <testcase classname="org.jacoco.agent.rt.internal.CoverageTransformerTest" name="testFilterSourceLocationPositive1" time="0" />
    +
    +      <testcase classname="org.jacoco.agent.rt.internal.CoverageTransformerTest" name="testFilterSourceLocationPositive2" time="0" />
    +
    +      <testcase classname="org.jacoco.agent.rt.internal.CoverageTransformerTest" name="testFilterSourceLocationPositive3" time="0.001" />
    +
    +      <testcase classname="org.jacoco.agent.rt.internal.CoverageTransformerTest" name="testFilterExcludedClassPositiveInner" time="0" />
    +
    +      <testcase classname="org.jacoco.agent.rt.internal.CoverageTransformerTest" name="testTransformFiltered1" time="0.001" />
    +
    +      <testcase classname="org.jacoco.agent.rt.internal.CoverageTransformerTest" name="testTransformFiltered2" time="0" />
    +
    +      <testcase classname="org.jacoco.agent.rt.internal.CoverageTransformerTest" name="testTransformFailure" time="0.002" />
    +
    +      <testcase classname="org.jacoco.agent.rt.internal.CoverageTransformerTest" name="testFilterClassLoaderNegative1" time="0.001" />
    +
    +      <testcase classname="org.jacoco.agent.rt.internal.CoverageTransformerTest" name="testFilterClassLoaderNegative2" time="0.002" />
    +
    +      <testcase classname="org.jacoco.agent.rt.internal.CoverageTransformerTest" name="testFilterInclBootstrapClassesPositive" time="0.001" />
    +
    +      <testcase classname="org.jacoco.agent.rt.internal.CoverageTransformerTest" name="testFilterInclBootstrapClassesNegative" time="0" />
    +
    +      <testcase classname="org.jacoco.agent.rt.internal.CoverageTransformerTest" name="testFilterAgentClass" time="0.001" />
    +
    +      <testcase classname="org.jacoco.agent.rt.internal.CoverageTransformerTest" name="testRedefinedClass" time="0" />
    +
    +  </testsuite>
    +  <testsuite errors="0" failures="0" id="6" name="FileOutputTest" package="org.jacoco.agent.rt.internal.output" skipped="1" tests="4" time="0.016" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="https://maven.apache.org/surefire/maven-surefire-plugin/xsd/surefire-test-report.xsd">
    +      <properties>
    +          <property name="jansi.mode" value="strip" />
    +
    +          <property name="java.runtime.name" value="OpenJDK Runtime Environment" />
    +
    +          <property name="java.vm.version" value="17.0.10+7" />
    +
    +          <property name="sun.boot.library.path" value="/usr/lib/jvm/temurin-17-jdk-amd64/lib" />
    +
    +          <property name="maven.multiModuleProjectDirectory" value="/home/vsts/work/1/s/org.jacoco.build" />
    +
    +          <property name="java.vm.vendor" value="Eclipse Adoptium" />
    +
    +          <property name="jdk.version" value="5" />
    +
    +          <property name="java.vendor.url" value="https://adoptium.net/" />
    +
    +          <property name="path.separator" value=":" />
    +
    +          <property name="guice.disable.misplaced.annotation.check" value="true" />
    +
    +          <property name="java.vm.name" value="OpenJDK 64-Bit Server VM" />
    +
    +          <property name="sun.java.launcher" value="SUN_STANDARD" />
    +
    +          <property name="user.dir" value="/home/vsts/work/1/s" />
    +
    +          <property name="java.vm.compressedOopsMode" value="32-bit" />
    +
    +          <property name="java.vm.specification.name" value="Java Virtual Machine Specification" />
    +
    +          <property name="java.runtime.version" value="17.0.10+7" />
    +
    +          <property name="os.arch" value="amd64" />
    +
    +          <property name="java.io.tmpdir" value="/tmp" />
    +
    +          <property name="line.separator" value="&#xa;" />
    +
    +          <property name="java.vm.specification.vendor" value="Oracle Corporation" />
    +
    +          <property name="os.name" value="Linux" />
    +
    +          <property name="classworlds.conf" value="/home/vsts/work/1/s/.maven/bin/m2.conf" />
    +
    +          <property name="sun.jnu.encoding" value="UTF-8" />
    +
    +          <property name="deployAtEnd" value="true" />
    +
    +          <property name="java.library.path" value="/usr/java/packages/lib:/usr/lib64:/lib64:/lib:/usr/lib" />
    +
    +          <property name="maven.conf" value="/home/vsts/work/1/s/.maven/conf" />
    +
    +          <property name="jdk.debug" value="release" />
    +
    +          <property name="java.class.version" value="61.0" />
    +
    +          <property name="java.specification.name" value="Java Platform API Specification" />
    +
    +          <property name="sun.management.compiler" value="HotSpot 64-Bit Tiered Compilers" />
    +
    +          <property name="os.version" value="5.15.0-1059-azure" />
    +
    +          <property name="library.jansi.path" value="/home/vsts/work/1/s/.maven/lib/jansi-native" />
    +
    +          <property name="user.home" value="/home/vsts" />
    +
    +          <property name="user.timezone" value="Etc/UTC" />
    +
    +          <property name="file.encoding" value="UTF-8" />
    +
    +          <property name="java.specification.version" value="17" />
    +
    +          <property name="java.class.path" value="/home/vsts/work/1/s/.maven/boot/plexus-classworlds-2.6.0.jar" />
    +
    +          <property name="user.name" value="vsts" />
    +
    +          <property name="bytecode.version" value="5" />
    +
    +          <property name="java.vm.specification.version" value="17" />
    +
    +          <property name="sun.arch.data.model" value="64" />
    +
    +          <property name="sun.java.command" value="org.codehaus.plexus.classworlds.launcher.Launcher -V -B -e --no-transfer-progress -f org.jacoco.build verify -Djdk.version=5 -Dbytecode.version=5 deploy:deploy -DdeployAtEnd --toolchains=toolchains.xml --settings=.azure-pipelines/maven-settings.xml" />
    +
    +          <property name="java.home" value="/usr/lib/jvm/temurin-17-jdk-amd64" />
    +
    +          <property name="user.language" value="en" />
    +
    +          <property name="java.specification.vendor" value="Oracle Corporation" />
    +
    +          <property name="java.vm.info" value="mixed mode, sharing" />
    +
    +          <property name="java.version" value="17.0.10" />
    +
    +          <property name="native.encoding" value="UTF-8" />
    +
    +          <property name="securerandom.source" value="file:/dev/./urandom" />
    +
    +          <property name="java.vendor" value="Eclipse Adoptium" />
    +
    +          <property name="maven.home" value="/home/vsts/work/1/s/.maven" />
    +
    +          <property name="file.separator" value="/" />
    +
    +          <property name="java.version.date" value="2024-01-16" />
    +
    +          <property name="java.vendor.url.bug" value="https://github.com/adoptium/adoptium-support/issues" />
    +
    +          <property name="sun.cpu.endian" value="little" />
    +
    +          <property name="sun.io.unicode.encoding" value="UnicodeLittle" />
    +
    +          <property name="sun.font.fontmanager" value="sun.awt.X11FontManager" />
    +
    +          <property name="java.vendor.version" value="Temurin-17.0.10+7" />
    +
    +      </properties>
    +
    +      <testcase classname="org.jacoco.agent.rt.internal.output.FileOutputTest" name="startup_should_create_empty_execfile" time="0.002" />
    +
    +      <testcase classname="org.jacoco.agent.rt.internal.output.FileOutputTest" name="startup_should_throw_IOException_when_execfile_cannot_be_created" time="0" />
    +
    +      <testcase classname="org.jacoco.agent.rt.internal.output.FileOutputTest" name="writeExecutionData_should_write_execdata" time="0" />
    +
    +      <testcase classname="org.jacoco.agent.rt.internal.output.FileOutputTest" name="startup_should_throw_OverlappingFileLockException_when_execfile_is_permanently_locked" time="0">
    +          <skipped />
    +
    +      </testcase>
    +
    +  </testsuite>
    +  <testsuite errors="0" failures="0" id="7" name="MockServerSocketTest" package="org.jacoco.agent.rt.internal.output" skipped="0" tests="6" time="0.072" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="https://maven.apache.org/surefire/maven-surefire-plugin/xsd/surefire-test-report.xsd">
    +      <properties>
    +          <property name="jansi.mode" value="strip" />
    +
    +          <property name="java.runtime.name" value="OpenJDK Runtime Environment" />
    +
    +          <property name="java.vm.version" value="17.0.10+7" />
    +
    +          <property name="sun.boot.library.path" value="/usr/lib/jvm/temurin-17-jdk-amd64/lib" />
    +
    +          <property name="maven.multiModuleProjectDirectory" value="/home/vsts/work/1/s/org.jacoco.build" />
    +
    +          <property name="java.vm.vendor" value="Eclipse Adoptium" />
    +
    +          <property name="jdk.version" value="5" />
    +
    +          <property name="java.vendor.url" value="https://adoptium.net/" />
    +
    +          <property name="path.separator" value=":" />
    +
    +          <property name="guice.disable.misplaced.annotation.check" value="true" />
    +
    +          <property name="java.vm.name" value="OpenJDK 64-Bit Server VM" />
    +
    +          <property name="sun.java.launcher" value="SUN_STANDARD" />
    +
    +          <property name="user.dir" value="/home/vsts/work/1/s" />
    +
    +          <property name="java.vm.compressedOopsMode" value="32-bit" />
    +
    +          <property name="java.vm.specification.name" value="Java Virtual Machine Specification" />
    +
    +          <property name="java.runtime.version" value="17.0.10+7" />
    +
    +          <property name="os.arch" value="amd64" />
    +
    +          <property name="java.io.tmpdir" value="/tmp" />
    +
    +          <property name="line.separator" value="&#xa;" />
    +
    +          <property name="java.vm.specification.vendor" value="Oracle Corporation" />
    +
    +          <property name="os.name" value="Linux" />
    +
    +          <property name="classworlds.conf" value="/home/vsts/work/1/s/.maven/bin/m2.conf" />
    +
    +          <property name="sun.jnu.encoding" value="UTF-8" />
    +
    +          <property name="deployAtEnd" value="true" />
    +
    +          <property name="java.library.path" value="/usr/java/packages/lib:/usr/lib64:/lib64:/lib:/usr/lib" />
    +
    +          <property name="maven.conf" value="/home/vsts/work/1/s/.maven/conf" />
    +
    +          <property name="jdk.debug" value="release" />
    +
    +          <property name="java.class.version" value="61.0" />
    +
    +          <property name="java.specification.name" value="Java Platform API Specification" />
    +
    +          <property name="sun.management.compiler" value="HotSpot 64-Bit Tiered Compilers" />
    +
    +          <property name="os.version" value="5.15.0-1059-azure" />
    +
    +          <property name="library.jansi.path" value="/home/vsts/work/1/s/.maven/lib/jansi-native" />
    +
    +          <property name="user.home" value="/home/vsts" />
    +
    +          <property name="user.timezone" value="Etc/UTC" />
    +
    +          <property name="file.encoding" value="UTF-8" />
    +
    +          <property name="java.specification.version" value="17" />
    +
    +          <property name="java.class.path" value="/home/vsts/work/1/s/.maven/boot/plexus-classworlds-2.6.0.jar" />
    +
    +          <property name="user.name" value="vsts" />
    +
    +          <property name="bytecode.version" value="5" />
    +
    +          <property name="java.vm.specification.version" value="17" />
    +
    +          <property name="sun.arch.data.model" value="64" />
    +
    +          <property name="sun.java.command" value="org.codehaus.plexus.classworlds.launcher.Launcher -V -B -e --no-transfer-progress -f org.jacoco.build verify -Djdk.version=5 -Dbytecode.version=5 deploy:deploy -DdeployAtEnd --toolchains=toolchains.xml --settings=.azure-pipelines/maven-settings.xml" />
    +
    +          <property name="java.home" value="/usr/lib/jvm/temurin-17-jdk-amd64" />
    +
    +          <property name="user.language" value="en" />
    +
    +          <property name="java.specification.vendor" value="Oracle Corporation" />
    +
    +          <property name="java.vm.info" value="mixed mode, sharing" />
    +
    +          <property name="java.version" value="17.0.10" />
    +
    +          <property name="native.encoding" value="UTF-8" />
    +
    +          <property name="securerandom.source" value="file:/dev/./urandom" />
    +
    +          <property name="java.vendor" value="Eclipse Adoptium" />
    +
    +          <property name="maven.home" value="/home/vsts/work/1/s/.maven" />
    +
    +          <property name="file.separator" value="/" />
    +
    +          <property name="java.version.date" value="2024-01-16" />
    +
    +          <property name="java.vendor.url.bug" value="https://github.com/adoptium/adoptium-support/issues" />
    +
    +          <property name="sun.cpu.endian" value="little" />
    +
    +          <property name="sun.io.unicode.encoding" value="UnicodeLittle" />
    +
    +          <property name="sun.font.fontmanager" value="sun.awt.X11FontManager" />
    +
    +          <property name="java.vendor.version" value="Temurin-17.0.10+7" />
    +
    +      </properties>
    +
    +      <testcase classname="org.jacoco.agent.rt.internal.output.MockServerSocketTest" name="testWaitForAccept" time="0.024" />
    +
    +      <testcase classname="org.jacoco.agent.rt.internal.output.MockServerSocketTest" name="testClose" time="0" />
    +
    +      <testcase classname="org.jacoco.agent.rt.internal.output.MockServerSocketTest" name="testCloseWhileAccept" time="0.019" />
    +
    +      <testcase classname="org.jacoco.agent.rt.internal.output.MockServerSocketTest" name="testAcceptOnClosedServerSocket" time="0" />
    +
    +      <testcase classname="org.jacoco.agent.rt.internal.output.MockServerSocketTest" name="testConnect" time="0.014" />
    +
    +      <testcase classname="org.jacoco.agent.rt.internal.output.MockServerSocketTest" name="testAccept" time="0.015" />
    +
    +  </testsuite>
    +  <testsuite errors="0" failures="0" id="8" name="MockSocketConnectionTest" package="org.jacoco.agent.rt.internal.output" skipped="0" tests="10" time="0.065" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="https://maven.apache.org/surefire/maven-surefire-plugin/xsd/surefire-test-report.xsd">
    +      <properties>
    +          <property name="jansi.mode" value="strip" />
    +
    +          <property name="java.runtime.name" value="OpenJDK Runtime Environment" />
    +
    +          <property name="java.vm.version" value="17.0.10+7" />
    +
    +          <property name="sun.boot.library.path" value="/usr/lib/jvm/temurin-17-jdk-amd64/lib" />
    +
    +          <property name="maven.multiModuleProjectDirectory" value="/home/vsts/work/1/s/org.jacoco.build" />
    +
    +          <property name="java.vm.vendor" value="Eclipse Adoptium" />
    +
    +          <property name="jdk.version" value="5" />
    +
    +          <property name="java.vendor.url" value="https://adoptium.net/" />
    +
    +          <property name="path.separator" value=":" />
    +
    +          <property name="guice.disable.misplaced.annotation.check" value="true" />
    +
    +          <property name="java.vm.name" value="OpenJDK 64-Bit Server VM" />
    +
    +          <property name="sun.java.launcher" value="SUN_STANDARD" />
    +
    +          <property name="user.dir" value="/home/vsts/work/1/s" />
    +
    +          <property name="java.vm.compressedOopsMode" value="32-bit" />
    +
    +          <property name="java.vm.specification.name" value="Java Virtual Machine Specification" />
    +
    +          <property name="java.runtime.version" value="17.0.10+7" />
    +
    +          <property name="os.arch" value="amd64" />
    +
    +          <property name="java.io.tmpdir" value="/tmp" />
    +
    +          <property name="line.separator" value="&#xa;" />
    +
    +          <property name="java.vm.specification.vendor" value="Oracle Corporation" />
    +
    +          <property name="os.name" value="Linux" />
    +
    +          <property name="classworlds.conf" value="/home/vsts/work/1/s/.maven/bin/m2.conf" />
    +
    +          <property name="sun.jnu.encoding" value="UTF-8" />
    +
    +          <property name="deployAtEnd" value="true" />
    +
    +          <property name="java.library.path" value="/usr/java/packages/lib:/usr/lib64:/lib64:/lib:/usr/lib" />
    +
    +          <property name="maven.conf" value="/home/vsts/work/1/s/.maven/conf" />
    +
    +          <property name="jdk.debug" value="release" />
    +
    +          <property name="java.class.version" value="61.0" />
    +
    +          <property name="java.specification.name" value="Java Platform API Specification" />
    +
    +          <property name="sun.management.compiler" value="HotSpot 64-Bit Tiered Compilers" />
    +
    +          <property name="os.version" value="5.15.0-1059-azure" />
    +
    +          <property name="library.jansi.path" value="/home/vsts/work/1/s/.maven/lib/jansi-native" />
    +
    +          <property name="user.home" value="/home/vsts" />
    +
    +          <property name="user.timezone" value="Etc/UTC" />
    +
    +          <property name="file.encoding" value="UTF-8" />
    +
    +          <property name="java.specification.version" value="17" />
    +
    +          <property name="java.class.path" value="/home/vsts/work/1/s/.maven/boot/plexus-classworlds-2.6.0.jar" />
    +
    +          <property name="user.name" value="vsts" />
    +
    +          <property name="bytecode.version" value="5" />
    +
    +          <property name="java.vm.specification.version" value="17" />
    +
    +          <property name="sun.arch.data.model" value="64" />
    +
    +          <property name="sun.java.command" value="org.codehaus.plexus.classworlds.launcher.Launcher -V -B -e --no-transfer-progress -f org.jacoco.build verify -Djdk.version=5 -Dbytecode.version=5 deploy:deploy -DdeployAtEnd --toolchains=toolchains.xml --settings=.azure-pipelines/maven-settings.xml" />
    +
    +          <property name="java.home" value="/usr/lib/jvm/temurin-17-jdk-amd64" />
    +
    +          <property name="user.language" value="en" />
    +
    +          <property name="java.specification.vendor" value="Oracle Corporation" />
    +
    +          <property name="java.vm.info" value="mixed mode, sharing" />
    +
    +          <property name="java.version" value="17.0.10" />
    +
    +          <property name="native.encoding" value="UTF-8" />
    +
    +          <property name="securerandom.source" value="file:/dev/./urandom" />
    +
    +          <property name="java.vendor" value="Eclipse Adoptium" />
    +
    +          <property name="maven.home" value="/home/vsts/work/1/s/.maven" />
    +
    +          <property name="file.separator" value="/" />
    +
    +          <property name="java.version.date" value="2024-01-16" />
    +
    +          <property name="java.vendor.url.bug" value="https://github.com/adoptium/adoptium-support/issues" />
    +
    +          <property name="sun.cpu.endian" value="little" />
    +
    +          <property name="sun.io.unicode.encoding" value="UnicodeLittle" />
    +
    +          <property name="sun.font.fontmanager" value="sun.awt.X11FontManager" />
    +
    +          <property name="java.vendor.version" value="Temurin-17.0.10+7" />
    +
    +      </properties>
    +
    +      <testcase classname="org.jacoco.agent.rt.internal.output.MockSocketConnectionTest" name="testReadOnClosedSocketAsync" time="0.017" />
    +
    +      <testcase classname="org.jacoco.agent.rt.internal.output.MockSocketConnectionTest" name="testGetOutputStreamOnClosedSocket" time="0" />
    +
    +      <testcase classname="org.jacoco.agent.rt.internal.output.MockSocketConnectionTest" name="testGetInputStreamOnClosedSocket" time="0" />
    +
    +      <testcase classname="org.jacoco.agent.rt.internal.output.MockSocketConnectionTest" name="testCloseOtherSocket" time="0" />
    +
    +      <testcase classname="org.jacoco.agent.rt.internal.output.MockSocketConnectionTest" name="testIsClosed" time="0" />
    +
    +      <testcase classname="org.jacoco.agent.rt.internal.output.MockSocketConnectionTest" name="testContents" time="0" />
    +
    +      <testcase classname="org.jacoco.agent.rt.internal.output.MockSocketConnectionTest" name="testCloseOtherSocketAsync" time="0.019" />
    +
    +      <testcase classname="org.jacoco.agent.rt.internal.output.MockSocketConnectionTest" name="testWaitForContents" time="0.025" />
    +
    +      <testcase classname="org.jacoco.agent.rt.internal.output.MockSocketConnectionTest" name="testWriteOnClosedSocket" time="0" />
    +
    +      <testcase classname="org.jacoco.agent.rt.internal.output.MockSocketConnectionTest" name="testReadOnClosedSocket" time="0" />
    +
    +  </testsuite>
    +  <testsuite errors="0" failures="0" id="9" name="TcpClientOutputTest" package="org.jacoco.agent.rt.internal.output" skipped="0" tests="4" time="0.043" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="https://maven.apache.org/surefire/maven-surefire-plugin/xsd/surefire-test-report.xsd">
    +      <properties>
    +          <property name="jansi.mode" value="strip" />
    +
    +          <property name="java.runtime.name" value="OpenJDK Runtime Environment" />
    +
    +          <property name="java.vm.version" value="17.0.10+7" />
    +
    +          <property name="sun.boot.library.path" value="/usr/lib/jvm/temurin-17-jdk-amd64/lib" />
    +
    +          <property name="maven.multiModuleProjectDirectory" value="/home/vsts/work/1/s/org.jacoco.build" />
    +
    +          <property name="java.vm.vendor" value="Eclipse Adoptium" />
    +
    +          <property name="jdk.version" value="5" />
    +
    +          <property name="java.vendor.url" value="https://adoptium.net/" />
    +
    +          <property name="path.separator" value=":" />
    +
    +          <property name="guice.disable.misplaced.annotation.check" value="true" />
    +
    +          <property name="java.vm.name" value="OpenJDK 64-Bit Server VM" />
    +
    +          <property name="sun.java.launcher" value="SUN_STANDARD" />
    +
    +          <property name="user.dir" value="/home/vsts/work/1/s" />
    +
    +          <property name="java.vm.compressedOopsMode" value="32-bit" />
    +
    +          <property name="java.vm.specification.name" value="Java Virtual Machine Specification" />
    +
    +          <property name="java.runtime.version" value="17.0.10+7" />
    +
    +          <property name="os.arch" value="amd64" />
    +
    +          <property name="java.io.tmpdir" value="/tmp" />
    +
    +          <property name="line.separator" value="&#xa;" />
    +
    +          <property name="java.vm.specification.vendor" value="Oracle Corporation" />
    +
    +          <property name="os.name" value="Linux" />
    +
    +          <property name="classworlds.conf" value="/home/vsts/work/1/s/.maven/bin/m2.conf" />
    +
    +          <property name="sun.jnu.encoding" value="UTF-8" />
    +
    +          <property name="deployAtEnd" value="true" />
    +
    +          <property name="java.library.path" value="/usr/java/packages/lib:/usr/lib64:/lib64:/lib:/usr/lib" />
    +
    +          <property name="maven.conf" value="/home/vsts/work/1/s/.maven/conf" />
    +
    +          <property name="jdk.debug" value="release" />
    +
    +          <property name="java.class.version" value="61.0" />
    +
    +          <property name="java.specification.name" value="Java Platform API Specification" />
    +
    +          <property name="sun.management.compiler" value="HotSpot 64-Bit Tiered Compilers" />
    +
    +          <property name="os.version" value="5.15.0-1059-azure" />
    +
    +          <property name="library.jansi.path" value="/home/vsts/work/1/s/.maven/lib/jansi-native" />
    +
    +          <property name="user.home" value="/home/vsts" />
    +
    +          <property name="user.timezone" value="Etc/UTC" />
    +
    +          <property name="file.encoding" value="UTF-8" />
    +
    +          <property name="java.specification.version" value="17" />
    +
    +          <property name="java.class.path" value="/home/vsts/work/1/s/.maven/boot/plexus-classworlds-2.6.0.jar" />
    +
    +          <property name="user.name" value="vsts" />
    +
    +          <property name="bytecode.version" value="5" />
    +
    +          <property name="java.vm.specification.version" value="17" />
    +
    +          <property name="sun.arch.data.model" value="64" />
    +
    +          <property name="sun.java.command" value="org.codehaus.plexus.classworlds.launcher.Launcher -V -B -e --no-transfer-progress -f org.jacoco.build verify -Djdk.version=5 -Dbytecode.version=5 deploy:deploy -DdeployAtEnd --toolchains=toolchains.xml --settings=.azure-pipelines/maven-settings.xml" />
    +
    +          <property name="java.home" value="/usr/lib/jvm/temurin-17-jdk-amd64" />
    +
    +          <property name="user.language" value="en" />
    +
    +          <property name="java.specification.vendor" value="Oracle Corporation" />
    +
    +          <property name="java.vm.info" value="mixed mode, sharing" />
    +
    +          <property name="java.version" value="17.0.10" />
    +
    +          <property name="native.encoding" value="UTF-8" />
    +
    +          <property name="securerandom.source" value="file:/dev/./urandom" />
    +
    +          <property name="java.vendor" value="Eclipse Adoptium" />
    +
    +          <property name="maven.home" value="/home/vsts/work/1/s/.maven" />
    +
    +          <property name="file.separator" value="/" />
    +
    +          <property name="java.version.date" value="2024-01-16" />
    +
    +          <property name="java.vendor.url.bug" value="https://github.com/adoptium/adoptium-support/issues" />
    +
    +          <property name="sun.cpu.endian" value="little" />
    +
    +          <property name="sun.io.unicode.encoding" value="UnicodeLittle" />
    +
    +          <property name="sun.font.fontmanager" value="sun.awt.X11FontManager" />
    +
    +          <property name="java.vendor.version" value="Temurin-17.0.10+7" />
    +
    +      </properties>
    +
    +      <testcase classname="org.jacoco.agent.rt.internal.output.TcpClientOutputTest" name="testWriteExecutionData" time="0.013" />
    +
    +      <testcase classname="org.jacoco.agent.rt.internal.output.TcpClientOutputTest" name="testInvalidCommand" time="0.008" />
    +
    +      <testcase classname="org.jacoco.agent.rt.internal.output.TcpClientOutputTest" name="testShutdown" time="0.009" />
    +
    +      <testcase classname="org.jacoco.agent.rt.internal.output.TcpClientOutputTest" name="testRemoteClose" time="0.011" />
    +
    +  </testsuite>
    +  <testsuite errors="0" failures="0" id="10" name="TcpConnectionTest" package="org.jacoco.agent.rt.internal.output" skipped="0" tests="8" time="0.1" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="https://maven.apache.org/surefire/maven-surefire-plugin/xsd/surefire-test-report.xsd">
    +      <properties>
    +          <property name="jansi.mode" value="strip" />
    +
    +          <property name="java.runtime.name" value="OpenJDK Runtime Environment" />
    +
    +          <property name="java.vm.version" value="17.0.10+7" />
    +
    +          <property name="sun.boot.library.path" value="/usr/lib/jvm/temurin-17-jdk-amd64/lib" />
    +
    +          <property name="maven.multiModuleProjectDirectory" value="/home/vsts/work/1/s/org.jacoco.build" />
    +
    +          <property name="java.vm.vendor" value="Eclipse Adoptium" />
    +
    +          <property name="jdk.version" value="5" />
    +
    +          <property name="java.vendor.url" value="https://adoptium.net/" />
    +
    +          <property name="path.separator" value=":" />
    +
    +          <property name="guice.disable.misplaced.annotation.check" value="true" />
    +
    +          <property name="java.vm.name" value="OpenJDK 64-Bit Server VM" />
    +
    +          <property name="sun.java.launcher" value="SUN_STANDARD" />
    +
    +          <property name="user.dir" value="/home/vsts/work/1/s" />
    +
    +          <property name="java.vm.compressedOopsMode" value="32-bit" />
    +
    +          <property name="java.vm.specification.name" value="Java Virtual Machine Specification" />
    +
    +          <property name="java.runtime.version" value="17.0.10+7" />
    +
    +          <property name="os.arch" value="amd64" />
    +
    +          <property name="java.io.tmpdir" value="/tmp" />
    +
    +          <property name="line.separator" value="&#xa;" />
    +
    +          <property name="java.vm.specification.vendor" value="Oracle Corporation" />
    +
    +          <property name="os.name" value="Linux" />
    +
    +          <property name="classworlds.conf" value="/home/vsts/work/1/s/.maven/bin/m2.conf" />
    +
    +          <property name="sun.jnu.encoding" value="UTF-8" />
    +
    +          <property name="deployAtEnd" value="true" />
    +
    +          <property name="java.library.path" value="/usr/java/packages/lib:/usr/lib64:/lib64:/lib:/usr/lib" />
    +
    +          <property name="maven.conf" value="/home/vsts/work/1/s/.maven/conf" />
    +
    +          <property name="jdk.debug" value="release" />
    +
    +          <property name="java.class.version" value="61.0" />
    +
    +          <property name="java.specification.name" value="Java Platform API Specification" />
    +
    +          <property name="sun.management.compiler" value="HotSpot 64-Bit Tiered Compilers" />
    +
    +          <property name="os.version" value="5.15.0-1059-azure" />
    +
    +          <property name="library.jansi.path" value="/home/vsts/work/1/s/.maven/lib/jansi-native" />
    +
    +          <property name="user.home" value="/home/vsts" />
    +
    +          <property name="user.timezone" value="Etc/UTC" />
    +
    +          <property name="file.encoding" value="UTF-8" />
    +
    +          <property name="java.specification.version" value="17" />
    +
    +          <property name="java.class.path" value="/home/vsts/work/1/s/.maven/boot/plexus-classworlds-2.6.0.jar" />
    +
    +          <property name="user.name" value="vsts" />
    +
    +          <property name="bytecode.version" value="5" />
    +
    +          <property name="java.vm.specification.version" value="17" />
    +
    +          <property name="sun.arch.data.model" value="64" />
    +
    +          <property name="sun.java.command" value="org.codehaus.plexus.classworlds.launcher.Launcher -V -B -e --no-transfer-progress -f org.jacoco.build verify -Djdk.version=5 -Dbytecode.version=5 deploy:deploy -DdeployAtEnd --toolchains=toolchains.xml --settings=.azure-pipelines/maven-settings.xml" />
    +
    +          <property name="java.home" value="/usr/lib/jvm/temurin-17-jdk-amd64" />
    +
    +          <property name="user.language" value="en" />
    +
    +          <property name="java.specification.vendor" value="Oracle Corporation" />
    +
    +          <property name="java.vm.info" value="mixed mode, sharing" />
    +
    +          <property name="java.version" value="17.0.10" />
    +
    +          <property name="native.encoding" value="UTF-8" />
    +
    +          <property name="securerandom.source" value="file:/dev/./urandom" />
    +
    +          <property name="java.vendor" value="Eclipse Adoptium" />
    +
    +          <property name="maven.home" value="/home/vsts/work/1/s/.maven" />
    +
    +          <property name="file.separator" value="/" />
    +
    +          <property name="java.version.date" value="2024-01-16" />
    +
    +          <property name="java.vendor.url.bug" value="https://github.com/adoptium/adoptium-support/issues" />
    +
    +          <property name="sun.cpu.endian" value="little" />
    +
    +          <property name="sun.io.unicode.encoding" value="UnicodeLittle" />
    +
    +          <property name="sun.font.fontmanager" value="sun.awt.X11FontManager" />
    +
    +          <property name="java.vendor.version" value="Temurin-17.0.10+7" />
    +
    +      </properties>
    +
    +      <testcase classname="org.jacoco.agent.rt.internal.output.TcpConnectionTest" name="testInvalidContent" time="0" />
    +
    +      <testcase classname="org.jacoco.agent.rt.internal.output.TcpConnectionTest" name="testLocalDump" time="0.019" />
    +
    +      <testcase classname="org.jacoco.agent.rt.internal.output.TcpConnectionTest" name="testRemoteDump" time="0.02" />
    +
    +      <testcase classname="org.jacoco.agent.rt.internal.output.TcpConnectionTest" name="testInvalidHeader" time="0" />
    +
    +      <testcase classname="org.jacoco.agent.rt.internal.output.TcpConnectionTest" name="testLocalClose" time="0.02" />
    +
    +      <testcase classname="org.jacoco.agent.rt.internal.output.TcpConnectionTest" name="testLocalDumpWithoutInit" time="0" />
    +
    +      <testcase classname="org.jacoco.agent.rt.internal.output.TcpConnectionTest" name="testRemoteClose" time="0.02" />
    +
    +      <testcase classname="org.jacoco.agent.rt.internal.output.TcpConnectionTest" name="testRemoteReset" time="0.018" />
    +
    +  </testsuite>
    +  <testsuite errors="0" failures="0" id="11" name="TcpServerOutputTest" package="org.jacoco.agent.rt.internal.output" skipped="0" tests="6" time="0.051" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="https://maven.apache.org/surefire/maven-surefire-plugin/xsd/surefire-test-report.xsd">
    +      <properties>
    +          <property name="jansi.mode" value="strip" />
    +
    +          <property name="java.runtime.name" value="OpenJDK Runtime Environment" />
    +
    +          <property name="java.vm.version" value="17.0.10+7" />
    +
    +          <property name="sun.boot.library.path" value="/usr/lib/jvm/temurin-17-jdk-amd64/lib" />
    +
    +          <property name="maven.multiModuleProjectDirectory" value="/home/vsts/work/1/s/org.jacoco.build" />
    +
    +          <property name="java.vm.vendor" value="Eclipse Adoptium" />
    +
    +          <property name="jdk.version" value="5" />
    +
    +          <property name="java.vendor.url" value="https://adoptium.net/" />
    +
    +          <property name="path.separator" value=":" />
    +
    +          <property name="guice.disable.misplaced.annotation.check" value="true" />
    +
    +          <property name="java.vm.name" value="OpenJDK 64-Bit Server VM" />
    +
    +          <property name="sun.java.launcher" value="SUN_STANDARD" />
    +
    +          <property name="user.dir" value="/home/vsts/work/1/s" />
    +
    +          <property name="java.vm.compressedOopsMode" value="32-bit" />
    +
    +          <property name="java.vm.specification.name" value="Java Virtual Machine Specification" />
    +
    +          <property name="java.runtime.version" value="17.0.10+7" />
    +
    +          <property name="os.arch" value="amd64" />
    +
    +          <property name="java.io.tmpdir" value="/tmp" />
    +
    +          <property name="line.separator" value="&#xa;" />
    +
    +          <property name="java.vm.specification.vendor" value="Oracle Corporation" />
    +
    +          <property name="os.name" value="Linux" />
    +
    +          <property name="classworlds.conf" value="/home/vsts/work/1/s/.maven/bin/m2.conf" />
    +
    +          <property name="sun.jnu.encoding" value="UTF-8" />
    +
    +          <property name="deployAtEnd" value="true" />
    +
    +          <property name="java.library.path" value="/usr/java/packages/lib:/usr/lib64:/lib64:/lib:/usr/lib" />
    +
    +          <property name="maven.conf" value="/home/vsts/work/1/s/.maven/conf" />
    +
    +          <property name="jdk.debug" value="release" />
    +
    +          <property name="java.class.version" value="61.0" />
    +
    +          <property name="java.specification.name" value="Java Platform API Specification" />
    +
    +          <property name="sun.management.compiler" value="HotSpot 64-Bit Tiered Compilers" />
    +
    +          <property name="os.version" value="5.15.0-1059-azure" />
    +
    +          <property name="library.jansi.path" value="/home/vsts/work/1/s/.maven/lib/jansi-native" />
    +
    +          <property name="user.home" value="/home/vsts" />
    +
    +          <property name="user.timezone" value="Etc/UTC" />
    +
    +          <property name="file.encoding" value="UTF-8" />
    +
    +          <property name="java.specification.version" value="17" />
    +
    +          <property name="java.class.path" value="/home/vsts/work/1/s/.maven/boot/plexus-classworlds-2.6.0.jar" />
    +
    +          <property name="user.name" value="vsts" />
    +
    +          <property name="bytecode.version" value="5" />
    +
    +          <property name="java.vm.specification.version" value="17" />
    +
    +          <property name="sun.arch.data.model" value="64" />
    +
    +          <property name="sun.java.command" value="org.codehaus.plexus.classworlds.launcher.Launcher -V -B -e --no-transfer-progress -f org.jacoco.build verify -Djdk.version=5 -Dbytecode.version=5 deploy:deploy -DdeployAtEnd --toolchains=toolchains.xml --settings=.azure-pipelines/maven-settings.xml" />
    +
    +          <property name="java.home" value="/usr/lib/jvm/temurin-17-jdk-amd64" />
    +
    +          <property name="user.language" value="en" />
    +
    +          <property name="java.specification.vendor" value="Oracle Corporation" />
    +
    +          <property name="java.vm.info" value="mixed mode, sharing" />
    +
    +          <property name="java.version" value="17.0.10" />
    +
    +          <property name="native.encoding" value="UTF-8" />
    +
    +          <property name="securerandom.source" value="file:/dev/./urandom" />
    +
    +          <property name="java.vendor" value="Eclipse Adoptium" />
    +
    +          <property name="maven.home" value="/home/vsts/work/1/s/.maven" />
    +
    +          <property name="file.separator" value="/" />
    +
    +          <property name="java.version.date" value="2024-01-16" />
    +
    +          <property name="java.vendor.url.bug" value="https://github.com/adoptium/adoptium-support/issues" />
    +
    +          <property name="sun.cpu.endian" value="little" />
    +
    +          <property name="sun.io.unicode.encoding" value="UnicodeLittle" />
    +
    +          <property name="sun.font.fontmanager" value="sun.awt.X11FontManager" />
    +
    +          <property name="java.vendor.version" value="Temurin-17.0.10+7" />
    +
    +      </properties>
    +
    +      <testcase classname="org.jacoco.agent.rt.internal.output.TcpServerOutputTest" name="testWriteExecutionData" time="0.009" />
    +
    +      <testcase classname="org.jacoco.agent.rt.internal.output.TcpServerOutputTest" name="testShutdownWithConnection" time="0.008" />
    +
    +      <testcase classname="org.jacoco.agent.rt.internal.output.TcpServerOutputTest" name="testGetInetAddressAny" time="0.007" />
    +
    +      <testcase classname="org.jacoco.agent.rt.internal.output.TcpServerOutputTest" name="testShutdownWithoutConnection" time="0.008" />
    +
    +      <testcase classname="org.jacoco.agent.rt.internal.output.TcpServerOutputTest" name="testInvalidHeader" time="0.008" />
    +
    +      <testcase classname="org.jacoco.agent.rt.internal.output.TcpServerOutputTest" name="testGetInetAddressLoopback" time="0.011" />
    +
    +  </testsuite>
    +  <testsuite errors="0" failures="0" id="12" name="AgentTaskTest" package="org.jacoco.ant" skipped="0" tests="5" time="0.207" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="https://maven.apache.org/surefire/maven-surefire-plugin/xsd/surefire-test-report.xsd">
    +      <properties>
    +          <property name="jansi.mode" value="strip" />
    +
    +          <property name="java.runtime.name" value="OpenJDK Runtime Environment" />
    +
    +          <property name="java.vm.version" value="17.0.10+7" />
    +
    +          <property name="sun.boot.library.path" value="/usr/lib/jvm/temurin-17-jdk-amd64/lib" />
    +
    +          <property name="maven.multiModuleProjectDirectory" value="/home/vsts/work/1/s/org.jacoco.build" />
    +
    +          <property name="java.vm.vendor" value="Eclipse Adoptium" />
    +
    +          <property name="jdk.version" value="5" />
    +
    +          <property name="java.vendor.url" value="https://adoptium.net/" />
    +
    +          <property name="path.separator" value=":" />
    +
    +          <property name="guice.disable.misplaced.annotation.check" value="true" />
    +
    +          <property name="java.vm.name" value="OpenJDK 64-Bit Server VM" />
    +
    +          <property name="sun.java.launcher" value="SUN_STANDARD" />
    +
    +          <property name="user.dir" value="/home/vsts/work/1/s" />
    +
    +          <property name="java.vm.compressedOopsMode" value="32-bit" />
    +
    +          <property name="java.vm.specification.name" value="Java Virtual Machine Specification" />
    +
    +          <property name="java.runtime.version" value="17.0.10+7" />
    +
    +          <property name="os.arch" value="amd64" />
    +
    +          <property name="java.io.tmpdir" value="/tmp" />
    +
    +          <property name="line.separator" value="&#xa;" />
    +
    +          <property name="java.vm.specification.vendor" value="Oracle Corporation" />
    +
    +          <property name="os.name" value="Linux" />
    +
    +          <property name="classworlds.conf" value="/home/vsts/work/1/s/.maven/bin/m2.conf" />
    +
    +          <property name="sun.jnu.encoding" value="UTF-8" />
    +
    +          <property name="deployAtEnd" value="true" />
    +
    +          <property name="java.library.path" value="/usr/java/packages/lib:/usr/lib64:/lib64:/lib:/usr/lib" />
    +
    +          <property name="maven.conf" value="/home/vsts/work/1/s/.maven/conf" />
    +
    +          <property name="jdk.debug" value="release" />
    +
    +          <property name="java.class.version" value="61.0" />
    +
    +          <property name="java.specification.name" value="Java Platform API Specification" />
    +
    +          <property name="sun.management.compiler" value="HotSpot 64-Bit Tiered Compilers" />
    +
    +          <property name="os.version" value="5.15.0-1059-azure" />
    +
    +          <property name="library.jansi.path" value="/home/vsts/work/1/s/.maven/lib/jansi-native" />
    +
    +          <property name="user.home" value="/home/vsts" />
    +
    +          <property name="user.timezone" value="Etc/UTC" />
    +
    +          <property name="file.encoding" value="UTF-8" />
    +
    +          <property name="java.specification.version" value="17" />
    +
    +          <property name="java.class.path" value="/home/vsts/work/1/s/.maven/boot/plexus-classworlds-2.6.0.jar" />
    +
    +          <property name="user.name" value="vsts" />
    +
    +          <property name="bytecode.version" value="5" />
    +
    +          <property name="java.vm.specification.version" value="17" />
    +
    +          <property name="sun.arch.data.model" value="64" />
    +
    +          <property name="sun.java.command" value="org.codehaus.plexus.classworlds.launcher.Launcher -V -B -e --no-transfer-progress -f org.jacoco.build verify -Djdk.version=5 -Dbytecode.version=5 deploy:deploy -DdeployAtEnd --toolchains=toolchains.xml --settings=.azure-pipelines/maven-settings.xml" />
    +
    +          <property name="java.home" value="/usr/lib/jvm/temurin-17-jdk-amd64" />
    +
    +          <property name="user.language" value="en" />
    +
    +          <property name="java.specification.vendor" value="Oracle Corporation" />
    +
    +          <property name="java.vm.info" value="mixed mode, sharing" />
    +
    +          <property name="java.version" value="17.0.10" />
    +
    +          <property name="native.encoding" value="UTF-8" />
    +
    +          <property name="securerandom.source" value="file:/dev/./urandom" />
    +
    +          <property name="java.vendor" value="Eclipse Adoptium" />
    +
    +          <property name="maven.home" value="/home/vsts/work/1/s/.maven" />
    +
    +          <property name="file.separator" value="/" />
    +
    +          <property name="java.version.date" value="2024-01-16" />
    +
    +          <property name="java.vendor.url.bug" value="https://github.com/adoptium/adoptium-support/issues" />
    +
    +          <property name="sun.cpu.endian" value="little" />
    +
    +          <property name="sun.io.unicode.encoding" value="UnicodeLittle" />
    +
    +          <property name="sun.font.fontmanager" value="sun.awt.X11FontManager" />
    +
    +          <property name="java.vendor.version" value="Temurin-17.0.10+7" />
    +
    +      </properties>
    +
    +      <testcase classname="org.jacoco.ant.AgentTaskTest" name="testCoverageAgentWithEmptyProperty [src/org/jacoco/ant/AgentTaskTest.xml]" time="0.043" />
    +
    +      <testcase classname="org.jacoco.ant.AgentTaskTest" name="testCoverageAgent [src/org/jacoco/ant/AgentTaskTest.xml]" time="0.05" />
    +
    +      <testcase classname="org.jacoco.ant.AgentTaskTest" name="testCoverageAgentReuseAgentJar [src/org/jacoco/ant/AgentTaskTest.xml]" time="0.037" />
    +
    +      <testcase classname="org.jacoco.ant.AgentTaskTest" name="testCoverageAgentWithNoProperty [src/org/jacoco/ant/AgentTaskTest.xml]" time="0.035" />
    +
    +      <testcase classname="org.jacoco.ant.AgentTaskTest" name="testCoverageAgentDisabled [src/org/jacoco/ant/AgentTaskTest.xml]" time="0.032" />
    +
    +  </testsuite>
    +  <testsuite errors="0" failures="0" id="13" name="AntFilesLocatorTest" package="org.jacoco.ant" skipped="0" tests="2" time="0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="https://maven.apache.org/surefire/maven-surefire-plugin/xsd/surefire-test-report.xsd">
    +      <properties>
    +          <property name="jansi.mode" value="strip" />
    +
    +          <property name="java.runtime.name" value="OpenJDK Runtime Environment" />
    +
    +          <property name="java.vm.version" value="17.0.10+7" />
    +
    +          <property name="sun.boot.library.path" value="/usr/lib/jvm/temurin-17-jdk-amd64/lib" />
    +
    +          <property name="maven.multiModuleProjectDirectory" value="/home/vsts/work/1/s/org.jacoco.build" />
    +
    +          <property name="java.vm.vendor" value="Eclipse Adoptium" />
    +
    +          <property name="jdk.version" value="5" />
    +
    +          <property name="java.vendor.url" value="https://adoptium.net/" />
    +
    +          <property name="path.separator" value=":" />
    +
    +          <property name="guice.disable.misplaced.annotation.check" value="true" />
    +
    +          <property name="java.vm.name" value="OpenJDK 64-Bit Server VM" />
    +
    +          <property name="sun.java.launcher" value="SUN_STANDARD" />
    +
    +          <property name="user.dir" value="/home/vsts/work/1/s" />
    +
    +          <property name="java.vm.compressedOopsMode" value="32-bit" />
    +
    +          <property name="java.vm.specification.name" value="Java Virtual Machine Specification" />
    +
    +          <property name="java.runtime.version" value="17.0.10+7" />
    +
    +          <property name="os.arch" value="amd64" />
    +
    +          <property name="java.io.tmpdir" value="/tmp" />
    +
    +          <property name="line.separator" value="&#xa;" />
    +
    +          <property name="java.vm.specification.vendor" value="Oracle Corporation" />
    +
    +          <property name="os.name" value="Linux" />
    +
    +          <property name="classworlds.conf" value="/home/vsts/work/1/s/.maven/bin/m2.conf" />
    +
    +          <property name="sun.jnu.encoding" value="UTF-8" />
    +
    +          <property name="deployAtEnd" value="true" />
    +
    +          <property name="java.library.path" value="/usr/java/packages/lib:/usr/lib64:/lib64:/lib:/usr/lib" />
    +
    +          <property name="maven.conf" value="/home/vsts/work/1/s/.maven/conf" />
    +
    +          <property name="jdk.debug" value="release" />
    +
    +          <property name="java.class.version" value="61.0" />
    +
    +          <property name="java.specification.name" value="Java Platform API Specification" />
    +
    +          <property name="sun.management.compiler" value="HotSpot 64-Bit Tiered Compilers" />
    +
    +          <property name="os.version" value="5.15.0-1059-azure" />
    +
    +          <property name="library.jansi.path" value="/home/vsts/work/1/s/.maven/lib/jansi-native" />
    +
    +          <property name="user.home" value="/home/vsts" />
    +
    +          <property name="user.timezone" value="Etc/UTC" />
    +
    +          <property name="file.encoding" value="UTF-8" />
    +
    +          <property name="java.specification.version" value="17" />
    +
    +          <property name="java.class.path" value="/home/vsts/work/1/s/.maven/boot/plexus-classworlds-2.6.0.jar" />
    +
    +          <property name="user.name" value="vsts" />
    +
    +          <property name="bytecode.version" value="5" />
    +
    +          <property name="java.vm.specification.version" value="17" />
    +
    +          <property name="sun.arch.data.model" value="64" />
    +
    +          <property name="sun.java.command" value="org.codehaus.plexus.classworlds.launcher.Launcher -V -B -e --no-transfer-progress -f org.jacoco.build verify -Djdk.version=5 -Dbytecode.version=5 deploy:deploy -DdeployAtEnd --toolchains=toolchains.xml --settings=.azure-pipelines/maven-settings.xml" />
    +
    +          <property name="java.home" value="/usr/lib/jvm/temurin-17-jdk-amd64" />
    +
    +          <property name="user.language" value="en" />
    +
    +          <property name="java.specification.vendor" value="Oracle Corporation" />
    +
    +          <property name="java.vm.info" value="mixed mode, sharing" />
    +
    +          <property name="java.version" value="17.0.10" />
    +
    +          <property name="native.encoding" value="UTF-8" />
    +
    +          <property name="securerandom.source" value="file:/dev/./urandom" />
    +
    +          <property name="java.vendor" value="Eclipse Adoptium" />
    +
    +          <property name="maven.home" value="/home/vsts/work/1/s/.maven" />
    +
    +          <property name="file.separator" value="/" />
    +
    +          <property name="java.version.date" value="2024-01-16" />
    +
    +          <property name="java.vendor.url.bug" value="https://github.com/adoptium/adoptium-support/issues" />
    +
    +          <property name="sun.cpu.endian" value="little" />
    +
    +          <property name="sun.io.unicode.encoding" value="UnicodeLittle" />
    +
    +          <property name="sun.font.fontmanager" value="sun.awt.X11FontManager" />
    +
    +          <property name="java.vendor.version" value="Temurin-17.0.10+7" />
    +
    +      </properties>
    +
    +      <testcase classname="org.jacoco.ant.AntFilesLocatorTest" name="testGetSourceFileNegative" time="0" />
    +
    +      <testcase classname="org.jacoco.ant.AntFilesLocatorTest" name="testGetSourceFile" time="0" />
    +
    +  </testsuite>
    +  <testsuite errors="0" failures="0" id="14" name="AntResourcesLocatorTest" package="org.jacoco.ant" skipped="0" tests="7" time="0.02" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="https://maven.apache.org/surefire/maven-surefire-plugin/xsd/surefire-test-report.xsd">
    +      <properties>
    +          <property name="jansi.mode" value="strip" />
    +
    +          <property name="java.runtime.name" value="OpenJDK Runtime Environment" />
    +
    +          <property name="java.vm.version" value="17.0.10+7" />
    +
    +          <property name="sun.boot.library.path" value="/usr/lib/jvm/temurin-17-jdk-amd64/lib" />
    +
    +          <property name="maven.multiModuleProjectDirectory" value="/home/vsts/work/1/s/org.jacoco.build" />
    +
    +          <property name="java.vm.vendor" value="Eclipse Adoptium" />
    +
    +          <property name="jdk.version" value="5" />
    +
    +          <property name="java.vendor.url" value="https://adoptium.net/" />
    +
    +          <property name="path.separator" value=":" />
    +
    +          <property name="guice.disable.misplaced.annotation.check" value="true" />
    +
    +          <property name="java.vm.name" value="OpenJDK 64-Bit Server VM" />
    +
    +          <property name="sun.java.launcher" value="SUN_STANDARD" />
    +
    +          <property name="user.dir" value="/home/vsts/work/1/s" />
    +
    +          <property name="java.vm.compressedOopsMode" value="32-bit" />
    +
    +          <property name="java.vm.specification.name" value="Java Virtual Machine Specification" />
    +
    +          <property name="java.runtime.version" value="17.0.10+7" />
    +
    +          <property name="os.arch" value="amd64" />
    +
    +          <property name="java.io.tmpdir" value="/tmp" />
    +
    +          <property name="line.separator" value="&#xa;" />
    +
    +          <property name="java.vm.specification.vendor" value="Oracle Corporation" />
    +
    +          <property name="os.name" value="Linux" />
    +
    +          <property name="classworlds.conf" value="/home/vsts/work/1/s/.maven/bin/m2.conf" />
    +
    +          <property name="sun.jnu.encoding" value="UTF-8" />
    +
    +          <property name="deployAtEnd" value="true" />
    +
    +          <property name="java.library.path" value="/usr/java/packages/lib:/usr/lib64:/lib64:/lib:/usr/lib" />
    +
    +          <property name="maven.conf" value="/home/vsts/work/1/s/.maven/conf" />
    +
    +          <property name="jdk.debug" value="release" />
    +
    +          <property name="java.class.version" value="61.0" />
    +
    +          <property name="java.specification.name" value="Java Platform API Specification" />
    +
    +          <property name="sun.management.compiler" value="HotSpot 64-Bit Tiered Compilers" />
    +
    +          <property name="os.version" value="5.15.0-1059-azure" />
    +
    +          <property name="library.jansi.path" value="/home/vsts/work/1/s/.maven/lib/jansi-native" />
    +
    +          <property name="user.home" value="/home/vsts" />
    +
    +          <property name="user.timezone" value="Etc/UTC" />
    +
    +          <property name="file.encoding" value="UTF-8" />
    +
    +          <property name="java.specification.version" value="17" />
    +
    +          <property name="java.class.path" value="/home/vsts/work/1/s/.maven/boot/plexus-classworlds-2.6.0.jar" />
    +
    +          <property name="user.name" value="vsts" />
    +
    +          <property name="bytecode.version" value="5" />
    +
    +          <property name="java.vm.specification.version" value="17" />
    +
    +          <property name="sun.arch.data.model" value="64" />
    +
    +          <property name="sun.java.command" value="org.codehaus.plexus.classworlds.launcher.Launcher -V -B -e --no-transfer-progress -f org.jacoco.build verify -Djdk.version=5 -Dbytecode.version=5 deploy:deploy -DdeployAtEnd --toolchains=toolchains.xml --settings=.azure-pipelines/maven-settings.xml" />
    +
    +          <property name="java.home" value="/usr/lib/jvm/temurin-17-jdk-amd64" />
    +
    +          <property name="user.language" value="en" />
    +
    +          <property name="java.specification.vendor" value="Oracle Corporation" />
    +
    +          <property name="java.vm.info" value="mixed mode, sharing" />
    +
    +          <property name="java.version" value="17.0.10" />
    +
    +          <property name="native.encoding" value="UTF-8" />
    +
    +          <property name="securerandom.source" value="file:/dev/./urandom" />
    +
    +          <property name="java.vendor" value="Eclipse Adoptium" />
    +
    +          <property name="maven.home" value="/home/vsts/work/1/s/.maven" />
    +
    +          <property name="file.separator" value="/" />
    +
    +          <property name="java.version.date" value="2024-01-16" />
    +
    +          <property name="java.vendor.url.bug" value="https://github.com/adoptium/adoptium-support/issues" />
    +
    +          <property name="sun.cpu.endian" value="little" />
    +
    +          <property name="sun.io.unicode.encoding" value="UnicodeLittle" />
    +
    +          <property name="sun.font.fontmanager" value="sun.awt.X11FontManager" />
    +
    +          <property name="java.vendor.version" value="Temurin-17.0.10+7" />
    +
    +      </properties>
    +
    +      <testcase classname="org.jacoco.ant.AntResourcesLocatorTest" name="testEmpty" time="0.004" />
    +
    +      <testcase classname="org.jacoco.ant.AntResourcesLocatorTest" name="testFile" time="0.001" />
    +
    +      <testcase classname="org.jacoco.ant.AntResourcesLocatorTest" name="testDirectory" time="0.001" />
    +
    +      <testcase classname="org.jacoco.ant.AntResourcesLocatorTest" name="testFilePrecedence" time="0.001" />
    +
    +      <testcase classname="org.jacoco.ant.AntResourcesLocatorTest" name="testDirectoryOrdering" time="0.01" />
    +
    +      <testcase classname="org.jacoco.ant.AntResourcesLocatorTest" name="testGetTabWidth" time="0.001" />
    +
    +      <testcase classname="org.jacoco.ant.AntResourcesLocatorTest" name="testAddAll" time="0.001" />
    +
    +  </testsuite>
    +  <testsuite errors="0" failures="0" id="15" name="CoverageTaskTest" package="org.jacoco.ant" skipped="0" tests="13" time="2.285" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="https://maven.apache.org/surefire/maven-surefire-plugin/xsd/surefire-test-report.xsd">
    +      <properties>
    +          <property name="jansi.mode" value="strip" />
    +
    +          <property name="java.runtime.name" value="OpenJDK Runtime Environment" />
    +
    +          <property name="java.vm.version" value="17.0.10+7" />
    +
    +          <property name="sun.boot.library.path" value="/usr/lib/jvm/temurin-17-jdk-amd64/lib" />
    +
    +          <property name="maven.multiModuleProjectDirectory" value="/home/vsts/work/1/s/org.jacoco.build" />
    +
    +          <property name="java.vm.vendor" value="Eclipse Adoptium" />
    +
    +          <property name="jdk.version" value="5" />
    +
    +          <property name="java.vendor.url" value="https://adoptium.net/" />
    +
    +          <property name="path.separator" value=":" />
    +
    +          <property name="guice.disable.misplaced.annotation.check" value="true" />
    +
    +          <property name="java.vm.name" value="OpenJDK 64-Bit Server VM" />
    +
    +          <property name="sun.java.launcher" value="SUN_STANDARD" />
    +
    +          <property name="user.dir" value="/home/vsts/work/1/s" />
    +
    +          <property name="java.vm.compressedOopsMode" value="32-bit" />
    +
    +          <property name="java.vm.specification.name" value="Java Virtual Machine Specification" />
    +
    +          <property name="java.runtime.version" value="17.0.10+7" />
    +
    +          <property name="os.arch" value="amd64" />
    +
    +          <property name="java.io.tmpdir" value="/tmp" />
    +
    +          <property name="line.separator" value="&#xa;" />
    +
    +          <property name="java.vm.specification.vendor" value="Oracle Corporation" />
    +
    +          <property name="os.name" value="Linux" />
    +
    +          <property name="classworlds.conf" value="/home/vsts/work/1/s/.maven/bin/m2.conf" />
    +
    +          <property name="sun.jnu.encoding" value="UTF-8" />
    +
    +          <property name="deployAtEnd" value="true" />
    +
    +          <property name="java.library.path" value="/usr/java/packages/lib:/usr/lib64:/lib64:/lib:/usr/lib" />
    +
    +          <property name="maven.conf" value="/home/vsts/work/1/s/.maven/conf" />
    +
    +          <property name="jdk.debug" value="release" />
    +
    +          <property name="java.class.version" value="61.0" />
    +
    +          <property name="java.specification.name" value="Java Platform API Specification" />
    +
    +          <property name="sun.management.compiler" value="HotSpot 64-Bit Tiered Compilers" />
    +
    +          <property name="os.version" value="5.15.0-1059-azure" />
    +
    +          <property name="library.jansi.path" value="/home/vsts/work/1/s/.maven/lib/jansi-native" />
    +
    +          <property name="user.home" value="/home/vsts" />
    +
    +          <property name="user.timezone" value="Etc/UTC" />
    +
    +          <property name="file.encoding" value="UTF-8" />
    +
    +          <property name="java.specification.version" value="17" />
    +
    +          <property name="java.class.path" value="/home/vsts/work/1/s/.maven/boot/plexus-classworlds-2.6.0.jar" />
    +
    +          <property name="user.name" value="vsts" />
    +
    +          <property name="bytecode.version" value="5" />
    +
    +          <property name="java.vm.specification.version" value="17" />
    +
    +          <property name="sun.arch.data.model" value="64" />
    +
    +          <property name="sun.java.command" value="org.codehaus.plexus.classworlds.launcher.Launcher -V -B -e --no-transfer-progress -f org.jacoco.build verify -Djdk.version=5 -Dbytecode.version=5 deploy:deploy -DdeployAtEnd --toolchains=toolchains.xml --settings=.azure-pipelines/maven-settings.xml" />
    +
    +          <property name="java.home" value="/usr/lib/jvm/temurin-17-jdk-amd64" />
    +
    +          <property name="user.language" value="en" />
    +
    +          <property name="java.specification.vendor" value="Oracle Corporation" />
    +
    +          <property name="java.vm.info" value="mixed mode, sharing" />
    +
    +          <property name="java.version" value="17.0.10" />
    +
    +          <property name="native.encoding" value="UTF-8" />
    +
    +          <property name="securerandom.source" value="file:/dev/./urandom" />
    +
    +          <property name="java.vendor" value="Eclipse Adoptium" />
    +
    +          <property name="maven.home" value="/home/vsts/work/1/s/.maven" />
    +
    +          <property name="file.separator" value="/" />
    +
    +          <property name="java.version.date" value="2024-01-16" />
    +
    +          <property name="java.vendor.url.bug" value="https://github.com/adoptium/adoptium-support/issues" />
    +
    +          <property name="sun.cpu.endian" value="little" />
    +
    +          <property name="sun.io.unicode.encoding" value="UnicodeLittle" />
    +
    +          <property name="sun.font.fontmanager" value="sun.awt.X11FontManager" />
    +
    +          <property name="java.vendor.version" value="Temurin-17.0.10+7" />
    +
    +      </properties>
    +
    +      <testcase classname="org.jacoco.ant.CoverageTaskTest" name="testCoverageOfForkedJavaDisabled [src/org/jacoco/ant/CoverageTaskTest.xml]" time="0.081" />
    +
    +      <testcase classname="org.jacoco.ant.CoverageTaskTest" name="testCoverageOfForkedJavaWithVariable [src/org/jacoco/ant/CoverageTaskTest.xml]" time="0.22" />
    +
    +      <testcase classname="org.jacoco.ant.CoverageTaskTest" name="testNoSubTasks [src/org/jacoco/ant/CoverageTaskTest.xml]" time="0.073" />
    +
    +      <testcase classname="org.jacoco.ant.CoverageTaskTest" name="testCoverageOfForkedJava [src/org/jacoco/ant/CoverageTaskTest.xml]" time="0.203" />
    +
    +      <testcase classname="org.jacoco.ant.CoverageTaskTest" name="testInvalidSubTask [src/org/jacoco/ant/CoverageTaskTest.xml]" time="0.034" />
    +
    +      <testcase classname="org.jacoco.ant.CoverageTaskTest" name="testInclBootstrapClasses [src/org/jacoco/ant/CoverageTaskTest.xml]" time="0.278" />
    +
    +      <testcase classname="org.jacoco.ant.CoverageTaskTest" name="testIllegalReflectiveAccess [src/org/jacoco/ant/CoverageTaskTest.xml]" time="0.162" />
    +
    +      <testcase classname="org.jacoco.ant.CoverageTaskTest" name="testSecurityManager [src/org/jacoco/ant/CoverageTaskTest.xml]" time="0.234" />
    +
    +      <testcase classname="org.jacoco.ant.CoverageTaskTest" name="testCoverageOfNonForkedJava [src/org/jacoco/ant/CoverageTaskTest.xml]" time="0.033" />
    +
    +      <testcase classname="org.jacoco.ant.CoverageTaskTest" name="testMultipleSubTasks [src/org/jacoco/ant/CoverageTaskTest.xml]" time="0.036" />
    +
    +      <testcase classname="org.jacoco.ant.CoverageTaskTest" name="testCoverageOfForkedJUnit [src/org/jacoco/ant/CoverageTaskTest.xml]" time="0.658" />
    +
    +      <testcase classname="org.jacoco.ant.CoverageTaskTest" name="testCoverageOfForkedJUnitDisabled [src/org/jacoco/ant/CoverageTaskTest.xml]" time="0.182" />
    +
    +      <testcase classname="org.jacoco.ant.CoverageTaskTest" name="testCoverageOfNonForkedJUnit [src/org/jacoco/ant/CoverageTaskTest.xml]" time="0.035" />
    +
    +  </testsuite>
    +  <testsuite errors="0" failures="0" id="16" name="DumpTaskTest" package="org.jacoco.ant" skipped="0" tests="4" time="0.323" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="https://maven.apache.org/surefire/maven-surefire-plugin/xsd/surefire-test-report.xsd">
    +      <properties>
    +          <property name="jansi.mode" value="strip" />
    +
    +          <property name="java.runtime.name" value="OpenJDK Runtime Environment" />
    +
    +          <property name="java.vm.version" value="17.0.10+7" />
    +
    +          <property name="sun.boot.library.path" value="/usr/lib/jvm/temurin-17-jdk-amd64/lib" />
    +
    +          <property name="maven.multiModuleProjectDirectory" value="/home/vsts/work/1/s/org.jacoco.build" />
    +
    +          <property name="java.vm.vendor" value="Eclipse Adoptium" />
    +
    +          <property name="jdk.version" value="5" />
    +
    +          <property name="java.vendor.url" value="https://adoptium.net/" />
    +
    +          <property name="path.separator" value=":" />
    +
    +          <property name="guice.disable.misplaced.annotation.check" value="true" />
    +
    +          <property name="java.vm.name" value="OpenJDK 64-Bit Server VM" />
    +
    +          <property name="sun.java.launcher" value="SUN_STANDARD" />
    +
    +          <property name="user.dir" value="/home/vsts/work/1/s" />
    +
    +          <property name="java.vm.compressedOopsMode" value="32-bit" />
    +
    +          <property name="java.vm.specification.name" value="Java Virtual Machine Specification" />
    +
    +          <property name="java.runtime.version" value="17.0.10+7" />
    +
    +          <property name="os.arch" value="amd64" />
    +
    +          <property name="java.io.tmpdir" value="/tmp" />
    +
    +          <property name="line.separator" value="&#xa;" />
    +
    +          <property name="java.vm.specification.vendor" value="Oracle Corporation" />
    +
    +          <property name="os.name" value="Linux" />
    +
    +          <property name="classworlds.conf" value="/home/vsts/work/1/s/.maven/bin/m2.conf" />
    +
    +          <property name="sun.jnu.encoding" value="UTF-8" />
    +
    +          <property name="deployAtEnd" value="true" />
    +
    +          <property name="java.library.path" value="/usr/java/packages/lib:/usr/lib64:/lib64:/lib:/usr/lib" />
    +
    +          <property name="maven.conf" value="/home/vsts/work/1/s/.maven/conf" />
    +
    +          <property name="jdk.debug" value="release" />
    +
    +          <property name="java.class.version" value="61.0" />
    +
    +          <property name="java.specification.name" value="Java Platform API Specification" />
    +
    +          <property name="sun.management.compiler" value="HotSpot 64-Bit Tiered Compilers" />
    +
    +          <property name="os.version" value="5.15.0-1059-azure" />
    +
    +          <property name="library.jansi.path" value="/home/vsts/work/1/s/.maven/lib/jansi-native" />
    +
    +          <property name="user.home" value="/home/vsts" />
    +
    +          <property name="user.timezone" value="Etc/UTC" />
    +
    +          <property name="file.encoding" value="UTF-8" />
    +
    +          <property name="java.specification.version" value="17" />
    +
    +          <property name="java.class.path" value="/home/vsts/work/1/s/.maven/boot/plexus-classworlds-2.6.0.jar" />
    +
    +          <property name="user.name" value="vsts" />
    +
    +          <property name="bytecode.version" value="5" />
    +
    +          <property name="java.vm.specification.version" value="17" />
    +
    +          <property name="sun.arch.data.model" value="64" />
    +
    +          <property name="sun.java.command" value="org.codehaus.plexus.classworlds.launcher.Launcher -V -B -e --no-transfer-progress -f org.jacoco.build verify -Djdk.version=5 -Dbytecode.version=5 deploy:deploy -DdeployAtEnd --toolchains=toolchains.xml --settings=.azure-pipelines/maven-settings.xml" />
    +
    +          <property name="java.home" value="/usr/lib/jvm/temurin-17-jdk-amd64" />
    +
    +          <property name="user.language" value="en" />
    +
    +          <property name="java.specification.vendor" value="Oracle Corporation" />
    +
    +          <property name="java.vm.info" value="mixed mode, sharing" />
    +
    +          <property name="java.version" value="17.0.10" />
    +
    +          <property name="native.encoding" value="UTF-8" />
    +
    +          <property name="securerandom.source" value="file:/dev/./urandom" />
    +
    +          <property name="java.vendor" value="Eclipse Adoptium" />
    +
    +          <property name="maven.home" value="/home/vsts/work/1/s/.maven" />
    +
    +          <property name="file.separator" value="/" />
    +
    +          <property name="java.version.date" value="2024-01-16" />
    +
    +          <property name="java.vendor.url.bug" value="https://github.com/adoptium/adoptium-support/issues" />
    +
    +          <property name="sun.cpu.endian" value="little" />
    +
    +          <property name="sun.io.unicode.encoding" value="UnicodeLittle" />
    +
    +          <property name="sun.font.fontmanager" value="sun.awt.X11FontManager" />
    +
    +          <property name="java.vendor.version" value="Temurin-17.0.10+7" />
    +
    +      </properties>
    +
    +      <testcase classname="org.jacoco.ant.DumpTaskTest" name="testUnknownHost [src/org/jacoco/ant/DumpTaskTest.xml]" time="0.066" />
    +
    +      <testcase classname="org.jacoco.ant.DumpTaskTest" name="testInvalidPort [src/org/jacoco/ant/DumpTaskTest.xml]" time="0.103" />
    +
    +      <testcase classname="org.jacoco.ant.DumpTaskTest" name="testNoDestFile [src/org/jacoco/ant/DumpTaskTest.xml]" time="0.076" />
    +
    +      <testcase classname="org.jacoco.ant.DumpTaskTest" name="testNoServer [src/org/jacoco/ant/DumpTaskTest.xml]" time="0.055" />
    +
    +  </testsuite>
    +  <testsuite errors="0" failures="0" id="17" name="DumpTaskWithServerTest" package="org.jacoco.ant" skipped="0" tests="4" time="0.742" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="https://maven.apache.org/surefire/maven-surefire-plugin/xsd/surefire-test-report.xsd">
    +      <properties>
    +          <property name="jansi.mode" value="strip" />
    +
    +          <property name="java.runtime.name" value="OpenJDK Runtime Environment" />
    +
    +          <property name="java.vm.version" value="17.0.10+7" />
    +
    +          <property name="sun.boot.library.path" value="/usr/lib/jvm/temurin-17-jdk-amd64/lib" />
    +
    +          <property name="maven.multiModuleProjectDirectory" value="/home/vsts/work/1/s/org.jacoco.build" />
    +
    +          <property name="java.vm.vendor" value="Eclipse Adoptium" />
    +
    +          <property name="jdk.version" value="5" />
    +
    +          <property name="java.vendor.url" value="https://adoptium.net/" />
    +
    +          <property name="path.separator" value=":" />
    +
    +          <property name="guice.disable.misplaced.annotation.check" value="true" />
    +
    +          <property name="java.vm.name" value="OpenJDK 64-Bit Server VM" />
    +
    +          <property name="sun.java.launcher" value="SUN_STANDARD" />
    +
    +          <property name="user.dir" value="/home/vsts/work/1/s" />
    +
    +          <property name="java.vm.compressedOopsMode" value="32-bit" />
    +
    +          <property name="java.vm.specification.name" value="Java Virtual Machine Specification" />
    +
    +          <property name="java.runtime.version" value="17.0.10+7" />
    +
    +          <property name="os.arch" value="amd64" />
    +
    +          <property name="java.io.tmpdir" value="/tmp" />
    +
    +          <property name="line.separator" value="&#xa;" />
    +
    +          <property name="java.vm.specification.vendor" value="Oracle Corporation" />
    +
    +          <property name="os.name" value="Linux" />
    +
    +          <property name="classworlds.conf" value="/home/vsts/work/1/s/.maven/bin/m2.conf" />
    +
    +          <property name="sun.jnu.encoding" value="UTF-8" />
    +
    +          <property name="deployAtEnd" value="true" />
    +
    +          <property name="java.library.path" value="/usr/java/packages/lib:/usr/lib64:/lib64:/lib:/usr/lib" />
    +
    +          <property name="maven.conf" value="/home/vsts/work/1/s/.maven/conf" />
    +
    +          <property name="jdk.debug" value="release" />
    +
    +          <property name="java.class.version" value="61.0" />
    +
    +          <property name="java.specification.name" value="Java Platform API Specification" />
    +
    +          <property name="sun.management.compiler" value="HotSpot 64-Bit Tiered Compilers" />
    +
    +          <property name="os.version" value="5.15.0-1059-azure" />
    +
    +          <property name="library.jansi.path" value="/home/vsts/work/1/s/.maven/lib/jansi-native" />
    +
    +          <property name="user.home" value="/home/vsts" />
    +
    +          <property name="user.timezone" value="Etc/UTC" />
    +
    +          <property name="file.encoding" value="UTF-8" />
    +
    +          <property name="java.specification.version" value="17" />
    +
    +          <property name="java.class.path" value="/home/vsts/work/1/s/.maven/boot/plexus-classworlds-2.6.0.jar" />
    +
    +          <property name="user.name" value="vsts" />
    +
    +          <property name="bytecode.version" value="5" />
    +
    +          <property name="java.vm.specification.version" value="17" />
    +
    +          <property name="sun.arch.data.model" value="64" />
    +
    +          <property name="sun.java.command" value="org.codehaus.plexus.classworlds.launcher.Launcher -V -B -e --no-transfer-progress -f org.jacoco.build verify -Djdk.version=5 -Dbytecode.version=5 deploy:deploy -DdeployAtEnd --toolchains=toolchains.xml --settings=.azure-pipelines/maven-settings.xml" />
    +
    +          <property name="java.home" value="/usr/lib/jvm/temurin-17-jdk-amd64" />
    +
    +          <property name="user.language" value="en" />
    +
    +          <property name="java.specification.vendor" value="Oracle Corporation" />
    +
    +          <property name="java.vm.info" value="mixed mode, sharing" />
    +
    +          <property name="java.version" value="17.0.10" />
    +
    +          <property name="native.encoding" value="UTF-8" />
    +
    +          <property name="securerandom.source" value="file:/dev/./urandom" />
    +
    +          <property name="java.vendor" value="Eclipse Adoptium" />
    +
    +          <property name="maven.home" value="/home/vsts/work/1/s/.maven" />
    +
    +          <property name="file.separator" value="/" />
    +
    +          <property name="java.version.date" value="2024-01-16" />
    +
    +          <property name="java.vendor.url.bug" value="https://github.com/adoptium/adoptium-support/issues" />
    +
    +          <property name="sun.cpu.endian" value="little" />
    +
    +          <property name="sun.io.unicode.encoding" value="UnicodeLittle" />
    +
    +          <property name="sun.font.fontmanager" value="sun.awt.X11FontManager" />
    +
    +          <property name="java.vendor.version" value="Temurin-17.0.10+7" />
    +
    +      </properties>
    +
    +      <testcase classname="org.jacoco.ant.DumpTaskWithServerTest" name="testDump [src/org/jacoco/ant/DumpTaskWithServerTest.xml]" time="0.171" />
    +
    +      <testcase classname="org.jacoco.ant.DumpTaskWithServerTest" name="testNoDumpWithFileSet [src/org/jacoco/ant/DumpTaskWithServerTest.xml]" time="0.161" />
    +
    +      <testcase classname="org.jacoco.ant.DumpTaskWithServerTest" name="testNoDumpOrReset [src/org/jacoco/ant/DumpTaskWithServerTest.xml]" time="0.116" />
    +
    +      <testcase classname="org.jacoco.ant.DumpTaskWithServerTest" name="testResetOnly [src/org/jacoco/ant/DumpTaskWithServerTest.xml]" time="0.126" />
    +
    +  </testsuite>
    +  <testsuite errors="0" failures="0" id="18" name="InstrumentTaskTest" package="org.jacoco.ant" skipped="0" tests="8" time="4.405" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="https://maven.apache.org/surefire/maven-surefire-plugin/xsd/surefire-test-report.xsd">
    +      <properties>
    +          <property name="jansi.mode" value="strip" />
    +
    +          <property name="java.runtime.name" value="OpenJDK Runtime Environment" />
    +
    +          <property name="java.vm.version" value="17.0.10+7" />
    +
    +          <property name="sun.boot.library.path" value="/usr/lib/jvm/temurin-17-jdk-amd64/lib" />
    +
    +          <property name="maven.multiModuleProjectDirectory" value="/home/vsts/work/1/s/org.jacoco.build" />
    +
    +          <property name="java.vm.vendor" value="Eclipse Adoptium" />
    +
    +          <property name="jdk.version" value="5" />
    +
    +          <property name="java.vendor.url" value="https://adoptium.net/" />
    +
    +          <property name="path.separator" value=":" />
    +
    +          <property name="guice.disable.misplaced.annotation.check" value="true" />
    +
    +          <property name="java.vm.name" value="OpenJDK 64-Bit Server VM" />
    +
    +          <property name="sun.java.launcher" value="SUN_STANDARD" />
    +
    +          <property name="user.dir" value="/home/vsts/work/1/s" />
    +
    +          <property name="java.vm.compressedOopsMode" value="32-bit" />
    +
    +          <property name="java.vm.specification.name" value="Java Virtual Machine Specification" />
    +
    +          <property name="java.runtime.version" value="17.0.10+7" />
    +
    +          <property name="os.arch" value="amd64" />
    +
    +          <property name="java.io.tmpdir" value="/tmp" />
    +
    +          <property name="line.separator" value="&#xa;" />
    +
    +          <property name="java.vm.specification.vendor" value="Oracle Corporation" />
    +
    +          <property name="os.name" value="Linux" />
    +
    +          <property name="classworlds.conf" value="/home/vsts/work/1/s/.maven/bin/m2.conf" />
    +
    +          <property name="sun.jnu.encoding" value="UTF-8" />
    +
    +          <property name="deployAtEnd" value="true" />
    +
    +          <property name="java.library.path" value="/usr/java/packages/lib:/usr/lib64:/lib64:/lib:/usr/lib" />
    +
    +          <property name="maven.conf" value="/home/vsts/work/1/s/.maven/conf" />
    +
    +          <property name="jdk.debug" value="release" />
    +
    +          <property name="java.class.version" value="61.0" />
    +
    +          <property name="java.specification.name" value="Java Platform API Specification" />
    +
    +          <property name="sun.management.compiler" value="HotSpot 64-Bit Tiered Compilers" />
    +
    +          <property name="os.version" value="5.15.0-1059-azure" />
    +
    +          <property name="library.jansi.path" value="/home/vsts/work/1/s/.maven/lib/jansi-native" />
    +
    +          <property name="user.home" value="/home/vsts" />
    +
    +          <property name="user.timezone" value="Etc/UTC" />
    +
    +          <property name="file.encoding" value="UTF-8" />
    +
    +          <property name="java.specification.version" value="17" />
    +
    +          <property name="java.class.path" value="/home/vsts/work/1/s/.maven/boot/plexus-classworlds-2.6.0.jar" />
    +
    +          <property name="user.name" value="vsts" />
    +
    +          <property name="bytecode.version" value="5" />
    +
    +          <property name="java.vm.specification.version" value="17" />
    +
    +          <property name="sun.arch.data.model" value="64" />
    +
    +          <property name="sun.java.command" value="org.codehaus.plexus.classworlds.launcher.Launcher -V -B -e --no-transfer-progress -f org.jacoco.build verify -Djdk.version=5 -Dbytecode.version=5 deploy:deploy -DdeployAtEnd --toolchains=toolchains.xml --settings=.azure-pipelines/maven-settings.xml" />
    +
    +          <property name="java.home" value="/usr/lib/jvm/temurin-17-jdk-amd64" />
    +
    +          <property name="user.language" value="en" />
    +
    +          <property name="java.specification.vendor" value="Oracle Corporation" />
    +
    +          <property name="java.vm.info" value="mixed mode, sharing" />
    +
    +          <property name="java.version" value="17.0.10" />
    +
    +          <property name="native.encoding" value="UTF-8" />
    +
    +          <property name="securerandom.source" value="file:/dev/./urandom" />
    +
    +          <property name="java.vendor" value="Eclipse Adoptium" />
    +
    +          <property name="maven.home" value="/home/vsts/work/1/s/.maven" />
    +
    +          <property name="file.separator" value="/" />
    +
    +          <property name="java.version.date" value="2024-01-16" />
    +
    +          <property name="java.vendor.url.bug" value="https://github.com/adoptium/adoptium-support/issues" />
    +
    +          <property name="sun.cpu.endian" value="little" />
    +
    +          <property name="sun.io.unicode.encoding" value="UnicodeLittle" />
    +
    +          <property name="sun.font.fontmanager" value="sun.awt.X11FontManager" />
    +
    +          <property name="java.vendor.version" value="Temurin-17.0.10+7" />
    +
    +      </properties>
    +
    +      <testcase classname="org.jacoco.ant.InstrumentTaskTest" name="testInstrumentRemoveSignatures [src/org/jacoco/ant/InstrumentTaskTest.xml]" time="1.668" />
    +
    +      <testcase classname="org.jacoco.ant.InstrumentTaskTest" name="testInstrumentIgnoreDirectories [src/org/jacoco/ant/InstrumentTaskTest.xml]" time="0.221" />
    +
    +      <testcase classname="org.jacoco.ant.InstrumentTaskTest" name="testInstrumentAndRunWithSystemProperties [src/org/jacoco/ant/InstrumentTaskTest.xml]" time="0.337" />
    +
    +      <testcase classname="org.jacoco.ant.InstrumentTaskTest" name="testInstrumentWithRuntimeStartupFailure [src/org/jacoco/ant/InstrumentTaskTest.xml]" time="0.367" />
    +
    +      <testcase classname="org.jacoco.ant.InstrumentTaskTest" name="testInstrumentAndRunWithConfigFile [src/org/jacoco/ant/InstrumentTaskTest.xml]" time="0.194" />
    +
    +      <testcase classname="org.jacoco.ant.InstrumentTaskTest" name="testInstrumentKeepSignatures [src/org/jacoco/ant/InstrumentTaskTest.xml]" time="1.315" />
    +
    +      <testcase classname="org.jacoco.ant.InstrumentTaskTest" name="testInstrumentInvalidClassFile [src/org/jacoco/ant/InstrumentTaskTest.xml]" time="0.077" />
    +
    +      <testcase classname="org.jacoco.ant.InstrumentTaskTest" name="testInstrumentNoDestination [src/org/jacoco/ant/InstrumentTaskTest.xml]" time="0.047" />
    +
    +  </testsuite>
    +  <testsuite errors="0" failures="0" id="19" name="MergeTaskTest" package="org.jacoco.ant" skipped="0" tests="6" time="0.332" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="https://maven.apache.org/surefire/maven-surefire-plugin/xsd/surefire-test-report.xsd">
    +      <properties>
    +          <property name="jansi.mode" value="strip" />
    +
    +          <property name="java.runtime.name" value="OpenJDK Runtime Environment" />
    +
    +          <property name="java.vm.version" value="17.0.10+7" />
    +
    +          <property name="sun.boot.library.path" value="/usr/lib/jvm/temurin-17-jdk-amd64/lib" />
    +
    +          <property name="maven.multiModuleProjectDirectory" value="/home/vsts/work/1/s/org.jacoco.build" />
    +
    +          <property name="java.vm.vendor" value="Eclipse Adoptium" />
    +
    +          <property name="jdk.version" value="5" />
    +
    +          <property name="java.vendor.url" value="https://adoptium.net/" />
    +
    +          <property name="path.separator" value=":" />
    +
    +          <property name="guice.disable.misplaced.annotation.check" value="true" />
    +
    +          <property name="java.vm.name" value="OpenJDK 64-Bit Server VM" />
    +
    +          <property name="sun.java.launcher" value="SUN_STANDARD" />
    +
    +          <property name="user.dir" value="/home/vsts/work/1/s" />
    +
    +          <property name="java.vm.compressedOopsMode" value="32-bit" />
    +
    +          <property name="java.vm.specification.name" value="Java Virtual Machine Specification" />
    +
    +          <property name="java.runtime.version" value="17.0.10+7" />
    +
    +          <property name="os.arch" value="amd64" />
    +
    +          <property name="java.io.tmpdir" value="/tmp" />
    +
    +          <property name="line.separator" value="&#xa;" />
    +
    +          <property name="java.vm.specification.vendor" value="Oracle Corporation" />
    +
    +          <property name="os.name" value="Linux" />
    +
    +          <property name="classworlds.conf" value="/home/vsts/work/1/s/.maven/bin/m2.conf" />
    +
    +          <property name="sun.jnu.encoding" value="UTF-8" />
    +
    +          <property name="deployAtEnd" value="true" />
    +
    +          <property name="java.library.path" value="/usr/java/packages/lib:/usr/lib64:/lib64:/lib:/usr/lib" />
    +
    +          <property name="maven.conf" value="/home/vsts/work/1/s/.maven/conf" />
    +
    +          <property name="jdk.debug" value="release" />
    +
    +          <property name="java.class.version" value="61.0" />
    +
    +          <property name="java.specification.name" value="Java Platform API Specification" />
    +
    +          <property name="sun.management.compiler" value="HotSpot 64-Bit Tiered Compilers" />
    +
    +          <property name="os.version" value="5.15.0-1059-azure" />
    +
    +          <property name="library.jansi.path" value="/home/vsts/work/1/s/.maven/lib/jansi-native" />
    +
    +          <property name="user.home" value="/home/vsts" />
    +
    +          <property name="user.timezone" value="Etc/UTC" />
    +
    +          <property name="file.encoding" value="UTF-8" />
    +
    +          <property name="java.specification.version" value="17" />
    +
    +          <property name="java.class.path" value="/home/vsts/work/1/s/.maven/boot/plexus-classworlds-2.6.0.jar" />
    +
    +          <property name="user.name" value="vsts" />
    +
    +          <property name="bytecode.version" value="5" />
    +
    +          <property name="java.vm.specification.version" value="17" />
    +
    +          <property name="sun.arch.data.model" value="64" />
    +
    +          <property name="sun.java.command" value="org.codehaus.plexus.classworlds.launcher.Launcher -V -B -e --no-transfer-progress -f org.jacoco.build verify -Djdk.version=5 -Dbytecode.version=5 deploy:deploy -DdeployAtEnd --toolchains=toolchains.xml --settings=.azure-pipelines/maven-settings.xml" />
    +
    +          <property name="java.home" value="/usr/lib/jvm/temurin-17-jdk-amd64" />
    +
    +          <property name="user.language" value="en" />
    +
    +          <property name="java.specification.vendor" value="Oracle Corporation" />
    +
    +          <property name="java.vm.info" value="mixed mode, sharing" />
    +
    +          <property name="java.version" value="17.0.10" />
    +
    +          <property name="native.encoding" value="UTF-8" />
    +
    +          <property name="securerandom.source" value="file:/dev/./urandom" />
    +
    +          <property name="java.vendor" value="Eclipse Adoptium" />
    +
    +          <property name="maven.home" value="/home/vsts/work/1/s/.maven" />
    +
    +          <property name="file.separator" value="/" />
    +
    +          <property name="java.version.date" value="2024-01-16" />
    +
    +          <property name="java.vendor.url.bug" value="https://github.com/adoptium/adoptium-support/issues" />
    +
    +          <property name="sun.cpu.endian" value="little" />
    +
    +          <property name="sun.io.unicode.encoding" value="UnicodeLittle" />
    +
    +          <property name="sun.font.fontmanager" value="sun.awt.X11FontManager" />
    +
    +          <property name="java.vendor.version" value="Temurin-17.0.10+7" />
    +
    +      </properties>
    +
    +      <testcase classname="org.jacoco.ant.MergeTaskTest" name="testMergeEmptySet [src/org/jacoco/ant/MergeTaskTest.xml]" time="0.055" />
    +
    +      <testcase classname="org.jacoco.ant.MergeTaskTest" name="testMergeMultipleFiles [src/org/jacoco/ant/MergeTaskTest.xml]" time="0.065" />
    +
    +      <testcase classname="org.jacoco.ant.MergeTaskTest" name="testMergeToDirectory [src/org/jacoco/ant/MergeTaskTest.xml]" time="0.043" />
    +
    +      <testcase classname="org.jacoco.ant.MergeTaskTest" name="testMergeBadFiles [src/org/jacoco/ant/MergeTaskTest.xml]" time="0.059" />
    +
    +      <testcase classname="org.jacoco.ant.MergeTaskTest" name="testMergeDirectory [src/org/jacoco/ant/MergeTaskTest.xml]" time="0.05" />
    +
    +      <testcase classname="org.jacoco.ant.MergeTaskTest" name="testMergeNoDestination [src/org/jacoco/ant/MergeTaskTest.xml]" time="0.038" />
    +
    +  </testsuite>
    +  <testsuite errors="0" failures="0" id="20" name="ReportTaskLocaleTest" package="org.jacoco.ant" skipped="0" tests="4" time="0.029" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="https://maven.apache.org/surefire/maven-surefire-plugin/xsd/surefire-test-report.xsd">
    +      <properties>
    +          <property name="jansi.mode" value="strip" />
    +
    +          <property name="java.runtime.name" value="OpenJDK Runtime Environment" />
    +
    +          <property name="java.vm.version" value="17.0.10+7" />
    +
    +          <property name="sun.boot.library.path" value="/usr/lib/jvm/temurin-17-jdk-amd64/lib" />
    +
    +          <property name="maven.multiModuleProjectDirectory" value="/home/vsts/work/1/s/org.jacoco.build" />
    +
    +          <property name="java.vm.vendor" value="Eclipse Adoptium" />
    +
    +          <property name="jdk.version" value="5" />
    +
    +          <property name="java.vendor.url" value="https://adoptium.net/" />
    +
    +          <property name="path.separator" value=":" />
    +
    +          <property name="guice.disable.misplaced.annotation.check" value="true" />
    +
    +          <property name="java.vm.name" value="OpenJDK 64-Bit Server VM" />
    +
    +          <property name="sun.java.launcher" value="SUN_STANDARD" />
    +
    +          <property name="user.dir" value="/home/vsts/work/1/s" />
    +
    +          <property name="java.vm.compressedOopsMode" value="32-bit" />
    +
    +          <property name="java.vm.specification.name" value="Java Virtual Machine Specification" />
    +
    +          <property name="java.runtime.version" value="17.0.10+7" />
    +
    +          <property name="os.arch" value="amd64" />
    +
    +          <property name="java.io.tmpdir" value="/tmp" />
    +
    +          <property name="line.separator" value="&#xa;" />
    +
    +          <property name="java.vm.specification.vendor" value="Oracle Corporation" />
    +
    +          <property name="os.name" value="Linux" />
    +
    +          <property name="classworlds.conf" value="/home/vsts/work/1/s/.maven/bin/m2.conf" />
    +
    +          <property name="sun.jnu.encoding" value="UTF-8" />
    +
    +          <property name="deployAtEnd" value="true" />
    +
    +          <property name="java.library.path" value="/usr/java/packages/lib:/usr/lib64:/lib64:/lib:/usr/lib" />
    +
    +          <property name="maven.conf" value="/home/vsts/work/1/s/.maven/conf" />
    +
    +          <property name="jdk.debug" value="release" />
    +
    +          <property name="java.class.version" value="61.0" />
    +
    +          <property name="java.specification.name" value="Java Platform API Specification" />
    +
    +          <property name="sun.management.compiler" value="HotSpot 64-Bit Tiered Compilers" />
    +
    +          <property name="os.version" value="5.15.0-1059-azure" />
    +
    +          <property name="library.jansi.path" value="/home/vsts/work/1/s/.maven/lib/jansi-native" />
    +
    +          <property name="user.home" value="/home/vsts" />
    +
    +          <property name="user.timezone" value="Etc/UTC" />
    +
    +          <property name="file.encoding" value="UTF-8" />
    +
    +          <property name="java.specification.version" value="17" />
    +
    +          <property name="java.class.path" value="/home/vsts/work/1/s/.maven/boot/plexus-classworlds-2.6.0.jar" />
    +
    +          <property name="user.name" value="vsts" />
    +
    +          <property name="bytecode.version" value="5" />
    +
    +          <property name="java.vm.specification.version" value="17" />
    +
    +          <property name="sun.arch.data.model" value="64" />
    +
    +          <property name="sun.java.command" value="org.codehaus.plexus.classworlds.launcher.Launcher -V -B -e --no-transfer-progress -f org.jacoco.build verify -Djdk.version=5 -Dbytecode.version=5 deploy:deploy -DdeployAtEnd --toolchains=toolchains.xml --settings=.azure-pipelines/maven-settings.xml" />
    +
    +          <property name="java.home" value="/usr/lib/jvm/temurin-17-jdk-amd64" />
    +
    +          <property name="user.language" value="en" />
    +
    +          <property name="java.specification.vendor" value="Oracle Corporation" />
    +
    +          <property name="java.vm.info" value="mixed mode, sharing" />
    +
    +          <property name="java.version" value="17.0.10" />
    +
    +          <property name="native.encoding" value="UTF-8" />
    +
    +          <property name="securerandom.source" value="file:/dev/./urandom" />
    +
    +          <property name="java.vendor" value="Eclipse Adoptium" />
    +
    +          <property name="maven.home" value="/home/vsts/work/1/s/.maven" />
    +
    +          <property name="file.separator" value="/" />
    +
    +          <property name="java.version.date" value="2024-01-16" />
    +
    +          <property name="java.vendor.url.bug" value="https://github.com/adoptium/adoptium-support/issues" />
    +
    +          <property name="sun.cpu.endian" value="little" />
    +
    +          <property name="sun.io.unicode.encoding" value="UnicodeLittle" />
    +
    +          <property name="sun.font.fontmanager" value="sun.awt.X11FontManager" />
    +
    +          <property name="java.vendor.version" value="Temurin-17.0.10+7" />
    +
    +      </properties>
    +
    +      <testcase classname="org.jacoco.ant.ReportTaskLocaleTest" name="testLanguageCountryVariant" time="0.001" />
    +
    +      <testcase classname="org.jacoco.ant.ReportTaskLocaleTest" name="testNone" time="0" />
    +
    +      <testcase classname="org.jacoco.ant.ReportTaskLocaleTest" name="testLanguage" time="0.001" />
    +
    +      <testcase classname="org.jacoco.ant.ReportTaskLocaleTest" name="testLanguageCountry" time="0" />
    +
    +  </testsuite>
    +  <testsuite errors="0" failures="0" id="21" name="ReportTaskTest" package="org.jacoco.ant" skipped="0" tests="33" time="2.391" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="https://maven.apache.org/surefire/maven-surefire-plugin/xsd/surefire-test-report.xsd">
    +      <properties>
    +          <property name="jansi.mode" value="strip" />
    +
    +          <property name="java.runtime.name" value="OpenJDK Runtime Environment" />
    +
    +          <property name="java.vm.version" value="17.0.10+7" />
    +
    +          <property name="sun.boot.library.path" value="/usr/lib/jvm/temurin-17-jdk-amd64/lib" />
    +
    +          <property name="maven.multiModuleProjectDirectory" value="/home/vsts/work/1/s/org.jacoco.build" />
    +
    +          <property name="java.vm.vendor" value="Eclipse Adoptium" />
    +
    +          <property name="jdk.version" value="5" />
    +
    +          <property name="java.vendor.url" value="https://adoptium.net/" />
    +
    +          <property name="path.separator" value=":" />
    +
    +          <property name="guice.disable.misplaced.annotation.check" value="true" />
    +
    +          <property name="java.vm.name" value="OpenJDK 64-Bit Server VM" />
    +
    +          <property name="sun.java.launcher" value="SUN_STANDARD" />
    +
    +          <property name="user.dir" value="/home/vsts/work/1/s" />
    +
    +          <property name="java.vm.compressedOopsMode" value="32-bit" />
    +
    +          <property name="java.vm.specification.name" value="Java Virtual Machine Specification" />
    +
    +          <property name="java.runtime.version" value="17.0.10+7" />
    +
    +          <property name="os.arch" value="amd64" />
    +
    +          <property name="java.io.tmpdir" value="/tmp" />
    +
    +          <property name="line.separator" value="&#xa;" />
    +
    +          <property name="java.vm.specification.vendor" value="Oracle Corporation" />
    +
    +          <property name="os.name" value="Linux" />
    +
    +          <property name="classworlds.conf" value="/home/vsts/work/1/s/.maven/bin/m2.conf" />
    +
    +          <property name="sun.jnu.encoding" value="UTF-8" />
    +
    +          <property name="deployAtEnd" value="true" />
    +
    +          <property name="java.library.path" value="/usr/java/packages/lib:/usr/lib64:/lib64:/lib:/usr/lib" />
    +
    +          <property name="maven.conf" value="/home/vsts/work/1/s/.maven/conf" />
    +
    +          <property name="jdk.debug" value="release" />
    +
    +          <property name="java.class.version" value="61.0" />
    +
    +          <property name="java.specification.name" value="Java Platform API Specification" />
    +
    +          <property name="sun.management.compiler" value="HotSpot 64-Bit Tiered Compilers" />
    +
    +          <property name="os.version" value="5.15.0-1059-azure" />
    +
    +          <property name="library.jansi.path" value="/home/vsts/work/1/s/.maven/lib/jansi-native" />
    +
    +          <property name="user.home" value="/home/vsts" />
    +
    +          <property name="user.timezone" value="Etc/UTC" />
    +
    +          <property name="file.encoding" value="UTF-8" />
    +
    +          <property name="java.specification.version" value="17" />
    +
    +          <property name="java.class.path" value="/home/vsts/work/1/s/.maven/boot/plexus-classworlds-2.6.0.jar" />
    +
    +          <property name="user.name" value="vsts" />
    +
    +          <property name="bytecode.version" value="5" />
    +
    +          <property name="java.vm.specification.version" value="17" />
    +
    +          <property name="sun.arch.data.model" value="64" />
    +
    +          <property name="sun.java.command" value="org.codehaus.plexus.classworlds.launcher.Launcher -V -B -e --no-transfer-progress -f org.jacoco.build verify -Djdk.version=5 -Dbytecode.version=5 deploy:deploy -DdeployAtEnd --toolchains=toolchains.xml --settings=.azure-pipelines/maven-settings.xml" />
    +
    +          <property name="java.home" value="/usr/lib/jvm/temurin-17-jdk-amd64" />
    +
    +          <property name="user.language" value="en" />
    +
    +          <property name="java.specification.vendor" value="Oracle Corporation" />
    +
    +          <property name="java.vm.info" value="mixed mode, sharing" />
    +
    +          <property name="java.version" value="17.0.10" />
    +
    +          <property name="native.encoding" value="UTF-8" />
    +
    +          <property name="securerandom.source" value="file:/dev/./urandom" />
    +
    +          <property name="java.vendor" value="Eclipse Adoptium" />
    +
    +          <property name="maven.home" value="/home/vsts/work/1/s/.maven" />
    +
    +          <property name="file.separator" value="/" />
    +
    +          <property name="java.version.date" value="2024-01-16" />
    +
    +          <property name="java.vendor.url.bug" value="https://github.com/adoptium/adoptium-support/issues" />
    +
    +          <property name="sun.cpu.endian" value="little" />
    +
    +          <property name="sun.io.unicode.encoding" value="UnicodeLittle" />
    +
    +          <property name="sun.font.fontmanager" value="sun.awt.X11FontManager" />
    +
    +          <property name="java.vendor.version" value="Temurin-17.0.10+7" />
    +
    +      </properties>
    +
    +      <testcase classname="org.jacoco.ant.ReportTaskTest" name="testReportHtmlWithSourcesDir [src/org/jacoco/ant/ReportTaskTest.xml]" time="0.207" />
    +
    +      <testcase classname="org.jacoco.ant.ReportTaskTest" name="testReportHtmlNoDestdirOrDestfile [src/org/jacoco/ant/ReportTaskTest.xml]" time="0.035" />
    +
    +      <testcase classname="org.jacoco.ant.ReportTaskTest" name="testReportHtmlTabWidth [src/org/jacoco/ant/ReportTaskTest.xml]" time="0.083" />
    +
    +      <testcase classname="org.jacoco.ant.ReportTaskTest" name="testReportNoGroupName [src/org/jacoco/ant/ReportTaskTest.xml]" time="0.033" />
    +
    +      <testcase classname="org.jacoco.ant.ReportTaskTest" name="testReportCheckOk [src/org/jacoco/ant/ReportTaskTest.xml]" time="0.07" />
    +
    +      <testcase classname="org.jacoco.ant.ReportTaskTest" name="testReportHtmlWithSources [src/org/jacoco/ant/ReportTaskTest.xml]" time="0.196" />
    +
    +      <testcase classname="org.jacoco.ant.ReportTaskTest" name="testReportNoStructureName [src/org/jacoco/ant/ReportTaskTest.xml]" time="0.037" />
    +
    +      <testcase classname="org.jacoco.ant.ReportTaskTest" name="testReportWithSourceButNoClasses [src/org/jacoco/ant/ReportTaskTest.xml]" time="0.037" />
    +
    +      <testcase classname="org.jacoco.ant.ReportTaskTest" name="testReportHtmlWithJAR [src/org/jacoco/ant/ReportTaskTest.xml]" time="0.071" />
    +
    +      <testcase classname="org.jacoco.ant.ReportTaskTest" name="testReportHtmlInvalidTabWidth [src/org/jacoco/ant/ReportTaskTest.xml]" time="0.035" />
    +
    +      <testcase classname="org.jacoco.ant.ReportTaskTest" name="testReportHtmlWithClassFileSet [src/org/jacoco/ant/ReportTaskTest.xml]" time="0.09" />
    +
    +      <testcase classname="org.jacoco.ant.ReportTaskTest" name="testReportXmlInvalidDestfile [src/org/jacoco/ant/ReportTaskTest.xml]" time="0.051" />
    +
    +      <testcase classname="org.jacoco.ant.ReportTaskTest" name="testReportHtmlZipFile [src/org/jacoco/ant/ReportTaskTest.xml]" time="0.093" />
    +
    +      <testcase classname="org.jacoco.ant.ReportTaskTest" name="testReportHtmlEncoding [src/org/jacoco/ant/ReportTaskTest.xml]" time="0.05" />
    +
    +      <testcase classname="org.jacoco.ant.ReportTaskTest" name="testReportWithSourceButNoDebug [src/org/jacoco/ant/ReportTaskTest.xml]" time="0.164" />
    +
    +      <testcase classname="org.jacoco.ant.ReportTaskTest" name="testReportHtmlWithSourceEncoding [src/org/jacoco/ant/ReportTaskTest.xml]" time="0.15" />
    +
    +      <testcase classname="org.jacoco.ant.ReportTaskTest" name="testReportInvalidExecutionDataFile [src/org/jacoco/ant/ReportTaskTest.xml]" time="0.035" />
    +
    +      <testcase classname="org.jacoco.ant.ReportTaskTest" name="testReportCsvNoDestfile [src/org/jacoco/ant/ReportTaskTest.xml]" time="0.034" />
    +
    +      <testcase classname="org.jacoco.ant.ReportTaskTest" name="testReportHtmlBothDestdirAndDestfile [src/org/jacoco/ant/ReportTaskTest.xml]" time="0.033" />
    +
    +      <testcase classname="org.jacoco.ant.ReportTaskTest" name="testReportCheckSetPropertyOnly [src/org/jacoco/ant/ReportTaskTest.xml]" time="0.044" />
    +
    +      <testcase classname="org.jacoco.ant.ReportTaskTest" name="testReportWithNoMatch [src/org/jacoco/ant/ReportTaskTest.xml]" time="0.035" />
    +
    +      <testcase classname="org.jacoco.ant.ReportTaskTest" name="testReportHtmlLocale [src/org/jacoco/ant/ReportTaskTest.xml]" time="0.064" />
    +
    +      <testcase classname="org.jacoco.ant.ReportTaskTest" name="testReportInvalidConfiguration [src/org/jacoco/ant/ReportTaskTest.xml]" time="0.04" />
    +
    +      <testcase classname="org.jacoco.ant.ReportTaskTest" name="testReportHtmlFooter [src/org/jacoco/ant/ReportTaskTest.xml]" time="0.039" />
    +
    +      <testcase classname="org.jacoco.ant.ReportTaskTest" name="testReportWithSourceDirButNoDebug [src/org/jacoco/ant/ReportTaskTest.xml]" time="0.13" />
    +
    +      <testcase classname="org.jacoco.ant.ReportTaskTest" name="testReportHtmlWithPath [src/org/jacoco/ant/ReportTaskTest.xml]" time="0.061" />
    +
    +      <testcase classname="org.jacoco.ant.ReportTaskTest" name="testReportWithExecutiondataFiles [src/org/jacoco/ant/ReportTaskTest.xml]" time="0.029" />
    +
    +      <testcase classname="org.jacoco.ant.ReportTaskTest" name="testReportHtmlDefaultTabWidth [src/org/jacoco/ant/ReportTaskTest.xml]" time="0.132" />
    +
    +      <testcase classname="org.jacoco.ant.ReportTaskTest" name="testReportXmlEncoding [src/org/jacoco/ant/ReportTaskTest.xml]" time="0.035" />
    +
    +      <testcase classname="org.jacoco.ant.ReportTaskTest" name="testReportNoStructureElement [src/org/jacoco/ant/ReportTaskTest.xml]" time="0.034" />
    +
    +      <testcase classname="org.jacoco.ant.ReportTaskTest" name="testReportCheckFailed [src/org/jacoco/ant/ReportTaskTest.xml]" time="0.038" />
    +
    +      <testcase classname="org.jacoco.ant.ReportTaskTest" name="testReportXmlNoDestfile [src/org/jacoco/ant/ReportTaskTest.xml]" time="0.035" />
    +
    +      <testcase classname="org.jacoco.ant.ReportTaskTest" name="testReportCsvEncoding [src/org/jacoco/ant/ReportTaskTest.xml]" time="0.038" />
    +
    +  </testsuite>
    +  <testsuite errors="0" failures="0" id="22" name="TestTarget" package="org.jacoco.ant" skipped="0" tests="1" time="0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="https://maven.apache.org/surefire/maven-surefire-plugin/xsd/surefire-test-report.xsd">
    +      <properties>
    +          <property name="jansi.mode" value="strip" />
    +
    +          <property name="java.runtime.name" value="OpenJDK Runtime Environment" />
    +
    +          <property name="java.vm.version" value="17.0.10+7" />
    +
    +          <property name="sun.boot.library.path" value="/usr/lib/jvm/temurin-17-jdk-amd64/lib" />
    +
    +          <property name="maven.multiModuleProjectDirectory" value="/home/vsts/work/1/s/org.jacoco.build" />
    +
    +          <property name="java.vm.vendor" value="Eclipse Adoptium" />
    +
    +          <property name="jdk.version" value="5" />
    +
    +          <property name="java.vendor.url" value="https://adoptium.net/" />
    +
    +          <property name="path.separator" value=":" />
    +
    +          <property name="guice.disable.misplaced.annotation.check" value="true" />
    +
    +          <property name="java.vm.name" value="OpenJDK 64-Bit Server VM" />
    +
    +          <property name="sun.java.launcher" value="SUN_STANDARD" />
    +
    +          <property name="user.dir" value="/home/vsts/work/1/s" />
    +
    +          <property name="java.vm.compressedOopsMode" value="32-bit" />
    +
    +          <property name="java.vm.specification.name" value="Java Virtual Machine Specification" />
    +
    +          <property name="java.runtime.version" value="17.0.10+7" />
    +
    +          <property name="os.arch" value="amd64" />
    +
    +          <property name="java.io.tmpdir" value="/tmp" />
    +
    +          <property name="line.separator" value="&#xa;" />
    +
    +          <property name="java.vm.specification.vendor" value="Oracle Corporation" />
    +
    +          <property name="os.name" value="Linux" />
    +
    +          <property name="classworlds.conf" value="/home/vsts/work/1/s/.maven/bin/m2.conf" />
    +
    +          <property name="sun.jnu.encoding" value="UTF-8" />
    +
    +          <property name="deployAtEnd" value="true" />
    +
    +          <property name="java.library.path" value="/usr/java/packages/lib:/usr/lib64:/lib64:/lib:/usr/lib" />
    +
    +          <property name="maven.conf" value="/home/vsts/work/1/s/.maven/conf" />
    +
    +          <property name="jdk.debug" value="release" />
    +
    +          <property name="java.class.version" value="61.0" />
    +
    +          <property name="java.specification.name" value="Java Platform API Specification" />
    +
    +          <property name="sun.management.compiler" value="HotSpot 64-Bit Tiered Compilers" />
    +
    +          <property name="os.version" value="5.15.0-1059-azure" />
    +
    +          <property name="library.jansi.path" value="/home/vsts/work/1/s/.maven/lib/jansi-native" />
    +
    +          <property name="user.home" value="/home/vsts" />
    +
    +          <property name="user.timezone" value="Etc/UTC" />
    +
    +          <property name="file.encoding" value="UTF-8" />
    +
    +          <property name="java.specification.version" value="17" />
    +
    +          <property name="java.class.path" value="/home/vsts/work/1/s/.maven/boot/plexus-classworlds-2.6.0.jar" />
    +
    +          <property name="user.name" value="vsts" />
    +
    +          <property name="bytecode.version" value="5" />
    +
    +          <property name="java.vm.specification.version" value="17" />
    +
    +          <property name="sun.arch.data.model" value="64" />
    +
    +          <property name="sun.java.command" value="org.codehaus.plexus.classworlds.launcher.Launcher -V -B -e --no-transfer-progress -f org.jacoco.build verify -Djdk.version=5 -Dbytecode.version=5 deploy:deploy -DdeployAtEnd --toolchains=toolchains.xml --settings=.azure-pipelines/maven-settings.xml" />
    +
    +          <property name="java.home" value="/usr/lib/jvm/temurin-17-jdk-amd64" />
    +
    +          <property name="user.language" value="en" />
    +
    +          <property name="java.specification.vendor" value="Oracle Corporation" />
    +
    +          <property name="java.vm.info" value="mixed mode, sharing" />
    +
    +          <property name="java.version" value="17.0.10" />
    +
    +          <property name="native.encoding" value="UTF-8" />
    +
    +          <property name="securerandom.source" value="file:/dev/./urandom" />
    +
    +          <property name="java.vendor" value="Eclipse Adoptium" />
    +
    +          <property name="maven.home" value="/home/vsts/work/1/s/.maven" />
    +
    +          <property name="file.separator" value="/" />
    +
    +          <property name="java.version.date" value="2024-01-16" />
    +
    +          <property name="java.vendor.url.bug" value="https://github.com/adoptium/adoptium-support/issues" />
    +
    +          <property name="sun.cpu.endian" value="little" />
    +
    +          <property name="sun.io.unicode.encoding" value="UnicodeLittle" />
    +
    +          <property name="sun.font.fontmanager" value="sun.awt.X11FontManager" />
    +
    +          <property name="java.vendor.version" value="Temurin-17.0.10+7" />
    +
    +      </properties>
    +
    +      <testcase classname="org.jacoco.ant.TestTarget" name="testNothing" time="0" />
    +
    +  </testsuite>
    +  <testsuite errors="0" failures="0" id="23" name="MainTest" package="org.jacoco.cli.internal" skipped="0" tests="5" time="0.15" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="https://maven.apache.org/surefire/maven-surefire-plugin/xsd/surefire-test-report.xsd">
    +      <properties>
    +          <property name="jansi.mode" value="strip" />
    +
    +          <property name="java.runtime.name" value="OpenJDK Runtime Environment" />
    +
    +          <property name="java.vm.version" value="17.0.10+7" />
    +
    +          <property name="sun.boot.library.path" value="/usr/lib/jvm/temurin-17-jdk-amd64/lib" />
    +
    +          <property name="maven.multiModuleProjectDirectory" value="/home/vsts/work/1/s/org.jacoco.build" />
    +
    +          <property name="java.vm.vendor" value="Eclipse Adoptium" />
    +
    +          <property name="jdk.version" value="5" />
    +
    +          <property name="java.vendor.url" value="https://adoptium.net/" />
    +
    +          <property name="path.separator" value=":" />
    +
    +          <property name="guice.disable.misplaced.annotation.check" value="true" />
    +
    +          <property name="java.vm.name" value="OpenJDK 64-Bit Server VM" />
    +
    +          <property name="sun.java.launcher" value="SUN_STANDARD" />
    +
    +          <property name="user.dir" value="/home/vsts/work/1/s" />
    +
    +          <property name="java.vm.compressedOopsMode" value="32-bit" />
    +
    +          <property name="java.vm.specification.name" value="Java Virtual Machine Specification" />
    +
    +          <property name="java.runtime.version" value="17.0.10+7" />
    +
    +          <property name="os.arch" value="amd64" />
    +
    +          <property name="java.io.tmpdir" value="/tmp" />
    +
    +          <property name="line.separator" value="&#xa;" />
    +
    +          <property name="java.vm.specification.vendor" value="Oracle Corporation" />
    +
    +          <property name="os.name" value="Linux" />
    +
    +          <property name="classworlds.conf" value="/home/vsts/work/1/s/.maven/bin/m2.conf" />
    +
    +          <property name="sun.jnu.encoding" value="UTF-8" />
    +
    +          <property name="deployAtEnd" value="true" />
    +
    +          <property name="java.library.path" value="/usr/java/packages/lib:/usr/lib64:/lib64:/lib:/usr/lib" />
    +
    +          <property name="maven.conf" value="/home/vsts/work/1/s/.maven/conf" />
    +
    +          <property name="jdk.debug" value="release" />
    +
    +          <property name="java.class.version" value="61.0" />
    +
    +          <property name="java.specification.name" value="Java Platform API Specification" />
    +
    +          <property name="sun.management.compiler" value="HotSpot 64-Bit Tiered Compilers" />
    +
    +          <property name="os.version" value="5.15.0-1059-azure" />
    +
    +          <property name="library.jansi.path" value="/home/vsts/work/1/s/.maven/lib/jansi-native" />
    +
    +          <property name="user.home" value="/home/vsts" />
    +
    +          <property name="user.timezone" value="Etc/UTC" />
    +
    +          <property name="file.encoding" value="UTF-8" />
    +
    +          <property name="java.specification.version" value="17" />
    +
    +          <property name="java.class.path" value="/home/vsts/work/1/s/.maven/boot/plexus-classworlds-2.6.0.jar" />
    +
    +          <property name="user.name" value="vsts" />
    +
    +          <property name="bytecode.version" value="5" />
    +
    +          <property name="java.vm.specification.version" value="17" />
    +
    +          <property name="sun.arch.data.model" value="64" />
    +
    +          <property name="sun.java.command" value="org.codehaus.plexus.classworlds.launcher.Launcher -V -B -e --no-transfer-progress -f org.jacoco.build verify -Djdk.version=5 -Dbytecode.version=5 deploy:deploy -DdeployAtEnd --toolchains=toolchains.xml --settings=.azure-pipelines/maven-settings.xml" />
    +
    +          <property name="java.home" value="/usr/lib/jvm/temurin-17-jdk-amd64" />
    +
    +          <property name="user.language" value="en" />
    +
    +          <property name="java.specification.vendor" value="Oracle Corporation" />
    +
    +          <property name="java.vm.info" value="mixed mode, sharing" />
    +
    +          <property name="java.version" value="17.0.10" />
    +
    +          <property name="native.encoding" value="UTF-8" />
    +
    +          <property name="securerandom.source" value="file:/dev/./urandom" />
    +
    +          <property name="java.vendor" value="Eclipse Adoptium" />
    +
    +          <property name="maven.home" value="/home/vsts/work/1/s/.maven" />
    +
    +          <property name="file.separator" value="/" />
    +
    +          <property name="java.version.date" value="2024-01-16" />
    +
    +          <property name="java.vendor.url.bug" value="https://github.com/adoptium/adoptium-support/issues" />
    +
    +          <property name="sun.cpu.endian" value="little" />
    +
    +          <property name="sun.io.unicode.encoding" value="UnicodeLittle" />
    +
    +          <property name="sun.font.fontmanager" value="sun.awt.X11FontManager" />
    +
    +          <property name="java.vendor.version" value="Temurin-17.0.10+7" />
    +
    +      </properties>
    +
    +      <testcase classname="org.jacoco.cli.internal.MainTest" name="should_print_general_usage_when_help_option_is_given" time="0.066" />
    +
    +      <testcase classname="org.jacoco.cli.internal.MainTest" name="should_print_error_message_when_invalid_command_is_given" time="0.011" />
    +
    +      <testcase classname="org.jacoco.cli.internal.MainTest" name="should_not_print_any_output_when_quiet_option_is_given" time="0.003" />
    +
    +      <testcase classname="org.jacoco.cli.internal.MainTest" name="should_print_command_usage_when_command_and_help_option_is_given" time="0.004" />
    +
    +      <testcase classname="org.jacoco.cli.internal.MainTest" name="should_print_usage_when_no_arguments_given" time="0.002" />
    +
    +  </testsuite>
    +  <testsuite errors="0" failures="0" id="24" name="XmlDocumentationTest" package="org.jacoco.cli.internal" skipped="0" tests="1" time="0.113" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="https://maven.apache.org/surefire/maven-surefire-plugin/xsd/surefire-test-report.xsd">
    +      <properties>
    +          <property name="jansi.mode" value="strip" />
    +
    +          <property name="java.runtime.name" value="OpenJDK Runtime Environment" />
    +
    +          <property name="java.vm.version" value="17.0.10+7" />
    +
    +          <property name="sun.boot.library.path" value="/usr/lib/jvm/temurin-17-jdk-amd64/lib" />
    +
    +          <property name="maven.multiModuleProjectDirectory" value="/home/vsts/work/1/s/org.jacoco.build" />
    +
    +          <property name="java.vm.vendor" value="Eclipse Adoptium" />
    +
    +          <property name="jdk.version" value="5" />
    +
    +          <property name="java.vendor.url" value="https://adoptium.net/" />
    +
    +          <property name="path.separator" value=":" />
    +
    +          <property name="guice.disable.misplaced.annotation.check" value="true" />
    +
    +          <property name="java.vm.name" value="OpenJDK 64-Bit Server VM" />
    +
    +          <property name="sun.java.launcher" value="SUN_STANDARD" />
    +
    +          <property name="user.dir" value="/home/vsts/work/1/s" />
    +
    +          <property name="java.vm.compressedOopsMode" value="32-bit" />
    +
    +          <property name="java.vm.specification.name" value="Java Virtual Machine Specification" />
    +
    +          <property name="java.runtime.version" value="17.0.10+7" />
    +
    +          <property name="os.arch" value="amd64" />
    +
    +          <property name="java.io.tmpdir" value="/tmp" />
    +
    +          <property name="line.separator" value="&#xa;" />
    +
    +          <property name="java.vm.specification.vendor" value="Oracle Corporation" />
    +
    +          <property name="os.name" value="Linux" />
    +
    +          <property name="classworlds.conf" value="/home/vsts/work/1/s/.maven/bin/m2.conf" />
    +
    +          <property name="sun.jnu.encoding" value="UTF-8" />
    +
    +          <property name="deployAtEnd" value="true" />
    +
    +          <property name="java.library.path" value="/usr/java/packages/lib:/usr/lib64:/lib64:/lib:/usr/lib" />
    +
    +          <property name="maven.conf" value="/home/vsts/work/1/s/.maven/conf" />
    +
    +          <property name="jdk.debug" value="release" />
    +
    +          <property name="java.class.version" value="61.0" />
    +
    +          <property name="java.specification.name" value="Java Platform API Specification" />
    +
    +          <property name="sun.management.compiler" value="HotSpot 64-Bit Tiered Compilers" />
    +
    +          <property name="os.version" value="5.15.0-1059-azure" />
    +
    +          <property name="library.jansi.path" value="/home/vsts/work/1/s/.maven/lib/jansi-native" />
    +
    +          <property name="user.home" value="/home/vsts" />
    +
    +          <property name="user.timezone" value="Etc/UTC" />
    +
    +          <property name="file.encoding" value="UTF-8" />
    +
    +          <property name="java.specification.version" value="17" />
    +
    +          <property name="java.class.path" value="/home/vsts/work/1/s/.maven/boot/plexus-classworlds-2.6.0.jar" />
    +
    +          <property name="user.name" value="vsts" />
    +
    +          <property name="bytecode.version" value="5" />
    +
    +          <property name="java.vm.specification.version" value="17" />
    +
    +          <property name="sun.arch.data.model" value="64" />
    +
    +          <property name="sun.java.command" value="org.codehaus.plexus.classworlds.launcher.Launcher -V -B -e --no-transfer-progress -f org.jacoco.build verify -Djdk.version=5 -Dbytecode.version=5 deploy:deploy -DdeployAtEnd --toolchains=toolchains.xml --settings=.azure-pipelines/maven-settings.xml" />
    +
    +          <property name="java.home" value="/usr/lib/jvm/temurin-17-jdk-amd64" />
    +
    +          <property name="user.language" value="en" />
    +
    +          <property name="java.specification.vendor" value="Oracle Corporation" />
    +
    +          <property name="java.vm.info" value="mixed mode, sharing" />
    +
    +          <property name="java.version" value="17.0.10" />
    +
    +          <property name="native.encoding" value="UTF-8" />
    +
    +          <property name="securerandom.source" value="file:/dev/./urandom" />
    +
    +          <property name="java.vendor" value="Eclipse Adoptium" />
    +
    +          <property name="maven.home" value="/home/vsts/work/1/s/.maven" />
    +
    +          <property name="file.separator" value="/" />
    +
    +          <property name="java.version.date" value="2024-01-16" />
    +
    +          <property name="java.vendor.url.bug" value="https://github.com/adoptium/adoptium-support/issues" />
    +
    +          <property name="sun.cpu.endian" value="little" />
    +
    +          <property name="sun.io.unicode.encoding" value="UnicodeLittle" />
    +
    +          <property name="sun.font.fontmanager" value="sun.awt.X11FontManager" />
    +
    +          <property name="java.vendor.version" value="Temurin-17.0.10+7" />
    +
    +      </properties>
    +
    +      <testcase classname="org.jacoco.cli.internal.XmlDocumentationTest" name="should_create_documentation" time="0.105" />
    +
    +  </testsuite>
    +  <testsuite errors="0" failures="0" id="25" name="ClassInfoTest" package="org.jacoco.cli.internal.commands" skipped="0" tests="4" time="0.199" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="https://maven.apache.org/surefire/maven-surefire-plugin/xsd/surefire-test-report.xsd">
    +      <properties>
    +          <property name="jansi.mode" value="strip" />
    +
    +          <property name="java.runtime.name" value="OpenJDK Runtime Environment" />
    +
    +          <property name="java.vm.version" value="17.0.10+7" />
    +
    +          <property name="sun.boot.library.path" value="/usr/lib/jvm/temurin-17-jdk-amd64/lib" />
    +
    +          <property name="maven.multiModuleProjectDirectory" value="/home/vsts/work/1/s/org.jacoco.build" />
    +
    +          <property name="java.vm.vendor" value="Eclipse Adoptium" />
    +
    +          <property name="jdk.version" value="5" />
    +
    +          <property name="java.vendor.url" value="https://adoptium.net/" />
    +
    +          <property name="path.separator" value=":" />
    +
    +          <property name="guice.disable.misplaced.annotation.check" value="true" />
    +
    +          <property name="java.vm.name" value="OpenJDK 64-Bit Server VM" />
    +
    +          <property name="sun.java.launcher" value="SUN_STANDARD" />
    +
    +          <property name="user.dir" value="/home/vsts/work/1/s" />
    +
    +          <property name="java.vm.compressedOopsMode" value="32-bit" />
    +
    +          <property name="java.vm.specification.name" value="Java Virtual Machine Specification" />
    +
    +          <property name="java.runtime.version" value="17.0.10+7" />
    +
    +          <property name="os.arch" value="amd64" />
    +
    +          <property name="java.io.tmpdir" value="/tmp" />
    +
    +          <property name="line.separator" value="&#xa;" />
    +
    +          <property name="java.vm.specification.vendor" value="Oracle Corporation" />
    +
    +          <property name="os.name" value="Linux" />
    +
    +          <property name="classworlds.conf" value="/home/vsts/work/1/s/.maven/bin/m2.conf" />
    +
    +          <property name="sun.jnu.encoding" value="UTF-8" />
    +
    +          <property name="deployAtEnd" value="true" />
    +
    +          <property name="java.library.path" value="/usr/java/packages/lib:/usr/lib64:/lib64:/lib:/usr/lib" />
    +
    +          <property name="maven.conf" value="/home/vsts/work/1/s/.maven/conf" />
    +
    +          <property name="jdk.debug" value="release" />
    +
    +          <property name="java.class.version" value="61.0" />
    +
    +          <property name="java.specification.name" value="Java Platform API Specification" />
    +
    +          <property name="sun.management.compiler" value="HotSpot 64-Bit Tiered Compilers" />
    +
    +          <property name="os.version" value="5.15.0-1059-azure" />
    +
    +          <property name="library.jansi.path" value="/home/vsts/work/1/s/.maven/lib/jansi-native" />
    +
    +          <property name="user.home" value="/home/vsts" />
    +
    +          <property name="user.timezone" value="Etc/UTC" />
    +
    +          <property name="file.encoding" value="UTF-8" />
    +
    +          <property name="java.specification.version" value="17" />
    +
    +          <property name="java.class.path" value="/home/vsts/work/1/s/.maven/boot/plexus-classworlds-2.6.0.jar" />
    +
    +          <property name="user.name" value="vsts" />
    +
    +          <property name="bytecode.version" value="5" />
    +
    +          <property name="java.vm.specification.version" value="17" />
    +
    +          <property name="sun.arch.data.model" value="64" />
    +
    +          <property name="sun.java.command" value="org.codehaus.plexus.classworlds.launcher.Launcher -V -B -e --no-transfer-progress -f org.jacoco.build verify -Djdk.version=5 -Dbytecode.version=5 deploy:deploy -DdeployAtEnd --toolchains=toolchains.xml --settings=.azure-pipelines/maven-settings.xml" />
    +
    +          <property name="java.home" value="/usr/lib/jvm/temurin-17-jdk-amd64" />
    +
    +          <property name="user.language" value="en" />
    +
    +          <property name="java.specification.vendor" value="Oracle Corporation" />
    +
    +          <property name="java.vm.info" value="mixed mode, sharing" />
    +
    +          <property name="java.version" value="17.0.10" />
    +
    +          <property name="native.encoding" value="UTF-8" />
    +
    +          <property name="securerandom.source" value="file:/dev/./urandom" />
    +
    +          <property name="java.vendor" value="Eclipse Adoptium" />
    +
    +          <property name="maven.home" value="/home/vsts/work/1/s/.maven" />
    +
    +          <property name="file.separator" value="/" />
    +
    +          <property name="java.version.date" value="2024-01-16" />
    +
    +          <property name="java.vendor.url.bug" value="https://github.com/adoptium/adoptium-support/issues" />
    +
    +          <property name="sun.cpu.endian" value="little" />
    +
    +          <property name="sun.io.unicode.encoding" value="UnicodeLittle" />
    +
    +          <property name="sun.font.fontmanager" value="sun.awt.X11FontManager" />
    +
    +          <property name="java.vendor.version" value="Temurin-17.0.10+7" />
    +
    +      </properties>
    +
    +      <testcase classname="org.jacoco.cli.internal.commands.ClassInfoTest" name="should_print_class_details_when_verbose" time="0.15" />
    +
    +      <testcase classname="org.jacoco.cli.internal.commands.ClassInfoTest" name="should_print_warning_when_no_class_files_are_provided" time="0.006" />
    +
    +      <testcase classname="org.jacoco.cli.internal.commands.ClassInfoTest" name="should_print_usage_when_invalid_option_is_given" time="0.002" />
    +
    +      <testcase classname="org.jacoco.cli.internal.commands.ClassInfoTest" name="should_print_class_info" time="0.039" />
    +
    +  </testsuite>
    +  <testsuite errors="0" failures="0" id="26" name="DumpTest" package="org.jacoco.cli.internal.commands" skipped="0" tests="3" time="1.062" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="https://maven.apache.org/surefire/maven-surefire-plugin/xsd/surefire-test-report.xsd">
    +      <properties>
    +          <property name="jansi.mode" value="strip" />
    +
    +          <property name="java.runtime.name" value="OpenJDK Runtime Environment" />
    +
    +          <property name="java.vm.version" value="17.0.10+7" />
    +
    +          <property name="sun.boot.library.path" value="/usr/lib/jvm/temurin-17-jdk-amd64/lib" />
    +
    +          <property name="maven.multiModuleProjectDirectory" value="/home/vsts/work/1/s/org.jacoco.build" />
    +
    +          <property name="java.vm.vendor" value="Eclipse Adoptium" />
    +
    +          <property name="jdk.version" value="5" />
    +
    +          <property name="java.vendor.url" value="https://adoptium.net/" />
    +
    +          <property name="path.separator" value=":" />
    +
    +          <property name="guice.disable.misplaced.annotation.check" value="true" />
    +
    +          <property name="java.vm.name" value="OpenJDK 64-Bit Server VM" />
    +
    +          <property name="sun.java.launcher" value="SUN_STANDARD" />
    +
    +          <property name="user.dir" value="/home/vsts/work/1/s" />
    +
    +          <property name="java.vm.compressedOopsMode" value="32-bit" />
    +
    +          <property name="java.vm.specification.name" value="Java Virtual Machine Specification" />
    +
    +          <property name="java.runtime.version" value="17.0.10+7" />
    +
    +          <property name="os.arch" value="amd64" />
    +
    +          <property name="java.io.tmpdir" value="/tmp" />
    +
    +          <property name="line.separator" value="&#xa;" />
    +
    +          <property name="java.vm.specification.vendor" value="Oracle Corporation" />
    +
    +          <property name="os.name" value="Linux" />
    +
    +          <property name="classworlds.conf" value="/home/vsts/work/1/s/.maven/bin/m2.conf" />
    +
    +          <property name="sun.jnu.encoding" value="UTF-8" />
    +
    +          <property name="deployAtEnd" value="true" />
    +
    +          <property name="java.library.path" value="/usr/java/packages/lib:/usr/lib64:/lib64:/lib:/usr/lib" />
    +
    +          <property name="maven.conf" value="/home/vsts/work/1/s/.maven/conf" />
    +
    +          <property name="jdk.debug" value="release" />
    +
    +          <property name="java.class.version" value="61.0" />
    +
    +          <property name="java.specification.name" value="Java Platform API Specification" />
    +
    +          <property name="sun.management.compiler" value="HotSpot 64-Bit Tiered Compilers" />
    +
    +          <property name="os.version" value="5.15.0-1059-azure" />
    +
    +          <property name="library.jansi.path" value="/home/vsts/work/1/s/.maven/lib/jansi-native" />
    +
    +          <property name="user.home" value="/home/vsts" />
    +
    +          <property name="user.timezone" value="Etc/UTC" />
    +
    +          <property name="file.encoding" value="UTF-8" />
    +
    +          <property name="java.specification.version" value="17" />
    +
    +          <property name="java.class.path" value="/home/vsts/work/1/s/.maven/boot/plexus-classworlds-2.6.0.jar" />
    +
    +          <property name="user.name" value="vsts" />
    +
    +          <property name="bytecode.version" value="5" />
    +
    +          <property name="java.vm.specification.version" value="17" />
    +
    +          <property name="sun.arch.data.model" value="64" />
    +
    +          <property name="sun.java.command" value="org.codehaus.plexus.classworlds.launcher.Launcher -V -B -e --no-transfer-progress -f org.jacoco.build verify -Djdk.version=5 -Dbytecode.version=5 deploy:deploy -DdeployAtEnd --toolchains=toolchains.xml --settings=.azure-pipelines/maven-settings.xml" />
    +
    +          <property name="java.home" value="/usr/lib/jvm/temurin-17-jdk-amd64" />
    +
    +          <property name="user.language" value="en" />
    +
    +          <property name="java.specification.vendor" value="Oracle Corporation" />
    +
    +          <property name="java.vm.info" value="mixed mode, sharing" />
    +
    +          <property name="java.version" value="17.0.10" />
    +
    +          <property name="native.encoding" value="UTF-8" />
    +
    +          <property name="securerandom.source" value="file:/dev/./urandom" />
    +
    +          <property name="java.vendor" value="Eclipse Adoptium" />
    +
    +          <property name="maven.home" value="/home/vsts/work/1/s/.maven" />
    +
    +          <property name="file.separator" value="/" />
    +
    +          <property name="java.version.date" value="2024-01-16" />
    +
    +          <property name="java.vendor.url.bug" value="https://github.com/adoptium/adoptium-support/issues" />
    +
    +          <property name="sun.cpu.endian" value="little" />
    +
    +          <property name="sun.io.unicode.encoding" value="UnicodeLittle" />
    +
    +          <property name="sun.font.fontmanager" value="sun.awt.X11FontManager" />
    +
    +          <property name="java.vendor.version" value="Temurin-17.0.10+7" />
    +
    +      </properties>
    +
    +      <testcase classname="org.jacoco.cli.internal.commands.DumpTest" name="should_print_usage_when_no_argument_is_given" time="0.003" />
    +
    +      <testcase classname="org.jacoco.cli.internal.commands.DumpTest" name="should_log_connection_error_when_retry_is_specified" time="1.01" />
    +
    +      <testcase classname="org.jacoco.cli.internal.commands.DumpTest" name="should_write_dump" time="0.047" />
    +
    +  </testsuite>
    +  <testsuite errors="0" failures="0" id="27" name="ExecInfoTest" package="org.jacoco.cli.internal.commands" skipped="0" tests="3" time="0.008" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="https://maven.apache.org/surefire/maven-surefire-plugin/xsd/surefire-test-report.xsd">
    +      <properties>
    +          <property name="jansi.mode" value="strip" />
    +
    +          <property name="java.runtime.name" value="OpenJDK Runtime Environment" />
    +
    +          <property name="java.vm.version" value="17.0.10+7" />
    +
    +          <property name="sun.boot.library.path" value="/usr/lib/jvm/temurin-17-jdk-amd64/lib" />
    +
    +          <property name="maven.multiModuleProjectDirectory" value="/home/vsts/work/1/s/org.jacoco.build" />
    +
    +          <property name="java.vm.vendor" value="Eclipse Adoptium" />
    +
    +          <property name="jdk.version" value="5" />
    +
    +          <property name="java.vendor.url" value="https://adoptium.net/" />
    +
    +          <property name="path.separator" value=":" />
    +
    +          <property name="guice.disable.misplaced.annotation.check" value="true" />
    +
    +          <property name="java.vm.name" value="OpenJDK 64-Bit Server VM" />
    +
    +          <property name="sun.java.launcher" value="SUN_STANDARD" />
    +
    +          <property name="user.dir" value="/home/vsts/work/1/s" />
    +
    +          <property name="java.vm.compressedOopsMode" value="32-bit" />
    +
    +          <property name="java.vm.specification.name" value="Java Virtual Machine Specification" />
    +
    +          <property name="java.runtime.version" value="17.0.10+7" />
    +
    +          <property name="os.arch" value="amd64" />
    +
    +          <property name="java.io.tmpdir" value="/tmp" />
    +
    +          <property name="line.separator" value="&#xa;" />
    +
    +          <property name="java.vm.specification.vendor" value="Oracle Corporation" />
    +
    +          <property name="os.name" value="Linux" />
    +
    +          <property name="classworlds.conf" value="/home/vsts/work/1/s/.maven/bin/m2.conf" />
    +
    +          <property name="sun.jnu.encoding" value="UTF-8" />
    +
    +          <property name="deployAtEnd" value="true" />
    +
    +          <property name="java.library.path" value="/usr/java/packages/lib:/usr/lib64:/lib64:/lib:/usr/lib" />
    +
    +          <property name="maven.conf" value="/home/vsts/work/1/s/.maven/conf" />
    +
    +          <property name="jdk.debug" value="release" />
    +
    +          <property name="java.class.version" value="61.0" />
    +
    +          <property name="java.specification.name" value="Java Platform API Specification" />
    +
    +          <property name="sun.management.compiler" value="HotSpot 64-Bit Tiered Compilers" />
    +
    +          <property name="os.version" value="5.15.0-1059-azure" />
    +
    +          <property name="library.jansi.path" value="/home/vsts/work/1/s/.maven/lib/jansi-native" />
    +
    +          <property name="user.home" value="/home/vsts" />
    +
    +          <property name="user.timezone" value="Etc/UTC" />
    +
    +          <property name="file.encoding" value="UTF-8" />
    +
    +          <property name="java.specification.version" value="17" />
    +
    +          <property name="java.class.path" value="/home/vsts/work/1/s/.maven/boot/plexus-classworlds-2.6.0.jar" />
    +
    +          <property name="user.name" value="vsts" />
    +
    +          <property name="bytecode.version" value="5" />
    +
    +          <property name="java.vm.specification.version" value="17" />
    +
    +          <property name="sun.arch.data.model" value="64" />
    +
    +          <property name="sun.java.command" value="org.codehaus.plexus.classworlds.launcher.Launcher -V -B -e --no-transfer-progress -f org.jacoco.build verify -Djdk.version=5 -Dbytecode.version=5 deploy:deploy -DdeployAtEnd --toolchains=toolchains.xml --settings=.azure-pipelines/maven-settings.xml" />
    +
    +          <property name="java.home" value="/usr/lib/jvm/temurin-17-jdk-amd64" />
    +
    +          <property name="user.language" value="en" />
    +
    +          <property name="java.specification.vendor" value="Oracle Corporation" />
    +
    +          <property name="java.vm.info" value="mixed mode, sharing" />
    +
    +          <property name="java.version" value="17.0.10" />
    +
    +          <property name="native.encoding" value="UTF-8" />
    +
    +          <property name="securerandom.source" value="file:/dev/./urandom" />
    +
    +          <property name="java.vendor" value="Eclipse Adoptium" />
    +
    +          <property name="maven.home" value="/home/vsts/work/1/s/.maven" />
    +
    +          <property name="file.separator" value="/" />
    +
    +          <property name="java.version.date" value="2024-01-16" />
    +
    +          <property name="java.vendor.url.bug" value="https://github.com/adoptium/adoptium-support/issues" />
    +
    +          <property name="sun.cpu.endian" value="little" />
    +
    +          <property name="sun.io.unicode.encoding" value="UnicodeLittle" />
    +
    +          <property name="sun.font.fontmanager" value="sun.awt.X11FontManager" />
    +
    +          <property name="java.vendor.version" value="Temurin-17.0.10+7" />
    +
    +      </properties>
    +
    +      <testcase classname="org.jacoco.cli.internal.commands.ExecInfoTest" name="should_print_usage_when_invalid_argument_is_given" time="0.002" />
    +
    +      <testcase classname="org.jacoco.cli.internal.commands.ExecInfoTest" name="should_print_execution_data_info" time="0.004" />
    +
    +      <testcase classname="org.jacoco.cli.internal.commands.ExecInfoTest" name="should_print_warning_when_no_exec_files_are_provided" time="0.001" />
    +
    +  </testsuite>
    +  <testsuite errors="0" failures="0" id="28" name="InstrumentTest" package="org.jacoco.cli.internal.commands" skipped="0" tests="5" time="0.083" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="https://maven.apache.org/surefire/maven-surefire-plugin/xsd/surefire-test-report.xsd">
    +      <properties>
    +          <property name="jansi.mode" value="strip" />
    +
    +          <property name="java.runtime.name" value="OpenJDK Runtime Environment" />
    +
    +          <property name="java.vm.version" value="17.0.10+7" />
    +
    +          <property name="sun.boot.library.path" value="/usr/lib/jvm/temurin-17-jdk-amd64/lib" />
    +
    +          <property name="maven.multiModuleProjectDirectory" value="/home/vsts/work/1/s/org.jacoco.build" />
    +
    +          <property name="java.vm.vendor" value="Eclipse Adoptium" />
    +
    +          <property name="jdk.version" value="5" />
    +
    +          <property name="java.vendor.url" value="https://adoptium.net/" />
    +
    +          <property name="path.separator" value=":" />
    +
    +          <property name="guice.disable.misplaced.annotation.check" value="true" />
    +
    +          <property name="java.vm.name" value="OpenJDK 64-Bit Server VM" />
    +
    +          <property name="sun.java.launcher" value="SUN_STANDARD" />
    +
    +          <property name="user.dir" value="/home/vsts/work/1/s" />
    +
    +          <property name="java.vm.compressedOopsMode" value="32-bit" />
    +
    +          <property name="java.vm.specification.name" value="Java Virtual Machine Specification" />
    +
    +          <property name="java.runtime.version" value="17.0.10+7" />
    +
    +          <property name="os.arch" value="amd64" />
    +
    +          <property name="java.io.tmpdir" value="/tmp" />
    +
    +          <property name="line.separator" value="&#xa;" />
    +
    +          <property name="java.vm.specification.vendor" value="Oracle Corporation" />
    +
    +          <property name="os.name" value="Linux" />
    +
    +          <property name="classworlds.conf" value="/home/vsts/work/1/s/.maven/bin/m2.conf" />
    +
    +          <property name="sun.jnu.encoding" value="UTF-8" />
    +
    +          <property name="deployAtEnd" value="true" />
    +
    +          <property name="java.library.path" value="/usr/java/packages/lib:/usr/lib64:/lib64:/lib:/usr/lib" />
    +
    +          <property name="maven.conf" value="/home/vsts/work/1/s/.maven/conf" />
    +
    +          <property name="jdk.debug" value="release" />
    +
    +          <property name="java.class.version" value="61.0" />
    +
    +          <property name="java.specification.name" value="Java Platform API Specification" />
    +
    +          <property name="sun.management.compiler" value="HotSpot 64-Bit Tiered Compilers" />
    +
    +          <property name="os.version" value="5.15.0-1059-azure" />
    +
    +          <property name="library.jansi.path" value="/home/vsts/work/1/s/.maven/lib/jansi-native" />
    +
    +          <property name="user.home" value="/home/vsts" />
    +
    +          <property name="user.timezone" value="Etc/UTC" />
    +
    +          <property name="file.encoding" value="UTF-8" />
    +
    +          <property name="java.specification.version" value="17" />
    +
    +          <property name="java.class.path" value="/home/vsts/work/1/s/.maven/boot/plexus-classworlds-2.6.0.jar" />
    +
    +          <property name="user.name" value="vsts" />
    +
    +          <property name="bytecode.version" value="5" />
    +
    +          <property name="java.vm.specification.version" value="17" />
    +
    +          <property name="sun.arch.data.model" value="64" />
    +
    +          <property name="sun.java.command" value="org.codehaus.plexus.classworlds.launcher.Launcher -V -B -e --no-transfer-progress -f org.jacoco.build verify -Djdk.version=5 -Dbytecode.version=5 deploy:deploy -DdeployAtEnd --toolchains=toolchains.xml --settings=.azure-pipelines/maven-settings.xml" />
    +
    +          <property name="java.home" value="/usr/lib/jvm/temurin-17-jdk-amd64" />
    +
    +          <property name="user.language" value="en" />
    +
    +          <property name="java.specification.vendor" value="Oracle Corporation" />
    +
    +          <property name="java.vm.info" value="mixed mode, sharing" />
    +
    +          <property name="java.version" value="17.0.10" />
    +
    +          <property name="native.encoding" value="UTF-8" />
    +
    +          <property name="securerandom.source" value="file:/dev/./urandom" />
    +
    +          <property name="java.vendor" value="Eclipse Adoptium" />
    +
    +          <property name="maven.home" value="/home/vsts/work/1/s/.maven" />
    +
    +          <property name="file.separator" value="/" />
    +
    +          <property name="java.version.date" value="2024-01-16" />
    +
    +          <property name="java.vendor.url.bug" value="https://github.com/adoptium/adoptium-support/issues" />
    +
    +          <property name="sun.cpu.endian" value="little" />
    +
    +          <property name="sun.io.unicode.encoding" value="UnicodeLittle" />
    +
    +          <property name="sun.font.fontmanager" value="sun.awt.X11FontManager" />
    +
    +          <property name="java.vendor.version" value="Temurin-17.0.10+7" />
    +
    +      </properties>
    +
    +      <testcase classname="org.jacoco.cli.internal.commands.InstrumentTest" name="should_instrument_class_files_to_dest_folder_when_class_files_are_given" time="0.035" />
    +
    +      <testcase classname="org.jacoco.cli.internal.commands.InstrumentTest" name="should_print_usage_when_no_options_are_given" time="0.002" />
    +
    +      <testcase classname="org.jacoco.cli.internal.commands.InstrumentTest" name="should_instrument_class_files_and_copy_resources_when_folder_is_given" time="0.033" />
    +
    +      <testcase classname="org.jacoco.cli.internal.commands.InstrumentTest" name="should_not_create_dest_file_when_source_class_is_broken" time="0.002" />
    +
    +      <testcase classname="org.jacoco.cli.internal.commands.InstrumentTest" name="should_not_instrument_anything_when_no_source_is_given" time="0.003" />
    +
    +  </testsuite>
    +  <testsuite errors="0" failures="0" id="29" name="MergeTest" package="org.jacoco.cli.internal.commands" skipped="0" tests="3" time="0.009" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="https://maven.apache.org/surefire/maven-surefire-plugin/xsd/surefire-test-report.xsd">
    +      <properties>
    +          <property name="jansi.mode" value="strip" />
    +
    +          <property name="java.runtime.name" value="OpenJDK Runtime Environment" />
    +
    +          <property name="java.vm.version" value="17.0.10+7" />
    +
    +          <property name="sun.boot.library.path" value="/usr/lib/jvm/temurin-17-jdk-amd64/lib" />
    +
    +          <property name="maven.multiModuleProjectDirectory" value="/home/vsts/work/1/s/org.jacoco.build" />
    +
    +          <property name="java.vm.vendor" value="Eclipse Adoptium" />
    +
    +          <property name="jdk.version" value="5" />
    +
    +          <property name="java.vendor.url" value="https://adoptium.net/" />
    +
    +          <property name="path.separator" value=":" />
    +
    +          <property name="guice.disable.misplaced.annotation.check" value="true" />
    +
    +          <property name="java.vm.name" value="OpenJDK 64-Bit Server VM" />
    +
    +          <property name="sun.java.launcher" value="SUN_STANDARD" />
    +
    +          <property name="user.dir" value="/home/vsts/work/1/s" />
    +
    +          <property name="java.vm.compressedOopsMode" value="32-bit" />
    +
    +          <property name="java.vm.specification.name" value="Java Virtual Machine Specification" />
    +
    +          <property name="java.runtime.version" value="17.0.10+7" />
    +
    +          <property name="os.arch" value="amd64" />
    +
    +          <property name="java.io.tmpdir" value="/tmp" />
    +
    +          <property name="line.separator" value="&#xa;" />
    +
    +          <property name="java.vm.specification.vendor" value="Oracle Corporation" />
    +
    +          <property name="os.name" value="Linux" />
    +
    +          <property name="classworlds.conf" value="/home/vsts/work/1/s/.maven/bin/m2.conf" />
    +
    +          <property name="sun.jnu.encoding" value="UTF-8" />
    +
    +          <property name="deployAtEnd" value="true" />
    +
    +          <property name="java.library.path" value="/usr/java/packages/lib:/usr/lib64:/lib64:/lib:/usr/lib" />
    +
    +          <property name="maven.conf" value="/home/vsts/work/1/s/.maven/conf" />
    +
    +          <property name="jdk.debug" value="release" />
    +
    +          <property name="java.class.version" value="61.0" />
    +
    +          <property name="java.specification.name" value="Java Platform API Specification" />
    +
    +          <property name="sun.management.compiler" value="HotSpot 64-Bit Tiered Compilers" />
    +
    +          <property name="os.version" value="5.15.0-1059-azure" />
    +
    +          <property name="library.jansi.path" value="/home/vsts/work/1/s/.maven/lib/jansi-native" />
    +
    +          <property name="user.home" value="/home/vsts" />
    +
    +          <property name="user.timezone" value="Etc/UTC" />
    +
    +          <property name="file.encoding" value="UTF-8" />
    +
    +          <property name="java.specification.version" value="17" />
    +
    +          <property name="java.class.path" value="/home/vsts/work/1/s/.maven/boot/plexus-classworlds-2.6.0.jar" />
    +
    +          <property name="user.name" value="vsts" />
    +
    +          <property name="bytecode.version" value="5" />
    +
    +          <property name="java.vm.specification.version" value="17" />
    +
    +          <property name="sun.arch.data.model" value="64" />
    +
    +          <property name="sun.java.command" value="org.codehaus.plexus.classworlds.launcher.Launcher -V -B -e --no-transfer-progress -f org.jacoco.build verify -Djdk.version=5 -Dbytecode.version=5 deploy:deploy -DdeployAtEnd --toolchains=toolchains.xml --settings=.azure-pipelines/maven-settings.xml" />
    +
    +          <property name="java.home" value="/usr/lib/jvm/temurin-17-jdk-amd64" />
    +
    +          <property name="user.language" value="en" />
    +
    +          <property name="java.specification.vendor" value="Oracle Corporation" />
    +
    +          <property name="java.vm.info" value="mixed mode, sharing" />
    +
    +          <property name="java.version" value="17.0.10" />
    +
    +          <property name="native.encoding" value="UTF-8" />
    +
    +          <property name="securerandom.source" value="file:/dev/./urandom" />
    +
    +          <property name="java.vendor" value="Eclipse Adoptium" />
    +
    +          <property name="maven.home" value="/home/vsts/work/1/s/.maven" />
    +
    +          <property name="file.separator" value="/" />
    +
    +          <property name="java.version.date" value="2024-01-16" />
    +
    +          <property name="java.vendor.url.bug" value="https://github.com/adoptium/adoptium-support/issues" />
    +
    +          <property name="sun.cpu.endian" value="little" />
    +
    +          <property name="sun.io.unicode.encoding" value="UnicodeLittle" />
    +
    +          <property name="sun.font.fontmanager" value="sun.awt.X11FontManager" />
    +
    +          <property name="java.vendor.version" value="Temurin-17.0.10+7" />
    +
    +      </properties>
    +
    +      <testcase classname="org.jacoco.cli.internal.commands.MergeTest" name="should_merge_exec_files" time="0.004" />
    +
    +      <testcase classname="org.jacoco.cli.internal.commands.MergeTest" name="should_print_usage_when_no_options_are_given" time="0.002" />
    +
    +      <testcase classname="org.jacoco.cli.internal.commands.MergeTest" name="should_print_warning_when_no_exec_files_are_provided" time="0.002" />
    +
    +  </testsuite>
    +  <testsuite errors="0" failures="0" id="30" name="ReportTest" package="org.jacoco.cli.internal.commands" skipped="0" tests="8" time="0.372" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="https://maven.apache.org/surefire/maven-surefire-plugin/xsd/surefire-test-report.xsd">
    +      <properties>
    +          <property name="jansi.mode" value="strip" />
    +
    +          <property name="java.runtime.name" value="OpenJDK Runtime Environment" />
    +
    +          <property name="java.vm.version" value="17.0.10+7" />
    +
    +          <property name="sun.boot.library.path" value="/usr/lib/jvm/temurin-17-jdk-amd64/lib" />
    +
    +          <property name="maven.multiModuleProjectDirectory" value="/home/vsts/work/1/s/org.jacoco.build" />
    +
    +          <property name="java.vm.vendor" value="Eclipse Adoptium" />
    +
    +          <property name="jdk.version" value="5" />
    +
    +          <property name="java.vendor.url" value="https://adoptium.net/" />
    +
    +          <property name="path.separator" value=":" />
    +
    +          <property name="guice.disable.misplaced.annotation.check" value="true" />
    +
    +          <property name="java.vm.name" value="OpenJDK 64-Bit Server VM" />
    +
    +          <property name="sun.java.launcher" value="SUN_STANDARD" />
    +
    +          <property name="user.dir" value="/home/vsts/work/1/s" />
    +
    +          <property name="java.vm.compressedOopsMode" value="32-bit" />
    +
    +          <property name="java.vm.specification.name" value="Java Virtual Machine Specification" />
    +
    +          <property name="java.runtime.version" value="17.0.10+7" />
    +
    +          <property name="os.arch" value="amd64" />
    +
    +          <property name="java.io.tmpdir" value="/tmp" />
    +
    +          <property name="line.separator" value="&#xa;" />
    +
    +          <property name="java.vm.specification.vendor" value="Oracle Corporation" />
    +
    +          <property name="os.name" value="Linux" />
    +
    +          <property name="classworlds.conf" value="/home/vsts/work/1/s/.maven/bin/m2.conf" />
    +
    +          <property name="sun.jnu.encoding" value="UTF-8" />
    +
    +          <property name="deployAtEnd" value="true" />
    +
    +          <property name="java.library.path" value="/usr/java/packages/lib:/usr/lib64:/lib64:/lib:/usr/lib" />
    +
    +          <property name="maven.conf" value="/home/vsts/work/1/s/.maven/conf" />
    +
    +          <property name="jdk.debug" value="release" />
    +
    +          <property name="java.class.version" value="61.0" />
    +
    +          <property name="java.specification.name" value="Java Platform API Specification" />
    +
    +          <property name="sun.management.compiler" value="HotSpot 64-Bit Tiered Compilers" />
    +
    +          <property name="os.version" value="5.15.0-1059-azure" />
    +
    +          <property name="library.jansi.path" value="/home/vsts/work/1/s/.maven/lib/jansi-native" />
    +
    +          <property name="user.home" value="/home/vsts" />
    +
    +          <property name="user.timezone" value="Etc/UTC" />
    +
    +          <property name="file.encoding" value="UTF-8" />
    +
    +          <property name="java.specification.version" value="17" />
    +
    +          <property name="java.class.path" value="/home/vsts/work/1/s/.maven/boot/plexus-classworlds-2.6.0.jar" />
    +
    +          <property name="user.name" value="vsts" />
    +
    +          <property name="bytecode.version" value="5" />
    +
    +          <property name="java.vm.specification.version" value="17" />
    +
    +          <property name="sun.arch.data.model" value="64" />
    +
    +          <property name="sun.java.command" value="org.codehaus.plexus.classworlds.launcher.Launcher -V -B -e --no-transfer-progress -f org.jacoco.build verify -Djdk.version=5 -Dbytecode.version=5 deploy:deploy -DdeployAtEnd --toolchains=toolchains.xml --settings=.azure-pipelines/maven-settings.xml" />
    +
    +          <property name="java.home" value="/usr/lib/jvm/temurin-17-jdk-amd64" />
    +
    +          <property name="user.language" value="en" />
    +
    +          <property name="java.specification.vendor" value="Oracle Corporation" />
    +
    +          <property name="java.vm.info" value="mixed mode, sharing" />
    +
    +          <property name="java.version" value="17.0.10" />
    +
    +          <property name="native.encoding" value="UTF-8" />
    +
    +          <property name="securerandom.source" value="file:/dev/./urandom" />
    +
    +          <property name="java.vendor" value="Eclipse Adoptium" />
    +
    +          <property name="maven.home" value="/home/vsts/work/1/s/.maven" />
    +
    +          <property name="file.separator" value="/" />
    +
    +          <property name="java.version.date" value="2024-01-16" />
    +
    +          <property name="java.vendor.url.bug" value="https://github.com/adoptium/adoptium-support/issues" />
    +
    +          <property name="sun.cpu.endian" value="little" />
    +
    +          <property name="sun.io.unicode.encoding" value="UnicodeLittle" />
    +
    +          <property name="sun.font.fontmanager" value="sun.awt.X11FontManager" />
    +
    +          <property name="java.vendor.version" value="Temurin-17.0.10+7" />
    +
    +      </properties>
    +
    +      <testcase classname="org.jacoco.cli.internal.commands.ReportTest" name="should_use_all_values_when_multiple_classfiles_options_are_provided" time="0.12" />
    +
    +      <testcase classname="org.jacoco.cli.internal.commands.ReportTest" name="should_create_xml_report_when_xml_option_is_provided" time="0.052" />
    +
    +      <testcase classname="org.jacoco.cli.internal.commands.ReportTest" name="should_print_number_of_analyzed_classes" time="0.023" />
    +
    +      <testcase classname="org.jacoco.cli.internal.commands.ReportTest" name="should_create_csv_report_when_csv_option_is_provided" time="0.035" />
    +
    +      <testcase classname="org.jacoco.cli.internal.commands.ReportTest" name="should_print_usage_when_no_options_are_given" time="0.004" />
    +
    +      <testcase classname="org.jacoco.cli.internal.commands.ReportTest" name="should_print_warning_when_no_exec_files_are_provided" time="0.033" />
    +
    +      <testcase classname="org.jacoco.cli.internal.commands.ReportTest" name="should_print_warning_when_exec_data_does_not_match" time="0.02" />
    +
    +      <testcase classname="org.jacoco.cli.internal.commands.ReportTest" name="should_create_html_report_when_html_option_is_provided" time="0.076" />
    +
    +  </testsuite>
    +  <testsuite errors="0" failures="0" id="31" name="VersionTest" package="org.jacoco.cli.internal.commands" skipped="0" tests="1" time="0.001" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="https://maven.apache.org/surefire/maven-surefire-plugin/xsd/surefire-test-report.xsd">
    +      <properties>
    +          <property name="jansi.mode" value="strip" />
    +
    +          <property name="java.runtime.name" value="OpenJDK Runtime Environment" />
    +
    +          <property name="java.vm.version" value="17.0.10+7" />
    +
    +          <property name="sun.boot.library.path" value="/usr/lib/jvm/temurin-17-jdk-amd64/lib" />
    +
    +          <property name="maven.multiModuleProjectDirectory" value="/home/vsts/work/1/s/org.jacoco.build" />
    +
    +          <property name="java.vm.vendor" value="Eclipse Adoptium" />
    +
    +          <property name="jdk.version" value="5" />
    +
    +          <property name="java.vendor.url" value="https://adoptium.net/" />
    +
    +          <property name="path.separator" value=":" />
    +
    +          <property name="guice.disable.misplaced.annotation.check" value="true" />
    +
    +          <property name="java.vm.name" value="OpenJDK 64-Bit Server VM" />
    +
    +          <property name="sun.java.launcher" value="SUN_STANDARD" />
    +
    +          <property name="user.dir" value="/home/vsts/work/1/s" />
    +
    +          <property name="java.vm.compressedOopsMode" value="32-bit" />
    +
    +          <property name="java.vm.specification.name" value="Java Virtual Machine Specification" />
    +
    +          <property name="java.runtime.version" value="17.0.10+7" />
    +
    +          <property name="os.arch" value="amd64" />
    +
    +          <property name="java.io.tmpdir" value="/tmp" />
    +
    +          <property name="line.separator" value="&#xa;" />
    +
    +          <property name="java.vm.specification.vendor" value="Oracle Corporation" />
    +
    +          <property name="os.name" value="Linux" />
    +
    +          <property name="classworlds.conf" value="/home/vsts/work/1/s/.maven/bin/m2.conf" />
    +
    +          <property name="sun.jnu.encoding" value="UTF-8" />
    +
    +          <property name="deployAtEnd" value="true" />
    +
    +          <property name="java.library.path" value="/usr/java/packages/lib:/usr/lib64:/lib64:/lib:/usr/lib" />
    +
    +          <property name="maven.conf" value="/home/vsts/work/1/s/.maven/conf" />
    +
    +          <property name="jdk.debug" value="release" />
    +
    +          <property name="java.class.version" value="61.0" />
    +
    +          <property name="java.specification.name" value="Java Platform API Specification" />
    +
    +          <property name="sun.management.compiler" value="HotSpot 64-Bit Tiered Compilers" />
    +
    +          <property name="os.version" value="5.15.0-1059-azure" />
    +
    +          <property name="library.jansi.path" value="/home/vsts/work/1/s/.maven/lib/jansi-native" />
    +
    +          <property name="user.home" value="/home/vsts" />
    +
    +          <property name="user.timezone" value="Etc/UTC" />
    +
    +          <property name="file.encoding" value="UTF-8" />
    +
    +          <property name="java.specification.version" value="17" />
    +
    +          <property name="java.class.path" value="/home/vsts/work/1/s/.maven/boot/plexus-classworlds-2.6.0.jar" />
    +
    +          <property name="user.name" value="vsts" />
    +
    +          <property name="bytecode.version" value="5" />
    +
    +          <property name="java.vm.specification.version" value="17" />
    +
    +          <property name="sun.arch.data.model" value="64" />
    +
    +          <property name="sun.java.command" value="org.codehaus.plexus.classworlds.launcher.Launcher -V -B -e --no-transfer-progress -f org.jacoco.build verify -Djdk.version=5 -Dbytecode.version=5 deploy:deploy -DdeployAtEnd --toolchains=toolchains.xml --settings=.azure-pipelines/maven-settings.xml" />
    +
    +          <property name="java.home" value="/usr/lib/jvm/temurin-17-jdk-amd64" />
    +
    +          <property name="user.language" value="en" />
    +
    +          <property name="java.specification.vendor" value="Oracle Corporation" />
    +
    +          <property name="java.vm.info" value="mixed mode, sharing" />
    +
    +          <property name="java.version" value="17.0.10" />
    +
    +          <property name="native.encoding" value="UTF-8" />
    +
    +          <property name="securerandom.source" value="file:/dev/./urandom" />
    +
    +          <property name="java.vendor" value="Eclipse Adoptium" />
    +
    +          <property name="maven.home" value="/home/vsts/work/1/s/.maven" />
    +
    +          <property name="file.separator" value="/" />
    +
    +          <property name="java.version.date" value="2024-01-16" />
    +
    +          <property name="java.vendor.url.bug" value="https://github.com/adoptium/adoptium-support/issues" />
    +
    +          <property name="sun.cpu.endian" value="little" />
    +
    +          <property name="sun.io.unicode.encoding" value="UnicodeLittle" />
    +
    +          <property name="sun.font.fontmanager" value="sun.awt.X11FontManager" />
    +
    +          <property name="java.vendor.version" value="Temurin-17.0.10+7" />
    +
    +      </properties>
    +
    +      <testcase classname="org.jacoco.cli.internal.commands.VersionTest" name="should_print_version" time="0" />
    +
    +  </testsuite>
    +  <testsuite errors="0" failures="0" id="32" name="JaCoCoTest" package="org.jacoco.core" skipped="0" tests="5" time="0.002" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="https://maven.apache.org/surefire/maven-surefire-plugin/xsd/surefire-test-report.xsd">
    +      <properties>
    +          <property name="jansi.mode" value="strip" />
    +
    +          <property name="java.runtime.name" value="OpenJDK Runtime Environment" />
    +
    +          <property name="java.vm.version" value="17.0.10+7" />
    +
    +          <property name="sun.boot.library.path" value="/usr/lib/jvm/temurin-17-jdk-amd64/lib" />
    +
    +          <property name="maven.multiModuleProjectDirectory" value="/home/vsts/work/1/s/org.jacoco.build" />
    +
    +          <property name="jdk.version" value="5" />
    +
    +          <property name="java.vm.vendor" value="Eclipse Adoptium" />
    +
    +          <property name="java.vendor.url" value="https://adoptium.net/" />
    +
    +          <property name="guice.disable.misplaced.annotation.check" value="true" />
    +
    +          <property name="path.separator" value=":" />
    +
    +          <property name="java.vm.name" value="OpenJDK 64-Bit Server VM" />
    +
    +          <property name="sun.java.launcher" value="SUN_STANDARD" />
    +
    +          <property name="java.vm.specification.name" value="Java Virtual Machine Specification" />
    +
    +          <property name="user.dir" value="/home/vsts/work/1/s" />
    +
    +          <property name="java.vm.compressedOopsMode" value="32-bit" />
    +
    +          <property name="java.runtime.version" value="17.0.10+7" />
    +
    +          <property name="os.arch" value="amd64" />
    +
    +          <property name="java.io.tmpdir" value="/tmp" />
    +
    +          <property name="line.separator" value="&#xa;" />
    +
    +          <property name="java.vm.specification.vendor" value="Oracle Corporation" />
    +
    +          <property name="os.name" value="Linux" />
    +
    +          <property name="classworlds.conf" value="/home/vsts/work/1/s/.maven/bin/m2.conf" />
    +
    +          <property name="sun.jnu.encoding" value="UTF-8" />
    +
    +          <property name="deployAtEnd" value="true" />
    +
    +          <property name="java.library.path" value="/usr/java/packages/lib:/usr/lib64:/lib64:/lib:/usr/lib" />
    +
    +          <property name="maven.conf" value="/home/vsts/work/1/s/.maven/conf" />
    +
    +          <property name="jdk.debug" value="release" />
    +
    +          <property name="java.class.version" value="61.0" />
    +
    +          <property name="java.specification.name" value="Java Platform API Specification" />
    +
    +          <property name="sun.management.compiler" value="HotSpot 64-Bit Tiered Compilers" />
    +
    +          <property name="os.version" value="5.15.0-1059-azure" />
    +
    +          <property name="library.jansi.path" value="/home/vsts/work/1/s/.maven/lib/jansi-native" />
    +
    +          <property name="user.home" value="/home/vsts" />
    +
    +          <property name="user.timezone" value="Etc/UTC" />
    +
    +          <property name="file.encoding" value="UTF-8" />
    +
    +          <property name="java.specification.version" value="17" />
    +
    +          <property name="user.name" value="vsts" />
    +
    +          <property name="java.class.path" value="/home/vsts/work/1/s/.maven/boot/plexus-classworlds-2.6.0.jar" />
    +
    +          <property name="bytecode.version" value="5" />
    +
    +          <property name="java.vm.specification.version" value="17" />
    +
    +          <property name="sun.arch.data.model" value="64" />
    +
    +          <property name="sun.java.command" value="org.codehaus.plexus.classworlds.launcher.Launcher -V -B -e --no-transfer-progress -f org.jacoco.build verify -Djdk.version=5 -Dbytecode.version=5 deploy:deploy -DdeployAtEnd --toolchains=toolchains.xml --settings=.azure-pipelines/maven-settings.xml" />
    +
    +          <property name="java.home" value="/usr/lib/jvm/temurin-17-jdk-amd64" />
    +
    +          <property name="user.language" value="en" />
    +
    +          <property name="java.specification.vendor" value="Oracle Corporation" />
    +
    +          <property name="java.vm.info" value="mixed mode, sharing" />
    +
    +          <property name="java.version" value="17.0.10" />
    +
    +          <property name="native.encoding" value="UTF-8" />
    +
    +          <property name="securerandom.source" value="file:/dev/./urandom" />
    +
    +          <property name="java.vendor" value="Eclipse Adoptium" />
    +
    +          <property name="maven.home" value="/home/vsts/work/1/s/.maven" />
    +
    +          <property name="file.separator" value="/" />
    +
    +          <property name="java.version.date" value="2024-01-16" />
    +
    +          <property name="java.vendor.url.bug" value="https://github.com/adoptium/adoptium-support/issues" />
    +
    +          <property name="sun.io.unicode.encoding" value="UnicodeLittle" />
    +
    +          <property name="sun.font.fontmanager" value="sun.awt.X11FontManager" />
    +
    +          <property name="sun.cpu.endian" value="little" />
    +
    +          <property name="java.vendor.version" value="Temurin-17.0.10+7" />
    +
    +      </properties>
    +
    +      <testcase classname="org.jacoco.core.JaCoCoTest" name="testVERSION" time="0" />
    +
    +      <testcase classname="org.jacoco.core.JaCoCoTest" name="testRUNTIMEPACKAGE" time="0" />
    +
    +      <testcase classname="org.jacoco.core.JaCoCoTest" name="testHOMEURL" time="0" />
    +
    +      <testcase classname="org.jacoco.core.JaCoCoTest" name="testCOMMITID" time="0.001" />
    +
    +      <testcase classname="org.jacoco.core.JaCoCoTest" name="testCOMMITID_SHORT" time="0" />
    +
    +  </testsuite>
    +  <testsuite errors="0" failures="0" id="33" name="AnalyzerTest" package="org.jacoco.core.analysis" skipped="0" tests="24" time="0.216" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="https://maven.apache.org/surefire/maven-surefire-plugin/xsd/surefire-test-report.xsd">
    +      <properties>
    +          <property name="jansi.mode" value="strip" />
    +
    +          <property name="java.runtime.name" value="OpenJDK Runtime Environment" />
    +
    +          <property name="java.vm.version" value="17.0.10+7" />
    +
    +          <property name="sun.boot.library.path" value="/usr/lib/jvm/temurin-17-jdk-amd64/lib" />
    +
    +          <property name="maven.multiModuleProjectDirectory" value="/home/vsts/work/1/s/org.jacoco.build" />
    +
    +          <property name="jdk.version" value="5" />
    +
    +          <property name="java.vm.vendor" value="Eclipse Adoptium" />
    +
    +          <property name="java.vendor.url" value="https://adoptium.net/" />
    +
    +          <property name="guice.disable.misplaced.annotation.check" value="true" />
    +
    +          <property name="path.separator" value=":" />
    +
    +          <property name="java.vm.name" value="OpenJDK 64-Bit Server VM" />
    +
    +          <property name="sun.java.launcher" value="SUN_STANDARD" />
    +
    +          <property name="java.vm.specification.name" value="Java Virtual Machine Specification" />
    +
    +          <property name="user.dir" value="/home/vsts/work/1/s" />
    +
    +          <property name="java.vm.compressedOopsMode" value="32-bit" />
    +
    +          <property name="java.runtime.version" value="17.0.10+7" />
    +
    +          <property name="os.arch" value="amd64" />
    +
    +          <property name="java.io.tmpdir" value="/tmp" />
    +
    +          <property name="line.separator" value="&#xa;" />
    +
    +          <property name="java.vm.specification.vendor" value="Oracle Corporation" />
    +
    +          <property name="os.name" value="Linux" />
    +
    +          <property name="classworlds.conf" value="/home/vsts/work/1/s/.maven/bin/m2.conf" />
    +
    +          <property name="sun.jnu.encoding" value="UTF-8" />
    +
    +          <property name="deployAtEnd" value="true" />
    +
    +          <property name="java.library.path" value="/usr/java/packages/lib:/usr/lib64:/lib64:/lib:/usr/lib" />
    +
    +          <property name="maven.conf" value="/home/vsts/work/1/s/.maven/conf" />
    +
    +          <property name="jdk.debug" value="release" />
    +
    +          <property name="java.class.version" value="61.0" />
    +
    +          <property name="java.specification.name" value="Java Platform API Specification" />
    +
    +          <property name="sun.management.compiler" value="HotSpot 64-Bit Tiered Compilers" />
    +
    +          <property name="os.version" value="5.15.0-1059-azure" />
    +
    +          <property name="library.jansi.path" value="/home/vsts/work/1/s/.maven/lib/jansi-native" />
    +
    +          <property name="user.home" value="/home/vsts" />
    +
    +          <property name="user.timezone" value="Etc/UTC" />
    +
    +          <property name="file.encoding" value="UTF-8" />
    +
    +          <property name="java.specification.version" value="17" />
    +
    +          <property name="user.name" value="vsts" />
    +
    +          <property name="java.class.path" value="/home/vsts/work/1/s/.maven/boot/plexus-classworlds-2.6.0.jar" />
    +
    +          <property name="bytecode.version" value="5" />
    +
    +          <property name="java.vm.specification.version" value="17" />
    +
    +          <property name="sun.arch.data.model" value="64" />
    +
    +          <property name="sun.java.command" value="org.codehaus.plexus.classworlds.launcher.Launcher -V -B -e --no-transfer-progress -f org.jacoco.build verify -Djdk.version=5 -Dbytecode.version=5 deploy:deploy -DdeployAtEnd --toolchains=toolchains.xml --settings=.azure-pipelines/maven-settings.xml" />
    +
    +          <property name="java.home" value="/usr/lib/jvm/temurin-17-jdk-amd64" />
    +
    +          <property name="user.language" value="en" />
    +
    +          <property name="java.specification.vendor" value="Oracle Corporation" />
    +
    +          <property name="java.vm.info" value="mixed mode, sharing" />
    +
    +          <property name="java.version" value="17.0.10" />
    +
    +          <property name="native.encoding" value="UTF-8" />
    +
    +          <property name="securerandom.source" value="file:/dev/./urandom" />
    +
    +          <property name="java.vendor" value="Eclipse Adoptium" />
    +
    +          <property name="maven.home" value="/home/vsts/work/1/s/.maven" />
    +
    +          <property name="file.separator" value="/" />
    +
    +          <property name="java.version.date" value="2024-01-16" />
    +
    +          <property name="java.vendor.url.bug" value="https://github.com/adoptium/adoptium-support/issues" />
    +
    +          <property name="sun.io.unicode.encoding" value="UnicodeLittle" />
    +
    +          <property name="sun.font.fontmanager" value="sun.awt.X11FontManager" />
    +
    +          <property name="sun.cpu.endian" value="little" />
    +
    +          <property name="java.vendor.version" value="Temurin-17.0.10+7" />
    +
    +      </properties>
    +
    +      <testcase classname="org.jacoco.core.analysis.AnalyzerTest" name="testAnalyzeClassNoIdMatch" time="0.015" />
    +
    +      <testcase classname="org.jacoco.core.analysis.AnalyzerTest" name="testAnalyzeClass_Broken" time="0.001" />
    +
    +      <testcase classname="org.jacoco.core.analysis.AnalyzerTest" name="analyzeAll_should_throw_exception_for_unsupported_class_file_version" time="0.001" />
    +
    +      <testcase classname="org.jacoco.core.analysis.AnalyzerTest" name="testAnalyzeAll_Pack200" time="0.028" />
    +
    +      <testcase classname="org.jacoco.core.analysis.AnalyzerTest" name="testAnalyzeClassFromStream" time="0.012" />
    +
    +      <testcase classname="org.jacoco.core.analysis.AnalyzerTest" name="should_ignore_module_info" time="0" />
    +
    +      <testcase classname="org.jacoco.core.analysis.AnalyzerTest" name="testAnalyzeAll_Zip" time="0.024" />
    +
    +      <testcase classname="org.jacoco.core.analysis.AnalyzerTest" name="should_ignore_synthetic_classes" time="0" />
    +
    +      <testcase classname="org.jacoco.core.analysis.AnalyzerTest" name="testAnalyzeAll_BrokenGZ" time="0.001" />
    +
    +      <testcase classname="org.jacoco.core.analysis.AnalyzerTest" name="testAnalyzeAll_BrokenClassFileInZip" time="0.001" />
    +
    +      <testcase classname="org.jacoco.core.analysis.AnalyzerTest" name="testAnalyzeAll_Broken" time="0.001" />
    +
    +      <testcase classname="org.jacoco.core.analysis.AnalyzerTest" name="testAnalyzeAll_BrokenPack200" time="0" />
    +
    +      <testcase classname="org.jacoco.core.analysis.AnalyzerTest" name="testAnalyzeAll_Folder" time="0.028" />
    +
    +      <testcase classname="org.jacoco.core.analysis.AnalyzerTest" name="should_not_modify_class_bytes_to_support_next_version" time="0.001" />
    +
    +      <testcase classname="org.jacoco.core.analysis.AnalyzerTest" name="testAnalyzeAll_BrokenZipEntry" time="0.001" />
    +
    +      <testcase classname="org.jacoco.core.analysis.AnalyzerTest" name="analyzeClass_should_throw_exception_for_unsupported_class_file_version" time="0" />
    +
    +      <testcase classname="org.jacoco.core.analysis.AnalyzerTest" name="testAnalyzeClass_BrokenStream" time="0.001" />
    +
    +      <testcase classname="org.jacoco.core.analysis.AnalyzerTest" name="testAnalyzeAll_BrokenZip" time="0" />
    +
    +      <testcase classname="org.jacoco.core.analysis.AnalyzerTest" name="testAnalyzeClassIdMatch" time="0.028" />
    +
    +      <testcase classname="org.jacoco.core.analysis.AnalyzerTest" name="testAnalyzeAll_Path" time="0.023" />
    +
    +      <testcase classname="org.jacoco.core.analysis.AnalyzerTest" name="testAnalyzeAll_Class" time="0.022" />
    +
    +      <testcase classname="org.jacoco.core.analysis.AnalyzerTest" name="testAnalyzeAll_Empty" time="0.001" />
    +
    +      <testcase classname="org.jacoco.core.analysis.AnalyzerTest" name="testAnalyzeClassFromByteArray" time="0.016" />
    +
    +      <testcase classname="org.jacoco.core.analysis.AnalyzerTest" name="testAnalyzeAll_EmptyZipEntry" time="0" />
    +
    +  </testsuite>
    +  <testsuite errors="0" failures="0" id="34" name="CounterComparatorTest" package="org.jacoco.core.analysis" skipped="0" tests="9" time="0.002" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="https://maven.apache.org/surefire/maven-surefire-plugin/xsd/surefire-test-report.xsd">
    +      <properties>
    +          <property name="jansi.mode" value="strip" />
    +
    +          <property name="java.runtime.name" value="OpenJDK Runtime Environment" />
    +
    +          <property name="java.vm.version" value="17.0.10+7" />
    +
    +          <property name="sun.boot.library.path" value="/usr/lib/jvm/temurin-17-jdk-amd64/lib" />
    +
    +          <property name="maven.multiModuleProjectDirectory" value="/home/vsts/work/1/s/org.jacoco.build" />
    +
    +          <property name="jdk.version" value="5" />
    +
    +          <property name="java.vm.vendor" value="Eclipse Adoptium" />
    +
    +          <property name="java.vendor.url" value="https://adoptium.net/" />
    +
    +          <property name="guice.disable.misplaced.annotation.check" value="true" />
    +
    +          <property name="path.separator" value=":" />
    +
    +          <property name="java.vm.name" value="OpenJDK 64-Bit Server VM" />
    +
    +          <property name="sun.java.launcher" value="SUN_STANDARD" />
    +
    +          <property name="java.vm.specification.name" value="Java Virtual Machine Specification" />
    +
    +          <property name="user.dir" value="/home/vsts/work/1/s" />
    +
    +          <property name="java.vm.compressedOopsMode" value="32-bit" />
    +
    +          <property name="java.runtime.version" value="17.0.10+7" />
    +
    +          <property name="os.arch" value="amd64" />
    +
    +          <property name="java.io.tmpdir" value="/tmp" />
    +
    +          <property name="line.separator" value="&#xa;" />
    +
    +          <property name="java.vm.specification.vendor" value="Oracle Corporation" />
    +
    +          <property name="os.name" value="Linux" />
    +
    +          <property name="classworlds.conf" value="/home/vsts/work/1/s/.maven/bin/m2.conf" />
    +
    +          <property name="sun.jnu.encoding" value="UTF-8" />
    +
    +          <property name="deployAtEnd" value="true" />
    +
    +          <property name="java.library.path" value="/usr/java/packages/lib:/usr/lib64:/lib64:/lib:/usr/lib" />
    +
    +          <property name="maven.conf" value="/home/vsts/work/1/s/.maven/conf" />
    +
    +          <property name="jdk.debug" value="release" />
    +
    +          <property name="java.class.version" value="61.0" />
    +
    +          <property name="java.specification.name" value="Java Platform API Specification" />
    +
    +          <property name="sun.management.compiler" value="HotSpot 64-Bit Tiered Compilers" />
    +
    +          <property name="os.version" value="5.15.0-1059-azure" />
    +
    +          <property name="library.jansi.path" value="/home/vsts/work/1/s/.maven/lib/jansi-native" />
    +
    +          <property name="user.home" value="/home/vsts" />
    +
    +          <property name="user.timezone" value="Etc/UTC" />
    +
    +          <property name="file.encoding" value="UTF-8" />
    +
    +          <property name="java.specification.version" value="17" />
    +
    +          <property name="user.name" value="vsts" />
    +
    +          <property name="java.class.path" value="/home/vsts/work/1/s/.maven/boot/plexus-classworlds-2.6.0.jar" />
    +
    +          <property name="bytecode.version" value="5" />
    +
    +          <property name="java.vm.specification.version" value="17" />
    +
    +          <property name="sun.arch.data.model" value="64" />
    +
    +          <property name="sun.java.command" value="org.codehaus.plexus.classworlds.launcher.Launcher -V -B -e --no-transfer-progress -f org.jacoco.build verify -Djdk.version=5 -Dbytecode.version=5 deploy:deploy -DdeployAtEnd --toolchains=toolchains.xml --settings=.azure-pipelines/maven-settings.xml" />
    +
    +          <property name="java.home" value="/usr/lib/jvm/temurin-17-jdk-amd64" />
    +
    +          <property name="user.language" value="en" />
    +
    +          <property name="java.specification.vendor" value="Oracle Corporation" />
    +
    +          <property name="java.vm.info" value="mixed mode, sharing" />
    +
    +          <property name="java.version" value="17.0.10" />
    +
    +          <property name="native.encoding" value="UTF-8" />
    +
    +          <property name="securerandom.source" value="file:/dev/./urandom" />
    +
    +          <property name="java.vendor" value="Eclipse Adoptium" />
    +
    +          <property name="maven.home" value="/home/vsts/work/1/s/.maven" />
    +
    +          <property name="file.separator" value="/" />
    +
    +          <property name="java.version.date" value="2024-01-16" />
    +
    +          <property name="java.vendor.url.bug" value="https://github.com/adoptium/adoptium-support/issues" />
    +
    +          <property name="sun.io.unicode.encoding" value="UnicodeLittle" />
    +
    +          <property name="sun.font.fontmanager" value="sun.awt.X11FontManager" />
    +
    +          <property name="sun.cpu.endian" value="little" />
    +
    +          <property name="java.vendor.version" value="Temurin-17.0.10+7" />
    +
    +      </properties>
    +
    +      <testcase classname="org.jacoco.core.analysis.CounterComparatorTest" name="testMissedItemsComparator" time="0" />
    +
    +      <testcase classname="org.jacoco.core.analysis.CounterComparatorTest" name="testReverseReverseComparator" time="0" />
    +
    +      <testcase classname="org.jacoco.core.analysis.CounterComparatorTest" name="testReverseComparator" time="0" />
    +
    +      <testcase classname="org.jacoco.core.analysis.CounterComparatorTest" name="testNodeComparator1" time="0.001" />
    +
    +      <testcase classname="org.jacoco.core.analysis.CounterComparatorTest" name="testNodeComparator2" time="0" />
    +
    +      <testcase classname="org.jacoco.core.analysis.CounterComparatorTest" name="testTotalItemsComparator" time="0" />
    +
    +      <testcase classname="org.jacoco.core.analysis.CounterComparatorTest" name="testCoveredRatioComparator" time="0" />
    +
    +      <testcase classname="org.jacoco.core.analysis.CounterComparatorTest" name="testCoveredItemsComparator" time="0" />
    +
    +      <testcase classname="org.jacoco.core.analysis.CounterComparatorTest" name="testMissedRatioComparator" time="0" />
    +
    +  </testsuite>
    +  <testsuite errors="0" failures="0" id="35" name="CoverageBuilderTest" package="org.jacoco.core.analysis" skipped="0" tests="9" time="0.004" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="https://maven.apache.org/surefire/maven-surefire-plugin/xsd/surefire-test-report.xsd">
    +      <properties>
    +          <property name="jansi.mode" value="strip" />
    +
    +          <property name="java.runtime.name" value="OpenJDK Runtime Environment" />
    +
    +          <property name="java.vm.version" value="17.0.10+7" />
    +
    +          <property name="sun.boot.library.path" value="/usr/lib/jvm/temurin-17-jdk-amd64/lib" />
    +
    +          <property name="maven.multiModuleProjectDirectory" value="/home/vsts/work/1/s/org.jacoco.build" />
    +
    +          <property name="jdk.version" value="5" />
    +
    +          <property name="java.vm.vendor" value="Eclipse Adoptium" />
    +
    +          <property name="java.vendor.url" value="https://adoptium.net/" />
    +
    +          <property name="guice.disable.misplaced.annotation.check" value="true" />
    +
    +          <property name="path.separator" value=":" />
    +
    +          <property name="java.vm.name" value="OpenJDK 64-Bit Server VM" />
    +
    +          <property name="sun.java.launcher" value="SUN_STANDARD" />
    +
    +          <property name="java.vm.specification.name" value="Java Virtual Machine Specification" />
    +
    +          <property name="user.dir" value="/home/vsts/work/1/s" />
    +
    +          <property name="java.vm.compressedOopsMode" value="32-bit" />
    +
    +          <property name="java.runtime.version" value="17.0.10+7" />
    +
    +          <property name="os.arch" value="amd64" />
    +
    +          <property name="java.io.tmpdir" value="/tmp" />
    +
    +          <property name="line.separator" value="&#xa;" />
    +
    +          <property name="java.vm.specification.vendor" value="Oracle Corporation" />
    +
    +          <property name="os.name" value="Linux" />
    +
    +          <property name="classworlds.conf" value="/home/vsts/work/1/s/.maven/bin/m2.conf" />
    +
    +          <property name="sun.jnu.encoding" value="UTF-8" />
    +
    +          <property name="deployAtEnd" value="true" />
    +
    +          <property name="java.library.path" value="/usr/java/packages/lib:/usr/lib64:/lib64:/lib:/usr/lib" />
    +
    +          <property name="maven.conf" value="/home/vsts/work/1/s/.maven/conf" />
    +
    +          <property name="jdk.debug" value="release" />
    +
    +          <property name="java.class.version" value="61.0" />
    +
    +          <property name="java.specification.name" value="Java Platform API Specification" />
    +
    +          <property name="sun.management.compiler" value="HotSpot 64-Bit Tiered Compilers" />
    +
    +          <property name="os.version" value="5.15.0-1059-azure" />
    +
    +          <property name="library.jansi.path" value="/home/vsts/work/1/s/.maven/lib/jansi-native" />
    +
    +          <property name="user.home" value="/home/vsts" />
    +
    +          <property name="user.timezone" value="Etc/UTC" />
    +
    +          <property name="file.encoding" value="UTF-8" />
    +
    +          <property name="java.specification.version" value="17" />
    +
    +          <property name="user.name" value="vsts" />
    +
    +          <property name="java.class.path" value="/home/vsts/work/1/s/.maven/boot/plexus-classworlds-2.6.0.jar" />
    +
    +          <property name="bytecode.version" value="5" />
    +
    +          <property name="java.vm.specification.version" value="17" />
    +
    +          <property name="sun.arch.data.model" value="64" />
    +
    +          <property name="sun.java.command" value="org.codehaus.plexus.classworlds.launcher.Launcher -V -B -e --no-transfer-progress -f org.jacoco.build verify -Djdk.version=5 -Dbytecode.version=5 deploy:deploy -DdeployAtEnd --toolchains=toolchains.xml --settings=.azure-pipelines/maven-settings.xml" />
    +
    +          <property name="java.home" value="/usr/lib/jvm/temurin-17-jdk-amd64" />
    +
    +          <property name="user.language" value="en" />
    +
    +          <property name="java.specification.vendor" value="Oracle Corporation" />
    +
    +          <property name="java.vm.info" value="mixed mode, sharing" />
    +
    +          <property name="java.version" value="17.0.10" />
    +
    +          <property name="native.encoding" value="UTF-8" />
    +
    +          <property name="securerandom.source" value="file:/dev/./urandom" />
    +
    +          <property name="java.vendor" value="Eclipse Adoptium" />
    +
    +          <property name="maven.home" value="/home/vsts/work/1/s/.maven" />
    +
    +          <property name="file.separator" value="/" />
    +
    +          <property name="java.version.date" value="2024-01-16" />
    +
    +          <property name="java.vendor.url.bug" value="https://github.com/adoptium/adoptium-support/issues" />
    +
    +          <property name="sun.io.unicode.encoding" value="UnicodeLittle" />
    +
    +          <property name="sun.font.fontmanager" value="sun.awt.X11FontManager" />
    +
    +          <property name="sun.cpu.endian" value="little" />
    +
    +          <property name="java.vendor.version" value="Temurin-17.0.10+7" />
    +
    +      </properties>
    +
    +      <testcase classname="org.jacoco.core.analysis.CoverageBuilderTest" name="testDuplicateClassNameIdentical" time="0" />
    +
    +      <testcase classname="org.jacoco.core.analysis.CoverageBuilderTest" name="should_not_ignore_empty_classes" time="0" />
    +
    +      <testcase classname="org.jacoco.core.analysis.CoverageBuilderTest" name="testDuplicateClassNameDifferent" time="0.001" />
    +
    +      <testcase classname="org.jacoco.core.analysis.CoverageBuilderTest" name="testCreateSourceFile" time="0" />
    +
    +      <testcase classname="org.jacoco.core.analysis.CoverageBuilderTest" name="testGetBundle" time="0" />
    +
    +      <testcase classname="org.jacoco.core.analysis.CoverageBuilderTest" name="testCreateClassCovered" time="0" />
    +
    +      <testcase classname="org.jacoco.core.analysis.CoverageBuilderTest" name="testGetNoMatchClasses" time="0" />
    +
    +      <testcase classname="org.jacoco.core.analysis.CoverageBuilderTest" name="testCreateClassMissed" time="0" />
    +
    +      <testcase classname="org.jacoco.core.analysis.CoverageBuilderTest" name="testCreateSourceFileDuplicateClassNameIdentical" time="0" />
    +
    +  </testsuite>
    +  <testsuite errors="0" failures="0" id="36" name="CoverageNodeImplTest" package="org.jacoco.core.analysis" skipped="0" tests="6" time="0.007" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="https://maven.apache.org/surefire/maven-surefire-plugin/xsd/surefire-test-report.xsd">
    +      <properties>
    +          <property name="jansi.mode" value="strip" />
    +
    +          <property name="java.runtime.name" value="OpenJDK Runtime Environment" />
    +
    +          <property name="java.vm.version" value="17.0.10+7" />
    +
    +          <property name="sun.boot.library.path" value="/usr/lib/jvm/temurin-17-jdk-amd64/lib" />
    +
    +          <property name="maven.multiModuleProjectDirectory" value="/home/vsts/work/1/s/org.jacoco.build" />
    +
    +          <property name="jdk.version" value="5" />
    +
    +          <property name="java.vm.vendor" value="Eclipse Adoptium" />
    +
    +          <property name="java.vendor.url" value="https://adoptium.net/" />
    +
    +          <property name="guice.disable.misplaced.annotation.check" value="true" />
    +
    +          <property name="path.separator" value=":" />
    +
    +          <property name="java.vm.name" value="OpenJDK 64-Bit Server VM" />
    +
    +          <property name="sun.java.launcher" value="SUN_STANDARD" />
    +
    +          <property name="java.vm.specification.name" value="Java Virtual Machine Specification" />
    +
    +          <property name="user.dir" value="/home/vsts/work/1/s" />
    +
    +          <property name="java.vm.compressedOopsMode" value="32-bit" />
    +
    +          <property name="java.runtime.version" value="17.0.10+7" />
    +
    +          <property name="os.arch" value="amd64" />
    +
    +          <property name="java.io.tmpdir" value="/tmp" />
    +
    +          <property name="line.separator" value="&#xa;" />
    +
    +          <property name="java.vm.specification.vendor" value="Oracle Corporation" />
    +
    +          <property name="os.name" value="Linux" />
    +
    +          <property name="classworlds.conf" value="/home/vsts/work/1/s/.maven/bin/m2.conf" />
    +
    +          <property name="sun.jnu.encoding" value="UTF-8" />
    +
    +          <property name="deployAtEnd" value="true" />
    +
    +          <property name="java.library.path" value="/usr/java/packages/lib:/usr/lib64:/lib64:/lib:/usr/lib" />
    +
    +          <property name="maven.conf" value="/home/vsts/work/1/s/.maven/conf" />
    +
    +          <property name="jdk.debug" value="release" />
    +
    +          <property name="java.class.version" value="61.0" />
    +
    +          <property name="java.specification.name" value="Java Platform API Specification" />
    +
    +          <property name="sun.management.compiler" value="HotSpot 64-Bit Tiered Compilers" />
    +
    +          <property name="os.version" value="5.15.0-1059-azure" />
    +
    +          <property name="library.jansi.path" value="/home/vsts/work/1/s/.maven/lib/jansi-native" />
    +
    +          <property name="user.home" value="/home/vsts" />
    +
    +          <property name="user.timezone" value="Etc/UTC" />
    +
    +          <property name="file.encoding" value="UTF-8" />
    +
    +          <property name="java.specification.version" value="17" />
    +
    +          <property name="user.name" value="vsts" />
    +
    +          <property name="java.class.path" value="/home/vsts/work/1/s/.maven/boot/plexus-classworlds-2.6.0.jar" />
    +
    +          <property name="bytecode.version" value="5" />
    +
    +          <property name="java.vm.specification.version" value="17" />
    +
    +          <property name="sun.arch.data.model" value="64" />
    +
    +          <property name="sun.java.command" value="org.codehaus.plexus.classworlds.launcher.Launcher -V -B -e --no-transfer-progress -f org.jacoco.build verify -Djdk.version=5 -Dbytecode.version=5 deploy:deploy -DdeployAtEnd --toolchains=toolchains.xml --settings=.azure-pipelines/maven-settings.xml" />
    +
    +          <property name="java.home" value="/usr/lib/jvm/temurin-17-jdk-amd64" />
    +
    +          <property name="user.language" value="en" />
    +
    +          <property name="java.specification.vendor" value="Oracle Corporation" />
    +
    +          <property name="java.vm.info" value="mixed mode, sharing" />
    +
    +          <property name="java.version" value="17.0.10" />
    +
    +          <property name="native.encoding" value="UTF-8" />
    +
    +          <property name="securerandom.source" value="file:/dev/./urandom" />
    +
    +          <property name="java.vendor" value="Eclipse Adoptium" />
    +
    +          <property name="maven.home" value="/home/vsts/work/1/s/.maven" />
    +
    +          <property name="file.separator" value="/" />
    +
    +          <property name="java.version.date" value="2024-01-16" />
    +
    +          <property name="java.vendor.url.bug" value="https://github.com/adoptium/adoptium-support/issues" />
    +
    +          <property name="sun.io.unicode.encoding" value="UnicodeLittle" />
    +
    +          <property name="sun.font.fontmanager" value="sun.awt.X11FontManager" />
    +
    +          <property name="sun.cpu.endian" value="little" />
    +
    +          <property name="java.vendor.version" value="Temurin-17.0.10+7" />
    +
    +      </properties>
    +
    +      <testcase classname="org.jacoco.core.analysis.CoverageNodeImplTest" name="testIncrementCollection" time="0.001" />
    +
    +      <testcase classname="org.jacoco.core.analysis.CoverageNodeImplTest" name="testProperties" time="0" />
    +
    +      <testcase classname="org.jacoco.core.analysis.CoverageNodeImplTest" name="testGetPlainCopy" time="0.001" />
    +
    +      <testcase classname="org.jacoco.core.analysis.CoverageNodeImplTest" name="testInit" time="0" />
    +
    +      <testcase classname="org.jacoco.core.analysis.CoverageNodeImplTest" name="testToString" time="0" />
    +
    +      <testcase classname="org.jacoco.core.analysis.CoverageNodeImplTest" name="testIncrement" time="0.001" />
    +
    +  </testsuite>
    +  <testsuite errors="0" failures="0" id="37" name="NodeComparatorTest" package="org.jacoco.core.analysis" skipped="0" tests="3" time="0.014" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="https://maven.apache.org/surefire/maven-surefire-plugin/xsd/surefire-test-report.xsd">
    +      <properties>
    +          <property name="jansi.mode" value="strip" />
    +
    +          <property name="java.runtime.name" value="OpenJDK Runtime Environment" />
    +
    +          <property name="java.vm.version" value="17.0.10+7" />
    +
    +          <property name="sun.boot.library.path" value="/usr/lib/jvm/temurin-17-jdk-amd64/lib" />
    +
    +          <property name="maven.multiModuleProjectDirectory" value="/home/vsts/work/1/s/org.jacoco.build" />
    +
    +          <property name="jdk.version" value="5" />
    +
    +          <property name="java.vm.vendor" value="Eclipse Adoptium" />
    +
    +          <property name="java.vendor.url" value="https://adoptium.net/" />
    +
    +          <property name="guice.disable.misplaced.annotation.check" value="true" />
    +
    +          <property name="path.separator" value=":" />
    +
    +          <property name="java.vm.name" value="OpenJDK 64-Bit Server VM" />
    +
    +          <property name="sun.java.launcher" value="SUN_STANDARD" />
    +
    +          <property name="java.vm.specification.name" value="Java Virtual Machine Specification" />
    +
    +          <property name="user.dir" value="/home/vsts/work/1/s" />
    +
    +          <property name="java.vm.compressedOopsMode" value="32-bit" />
    +
    +          <property name="java.runtime.version" value="17.0.10+7" />
    +
    +          <property name="os.arch" value="amd64" />
    +
    +          <property name="java.io.tmpdir" value="/tmp" />
    +
    +          <property name="line.separator" value="&#xa;" />
    +
    +          <property name="java.vm.specification.vendor" value="Oracle Corporation" />
    +
    +          <property name="os.name" value="Linux" />
    +
    +          <property name="classworlds.conf" value="/home/vsts/work/1/s/.maven/bin/m2.conf" />
    +
    +          <property name="sun.jnu.encoding" value="UTF-8" />
    +
    +          <property name="deployAtEnd" value="true" />
    +
    +          <property name="java.library.path" value="/usr/java/packages/lib:/usr/lib64:/lib64:/lib:/usr/lib" />
    +
    +          <property name="maven.conf" value="/home/vsts/work/1/s/.maven/conf" />
    +
    +          <property name="jdk.debug" value="release" />
    +
    +          <property name="java.class.version" value="61.0" />
    +
    +          <property name="java.specification.name" value="Java Platform API Specification" />
    +
    +          <property name="sun.management.compiler" value="HotSpot 64-Bit Tiered Compilers" />
    +
    +          <property name="os.version" value="5.15.0-1059-azure" />
    +
    +          <property name="library.jansi.path" value="/home/vsts/work/1/s/.maven/lib/jansi-native" />
    +
    +          <property name="user.home" value="/home/vsts" />
    +
    +          <property name="user.timezone" value="Etc/UTC" />
    +
    +          <property name="file.encoding" value="UTF-8" />
    +
    +          <property name="java.specification.version" value="17" />
    +
    +          <property name="user.name" value="vsts" />
    +
    +          <property name="java.class.path" value="/home/vsts/work/1/s/.maven/boot/plexus-classworlds-2.6.0.jar" />
    +
    +          <property name="bytecode.version" value="5" />
    +
    +          <property name="java.vm.specification.version" value="17" />
    +
    +          <property name="sun.arch.data.model" value="64" />
    +
    +          <property name="sun.java.command" value="org.codehaus.plexus.classworlds.launcher.Launcher -V -B -e --no-transfer-progress -f org.jacoco.build verify -Djdk.version=5 -Dbytecode.version=5 deploy:deploy -DdeployAtEnd --toolchains=toolchains.xml --settings=.azure-pipelines/maven-settings.xml" />
    +
    +          <property name="java.home" value="/usr/lib/jvm/temurin-17-jdk-amd64" />
    +
    +          <property name="user.language" value="en" />
    +
    +          <property name="java.specification.vendor" value="Oracle Corporation" />
    +
    +          <property name="java.vm.info" value="mixed mode, sharing" />
    +
    +          <property name="java.version" value="17.0.10" />
    +
    +          <property name="native.encoding" value="UTF-8" />
    +
    +          <property name="securerandom.source" value="file:/dev/./urandom" />
    +
    +          <property name="java.vendor" value="Eclipse Adoptium" />
    +
    +          <property name="maven.home" value="/home/vsts/work/1/s/.maven" />
    +
    +          <property name="file.separator" value="/" />
    +
    +          <property name="java.version.date" value="2024-01-16" />
    +
    +          <property name="java.vendor.url.bug" value="https://github.com/adoptium/adoptium-support/issues" />
    +
    +          <property name="sun.io.unicode.encoding" value="UnicodeLittle" />
    +
    +          <property name="sun.font.fontmanager" value="sun.awt.X11FontManager" />
    +
    +          <property name="sun.cpu.endian" value="little" />
    +
    +          <property name="java.vendor.version" value="Temurin-17.0.10+7" />
    +
    +      </properties>
    +
    +      <testcase classname="org.jacoco.core.analysis.NodeComparatorTest" name="testSort" time="0.012" />
    +
    +      <testcase classname="org.jacoco.core.analysis.NodeComparatorTest" name="testSecond1" time="0" />
    +
    +      <testcase classname="org.jacoco.core.analysis.NodeComparatorTest" name="testSecond2" time="0.001" />
    +
    +  </testsuite>
    +  <testsuite errors="0" failures="0" id="38" name="ExecutionDataReaderWriterTest" package="org.jacoco.core.data" skipped="0" tests="23" time="0.037" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="https://maven.apache.org/surefire/maven-surefire-plugin/xsd/surefire-test-report.xsd">
    +      <properties>
    +          <property name="jansi.mode" value="strip" />
    +
    +          <property name="java.runtime.name" value="OpenJDK Runtime Environment" />
    +
    +          <property name="java.vm.version" value="17.0.10+7" />
    +
    +          <property name="sun.boot.library.path" value="/usr/lib/jvm/temurin-17-jdk-amd64/lib" />
    +
    +          <property name="maven.multiModuleProjectDirectory" value="/home/vsts/work/1/s/org.jacoco.build" />
    +
    +          <property name="jdk.version" value="5" />
    +
    +          <property name="java.vm.vendor" value="Eclipse Adoptium" />
    +
    +          <property name="java.vendor.url" value="https://adoptium.net/" />
    +
    +          <property name="guice.disable.misplaced.annotation.check" value="true" />
    +
    +          <property name="path.separator" value=":" />
    +
    +          <property name="java.vm.name" value="OpenJDK 64-Bit Server VM" />
    +
    +          <property name="sun.java.launcher" value="SUN_STANDARD" />
    +
    +          <property name="java.vm.specification.name" value="Java Virtual Machine Specification" />
    +
    +          <property name="user.dir" value="/home/vsts/work/1/s" />
    +
    +          <property name="java.vm.compressedOopsMode" value="32-bit" />
    +
    +          <property name="java.runtime.version" value="17.0.10+7" />
    +
    +          <property name="os.arch" value="amd64" />
    +
    +          <property name="java.io.tmpdir" value="/tmp" />
    +
    +          <property name="line.separator" value="&#xa;" />
    +
    +          <property name="java.vm.specification.vendor" value="Oracle Corporation" />
    +
    +          <property name="os.name" value="Linux" />
    +
    +          <property name="classworlds.conf" value="/home/vsts/work/1/s/.maven/bin/m2.conf" />
    +
    +          <property name="sun.jnu.encoding" value="UTF-8" />
    +
    +          <property name="deployAtEnd" value="true" />
    +
    +          <property name="java.library.path" value="/usr/java/packages/lib:/usr/lib64:/lib64:/lib:/usr/lib" />
    +
    +          <property name="maven.conf" value="/home/vsts/work/1/s/.maven/conf" />
    +
    +          <property name="jdk.debug" value="release" />
    +
    +          <property name="java.class.version" value="61.0" />
    +
    +          <property name="java.specification.name" value="Java Platform API Specification" />
    +
    +          <property name="sun.management.compiler" value="HotSpot 64-Bit Tiered Compilers" />
    +
    +          <property name="os.version" value="5.15.0-1059-azure" />
    +
    +          <property name="library.jansi.path" value="/home/vsts/work/1/s/.maven/lib/jansi-native" />
    +
    +          <property name="user.home" value="/home/vsts" />
    +
    +          <property name="user.timezone" value="Etc/UTC" />
    +
    +          <property name="file.encoding" value="UTF-8" />
    +
    +          <property name="java.specification.version" value="17" />
    +
    +          <property name="user.name" value="vsts" />
    +
    +          <property name="java.class.path" value="/home/vsts/work/1/s/.maven/boot/plexus-classworlds-2.6.0.jar" />
    +
    +          <property name="bytecode.version" value="5" />
    +
    +          <property name="java.vm.specification.version" value="17" />
    +
    +          <property name="sun.arch.data.model" value="64" />
    +
    +          <property name="sun.java.command" value="org.codehaus.plexus.classworlds.launcher.Launcher -V -B -e --no-transfer-progress -f org.jacoco.build verify -Djdk.version=5 -Dbytecode.version=5 deploy:deploy -DdeployAtEnd --toolchains=toolchains.xml --settings=.azure-pipelines/maven-settings.xml" />
    +
    +          <property name="java.home" value="/usr/lib/jvm/temurin-17-jdk-amd64" />
    +
    +          <property name="user.language" value="en" />
    +
    +          <property name="java.specification.vendor" value="Oracle Corporation" />
    +
    +          <property name="java.vm.info" value="mixed mode, sharing" />
    +
    +          <property name="java.version" value="17.0.10" />
    +
    +          <property name="native.encoding" value="UTF-8" />
    +
    +          <property name="securerandom.source" value="file:/dev/./urandom" />
    +
    +          <property name="java.vendor" value="Eclipse Adoptium" />
    +
    +          <property name="maven.home" value="/home/vsts/work/1/s/.maven" />
    +
    +          <property name="file.separator" value="/" />
    +
    +          <property name="java.version.date" value="2024-01-16" />
    +
    +          <property name="java.vendor.url.bug" value="https://github.com/adoptium/adoptium-support/issues" />
    +
    +          <property name="sun.io.unicode.encoding" value="UnicodeLittle" />
    +
    +          <property name="sun.font.fontmanager" value="sun.awt.X11FontManager" />
    +
    +          <property name="sun.cpu.endian" value="little" />
    +
    +          <property name="java.vendor.version" value="Temurin-17.0.10+7" />
    +
    +      </properties>
    +
    +      <testcase classname="org.jacoco.core.data.ExecutionDataReaderWriterTest" name="testEmptyClass" time="0.012" />
    +
    +      <testcase classname="org.jacoco.core.data.ExecutionDataReaderWriterTest" name="testMultipleHeaders" time="0" />
    +
    +      <testcase classname="org.jacoco.core.data.ExecutionDataReaderWriterTest" name="testOneClass" time="0" />
    +
    +      <testcase classname="org.jacoco.core.data.ExecutionDataReaderWriterTest" name="testInvalidMagicNumber" time="0" />
    +
    +      <testcase classname="org.jacoco.core.data.ExecutionDataReaderWriterTest" name="testGetFileHeader" time="0.001" />
    +
    +      <testcase classname="org.jacoco.core.data.ExecutionDataReaderWriterTest" name="testInvalidVersion" time="0" />
    +
    +      <testcase classname="org.jacoco.core.data.ExecutionDataReaderWriterTest" name="testEmpty" time="0.001" />
    +
    +      <testcase classname="org.jacoco.core.data.ExecutionDataReaderWriterTest" name="testFlush" time="0" />
    +
    +      <testcase classname="org.jacoco.core.data.ExecutionDataReaderWriterTest" name="testExecutionDataIOException" time="0" />
    +
    +      <testcase classname="org.jacoco.core.data.ExecutionDataReaderWriterTest" name="testNoHitClass" time="0" />
    +
    +      <testcase classname="org.jacoco.core.data.ExecutionDataReaderWriterTest" name="testEmptyFile" time="0" />
    +
    +      <testcase classname="org.jacoco.core.data.ExecutionDataReaderWriterTest" name="testSessionInfo" time="0" />
    +
    +      <testcase classname="org.jacoco.core.data.ExecutionDataReaderWriterTest" name="testMinClassId" time="0" />
    +
    +      <testcase classname="org.jacoco.core.data.ExecutionDataReaderWriterTest" name="testUnknownBlock" time="0.001" />
    +
    +      <testcase classname="org.jacoco.core.data.ExecutionDataReaderWriterTest" name="testNoSessionInfoVisitor" time="0" />
    +
    +      <testcase classname="org.jacoco.core.data.ExecutionDataReaderWriterTest" name="testMissingHeader" time="0.001" />
    +
    +      <testcase classname="org.jacoco.core.data.ExecutionDataReaderWriterTest" name="testSessionInfoIOException" time="0" />
    +
    +      <testcase classname="org.jacoco.core.data.ExecutionDataReaderWriterTest" name="testTwoClasses" time="0" />
    +
    +      <testcase classname="org.jacoco.core.data.ExecutionDataReaderWriterTest" name="testNoExecutionDataVisitor" time="0.001" />
    +
    +      <testcase classname="org.jacoco.core.data.ExecutionDataReaderWriterTest" name="testCustomBlocks" time="0" />
    +
    +      <testcase classname="org.jacoco.core.data.ExecutionDataReaderWriterTest" name="testMaxClassId" time="0" />
    +
    +      <testcase classname="org.jacoco.core.data.ExecutionDataReaderWriterTest" name="testTruncatedFile" time="0" />
    +
    +      <testcase classname="org.jacoco.core.data.ExecutionDataReaderWriterTest" name="testBigClass" time="0.001" />
    +
    +  </testsuite>
    +  <testsuite errors="0" failures="0" id="39" name="ExecutionDataStoreTest" package="org.jacoco.core.data" skipped="0" tests="15" time="0.009" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="https://maven.apache.org/surefire/maven-surefire-plugin/xsd/surefire-test-report.xsd">
    +      <properties>
    +          <property name="jansi.mode" value="strip" />
    +
    +          <property name="java.runtime.name" value="OpenJDK Runtime Environment" />
    +
    +          <property name="java.vm.version" value="17.0.10+7" />
    +
    +          <property name="sun.boot.library.path" value="/usr/lib/jvm/temurin-17-jdk-amd64/lib" />
    +
    +          <property name="maven.multiModuleProjectDirectory" value="/home/vsts/work/1/s/org.jacoco.build" />
    +
    +          <property name="jdk.version" value="5" />
    +
    +          <property name="java.vm.vendor" value="Eclipse Adoptium" />
    +
    +          <property name="java.vendor.url" value="https://adoptium.net/" />
    +
    +          <property name="guice.disable.misplaced.annotation.check" value="true" />
    +
    +          <property name="path.separator" value=":" />
    +
    +          <property name="java.vm.name" value="OpenJDK 64-Bit Server VM" />
    +
    +          <property name="sun.java.launcher" value="SUN_STANDARD" />
    +
    +          <property name="java.vm.specification.name" value="Java Virtual Machine Specification" />
    +
    +          <property name="user.dir" value="/home/vsts/work/1/s" />
    +
    +          <property name="java.vm.compressedOopsMode" value="32-bit" />
    +
    +          <property name="java.runtime.version" value="17.0.10+7" />
    +
    +          <property name="os.arch" value="amd64" />
    +
    +          <property name="java.io.tmpdir" value="/tmp" />
    +
    +          <property name="line.separator" value="&#xa;" />
    +
    +          <property name="java.vm.specification.vendor" value="Oracle Corporation" />
    +
    +          <property name="os.name" value="Linux" />
    +
    +          <property name="classworlds.conf" value="/home/vsts/work/1/s/.maven/bin/m2.conf" />
    +
    +          <property name="sun.jnu.encoding" value="UTF-8" />
    +
    +          <property name="deployAtEnd" value="true" />
    +
    +          <property name="java.library.path" value="/usr/java/packages/lib:/usr/lib64:/lib64:/lib:/usr/lib" />
    +
    +          <property name="maven.conf" value="/home/vsts/work/1/s/.maven/conf" />
    +
    +          <property name="jdk.debug" value="release" />
    +
    +          <property name="java.class.version" value="61.0" />
    +
    +          <property name="java.specification.name" value="Java Platform API Specification" />
    +
    +          <property name="sun.management.compiler" value="HotSpot 64-Bit Tiered Compilers" />
    +
    +          <property name="os.version" value="5.15.0-1059-azure" />
    +
    +          <property name="library.jansi.path" value="/home/vsts/work/1/s/.maven/lib/jansi-native" />
    +
    +          <property name="user.home" value="/home/vsts" />
    +
    +          <property name="user.timezone" value="Etc/UTC" />
    +
    +          <property name="file.encoding" value="UTF-8" />
    +
    +          <property name="java.specification.version" value="17" />
    +
    +          <property name="user.name" value="vsts" />
    +
    +          <property name="java.class.path" value="/home/vsts/work/1/s/.maven/boot/plexus-classworlds-2.6.0.jar" />
    +
    +          <property name="bytecode.version" value="5" />
    +
    +          <property name="java.vm.specification.version" value="17" />
    +
    +          <property name="sun.arch.data.model" value="64" />
    +
    +          <property name="sun.java.command" value="org.codehaus.plexus.classworlds.launcher.Launcher -V -B -e --no-transfer-progress -f org.jacoco.build verify -Djdk.version=5 -Dbytecode.version=5 deploy:deploy -DdeployAtEnd --toolchains=toolchains.xml --settings=.azure-pipelines/maven-settings.xml" />
    +
    +          <property name="java.home" value="/usr/lib/jvm/temurin-17-jdk-amd64" />
    +
    +          <property name="user.language" value="en" />
    +
    +          <property name="java.specification.vendor" value="Oracle Corporation" />
    +
    +          <property name="java.vm.info" value="mixed mode, sharing" />
    +
    +          <property name="java.version" value="17.0.10" />
    +
    +          <property name="native.encoding" value="UTF-8" />
    +
    +          <property name="securerandom.source" value="file:/dev/./urandom" />
    +
    +          <property name="java.vendor" value="Eclipse Adoptium" />
    +
    +          <property name="maven.home" value="/home/vsts/work/1/s/.maven" />
    +
    +          <property name="file.separator" value="/" />
    +
    +          <property name="java.version.date" value="2024-01-16" />
    +
    +          <property name="java.vendor.url.bug" value="https://github.com/adoptium/adoptium-support/issues" />
    +
    +          <property name="sun.io.unicode.encoding" value="UnicodeLittle" />
    +
    +          <property name="sun.font.fontmanager" value="sun.awt.X11FontManager" />
    +
    +          <property name="sun.cpu.endian" value="little" />
    +
    +          <property name="java.vendor.version" value="Temurin-17.0.10+7" />
    +
    +      </properties>
    +
    +      <testcase classname="org.jacoco.core.data.ExecutionDataStoreTest" name="testPut" time="0" />
    +
    +      <testcase classname="org.jacoco.core.data.ExecutionDataStoreTest" name="testSubtract" time="0" />
    +
    +      <testcase classname="org.jacoco.core.data.ExecutionDataStoreTest" name="testEmpty" time="0" />
    +
    +      <testcase classname="org.jacoco.core.data.ExecutionDataStoreTest" name="testMerge" time="0.001" />
    +
    +      <testcase classname="org.jacoco.core.data.ExecutionDataStoreTest" name="testReset" time="0" />
    +
    +      <testcase classname="org.jacoco.core.data.ExecutionDataStoreTest" name="testSubtractOtherId" time="0" />
    +
    +      <testcase classname="org.jacoco.core.data.ExecutionDataStoreTest" name="testGetWithCreate" time="0" />
    +
    +      <testcase classname="org.jacoco.core.data.ExecutionDataStoreTest" name="testGetNegative1" time="0" />
    +
    +      <testcase classname="org.jacoco.core.data.ExecutionDataStoreTest" name="testGetNegative2" time="0.001" />
    +
    +      <testcase classname="org.jacoco.core.data.ExecutionDataStoreTest" name="testReentrantAccept" time="0" />
    +
    +      <testcase classname="org.jacoco.core.data.ExecutionDataStoreTest" name="testPutNegative" time="0.001" />
    +
    +      <testcase classname="org.jacoco.core.data.ExecutionDataStoreTest" name="testGetContents" time="0" />
    +
    +      <testcase classname="org.jacoco.core.data.ExecutionDataStoreTest" name="testMergeNegative" time="0" />
    +
    +      <testcase classname="org.jacoco.core.data.ExecutionDataStoreTest" name="testSubtractStore" time="0" />
    +
    +      <testcase classname="org.jacoco.core.data.ExecutionDataStoreTest" name="testGetWithoutCreate" time="0.001" />
    +
    +  </testsuite>
    +  <testsuite errors="0" failures="0" id="40" name="ExecutionDataTest" package="org.jacoco.core.data" skipped="0" tests="12" time="0.004" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="https://maven.apache.org/surefire/maven-surefire-plugin/xsd/surefire-test-report.xsd">
    +      <properties>
    +          <property name="jansi.mode" value="strip" />
    +
    +          <property name="java.runtime.name" value="OpenJDK Runtime Environment" />
    +
    +          <property name="java.vm.version" value="17.0.10+7" />
    +
    +          <property name="sun.boot.library.path" value="/usr/lib/jvm/temurin-17-jdk-amd64/lib" />
    +
    +          <property name="maven.multiModuleProjectDirectory" value="/home/vsts/work/1/s/org.jacoco.build" />
    +
    +          <property name="jdk.version" value="5" />
    +
    +          <property name="java.vm.vendor" value="Eclipse Adoptium" />
    +
    +          <property name="java.vendor.url" value="https://adoptium.net/" />
    +
    +          <property name="guice.disable.misplaced.annotation.check" value="true" />
    +
    +          <property name="path.separator" value=":" />
    +
    +          <property name="java.vm.name" value="OpenJDK 64-Bit Server VM" />
    +
    +          <property name="sun.java.launcher" value="SUN_STANDARD" />
    +
    +          <property name="java.vm.specification.name" value="Java Virtual Machine Specification" />
    +
    +          <property name="user.dir" value="/home/vsts/work/1/s" />
    +
    +          <property name="java.vm.compressedOopsMode" value="32-bit" />
    +
    +          <property name="java.runtime.version" value="17.0.10+7" />
    +
    +          <property name="os.arch" value="amd64" />
    +
    +          <property name="java.io.tmpdir" value="/tmp" />
    +
    +          <property name="line.separator" value="&#xa;" />
    +
    +          <property name="java.vm.specification.vendor" value="Oracle Corporation" />
    +
    +          <property name="os.name" value="Linux" />
    +
    +          <property name="classworlds.conf" value="/home/vsts/work/1/s/.maven/bin/m2.conf" />
    +
    +          <property name="sun.jnu.encoding" value="UTF-8" />
    +
    +          <property name="deployAtEnd" value="true" />
    +
    +          <property name="java.library.path" value="/usr/java/packages/lib:/usr/lib64:/lib64:/lib:/usr/lib" />
    +
    +          <property name="maven.conf" value="/home/vsts/work/1/s/.maven/conf" />
    +
    +          <property name="jdk.debug" value="release" />
    +
    +          <property name="java.class.version" value="61.0" />
    +
    +          <property name="java.specification.name" value="Java Platform API Specification" />
    +
    +          <property name="sun.management.compiler" value="HotSpot 64-Bit Tiered Compilers" />
    +
    +          <property name="os.version" value="5.15.0-1059-azure" />
    +
    +          <property name="library.jansi.path" value="/home/vsts/work/1/s/.maven/lib/jansi-native" />
    +
    +          <property name="user.home" value="/home/vsts" />
    +
    +          <property name="user.timezone" value="Etc/UTC" />
    +
    +          <property name="file.encoding" value="UTF-8" />
    +
    +          <property name="java.specification.version" value="17" />
    +
    +          <property name="user.name" value="vsts" />
    +
    +          <property name="java.class.path" value="/home/vsts/work/1/s/.maven/boot/plexus-classworlds-2.6.0.jar" />
    +
    +          <property name="bytecode.version" value="5" />
    +
    +          <property name="java.vm.specification.version" value="17" />
    +
    +          <property name="sun.arch.data.model" value="64" />
    +
    +          <property name="sun.java.command" value="org.codehaus.plexus.classworlds.launcher.Launcher -V -B -e --no-transfer-progress -f org.jacoco.build verify -Djdk.version=5 -Dbytecode.version=5 deploy:deploy -DdeployAtEnd --toolchains=toolchains.xml --settings=.azure-pipelines/maven-settings.xml" />
    +
    +          <property name="java.home" value="/usr/lib/jvm/temurin-17-jdk-amd64" />
    +
    +          <property name="user.language" value="en" />
    +
    +          <property name="java.specification.vendor" value="Oracle Corporation" />
    +
    +          <property name="java.vm.info" value="mixed mode, sharing" />
    +
    +          <property name="java.version" value="17.0.10" />
    +
    +          <property name="native.encoding" value="UTF-8" />
    +
    +          <property name="securerandom.source" value="file:/dev/./urandom" />
    +
    +          <property name="java.vendor" value="Eclipse Adoptium" />
    +
    +          <property name="maven.home" value="/home/vsts/work/1/s/.maven" />
    +
    +          <property name="file.separator" value="/" />
    +
    +          <property name="java.version.date" value="2024-01-16" />
    +
    +          <property name="java.vendor.url.bug" value="https://github.com/adoptium/adoptium-support/issues" />
    +
    +          <property name="sun.io.unicode.encoding" value="UnicodeLittle" />
    +
    +          <property name="sun.font.fontmanager" value="sun.awt.X11FontManager" />
    +
    +          <property name="sun.cpu.endian" value="little" />
    +
    +          <property name="java.vendor.version" value="Temurin-17.0.10+7" />
    +
    +      </properties>
    +
    +      <testcase classname="org.jacoco.core.data.ExecutionDataTest" name="testMergeSubtract" time="0.001" />
    +
    +      <testcase classname="org.jacoco.core.data.ExecutionDataTest" name="testMerge" time="0" />
    +
    +      <testcase classname="org.jacoco.core.data.ExecutionDataTest" name="testReset" time="0" />
    +
    +      <testcase classname="org.jacoco.core.data.ExecutionDataTest" name="testCreateEmpty" time="0" />
    +
    +      <testcase classname="org.jacoco.core.data.ExecutionDataTest" name="testToString" time="0.001" />
    +
    +      <testcase classname="org.jacoco.core.data.ExecutionDataTest" name="testGetters" time="0" />
    +
    +      <testcase classname="org.jacoco.core.data.ExecutionDataTest" name="testHasHits" time="0" />
    +
    +      <testcase classname="org.jacoco.core.data.ExecutionDataTest" name="testAssertCompatibility" time="0" />
    +
    +      <testcase classname="org.jacoco.core.data.ExecutionDataTest" name="testHasHits_empty" time="0" />
    +
    +      <testcase classname="org.jacoco.core.data.ExecutionDataTest" name="testAssertCompatibilityNegative1" time="0.001" />
    +
    +      <testcase classname="org.jacoco.core.data.ExecutionDataTest" name="testAssertCompatibilityNegative2" time="0" />
    +
    +      <testcase classname="org.jacoco.core.data.ExecutionDataTest" name="testAssertCompatibilityNegative3" time="0" />
    +
    +  </testsuite>
    +  <testsuite errors="0" failures="0" id="41" name="IncompatibleExecDataVersionExceptionTest" package="org.jacoco.core.data" skipped="0" tests="3" time="0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="https://maven.apache.org/surefire/maven-surefire-plugin/xsd/surefire-test-report.xsd">
    +      <properties>
    +          <property name="jansi.mode" value="strip" />
    +
    +          <property name="java.runtime.name" value="OpenJDK Runtime Environment" />
    +
    +          <property name="java.vm.version" value="17.0.10+7" />
    +
    +          <property name="sun.boot.library.path" value="/usr/lib/jvm/temurin-17-jdk-amd64/lib" />
    +
    +          <property name="maven.multiModuleProjectDirectory" value="/home/vsts/work/1/s/org.jacoco.build" />
    +
    +          <property name="jdk.version" value="5" />
    +
    +          <property name="java.vm.vendor" value="Eclipse Adoptium" />
    +
    +          <property name="java.vendor.url" value="https://adoptium.net/" />
    +
    +          <property name="guice.disable.misplaced.annotation.check" value="true" />
    +
    +          <property name="path.separator" value=":" />
    +
    +          <property name="java.vm.name" value="OpenJDK 64-Bit Server VM" />
    +
    +          <property name="sun.java.launcher" value="SUN_STANDARD" />
    +
    +          <property name="java.vm.specification.name" value="Java Virtual Machine Specification" />
    +
    +          <property name="user.dir" value="/home/vsts/work/1/s" />
    +
    +          <property name="java.vm.compressedOopsMode" value="32-bit" />
    +
    +          <property name="java.runtime.version" value="17.0.10+7" />
    +
    +          <property name="os.arch" value="amd64" />
    +
    +          <property name="java.io.tmpdir" value="/tmp" />
    +
    +          <property name="line.separator" value="&#xa;" />
    +
    +          <property name="java.vm.specification.vendor" value="Oracle Corporation" />
    +
    +          <property name="os.name" value="Linux" />
    +
    +          <property name="classworlds.conf" value="/home/vsts/work/1/s/.maven/bin/m2.conf" />
    +
    +          <property name="sun.jnu.encoding" value="UTF-8" />
    +
    +          <property name="deployAtEnd" value="true" />
    +
    +          <property name="java.library.path" value="/usr/java/packages/lib:/usr/lib64:/lib64:/lib:/usr/lib" />
    +
    +          <property name="maven.conf" value="/home/vsts/work/1/s/.maven/conf" />
    +
    +          <property name="jdk.debug" value="release" />
    +
    +          <property name="java.class.version" value="61.0" />
    +
    +          <property name="java.specification.name" value="Java Platform API Specification" />
    +
    +          <property name="sun.management.compiler" value="HotSpot 64-Bit Tiered Compilers" />
    +
    +          <property name="os.version" value="5.15.0-1059-azure" />
    +
    +          <property name="library.jansi.path" value="/home/vsts/work/1/s/.maven/lib/jansi-native" />
    +
    +          <property name="user.home" value="/home/vsts" />
    +
    +          <property name="user.timezone" value="Etc/UTC" />
    +
    +          <property name="file.encoding" value="UTF-8" />
    +
    +          <property name="java.specification.version" value="17" />
    +
    +          <property name="user.name" value="vsts" />
    +
    +          <property name="java.class.path" value="/home/vsts/work/1/s/.maven/boot/plexus-classworlds-2.6.0.jar" />
    +
    +          <property name="bytecode.version" value="5" />
    +
    +          <property name="java.vm.specification.version" value="17" />
    +
    +          <property name="sun.arch.data.model" value="64" />
    +
    +          <property name="sun.java.command" value="org.codehaus.plexus.classworlds.launcher.Launcher -V -B -e --no-transfer-progress -f org.jacoco.build verify -Djdk.version=5 -Dbytecode.version=5 deploy:deploy -DdeployAtEnd --toolchains=toolchains.xml --settings=.azure-pipelines/maven-settings.xml" />
    +
    +          <property name="java.home" value="/usr/lib/jvm/temurin-17-jdk-amd64" />
    +
    +          <property name="user.language" value="en" />
    +
    +          <property name="java.specification.vendor" value="Oracle Corporation" />
    +
    +          <property name="java.vm.info" value="mixed mode, sharing" />
    +
    +          <property name="java.version" value="17.0.10" />
    +
    +          <property name="native.encoding" value="UTF-8" />
    +
    +          <property name="securerandom.source" value="file:/dev/./urandom" />
    +
    +          <property name="java.vendor" value="Eclipse Adoptium" />
    +
    +          <property name="maven.home" value="/home/vsts/work/1/s/.maven" />
    +
    +          <property name="file.separator" value="/" />
    +
    +          <property name="java.version.date" value="2024-01-16" />
    +
    +          <property name="java.vendor.url.bug" value="https://github.com/adoptium/adoptium-support/issues" />
    +
    +          <property name="sun.io.unicode.encoding" value="UnicodeLittle" />
    +
    +          <property name="sun.font.fontmanager" value="sun.awt.X11FontManager" />
    +
    +          <property name="sun.cpu.endian" value="little" />
    +
    +          <property name="java.vendor.version" value="Temurin-17.0.10+7" />
    +
    +      </properties>
    +
    +      <testcase classname="org.jacoco.core.data.IncompatibleExecDataVersionExceptionTest" name="testGetExpectedVersion" time="0" />
    +
    +      <testcase classname="org.jacoco.core.data.IncompatibleExecDataVersionExceptionTest" name="testGetMessage" time="0" />
    +
    +      <testcase classname="org.jacoco.core.data.IncompatibleExecDataVersionExceptionTest" name="testGetActualVersion" time="0" />
    +
    +  </testsuite>
    +  <testsuite errors="0" failures="0" id="42" name="SessionInfoStoreTest" package="org.jacoco.core.data" skipped="0" tests="6" time="0.01" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="https://maven.apache.org/surefire/maven-surefire-plugin/xsd/surefire-test-report.xsd">
    +      <properties>
    +          <property name="jansi.mode" value="strip" />
    +
    +          <property name="java.runtime.name" value="OpenJDK Runtime Environment" />
    +
    +          <property name="java.vm.version" value="17.0.10+7" />
    +
    +          <property name="sun.boot.library.path" value="/usr/lib/jvm/temurin-17-jdk-amd64/lib" />
    +
    +          <property name="maven.multiModuleProjectDirectory" value="/home/vsts/work/1/s/org.jacoco.build" />
    +
    +          <property name="jdk.version" value="5" />
    +
    +          <property name="java.vm.vendor" value="Eclipse Adoptium" />
    +
    +          <property name="java.vendor.url" value="https://adoptium.net/" />
    +
    +          <property name="guice.disable.misplaced.annotation.check" value="true" />
    +
    +          <property name="path.separator" value=":" />
    +
    +          <property name="java.vm.name" value="OpenJDK 64-Bit Server VM" />
    +
    +          <property name="sun.java.launcher" value="SUN_STANDARD" />
    +
    +          <property name="java.vm.specification.name" value="Java Virtual Machine Specification" />
    +
    +          <property name="user.dir" value="/home/vsts/work/1/s" />
    +
    +          <property name="java.vm.compressedOopsMode" value="32-bit" />
    +
    +          <property name="java.runtime.version" value="17.0.10+7" />
    +
    +          <property name="os.arch" value="amd64" />
    +
    +          <property name="java.io.tmpdir" value="/tmp" />
    +
    +          <property name="line.separator" value="&#xa;" />
    +
    +          <property name="java.vm.specification.vendor" value="Oracle Corporation" />
    +
    +          <property name="os.name" value="Linux" />
    +
    +          <property name="classworlds.conf" value="/home/vsts/work/1/s/.maven/bin/m2.conf" />
    +
    +          <property name="sun.jnu.encoding" value="UTF-8" />
    +
    +          <property name="deployAtEnd" value="true" />
    +
    +          <property name="java.library.path" value="/usr/java/packages/lib:/usr/lib64:/lib64:/lib:/usr/lib" />
    +
    +          <property name="maven.conf" value="/home/vsts/work/1/s/.maven/conf" />
    +
    +          <property name="jdk.debug" value="release" />
    +
    +          <property name="java.class.version" value="61.0" />
    +
    +          <property name="java.specification.name" value="Java Platform API Specification" />
    +
    +          <property name="sun.management.compiler" value="HotSpot 64-Bit Tiered Compilers" />
    +
    +          <property name="os.version" value="5.15.0-1059-azure" />
    +
    +          <property name="library.jansi.path" value="/home/vsts/work/1/s/.maven/lib/jansi-native" />
    +
    +          <property name="user.home" value="/home/vsts" />
    +
    +          <property name="user.timezone" value="Etc/UTC" />
    +
    +          <property name="file.encoding" value="UTF-8" />
    +
    +          <property name="java.specification.version" value="17" />
    +
    +          <property name="user.name" value="vsts" />
    +
    +          <property name="java.class.path" value="/home/vsts/work/1/s/.maven/boot/plexus-classworlds-2.6.0.jar" />
    +
    +          <property name="bytecode.version" value="5" />
    +
    +          <property name="java.vm.specification.version" value="17" />
    +
    +          <property name="sun.arch.data.model" value="64" />
    +
    +          <property name="sun.java.command" value="org.codehaus.plexus.classworlds.launcher.Launcher -V -B -e --no-transfer-progress -f org.jacoco.build verify -Djdk.version=5 -Dbytecode.version=5 deploy:deploy -DdeployAtEnd --toolchains=toolchains.xml --settings=.azure-pipelines/maven-settings.xml" />
    +
    +          <property name="java.home" value="/usr/lib/jvm/temurin-17-jdk-amd64" />
    +
    +          <property name="user.language" value="en" />
    +
    +          <property name="java.specification.vendor" value="Oracle Corporation" />
    +
    +          <property name="java.vm.info" value="mixed mode, sharing" />
    +
    +          <property name="java.version" value="17.0.10" />
    +
    +          <property name="native.encoding" value="UTF-8" />
    +
    +          <property name="securerandom.source" value="file:/dev/./urandom" />
    +
    +          <property name="java.vendor" value="Eclipse Adoptium" />
    +
    +          <property name="maven.home" value="/home/vsts/work/1/s/.maven" />
    +
    +          <property name="file.separator" value="/" />
    +
    +          <property name="java.version.date" value="2024-01-16" />
    +
    +          <property name="java.vendor.url.bug" value="https://github.com/adoptium/adoptium-support/issues" />
    +
    +          <property name="sun.io.unicode.encoding" value="UnicodeLittle" />
    +
    +          <property name="sun.font.fontmanager" value="sun.awt.X11FontManager" />
    +
    +          <property name="sun.cpu.endian" value="little" />
    +
    +          <property name="java.vendor.version" value="Temurin-17.0.10+7" />
    +
    +      </properties>
    +
    +      <testcase classname="org.jacoco.core.data.SessionInfoStoreTest" name="testGetInfos" time="0.001" />
    +
    +      <testcase classname="org.jacoco.core.data.SessionInfoStoreTest" name="testGetMergedEmpty" time="0" />
    +
    +      <testcase classname="org.jacoco.core.data.SessionInfoStoreTest" name="testEmpty" time="0" />
    +
    +      <testcase classname="org.jacoco.core.data.SessionInfoStoreTest" name="testAccept" time="0.001" />
    +
    +      <testcase classname="org.jacoco.core.data.SessionInfoStoreTest" name="testGetMerged" time="0.001" />
    +
    +      <testcase classname="org.jacoco.core.data.SessionInfoStoreTest" name="testIsEmpty" time="0" />
    +
    +  </testsuite>
    +  <testsuite errors="0" failures="0" id="43" name="SessionInfoTest" package="org.jacoco.core.data" skipped="0" tests="4" time="0.006" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="https://maven.apache.org/surefire/maven-surefire-plugin/xsd/surefire-test-report.xsd">
    +      <properties>
    +          <property name="jansi.mode" value="strip" />
    +
    +          <property name="java.runtime.name" value="OpenJDK Runtime Environment" />
    +
    +          <property name="java.vm.version" value="17.0.10+7" />
    +
    +          <property name="sun.boot.library.path" value="/usr/lib/jvm/temurin-17-jdk-amd64/lib" />
    +
    +          <property name="maven.multiModuleProjectDirectory" value="/home/vsts/work/1/s/org.jacoco.build" />
    +
    +          <property name="jdk.version" value="5" />
    +
    +          <property name="java.vm.vendor" value="Eclipse Adoptium" />
    +
    +          <property name="java.vendor.url" value="https://adoptium.net/" />
    +
    +          <property name="guice.disable.misplaced.annotation.check" value="true" />
    +
    +          <property name="path.separator" value=":" />
    +
    +          <property name="java.vm.name" value="OpenJDK 64-Bit Server VM" />
    +
    +          <property name="sun.java.launcher" value="SUN_STANDARD" />
    +
    +          <property name="java.vm.specification.name" value="Java Virtual Machine Specification" />
    +
    +          <property name="user.dir" value="/home/vsts/work/1/s" />
    +
    +          <property name="java.vm.compressedOopsMode" value="32-bit" />
    +
    +          <property name="java.runtime.version" value="17.0.10+7" />
    +
    +          <property name="os.arch" value="amd64" />
    +
    +          <property name="java.io.tmpdir" value="/tmp" />
    +
    +          <property name="line.separator" value="&#xa;" />
    +
    +          <property name="java.vm.specification.vendor" value="Oracle Corporation" />
    +
    +          <property name="os.name" value="Linux" />
    +
    +          <property name="classworlds.conf" value="/home/vsts/work/1/s/.maven/bin/m2.conf" />
    +
    +          <property name="sun.jnu.encoding" value="UTF-8" />
    +
    +          <property name="deployAtEnd" value="true" />
    +
    +          <property name="java.library.path" value="/usr/java/packages/lib:/usr/lib64:/lib64:/lib:/usr/lib" />
    +
    +          <property name="maven.conf" value="/home/vsts/work/1/s/.maven/conf" />
    +
    +          <property name="jdk.debug" value="release" />
    +
    +          <property name="java.class.version" value="61.0" />
    +
    +          <property name="java.specification.name" value="Java Platform API Specification" />
    +
    +          <property name="sun.management.compiler" value="HotSpot 64-Bit Tiered Compilers" />
    +
    +          <property name="os.version" value="5.15.0-1059-azure" />
    +
    +          <property name="library.jansi.path" value="/home/vsts/work/1/s/.maven/lib/jansi-native" />
    +
    +          <property name="user.home" value="/home/vsts" />
    +
    +          <property name="user.timezone" value="Etc/UTC" />
    +
    +          <property name="file.encoding" value="UTF-8" />
    +
    +          <property name="java.specification.version" value="17" />
    +
    +          <property name="user.name" value="vsts" />
    +
    +          <property name="java.class.path" value="/home/vsts/work/1/s/.maven/boot/plexus-classworlds-2.6.0.jar" />
    +
    +          <property name="bytecode.version" value="5" />
    +
    +          <property name="java.vm.specification.version" value="17" />
    +
    +          <property name="sun.arch.data.model" value="64" />
    +
    +          <property name="sun.java.command" value="org.codehaus.plexus.classworlds.launcher.Launcher -V -B -e --no-transfer-progress -f org.jacoco.build verify -Djdk.version=5 -Dbytecode.version=5 deploy:deploy -DdeployAtEnd --toolchains=toolchains.xml --settings=.azure-pipelines/maven-settings.xml" />
    +
    +          <property name="java.home" value="/usr/lib/jvm/temurin-17-jdk-amd64" />
    +
    +          <property name="user.language" value="en" />
    +
    +          <property name="java.specification.vendor" value="Oracle Corporation" />
    +
    +          <property name="java.vm.info" value="mixed mode, sharing" />
    +
    +          <property name="java.version" value="17.0.10" />
    +
    +          <property name="native.encoding" value="UTF-8" />
    +
    +          <property name="securerandom.source" value="file:/dev/./urandom" />
    +
    +          <property name="java.vendor" value="Eclipse Adoptium" />
    +
    +          <property name="maven.home" value="/home/vsts/work/1/s/.maven" />
    +
    +          <property name="file.separator" value="/" />
    +
    +          <property name="java.version.date" value="2024-01-16" />
    +
    +          <property name="java.vendor.url.bug" value="https://github.com/adoptium/adoptium-support/issues" />
    +
    +          <property name="sun.io.unicode.encoding" value="UnicodeLittle" />
    +
    +          <property name="sun.font.fontmanager" value="sun.awt.X11FontManager" />
    +
    +          <property name="sun.cpu.endian" value="little" />
    +
    +          <property name="java.vendor.version" value="Temurin-17.0.10+7" />
    +
    +      </properties>
    +
    +      <testcase classname="org.jacoco.core.data.SessionInfoTest" name="testToString" time="0" />
    +
    +      <testcase classname="org.jacoco.core.data.SessionInfoTest" name="testGetters" time="0" />
    +
    +      <testcase classname="org.jacoco.core.data.SessionInfoTest" name="testCompare" time="0" />
    +
    +      <testcase classname="org.jacoco.core.data.SessionInfoTest" name="testNullId" time="0.005" />
    +
    +  </testsuite>
    +  <testsuite errors="0" failures="0" id="44" name="ClassFileVersionsTest" package="org.jacoco.core.instr" skipped="0" tests="16" time="0.031" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="https://maven.apache.org/surefire/maven-surefire-plugin/xsd/surefire-test-report.xsd">
    +      <properties>
    +          <property name="jansi.mode" value="strip" />
    +
    +          <property name="java.runtime.name" value="OpenJDK Runtime Environment" />
    +
    +          <property name="java.vm.version" value="17.0.10+7" />
    +
    +          <property name="sun.boot.library.path" value="/usr/lib/jvm/temurin-17-jdk-amd64/lib" />
    +
    +          <property name="maven.multiModuleProjectDirectory" value="/home/vsts/work/1/s/org.jacoco.build" />
    +
    +          <property name="jdk.version" value="5" />
    +
    +          <property name="java.vm.vendor" value="Eclipse Adoptium" />
    +
    +          <property name="java.vendor.url" value="https://adoptium.net/" />
    +
    +          <property name="guice.disable.misplaced.annotation.check" value="true" />
    +
    +          <property name="path.separator" value=":" />
    +
    +          <property name="java.vm.name" value="OpenJDK 64-Bit Server VM" />
    +
    +          <property name="sun.java.launcher" value="SUN_STANDARD" />
    +
    +          <property name="java.vm.specification.name" value="Java Virtual Machine Specification" />
    +
    +          <property name="user.dir" value="/home/vsts/work/1/s" />
    +
    +          <property name="java.vm.compressedOopsMode" value="32-bit" />
    +
    +          <property name="java.runtime.version" value="17.0.10+7" />
    +
    +          <property name="os.arch" value="amd64" />
    +
    +          <property name="java.io.tmpdir" value="/tmp" />
    +
    +          <property name="line.separator" value="&#xa;" />
    +
    +          <property name="java.vm.specification.vendor" value="Oracle Corporation" />
    +
    +          <property name="os.name" value="Linux" />
    +
    +          <property name="classworlds.conf" value="/home/vsts/work/1/s/.maven/bin/m2.conf" />
    +
    +          <property name="sun.jnu.encoding" value="UTF-8" />
    +
    +          <property name="deployAtEnd" value="true" />
    +
    +          <property name="java.library.path" value="/usr/java/packages/lib:/usr/lib64:/lib64:/lib:/usr/lib" />
    +
    +          <property name="maven.conf" value="/home/vsts/work/1/s/.maven/conf" />
    +
    +          <property name="jdk.debug" value="release" />
    +
    +          <property name="java.class.version" value="61.0" />
    +
    +          <property name="java.specification.name" value="Java Platform API Specification" />
    +
    +          <property name="sun.management.compiler" value="HotSpot 64-Bit Tiered Compilers" />
    +
    +          <property name="os.version" value="5.15.0-1059-azure" />
    +
    +          <property name="library.jansi.path" value="/home/vsts/work/1/s/.maven/lib/jansi-native" />
    +
    +          <property name="user.home" value="/home/vsts" />
    +
    +          <property name="user.timezone" value="Etc/UTC" />
    +
    +          <property name="file.encoding" value="UTF-8" />
    +
    +          <property name="java.specification.version" value="17" />
    +
    +          <property name="user.name" value="vsts" />
    +
    +          <property name="java.class.path" value="/home/vsts/work/1/s/.maven/boot/plexus-classworlds-2.6.0.jar" />
    +
    +          <property name="bytecode.version" value="5" />
    +
    +          <property name="java.vm.specification.version" value="17" />
    +
    +          <property name="sun.arch.data.model" value="64" />
    +
    +          <property name="sun.java.command" value="org.codehaus.plexus.classworlds.launcher.Launcher -V -B -e --no-transfer-progress -f org.jacoco.build verify -Djdk.version=5 -Dbytecode.version=5 deploy:deploy -DdeployAtEnd --toolchains=toolchains.xml --settings=.azure-pipelines/maven-settings.xml" />
    +
    +          <property name="java.home" value="/usr/lib/jvm/temurin-17-jdk-amd64" />
    +
    +          <property name="user.language" value="en" />
    +
    +          <property name="java.specification.vendor" value="Oracle Corporation" />
    +
    +          <property name="java.vm.info" value="mixed mode, sharing" />
    +
    +          <property name="java.version" value="17.0.10" />
    +
    +          <property name="native.encoding" value="UTF-8" />
    +
    +          <property name="securerandom.source" value="file:/dev/./urandom" />
    +
    +          <property name="java.vendor" value="Eclipse Adoptium" />
    +
    +          <property name="maven.home" value="/home/vsts/work/1/s/.maven" />
    +
    +          <property name="file.separator" value="/" />
    +
    +          <property name="java.version.date" value="2024-01-16" />
    +
    +          <property name="java.vendor.url.bug" value="https://github.com/adoptium/adoptium-support/issues" />
    +
    +          <property name="sun.io.unicode.encoding" value="UnicodeLittle" />
    +
    +          <property name="sun.font.fontmanager" value="sun.awt.X11FontManager" />
    +
    +          <property name="sun.cpu.endian" value="little" />
    +
    +          <property name="java.vendor.version" value="Temurin-17.0.10+7" />
    +
    +      </properties>
    +
    +      <testcase classname="org.jacoco.core.instr.ClassFileVersionsTest" name="test_10" time="0.001" />
    +
    +      <testcase classname="org.jacoco.core.instr.ClassFileVersionsTest" name="test_11" time="0.001" />
    +
    +      <testcase classname="org.jacoco.core.instr.ClassFileVersionsTest" name="test_12" time="0" />
    +
    +      <testcase classname="org.jacoco.core.instr.ClassFileVersionsTest" name="test_13" time="0" />
    +
    +      <testcase classname="org.jacoco.core.instr.ClassFileVersionsTest" name="test_14" time="0" />
    +
    +      <testcase classname="org.jacoco.core.instr.ClassFileVersionsTest" name="test_15" time="0.001" />
    +
    +      <testcase classname="org.jacoco.core.instr.ClassFileVersionsTest" name="test_16" time="0" />
    +
    +      <testcase classname="org.jacoco.core.instr.ClassFileVersionsTest" name="test_1_1" time="0.001" />
    +
    +      <testcase classname="org.jacoco.core.instr.ClassFileVersionsTest" name="test_1_2" time="0" />
    +
    +      <testcase classname="org.jacoco.core.instr.ClassFileVersionsTest" name="test_1_3" time="0.001" />
    +
    +      <testcase classname="org.jacoco.core.instr.ClassFileVersionsTest" name="test_1_4" time="0" />
    +
    +      <testcase classname="org.jacoco.core.instr.ClassFileVersionsTest" name="test_1_5" time="0.001" />
    +
    +      <testcase classname="org.jacoco.core.instr.ClassFileVersionsTest" name="test_1_6" time="0" />
    +
    +      <testcase classname="org.jacoco.core.instr.ClassFileVersionsTest" name="test_1_7" time="0.017" />
    +
    +      <testcase classname="org.jacoco.core.instr.ClassFileVersionsTest" name="test_1_8" time="0" />
    +
    +      <testcase classname="org.jacoco.core.instr.ClassFileVersionsTest" name="test_9" time="0.001" />
    +
    +  </testsuite>
    +  <testsuite errors="0" failures="0" id="45" name="InstrumenterTest" package="org.jacoco.core.instr" skipped="0" tests="21" time="0.409" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="https://maven.apache.org/surefire/maven-surefire-plugin/xsd/surefire-test-report.xsd">
    +      <properties>
    +          <property name="jansi.mode" value="strip" />
    +
    +          <property name="java.runtime.name" value="OpenJDK Runtime Environment" />
    +
    +          <property name="java.vm.version" value="17.0.10+7" />
    +
    +          <property name="sun.boot.library.path" value="/usr/lib/jvm/temurin-17-jdk-amd64/lib" />
    +
    +          <property name="maven.multiModuleProjectDirectory" value="/home/vsts/work/1/s/org.jacoco.build" />
    +
    +          <property name="jdk.version" value="5" />
    +
    +          <property name="java.vm.vendor" value="Eclipse Adoptium" />
    +
    +          <property name="java.vendor.url" value="https://adoptium.net/" />
    +
    +          <property name="guice.disable.misplaced.annotation.check" value="true" />
    +
    +          <property name="path.separator" value=":" />
    +
    +          <property name="java.vm.name" value="OpenJDK 64-Bit Server VM" />
    +
    +          <property name="sun.java.launcher" value="SUN_STANDARD" />
    +
    +          <property name="java.vm.specification.name" value="Java Virtual Machine Specification" />
    +
    +          <property name="user.dir" value="/home/vsts/work/1/s" />
    +
    +          <property name="java.vm.compressedOopsMode" value="32-bit" />
    +
    +          <property name="java.runtime.version" value="17.0.10+7" />
    +
    +          <property name="os.arch" value="amd64" />
    +
    +          <property name="java.io.tmpdir" value="/tmp" />
    +
    +          <property name="line.separator" value="&#xa;" />
    +
    +          <property name="java.vm.specification.vendor" value="Oracle Corporation" />
    +
    +          <property name="os.name" value="Linux" />
    +
    +          <property name="classworlds.conf" value="/home/vsts/work/1/s/.maven/bin/m2.conf" />
    +
    +          <property name="sun.jnu.encoding" value="UTF-8" />
    +
    +          <property name="deployAtEnd" value="true" />
    +
    +          <property name="java.library.path" value="/usr/java/packages/lib:/usr/lib64:/lib64:/lib:/usr/lib" />
    +
    +          <property name="maven.conf" value="/home/vsts/work/1/s/.maven/conf" />
    +
    +          <property name="jdk.debug" value="release" />
    +
    +          <property name="java.class.version" value="61.0" />
    +
    +          <property name="java.specification.name" value="Java Platform API Specification" />
    +
    +          <property name="sun.management.compiler" value="HotSpot 64-Bit Tiered Compilers" />
    +
    +          <property name="os.version" value="5.15.0-1059-azure" />
    +
    +          <property name="library.jansi.path" value="/home/vsts/work/1/s/.maven/lib/jansi-native" />
    +
    +          <property name="user.home" value="/home/vsts" />
    +
    +          <property name="user.timezone" value="Etc/UTC" />
    +
    +          <property name="file.encoding" value="UTF-8" />
    +
    +          <property name="java.specification.version" value="17" />
    +
    +          <property name="user.name" value="vsts" />
    +
    +          <property name="java.class.path" value="/home/vsts/work/1/s/.maven/boot/plexus-classworlds-2.6.0.jar" />
    +
    +          <property name="bytecode.version" value="5" />
    +
    +          <property name="java.vm.specification.version" value="17" />
    +
    +          <property name="sun.arch.data.model" value="64" />
    +
    +          <property name="sun.java.command" value="org.codehaus.plexus.classworlds.launcher.Launcher -V -B -e --no-transfer-progress -f org.jacoco.build verify -Djdk.version=5 -Dbytecode.version=5 deploy:deploy -DdeployAtEnd --toolchains=toolchains.xml --settings=.azure-pipelines/maven-settings.xml" />
    +
    +          <property name="java.home" value="/usr/lib/jvm/temurin-17-jdk-amd64" />
    +
    +          <property name="user.language" value="en" />
    +
    +          <property name="java.specification.vendor" value="Oracle Corporation" />
    +
    +          <property name="java.vm.info" value="mixed mode, sharing" />
    +
    +          <property name="java.version" value="17.0.10" />
    +
    +          <property name="native.encoding" value="UTF-8" />
    +
    +          <property name="securerandom.source" value="file:/dev/./urandom" />
    +
    +          <property name="java.vendor" value="Eclipse Adoptium" />
    +
    +          <property name="maven.home" value="/home/vsts/work/1/s/.maven" />
    +
    +          <property name="file.separator" value="/" />
    +
    +          <property name="java.version.date" value="2024-01-16" />
    +
    +          <property name="java.vendor.url.bug" value="https://github.com/adoptium/adoptium-support/issues" />
    +
    +          <property name="sun.io.unicode.encoding" value="UnicodeLittle" />
    +
    +          <property name="sun.font.fontmanager" value="sun.awt.X11FontManager" />
    +
    +          <property name="sun.cpu.endian" value="little" />
    +
    +          <property name="java.vendor.version" value="Temurin-17.0.10+7" />
    +
    +      </properties>
    +
    +      <testcase classname="org.jacoco.core.instr.InstrumenterTest" name="testInstrumentAll_BrokenZipEntry" time="0.025" />
    +
    +      <testcase classname="org.jacoco.core.instr.InstrumenterTest" name="testInstrumentAll_RemoveSignatures" time="0.001" />
    +
    +      <testcase classname="org.jacoco.core.instr.InstrumenterTest" name="testInstrumentAll_Zip" time="0.105" />
    +
    +      <testcase classname="org.jacoco.core.instr.InstrumenterTest" name="testSerialization" time="0.008" />
    +
    +      <testcase classname="org.jacoco.core.instr.InstrumenterTest" name="instrument_should_throw_exception_for_unsupported_class_file_version" time="0" />
    +
    +      <testcase classname="org.jacoco.core.instr.InstrumenterTest" name="testInstrumentAll_Pack200" time="0.169" />
    +
    +      <testcase classname="org.jacoco.core.instr.InstrumenterTest" name="instrumentAll_should_throw_exception_for_unsupported_class_file_version" time="0.011" />
    +
    +      <testcase classname="org.jacoco.core.instr.InstrumenterTest" name="testInstrumentAll_Class" time="0.005" />
    +
    +      <testcase classname="org.jacoco.core.instr.InstrumenterTest" name="testInstrumentAll_BrokenGZ" time="0.001" />
    +
    +      <testcase classname="org.jacoco.core.instr.InstrumenterTest" name="testInstrumentAll_Other" time="0" />
    +
    +      <testcase classname="org.jacoco.core.instr.InstrumenterTest" name="testInstrumentAll_BrokenClassFileInZip" time="0.002" />
    +
    +      <testcase classname="org.jacoco.core.instr.InstrumenterTest" name="testInstrumentAll_Broken2" time="0" />
    +
    +      <testcase classname="org.jacoco.core.instr.InstrumenterTest" name="testInstrumentAll_Broken" time="0.001" />
    +
    +      <testcase classname="org.jacoco.core.instr.InstrumenterTest" name="testInstrumentAll_BrokenZip" time="0" />
    +
    +      <testcase classname="org.jacoco.core.instr.InstrumenterTest" name="should_not_modify_class_bytes_to_support_next_version" time="0.002" />
    +
    +      <testcase classname="org.jacoco.core.instr.InstrumenterTest" name="testInstrumentClass" time="0.017" />
    +
    +      <testcase classname="org.jacoco.core.instr.InstrumenterTest" name="testInstrumentAll_BrokenPack200" time="0" />
    +
    +      <testcase classname="org.jacoco.core.instr.InstrumenterTest" name="testInstrumentAll_KeepSignatures" time="0.001" />
    +
    +      <testcase classname="org.jacoco.core.instr.InstrumenterTest" name="testInstrumentBrokenClass1" time="0" />
    +
    +      <testcase classname="org.jacoco.core.instr.InstrumenterTest" name="testInstrumentBrokenStream2" time="0.001" />
    +
    +      <testcase classname="org.jacoco.core.instr.InstrumenterTest" name="testInstrumentBrokenStream" time="0" />
    +
    +  </testsuite>
    +  <testsuite errors="0" failures="0" id="46" name="ResizeInstructionsTest" package="org.jacoco.core.instr" skipped="0" tests="2" time="0.298" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="https://maven.apache.org/surefire/maven-surefire-plugin/xsd/surefire-test-report.xsd">
    +      <properties>
    +          <property name="jansi.mode" value="strip" />
    +
    +          <property name="java.runtime.name" value="OpenJDK Runtime Environment" />
    +
    +          <property name="java.vm.version" value="17.0.10+7" />
    +
    +          <property name="sun.boot.library.path" value="/usr/lib/jvm/temurin-17-jdk-amd64/lib" />
    +
    +          <property name="maven.multiModuleProjectDirectory" value="/home/vsts/work/1/s/org.jacoco.build" />
    +
    +          <property name="jdk.version" value="5" />
    +
    +          <property name="java.vm.vendor" value="Eclipse Adoptium" />
    +
    +          <property name="java.vendor.url" value="https://adoptium.net/" />
    +
    +          <property name="guice.disable.misplaced.annotation.check" value="true" />
    +
    +          <property name="path.separator" value=":" />
    +
    +          <property name="java.vm.name" value="OpenJDK 64-Bit Server VM" />
    +
    +          <property name="sun.java.launcher" value="SUN_STANDARD" />
    +
    +          <property name="java.vm.specification.name" value="Java Virtual Machine Specification" />
    +
    +          <property name="user.dir" value="/home/vsts/work/1/s" />
    +
    +          <property name="java.vm.compressedOopsMode" value="32-bit" />
    +
    +          <property name="java.runtime.version" value="17.0.10+7" />
    +
    +          <property name="os.arch" value="amd64" />
    +
    +          <property name="java.io.tmpdir" value="/tmp" />
    +
    +          <property name="line.separator" value="&#xa;" />
    +
    +          <property name="java.vm.specification.vendor" value="Oracle Corporation" />
    +
    +          <property name="os.name" value="Linux" />
    +
    +          <property name="classworlds.conf" value="/home/vsts/work/1/s/.maven/bin/m2.conf" />
    +
    +          <property name="sun.jnu.encoding" value="UTF-8" />
    +
    +          <property name="deployAtEnd" value="true" />
    +
    +          <property name="java.library.path" value="/usr/java/packages/lib:/usr/lib64:/lib64:/lib:/usr/lib" />
    +
    +          <property name="maven.conf" value="/home/vsts/work/1/s/.maven/conf" />
    +
    +          <property name="jdk.debug" value="release" />
    +
    +          <property name="java.class.version" value="61.0" />
    +
    +          <property name="java.specification.name" value="Java Platform API Specification" />
    +
    +          <property name="sun.management.compiler" value="HotSpot 64-Bit Tiered Compilers" />
    +
    +          <property name="os.version" value="5.15.0-1059-azure" />
    +
    +          <property name="library.jansi.path" value="/home/vsts/work/1/s/.maven/lib/jansi-native" />
    +
    +          <property name="user.home" value="/home/vsts" />
    +
    +          <property name="user.timezone" value="Etc/UTC" />
    +
    +          <property name="file.encoding" value="UTF-8" />
    +
    +          <property name="java.specification.version" value="17" />
    +
    +          <property name="user.name" value="vsts" />
    +
    +          <property name="java.class.path" value="/home/vsts/work/1/s/.maven/boot/plexus-classworlds-2.6.0.jar" />
    +
    +          <property name="bytecode.version" value="5" />
    +
    +          <property name="java.vm.specification.version" value="17" />
    +
    +          <property name="sun.arch.data.model" value="64" />
    +
    +          <property name="sun.java.command" value="org.codehaus.plexus.classworlds.launcher.Launcher -V -B -e --no-transfer-progress -f org.jacoco.build verify -Djdk.version=5 -Dbytecode.version=5 deploy:deploy -DdeployAtEnd --toolchains=toolchains.xml --settings=.azure-pipelines/maven-settings.xml" />
    +
    +          <property name="java.home" value="/usr/lib/jvm/temurin-17-jdk-amd64" />
    +
    +          <property name="user.language" value="en" />
    +
    +          <property name="java.specification.vendor" value="Oracle Corporation" />
    +
    +          <property name="java.vm.info" value="mixed mode, sharing" />
    +
    +          <property name="java.version" value="17.0.10" />
    +
    +          <property name="native.encoding" value="UTF-8" />
    +
    +          <property name="securerandom.source" value="file:/dev/./urandom" />
    +
    +          <property name="java.vendor" value="Eclipse Adoptium" />
    +
    +          <property name="maven.home" value="/home/vsts/work/1/s/.maven" />
    +
    +          <property name="file.separator" value="/" />
    +
    +          <property name="java.version.date" value="2024-01-16" />
    +
    +          <property name="java.vendor.url.bug" value="https://github.com/adoptium/adoptium-support/issues" />
    +
    +          <property name="sun.io.unicode.encoding" value="UnicodeLittle" />
    +
    +          <property name="sun.font.fontmanager" value="sun.awt.X11FontManager" />
    +
    +          <property name="sun.cpu.endian" value="little" />
    +
    +          <property name="java.vendor.version" value="Temurin-17.0.10+7" />
    +
    +      </properties>
    +
    +      <testcase classname="org.jacoco.core.instr.ResizeInstructionsTest" name="should_not_loose_InnerClasses_attribute" time="0.084" />
    +
    +      <testcase classname="org.jacoco.core.instr.ResizeInstructionsTest" name="should_not_require_computation_of_common_superclass" time="0.211" />
    +
    +  </testsuite>
    +  <testsuite errors="0" failures="0" id="47" name="ContentTypeDetectorTest" package="org.jacoco.core.internal" skipped="0" tests="27" time="0.01" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="https://maven.apache.org/surefire/maven-surefire-plugin/xsd/surefire-test-report.xsd">
    +      <properties>
    +          <property name="jansi.mode" value="strip" />
    +
    +          <property name="java.runtime.name" value="OpenJDK Runtime Environment" />
    +
    +          <property name="java.vm.version" value="17.0.10+7" />
    +
    +          <property name="sun.boot.library.path" value="/usr/lib/jvm/temurin-17-jdk-amd64/lib" />
    +
    +          <property name="maven.multiModuleProjectDirectory" value="/home/vsts/work/1/s/org.jacoco.build" />
    +
    +          <property name="jdk.version" value="5" />
    +
    +          <property name="java.vm.vendor" value="Eclipse Adoptium" />
    +
    +          <property name="java.vendor.url" value="https://adoptium.net/" />
    +
    +          <property name="guice.disable.misplaced.annotation.check" value="true" />
    +
    +          <property name="path.separator" value=":" />
    +
    +          <property name="java.vm.name" value="OpenJDK 64-Bit Server VM" />
    +
    +          <property name="sun.java.launcher" value="SUN_STANDARD" />
    +
    +          <property name="java.vm.specification.name" value="Java Virtual Machine Specification" />
    +
    +          <property name="user.dir" value="/home/vsts/work/1/s" />
    +
    +          <property name="java.vm.compressedOopsMode" value="32-bit" />
    +
    +          <property name="java.runtime.version" value="17.0.10+7" />
    +
    +          <property name="os.arch" value="amd64" />
    +
    +          <property name="java.io.tmpdir" value="/tmp" />
    +
    +          <property name="line.separator" value="&#xa;" />
    +
    +          <property name="java.vm.specification.vendor" value="Oracle Corporation" />
    +
    +          <property name="os.name" value="Linux" />
    +
    +          <property name="classworlds.conf" value="/home/vsts/work/1/s/.maven/bin/m2.conf" />
    +
    +          <property name="sun.jnu.encoding" value="UTF-8" />
    +
    +          <property name="deployAtEnd" value="true" />
    +
    +          <property name="java.library.path" value="/usr/java/packages/lib:/usr/lib64:/lib64:/lib:/usr/lib" />
    +
    +          <property name="maven.conf" value="/home/vsts/work/1/s/.maven/conf" />
    +
    +          <property name="jdk.debug" value="release" />
    +
    +          <property name="java.class.version" value="61.0" />
    +
    +          <property name="java.specification.name" value="Java Platform API Specification" />
    +
    +          <property name="sun.management.compiler" value="HotSpot 64-Bit Tiered Compilers" />
    +
    +          <property name="os.version" value="5.15.0-1059-azure" />
    +
    +          <property name="library.jansi.path" value="/home/vsts/work/1/s/.maven/lib/jansi-native" />
    +
    +          <property name="user.home" value="/home/vsts" />
    +
    +          <property name="user.timezone" value="Etc/UTC" />
    +
    +          <property name="file.encoding" value="UTF-8" />
    +
    +          <property name="java.specification.version" value="17" />
    +
    +          <property name="user.name" value="vsts" />
    +
    +          <property name="java.class.path" value="/home/vsts/work/1/s/.maven/boot/plexus-classworlds-2.6.0.jar" />
    +
    +          <property name="bytecode.version" value="5" />
    +
    +          <property name="java.vm.specification.version" value="17" />
    +
    +          <property name="sun.arch.data.model" value="64" />
    +
    +          <property name="sun.java.command" value="org.codehaus.plexus.classworlds.launcher.Launcher -V -B -e --no-transfer-progress -f org.jacoco.build verify -Djdk.version=5 -Dbytecode.version=5 deploy:deploy -DdeployAtEnd --toolchains=toolchains.xml --settings=.azure-pipelines/maven-settings.xml" />
    +
    +          <property name="java.home" value="/usr/lib/jvm/temurin-17-jdk-amd64" />
    +
    +          <property name="user.language" value="en" />
    +
    +          <property name="java.specification.vendor" value="Oracle Corporation" />
    +
    +          <property name="java.vm.info" value="mixed mode, sharing" />
    +
    +          <property name="java.version" value="17.0.10" />
    +
    +          <property name="native.encoding" value="UTF-8" />
    +
    +          <property name="securerandom.source" value="file:/dev/./urandom" />
    +
    +          <property name="java.vendor" value="Eclipse Adoptium" />
    +
    +          <property name="maven.home" value="/home/vsts/work/1/s/.maven" />
    +
    +          <property name="file.separator" value="/" />
    +
    +          <property name="java.version.date" value="2024-01-16" />
    +
    +          <property name="java.vendor.url.bug" value="https://github.com/adoptium/adoptium-support/issues" />
    +
    +          <property name="sun.io.unicode.encoding" value="UnicodeLittle" />
    +
    +          <property name="sun.font.fontmanager" value="sun.awt.X11FontManager" />
    +
    +          <property name="sun.cpu.endian" value="little" />
    +
    +          <property name="java.vendor.version" value="Temurin-17.0.10+7" />
    +
    +      </properties>
    +
    +      <testcase classname="org.jacoco.core.internal.ContentTypeDetectorTest" name="testClassFile11" time="0" />
    +
    +      <testcase classname="org.jacoco.core.internal.ContentTypeDetectorTest" name="testClassFile12" time="0" />
    +
    +      <testcase classname="org.jacoco.core.internal.ContentTypeDetectorTest" name="testClassFile13" time="0" />
    +
    +      <testcase classname="org.jacoco.core.internal.ContentTypeDetectorTest" name="testClassFile14" time="0" />
    +
    +      <testcase classname="org.jacoco.core.internal.ContentTypeDetectorTest" name="testClassFile15" time="0" />
    +
    +      <testcase classname="org.jacoco.core.internal.ContentTypeDetectorTest" name="testClassFile16" time="0" />
    +
    +      <testcase classname="org.jacoco.core.internal.ContentTypeDetectorTest" name="testClassFile17" time="0" />
    +
    +      <testcase classname="org.jacoco.core.internal.ContentTypeDetectorTest" name="testClassFile18" time="0.001" />
    +
    +      <testcase classname="org.jacoco.core.internal.ContentTypeDetectorTest" name="testClassFile19" time="0" />
    +
    +      <testcase classname="org.jacoco.core.internal.ContentTypeDetectorTest" name="should_detect_java_10" time="0" />
    +
    +      <testcase classname="org.jacoco.core.internal.ContentTypeDetectorTest" name="should_detect_java_11" time="0" />
    +
    +      <testcase classname="org.jacoco.core.internal.ContentTypeDetectorTest" name="should_detect_java_12" time="0" />
    +
    +      <testcase classname="org.jacoco.core.internal.ContentTypeDetectorTest" name="should_detect_java_13" time="0" />
    +
    +      <testcase classname="org.jacoco.core.internal.ContentTypeDetectorTest" name="should_detect_java_14" time="0" />
    +
    +      <testcase classname="org.jacoco.core.internal.ContentTypeDetectorTest" name="should_detect_java_42" time="0" />
    +
    +      <testcase classname="org.jacoco.core.internal.ContentTypeDetectorTest" name="testStreamWithoutMarkSupport" time="0.001" />
    +
    +      <testcase classname="org.jacoco.core.internal.ContentTypeDetectorTest" name="should_detect_java_12_with_preview_features" time="0" />
    +
    +      <testcase classname="org.jacoco.core.internal.ContentTypeDetectorTest" name="testZipFile" time="0" />
    +
    +      <testcase classname="org.jacoco.core.internal.ContentTypeDetectorTest" name="testPack200File" time="0.002" />
    +
    +      <testcase classname="org.jacoco.core.internal.ContentTypeDetectorTest" name="should_detect_java_13_with_preview_features" time="0" />
    +
    +      <testcase classname="org.jacoco.core.internal.ContentTypeDetectorTest" name="testEmptyStream" time="0" />
    +
    +      <testcase classname="org.jacoco.core.internal.ContentTypeDetectorTest" name="testClassFile" time="0.001" />
    +
    +      <testcase classname="org.jacoco.core.internal.ContentTypeDetectorTest" name="testGZipFile" time="0" />
    +
    +      <testcase classname="org.jacoco.core.internal.ContentTypeDetectorTest" name="should_detect_java_14_with_preview_features" time="0" />
    +
    +      <testcase classname="org.jacoco.core.internal.ContentTypeDetectorTest" name="testMachObjectFile" time="0" />
    +
    +      <testcase classname="org.jacoco.core.internal.ContentTypeDetectorTest" name="should_not_detect_MachO_fat_binary_with_44_architectures" time="0" />
    +
    +      <testcase classname="org.jacoco.core.internal.ContentTypeDetectorTest" name="should_detect_java_11_with_preview_features" time="0.001" />
    +
    +  </testsuite>
    +  <testsuite errors="0" failures="0" id="48" name="Pack200StreamsTest" package="org.jacoco.core.internal" skipped="2" tests="6" time="0.041" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="https://maven.apache.org/surefire/maven-surefire-plugin/xsd/surefire-test-report.xsd">
    +      <properties>
    +          <property name="jansi.mode" value="strip" />
    +
    +          <property name="java.runtime.name" value="OpenJDK Runtime Environment" />
    +
    +          <property name="java.vm.version" value="17.0.10+7" />
    +
    +          <property name="sun.boot.library.path" value="/usr/lib/jvm/temurin-17-jdk-amd64/lib" />
    +
    +          <property name="maven.multiModuleProjectDirectory" value="/home/vsts/work/1/s/org.jacoco.build" />
    +
    +          <property name="jdk.version" value="5" />
    +
    +          <property name="java.vm.vendor" value="Eclipse Adoptium" />
    +
    +          <property name="java.vendor.url" value="https://adoptium.net/" />
    +
    +          <property name="guice.disable.misplaced.annotation.check" value="true" />
    +
    +          <property name="path.separator" value=":" />
    +
    +          <property name="java.vm.name" value="OpenJDK 64-Bit Server VM" />
    +
    +          <property name="sun.java.launcher" value="SUN_STANDARD" />
    +
    +          <property name="java.vm.specification.name" value="Java Virtual Machine Specification" />
    +
    +          <property name="user.dir" value="/home/vsts/work/1/s" />
    +
    +          <property name="java.vm.compressedOopsMode" value="32-bit" />
    +
    +          <property name="java.runtime.version" value="17.0.10+7" />
    +
    +          <property name="os.arch" value="amd64" />
    +
    +          <property name="java.io.tmpdir" value="/tmp" />
    +
    +          <property name="line.separator" value="&#xa;" />
    +
    +          <property name="java.vm.specification.vendor" value="Oracle Corporation" />
    +
    +          <property name="os.name" value="Linux" />
    +
    +          <property name="classworlds.conf" value="/home/vsts/work/1/s/.maven/bin/m2.conf" />
    +
    +          <property name="sun.jnu.encoding" value="UTF-8" />
    +
    +          <property name="deployAtEnd" value="true" />
    +
    +          <property name="java.library.path" value="/usr/java/packages/lib:/usr/lib64:/lib64:/lib:/usr/lib" />
    +
    +          <property name="maven.conf" value="/home/vsts/work/1/s/.maven/conf" />
    +
    +          <property name="jdk.debug" value="release" />
    +
    +          <property name="java.class.version" value="61.0" />
    +
    +          <property name="java.specification.name" value="Java Platform API Specification" />
    +
    +          <property name="sun.management.compiler" value="HotSpot 64-Bit Tiered Compilers" />
    +
    +          <property name="os.version" value="5.15.0-1059-azure" />
    +
    +          <property name="library.jansi.path" value="/home/vsts/work/1/s/.maven/lib/jansi-native" />
    +
    +          <property name="user.home" value="/home/vsts" />
    +
    +          <property name="user.timezone" value="Etc/UTC" />
    +
    +          <property name="file.encoding" value="UTF-8" />
    +
    +          <property name="java.specification.version" value="17" />
    +
    +          <property name="user.name" value="vsts" />
    +
    +          <property name="java.class.path" value="/home/vsts/work/1/s/.maven/boot/plexus-classworlds-2.6.0.jar" />
    +
    +          <property name="bytecode.version" value="5" />
    +
    +          <property name="java.vm.specification.version" value="17" />
    +
    +          <property name="sun.arch.data.model" value="64" />
    +
    +          <property name="sun.java.command" value="org.codehaus.plexus.classworlds.launcher.Launcher -V -B -e --no-transfer-progress -f org.jacoco.build verify -Djdk.version=5 -Dbytecode.version=5 deploy:deploy -DdeployAtEnd --toolchains=toolchains.xml --settings=.azure-pipelines/maven-settings.xml" />
    +
    +          <property name="java.home" value="/usr/lib/jvm/temurin-17-jdk-amd64" />
    +
    +          <property name="user.language" value="en" />
    +
    +          <property name="java.specification.vendor" value="Oracle Corporation" />
    +
    +          <property name="java.vm.info" value="mixed mode, sharing" />
    +
    +          <property name="java.version" value="17.0.10" />
    +
    +          <property name="native.encoding" value="UTF-8" />
    +
    +          <property name="securerandom.source" value="file:/dev/./urandom" />
    +
    +          <property name="java.vendor" value="Eclipse Adoptium" />
    +
    +          <property name="maven.home" value="/home/vsts/work/1/s/.maven" />
    +
    +          <property name="file.separator" value="/" />
    +
    +          <property name="java.version.date" value="2024-01-16" />
    +
    +          <property name="java.vendor.url.bug" value="https://github.com/adoptium/adoptium-support/issues" />
    +
    +          <property name="sun.io.unicode.encoding" value="UnicodeLittle" />
    +
    +          <property name="sun.font.fontmanager" value="sun.awt.X11FontManager" />
    +
    +          <property name="sun.cpu.endian" value="little" />
    +
    +          <property name="java.vendor.version" value="Temurin-17.0.10+7" />
    +
    +      </properties>
    +
    +      <testcase classname="org.jacoco.core.internal.Pack200StreamsTest" name="pack_should_pack" time="0.022" />
    +
    +      <testcase classname="org.jacoco.core.internal.Pack200StreamsTest" name="unpack_should_throw_IOException_when_Pack200_not_available_in_JDK" time="0">
    +          <skipped />
    +
    +      </testcase>
    +
    +      <testcase classname="org.jacoco.core.internal.Pack200StreamsTest" name="pack_should_throw_IOException_when_Pack200_not_available_in_JDK" time="0">
    +          <skipped />
    +
    +      </testcase>
    +
    +      <testcase classname="org.jacoco.core.internal.Pack200StreamsTest" name="unpack_should_throw_IOException_when_can_not_read_from_InputStream" time="0" />
    +
    +      <testcase classname="org.jacoco.core.internal.Pack200StreamsTest" name="pack_should_throw_IOException_when_can_not_write_to_OutputStream" time="0.002" />
    +
    +      <testcase classname="org.jacoco.core.internal.Pack200StreamsTest" name="unpack_should_unpack" time="0.016" />
    +
    +  </testsuite>
    +  <testsuite errors="0" failures="0" id="49" name="BundleCoverageImplTest" package="org.jacoco.core.internal.analysis" skipped="0" tests="3" time="0.003" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="https://maven.apache.org/surefire/maven-surefire-plugin/xsd/surefire-test-report.xsd">
    +      <properties>
    +          <property name="jansi.mode" value="strip" />
    +
    +          <property name="java.runtime.name" value="OpenJDK Runtime Environment" />
    +
    +          <property name="java.vm.version" value="17.0.10+7" />
    +
    +          <property name="sun.boot.library.path" value="/usr/lib/jvm/temurin-17-jdk-amd64/lib" />
    +
    +          <property name="maven.multiModuleProjectDirectory" value="/home/vsts/work/1/s/org.jacoco.build" />
    +
    +          <property name="jdk.version" value="5" />
    +
    +          <property name="java.vm.vendor" value="Eclipse Adoptium" />
    +
    +          <property name="java.vendor.url" value="https://adoptium.net/" />
    +
    +          <property name="guice.disable.misplaced.annotation.check" value="true" />
    +
    +          <property name="path.separator" value=":" />
    +
    +          <property name="java.vm.name" value="OpenJDK 64-Bit Server VM" />
    +
    +          <property name="sun.java.launcher" value="SUN_STANDARD" />
    +
    +          <property name="java.vm.specification.name" value="Java Virtual Machine Specification" />
    +
    +          <property name="user.dir" value="/home/vsts/work/1/s" />
    +
    +          <property name="java.vm.compressedOopsMode" value="32-bit" />
    +
    +          <property name="java.runtime.version" value="17.0.10+7" />
    +
    +          <property name="os.arch" value="amd64" />
    +
    +          <property name="java.io.tmpdir" value="/tmp" />
    +
    +          <property name="line.separator" value="&#xa;" />
    +
    +          <property name="java.vm.specification.vendor" value="Oracle Corporation" />
    +
    +          <property name="os.name" value="Linux" />
    +
    +          <property name="classworlds.conf" value="/home/vsts/work/1/s/.maven/bin/m2.conf" />
    +
    +          <property name="sun.jnu.encoding" value="UTF-8" />
    +
    +          <property name="deployAtEnd" value="true" />
    +
    +          <property name="java.library.path" value="/usr/java/packages/lib:/usr/lib64:/lib64:/lib:/usr/lib" />
    +
    +          <property name="maven.conf" value="/home/vsts/work/1/s/.maven/conf" />
    +
    +          <property name="jdk.debug" value="release" />
    +
    +          <property name="java.class.version" value="61.0" />
    +
    +          <property name="java.specification.name" value="Java Platform API Specification" />
    +
    +          <property name="sun.management.compiler" value="HotSpot 64-Bit Tiered Compilers" />
    +
    +          <property name="os.version" value="5.15.0-1059-azure" />
    +
    +          <property name="library.jansi.path" value="/home/vsts/work/1/s/.maven/lib/jansi-native" />
    +
    +          <property name="user.home" value="/home/vsts" />
    +
    +          <property name="user.timezone" value="Etc/UTC" />
    +
    +          <property name="file.encoding" value="UTF-8" />
    +
    +          <property name="java.specification.version" value="17" />
    +
    +          <property name="user.name" value="vsts" />
    +
    +          <property name="java.class.path" value="/home/vsts/work/1/s/.maven/boot/plexus-classworlds-2.6.0.jar" />
    +
    +          <property name="bytecode.version" value="5" />
    +
    +          <property name="java.vm.specification.version" value="17" />
    +
    +          <property name="sun.arch.data.model" value="64" />
    +
    +          <property name="sun.java.command" value="org.codehaus.plexus.classworlds.launcher.Launcher -V -B -e --no-transfer-progress -f org.jacoco.build verify -Djdk.version=5 -Dbytecode.version=5 deploy:deploy -DdeployAtEnd --toolchains=toolchains.xml --settings=.azure-pipelines/maven-settings.xml" />
    +
    +          <property name="java.home" value="/usr/lib/jvm/temurin-17-jdk-amd64" />
    +
    +          <property name="user.language" value="en" />
    +
    +          <property name="java.specification.vendor" value="Oracle Corporation" />
    +
    +          <property name="java.vm.info" value="mixed mode, sharing" />
    +
    +          <property name="java.version" value="17.0.10" />
    +
    +          <property name="native.encoding" value="UTF-8" />
    +
    +          <property name="securerandom.source" value="file:/dev/./urandom" />
    +
    +          <property name="java.vendor" value="Eclipse Adoptium" />
    +
    +          <property name="maven.home" value="/home/vsts/work/1/s/.maven" />
    +
    +          <property name="file.separator" value="/" />
    +
    +          <property name="java.version.date" value="2024-01-16" />
    +
    +          <property name="java.vendor.url.bug" value="https://github.com/adoptium/adoptium-support/issues" />
    +
    +          <property name="sun.io.unicode.encoding" value="UnicodeLittle" />
    +
    +          <property name="sun.font.fontmanager" value="sun.awt.X11FontManager" />
    +
    +          <property name="sun.cpu.endian" value="little" />
    +
    +          <property name="java.vendor.version" value="Temurin-17.0.10+7" />
    +
    +      </properties>
    +
    +      <testcase classname="org.jacoco.core.internal.analysis.BundleCoverageImplTest" name="testGroupByPackage" time="0.002" />
    +
    +      <testcase classname="org.jacoco.core.internal.analysis.BundleCoverageImplTest" name="testProperties" time="0" />
    +
    +      <testcase classname="org.jacoco.core.internal.analysis.BundleCoverageImplTest" name="testCounters" time="0.001" />
    +
    +  </testsuite>
    +  <testsuite errors="0" failures="0" id="50" name="ClassAnalyzerTest" package="org.jacoco.core.internal.analysis" skipped="0" tests="4" time="0.005" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="https://maven.apache.org/surefire/maven-surefire-plugin/xsd/surefire-test-report.xsd">
    +      <properties>
    +          <property name="jansi.mode" value="strip" />
    +
    +          <property name="java.runtime.name" value="OpenJDK Runtime Environment" />
    +
    +          <property name="java.vm.version" value="17.0.10+7" />
    +
    +          <property name="sun.boot.library.path" value="/usr/lib/jvm/temurin-17-jdk-amd64/lib" />
    +
    +          <property name="maven.multiModuleProjectDirectory" value="/home/vsts/work/1/s/org.jacoco.build" />
    +
    +          <property name="jdk.version" value="5" />
    +
    +          <property name="java.vm.vendor" value="Eclipse Adoptium" />
    +
    +          <property name="java.vendor.url" value="https://adoptium.net/" />
    +
    +          <property name="guice.disable.misplaced.annotation.check" value="true" />
    +
    +          <property name="path.separator" value=":" />
    +
    +          <property name="java.vm.name" value="OpenJDK 64-Bit Server VM" />
    +
    +          <property name="sun.java.launcher" value="SUN_STANDARD" />
    +
    +          <property name="java.vm.specification.name" value="Java Virtual Machine Specification" />
    +
    +          <property name="user.dir" value="/home/vsts/work/1/s" />
    +
    +          <property name="java.vm.compressedOopsMode" value="32-bit" />
    +
    +          <property name="java.runtime.version" value="17.0.10+7" />
    +
    +          <property name="os.arch" value="amd64" />
    +
    +          <property name="java.io.tmpdir" value="/tmp" />
    +
    +          <property name="line.separator" value="&#xa;" />
    +
    +          <property name="java.vm.specification.vendor" value="Oracle Corporation" />
    +
    +          <property name="os.name" value="Linux" />
    +
    +          <property name="classworlds.conf" value="/home/vsts/work/1/s/.maven/bin/m2.conf" />
    +
    +          <property name="sun.jnu.encoding" value="UTF-8" />
    +
    +          <property name="deployAtEnd" value="true" />
    +
    +          <property name="java.library.path" value="/usr/java/packages/lib:/usr/lib64:/lib64:/lib:/usr/lib" />
    +
    +          <property name="maven.conf" value="/home/vsts/work/1/s/.maven/conf" />
    +
    +          <property name="jdk.debug" value="release" />
    +
    +          <property name="java.class.version" value="61.0" />
    +
    +          <property name="java.specification.name" value="Java Platform API Specification" />
    +
    +          <property name="sun.management.compiler" value="HotSpot 64-Bit Tiered Compilers" />
    +
    +          <property name="os.version" value="5.15.0-1059-azure" />
    +
    +          <property name="library.jansi.path" value="/home/vsts/work/1/s/.maven/lib/jansi-native" />
    +
    +          <property name="user.home" value="/home/vsts" />
    +
    +          <property name="user.timezone" value="Etc/UTC" />
    +
    +          <property name="file.encoding" value="UTF-8" />
    +
    +          <property name="java.specification.version" value="17" />
    +
    +          <property name="user.name" value="vsts" />
    +
    +          <property name="java.class.path" value="/home/vsts/work/1/s/.maven/boot/plexus-classworlds-2.6.0.jar" />
    +
    +          <property name="bytecode.version" value="5" />
    +
    +          <property name="java.vm.specification.version" value="17" />
    +
    +          <property name="sun.arch.data.model" value="64" />
    +
    +          <property name="sun.java.command" value="org.codehaus.plexus.classworlds.launcher.Launcher -V -B -e --no-transfer-progress -f org.jacoco.build verify -Djdk.version=5 -Dbytecode.version=5 deploy:deploy -DdeployAtEnd --toolchains=toolchains.xml --settings=.azure-pipelines/maven-settings.xml" />
    +
    +          <property name="java.home" value="/usr/lib/jvm/temurin-17-jdk-amd64" />
    +
    +          <property name="user.language" value="en" />
    +
    +          <property name="java.specification.vendor" value="Oracle Corporation" />
    +
    +          <property name="java.vm.info" value="mixed mode, sharing" />
    +
    +          <property name="java.version" value="17.0.10" />
    +
    +          <property name="native.encoding" value="UTF-8" />
    +
    +          <property name="securerandom.source" value="file:/dev/./urandom" />
    +
    +          <property name="java.vendor" value="Eclipse Adoptium" />
    +
    +          <property name="maven.home" value="/home/vsts/work/1/s/.maven" />
    +
    +          <property name="file.separator" value="/" />
    +
    +          <property name="java.version.date" value="2024-01-16" />
    +
    +          <property name="java.vendor.url.bug" value="https://github.com/adoptium/adoptium-support/issues" />
    +
    +          <property name="sun.io.unicode.encoding" value="UnicodeLittle" />
    +
    +          <property name="sun.font.fontmanager" value="sun.awt.X11FontManager" />
    +
    +          <property name="sun.cpu.endian" value="little" />
    +
    +          <property name="java.vendor.version" value="Temurin-17.0.10+7" />
    +
    +      </properties>
    +
    +      <testcase classname="org.jacoco.core.internal.analysis.ClassAnalyzerTest" name="testMethodFilter_Empty" time="0.001" />
    +
    +      <testcase classname="org.jacoco.core.internal.analysis.ClassAnalyzerTest" name="should_collect_attributes" time="0" />
    +
    +      <testcase classname="org.jacoco.core.internal.analysis.ClassAnalyzerTest" name="testAnalyzeInstrumentedClass1" time="0" />
    +
    +      <testcase classname="org.jacoco.core.internal.analysis.ClassAnalyzerTest" name="testAnalyzeInstrumentedClass2" time="0" />
    +
    +  </testsuite>
    +  <testsuite errors="0" failures="0" id="51" name="ClassCoverageImplTest" package="org.jacoco.core.internal.analysis" skipped="0" tests="11" time="0.003" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="https://maven.apache.org/surefire/maven-surefire-plugin/xsd/surefire-test-report.xsd">
    +      <properties>
    +          <property name="jansi.mode" value="strip" />
    +
    +          <property name="java.runtime.name" value="OpenJDK Runtime Environment" />
    +
    +          <property name="java.vm.version" value="17.0.10+7" />
    +
    +          <property name="sun.boot.library.path" value="/usr/lib/jvm/temurin-17-jdk-amd64/lib" />
    +
    +          <property name="maven.multiModuleProjectDirectory" value="/home/vsts/work/1/s/org.jacoco.build" />
    +
    +          <property name="jdk.version" value="5" />
    +
    +          <property name="java.vm.vendor" value="Eclipse Adoptium" />
    +
    +          <property name="java.vendor.url" value="https://adoptium.net/" />
    +
    +          <property name="guice.disable.misplaced.annotation.check" value="true" />
    +
    +          <property name="path.separator" value=":" />
    +
    +          <property name="java.vm.name" value="OpenJDK 64-Bit Server VM" />
    +
    +          <property name="sun.java.launcher" value="SUN_STANDARD" />
    +
    +          <property name="java.vm.specification.name" value="Java Virtual Machine Specification" />
    +
    +          <property name="user.dir" value="/home/vsts/work/1/s" />
    +
    +          <property name="java.vm.compressedOopsMode" value="32-bit" />
    +
    +          <property name="java.runtime.version" value="17.0.10+7" />
    +
    +          <property name="os.arch" value="amd64" />
    +
    +          <property name="java.io.tmpdir" value="/tmp" />
    +
    +          <property name="line.separator" value="&#xa;" />
    +
    +          <property name="java.vm.specification.vendor" value="Oracle Corporation" />
    +
    +          <property name="os.name" value="Linux" />
    +
    +          <property name="classworlds.conf" value="/home/vsts/work/1/s/.maven/bin/m2.conf" />
    +
    +          <property name="sun.jnu.encoding" value="UTF-8" />
    +
    +          <property name="deployAtEnd" value="true" />
    +
    +          <property name="java.library.path" value="/usr/java/packages/lib:/usr/lib64:/lib64:/lib:/usr/lib" />
    +
    +          <property name="maven.conf" value="/home/vsts/work/1/s/.maven/conf" />
    +
    +          <property name="jdk.debug" value="release" />
    +
    +          <property name="java.class.version" value="61.0" />
    +
    +          <property name="java.specification.name" value="Java Platform API Specification" />
    +
    +          <property name="sun.management.compiler" value="HotSpot 64-Bit Tiered Compilers" />
    +
    +          <property name="os.version" value="5.15.0-1059-azure" />
    +
    +          <property name="library.jansi.path" value="/home/vsts/work/1/s/.maven/lib/jansi-native" />
    +
    +          <property name="user.home" value="/home/vsts" />
    +
    +          <property name="user.timezone" value="Etc/UTC" />
    +
    +          <property name="file.encoding" value="UTF-8" />
    +
    +          <property name="java.specification.version" value="17" />
    +
    +          <property name="user.name" value="vsts" />
    +
    +          <property name="java.class.path" value="/home/vsts/work/1/s/.maven/boot/plexus-classworlds-2.6.0.jar" />
    +
    +          <property name="bytecode.version" value="5" />
    +
    +          <property name="java.vm.specification.version" value="17" />
    +
    +          <property name="sun.arch.data.model" value="64" />
    +
    +          <property name="sun.java.command" value="org.codehaus.plexus.classworlds.launcher.Launcher -V -B -e --no-transfer-progress -f org.jacoco.build verify -Djdk.version=5 -Dbytecode.version=5 deploy:deploy -DdeployAtEnd --toolchains=toolchains.xml --settings=.azure-pipelines/maven-settings.xml" />
    +
    +          <property name="java.home" value="/usr/lib/jvm/temurin-17-jdk-amd64" />
    +
    +          <property name="user.language" value="en" />
    +
    +          <property name="java.specification.vendor" value="Oracle Corporation" />
    +
    +          <property name="java.vm.info" value="mixed mode, sharing" />
    +
    +          <property name="java.version" value="17.0.10" />
    +
    +          <property name="native.encoding" value="UTF-8" />
    +
    +          <property name="securerandom.source" value="file:/dev/./urandom" />
    +
    +          <property name="java.vendor" value="Eclipse Adoptium" />
    +
    +          <property name="maven.home" value="/home/vsts/work/1/s/.maven" />
    +
    +          <property name="file.separator" value="/" />
    +
    +          <property name="java.version.date" value="2024-01-16" />
    +
    +          <property name="java.vendor.url.bug" value="https://github.com/adoptium/adoptium-support/issues" />
    +
    +          <property name="sun.io.unicode.encoding" value="UnicodeLittle" />
    +
    +          <property name="sun.font.fontmanager" value="sun.awt.X11FontManager" />
    +
    +          <property name="sun.cpu.endian" value="little" />
    +
    +          <property name="java.vendor.version" value="Temurin-17.0.10+7" />
    +
    +      </properties>
    +
    +      <testcase classname="org.jacoco.core.internal.analysis.ClassCoverageImplTest" name="testAddMethodCovered" time="0" />
    +
    +      <testcase classname="org.jacoco.core.internal.analysis.ClassCoverageImplTest" name="testEmptyClass" time="0" />
    +
    +      <testcase classname="org.jacoco.core.internal.analysis.ClassCoverageImplTest" name="testAddMethodMissed" time="0" />
    +
    +      <testcase classname="org.jacoco.core.internal.analysis.ClassCoverageImplTest" name="testGetPackageName1" time="0" />
    +
    +      <testcase classname="org.jacoco.core.internal.analysis.ClassCoverageImplTest" name="testGetPackageName2" time="0.001" />
    +
    +      <testcase classname="org.jacoco.core.internal.analysis.ClassCoverageImplTest" name="testSuperName" time="0" />
    +
    +      <testcase classname="org.jacoco.core.internal.analysis.ClassCoverageImplTest" name="testSourceFileName" time="0" />
    +
    +      <testcase classname="org.jacoco.core.internal.analysis.ClassCoverageImplTest" name="testDefaults" time="0" />
    +
    +      <testcase classname="org.jacoco.core.internal.analysis.ClassCoverageImplTest" name="testNoMatch" time="0" />
    +
    +      <testcase classname="org.jacoco.core.internal.analysis.ClassCoverageImplTest" name="testSignature" time="0" />
    +
    +      <testcase classname="org.jacoco.core.internal.analysis.ClassCoverageImplTest" name="testInterfaces" time="0" />
    +
    +  </testsuite>
    +  <testsuite errors="0" failures="0" id="52" name="CounterImplTest" package="org.jacoco.core.internal.analysis" skipped="0" tests="25" time="0.014" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="https://maven.apache.org/surefire/maven-surefire-plugin/xsd/surefire-test-report.xsd">
    +      <properties>
    +          <property name="jansi.mode" value="strip" />
    +
    +          <property name="java.runtime.name" value="OpenJDK Runtime Environment" />
    +
    +          <property name="java.vm.version" value="17.0.10+7" />
    +
    +          <property name="sun.boot.library.path" value="/usr/lib/jvm/temurin-17-jdk-amd64/lib" />
    +
    +          <property name="maven.multiModuleProjectDirectory" value="/home/vsts/work/1/s/org.jacoco.build" />
    +
    +          <property name="jdk.version" value="5" />
    +
    +          <property name="java.vm.vendor" value="Eclipse Adoptium" />
    +
    +          <property name="java.vendor.url" value="https://adoptium.net/" />
    +
    +          <property name="guice.disable.misplaced.annotation.check" value="true" />
    +
    +          <property name="path.separator" value=":" />
    +
    +          <property name="java.vm.name" value="OpenJDK 64-Bit Server VM" />
    +
    +          <property name="sun.java.launcher" value="SUN_STANDARD" />
    +
    +          <property name="java.vm.specification.name" value="Java Virtual Machine Specification" />
    +
    +          <property name="user.dir" value="/home/vsts/work/1/s" />
    +
    +          <property name="java.vm.compressedOopsMode" value="32-bit" />
    +
    +          <property name="java.runtime.version" value="17.0.10+7" />
    +
    +          <property name="os.arch" value="amd64" />
    +
    +          <property name="java.io.tmpdir" value="/tmp" />
    +
    +          <property name="line.separator" value="&#xa;" />
    +
    +          <property name="java.vm.specification.vendor" value="Oracle Corporation" />
    +
    +          <property name="os.name" value="Linux" />
    +
    +          <property name="classworlds.conf" value="/home/vsts/work/1/s/.maven/bin/m2.conf" />
    +
    +          <property name="sun.jnu.encoding" value="UTF-8" />
    +
    +          <property name="deployAtEnd" value="true" />
    +
    +          <property name="java.library.path" value="/usr/java/packages/lib:/usr/lib64:/lib64:/lib:/usr/lib" />
    +
    +          <property name="maven.conf" value="/home/vsts/work/1/s/.maven/conf" />
    +
    +          <property name="jdk.debug" value="release" />
    +
    +          <property name="java.class.version" value="61.0" />
    +
    +          <property name="java.specification.name" value="Java Platform API Specification" />
    +
    +          <property name="sun.management.compiler" value="HotSpot 64-Bit Tiered Compilers" />
    +
    +          <property name="os.version" value="5.15.0-1059-azure" />
    +
    +          <property name="library.jansi.path" value="/home/vsts/work/1/s/.maven/lib/jansi-native" />
    +
    +          <property name="user.home" value="/home/vsts" />
    +
    +          <property name="user.timezone" value="Etc/UTC" />
    +
    +          <property name="file.encoding" value="UTF-8" />
    +
    +          <property name="java.specification.version" value="17" />
    +
    +          <property name="user.name" value="vsts" />
    +
    +          <property name="java.class.path" value="/home/vsts/work/1/s/.maven/boot/plexus-classworlds-2.6.0.jar" />
    +
    +          <property name="bytecode.version" value="5" />
    +
    +          <property name="java.vm.specification.version" value="17" />
    +
    +          <property name="sun.arch.data.model" value="64" />
    +
    +          <property name="sun.java.command" value="org.codehaus.plexus.classworlds.launcher.Launcher -V -B -e --no-transfer-progress -f org.jacoco.build verify -Djdk.version=5 -Dbytecode.version=5 deploy:deploy -DdeployAtEnd --toolchains=toolchains.xml --settings=.azure-pipelines/maven-settings.xml" />
    +
    +          <property name="java.home" value="/usr/lib/jvm/temurin-17-jdk-amd64" />
    +
    +          <property name="user.language" value="en" />
    +
    +          <property name="java.specification.vendor" value="Oracle Corporation" />
    +
    +          <property name="java.vm.info" value="mixed mode, sharing" />
    +
    +          <property name="java.version" value="17.0.10" />
    +
    +          <property name="native.encoding" value="UTF-8" />
    +
    +          <property name="securerandom.source" value="file:/dev/./urandom" />
    +
    +          <property name="java.vendor" value="Eclipse Adoptium" />
    +
    +          <property name="maven.home" value="/home/vsts/work/1/s/.maven" />
    +
    +          <property name="file.separator" value="/" />
    +
    +          <property name="java.version.date" value="2024-01-16" />
    +
    +          <property name="java.vendor.url.bug" value="https://github.com/adoptium/adoptium-support/issues" />
    +
    +          <property name="sun.io.unicode.encoding" value="UnicodeLittle" />
    +
    +          <property name="sun.font.fontmanager" value="sun.awt.X11FontManager" />
    +
    +          <property name="sun.cpu.endian" value="little" />
    +
    +          <property name="java.vendor.version" value="Temurin-17.0.10+7" />
    +
    +      </properties>
    +
    +      <testcase classname="org.jacoco.core.internal.analysis.CounterImplTest" name="testEquals1" time="0.001" />
    +
    +      <testcase classname="org.jacoco.core.internal.analysis.CounterImplTest" name="testEquals2" time="0" />
    +
    +      <testcase classname="org.jacoco.core.internal.analysis.CounterImplTest" name="testEquals3" time="0" />
    +
    +      <testcase classname="org.jacoco.core.internal.analysis.CounterImplTest" name="testEquals4" time="0" />
    +
    +      <testcase classname="org.jacoco.core.internal.analysis.CounterImplTest" name="testToString" time="0" />
    +
    +      <testcase classname="org.jacoco.core.internal.analysis.CounterImplTest" name="testGetMissedStatus1" time="0.001" />
    +
    +      <testcase classname="org.jacoco.core.internal.analysis.CounterImplTest" name="testGetMissedStatus2" time="0.001" />
    +
    +      <testcase classname="org.jacoco.core.internal.analysis.CounterImplTest" name="testGetMissedStatus3" time="0" />
    +
    +      <testcase classname="org.jacoco.core.internal.analysis.CounterImplTest" name="testGetMissedStatus4" time="0" />
    +
    +      <testcase classname="org.jacoco.core.internal.analysis.CounterImplTest" name="testFixInstance" time="0" />
    +
    +      <testcase classname="org.jacoco.core.internal.analysis.CounterImplTest" name="testIncrement1" time="0" />
    +
    +      <testcase classname="org.jacoco.core.internal.analysis.CounterImplTest" name="testIncrement2" time="0" />
    +
    +      <testcase classname="org.jacoco.core.internal.analysis.CounterImplTest" name="testVarInstance" time="0" />
    +
    +      <testcase classname="org.jacoco.core.internal.analysis.CounterImplTest" name="testHashCode1" time="0" />
    +
    +      <testcase classname="org.jacoco.core.internal.analysis.CounterImplTest" name="testHashCode2" time="0.001" />
    +
    +      <testcase classname="org.jacoco.core.internal.analysis.CounterImplTest" name="testHashCode3" time="0" />
    +
    +      <testcase classname="org.jacoco.core.internal.analysis.CounterImplTest" name="testGetMissedRatio1" time="0.001" />
    +
    +      <testcase classname="org.jacoco.core.internal.analysis.CounterImplTest" name="testGetMissedRatio2" time="0" />
    +
    +      <testcase classname="org.jacoco.core.internal.analysis.CounterImplTest" name="testGetMissedRatio3" time="0" />
    +
    +      <testcase classname="org.jacoco.core.internal.analysis.CounterImplTest" name="testGetInstance1" time="0" />
    +
    +      <testcase classname="org.jacoco.core.internal.analysis.CounterImplTest" name="testGetInstance2" time="0" />
    +
    +      <testcase classname="org.jacoco.core.internal.analysis.CounterImplTest" name="testGetInstance3" time="0" />
    +
    +      <testcase classname="org.jacoco.core.internal.analysis.CounterImplTest" name="testGetCoveredRatio1" time="0" />
    +
    +      <testcase classname="org.jacoco.core.internal.analysis.CounterImplTest" name="testGetCoveredRatio2" time="0" />
    +
    +      <testcase classname="org.jacoco.core.internal.analysis.CounterImplTest" name="testGetCoveredRatio3" time="0" />
    +
    +  </testsuite>
    +  <testsuite errors="0" failures="0" id="53" name="InstructionTest" package="org.jacoco.core.internal.analysis" skipped="0" tests="13" time="0.109" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="https://maven.apache.org/surefire/maven-surefire-plugin/xsd/surefire-test-report.xsd">
    +      <properties>
    +          <property name="jansi.mode" value="strip" />
    +
    +          <property name="java.runtime.name" value="OpenJDK Runtime Environment" />
    +
    +          <property name="java.vm.version" value="17.0.10+7" />
    +
    +          <property name="sun.boot.library.path" value="/usr/lib/jvm/temurin-17-jdk-amd64/lib" />
    +
    +          <property name="maven.multiModuleProjectDirectory" value="/home/vsts/work/1/s/org.jacoco.build" />
    +
    +          <property name="jdk.version" value="5" />
    +
    +          <property name="java.vm.vendor" value="Eclipse Adoptium" />
    +
    +          <property name="java.vendor.url" value="https://adoptium.net/" />
    +
    +          <property name="guice.disable.misplaced.annotation.check" value="true" />
    +
    +          <property name="path.separator" value=":" />
    +
    +          <property name="java.vm.name" value="OpenJDK 64-Bit Server VM" />
    +
    +          <property name="sun.java.launcher" value="SUN_STANDARD" />
    +
    +          <property name="java.vm.specification.name" value="Java Virtual Machine Specification" />
    +
    +          <property name="user.dir" value="/home/vsts/work/1/s" />
    +
    +          <property name="java.vm.compressedOopsMode" value="32-bit" />
    +
    +          <property name="java.runtime.version" value="17.0.10+7" />
    +
    +          <property name="os.arch" value="amd64" />
    +
    +          <property name="java.io.tmpdir" value="/tmp" />
    +
    +          <property name="line.separator" value="&#xa;" />
    +
    +          <property name="java.vm.specification.vendor" value="Oracle Corporation" />
    +
    +          <property name="os.name" value="Linux" />
    +
    +          <property name="classworlds.conf" value="/home/vsts/work/1/s/.maven/bin/m2.conf" />
    +
    +          <property name="sun.jnu.encoding" value="UTF-8" />
    +
    +          <property name="deployAtEnd" value="true" />
    +
    +          <property name="java.library.path" value="/usr/java/packages/lib:/usr/lib64:/lib64:/lib:/usr/lib" />
    +
    +          <property name="maven.conf" value="/home/vsts/work/1/s/.maven/conf" />
    +
    +          <property name="jdk.debug" value="release" />
    +
    +          <property name="java.class.version" value="61.0" />
    +
    +          <property name="java.specification.name" value="Java Platform API Specification" />
    +
    +          <property name="sun.management.compiler" value="HotSpot 64-Bit Tiered Compilers" />
    +
    +          <property name="os.version" value="5.15.0-1059-azure" />
    +
    +          <property name="library.jansi.path" value="/home/vsts/work/1/s/.maven/lib/jansi-native" />
    +
    +          <property name="user.home" value="/home/vsts" />
    +
    +          <property name="user.timezone" value="Etc/UTC" />
    +
    +          <property name="file.encoding" value="UTF-8" />
    +
    +          <property name="java.specification.version" value="17" />
    +
    +          <property name="user.name" value="vsts" />
    +
    +          <property name="java.class.path" value="/home/vsts/work/1/s/.maven/boot/plexus-classworlds-2.6.0.jar" />
    +
    +          <property name="bytecode.version" value="5" />
    +
    +          <property name="java.vm.specification.version" value="17" />
    +
    +          <property name="sun.arch.data.model" value="64" />
    +
    +          <property name="sun.java.command" value="org.codehaus.plexus.classworlds.launcher.Launcher -V -B -e --no-transfer-progress -f org.jacoco.build verify -Djdk.version=5 -Dbytecode.version=5 deploy:deploy -DdeployAtEnd --toolchains=toolchains.xml --settings=.azure-pipelines/maven-settings.xml" />
    +
    +          <property name="java.home" value="/usr/lib/jvm/temurin-17-jdk-amd64" />
    +
    +          <property name="user.language" value="en" />
    +
    +          <property name="java.specification.vendor" value="Oracle Corporation" />
    +
    +          <property name="java.vm.info" value="mixed mode, sharing" />
    +
    +          <property name="java.version" value="17.0.10" />
    +
    +          <property name="native.encoding" value="UTF-8" />
    +
    +          <property name="securerandom.source" value="file:/dev/./urandom" />
    +
    +          <property name="java.vendor" value="Eclipse Adoptium" />
    +
    +          <property name="maven.home" value="/home/vsts/work/1/s/.maven" />
    +
    +          <property name="file.separator" value="/" />
    +
    +          <property name="java.version.date" value="2024-01-16" />
    +
    +          <property name="java.vendor.url.bug" value="https://github.com/adoptium/adoptium-support/issues" />
    +
    +          <property name="sun.io.unicode.encoding" value="UnicodeLittle" />
    +
    +          <property name="sun.font.fontmanager" value="sun.awt.X11FontManager" />
    +
    +          <property name="sun.cpu.endian" value="little" />
    +
    +          <property name="java.vendor.version" value="Temurin-17.0.10+7" />
    +
    +      </properties>
    +
    +      <testcase classname="org.jacoco.core.internal.analysis.InstructionTest" name="addBranchWithProbe_should_propagate_coverage_status_to_existing_predecessors" time="0" />
    +
    +      <testcase classname="org.jacoco.core.internal.analysis.InstructionTest" name="addBranchWithInstruction_should_not_increment_branches_when_only_one_branch_is_added" time="0" />
    +
    +      <testcase classname="org.jacoco.core.internal.analysis.InstructionTest" name="new_instance_should_have_no_coverage_and_no_branches" time="0" />
    +
    +      <testcase classname="org.jacoco.core.internal.analysis.InstructionTest" name="addBranch_should_count_large_number_of_branches" time="0.001" />
    +
    +      <testcase classname="org.jacoco.core.internal.analysis.InstructionTest" name="getLine_should_return_line_number" time="0.001" />
    +
    +      <testcase classname="org.jacoco.core.internal.analysis.InstructionTest" name="replaceBranches_should_calculate_coverage_on_new_branches" time="0" />
    +
    +      <testcase classname="org.jacoco.core.internal.analysis.InstructionTest" name="addBranchWithInstruction_should_increment_branches_when_two_branches_are_added" time="0" />
    +
    +      <testcase classname="org.jacoco.core.internal.analysis.InstructionTest" name="addBranch_should_propagate_coverage_status_over_very_long_sequence" time="0.103" />
    +
    +      <testcase classname="org.jacoco.core.internal.analysis.InstructionTest" name="addBranchWithProbe_should_increment_branches_when_not_covered" time="0" />
    +
    +      <testcase classname="org.jacoco.core.internal.analysis.InstructionTest" name="merge_should_calculate_superset_of_covered_branches" time="0" />
    +
    +      <testcase classname="org.jacoco.core.internal.analysis.InstructionTest" name="addBranchWithProbe_should_increment_branches_when_partly_covered" time="0" />
    +
    +      <testcase classname="org.jacoco.core.internal.analysis.InstructionTest" name="addBranchWithProbe_should_increment_branches_when_covered" time="0" />
    +
    +      <testcase classname="org.jacoco.core.internal.analysis.InstructionTest" name="addBranchWithInstruction_should_propagate_existing_coverage_status" time="0" />
    +
    +  </testsuite>
    +  <testsuite errors="0" failures="0" id="54" name="InstructionsBuilderTest" package="org.jacoco.core.internal.analysis" skipped="0" tests="9" time="0.002" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="https://maven.apache.org/surefire/maven-surefire-plugin/xsd/surefire-test-report.xsd">
    +      <properties>
    +          <property name="jansi.mode" value="strip" />
    +
    +          <property name="java.runtime.name" value="OpenJDK Runtime Environment" />
    +
    +          <property name="java.vm.version" value="17.0.10+7" />
    +
    +          <property name="sun.boot.library.path" value="/usr/lib/jvm/temurin-17-jdk-amd64/lib" />
    +
    +          <property name="maven.multiModuleProjectDirectory" value="/home/vsts/work/1/s/org.jacoco.build" />
    +
    +          <property name="jdk.version" value="5" />
    +
    +          <property name="java.vm.vendor" value="Eclipse Adoptium" />
    +
    +          <property name="java.vendor.url" value="https://adoptium.net/" />
    +
    +          <property name="guice.disable.misplaced.annotation.check" value="true" />
    +
    +          <property name="path.separator" value=":" />
    +
    +          <property name="java.vm.name" value="OpenJDK 64-Bit Server VM" />
    +
    +          <property name="sun.java.launcher" value="SUN_STANDARD" />
    +
    +          <property name="java.vm.specification.name" value="Java Virtual Machine Specification" />
    +
    +          <property name="user.dir" value="/home/vsts/work/1/s" />
    +
    +          <property name="java.vm.compressedOopsMode" value="32-bit" />
    +
    +          <property name="java.runtime.version" value="17.0.10+7" />
    +
    +          <property name="os.arch" value="amd64" />
    +
    +          <property name="java.io.tmpdir" value="/tmp" />
    +
    +          <property name="line.separator" value="&#xa;" />
    +
    +          <property name="java.vm.specification.vendor" value="Oracle Corporation" />
    +
    +          <property name="os.name" value="Linux" />
    +
    +          <property name="classworlds.conf" value="/home/vsts/work/1/s/.maven/bin/m2.conf" />
    +
    +          <property name="sun.jnu.encoding" value="UTF-8" />
    +
    +          <property name="deployAtEnd" value="true" />
    +
    +          <property name="java.library.path" value="/usr/java/packages/lib:/usr/lib64:/lib64:/lib:/usr/lib" />
    +
    +          <property name="maven.conf" value="/home/vsts/work/1/s/.maven/conf" />
    +
    +          <property name="jdk.debug" value="release" />
    +
    +          <property name="java.class.version" value="61.0" />
    +
    +          <property name="java.specification.name" value="Java Platform API Specification" />
    +
    +          <property name="sun.management.compiler" value="HotSpot 64-Bit Tiered Compilers" />
    +
    +          <property name="os.version" value="5.15.0-1059-azure" />
    +
    +          <property name="library.jansi.path" value="/home/vsts/work/1/s/.maven/lib/jansi-native" />
    +
    +          <property name="user.home" value="/home/vsts" />
    +
    +          <property name="user.timezone" value="Etc/UTC" />
    +
    +          <property name="file.encoding" value="UTF-8" />
    +
    +          <property name="java.specification.version" value="17" />
    +
    +          <property name="user.name" value="vsts" />
    +
    +          <property name="java.class.path" value="/home/vsts/work/1/s/.maven/boot/plexus-classworlds-2.6.0.jar" />
    +
    +          <property name="bytecode.version" value="5" />
    +
    +          <property name="java.vm.specification.version" value="17" />
    +
    +          <property name="sun.arch.data.model" value="64" />
    +
    +          <property name="sun.java.command" value="org.codehaus.plexus.classworlds.launcher.Launcher -V -B -e --no-transfer-progress -f org.jacoco.build verify -Djdk.version=5 -Dbytecode.version=5 deploy:deploy -DdeployAtEnd --toolchains=toolchains.xml --settings=.azure-pipelines/maven-settings.xml" />
    +
    +          <property name="java.home" value="/usr/lib/jvm/temurin-17-jdk-amd64" />
    +
    +          <property name="user.language" value="en" />
    +
    +          <property name="java.specification.vendor" value="Oracle Corporation" />
    +
    +          <property name="java.vm.info" value="mixed mode, sharing" />
    +
    +          <property name="java.version" value="17.0.10" />
    +
    +          <property name="native.encoding" value="UTF-8" />
    +
    +          <property name="securerandom.source" value="file:/dev/./urandom" />
    +
    +          <property name="java.vendor" value="Eclipse Adoptium" />
    +
    +          <property name="maven.home" value="/home/vsts/work/1/s/.maven" />
    +
    +          <property name="file.separator" value="/" />
    +
    +          <property name="java.version.date" value="2024-01-16" />
    +
    +          <property name="java.vendor.url.bug" value="https://github.com/adoptium/adoptium-support/issues" />
    +
    +          <property name="sun.io.unicode.encoding" value="UnicodeLittle" />
    +
    +          <property name="sun.font.fontmanager" value="sun.awt.X11FontManager" />
    +
    +          <property name="sun.cpu.endian" value="little" />
    +
    +          <property name="java.vendor.version" value="Temurin-17.0.10+7" />
    +
    +      </properties>
    +
    +      <testcase classname="org.jacoco.core.internal.analysis.InstructionsBuilderTest" name="null_probearray_should_not_mark_instruction_as_covered" time="0" />
    +
    +      <testcase classname="org.jacoco.core.internal.analysis.InstructionsBuilderTest" name="jumps_should_propagate_coverage_status" time="0" />
    +
    +      <testcase classname="org.jacoco.core.internal.analysis.InstructionsBuilderTest" name="subsequent_instructions_should_be_linked_after_label_marked_as_successor" time="0.001" />
    +
    +      <testcase classname="org.jacoco.core.internal.analysis.InstructionsBuilderTest" name="subsequent_instructions_should_not_be_linked_when_noSuccessor_was_called" time="0" />
    +
    +      <testcase classname="org.jacoco.core.internal.analysis.InstructionsBuilderTest" name="subsequent_instructions_should_not_be_linked_after_label_not_marked_as_successor" time="0" />
    +
    +      <testcase classname="org.jacoco.core.internal.analysis.InstructionsBuilderTest" name="subsequent_instructions_should_be_linked_by_default" time="0" />
    +
    +      <testcase classname="org.jacoco.core.internal.analysis.InstructionsBuilderTest" name="current_line_number_should_be_applied_to_instructions" time="0" />
    +
    +      <testcase classname="org.jacoco.core.internal.analysis.InstructionsBuilderTest" name="executed_probe_should_mark_instruction_as_covered" time="0" />
    +
    +      <testcase classname="org.jacoco.core.internal.analysis.InstructionsBuilderTest" name="unexecuted_probe_should_not_mark_instruction_as_covered" time="0" />
    +
    +  </testsuite>
    +  <testsuite errors="0" failures="0" id="55" name="LineImplTest" package="org.jacoco.core.internal.analysis" skipped="0" tests="17" time="0.005" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="https://maven.apache.org/surefire/maven-surefire-plugin/xsd/surefire-test-report.xsd">
    +      <properties>
    +          <property name="jansi.mode" value="strip" />
    +
    +          <property name="java.runtime.name" value="OpenJDK Runtime Environment" />
    +
    +          <property name="java.vm.version" value="17.0.10+7" />
    +
    +          <property name="sun.boot.library.path" value="/usr/lib/jvm/temurin-17-jdk-amd64/lib" />
    +
    +          <property name="maven.multiModuleProjectDirectory" value="/home/vsts/work/1/s/org.jacoco.build" />
    +
    +          <property name="jdk.version" value="5" />
    +
    +          <property name="java.vm.vendor" value="Eclipse Adoptium" />
    +
    +          <property name="java.vendor.url" value="https://adoptium.net/" />
    +
    +          <property name="guice.disable.misplaced.annotation.check" value="true" />
    +
    +          <property name="path.separator" value=":" />
    +
    +          <property name="java.vm.name" value="OpenJDK 64-Bit Server VM" />
    +
    +          <property name="sun.java.launcher" value="SUN_STANDARD" />
    +
    +          <property name="java.vm.specification.name" value="Java Virtual Machine Specification" />
    +
    +          <property name="user.dir" value="/home/vsts/work/1/s" />
    +
    +          <property name="java.vm.compressedOopsMode" value="32-bit" />
    +
    +          <property name="java.runtime.version" value="17.0.10+7" />
    +
    +          <property name="os.arch" value="amd64" />
    +
    +          <property name="java.io.tmpdir" value="/tmp" />
    +
    +          <property name="line.separator" value="&#xa;" />
    +
    +          <property name="java.vm.specification.vendor" value="Oracle Corporation" />
    +
    +          <property name="os.name" value="Linux" />
    +
    +          <property name="classworlds.conf" value="/home/vsts/work/1/s/.maven/bin/m2.conf" />
    +
    +          <property name="sun.jnu.encoding" value="UTF-8" />
    +
    +          <property name="deployAtEnd" value="true" />
    +
    +          <property name="java.library.path" value="/usr/java/packages/lib:/usr/lib64:/lib64:/lib:/usr/lib" />
    +
    +          <property name="maven.conf" value="/home/vsts/work/1/s/.maven/conf" />
    +
    +          <property name="jdk.debug" value="release" />
    +
    +          <property name="java.class.version" value="61.0" />
    +
    +          <property name="java.specification.name" value="Java Platform API Specification" />
    +
    +          <property name="sun.management.compiler" value="HotSpot 64-Bit Tiered Compilers" />
    +
    +          <property name="os.version" value="5.15.0-1059-azure" />
    +
    +          <property name="library.jansi.path" value="/home/vsts/work/1/s/.maven/lib/jansi-native" />
    +
    +          <property name="user.home" value="/home/vsts" />
    +
    +          <property name="user.timezone" value="Etc/UTC" />
    +
    +          <property name="file.encoding" value="UTF-8" />
    +
    +          <property name="java.specification.version" value="17" />
    +
    +          <property name="user.name" value="vsts" />
    +
    +          <property name="java.class.path" value="/home/vsts/work/1/s/.maven/boot/plexus-classworlds-2.6.0.jar" />
    +
    +          <property name="bytecode.version" value="5" />
    +
    +          <property name="java.vm.specification.version" value="17" />
    +
    +          <property name="sun.arch.data.model" value="64" />
    +
    +          <property name="sun.java.command" value="org.codehaus.plexus.classworlds.launcher.Launcher -V -B -e --no-transfer-progress -f org.jacoco.build verify -Djdk.version=5 -Dbytecode.version=5 deploy:deploy -DdeployAtEnd --toolchains=toolchains.xml --settings=.azure-pipelines/maven-settings.xml" />
    +
    +          <property name="java.home" value="/usr/lib/jvm/temurin-17-jdk-amd64" />
    +
    +          <property name="user.language" value="en" />
    +
    +          <property name="java.specification.vendor" value="Oracle Corporation" />
    +
    +          <property name="java.vm.info" value="mixed mode, sharing" />
    +
    +          <property name="java.version" value="17.0.10" />
    +
    +          <property name="native.encoding" value="UTF-8" />
    +
    +          <property name="securerandom.source" value="file:/dev/./urandom" />
    +
    +          <property name="java.vendor" value="Eclipse Adoptium" />
    +
    +          <property name="maven.home" value="/home/vsts/work/1/s/.maven" />
    +
    +          <property name="file.separator" value="/" />
    +
    +          <property name="java.version.date" value="2024-01-16" />
    +
    +          <property name="java.vendor.url.bug" value="https://github.com/adoptium/adoptium-support/issues" />
    +
    +          <property name="sun.io.unicode.encoding" value="UnicodeLittle" />
    +
    +          <property name="sun.font.fontmanager" value="sun.awt.X11FontManager" />
    +
    +          <property name="sun.cpu.endian" value="little" />
    +
    +          <property name="java.vendor.version" value="Temurin-17.0.10+7" />
    +
    +      </properties>
    +
    +      <testcase classname="org.jacoco.core.internal.analysis.LineImplTest" name="testEquals1" time="0" />
    +
    +      <testcase classname="org.jacoco.core.internal.analysis.LineImplTest" name="testEquals2" time="0" />
    +
    +      <testcase classname="org.jacoco.core.internal.analysis.LineImplTest" name="testEquals3" time="0" />
    +
    +      <testcase classname="org.jacoco.core.internal.analysis.LineImplTest" name="testEquals4" time="0" />
    +
    +      <testcase classname="org.jacoco.core.internal.analysis.LineImplTest" name="testGetStatus1" time="0" />
    +
    +      <testcase classname="org.jacoco.core.internal.analysis.LineImplTest" name="testGetStatus2" time="0.001" />
    +
    +      <testcase classname="org.jacoco.core.internal.analysis.LineImplTest" name="testGetStatus3" time="0" />
    +
    +      <testcase classname="org.jacoco.core.internal.analysis.LineImplTest" name="testGetStatus4" time="0" />
    +
    +      <testcase classname="org.jacoco.core.internal.analysis.LineImplTest" name="testGetStatus5" time="0" />
    +
    +      <testcase classname="org.jacoco.core.internal.analysis.LineImplTest" name="testGetStatus6" time="0" />
    +
    +      <testcase classname="org.jacoco.core.internal.analysis.LineImplTest" name="testEMPTY" time="0" />
    +
    +      <testcase classname="org.jacoco.core.internal.analysis.LineImplTest" name="testIncrement1" time="0" />
    +
    +      <testcase classname="org.jacoco.core.internal.analysis.LineImplTest" name="testIncrement2" time="0" />
    +
    +      <testcase classname="org.jacoco.core.internal.analysis.LineImplTest" name="testIncrement3" time="0" />
    +
    +      <testcase classname="org.jacoco.core.internal.analysis.LineImplTest" name="testIncrement4" time="0.001" />
    +
    +      <testcase classname="org.jacoco.core.internal.analysis.LineImplTest" name="testIncrement5" time="0" />
    +
    +      <testcase classname="org.jacoco.core.internal.analysis.LineImplTest" name="testHashCode" time="0" />
    +
    +  </testsuite>
    +  <testsuite errors="0" failures="0" id="56" name="MethodAnalyzerTest" package="org.jacoco.core.internal.analysis" skipped="0" tests="52" time="0.061" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="https://maven.apache.org/surefire/maven-surefire-plugin/xsd/surefire-test-report.xsd">
    +      <properties>
    +          <property name="jansi.mode" value="strip" />
    +
    +          <property name="java.runtime.name" value="OpenJDK Runtime Environment" />
    +
    +          <property name="java.vm.version" value="17.0.10+7" />
    +
    +          <property name="sun.boot.library.path" value="/usr/lib/jvm/temurin-17-jdk-amd64/lib" />
    +
    +          <property name="maven.multiModuleProjectDirectory" value="/home/vsts/work/1/s/org.jacoco.build" />
    +
    +          <property name="jdk.version" value="5" />
    +
    +          <property name="java.vm.vendor" value="Eclipse Adoptium" />
    +
    +          <property name="java.vendor.url" value="https://adoptium.net/" />
    +
    +          <property name="guice.disable.misplaced.annotation.check" value="true" />
    +
    +          <property name="path.separator" value=":" />
    +
    +          <property name="java.vm.name" value="OpenJDK 64-Bit Server VM" />
    +
    +          <property name="sun.java.launcher" value="SUN_STANDARD" />
    +
    +          <property name="java.vm.specification.name" value="Java Virtual Machine Specification" />
    +
    +          <property name="user.dir" value="/home/vsts/work/1/s" />
    +
    +          <property name="java.vm.compressedOopsMode" value="32-bit" />
    +
    +          <property name="java.runtime.version" value="17.0.10+7" />
    +
    +          <property name="os.arch" value="amd64" />
    +
    +          <property name="java.io.tmpdir" value="/tmp" />
    +
    +          <property name="line.separator" value="&#xa;" />
    +
    +          <property name="java.vm.specification.vendor" value="Oracle Corporation" />
    +
    +          <property name="os.name" value="Linux" />
    +
    +          <property name="classworlds.conf" value="/home/vsts/work/1/s/.maven/bin/m2.conf" />
    +
    +          <property name="sun.jnu.encoding" value="UTF-8" />
    +
    +          <property name="deployAtEnd" value="true" />
    +
    +          <property name="java.library.path" value="/usr/java/packages/lib:/usr/lib64:/lib64:/lib:/usr/lib" />
    +
    +          <property name="maven.conf" value="/home/vsts/work/1/s/.maven/conf" />
    +
    +          <property name="jdk.debug" value="release" />
    +
    +          <property name="java.class.version" value="61.0" />
    +
    +          <property name="java.specification.name" value="Java Platform API Specification" />
    +
    +          <property name="sun.management.compiler" value="HotSpot 64-Bit Tiered Compilers" />
    +
    +          <property name="os.version" value="5.15.0-1059-azure" />
    +
    +          <property name="library.jansi.path" value="/home/vsts/work/1/s/.maven/lib/jansi-native" />
    +
    +          <property name="user.home" value="/home/vsts" />
    +
    +          <property name="user.timezone" value="Etc/UTC" />
    +
    +          <property name="file.encoding" value="UTF-8" />
    +
    +          <property name="java.specification.version" value="17" />
    +
    +          <property name="user.name" value="vsts" />
    +
    +          <property name="java.class.path" value="/home/vsts/work/1/s/.maven/boot/plexus-classworlds-2.6.0.jar" />
    +
    +          <property name="bytecode.version" value="5" />
    +
    +          <property name="java.vm.specification.version" value="17" />
    +
    +          <property name="sun.arch.data.model" value="64" />
    +
    +          <property name="sun.java.command" value="org.codehaus.plexus.classworlds.launcher.Launcher -V -B -e --no-transfer-progress -f org.jacoco.build verify -Djdk.version=5 -Dbytecode.version=5 deploy:deploy -DdeployAtEnd --toolchains=toolchains.xml --settings=.azure-pipelines/maven-settings.xml" />
    +
    +          <property name="java.home" value="/usr/lib/jvm/temurin-17-jdk-amd64" />
    +
    +          <property name="user.language" value="en" />
    +
    +          <property name="java.specification.vendor" value="Oracle Corporation" />
    +
    +          <property name="java.vm.info" value="mixed mode, sharing" />
    +
    +          <property name="java.version" value="17.0.10" />
    +
    +          <property name="native.encoding" value="UTF-8" />
    +
    +          <property name="securerandom.source" value="file:/dev/./urandom" />
    +
    +          <property name="java.vendor" value="Eclipse Adoptium" />
    +
    +          <property name="maven.home" value="/home/vsts/work/1/s/.maven" />
    +
    +          <property name="file.separator" value="/" />
    +
    +          <property name="java.version.date" value="2024-01-16" />
    +
    +          <property name="java.vendor.url.bug" value="https://github.com/adoptium/adoptium-support/issues" />
    +
    +          <property name="sun.io.unicode.encoding" value="UnicodeLittle" />
    +
    +          <property name="sun.font.fontmanager" value="sun.awt.X11FontManager" />
    +
    +          <property name="sun.cpu.endian" value="little" />
    +
    +          <property name="java.vendor.version" value="Temurin-17.0.10+7" />
    +
    +      </properties>
    +
    +      <testcase classname="org.jacoco.core.internal.analysis.MethodAnalyzerTest" name="if_branch_merge_should_show_missed_when_no_probes_are_executed" time="0.008" />
    +
    +      <testcase classname="org.jacoco.core.internal.analysis.MethodAnalyzerTest" name="table_switch_with_filter_should_show_full_branch_coverage_when_new_targets_covered" time="0.001" />
    +
    +      <testcase classname="org.jacoco.core.internal.analysis.MethodAnalyzerTest" name="if_branch_merge_should_show_partial_branch_coverage_when_probe_for_second_branch_is_executed" time="0" />
    +
    +      <testcase classname="org.jacoco.core.internal.analysis.MethodAnalyzerTest" name="table_switch_should_create_4_probes" time="0.001" />
    +
    +      <testcase classname="org.jacoco.core.internal.analysis.MethodAnalyzerTest" name="if_branch_before_probes_should_show_partial_branch_coverage_when_probe_for_second_branch_is_executed" time="0" />
    +
    +      <testcase classname="org.jacoco.core.internal.analysis.MethodAnalyzerTest" name="if_branch_before_probes_should_show_full_branch_coverage_when_probes_for_both_branches_are_executed" time="0" />
    +
    +      <testcase classname="org.jacoco.core.internal.analysis.MethodAnalyzerTest" name="if_branch_should_show_partial_branch_coverage_when_probe_for_second_branch_is_executed" time="0.001" />
    +
    +      <testcase classname="org.jacoco.core.internal.analysis.MethodAnalyzerTest" name="table_switch_with_merge_should_create_5_probes" time="0" />
    +
    +      <testcase classname="org.jacoco.core.internal.analysis.MethodAnalyzerTest" name="table_switch_with_merge_should_show_one_missed_case_when_probe_for_this_branch_is_not_executed" time="0" />
    +
    +      <testcase classname="org.jacoco.core.internal.analysis.MethodAnalyzerTest" name="try_catch_should_show_all_covered_when_all_probes_are_executed" time="0.001" />
    +
    +      <testcase classname="org.jacoco.core.internal.analysis.MethodAnalyzerTest" name="try_catch_should_show_missed_when_no_probes_are_executed" time="0" />
    +
    +      <testcase classname="org.jacoco.core.internal.analysis.MethodAnalyzerTest" name="if_branch_merge_should_show_full_branch_coverage_when_probes_for_both_branches_are_executed" time="0" />
    +
    +      <testcase classname="org.jacoco.core.internal.analysis.MethodAnalyzerTest" name="if_branch_should_show_missed_when_no_probes_are_executed" time="0" />
    +
    +      <testcase classname="org.jacoco.core.internal.analysis.MethodAnalyzerTest" name="if_branch_should_show_full_branch_coverage_when_probes_for_both_branches_are_executed" time="0" />
    +
    +      <testcase classname="org.jacoco.core.internal.analysis.MethodAnalyzerTest" name="try_catch_should_create_3_probes" time="0" />
    +
    +      <testcase classname="org.jacoco.core.internal.analysis.MethodAnalyzerTest" name="try_finally_with_filter_should_show_partial_branch_coverage_when_same_branch_is_covered_and_merged" time="0.001" />
    +
    +      <testcase classname="org.jacoco.core.internal.analysis.MethodAnalyzerTest" name="if_branch_before_probes_should_show_missed_when_no_probes_are_executed" time="0" />
    +
    +      <testcase classname="org.jacoco.core.internal.analysis.MethodAnalyzerTest" name="jump_to_first_instruction_should_show_partial_branch_coverage_when_probe_for_first_branch_is_executed" time="0" />
    +
    +      <testcase classname="org.jacoco.core.internal.analysis.MethodAnalyzerTest" name="if_branch_merge_should_create_3_probes" time="0" />
    +
    +      <testcase classname="org.jacoco.core.internal.analysis.MethodAnalyzerTest" name="zero_line_number_should_create_1_probe" time="0" />
    +
    +      <testcase classname="org.jacoco.core.internal.analysis.MethodAnalyzerTest" name="table_switch_with_filter_should_show_2_branches_when_original_replaced" time="0" />
    +
    +      <testcase classname="org.jacoco.core.internal.analysis.MethodAnalyzerTest" name="linear_instruction_sequence_should_show_missed_when_probearray_is_null" time="0" />
    +
    +      <testcase classname="org.jacoco.core.internal.analysis.MethodAnalyzerTest" name="jump_to_first_instruction_should_create_2_probes" time="0.001" />
    +
    +      <testcase classname="org.jacoco.core.internal.analysis.MethodAnalyzerTest" name="table_switch_should_show_missed_when_no_probes_are_executed" time="0" />
    +
    +      <testcase classname="org.jacoco.core.internal.analysis.MethodAnalyzerTest" name="table_switch_with_merge_should_show_full_branch_coverage_when_all_probes_are_executed" time="0" />
    +
    +      <testcase classname="org.jacoco.core.internal.analysis.MethodAnalyzerTest" name="try_finally_without_filter_should_show_all_branches" time="0.001" />
    +
    +      <testcase classname="org.jacoco.core.internal.analysis.MethodAnalyzerTest" name="if_branch_should_create_2_probes" time="0" />
    +
    +      <testcase classname="org.jacoco.core.internal.analysis.MethodAnalyzerTest" name="if_branch_before_probes_should_create_4_probes" time="0" />
    +
    +      <testcase classname="org.jacoco.core.internal.analysis.MethodAnalyzerTest" name="jump_backwards_should_show_covered_when_probe_is_executed" time="0" />
    +
    +      <testcase classname="org.jacoco.core.internal.analysis.MethodAnalyzerTest" name="linear_instruction_sequence_should_ignore_instructions_when_filter_is_applied" time="0.001" />
    +
    +      <testcase classname="org.jacoco.core.internal.analysis.MethodAnalyzerTest" name="jump_backwards_should_show_missed_when_no_probes_are_executed" time="0" />
    +
    +      <testcase classname="org.jacoco.core.internal.analysis.MethodAnalyzerTest" name="if_branch_before_probes_should_show_partial_branch_coverage_when_probe_for_first_branch_is_executed" time="0" />
    +
    +      <testcase classname="org.jacoco.core.internal.analysis.MethodAnalyzerTest" name="table_switch_should_show_partial_branch_coverage_when_probes_for_third_branch_and_default_are_executed" time="0" />
    +
    +      <testcase classname="org.jacoco.core.internal.analysis.MethodAnalyzerTest" name="zero_line_number_should_show_missed_when_no_probes_are_executed" time="0" />
    +
    +      <testcase classname="org.jacoco.core.internal.analysis.MethodAnalyzerTest" name="linear_instruction_sequence_should_create_1_probe" time="0" />
    +
    +      <testcase classname="org.jacoco.core.internal.analysis.MethodAnalyzerTest" name="table_switch_with_merge_should_show_partial_branch_coverage_when_probe_for_one_branch_is_not_executed" time="0" />
    +
    +      <testcase classname="org.jacoco.core.internal.analysis.MethodAnalyzerTest" name="if_branch_merge_should_show_partial_branch_coverage_when_probe_for_first_branch_is_executed" time="0" />
    +
    +      <testcase classname="org.jacoco.core.internal.analysis.MethodAnalyzerTest" name="if_branch_should_show_partial_branch_coverage_when_probe_for_first_branch_is_executed" time="0" />
    +
    +      <testcase classname="org.jacoco.core.internal.analysis.MethodAnalyzerTest" name="table_switch_should_show_partial_branch_coverage_when_probes_for_first_branch_and_default_are_executed" time="0.001" />
    +
    +      <testcase classname="org.jacoco.core.internal.analysis.MethodAnalyzerTest" name="table_switch_with_merge_should_show_missed_when_no_probes_are_executed" time="0" />
    +
    +      <testcase classname="org.jacoco.core.internal.analysis.MethodAnalyzerTest" name="table_switch_with_merge_should_show_two_missed_cases_when_probes_for_these_branches_are_not_executed" time="0" />
    +
    +      <testcase classname="org.jacoco.core.internal.analysis.MethodAnalyzerTest" name="decending_line_numbers_should_report_lines_correctly" time="0.001" />
    +
    +      <testcase classname="org.jacoco.core.internal.analysis.MethodAnalyzerTest" name="try_finally_should_create_4_probes" time="0" />
    +
    +      <testcase classname="org.jacoco.core.internal.analysis.MethodAnalyzerTest" name="try_finally_with_filter_should_show_full_branch_coverage_when_different_branches_are_covered_and_merged" time="0" />
    +
    +      <testcase classname="org.jacoco.core.internal.analysis.MethodAnalyzerTest" name="jump_backwards_should_create_1_probe" time="0" />
    +
    +      <testcase classname="org.jacoco.core.internal.analysis.MethodAnalyzerTest" name="zero_line_number_should_show_covered_when_probe_is_executed" time="0" />
    +
    +      <testcase classname="org.jacoco.core.internal.analysis.MethodAnalyzerTest" name="try_catch_should_show_exception_handler_missed_when_probe_is_not_executed" time="0" />
    +
    +      <testcase classname="org.jacoco.core.internal.analysis.MethodAnalyzerTest" name="jump_to_first_instruction_should_show_missed_when_no_probes_are_executed" time="0" />
    +
    +      <testcase classname="org.jacoco.core.internal.analysis.MethodAnalyzerTest" name="jump_to_first_instruction_should_show_full_branch_coverage_when_probes_for_both_branches_are_executed" time="0" />
    +
    +      <testcase classname="org.jacoco.core.internal.analysis.MethodAnalyzerTest" name="linear_instruction_sequence_should_show_covered_when_probe_is_executed" time="0.001" />
    +
    +      <testcase classname="org.jacoco.core.internal.analysis.MethodAnalyzerTest" name="table_switch_should_show_full_branch_coverage_when_all_probes_are_executed" time="0" />
    +
    +      <testcase classname="org.jacoco.core.internal.analysis.MethodAnalyzerTest" name="linear_instruction_sequence_should_show_missed_when_no_probe_is_executed" time="0" />
    +
    +  </testsuite>
    +  <testsuite errors="0" failures="0" id="57" name="MethodCoverageCalculatorTest" package="org.jacoco.core.internal.analysis" skipped="0" tests="11" time="0.006" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="https://maven.apache.org/surefire/maven-surefire-plugin/xsd/surefire-test-report.xsd">
    +      <properties>
    +          <property name="jansi.mode" value="strip" />
    +
    +          <property name="java.runtime.name" value="OpenJDK Runtime Environment" />
    +
    +          <property name="java.vm.version" value="17.0.10+7" />
    +
    +          <property name="sun.boot.library.path" value="/usr/lib/jvm/temurin-17-jdk-amd64/lib" />
    +
    +          <property name="maven.multiModuleProjectDirectory" value="/home/vsts/work/1/s/org.jacoco.build" />
    +
    +          <property name="jdk.version" value="5" />
    +
    +          <property name="java.vm.vendor" value="Eclipse Adoptium" />
    +
    +          <property name="java.vendor.url" value="https://adoptium.net/" />
    +
    +          <property name="guice.disable.misplaced.annotation.check" value="true" />
    +
    +          <property name="path.separator" value=":" />
    +
    +          <property name="java.vm.name" value="OpenJDK 64-Bit Server VM" />
    +
    +          <property name="sun.java.launcher" value="SUN_STANDARD" />
    +
    +          <property name="java.vm.specification.name" value="Java Virtual Machine Specification" />
    +
    +          <property name="user.dir" value="/home/vsts/work/1/s" />
    +
    +          <property name="java.vm.compressedOopsMode" value="32-bit" />
    +
    +          <property name="java.runtime.version" value="17.0.10+7" />
    +
    +          <property name="os.arch" value="amd64" />
    +
    +          <property name="java.io.tmpdir" value="/tmp" />
    +
    +          <property name="line.separator" value="&#xa;" />
    +
    +          <property name="java.vm.specification.vendor" value="Oracle Corporation" />
    +
    +          <property name="os.name" value="Linux" />
    +
    +          <property name="classworlds.conf" value="/home/vsts/work/1/s/.maven/bin/m2.conf" />
    +
    +          <property name="sun.jnu.encoding" value="UTF-8" />
    +
    +          <property name="deployAtEnd" value="true" />
    +
    +          <property name="java.library.path" value="/usr/java/packages/lib:/usr/lib64:/lib64:/lib:/usr/lib" />
    +
    +          <property name="maven.conf" value="/home/vsts/work/1/s/.maven/conf" />
    +
    +          <property name="jdk.debug" value="release" />
    +
    +          <property name="java.class.version" value="61.0" />
    +
    +          <property name="java.specification.name" value="Java Platform API Specification" />
    +
    +          <property name="sun.management.compiler" value="HotSpot 64-Bit Tiered Compilers" />
    +
    +          <property name="os.version" value="5.15.0-1059-azure" />
    +
    +          <property name="library.jansi.path" value="/home/vsts/work/1/s/.maven/lib/jansi-native" />
    +
    +          <property name="user.home" value="/home/vsts" />
    +
    +          <property name="user.timezone" value="Etc/UTC" />
    +
    +          <property name="file.encoding" value="UTF-8" />
    +
    +          <property name="java.specification.version" value="17" />
    +
    +          <property name="user.name" value="vsts" />
    +
    +          <property name="java.class.path" value="/home/vsts/work/1/s/.maven/boot/plexus-classworlds-2.6.0.jar" />
    +
    +          <property name="bytecode.version" value="5" />
    +
    +          <property name="java.vm.specification.version" value="17" />
    +
    +          <property name="sun.arch.data.model" value="64" />
    +
    +          <property name="sun.java.command" value="org.codehaus.plexus.classworlds.launcher.Launcher -V -B -e --no-transfer-progress -f org.jacoco.build verify -Djdk.version=5 -Dbytecode.version=5 deploy:deploy -DdeployAtEnd --toolchains=toolchains.xml --settings=.azure-pipelines/maven-settings.xml" />
    +
    +          <property name="java.home" value="/usr/lib/jvm/temurin-17-jdk-amd64" />
    +
    +          <property name="user.language" value="en" />
    +
    +          <property name="java.specification.vendor" value="Oracle Corporation" />
    +
    +          <property name="java.vm.info" value="mixed mode, sharing" />
    +
    +          <property name="java.version" value="17.0.10" />
    +
    +          <property name="native.encoding" value="UTF-8" />
    +
    +          <property name="securerandom.source" value="file:/dev/./urandom" />
    +
    +          <property name="java.vendor" value="Eclipse Adoptium" />
    +
    +          <property name="maven.home" value="/home/vsts/work/1/s/.maven" />
    +
    +          <property name="file.separator" value="/" />
    +
    +          <property name="java.version.date" value="2024-01-16" />
    +
    +          <property name="java.vendor.url.bug" value="https://github.com/adoptium/adoptium-support/issues" />
    +
    +          <property name="sun.io.unicode.encoding" value="UnicodeLittle" />
    +
    +          <property name="sun.font.fontmanager" value="sun.awt.X11FontManager" />
    +
    +          <property name="sun.cpu.endian" value="little" />
    +
    +          <property name="java.vendor.version" value="Temurin-17.0.10+7" />
    +
    +      </properties>
    +
    +      <testcase classname="org.jacoco.core.internal.analysis.MethodCoverageCalculatorTest" name="should_report_instructions" time="0" />
    +
    +      <testcase classname="org.jacoco.core.internal.analysis.MethodCoverageCalculatorTest" name="should_work_without_lines" time="0" />
    +
    +      <testcase classname="org.jacoco.core.internal.analysis.MethodCoverageCalculatorTest" name="should_merge_instructions_redundant" time="0" />
    +
    +      <testcase classname="org.jacoco.core.internal.analysis.MethodCoverageCalculatorTest" name="should_replace_branches" time="0" />
    +
    +      <testcase classname="org.jacoco.core.internal.analysis.MethodCoverageCalculatorTest" name="should_replace_branches_with_merged_instructions" time="0" />
    +
    +      <testcase classname="org.jacoco.core.internal.analysis.MethodCoverageCalculatorTest" name="should_merge_multiple_instructions" time="0.001" />
    +
    +      <testcase classname="org.jacoco.core.internal.analysis.MethodCoverageCalculatorTest" name="should_report_instructions_with_branches" time="0" />
    +
    +      <testcase classname="org.jacoco.core.internal.analysis.MethodCoverageCalculatorTest" name="should_ignore_instruction_range" time="0" />
    +
    +      <testcase classname="org.jacoco.core.internal.analysis.MethodCoverageCalculatorTest" name="should_ignore_single_instruction" time="0" />
    +
    +      <testcase classname="org.jacoco.core.internal.analysis.MethodCoverageCalculatorTest" name="should_merge_instructions" time="0" />
    +
    +      <testcase classname="org.jacoco.core.internal.analysis.MethodCoverageCalculatorTest" name="should_exclude_ignored_instructions_from_computation_of_first_and_last_lines" time="0" />
    +
    +  </testsuite>
    +  <testsuite errors="0" failures="0" id="58" name="MethodCoverageImplTest" package="org.jacoco.core.internal.analysis" skipped="0" tests="12" time="0.012" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="https://maven.apache.org/surefire/maven-surefire-plugin/xsd/surefire-test-report.xsd">
    +      <properties>
    +          <property name="jansi.mode" value="strip" />
    +
    +          <property name="java.runtime.name" value="OpenJDK Runtime Environment" />
    +
    +          <property name="java.vm.version" value="17.0.10+7" />
    +
    +          <property name="sun.boot.library.path" value="/usr/lib/jvm/temurin-17-jdk-amd64/lib" />
    +
    +          <property name="maven.multiModuleProjectDirectory" value="/home/vsts/work/1/s/org.jacoco.build" />
    +
    +          <property name="jdk.version" value="5" />
    +
    +          <property name="java.vm.vendor" value="Eclipse Adoptium" />
    +
    +          <property name="java.vendor.url" value="https://adoptium.net/" />
    +
    +          <property name="guice.disable.misplaced.annotation.check" value="true" />
    +
    +          <property name="path.separator" value=":" />
    +
    +          <property name="java.vm.name" value="OpenJDK 64-Bit Server VM" />
    +
    +          <property name="sun.java.launcher" value="SUN_STANDARD" />
    +
    +          <property name="java.vm.specification.name" value="Java Virtual Machine Specification" />
    +
    +          <property name="user.dir" value="/home/vsts/work/1/s" />
    +
    +          <property name="java.vm.compressedOopsMode" value="32-bit" />
    +
    +          <property name="java.runtime.version" value="17.0.10+7" />
    +
    +          <property name="os.arch" value="amd64" />
    +
    +          <property name="java.io.tmpdir" value="/tmp" />
    +
    +          <property name="line.separator" value="&#xa;" />
    +
    +          <property name="java.vm.specification.vendor" value="Oracle Corporation" />
    +
    +          <property name="os.name" value="Linux" />
    +
    +          <property name="classworlds.conf" value="/home/vsts/work/1/s/.maven/bin/m2.conf" />
    +
    +          <property name="sun.jnu.encoding" value="UTF-8" />
    +
    +          <property name="deployAtEnd" value="true" />
    +
    +          <property name="java.library.path" value="/usr/java/packages/lib:/usr/lib64:/lib64:/lib:/usr/lib" />
    +
    +          <property name="maven.conf" value="/home/vsts/work/1/s/.maven/conf" />
    +
    +          <property name="jdk.debug" value="release" />
    +
    +          <property name="java.class.version" value="61.0" />
    +
    +          <property name="java.specification.name" value="Java Platform API Specification" />
    +
    +          <property name="sun.management.compiler" value="HotSpot 64-Bit Tiered Compilers" />
    +
    +          <property name="os.version" value="5.15.0-1059-azure" />
    +
    +          <property name="library.jansi.path" value="/home/vsts/work/1/s/.maven/lib/jansi-native" />
    +
    +          <property name="user.home" value="/home/vsts" />
    +
    +          <property name="user.timezone" value="Etc/UTC" />
    +
    +          <property name="file.encoding" value="UTF-8" />
    +
    +          <property name="java.specification.version" value="17" />
    +
    +          <property name="user.name" value="vsts" />
    +
    +          <property name="java.class.path" value="/home/vsts/work/1/s/.maven/boot/plexus-classworlds-2.6.0.jar" />
    +
    +          <property name="bytecode.version" value="5" />
    +
    +          <property name="java.vm.specification.version" value="17" />
    +
    +          <property name="sun.arch.data.model" value="64" />
    +
    +          <property name="sun.java.command" value="org.codehaus.plexus.classworlds.launcher.Launcher -V -B -e --no-transfer-progress -f org.jacoco.build verify -Djdk.version=5 -Dbytecode.version=5 deploy:deploy -DdeployAtEnd --toolchains=toolchains.xml --settings=.azure-pipelines/maven-settings.xml" />
    +
    +          <property name="java.home" value="/usr/lib/jvm/temurin-17-jdk-amd64" />
    +
    +          <property name="user.language" value="en" />
    +
    +          <property name="java.specification.vendor" value="Oracle Corporation" />
    +
    +          <property name="java.vm.info" value="mixed mode, sharing" />
    +
    +          <property name="java.version" value="17.0.10" />
    +
    +          <property name="native.encoding" value="UTF-8" />
    +
    +          <property name="securerandom.source" value="file:/dev/./urandom" />
    +
    +          <property name="java.vendor" value="Eclipse Adoptium" />
    +
    +          <property name="maven.home" value="/home/vsts/work/1/s/.maven" />
    +
    +          <property name="file.separator" value="/" />
    +
    +          <property name="java.version.date" value="2024-01-16" />
    +
    +          <property name="java.vendor.url.bug" value="https://github.com/adoptium/adoptium-support/issues" />
    +
    +          <property name="sun.io.unicode.encoding" value="UnicodeLittle" />
    +
    +          <property name="sun.font.fontmanager" value="sun.awt.X11FontManager" />
    +
    +          <property name="sun.cpu.endian" value="little" />
    +
    +          <property name="java.vendor.version" value="Temurin-17.0.10+7" />
    +
    +      </properties>
    +
    +      <testcase classname="org.jacoco.core.internal.analysis.MethodCoverageImplTest" name="testIncrementMissedInstructions" time="0.009" />
    +
    +      <testcase classname="org.jacoco.core.internal.analysis.MethodCoverageImplTest" name="testProperties" time="0" />
    +
    +      <testcase classname="org.jacoco.core.internal.analysis.MethodCoverageImplTest" name="testIncrementComplexity1" time="0" />
    +
    +      <testcase classname="org.jacoco.core.internal.analysis.MethodCoverageImplTest" name="testIncrementComplexity2" time="0" />
    +
    +      <testcase classname="org.jacoco.core.internal.analysis.MethodCoverageImplTest" name="testIncrementComplexity3" time="0" />
    +
    +      <testcase classname="org.jacoco.core.internal.analysis.MethodCoverageImplTest" name="testIncrementComplexity4" time="0" />
    +
    +      <testcase classname="org.jacoco.core.internal.analysis.MethodCoverageImplTest" name="testIncrementComplexity5" time="0" />
    +
    +      <testcase classname="org.jacoco.core.internal.analysis.MethodCoverageImplTest" name="testIncrementComplexity6" time="0" />
    +
    +      <testcase classname="org.jacoco.core.internal.analysis.MethodCoverageImplTest" name="testIncrementComplexity7" time="0" />
    +
    +      <testcase classname="org.jacoco.core.internal.analysis.MethodCoverageImplTest" name="testIncrementComplexity8" time="0" />
    +
    +      <testcase classname="org.jacoco.core.internal.analysis.MethodCoverageImplTest" name="testIncrementCoveredInstructions" time="0" />
    +
    +      <testcase classname="org.jacoco.core.internal.analysis.MethodCoverageImplTest" name="testEmptyMethod" time="0" />
    +
    +  </testsuite>
    +  <testsuite errors="0" failures="0" id="59" name="PackageCoverageTest" package="org.jacoco.core.internal.analysis" skipped="0" tests="3" time="0.004" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="https://maven.apache.org/surefire/maven-surefire-plugin/xsd/surefire-test-report.xsd">
    +      <properties>
    +          <property name="jansi.mode" value="strip" />
    +
    +          <property name="java.runtime.name" value="OpenJDK Runtime Environment" />
    +
    +          <property name="java.vm.version" value="17.0.10+7" />
    +
    +          <property name="sun.boot.library.path" value="/usr/lib/jvm/temurin-17-jdk-amd64/lib" />
    +
    +          <property name="maven.multiModuleProjectDirectory" value="/home/vsts/work/1/s/org.jacoco.build" />
    +
    +          <property name="jdk.version" value="5" />
    +
    +          <property name="java.vm.vendor" value="Eclipse Adoptium" />
    +
    +          <property name="java.vendor.url" value="https://adoptium.net/" />
    +
    +          <property name="guice.disable.misplaced.annotation.check" value="true" />
    +
    +          <property name="path.separator" value=":" />
    +
    +          <property name="java.vm.name" value="OpenJDK 64-Bit Server VM" />
    +
    +          <property name="sun.java.launcher" value="SUN_STANDARD" />
    +
    +          <property name="java.vm.specification.name" value="Java Virtual Machine Specification" />
    +
    +          <property name="user.dir" value="/home/vsts/work/1/s" />
    +
    +          <property name="java.vm.compressedOopsMode" value="32-bit" />
    +
    +          <property name="java.runtime.version" value="17.0.10+7" />
    +
    +          <property name="os.arch" value="amd64" />
    +
    +          <property name="java.io.tmpdir" value="/tmp" />
    +
    +          <property name="line.separator" value="&#xa;" />
    +
    +          <property name="java.vm.specification.vendor" value="Oracle Corporation" />
    +
    +          <property name="os.name" value="Linux" />
    +
    +          <property name="classworlds.conf" value="/home/vsts/work/1/s/.maven/bin/m2.conf" />
    +
    +          <property name="sun.jnu.encoding" value="UTF-8" />
    +
    +          <property name="deployAtEnd" value="true" />
    +
    +          <property name="java.library.path" value="/usr/java/packages/lib:/usr/lib64:/lib64:/lib:/usr/lib" />
    +
    +          <property name="maven.conf" value="/home/vsts/work/1/s/.maven/conf" />
    +
    +          <property name="jdk.debug" value="release" />
    +
    +          <property name="java.class.version" value="61.0" />
    +
    +          <property name="java.specification.name" value="Java Platform API Specification" />
    +
    +          <property name="sun.management.compiler" value="HotSpot 64-Bit Tiered Compilers" />
    +
    +          <property name="os.version" value="5.15.0-1059-azure" />
    +
    +          <property name="library.jansi.path" value="/home/vsts/work/1/s/.maven/lib/jansi-native" />
    +
    +          <property name="user.home" value="/home/vsts" />
    +
    +          <property name="user.timezone" value="Etc/UTC" />
    +
    +          <property name="file.encoding" value="UTF-8" />
    +
    +          <property name="java.specification.version" value="17" />
    +
    +          <property name="user.name" value="vsts" />
    +
    +          <property name="java.class.path" value="/home/vsts/work/1/s/.maven/boot/plexus-classworlds-2.6.0.jar" />
    +
    +          <property name="bytecode.version" value="5" />
    +
    +          <property name="java.vm.specification.version" value="17" />
    +
    +          <property name="sun.arch.data.model" value="64" />
    +
    +          <property name="sun.java.command" value="org.codehaus.plexus.classworlds.launcher.Launcher -V -B -e --no-transfer-progress -f org.jacoco.build verify -Djdk.version=5 -Dbytecode.version=5 deploy:deploy -DdeployAtEnd --toolchains=toolchains.xml --settings=.azure-pipelines/maven-settings.xml" />
    +
    +          <property name="java.home" value="/usr/lib/jvm/temurin-17-jdk-amd64" />
    +
    +          <property name="user.language" value="en" />
    +
    +          <property name="java.specification.vendor" value="Oracle Corporation" />
    +
    +          <property name="java.vm.info" value="mixed mode, sharing" />
    +
    +          <property name="java.version" value="17.0.10" />
    +
    +          <property name="native.encoding" value="UTF-8" />
    +
    +          <property name="securerandom.source" value="file:/dev/./urandom" />
    +
    +          <property name="java.vendor" value="Eclipse Adoptium" />
    +
    +          <property name="maven.home" value="/home/vsts/work/1/s/.maven" />
    +
    +          <property name="file.separator" value="/" />
    +
    +          <property name="java.version.date" value="2024-01-16" />
    +
    +          <property name="java.vendor.url.bug" value="https://github.com/adoptium/adoptium-support/issues" />
    +
    +          <property name="sun.io.unicode.encoding" value="UnicodeLittle" />
    +
    +          <property name="sun.font.fontmanager" value="sun.awt.X11FontManager" />
    +
    +          <property name="sun.cpu.endian" value="little" />
    +
    +          <property name="java.vendor.version" value="Temurin-17.0.10+7" />
    +
    +      </properties>
    +
    +      <testcase classname="org.jacoco.core.internal.analysis.PackageCoverageTest" name="testProperties" time="0" />
    +
    +      <testcase classname="org.jacoco.core.internal.analysis.PackageCoverageTest" name="testCountersWithoutSources" time="0.001" />
    +
    +      <testcase classname="org.jacoco.core.internal.analysis.PackageCoverageTest" name="testCountersWithSources" time="0" />
    +
    +  </testsuite>
    +  <testsuite errors="0" failures="0" id="60" name="SourceFileCoverageImplTest" package="org.jacoco.core.internal.analysis" skipped="0" tests="1" time="0.004" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="https://maven.apache.org/surefire/maven-surefire-plugin/xsd/surefire-test-report.xsd">
    +      <properties>
    +          <property name="jansi.mode" value="strip" />
    +
    +          <property name="java.runtime.name" value="OpenJDK Runtime Environment" />
    +
    +          <property name="java.vm.version" value="17.0.10+7" />
    +
    +          <property name="sun.boot.library.path" value="/usr/lib/jvm/temurin-17-jdk-amd64/lib" />
    +
    +          <property name="maven.multiModuleProjectDirectory" value="/home/vsts/work/1/s/org.jacoco.build" />
    +
    +          <property name="jdk.version" value="5" />
    +
    +          <property name="java.vm.vendor" value="Eclipse Adoptium" />
    +
    +          <property name="java.vendor.url" value="https://adoptium.net/" />
    +
    +          <property name="guice.disable.misplaced.annotation.check" value="true" />
    +
    +          <property name="path.separator" value=":" />
    +
    +          <property name="java.vm.name" value="OpenJDK 64-Bit Server VM" />
    +
    +          <property name="sun.java.launcher" value="SUN_STANDARD" />
    +
    +          <property name="java.vm.specification.name" value="Java Virtual Machine Specification" />
    +
    +          <property name="user.dir" value="/home/vsts/work/1/s" />
    +
    +          <property name="java.vm.compressedOopsMode" value="32-bit" />
    +
    +          <property name="java.runtime.version" value="17.0.10+7" />
    +
    +          <property name="os.arch" value="amd64" />
    +
    +          <property name="java.io.tmpdir" value="/tmp" />
    +
    +          <property name="line.separator" value="&#xa;" />
    +
    +          <property name="java.vm.specification.vendor" value="Oracle Corporation" />
    +
    +          <property name="os.name" value="Linux" />
    +
    +          <property name="classworlds.conf" value="/home/vsts/work/1/s/.maven/bin/m2.conf" />
    +
    +          <property name="sun.jnu.encoding" value="UTF-8" />
    +
    +          <property name="deployAtEnd" value="true" />
    +
    +          <property name="java.library.path" value="/usr/java/packages/lib:/usr/lib64:/lib64:/lib:/usr/lib" />
    +
    +          <property name="maven.conf" value="/home/vsts/work/1/s/.maven/conf" />
    +
    +          <property name="jdk.debug" value="release" />
    +
    +          <property name="java.class.version" value="61.0" />
    +
    +          <property name="java.specification.name" value="Java Platform API Specification" />
    +
    +          <property name="sun.management.compiler" value="HotSpot 64-Bit Tiered Compilers" />
    +
    +          <property name="os.version" value="5.15.0-1059-azure" />
    +
    +          <property name="library.jansi.path" value="/home/vsts/work/1/s/.maven/lib/jansi-native" />
    +
    +          <property name="user.home" value="/home/vsts" />
    +
    +          <property name="user.timezone" value="Etc/UTC" />
    +
    +          <property name="file.encoding" value="UTF-8" />
    +
    +          <property name="java.specification.version" value="17" />
    +
    +          <property name="user.name" value="vsts" />
    +
    +          <property name="java.class.path" value="/home/vsts/work/1/s/.maven/boot/plexus-classworlds-2.6.0.jar" />
    +
    +          <property name="bytecode.version" value="5" />
    +
    +          <property name="java.vm.specification.version" value="17" />
    +
    +          <property name="sun.arch.data.model" value="64" />
    +
    +          <property name="sun.java.command" value="org.codehaus.plexus.classworlds.launcher.Launcher -V -B -e --no-transfer-progress -f org.jacoco.build verify -Djdk.version=5 -Dbytecode.version=5 deploy:deploy -DdeployAtEnd --toolchains=toolchains.xml --settings=.azure-pipelines/maven-settings.xml" />
    +
    +          <property name="java.home" value="/usr/lib/jvm/temurin-17-jdk-amd64" />
    +
    +          <property name="user.language" value="en" />
    +
    +          <property name="java.specification.vendor" value="Oracle Corporation" />
    +
    +          <property name="java.vm.info" value="mixed mode, sharing" />
    +
    +          <property name="java.version" value="17.0.10" />
    +
    +          <property name="native.encoding" value="UTF-8" />
    +
    +          <property name="securerandom.source" value="file:/dev/./urandom" />
    +
    +          <property name="java.vendor" value="Eclipse Adoptium" />
    +
    +          <property name="maven.home" value="/home/vsts/work/1/s/.maven" />
    +
    +          <property name="file.separator" value="/" />
    +
    +          <property name="java.version.date" value="2024-01-16" />
    +
    +          <property name="java.vendor.url.bug" value="https://github.com/adoptium/adoptium-support/issues" />
    +
    +          <property name="sun.io.unicode.encoding" value="UnicodeLittle" />
    +
    +          <property name="sun.font.fontmanager" value="sun.awt.X11FontManager" />
    +
    +          <property name="sun.cpu.endian" value="little" />
    +
    +          <property name="java.vendor.version" value="Temurin-17.0.10+7" />
    +
    +      </properties>
    +
    +      <testcase classname="org.jacoco.core.internal.analysis.SourceFileCoverageImplTest" name="testProperties" time="0" />
    +
    +  </testsuite>
    +  <testsuite errors="0" failures="0" id="61" name="SourceNodeImplTest" package="org.jacoco.core.internal.analysis" skipped="0" tests="24" time="0.01" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="https://maven.apache.org/surefire/maven-surefire-plugin/xsd/surefire-test-report.xsd">
    +      <properties>
    +          <property name="jansi.mode" value="strip" />
    +
    +          <property name="java.runtime.name" value="OpenJDK Runtime Environment" />
    +
    +          <property name="java.vm.version" value="17.0.10+7" />
    +
    +          <property name="sun.boot.library.path" value="/usr/lib/jvm/temurin-17-jdk-amd64/lib" />
    +
    +          <property name="maven.multiModuleProjectDirectory" value="/home/vsts/work/1/s/org.jacoco.build" />
    +
    +          <property name="jdk.version" value="5" />
    +
    +          <property name="java.vm.vendor" value="Eclipse Adoptium" />
    +
    +          <property name="java.vendor.url" value="https://adoptium.net/" />
    +
    +          <property name="guice.disable.misplaced.annotation.check" value="true" />
    +
    +          <property name="path.separator" value=":" />
    +
    +          <property name="java.vm.name" value="OpenJDK 64-Bit Server VM" />
    +
    +          <property name="sun.java.launcher" value="SUN_STANDARD" />
    +
    +          <property name="java.vm.specification.name" value="Java Virtual Machine Specification" />
    +
    +          <property name="user.dir" value="/home/vsts/work/1/s" />
    +
    +          <property name="java.vm.compressedOopsMode" value="32-bit" />
    +
    +          <property name="java.runtime.version" value="17.0.10+7" />
    +
    +          <property name="os.arch" value="amd64" />
    +
    +          <property name="java.io.tmpdir" value="/tmp" />
    +
    +          <property name="line.separator" value="&#xa;" />
    +
    +          <property name="java.vm.specification.vendor" value="Oracle Corporation" />
    +
    +          <property name="os.name" value="Linux" />
    +
    +          <property name="classworlds.conf" value="/home/vsts/work/1/s/.maven/bin/m2.conf" />
    +
    +          <property name="sun.jnu.encoding" value="UTF-8" />
    +
    +          <property name="deployAtEnd" value="true" />
    +
    +          <property name="java.library.path" value="/usr/java/packages/lib:/usr/lib64:/lib64:/lib:/usr/lib" />
    +
    +          <property name="maven.conf" value="/home/vsts/work/1/s/.maven/conf" />
    +
    +          <property name="jdk.debug" value="release" />
    +
    +          <property name="java.class.version" value="61.0" />
    +
    +          <property name="java.specification.name" value="Java Platform API Specification" />
    +
    +          <property name="sun.management.compiler" value="HotSpot 64-Bit Tiered Compilers" />
    +
    +          <property name="os.version" value="5.15.0-1059-azure" />
    +
    +          <property name="library.jansi.path" value="/home/vsts/work/1/s/.maven/lib/jansi-native" />
    +
    +          <property name="user.home" value="/home/vsts" />
    +
    +          <property name="user.timezone" value="Etc/UTC" />
    +
    +          <property name="file.encoding" value="UTF-8" />
    +
    +          <property name="java.specification.version" value="17" />
    +
    +          <property name="user.name" value="vsts" />
    +
    +          <property name="java.class.path" value="/home/vsts/work/1/s/.maven/boot/plexus-classworlds-2.6.0.jar" />
    +
    +          <property name="bytecode.version" value="5" />
    +
    +          <property name="java.vm.specification.version" value="17" />
    +
    +          <property name="sun.arch.data.model" value="64" />
    +
    +          <property name="sun.java.command" value="org.codehaus.plexus.classworlds.launcher.Launcher -V -B -e --no-transfer-progress -f org.jacoco.build verify -Djdk.version=5 -Dbytecode.version=5 deploy:deploy -DdeployAtEnd --toolchains=toolchains.xml --settings=.azure-pipelines/maven-settings.xml" />
    +
    +          <property name="java.home" value="/usr/lib/jvm/temurin-17-jdk-amd64" />
    +
    +          <property name="user.language" value="en" />
    +
    +          <property name="java.specification.vendor" value="Oracle Corporation" />
    +
    +          <property name="java.vm.info" value="mixed mode, sharing" />
    +
    +          <property name="java.version" value="17.0.10" />
    +
    +          <property name="native.encoding" value="UTF-8" />
    +
    +          <property name="securerandom.source" value="file:/dev/./urandom" />
    +
    +          <property name="java.vendor" value="Eclipse Adoptium" />
    +
    +          <property name="maven.home" value="/home/vsts/work/1/s/.maven" />
    +
    +          <property name="file.separator" value="/" />
    +
    +          <property name="java.version.date" value="2024-01-16" />
    +
    +          <property name="java.vendor.url.bug" value="https://github.com/adoptium/adoptium-support/issues" />
    +
    +          <property name="sun.io.unicode.encoding" value="UnicodeLittle" />
    +
    +          <property name="sun.font.fontmanager" value="sun.awt.X11FontManager" />
    +
    +          <property name="sun.cpu.endian" value="little" />
    +
    +          <property name="java.vendor.version" value="Temurin-17.0.10+7" />
    +
    +      </properties>
    +
    +      <testcase classname="org.jacoco.core.internal.analysis.SourceNodeImplTest" name="testIncrementChildWithLines" time="0.001" />
    +
    +      <testcase classname="org.jacoco.core.internal.analysis.SourceNodeImplTest" name="testIncrementLineUnknown" time="0" />
    +
    +      <testcase classname="org.jacoco.core.internal.analysis.SourceNodeImplTest" name="testInit" time="0" />
    +
    +      <testcase classname="org.jacoco.core.internal.analysis.SourceNodeImplTest" name="testGetLine" time="0" />
    +
    +      <testcase classname="org.jacoco.core.internal.analysis.SourceNodeImplTest" name="testEnsureCapacityUnknown1" time="0" />
    +
    +      <testcase classname="org.jacoco.core.internal.analysis.SourceNodeImplTest" name="testEnsureCapacityUnknown2" time="0" />
    +
    +      <testcase classname="org.jacoco.core.internal.analysis.SourceNodeImplTest" name="testIncrementChildNoLines" time="0.001" />
    +
    +      <testcase classname="org.jacoco.core.internal.analysis.SourceNodeImplTest" name="testIncrementLines" time="0" />
    +
    +      <testcase classname="org.jacoco.core.internal.analysis.SourceNodeImplTest" name="testIncrementLine1_1" time="0" />
    +
    +      <testcase classname="org.jacoco.core.internal.analysis.SourceNodeImplTest" name="testIncrementLine1_2" time="0" />
    +
    +      <testcase classname="org.jacoco.core.internal.analysis.SourceNodeImplTest" name="testIncrementLine1_3" time="0" />
    +
    +      <testcase classname="org.jacoco.core.internal.analysis.SourceNodeImplTest" name="testIncrementLine1_4" time="0" />
    +
    +      <testcase classname="org.jacoco.core.internal.analysis.SourceNodeImplTest" name="testIncrementLine2_1" time="0" />
    +
    +      <testcase classname="org.jacoco.core.internal.analysis.SourceNodeImplTest" name="testIncrementLine2_2" time="0" />
    +
    +      <testcase classname="org.jacoco.core.internal.analysis.SourceNodeImplTest" name="testIncrementLine2_3" time="0" />
    +
    +      <testcase classname="org.jacoco.core.internal.analysis.SourceNodeImplTest" name="testIncrementLine2_4" time="0" />
    +
    +      <testcase classname="org.jacoco.core.internal.analysis.SourceNodeImplTest" name="testIncrementLine3_1" time="0" />
    +
    +      <testcase classname="org.jacoco.core.internal.analysis.SourceNodeImplTest" name="testIncrementLine3_2" time="0" />
    +
    +      <testcase classname="org.jacoco.core.internal.analysis.SourceNodeImplTest" name="testIncrementLine3_3" time="0.001" />
    +
    +      <testcase classname="org.jacoco.core.internal.analysis.SourceNodeImplTest" name="testIncrementLine3_4" time="0" />
    +
    +      <testcase classname="org.jacoco.core.internal.analysis.SourceNodeImplTest" name="testIncrementLine4_1" time="0" />
    +
    +      <testcase classname="org.jacoco.core.internal.analysis.SourceNodeImplTest" name="testIncrementLine4_2" time="0" />
    +
    +      <testcase classname="org.jacoco.core.internal.analysis.SourceNodeImplTest" name="testIncrementLine4_3" time="0" />
    +
    +      <testcase classname="org.jacoco.core.internal.analysis.SourceNodeImplTest" name="testIncrementLine4_4" time="0" />
    +
    +  </testsuite>
    +  <testsuite errors="0" failures="0" id="62" name="StringPoolTest" package="org.jacoco.core.internal.analysis" skipped="0" tests="5" time="0.005" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="https://maven.apache.org/surefire/maven-surefire-plugin/xsd/surefire-test-report.xsd">
    +      <properties>
    +          <property name="jansi.mode" value="strip" />
    +
    +          <property name="java.runtime.name" value="OpenJDK Runtime Environment" />
    +
    +          <property name="java.vm.version" value="17.0.10+7" />
    +
    +          <property name="sun.boot.library.path" value="/usr/lib/jvm/temurin-17-jdk-amd64/lib" />
    +
    +          <property name="maven.multiModuleProjectDirectory" value="/home/vsts/work/1/s/org.jacoco.build" />
    +
    +          <property name="jdk.version" value="5" />
    +
    +          <property name="java.vm.vendor" value="Eclipse Adoptium" />
    +
    +          <property name="java.vendor.url" value="https://adoptium.net/" />
    +
    +          <property name="guice.disable.misplaced.annotation.check" value="true" />
    +
    +          <property name="path.separator" value=":" />
    +
    +          <property name="java.vm.name" value="OpenJDK 64-Bit Server VM" />
    +
    +          <property name="sun.java.launcher" value="SUN_STANDARD" />
    +
    +          <property name="java.vm.specification.name" value="Java Virtual Machine Specification" />
    +
    +          <property name="user.dir" value="/home/vsts/work/1/s" />
    +
    +          <property name="java.vm.compressedOopsMode" value="32-bit" />
    +
    +          <property name="java.runtime.version" value="17.0.10+7" />
    +
    +          <property name="os.arch" value="amd64" />
    +
    +          <property name="java.io.tmpdir" value="/tmp" />
    +
    +          <property name="line.separator" value="&#xa;" />
    +
    +          <property name="java.vm.specification.vendor" value="Oracle Corporation" />
    +
    +          <property name="os.name" value="Linux" />
    +
    +          <property name="classworlds.conf" value="/home/vsts/work/1/s/.maven/bin/m2.conf" />
    +
    +          <property name="sun.jnu.encoding" value="UTF-8" />
    +
    +          <property name="deployAtEnd" value="true" />
    +
    +          <property name="java.library.path" value="/usr/java/packages/lib:/usr/lib64:/lib64:/lib:/usr/lib" />
    +
    +          <property name="maven.conf" value="/home/vsts/work/1/s/.maven/conf" />
    +
    +          <property name="jdk.debug" value="release" />
    +
    +          <property name="java.class.version" value="61.0" />
    +
    +          <property name="java.specification.name" value="Java Platform API Specification" />
    +
    +          <property name="sun.management.compiler" value="HotSpot 64-Bit Tiered Compilers" />
    +
    +          <property name="os.version" value="5.15.0-1059-azure" />
    +
    +          <property name="library.jansi.path" value="/home/vsts/work/1/s/.maven/lib/jansi-native" />
    +
    +          <property name="user.home" value="/home/vsts" />
    +
    +          <property name="user.timezone" value="Etc/UTC" />
    +
    +          <property name="file.encoding" value="UTF-8" />
    +
    +          <property name="java.specification.version" value="17" />
    +
    +          <property name="user.name" value="vsts" />
    +
    +          <property name="java.class.path" value="/home/vsts/work/1/s/.maven/boot/plexus-classworlds-2.6.0.jar" />
    +
    +          <property name="bytecode.version" value="5" />
    +
    +          <property name="java.vm.specification.version" value="17" />
    +
    +          <property name="sun.arch.data.model" value="64" />
    +
    +          <property name="sun.java.command" value="org.codehaus.plexus.classworlds.launcher.Launcher -V -B -e --no-transfer-progress -f org.jacoco.build verify -Djdk.version=5 -Dbytecode.version=5 deploy:deploy -DdeployAtEnd --toolchains=toolchains.xml --settings=.azure-pipelines/maven-settings.xml" />
    +
    +          <property name="java.home" value="/usr/lib/jvm/temurin-17-jdk-amd64" />
    +
    +          <property name="user.language" value="en" />
    +
    +          <property name="java.specification.vendor" value="Oracle Corporation" />
    +
    +          <property name="java.vm.info" value="mixed mode, sharing" />
    +
    +          <property name="java.version" value="17.0.10" />
    +
    +          <property name="native.encoding" value="UTF-8" />
    +
    +          <property name="securerandom.source" value="file:/dev/./urandom" />
    +
    +          <property name="java.vendor" value="Eclipse Adoptium" />
    +
    +          <property name="maven.home" value="/home/vsts/work/1/s/.maven" />
    +
    +          <property name="file.separator" value="/" />
    +
    +          <property name="java.version.date" value="2024-01-16" />
    +
    +          <property name="java.vendor.url.bug" value="https://github.com/adoptium/adoptium-support/issues" />
    +
    +          <property name="sun.io.unicode.encoding" value="UnicodeLittle" />
    +
    +          <property name="sun.font.fontmanager" value="sun.awt.X11FontManager" />
    +
    +          <property name="sun.cpu.endian" value="little" />
    +
    +          <property name="java.vendor.version" value="Temurin-17.0.10+7" />
    +
    +      </properties>
    +
    +      <testcase classname="org.jacoco.core.internal.analysis.StringPoolTest" name="testGetArray" time="0" />
    +
    +      <testcase classname="org.jacoco.core.internal.analysis.StringPoolTest" name="testGetArrayNull" time="0.001" />
    +
    +      <testcase classname="org.jacoco.core.internal.analysis.StringPoolTest" name="testGetStringNull" time="0" />
    +
    +      <testcase classname="org.jacoco.core.internal.analysis.StringPoolTest" name="testGetEmptyArray" time="0" />
    +
    +      <testcase classname="org.jacoco.core.internal.analysis.StringPoolTest" name="testGetString" time="0" />
    +
    +  </testsuite>
    +  <testsuite errors="0" failures="0" id="63" name="AbstractMatcherTest" package="org.jacoco.core.internal.analysis.filter" skipped="0" tests="8" time="0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="https://maven.apache.org/surefire/maven-surefire-plugin/xsd/surefire-test-report.xsd">
    +      <properties>
    +          <property name="jansi.mode" value="strip" />
    +
    +          <property name="java.runtime.name" value="OpenJDK Runtime Environment" />
    +
    +          <property name="java.vm.version" value="17.0.10+7" />
    +
    +          <property name="sun.boot.library.path" value="/usr/lib/jvm/temurin-17-jdk-amd64/lib" />
    +
    +          <property name="maven.multiModuleProjectDirectory" value="/home/vsts/work/1/s/org.jacoco.build" />
    +
    +          <property name="jdk.version" value="5" />
    +
    +          <property name="java.vm.vendor" value="Eclipse Adoptium" />
    +
    +          <property name="java.vendor.url" value="https://adoptium.net/" />
    +
    +          <property name="guice.disable.misplaced.annotation.check" value="true" />
    +
    +          <property name="path.separator" value=":" />
    +
    +          <property name="java.vm.name" value="OpenJDK 64-Bit Server VM" />
    +
    +          <property name="sun.java.launcher" value="SUN_STANDARD" />
    +
    +          <property name="java.vm.specification.name" value="Java Virtual Machine Specification" />
    +
    +          <property name="user.dir" value="/home/vsts/work/1/s" />
    +
    +          <property name="java.vm.compressedOopsMode" value="32-bit" />
    +
    +          <property name="java.runtime.version" value="17.0.10+7" />
    +
    +          <property name="os.arch" value="amd64" />
    +
    +          <property name="java.io.tmpdir" value="/tmp" />
    +
    +          <property name="line.separator" value="&#xa;" />
    +
    +          <property name="java.vm.specification.vendor" value="Oracle Corporation" />
    +
    +          <property name="os.name" value="Linux" />
    +
    +          <property name="classworlds.conf" value="/home/vsts/work/1/s/.maven/bin/m2.conf" />
    +
    +          <property name="sun.jnu.encoding" value="UTF-8" />
    +
    +          <property name="deployAtEnd" value="true" />
    +
    +          <property name="java.library.path" value="/usr/java/packages/lib:/usr/lib64:/lib64:/lib:/usr/lib" />
    +
    +          <property name="maven.conf" value="/home/vsts/work/1/s/.maven/conf" />
    +
    +          <property name="jdk.debug" value="release" />
    +
    +          <property name="java.class.version" value="61.0" />
    +
    +          <property name="java.specification.name" value="Java Platform API Specification" />
    +
    +          <property name="sun.management.compiler" value="HotSpot 64-Bit Tiered Compilers" />
    +
    +          <property name="os.version" value="5.15.0-1059-azure" />
    +
    +          <property name="library.jansi.path" value="/home/vsts/work/1/s/.maven/lib/jansi-native" />
    +
    +          <property name="user.home" value="/home/vsts" />
    +
    +          <property name="user.timezone" value="Etc/UTC" />
    +
    +          <property name="file.encoding" value="UTF-8" />
    +
    +          <property name="java.specification.version" value="17" />
    +
    +          <property name="user.name" value="vsts" />
    +
    +          <property name="java.class.path" value="/home/vsts/work/1/s/.maven/boot/plexus-classworlds-2.6.0.jar" />
    +
    +          <property name="bytecode.version" value="5" />
    +
    +          <property name="java.vm.specification.version" value="17" />
    +
    +          <property name="sun.arch.data.model" value="64" />
    +
    +          <property name="sun.java.command" value="org.codehaus.plexus.classworlds.launcher.Launcher -V -B -e --no-transfer-progress -f org.jacoco.build verify -Djdk.version=5 -Dbytecode.version=5 deploy:deploy -DdeployAtEnd --toolchains=toolchains.xml --settings=.azure-pipelines/maven-settings.xml" />
    +
    +          <property name="java.home" value="/usr/lib/jvm/temurin-17-jdk-amd64" />
    +
    +          <property name="user.language" value="en" />
    +
    +          <property name="java.specification.vendor" value="Oracle Corporation" />
    +
    +          <property name="java.vm.info" value="mixed mode, sharing" />
    +
    +          <property name="java.version" value="17.0.10" />
    +
    +          <property name="native.encoding" value="UTF-8" />
    +
    +          <property name="securerandom.source" value="file:/dev/./urandom" />
    +
    +          <property name="java.vendor" value="Eclipse Adoptium" />
    +
    +          <property name="maven.home" value="/home/vsts/work/1/s/.maven" />
    +
    +          <property name="file.separator" value="/" />
    +
    +          <property name="java.version.date" value="2024-01-16" />
    +
    +          <property name="java.vendor.url.bug" value="https://github.com/adoptium/adoptium-support/issues" />
    +
    +          <property name="sun.io.unicode.encoding" value="UnicodeLittle" />
    +
    +          <property name="sun.font.fontmanager" value="sun.awt.X11FontManager" />
    +
    +          <property name="sun.cpu.endian" value="little" />
    +
    +          <property name="java.vendor.version" value="Temurin-17.0.10+7" />
    +
    +      </properties>
    +
    +      <testcase classname="org.jacoco.core.internal.analysis.filter.AbstractMatcherTest" name="nextIsInvoke" time="0" />
    +
    +      <testcase classname="org.jacoco.core.internal.analysis.filter.AbstractMatcherTest" name="nextIsType" time="0" />
    +
    +      <testcase classname="org.jacoco.core.internal.analysis.filter.AbstractMatcherTest" name="nextIsSwitch" time="0" />
    +
    +      <testcase classname="org.jacoco.core.internal.analysis.filter.AbstractMatcherTest" name="nextIs" time="0" />
    +
    +      <testcase classname="org.jacoco.core.internal.analysis.filter.AbstractMatcherTest" name="nextIsField" time="0" />
    +
    +      <testcase classname="org.jacoco.core.internal.analysis.filter.AbstractMatcherTest" name="skipNonOpcodes" time="0" />
    +
    +      <testcase classname="org.jacoco.core.internal.analysis.filter.AbstractMatcherTest" name="firstIsALoad0" time="0" />
    +
    +      <testcase classname="org.jacoco.core.internal.analysis.filter.AbstractMatcherTest" name="nextIsVar" time="0" />
    +
    +  </testsuite>
    +  <testsuite errors="0" failures="0" id="64" name="AnnotationGeneratedFilterTest" package="org.jacoco.core.internal.analysis.filter" skipped="0" tests="7" time="0.005" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="https://maven.apache.org/surefire/maven-surefire-plugin/xsd/surefire-test-report.xsd">
    +      <properties>
    +          <property name="jansi.mode" value="strip" />
    +
    +          <property name="java.runtime.name" value="OpenJDK Runtime Environment" />
    +
    +          <property name="java.vm.version" value="17.0.10+7" />
    +
    +          <property name="sun.boot.library.path" value="/usr/lib/jvm/temurin-17-jdk-amd64/lib" />
    +
    +          <property name="maven.multiModuleProjectDirectory" value="/home/vsts/work/1/s/org.jacoco.build" />
    +
    +          <property name="jdk.version" value="5" />
    +
    +          <property name="java.vm.vendor" value="Eclipse Adoptium" />
    +
    +          <property name="java.vendor.url" value="https://adoptium.net/" />
    +
    +          <property name="guice.disable.misplaced.annotation.check" value="true" />
    +
    +          <property name="path.separator" value=":" />
    +
    +          <property name="java.vm.name" value="OpenJDK 64-Bit Server VM" />
    +
    +          <property name="sun.java.launcher" value="SUN_STANDARD" />
    +
    +          <property name="java.vm.specification.name" value="Java Virtual Machine Specification" />
    +
    +          <property name="user.dir" value="/home/vsts/work/1/s" />
    +
    +          <property name="java.vm.compressedOopsMode" value="32-bit" />
    +
    +          <property name="java.runtime.version" value="17.0.10+7" />
    +
    +          <property name="os.arch" value="amd64" />
    +
    +          <property name="java.io.tmpdir" value="/tmp" />
    +
    +          <property name="line.separator" value="&#xa;" />
    +
    +          <property name="java.vm.specification.vendor" value="Oracle Corporation" />
    +
    +          <property name="os.name" value="Linux" />
    +
    +          <property name="classworlds.conf" value="/home/vsts/work/1/s/.maven/bin/m2.conf" />
    +
    +          <property name="sun.jnu.encoding" value="UTF-8" />
    +
    +          <property name="deployAtEnd" value="true" />
    +
    +          <property name="java.library.path" value="/usr/java/packages/lib:/usr/lib64:/lib64:/lib:/usr/lib" />
    +
    +          <property name="maven.conf" value="/home/vsts/work/1/s/.maven/conf" />
    +
    +          <property name="jdk.debug" value="release" />
    +
    +          <property name="java.class.version" value="61.0" />
    +
    +          <property name="java.specification.name" value="Java Platform API Specification" />
    +
    +          <property name="sun.management.compiler" value="HotSpot 64-Bit Tiered Compilers" />
    +
    +          <property name="os.version" value="5.15.0-1059-azure" />
    +
    +          <property name="library.jansi.path" value="/home/vsts/work/1/s/.maven/lib/jansi-native" />
    +
    +          <property name="user.home" value="/home/vsts" />
    +
    +          <property name="user.timezone" value="Etc/UTC" />
    +
    +          <property name="file.encoding" value="UTF-8" />
    +
    +          <property name="java.specification.version" value="17" />
    +
    +          <property name="user.name" value="vsts" />
    +
    +          <property name="java.class.path" value="/home/vsts/work/1/s/.maven/boot/plexus-classworlds-2.6.0.jar" />
    +
    +          <property name="bytecode.version" value="5" />
    +
    +          <property name="java.vm.specification.version" value="17" />
    +
    +          <property name="sun.arch.data.model" value="64" />
    +
    +          <property name="sun.java.command" value="org.codehaus.plexus.classworlds.launcher.Launcher -V -B -e --no-transfer-progress -f org.jacoco.build verify -Djdk.version=5 -Dbytecode.version=5 deploy:deploy -DdeployAtEnd --toolchains=toolchains.xml --settings=.azure-pipelines/maven-settings.xml" />
    +
    +          <property name="java.home" value="/usr/lib/jvm/temurin-17-jdk-amd64" />
    +
    +          <property name="user.language" value="en" />
    +
    +          <property name="java.specification.vendor" value="Oracle Corporation" />
    +
    +          <property name="java.vm.info" value="mixed mode, sharing" />
    +
    +          <property name="java.version" value="17.0.10" />
    +
    +          <property name="native.encoding" value="UTF-8" />
    +
    +          <property name="securerandom.source" value="file:/dev/./urandom" />
    +
    +          <property name="java.vendor" value="Eclipse Adoptium" />
    +
    +          <property name="maven.home" value="/home/vsts/work/1/s/.maven" />
    +
    +          <property name="file.separator" value="/" />
    +
    +          <property name="java.version.date" value="2024-01-16" />
    +
    +          <property name="java.vendor.url.bug" value="https://github.com/adoptium/adoptium-support/issues" />
    +
    +          <property name="sun.io.unicode.encoding" value="UnicodeLittle" />
    +
    +          <property name="sun.font.fontmanager" value="sun.awt.X11FontManager" />
    +
    +          <property name="sun.cpu.endian" value="little" />
    +
    +          <property name="java.vendor.version" value="Temurin-17.0.10+7" />
    +
    +      </properties>
    +
    +      <testcase classname="org.jacoco.core.internal.analysis.filter.AnnotationGeneratedFilterTest" name="should_filter_classes_annotated_with_runtime_visible_org_immutables_value_Generated" time="0.001" />
    +
    +      <testcase classname="org.jacoco.core.internal.analysis.filter.AnnotationGeneratedFilterTest" name="should_filter_methods_annotated_with_runtime_invisible_lombok_Generated" time="0" />
    +
    +      <testcase classname="org.jacoco.core.internal.analysis.filter.AnnotationGeneratedFilterTest" name="should_filter_methods_annotated_with_runtime_visible_org_groovy_transform_Generated" time="0" />
    +
    +      <testcase classname="org.jacoco.core.internal.analysis.filter.AnnotationGeneratedFilterTest" name="should_filter_classes_annotated_with_runtime_visible_org_apache_avro_specific_AvroGenerated" time="0" />
    +
    +      <testcase classname="org.jacoco.core.internal.analysis.filter.AnnotationGeneratedFilterTest" name="should_not_filter_when_other_annotations" time="0" />
    +
    +      <testcase classname="org.jacoco.core.internal.analysis.filter.AnnotationGeneratedFilterTest" name="should_filter_when_annotation_is_inner" time="0" />
    +
    +      <testcase classname="org.jacoco.core.internal.analysis.filter.AnnotationGeneratedFilterTest" name="should_not_filter_when_no_annotations" time="0.001" />
    +
    +  </testsuite>
    +  <testsuite errors="0" failures="0" id="65" name="AssertFilterTest" package="org.jacoco.core.internal.analysis.filter" skipped="0" tests="3" time="0.005" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="https://maven.apache.org/surefire/maven-surefire-plugin/xsd/surefire-test-report.xsd">
    +      <properties>
    +          <property name="jansi.mode" value="strip" />
    +
    +          <property name="java.runtime.name" value="OpenJDK Runtime Environment" />
    +
    +          <property name="java.vm.version" value="17.0.10+7" />
    +
    +          <property name="sun.boot.library.path" value="/usr/lib/jvm/temurin-17-jdk-amd64/lib" />
    +
    +          <property name="maven.multiModuleProjectDirectory" value="/home/vsts/work/1/s/org.jacoco.build" />
    +
    +          <property name="jdk.version" value="5" />
    +
    +          <property name="java.vm.vendor" value="Eclipse Adoptium" />
    +
    +          <property name="java.vendor.url" value="https://adoptium.net/" />
    +
    +          <property name="guice.disable.misplaced.annotation.check" value="true" />
    +
    +          <property name="path.separator" value=":" />
    +
    +          <property name="java.vm.name" value="OpenJDK 64-Bit Server VM" />
    +
    +          <property name="sun.java.launcher" value="SUN_STANDARD" />
    +
    +          <property name="java.vm.specification.name" value="Java Virtual Machine Specification" />
    +
    +          <property name="user.dir" value="/home/vsts/work/1/s" />
    +
    +          <property name="java.vm.compressedOopsMode" value="32-bit" />
    +
    +          <property name="java.runtime.version" value="17.0.10+7" />
    +
    +          <property name="os.arch" value="amd64" />
    +
    +          <property name="java.io.tmpdir" value="/tmp" />
    +
    +          <property name="line.separator" value="&#xa;" />
    +
    +          <property name="java.vm.specification.vendor" value="Oracle Corporation" />
    +
    +          <property name="os.name" value="Linux" />
    +
    +          <property name="classworlds.conf" value="/home/vsts/work/1/s/.maven/bin/m2.conf" />
    +
    +          <property name="sun.jnu.encoding" value="UTF-8" />
    +
    +          <property name="deployAtEnd" value="true" />
    +
    +          <property name="java.library.path" value="/usr/java/packages/lib:/usr/lib64:/lib64:/lib:/usr/lib" />
    +
    +          <property name="maven.conf" value="/home/vsts/work/1/s/.maven/conf" />
    +
    +          <property name="jdk.debug" value="release" />
    +
    +          <property name="java.class.version" value="61.0" />
    +
    +          <property name="java.specification.name" value="Java Platform API Specification" />
    +
    +          <property name="sun.management.compiler" value="HotSpot 64-Bit Tiered Compilers" />
    +
    +          <property name="os.version" value="5.15.0-1059-azure" />
    +
    +          <property name="library.jansi.path" value="/home/vsts/work/1/s/.maven/lib/jansi-native" />
    +
    +          <property name="user.home" value="/home/vsts" />
    +
    +          <property name="user.timezone" value="Etc/UTC" />
    +
    +          <property name="file.encoding" value="UTF-8" />
    +
    +          <property name="java.specification.version" value="17" />
    +
    +          <property name="user.name" value="vsts" />
    +
    +          <property name="java.class.path" value="/home/vsts/work/1/s/.maven/boot/plexus-classworlds-2.6.0.jar" />
    +
    +          <property name="bytecode.version" value="5" />
    +
    +          <property name="java.vm.specification.version" value="17" />
    +
    +          <property name="sun.arch.data.model" value="64" />
    +
    +          <property name="sun.java.command" value="org.codehaus.plexus.classworlds.launcher.Launcher -V -B -e --no-transfer-progress -f org.jacoco.build verify -Djdk.version=5 -Dbytecode.version=5 deploy:deploy -DdeployAtEnd --toolchains=toolchains.xml --settings=.azure-pipelines/maven-settings.xml" />
    +
    +          <property name="java.home" value="/usr/lib/jvm/temurin-17-jdk-amd64" />
    +
    +          <property name="user.language" value="en" />
    +
    +          <property name="java.specification.vendor" value="Oracle Corporation" />
    +
    +          <property name="java.vm.info" value="mixed mode, sharing" />
    +
    +          <property name="java.version" value="17.0.10" />
    +
    +          <property name="native.encoding" value="UTF-8" />
    +
    +          <property name="securerandom.source" value="file:/dev/./urandom" />
    +
    +          <property name="java.vendor" value="Eclipse Adoptium" />
    +
    +          <property name="maven.home" value="/home/vsts/work/1/s/.maven" />
    +
    +          <property name="file.separator" value="/" />
    +
    +          <property name="java.version.date" value="2024-01-16" />
    +
    +          <property name="java.vendor.url.bug" value="https://github.com/adoptium/adoptium-support/issues" />
    +
    +          <property name="sun.io.unicode.encoding" value="UnicodeLittle" />
    +
    +          <property name="sun.font.fontmanager" value="sun.awt.X11FontManager" />
    +
    +          <property name="sun.cpu.endian" value="little" />
    +
    +          <property name="java.vendor.version" value="Temurin-17.0.10+7" />
    +
    +      </properties>
    +
    +      <testcase classname="org.jacoco.core.internal.analysis.filter.AssertFilterTest" name="should_filter_assert" time="0.001" />
    +
    +      <testcase classname="org.jacoco.core.internal.analysis.filter.AssertFilterTest" name="should_not_filter_static_initializer_when_field_name_does_not_match" time="0" />
    +
    +      <testcase classname="org.jacoco.core.internal.analysis.filter.AssertFilterTest" name="should_filter_static_initializer" time="0" />
    +
    +  </testsuite>
    +  <testsuite errors="0" failures="0" id="66" name="BridgeFilterTest" package="org.jacoco.core.internal.analysis.filter" skipped="0" tests="2" time="0.002" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="https://maven.apache.org/surefire/maven-surefire-plugin/xsd/surefire-test-report.xsd">
    +      <properties>
    +          <property name="jansi.mode" value="strip" />
    +
    +          <property name="java.runtime.name" value="OpenJDK Runtime Environment" />
    +
    +          <property name="java.vm.version" value="17.0.10+7" />
    +
    +          <property name="sun.boot.library.path" value="/usr/lib/jvm/temurin-17-jdk-amd64/lib" />
    +
    +          <property name="maven.multiModuleProjectDirectory" value="/home/vsts/work/1/s/org.jacoco.build" />
    +
    +          <property name="jdk.version" value="5" />
    +
    +          <property name="java.vm.vendor" value="Eclipse Adoptium" />
    +
    +          <property name="java.vendor.url" value="https://adoptium.net/" />
    +
    +          <property name="guice.disable.misplaced.annotation.check" value="true" />
    +
    +          <property name="path.separator" value=":" />
    +
    +          <property name="java.vm.name" value="OpenJDK 64-Bit Server VM" />
    +
    +          <property name="sun.java.launcher" value="SUN_STANDARD" />
    +
    +          <property name="java.vm.specification.name" value="Java Virtual Machine Specification" />
    +
    +          <property name="user.dir" value="/home/vsts/work/1/s" />
    +
    +          <property name="java.vm.compressedOopsMode" value="32-bit" />
    +
    +          <property name="java.runtime.version" value="17.0.10+7" />
    +
    +          <property name="os.arch" value="amd64" />
    +
    +          <property name="java.io.tmpdir" value="/tmp" />
    +
    +          <property name="line.separator" value="&#xa;" />
    +
    +          <property name="java.vm.specification.vendor" value="Oracle Corporation" />
    +
    +          <property name="os.name" value="Linux" />
    +
    +          <property name="classworlds.conf" value="/home/vsts/work/1/s/.maven/bin/m2.conf" />
    +
    +          <property name="sun.jnu.encoding" value="UTF-8" />
    +
    +          <property name="deployAtEnd" value="true" />
    +
    +          <property name="java.library.path" value="/usr/java/packages/lib:/usr/lib64:/lib64:/lib:/usr/lib" />
    +
    +          <property name="maven.conf" value="/home/vsts/work/1/s/.maven/conf" />
    +
    +          <property name="jdk.debug" value="release" />
    +
    +          <property name="java.class.version" value="61.0" />
    +
    +          <property name="java.specification.name" value="Java Platform API Specification" />
    +
    +          <property name="sun.management.compiler" value="HotSpot 64-Bit Tiered Compilers" />
    +
    +          <property name="os.version" value="5.15.0-1059-azure" />
    +
    +          <property name="library.jansi.path" value="/home/vsts/work/1/s/.maven/lib/jansi-native" />
    +
    +          <property name="user.home" value="/home/vsts" />
    +
    +          <property name="user.timezone" value="Etc/UTC" />
    +
    +          <property name="file.encoding" value="UTF-8" />
    +
    +          <property name="java.specification.version" value="17" />
    +
    +          <property name="user.name" value="vsts" />
    +
    +          <property name="java.class.path" value="/home/vsts/work/1/s/.maven/boot/plexus-classworlds-2.6.0.jar" />
    +
    +          <property name="bytecode.version" value="5" />
    +
    +          <property name="java.vm.specification.version" value="17" />
    +
    +          <property name="sun.arch.data.model" value="64" />
    +
    +          <property name="sun.java.command" value="org.codehaus.plexus.classworlds.launcher.Launcher -V -B -e --no-transfer-progress -f org.jacoco.build verify -Djdk.version=5 -Dbytecode.version=5 deploy:deploy -DdeployAtEnd --toolchains=toolchains.xml --settings=.azure-pipelines/maven-settings.xml" />
    +
    +          <property name="java.home" value="/usr/lib/jvm/temurin-17-jdk-amd64" />
    +
    +          <property name="user.language" value="en" />
    +
    +          <property name="java.specification.vendor" value="Oracle Corporation" />
    +
    +          <property name="java.vm.info" value="mixed mode, sharing" />
    +
    +          <property name="java.version" value="17.0.10" />
    +
    +          <property name="native.encoding" value="UTF-8" />
    +
    +          <property name="securerandom.source" value="file:/dev/./urandom" />
    +
    +          <property name="java.vendor" value="Eclipse Adoptium" />
    +
    +          <property name="maven.home" value="/home/vsts/work/1/s/.maven" />
    +
    +          <property name="file.separator" value="/" />
    +
    +          <property name="java.version.date" value="2024-01-16" />
    +
    +          <property name="java.vendor.url.bug" value="https://github.com/adoptium/adoptium-support/issues" />
    +
    +          <property name="sun.io.unicode.encoding" value="UnicodeLittle" />
    +
    +          <property name="sun.font.fontmanager" value="sun.awt.X11FontManager" />
    +
    +          <property name="sun.cpu.endian" value="little" />
    +
    +          <property name="java.vendor.version" value="Temurin-17.0.10+7" />
    +
    +      </properties>
    +
    +      <testcase classname="org.jacoco.core.internal.analysis.filter.BridgeFilterTest" name="should_not_filter_non_bridge_methods" time="0.001" />
    +
    +      <testcase classname="org.jacoco.core.internal.analysis.filter.BridgeFilterTest" name="should_filter_bridge_methods" time="0" />
    +
    +  </testsuite>
    +  <testsuite errors="0" failures="0" id="67" name="EnumEmptyConstructorFilterTest" package="org.jacoco.core.internal.analysis.filter" skipped="0" tests="5" time="0.005" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="https://maven.apache.org/surefire/maven-surefire-plugin/xsd/surefire-test-report.xsd">
    +      <properties>
    +          <property name="jansi.mode" value="strip" />
    +
    +          <property name="java.runtime.name" value="OpenJDK Runtime Environment" />
    +
    +          <property name="java.vm.version" value="17.0.10+7" />
    +
    +          <property name="sun.boot.library.path" value="/usr/lib/jvm/temurin-17-jdk-amd64/lib" />
    +
    +          <property name="maven.multiModuleProjectDirectory" value="/home/vsts/work/1/s/org.jacoco.build" />
    +
    +          <property name="jdk.version" value="5" />
    +
    +          <property name="java.vm.vendor" value="Eclipse Adoptium" />
    +
    +          <property name="java.vendor.url" value="https://adoptium.net/" />
    +
    +          <property name="guice.disable.misplaced.annotation.check" value="true" />
    +
    +          <property name="path.separator" value=":" />
    +
    +          <property name="java.vm.name" value="OpenJDK 64-Bit Server VM" />
    +
    +          <property name="sun.java.launcher" value="SUN_STANDARD" />
    +
    +          <property name="java.vm.specification.name" value="Java Virtual Machine Specification" />
    +
    +          <property name="user.dir" value="/home/vsts/work/1/s" />
    +
    +          <property name="java.vm.compressedOopsMode" value="32-bit" />
    +
    +          <property name="java.runtime.version" value="17.0.10+7" />
    +
    +          <property name="os.arch" value="amd64" />
    +
    +          <property name="java.io.tmpdir" value="/tmp" />
    +
    +          <property name="line.separator" value="&#xa;" />
    +
    +          <property name="java.vm.specification.vendor" value="Oracle Corporation" />
    +
    +          <property name="os.name" value="Linux" />
    +
    +          <property name="classworlds.conf" value="/home/vsts/work/1/s/.maven/bin/m2.conf" />
    +
    +          <property name="sun.jnu.encoding" value="UTF-8" />
    +
    +          <property name="deployAtEnd" value="true" />
    +
    +          <property name="java.library.path" value="/usr/java/packages/lib:/usr/lib64:/lib64:/lib:/usr/lib" />
    +
    +          <property name="maven.conf" value="/home/vsts/work/1/s/.maven/conf" />
    +
    +          <property name="jdk.debug" value="release" />
    +
    +          <property name="java.class.version" value="61.0" />
    +
    +          <property name="java.specification.name" value="Java Platform API Specification" />
    +
    +          <property name="sun.management.compiler" value="HotSpot 64-Bit Tiered Compilers" />
    +
    +          <property name="os.version" value="5.15.0-1059-azure" />
    +
    +          <property name="library.jansi.path" value="/home/vsts/work/1/s/.maven/lib/jansi-native" />
    +
    +          <property name="user.home" value="/home/vsts" />
    +
    +          <property name="user.timezone" value="Etc/UTC" />
    +
    +          <property name="file.encoding" value="UTF-8" />
    +
    +          <property name="java.specification.version" value="17" />
    +
    +          <property name="user.name" value="vsts" />
    +
    +          <property name="java.class.path" value="/home/vsts/work/1/s/.maven/boot/plexus-classworlds-2.6.0.jar" />
    +
    +          <property name="bytecode.version" value="5" />
    +
    +          <property name="java.vm.specification.version" value="17" />
    +
    +          <property name="sun.arch.data.model" value="64" />
    +
    +          <property name="sun.java.command" value="org.codehaus.plexus.classworlds.launcher.Launcher -V -B -e --no-transfer-progress -f org.jacoco.build verify -Djdk.version=5 -Dbytecode.version=5 deploy:deploy -DdeployAtEnd --toolchains=toolchains.xml --settings=.azure-pipelines/maven-settings.xml" />
    +
    +          <property name="java.home" value="/usr/lib/jvm/temurin-17-jdk-amd64" />
    +
    +          <property name="user.language" value="en" />
    +
    +          <property name="java.specification.vendor" value="Oracle Corporation" />
    +
    +          <property name="java.vm.info" value="mixed mode, sharing" />
    +
    +          <property name="java.version" value="17.0.10" />
    +
    +          <property name="native.encoding" value="UTF-8" />
    +
    +          <property name="securerandom.source" value="file:/dev/./urandom" />
    +
    +          <property name="java.vendor" value="Eclipse Adoptium" />
    +
    +          <property name="maven.home" value="/home/vsts/work/1/s/.maven" />
    +
    +          <property name="file.separator" value="/" />
    +
    +          <property name="java.version.date" value="2024-01-16" />
    +
    +          <property name="java.vendor.url.bug" value="https://github.com/adoptium/adoptium-support/issues" />
    +
    +          <property name="sun.io.unicode.encoding" value="UnicodeLittle" />
    +
    +          <property name="sun.font.fontmanager" value="sun.awt.X11FontManager" />
    +
    +          <property name="sun.cpu.endian" value="little" />
    +
    +          <property name="java.vendor.version" value="Temurin-17.0.10+7" />
    +
    +      </properties>
    +
    +      <testcase classname="org.jacoco.core.internal.analysis.filter.EnumEmptyConstructorFilterTest" name="should_not_filter_non_Enum" time="0.001" />
    +
    +      <testcase classname="org.jacoco.core.internal.analysis.filter.EnumEmptyConstructorFilterTest" name="should_not_filter_constructor_with_additional_parameters" time="0" />
    +
    +      <testcase classname="org.jacoco.core.internal.analysis.filter.EnumEmptyConstructorFilterTest" name="should_filter" time="0" />
    +
    +      <testcase classname="org.jacoco.core.internal.analysis.filter.EnumEmptyConstructorFilterTest" name="should_not_filter_non_empty_constructor" time="0.003" />
    +
    +      <testcase classname="org.jacoco.core.internal.analysis.filter.EnumEmptyConstructorFilterTest" name="should_not_filter_non_constructor" time="0" />
    +
    +  </testsuite>
    +  <testsuite errors="0" failures="0" id="68" name="EnumFilterTest" package="org.jacoco.core.internal.analysis.filter" skipped="0" tests="5" time="0.009" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="https://maven.apache.org/surefire/maven-surefire-plugin/xsd/surefire-test-report.xsd">
    +      <properties>
    +          <property name="jansi.mode" value="strip" />
    +
    +          <property name="java.runtime.name" value="OpenJDK Runtime Environment" />
    +
    +          <property name="java.vm.version" value="17.0.10+7" />
    +
    +          <property name="sun.boot.library.path" value="/usr/lib/jvm/temurin-17-jdk-amd64/lib" />
    +
    +          <property name="maven.multiModuleProjectDirectory" value="/home/vsts/work/1/s/org.jacoco.build" />
    +
    +          <property name="jdk.version" value="5" />
    +
    +          <property name="java.vm.vendor" value="Eclipse Adoptium" />
    +
    +          <property name="java.vendor.url" value="https://adoptium.net/" />
    +
    +          <property name="guice.disable.misplaced.annotation.check" value="true" />
    +
    +          <property name="path.separator" value=":" />
    +
    +          <property name="java.vm.name" value="OpenJDK 64-Bit Server VM" />
    +
    +          <property name="sun.java.launcher" value="SUN_STANDARD" />
    +
    +          <property name="java.vm.specification.name" value="Java Virtual Machine Specification" />
    +
    +          <property name="user.dir" value="/home/vsts/work/1/s" />
    +
    +          <property name="java.vm.compressedOopsMode" value="32-bit" />
    +
    +          <property name="java.runtime.version" value="17.0.10+7" />
    +
    +          <property name="os.arch" value="amd64" />
    +
    +          <property name="java.io.tmpdir" value="/tmp" />
    +
    +          <property name="line.separator" value="&#xa;" />
    +
    +          <property name="java.vm.specification.vendor" value="Oracle Corporation" />
    +
    +          <property name="os.name" value="Linux" />
    +
    +          <property name="classworlds.conf" value="/home/vsts/work/1/s/.maven/bin/m2.conf" />
    +
    +          <property name="sun.jnu.encoding" value="UTF-8" />
    +
    +          <property name="deployAtEnd" value="true" />
    +
    +          <property name="java.library.path" value="/usr/java/packages/lib:/usr/lib64:/lib64:/lib:/usr/lib" />
    +
    +          <property name="maven.conf" value="/home/vsts/work/1/s/.maven/conf" />
    +
    +          <property name="jdk.debug" value="release" />
    +
    +          <property name="java.class.version" value="61.0" />
    +
    +          <property name="java.specification.name" value="Java Platform API Specification" />
    +
    +          <property name="sun.management.compiler" value="HotSpot 64-Bit Tiered Compilers" />
    +
    +          <property name="os.version" value="5.15.0-1059-azure" />
    +
    +          <property name="library.jansi.path" value="/home/vsts/work/1/s/.maven/lib/jansi-native" />
    +
    +          <property name="user.home" value="/home/vsts" />
    +
    +          <property name="user.timezone" value="Etc/UTC" />
    +
    +          <property name="file.encoding" value="UTF-8" />
    +
    +          <property name="java.specification.version" value="17" />
    +
    +          <property name="user.name" value="vsts" />
    +
    +          <property name="java.class.path" value="/home/vsts/work/1/s/.maven/boot/plexus-classworlds-2.6.0.jar" />
    +
    +          <property name="bytecode.version" value="5" />
    +
    +          <property name="java.vm.specification.version" value="17" />
    +
    +          <property name="sun.arch.data.model" value="64" />
    +
    +          <property name="sun.java.command" value="org.codehaus.plexus.classworlds.launcher.Launcher -V -B -e --no-transfer-progress -f org.jacoco.build verify -Djdk.version=5 -Dbytecode.version=5 deploy:deploy -DdeployAtEnd --toolchains=toolchains.xml --settings=.azure-pipelines/maven-settings.xml" />
    +
    +          <property name="java.home" value="/usr/lib/jvm/temurin-17-jdk-amd64" />
    +
    +          <property name="user.language" value="en" />
    +
    +          <property name="java.specification.vendor" value="Oracle Corporation" />
    +
    +          <property name="java.vm.info" value="mixed mode, sharing" />
    +
    +          <property name="java.version" value="17.0.10" />
    +
    +          <property name="native.encoding" value="UTF-8" />
    +
    +          <property name="securerandom.source" value="file:/dev/./urandom" />
    +
    +          <property name="java.vendor" value="Eclipse Adoptium" />
    +
    +          <property name="maven.home" value="/home/vsts/work/1/s/.maven" />
    +
    +          <property name="file.separator" value="/" />
    +
    +          <property name="java.version.date" value="2024-01-16" />
    +
    +          <property name="java.vendor.url.bug" value="https://github.com/adoptium/adoptium-support/issues" />
    +
    +          <property name="sun.io.unicode.encoding" value="UnicodeLittle" />
    +
    +          <property name="sun.font.fontmanager" value="sun.awt.X11FontManager" />
    +
    +          <property name="sun.cpu.endian" value="little" />
    +
    +          <property name="java.vendor.version" value="Temurin-17.0.10+7" />
    +
    +      </properties>
    +
    +      <testcase classname="org.jacoco.core.internal.analysis.filter.EnumFilterTest" name="testValueOf" time="0" />
    +
    +      <testcase classname="org.jacoco.core.internal.analysis.filter.EnumFilterTest" name="testNonValueOf" time="0" />
    +
    +      <testcase classname="org.jacoco.core.internal.analysis.filter.EnumFilterTest" name="testNonValues" time="0" />
    +
    +      <testcase classname="org.jacoco.core.internal.analysis.filter.EnumFilterTest" name="testNonEnum" time="0" />
    +
    +      <testcase classname="org.jacoco.core.internal.analysis.filter.EnumFilterTest" name="testValues" time="0" />
    +
    +  </testsuite>
    +  <testsuite errors="0" failures="0" id="69" name="ExhaustiveSwitchFilterTest" package="org.jacoco.core.internal.analysis.filter" skipped="0" tests="4" time="0.005" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="https://maven.apache.org/surefire/maven-surefire-plugin/xsd/surefire-test-report.xsd">
    +      <properties>
    +          <property name="jansi.mode" value="strip" />
    +
    +          <property name="java.runtime.name" value="OpenJDK Runtime Environment" />
    +
    +          <property name="java.vm.version" value="17.0.10+7" />
    +
    +          <property name="sun.boot.library.path" value="/usr/lib/jvm/temurin-17-jdk-amd64/lib" />
    +
    +          <property name="maven.multiModuleProjectDirectory" value="/home/vsts/work/1/s/org.jacoco.build" />
    +
    +          <property name="jdk.version" value="5" />
    +
    +          <property name="java.vm.vendor" value="Eclipse Adoptium" />
    +
    +          <property name="java.vendor.url" value="https://adoptium.net/" />
    +
    +          <property name="guice.disable.misplaced.annotation.check" value="true" />
    +
    +          <property name="path.separator" value=":" />
    +
    +          <property name="java.vm.name" value="OpenJDK 64-Bit Server VM" />
    +
    +          <property name="sun.java.launcher" value="SUN_STANDARD" />
    +
    +          <property name="java.vm.specification.name" value="Java Virtual Machine Specification" />
    +
    +          <property name="user.dir" value="/home/vsts/work/1/s" />
    +
    +          <property name="java.vm.compressedOopsMode" value="32-bit" />
    +
    +          <property name="java.runtime.version" value="17.0.10+7" />
    +
    +          <property name="os.arch" value="amd64" />
    +
    +          <property name="java.io.tmpdir" value="/tmp" />
    +
    +          <property name="line.separator" value="&#xa;" />
    +
    +          <property name="java.vm.specification.vendor" value="Oracle Corporation" />
    +
    +          <property name="os.name" value="Linux" />
    +
    +          <property name="classworlds.conf" value="/home/vsts/work/1/s/.maven/bin/m2.conf" />
    +
    +          <property name="sun.jnu.encoding" value="UTF-8" />
    +
    +          <property name="deployAtEnd" value="true" />
    +
    +          <property name="java.library.path" value="/usr/java/packages/lib:/usr/lib64:/lib64:/lib:/usr/lib" />
    +
    +          <property name="maven.conf" value="/home/vsts/work/1/s/.maven/conf" />
    +
    +          <property name="jdk.debug" value="release" />
    +
    +          <property name="java.class.version" value="61.0" />
    +
    +          <property name="java.specification.name" value="Java Platform API Specification" />
    +
    +          <property name="sun.management.compiler" value="HotSpot 64-Bit Tiered Compilers" />
    +
    +          <property name="os.version" value="5.15.0-1059-azure" />
    +
    +          <property name="library.jansi.path" value="/home/vsts/work/1/s/.maven/lib/jansi-native" />
    +
    +          <property name="user.home" value="/home/vsts" />
    +
    +          <property name="user.timezone" value="Etc/UTC" />
    +
    +          <property name="file.encoding" value="UTF-8" />
    +
    +          <property name="java.specification.version" value="17" />
    +
    +          <property name="user.name" value="vsts" />
    +
    +          <property name="java.class.path" value="/home/vsts/work/1/s/.maven/boot/plexus-classworlds-2.6.0.jar" />
    +
    +          <property name="bytecode.version" value="5" />
    +
    +          <property name="java.vm.specification.version" value="17" />
    +
    +          <property name="sun.arch.data.model" value="64" />
    +
    +          <property name="sun.java.command" value="org.codehaus.plexus.classworlds.launcher.Launcher -V -B -e --no-transfer-progress -f org.jacoco.build verify -Djdk.version=5 -Dbytecode.version=5 deploy:deploy -DdeployAtEnd --toolchains=toolchains.xml --settings=.azure-pipelines/maven-settings.xml" />
    +
    +          <property name="java.home" value="/usr/lib/jvm/temurin-17-jdk-amd64" />
    +
    +          <property name="user.language" value="en" />
    +
    +          <property name="java.specification.vendor" value="Oracle Corporation" />
    +
    +          <property name="java.vm.info" value="mixed mode, sharing" />
    +
    +          <property name="java.version" value="17.0.10" />
    +
    +          <property name="native.encoding" value="UTF-8" />
    +
    +          <property name="securerandom.source" value="file:/dev/./urandom" />
    +
    +          <property name="java.vendor" value="Eclipse Adoptium" />
    +
    +          <property name="maven.home" value="/home/vsts/work/1/s/.maven" />
    +
    +          <property name="file.separator" value="/" />
    +
    +          <property name="java.version.date" value="2024-01-16" />
    +
    +          <property name="java.vendor.url.bug" value="https://github.com/adoptium/adoptium-support/issues" />
    +
    +          <property name="sun.io.unicode.encoding" value="UnicodeLittle" />
    +
    +          <property name="sun.font.fontmanager" value="sun.awt.X11FontManager" />
    +
    +          <property name="sun.cpu.endian" value="little" />
    +
    +          <property name="java.vendor.version" value="Temurin-17.0.10+7" />
    +
    +      </properties>
    +
    +      <testcase classname="org.jacoco.core.internal.analysis.filter.ExhaustiveSwitchFilterTest" name="should_filter_when_default_branch_has_LineNumber_of_switch" time="0.004" />
    +
    +      <testcase classname="org.jacoco.core.internal.analysis.filter.ExhaustiveSwitchFilterTest" name="should_filter_when_default_branch_has_no_LineNumber" time="0" />
    +
    +      <testcase classname="org.jacoco.core.internal.analysis.filter.ExhaustiveSwitchFilterTest" name="should_filter_when_default_branch_throws_Java_21_MatchException" time="0" />
    +
    +      <testcase classname="org.jacoco.core.internal.analysis.filter.ExhaustiveSwitchFilterTest" name="should_not_filter_when_default_branch_has_LineNumber_different_from_switch" time="0" />
    +
    +  </testsuite>
    +  <testsuite errors="0" failures="0" id="70" name="FinallyFilterTest" package="org.jacoco.core.internal.analysis.filter" skipped="0" tests="8" time="0.009" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="https://maven.apache.org/surefire/maven-surefire-plugin/xsd/surefire-test-report.xsd">
    +      <properties>
    +          <property name="jansi.mode" value="strip" />
    +
    +          <property name="java.runtime.name" value="OpenJDK Runtime Environment" />
    +
    +          <property name="java.vm.version" value="17.0.10+7" />
    +
    +          <property name="sun.boot.library.path" value="/usr/lib/jvm/temurin-17-jdk-amd64/lib" />
    +
    +          <property name="maven.multiModuleProjectDirectory" value="/home/vsts/work/1/s/org.jacoco.build" />
    +
    +          <property name="jdk.version" value="5" />
    +
    +          <property name="java.vm.vendor" value="Eclipse Adoptium" />
    +
    +          <property name="java.vendor.url" value="https://adoptium.net/" />
    +
    +          <property name="guice.disable.misplaced.annotation.check" value="true" />
    +
    +          <property name="path.separator" value=":" />
    +
    +          <property name="java.vm.name" value="OpenJDK 64-Bit Server VM" />
    +
    +          <property name="sun.java.launcher" value="SUN_STANDARD" />
    +
    +          <property name="java.vm.specification.name" value="Java Virtual Machine Specification" />
    +
    +          <property name="user.dir" value="/home/vsts/work/1/s" />
    +
    +          <property name="java.vm.compressedOopsMode" value="32-bit" />
    +
    +          <property name="java.runtime.version" value="17.0.10+7" />
    +
    +          <property name="os.arch" value="amd64" />
    +
    +          <property name="java.io.tmpdir" value="/tmp" />
    +
    +          <property name="line.separator" value="&#xa;" />
    +
    +          <property name="java.vm.specification.vendor" value="Oracle Corporation" />
    +
    +          <property name="os.name" value="Linux" />
    +
    +          <property name="classworlds.conf" value="/home/vsts/work/1/s/.maven/bin/m2.conf" />
    +
    +          <property name="sun.jnu.encoding" value="UTF-8" />
    +
    +          <property name="deployAtEnd" value="true" />
    +
    +          <property name="java.library.path" value="/usr/java/packages/lib:/usr/lib64:/lib64:/lib:/usr/lib" />
    +
    +          <property name="maven.conf" value="/home/vsts/work/1/s/.maven/conf" />
    +
    +          <property name="jdk.debug" value="release" />
    +
    +          <property name="java.class.version" value="61.0" />
    +
    +          <property name="java.specification.name" value="Java Platform API Specification" />
    +
    +          <property name="sun.management.compiler" value="HotSpot 64-Bit Tiered Compilers" />
    +
    +          <property name="os.version" value="5.15.0-1059-azure" />
    +
    +          <property name="library.jansi.path" value="/home/vsts/work/1/s/.maven/lib/jansi-native" />
    +
    +          <property name="user.home" value="/home/vsts" />
    +
    +          <property name="user.timezone" value="Etc/UTC" />
    +
    +          <property name="file.encoding" value="UTF-8" />
    +
    +          <property name="java.specification.version" value="17" />
    +
    +          <property name="user.name" value="vsts" />
    +
    +          <property name="java.class.path" value="/home/vsts/work/1/s/.maven/boot/plexus-classworlds-2.6.0.jar" />
    +
    +          <property name="bytecode.version" value="5" />
    +
    +          <property name="java.vm.specification.version" value="17" />
    +
    +          <property name="sun.arch.data.model" value="64" />
    +
    +          <property name="sun.java.command" value="org.codehaus.plexus.classworlds.launcher.Launcher -V -B -e --no-transfer-progress -f org.jacoco.build verify -Djdk.version=5 -Dbytecode.version=5 deploy:deploy -DdeployAtEnd --toolchains=toolchains.xml --settings=.azure-pipelines/maven-settings.xml" />
    +
    +          <property name="java.home" value="/usr/lib/jvm/temurin-17-jdk-amd64" />
    +
    +          <property name="user.language" value="en" />
    +
    +          <property name="java.specification.vendor" value="Oracle Corporation" />
    +
    +          <property name="java.vm.info" value="mixed mode, sharing" />
    +
    +          <property name="java.version" value="17.0.10" />
    +
    +          <property name="native.encoding" value="UTF-8" />
    +
    +          <property name="securerandom.source" value="file:/dev/./urandom" />
    +
    +          <property name="java.vendor" value="Eclipse Adoptium" />
    +
    +          <property name="maven.home" value="/home/vsts/work/1/s/.maven" />
    +
    +          <property name="file.separator" value="/" />
    +
    +          <property name="java.version.date" value="2024-01-16" />
    +
    +          <property name="java.vendor.url.bug" value="https://github.com/adoptium/adoptium-support/issues" />
    +
    +          <property name="sun.io.unicode.encoding" value="UnicodeLittle" />
    +
    +          <property name="sun.font.fontmanager" value="sun.awt.X11FontManager" />
    +
    +          <property name="sun.cpu.endian" value="little" />
    +
    +          <property name="java.vendor.version" value="Temurin-17.0.10+7" />
    +
    +      </properties>
    +
    +      <testcase classname="org.jacoco.core.internal.analysis.filter.FinallyFilterTest" name="ecj_try_catch_finally" time="0.003" />
    +
    +      <testcase classname="org.jacoco.core.internal.analysis.filter.FinallyFilterTest" name="javac_try_catch_finally" time="0.001" />
    +
    +      <testcase classname="org.jacoco.core.internal.analysis.filter.FinallyFilterTest" name="ecj_empty_catch" time="0" />
    +
    +      <testcase classname="org.jacoco.core.internal.analysis.filter.FinallyFilterTest" name="should_analyze_control_flow" time="0" />
    +
    +      <testcase classname="org.jacoco.core.internal.analysis.filter.FinallyFilterTest" name="ecj_always_completes_abruptly" time="0" />
    +
    +      <testcase classname="org.jacoco.core.internal.analysis.filter.FinallyFilterTest" name="javac_8_empty_catch" time="0.004" />
    +
    +      <testcase classname="org.jacoco.core.internal.analysis.filter.FinallyFilterTest" name="javac_empty_catch" time="0" />
    +
    +      <testcase classname="org.jacoco.core.internal.analysis.filter.FinallyFilterTest" name="javac_always_completes_abruptly" time="0" />
    +
    +  </testsuite>
    +  <testsuite errors="0" failures="0" id="71" name="KotlinCoroutineFilterTest" package="org.jacoco.core.internal.analysis.filter" skipped="0" tests="4" time="0.006" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="https://maven.apache.org/surefire/maven-surefire-plugin/xsd/surefire-test-report.xsd">
    +      <properties>
    +          <property name="jansi.mode" value="strip" />
    +
    +          <property name="java.runtime.name" value="OpenJDK Runtime Environment" />
    +
    +          <property name="java.vm.version" value="17.0.10+7" />
    +
    +          <property name="sun.boot.library.path" value="/usr/lib/jvm/temurin-17-jdk-amd64/lib" />
    +
    +          <property name="maven.multiModuleProjectDirectory" value="/home/vsts/work/1/s/org.jacoco.build" />
    +
    +          <property name="jdk.version" value="5" />
    +
    +          <property name="java.vm.vendor" value="Eclipse Adoptium" />
    +
    +          <property name="java.vendor.url" value="https://adoptium.net/" />
    +
    +          <property name="guice.disable.misplaced.annotation.check" value="true" />
    +
    +          <property name="path.separator" value=":" />
    +
    +          <property name="java.vm.name" value="OpenJDK 64-Bit Server VM" />
    +
    +          <property name="sun.java.launcher" value="SUN_STANDARD" />
    +
    +          <property name="java.vm.specification.name" value="Java Virtual Machine Specification" />
    +
    +          <property name="user.dir" value="/home/vsts/work/1/s" />
    +
    +          <property name="java.vm.compressedOopsMode" value="32-bit" />
    +
    +          <property name="java.runtime.version" value="17.0.10+7" />
    +
    +          <property name="os.arch" value="amd64" />
    +
    +          <property name="java.io.tmpdir" value="/tmp" />
    +
    +          <property name="line.separator" value="&#xa;" />
    +
    +          <property name="java.vm.specification.vendor" value="Oracle Corporation" />
    +
    +          <property name="os.name" value="Linux" />
    +
    +          <property name="classworlds.conf" value="/home/vsts/work/1/s/.maven/bin/m2.conf" />
    +
    +          <property name="sun.jnu.encoding" value="UTF-8" />
    +
    +          <property name="deployAtEnd" value="true" />
    +
    +          <property name="java.library.path" value="/usr/java/packages/lib:/usr/lib64:/lib64:/lib:/usr/lib" />
    +
    +          <property name="maven.conf" value="/home/vsts/work/1/s/.maven/conf" />
    +
    +          <property name="jdk.debug" value="release" />
    +
    +          <property name="java.class.version" value="61.0" />
    +
    +          <property name="java.specification.name" value="Java Platform API Specification" />
    +
    +          <property name="sun.management.compiler" value="HotSpot 64-Bit Tiered Compilers" />
    +
    +          <property name="os.version" value="5.15.0-1059-azure" />
    +
    +          <property name="library.jansi.path" value="/home/vsts/work/1/s/.maven/lib/jansi-native" />
    +
    +          <property name="user.home" value="/home/vsts" />
    +
    +          <property name="user.timezone" value="Etc/UTC" />
    +
    +          <property name="file.encoding" value="UTF-8" />
    +
    +          <property name="java.specification.version" value="17" />
    +
    +          <property name="user.name" value="vsts" />
    +
    +          <property name="java.class.path" value="/home/vsts/work/1/s/.maven/boot/plexus-classworlds-2.6.0.jar" />
    +
    +          <property name="bytecode.version" value="5" />
    +
    +          <property name="java.vm.specification.version" value="17" />
    +
    +          <property name="sun.arch.data.model" value="64" />
    +
    +          <property name="sun.java.command" value="org.codehaus.plexus.classworlds.launcher.Launcher -V -B -e --no-transfer-progress -f org.jacoco.build verify -Djdk.version=5 -Dbytecode.version=5 deploy:deploy -DdeployAtEnd --toolchains=toolchains.xml --settings=.azure-pipelines/maven-settings.xml" />
    +
    +          <property name="java.home" value="/usr/lib/jvm/temurin-17-jdk-amd64" />
    +
    +          <property name="user.language" value="en" />
    +
    +          <property name="java.specification.vendor" value="Oracle Corporation" />
    +
    +          <property name="java.vm.info" value="mixed mode, sharing" />
    +
    +          <property name="java.version" value="17.0.10" />
    +
    +          <property name="native.encoding" value="UTF-8" />
    +
    +          <property name="securerandom.source" value="file:/dev/./urandom" />
    +
    +          <property name="java.vendor" value="Eclipse Adoptium" />
    +
    +          <property name="maven.home" value="/home/vsts/work/1/s/.maven" />
    +
    +          <property name="file.separator" value="/" />
    +
    +          <property name="java.version.date" value="2024-01-16" />
    +
    +          <property name="java.vendor.url.bug" value="https://github.com/adoptium/adoptium-support/issues" />
    +
    +          <property name="sun.io.unicode.encoding" value="UnicodeLittle" />
    +
    +          <property name="sun.font.fontmanager" value="sun.awt.X11FontManager" />
    +
    +          <property name="sun.cpu.endian" value="little" />
    +
    +          <property name="java.vendor.version" value="Temurin-17.0.10+7" />
    +
    +      </properties>
    +
    +      <testcase classname="org.jacoco.core.internal.analysis.filter.KotlinCoroutineFilterTest" name="should_filter_suspending_functions" time="0.002" />
    +
    +      <testcase classname="org.jacoco.core.internal.analysis.filter.KotlinCoroutineFilterTest" name="should_filter_suspending_functions_with_tail_call_optimization" time="0" />
    +
    +      <testcase classname="org.jacoco.core.internal.analysis.filter.KotlinCoroutineFilterTest" name="should_filter_suspending_lambdas" time="0" />
    +
    +      <testcase classname="org.jacoco.core.internal.analysis.filter.KotlinCoroutineFilterTest" name="should_filter_suspending_lambdas_generated_by_Kotlin_1_3_30" time="0" />
    +
    +  </testsuite>
    +  <testsuite errors="0" failures="0" id="72" name="KotlinDefaultArgumentsFilterTest" package="org.jacoco.core.internal.analysis.filter" skipped="0" tests="10" time="0.002" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="https://maven.apache.org/surefire/maven-surefire-plugin/xsd/surefire-test-report.xsd">
    +      <properties>
    +          <property name="jansi.mode" value="strip" />
    +
    +          <property name="java.runtime.name" value="OpenJDK Runtime Environment" />
    +
    +          <property name="java.vm.version" value="17.0.10+7" />
    +
    +          <property name="sun.boot.library.path" value="/usr/lib/jvm/temurin-17-jdk-amd64/lib" />
    +
    +          <property name="maven.multiModuleProjectDirectory" value="/home/vsts/work/1/s/org.jacoco.build" />
    +
    +          <property name="jdk.version" value="5" />
    +
    +          <property name="java.vm.vendor" value="Eclipse Adoptium" />
    +
    +          <property name="java.vendor.url" value="https://adoptium.net/" />
    +
    +          <property name="guice.disable.misplaced.annotation.check" value="true" />
    +
    +          <property name="path.separator" value=":" />
    +
    +          <property name="java.vm.name" value="OpenJDK 64-Bit Server VM" />
    +
    +          <property name="sun.java.launcher" value="SUN_STANDARD" />
    +
    +          <property name="java.vm.specification.name" value="Java Virtual Machine Specification" />
    +
    +          <property name="user.dir" value="/home/vsts/work/1/s" />
    +
    +          <property name="java.vm.compressedOopsMode" value="32-bit" />
    +
    +          <property name="java.runtime.version" value="17.0.10+7" />
    +
    +          <property name="os.arch" value="amd64" />
    +
    +          <property name="java.io.tmpdir" value="/tmp" />
    +
    +          <property name="line.separator" value="&#xa;" />
    +
    +          <property name="java.vm.specification.vendor" value="Oracle Corporation" />
    +
    +          <property name="os.name" value="Linux" />
    +
    +          <property name="classworlds.conf" value="/home/vsts/work/1/s/.maven/bin/m2.conf" />
    +
    +          <property name="sun.jnu.encoding" value="UTF-8" />
    +
    +          <property name="deployAtEnd" value="true" />
    +
    +          <property name="java.library.path" value="/usr/java/packages/lib:/usr/lib64:/lib64:/lib:/usr/lib" />
    +
    +          <property name="maven.conf" value="/home/vsts/work/1/s/.maven/conf" />
    +
    +          <property name="jdk.debug" value="release" />
    +
    +          <property name="java.class.version" value="61.0" />
    +
    +          <property name="java.specification.name" value="Java Platform API Specification" />
    +
    +          <property name="sun.management.compiler" value="HotSpot 64-Bit Tiered Compilers" />
    +
    +          <property name="os.version" value="5.15.0-1059-azure" />
    +
    +          <property name="library.jansi.path" value="/home/vsts/work/1/s/.maven/lib/jansi-native" />
    +
    +          <property name="user.home" value="/home/vsts" />
    +
    +          <property name="user.timezone" value="Etc/UTC" />
    +
    +          <property name="file.encoding" value="UTF-8" />
    +
    +          <property name="java.specification.version" value="17" />
    +
    +          <property name="user.name" value="vsts" />
    +
    +          <property name="java.class.path" value="/home/vsts/work/1/s/.maven/boot/plexus-classworlds-2.6.0.jar" />
    +
    +          <property name="bytecode.version" value="5" />
    +
    +          <property name="java.vm.specification.version" value="17" />
    +
    +          <property name="sun.arch.data.model" value="64" />
    +
    +          <property name="sun.java.command" value="org.codehaus.plexus.classworlds.launcher.Launcher -V -B -e --no-transfer-progress -f org.jacoco.build verify -Djdk.version=5 -Dbytecode.version=5 deploy:deploy -DdeployAtEnd --toolchains=toolchains.xml --settings=.azure-pipelines/maven-settings.xml" />
    +
    +          <property name="java.home" value="/usr/lib/jvm/temurin-17-jdk-amd64" />
    +
    +          <property name="user.language" value="en" />
    +
    +          <property name="java.specification.vendor" value="Oracle Corporation" />
    +
    +          <property name="java.vm.info" value="mixed mode, sharing" />
    +
    +          <property name="java.version" value="17.0.10" />
    +
    +          <property name="native.encoding" value="UTF-8" />
    +
    +          <property name="securerandom.source" value="file:/dev/./urandom" />
    +
    +          <property name="java.vendor" value="Eclipse Adoptium" />
    +
    +          <property name="maven.home" value="/home/vsts/work/1/s/.maven" />
    +
    +          <property name="file.separator" value="/" />
    +
    +          <property name="java.version.date" value="2024-01-16" />
    +
    +          <property name="java.vendor.url.bug" value="https://github.com/adoptium/adoptium-support/issues" />
    +
    +          <property name="sun.io.unicode.encoding" value="UnicodeLittle" />
    +
    +          <property name="sun.font.fontmanager" value="sun.awt.X11FontManager" />
    +
    +          <property name="sun.cpu.endian" value="little" />
    +
    +          <property name="java.vendor.version" value="Temurin-17.0.10+7" />
    +
    +      </properties>
    +
    +      <testcase classname="org.jacoco.core.internal.analysis.filter.KotlinDefaultArgumentsFilterTest" name="should_not_filter_when_not_kotlin" time="0" />
    +
    +      <testcase classname="org.jacoco.core.internal.analysis.filter.KotlinDefaultArgumentsFilterTest" name="computeNumberOfMaskArguments" time="0" />
    +
    +      <testcase classname="org.jacoco.core.internal.analysis.filter.KotlinDefaultArgumentsFilterTest" name="should_filter_methods_with_more_than_32_parameters" time="0" />
    +
    +      <testcase classname="org.jacoco.core.internal.analysis.filter.KotlinDefaultArgumentsFilterTest" name="should_filter" time="0.001" />
    +
    +      <testcase classname="org.jacoco.core.internal.analysis.filter.KotlinDefaultArgumentsFilterTest" name="should_filter_methods_with_parameters_that_consume_two_slots" time="0" />
    +
    +      <testcase classname="org.jacoco.core.internal.analysis.filter.KotlinDefaultArgumentsFilterTest" name="should_not_filter_when_suffix_absent" time="0" />
    +
    +      <testcase classname="org.jacoco.core.internal.analysis.filter.KotlinDefaultArgumentsFilterTest" name="should_not_filter_when_not_synthetic" time="0" />
    +
    +      <testcase classname="org.jacoco.core.internal.analysis.filter.KotlinDefaultArgumentsFilterTest" name="should_filter_constructors" time="0" />
    +
    +      <testcase classname="org.jacoco.core.internal.analysis.filter.KotlinDefaultArgumentsFilterTest" name="should_filter_methods_with_more_than_224_parameters" time="0.001" />
    +
    +      <testcase classname="org.jacoco.core.internal.analysis.filter.KotlinDefaultArgumentsFilterTest" name="should_filter_open_functions" time="0" />
    +
    +  </testsuite>
    +  <testsuite errors="0" failures="0" id="73" name="KotlinDefaultMethodsFilterTest" package="org.jacoco.core.internal.analysis.filter" skipped="0" tests="4" time="0.003" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="https://maven.apache.org/surefire/maven-surefire-plugin/xsd/surefire-test-report.xsd">
    +      <properties>
    +          <property name="jansi.mode" value="strip" />
    +
    +          <property name="java.runtime.name" value="OpenJDK Runtime Environment" />
    +
    +          <property name="java.vm.version" value="17.0.10+7" />
    +
    +          <property name="sun.boot.library.path" value="/usr/lib/jvm/temurin-17-jdk-amd64/lib" />
    +
    +          <property name="maven.multiModuleProjectDirectory" value="/home/vsts/work/1/s/org.jacoco.build" />
    +
    +          <property name="jdk.version" value="5" />
    +
    +          <property name="java.vm.vendor" value="Eclipse Adoptium" />
    +
    +          <property name="java.vendor.url" value="https://adoptium.net/" />
    +
    +          <property name="guice.disable.misplaced.annotation.check" value="true" />
    +
    +          <property name="path.separator" value=":" />
    +
    +          <property name="java.vm.name" value="OpenJDK 64-Bit Server VM" />
    +
    +          <property name="sun.java.launcher" value="SUN_STANDARD" />
    +
    +          <property name="java.vm.specification.name" value="Java Virtual Machine Specification" />
    +
    +          <property name="user.dir" value="/home/vsts/work/1/s" />
    +
    +          <property name="java.vm.compressedOopsMode" value="32-bit" />
    +
    +          <property name="java.runtime.version" value="17.0.10+7" />
    +
    +          <property name="os.arch" value="amd64" />
    +
    +          <property name="java.io.tmpdir" value="/tmp" />
    +
    +          <property name="line.separator" value="&#xa;" />
    +
    +          <property name="java.vm.specification.vendor" value="Oracle Corporation" />
    +
    +          <property name="os.name" value="Linux" />
    +
    +          <property name="classworlds.conf" value="/home/vsts/work/1/s/.maven/bin/m2.conf" />
    +
    +          <property name="sun.jnu.encoding" value="UTF-8" />
    +
    +          <property name="deployAtEnd" value="true" />
    +
    +          <property name="java.library.path" value="/usr/java/packages/lib:/usr/lib64:/lib64:/lib:/usr/lib" />
    +
    +          <property name="maven.conf" value="/home/vsts/work/1/s/.maven/conf" />
    +
    +          <property name="jdk.debug" value="release" />
    +
    +          <property name="java.class.version" value="61.0" />
    +
    +          <property name="java.specification.name" value="Java Platform API Specification" />
    +
    +          <property name="sun.management.compiler" value="HotSpot 64-Bit Tiered Compilers" />
    +
    +          <property name="os.version" value="5.15.0-1059-azure" />
    +
    +          <property name="library.jansi.path" value="/home/vsts/work/1/s/.maven/lib/jansi-native" />
    +
    +          <property name="user.home" value="/home/vsts" />
    +
    +          <property name="user.timezone" value="Etc/UTC" />
    +
    +          <property name="file.encoding" value="UTF-8" />
    +
    +          <property name="java.specification.version" value="17" />
    +
    +          <property name="user.name" value="vsts" />
    +
    +          <property name="java.class.path" value="/home/vsts/work/1/s/.maven/boot/plexus-classworlds-2.6.0.jar" />
    +
    +          <property name="bytecode.version" value="5" />
    +
    +          <property name="java.vm.specification.version" value="17" />
    +
    +          <property name="sun.arch.data.model" value="64" />
    +
    +          <property name="sun.java.command" value="org.codehaus.plexus.classworlds.launcher.Launcher -V -B -e --no-transfer-progress -f org.jacoco.build verify -Djdk.version=5 -Dbytecode.version=5 deploy:deploy -DdeployAtEnd --toolchains=toolchains.xml --settings=.azure-pipelines/maven-settings.xml" />
    +
    +          <property name="java.home" value="/usr/lib/jvm/temurin-17-jdk-amd64" />
    +
    +          <property name="user.language" value="en" />
    +
    +          <property name="java.specification.vendor" value="Oracle Corporation" />
    +
    +          <property name="java.vm.info" value="mixed mode, sharing" />
    +
    +          <property name="java.version" value="17.0.10" />
    +
    +          <property name="native.encoding" value="UTF-8" />
    +
    +          <property name="securerandom.source" value="file:/dev/./urandom" />
    +
    +          <property name="java.vendor" value="Eclipse Adoptium" />
    +
    +          <property name="maven.home" value="/home/vsts/work/1/s/.maven" />
    +
    +          <property name="file.separator" value="/" />
    +
    +          <property name="java.version.date" value="2024-01-16" />
    +
    +          <property name="java.vendor.url.bug" value="https://github.com/adoptium/adoptium-support/issues" />
    +
    +          <property name="sun.io.unicode.encoding" value="UnicodeLittle" />
    +
    +          <property name="sun.font.fontmanager" value="sun.awt.X11FontManager" />
    +
    +          <property name="sun.cpu.endian" value="little" />
    +
    +          <property name="java.vendor.version" value="Temurin-17.0.10+7" />
    +
    +      </properties>
    +
    +      <testcase classname="org.jacoco.core.internal.analysis.filter.KotlinDefaultMethodsFilterTest" name="should_not_filter_when_not_kotlin" time="0.001" />
    +
    +      <testcase classname="org.jacoco.core.internal.analysis.filter.KotlinDefaultMethodsFilterTest" name="should_not_filter_when_instructions_do_not_match" time="0.001" />
    +
    +      <testcase classname="org.jacoco.core.internal.analysis.filter.KotlinDefaultMethodsFilterTest" name="should_filter" time="0" />
    +
    +      <testcase classname="org.jacoco.core.internal.analysis.filter.KotlinDefaultMethodsFilterTest" name="should_not_filter_when_invokestatic_owner_does_not_match" time="0" />
    +
    +  </testsuite>
    +  <testsuite errors="0" failures="0" id="74" name="KotlinGeneratedFilterTest" package="org.jacoco.core.internal.analysis.filter" skipped="0" tests="5" time="0.002" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="https://maven.apache.org/surefire/maven-surefire-plugin/xsd/surefire-test-report.xsd">
    +      <properties>
    +          <property name="jansi.mode" value="strip" />
    +
    +          <property name="java.runtime.name" value="OpenJDK Runtime Environment" />
    +
    +          <property name="java.vm.version" value="17.0.10+7" />
    +
    +          <property name="sun.boot.library.path" value="/usr/lib/jvm/temurin-17-jdk-amd64/lib" />
    +
    +          <property name="maven.multiModuleProjectDirectory" value="/home/vsts/work/1/s/org.jacoco.build" />
    +
    +          <property name="jdk.version" value="5" />
    +
    +          <property name="java.vm.vendor" value="Eclipse Adoptium" />
    +
    +          <property name="java.vendor.url" value="https://adoptium.net/" />
    +
    +          <property name="guice.disable.misplaced.annotation.check" value="true" />
    +
    +          <property name="path.separator" value=":" />
    +
    +          <property name="java.vm.name" value="OpenJDK 64-Bit Server VM" />
    +
    +          <property name="sun.java.launcher" value="SUN_STANDARD" />
    +
    +          <property name="java.vm.specification.name" value="Java Virtual Machine Specification" />
    +
    +          <property name="user.dir" value="/home/vsts/work/1/s" />
    +
    +          <property name="java.vm.compressedOopsMode" value="32-bit" />
    +
    +          <property name="java.runtime.version" value="17.0.10+7" />
    +
    +          <property name="os.arch" value="amd64" />
    +
    +          <property name="java.io.tmpdir" value="/tmp" />
    +
    +          <property name="line.separator" value="&#xa;" />
    +
    +          <property name="java.vm.specification.vendor" value="Oracle Corporation" />
    +
    +          <property name="os.name" value="Linux" />
    +
    +          <property name="classworlds.conf" value="/home/vsts/work/1/s/.maven/bin/m2.conf" />
    +
    +          <property name="sun.jnu.encoding" value="UTF-8" />
    +
    +          <property name="deployAtEnd" value="true" />
    +
    +          <property name="java.library.path" value="/usr/java/packages/lib:/usr/lib64:/lib64:/lib:/usr/lib" />
    +
    +          <property name="maven.conf" value="/home/vsts/work/1/s/.maven/conf" />
    +
    +          <property name="jdk.debug" value="release" />
    +
    +          <property name="java.class.version" value="61.0" />
    +
    +          <property name="java.specification.name" value="Java Platform API Specification" />
    +
    +          <property name="sun.management.compiler" value="HotSpot 64-Bit Tiered Compilers" />
    +
    +          <property name="os.version" value="5.15.0-1059-azure" />
    +
    +          <property name="library.jansi.path" value="/home/vsts/work/1/s/.maven/lib/jansi-native" />
    +
    +          <property name="user.home" value="/home/vsts" />
    +
    +          <property name="user.timezone" value="Etc/UTC" />
    +
    +          <property name="file.encoding" value="UTF-8" />
    +
    +          <property name="java.specification.version" value="17" />
    +
    +          <property name="user.name" value="vsts" />
    +
    +          <property name="java.class.path" value="/home/vsts/work/1/s/.maven/boot/plexus-classworlds-2.6.0.jar" />
    +
    +          <property name="bytecode.version" value="5" />
    +
    +          <property name="java.vm.specification.version" value="17" />
    +
    +          <property name="sun.arch.data.model" value="64" />
    +
    +          <property name="sun.java.command" value="org.codehaus.plexus.classworlds.launcher.Launcher -V -B -e --no-transfer-progress -f org.jacoco.build verify -Djdk.version=5 -Dbytecode.version=5 deploy:deploy -DdeployAtEnd --toolchains=toolchains.xml --settings=.azure-pipelines/maven-settings.xml" />
    +
    +          <property name="java.home" value="/usr/lib/jvm/temurin-17-jdk-amd64" />
    +
    +          <property name="user.language" value="en" />
    +
    +          <property name="java.specification.vendor" value="Oracle Corporation" />
    +
    +          <property name="java.vm.info" value="mixed mode, sharing" />
    +
    +          <property name="java.version" value="17.0.10" />
    +
    +          <property name="native.encoding" value="UTF-8" />
    +
    +          <property name="securerandom.source" value="file:/dev/./urandom" />
    +
    +          <property name="java.vendor" value="Eclipse Adoptium" />
    +
    +          <property name="maven.home" value="/home/vsts/work/1/s/.maven" />
    +
    +          <property name="file.separator" value="/" />
    +
    +          <property name="java.version.date" value="2024-01-16" />
    +
    +          <property name="java.vendor.url.bug" value="https://github.com/adoptium/adoptium-support/issues" />
    +
    +          <property name="sun.io.unicode.encoding" value="UnicodeLittle" />
    +
    +          <property name="sun.font.fontmanager" value="sun.awt.X11FontManager" />
    +
    +          <property name="sun.cpu.endian" value="little" />
    +
    +          <property name="java.vendor.version" value="Temurin-17.0.10+7" />
    +
    +      </properties>
    +
    +      <testcase classname="org.jacoco.core.internal.analysis.filter.KotlinGeneratedFilterTest" name="testNoLinesForKotlinWithDebug" time="0" />
    +
    +      <testcase classname="org.jacoco.core.internal.analysis.filter.KotlinGeneratedFilterTest" name="testWithLinesForKotlinWithDebug" time="0" />
    +
    +      <testcase classname="org.jacoco.core.internal.analysis.filter.KotlinGeneratedFilterTest" name="testWithLinesForKotlinNoDebug" time="0" />
    +
    +      <testcase classname="org.jacoco.core.internal.analysis.filter.KotlinGeneratedFilterTest" name="testNoLinesNonKotlinWithDebug" time="0" />
    +
    +      <testcase classname="org.jacoco.core.internal.analysis.filter.KotlinGeneratedFilterTest" name="testNoLinesForKotlinNoDebug" time="0" />
    +
    +  </testsuite>
    +  <testsuite errors="0" failures="0" id="75" name="KotlinInlineFilterTest" package="org.jacoco.core.internal.analysis.filter" skipped="0" tests="9" time="0.006" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="https://maven.apache.org/surefire/maven-surefire-plugin/xsd/surefire-test-report.xsd">
    +      <properties>
    +          <property name="jansi.mode" value="strip" />
    +
    +          <property name="java.runtime.name" value="OpenJDK Runtime Environment" />
    +
    +          <property name="java.vm.version" value="17.0.10+7" />
    +
    +          <property name="sun.boot.library.path" value="/usr/lib/jvm/temurin-17-jdk-amd64/lib" />
    +
    +          <property name="maven.multiModuleProjectDirectory" value="/home/vsts/work/1/s/org.jacoco.build" />
    +
    +          <property name="jdk.version" value="5" />
    +
    +          <property name="java.vm.vendor" value="Eclipse Adoptium" />
    +
    +          <property name="java.vendor.url" value="https://adoptium.net/" />
    +
    +          <property name="guice.disable.misplaced.annotation.check" value="true" />
    +
    +          <property name="path.separator" value=":" />
    +
    +          <property name="java.vm.name" value="OpenJDK 64-Bit Server VM" />
    +
    +          <property name="sun.java.launcher" value="SUN_STANDARD" />
    +
    +          <property name="java.vm.specification.name" value="Java Virtual Machine Specification" />
    +
    +          <property name="user.dir" value="/home/vsts/work/1/s" />
    +
    +          <property name="java.vm.compressedOopsMode" value="32-bit" />
    +
    +          <property name="java.runtime.version" value="17.0.10+7" />
    +
    +          <property name="os.arch" value="amd64" />
    +
    +          <property name="java.io.tmpdir" value="/tmp" />
    +
    +          <property name="line.separator" value="&#xa;" />
    +
    +          <property name="java.vm.specification.vendor" value="Oracle Corporation" />
    +
    +          <property name="os.name" value="Linux" />
    +
    +          <property name="classworlds.conf" value="/home/vsts/work/1/s/.maven/bin/m2.conf" />
    +
    +          <property name="sun.jnu.encoding" value="UTF-8" />
    +
    +          <property name="deployAtEnd" value="true" />
    +
    +          <property name="java.library.path" value="/usr/java/packages/lib:/usr/lib64:/lib64:/lib:/usr/lib" />
    +
    +          <property name="maven.conf" value="/home/vsts/work/1/s/.maven/conf" />
    +
    +          <property name="jdk.debug" value="release" />
    +
    +          <property name="java.class.version" value="61.0" />
    +
    +          <property name="java.specification.name" value="Java Platform API Specification" />
    +
    +          <property name="sun.management.compiler" value="HotSpot 64-Bit Tiered Compilers" />
    +
    +          <property name="os.version" value="5.15.0-1059-azure" />
    +
    +          <property name="library.jansi.path" value="/home/vsts/work/1/s/.maven/lib/jansi-native" />
    +
    +          <property name="user.home" value="/home/vsts" />
    +
    +          <property name="user.timezone" value="Etc/UTC" />
    +
    +          <property name="file.encoding" value="UTF-8" />
    +
    +          <property name="java.specification.version" value="17" />
    +
    +          <property name="user.name" value="vsts" />
    +
    +          <property name="java.class.path" value="/home/vsts/work/1/s/.maven/boot/plexus-classworlds-2.6.0.jar" />
    +
    +          <property name="bytecode.version" value="5" />
    +
    +          <property name="java.vm.specification.version" value="17" />
    +
    +          <property name="sun.arch.data.model" value="64" />
    +
    +          <property name="sun.java.command" value="org.codehaus.plexus.classworlds.launcher.Launcher -V -B -e --no-transfer-progress -f org.jacoco.build verify -Djdk.version=5 -Dbytecode.version=5 deploy:deploy -DdeployAtEnd --toolchains=toolchains.xml --settings=.azure-pipelines/maven-settings.xml" />
    +
    +          <property name="java.home" value="/usr/lib/jvm/temurin-17-jdk-amd64" />
    +
    +          <property name="user.language" value="en" />
    +
    +          <property name="java.specification.vendor" value="Oracle Corporation" />
    +
    +          <property name="java.vm.info" value="mixed mode, sharing" />
    +
    +          <property name="java.version" value="17.0.10" />
    +
    +          <property name="native.encoding" value="UTF-8" />
    +
    +          <property name="securerandom.source" value="file:/dev/./urandom" />
    +
    +          <property name="java.vendor" value="Eclipse Adoptium" />
    +
    +          <property name="maven.home" value="/home/vsts/work/1/s/.maven" />
    +
    +          <property name="file.separator" value="/" />
    +
    +          <property name="java.version.date" value="2024-01-16" />
    +
    +          <property name="java.vendor.url.bug" value="https://github.com/adoptium/adoptium-support/issues" />
    +
    +          <property name="sun.io.unicode.encoding" value="UnicodeLittle" />
    +
    +          <property name="sun.font.fontmanager" value="sun.awt.X11FontManager" />
    +
    +          <property name="sun.cpu.endian" value="little" />
    +
    +          <property name="java.vendor.version" value="Temurin-17.0.10+7" />
    +
    +      </properties>
    +
    +      <testcase classname="org.jacoco.core.internal.analysis.filter.KotlinInlineFilterTest" name="should_throw_exception_when_unexpected_FileInfo" time="0" />
    +
    +      <testcase classname="org.jacoco.core.internal.analysis.filter.KotlinInlineFilterTest" name="should_filter_without_parsing_KotlinDebug_stratum" time="0.001" />
    +
    +      <testcase classname="org.jacoco.core.internal.analysis.filter.KotlinInlineFilterTest" name="should_throw_exception_when_no_SourceFileId_for_SourceFile" time="0" />
    +
    +      <testcase classname="org.jacoco.core.internal.analysis.filter.KotlinInlineFilterTest" name="should_filter_when_in_same_file" time="0" />
    +
    +      <testcase classname="org.jacoco.core.internal.analysis.filter.KotlinInlineFilterTest" name="should_filter" time="0" />
    +
    +      <testcase classname="org.jacoco.core.internal.analysis.filter.KotlinInlineFilterTest" name="should_not_parse_SourceDebugExtension_attribute_when_no_kotlin_metadata_annotation" time="0.001" />
    +
    +      <testcase classname="org.jacoco.core.internal.analysis.filter.KotlinInlineFilterTest" name="should_not_filter_when_no_SourceDebugExtension_attribute" time="0" />
    +
    +      <testcase classname="org.jacoco.core.internal.analysis.filter.KotlinInlineFilterTest" name="should_throw_exception_when_unexpected_LineInfo" time="0" />
    +
    +      <testcase classname="org.jacoco.core.internal.analysis.filter.KotlinInlineFilterTest" name="should_throw_exception_when_SMAP_incomplete" time="0.001" />
    +
    +  </testsuite>
    +  <testsuite errors="0" failures="0" id="76" name="KotlinLateinitFilterTest" package="org.jacoco.core.internal.analysis.filter" skipped="0" tests="11" time="0.006" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="https://maven.apache.org/surefire/maven-surefire-plugin/xsd/surefire-test-report.xsd">
    +      <properties>
    +          <property name="jansi.mode" value="strip" />
    +
    +          <property name="java.runtime.name" value="OpenJDK Runtime Environment" />
    +
    +          <property name="java.vm.version" value="17.0.10+7" />
    +
    +          <property name="sun.boot.library.path" value="/usr/lib/jvm/temurin-17-jdk-amd64/lib" />
    +
    +          <property name="maven.multiModuleProjectDirectory" value="/home/vsts/work/1/s/org.jacoco.build" />
    +
    +          <property name="jdk.version" value="5" />
    +
    +          <property name="java.vm.vendor" value="Eclipse Adoptium" />
    +
    +          <property name="java.vendor.url" value="https://adoptium.net/" />
    +
    +          <property name="guice.disable.misplaced.annotation.check" value="true" />
    +
    +          <property name="path.separator" value=":" />
    +
    +          <property name="java.vm.name" value="OpenJDK 64-Bit Server VM" />
    +
    +          <property name="sun.java.launcher" value="SUN_STANDARD" />
    +
    +          <property name="java.vm.specification.name" value="Java Virtual Machine Specification" />
    +
    +          <property name="user.dir" value="/home/vsts/work/1/s" />
    +
    +          <property name="java.vm.compressedOopsMode" value="32-bit" />
    +
    +          <property name="java.runtime.version" value="17.0.10+7" />
    +
    +          <property name="os.arch" value="amd64" />
    +
    +          <property name="java.io.tmpdir" value="/tmp" />
    +
    +          <property name="line.separator" value="&#xa;" />
    +
    +          <property name="java.vm.specification.vendor" value="Oracle Corporation" />
    +
    +          <property name="os.name" value="Linux" />
    +
    +          <property name="classworlds.conf" value="/home/vsts/work/1/s/.maven/bin/m2.conf" />
    +
    +          <property name="sun.jnu.encoding" value="UTF-8" />
    +
    +          <property name="deployAtEnd" value="true" />
    +
    +          <property name="java.library.path" value="/usr/java/packages/lib:/usr/lib64:/lib64:/lib:/usr/lib" />
    +
    +          <property name="maven.conf" value="/home/vsts/work/1/s/.maven/conf" />
    +
    +          <property name="jdk.debug" value="release" />
    +
    +          <property name="java.class.version" value="61.0" />
    +
    +          <property name="java.specification.name" value="Java Platform API Specification" />
    +
    +          <property name="sun.management.compiler" value="HotSpot 64-Bit Tiered Compilers" />
    +
    +          <property name="os.version" value="5.15.0-1059-azure" />
    +
    +          <property name="library.jansi.path" value="/home/vsts/work/1/s/.maven/lib/jansi-native" />
    +
    +          <property name="user.home" value="/home/vsts" />
    +
    +          <property name="user.timezone" value="Etc/UTC" />
    +
    +          <property name="file.encoding" value="UTF-8" />
    +
    +          <property name="java.specification.version" value="17" />
    +
    +          <property name="user.name" value="vsts" />
    +
    +          <property name="java.class.path" value="/home/vsts/work/1/s/.maven/boot/plexus-classworlds-2.6.0.jar" />
    +
    +          <property name="bytecode.version" value="5" />
    +
    +          <property name="java.vm.specification.version" value="17" />
    +
    +          <property name="sun.arch.data.model" value="64" />
    +
    +          <property name="sun.java.command" value="org.codehaus.plexus.classworlds.launcher.Launcher -V -B -e --no-transfer-progress -f org.jacoco.build verify -Djdk.version=5 -Dbytecode.version=5 deploy:deploy -DdeployAtEnd --toolchains=toolchains.xml --settings=.azure-pipelines/maven-settings.xml" />
    +
    +          <property name="java.home" value="/usr/lib/jvm/temurin-17-jdk-amd64" />
    +
    +          <property name="user.language" value="en" />
    +
    +          <property name="java.specification.vendor" value="Oracle Corporation" />
    +
    +          <property name="java.vm.info" value="mixed mode, sharing" />
    +
    +          <property name="java.version" value="17.0.10" />
    +
    +          <property name="native.encoding" value="UTF-8" />
    +
    +          <property name="securerandom.source" value="file:/dev/./urandom" />
    +
    +          <property name="java.vendor" value="Eclipse Adoptium" />
    +
    +          <property name="maven.home" value="/home/vsts/work/1/s/.maven" />
    +
    +          <property name="file.separator" value="/" />
    +
    +          <property name="java.version.date" value="2024-01-16" />
    +
    +          <property name="java.vendor.url.bug" value="https://github.com/adoptium/adoptium-support/issues" />
    +
    +          <property name="sun.io.unicode.encoding" value="UnicodeLittle" />
    +
    +          <property name="sun.font.fontmanager" value="sun.awt.X11FontManager" />
    +
    +          <property name="sun.cpu.endian" value="little" />
    +
    +          <property name="java.vendor.version" value="Temurin-17.0.10+7" />
    +
    +      </properties>
    +
    +      <testcase classname="org.jacoco.core.internal.analysis.filter.KotlinLateinitFilterTest" name="should_filter_Kotlin_1_6_20_public_generic" time="0.002" />
    +
    +      <testcase classname="org.jacoco.core.internal.analysis.filter.KotlinLateinitFilterTest" name="should_filter_Kotlin_1_5_0_private" time="0" />
    +
    +      <testcase classname="org.jacoco.core.internal.analysis.filter.KotlinLateinitFilterTest" name="should_filter_Kotlin_1_6_0_private_generic" time="0" />
    +
    +      <testcase classname="org.jacoco.core.internal.analysis.filter.KotlinLateinitFilterTest" name="should_filter_Kotlin_1_5_30_public" time="0" />
    +
    +      <testcase classname="org.jacoco.core.internal.analysis.filter.KotlinLateinitFilterTest" name="should_filter_Kotlin_1_6_20_public" time="0" />
    +
    +      <testcase classname="org.jacoco.core.internal.analysis.filter.KotlinLateinitFilterTest" name="should_filter_Kotlin_1_5_30_private_generic" time="0" />
    +
    +      <testcase classname="org.jacoco.core.internal.analysis.filter.KotlinLateinitFilterTest" name="should_filter_Kotlin_1_5_30_private" time="0" />
    +
    +      <testcase classname="org.jacoco.core.internal.analysis.filter.KotlinLateinitFilterTest" name="should_filter_Kotlin_1_2" time="0" />
    +
    +      <testcase classname="org.jacoco.core.internal.analysis.filter.KotlinLateinitFilterTest" name="should_filter_Kotlin_1_5_30_public_generic" time="0.001" />
    +
    +      <testcase classname="org.jacoco.core.internal.analysis.filter.KotlinLateinitFilterTest" name="should_filter_Kotlin_1_6_0_private" time="0" />
    +
    +      <testcase classname="org.jacoco.core.internal.analysis.filter.KotlinLateinitFilterTest" name="should_filter_Kotlin_1_5_0_public" time="0" />
    +
    +  </testsuite>
    +  <testsuite errors="0" failures="0" id="77" name="KotlinNotNullOperatorFilterTest" package="org.jacoco.core.internal.analysis.filter" skipped="0" tests="1" time="0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="https://maven.apache.org/surefire/maven-surefire-plugin/xsd/surefire-test-report.xsd">
    +      <properties>
    +          <property name="jansi.mode" value="strip" />
    +
    +          <property name="java.runtime.name" value="OpenJDK Runtime Environment" />
    +
    +          <property name="java.vm.version" value="17.0.10+7" />
    +
    +          <property name="sun.boot.library.path" value="/usr/lib/jvm/temurin-17-jdk-amd64/lib" />
    +
    +          <property name="maven.multiModuleProjectDirectory" value="/home/vsts/work/1/s/org.jacoco.build" />
    +
    +          <property name="jdk.version" value="5" />
    +
    +          <property name="java.vm.vendor" value="Eclipse Adoptium" />
    +
    +          <property name="java.vendor.url" value="https://adoptium.net/" />
    +
    +          <property name="guice.disable.misplaced.annotation.check" value="true" />
    +
    +          <property name="path.separator" value=":" />
    +
    +          <property name="java.vm.name" value="OpenJDK 64-Bit Server VM" />
    +
    +          <property name="sun.java.launcher" value="SUN_STANDARD" />
    +
    +          <property name="java.vm.specification.name" value="Java Virtual Machine Specification" />
    +
    +          <property name="user.dir" value="/home/vsts/work/1/s" />
    +
    +          <property name="java.vm.compressedOopsMode" value="32-bit" />
    +
    +          <property name="java.runtime.version" value="17.0.10+7" />
    +
    +          <property name="os.arch" value="amd64" />
    +
    +          <property name="java.io.tmpdir" value="/tmp" />
    +
    +          <property name="line.separator" value="&#xa;" />
    +
    +          <property name="java.vm.specification.vendor" value="Oracle Corporation" />
    +
    +          <property name="os.name" value="Linux" />
    +
    +          <property name="classworlds.conf" value="/home/vsts/work/1/s/.maven/bin/m2.conf" />
    +
    +          <property name="sun.jnu.encoding" value="UTF-8" />
    +
    +          <property name="deployAtEnd" value="true" />
    +
    +          <property name="java.library.path" value="/usr/java/packages/lib:/usr/lib64:/lib64:/lib:/usr/lib" />
    +
    +          <property name="maven.conf" value="/home/vsts/work/1/s/.maven/conf" />
    +
    +          <property name="jdk.debug" value="release" />
    +
    +          <property name="java.class.version" value="61.0" />
    +
    +          <property name="java.specification.name" value="Java Platform API Specification" />
    +
    +          <property name="sun.management.compiler" value="HotSpot 64-Bit Tiered Compilers" />
    +
    +          <property name="os.version" value="5.15.0-1059-azure" />
    +
    +          <property name="library.jansi.path" value="/home/vsts/work/1/s/.maven/lib/jansi-native" />
    +
    +          <property name="user.home" value="/home/vsts" />
    +
    +          <property name="user.timezone" value="Etc/UTC" />
    +
    +          <property name="file.encoding" value="UTF-8" />
    +
    +          <property name="java.specification.version" value="17" />
    +
    +          <property name="user.name" value="vsts" />
    +
    +          <property name="java.class.path" value="/home/vsts/work/1/s/.maven/boot/plexus-classworlds-2.6.0.jar" />
    +
    +          <property name="bytecode.version" value="5" />
    +
    +          <property name="java.vm.specification.version" value="17" />
    +
    +          <property name="sun.arch.data.model" value="64" />
    +
    +          <property name="sun.java.command" value="org.codehaus.plexus.classworlds.launcher.Launcher -V -B -e --no-transfer-progress -f org.jacoco.build verify -Djdk.version=5 -Dbytecode.version=5 deploy:deploy -DdeployAtEnd --toolchains=toolchains.xml --settings=.azure-pipelines/maven-settings.xml" />
    +
    +          <property name="java.home" value="/usr/lib/jvm/temurin-17-jdk-amd64" />
    +
    +          <property name="user.language" value="en" />
    +
    +          <property name="java.specification.vendor" value="Oracle Corporation" />
    +
    +          <property name="java.vm.info" value="mixed mode, sharing" />
    +
    +          <property name="java.version" value="17.0.10" />
    +
    +          <property name="native.encoding" value="UTF-8" />
    +
    +          <property name="securerandom.source" value="file:/dev/./urandom" />
    +
    +          <property name="java.vendor" value="Eclipse Adoptium" />
    +
    +          <property name="maven.home" value="/home/vsts/work/1/s/.maven" />
    +
    +          <property name="file.separator" value="/" />
    +
    +          <property name="java.version.date" value="2024-01-16" />
    +
    +          <property name="java.vendor.url.bug" value="https://github.com/adoptium/adoptium-support/issues" />
    +
    +          <property name="sun.io.unicode.encoding" value="UnicodeLittle" />
    +
    +          <property name="sun.font.fontmanager" value="sun.awt.X11FontManager" />
    +
    +          <property name="sun.cpu.endian" value="little" />
    +
    +          <property name="java.vendor.version" value="Temurin-17.0.10+7" />
    +
    +      </properties>
    +
    +      <testcase classname="org.jacoco.core.internal.analysis.filter.KotlinNotNullOperatorFilterTest" name="should_filter" time="0" />
    +
    +  </testsuite>
    +  <testsuite errors="0" failures="0" id="78" name="KotlinUnsafeCastOperatorFilterTest" package="org.jacoco.core.internal.analysis.filter" skipped="0" tests="5" time="0.004" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="https://maven.apache.org/surefire/maven-surefire-plugin/xsd/surefire-test-report.xsd">
    +      <properties>
    +          <property name="jansi.mode" value="strip" />
    +
    +          <property name="java.runtime.name" value="OpenJDK Runtime Environment" />
    +
    +          <property name="java.vm.version" value="17.0.10+7" />
    +
    +          <property name="sun.boot.library.path" value="/usr/lib/jvm/temurin-17-jdk-amd64/lib" />
    +
    +          <property name="maven.multiModuleProjectDirectory" value="/home/vsts/work/1/s/org.jacoco.build" />
    +
    +          <property name="jdk.version" value="5" />
    +
    +          <property name="java.vm.vendor" value="Eclipse Adoptium" />
    +
    +          <property name="java.vendor.url" value="https://adoptium.net/" />
    +
    +          <property name="guice.disable.misplaced.annotation.check" value="true" />
    +
    +          <property name="path.separator" value=":" />
    +
    +          <property name="java.vm.name" value="OpenJDK 64-Bit Server VM" />
    +
    +          <property name="sun.java.launcher" value="SUN_STANDARD" />
    +
    +          <property name="java.vm.specification.name" value="Java Virtual Machine Specification" />
    +
    +          <property name="user.dir" value="/home/vsts/work/1/s" />
    +
    +          <property name="java.vm.compressedOopsMode" value="32-bit" />
    +
    +          <property name="java.runtime.version" value="17.0.10+7" />
    +
    +          <property name="os.arch" value="amd64" />
    +
    +          <property name="java.io.tmpdir" value="/tmp" />
    +
    +          <property name="line.separator" value="&#xa;" />
    +
    +          <property name="java.vm.specification.vendor" value="Oracle Corporation" />
    +
    +          <property name="os.name" value="Linux" />
    +
    +          <property name="classworlds.conf" value="/home/vsts/work/1/s/.maven/bin/m2.conf" />
    +
    +          <property name="sun.jnu.encoding" value="UTF-8" />
    +
    +          <property name="deployAtEnd" value="true" />
    +
    +          <property name="java.library.path" value="/usr/java/packages/lib:/usr/lib64:/lib64:/lib:/usr/lib" />
    +
    +          <property name="maven.conf" value="/home/vsts/work/1/s/.maven/conf" />
    +
    +          <property name="jdk.debug" value="release" />
    +
    +          <property name="java.class.version" value="61.0" />
    +
    +          <property name="java.specification.name" value="Java Platform API Specification" />
    +
    +          <property name="sun.management.compiler" value="HotSpot 64-Bit Tiered Compilers" />
    +
    +          <property name="os.version" value="5.15.0-1059-azure" />
    +
    +          <property name="library.jansi.path" value="/home/vsts/work/1/s/.maven/lib/jansi-native" />
    +
    +          <property name="user.home" value="/home/vsts" />
    +
    +          <property name="user.timezone" value="Etc/UTC" />
    +
    +          <property name="file.encoding" value="UTF-8" />
    +
    +          <property name="java.specification.version" value="17" />
    +
    +          <property name="user.name" value="vsts" />
    +
    +          <property name="java.class.path" value="/home/vsts/work/1/s/.maven/boot/plexus-classworlds-2.6.0.jar" />
    +
    +          <property name="bytecode.version" value="5" />
    +
    +          <property name="java.vm.specification.version" value="17" />
    +
    +          <property name="sun.arch.data.model" value="64" />
    +
    +          <property name="sun.java.command" value="org.codehaus.plexus.classworlds.launcher.Launcher -V -B -e --no-transfer-progress -f org.jacoco.build verify -Djdk.version=5 -Dbytecode.version=5 deploy:deploy -DdeployAtEnd --toolchains=toolchains.xml --settings=.azure-pipelines/maven-settings.xml" />
    +
    +          <property name="java.home" value="/usr/lib/jvm/temurin-17-jdk-amd64" />
    +
    +          <property name="user.language" value="en" />
    +
    +          <property name="java.specification.vendor" value="Oracle Corporation" />
    +
    +          <property name="java.vm.info" value="mixed mode, sharing" />
    +
    +          <property name="java.version" value="17.0.10" />
    +
    +          <property name="native.encoding" value="UTF-8" />
    +
    +          <property name="securerandom.source" value="file:/dev/./urandom" />
    +
    +          <property name="java.vendor" value="Eclipse Adoptium" />
    +
    +          <property name="maven.home" value="/home/vsts/work/1/s/.maven" />
    +
    +          <property name="file.separator" value="/" />
    +
    +          <property name="java.version.date" value="2024-01-16" />
    +
    +          <property name="java.vendor.url.bug" value="https://github.com/adoptium/adoptium-support/issues" />
    +
    +          <property name="sun.io.unicode.encoding" value="UnicodeLittle" />
    +
    +          <property name="sun.font.fontmanager" value="sun.awt.X11FontManager" />
    +
    +          <property name="sun.cpu.endian" value="little" />
    +
    +          <property name="java.vendor.version" value="Temurin-17.0.10+7" />
    +
    +      </properties>
    +
    +      <testcase classname="org.jacoco.core.internal.analysis.filter.KotlinUnsafeCastOperatorFilterTest" name="should_not_filter_when_not_kotlin" time="0" />
    +
    +      <testcase classname="org.jacoco.core.internal.analysis.filter.KotlinUnsafeCastOperatorFilterTest" name="should_filter" time="0.001" />
    +
    +      <testcase classname="org.jacoco.core.internal.analysis.filter.KotlinUnsafeCastOperatorFilterTest" name="should_filter_Kotlin_1_4" time="0" />
    +
    +      <testcase classname="org.jacoco.core.internal.analysis.filter.KotlinUnsafeCastOperatorFilterTest" name="should_filter_Kotlin_1_5" time="0" />
    +
    +      <testcase classname="org.jacoco.core.internal.analysis.filter.KotlinUnsafeCastOperatorFilterTest" name="should_filter_Kotlin_1_6" time="0" />
    +
    +  </testsuite>
    +  <testsuite errors="0" failures="0" id="79" name="KotlinWhenFilterTest" package="org.jacoco.core.internal.analysis.filter" skipped="0" tests="3" time="0.002" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="https://maven.apache.org/surefire/maven-surefire-plugin/xsd/surefire-test-report.xsd">
    +      <properties>
    +          <property name="jansi.mode" value="strip" />
    +
    +          <property name="java.runtime.name" value="OpenJDK Runtime Environment" />
    +
    +          <property name="java.vm.version" value="17.0.10+7" />
    +
    +          <property name="sun.boot.library.path" value="/usr/lib/jvm/temurin-17-jdk-amd64/lib" />
    +
    +          <property name="maven.multiModuleProjectDirectory" value="/home/vsts/work/1/s/org.jacoco.build" />
    +
    +          <property name="jdk.version" value="5" />
    +
    +          <property name="java.vm.vendor" value="Eclipse Adoptium" />
    +
    +          <property name="java.vendor.url" value="https://adoptium.net/" />
    +
    +          <property name="guice.disable.misplaced.annotation.check" value="true" />
    +
    +          <property name="path.separator" value=":" />
    +
    +          <property name="java.vm.name" value="OpenJDK 64-Bit Server VM" />
    +
    +          <property name="sun.java.launcher" value="SUN_STANDARD" />
    +
    +          <property name="java.vm.specification.name" value="Java Virtual Machine Specification" />
    +
    +          <property name="user.dir" value="/home/vsts/work/1/s" />
    +
    +          <property name="java.vm.compressedOopsMode" value="32-bit" />
    +
    +          <property name="java.runtime.version" value="17.0.10+7" />
    +
    +          <property name="os.arch" value="amd64" />
    +
    +          <property name="java.io.tmpdir" value="/tmp" />
    +
    +          <property name="line.separator" value="&#xa;" />
    +
    +          <property name="java.vm.specification.vendor" value="Oracle Corporation" />
    +
    +          <property name="os.name" value="Linux" />
    +
    +          <property name="classworlds.conf" value="/home/vsts/work/1/s/.maven/bin/m2.conf" />
    +
    +          <property name="sun.jnu.encoding" value="UTF-8" />
    +
    +          <property name="deployAtEnd" value="true" />
    +
    +          <property name="java.library.path" value="/usr/java/packages/lib:/usr/lib64:/lib64:/lib:/usr/lib" />
    +
    +          <property name="maven.conf" value="/home/vsts/work/1/s/.maven/conf" />
    +
    +          <property name="jdk.debug" value="release" />
    +
    +          <property name="java.class.version" value="61.0" />
    +
    +          <property name="java.specification.name" value="Java Platform API Specification" />
    +
    +          <property name="sun.management.compiler" value="HotSpot 64-Bit Tiered Compilers" />
    +
    +          <property name="os.version" value="5.15.0-1059-azure" />
    +
    +          <property name="library.jansi.path" value="/home/vsts/work/1/s/.maven/lib/jansi-native" />
    +
    +          <property name="user.home" value="/home/vsts" />
    +
    +          <property name="user.timezone" value="Etc/UTC" />
    +
    +          <property name="file.encoding" value="UTF-8" />
    +
    +          <property name="java.specification.version" value="17" />
    +
    +          <property name="user.name" value="vsts" />
    +
    +          <property name="java.class.path" value="/home/vsts/work/1/s/.maven/boot/plexus-classworlds-2.6.0.jar" />
    +
    +          <property name="bytecode.version" value="5" />
    +
    +          <property name="java.vm.specification.version" value="17" />
    +
    +          <property name="sun.arch.data.model" value="64" />
    +
    +          <property name="sun.java.command" value="org.codehaus.plexus.classworlds.launcher.Launcher -V -B -e --no-transfer-progress -f org.jacoco.build verify -Djdk.version=5 -Dbytecode.version=5 deploy:deploy -DdeployAtEnd --toolchains=toolchains.xml --settings=.azure-pipelines/maven-settings.xml" />
    +
    +          <property name="java.home" value="/usr/lib/jvm/temurin-17-jdk-amd64" />
    +
    +          <property name="user.language" value="en" />
    +
    +          <property name="java.specification.vendor" value="Oracle Corporation" />
    +
    +          <property name="java.vm.info" value="mixed mode, sharing" />
    +
    +          <property name="java.version" value="17.0.10" />
    +
    +          <property name="native.encoding" value="UTF-8" />
    +
    +          <property name="securerandom.source" value="file:/dev/./urandom" />
    +
    +          <property name="java.vendor" value="Eclipse Adoptium" />
    +
    +          <property name="maven.home" value="/home/vsts/work/1/s/.maven" />
    +
    +          <property name="file.separator" value="/" />
    +
    +          <property name="java.version.date" value="2024-01-16" />
    +
    +          <property name="java.vendor.url.bug" value="https://github.com/adoptium/adoptium-support/issues" />
    +
    +          <property name="sun.io.unicode.encoding" value="UnicodeLittle" />
    +
    +          <property name="sun.font.fontmanager" value="sun.awt.X11FontManager" />
    +
    +          <property name="sun.cpu.endian" value="little" />
    +
    +          <property name="java.vendor.version" value="Temurin-17.0.10+7" />
    +
    +      </properties>
    +
    +      <testcase classname="org.jacoco.core.internal.analysis.filter.KotlinWhenFilterTest" name="should_not_filter_explicit_else" time="0" />
    +
    +      <testcase classname="org.jacoco.core.internal.analysis.filter.KotlinWhenFilterTest" name="should_filter_implicit_else" time="0.001" />
    +
    +      <testcase classname="org.jacoco.core.internal.analysis.filter.KotlinWhenFilterTest" name="should_filter_implicit_default" time="0" />
    +
    +  </testsuite>
    +  <testsuite errors="0" failures="0" id="80" name="KotlinWhenStringFilterTest" package="org.jacoco.core.internal.analysis.filter" skipped="0" tests="3" time="0.002" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="https://maven.apache.org/surefire/maven-surefire-plugin/xsd/surefire-test-report.xsd">
    +      <properties>
    +          <property name="jansi.mode" value="strip" />
    +
    +          <property name="java.runtime.name" value="OpenJDK Runtime Environment" />
    +
    +          <property name="java.vm.version" value="17.0.10+7" />
    +
    +          <property name="sun.boot.library.path" value="/usr/lib/jvm/temurin-17-jdk-amd64/lib" />
    +
    +          <property name="maven.multiModuleProjectDirectory" value="/home/vsts/work/1/s/org.jacoco.build" />
    +
    +          <property name="jdk.version" value="5" />
    +
    +          <property name="java.vm.vendor" value="Eclipse Adoptium" />
    +
    +          <property name="java.vendor.url" value="https://adoptium.net/" />
    +
    +          <property name="guice.disable.misplaced.annotation.check" value="true" />
    +
    +          <property name="path.separator" value=":" />
    +
    +          <property name="java.vm.name" value="OpenJDK 64-Bit Server VM" />
    +
    +          <property name="sun.java.launcher" value="SUN_STANDARD" />
    +
    +          <property name="java.vm.specification.name" value="Java Virtual Machine Specification" />
    +
    +          <property name="user.dir" value="/home/vsts/work/1/s" />
    +
    +          <property name="java.vm.compressedOopsMode" value="32-bit" />
    +
    +          <property name="java.runtime.version" value="17.0.10+7" />
    +
    +          <property name="os.arch" value="amd64" />
    +
    +          <property name="java.io.tmpdir" value="/tmp" />
    +
    +          <property name="line.separator" value="&#xa;" />
    +
    +          <property name="java.vm.specification.vendor" value="Oracle Corporation" />
    +
    +          <property name="os.name" value="Linux" />
    +
    +          <property name="classworlds.conf" value="/home/vsts/work/1/s/.maven/bin/m2.conf" />
    +
    +          <property name="sun.jnu.encoding" value="UTF-8" />
    +
    +          <property name="deployAtEnd" value="true" />
    +
    +          <property name="java.library.path" value="/usr/java/packages/lib:/usr/lib64:/lib64:/lib:/usr/lib" />
    +
    +          <property name="maven.conf" value="/home/vsts/work/1/s/.maven/conf" />
    +
    +          <property name="jdk.debug" value="release" />
    +
    +          <property name="java.class.version" value="61.0" />
    +
    +          <property name="java.specification.name" value="Java Platform API Specification" />
    +
    +          <property name="sun.management.compiler" value="HotSpot 64-Bit Tiered Compilers" />
    +
    +          <property name="os.version" value="5.15.0-1059-azure" />
    +
    +          <property name="library.jansi.path" value="/home/vsts/work/1/s/.maven/lib/jansi-native" />
    +
    +          <property name="user.home" value="/home/vsts" />
    +
    +          <property name="user.timezone" value="Etc/UTC" />
    +
    +          <property name="file.encoding" value="UTF-8" />
    +
    +          <property name="java.specification.version" value="17" />
    +
    +          <property name="user.name" value="vsts" />
    +
    +          <property name="java.class.path" value="/home/vsts/work/1/s/.maven/boot/plexus-classworlds-2.6.0.jar" />
    +
    +          <property name="bytecode.version" value="5" />
    +
    +          <property name="java.vm.specification.version" value="17" />
    +
    +          <property name="sun.arch.data.model" value="64" />
    +
    +          <property name="sun.java.command" value="org.codehaus.plexus.classworlds.launcher.Launcher -V -B -e --no-transfer-progress -f org.jacoco.build verify -Djdk.version=5 -Dbytecode.version=5 deploy:deploy -DdeployAtEnd --toolchains=toolchains.xml --settings=.azure-pipelines/maven-settings.xml" />
    +
    +          <property name="java.home" value="/usr/lib/jvm/temurin-17-jdk-amd64" />
    +
    +          <property name="user.language" value="en" />
    +
    +          <property name="java.specification.vendor" value="Oracle Corporation" />
    +
    +          <property name="java.vm.info" value="mixed mode, sharing" />
    +
    +          <property name="java.version" value="17.0.10" />
    +
    +          <property name="native.encoding" value="UTF-8" />
    +
    +          <property name="securerandom.source" value="file:/dev/./urandom" />
    +
    +          <property name="java.vendor" value="Eclipse Adoptium" />
    +
    +          <property name="maven.home" value="/home/vsts/work/1/s/.maven" />
    +
    +          <property name="file.separator" value="/" />
    +
    +          <property name="java.version.date" value="2024-01-16" />
    +
    +          <property name="java.vendor.url.bug" value="https://github.com/adoptium/adoptium-support/issues" />
    +
    +          <property name="sun.io.unicode.encoding" value="UnicodeLittle" />
    +
    +          <property name="sun.font.fontmanager" value="sun.awt.X11FontManager" />
    +
    +          <property name="sun.cpu.endian" value="little" />
    +
    +          <property name="java.vendor.version" value="Temurin-17.0.10+7" />
    +
    +      </properties>
    +
    +      <testcase classname="org.jacoco.core.internal.analysis.filter.KotlinWhenStringFilterTest" name="should_not_filter_empty_lookup_switch" time="0.002" />
    +
    +      <testcase classname="org.jacoco.core.internal.analysis.filter.KotlinWhenStringFilterTest" name="should_filter_when_biggest_hashCode_first" time="0" />
    +
    +      <testcase classname="org.jacoco.core.internal.analysis.filter.KotlinWhenStringFilterTest" name="should_filter" time="0" />
    +
    +  </testsuite>
    +  <testsuite errors="0" failures="0" id="81" name="PrivateEmptyNoArgConstructorFilterTest" package="org.jacoco.core.internal.analysis.filter" skipped="0" tests="1" time="0.001" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="https://maven.apache.org/surefire/maven-surefire-plugin/xsd/surefire-test-report.xsd">
    +      <properties>
    +          <property name="jansi.mode" value="strip" />
    +
    +          <property name="java.runtime.name" value="OpenJDK Runtime Environment" />
    +
    +          <property name="java.vm.version" value="17.0.10+7" />
    +
    +          <property name="sun.boot.library.path" value="/usr/lib/jvm/temurin-17-jdk-amd64/lib" />
    +
    +          <property name="maven.multiModuleProjectDirectory" value="/home/vsts/work/1/s/org.jacoco.build" />
    +
    +          <property name="jdk.version" value="5" />
    +
    +          <property name="java.vm.vendor" value="Eclipse Adoptium" />
    +
    +          <property name="java.vendor.url" value="https://adoptium.net/" />
    +
    +          <property name="guice.disable.misplaced.annotation.check" value="true" />
    +
    +          <property name="path.separator" value=":" />
    +
    +          <property name="java.vm.name" value="OpenJDK 64-Bit Server VM" />
    +
    +          <property name="sun.java.launcher" value="SUN_STANDARD" />
    +
    +          <property name="java.vm.specification.name" value="Java Virtual Machine Specification" />
    +
    +          <property name="user.dir" value="/home/vsts/work/1/s" />
    +
    +          <property name="java.vm.compressedOopsMode" value="32-bit" />
    +
    +          <property name="java.runtime.version" value="17.0.10+7" />
    +
    +          <property name="os.arch" value="amd64" />
    +
    +          <property name="java.io.tmpdir" value="/tmp" />
    +
    +          <property name="line.separator" value="&#xa;" />
    +
    +          <property name="java.vm.specification.vendor" value="Oracle Corporation" />
    +
    +          <property name="os.name" value="Linux" />
    +
    +          <property name="classworlds.conf" value="/home/vsts/work/1/s/.maven/bin/m2.conf" />
    +
    +          <property name="sun.jnu.encoding" value="UTF-8" />
    +
    +          <property name="deployAtEnd" value="true" />
    +
    +          <property name="java.library.path" value="/usr/java/packages/lib:/usr/lib64:/lib64:/lib:/usr/lib" />
    +
    +          <property name="maven.conf" value="/home/vsts/work/1/s/.maven/conf" />
    +
    +          <property name="jdk.debug" value="release" />
    +
    +          <property name="java.class.version" value="61.0" />
    +
    +          <property name="java.specification.name" value="Java Platform API Specification" />
    +
    +          <property name="sun.management.compiler" value="HotSpot 64-Bit Tiered Compilers" />
    +
    +          <property name="os.version" value="5.15.0-1059-azure" />
    +
    +          <property name="library.jansi.path" value="/home/vsts/work/1/s/.maven/lib/jansi-native" />
    +
    +          <property name="user.home" value="/home/vsts" />
    +
    +          <property name="user.timezone" value="Etc/UTC" />
    +
    +          <property name="file.encoding" value="UTF-8" />
    +
    +          <property name="java.specification.version" value="17" />
    +
    +          <property name="user.name" value="vsts" />
    +
    +          <property name="java.class.path" value="/home/vsts/work/1/s/.maven/boot/plexus-classworlds-2.6.0.jar" />
    +
    +          <property name="bytecode.version" value="5" />
    +
    +          <property name="java.vm.specification.version" value="17" />
    +
    +          <property name="sun.arch.data.model" value="64" />
    +
    +          <property name="sun.java.command" value="org.codehaus.plexus.classworlds.launcher.Launcher -V -B -e --no-transfer-progress -f org.jacoco.build verify -Djdk.version=5 -Dbytecode.version=5 deploy:deploy -DdeployAtEnd --toolchains=toolchains.xml --settings=.azure-pipelines/maven-settings.xml" />
    +
    +          <property name="java.home" value="/usr/lib/jvm/temurin-17-jdk-amd64" />
    +
    +          <property name="user.language" value="en" />
    +
    +          <property name="java.specification.vendor" value="Oracle Corporation" />
    +
    +          <property name="java.vm.info" value="mixed mode, sharing" />
    +
    +          <property name="java.version" value="17.0.10" />
    +
    +          <property name="native.encoding" value="UTF-8" />
    +
    +          <property name="securerandom.source" value="file:/dev/./urandom" />
    +
    +          <property name="java.vendor" value="Eclipse Adoptium" />
    +
    +          <property name="maven.home" value="/home/vsts/work/1/s/.maven" />
    +
    +          <property name="file.separator" value="/" />
    +
    +          <property name="java.version.date" value="2024-01-16" />
    +
    +          <property name="java.vendor.url.bug" value="https://github.com/adoptium/adoptium-support/issues" />
    +
    +          <property name="sun.io.unicode.encoding" value="UnicodeLittle" />
    +
    +          <property name="sun.font.fontmanager" value="sun.awt.X11FontManager" />
    +
    +          <property name="sun.cpu.endian" value="little" />
    +
    +          <property name="java.vendor.version" value="Temurin-17.0.10+7" />
    +
    +      </properties>
    +
    +      <testcase classname="org.jacoco.core.internal.analysis.filter.PrivateEmptyNoArgConstructorFilterTest" name="test" time="0.001" />
    +
    +  </testsuite>
    +  <testsuite errors="0" failures="0" id="82" name="RecordPatternFilterTest" package="org.jacoco.core.internal.analysis.filter" skipped="0" tests="2" time="0.002" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="https://maven.apache.org/surefire/maven-surefire-plugin/xsd/surefire-test-report.xsd">
    +      <properties>
    +          <property name="jansi.mode" value="strip" />
    +
    +          <property name="java.runtime.name" value="OpenJDK Runtime Environment" />
    +
    +          <property name="java.vm.version" value="17.0.10+7" />
    +
    +          <property name="sun.boot.library.path" value="/usr/lib/jvm/temurin-17-jdk-amd64/lib" />
    +
    +          <property name="maven.multiModuleProjectDirectory" value="/home/vsts/work/1/s/org.jacoco.build" />
    +
    +          <property name="jdk.version" value="5" />
    +
    +          <property name="java.vm.vendor" value="Eclipse Adoptium" />
    +
    +          <property name="java.vendor.url" value="https://adoptium.net/" />
    +
    +          <property name="guice.disable.misplaced.annotation.check" value="true" />
    +
    +          <property name="path.separator" value=":" />
    +
    +          <property name="java.vm.name" value="OpenJDK 64-Bit Server VM" />
    +
    +          <property name="sun.java.launcher" value="SUN_STANDARD" />
    +
    +          <property name="java.vm.specification.name" value="Java Virtual Machine Specification" />
    +
    +          <property name="user.dir" value="/home/vsts/work/1/s" />
    +
    +          <property name="java.vm.compressedOopsMode" value="32-bit" />
    +
    +          <property name="java.runtime.version" value="17.0.10+7" />
    +
    +          <property name="os.arch" value="amd64" />
    +
    +          <property name="java.io.tmpdir" value="/tmp" />
    +
    +          <property name="line.separator" value="&#xa;" />
    +
    +          <property name="java.vm.specification.vendor" value="Oracle Corporation" />
    +
    +          <property name="os.name" value="Linux" />
    +
    +          <property name="classworlds.conf" value="/home/vsts/work/1/s/.maven/bin/m2.conf" />
    +
    +          <property name="sun.jnu.encoding" value="UTF-8" />
    +
    +          <property name="deployAtEnd" value="true" />
    +
    +          <property name="java.library.path" value="/usr/java/packages/lib:/usr/lib64:/lib64:/lib:/usr/lib" />
    +
    +          <property name="maven.conf" value="/home/vsts/work/1/s/.maven/conf" />
    +
    +          <property name="jdk.debug" value="release" />
    +
    +          <property name="java.class.version" value="61.0" />
    +
    +          <property name="java.specification.name" value="Java Platform API Specification" />
    +
    +          <property name="sun.management.compiler" value="HotSpot 64-Bit Tiered Compilers" />
    +
    +          <property name="os.version" value="5.15.0-1059-azure" />
    +
    +          <property name="library.jansi.path" value="/home/vsts/work/1/s/.maven/lib/jansi-native" />
    +
    +          <property name="user.home" value="/home/vsts" />
    +
    +          <property name="user.timezone" value="Etc/UTC" />
    +
    +          <property name="file.encoding" value="UTF-8" />
    +
    +          <property name="java.specification.version" value="17" />
    +
    +          <property name="user.name" value="vsts" />
    +
    +          <property name="java.class.path" value="/home/vsts/work/1/s/.maven/boot/plexus-classworlds-2.6.0.jar" />
    +
    +          <property name="bytecode.version" value="5" />
    +
    +          <property name="java.vm.specification.version" value="17" />
    +
    +          <property name="sun.arch.data.model" value="64" />
    +
    +          <property name="sun.java.command" value="org.codehaus.plexus.classworlds.launcher.Launcher -V -B -e --no-transfer-progress -f org.jacoco.build verify -Djdk.version=5 -Dbytecode.version=5 deploy:deploy -DdeployAtEnd --toolchains=toolchains.xml --settings=.azure-pipelines/maven-settings.xml" />
    +
    +          <property name="java.home" value="/usr/lib/jvm/temurin-17-jdk-amd64" />
    +
    +          <property name="user.language" value="en" />
    +
    +          <property name="java.specification.vendor" value="Oracle Corporation" />
    +
    +          <property name="java.vm.info" value="mixed mode, sharing" />
    +
    +          <property name="java.version" value="17.0.10" />
    +
    +          <property name="native.encoding" value="UTF-8" />
    +
    +          <property name="securerandom.source" value="file:/dev/./urandom" />
    +
    +          <property name="java.vendor" value="Eclipse Adoptium" />
    +
    +          <property name="maven.home" value="/home/vsts/work/1/s/.maven" />
    +
    +          <property name="file.separator" value="/" />
    +
    +          <property name="java.version.date" value="2024-01-16" />
    +
    +          <property name="java.vendor.url.bug" value="https://github.com/adoptium/adoptium-support/issues" />
    +
    +          <property name="sun.io.unicode.encoding" value="UnicodeLittle" />
    +
    +          <property name="sun.font.fontmanager" value="sun.awt.X11FontManager" />
    +
    +          <property name="sun.cpu.endian" value="little" />
    +
    +          <property name="java.vendor.version" value="Temurin-17.0.10+7" />
    +
    +      </properties>
    +
    +      <testcase classname="org.jacoco.core.internal.analysis.filter.RecordPatternFilterTest" name="should_filter_switch" time="0.001" />
    +
    +      <testcase classname="org.jacoco.core.internal.analysis.filter.RecordPatternFilterTest" name="should_filter_instanceof" time="0" />
    +
    +  </testsuite>
    +  <testsuite errors="0" failures="0" id="83" name="RecordsFilterTest" package="org.jacoco.core.internal.analysis.filter" skipped="0" tests="15" time="0.009" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="https://maven.apache.org/surefire/maven-surefire-plugin/xsd/surefire-test-report.xsd">
    +      <properties>
    +          <property name="jansi.mode" value="strip" />
    +
    +          <property name="java.runtime.name" value="OpenJDK Runtime Environment" />
    +
    +          <property name="java.vm.version" value="17.0.10+7" />
    +
    +          <property name="sun.boot.library.path" value="/usr/lib/jvm/temurin-17-jdk-amd64/lib" />
    +
    +          <property name="maven.multiModuleProjectDirectory" value="/home/vsts/work/1/s/org.jacoco.build" />
    +
    +          <property name="jdk.version" value="5" />
    +
    +          <property name="java.vm.vendor" value="Eclipse Adoptium" />
    +
    +          <property name="java.vendor.url" value="https://adoptium.net/" />
    +
    +          <property name="guice.disable.misplaced.annotation.check" value="true" />
    +
    +          <property name="path.separator" value=":" />
    +
    +          <property name="java.vm.name" value="OpenJDK 64-Bit Server VM" />
    +
    +          <property name="sun.java.launcher" value="SUN_STANDARD" />
    +
    +          <property name="java.vm.specification.name" value="Java Virtual Machine Specification" />
    +
    +          <property name="user.dir" value="/home/vsts/work/1/s" />
    +
    +          <property name="java.vm.compressedOopsMode" value="32-bit" />
    +
    +          <property name="java.runtime.version" value="17.0.10+7" />
    +
    +          <property name="os.arch" value="amd64" />
    +
    +          <property name="java.io.tmpdir" value="/tmp" />
    +
    +          <property name="line.separator" value="&#xa;" />
    +
    +          <property name="java.vm.specification.vendor" value="Oracle Corporation" />
    +
    +          <property name="os.name" value="Linux" />
    +
    +          <property name="classworlds.conf" value="/home/vsts/work/1/s/.maven/bin/m2.conf" />
    +
    +          <property name="sun.jnu.encoding" value="UTF-8" />
    +
    +          <property name="deployAtEnd" value="true" />
    +
    +          <property name="java.library.path" value="/usr/java/packages/lib:/usr/lib64:/lib64:/lib:/usr/lib" />
    +
    +          <property name="maven.conf" value="/home/vsts/work/1/s/.maven/conf" />
    +
    +          <property name="jdk.debug" value="release" />
    +
    +          <property name="java.class.version" value="61.0" />
    +
    +          <property name="java.specification.name" value="Java Platform API Specification" />
    +
    +          <property name="sun.management.compiler" value="HotSpot 64-Bit Tiered Compilers" />
    +
    +          <property name="os.version" value="5.15.0-1059-azure" />
    +
    +          <property name="library.jansi.path" value="/home/vsts/work/1/s/.maven/lib/jansi-native" />
    +
    +          <property name="user.home" value="/home/vsts" />
    +
    +          <property name="user.timezone" value="Etc/UTC" />
    +
    +          <property name="file.encoding" value="UTF-8" />
    +
    +          <property name="java.specification.version" value="17" />
    +
    +          <property name="user.name" value="vsts" />
    +
    +          <property name="java.class.path" value="/home/vsts/work/1/s/.maven/boot/plexus-classworlds-2.6.0.jar" />
    +
    +          <property name="bytecode.version" value="5" />
    +
    +          <property name="java.vm.specification.version" value="17" />
    +
    +          <property name="sun.arch.data.model" value="64" />
    +
    +          <property name="sun.java.command" value="org.codehaus.plexus.classworlds.launcher.Launcher -V -B -e --no-transfer-progress -f org.jacoco.build verify -Djdk.version=5 -Dbytecode.version=5 deploy:deploy -DdeployAtEnd --toolchains=toolchains.xml --settings=.azure-pipelines/maven-settings.xml" />
    +
    +          <property name="java.home" value="/usr/lib/jvm/temurin-17-jdk-amd64" />
    +
    +          <property name="user.language" value="en" />
    +
    +          <property name="java.specification.vendor" value="Oracle Corporation" />
    +
    +          <property name="java.vm.info" value="mixed mode, sharing" />
    +
    +          <property name="java.version" value="17.0.10" />
    +
    +          <property name="native.encoding" value="UTF-8" />
    +
    +          <property name="securerandom.source" value="file:/dev/./urandom" />
    +
    +          <property name="java.vendor" value="Eclipse Adoptium" />
    +
    +          <property name="maven.home" value="/home/vsts/work/1/s/.maven" />
    +
    +          <property name="file.separator" value="/" />
    +
    +          <property name="java.version.date" value="2024-01-16" />
    +
    +          <property name="java.vendor.url.bug" value="https://github.com/adoptium/adoptium-support/issues" />
    +
    +          <property name="sun.io.unicode.encoding" value="UnicodeLittle" />
    +
    +          <property name="sun.font.fontmanager" value="sun.awt.X11FontManager" />
    +
    +          <property name="sun.cpu.endian" value="little" />
    +
    +          <property name="java.vendor.version" value="Temurin-17.0.10+7" />
    +
    +      </properties>
    +
    +      <testcase classname="org.jacoco.core.internal.analysis.filter.RecordsFilterTest" name="should_not_filter_non_toString_method" time="0.001" />
    +
    +      <testcase classname="org.jacoco.core.internal.analysis.filter.RecordsFilterTest" name="should_not_filter_redirect_method" time="0.001" />
    +
    +      <testcase classname="org.jacoco.core.internal.analysis.filter.RecordsFilterTest" name="should_not_filter_noreturn_method" time="0" />
    +
    +      <testcase classname="org.jacoco.core.internal.analysis.filter.RecordsFilterTest" name="should_not_filter_custom_hashCode_method" time="0.001" />
    +
    +      <testcase classname="org.jacoco.core.internal.analysis.filter.RecordsFilterTest" name="should_filter_field_object" time="0" />
    +
    +      <testcase classname="org.jacoco.core.internal.analysis.filter.RecordsFilterTest" name="should_filter_generated_hashCode_method" time="0" />
    +
    +      <testcase classname="org.jacoco.core.internal.analysis.filter.RecordsFilterTest" name="should_not_filter_other_method" time="0" />
    +
    +      <testcase classname="org.jacoco.core.internal.analysis.filter.RecordsFilterTest" name="should_not_filter_custom_toString_method" time="0" />
    +
    +      <testcase classname="org.jacoco.core.internal.analysis.filter.RecordsFilterTest" name="should_filter_field_int" time="0" />
    +
    +      <testcase classname="org.jacoco.core.internal.analysis.filter.RecordsFilterTest" name="should_not_filter_non_records" time="0.001" />
    +
    +      <testcase classname="org.jacoco.core.internal.analysis.filter.RecordsFilterTest" name="should_not_filter_non_hashCode_method" time="0" />
    +
    +      <testcase classname="org.jacoco.core.internal.analysis.filter.RecordsFilterTest" name="should_filter_generated_toString_method" time="0" />
    +
    +      <testcase classname="org.jacoco.core.internal.analysis.filter.RecordsFilterTest" name="should_not_filter_non_equals_method" time="0" />
    +
    +      <testcase classname="org.jacoco.core.internal.analysis.filter.RecordsFilterTest" name="should_not_filter_custom_equals_method" time="0" />
    +
    +      <testcase classname="org.jacoco.core.internal.analysis.filter.RecordsFilterTest" name="should_filter_generated_equals_method" time="0" />
    +
    +  </testsuite>
    +  <testsuite errors="0" failures="0" id="84" name="StringSwitchFilterTest" package="org.jacoco.core.internal.analysis.filter" skipped="0" tests="4" time="0.004" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="https://maven.apache.org/surefire/maven-surefire-plugin/xsd/surefire-test-report.xsd">
    +      <properties>
    +          <property name="jansi.mode" value="strip" />
    +
    +          <property name="java.runtime.name" value="OpenJDK Runtime Environment" />
    +
    +          <property name="java.vm.version" value="17.0.10+7" />
    +
    +          <property name="sun.boot.library.path" value="/usr/lib/jvm/temurin-17-jdk-amd64/lib" />
    +
    +          <property name="maven.multiModuleProjectDirectory" value="/home/vsts/work/1/s/org.jacoco.build" />
    +
    +          <property name="jdk.version" value="5" />
    +
    +          <property name="java.vm.vendor" value="Eclipse Adoptium" />
    +
    +          <property name="java.vendor.url" value="https://adoptium.net/" />
    +
    +          <property name="guice.disable.misplaced.annotation.check" value="true" />
    +
    +          <property name="path.separator" value=":" />
    +
    +          <property name="java.vm.name" value="OpenJDK 64-Bit Server VM" />
    +
    +          <property name="sun.java.launcher" value="SUN_STANDARD" />
    +
    +          <property name="java.vm.specification.name" value="Java Virtual Machine Specification" />
    +
    +          <property name="user.dir" value="/home/vsts/work/1/s" />
    +
    +          <property name="java.vm.compressedOopsMode" value="32-bit" />
    +
    +          <property name="java.runtime.version" value="17.0.10+7" />
    +
    +          <property name="os.arch" value="amd64" />
    +
    +          <property name="java.io.tmpdir" value="/tmp" />
    +
    +          <property name="line.separator" value="&#xa;" />
    +
    +          <property name="java.vm.specification.vendor" value="Oracle Corporation" />
    +
    +          <property name="os.name" value="Linux" />
    +
    +          <property name="classworlds.conf" value="/home/vsts/work/1/s/.maven/bin/m2.conf" />
    +
    +          <property name="sun.jnu.encoding" value="UTF-8" />
    +
    +          <property name="deployAtEnd" value="true" />
    +
    +          <property name="java.library.path" value="/usr/java/packages/lib:/usr/lib64:/lib64:/lib:/usr/lib" />
    +
    +          <property name="maven.conf" value="/home/vsts/work/1/s/.maven/conf" />
    +
    +          <property name="jdk.debug" value="release" />
    +
    +          <property name="java.class.version" value="61.0" />
    +
    +          <property name="java.specification.name" value="Java Platform API Specification" />
    +
    +          <property name="sun.management.compiler" value="HotSpot 64-Bit Tiered Compilers" />
    +
    +          <property name="os.version" value="5.15.0-1059-azure" />
    +
    +          <property name="library.jansi.path" value="/home/vsts/work/1/s/.maven/lib/jansi-native" />
    +
    +          <property name="user.home" value="/home/vsts" />
    +
    +          <property name="user.timezone" value="Etc/UTC" />
    +
    +          <property name="file.encoding" value="UTF-8" />
    +
    +          <property name="java.specification.version" value="17" />
    +
    +          <property name="user.name" value="vsts" />
    +
    +          <property name="java.class.path" value="/home/vsts/work/1/s/.maven/boot/plexus-classworlds-2.6.0.jar" />
    +
    +          <property name="bytecode.version" value="5" />
    +
    +          <property name="java.vm.specification.version" value="17" />
    +
    +          <property name="sun.arch.data.model" value="64" />
    +
    +          <property name="sun.java.command" value="org.codehaus.plexus.classworlds.launcher.Launcher -V -B -e --no-transfer-progress -f org.jacoco.build verify -Djdk.version=5 -Dbytecode.version=5 deploy:deploy -DdeployAtEnd --toolchains=toolchains.xml --settings=.azure-pipelines/maven-settings.xml" />
    +
    +          <property name="java.home" value="/usr/lib/jvm/temurin-17-jdk-amd64" />
    +
    +          <property name="user.language" value="en" />
    +
    +          <property name="java.specification.vendor" value="Oracle Corporation" />
    +
    +          <property name="java.vm.info" value="mixed mode, sharing" />
    +
    +          <property name="java.version" value="17.0.10" />
    +
    +          <property name="native.encoding" value="UTF-8" />
    +
    +          <property name="securerandom.source" value="file:/dev/./urandom" />
    +
    +          <property name="java.vendor" value="Eclipse Adoptium" />
    +
    +          <property name="maven.home" value="/home/vsts/work/1/s/.maven" />
    +
    +          <property name="file.separator" value="/" />
    +
    +          <property name="java.version.date" value="2024-01-16" />
    +
    +          <property name="java.vendor.url.bug" value="https://github.com/adoptium/adoptium-support/issues" />
    +
    +          <property name="sun.io.unicode.encoding" value="UnicodeLittle" />
    +
    +          <property name="sun.font.fontmanager" value="sun.awt.X11FontManager" />
    +
    +          <property name="sun.cpu.endian" value="little" />
    +
    +          <property name="java.vendor.version" value="Temurin-17.0.10+7" />
    +
    +      </properties>
    +
    +      <testcase classname="org.jacoco.core.internal.analysis.filter.StringSwitchFilterTest" name="should_not_filter_empty_lookup_switch" time="0.002" />
    +
    +      <testcase classname="org.jacoco.core.internal.analysis.filter.StringSwitchFilterTest" name="should_filter" time="0.001" />
    +
    +      <testcase classname="org.jacoco.core.internal.analysis.filter.StringSwitchFilterTest" name="should_filter_Kotlin_1_5" time="0" />
    +
    +      <testcase classname="org.jacoco.core.internal.analysis.filter.StringSwitchFilterTest" name="should_filter_when_default_is_first" time="0" />
    +
    +  </testsuite>
    +  <testsuite errors="0" failures="0" id="85" name="StringSwitchJavacFilterTest" package="org.jacoco.core.internal.analysis.filter" skipped="0" tests="4" time="0.006" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="https://maven.apache.org/surefire/maven-surefire-plugin/xsd/surefire-test-report.xsd">
    +      <properties>
    +          <property name="jansi.mode" value="strip" />
    +
    +          <property name="java.runtime.name" value="OpenJDK Runtime Environment" />
    +
    +          <property name="java.vm.version" value="17.0.10+7" />
    +
    +          <property name="sun.boot.library.path" value="/usr/lib/jvm/temurin-17-jdk-amd64/lib" />
    +
    +          <property name="maven.multiModuleProjectDirectory" value="/home/vsts/work/1/s/org.jacoco.build" />
    +
    +          <property name="jdk.version" value="5" />
    +
    +          <property name="java.vm.vendor" value="Eclipse Adoptium" />
    +
    +          <property name="java.vendor.url" value="https://adoptium.net/" />
    +
    +          <property name="guice.disable.misplaced.annotation.check" value="true" />
    +
    +          <property name="path.separator" value=":" />
    +
    +          <property name="java.vm.name" value="OpenJDK 64-Bit Server VM" />
    +
    +          <property name="sun.java.launcher" value="SUN_STANDARD" />
    +
    +          <property name="java.vm.specification.name" value="Java Virtual Machine Specification" />
    +
    +          <property name="user.dir" value="/home/vsts/work/1/s" />
    +
    +          <property name="java.vm.compressedOopsMode" value="32-bit" />
    +
    +          <property name="java.runtime.version" value="17.0.10+7" />
    +
    +          <property name="os.arch" value="amd64" />
    +
    +          <property name="java.io.tmpdir" value="/tmp" />
    +
    +          <property name="line.separator" value="&#xa;" />
    +
    +          <property name="java.vm.specification.vendor" value="Oracle Corporation" />
    +
    +          <property name="os.name" value="Linux" />
    +
    +          <property name="classworlds.conf" value="/home/vsts/work/1/s/.maven/bin/m2.conf" />
    +
    +          <property name="sun.jnu.encoding" value="UTF-8" />
    +
    +          <property name="deployAtEnd" value="true" />
    +
    +          <property name="java.library.path" value="/usr/java/packages/lib:/usr/lib64:/lib64:/lib:/usr/lib" />
    +
    +          <property name="maven.conf" value="/home/vsts/work/1/s/.maven/conf" />
    +
    +          <property name="jdk.debug" value="release" />
    +
    +          <property name="java.class.version" value="61.0" />
    +
    +          <property name="java.specification.name" value="Java Platform API Specification" />
    +
    +          <property name="sun.management.compiler" value="HotSpot 64-Bit Tiered Compilers" />
    +
    +          <property name="os.version" value="5.15.0-1059-azure" />
    +
    +          <property name="library.jansi.path" value="/home/vsts/work/1/s/.maven/lib/jansi-native" />
    +
    +          <property name="user.home" value="/home/vsts" />
    +
    +          <property name="user.timezone" value="Etc/UTC" />
    +
    +          <property name="file.encoding" value="UTF-8" />
    +
    +          <property name="java.specification.version" value="17" />
    +
    +          <property name="user.name" value="vsts" />
    +
    +          <property name="java.class.path" value="/home/vsts/work/1/s/.maven/boot/plexus-classworlds-2.6.0.jar" />
    +
    +          <property name="bytecode.version" value="5" />
    +
    +          <property name="java.vm.specification.version" value="17" />
    +
    +          <property name="sun.arch.data.model" value="64" />
    +
    +          <property name="sun.java.command" value="org.codehaus.plexus.classworlds.launcher.Launcher -V -B -e --no-transfer-progress -f org.jacoco.build verify -Djdk.version=5 -Dbytecode.version=5 deploy:deploy -DdeployAtEnd --toolchains=toolchains.xml --settings=.azure-pipelines/maven-settings.xml" />
    +
    +          <property name="java.home" value="/usr/lib/jvm/temurin-17-jdk-amd64" />
    +
    +          <property name="user.language" value="en" />
    +
    +          <property name="java.specification.vendor" value="Oracle Corporation" />
    +
    +          <property name="java.vm.info" value="mixed mode, sharing" />
    +
    +          <property name="java.version" value="17.0.10" />
    +
    +          <property name="native.encoding" value="UTF-8" />
    +
    +          <property name="securerandom.source" value="file:/dev/./urandom" />
    +
    +          <property name="java.vendor" value="Eclipse Adoptium" />
    +
    +          <property name="maven.home" value="/home/vsts/work/1/s/.maven" />
    +
    +          <property name="file.separator" value="/" />
    +
    +          <property name="java.version.date" value="2024-01-16" />
    +
    +          <property name="java.vendor.url.bug" value="https://github.com/adoptium/adoptium-support/issues" />
    +
    +          <property name="sun.io.unicode.encoding" value="UnicodeLittle" />
    +
    +          <property name="sun.font.fontmanager" value="sun.awt.X11FontManager" />
    +
    +          <property name="sun.cpu.endian" value="little" />
    +
    +          <property name="java.vendor.version" value="Temurin-17.0.10+7" />
    +
    +      </properties>
    +
    +      <testcase classname="org.jacoco.core.internal.analysis.filter.StringSwitchJavacFilterTest" name="should_filter_code_generated_by_javac" time="0.001" />
    +
    +      <testcase classname="org.jacoco.core.internal.analysis.filter.StringSwitchJavacFilterTest" name="should_not_filter_when_no_expected_goto" time="0" />
    +
    +      <testcase classname="org.jacoco.core.internal.analysis.filter.StringSwitchJavacFilterTest" name="should_not_filter_code_generated_by_ECJ" time="0" />
    +
    +      <testcase classname="org.jacoco.core.internal.analysis.filter.StringSwitchJavacFilterTest" name="should_filter_when_javac_generates_lookupswitch" time="0" />
    +
    +  </testsuite>
    +  <testsuite errors="0" failures="0" id="86" name="SynchronizedFilterTest" package="org.jacoco.core.internal.analysis.filter" skipped="0" tests="3" time="0.003" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="https://maven.apache.org/surefire/maven-surefire-plugin/xsd/surefire-test-report.xsd">
    +      <properties>
    +          <property name="jansi.mode" value="strip" />
    +
    +          <property name="java.runtime.name" value="OpenJDK Runtime Environment" />
    +
    +          <property name="java.vm.version" value="17.0.10+7" />
    +
    +          <property name="sun.boot.library.path" value="/usr/lib/jvm/temurin-17-jdk-amd64/lib" />
    +
    +          <property name="maven.multiModuleProjectDirectory" value="/home/vsts/work/1/s/org.jacoco.build" />
    +
    +          <property name="jdk.version" value="5" />
    +
    +          <property name="java.vm.vendor" value="Eclipse Adoptium" />
    +
    +          <property name="java.vendor.url" value="https://adoptium.net/" />
    +
    +          <property name="guice.disable.misplaced.annotation.check" value="true" />
    +
    +          <property name="path.separator" value=":" />
    +
    +          <property name="java.vm.name" value="OpenJDK 64-Bit Server VM" />
    +
    +          <property name="sun.java.launcher" value="SUN_STANDARD" />
    +
    +          <property name="java.vm.specification.name" value="Java Virtual Machine Specification" />
    +
    +          <property name="user.dir" value="/home/vsts/work/1/s" />
    +
    +          <property name="java.vm.compressedOopsMode" value="32-bit" />
    +
    +          <property name="java.runtime.version" value="17.0.10+7" />
    +
    +          <property name="os.arch" value="amd64" />
    +
    +          <property name="java.io.tmpdir" value="/tmp" />
    +
    +          <property name="line.separator" value="&#xa;" />
    +
    +          <property name="java.vm.specification.vendor" value="Oracle Corporation" />
    +
    +          <property name="os.name" value="Linux" />
    +
    +          <property name="classworlds.conf" value="/home/vsts/work/1/s/.maven/bin/m2.conf" />
    +
    +          <property name="sun.jnu.encoding" value="UTF-8" />
    +
    +          <property name="deployAtEnd" value="true" />
    +
    +          <property name="java.library.path" value="/usr/java/packages/lib:/usr/lib64:/lib64:/lib:/usr/lib" />
    +
    +          <property name="maven.conf" value="/home/vsts/work/1/s/.maven/conf" />
    +
    +          <property name="jdk.debug" value="release" />
    +
    +          <property name="java.class.version" value="61.0" />
    +
    +          <property name="java.specification.name" value="Java Platform API Specification" />
    +
    +          <property name="sun.management.compiler" value="HotSpot 64-Bit Tiered Compilers" />
    +
    +          <property name="os.version" value="5.15.0-1059-azure" />
    +
    +          <property name="library.jansi.path" value="/home/vsts/work/1/s/.maven/lib/jansi-native" />
    +
    +          <property name="user.home" value="/home/vsts" />
    +
    +          <property name="user.timezone" value="Etc/UTC" />
    +
    +          <property name="file.encoding" value="UTF-8" />
    +
    +          <property name="java.specification.version" value="17" />
    +
    +          <property name="user.name" value="vsts" />
    +
    +          <property name="java.class.path" value="/home/vsts/work/1/s/.maven/boot/plexus-classworlds-2.6.0.jar" />
    +
    +          <property name="bytecode.version" value="5" />
    +
    +          <property name="java.vm.specification.version" value="17" />
    +
    +          <property name="sun.arch.data.model" value="64" />
    +
    +          <property name="sun.java.command" value="org.codehaus.plexus.classworlds.launcher.Launcher -V -B -e --no-transfer-progress -f org.jacoco.build verify -Djdk.version=5 -Dbytecode.version=5 deploy:deploy -DdeployAtEnd --toolchains=toolchains.xml --settings=.azure-pipelines/maven-settings.xml" />
    +
    +          <property name="java.home" value="/usr/lib/jvm/temurin-17-jdk-amd64" />
    +
    +          <property name="user.language" value="en" />
    +
    +          <property name="java.specification.vendor" value="Oracle Corporation" />
    +
    +          <property name="java.vm.info" value="mixed mode, sharing" />
    +
    +          <property name="java.version" value="17.0.10" />
    +
    +          <property name="native.encoding" value="UTF-8" />
    +
    +          <property name="securerandom.source" value="file:/dev/./urandom" />
    +
    +          <property name="java.vendor" value="Eclipse Adoptium" />
    +
    +          <property name="maven.home" value="/home/vsts/work/1/s/.maven" />
    +
    +          <property name="file.separator" value="/" />
    +
    +          <property name="java.version.date" value="2024-01-16" />
    +
    +          <property name="java.vendor.url.bug" value="https://github.com/adoptium/adoptium-support/issues" />
    +
    +          <property name="sun.io.unicode.encoding" value="UnicodeLittle" />
    +
    +          <property name="sun.font.fontmanager" value="sun.awt.X11FontManager" />
    +
    +          <property name="sun.cpu.endian" value="little" />
    +
    +          <property name="java.vendor.version" value="Temurin-17.0.10+7" />
    +
    +      </properties>
    +
    +      <testcase classname="org.jacoco.core.internal.analysis.filter.SynchronizedFilterTest" name="javacTryCatchFinally" time="0.001" />
    +
    +      <testcase classname="org.jacoco.core.internal.analysis.filter.SynchronizedFilterTest" name="ecj" time="0" />
    +
    +      <testcase classname="org.jacoco.core.internal.analysis.filter.SynchronizedFilterTest" name="javac" time="0.001" />
    +
    +  </testsuite>
    +  <testsuite errors="0" failures="0" id="87" name="SyntheticFilterTest" package="org.jacoco.core.internal.analysis.filter" skipped="0" tests="11" time="0.002" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="https://maven.apache.org/surefire/maven-surefire-plugin/xsd/surefire-test-report.xsd">
    +      <properties>
    +          <property name="jansi.mode" value="strip" />
    +
    +          <property name="java.runtime.name" value="OpenJDK Runtime Environment" />
    +
    +          <property name="java.vm.version" value="17.0.10+7" />
    +
    +          <property name="sun.boot.library.path" value="/usr/lib/jvm/temurin-17-jdk-amd64/lib" />
    +
    +          <property name="maven.multiModuleProjectDirectory" value="/home/vsts/work/1/s/org.jacoco.build" />
    +
    +          <property name="jdk.version" value="5" />
    +
    +          <property name="java.vm.vendor" value="Eclipse Adoptium" />
    +
    +          <property name="java.vendor.url" value="https://adoptium.net/" />
    +
    +          <property name="guice.disable.misplaced.annotation.check" value="true" />
    +
    +          <property name="path.separator" value=":" />
    +
    +          <property name="java.vm.name" value="OpenJDK 64-Bit Server VM" />
    +
    +          <property name="sun.java.launcher" value="SUN_STANDARD" />
    +
    +          <property name="java.vm.specification.name" value="Java Virtual Machine Specification" />
    +
    +          <property name="user.dir" value="/home/vsts/work/1/s" />
    +
    +          <property name="java.vm.compressedOopsMode" value="32-bit" />
    +
    +          <property name="java.runtime.version" value="17.0.10+7" />
    +
    +          <property name="os.arch" value="amd64" />
    +
    +          <property name="java.io.tmpdir" value="/tmp" />
    +
    +          <property name="line.separator" value="&#xa;" />
    +
    +          <property name="java.vm.specification.vendor" value="Oracle Corporation" />
    +
    +          <property name="os.name" value="Linux" />
    +
    +          <property name="classworlds.conf" value="/home/vsts/work/1/s/.maven/bin/m2.conf" />
    +
    +          <property name="sun.jnu.encoding" value="UTF-8" />
    +
    +          <property name="deployAtEnd" value="true" />
    +
    +          <property name="java.library.path" value="/usr/java/packages/lib:/usr/lib64:/lib64:/lib:/usr/lib" />
    +
    +          <property name="maven.conf" value="/home/vsts/work/1/s/.maven/conf" />
    +
    +          <property name="jdk.debug" value="release" />
    +
    +          <property name="java.class.version" value="61.0" />
    +
    +          <property name="java.specification.name" value="Java Platform API Specification" />
    +
    +          <property name="sun.management.compiler" value="HotSpot 64-Bit Tiered Compilers" />
    +
    +          <property name="os.version" value="5.15.0-1059-azure" />
    +
    +          <property name="library.jansi.path" value="/home/vsts/work/1/s/.maven/lib/jansi-native" />
    +
    +          <property name="user.home" value="/home/vsts" />
    +
    +          <property name="user.timezone" value="Etc/UTC" />
    +
    +          <property name="file.encoding" value="UTF-8" />
    +
    +          <property name="java.specification.version" value="17" />
    +
    +          <property name="user.name" value="vsts" />
    +
    +          <property name="java.class.path" value="/home/vsts/work/1/s/.maven/boot/plexus-classworlds-2.6.0.jar" />
    +
    +          <property name="bytecode.version" value="5" />
    +
    +          <property name="java.vm.specification.version" value="17" />
    +
    +          <property name="sun.arch.data.model" value="64" />
    +
    +          <property name="sun.java.command" value="org.codehaus.plexus.classworlds.launcher.Launcher -V -B -e --no-transfer-progress -f org.jacoco.build verify -Djdk.version=5 -Dbytecode.version=5 deploy:deploy -DdeployAtEnd --toolchains=toolchains.xml --settings=.azure-pipelines/maven-settings.xml" />
    +
    +          <property name="java.home" value="/usr/lib/jvm/temurin-17-jdk-amd64" />
    +
    +          <property name="user.language" value="en" />
    +
    +          <property name="java.specification.vendor" value="Oracle Corporation" />
    +
    +          <property name="java.vm.info" value="mixed mode, sharing" />
    +
    +          <property name="java.version" value="17.0.10" />
    +
    +          <property name="native.encoding" value="UTF-8" />
    +
    +          <property name="securerandom.source" value="file:/dev/./urandom" />
    +
    +          <property name="java.vendor" value="Eclipse Adoptium" />
    +
    +          <property name="maven.home" value="/home/vsts/work/1/s/.maven" />
    +
    +          <property name="file.separator" value="/" />
    +
    +          <property name="java.version.date" value="2024-01-16" />
    +
    +          <property name="java.vendor.url.bug" value="https://github.com/adoptium/adoptium-support/issues" />
    +
    +          <property name="sun.io.unicode.encoding" value="UnicodeLittle" />
    +
    +          <property name="sun.font.fontmanager" value="sun.awt.X11FontManager" />
    +
    +          <property name="sun.cpu.endian" value="little" />
    +
    +          <property name="java.vendor.version" value="Temurin-17.0.10+7" />
    +
    +      </properties>
    +
    +      <testcase classname="org.jacoco.core.internal.analysis.filter.SyntheticFilterTest" name="testNonSynthetic" time="0" />
    +
    +      <testcase classname="org.jacoco.core.internal.analysis.filter.SyntheticFilterTest" name="should_filter_synthetic_method_with_prefix_anonfun_in_non_Scala_classes" time="0" />
    +
    +      <testcase classname="org.jacoco.core.internal.analysis.filter.SyntheticFilterTest" name="should_not_filter_synthetic_method_with_prefix_anonfun_in_Scala_classes" time="0" />
    +
    +      <testcase classname="org.jacoco.core.internal.analysis.filter.SyntheticFilterTest" name="should_not_filter_synthetic_method_with_prefix_anonfun_in_Scala_inner_classes" time="0" />
    +
    +      <testcase classname="org.jacoco.core.internal.analysis.filter.SyntheticFilterTest" name="should_not_filter_method_with_suffix_default_in_kotlin_classes" time="0.001" />
    +
    +      <testcase classname="org.jacoco.core.internal.analysis.filter.SyntheticFilterTest" name="should_filter_synthetic_methods_whose_name_starts_with_access_dollar_even_if_last_argument_is_kotlin_coroutine_continuation" time="0.001" />
    +
    +      <testcase classname="org.jacoco.core.internal.analysis.filter.SyntheticFilterTest" name="should_not_filter_synthetic_constructor_containing_default_arguments_in_kotlin_classes" time="0" />
    +
    +      <testcase classname="org.jacoco.core.internal.analysis.filter.SyntheticFilterTest" name="should_filter_synthetic_method_with_suffix_default_in_non_kotlin_classes" time="0" />
    +
    +      <testcase classname="org.jacoco.core.internal.analysis.filter.SyntheticFilterTest" name="testLambda" time="0" />
    +
    +      <testcase classname="org.jacoco.core.internal.analysis.filter.SyntheticFilterTest" name="testSynthetic" time="0" />
    +
    +      <testcase classname="org.jacoco.core.internal.analysis.filter.SyntheticFilterTest" name="should_not_filter_synthetic_methods_whose_last_argument_is_kotlin_coroutine_continuation" time="0" />
    +
    +  </testsuite>
    +  <testsuite errors="0" failures="0" id="88" name="TryWithResourcesEcjFilterTest" package="org.jacoco.core.internal.analysis.filter" skipped="0" tests="2" time="0.004" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="https://maven.apache.org/surefire/maven-surefire-plugin/xsd/surefire-test-report.xsd">
    +      <properties>
    +          <property name="jansi.mode" value="strip" />
    +
    +          <property name="java.runtime.name" value="OpenJDK Runtime Environment" />
    +
    +          <property name="java.vm.version" value="17.0.10+7" />
    +
    +          <property name="sun.boot.library.path" value="/usr/lib/jvm/temurin-17-jdk-amd64/lib" />
    +
    +          <property name="maven.multiModuleProjectDirectory" value="/home/vsts/work/1/s/org.jacoco.build" />
    +
    +          <property name="jdk.version" value="5" />
    +
    +          <property name="java.vm.vendor" value="Eclipse Adoptium" />
    +
    +          <property name="java.vendor.url" value="https://adoptium.net/" />
    +
    +          <property name="guice.disable.misplaced.annotation.check" value="true" />
    +
    +          <property name="path.separator" value=":" />
    +
    +          <property name="java.vm.name" value="OpenJDK 64-Bit Server VM" />
    +
    +          <property name="sun.java.launcher" value="SUN_STANDARD" />
    +
    +          <property name="java.vm.specification.name" value="Java Virtual Machine Specification" />
    +
    +          <property name="user.dir" value="/home/vsts/work/1/s" />
    +
    +          <property name="java.vm.compressedOopsMode" value="32-bit" />
    +
    +          <property name="java.runtime.version" value="17.0.10+7" />
    +
    +          <property name="os.arch" value="amd64" />
    +
    +          <property name="java.io.tmpdir" value="/tmp" />
    +
    +          <property name="line.separator" value="&#xa;" />
    +
    +          <property name="java.vm.specification.vendor" value="Oracle Corporation" />
    +
    +          <property name="os.name" value="Linux" />
    +
    +          <property name="classworlds.conf" value="/home/vsts/work/1/s/.maven/bin/m2.conf" />
    +
    +          <property name="sun.jnu.encoding" value="UTF-8" />
    +
    +          <property name="deployAtEnd" value="true" />
    +
    +          <property name="java.library.path" value="/usr/java/packages/lib:/usr/lib64:/lib64:/lib:/usr/lib" />
    +
    +          <property name="maven.conf" value="/home/vsts/work/1/s/.maven/conf" />
    +
    +          <property name="jdk.debug" value="release" />
    +
    +          <property name="java.class.version" value="61.0" />
    +
    +          <property name="java.specification.name" value="Java Platform API Specification" />
    +
    +          <property name="sun.management.compiler" value="HotSpot 64-Bit Tiered Compilers" />
    +
    +          <property name="os.version" value="5.15.0-1059-azure" />
    +
    +          <property name="library.jansi.path" value="/home/vsts/work/1/s/.maven/lib/jansi-native" />
    +
    +          <property name="user.home" value="/home/vsts" />
    +
    +          <property name="user.timezone" value="Etc/UTC" />
    +
    +          <property name="file.encoding" value="UTF-8" />
    +
    +          <property name="java.specification.version" value="17" />
    +
    +          <property name="user.name" value="vsts" />
    +
    +          <property name="java.class.path" value="/home/vsts/work/1/s/.maven/boot/plexus-classworlds-2.6.0.jar" />
    +
    +          <property name="bytecode.version" value="5" />
    +
    +          <property name="java.vm.specification.version" value="17" />
    +
    +          <property name="sun.arch.data.model" value="64" />
    +
    +          <property name="sun.java.command" value="org.codehaus.plexus.classworlds.launcher.Launcher -V -B -e --no-transfer-progress -f org.jacoco.build verify -Djdk.version=5 -Dbytecode.version=5 deploy:deploy -DdeployAtEnd --toolchains=toolchains.xml --settings=.azure-pipelines/maven-settings.xml" />
    +
    +          <property name="java.home" value="/usr/lib/jvm/temurin-17-jdk-amd64" />
    +
    +          <property name="user.language" value="en" />
    +
    +          <property name="java.specification.vendor" value="Oracle Corporation" />
    +
    +          <property name="java.vm.info" value="mixed mode, sharing" />
    +
    +          <property name="java.version" value="17.0.10" />
    +
    +          <property name="native.encoding" value="UTF-8" />
    +
    +          <property name="securerandom.source" value="file:/dev/./urandom" />
    +
    +          <property name="java.vendor" value="Eclipse Adoptium" />
    +
    +          <property name="maven.home" value="/home/vsts/work/1/s/.maven" />
    +
    +          <property name="file.separator" value="/" />
    +
    +          <property name="java.version.date" value="2024-01-16" />
    +
    +          <property name="java.vendor.url.bug" value="https://github.com/adoptium/adoptium-support/issues" />
    +
    +          <property name="sun.io.unicode.encoding" value="UnicodeLittle" />
    +
    +          <property name="sun.font.fontmanager" value="sun.awt.X11FontManager" />
    +
    +          <property name="sun.cpu.endian" value="little" />
    +
    +          <property name="java.vendor.version" value="Temurin-17.0.10+7" />
    +
    +      </properties>
    +
    +      <testcase classname="org.jacoco.core.internal.analysis.filter.TryWithResourcesEcjFilterTest" name="ecj" time="0.002" />
    +
    +      <testcase classname="org.jacoco.core.internal.analysis.filter.TryWithResourcesEcjFilterTest" name="ecj_noFlowOut" time="0.001" />
    +
    +  </testsuite>
    +  <testsuite errors="0" failures="0" id="89" name="TryWithResourcesJavac11FilterTest" package="org.jacoco.core.internal.analysis.filter" skipped="0" tests="2" time="0.003" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="https://maven.apache.org/surefire/maven-surefire-plugin/xsd/surefire-test-report.xsd">
    +      <properties>
    +          <property name="jansi.mode" value="strip" />
    +
    +          <property name="java.runtime.name" value="OpenJDK Runtime Environment" />
    +
    +          <property name="java.vm.version" value="17.0.10+7" />
    +
    +          <property name="sun.boot.library.path" value="/usr/lib/jvm/temurin-17-jdk-amd64/lib" />
    +
    +          <property name="maven.multiModuleProjectDirectory" value="/home/vsts/work/1/s/org.jacoco.build" />
    +
    +          <property name="jdk.version" value="5" />
    +
    +          <property name="java.vm.vendor" value="Eclipse Adoptium" />
    +
    +          <property name="java.vendor.url" value="https://adoptium.net/" />
    +
    +          <property name="guice.disable.misplaced.annotation.check" value="true" />
    +
    +          <property name="path.separator" value=":" />
    +
    +          <property name="java.vm.name" value="OpenJDK 64-Bit Server VM" />
    +
    +          <property name="sun.java.launcher" value="SUN_STANDARD" />
    +
    +          <property name="java.vm.specification.name" value="Java Virtual Machine Specification" />
    +
    +          <property name="user.dir" value="/home/vsts/work/1/s" />
    +
    +          <property name="java.vm.compressedOopsMode" value="32-bit" />
    +
    +          <property name="java.runtime.version" value="17.0.10+7" />
    +
    +          <property name="os.arch" value="amd64" />
    +
    +          <property name="java.io.tmpdir" value="/tmp" />
    +
    +          <property name="line.separator" value="&#xa;" />
    +
    +          <property name="java.vm.specification.vendor" value="Oracle Corporation" />
    +
    +          <property name="os.name" value="Linux" />
    +
    +          <property name="classworlds.conf" value="/home/vsts/work/1/s/.maven/bin/m2.conf" />
    +
    +          <property name="sun.jnu.encoding" value="UTF-8" />
    +
    +          <property name="deployAtEnd" value="true" />
    +
    +          <property name="java.library.path" value="/usr/java/packages/lib:/usr/lib64:/lib64:/lib:/usr/lib" />
    +
    +          <property name="maven.conf" value="/home/vsts/work/1/s/.maven/conf" />
    +
    +          <property name="jdk.debug" value="release" />
    +
    +          <property name="java.class.version" value="61.0" />
    +
    +          <property name="java.specification.name" value="Java Platform API Specification" />
    +
    +          <property name="sun.management.compiler" value="HotSpot 64-Bit Tiered Compilers" />
    +
    +          <property name="os.version" value="5.15.0-1059-azure" />
    +
    +          <property name="library.jansi.path" value="/home/vsts/work/1/s/.maven/lib/jansi-native" />
    +
    +          <property name="user.home" value="/home/vsts" />
    +
    +          <property name="user.timezone" value="Etc/UTC" />
    +
    +          <property name="file.encoding" value="UTF-8" />
    +
    +          <property name="java.specification.version" value="17" />
    +
    +          <property name="user.name" value="vsts" />
    +
    +          <property name="java.class.path" value="/home/vsts/work/1/s/.maven/boot/plexus-classworlds-2.6.0.jar" />
    +
    +          <property name="bytecode.version" value="5" />
    +
    +          <property name="java.vm.specification.version" value="17" />
    +
    +          <property name="sun.arch.data.model" value="64" />
    +
    +          <property name="sun.java.command" value="org.codehaus.plexus.classworlds.launcher.Launcher -V -B -e --no-transfer-progress -f org.jacoco.build verify -Djdk.version=5 -Dbytecode.version=5 deploy:deploy -DdeployAtEnd --toolchains=toolchains.xml --settings=.azure-pipelines/maven-settings.xml" />
    +
    +          <property name="java.home" value="/usr/lib/jvm/temurin-17-jdk-amd64" />
    +
    +          <property name="user.language" value="en" />
    +
    +          <property name="java.specification.vendor" value="Oracle Corporation" />
    +
    +          <property name="java.vm.info" value="mixed mode, sharing" />
    +
    +          <property name="java.version" value="17.0.10" />
    +
    +          <property name="native.encoding" value="UTF-8" />
    +
    +          <property name="securerandom.source" value="file:/dev/./urandom" />
    +
    +          <property name="java.vendor" value="Eclipse Adoptium" />
    +
    +          <property name="maven.home" value="/home/vsts/work/1/s/.maven" />
    +
    +          <property name="file.separator" value="/" />
    +
    +          <property name="java.version.date" value="2024-01-16" />
    +
    +          <property name="java.vendor.url.bug" value="https://github.com/adoptium/adoptium-support/issues" />
    +
    +          <property name="sun.io.unicode.encoding" value="UnicodeLittle" />
    +
    +          <property name="sun.font.fontmanager" value="sun.awt.X11FontManager" />
    +
    +          <property name="sun.cpu.endian" value="little" />
    +
    +          <property name="java.vendor.version" value="Temurin-17.0.10+7" />
    +
    +      </properties>
    +
    +      <testcase classname="org.jacoco.core.internal.analysis.filter.TryWithResourcesJavac11FilterTest" name="without_null_check" time="0.001" />
    +
    +      <testcase classname="org.jacoco.core.internal.analysis.filter.TryWithResourcesJavac11FilterTest" name="with_null_check" time="0" />
    +
    +  </testsuite>
    +  <testsuite errors="0" failures="0" id="90" name="TryWithResourcesJavacFilterTest" package="org.jacoco.core.internal.analysis.filter" skipped="0" tests="4" time="0.006" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="https://maven.apache.org/surefire/maven-surefire-plugin/xsd/surefire-test-report.xsd">
    +      <properties>
    +          <property name="jansi.mode" value="strip" />
    +
    +          <property name="java.runtime.name" value="OpenJDK Runtime Environment" />
    +
    +          <property name="java.vm.version" value="17.0.10+7" />
    +
    +          <property name="sun.boot.library.path" value="/usr/lib/jvm/temurin-17-jdk-amd64/lib" />
    +
    +          <property name="maven.multiModuleProjectDirectory" value="/home/vsts/work/1/s/org.jacoco.build" />
    +
    +          <property name="jdk.version" value="5" />
    +
    +          <property name="java.vm.vendor" value="Eclipse Adoptium" />
    +
    +          <property name="java.vendor.url" value="https://adoptium.net/" />
    +
    +          <property name="guice.disable.misplaced.annotation.check" value="true" />
    +
    +          <property name="path.separator" value=":" />
    +
    +          <property name="java.vm.name" value="OpenJDK 64-Bit Server VM" />
    +
    +          <property name="sun.java.launcher" value="SUN_STANDARD" />
    +
    +          <property name="java.vm.specification.name" value="Java Virtual Machine Specification" />
    +
    +          <property name="user.dir" value="/home/vsts/work/1/s" />
    +
    +          <property name="java.vm.compressedOopsMode" value="32-bit" />
    +
    +          <property name="java.runtime.version" value="17.0.10+7" />
    +
    +          <property name="os.arch" value="amd64" />
    +
    +          <property name="java.io.tmpdir" value="/tmp" />
    +
    +          <property name="line.separator" value="&#xa;" />
    +
    +          <property name="java.vm.specification.vendor" value="Oracle Corporation" />
    +
    +          <property name="os.name" value="Linux" />
    +
    +          <property name="classworlds.conf" value="/home/vsts/work/1/s/.maven/bin/m2.conf" />
    +
    +          <property name="sun.jnu.encoding" value="UTF-8" />
    +
    +          <property name="deployAtEnd" value="true" />
    +
    +          <property name="java.library.path" value="/usr/java/packages/lib:/usr/lib64:/lib64:/lib:/usr/lib" />
    +
    +          <property name="maven.conf" value="/home/vsts/work/1/s/.maven/conf" />
    +
    +          <property name="jdk.debug" value="release" />
    +
    +          <property name="java.class.version" value="61.0" />
    +
    +          <property name="java.specification.name" value="Java Platform API Specification" />
    +
    +          <property name="sun.management.compiler" value="HotSpot 64-Bit Tiered Compilers" />
    +
    +          <property name="os.version" value="5.15.0-1059-azure" />
    +
    +          <property name="library.jansi.path" value="/home/vsts/work/1/s/.maven/lib/jansi-native" />
    +
    +          <property name="user.home" value="/home/vsts" />
    +
    +          <property name="user.timezone" value="Etc/UTC" />
    +
    +          <property name="file.encoding" value="UTF-8" />
    +
    +          <property name="java.specification.version" value="17" />
    +
    +          <property name="user.name" value="vsts" />
    +
    +          <property name="java.class.path" value="/home/vsts/work/1/s/.maven/boot/plexus-classworlds-2.6.0.jar" />
    +
    +          <property name="bytecode.version" value="5" />
    +
    +          <property name="java.vm.specification.version" value="17" />
    +
    +          <property name="sun.arch.data.model" value="64" />
    +
    +          <property name="sun.java.command" value="org.codehaus.plexus.classworlds.launcher.Launcher -V -B -e --no-transfer-progress -f org.jacoco.build verify -Djdk.version=5 -Dbytecode.version=5 deploy:deploy -DdeployAtEnd --toolchains=toolchains.xml --settings=.azure-pipelines/maven-settings.xml" />
    +
    +          <property name="java.home" value="/usr/lib/jvm/temurin-17-jdk-amd64" />
    +
    +          <property name="user.language" value="en" />
    +
    +          <property name="java.specification.vendor" value="Oracle Corporation" />
    +
    +          <property name="java.vm.info" value="mixed mode, sharing" />
    +
    +          <property name="java.version" value="17.0.10" />
    +
    +          <property name="native.encoding" value="UTF-8" />
    +
    +          <property name="securerandom.source" value="file:/dev/./urandom" />
    +
    +          <property name="java.vendor" value="Eclipse Adoptium" />
    +
    +          <property name="maven.home" value="/home/vsts/work/1/s/.maven" />
    +
    +          <property name="file.separator" value="/" />
    +
    +          <property name="java.version.date" value="2024-01-16" />
    +
    +          <property name="java.vendor.url.bug" value="https://github.com/adoptium/adoptium-support/issues" />
    +
    +          <property name="sun.io.unicode.encoding" value="UnicodeLittle" />
    +
    +          <property name="sun.font.fontmanager" value="sun.awt.X11FontManager" />
    +
    +          <property name="sun.cpu.endian" value="little" />
    +
    +          <property name="java.vendor.version" value="Temurin-17.0.10+7" />
    +
    +      </properties>
    +
    +      <testcase classname="org.jacoco.core.internal.analysis.filter.TryWithResourcesJavacFilterTest" name="javac9" time="0.004" />
    +
    +      <testcase classname="org.jacoco.core.internal.analysis.filter.TryWithResourcesJavacFilterTest" name="javac_7_8" time="0.001" />
    +
    +      <testcase classname="org.jacoco.core.internal.analysis.filter.TryWithResourcesJavacFilterTest" name="only_exceptional_path" time="0" />
    +
    +      <testcase classname="org.jacoco.core.internal.analysis.filter.TryWithResourcesJavacFilterTest" name="javac9_omitted_null_check" time="0" />
    +
    +  </testsuite>
    +  <testsuite errors="0" failures="0" id="91" name="CRC64Test" package="org.jacoco.core.internal.data" skipped="0" tests="5" time="0.002" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="https://maven.apache.org/surefire/maven-surefire-plugin/xsd/surefire-test-report.xsd">
    +      <properties>
    +          <property name="jansi.mode" value="strip" />
    +
    +          <property name="java.runtime.name" value="OpenJDK Runtime Environment" />
    +
    +          <property name="java.vm.version" value="17.0.10+7" />
    +
    +          <property name="sun.boot.library.path" value="/usr/lib/jvm/temurin-17-jdk-amd64/lib" />
    +
    +          <property name="maven.multiModuleProjectDirectory" value="/home/vsts/work/1/s/org.jacoco.build" />
    +
    +          <property name="jdk.version" value="5" />
    +
    +          <property name="java.vm.vendor" value="Eclipse Adoptium" />
    +
    +          <property name="java.vendor.url" value="https://adoptium.net/" />
    +
    +          <property name="guice.disable.misplaced.annotation.check" value="true" />
    +
    +          <property name="path.separator" value=":" />
    +
    +          <property name="java.vm.name" value="OpenJDK 64-Bit Server VM" />
    +
    +          <property name="sun.java.launcher" value="SUN_STANDARD" />
    +
    +          <property name="java.vm.specification.name" value="Java Virtual Machine Specification" />
    +
    +          <property name="user.dir" value="/home/vsts/work/1/s" />
    +
    +          <property name="java.vm.compressedOopsMode" value="32-bit" />
    +
    +          <property name="java.runtime.version" value="17.0.10+7" />
    +
    +          <property name="os.arch" value="amd64" />
    +
    +          <property name="java.io.tmpdir" value="/tmp" />
    +
    +          <property name="line.separator" value="&#xa;" />
    +
    +          <property name="java.vm.specification.vendor" value="Oracle Corporation" />
    +
    +          <property name="os.name" value="Linux" />
    +
    +          <property name="classworlds.conf" value="/home/vsts/work/1/s/.maven/bin/m2.conf" />
    +
    +          <property name="sun.jnu.encoding" value="UTF-8" />
    +
    +          <property name="deployAtEnd" value="true" />
    +
    +          <property name="java.library.path" value="/usr/java/packages/lib:/usr/lib64:/lib64:/lib:/usr/lib" />
    +
    +          <property name="maven.conf" value="/home/vsts/work/1/s/.maven/conf" />
    +
    +          <property name="jdk.debug" value="release" />
    +
    +          <property name="java.class.version" value="61.0" />
    +
    +          <property name="java.specification.name" value="Java Platform API Specification" />
    +
    +          <property name="sun.management.compiler" value="HotSpot 64-Bit Tiered Compilers" />
    +
    +          <property name="os.version" value="5.15.0-1059-azure" />
    +
    +          <property name="library.jansi.path" value="/home/vsts/work/1/s/.maven/lib/jansi-native" />
    +
    +          <property name="user.home" value="/home/vsts" />
    +
    +          <property name="user.timezone" value="Etc/UTC" />
    +
    +          <property name="file.encoding" value="UTF-8" />
    +
    +          <property name="java.specification.version" value="17" />
    +
    +          <property name="user.name" value="vsts" />
    +
    +          <property name="java.class.path" value="/home/vsts/work/1/s/.maven/boot/plexus-classworlds-2.6.0.jar" />
    +
    +          <property name="bytecode.version" value="5" />
    +
    +          <property name="java.vm.specification.version" value="17" />
    +
    +          <property name="sun.arch.data.model" value="64" />
    +
    +          <property name="sun.java.command" value="org.codehaus.plexus.classworlds.launcher.Launcher -V -B -e --no-transfer-progress -f org.jacoco.build verify -Djdk.version=5 -Dbytecode.version=5 deploy:deploy -DdeployAtEnd --toolchains=toolchains.xml --settings=.azure-pipelines/maven-settings.xml" />
    +
    +          <property name="java.home" value="/usr/lib/jvm/temurin-17-jdk-amd64" />
    +
    +          <property name="user.language" value="en" />
    +
    +          <property name="java.specification.vendor" value="Oracle Corporation" />
    +
    +          <property name="java.vm.info" value="mixed mode, sharing" />
    +
    +          <property name="java.version" value="17.0.10" />
    +
    +          <property name="native.encoding" value="UTF-8" />
    +
    +          <property name="securerandom.source" value="file:/dev/./urandom" />
    +
    +          <property name="java.vendor" value="Eclipse Adoptium" />
    +
    +          <property name="maven.home" value="/home/vsts/work/1/s/.maven" />
    +
    +          <property name="file.separator" value="/" />
    +
    +          <property name="java.version.date" value="2024-01-16" />
    +
    +          <property name="java.vendor.url.bug" value="https://github.com/adoptium/adoptium-support/issues" />
    +
    +          <property name="sun.io.unicode.encoding" value="UnicodeLittle" />
    +
    +          <property name="sun.font.fontmanager" value="sun.awt.X11FontManager" />
    +
    +          <property name="sun.cpu.endian" value="little" />
    +
    +          <property name="java.vendor.version" value="Temurin-17.0.10+7" />
    +
    +      </properties>
    +
    +      <testcase classname="org.jacoco.core.internal.data.CRC64Test" name="except_java_9_checksums_should_be_different_for_different_bytecode_versions" time="0" />
    +
    +      <testcase classname="org.jacoco.core.internal.data.CRC64Test" name="test0" time="0" />
    +
    +      <testcase classname="org.jacoco.core.internal.data.CRC64Test" name="test1" time="0" />
    +
    +      <testcase classname="org.jacoco.core.internal.data.CRC64Test" name="test2" time="0.001" />
    +
    +      <testcase classname="org.jacoco.core.internal.data.CRC64Test" name="test3" time="0" />
    +
    +  </testsuite>
    +  <testsuite errors="0" failures="0" id="92" name="CompactDataInputOutputTest" package="org.jacoco.core.internal.data" skipped="0" tests="12" time="0.004" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="https://maven.apache.org/surefire/maven-surefire-plugin/xsd/surefire-test-report.xsd">
    +      <properties>
    +          <property name="jansi.mode" value="strip" />
    +
    +          <property name="java.runtime.name" value="OpenJDK Runtime Environment" />
    +
    +          <property name="java.vm.version" value="17.0.10+7" />
    +
    +          <property name="sun.boot.library.path" value="/usr/lib/jvm/temurin-17-jdk-amd64/lib" />
    +
    +          <property name="maven.multiModuleProjectDirectory" value="/home/vsts/work/1/s/org.jacoco.build" />
    +
    +          <property name="jdk.version" value="5" />
    +
    +          <property name="java.vm.vendor" value="Eclipse Adoptium" />
    +
    +          <property name="java.vendor.url" value="https://adoptium.net/" />
    +
    +          <property name="guice.disable.misplaced.annotation.check" value="true" />
    +
    +          <property name="path.separator" value=":" />
    +
    +          <property name="java.vm.name" value="OpenJDK 64-Bit Server VM" />
    +
    +          <property name="sun.java.launcher" value="SUN_STANDARD" />
    +
    +          <property name="java.vm.specification.name" value="Java Virtual Machine Specification" />
    +
    +          <property name="user.dir" value="/home/vsts/work/1/s" />
    +
    +          <property name="java.vm.compressedOopsMode" value="32-bit" />
    +
    +          <property name="java.runtime.version" value="17.0.10+7" />
    +
    +          <property name="os.arch" value="amd64" />
    +
    +          <property name="java.io.tmpdir" value="/tmp" />
    +
    +          <property name="line.separator" value="&#xa;" />
    +
    +          <property name="java.vm.specification.vendor" value="Oracle Corporation" />
    +
    +          <property name="os.name" value="Linux" />
    +
    +          <property name="classworlds.conf" value="/home/vsts/work/1/s/.maven/bin/m2.conf" />
    +
    +          <property name="sun.jnu.encoding" value="UTF-8" />
    +
    +          <property name="deployAtEnd" value="true" />
    +
    +          <property name="java.library.path" value="/usr/java/packages/lib:/usr/lib64:/lib64:/lib:/usr/lib" />
    +
    +          <property name="maven.conf" value="/home/vsts/work/1/s/.maven/conf" />
    +
    +          <property name="jdk.debug" value="release" />
    +
    +          <property name="java.class.version" value="61.0" />
    +
    +          <property name="java.specification.name" value="Java Platform API Specification" />
    +
    +          <property name="sun.management.compiler" value="HotSpot 64-Bit Tiered Compilers" />
    +
    +          <property name="os.version" value="5.15.0-1059-azure" />
    +
    +          <property name="library.jansi.path" value="/home/vsts/work/1/s/.maven/lib/jansi-native" />
    +
    +          <property name="user.home" value="/home/vsts" />
    +
    +          <property name="user.timezone" value="Etc/UTC" />
    +
    +          <property name="file.encoding" value="UTF-8" />
    +
    +          <property name="java.specification.version" value="17" />
    +
    +          <property name="user.name" value="vsts" />
    +
    +          <property name="java.class.path" value="/home/vsts/work/1/s/.maven/boot/plexus-classworlds-2.6.0.jar" />
    +
    +          <property name="bytecode.version" value="5" />
    +
    +          <property name="java.vm.specification.version" value="17" />
    +
    +          <property name="sun.arch.data.model" value="64" />
    +
    +          <property name="sun.java.command" value="org.codehaus.plexus.classworlds.launcher.Launcher -V -B -e --no-transfer-progress -f org.jacoco.build verify -Djdk.version=5 -Dbytecode.version=5 deploy:deploy -DdeployAtEnd --toolchains=toolchains.xml --settings=.azure-pipelines/maven-settings.xml" />
    +
    +          <property name="java.home" value="/usr/lib/jvm/temurin-17-jdk-amd64" />
    +
    +          <property name="user.language" value="en" />
    +
    +          <property name="java.specification.vendor" value="Oracle Corporation" />
    +
    +          <property name="java.vm.info" value="mixed mode, sharing" />
    +
    +          <property name="java.version" value="17.0.10" />
    +
    +          <property name="native.encoding" value="UTF-8" />
    +
    +          <property name="securerandom.source" value="file:/dev/./urandom" />
    +
    +          <property name="java.vendor" value="Eclipse Adoptium" />
    +
    +          <property name="maven.home" value="/home/vsts/work/1/s/.maven" />
    +
    +          <property name="file.separator" value="/" />
    +
    +          <property name="java.version.date" value="2024-01-16" />
    +
    +          <property name="java.vendor.url.bug" value="https://github.com/adoptium/adoptium-support/issues" />
    +
    +          <property name="sun.io.unicode.encoding" value="UnicodeLittle" />
    +
    +          <property name="sun.font.fontmanager" value="sun.awt.X11FontManager" />
    +
    +          <property name="sun.cpu.endian" value="little" />
    +
    +          <property name="java.vendor.version" value="Temurin-17.0.10+7" />
    +
    +      </properties>
    +
    +      <testcase classname="org.jacoco.core.internal.data.CompactDataInputOutputTest" name="testPackedBoolean3" time="0" />
    +
    +      <testcase classname="org.jacoco.core.internal.data.CompactDataInputOutputTest" name="testPackedBoolean8" time="0" />
    +
    +      <testcase classname="org.jacoco.core.internal.data.CompactDataInputOutputTest" name="testPackedBoolean9" time="0" />
    +
    +      <testcase classname="org.jacoco.core.internal.data.CompactDataInputOutputTest" name="testVarIntMinValue" time="0" />
    +
    +      <testcase classname="org.jacoco.core.internal.data.CompactDataInputOutputTest" name="testVarInt0x12345678" time="0" />
    +
    +      <testcase classname="org.jacoco.core.internal.data.CompactDataInputOutputTest" name="testPackedBooleanEmpty" time="0" />
    +
    +      <testcase classname="org.jacoco.core.internal.data.CompactDataInputOutputTest" name="testVarInt0x00000000" time="0" />
    +
    +      <testcase classname="org.jacoco.core.internal.data.CompactDataInputOutputTest" name="testVarInt0x0000007F" time="0" />
    +
    +      <testcase classname="org.jacoco.core.internal.data.CompactDataInputOutputTest" name="testVarInt0x00000080" time="0" />
    +
    +      <testcase classname="org.jacoco.core.internal.data.CompactDataInputOutputTest" name="testVarInt0x00000100" time="0" />
    +
    +      <testcase classname="org.jacoco.core.internal.data.CompactDataInputOutputTest" name="testVarIntMaxValue" time="0" />
    +
    +      <testcase classname="org.jacoco.core.internal.data.CompactDataInputOutputTest" name="testVarIntMinus1" time="0" />
    +
    +  </testsuite>
    +  <testsuite errors="0" failures="0" id="93" name="ClassProbesAdapterTest" package="org.jacoco.core.internal.flow" skipped="0" tests="5" time="0.005" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="https://maven.apache.org/surefire/maven-surefire-plugin/xsd/surefire-test-report.xsd">
    +      <properties>
    +          <property name="jansi.mode" value="strip" />
    +
    +          <property name="java.runtime.name" value="OpenJDK Runtime Environment" />
    +
    +          <property name="java.vm.version" value="17.0.10+7" />
    +
    +          <property name="sun.boot.library.path" value="/usr/lib/jvm/temurin-17-jdk-amd64/lib" />
    +
    +          <property name="maven.multiModuleProjectDirectory" value="/home/vsts/work/1/s/org.jacoco.build" />
    +
    +          <property name="jdk.version" value="5" />
    +
    +          <property name="java.vm.vendor" value="Eclipse Adoptium" />
    +
    +          <property name="java.vendor.url" value="https://adoptium.net/" />
    +
    +          <property name="guice.disable.misplaced.annotation.check" value="true" />
    +
    +          <property name="path.separator" value=":" />
    +
    +          <property name="java.vm.name" value="OpenJDK 64-Bit Server VM" />
    +
    +          <property name="sun.java.launcher" value="SUN_STANDARD" />
    +
    +          <property name="java.vm.specification.name" value="Java Virtual Machine Specification" />
    +
    +          <property name="user.dir" value="/home/vsts/work/1/s" />
    +
    +          <property name="java.vm.compressedOopsMode" value="32-bit" />
    +
    +          <property name="java.runtime.version" value="17.0.10+7" />
    +
    +          <property name="os.arch" value="amd64" />
    +
    +          <property name="java.io.tmpdir" value="/tmp" />
    +
    +          <property name="line.separator" value="&#xa;" />
    +
    +          <property name="java.vm.specification.vendor" value="Oracle Corporation" />
    +
    +          <property name="os.name" value="Linux" />
    +
    +          <property name="classworlds.conf" value="/home/vsts/work/1/s/.maven/bin/m2.conf" />
    +
    +          <property name="sun.jnu.encoding" value="UTF-8" />
    +
    +          <property name="deployAtEnd" value="true" />
    +
    +          <property name="java.library.path" value="/usr/java/packages/lib:/usr/lib64:/lib64:/lib:/usr/lib" />
    +
    +          <property name="maven.conf" value="/home/vsts/work/1/s/.maven/conf" />
    +
    +          <property name="jdk.debug" value="release" />
    +
    +          <property name="java.class.version" value="61.0" />
    +
    +          <property name="java.specification.name" value="Java Platform API Specification" />
    +
    +          <property name="sun.management.compiler" value="HotSpot 64-Bit Tiered Compilers" />
    +
    +          <property name="os.version" value="5.15.0-1059-azure" />
    +
    +          <property name="library.jansi.path" value="/home/vsts/work/1/s/.maven/lib/jansi-native" />
    +
    +          <property name="user.home" value="/home/vsts" />
    +
    +          <property name="user.timezone" value="Etc/UTC" />
    +
    +          <property name="file.encoding" value="UTF-8" />
    +
    +          <property name="java.specification.version" value="17" />
    +
    +          <property name="user.name" value="vsts" />
    +
    +          <property name="java.class.path" value="/home/vsts/work/1/s/.maven/boot/plexus-classworlds-2.6.0.jar" />
    +
    +          <property name="bytecode.version" value="5" />
    +
    +          <property name="java.vm.specification.version" value="17" />
    +
    +          <property name="sun.arch.data.model" value="64" />
    +
    +          <property name="sun.java.command" value="org.codehaus.plexus.classworlds.launcher.Launcher -V -B -e --no-transfer-progress -f org.jacoco.build verify -Djdk.version=5 -Dbytecode.version=5 deploy:deploy -DdeployAtEnd --toolchains=toolchains.xml --settings=.azure-pipelines/maven-settings.xml" />
    +
    +          <property name="java.home" value="/usr/lib/jvm/temurin-17-jdk-amd64" />
    +
    +          <property name="user.language" value="en" />
    +
    +          <property name="java.specification.vendor" value="Oracle Corporation" />
    +
    +          <property name="java.vm.info" value="mixed mode, sharing" />
    +
    +          <property name="java.version" value="17.0.10" />
    +
    +          <property name="native.encoding" value="UTF-8" />
    +
    +          <property name="securerandom.source" value="file:/dev/./urandom" />
    +
    +          <property name="java.vendor" value="Eclipse Adoptium" />
    +
    +          <property name="maven.home" value="/home/vsts/work/1/s/.maven" />
    +
    +          <property name="file.separator" value="/" />
    +
    +          <property name="java.version.date" value="2024-01-16" />
    +
    +          <property name="java.vendor.url.bug" value="https://github.com/adoptium/adoptium-support/issues" />
    +
    +          <property name="sun.io.unicode.encoding" value="UnicodeLittle" />
    +
    +          <property name="sun.font.fontmanager" value="sun.awt.X11FontManager" />
    +
    +          <property name="sun.cpu.endian" value="little" />
    +
    +          <property name="java.vendor.version" value="Temurin-17.0.10+7" />
    +
    +      </properties>
    +
    +      <testcase classname="org.jacoco.core.internal.flow.ClassProbesAdapterTest" name="testVisitClassMethods" time="0.004" />
    +
    +      <testcase classname="org.jacoco.core.internal.flow.ClassProbesAdapterTest" name="testVisitWithFrames" time="0" />
    +
    +      <testcase classname="org.jacoco.core.internal.flow.ClassProbesAdapterTest" name="testVisitWithoutFrames" time="0" />
    +
    +      <testcase classname="org.jacoco.core.internal.flow.ClassProbesAdapterTest" name="testProbeCounter" time="0" />
    +
    +      <testcase classname="org.jacoco.core.internal.flow.ClassProbesAdapterTest" name="testVisitMethodNullMethodVisitor" time="0.001" />
    +
    +  </testsuite>
    +  <testsuite errors="0" failures="0" id="94" name="FrameSnapshotTest" package="org.jacoco.core.internal.flow" skipped="0" tests="6" time="0.002" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="https://maven.apache.org/surefire/maven-surefire-plugin/xsd/surefire-test-report.xsd">
    +      <properties>
    +          <property name="jansi.mode" value="strip" />
    +
    +          <property name="java.runtime.name" value="OpenJDK Runtime Environment" />
    +
    +          <property name="java.vm.version" value="17.0.10+7" />
    +
    +          <property name="sun.boot.library.path" value="/usr/lib/jvm/temurin-17-jdk-amd64/lib" />
    +
    +          <property name="maven.multiModuleProjectDirectory" value="/home/vsts/work/1/s/org.jacoco.build" />
    +
    +          <property name="jdk.version" value="5" />
    +
    +          <property name="java.vm.vendor" value="Eclipse Adoptium" />
    +
    +          <property name="java.vendor.url" value="https://adoptium.net/" />
    +
    +          <property name="guice.disable.misplaced.annotation.check" value="true" />
    +
    +          <property name="path.separator" value=":" />
    +
    +          <property name="java.vm.name" value="OpenJDK 64-Bit Server VM" />
    +
    +          <property name="sun.java.launcher" value="SUN_STANDARD" />
    +
    +          <property name="java.vm.specification.name" value="Java Virtual Machine Specification" />
    +
    +          <property name="user.dir" value="/home/vsts/work/1/s" />
    +
    +          <property name="java.vm.compressedOopsMode" value="32-bit" />
    +
    +          <property name="java.runtime.version" value="17.0.10+7" />
    +
    +          <property name="os.arch" value="amd64" />
    +
    +          <property name="java.io.tmpdir" value="/tmp" />
    +
    +          <property name="line.separator" value="&#xa;" />
    +
    +          <property name="java.vm.specification.vendor" value="Oracle Corporation" />
    +
    +          <property name="os.name" value="Linux" />
    +
    +          <property name="classworlds.conf" value="/home/vsts/work/1/s/.maven/bin/m2.conf" />
    +
    +          <property name="sun.jnu.encoding" value="UTF-8" />
    +
    +          <property name="deployAtEnd" value="true" />
    +
    +          <property name="java.library.path" value="/usr/java/packages/lib:/usr/lib64:/lib64:/lib:/usr/lib" />
    +
    +          <property name="maven.conf" value="/home/vsts/work/1/s/.maven/conf" />
    +
    +          <property name="jdk.debug" value="release" />
    +
    +          <property name="java.class.version" value="61.0" />
    +
    +          <property name="java.specification.name" value="Java Platform API Specification" />
    +
    +          <property name="sun.management.compiler" value="HotSpot 64-Bit Tiered Compilers" />
    +
    +          <property name="os.version" value="5.15.0-1059-azure" />
    +
    +          <property name="library.jansi.path" value="/home/vsts/work/1/s/.maven/lib/jansi-native" />
    +
    +          <property name="user.home" value="/home/vsts" />
    +
    +          <property name="user.timezone" value="Etc/UTC" />
    +
    +          <property name="file.encoding" value="UTF-8" />
    +
    +          <property name="java.specification.version" value="17" />
    +
    +          <property name="user.name" value="vsts" />
    +
    +          <property name="java.class.path" value="/home/vsts/work/1/s/.maven/boot/plexus-classworlds-2.6.0.jar" />
    +
    +          <property name="bytecode.version" value="5" />
    +
    +          <property name="java.vm.specification.version" value="17" />
    +
    +          <property name="sun.arch.data.model" value="64" />
    +
    +          <property name="sun.java.command" value="org.codehaus.plexus.classworlds.launcher.Launcher -V -B -e --no-transfer-progress -f org.jacoco.build verify -Djdk.version=5 -Dbytecode.version=5 deploy:deploy -DdeployAtEnd --toolchains=toolchains.xml --settings=.azure-pipelines/maven-settings.xml" />
    +
    +          <property name="java.home" value="/usr/lib/jvm/temurin-17-jdk-amd64" />
    +
    +          <property name="user.language" value="en" />
    +
    +          <property name="java.specification.vendor" value="Oracle Corporation" />
    +
    +          <property name="java.vm.info" value="mixed mode, sharing" />
    +
    +          <property name="java.version" value="17.0.10" />
    +
    +          <property name="native.encoding" value="UTF-8" />
    +
    +          <property name="securerandom.source" value="file:/dev/./urandom" />
    +
    +          <property name="java.vendor" value="Eclipse Adoptium" />
    +
    +          <property name="maven.home" value="/home/vsts/work/1/s/.maven" />
    +
    +          <property name="file.separator" value="/" />
    +
    +          <property name="java.version.date" value="2024-01-16" />
    +
    +          <property name="java.vendor.url.bug" value="https://github.com/adoptium/adoptium-support/issues" />
    +
    +          <property name="sun.io.unicode.encoding" value="UnicodeLittle" />
    +
    +          <property name="sun.font.fontmanager" value="sun.awt.X11FontManager" />
    +
    +          <property name="sun.cpu.endian" value="little" />
    +
    +          <property name="java.vendor.version" value="Temurin-17.0.10+7" />
    +
    +      </properties>
    +
    +      <testcase classname="org.jacoco.core.internal.flow.FrameSnapshotTest" name="should_decrease_stack_when_popCount_is_given" time="0" />
    +
    +      <testcase classname="org.jacoco.core.internal.flow.FrameSnapshotTest" name="after_aaload_stack_should_contain_null_when_input_array_is_null" time="0" />
    +
    +      <testcase classname="org.jacoco.core.internal.flow.FrameSnapshotTest" name="should_combine_slots_when_doube_or_long_types_are_given" time="0.001" />
    +
    +      <testcase classname="org.jacoco.core.internal.flow.FrameSnapshotTest" name="should_capture_frame_when_frame_is_defined" time="0" />
    +
    +      <testcase classname="org.jacoco.core.internal.flow.FrameSnapshotTest" name="should_not_capture_frame_when_no_frame_is_defined" time="0" />
    +
    +      <testcase classname="org.jacoco.core.internal.flow.FrameSnapshotTest" name="should_not_capture_frame_when_no_analyzer_is_given" time="0" />
    +
    +  </testsuite>
    +  <testsuite errors="0" failures="0" id="95" name="LabelFlowAnalyzerTest" package="org.jacoco.core.internal.flow" skipped="0" tests="30" time="0.02" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="https://maven.apache.org/surefire/maven-surefire-plugin/xsd/surefire-test-report.xsd">
    +      <properties>
    +          <property name="jansi.mode" value="strip" />
    +
    +          <property name="java.runtime.name" value="OpenJDK Runtime Environment" />
    +
    +          <property name="java.vm.version" value="17.0.10+7" />
    +
    +          <property name="sun.boot.library.path" value="/usr/lib/jvm/temurin-17-jdk-amd64/lib" />
    +
    +          <property name="maven.multiModuleProjectDirectory" value="/home/vsts/work/1/s/org.jacoco.build" />
    +
    +          <property name="jdk.version" value="5" />
    +
    +          <property name="java.vm.vendor" value="Eclipse Adoptium" />
    +
    +          <property name="java.vendor.url" value="https://adoptium.net/" />
    +
    +          <property name="guice.disable.misplaced.annotation.check" value="true" />
    +
    +          <property name="path.separator" value=":" />
    +
    +          <property name="java.vm.name" value="OpenJDK 64-Bit Server VM" />
    +
    +          <property name="sun.java.launcher" value="SUN_STANDARD" />
    +
    +          <property name="java.vm.specification.name" value="Java Virtual Machine Specification" />
    +
    +          <property name="user.dir" value="/home/vsts/work/1/s" />
    +
    +          <property name="java.vm.compressedOopsMode" value="32-bit" />
    +
    +          <property name="java.runtime.version" value="17.0.10+7" />
    +
    +          <property name="os.arch" value="amd64" />
    +
    +          <property name="java.io.tmpdir" value="/tmp" />
    +
    +          <property name="line.separator" value="&#xa;" />
    +
    +          <property name="java.vm.specification.vendor" value="Oracle Corporation" />
    +
    +          <property name="os.name" value="Linux" />
    +
    +          <property name="classworlds.conf" value="/home/vsts/work/1/s/.maven/bin/m2.conf" />
    +
    +          <property name="sun.jnu.encoding" value="UTF-8" />
    +
    +          <property name="deployAtEnd" value="true" />
    +
    +          <property name="java.library.path" value="/usr/java/packages/lib:/usr/lib64:/lib64:/lib:/usr/lib" />
    +
    +          <property name="maven.conf" value="/home/vsts/work/1/s/.maven/conf" />
    +
    +          <property name="jdk.debug" value="release" />
    +
    +          <property name="java.class.version" value="61.0" />
    +
    +          <property name="java.specification.name" value="Java Platform API Specification" />
    +
    +          <property name="sun.management.compiler" value="HotSpot 64-Bit Tiered Compilers" />
    +
    +          <property name="os.version" value="5.15.0-1059-azure" />
    +
    +          <property name="library.jansi.path" value="/home/vsts/work/1/s/.maven/lib/jansi-native" />
    +
    +          <property name="user.home" value="/home/vsts" />
    +
    +          <property name="user.timezone" value="Etc/UTC" />
    +
    +          <property name="file.encoding" value="UTF-8" />
    +
    +          <property name="java.specification.version" value="17" />
    +
    +          <property name="user.name" value="vsts" />
    +
    +          <property name="java.class.path" value="/home/vsts/work/1/s/.maven/boot/plexus-classworlds-2.6.0.jar" />
    +
    +          <property name="bytecode.version" value="5" />
    +
    +          <property name="java.vm.specification.version" value="17" />
    +
    +          <property name="sun.arch.data.model" value="64" />
    +
    +          <property name="sun.java.command" value="org.codehaus.plexus.classworlds.launcher.Launcher -V -B -e --no-transfer-progress -f org.jacoco.build verify -Djdk.version=5 -Dbytecode.version=5 deploy:deploy -DdeployAtEnd --toolchains=toolchains.xml --settings=.azure-pipelines/maven-settings.xml" />
    +
    +          <property name="java.home" value="/usr/lib/jvm/temurin-17-jdk-amd64" />
    +
    +          <property name="user.language" value="en" />
    +
    +          <property name="java.specification.vendor" value="Oracle Corporation" />
    +
    +          <property name="java.vm.info" value="mixed mode, sharing" />
    +
    +          <property name="java.version" value="17.0.10" />
    +
    +          <property name="native.encoding" value="UTF-8" />
    +
    +          <property name="securerandom.source" value="file:/dev/./urandom" />
    +
    +          <property name="java.vendor" value="Eclipse Adoptium" />
    +
    +          <property name="maven.home" value="/home/vsts/work/1/s/.maven" />
    +
    +          <property name="file.separator" value="/" />
    +
    +          <property name="java.version.date" value="2024-01-16" />
    +
    +          <property name="java.vendor.url.bug" value="https://github.com/adoptium/adoptium-support/issues" />
    +
    +          <property name="sun.io.unicode.encoding" value="UnicodeLittle" />
    +
    +          <property name="sun.font.fontmanager" value="sun.awt.X11FontManager" />
    +
    +          <property name="sun.cpu.endian" value="little" />
    +
    +          <property name="java.vendor.version" value="Temurin-17.0.10+7" />
    +
    +      </properties>
    +
    +      <testcase classname="org.jacoco.core.internal.flow.LabelFlowAnalyzerTest" name="testLookupSwitchInsn" time="0" />
    +
    +      <testcase classname="org.jacoco.core.internal.flow.LabelFlowAnalyzerTest" name="testMethodInsn" time="0.009" />
    +
    +      <testcase classname="org.jacoco.core.internal.flow.LabelFlowAnalyzerTest" name="testInit" time="0" />
    +
    +      <testcase classname="org.jacoco.core.internal.flow.LabelFlowAnalyzerTest" name="testInsn" time="0" />
    +
    +      <testcase classname="org.jacoco.core.internal.flow.LabelFlowAnalyzerTest" name="testLineNumber" time="0" />
    +
    +      <testcase classname="org.jacoco.core.internal.flow.LabelFlowAnalyzerTest" name="visitLineNumber_should_skip_zero" time="0" />
    +
    +      <testcase classname="org.jacoco.core.internal.flow.LabelFlowAnalyzerTest" name="testFlowScenario01" time="0" />
    +
    +      <testcase classname="org.jacoco.core.internal.flow.LabelFlowAnalyzerTest" name="testFlowScenario02" time="0" />
    +
    +      <testcase classname="org.jacoco.core.internal.flow.LabelFlowAnalyzerTest" name="testFlowScenario03" time="0" />
    +
    +      <testcase classname="org.jacoco.core.internal.flow.LabelFlowAnalyzerTest" name="testFlowScenario04" time="0.001" />
    +
    +      <testcase classname="org.jacoco.core.internal.flow.LabelFlowAnalyzerTest" name="testFlowScenario05" time="0" />
    +
    +      <testcase classname="org.jacoco.core.internal.flow.LabelFlowAnalyzerTest" name="testFlowScenario06" time="0" />
    +
    +      <testcase classname="org.jacoco.core.internal.flow.LabelFlowAnalyzerTest" name="testFlowScenario07" time="0" />
    +
    +      <testcase classname="org.jacoco.core.internal.flow.LabelFlowAnalyzerTest" name="testFlowScenario08" time="0" />
    +
    +      <testcase classname="org.jacoco.core.internal.flow.LabelFlowAnalyzerTest" name="testFlowScenario09" time="0" />
    +
    +      <testcase classname="org.jacoco.core.internal.flow.LabelFlowAnalyzerTest" name="testFlowScenario10" time="0.001" />
    +
    +      <testcase classname="org.jacoco.core.internal.flow.LabelFlowAnalyzerTest" name="testFlowScenario11" time="0" />
    +
    +      <testcase classname="org.jacoco.core.internal.flow.LabelFlowAnalyzerTest" name="testFlowScenario12" time="0" />
    +
    +      <testcase classname="org.jacoco.core.internal.flow.LabelFlowAnalyzerTest" name="testInvokeDynamicInsn" time="0" />
    +
    +      <testcase classname="org.jacoco.core.internal.flow.LabelFlowAnalyzerTest" name="testLdcInsn" time="0" />
    +
    +      <testcase classname="org.jacoco.core.internal.flow.LabelFlowAnalyzerTest" name="testTableSwitchInsn" time="0" />
    +
    +      <testcase classname="org.jacoco.core.internal.flow.LabelFlowAnalyzerTest" name="testVarInsn" time="0" />
    +
    +      <testcase classname="org.jacoco.core.internal.flow.LabelFlowAnalyzerTest" name="testTypeInsn" time="0" />
    +
    +      <testcase classname="org.jacoco.core.internal.flow.LabelFlowAnalyzerTest" name="testMultiANewArrayInsn" time="0" />
    +
    +      <testcase classname="org.jacoco.core.internal.flow.LabelFlowAnalyzerTest" name="testVisitJumpInsnNegative" time="0" />
    +
    +      <testcase classname="org.jacoco.core.internal.flow.LabelFlowAnalyzerTest" name="testJumpInsn" time="0" />
    +
    +      <testcase classname="org.jacoco.core.internal.flow.LabelFlowAnalyzerTest" name="testVisitVarInsnNegative" time="0" />
    +
    +      <testcase classname="org.jacoco.core.internal.flow.LabelFlowAnalyzerTest" name="testIincInsn" time="0" />
    +
    +      <testcase classname="org.jacoco.core.internal.flow.LabelFlowAnalyzerTest" name="testIntInsn" time="0" />
    +
    +      <testcase classname="org.jacoco.core.internal.flow.LabelFlowAnalyzerTest" name="testFieldInsn" time="0" />
    +
    +  </testsuite>
    +  <testsuite errors="0" failures="0" id="96" name="LabelInfoTest" package="org.jacoco.core.internal.flow" skipped="0" tests="13" time="0.008" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="https://maven.apache.org/surefire/maven-surefire-plugin/xsd/surefire-test-report.xsd">
    +      <properties>
    +          <property name="jansi.mode" value="strip" />
    +
    +          <property name="java.runtime.name" value="OpenJDK Runtime Environment" />
    +
    +          <property name="java.vm.version" value="17.0.10+7" />
    +
    +          <property name="sun.boot.library.path" value="/usr/lib/jvm/temurin-17-jdk-amd64/lib" />
    +
    +          <property name="maven.multiModuleProjectDirectory" value="/home/vsts/work/1/s/org.jacoco.build" />
    +
    +          <property name="jdk.version" value="5" />
    +
    +          <property name="java.vm.vendor" value="Eclipse Adoptium" />
    +
    +          <property name="java.vendor.url" value="https://adoptium.net/" />
    +
    +          <property name="guice.disable.misplaced.annotation.check" value="true" />
    +
    +          <property name="path.separator" value=":" />
    +
    +          <property name="java.vm.name" value="OpenJDK 64-Bit Server VM" />
    +
    +          <property name="sun.java.launcher" value="SUN_STANDARD" />
    +
    +          <property name="java.vm.specification.name" value="Java Virtual Machine Specification" />
    +
    +          <property name="user.dir" value="/home/vsts/work/1/s" />
    +
    +          <property name="java.vm.compressedOopsMode" value="32-bit" />
    +
    +          <property name="java.runtime.version" value="17.0.10+7" />
    +
    +          <property name="os.arch" value="amd64" />
    +
    +          <property name="java.io.tmpdir" value="/tmp" />
    +
    +          <property name="line.separator" value="&#xa;" />
    +
    +          <property name="java.vm.specification.vendor" value="Oracle Corporation" />
    +
    +          <property name="os.name" value="Linux" />
    +
    +          <property name="classworlds.conf" value="/home/vsts/work/1/s/.maven/bin/m2.conf" />
    +
    +          <property name="sun.jnu.encoding" value="UTF-8" />
    +
    +          <property name="deployAtEnd" value="true" />
    +
    +          <property name="java.library.path" value="/usr/java/packages/lib:/usr/lib64:/lib64:/lib:/usr/lib" />
    +
    +          <property name="maven.conf" value="/home/vsts/work/1/s/.maven/conf" />
    +
    +          <property name="jdk.debug" value="release" />
    +
    +          <property name="java.class.version" value="61.0" />
    +
    +          <property name="java.specification.name" value="Java Platform API Specification" />
    +
    +          <property name="sun.management.compiler" value="HotSpot 64-Bit Tiered Compilers" />
    +
    +          <property name="os.version" value="5.15.0-1059-azure" />
    +
    +          <property name="library.jansi.path" value="/home/vsts/work/1/s/.maven/lib/jansi-native" />
    +
    +          <property name="user.home" value="/home/vsts" />
    +
    +          <property name="user.timezone" value="Etc/UTC" />
    +
    +          <property name="file.encoding" value="UTF-8" />
    +
    +          <property name="java.specification.version" value="17" />
    +
    +          <property name="user.name" value="vsts" />
    +
    +          <property name="java.class.path" value="/home/vsts/work/1/s/.maven/boot/plexus-classworlds-2.6.0.jar" />
    +
    +          <property name="bytecode.version" value="5" />
    +
    +          <property name="java.vm.specification.version" value="17" />
    +
    +          <property name="sun.arch.data.model" value="64" />
    +
    +          <property name="sun.java.command" value="org.codehaus.plexus.classworlds.launcher.Launcher -V -B -e --no-transfer-progress -f org.jacoco.build verify -Djdk.version=5 -Dbytecode.version=5 deploy:deploy -DdeployAtEnd --toolchains=toolchains.xml --settings=.azure-pipelines/maven-settings.xml" />
    +
    +          <property name="java.home" value="/usr/lib/jvm/temurin-17-jdk-amd64" />
    +
    +          <property name="user.language" value="en" />
    +
    +          <property name="java.specification.vendor" value="Oracle Corporation" />
    +
    +          <property name="java.vm.info" value="mixed mode, sharing" />
    +
    +          <property name="java.version" value="17.0.10" />
    +
    +          <property name="native.encoding" value="UTF-8" />
    +
    +          <property name="securerandom.source" value="file:/dev/./urandom" />
    +
    +          <property name="java.vendor" value="Eclipse Adoptium" />
    +
    +          <property name="maven.home" value="/home/vsts/work/1/s/.maven" />
    +
    +          <property name="file.separator" value="/" />
    +
    +          <property name="java.version.date" value="2024-01-16" />
    +
    +          <property name="java.vendor.url.bug" value="https://github.com/adoptium/adoptium-support/issues" />
    +
    +          <property name="sun.io.unicode.encoding" value="UnicodeLittle" />
    +
    +          <property name="sun.font.fontmanager" value="sun.awt.X11FontManager" />
    +
    +          <property name="sun.cpu.endian" value="little" />
    +
    +          <property name="java.vendor.version" value="Temurin-17.0.10+7" />
    +
    +      </properties>
    +
    +      <testcase classname="org.jacoco.core.internal.flow.LabelInfoTest" name="testNeedsProbe" time="0.001" />
    +
    +      <testcase classname="org.jacoco.core.internal.flow.LabelInfoTest" name="testOtherInfoObject" time="0" />
    +
    +      <testcase classname="org.jacoco.core.internal.flow.LabelInfoTest" name="testSetIntermediateLabel" time="0" />
    +
    +      <testcase classname="org.jacoco.core.internal.flow.LabelInfoTest" name="testSetResetDone1" time="0" />
    +
    +      <testcase classname="org.jacoco.core.internal.flow.LabelInfoTest" name="testSetResetDone2" time="0" />
    +
    +      <testcase classname="org.jacoco.core.internal.flow.LabelInfoTest" name="testSetInstruction" time="0" />
    +
    +      <testcase classname="org.jacoco.core.internal.flow.LabelInfoTest" name="testDefaults" time="0" />
    +
    +      <testcase classname="org.jacoco.core.internal.flow.LabelInfoTest" name="testMethodInvocationLine" time="0" />
    +
    +      <testcase classname="org.jacoco.core.internal.flow.LabelInfoTest" name="testSuccessor" time="0" />
    +
    +      <testcase classname="org.jacoco.core.internal.flow.LabelInfoTest" name="testMultiTarget1" time="0" />
    +
    +      <testcase classname="org.jacoco.core.internal.flow.LabelInfoTest" name="testMultiTarget2" time="0" />
    +
    +      <testcase classname="org.jacoco.core.internal.flow.LabelInfoTest" name="testMultiTarget3" time="0" />
    +
    +      <testcase classname="org.jacoco.core.internal.flow.LabelInfoTest" name="testSetProbeId" time="0" />
    +
    +  </testsuite>
    +  <testsuite errors="0" failures="0" id="97" name="MethodProbesAdapterTest" package="org.jacoco.core.internal.flow" skipped="0" tests="19" time="0.013" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="https://maven.apache.org/surefire/maven-surefire-plugin/xsd/surefire-test-report.xsd">
    +      <properties>
    +          <property name="jansi.mode" value="strip" />
    +
    +          <property name="java.runtime.name" value="OpenJDK Runtime Environment" />
    +
    +          <property name="java.vm.version" value="17.0.10+7" />
    +
    +          <property name="sun.boot.library.path" value="/usr/lib/jvm/temurin-17-jdk-amd64/lib" />
    +
    +          <property name="maven.multiModuleProjectDirectory" value="/home/vsts/work/1/s/org.jacoco.build" />
    +
    +          <property name="jdk.version" value="5" />
    +
    +          <property name="java.vm.vendor" value="Eclipse Adoptium" />
    +
    +          <property name="java.vendor.url" value="https://adoptium.net/" />
    +
    +          <property name="guice.disable.misplaced.annotation.check" value="true" />
    +
    +          <property name="path.separator" value=":" />
    +
    +          <property name="java.vm.name" value="OpenJDK 64-Bit Server VM" />
    +
    +          <property name="sun.java.launcher" value="SUN_STANDARD" />
    +
    +          <property name="java.vm.specification.name" value="Java Virtual Machine Specification" />
    +
    +          <property name="user.dir" value="/home/vsts/work/1/s" />
    +
    +          <property name="java.vm.compressedOopsMode" value="32-bit" />
    +
    +          <property name="java.runtime.version" value="17.0.10+7" />
    +
    +          <property name="os.arch" value="amd64" />
    +
    +          <property name="java.io.tmpdir" value="/tmp" />
    +
    +          <property name="line.separator" value="&#xa;" />
    +
    +          <property name="java.vm.specification.vendor" value="Oracle Corporation" />
    +
    +          <property name="os.name" value="Linux" />
    +
    +          <property name="classworlds.conf" value="/home/vsts/work/1/s/.maven/bin/m2.conf" />
    +
    +          <property name="sun.jnu.encoding" value="UTF-8" />
    +
    +          <property name="deployAtEnd" value="true" />
    +
    +          <property name="java.library.path" value="/usr/java/packages/lib:/usr/lib64:/lib64:/lib:/usr/lib" />
    +
    +          <property name="maven.conf" value="/home/vsts/work/1/s/.maven/conf" />
    +
    +          <property name="jdk.debug" value="release" />
    +
    +          <property name="java.class.version" value="61.0" />
    +
    +          <property name="java.specification.name" value="Java Platform API Specification" />
    +
    +          <property name="sun.management.compiler" value="HotSpot 64-Bit Tiered Compilers" />
    +
    +          <property name="os.version" value="5.15.0-1059-azure" />
    +
    +          <property name="library.jansi.path" value="/home/vsts/work/1/s/.maven/lib/jansi-native" />
    +
    +          <property name="user.home" value="/home/vsts" />
    +
    +          <property name="user.timezone" value="Etc/UTC" />
    +
    +          <property name="file.encoding" value="UTF-8" />
    +
    +          <property name="java.specification.version" value="17" />
    +
    +          <property name="user.name" value="vsts" />
    +
    +          <property name="java.class.path" value="/home/vsts/work/1/s/.maven/boot/plexus-classworlds-2.6.0.jar" />
    +
    +          <property name="bytecode.version" value="5" />
    +
    +          <property name="java.vm.specification.version" value="17" />
    +
    +          <property name="sun.arch.data.model" value="64" />
    +
    +          <property name="sun.java.command" value="org.codehaus.plexus.classworlds.launcher.Launcher -V -B -e --no-transfer-progress -f org.jacoco.build verify -Djdk.version=5 -Dbytecode.version=5 deploy:deploy -DdeployAtEnd --toolchains=toolchains.xml --settings=.azure-pipelines/maven-settings.xml" />
    +
    +          <property name="java.home" value="/usr/lib/jvm/temurin-17-jdk-amd64" />
    +
    +          <property name="user.language" value="en" />
    +
    +          <property name="java.specification.vendor" value="Oracle Corporation" />
    +
    +          <property name="java.vm.info" value="mixed mode, sharing" />
    +
    +          <property name="java.version" value="17.0.10" />
    +
    +          <property name="native.encoding" value="UTF-8" />
    +
    +          <property name="securerandom.source" value="file:/dev/./urandom" />
    +
    +          <property name="java.vendor" value="Eclipse Adoptium" />
    +
    +          <property name="maven.home" value="/home/vsts/work/1/s/.maven" />
    +
    +          <property name="file.separator" value="/" />
    +
    +          <property name="java.version.date" value="2024-01-16" />
    +
    +          <property name="java.vendor.url.bug" value="https://github.com/adoptium/adoptium-support/issues" />
    +
    +          <property name="sun.io.unicode.encoding" value="UnicodeLittle" />
    +
    +          <property name="sun.font.fontmanager" value="sun.awt.X11FontManager" />
    +
    +          <property name="sun.cpu.endian" value="little" />
    +
    +          <property name="java.vendor.version" value="Temurin-17.0.10+7" />
    +
    +      </properties>
    +
    +      <testcase classname="org.jacoco.core.internal.flow.MethodProbesAdapterTest" name="testVisitTryCatchBlockNoProbe" time="0" />
    +
    +      <testcase classname="org.jacoco.core.internal.flow.MethodProbesAdapterTest" name="testVisitLookupSwitchInsn1" time="0.001" />
    +
    +      <testcase classname="org.jacoco.core.internal.flow.MethodProbesAdapterTest" name="testVisitLookupSwitchInsn2" time="0" />
    +
    +      <testcase classname="org.jacoco.core.internal.flow.MethodProbesAdapterTest" name="testVisitLookupSwitchInsn3" time="0" />
    +
    +      <testcase classname="org.jacoco.core.internal.flow.MethodProbesAdapterTest" name="testVisitTryCatchBlockWithProbeBeforeEnd" time="0" />
    +
    +      <testcase classname="org.jacoco.core.internal.flow.MethodProbesAdapterTest" name="testStructuredLocking" time="0.001" />
    +
    +      <testcase classname="org.jacoco.core.internal.flow.MethodProbesAdapterTest" name="testVisitTryCatchBlockWithProbeBeforeStart" time="0" />
    +
    +      <testcase classname="org.jacoco.core.internal.flow.MethodProbesAdapterTest" name="testVisitInsn1" time="0" />
    +
    +      <testcase classname="org.jacoco.core.internal.flow.MethodProbesAdapterTest" name="testVisitInsn2" time="0" />
    +
    +      <testcase classname="org.jacoco.core.internal.flow.MethodProbesAdapterTest" name="testVisitProbe1" time="0" />
    +
    +      <testcase classname="org.jacoco.core.internal.flow.MethodProbesAdapterTest" name="testVisitProbe2" time="0" />
    +
    +      <testcase classname="org.jacoco.core.internal.flow.MethodProbesAdapterTest" name="testVisitProbe3" time="0" />
    +
    +      <testcase classname="org.jacoco.core.internal.flow.MethodProbesAdapterTest" name="testVisitTableSwitchInsn1" time="0.001" />
    +
    +      <testcase classname="org.jacoco.core.internal.flow.MethodProbesAdapterTest" name="testVisitTableSwitchInsn2" time="0" />
    +
    +      <testcase classname="org.jacoco.core.internal.flow.MethodProbesAdapterTest" name="testVisitTableSwitchInsn3" time="0" />
    +
    +      <testcase classname="org.jacoco.core.internal.flow.MethodProbesAdapterTest" name="testVisitJumpInsn1" time="0.001" />
    +
    +      <testcase classname="org.jacoco.core.internal.flow.MethodProbesAdapterTest" name="testVisitJumpInsn2" time="0" />
    +
    +      <testcase classname="org.jacoco.core.internal.flow.MethodProbesAdapterTest" name="testVisitJumpInsn3" time="0" />
    +
    +      <testcase classname="org.jacoco.core.internal.flow.MethodProbesAdapterTest" name="testVisitJumpInsn4" time="0" />
    +
    +  </testsuite>
    +  <testsuite errors="0" failures="0" id="98" name="MethodSanitizerTest" package="org.jacoco.core.internal.flow" skipped="0" tests="5" time="0.011" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="https://maven.apache.org/surefire/maven-surefire-plugin/xsd/surefire-test-report.xsd">
    +      <properties>
    +          <property name="jansi.mode" value="strip" />
    +
    +          <property name="java.runtime.name" value="OpenJDK Runtime Environment" />
    +
    +          <property name="java.vm.version" value="17.0.10+7" />
    +
    +          <property name="sun.boot.library.path" value="/usr/lib/jvm/temurin-17-jdk-amd64/lib" />
    +
    +          <property name="maven.multiModuleProjectDirectory" value="/home/vsts/work/1/s/org.jacoco.build" />
    +
    +          <property name="jdk.version" value="5" />
    +
    +          <property name="java.vm.vendor" value="Eclipse Adoptium" />
    +
    +          <property name="java.vendor.url" value="https://adoptium.net/" />
    +
    +          <property name="guice.disable.misplaced.annotation.check" value="true" />
    +
    +          <property name="path.separator" value=":" />
    +
    +          <property name="java.vm.name" value="OpenJDK 64-Bit Server VM" />
    +
    +          <property name="sun.java.launcher" value="SUN_STANDARD" />
    +
    +          <property name="java.vm.specification.name" value="Java Virtual Machine Specification" />
    +
    +          <property name="user.dir" value="/home/vsts/work/1/s" />
    +
    +          <property name="java.vm.compressedOopsMode" value="32-bit" />
    +
    +          <property name="java.runtime.version" value="17.0.10+7" />
    +
    +          <property name="os.arch" value="amd64" />
    +
    +          <property name="java.io.tmpdir" value="/tmp" />
    +
    +          <property name="line.separator" value="&#xa;" />
    +
    +          <property name="java.vm.specification.vendor" value="Oracle Corporation" />
    +
    +          <property name="os.name" value="Linux" />
    +
    +          <property name="classworlds.conf" value="/home/vsts/work/1/s/.maven/bin/m2.conf" />
    +
    +          <property name="sun.jnu.encoding" value="UTF-8" />
    +
    +          <property name="deployAtEnd" value="true" />
    +
    +          <property name="java.library.path" value="/usr/java/packages/lib:/usr/lib64:/lib64:/lib:/usr/lib" />
    +
    +          <property name="maven.conf" value="/home/vsts/work/1/s/.maven/conf" />
    +
    +          <property name="jdk.debug" value="release" />
    +
    +          <property name="java.class.version" value="61.0" />
    +
    +          <property name="java.specification.name" value="Java Platform API Specification" />
    +
    +          <property name="sun.management.compiler" value="HotSpot 64-Bit Tiered Compilers" />
    +
    +          <property name="os.version" value="5.15.0-1059-azure" />
    +
    +          <property name="library.jansi.path" value="/home/vsts/work/1/s/.maven/lib/jansi-native" />
    +
    +          <property name="user.home" value="/home/vsts" />
    +
    +          <property name="user.timezone" value="Etc/UTC" />
    +
    +          <property name="file.encoding" value="UTF-8" />
    +
    +          <property name="java.specification.version" value="17" />
    +
    +          <property name="user.name" value="vsts" />
    +
    +          <property name="java.class.path" value="/home/vsts/work/1/s/.maven/boot/plexus-classworlds-2.6.0.jar" />
    +
    +          <property name="bytecode.version" value="5" />
    +
    +          <property name="java.vm.specification.version" value="17" />
    +
    +          <property name="sun.arch.data.model" value="64" />
    +
    +          <property name="sun.java.command" value="org.codehaus.plexus.classworlds.launcher.Launcher -V -B -e --no-transfer-progress -f org.jacoco.build verify -Djdk.version=5 -Dbytecode.version=5 deploy:deploy -DdeployAtEnd --toolchains=toolchains.xml --settings=.azure-pipelines/maven-settings.xml" />
    +
    +          <property name="java.home" value="/usr/lib/jvm/temurin-17-jdk-amd64" />
    +
    +          <property name="user.language" value="en" />
    +
    +          <property name="java.specification.vendor" value="Oracle Corporation" />
    +
    +          <property name="java.vm.info" value="mixed mode, sharing" />
    +
    +          <property name="java.version" value="17.0.10" />
    +
    +          <property name="native.encoding" value="UTF-8" />
    +
    +          <property name="securerandom.source" value="file:/dev/./urandom" />
    +
    +          <property name="java.vendor" value="Eclipse Adoptium" />
    +
    +          <property name="maven.home" value="/home/vsts/work/1/s/.maven" />
    +
    +          <property name="file.separator" value="/" />
    +
    +          <property name="java.version.date" value="2024-01-16" />
    +
    +          <property name="java.vendor.url.bug" value="https://github.com/adoptium/adoptium-support/issues" />
    +
    +          <property name="sun.io.unicode.encoding" value="UnicodeLittle" />
    +
    +          <property name="sun.font.fontmanager" value="sun.awt.X11FontManager" />
    +
    +          <property name="sun.cpu.endian" value="little" />
    +
    +          <property name="java.vendor.version" value="Temurin-17.0.10+7" />
    +
    +      </properties>
    +
    +      <testcase classname="org.jacoco.core.internal.flow.MethodSanitizerTest" name="testLineNumberPositive" time="0.001" />
    +
    +      <testcase classname="org.jacoco.core.internal.flow.MethodSanitizerTest" name="testLocalVariablePositive" time="0.009" />
    +
    +      <testcase classname="org.jacoco.core.internal.flow.MethodSanitizerTest" name="testLineNumberNegative" time="0" />
    +
    +      <testcase classname="org.jacoco.core.internal.flow.MethodSanitizerTest" name="testLocalVariableNegative1" time="0" />
    +
    +      <testcase classname="org.jacoco.core.internal.flow.MethodSanitizerTest" name="testLocalVariableNegative2" time="0" />
    +
    +  </testsuite>
    +  <testsuite errors="0" failures="0" id="99" name="ClassInstrumenterTest" package="org.jacoco.core.internal.instr" skipped="0" tests="3" time="0.007" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="https://maven.apache.org/surefire/maven-surefire-plugin/xsd/surefire-test-report.xsd">
    +      <properties>
    +          <property name="jansi.mode" value="strip" />
    +
    +          <property name="java.runtime.name" value="OpenJDK Runtime Environment" />
    +
    +          <property name="java.vm.version" value="17.0.10+7" />
    +
    +          <property name="sun.boot.library.path" value="/usr/lib/jvm/temurin-17-jdk-amd64/lib" />
    +
    +          <property name="maven.multiModuleProjectDirectory" value="/home/vsts/work/1/s/org.jacoco.build" />
    +
    +          <property name="jdk.version" value="5" />
    +
    +          <property name="java.vm.vendor" value="Eclipse Adoptium" />
    +
    +          <property name="java.vendor.url" value="https://adoptium.net/" />
    +
    +          <property name="guice.disable.misplaced.annotation.check" value="true" />
    +
    +          <property name="path.separator" value=":" />
    +
    +          <property name="java.vm.name" value="OpenJDK 64-Bit Server VM" />
    +
    +          <property name="sun.java.launcher" value="SUN_STANDARD" />
    +
    +          <property name="java.vm.specification.name" value="Java Virtual Machine Specification" />
    +
    +          <property name="user.dir" value="/home/vsts/work/1/s" />
    +
    +          <property name="java.vm.compressedOopsMode" value="32-bit" />
    +
    +          <property name="java.runtime.version" value="17.0.10+7" />
    +
    +          <property name="os.arch" value="amd64" />
    +
    +          <property name="java.io.tmpdir" value="/tmp" />
    +
    +          <property name="line.separator" value="&#xa;" />
    +
    +          <property name="java.vm.specification.vendor" value="Oracle Corporation" />
    +
    +          <property name="os.name" value="Linux" />
    +
    +          <property name="classworlds.conf" value="/home/vsts/work/1/s/.maven/bin/m2.conf" />
    +
    +          <property name="sun.jnu.encoding" value="UTF-8" />
    +
    +          <property name="deployAtEnd" value="true" />
    +
    +          <property name="java.library.path" value="/usr/java/packages/lib:/usr/lib64:/lib64:/lib:/usr/lib" />
    +
    +          <property name="maven.conf" value="/home/vsts/work/1/s/.maven/conf" />
    +
    +          <property name="jdk.debug" value="release" />
    +
    +          <property name="java.class.version" value="61.0" />
    +
    +          <property name="java.specification.name" value="Java Platform API Specification" />
    +
    +          <property name="sun.management.compiler" value="HotSpot 64-Bit Tiered Compilers" />
    +
    +          <property name="os.version" value="5.15.0-1059-azure" />
    +
    +          <property name="library.jansi.path" value="/home/vsts/work/1/s/.maven/lib/jansi-native" />
    +
    +          <property name="user.home" value="/home/vsts" />
    +
    +          <property name="user.timezone" value="Etc/UTC" />
    +
    +          <property name="file.encoding" value="UTF-8" />
    +
    +          <property name="java.specification.version" value="17" />
    +
    +          <property name="user.name" value="vsts" />
    +
    +          <property name="java.class.path" value="/home/vsts/work/1/s/.maven/boot/plexus-classworlds-2.6.0.jar" />
    +
    +          <property name="bytecode.version" value="5" />
    +
    +          <property name="java.vm.specification.version" value="17" />
    +
    +          <property name="sun.arch.data.model" value="64" />
    +
    +          <property name="sun.java.command" value="org.codehaus.plexus.classworlds.launcher.Launcher -V -B -e --no-transfer-progress -f org.jacoco.build verify -Djdk.version=5 -Dbytecode.version=5 deploy:deploy -DdeployAtEnd --toolchains=toolchains.xml --settings=.azure-pipelines/maven-settings.xml" />
    +
    +          <property name="java.home" value="/usr/lib/jvm/temurin-17-jdk-amd64" />
    +
    +          <property name="user.language" value="en" />
    +
    +          <property name="java.specification.vendor" value="Oracle Corporation" />
    +
    +          <property name="java.vm.info" value="mixed mode, sharing" />
    +
    +          <property name="java.version" value="17.0.10" />
    +
    +          <property name="native.encoding" value="UTF-8" />
    +
    +          <property name="securerandom.source" value="file:/dev/./urandom" />
    +
    +          <property name="java.vendor" value="Eclipse Adoptium" />
    +
    +          <property name="maven.home" value="/home/vsts/work/1/s/.maven" />
    +
    +          <property name="file.separator" value="/" />
    +
    +          <property name="java.version.date" value="2024-01-16" />
    +
    +          <property name="java.vendor.url.bug" value="https://github.com/adoptium/adoptium-support/issues" />
    +
    +          <property name="sun.io.unicode.encoding" value="UnicodeLittle" />
    +
    +          <property name="sun.font.fontmanager" value="sun.awt.X11FontManager" />
    +
    +          <property name="sun.cpu.endian" value="little" />
    +
    +          <property name="java.vendor.version" value="Temurin-17.0.10+7" />
    +
    +      </properties>
    +
    +      <testcase classname="org.jacoco.core.internal.instr.ClassInstrumenterTest" name="testInstrumentInstrumentedClass1" time="0" />
    +
    +      <testcase classname="org.jacoco.core.internal.instr.ClassInstrumenterTest" name="testInstrumentInstrumentedClass2" time="0.007" />
    +
    +      <testcase classname="org.jacoco.core.internal.instr.ClassInstrumenterTest" name="testNoMethodVisitor" time="0" />
    +
    +  </testsuite>
    +  <testsuite errors="0" failures="0" id="100" name="CondyProbeArrayStrategyTest" package="org.jacoco.core.internal.instr" skipped="0" tests="3" time="0.007" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="https://maven.apache.org/surefire/maven-surefire-plugin/xsd/surefire-test-report.xsd">
    +      <properties>
    +          <property name="jansi.mode" value="strip" />
    +
    +          <property name="java.runtime.name" value="OpenJDK Runtime Environment" />
    +
    +          <property name="java.vm.version" value="17.0.10+7" />
    +
    +          <property name="sun.boot.library.path" value="/usr/lib/jvm/temurin-17-jdk-amd64/lib" />
    +
    +          <property name="maven.multiModuleProjectDirectory" value="/home/vsts/work/1/s/org.jacoco.build" />
    +
    +          <property name="jdk.version" value="5" />
    +
    +          <property name="java.vm.vendor" value="Eclipse Adoptium" />
    +
    +          <property name="java.vendor.url" value="https://adoptium.net/" />
    +
    +          <property name="guice.disable.misplaced.annotation.check" value="true" />
    +
    +          <property name="path.separator" value=":" />
    +
    +          <property name="java.vm.name" value="OpenJDK 64-Bit Server VM" />
    +
    +          <property name="sun.java.launcher" value="SUN_STANDARD" />
    +
    +          <property name="java.vm.specification.name" value="Java Virtual Machine Specification" />
    +
    +          <property name="user.dir" value="/home/vsts/work/1/s" />
    +
    +          <property name="java.vm.compressedOopsMode" value="32-bit" />
    +
    +          <property name="java.runtime.version" value="17.0.10+7" />
    +
    +          <property name="os.arch" value="amd64" />
    +
    +          <property name="java.io.tmpdir" value="/tmp" />
    +
    +          <property name="line.separator" value="&#xa;" />
    +
    +          <property name="java.vm.specification.vendor" value="Oracle Corporation" />
    +
    +          <property name="os.name" value="Linux" />
    +
    +          <property name="classworlds.conf" value="/home/vsts/work/1/s/.maven/bin/m2.conf" />
    +
    +          <property name="sun.jnu.encoding" value="UTF-8" />
    +
    +          <property name="deployAtEnd" value="true" />
    +
    +          <property name="java.library.path" value="/usr/java/packages/lib:/usr/lib64:/lib64:/lib:/usr/lib" />
    +
    +          <property name="maven.conf" value="/home/vsts/work/1/s/.maven/conf" />
    +
    +          <property name="jdk.debug" value="release" />
    +
    +          <property name="java.class.version" value="61.0" />
    +
    +          <property name="java.specification.name" value="Java Platform API Specification" />
    +
    +          <property name="sun.management.compiler" value="HotSpot 64-Bit Tiered Compilers" />
    +
    +          <property name="os.version" value="5.15.0-1059-azure" />
    +
    +          <property name="library.jansi.path" value="/home/vsts/work/1/s/.maven/lib/jansi-native" />
    +
    +          <property name="user.home" value="/home/vsts" />
    +
    +          <property name="user.timezone" value="Etc/UTC" />
    +
    +          <property name="file.encoding" value="UTF-8" />
    +
    +          <property name="java.specification.version" value="17" />
    +
    +          <property name="user.name" value="vsts" />
    +
    +          <property name="java.class.path" value="/home/vsts/work/1/s/.maven/boot/plexus-classworlds-2.6.0.jar" />
    +
    +          <property name="bytecode.version" value="5" />
    +
    +          <property name="java.vm.specification.version" value="17" />
    +
    +          <property name="sun.arch.data.model" value="64" />
    +
    +          <property name="sun.java.command" value="org.codehaus.plexus.classworlds.launcher.Launcher -V -B -e --no-transfer-progress -f org.jacoco.build verify -Djdk.version=5 -Dbytecode.version=5 deploy:deploy -DdeployAtEnd --toolchains=toolchains.xml --settings=.azure-pipelines/maven-settings.xml" />
    +
    +          <property name="java.home" value="/usr/lib/jvm/temurin-17-jdk-amd64" />
    +
    +          <property name="user.language" value="en" />
    +
    +          <property name="java.specification.vendor" value="Oracle Corporation" />
    +
    +          <property name="java.vm.info" value="mixed mode, sharing" />
    +
    +          <property name="java.version" value="17.0.10" />
    +
    +          <property name="native.encoding" value="UTF-8" />
    +
    +          <property name="securerandom.source" value="file:/dev/./urandom" />
    +
    +          <property name="java.vendor" value="Eclipse Adoptium" />
    +
    +          <property name="maven.home" value="/home/vsts/work/1/s/.maven" />
    +
    +          <property name="file.separator" value="/" />
    +
    +          <property name="java.version.date" value="2024-01-16" />
    +
    +          <property name="java.vendor.url.bug" value="https://github.com/adoptium/adoptium-support/issues" />
    +
    +          <property name="sun.io.unicode.encoding" value="UnicodeLittle" />
    +
    +          <property name="sun.font.fontmanager" value="sun.awt.X11FontManager" />
    +
    +          <property name="sun.cpu.endian" value="little" />
    +
    +          <property name="java.vendor.version" value="Temurin-17.0.10+7" />
    +
    +      </properties>
    +
    +      <testcase classname="org.jacoco.core.internal.instr.CondyProbeArrayStrategyTest" name="should_store_instance_using_condy_and_checkcast" time="0" />
    +
    +      <testcase classname="org.jacoco.core.internal.instr.CondyProbeArrayStrategyTest" name="should_not_add_fields" time="0.001" />
    +
    +      <testcase classname="org.jacoco.core.internal.instr.CondyProbeArrayStrategyTest" name="should_add_bootstrap_method" time="0.002" />
    +
    +  </testsuite>
    +  <testsuite errors="0" failures="0" id="101" name="DuplicateFrameEliminatorTest" package="org.jacoco.core.internal.instr" skipped="0" tests="14" time="0.013" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="https://maven.apache.org/surefire/maven-surefire-plugin/xsd/surefire-test-report.xsd">
    +      <properties>
    +          <property name="jansi.mode" value="strip" />
    +
    +          <property name="java.runtime.name" value="OpenJDK Runtime Environment" />
    +
    +          <property name="java.vm.version" value="17.0.10+7" />
    +
    +          <property name="sun.boot.library.path" value="/usr/lib/jvm/temurin-17-jdk-amd64/lib" />
    +
    +          <property name="maven.multiModuleProjectDirectory" value="/home/vsts/work/1/s/org.jacoco.build" />
    +
    +          <property name="jdk.version" value="5" />
    +
    +          <property name="java.vm.vendor" value="Eclipse Adoptium" />
    +
    +          <property name="java.vendor.url" value="https://adoptium.net/" />
    +
    +          <property name="guice.disable.misplaced.annotation.check" value="true" />
    +
    +          <property name="path.separator" value=":" />
    +
    +          <property name="java.vm.name" value="OpenJDK 64-Bit Server VM" />
    +
    +          <property name="sun.java.launcher" value="SUN_STANDARD" />
    +
    +          <property name="java.vm.specification.name" value="Java Virtual Machine Specification" />
    +
    +          <property name="user.dir" value="/home/vsts/work/1/s" />
    +
    +          <property name="java.vm.compressedOopsMode" value="32-bit" />
    +
    +          <property name="java.runtime.version" value="17.0.10+7" />
    +
    +          <property name="os.arch" value="amd64" />
    +
    +          <property name="java.io.tmpdir" value="/tmp" />
    +
    +          <property name="line.separator" value="&#xa;" />
    +
    +          <property name="java.vm.specification.vendor" value="Oracle Corporation" />
    +
    +          <property name="os.name" value="Linux" />
    +
    +          <property name="classworlds.conf" value="/home/vsts/work/1/s/.maven/bin/m2.conf" />
    +
    +          <property name="sun.jnu.encoding" value="UTF-8" />
    +
    +          <property name="deployAtEnd" value="true" />
    +
    +          <property name="java.library.path" value="/usr/java/packages/lib:/usr/lib64:/lib64:/lib:/usr/lib" />
    +
    +          <property name="maven.conf" value="/home/vsts/work/1/s/.maven/conf" />
    +
    +          <property name="jdk.debug" value="release" />
    +
    +          <property name="java.class.version" value="61.0" />
    +
    +          <property name="java.specification.name" value="Java Platform API Specification" />
    +
    +          <property name="sun.management.compiler" value="HotSpot 64-Bit Tiered Compilers" />
    +
    +          <property name="os.version" value="5.15.0-1059-azure" />
    +
    +          <property name="library.jansi.path" value="/home/vsts/work/1/s/.maven/lib/jansi-native" />
    +
    +          <property name="user.home" value="/home/vsts" />
    +
    +          <property name="user.timezone" value="Etc/UTC" />
    +
    +          <property name="file.encoding" value="UTF-8" />
    +
    +          <property name="java.specification.version" value="17" />
    +
    +          <property name="user.name" value="vsts" />
    +
    +          <property name="java.class.path" value="/home/vsts/work/1/s/.maven/boot/plexus-classworlds-2.6.0.jar" />
    +
    +          <property name="bytecode.version" value="5" />
    +
    +          <property name="java.vm.specification.version" value="17" />
    +
    +          <property name="sun.arch.data.model" value="64" />
    +
    +          <property name="sun.java.command" value="org.codehaus.plexus.classworlds.launcher.Launcher -V -B -e --no-transfer-progress -f org.jacoco.build verify -Djdk.version=5 -Dbytecode.version=5 deploy:deploy -DdeployAtEnd --toolchains=toolchains.xml --settings=.azure-pipelines/maven-settings.xml" />
    +
    +          <property name="java.home" value="/usr/lib/jvm/temurin-17-jdk-amd64" />
    +
    +          <property name="user.language" value="en" />
    +
    +          <property name="java.specification.vendor" value="Oracle Corporation" />
    +
    +          <property name="java.vm.info" value="mixed mode, sharing" />
    +
    +          <property name="java.version" value="17.0.10" />
    +
    +          <property name="native.encoding" value="UTF-8" />
    +
    +          <property name="securerandom.source" value="file:/dev/./urandom" />
    +
    +          <property name="java.vendor" value="Eclipse Adoptium" />
    +
    +          <property name="maven.home" value="/home/vsts/work/1/s/.maven" />
    +
    +          <property name="file.separator" value="/" />
    +
    +          <property name="java.version.date" value="2024-01-16" />
    +
    +          <property name="java.vendor.url.bug" value="https://github.com/adoptium/adoptium-support/issues" />
    +
    +          <property name="sun.io.unicode.encoding" value="UnicodeLittle" />
    +
    +          <property name="sun.font.fontmanager" value="sun.awt.X11FontManager" />
    +
    +          <property name="sun.cpu.endian" value="little" />
    +
    +          <property name="java.vendor.version" value="Temurin-17.0.10+7" />
    +
    +      </properties>
    +
    +      <testcase classname="org.jacoco.core.internal.instr.DuplicateFrameEliminatorTest" name="testLookupSwitchInsn" time="0.009" />
    +
    +      <testcase classname="org.jacoco.core.internal.instr.DuplicateFrameEliminatorTest" name="testMethodInsn" time="0" />
    +
    +      <testcase classname="org.jacoco.core.internal.instr.DuplicateFrameEliminatorTest" name="testDuplicateFrame" time="0" />
    +
    +      <testcase classname="org.jacoco.core.internal.instr.DuplicateFrameEliminatorTest" name="testInsn" time="0.001" />
    +
    +      <testcase classname="org.jacoco.core.internal.instr.DuplicateFrameEliminatorTest" name="testInvokeDynamicInsn" time="0" />
    +
    +      <testcase classname="org.jacoco.core.internal.instr.DuplicateFrameEliminatorTest" name="testLdcInsn" time="0" />
    +
    +      <testcase classname="org.jacoco.core.internal.instr.DuplicateFrameEliminatorTest" name="testTableSwitchInsn" time="0" />
    +
    +      <testcase classname="org.jacoco.core.internal.instr.DuplicateFrameEliminatorTest" name="testVarInsn" time="0" />
    +
    +      <testcase classname="org.jacoco.core.internal.instr.DuplicateFrameEliminatorTest" name="testTypeInsn" time="0.001" />
    +
    +      <testcase classname="org.jacoco.core.internal.instr.DuplicateFrameEliminatorTest" name="testMultiANewArrayInsn" time="0" />
    +
    +      <testcase classname="org.jacoco.core.internal.instr.DuplicateFrameEliminatorTest" name="testJumpInsn" time="0" />
    +
    +      <testcase classname="org.jacoco.core.internal.instr.DuplicateFrameEliminatorTest" name="testIincInsn" time="0.001" />
    +
    +      <testcase classname="org.jacoco.core.internal.instr.DuplicateFrameEliminatorTest" name="testIntInsn" time="0" />
    +
    +      <testcase classname="org.jacoco.core.internal.instr.DuplicateFrameEliminatorTest" name="testFieldInsn" time="0" />
    +
    +  </testsuite>
    +  <testsuite errors="0" failures="0" id="102" name="InstrSupportTest" package="org.jacoco.core.internal.instr" skipped="0" tests="22" time="0.017" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="https://maven.apache.org/surefire/maven-surefire-plugin/xsd/surefire-test-report.xsd">
    +      <properties>
    +          <property name="jansi.mode" value="strip" />
    +
    +          <property name="java.runtime.name" value="OpenJDK Runtime Environment" />
    +
    +          <property name="java.vm.version" value="17.0.10+7" />
    +
    +          <property name="sun.boot.library.path" value="/usr/lib/jvm/temurin-17-jdk-amd64/lib" />
    +
    +          <property name="maven.multiModuleProjectDirectory" value="/home/vsts/work/1/s/org.jacoco.build" />
    +
    +          <property name="jdk.version" value="5" />
    +
    +          <property name="java.vm.vendor" value="Eclipse Adoptium" />
    +
    +          <property name="java.vendor.url" value="https://adoptium.net/" />
    +
    +          <property name="guice.disable.misplaced.annotation.check" value="true" />
    +
    +          <property name="path.separator" value=":" />
    +
    +          <property name="java.vm.name" value="OpenJDK 64-Bit Server VM" />
    +
    +          <property name="sun.java.launcher" value="SUN_STANDARD" />
    +
    +          <property name="java.vm.specification.name" value="Java Virtual Machine Specification" />
    +
    +          <property name="user.dir" value="/home/vsts/work/1/s" />
    +
    +          <property name="java.vm.compressedOopsMode" value="32-bit" />
    +
    +          <property name="java.runtime.version" value="17.0.10+7" />
    +
    +          <property name="os.arch" value="amd64" />
    +
    +          <property name="java.io.tmpdir" value="/tmp" />
    +
    +          <property name="line.separator" value="&#xa;" />
    +
    +          <property name="java.vm.specification.vendor" value="Oracle Corporation" />
    +
    +          <property name="os.name" value="Linux" />
    +
    +          <property name="classworlds.conf" value="/home/vsts/work/1/s/.maven/bin/m2.conf" />
    +
    +          <property name="sun.jnu.encoding" value="UTF-8" />
    +
    +          <property name="deployAtEnd" value="true" />
    +
    +          <property name="java.library.path" value="/usr/java/packages/lib:/usr/lib64:/lib64:/lib:/usr/lib" />
    +
    +          <property name="maven.conf" value="/home/vsts/work/1/s/.maven/conf" />
    +
    +          <property name="jdk.debug" value="release" />
    +
    +          <property name="java.class.version" value="61.0" />
    +
    +          <property name="java.specification.name" value="Java Platform API Specification" />
    +
    +          <property name="sun.management.compiler" value="HotSpot 64-Bit Tiered Compilers" />
    +
    +          <property name="os.version" value="5.15.0-1059-azure" />
    +
    +          <property name="library.jansi.path" value="/home/vsts/work/1/s/.maven/lib/jansi-native" />
    +
    +          <property name="user.home" value="/home/vsts" />
    +
    +          <property name="user.timezone" value="Etc/UTC" />
    +
    +          <property name="file.encoding" value="UTF-8" />
    +
    +          <property name="java.specification.version" value="17" />
    +
    +          <property name="user.name" value="vsts" />
    +
    +          <property name="java.class.path" value="/home/vsts/work/1/s/.maven/boot/plexus-classworlds-2.6.0.jar" />
    +
    +          <property name="bytecode.version" value="5" />
    +
    +          <property name="java.vm.specification.version" value="17" />
    +
    +          <property name="sun.arch.data.model" value="64" />
    +
    +          <property name="sun.java.command" value="org.codehaus.plexus.classworlds.launcher.Launcher -V -B -e --no-transfer-progress -f org.jacoco.build verify -Djdk.version=5 -Dbytecode.version=5 deploy:deploy -DdeployAtEnd --toolchains=toolchains.xml --settings=.azure-pipelines/maven-settings.xml" />
    +
    +          <property name="java.home" value="/usr/lib/jvm/temurin-17-jdk-amd64" />
    +
    +          <property name="user.language" value="en" />
    +
    +          <property name="java.specification.vendor" value="Oracle Corporation" />
    +
    +          <property name="java.vm.info" value="mixed mode, sharing" />
    +
    +          <property name="java.version" value="17.0.10" />
    +
    +          <property name="native.encoding" value="UTF-8" />
    +
    +          <property name="securerandom.source" value="file:/dev/./urandom" />
    +
    +          <property name="java.vendor" value="Eclipse Adoptium" />
    +
    +          <property name="maven.home" value="/home/vsts/work/1/s/.maven" />
    +
    +          <property name="file.separator" value="/" />
    +
    +          <property name="java.version.date" value="2024-01-16" />
    +
    +          <property name="java.vendor.url.bug" value="https://github.com/adoptium/adoptium-support/issues" />
    +
    +          <property name="sun.io.unicode.encoding" value="UnicodeLittle" />
    +
    +          <property name="sun.font.fontmanager" value="sun.awt.X11FontManager" />
    +
    +          <property name="sun.cpu.endian" value="little" />
    +
    +          <property name="java.vendor.version" value="Temurin-17.0.10+7" />
    +
    +      </properties>
    +
    +      <testcase classname="org.jacoco.core.internal.instr.InstrSupportTest" name="assertNotIntrumented_should_throw_exception_when_jacoco_data_field_is_present" time="0.001" />
    +
    +      <testcase classname="org.jacoco.core.internal.instr.InstrSupportTest" name="testPushInt0" time="0" />
    +
    +      <testcase classname="org.jacoco.core.internal.instr.InstrSupportTest" name="testPushInt1" time="0" />
    +
    +      <testcase classname="org.jacoco.core.internal.instr.InstrSupportTest" name="testPushInt2" time="0" />
    +
    +      <testcase classname="org.jacoco.core.internal.instr.InstrSupportTest" name="testPushInt3" time="0" />
    +
    +      <testcase classname="org.jacoco.core.internal.instr.InstrSupportTest" name="testPushInt4" time="0" />
    +
    +      <testcase classname="org.jacoco.core.internal.instr.InstrSupportTest" name="testPushInt5" time="0" />
    +
    +      <testcase classname="org.jacoco.core.internal.instr.InstrSupportTest" name="assertNotIntrumented_should_throw_exception_when_jacoco_init_method_is_present" time="0.001" />
    +
    +      <testcase classname="org.jacoco.core.internal.instr.InstrSupportTest" name="testPushInt2147483647" time="0" />
    +
    +      <testcase classname="org.jacoco.core.internal.instr.InstrSupportTest" name="getMajorVersion_should_read_major_version_from_ClassReader_at_offset_relative_to_constant_pool" time="0" />
    +
    +      <testcase classname="org.jacoco.core.internal.instr.InstrSupportTest" name="testPushInt32767" time="0" />
    +
    +      <testcase classname="org.jacoco.core.internal.instr.InstrSupportTest" name="testPushIntM32768" time="0" />
    +
    +      <testcase classname="org.jacoco.core.internal.instr.InstrSupportTest" name="needFrames_should_return_true_for_versions_greater_than_or_equal_to_1_6" time="0" />
    +
    +      <testcase classname="org.jacoco.core.internal.instr.InstrSupportTest" name="testPushIntM1" time="0" />
    +
    +      <testcase classname="org.jacoco.core.internal.instr.InstrSupportTest" name="testPushInt127" time="0" />
    +
    +      <testcase classname="org.jacoco.core.internal.instr.InstrSupportTest" name="getMajorVersion_should_read_unsigned_two_bytes_at_offset_6" time="0.001" />
    +
    +      <testcase classname="org.jacoco.core.internal.instr.InstrSupportTest" name="testPushIntM128" time="0" />
    +
    +      <testcase classname="org.jacoco.core.internal.instr.InstrSupportTest" name="testPushIntM2147483648" time="0" />
    +
    +      <testcase classname="org.jacoco.core.internal.instr.InstrSupportTest" name="needFrames_should_return_false_for_versions_less_than_1_6" time="0" />
    +
    +      <testcase classname="org.jacoco.core.internal.instr.InstrSupportTest" name="classReaderFor_should_read_java_23_class" time="0.001" />
    +
    +      <testcase classname="org.jacoco.core.internal.instr.InstrSupportTest" name="assertNotIntrumented_should_accept_non_jacoco_memebers" time="0" />
    +
    +      <testcase classname="org.jacoco.core.internal.instr.InstrSupportTest" name="setMajorVersion_should_write_unsigned_two_bytes_at_offset_6" time="0" />
    +
    +  </testsuite>
    +  <testsuite errors="0" failures="0" id="103" name="MethodInstrumenterTest" package="org.jacoco.core.internal.instr" skipped="0" tests="22" time="0.017" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="https://maven.apache.org/surefire/maven-surefire-plugin/xsd/surefire-test-report.xsd">
    +      <properties>
    +          <property name="jansi.mode" value="strip" />
    +
    +          <property name="java.runtime.name" value="OpenJDK Runtime Environment" />
    +
    +          <property name="java.vm.version" value="17.0.10+7" />
    +
    +          <property name="sun.boot.library.path" value="/usr/lib/jvm/temurin-17-jdk-amd64/lib" />
    +
    +          <property name="maven.multiModuleProjectDirectory" value="/home/vsts/work/1/s/org.jacoco.build" />
    +
    +          <property name="jdk.version" value="5" />
    +
    +          <property name="java.vm.vendor" value="Eclipse Adoptium" />
    +
    +          <property name="java.vendor.url" value="https://adoptium.net/" />
    +
    +          <property name="guice.disable.misplaced.annotation.check" value="true" />
    +
    +          <property name="path.separator" value=":" />
    +
    +          <property name="java.vm.name" value="OpenJDK 64-Bit Server VM" />
    +
    +          <property name="sun.java.launcher" value="SUN_STANDARD" />
    +
    +          <property name="java.vm.specification.name" value="Java Virtual Machine Specification" />
    +
    +          <property name="user.dir" value="/home/vsts/work/1/s" />
    +
    +          <property name="java.vm.compressedOopsMode" value="32-bit" />
    +
    +          <property name="java.runtime.version" value="17.0.10+7" />
    +
    +          <property name="os.arch" value="amd64" />
    +
    +          <property name="java.io.tmpdir" value="/tmp" />
    +
    +          <property name="line.separator" value="&#xa;" />
    +
    +          <property name="java.vm.specification.vendor" value="Oracle Corporation" />
    +
    +          <property name="os.name" value="Linux" />
    +
    +          <property name="classworlds.conf" value="/home/vsts/work/1/s/.maven/bin/m2.conf" />
    +
    +          <property name="sun.jnu.encoding" value="UTF-8" />
    +
    +          <property name="deployAtEnd" value="true" />
    +
    +          <property name="java.library.path" value="/usr/java/packages/lib:/usr/lib64:/lib64:/lib:/usr/lib" />
    +
    +          <property name="maven.conf" value="/home/vsts/work/1/s/.maven/conf" />
    +
    +          <property name="jdk.debug" value="release" />
    +
    +          <property name="java.class.version" value="61.0" />
    +
    +          <property name="java.specification.name" value="Java Platform API Specification" />
    +
    +          <property name="sun.management.compiler" value="HotSpot 64-Bit Tiered Compilers" />
    +
    +          <property name="os.version" value="5.15.0-1059-azure" />
    +
    +          <property name="library.jansi.path" value="/home/vsts/work/1/s/.maven/lib/jansi-native" />
    +
    +          <property name="user.home" value="/home/vsts" />
    +
    +          <property name="user.timezone" value="Etc/UTC" />
    +
    +          <property name="file.encoding" value="UTF-8" />
    +
    +          <property name="java.specification.version" value="17" />
    +
    +          <property name="user.name" value="vsts" />
    +
    +          <property name="java.class.path" value="/home/vsts/work/1/s/.maven/boot/plexus-classworlds-2.6.0.jar" />
    +
    +          <property name="bytecode.version" value="5" />
    +
    +          <property name="java.vm.specification.version" value="17" />
    +
    +          <property name="sun.arch.data.model" value="64" />
    +
    +          <property name="sun.java.command" value="org.codehaus.plexus.classworlds.launcher.Launcher -V -B -e --no-transfer-progress -f org.jacoco.build verify -Djdk.version=5 -Dbytecode.version=5 deploy:deploy -DdeployAtEnd --toolchains=toolchains.xml --settings=.azure-pipelines/maven-settings.xml" />
    +
    +          <property name="java.home" value="/usr/lib/jvm/temurin-17-jdk-amd64" />
    +
    +          <property name="user.language" value="en" />
    +
    +          <property name="java.specification.vendor" value="Oracle Corporation" />
    +
    +          <property name="java.vm.info" value="mixed mode, sharing" />
    +
    +          <property name="java.version" value="17.0.10" />
    +
    +          <property name="native.encoding" value="UTF-8" />
    +
    +          <property name="securerandom.source" value="file:/dev/./urandom" />
    +
    +          <property name="java.vendor" value="Eclipse Adoptium" />
    +
    +          <property name="maven.home" value="/home/vsts/work/1/s/.maven" />
    +
    +          <property name="file.separator" value="/" />
    +
    +          <property name="java.version.date" value="2024-01-16" />
    +
    +          <property name="java.vendor.url.bug" value="https://github.com/adoptium/adoptium-support/issues" />
    +
    +          <property name="sun.io.unicode.encoding" value="UnicodeLittle" />
    +
    +          <property name="sun.font.fontmanager" value="sun.awt.X11FontManager" />
    +
    +          <property name="sun.cpu.endian" value="little" />
    +
    +          <property name="java.vendor.version" value="Temurin-17.0.10+7" />
    +
    +      </properties>
    +
    +      <testcase classname="org.jacoco.core.internal.instr.MethodInstrumenterTest" name="testVisitTableSwitchInsnWithProbes" time="0.012" />
    +
    +      <testcase classname="org.jacoco.core.internal.instr.MethodInstrumenterTest" name="testVisitLookupSwitchInsnWithProbes" time="0" />
    +
    +      <testcase classname="org.jacoco.core.internal.instr.MethodInstrumenterTest" name="testVisitJumpInsnWithProbe_GOTO" time="0.001" />
    +
    +      <testcase classname="org.jacoco.core.internal.instr.MethodInstrumenterTest" name="testVisitJumpInsnWithProbe_IFEQ" time="0" />
    +
    +      <testcase classname="org.jacoco.core.internal.instr.MethodInstrumenterTest" name="testVisitJumpInsnWithProbe_IFGE" time="0" />
    +
    +      <testcase classname="org.jacoco.core.internal.instr.MethodInstrumenterTest" name="testVisitJumpInsnWithProbe_IFGT" time="0" />
    +
    +      <testcase classname="org.jacoco.core.internal.instr.MethodInstrumenterTest" name="testVisitJumpInsnWithProbe_IFLE" time="0" />
    +
    +      <testcase classname="org.jacoco.core.internal.instr.MethodInstrumenterTest" name="testVisitJumpInsnWithProbe_IFLT" time="0" />
    +
    +      <testcase classname="org.jacoco.core.internal.instr.MethodInstrumenterTest" name="testVisitJumpInsnWithProbe_IFNE" time="0.001" />
    +
    +      <testcase classname="org.jacoco.core.internal.instr.MethodInstrumenterTest" name="testVisitInsnWithProbe" time="0" />
    +
    +      <testcase classname="org.jacoco.core.internal.instr.MethodInstrumenterTest" name="testVisitJumpInsnWithProbe_IFNULL" time="0" />
    +
    +      <testcase classname="org.jacoco.core.internal.instr.MethodInstrumenterTest" name="testVisitJumpInsnWithProbe_IFNONNULL" time="0" />
    +
    +      <testcase classname="org.jacoco.core.internal.instr.MethodInstrumenterTest" name="testVisitJumpInsnWithProbe_InvalidOpcode" time="0" />
    +
    +      <testcase classname="org.jacoco.core.internal.instr.MethodInstrumenterTest" name="testVisitProbe" time="0" />
    +
    +      <testcase classname="org.jacoco.core.internal.instr.MethodInstrumenterTest" name="testVisitJumpInsnWithProbe_IF_ACMPEQ" time="0" />
    +
    +      <testcase classname="org.jacoco.core.internal.instr.MethodInstrumenterTest" name="testVisitJumpInsnWithProbe_IF_ACMPNE" time="0.001" />
    +
    +      <testcase classname="org.jacoco.core.internal.instr.MethodInstrumenterTest" name="testVisitJumpInsnWithProbe_IF_ICMPEQ" time="0" />
    +
    +      <testcase classname="org.jacoco.core.internal.instr.MethodInstrumenterTest" name="testVisitJumpInsnWithProbe_IF_ICMPGE" time="0" />
    +
    +      <testcase classname="org.jacoco.core.internal.instr.MethodInstrumenterTest" name="testVisitJumpInsnWithProbe_IF_ICMPGT" time="0" />
    +
    +      <testcase classname="org.jacoco.core.internal.instr.MethodInstrumenterTest" name="testVisitJumpInsnWithProbe_IF_ICMPLE" time="0" />
    +
    +      <testcase classname="org.jacoco.core.internal.instr.MethodInstrumenterTest" name="testVisitJumpInsnWithProbe_IF_ICMPLT" time="0" />
    +
    +      <testcase classname="org.jacoco.core.internal.instr.MethodInstrumenterTest" name="testVisitJumpInsnWithProbe_IF_ICMPNE" time="0.001" />
    +
    +  </testsuite>
    +  <testsuite errors="0" failures="0" id="104" name="NoneProbeArrayStrategyTest" package="org.jacoco.core.internal.instr" skipped="0" tests="2" time="0.004" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="https://maven.apache.org/surefire/maven-surefire-plugin/xsd/surefire-test-report.xsd">
    +      <properties>
    +          <property name="jansi.mode" value="strip" />
    +
    +          <property name="java.runtime.name" value="OpenJDK Runtime Environment" />
    +
    +          <property name="java.vm.version" value="17.0.10+7" />
    +
    +          <property name="sun.boot.library.path" value="/usr/lib/jvm/temurin-17-jdk-amd64/lib" />
    +
    +          <property name="maven.multiModuleProjectDirectory" value="/home/vsts/work/1/s/org.jacoco.build" />
    +
    +          <property name="jdk.version" value="5" />
    +
    +          <property name="java.vm.vendor" value="Eclipse Adoptium" />
    +
    +          <property name="java.vendor.url" value="https://adoptium.net/" />
    +
    +          <property name="guice.disable.misplaced.annotation.check" value="true" />
    +
    +          <property name="path.separator" value=":" />
    +
    +          <property name="java.vm.name" value="OpenJDK 64-Bit Server VM" />
    +
    +          <property name="sun.java.launcher" value="SUN_STANDARD" />
    +
    +          <property name="java.vm.specification.name" value="Java Virtual Machine Specification" />
    +
    +          <property name="user.dir" value="/home/vsts/work/1/s" />
    +
    +          <property name="java.vm.compressedOopsMode" value="32-bit" />
    +
    +          <property name="java.runtime.version" value="17.0.10+7" />
    +
    +          <property name="os.arch" value="amd64" />
    +
    +          <property name="java.io.tmpdir" value="/tmp" />
    +
    +          <property name="line.separator" value="&#xa;" />
    +
    +          <property name="java.vm.specification.vendor" value="Oracle Corporation" />
    +
    +          <property name="os.name" value="Linux" />
    +
    +          <property name="classworlds.conf" value="/home/vsts/work/1/s/.maven/bin/m2.conf" />
    +
    +          <property name="sun.jnu.encoding" value="UTF-8" />
    +
    +          <property name="deployAtEnd" value="true" />
    +
    +          <property name="java.library.path" value="/usr/java/packages/lib:/usr/lib64:/lib64:/lib:/usr/lib" />
    +
    +          <property name="maven.conf" value="/home/vsts/work/1/s/.maven/conf" />
    +
    +          <property name="jdk.debug" value="release" />
    +
    +          <property name="java.class.version" value="61.0" />
    +
    +          <property name="java.specification.name" value="Java Platform API Specification" />
    +
    +          <property name="sun.management.compiler" value="HotSpot 64-Bit Tiered Compilers" />
    +
    +          <property name="os.version" value="5.15.0-1059-azure" />
    +
    +          <property name="library.jansi.path" value="/home/vsts/work/1/s/.maven/lib/jansi-native" />
    +
    +          <property name="user.home" value="/home/vsts" />
    +
    +          <property name="user.timezone" value="Etc/UTC" />
    +
    +          <property name="file.encoding" value="UTF-8" />
    +
    +          <property name="java.specification.version" value="17" />
    +
    +          <property name="user.name" value="vsts" />
    +
    +          <property name="java.class.path" value="/home/vsts/work/1/s/.maven/boot/plexus-classworlds-2.6.0.jar" />
    +
    +          <property name="bytecode.version" value="5" />
    +
    +          <property name="java.vm.specification.version" value="17" />
    +
    +          <property name="sun.arch.data.model" value="64" />
    +
    +          <property name="sun.java.command" value="org.codehaus.plexus.classworlds.launcher.Launcher -V -B -e --no-transfer-progress -f org.jacoco.build verify -Djdk.version=5 -Dbytecode.version=5 deploy:deploy -DdeployAtEnd --toolchains=toolchains.xml --settings=.azure-pipelines/maven-settings.xml" />
    +
    +          <property name="java.home" value="/usr/lib/jvm/temurin-17-jdk-amd64" />
    +
    +          <property name="user.language" value="en" />
    +
    +          <property name="java.specification.vendor" value="Oracle Corporation" />
    +
    +          <property name="java.vm.info" value="mixed mode, sharing" />
    +
    +          <property name="java.version" value="17.0.10" />
    +
    +          <property name="native.encoding" value="UTF-8" />
    +
    +          <property name="securerandom.source" value="file:/dev/./urandom" />
    +
    +          <property name="java.vendor" value="Eclipse Adoptium" />
    +
    +          <property name="maven.home" value="/home/vsts/work/1/s/.maven" />
    +
    +          <property name="file.separator" value="/" />
    +
    +          <property name="java.version.date" value="2024-01-16" />
    +
    +          <property name="java.vendor.url.bug" value="https://github.com/adoptium/adoptium-support/issues" />
    +
    +          <property name="sun.io.unicode.encoding" value="UnicodeLittle" />
    +
    +          <property name="sun.font.fontmanager" value="sun.awt.X11FontManager" />
    +
    +          <property name="sun.cpu.endian" value="little" />
    +
    +          <property name="java.vendor.version" value="Temurin-17.0.10+7" />
    +
    +      </properties>
    +
    +      <testcase classname="org.jacoco.core.internal.instr.NoneProbeArrayStrategyTest" name="storeInstance_should_throw_UnsupportedOperationException" time="0" />
    +
    +      <testcase classname="org.jacoco.core.internal.instr.NoneProbeArrayStrategyTest" name="addMembers_should_not_add_members" time="0" />
    +
    +  </testsuite>
    +  <testsuite errors="0" failures="0" id="105" name="ProbeArrayStrategyFactoryTest" package="org.jacoco.core.internal.instr" skipped="0" tests="23" time="0.018" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="https://maven.apache.org/surefire/maven-surefire-plugin/xsd/surefire-test-report.xsd">
    +      <properties>
    +          <property name="jansi.mode" value="strip" />
    +
    +          <property name="java.runtime.name" value="OpenJDK Runtime Environment" />
    +
    +          <property name="java.vm.version" value="17.0.10+7" />
    +
    +          <property name="sun.boot.library.path" value="/usr/lib/jvm/temurin-17-jdk-amd64/lib" />
    +
    +          <property name="maven.multiModuleProjectDirectory" value="/home/vsts/work/1/s/org.jacoco.build" />
    +
    +          <property name="jdk.version" value="5" />
    +
    +          <property name="java.vm.vendor" value="Eclipse Adoptium" />
    +
    +          <property name="java.vendor.url" value="https://adoptium.net/" />
    +
    +          <property name="guice.disable.misplaced.annotation.check" value="true" />
    +
    +          <property name="path.separator" value=":" />
    +
    +          <property name="java.vm.name" value="OpenJDK 64-Bit Server VM" />
    +
    +          <property name="sun.java.launcher" value="SUN_STANDARD" />
    +
    +          <property name="java.vm.specification.name" value="Java Virtual Machine Specification" />
    +
    +          <property name="user.dir" value="/home/vsts/work/1/s" />
    +
    +          <property name="java.vm.compressedOopsMode" value="32-bit" />
    +
    +          <property name="java.runtime.version" value="17.0.10+7" />
    +
    +          <property name="os.arch" value="amd64" />
    +
    +          <property name="java.io.tmpdir" value="/tmp" />
    +
    +          <property name="line.separator" value="&#xa;" />
    +
    +          <property name="java.vm.specification.vendor" value="Oracle Corporation" />
    +
    +          <property name="os.name" value="Linux" />
    +
    +          <property name="classworlds.conf" value="/home/vsts/work/1/s/.maven/bin/m2.conf" />
    +
    +          <property name="sun.jnu.encoding" value="UTF-8" />
    +
    +          <property name="deployAtEnd" value="true" />
    +
    +          <property name="java.library.path" value="/usr/java/packages/lib:/usr/lib64:/lib64:/lib:/usr/lib" />
    +
    +          <property name="maven.conf" value="/home/vsts/work/1/s/.maven/conf" />
    +
    +          <property name="jdk.debug" value="release" />
    +
    +          <property name="java.class.version" value="61.0" />
    +
    +          <property name="java.specification.name" value="Java Platform API Specification" />
    +
    +          <property name="sun.management.compiler" value="HotSpot 64-Bit Tiered Compilers" />
    +
    +          <property name="os.version" value="5.15.0-1059-azure" />
    +
    +          <property name="library.jansi.path" value="/home/vsts/work/1/s/.maven/lib/jansi-native" />
    +
    +          <property name="user.home" value="/home/vsts" />
    +
    +          <property name="user.timezone" value="Etc/UTC" />
    +
    +          <property name="file.encoding" value="UTF-8" />
    +
    +          <property name="java.specification.version" value="17" />
    +
    +          <property name="user.name" value="vsts" />
    +
    +          <property name="java.class.path" value="/home/vsts/work/1/s/.maven/boot/plexus-classworlds-2.6.0.jar" />
    +
    +          <property name="bytecode.version" value="5" />
    +
    +          <property name="java.vm.specification.version" value="17" />
    +
    +          <property name="sun.arch.data.model" value="64" />
    +
    +          <property name="sun.java.command" value="org.codehaus.plexus.classworlds.launcher.Launcher -V -B -e --no-transfer-progress -f org.jacoco.build verify -Djdk.version=5 -Dbytecode.version=5 deploy:deploy -DdeployAtEnd --toolchains=toolchains.xml --settings=.azure-pipelines/maven-settings.xml" />
    +
    +          <property name="java.home" value="/usr/lib/jvm/temurin-17-jdk-amd64" />
    +
    +          <property name="user.language" value="en" />
    +
    +          <property name="java.specification.vendor" value="Oracle Corporation" />
    +
    +          <property name="java.vm.info" value="mixed mode, sharing" />
    +
    +          <property name="java.version" value="17.0.10" />
    +
    +          <property name="native.encoding" value="UTF-8" />
    +
    +          <property name="securerandom.source" value="file:/dev/./urandom" />
    +
    +          <property name="java.vendor" value="Eclipse Adoptium" />
    +
    +          <property name="maven.home" value="/home/vsts/work/1/s/.maven" />
    +
    +          <property name="file.separator" value="/" />
    +
    +          <property name="java.version.date" value="2024-01-16" />
    +
    +          <property name="java.vendor.url.bug" value="https://github.com/adoptium/adoptium-support/issues" />
    +
    +          <property name="sun.io.unicode.encoding" value="UnicodeLittle" />
    +
    +          <property name="sun.font.fontmanager" value="sun.awt.X11FontManager" />
    +
    +          <property name="sun.cpu.endian" value="little" />
    +
    +          <property name="java.vendor.version" value="Temurin-17.0.10+7" />
    +
    +      </properties>
    +
    +      <testcase classname="org.jacoco.core.internal.instr.ProbeArrayStrategyFactoryTest" name="testEmptyInterface8StoreInstance" time="0.001" />
    +
    +      <testcase classname="org.jacoco.core.internal.instr.ProbeArrayStrategyFactoryTest" name="testClinitAndAbstractMethodsInterface8" time="0.001" />
    +
    +      <testcase classname="org.jacoco.core.internal.instr.ProbeArrayStrategyFactoryTest" name="test_java11_interface_without_code" time="0" />
    +
    +      <testcase classname="org.jacoco.core.internal.instr.ProbeArrayStrategyFactoryTest" name="test_java11_interface_with_clinit_and_methods" time="0" />
    +
    +      <testcase classname="org.jacoco.core.internal.instr.ProbeArrayStrategyFactoryTest" name="testEmptyInterface7StoreInstance" time="0" />
    +
    +      <testcase classname="org.jacoco.core.internal.instr.ProbeArrayStrategyFactoryTest" name="test_java9_module" time="0.001" />
    +
    +      <testcase classname="org.jacoco.core.internal.instr.ProbeArrayStrategyFactoryTest" name="testClinitInterface8" time="0" />
    +
    +      <testcase classname="org.jacoco.core.internal.instr.ProbeArrayStrategyFactoryTest" name="test_java11_class" time="0" />
    +
    +      <testcase classname="org.jacoco.core.internal.instr.ProbeArrayStrategyFactoryTest" name="testEmptyInterface7" time="0" />
    +
    +      <testcase classname="org.jacoco.core.internal.instr.ProbeArrayStrategyFactoryTest" name="testEmptyInterface8" time="0.001" />
    +
    +      <testcase classname="org.jacoco.core.internal.instr.ProbeArrayStrategyFactoryTest" name="test_java11_interface_with_clinit" time="0" />
    +
    +      <testcase classname="org.jacoco.core.internal.instr.ProbeArrayStrategyFactoryTest" name="testClinitAndMethodsInterface8" time="0.001" />
    +
    +      <testcase classname="org.jacoco.core.internal.instr.ProbeArrayStrategyFactoryTest" name="test_java11_module" time="0" />
    +
    +      <testcase classname="org.jacoco.core.internal.instr.ProbeArrayStrategyFactoryTest" name="testClass1" time="0.001" />
    +
    +      <testcase classname="org.jacoco.core.internal.instr.ProbeArrayStrategyFactoryTest" name="testClass2" time="0" />
    +
    +      <testcase classname="org.jacoco.core.internal.instr.ProbeArrayStrategyFactoryTest" name="testClass3" time="0" />
    +
    +      <testcase classname="org.jacoco.core.internal.instr.ProbeArrayStrategyFactoryTest" name="testClass4" time="0.001" />
    +
    +      <testcase classname="org.jacoco.core.internal.instr.ProbeArrayStrategyFactoryTest" name="testClass5" time="0" />
    +
    +      <testcase classname="org.jacoco.core.internal.instr.ProbeArrayStrategyFactoryTest" name="testClass6" time="0" />
    +
    +      <testcase classname="org.jacoco.core.internal.instr.ProbeArrayStrategyFactoryTest" name="testClass7" time="0" />
    +
    +      <testcase classname="org.jacoco.core.internal.instr.ProbeArrayStrategyFactoryTest" name="testClass8" time="0.001" />
    +
    +      <testcase classname="org.jacoco.core.internal.instr.ProbeArrayStrategyFactoryTest" name="testInterface7" time="0" />
    +
    +      <testcase classname="org.jacoco.core.internal.instr.ProbeArrayStrategyFactoryTest" name="testInterface8" time="0" />
    +
    +  </testsuite>
    +  <testsuite errors="0" failures="0" id="106" name="ProbeCounterTest" package="org.jacoco.core.internal.instr" skipped="0" tests="5" time="0.001" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="https://maven.apache.org/surefire/maven-surefire-plugin/xsd/surefire-test-report.xsd">
    +      <properties>
    +          <property name="jansi.mode" value="strip" />
    +
    +          <property name="java.runtime.name" value="OpenJDK Runtime Environment" />
    +
    +          <property name="java.vm.version" value="17.0.10+7" />
    +
    +          <property name="sun.boot.library.path" value="/usr/lib/jvm/temurin-17-jdk-amd64/lib" />
    +
    +          <property name="maven.multiModuleProjectDirectory" value="/home/vsts/work/1/s/org.jacoco.build" />
    +
    +          <property name="jdk.version" value="5" />
    +
    +          <property name="java.vm.vendor" value="Eclipse Adoptium" />
    +
    +          <property name="java.vendor.url" value="https://adoptium.net/" />
    +
    +          <property name="guice.disable.misplaced.annotation.check" value="true" />
    +
    +          <property name="path.separator" value=":" />
    +
    +          <property name="java.vm.name" value="OpenJDK 64-Bit Server VM" />
    +
    +          <property name="sun.java.launcher" value="SUN_STANDARD" />
    +
    +          <property name="java.vm.specification.name" value="Java Virtual Machine Specification" />
    +
    +          <property name="user.dir" value="/home/vsts/work/1/s" />
    +
    +          <property name="java.vm.compressedOopsMode" value="32-bit" />
    +
    +          <property name="java.runtime.version" value="17.0.10+7" />
    +
    +          <property name="os.arch" value="amd64" />
    +
    +          <property name="java.io.tmpdir" value="/tmp" />
    +
    +          <property name="line.separator" value="&#xa;" />
    +
    +          <property name="java.vm.specification.vendor" value="Oracle Corporation" />
    +
    +          <property name="os.name" value="Linux" />
    +
    +          <property name="classworlds.conf" value="/home/vsts/work/1/s/.maven/bin/m2.conf" />
    +
    +          <property name="sun.jnu.encoding" value="UTF-8" />
    +
    +          <property name="deployAtEnd" value="true" />
    +
    +          <property name="java.library.path" value="/usr/java/packages/lib:/usr/lib64:/lib64:/lib:/usr/lib" />
    +
    +          <property name="maven.conf" value="/home/vsts/work/1/s/.maven/conf" />
    +
    +          <property name="jdk.debug" value="release" />
    +
    +          <property name="java.class.version" value="61.0" />
    +
    +          <property name="java.specification.name" value="Java Platform API Specification" />
    +
    +          <property name="sun.management.compiler" value="HotSpot 64-Bit Tiered Compilers" />
    +
    +          <property name="os.version" value="5.15.0-1059-azure" />
    +
    +          <property name="library.jansi.path" value="/home/vsts/work/1/s/.maven/lib/jansi-native" />
    +
    +          <property name="user.home" value="/home/vsts" />
    +
    +          <property name="user.timezone" value="Etc/UTC" />
    +
    +          <property name="file.encoding" value="UTF-8" />
    +
    +          <property name="java.specification.version" value="17" />
    +
    +          <property name="user.name" value="vsts" />
    +
    +          <property name="java.class.path" value="/home/vsts/work/1/s/.maven/boot/plexus-classworlds-2.6.0.jar" />
    +
    +          <property name="bytecode.version" value="5" />
    +
    +          <property name="java.vm.specification.version" value="17" />
    +
    +          <property name="sun.arch.data.model" value="64" />
    +
    +          <property name="sun.java.command" value="org.codehaus.plexus.classworlds.launcher.Launcher -V -B -e --no-transfer-progress -f org.jacoco.build verify -Djdk.version=5 -Dbytecode.version=5 deploy:deploy -DdeployAtEnd --toolchains=toolchains.xml --settings=.azure-pipelines/maven-settings.xml" />
    +
    +          <property name="java.home" value="/usr/lib/jvm/temurin-17-jdk-amd64" />
    +
    +          <property name="user.language" value="en" />
    +
    +          <property name="java.specification.vendor" value="Oracle Corporation" />
    +
    +          <property name="java.vm.info" value="mixed mode, sharing" />
    +
    +          <property name="java.version" value="17.0.10" />
    +
    +          <property name="native.encoding" value="UTF-8" />
    +
    +          <property name="securerandom.source" value="file:/dev/./urandom" />
    +
    +          <property name="java.vendor" value="Eclipse Adoptium" />
    +
    +          <property name="maven.home" value="/home/vsts/work/1/s/.maven" />
    +
    +          <property name="file.separator" value="/" />
    +
    +          <property name="java.version.date" value="2024-01-16" />
    +
    +          <property name="java.vendor.url.bug" value="https://github.com/adoptium/adoptium-support/issues" />
    +
    +          <property name="sun.io.unicode.encoding" value="UnicodeLittle" />
    +
    +          <property name="sun.font.fontmanager" value="sun.awt.X11FontManager" />
    +
    +          <property name="sun.cpu.endian" value="little" />
    +
    +          <property name="java.vendor.version" value="Temurin-17.0.10+7" />
    +
    +      </properties>
    +
    +      <testcase classname="org.jacoco.core.internal.instr.ProbeCounterTest" name="testVisitAbstractMethod" time="0" />
    +
    +      <testcase classname="org.jacoco.core.internal.instr.ProbeCounterTest" name="testVisitTotalProbeCount" time="0" />
    +
    +      <testcase classname="org.jacoco.core.internal.instr.ProbeCounterTest" name="testVisitClinitMethod" time="0" />
    +
    +      <testcase classname="org.jacoco.core.internal.instr.ProbeCounterTest" name="testInitial" time="0.001" />
    +
    +      <testcase classname="org.jacoco.core.internal.instr.ProbeCounterTest" name="testVisitMethod" time="0" />
    +
    +  </testsuite>
    +  <testsuite errors="0" failures="0" id="107" name="ProbeInserterTest" package="org.jacoco.core.internal.instr" skipped="0" tests="21" time="0.017" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="https://maven.apache.org/surefire/maven-surefire-plugin/xsd/surefire-test-report.xsd">
    +      <properties>
    +          <property name="jansi.mode" value="strip" />
    +
    +          <property name="java.runtime.name" value="OpenJDK Runtime Environment" />
    +
    +          <property name="java.vm.version" value="17.0.10+7" />
    +
    +          <property name="sun.boot.library.path" value="/usr/lib/jvm/temurin-17-jdk-amd64/lib" />
    +
    +          <property name="maven.multiModuleProjectDirectory" value="/home/vsts/work/1/s/org.jacoco.build" />
    +
    +          <property name="jdk.version" value="5" />
    +
    +          <property name="java.vm.vendor" value="Eclipse Adoptium" />
    +
    +          <property name="java.vendor.url" value="https://adoptium.net/" />
    +
    +          <property name="guice.disable.misplaced.annotation.check" value="true" />
    +
    +          <property name="path.separator" value=":" />
    +
    +          <property name="java.vm.name" value="OpenJDK 64-Bit Server VM" />
    +
    +          <property name="sun.java.launcher" value="SUN_STANDARD" />
    +
    +          <property name="java.vm.specification.name" value="Java Virtual Machine Specification" />
    +
    +          <property name="user.dir" value="/home/vsts/work/1/s" />
    +
    +          <property name="java.vm.compressedOopsMode" value="32-bit" />
    +
    +          <property name="java.runtime.version" value="17.0.10+7" />
    +
    +          <property name="os.arch" value="amd64" />
    +
    +          <property name="java.io.tmpdir" value="/tmp" />
    +
    +          <property name="line.separator" value="&#xa;" />
    +
    +          <property name="java.vm.specification.vendor" value="Oracle Corporation" />
    +
    +          <property name="os.name" value="Linux" />
    +
    +          <property name="classworlds.conf" value="/home/vsts/work/1/s/.maven/bin/m2.conf" />
    +
    +          <property name="sun.jnu.encoding" value="UTF-8" />
    +
    +          <property name="deployAtEnd" value="true" />
    +
    +          <property name="java.library.path" value="/usr/java/packages/lib:/usr/lib64:/lib64:/lib:/usr/lib" />
    +
    +          <property name="maven.conf" value="/home/vsts/work/1/s/.maven/conf" />
    +
    +          <property name="jdk.debug" value="release" />
    +
    +          <property name="java.class.version" value="61.0" />
    +
    +          <property name="java.specification.name" value="Java Platform API Specification" />
    +
    +          <property name="sun.management.compiler" value="HotSpot 64-Bit Tiered Compilers" />
    +
    +          <property name="os.version" value="5.15.0-1059-azure" />
    +
    +          <property name="library.jansi.path" value="/home/vsts/work/1/s/.maven/lib/jansi-native" />
    +
    +          <property name="user.home" value="/home/vsts" />
    +
    +          <property name="user.timezone" value="Etc/UTC" />
    +
    +          <property name="file.encoding" value="UTF-8" />
    +
    +          <property name="java.specification.version" value="17" />
    +
    +          <property name="user.name" value="vsts" />
    +
    +          <property name="java.class.path" value="/home/vsts/work/1/s/.maven/boot/plexus-classworlds-2.6.0.jar" />
    +
    +          <property name="bytecode.version" value="5" />
    +
    +          <property name="java.vm.specification.version" value="17" />
    +
    +          <property name="sun.arch.data.model" value="64" />
    +
    +          <property name="sun.java.command" value="org.codehaus.plexus.classworlds.launcher.Launcher -V -B -e --no-transfer-progress -f org.jacoco.build verify -Djdk.version=5 -Dbytecode.version=5 deploy:deploy -DdeployAtEnd --toolchains=toolchains.xml --settings=.azure-pipelines/maven-settings.xml" />
    +
    +          <property name="java.home" value="/usr/lib/jvm/temurin-17-jdk-amd64" />
    +
    +          <property name="user.language" value="en" />
    +
    +          <property name="java.specification.vendor" value="Oracle Corporation" />
    +
    +          <property name="java.vm.info" value="mixed mode, sharing" />
    +
    +          <property name="java.version" value="17.0.10" />
    +
    +          <property name="native.encoding" value="UTF-8" />
    +
    +          <property name="securerandom.source" value="file:/dev/./urandom" />
    +
    +          <property name="java.vendor" value="Eclipse Adoptium" />
    +
    +          <property name="maven.home" value="/home/vsts/work/1/s/.maven" />
    +
    +          <property name="file.separator" value="/" />
    +
    +          <property name="java.version.date" value="2024-01-16" />
    +
    +          <property name="java.vendor.url.bug" value="https://github.com/adoptium/adoptium-support/issues" />
    +
    +          <property name="sun.io.unicode.encoding" value="UnicodeLittle" />
    +
    +          <property name="sun.font.fontmanager" value="sun.awt.X11FontManager" />
    +
    +          <property name="sun.cpu.endian" value="little" />
    +
    +          <property name="java.vendor.version" value="Temurin-17.0.10+7" />
    +
    +      </properties>
    +
    +      <testcase classname="org.jacoco.core.internal.instr.ProbeInserterTest" name="new_stack_size_should_be_big_enought_to_store_probe_array" time="0.013" />
    +
    +      <testcase classname="org.jacoco.core.internal.instr.ProbeInserterTest" name="visitFrame_must_only_support_resolved_frames" time="0" />
    +
    +      <testcase classname="org.jacoco.core.internal.instr.ProbeInserterTest" name="visitFrame_should_not_insert_safety_slot_when_it_is_the_last_occupied_slot" time="0" />
    +
    +      <testcase classname="org.jacoco.core.internal.instr.ProbeInserterTest" name="visitFrame_should_insert_safety_slot_and_probe_variable_first_when_no_parameters_exist" time="0" />
    +
    +      <testcase classname="org.jacoco.core.internal.instr.ProbeInserterTest" name="visitFrame_should_insert_TOP_after_probe_variable_when_safety_slot_occupied_but_not_the_last" time="0" />
    +
    +      <testcase classname="org.jacoco.core.internal.instr.ProbeInserterTest" name="visitIincInsn_should_be_called_with_adjusted_variable_positions" time="0" />
    +
    +      <testcase classname="org.jacoco.core.internal.instr.ProbeInserterTest" name="visitCode_should_call_IProbeArrayStrategy_for_any_methods" time="0" />
    +
    +      <testcase classname="org.jacoco.core.internal.instr.ProbeInserterTest" name="probevar_should_be_at_position_6_for_instance_method_with_2_wide_parameters" time="0" />
    +
    +      <testcase classname="org.jacoco.core.internal.instr.ProbeInserterTest" name="visitFrame_should_fill_3_unused_slots_before_probe_variable_with_TOP_TOP_TOP" time="0" />
    +
    +      <testcase classname="org.jacoco.core.internal.instr.ProbeInserterTest" name="visitFrame_should_fill_4_unused_slots_before_probe_variable_with_TOP_TOP_TOP_TOP" time="0" />
    +
    +      <testcase classname="org.jacoco.core.internal.instr.ProbeInserterTest" name="probevar_should_be_at_position_1_for_static_method_without_parameters" time="0" />
    +
    +      <testcase classname="org.jacoco.core.internal.instr.ProbeInserterTest" name="probevar_should_be_at_position_2_for_instance_method_without_parameters" time="0" />
    +
    +      <testcase classname="org.jacoco.core.internal.instr.ProbeInserterTest" name="visitLocalVariable_should_be_called_with_adjusted_variable_positions" time="0" />
    +
    +      <testcase classname="org.jacoco.core.internal.instr.ProbeInserterTest" name="visitFrame_should_fill_2_unused_slots_before_probe_variable_with_TOP_TOP" time="0" />
    +
    +      <testcase classname="org.jacoco.core.internal.instr.ProbeInserterTest" name="visitFrame_should_only_insert_safety_slot_and_probe_variable_when_no_other_local_variables_exist" time="0" />
    +
    +      <testcase classname="org.jacoco.core.internal.instr.ProbeInserterTest" name="visitCode_should_call_IProbeArrayStrategy_for_static_initializers" time="0" />
    +
    +      <testcase classname="org.jacoco.core.internal.instr.ProbeInserterTest" name="visitFrame_should_insert_safety_slot_and_probe_variable_between_arguments_and_local_variables" time="0" />
    +
    +      <testcase classname="org.jacoco.core.internal.instr.ProbeInserterTest" name="should_remap_LocalVariableAnnotation" time="0" />
    +
    +      <testcase classname="org.jacoco.core.internal.instr.ProbeInserterTest" name="new_stack_size_should_be_increased_for_probes" time="0.001" />
    +
    +      <testcase classname="org.jacoco.core.internal.instr.ProbeInserterTest" name="visitVarInsn_should_be_called_with_adjusted_variable_positions" time="0" />
    +
    +      <testcase classname="org.jacoco.core.internal.instr.ProbeInserterTest" name="probevar_should_be_at_position_5_for_instance_method_with_3_parameters" time="0" />
    +
    +  </testsuite>
    +  <testsuite errors="0" failures="0" id="108" name="SafetySlotTest" package="org.jacoco.core.internal.instr" skipped="0" tests="2" time="0.012" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="https://maven.apache.org/surefire/maven-surefire-plugin/xsd/surefire-test-report.xsd">
    +      <properties>
    +          <property name="jansi.mode" value="strip" />
    +
    +          <property name="java.runtime.name" value="OpenJDK Runtime Environment" />
    +
    +          <property name="java.vm.version" value="17.0.10+7" />
    +
    +          <property name="sun.boot.library.path" value="/usr/lib/jvm/temurin-17-jdk-amd64/lib" />
    +
    +          <property name="maven.multiModuleProjectDirectory" value="/home/vsts/work/1/s/org.jacoco.build" />
    +
    +          <property name="jdk.version" value="5" />
    +
    +          <property name="java.vm.vendor" value="Eclipse Adoptium" />
    +
    +          <property name="java.vendor.url" value="https://adoptium.net/" />
    +
    +          <property name="guice.disable.misplaced.annotation.check" value="true" />
    +
    +          <property name="path.separator" value=":" />
    +
    +          <property name="java.vm.name" value="OpenJDK 64-Bit Server VM" />
    +
    +          <property name="sun.java.launcher" value="SUN_STANDARD" />
    +
    +          <property name="java.vm.specification.name" value="Java Virtual Machine Specification" />
    +
    +          <property name="user.dir" value="/home/vsts/work/1/s" />
    +
    +          <property name="java.vm.compressedOopsMode" value="32-bit" />
    +
    +          <property name="java.runtime.version" value="17.0.10+7" />
    +
    +          <property name="os.arch" value="amd64" />
    +
    +          <property name="java.io.tmpdir" value="/tmp" />
    +
    +          <property name="line.separator" value="&#xa;" />
    +
    +          <property name="java.vm.specification.vendor" value="Oracle Corporation" />
    +
    +          <property name="os.name" value="Linux" />
    +
    +          <property name="classworlds.conf" value="/home/vsts/work/1/s/.maven/bin/m2.conf" />
    +
    +          <property name="sun.jnu.encoding" value="UTF-8" />
    +
    +          <property name="deployAtEnd" value="true" />
    +
    +          <property name="java.library.path" value="/usr/java/packages/lib:/usr/lib64:/lib64:/lib:/usr/lib" />
    +
    +          <property name="maven.conf" value="/home/vsts/work/1/s/.maven/conf" />
    +
    +          <property name="jdk.debug" value="release" />
    +
    +          <property name="java.class.version" value="61.0" />
    +
    +          <property name="java.specification.name" value="Java Platform API Specification" />
    +
    +          <property name="sun.management.compiler" value="HotSpot 64-Bit Tiered Compilers" />
    +
    +          <property name="os.version" value="5.15.0-1059-azure" />
    +
    +          <property name="library.jansi.path" value="/home/vsts/work/1/s/.maven/lib/jansi-native" />
    +
    +          <property name="user.home" value="/home/vsts" />
    +
    +          <property name="user.timezone" value="Etc/UTC" />
    +
    +          <property name="file.encoding" value="UTF-8" />
    +
    +          <property name="java.specification.version" value="17" />
    +
    +          <property name="user.name" value="vsts" />
    +
    +          <property name="java.class.path" value="/home/vsts/work/1/s/.maven/boot/plexus-classworlds-2.6.0.jar" />
    +
    +          <property name="bytecode.version" value="5" />
    +
    +          <property name="java.vm.specification.version" value="17" />
    +
    +          <property name="sun.arch.data.model" value="64" />
    +
    +          <property name="sun.java.command" value="org.codehaus.plexus.classworlds.launcher.Launcher -V -B -e --no-transfer-progress -f org.jacoco.build verify -Djdk.version=5 -Dbytecode.version=5 deploy:deploy -DdeployAtEnd --toolchains=toolchains.xml --settings=.azure-pipelines/maven-settings.xml" />
    +
    +          <property name="java.home" value="/usr/lib/jvm/temurin-17-jdk-amd64" />
    +
    +          <property name="user.language" value="en" />
    +
    +          <property name="java.specification.vendor" value="Oracle Corporation" />
    +
    +          <property name="java.vm.info" value="mixed mode, sharing" />
    +
    +          <property name="java.version" value="17.0.10" />
    +
    +          <property name="native.encoding" value="UTF-8" />
    +
    +          <property name="securerandom.source" value="file:/dev/./urandom" />
    +
    +          <property name="java.vendor" value="Eclipse Adoptium" />
    +
    +          <property name="maven.home" value="/home/vsts/work/1/s/.maven" />
    +
    +          <property name="file.separator" value="/" />
    +
    +          <property name="java.version.date" value="2024-01-16" />
    +
    +          <property name="java.vendor.url.bug" value="https://github.com/adoptium/adoptium-support/issues" />
    +
    +          <property name="sun.io.unicode.encoding" value="UnicodeLittle" />
    +
    +          <property name="sun.font.fontmanager" value="sun.awt.X11FontManager" />
    +
    +          <property name="sun.cpu.endian" value="little" />
    +
    +          <property name="java.vendor.version" value="Temurin-17.0.10+7" />
    +
    +      </properties>
    +
    +      <testcase classname="org.jacoco.core.internal.instr.SafetySlotTest" name="jvm_should_verify_original_class_without_errors" time="0.003" />
    +
    +      <testcase classname="org.jacoco.core.internal.instr.SafetySlotTest" name="jvm_should_verify_instrumented_class_without_errors" time="0.008" />
    +
    +  </testsuite>
    +  <testsuite errors="0" failures="0" id="109" name="SignatureRemoverTest" package="org.jacoco.core.internal.instr" skipped="0" tests="10" time="0.009" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="https://maven.apache.org/surefire/maven-surefire-plugin/xsd/surefire-test-report.xsd">
    +      <properties>
    +          <property name="jansi.mode" value="strip" />
    +
    +          <property name="java.runtime.name" value="OpenJDK Runtime Environment" />
    +
    +          <property name="java.vm.version" value="17.0.10+7" />
    +
    +          <property name="sun.boot.library.path" value="/usr/lib/jvm/temurin-17-jdk-amd64/lib" />
    +
    +          <property name="maven.multiModuleProjectDirectory" value="/home/vsts/work/1/s/org.jacoco.build" />
    +
    +          <property name="jdk.version" value="5" />
    +
    +          <property name="java.vm.vendor" value="Eclipse Adoptium" />
    +
    +          <property name="java.vendor.url" value="https://adoptium.net/" />
    +
    +          <property name="guice.disable.misplaced.annotation.check" value="true" />
    +
    +          <property name="path.separator" value=":" />
    +
    +          <property name="java.vm.name" value="OpenJDK 64-Bit Server VM" />
    +
    +          <property name="sun.java.launcher" value="SUN_STANDARD" />
    +
    +          <property name="java.vm.specification.name" value="Java Virtual Machine Specification" />
    +
    +          <property name="user.dir" value="/home/vsts/work/1/s" />
    +
    +          <property name="java.vm.compressedOopsMode" value="32-bit" />
    +
    +          <property name="java.runtime.version" value="17.0.10+7" />
    +
    +          <property name="os.arch" value="amd64" />
    +
    +          <property name="java.io.tmpdir" value="/tmp" />
    +
    +          <property name="line.separator" value="&#xa;" />
    +
    +          <property name="java.vm.specification.vendor" value="Oracle Corporation" />
    +
    +          <property name="os.name" value="Linux" />
    +
    +          <property name="classworlds.conf" value="/home/vsts/work/1/s/.maven/bin/m2.conf" />
    +
    +          <property name="sun.jnu.encoding" value="UTF-8" />
    +
    +          <property name="deployAtEnd" value="true" />
    +
    +          <property name="java.library.path" value="/usr/java/packages/lib:/usr/lib64:/lib64:/lib:/usr/lib" />
    +
    +          <property name="maven.conf" value="/home/vsts/work/1/s/.maven/conf" />
    +
    +          <property name="jdk.debug" value="release" />
    +
    +          <property name="java.class.version" value="61.0" />
    +
    +          <property name="java.specification.name" value="Java Platform API Specification" />
    +
    +          <property name="sun.management.compiler" value="HotSpot 64-Bit Tiered Compilers" />
    +
    +          <property name="os.version" value="5.15.0-1059-azure" />
    +
    +          <property name="library.jansi.path" value="/home/vsts/work/1/s/.maven/lib/jansi-native" />
    +
    +          <property name="user.home" value="/home/vsts" />
    +
    +          <property name="user.timezone" value="Etc/UTC" />
    +
    +          <property name="file.encoding" value="UTF-8" />
    +
    +          <property name="java.specification.version" value="17" />
    +
    +          <property name="user.name" value="vsts" />
    +
    +          <property name="java.class.path" value="/home/vsts/work/1/s/.maven/boot/plexus-classworlds-2.6.0.jar" />
    +
    +          <property name="bytecode.version" value="5" />
    +
    +          <property name="java.vm.specification.version" value="17" />
    +
    +          <property name="sun.arch.data.model" value="64" />
    +
    +          <property name="sun.java.command" value="org.codehaus.plexus.classworlds.launcher.Launcher -V -B -e --no-transfer-progress -f org.jacoco.build verify -Djdk.version=5 -Dbytecode.version=5 deploy:deploy -DdeployAtEnd --toolchains=toolchains.xml --settings=.azure-pipelines/maven-settings.xml" />
    +
    +          <property name="java.home" value="/usr/lib/jvm/temurin-17-jdk-amd64" />
    +
    +          <property name="user.language" value="en" />
    +
    +          <property name="java.specification.vendor" value="Oracle Corporation" />
    +
    +          <property name="java.vm.info" value="mixed mode, sharing" />
    +
    +          <property name="java.version" value="17.0.10" />
    +
    +          <property name="native.encoding" value="UTF-8" />
    +
    +          <property name="securerandom.source" value="file:/dev/./urandom" />
    +
    +          <property name="java.vendor" value="Eclipse Adoptium" />
    +
    +          <property name="maven.home" value="/home/vsts/work/1/s/.maven" />
    +
    +          <property name="file.separator" value="/" />
    +
    +          <property name="java.version.date" value="2024-01-16" />
    +
    +          <property name="java.vendor.url.bug" value="https://github.com/adoptium/adoptium-support/issues" />
    +
    +          <property name="sun.io.unicode.encoding" value="UnicodeLittle" />
    +
    +          <property name="sun.font.fontmanager" value="sun.awt.X11FontManager" />
    +
    +          <property name="sun.cpu.endian" value="little" />
    +
    +          <property name="java.vendor.version" value="Temurin-17.0.10+7" />
    +
    +      </properties>
    +
    +      <testcase classname="org.jacoco.core.internal.instr.SignatureRemoverTest" name="testRemovePositive1" time="0" />
    +
    +      <testcase classname="org.jacoco.core.internal.instr.SignatureRemoverTest" name="testRemovePositive2" time="0" />
    +
    +      <testcase classname="org.jacoco.core.internal.instr.SignatureRemoverTest" name="testRemovePositive3" time="0.005" />
    +
    +      <testcase classname="org.jacoco.core.internal.instr.SignatureRemoverTest" name="testRemovePositive4" time="0" />
    +
    +      <testcase classname="org.jacoco.core.internal.instr.SignatureRemoverTest" name="testFilterPositive1" time="0" />
    +
    +      <testcase classname="org.jacoco.core.internal.instr.SignatureRemoverTest" name="testRemoveNegative1" time="0" />
    +
    +      <testcase classname="org.jacoco.core.internal.instr.SignatureRemoverTest" name="testRemoveNegative2" time="0" />
    +
    +      <testcase classname="org.jacoco.core.internal.instr.SignatureRemoverTest" name="testRemoveNegative3" time="0" />
    +
    +      <testcase classname="org.jacoco.core.internal.instr.SignatureRemoverTest" name="testFilterNegative1" time="0" />
    +
    +      <testcase classname="org.jacoco.core.internal.instr.SignatureRemoverTest" name="testFilterNegative2" time="0" />
    +
    +  </testsuite>
    +  <testsuite errors="0" failures="0" id="110" name="ZeroLineNumberTest" package="org.jacoco.core.internal.instr" skipped="0" tests="1" time="0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="https://maven.apache.org/surefire/maven-surefire-plugin/xsd/surefire-test-report.xsd">
    +      <properties>
    +          <property name="jansi.mode" value="strip" />
    +
    +          <property name="java.runtime.name" value="OpenJDK Runtime Environment" />
    +
    +          <property name="java.vm.version" value="17.0.10+7" />
    +
    +          <property name="sun.boot.library.path" value="/usr/lib/jvm/temurin-17-jdk-amd64/lib" />
    +
    +          <property name="maven.multiModuleProjectDirectory" value="/home/vsts/work/1/s/org.jacoco.build" />
    +
    +          <property name="jdk.version" value="5" />
    +
    +          <property name="java.vm.vendor" value="Eclipse Adoptium" />
    +
    +          <property name="java.vendor.url" value="https://adoptium.net/" />
    +
    +          <property name="guice.disable.misplaced.annotation.check" value="true" />
    +
    +          <property name="path.separator" value=":" />
    +
    +          <property name="java.vm.name" value="OpenJDK 64-Bit Server VM" />
    +
    +          <property name="sun.java.launcher" value="SUN_STANDARD" />
    +
    +          <property name="java.vm.specification.name" value="Java Virtual Machine Specification" />
    +
    +          <property name="user.dir" value="/home/vsts/work/1/s" />
    +
    +          <property name="java.vm.compressedOopsMode" value="32-bit" />
    +
    +          <property name="java.runtime.version" value="17.0.10+7" />
    +
    +          <property name="os.arch" value="amd64" />
    +
    +          <property name="java.io.tmpdir" value="/tmp" />
    +
    +          <property name="line.separator" value="&#xa;" />
    +
    +          <property name="java.vm.specification.vendor" value="Oracle Corporation" />
    +
    +          <property name="os.name" value="Linux" />
    +
    +          <property name="classworlds.conf" value="/home/vsts/work/1/s/.maven/bin/m2.conf" />
    +
    +          <property name="sun.jnu.encoding" value="UTF-8" />
    +
    +          <property name="deployAtEnd" value="true" />
    +
    +          <property name="java.library.path" value="/usr/java/packages/lib:/usr/lib64:/lib64:/lib:/usr/lib" />
    +
    +          <property name="maven.conf" value="/home/vsts/work/1/s/.maven/conf" />
    +
    +          <property name="jdk.debug" value="release" />
    +
    +          <property name="java.class.version" value="61.0" />
    +
    +          <property name="java.specification.name" value="Java Platform API Specification" />
    +
    +          <property name="sun.management.compiler" value="HotSpot 64-Bit Tiered Compilers" />
    +
    +          <property name="os.version" value="5.15.0-1059-azure" />
    +
    +          <property name="library.jansi.path" value="/home/vsts/work/1/s/.maven/lib/jansi-native" />
    +
    +          <property name="user.home" value="/home/vsts" />
    +
    +          <property name="user.timezone" value="Etc/UTC" />
    +
    +          <property name="file.encoding" value="UTF-8" />
    +
    +          <property name="java.specification.version" value="17" />
    +
    +          <property name="user.name" value="vsts" />
    +
    +          <property name="java.class.path" value="/home/vsts/work/1/s/.maven/boot/plexus-classworlds-2.6.0.jar" />
    +
    +          <property name="bytecode.version" value="5" />
    +
    +          <property name="java.vm.specification.version" value="17" />
    +
    +          <property name="sun.arch.data.model" value="64" />
    +
    +          <property name="sun.java.command" value="org.codehaus.plexus.classworlds.launcher.Launcher -V -B -e --no-transfer-progress -f org.jacoco.build verify -Djdk.version=5 -Dbytecode.version=5 deploy:deploy -DdeployAtEnd --toolchains=toolchains.xml --settings=.azure-pipelines/maven-settings.xml" />
    +
    +          <property name="java.home" value="/usr/lib/jvm/temurin-17-jdk-amd64" />
    +
    +          <property name="user.language" value="en" />
    +
    +          <property name="java.specification.vendor" value="Oracle Corporation" />
    +
    +          <property name="java.vm.info" value="mixed mode, sharing" />
    +
    +          <property name="java.version" value="17.0.10" />
    +
    +          <property name="native.encoding" value="UTF-8" />
    +
    +          <property name="securerandom.source" value="file:/dev/./urandom" />
    +
    +          <property name="java.vendor" value="Eclipse Adoptium" />
    +
    +          <property name="maven.home" value="/home/vsts/work/1/s/.maven" />
    +
    +          <property name="file.separator" value="/" />
    +
    +          <property name="java.version.date" value="2024-01-16" />
    +
    +          <property name="java.vendor.url.bug" value="https://github.com/adoptium/adoptium-support/issues" />
    +
    +          <property name="sun.io.unicode.encoding" value="UnicodeLittle" />
    +
    +          <property name="sun.font.fontmanager" value="sun.awt.X11FontManager" />
    +
    +          <property name="sun.cpu.endian" value="little" />
    +
    +          <property name="java.vendor.version" value="Temurin-17.0.10+7" />
    +
    +      </properties>
    +
    +      <testcase classname="org.jacoco.core.internal.instr.ZeroLineNumberTest" name="zero_line_numbers_should_be_preserved_during_instrumentation_and_should_not_cause_insertion_of_additional_probes" time="0" />
    +
    +  </testsuite>
    +  <testsuite errors="0" failures="0" id="111" name="AgentOptionsTest" package="org.jacoco.core.runtime" skipped="0" tests="55" time="0.012" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="https://maven.apache.org/surefire/maven-surefire-plugin/xsd/surefire-test-report.xsd">
    +      <properties>
    +          <property name="jansi.mode" value="strip" />
    +
    +          <property name="java.runtime.name" value="OpenJDK Runtime Environment" />
    +
    +          <property name="java.vm.version" value="17.0.10+7" />
    +
    +          <property name="sun.boot.library.path" value="/usr/lib/jvm/temurin-17-jdk-amd64/lib" />
    +
    +          <property name="maven.multiModuleProjectDirectory" value="/home/vsts/work/1/s/org.jacoco.build" />
    +
    +          <property name="jdk.version" value="5" />
    +
    +          <property name="java.vm.vendor" value="Eclipse Adoptium" />
    +
    +          <property name="java.vendor.url" value="https://adoptium.net/" />
    +
    +          <property name="guice.disable.misplaced.annotation.check" value="true" />
    +
    +          <property name="path.separator" value=":" />
    +
    +          <property name="java.vm.name" value="OpenJDK 64-Bit Server VM" />
    +
    +          <property name="sun.java.launcher" value="SUN_STANDARD" />
    +
    +          <property name="java.vm.specification.name" value="Java Virtual Machine Specification" />
    +
    +          <property name="user.dir" value="/home/vsts/work/1/s" />
    +
    +          <property name="java.vm.compressedOopsMode" value="32-bit" />
    +
    +          <property name="java.runtime.version" value="17.0.10+7" />
    +
    +          <property name="os.arch" value="amd64" />
    +
    +          <property name="java.io.tmpdir" value="/tmp" />
    +
    +          <property name="line.separator" value="&#xa;" />
    +
    +          <property name="java.vm.specification.vendor" value="Oracle Corporation" />
    +
    +          <property name="os.name" value="Linux" />
    +
    +          <property name="classworlds.conf" value="/home/vsts/work/1/s/.maven/bin/m2.conf" />
    +
    +          <property name="sun.jnu.encoding" value="UTF-8" />
    +
    +          <property name="deployAtEnd" value="true" />
    +
    +          <property name="java.library.path" value="/usr/java/packages/lib:/usr/lib64:/lib64:/lib:/usr/lib" />
    +
    +          <property name="maven.conf" value="/home/vsts/work/1/s/.maven/conf" />
    +
    +          <property name="jdk.debug" value="release" />
    +
    +          <property name="java.class.version" value="61.0" />
    +
    +          <property name="java.specification.name" value="Java Platform API Specification" />
    +
    +          <property name="sun.management.compiler" value="HotSpot 64-Bit Tiered Compilers" />
    +
    +          <property name="os.version" value="5.15.0-1059-azure" />
    +
    +          <property name="library.jansi.path" value="/home/vsts/work/1/s/.maven/lib/jansi-native" />
    +
    +          <property name="user.home" value="/home/vsts" />
    +
    +          <property name="user.timezone" value="Etc/UTC" />
    +
    +          <property name="file.encoding" value="UTF-8" />
    +
    +          <property name="java.specification.version" value="17" />
    +
    +          <property name="user.name" value="vsts" />
    +
    +          <property name="java.class.path" value="/home/vsts/work/1/s/.maven/boot/plexus-classworlds-2.6.0.jar" />
    +
    +          <property name="bytecode.version" value="5" />
    +
    +          <property name="java.vm.specification.version" value="17" />
    +
    +          <property name="sun.arch.data.model" value="64" />
    +
    +          <property name="sun.java.command" value="org.codehaus.plexus.classworlds.launcher.Launcher -V -B -e --no-transfer-progress -f org.jacoco.build verify -Djdk.version=5 -Dbytecode.version=5 deploy:deploy -DdeployAtEnd --toolchains=toolchains.xml --settings=.azure-pipelines/maven-settings.xml" />
    +
    +          <property name="java.home" value="/usr/lib/jvm/temurin-17-jdk-amd64" />
    +
    +          <property name="user.language" value="en" />
    +
    +          <property name="java.specification.vendor" value="Oracle Corporation" />
    +
    +          <property name="java.vm.info" value="mixed mode, sharing" />
    +
    +          <property name="java.version" value="17.0.10" />
    +
    +          <property name="native.encoding" value="UTF-8" />
    +
    +          <property name="securerandom.source" value="file:/dev/./urandom" />
    +
    +          <property name="java.vendor" value="Eclipse Adoptium" />
    +
    +          <property name="maven.home" value="/home/vsts/work/1/s/.maven" />
    +
    +          <property name="file.separator" value="/" />
    +
    +          <property name="java.version.date" value="2024-01-16" />
    +
    +          <property name="java.vendor.url.bug" value="https://github.com/adoptium/adoptium-support/issues" />
    +
    +          <property name="sun.io.unicode.encoding" value="UnicodeLittle" />
    +
    +          <property name="sun.font.fontmanager" value="sun.awt.X11FontManager" />
    +
    +          <property name="sun.cpu.endian" value="little" />
    +
    +          <property name="java.vendor.version" value="Temurin-17.0.10+7" />
    +
    +      </properties>
    +
    +      <testcase classname="org.jacoco.core.runtime.AgentOptionsTest" name="testSetInclBootstrapClassesFalse" time="0.003" />
    +
    +      <testcase classname="org.jacoco.core.runtime.AgentOptionsTest" name="testSetInclNoLocationClassesTrue" time="0" />
    +
    +      <testcase classname="org.jacoco.core.runtime.AgentOptionsTest" name="testSetNegativePort" time="0" />
    +
    +      <testcase classname="org.jacoco.core.runtime.AgentOptionsTest" name="testSetDumpOnExit" time="0" />
    +
    +      <testcase classname="org.jacoco.core.runtime.AgentOptionsTest" name="testGetExclClassloader" time="0" />
    +
    +      <testcase classname="org.jacoco.core.runtime.AgentOptionsTest" name="testSetInclNoLocationClassesFalse" time="0" />
    +
    +      <testcase classname="org.jacoco.core.runtime.AgentOptionsTest" name="testSetAppendFalse" time="0" />
    +
    +      <testcase classname="org.jacoco.core.runtime.AgentOptionsTest" name="testSetSessionId" time="0" />
    +
    +      <testcase classname="org.jacoco.core.runtime.AgentOptionsTest" name="testGetInclNoLocationClassesFalse" time="0" />
    +
    +      <testcase classname="org.jacoco.core.runtime.AgentOptionsTest" name="testToString" time="0" />
    +
    +      <testcase classname="org.jacoco.core.runtime.AgentOptionsTest" name="testPrependVMArgumentsReplace" time="0.001" />
    +
    +      <testcase classname="org.jacoco.core.runtime.AgentOptionsTest" name="testEmptyPropertiesOptions" time="0" />
    +
    +      <testcase classname="org.jacoco.core.runtime.AgentOptionsTest" name="testSetExcludes" time="0" />
    +
    +      <testcase classname="org.jacoco.core.runtime.AgentOptionsTest" name="testGetExcludes" time="0.001" />
    +
    +      <testcase classname="org.jacoco.core.runtime.AgentOptionsTest" name="testGetAddress" time="0" />
    +
    +      <testcase classname="org.jacoco.core.runtime.AgentOptionsTest" name="testGetClassDumpDir" time="0" />
    +
    +      <testcase classname="org.jacoco.core.runtime.AgentOptionsTest" name="testGetAppendTrue" time="0" />
    +
    +      <testcase classname="org.jacoco.core.runtime.AgentOptionsTest" name="testSetDestile" time="0" />
    +
    +      <testcase classname="org.jacoco.core.runtime.AgentOptionsTest" name="testGetPort" time="0" />
    +
    +      <testcase classname="org.jacoco.core.runtime.AgentOptionsTest" name="testSetExclClassloader" time="0" />
    +
    +      <testcase classname="org.jacoco.core.runtime.AgentOptionsTest" name="testPrependVMArguments" time="0.001" />
    +
    +      <testcase classname="org.jacoco.core.runtime.AgentOptionsTest" name="testEmptyOptions" time="0" />
    +
    +      <testcase classname="org.jacoco.core.runtime.AgentOptionsTest" name="testNullOptions" time="0" />
    +
    +      <testcase classname="org.jacoco.core.runtime.AgentOptionsTest" name="testGetVMArgumentWithOneOption" time="0" />
    +
    +      <testcase classname="org.jacoco.core.runtime.AgentOptionsTest" name="testInvalidOptionKey" time="0" />
    +
    +      <testcase classname="org.jacoco.core.runtime.AgentOptionsTest" name="testSetClassDumpDir" time="0" />
    +
    +      <testcase classname="org.jacoco.core.runtime.AgentOptionsTest" name="testSetAppendTrue" time="0" />
    +
    +      <testcase classname="org.jacoco.core.runtime.AgentOptionsTest" name="testInvalidOptionFormat" time="0" />
    +
    +      <testcase classname="org.jacoco.core.runtime.AgentOptionsTest" name="testSetInclBootstrapClassesTrue" time="0" />
    +
    +      <testcase classname="org.jacoco.core.runtime.AgentOptionsTest" name="testGetAppendFalse" time="0.001" />
    +
    +      <testcase classname="org.jacoco.core.runtime.AgentOptionsTest" name="testSetAddress" time="0" />
    +
    +      <testcase classname="org.jacoco.core.runtime.AgentOptionsTest" name="testSetOutput1" time="0" />
    +
    +      <testcase classname="org.jacoco.core.runtime.AgentOptionsTest" name="testSetOutput2" time="0" />
    +
    +      <testcase classname="org.jacoco.core.runtime.AgentOptionsTest" name="testGetInclBootstrapClassesFalse" time="0" />
    +
    +      <testcase classname="org.jacoco.core.runtime.AgentOptionsTest" name="testGetInclNoLocationClassesTrue" time="0" />
    +
    +      <testcase classname="org.jacoco.core.runtime.AgentOptionsTest" name="testDefaults" time="0" />
    +
    +      <testcase classname="org.jacoco.core.runtime.AgentOptionsTest" name="testGetOutput" time="0" />
    +
    +      <testcase classname="org.jacoco.core.runtime.AgentOptionsTest" name="testGetJmx" time="0" />
    +
    +      <testcase classname="org.jacoco.core.runtime.AgentOptionsTest" name="testSetIncludes" time="0" />
    +
    +      <testcase classname="org.jacoco.core.runtime.AgentOptionsTest" name="testGetIncludes" time="0.001" />
    +
    +      <testcase classname="org.jacoco.core.runtime.AgentOptionsTest" name="testSetPort" time="0" />
    +
    +      <testcase classname="org.jacoco.core.runtime.AgentOptionsTest" name="testInvalidOutput1" time="0" />
    +
    +      <testcase classname="org.jacoco.core.runtime.AgentOptionsTest" name="testInvalidOutput2" time="0" />
    +
    +      <testcase classname="org.jacoco.core.runtime.AgentOptionsTest" name="testGetSessionId" time="0" />
    +
    +      <testcase classname="org.jacoco.core.runtime.AgentOptionsTest" name="testGetInclBootstrapClassesTrue" time="0" />
    +
    +      <testcase classname="org.jacoco.core.runtime.AgentOptionsTest" name="testSetJmx" time="0" />
    +
    +      <testcase classname="org.jacoco.core.runtime.AgentOptionsTest" name="testGetQuotedVMArgument" time="0" />
    +
    +      <testcase classname="org.jacoco.core.runtime.AgentOptionsTest" name="testGetVMArgumentWithOptions" time="0" />
    +
    +      <testcase classname="org.jacoco.core.runtime.AgentOptionsTest" name="testParseInvalidPort" time="0.001" />
    +
    +      <testcase classname="org.jacoco.core.runtime.AgentOptionsTest" name="testInvalidPortOptionValue" time="0" />
    +
    +      <testcase classname="org.jacoco.core.runtime.AgentOptionsTest" name="testPropertiesOptions" time="0" />
    +
    +      <testcase classname="org.jacoco.core.runtime.AgentOptionsTest" name="testGetDestile" time="0" />
    +
    +      <testcase classname="org.jacoco.core.runtime.AgentOptionsTest" name="testGetVMArgumentWithNoOptions" time="0" />
    +
    +      <testcase classname="org.jacoco.core.runtime.AgentOptionsTest" name="testGetDumpOnExit" time="0" />
    +
    +      <testcase classname="org.jacoco.core.runtime.AgentOptionsTest" name="testOptionValueWithSpecialCharacters" time="0" />
    +
    +  </testsuite>
    +  <testsuite errors="0" failures="0" id="112" name="CommandLineSupportTest" package="org.jacoco.core.runtime" skipped="0" tests="19" time="0.004" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="https://maven.apache.org/surefire/maven-surefire-plugin/xsd/surefire-test-report.xsd">
    +      <properties>
    +          <property name="jansi.mode" value="strip" />
    +
    +          <property name="java.runtime.name" value="OpenJDK Runtime Environment" />
    +
    +          <property name="java.vm.version" value="17.0.10+7" />
    +
    +          <property name="sun.boot.library.path" value="/usr/lib/jvm/temurin-17-jdk-amd64/lib" />
    +
    +          <property name="maven.multiModuleProjectDirectory" value="/home/vsts/work/1/s/org.jacoco.build" />
    +
    +          <property name="jdk.version" value="5" />
    +
    +          <property name="java.vm.vendor" value="Eclipse Adoptium" />
    +
    +          <property name="java.vendor.url" value="https://adoptium.net/" />
    +
    +          <property name="guice.disable.misplaced.annotation.check" value="true" />
    +
    +          <property name="path.separator" value=":" />
    +
    +          <property name="java.vm.name" value="OpenJDK 64-Bit Server VM" />
    +
    +          <property name="sun.java.launcher" value="SUN_STANDARD" />
    +
    +          <property name="java.vm.specification.name" value="Java Virtual Machine Specification" />
    +
    +          <property name="user.dir" value="/home/vsts/work/1/s" />
    +
    +          <property name="java.vm.compressedOopsMode" value="32-bit" />
    +
    +          <property name="java.runtime.version" value="17.0.10+7" />
    +
    +          <property name="os.arch" value="amd64" />
    +
    +          <property name="java.io.tmpdir" value="/tmp" />
    +
    +          <property name="line.separator" value="&#xa;" />
    +
    +          <property name="java.vm.specification.vendor" value="Oracle Corporation" />
    +
    +          <property name="os.name" value="Linux" />
    +
    +          <property name="classworlds.conf" value="/home/vsts/work/1/s/.maven/bin/m2.conf" />
    +
    +          <property name="sun.jnu.encoding" value="UTF-8" />
    +
    +          <property name="deployAtEnd" value="true" />
    +
    +          <property name="java.library.path" value="/usr/java/packages/lib:/usr/lib64:/lib64:/lib:/usr/lib" />
    +
    +          <property name="maven.conf" value="/home/vsts/work/1/s/.maven/conf" />
    +
    +          <property name="jdk.debug" value="release" />
    +
    +          <property name="java.class.version" value="61.0" />
    +
    +          <property name="java.specification.name" value="Java Platform API Specification" />
    +
    +          <property name="sun.management.compiler" value="HotSpot 64-Bit Tiered Compilers" />
    +
    +          <property name="os.version" value="5.15.0-1059-azure" />
    +
    +          <property name="library.jansi.path" value="/home/vsts/work/1/s/.maven/lib/jansi-native" />
    +
    +          <property name="user.home" value="/home/vsts" />
    +
    +          <property name="user.timezone" value="Etc/UTC" />
    +
    +          <property name="file.encoding" value="UTF-8" />
    +
    +          <property name="java.specification.version" value="17" />
    +
    +          <property name="user.name" value="vsts" />
    +
    +          <property name="java.class.path" value="/home/vsts/work/1/s/.maven/boot/plexus-classworlds-2.6.0.jar" />
    +
    +          <property name="bytecode.version" value="5" />
    +
    +          <property name="java.vm.specification.version" value="17" />
    +
    +          <property name="sun.arch.data.model" value="64" />
    +
    +          <property name="sun.java.command" value="org.codehaus.plexus.classworlds.launcher.Launcher -V -B -e --no-transfer-progress -f org.jacoco.build verify -Djdk.version=5 -Dbytecode.version=5 deploy:deploy -DdeployAtEnd --toolchains=toolchains.xml --settings=.azure-pipelines/maven-settings.xml" />
    +
    +          <property name="java.home" value="/usr/lib/jvm/temurin-17-jdk-amd64" />
    +
    +          <property name="user.language" value="en" />
    +
    +          <property name="java.specification.vendor" value="Oracle Corporation" />
    +
    +          <property name="java.vm.info" value="mixed mode, sharing" />
    +
    +          <property name="java.version" value="17.0.10" />
    +
    +          <property name="native.encoding" value="UTF-8" />
    +
    +          <property name="securerandom.source" value="file:/dev/./urandom" />
    +
    +          <property name="java.vendor" value="Eclipse Adoptium" />
    +
    +          <property name="maven.home" value="/home/vsts/work/1/s/.maven" />
    +
    +          <property name="file.separator" value="/" />
    +
    +          <property name="java.version.date" value="2024-01-16" />
    +
    +          <property name="java.vendor.url.bug" value="https://github.com/adoptium/adoptium-support/issues" />
    +
    +          <property name="sun.io.unicode.encoding" value="UnicodeLittle" />
    +
    +          <property name="sun.font.fontmanager" value="sun.awt.X11FontManager" />
    +
    +          <property name="sun.cpu.endian" value="little" />
    +
    +          <property name="java.vendor.version" value="Temurin-17.0.10+7" />
    +
    +      </properties>
    +
    +      <testcase classname="org.jacoco.core.runtime.CommandLineSupportTest" name="testQuoteList1" time="0" />
    +
    +      <testcase classname="org.jacoco.core.runtime.CommandLineSupportTest" name="testQuoteList2" time="0" />
    +
    +      <testcase classname="org.jacoco.core.runtime.CommandLineSupportTest" name="testQuoteList3" time="0" />
    +
    +      <testcase classname="org.jacoco.core.runtime.CommandLineSupportTest" name="testQuoteList4" time="0" />
    +
    +      <testcase classname="org.jacoco.core.runtime.CommandLineSupportTest" name="testQuote1" time="0" />
    +
    +      <testcase classname="org.jacoco.core.runtime.CommandLineSupportTest" name="testQuote2" time="0" />
    +
    +      <testcase classname="org.jacoco.core.runtime.CommandLineSupportTest" name="testQuote3" time="0" />
    +
    +      <testcase classname="org.jacoco.core.runtime.CommandLineSupportTest" name="testQuote4" time="0" />
    +
    +      <testcase classname="org.jacoco.core.runtime.CommandLineSupportTest" name="testQuote5" time="0" />
    +
    +      <testcase classname="org.jacoco.core.runtime.CommandLineSupportTest" name="testSplit1" time="0.001" />
    +
    +      <testcase classname="org.jacoco.core.runtime.CommandLineSupportTest" name="testSplit2" time="0" />
    +
    +      <testcase classname="org.jacoco.core.runtime.CommandLineSupportTest" name="testSplit3" time="0" />
    +
    +      <testcase classname="org.jacoco.core.runtime.CommandLineSupportTest" name="testSplit4" time="0" />
    +
    +      <testcase classname="org.jacoco.core.runtime.CommandLineSupportTest" name="testSplit5" time="0" />
    +
    +      <testcase classname="org.jacoco.core.runtime.CommandLineSupportTest" name="testSplit6" time="0" />
    +
    +      <testcase classname="org.jacoco.core.runtime.CommandLineSupportTest" name="testSplit7" time="0" />
    +
    +      <testcase classname="org.jacoco.core.runtime.CommandLineSupportTest" name="testSplit8" time="0" />
    +
    +      <testcase classname="org.jacoco.core.runtime.CommandLineSupportTest" name="testSplit9" time="0" />
    +
    +      <testcase classname="org.jacoco.core.runtime.CommandLineSupportTest" name="testSplit10" time="0" />
    +
    +  </testsuite>
    +  <testsuite errors="0" failures="0" id="113" name="InjectedClassRuntimeTest" package="org.jacoco.core.runtime" skipped="1" tests="1" time="0.006" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="https://maven.apache.org/surefire/maven-surefire-plugin/xsd/surefire-test-report.xsd">
    +      <properties>
    +          <property name="jansi.mode" value="strip" />
    +
    +          <property name="java.runtime.name" value="OpenJDK Runtime Environment" />
    +
    +          <property name="java.vm.version" value="17.0.10+7" />
    +
    +          <property name="sun.boot.library.path" value="/usr/lib/jvm/temurin-17-jdk-amd64/lib" />
    +
    +          <property name="maven.multiModuleProjectDirectory" value="/home/vsts/work/1/s/org.jacoco.build" />
    +
    +          <property name="jdk.version" value="5" />
    +
    +          <property name="java.vm.vendor" value="Eclipse Adoptium" />
    +
    +          <property name="java.vendor.url" value="https://adoptium.net/" />
    +
    +          <property name="guice.disable.misplaced.annotation.check" value="true" />
    +
    +          <property name="path.separator" value=":" />
    +
    +          <property name="java.vm.name" value="OpenJDK 64-Bit Server VM" />
    +
    +          <property name="sun.java.launcher" value="SUN_STANDARD" />
    +
    +          <property name="java.vm.specification.name" value="Java Virtual Machine Specification" />
    +
    +          <property name="user.dir" value="/home/vsts/work/1/s" />
    +
    +          <property name="java.vm.compressedOopsMode" value="32-bit" />
    +
    +          <property name="java.runtime.version" value="17.0.10+7" />
    +
    +          <property name="os.arch" value="amd64" />
    +
    +          <property name="java.io.tmpdir" value="/tmp" />
    +
    +          <property name="line.separator" value="&#xa;" />
    +
    +          <property name="java.vm.specification.vendor" value="Oracle Corporation" />
    +
    +          <property name="os.name" value="Linux" />
    +
    +          <property name="classworlds.conf" value="/home/vsts/work/1/s/.maven/bin/m2.conf" />
    +
    +          <property name="sun.jnu.encoding" value="UTF-8" />
    +
    +          <property name="deployAtEnd" value="true" />
    +
    +          <property name="java.library.path" value="/usr/java/packages/lib:/usr/lib64:/lib64:/lib:/usr/lib" />
    +
    +          <property name="maven.conf" value="/home/vsts/work/1/s/.maven/conf" />
    +
    +          <property name="jdk.debug" value="release" />
    +
    +          <property name="java.class.version" value="61.0" />
    +
    +          <property name="java.specification.name" value="Java Platform API Specification" />
    +
    +          <property name="sun.management.compiler" value="HotSpot 64-Bit Tiered Compilers" />
    +
    +          <property name="os.version" value="5.15.0-1059-azure" />
    +
    +          <property name="library.jansi.path" value="/home/vsts/work/1/s/.maven/lib/jansi-native" />
    +
    +          <property name="user.home" value="/home/vsts" />
    +
    +          <property name="user.timezone" value="Etc/UTC" />
    +
    +          <property name="file.encoding" value="UTF-8" />
    +
    +          <property name="java.specification.version" value="17" />
    +
    +          <property name="user.name" value="vsts" />
    +
    +          <property name="java.class.path" value="/home/vsts/work/1/s/.maven/boot/plexus-classworlds-2.6.0.jar" />
    +
    +          <property name="bytecode.version" value="5" />
    +
    +          <property name="java.vm.specification.version" value="17" />
    +
    +          <property name="sun.arch.data.model" value="64" />
    +
    +          <property name="sun.java.command" value="org.codehaus.plexus.classworlds.launcher.Launcher -V -B -e --no-transfer-progress -f org.jacoco.build verify -Djdk.version=5 -Dbytecode.version=5 deploy:deploy -DdeployAtEnd --toolchains=toolchains.xml --settings=.azure-pipelines/maven-settings.xml" />
    +
    +          <property name="java.home" value="/usr/lib/jvm/temurin-17-jdk-amd64" />
    +
    +          <property name="user.language" value="en" />
    +
    +          <property name="java.specification.vendor" value="Oracle Corporation" />
    +
    +          <property name="java.vm.info" value="mixed mode, sharing" />
    +
    +          <property name="java.version" value="17.0.10" />
    +
    +          <property name="native.encoding" value="UTF-8" />
    +
    +          <property name="securerandom.source" value="file:/dev/./urandom" />
    +
    +          <property name="java.vendor" value="Eclipse Adoptium" />
    +
    +          <property name="maven.home" value="/home/vsts/work/1/s/.maven" />
    +
    +          <property name="file.separator" value="/" />
    +
    +          <property name="java.version.date" value="2024-01-16" />
    +
    +          <property name="java.vendor.url.bug" value="https://github.com/adoptium/adoptium-support/issues" />
    +
    +          <property name="sun.io.unicode.encoding" value="UnicodeLittle" />
    +
    +          <property name="sun.font.fontmanager" value="sun.awt.X11FontManager" />
    +
    +          <property name="sun.cpu.endian" value="little" />
    +
    +          <property name="java.vendor.version" value="Temurin-17.0.10+7" />
    +
    +      </properties>
    +
    +      <testcase classname="org.jacoco.core.runtime.InjectedClassRuntimeTest" name="org.jacoco.core.runtime.InjectedClassRuntimeTest" time="0">
    +          <skipped />
    +
    +      </testcase>
    +
    +  </testsuite>
    +  <testsuite errors="0" failures="0" id="114" name="LoggerRuntimeTest" package="org.jacoco.core.runtime" skipped="0" tests="4" time="0.003" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="https://maven.apache.org/surefire/maven-surefire-plugin/xsd/surefire-test-report.xsd">
    +      <properties>
    +          <property name="jansi.mode" value="strip" />
    +
    +          <property name="java.runtime.name" value="OpenJDK Runtime Environment" />
    +
    +          <property name="java.vm.version" value="17.0.10+7" />
    +
    +          <property name="sun.boot.library.path" value="/usr/lib/jvm/temurin-17-jdk-amd64/lib" />
    +
    +          <property name="maven.multiModuleProjectDirectory" value="/home/vsts/work/1/s/org.jacoco.build" />
    +
    +          <property name="jdk.version" value="5" />
    +
    +          <property name="java.vm.vendor" value="Eclipse Adoptium" />
    +
    +          <property name="java.vendor.url" value="https://adoptium.net/" />
    +
    +          <property name="guice.disable.misplaced.annotation.check" value="true" />
    +
    +          <property name="path.separator" value=":" />
    +
    +          <property name="java.vm.name" value="OpenJDK 64-Bit Server VM" />
    +
    +          <property name="sun.java.launcher" value="SUN_STANDARD" />
    +
    +          <property name="java.vm.specification.name" value="Java Virtual Machine Specification" />
    +
    +          <property name="user.dir" value="/home/vsts/work/1/s" />
    +
    +          <property name="java.vm.compressedOopsMode" value="32-bit" />
    +
    +          <property name="java.runtime.version" value="17.0.10+7" />
    +
    +          <property name="os.arch" value="amd64" />
    +
    +          <property name="java.io.tmpdir" value="/tmp" />
    +
    +          <property name="line.separator" value="&#xa;" />
    +
    +          <property name="java.vm.specification.vendor" value="Oracle Corporation" />
    +
    +          <property name="os.name" value="Linux" />
    +
    +          <property name="classworlds.conf" value="/home/vsts/work/1/s/.maven/bin/m2.conf" />
    +
    +          <property name="sun.jnu.encoding" value="UTF-8" />
    +
    +          <property name="deployAtEnd" value="true" />
    +
    +          <property name="java.library.path" value="/usr/java/packages/lib:/usr/lib64:/lib64:/lib:/usr/lib" />
    +
    +          <property name="maven.conf" value="/home/vsts/work/1/s/.maven/conf" />
    +
    +          <property name="jdk.debug" value="release" />
    +
    +          <property name="java.class.version" value="61.0" />
    +
    +          <property name="java.specification.name" value="Java Platform API Specification" />
    +
    +          <property name="sun.management.compiler" value="HotSpot 64-Bit Tiered Compilers" />
    +
    +          <property name="os.version" value="5.15.0-1059-azure" />
    +
    +          <property name="library.jansi.path" value="/home/vsts/work/1/s/.maven/lib/jansi-native" />
    +
    +          <property name="user.home" value="/home/vsts" />
    +
    +          <property name="user.timezone" value="Etc/UTC" />
    +
    +          <property name="file.encoding" value="UTF-8" />
    +
    +          <property name="java.specification.version" value="17" />
    +
    +          <property name="user.name" value="vsts" />
    +
    +          <property name="java.class.path" value="/home/vsts/work/1/s/.maven/boot/plexus-classworlds-2.6.0.jar" />
    +
    +          <property name="bytecode.version" value="5" />
    +
    +          <property name="java.vm.specification.version" value="17" />
    +
    +          <property name="sun.arch.data.model" value="64" />
    +
    +          <property name="sun.java.command" value="org.codehaus.plexus.classworlds.launcher.Launcher -V -B -e --no-transfer-progress -f org.jacoco.build verify -Djdk.version=5 -Dbytecode.version=5 deploy:deploy -DdeployAtEnd --toolchains=toolchains.xml --settings=.azure-pipelines/maven-settings.xml" />
    +
    +          <property name="java.home" value="/usr/lib/jvm/temurin-17-jdk-amd64" />
    +
    +          <property name="user.language" value="en" />
    +
    +          <property name="java.specification.vendor" value="Oracle Corporation" />
    +
    +          <property name="java.vm.info" value="mixed mode, sharing" />
    +
    +          <property name="java.version" value="17.0.10" />
    +
    +          <property name="native.encoding" value="UTF-8" />
    +
    +          <property name="securerandom.source" value="file:/dev/./urandom" />
    +
    +          <property name="java.vendor" value="Eclipse Adoptium" />
    +
    +          <property name="maven.home" value="/home/vsts/work/1/s/.maven" />
    +
    +          <property name="file.separator" value="/" />
    +
    +          <property name="java.version.date" value="2024-01-16" />
    +
    +          <property name="java.vendor.url.bug" value="https://github.com/adoptium/adoptium-support/issues" />
    +
    +          <property name="sun.io.unicode.encoding" value="UnicodeLittle" />
    +
    +          <property name="sun.font.fontmanager" value="sun.awt.X11FontManager" />
    +
    +          <property name="sun.cpu.endian" value="little" />
    +
    +          <property name="java.vendor.version" value="Temurin-17.0.10+7" />
    +
    +      </properties>
    +
    +      <testcase classname="org.jacoco.core.runtime.LoggerRuntimeTest" name="testDataAccessor" time="0.002" />
    +
    +      <testcase classname="org.jacoco.core.runtime.LoggerRuntimeTest" name="testLoadSameClassTwice" time="0.001" />
    +
    +      <testcase classname="org.jacoco.core.runtime.LoggerRuntimeTest" name="testExecutionRecording" time="0" />
    +
    +      <testcase classname="org.jacoco.core.runtime.LoggerRuntimeTest" name="testNoLocalVariablesInDataAccessor" time="0" />
    +
    +  </testsuite>
    +  <testsuite errors="0" failures="0" id="115" name="ModifiedSystemClassRuntimeTest" package="org.jacoco.core.runtime" skipped="0" tests="5" time="0.007" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="https://maven.apache.org/surefire/maven-surefire-plugin/xsd/surefire-test-report.xsd">
    +      <properties>
    +          <property name="jansi.mode" value="strip" />
    +
    +          <property name="java.runtime.name" value="OpenJDK Runtime Environment" />
    +
    +          <property name="java.vm.version" value="17.0.10+7" />
    +
    +          <property name="sun.boot.library.path" value="/usr/lib/jvm/temurin-17-jdk-amd64/lib" />
    +
    +          <property name="maven.multiModuleProjectDirectory" value="/home/vsts/work/1/s/org.jacoco.build" />
    +
    +          <property name="jdk.version" value="5" />
    +
    +          <property name="java.vm.vendor" value="Eclipse Adoptium" />
    +
    +          <property name="java.vendor.url" value="https://adoptium.net/" />
    +
    +          <property name="guice.disable.misplaced.annotation.check" value="true" />
    +
    +          <property name="path.separator" value=":" />
    +
    +          <property name="java.vm.name" value="OpenJDK 64-Bit Server VM" />
    +
    +          <property name="sun.java.launcher" value="SUN_STANDARD" />
    +
    +          <property name="java.vm.specification.name" value="Java Virtual Machine Specification" />
    +
    +          <property name="user.dir" value="/home/vsts/work/1/s" />
    +
    +          <property name="java.vm.compressedOopsMode" value="32-bit" />
    +
    +          <property name="java.runtime.version" value="17.0.10+7" />
    +
    +          <property name="os.arch" value="amd64" />
    +
    +          <property name="java.io.tmpdir" value="/tmp" />
    +
    +          <property name="line.separator" value="&#xa;" />
    +
    +          <property name="java.vm.specification.vendor" value="Oracle Corporation" />
    +
    +          <property name="os.name" value="Linux" />
    +
    +          <property name="classworlds.conf" value="/home/vsts/work/1/s/.maven/bin/m2.conf" />
    +
    +          <property name="sun.jnu.encoding" value="UTF-8" />
    +
    +          <property name="deployAtEnd" value="true" />
    +
    +          <property name="java.library.path" value="/usr/java/packages/lib:/usr/lib64:/lib64:/lib:/usr/lib" />
    +
    +          <property name="maven.conf" value="/home/vsts/work/1/s/.maven/conf" />
    +
    +          <property name="jdk.debug" value="release" />
    +
    +          <property name="java.class.version" value="61.0" />
    +
    +          <property name="java.specification.name" value="Java Platform API Specification" />
    +
    +          <property name="sun.management.compiler" value="HotSpot 64-Bit Tiered Compilers" />
    +
    +          <property name="os.version" value="5.15.0-1059-azure" />
    +
    +          <property name="library.jansi.path" value="/home/vsts/work/1/s/.maven/lib/jansi-native" />
    +
    +          <property name="user.home" value="/home/vsts" />
    +
    +          <property name="user.timezone" value="Etc/UTC" />
    +
    +          <property name="file.encoding" value="UTF-8" />
    +
    +          <property name="java.specification.version" value="17" />
    +
    +          <property name="user.name" value="vsts" />
    +
    +          <property name="java.class.path" value="/home/vsts/work/1/s/.maven/boot/plexus-classworlds-2.6.0.jar" />
    +
    +          <property name="bytecode.version" value="5" />
    +
    +          <property name="java.vm.specification.version" value="17" />
    +
    +          <property name="sun.arch.data.model" value="64" />
    +
    +          <property name="sun.java.command" value="org.codehaus.plexus.classworlds.launcher.Launcher -V -B -e --no-transfer-progress -f org.jacoco.build verify -Djdk.version=5 -Dbytecode.version=5 deploy:deploy -DdeployAtEnd --toolchains=toolchains.xml --settings=.azure-pipelines/maven-settings.xml" />
    +
    +          <property name="java.home" value="/usr/lib/jvm/temurin-17-jdk-amd64" />
    +
    +          <property name="user.language" value="en" />
    +
    +          <property name="java.specification.vendor" value="Oracle Corporation" />
    +
    +          <property name="java.vm.info" value="mixed mode, sharing" />
    +
    +          <property name="java.version" value="17.0.10" />
    +
    +          <property name="native.encoding" value="UTF-8" />
    +
    +          <property name="securerandom.source" value="file:/dev/./urandom" />
    +
    +          <property name="java.vendor" value="Eclipse Adoptium" />
    +
    +          <property name="maven.home" value="/home/vsts/work/1/s/.maven" />
    +
    +          <property name="file.separator" value="/" />
    +
    +          <property name="java.version.date" value="2024-01-16" />
    +
    +          <property name="java.vendor.url.bug" value="https://github.com/adoptium/adoptium-support/issues" />
    +
    +          <property name="sun.io.unicode.encoding" value="UnicodeLittle" />
    +
    +          <property name="sun.font.fontmanager" value="sun.awt.X11FontManager" />
    +
    +          <property name="sun.cpu.endian" value="little" />
    +
    +          <property name="java.vendor.version" value="Temurin-17.0.10+7" />
    +
    +      </properties>
    +
    +      <testcase classname="org.jacoco.core.runtime.ModifiedSystemClassRuntimeTest" name="testCreateForNegative" time="0.005" />
    +
    +      <testcase classname="org.jacoco.core.runtime.ModifiedSystemClassRuntimeTest" name="testDataAccessor" time="0.001" />
    +
    +      <testcase classname="org.jacoco.core.runtime.ModifiedSystemClassRuntimeTest" name="testLoadSameClassTwice" time="0" />
    +
    +      <testcase classname="org.jacoco.core.runtime.ModifiedSystemClassRuntimeTest" name="testExecutionRecording" time="0.001" />
    +
    +      <testcase classname="org.jacoco.core.runtime.ModifiedSystemClassRuntimeTest" name="testNoLocalVariablesInDataAccessor" time="0" />
    +
    +  </testsuite>
    +  <testsuite errors="0" failures="0" id="116" name="OfflineInstrumentationAccessGeneratorTest" package="org.jacoco.core.runtime" skipped="0" tests="2" time="0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="https://maven.apache.org/surefire/maven-surefire-plugin/xsd/surefire-test-report.xsd">
    +      <properties>
    +          <property name="jansi.mode" value="strip" />
    +
    +          <property name="java.runtime.name" value="OpenJDK Runtime Environment" />
    +
    +          <property name="java.vm.version" value="17.0.10+7" />
    +
    +          <property name="sun.boot.library.path" value="/usr/lib/jvm/temurin-17-jdk-amd64/lib" />
    +
    +          <property name="maven.multiModuleProjectDirectory" value="/home/vsts/work/1/s/org.jacoco.build" />
    +
    +          <property name="jdk.version" value="5" />
    +
    +          <property name="java.vm.vendor" value="Eclipse Adoptium" />
    +
    +          <property name="java.vendor.url" value="https://adoptium.net/" />
    +
    +          <property name="guice.disable.misplaced.annotation.check" value="true" />
    +
    +          <property name="path.separator" value=":" />
    +
    +          <property name="java.vm.name" value="OpenJDK 64-Bit Server VM" />
    +
    +          <property name="sun.java.launcher" value="SUN_STANDARD" />
    +
    +          <property name="java.vm.specification.name" value="Java Virtual Machine Specification" />
    +
    +          <property name="user.dir" value="/home/vsts/work/1/s" />
    +
    +          <property name="java.vm.compressedOopsMode" value="32-bit" />
    +
    +          <property name="java.runtime.version" value="17.0.10+7" />
    +
    +          <property name="os.arch" value="amd64" />
    +
    +          <property name="java.io.tmpdir" value="/tmp" />
    +
    +          <property name="line.separator" value="&#xa;" />
    +
    +          <property name="java.vm.specification.vendor" value="Oracle Corporation" />
    +
    +          <property name="os.name" value="Linux" />
    +
    +          <property name="classworlds.conf" value="/home/vsts/work/1/s/.maven/bin/m2.conf" />
    +
    +          <property name="sun.jnu.encoding" value="UTF-8" />
    +
    +          <property name="deployAtEnd" value="true" />
    +
    +          <property name="java.library.path" value="/usr/java/packages/lib:/usr/lib64:/lib64:/lib:/usr/lib" />
    +
    +          <property name="maven.conf" value="/home/vsts/work/1/s/.maven/conf" />
    +
    +          <property name="jdk.debug" value="release" />
    +
    +          <property name="java.class.version" value="61.0" />
    +
    +          <property name="java.specification.name" value="Java Platform API Specification" />
    +
    +          <property name="sun.management.compiler" value="HotSpot 64-Bit Tiered Compilers" />
    +
    +          <property name="os.version" value="5.15.0-1059-azure" />
    +
    +          <property name="library.jansi.path" value="/home/vsts/work/1/s/.maven/lib/jansi-native" />
    +
    +          <property name="user.home" value="/home/vsts" />
    +
    +          <property name="user.timezone" value="Etc/UTC" />
    +
    +          <property name="file.encoding" value="UTF-8" />
    +
    +          <property name="java.specification.version" value="17" />
    +
    +          <property name="user.name" value="vsts" />
    +
    +          <property name="java.class.path" value="/home/vsts/work/1/s/.maven/boot/plexus-classworlds-2.6.0.jar" />
    +
    +          <property name="bytecode.version" value="5" />
    +
    +          <property name="java.vm.specification.version" value="17" />
    +
    +          <property name="sun.arch.data.model" value="64" />
    +
    +          <property name="sun.java.command" value="org.codehaus.plexus.classworlds.launcher.Launcher -V -B -e --no-transfer-progress -f org.jacoco.build verify -Djdk.version=5 -Dbytecode.version=5 deploy:deploy -DdeployAtEnd --toolchains=toolchains.xml --settings=.azure-pipelines/maven-settings.xml" />
    +
    +          <property name="java.home" value="/usr/lib/jvm/temurin-17-jdk-amd64" />
    +
    +          <property name="user.language" value="en" />
    +
    +          <property name="java.specification.vendor" value="Oracle Corporation" />
    +
    +          <property name="java.vm.info" value="mixed mode, sharing" />
    +
    +          <property name="java.version" value="17.0.10" />
    +
    +          <property name="native.encoding" value="UTF-8" />
    +
    +          <property name="securerandom.source" value="file:/dev/./urandom" />
    +
    +          <property name="java.vendor" value="Eclipse Adoptium" />
    +
    +          <property name="maven.home" value="/home/vsts/work/1/s/.maven" />
    +
    +          <property name="file.separator" value="/" />
    +
    +          <property name="java.version.date" value="2024-01-16" />
    +
    +          <property name="java.vendor.url.bug" value="https://github.com/adoptium/adoptium-support/issues" />
    +
    +          <property name="sun.io.unicode.encoding" value="UnicodeLittle" />
    +
    +          <property name="sun.font.fontmanager" value="sun.awt.X11FontManager" />
    +
    +          <property name="sun.cpu.endian" value="little" />
    +
    +          <property name="java.vendor.version" value="Temurin-17.0.10+7" />
    +
    +      </properties>
    +
    +      <testcase classname="org.jacoco.core.runtime.OfflineInstrumentationAccessGeneratorTest" name="testRuntimeClassName" time="0" />
    +
    +      <testcase classname="org.jacoco.core.runtime.OfflineInstrumentationAccessGeneratorTest" name="testRuntimeAccess" time="0" />
    +
    +  </testsuite>
    +  <testsuite errors="0" failures="0" id="117" name="RemoteControlReaderWriterTest" package="org.jacoco.core.runtime" skipped="0" tests="29" time="0.008" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="https://maven.apache.org/surefire/maven-surefire-plugin/xsd/surefire-test-report.xsd">
    +      <properties>
    +          <property name="jansi.mode" value="strip" />
    +
    +          <property name="java.runtime.name" value="OpenJDK Runtime Environment" />
    +
    +          <property name="java.vm.version" value="17.0.10+7" />
    +
    +          <property name="sun.boot.library.path" value="/usr/lib/jvm/temurin-17-jdk-amd64/lib" />
    +
    +          <property name="maven.multiModuleProjectDirectory" value="/home/vsts/work/1/s/org.jacoco.build" />
    +
    +          <property name="jdk.version" value="5" />
    +
    +          <property name="java.vm.vendor" value="Eclipse Adoptium" />
    +
    +          <property name="java.vendor.url" value="https://adoptium.net/" />
    +
    +          <property name="guice.disable.misplaced.annotation.check" value="true" />
    +
    +          <property name="path.separator" value=":" />
    +
    +          <property name="java.vm.name" value="OpenJDK 64-Bit Server VM" />
    +
    +          <property name="sun.java.launcher" value="SUN_STANDARD" />
    +
    +          <property name="java.vm.specification.name" value="Java Virtual Machine Specification" />
    +
    +          <property name="user.dir" value="/home/vsts/work/1/s" />
    +
    +          <property name="java.vm.compressedOopsMode" value="32-bit" />
    +
    +          <property name="java.runtime.version" value="17.0.10+7" />
    +
    +          <property name="os.arch" value="amd64" />
    +
    +          <property name="java.io.tmpdir" value="/tmp" />
    +
    +          <property name="line.separator" value="&#xa;" />
    +
    +          <property name="java.vm.specification.vendor" value="Oracle Corporation" />
    +
    +          <property name="os.name" value="Linux" />
    +
    +          <property name="classworlds.conf" value="/home/vsts/work/1/s/.maven/bin/m2.conf" />
    +
    +          <property name="sun.jnu.encoding" value="UTF-8" />
    +
    +          <property name="deployAtEnd" value="true" />
    +
    +          <property name="java.library.path" value="/usr/java/packages/lib:/usr/lib64:/lib64:/lib:/usr/lib" />
    +
    +          <property name="maven.conf" value="/home/vsts/work/1/s/.maven/conf" />
    +
    +          <property name="jdk.debug" value="release" />
    +
    +          <property name="java.class.version" value="61.0" />
    +
    +          <property name="java.specification.name" value="Java Platform API Specification" />
    +
    +          <property name="sun.management.compiler" value="HotSpot 64-Bit Tiered Compilers" />
    +
    +          <property name="os.version" value="5.15.0-1059-azure" />
    +
    +          <property name="library.jansi.path" value="/home/vsts/work/1/s/.maven/lib/jansi-native" />
    +
    +          <property name="user.home" value="/home/vsts" />
    +
    +          <property name="user.timezone" value="Etc/UTC" />
    +
    +          <property name="file.encoding" value="UTF-8" />
    +
    +          <property name="java.specification.version" value="17" />
    +
    +          <property name="user.name" value="vsts" />
    +
    +          <property name="java.class.path" value="/home/vsts/work/1/s/.maven/boot/plexus-classworlds-2.6.0.jar" />
    +
    +          <property name="bytecode.version" value="5" />
    +
    +          <property name="java.vm.specification.version" value="17" />
    +
    +          <property name="sun.arch.data.model" value="64" />
    +
    +          <property name="sun.java.command" value="org.codehaus.plexus.classworlds.launcher.Launcher -V -B -e --no-transfer-progress -f org.jacoco.build verify -Djdk.version=5 -Dbytecode.version=5 deploy:deploy -DdeployAtEnd --toolchains=toolchains.xml --settings=.azure-pipelines/maven-settings.xml" />
    +
    +          <property name="java.home" value="/usr/lib/jvm/temurin-17-jdk-amd64" />
    +
    +          <property name="user.language" value="en" />
    +
    +          <property name="java.specification.vendor" value="Oracle Corporation" />
    +
    +          <property name="java.vm.info" value="mixed mode, sharing" />
    +
    +          <property name="java.version" value="17.0.10" />
    +
    +          <property name="native.encoding" value="UTF-8" />
    +
    +          <property name="securerandom.source" value="file:/dev/./urandom" />
    +
    +          <property name="java.vendor" value="Eclipse Adoptium" />
    +
    +          <property name="maven.home" value="/home/vsts/work/1/s/.maven" />
    +
    +          <property name="file.separator" value="/" />
    +
    +          <property name="java.version.date" value="2024-01-16" />
    +
    +          <property name="java.vendor.url.bug" value="https://github.com/adoptium/adoptium-support/issues" />
    +
    +          <property name="sun.io.unicode.encoding" value="UnicodeLittle" />
    +
    +          <property name="sun.font.fontmanager" value="sun.awt.X11FontManager" />
    +
    +          <property name="sun.cpu.endian" value="little" />
    +
    +          <property name="java.vendor.version" value="Temurin-17.0.10+7" />
    +
    +      </properties>
    +
    +      <testcase classname="org.jacoco.core.runtime.RemoteControlReaderWriterTest" name="testSendCmdOk" time="0" />
    +
    +      <testcase classname="org.jacoco.core.runtime.RemoteControlReaderWriterTest" name="testVisitDump1" time="0" />
    +
    +      <testcase classname="org.jacoco.core.runtime.RemoteControlReaderWriterTest" name="testVisitDump2" time="0.001" />
    +
    +      <testcase classname="org.jacoco.core.runtime.RemoteControlReaderWriterTest" name="testVisitDump3" time="0" />
    +
    +      <testcase classname="org.jacoco.core.runtime.RemoteControlReaderWriterTest" name="testVisitDump4" time="0" />
    +
    +      <testcase classname="org.jacoco.core.runtime.RemoteControlReaderWriterTest" name="testNoRemoteCommandVisitor" time="0" />
    +
    +      <testcase classname="org.jacoco.core.runtime.RemoteControlReaderWriterTest" name="testEmptyClass" time="0" />
    +
    +      <testcase classname="org.jacoco.core.runtime.RemoteControlReaderWriterTest" name="testMultipleHeaders" time="0" />
    +
    +      <testcase classname="org.jacoco.core.runtime.RemoteControlReaderWriterTest" name="testOneClass" time="0" />
    +
    +      <testcase classname="org.jacoco.core.runtime.RemoteControlReaderWriterTest" name="testInvalidMagicNumber" time="0" />
    +
    +      <testcase classname="org.jacoco.core.runtime.RemoteControlReaderWriterTest" name="testGetFileHeader" time="0" />
    +
    +      <testcase classname="org.jacoco.core.runtime.RemoteControlReaderWriterTest" name="testInvalidVersion" time="0" />
    +
    +      <testcase classname="org.jacoco.core.runtime.RemoteControlReaderWriterTest" name="testEmpty" time="0" />
    +
    +      <testcase classname="org.jacoco.core.runtime.RemoteControlReaderWriterTest" name="testFlush" time="0" />
    +
    +      <testcase classname="org.jacoco.core.runtime.RemoteControlReaderWriterTest" name="testExecutionDataIOException" time="0" />
    +
    +      <testcase classname="org.jacoco.core.runtime.RemoteControlReaderWriterTest" name="testNoHitClass" time="0" />
    +
    +      <testcase classname="org.jacoco.core.runtime.RemoteControlReaderWriterTest" name="testEmptyFile" time="0.001" />
    +
    +      <testcase classname="org.jacoco.core.runtime.RemoteControlReaderWriterTest" name="testSessionInfo" time="0" />
    +
    +      <testcase classname="org.jacoco.core.runtime.RemoteControlReaderWriterTest" name="testMinClassId" time="0" />
    +
    +      <testcase classname="org.jacoco.core.runtime.RemoteControlReaderWriterTest" name="testUnknownBlock" time="0" />
    +
    +      <testcase classname="org.jacoco.core.runtime.RemoteControlReaderWriterTest" name="testNoSessionInfoVisitor" time="0" />
    +
    +      <testcase classname="org.jacoco.core.runtime.RemoteControlReaderWriterTest" name="testMissingHeader" time="0" />
    +
    +      <testcase classname="org.jacoco.core.runtime.RemoteControlReaderWriterTest" name="testSessionInfoIOException" time="0" />
    +
    +      <testcase classname="org.jacoco.core.runtime.RemoteControlReaderWriterTest" name="testTwoClasses" time="0" />
    +
    +      <testcase classname="org.jacoco.core.runtime.RemoteControlReaderWriterTest" name="testNoExecutionDataVisitor" time="0.001" />
    +
    +      <testcase classname="org.jacoco.core.runtime.RemoteControlReaderWriterTest" name="testCustomBlocks" time="0" />
    +
    +      <testcase classname="org.jacoco.core.runtime.RemoteControlReaderWriterTest" name="testMaxClassId" time="0" />
    +
    +      <testcase classname="org.jacoco.core.runtime.RemoteControlReaderWriterTest" name="testTruncatedFile" time="0" />
    +
    +      <testcase classname="org.jacoco.core.runtime.RemoteControlReaderWriterTest" name="testBigClass" time="0.001" />
    +
    +  </testsuite>
    +  <testsuite errors="0" failures="0" id="118" name="RuntimeDataTest" package="org.jacoco.core.runtime" skipped="0" tests="9" time="0.004" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="https://maven.apache.org/surefire/maven-surefire-plugin/xsd/surefire-test-report.xsd">
    +      <properties>
    +          <property name="jansi.mode" value="strip" />
    +
    +          <property name="java.runtime.name" value="OpenJDK Runtime Environment" />
    +
    +          <property name="java.vm.version" value="17.0.10+7" />
    +
    +          <property name="sun.boot.library.path" value="/usr/lib/jvm/temurin-17-jdk-amd64/lib" />
    +
    +          <property name="maven.multiModuleProjectDirectory" value="/home/vsts/work/1/s/org.jacoco.build" />
    +
    +          <property name="jdk.version" value="5" />
    +
    +          <property name="java.vm.vendor" value="Eclipse Adoptium" />
    +
    +          <property name="java.vendor.url" value="https://adoptium.net/" />
    +
    +          <property name="guice.disable.misplaced.annotation.check" value="true" />
    +
    +          <property name="path.separator" value=":" />
    +
    +          <property name="java.vm.name" value="OpenJDK 64-Bit Server VM" />
    +
    +          <property name="sun.java.launcher" value="SUN_STANDARD" />
    +
    +          <property name="java.vm.specification.name" value="Java Virtual Machine Specification" />
    +
    +          <property name="user.dir" value="/home/vsts/work/1/s" />
    +
    +          <property name="java.vm.compressedOopsMode" value="32-bit" />
    +
    +          <property name="java.runtime.version" value="17.0.10+7" />
    +
    +          <property name="os.arch" value="amd64" />
    +
    +          <property name="java.io.tmpdir" value="/tmp" />
    +
    +          <property name="line.separator" value="&#xa;" />
    +
    +          <property name="java.vm.specification.vendor" value="Oracle Corporation" />
    +
    +          <property name="os.name" value="Linux" />
    +
    +          <property name="classworlds.conf" value="/home/vsts/work/1/s/.maven/bin/m2.conf" />
    +
    +          <property name="sun.jnu.encoding" value="UTF-8" />
    +
    +          <property name="deployAtEnd" value="true" />
    +
    +          <property name="java.library.path" value="/usr/java/packages/lib:/usr/lib64:/lib64:/lib:/usr/lib" />
    +
    +          <property name="maven.conf" value="/home/vsts/work/1/s/.maven/conf" />
    +
    +          <property name="jdk.debug" value="release" />
    +
    +          <property name="java.class.version" value="61.0" />
    +
    +          <property name="java.specification.name" value="Java Platform API Specification" />
    +
    +          <property name="sun.management.compiler" value="HotSpot 64-Bit Tiered Compilers" />
    +
    +          <property name="os.version" value="5.15.0-1059-azure" />
    +
    +          <property name="library.jansi.path" value="/home/vsts/work/1/s/.maven/lib/jansi-native" />
    +
    +          <property name="user.home" value="/home/vsts" />
    +
    +          <property name="user.timezone" value="Etc/UTC" />
    +
    +          <property name="file.encoding" value="UTF-8" />
    +
    +          <property name="java.specification.version" value="17" />
    +
    +          <property name="user.name" value="vsts" />
    +
    +          <property name="java.class.path" value="/home/vsts/work/1/s/.maven/boot/plexus-classworlds-2.6.0.jar" />
    +
    +          <property name="bytecode.version" value="5" />
    +
    +          <property name="java.vm.specification.version" value="17" />
    +
    +          <property name="sun.arch.data.model" value="64" />
    +
    +          <property name="sun.java.command" value="org.codehaus.plexus.classworlds.launcher.Launcher -V -B -e --no-transfer-progress -f org.jacoco.build verify -Djdk.version=5 -Dbytecode.version=5 deploy:deploy -DdeployAtEnd --toolchains=toolchains.xml --settings=.azure-pipelines/maven-settings.xml" />
    +
    +          <property name="java.home" value="/usr/lib/jvm/temurin-17-jdk-amd64" />
    +
    +          <property name="user.language" value="en" />
    +
    +          <property name="java.specification.vendor" value="Oracle Corporation" />
    +
    +          <property name="java.vm.info" value="mixed mode, sharing" />
    +
    +          <property name="java.version" value="17.0.10" />
    +
    +          <property name="native.encoding" value="UTF-8" />
    +
    +          <property name="securerandom.source" value="file:/dev/./urandom" />
    +
    +          <property name="java.vendor" value="Eclipse Adoptium" />
    +
    +          <property name="maven.home" value="/home/vsts/work/1/s/.maven" />
    +
    +          <property name="file.separator" value="/" />
    +
    +          <property name="java.version.date" value="2024-01-16" />
    +
    +          <property name="java.vendor.url.bug" value="https://github.com/adoptium/adoptium-support/issues" />
    +
    +          <property name="sun.io.unicode.encoding" value="UnicodeLittle" />
    +
    +          <property name="sun.font.fontmanager" value="sun.awt.X11FontManager" />
    +
    +          <property name="sun.cpu.endian" value="little" />
    +
    +          <property name="java.vendor.version" value="Temurin-17.0.10+7" />
    +
    +      </properties>
    +
    +      <testcase classname="org.jacoco.core.runtime.RuntimeDataTest" name="testCollectEmpty" time="0" />
    +
    +      <testcase classname="org.jacoco.core.runtime.RuntimeDataTest" name="testGenerateArgumentArray" time="0.002" />
    +
    +      <testcase classname="org.jacoco.core.runtime.RuntimeDataTest" name="testGetSetSessionId" time="0" />
    +
    +      <testcase classname="org.jacoco.core.runtime.RuntimeDataTest" name="testCollectWithReset" time="0" />
    +
    +      <testcase classname="org.jacoco.core.runtime.RuntimeDataTest" name="testCollectWithoutReset" time="0" />
    +
    +      <testcase classname="org.jacoco.core.runtime.RuntimeDataTest" name="testHashCode" time="0" />
    +
    +      <testcase classname="org.jacoco.core.runtime.RuntimeDataTest" name="testGenerateAccessCall" time="0.001" />
    +
    +      <testcase classname="org.jacoco.core.runtime.RuntimeDataTest" name="testEquals" time="0" />
    +
    +      <testcase classname="org.jacoco.core.runtime.RuntimeDataTest" name="testGetProbes" time="0" />
    +
    +  </testsuite>
    +  <testsuite errors="0" failures="0" id="119" name="SystemPropertiesRuntimeTest" package="org.jacoco.core.runtime" skipped="0" tests="4" time="0.008" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="https://maven.apache.org/surefire/maven-surefire-plugin/xsd/surefire-test-report.xsd">
    +      <properties>
    +          <property name="jansi.mode" value="strip" />
    +
    +          <property name="java.runtime.name" value="OpenJDK Runtime Environment" />
    +
    +          <property name="java.vm.version" value="17.0.10+7" />
    +
    +          <property name="sun.boot.library.path" value="/usr/lib/jvm/temurin-17-jdk-amd64/lib" />
    +
    +          <property name="maven.multiModuleProjectDirectory" value="/home/vsts/work/1/s/org.jacoco.build" />
    +
    +          <property name="jdk.version" value="5" />
    +
    +          <property name="java.vm.vendor" value="Eclipse Adoptium" />
    +
    +          <property name="java.vendor.url" value="https://adoptium.net/" />
    +
    +          <property name="guice.disable.misplaced.annotation.check" value="true" />
    +
    +          <property name="path.separator" value=":" />
    +
    +          <property name="java.vm.name" value="OpenJDK 64-Bit Server VM" />
    +
    +          <property name="sun.java.launcher" value="SUN_STANDARD" />
    +
    +          <property name="java.vm.specification.name" value="Java Virtual Machine Specification" />
    +
    +          <property name="user.dir" value="/home/vsts/work/1/s" />
    +
    +          <property name="java.vm.compressedOopsMode" value="32-bit" />
    +
    +          <property name="java.runtime.version" value="17.0.10+7" />
    +
    +          <property name="os.arch" value="amd64" />
    +
    +          <property name="java.io.tmpdir" value="/tmp" />
    +
    +          <property name="line.separator" value="&#xa;" />
    +
    +          <property name="java.vm.specification.vendor" value="Oracle Corporation" />
    +
    +          <property name="os.name" value="Linux" />
    +
    +          <property name="classworlds.conf" value="/home/vsts/work/1/s/.maven/bin/m2.conf" />
    +
    +          <property name="sun.jnu.encoding" value="UTF-8" />
    +
    +          <property name="deployAtEnd" value="true" />
    +
    +          <property name="java.library.path" value="/usr/java/packages/lib:/usr/lib64:/lib64:/lib:/usr/lib" />
    +
    +          <property name="maven.conf" value="/home/vsts/work/1/s/.maven/conf" />
    +
    +          <property name="jdk.debug" value="release" />
    +
    +          <property name="java.class.version" value="61.0" />
    +
    +          <property name="java.specification.name" value="Java Platform API Specification" />
    +
    +          <property name="sun.management.compiler" value="HotSpot 64-Bit Tiered Compilers" />
    +
    +          <property name="os.version" value="5.15.0-1059-azure" />
    +
    +          <property name="library.jansi.path" value="/home/vsts/work/1/s/.maven/lib/jansi-native" />
    +
    +          <property name="user.home" value="/home/vsts" />
    +
    +          <property name="user.timezone" value="Etc/UTC" />
    +
    +          <property name="file.encoding" value="UTF-8" />
    +
    +          <property name="java.specification.version" value="17" />
    +
    +          <property name="user.name" value="vsts" />
    +
    +          <property name="java.class.path" value="/home/vsts/work/1/s/.maven/boot/plexus-classworlds-2.6.0.jar" />
    +
    +          <property name="bytecode.version" value="5" />
    +
    +          <property name="java.vm.specification.version" value="17" />
    +
    +          <property name="sun.arch.data.model" value="64" />
    +
    +          <property name="sun.java.command" value="org.codehaus.plexus.classworlds.launcher.Launcher -V -B -e --no-transfer-progress -f org.jacoco.build verify -Djdk.version=5 -Dbytecode.version=5 deploy:deploy -DdeployAtEnd --toolchains=toolchains.xml --settings=.azure-pipelines/maven-settings.xml" />
    +
    +          <property name="java.home" value="/usr/lib/jvm/temurin-17-jdk-amd64" />
    +
    +          <property name="user.language" value="en" />
    +
    +          <property name="java.specification.vendor" value="Oracle Corporation" />
    +
    +          <property name="java.vm.info" value="mixed mode, sharing" />
    +
    +          <property name="java.version" value="17.0.10" />
    +
    +          <property name="native.encoding" value="UTF-8" />
    +
    +          <property name="securerandom.source" value="file:/dev/./urandom" />
    +
    +          <property name="java.vendor" value="Eclipse Adoptium" />
    +
    +          <property name="maven.home" value="/home/vsts/work/1/s/.maven" />
    +
    +          <property name="file.separator" value="/" />
    +
    +          <property name="java.version.date" value="2024-01-16" />
    +
    +          <property name="java.vendor.url.bug" value="https://github.com/adoptium/adoptium-support/issues" />
    +
    +          <property name="sun.io.unicode.encoding" value="UnicodeLittle" />
    +
    +          <property name="sun.font.fontmanager" value="sun.awt.X11FontManager" />
    +
    +          <property name="sun.cpu.endian" value="little" />
    +
    +          <property name="java.vendor.version" value="Temurin-17.0.10+7" />
    +
    +      </properties>
    +
    +      <testcase classname="org.jacoco.core.runtime.SystemPropertiesRuntimeTest" name="testDataAccessor" time="0" />
    +
    +      <testcase classname="org.jacoco.core.runtime.SystemPropertiesRuntimeTest" name="testLoadSameClassTwice" time="0.006" />
    +
    +      <testcase classname="org.jacoco.core.runtime.SystemPropertiesRuntimeTest" name="testExecutionRecording" time="0" />
    +
    +      <testcase classname="org.jacoco.core.runtime.SystemPropertiesRuntimeTest" name="testNoLocalVariablesInDataAccessor" time="0" />
    +
    +  </testsuite>
    +  <testsuite errors="0" failures="0" id="120" name="WildcardMatcherTest" package="org.jacoco.core.runtime" skipped="0" tests="8" time="0.004" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="https://maven.apache.org/surefire/maven-surefire-plugin/xsd/surefire-test-report.xsd">
    +      <properties>
    +          <property name="jansi.mode" value="strip" />
    +
    +          <property name="java.runtime.name" value="OpenJDK Runtime Environment" />
    +
    +          <property name="java.vm.version" value="17.0.10+7" />
    +
    +          <property name="sun.boot.library.path" value="/usr/lib/jvm/temurin-17-jdk-amd64/lib" />
    +
    +          <property name="maven.multiModuleProjectDirectory" value="/home/vsts/work/1/s/org.jacoco.build" />
    +
    +          <property name="jdk.version" value="5" />
    +
    +          <property name="java.vm.vendor" value="Eclipse Adoptium" />
    +
    +          <property name="java.vendor.url" value="https://adoptium.net/" />
    +
    +          <property name="guice.disable.misplaced.annotation.check" value="true" />
    +
    +          <property name="path.separator" value=":" />
    +
    +          <property name="java.vm.name" value="OpenJDK 64-Bit Server VM" />
    +
    +          <property name="sun.java.launcher" value="SUN_STANDARD" />
    +
    +          <property name="java.vm.specification.name" value="Java Virtual Machine Specification" />
    +
    +          <property name="user.dir" value="/home/vsts/work/1/s" />
    +
    +          <property name="java.vm.compressedOopsMode" value="32-bit" />
    +
    +          <property name="java.runtime.version" value="17.0.10+7" />
    +
    +          <property name="os.arch" value="amd64" />
    +
    +          <property name="java.io.tmpdir" value="/tmp" />
    +
    +          <property name="line.separator" value="&#xa;" />
    +
    +          <property name="java.vm.specification.vendor" value="Oracle Corporation" />
    +
    +          <property name="os.name" value="Linux" />
    +
    +          <property name="classworlds.conf" value="/home/vsts/work/1/s/.maven/bin/m2.conf" />
    +
    +          <property name="sun.jnu.encoding" value="UTF-8" />
    +
    +          <property name="deployAtEnd" value="true" />
    +
    +          <property name="java.library.path" value="/usr/java/packages/lib:/usr/lib64:/lib64:/lib:/usr/lib" />
    +
    +          <property name="maven.conf" value="/home/vsts/work/1/s/.maven/conf" />
    +
    +          <property name="jdk.debug" value="release" />
    +
    +          <property name="java.class.version" value="61.0" />
    +
    +          <property name="java.specification.name" value="Java Platform API Specification" />
    +
    +          <property name="sun.management.compiler" value="HotSpot 64-Bit Tiered Compilers" />
    +
    +          <property name="os.version" value="5.15.0-1059-azure" />
    +
    +          <property name="library.jansi.path" value="/home/vsts/work/1/s/.maven/lib/jansi-native" />
    +
    +          <property name="user.home" value="/home/vsts" />
    +
    +          <property name="user.timezone" value="Etc/UTC" />
    +
    +          <property name="file.encoding" value="UTF-8" />
    +
    +          <property name="java.specification.version" value="17" />
    +
    +          <property name="user.name" value="vsts" />
    +
    +          <property name="java.class.path" value="/home/vsts/work/1/s/.maven/boot/plexus-classworlds-2.6.0.jar" />
    +
    +          <property name="bytecode.version" value="5" />
    +
    +          <property name="java.vm.specification.version" value="17" />
    +
    +          <property name="sun.arch.data.model" value="64" />
    +
    +          <property name="sun.java.command" value="org.codehaus.plexus.classworlds.launcher.Launcher -V -B -e --no-transfer-progress -f org.jacoco.build verify -Djdk.version=5 -Dbytecode.version=5 deploy:deploy -DdeployAtEnd --toolchains=toolchains.xml --settings=.azure-pipelines/maven-settings.xml" />
    +
    +          <property name="java.home" value="/usr/lib/jvm/temurin-17-jdk-amd64" />
    +
    +          <property name="user.language" value="en" />
    +
    +          <property name="java.specification.vendor" value="Oracle Corporation" />
    +
    +          <property name="java.vm.info" value="mixed mode, sharing" />
    +
    +          <property name="java.version" value="17.0.10" />
    +
    +          <property name="native.encoding" value="UTF-8" />
    +
    +          <property name="securerandom.source" value="file:/dev/./urandom" />
    +
    +          <property name="java.vendor" value="Eclipse Adoptium" />
    +
    +          <property name="maven.home" value="/home/vsts/work/1/s/.maven" />
    +
    +          <property name="file.separator" value="/" />
    +
    +          <property name="java.version.date" value="2024-01-16" />
    +
    +          <property name="java.vendor.url.bug" value="https://github.com/adoptium/adoptium-support/issues" />
    +
    +          <property name="sun.io.unicode.encoding" value="UnicodeLittle" />
    +
    +          <property name="sun.font.fontmanager" value="sun.awt.X11FontManager" />
    +
    +          <property name="sun.cpu.endian" value="little" />
    +
    +          <property name="java.vendor.version" value="Temurin-17.0.10+7" />
    +
    +      </properties>
    +
    +      <testcase classname="org.jacoco.core.runtime.WildcardMatcherTest" name="expressions_without_wildcards_should_match_exactly" time="0.001" />
    +
    +      <testcase classname="org.jacoco.core.runtime.WildcardMatcherTest" name="empty_expression_should_match_any_string" time="0" />
    +
    +      <testcase classname="org.jacoco.core.runtime.WildcardMatcherTest" name="should_match_case_sensitive" time="0" />
    +
    +      <testcase classname="org.jacoco.core.runtime.WildcardMatcherTest" name="asterix_should_match_any_number_of_any_character" time="0" />
    +
    +      <testcase classname="org.jacoco.core.runtime.WildcardMatcherTest" name="should_match_any_expression_when_multiple_expressions_are_given" time="0" />
    +
    +      <testcase classname="org.jacoco.core.runtime.WildcardMatcherTest" name="questionmark_should_match_any_single_character" time="0.001" />
    +
    +      <testcase classname="org.jacoco.core.runtime.WildcardMatcherTest" name="should_match_dollar_sign" time="0" />
    +
    +      <testcase classname="org.jacoco.core.runtime.WildcardMatcherTest" name="should_not_use_regex_characters" time="0" />
    +
    +  </testsuite>
    +  <testsuite errors="0" failures="0" id="121" name="InstrumentingLoaderTest" package="org.jacoco.core.test" skipped="0" tests="1" time="0.005" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="https://maven.apache.org/surefire/maven-surefire-plugin/xsd/surefire-test-report.xsd">
    +      <properties>
    +          <property name="jansi.mode" value="strip" />
    +
    +          <property name="java.runtime.name" value="OpenJDK Runtime Environment" />
    +
    +          <property name="java.vm.version" value="17.0.10+7" />
    +
    +          <property name="sun.boot.library.path" value="/usr/lib/jvm/temurin-17-jdk-amd64/lib" />
    +
    +          <property name="maven.multiModuleProjectDirectory" value="/home/vsts/work/1/s/org.jacoco.build" />
    +
    +          <property name="jdk.version" value="5" />
    +
    +          <property name="java.vm.vendor" value="Eclipse Adoptium" />
    +
    +          <property name="java.vendor.url" value="https://adoptium.net/" />
    +
    +          <property name="guice.disable.misplaced.annotation.check" value="true" />
    +
    +          <property name="path.separator" value=":" />
    +
    +          <property name="java.vm.name" value="OpenJDK 64-Bit Server VM" />
    +
    +          <property name="sun.java.launcher" value="SUN_STANDARD" />
    +
    +          <property name="java.vm.specification.name" value="Java Virtual Machine Specification" />
    +
    +          <property name="user.dir" value="/home/vsts/work/1/s" />
    +
    +          <property name="java.vm.compressedOopsMode" value="32-bit" />
    +
    +          <property name="java.runtime.version" value="17.0.10+7" />
    +
    +          <property name="os.arch" value="amd64" />
    +
    +          <property name="java.io.tmpdir" value="/tmp" />
    +
    +          <property name="line.separator" value="&#xa;" />
    +
    +          <property name="java.vm.specification.vendor" value="Oracle Corporation" />
    +
    +          <property name="os.name" value="Linux" />
    +
    +          <property name="classworlds.conf" value="/home/vsts/work/1/s/.maven/bin/m2.conf" />
    +
    +          <property name="sun.jnu.encoding" value="UTF-8" />
    +
    +          <property name="deployAtEnd" value="true" />
    +
    +          <property name="java.library.path" value="/usr/java/packages/lib:/usr/lib64:/lib64:/lib:/usr/lib" />
    +
    +          <property name="maven.conf" value="/home/vsts/work/1/s/.maven/conf" />
    +
    +          <property name="jdk.debug" value="release" />
    +
    +          <property name="java.class.version" value="61.0" />
    +
    +          <property name="java.specification.name" value="Java Platform API Specification" />
    +
    +          <property name="sun.management.compiler" value="HotSpot 64-Bit Tiered Compilers" />
    +
    +          <property name="os.version" value="5.15.0-1059-azure" />
    +
    +          <property name="library.jansi.path" value="/home/vsts/work/1/s/.maven/lib/jansi-native" />
    +
    +          <property name="user.home" value="/home/vsts" />
    +
    +          <property name="user.timezone" value="Etc/UTC" />
    +
    +          <property name="file.encoding" value="UTF-8" />
    +
    +          <property name="java.specification.version" value="17" />
    +
    +          <property name="user.name" value="vsts" />
    +
    +          <property name="java.class.path" value="/home/vsts/work/1/s/.maven/boot/plexus-classworlds-2.6.0.jar" />
    +
    +          <property name="bytecode.version" value="5" />
    +
    +          <property name="java.vm.specification.version" value="17" />
    +
    +          <property name="sun.arch.data.model" value="64" />
    +
    +          <property name="sun.java.command" value="org.codehaus.plexus.classworlds.launcher.Launcher -V -B -e --no-transfer-progress -f org.jacoco.build verify -Djdk.version=5 -Dbytecode.version=5 deploy:deploy -DdeployAtEnd --toolchains=toolchains.xml --settings=.azure-pipelines/maven-settings.xml" />
    +
    +          <property name="java.home" value="/usr/lib/jvm/temurin-17-jdk-amd64" />
    +
    +          <property name="user.language" value="en" />
    +
    +          <property name="java.specification.vendor" value="Oracle Corporation" />
    +
    +          <property name="java.vm.info" value="mixed mode, sharing" />
    +
    +          <property name="java.version" value="17.0.10" />
    +
    +          <property name="native.encoding" value="UTF-8" />
    +
    +          <property name="securerandom.source" value="file:/dev/./urandom" />
    +
    +          <property name="java.vendor" value="Eclipse Adoptium" />
    +
    +          <property name="maven.home" value="/home/vsts/work/1/s/.maven" />
    +
    +          <property name="file.separator" value="/" />
    +
    +          <property name="java.version.date" value="2024-01-16" />
    +
    +          <property name="java.vendor.url.bug" value="https://github.com/adoptium/adoptium-support/issues" />
    +
    +          <property name="sun.io.unicode.encoding" value="UnicodeLittle" />
    +
    +          <property name="sun.font.fontmanager" value="sun.awt.X11FontManager" />
    +
    +          <property name="sun.cpu.endian" value="little" />
    +
    +          <property name="java.vendor.version" value="Temurin-17.0.10+7" />
    +
    +      </properties>
    +
    +      <testcase classname="org.jacoco.core.test.InstrumentingLoaderTest" name="should_use_findLoadedClass" time="0" />
    +
    +  </testsuite>
    +  <testsuite errors="0" failures="0" id="122" name="JavaVersionTest" package="org.jacoco.core.test.validation" skipped="0" tests="2" time="0.002" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="https://maven.apache.org/surefire/maven-surefire-plugin/xsd/surefire-test-report.xsd">
    +      <properties>
    +          <property name="jansi.mode" value="strip" />
    +
    +          <property name="java.runtime.name" value="OpenJDK Runtime Environment" />
    +
    +          <property name="java.vm.version" value="17.0.10+7" />
    +
    +          <property name="sun.boot.library.path" value="/usr/lib/jvm/temurin-17-jdk-amd64/lib" />
    +
    +          <property name="maven.multiModuleProjectDirectory" value="/home/vsts/work/1/s/org.jacoco.build" />
    +
    +          <property name="jdk.version" value="5" />
    +
    +          <property name="java.vm.vendor" value="Eclipse Adoptium" />
    +
    +          <property name="java.vendor.url" value="https://adoptium.net/" />
    +
    +          <property name="guice.disable.misplaced.annotation.check" value="true" />
    +
    +          <property name="path.separator" value=":" />
    +
    +          <property name="java.vm.name" value="OpenJDK 64-Bit Server VM" />
    +
    +          <property name="sun.java.launcher" value="SUN_STANDARD" />
    +
    +          <property name="java.vm.specification.name" value="Java Virtual Machine Specification" />
    +
    +          <property name="user.dir" value="/home/vsts/work/1/s" />
    +
    +          <property name="java.vm.compressedOopsMode" value="32-bit" />
    +
    +          <property name="java.runtime.version" value="17.0.10+7" />
    +
    +          <property name="os.arch" value="amd64" />
    +
    +          <property name="java.io.tmpdir" value="/tmp" />
    +
    +          <property name="line.separator" value="&#xa;" />
    +
    +          <property name="java.vm.specification.vendor" value="Oracle Corporation" />
    +
    +          <property name="os.name" value="Linux" />
    +
    +          <property name="classworlds.conf" value="/home/vsts/work/1/s/.maven/bin/m2.conf" />
    +
    +          <property name="sun.jnu.encoding" value="UTF-8" />
    +
    +          <property name="deployAtEnd" value="true" />
    +
    +          <property name="java.library.path" value="/usr/java/packages/lib:/usr/lib64:/lib64:/lib:/usr/lib" />
    +
    +          <property name="maven.conf" value="/home/vsts/work/1/s/.maven/conf" />
    +
    +          <property name="jdk.debug" value="release" />
    +
    +          <property name="java.class.version" value="61.0" />
    +
    +          <property name="java.specification.name" value="Java Platform API Specification" />
    +
    +          <property name="sun.management.compiler" value="HotSpot 64-Bit Tiered Compilers" />
    +
    +          <property name="os.version" value="5.15.0-1059-azure" />
    +
    +          <property name="library.jansi.path" value="/home/vsts/work/1/s/.maven/lib/jansi-native" />
    +
    +          <property name="user.home" value="/home/vsts" />
    +
    +          <property name="user.timezone" value="Etc/UTC" />
    +
    +          <property name="file.encoding" value="UTF-8" />
    +
    +          <property name="java.specification.version" value="17" />
    +
    +          <property name="user.name" value="vsts" />
    +
    +          <property name="java.class.path" value="/home/vsts/work/1/s/.maven/boot/plexus-classworlds-2.6.0.jar" />
    +
    +          <property name="bytecode.version" value="5" />
    +
    +          <property name="java.vm.specification.version" value="17" />
    +
    +          <property name="sun.arch.data.model" value="64" />
    +
    +          <property name="sun.java.command" value="org.codehaus.plexus.classworlds.launcher.Launcher -V -B -e --no-transfer-progress -f org.jacoco.build verify -Djdk.version=5 -Dbytecode.version=5 deploy:deploy -DdeployAtEnd --toolchains=toolchains.xml --settings=.azure-pipelines/maven-settings.xml" />
    +
    +          <property name="java.home" value="/usr/lib/jvm/temurin-17-jdk-amd64" />
    +
    +          <property name="user.language" value="en" />
    +
    +          <property name="java.specification.vendor" value="Oracle Corporation" />
    +
    +          <property name="java.vm.info" value="mixed mode, sharing" />
    +
    +          <property name="java.version" value="17.0.10" />
    +
    +          <property name="native.encoding" value="UTF-8" />
    +
    +          <property name="securerandom.source" value="file:/dev/./urandom" />
    +
    +          <property name="java.vendor" value="Eclipse Adoptium" />
    +
    +          <property name="maven.home" value="/home/vsts/work/1/s/.maven" />
    +
    +          <property name="file.separator" value="/" />
    +
    +          <property name="java.version.date" value="2024-01-16" />
    +
    +          <property name="java.vendor.url.bug" value="https://github.com/adoptium/adoptium-support/issues" />
    +
    +          <property name="sun.io.unicode.encoding" value="UnicodeLittle" />
    +
    +          <property name="sun.font.fontmanager" value="sun.awt.X11FontManager" />
    +
    +          <property name="sun.cpu.endian" value="little" />
    +
    +          <property name="java.vendor.version" value="Temurin-17.0.10+7" />
    +
    +      </properties>
    +
    +      <testcase classname="org.jacoco.core.test.validation.JavaVersionTest" name="should_compare_with_given_version" time="0" />
    +
    +      <testcase classname="org.jacoco.core.test.validation.JavaVersionTest" name="should_parse_values_of_java_version_property" time="0" />
    +
    +  </testsuite>
    +  <testsuite errors="0" failures="0" id="123" name="SourceTest" package="org.jacoco.core.test.validation" skipped="0" tests="7" time="0.027" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="https://maven.apache.org/surefire/maven-surefire-plugin/xsd/surefire-test-report.xsd">
    +      <properties>
    +          <property name="jansi.mode" value="strip" />
    +
    +          <property name="java.runtime.name" value="OpenJDK Runtime Environment" />
    +
    +          <property name="java.vm.version" value="17.0.10+7" />
    +
    +          <property name="sun.boot.library.path" value="/usr/lib/jvm/temurin-17-jdk-amd64/lib" />
    +
    +          <property name="maven.multiModuleProjectDirectory" value="/home/vsts/work/1/s/org.jacoco.build" />
    +
    +          <property name="jdk.version" value="5" />
    +
    +          <property name="java.vm.vendor" value="Eclipse Adoptium" />
    +
    +          <property name="java.vendor.url" value="https://adoptium.net/" />
    +
    +          <property name="guice.disable.misplaced.annotation.check" value="true" />
    +
    +          <property name="path.separator" value=":" />
    +
    +          <property name="java.vm.name" value="OpenJDK 64-Bit Server VM" />
    +
    +          <property name="sun.java.launcher" value="SUN_STANDARD" />
    +
    +          <property name="java.vm.specification.name" value="Java Virtual Machine Specification" />
    +
    +          <property name="user.dir" value="/home/vsts/work/1/s" />
    +
    +          <property name="java.vm.compressedOopsMode" value="32-bit" />
    +
    +          <property name="java.runtime.version" value="17.0.10+7" />
    +
    +          <property name="os.arch" value="amd64" />
    +
    +          <property name="java.io.tmpdir" value="/tmp" />
    +
    +          <property name="line.separator" value="&#xa;" />
    +
    +          <property name="java.vm.specification.vendor" value="Oracle Corporation" />
    +
    +          <property name="os.name" value="Linux" />
    +
    +          <property name="classworlds.conf" value="/home/vsts/work/1/s/.maven/bin/m2.conf" />
    +
    +          <property name="sun.jnu.encoding" value="UTF-8" />
    +
    +          <property name="deployAtEnd" value="true" />
    +
    +          <property name="java.library.path" value="/usr/java/packages/lib:/usr/lib64:/lib64:/lib:/usr/lib" />
    +
    +          <property name="maven.conf" value="/home/vsts/work/1/s/.maven/conf" />
    +
    +          <property name="jdk.debug" value="release" />
    +
    +          <property name="java.class.version" value="61.0" />
    +
    +          <property name="java.specification.name" value="Java Platform API Specification" />
    +
    +          <property name="sun.management.compiler" value="HotSpot 64-Bit Tiered Compilers" />
    +
    +          <property name="os.version" value="5.15.0-1059-azure" />
    +
    +          <property name="library.jansi.path" value="/home/vsts/work/1/s/.maven/lib/jansi-native" />
    +
    +          <property name="user.home" value="/home/vsts" />
    +
    +          <property name="user.timezone" value="Etc/UTC" />
    +
    +          <property name="file.encoding" value="UTF-8" />
    +
    +          <property name="java.specification.version" value="17" />
    +
    +          <property name="user.name" value="vsts" />
    +
    +          <property name="java.class.path" value="/home/vsts/work/1/s/.maven/boot/plexus-classworlds-2.6.0.jar" />
    +
    +          <property name="bytecode.version" value="5" />
    +
    +          <property name="java.vm.specification.version" value="17" />
    +
    +          <property name="sun.arch.data.model" value="64" />
    +
    +          <property name="sun.java.command" value="org.codehaus.plexus.classworlds.launcher.Launcher -V -B -e --no-transfer-progress -f org.jacoco.build verify -Djdk.version=5 -Dbytecode.version=5 deploy:deploy -DdeployAtEnd --toolchains=toolchains.xml --settings=.azure-pipelines/maven-settings.xml" />
    +
    +          <property name="java.home" value="/usr/lib/jvm/temurin-17-jdk-amd64" />
    +
    +          <property name="user.language" value="en" />
    +
    +          <property name="java.specification.vendor" value="Oracle Corporation" />
    +
    +          <property name="java.vm.info" value="mixed mode, sharing" />
    +
    +          <property name="java.version" value="17.0.10" />
    +
    +          <property name="native.encoding" value="UTF-8" />
    +
    +          <property name="securerandom.source" value="file:/dev/./urandom" />
    +
    +          <property name="java.vendor" value="Eclipse Adoptium" />
    +
    +          <property name="maven.home" value="/home/vsts/work/1/s/.maven" />
    +
    +          <property name="file.separator" value="/" />
    +
    +          <property name="java.version.date" value="2024-01-16" />
    +
    +          <property name="java.vendor.url.bug" value="https://github.com/adoptium/adoptium-support/issues" />
    +
    +          <property name="sun.io.unicode.encoding" value="UnicodeLittle" />
    +
    +          <property name="sun.font.fontmanager" value="sun.awt.X11FontManager" />
    +
    +          <property name="sun.cpu.endian" value="little" />
    +
    +          <property name="java.vendor.version" value="Temurin-17.0.10+7" />
    +
    +      </properties>
    +
    +      <testcase classname="org.jacoco.core.test.validation.SourceTest" name="should_parse_crnl_separator" time="0.017" />
    +
    +      <testcase classname="org.jacoco.core.test.validation.SourceTest" name="should_parse_empty_lines" time="0" />
    +
    +      <testcase classname="org.jacoco.core.test.validation.SourceTest" name="line_should_implement_toString" time="0.008" />
    +
    +      <testcase classname="org.jacoco.core.test.validation.SourceTest" name="should_parse_lines" time="0" />
    +
    +      <testcase classname="org.jacoco.core.test.validation.SourceTest" name="line_should_return_comment" time="0" />
    +
    +      <testcase classname="org.jacoco.core.test.validation.SourceTest" name="line_should_provide_corresponding_coverage" time="0" />
    +
    +      <testcase classname="org.jacoco.core.test.validation.SourceTest" name="should_calculate_line_numbers" time="0" />
    +
    +  </testsuite>
    +  <testsuite errors="0" failures="0" id="124" name="StatementExecutorTest" package="org.jacoco.core.test.validation" skipped="0" tests="5" time="0.002" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="https://maven.apache.org/surefire/maven-surefire-plugin/xsd/surefire-test-report.xsd">
    +      <properties>
    +          <property name="jansi.mode" value="strip" />
    +
    +          <property name="java.runtime.name" value="OpenJDK Runtime Environment" />
    +
    +          <property name="java.vm.version" value="17.0.10+7" />
    +
    +          <property name="sun.boot.library.path" value="/usr/lib/jvm/temurin-17-jdk-amd64/lib" />
    +
    +          <property name="maven.multiModuleProjectDirectory" value="/home/vsts/work/1/s/org.jacoco.build" />
    +
    +          <property name="jdk.version" value="5" />
    +
    +          <property name="java.vm.vendor" value="Eclipse Adoptium" />
    +
    +          <property name="java.vendor.url" value="https://adoptium.net/" />
    +
    +          <property name="guice.disable.misplaced.annotation.check" value="true" />
    +
    +          <property name="path.separator" value=":" />
    +
    +          <property name="java.vm.name" value="OpenJDK 64-Bit Server VM" />
    +
    +          <property name="sun.java.launcher" value="SUN_STANDARD" />
    +
    +          <property name="java.vm.specification.name" value="Java Virtual Machine Specification" />
    +
    +          <property name="user.dir" value="/home/vsts/work/1/s" />
    +
    +          <property name="java.vm.compressedOopsMode" value="32-bit" />
    +
    +          <property name="java.runtime.version" value="17.0.10+7" />
    +
    +          <property name="os.arch" value="amd64" />
    +
    +          <property name="java.io.tmpdir" value="/tmp" />
    +
    +          <property name="line.separator" value="&#xa;" />
    +
    +          <property name="java.vm.specification.vendor" value="Oracle Corporation" />
    +
    +          <property name="os.name" value="Linux" />
    +
    +          <property name="classworlds.conf" value="/home/vsts/work/1/s/.maven/bin/m2.conf" />
    +
    +          <property name="sun.jnu.encoding" value="UTF-8" />
    +
    +          <property name="deployAtEnd" value="true" />
    +
    +          <property name="java.library.path" value="/usr/java/packages/lib:/usr/lib64:/lib64:/lib:/usr/lib" />
    +
    +          <property name="maven.conf" value="/home/vsts/work/1/s/.maven/conf" />
    +
    +          <property name="jdk.debug" value="release" />
    +
    +          <property name="java.class.version" value="61.0" />
    +
    +          <property name="java.specification.name" value="Java Platform API Specification" />
    +
    +          <property name="sun.management.compiler" value="HotSpot 64-Bit Tiered Compilers" />
    +
    +          <property name="os.version" value="5.15.0-1059-azure" />
    +
    +          <property name="library.jansi.path" value="/home/vsts/work/1/s/.maven/lib/jansi-native" />
    +
    +          <property name="user.home" value="/home/vsts" />
    +
    +          <property name="user.timezone" value="Etc/UTC" />
    +
    +          <property name="file.encoding" value="UTF-8" />
    +
    +          <property name="java.specification.version" value="17" />
    +
    +          <property name="user.name" value="vsts" />
    +
    +          <property name="java.class.path" value="/home/vsts/work/1/s/.maven/boot/plexus-classworlds-2.6.0.jar" />
    +
    +          <property name="bytecode.version" value="5" />
    +
    +          <property name="java.vm.specification.version" value="17" />
    +
    +          <property name="sun.arch.data.model" value="64" />
    +
    +          <property name="sun.java.command" value="org.codehaus.plexus.classworlds.launcher.Launcher -V -B -e --no-transfer-progress -f org.jacoco.build verify -Djdk.version=5 -Dbytecode.version=5 deploy:deploy -DdeployAtEnd --toolchains=toolchains.xml --settings=.azure-pipelines/maven-settings.xml" />
    +
    +          <property name="java.home" value="/usr/lib/jvm/temurin-17-jdk-amd64" />
    +
    +          <property name="user.language" value="en" />
    +
    +          <property name="java.specification.vendor" value="Oracle Corporation" />
    +
    +          <property name="java.vm.info" value="mixed mode, sharing" />
    +
    +          <property name="java.version" value="17.0.10" />
    +
    +          <property name="native.encoding" value="UTF-8" />
    +
    +          <property name="securerandom.source" value="file:/dev/./urandom" />
    +
    +          <property name="java.vendor" value="Eclipse Adoptium" />
    +
    +          <property name="maven.home" value="/home/vsts/work/1/s/.maven" />
    +
    +          <property name="file.separator" value="/" />
    +
    +          <property name="java.version.date" value="2024-01-16" />
    +
    +          <property name="java.vendor.url.bug" value="https://github.com/adoptium/adoptium-support/issues" />
    +
    +          <property name="sun.io.unicode.encoding" value="UnicodeLittle" />
    +
    +          <property name="sun.font.fontmanager" value="sun.awt.X11FontManager" />
    +
    +          <property name="sun.cpu.endian" value="little" />
    +
    +          <property name="java.vendor.version" value="Temurin-17.0.10+7" />
    +
    +      </properties>
    +
    +      <testcase classname="org.jacoco.core.test.validation.StatementExecutorTest" name="should_wrap_other_exceptions" time="0" />
    +
    +      <testcase classname="org.jacoco.core.test.validation.StatementExecutorTest" name="should_prefix_arguments" time="0.001" />
    +
    +      <testcase classname="org.jacoco.core.test.validation.StatementExecutorTest" name="should_throw_RuntimeException_when_method_cannot_be_invoked" time="0" />
    +
    +      <testcase classname="org.jacoco.core.test.validation.StatementExecutorTest" name="should_call_method_with_int_argument" time="0" />
    +
    +      <testcase classname="org.jacoco.core.test.validation.StatementExecutorTest" name="should_preserve_AssertionError" time="0" />
    +
    +  </testsuite>
    +  <testsuite errors="0" failures="0" id="125" name="StatementParserTest" package="org.jacoco.core.test.validation" skipped="0" tests="11" time="0.006" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="https://maven.apache.org/surefire/maven-surefire-plugin/xsd/surefire-test-report.xsd">
    +      <properties>
    +          <property name="jansi.mode" value="strip" />
    +
    +          <property name="java.runtime.name" value="OpenJDK Runtime Environment" />
    +
    +          <property name="java.vm.version" value="17.0.10+7" />
    +
    +          <property name="sun.boot.library.path" value="/usr/lib/jvm/temurin-17-jdk-amd64/lib" />
    +
    +          <property name="maven.multiModuleProjectDirectory" value="/home/vsts/work/1/s/org.jacoco.build" />
    +
    +          <property name="jdk.version" value="5" />
    +
    +          <property name="java.vm.vendor" value="Eclipse Adoptium" />
    +
    +          <property name="java.vendor.url" value="https://adoptium.net/" />
    +
    +          <property name="guice.disable.misplaced.annotation.check" value="true" />
    +
    +          <property name="path.separator" value=":" />
    +
    +          <property name="java.vm.name" value="OpenJDK 64-Bit Server VM" />
    +
    +          <property name="sun.java.launcher" value="SUN_STANDARD" />
    +
    +          <property name="java.vm.specification.name" value="Java Virtual Machine Specification" />
    +
    +          <property name="user.dir" value="/home/vsts/work/1/s" />
    +
    +          <property name="java.vm.compressedOopsMode" value="32-bit" />
    +
    +          <property name="java.runtime.version" value="17.0.10+7" />
    +
    +          <property name="os.arch" value="amd64" />
    +
    +          <property name="java.io.tmpdir" value="/tmp" />
    +
    +          <property name="line.separator" value="&#xa;" />
    +
    +          <property name="java.vm.specification.vendor" value="Oracle Corporation" />
    +
    +          <property name="os.name" value="Linux" />
    +
    +          <property name="classworlds.conf" value="/home/vsts/work/1/s/.maven/bin/m2.conf" />
    +
    +          <property name="sun.jnu.encoding" value="UTF-8" />
    +
    +          <property name="deployAtEnd" value="true" />
    +
    +          <property name="java.library.path" value="/usr/java/packages/lib:/usr/lib64:/lib64:/lib:/usr/lib" />
    +
    +          <property name="maven.conf" value="/home/vsts/work/1/s/.maven/conf" />
    +
    +          <property name="jdk.debug" value="release" />
    +
    +          <property name="java.class.version" value="61.0" />
    +
    +          <property name="java.specification.name" value="Java Platform API Specification" />
    +
    +          <property name="sun.management.compiler" value="HotSpot 64-Bit Tiered Compilers" />
    +
    +          <property name="os.version" value="5.15.0-1059-azure" />
    +
    +          <property name="library.jansi.path" value="/home/vsts/work/1/s/.maven/lib/jansi-native" />
    +
    +          <property name="user.home" value="/home/vsts" />
    +
    +          <property name="user.timezone" value="Etc/UTC" />
    +
    +          <property name="file.encoding" value="UTF-8" />
    +
    +          <property name="java.specification.version" value="17" />
    +
    +          <property name="user.name" value="vsts" />
    +
    +          <property name="java.class.path" value="/home/vsts/work/1/s/.maven/boot/plexus-classworlds-2.6.0.jar" />
    +
    +          <property name="bytecode.version" value="5" />
    +
    +          <property name="java.vm.specification.version" value="17" />
    +
    +          <property name="sun.arch.data.model" value="64" />
    +
    +          <property name="sun.java.command" value="org.codehaus.plexus.classworlds.launcher.Launcher -V -B -e --no-transfer-progress -f org.jacoco.build verify -Djdk.version=5 -Dbytecode.version=5 deploy:deploy -DdeployAtEnd --toolchains=toolchains.xml --settings=.azure-pipelines/maven-settings.xml" />
    +
    +          <property name="java.home" value="/usr/lib/jvm/temurin-17-jdk-amd64" />
    +
    +          <property name="user.language" value="en" />
    +
    +          <property name="java.specification.vendor" value="Oracle Corporation" />
    +
    +          <property name="java.vm.info" value="mixed mode, sharing" />
    +
    +          <property name="java.version" value="17.0.10" />
    +
    +          <property name="native.encoding" value="UTF-8" />
    +
    +          <property name="securerandom.source" value="file:/dev/./urandom" />
    +
    +          <property name="java.vendor" value="Eclipse Adoptium" />
    +
    +          <property name="maven.home" value="/home/vsts/work/1/s/.maven" />
    +
    +          <property name="file.separator" value="/" />
    +
    +          <property name="java.version.date" value="2024-01-16" />
    +
    +          <property name="java.vendor.url.bug" value="https://github.com/adoptium/adoptium-support/issues" />
    +
    +          <property name="sun.io.unicode.encoding" value="UnicodeLittle" />
    +
    +          <property name="sun.font.fontmanager" value="sun.awt.X11FontManager" />
    +
    +          <property name="sun.cpu.endian" value="little" />
    +
    +          <property name="java.vendor.version" value="Temurin-17.0.10+7" />
    +
    +      </properties>
    +
    +      <testcase classname="org.jacoco.core.test.validation.StatementParserTest" name="should_parse_empty_string" time="0.001" />
    +
    +      <testcase classname="org.jacoco.core.test.validation.StatementParserTest" name="should_parse_invocation_without_params" time="0.001" />
    +
    +      <testcase classname="org.jacoco.core.test.validation.StatementParserTest" name="should_give_context_info_when_parsing_fails" time="0" />
    +
    +      <testcase classname="org.jacoco.core.test.validation.StatementParserTest" name="should_parse_invocation_with_two_parameters" time="0" />
    +
    +      <testcase classname="org.jacoco.core.test.validation.StatementParserTest" name="should_fail_when_parenthesis_is_missing" time="0" />
    +
    +      <testcase classname="org.jacoco.core.test.validation.StatementParserTest" name="should_parse_invocation_with_one_string_parameter" time="0.001" />
    +
    +      <testcase classname="org.jacoco.core.test.validation.StatementParserTest" name="should_parse_multiple_invocations" time="0" />
    +
    +      <testcase classname="org.jacoco.core.test.validation.StatementParserTest" name="should_fail_when_argument1_is_missing" time="0" />
    +
    +      <testcase classname="org.jacoco.core.test.validation.StatementParserTest" name="should_parse_invocation_with_mixed_parameter_types" time="0.001" />
    +
    +      <testcase classname="org.jacoco.core.test.validation.StatementParserTest" name="should_parse_invocation_with_one_int_parameter" time="0" />
    +
    +      <testcase classname="org.jacoco.core.test.validation.StatementParserTest" name="should_fail_when_argument2_is_missing" time="0" />
    +
    +  </testsuite>
    +  <testsuite errors="0" failures="0" id="126" name="ExecDumpClientTest" package="org.jacoco.core.tools" skipped="0" tests="5" time="0.094" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="https://maven.apache.org/surefire/maven-surefire-plugin/xsd/surefire-test-report.xsd">
    +      <properties>
    +          <property name="jansi.mode" value="strip" />
    +
    +          <property name="java.runtime.name" value="OpenJDK Runtime Environment" />
    +
    +          <property name="java.vm.version" value="17.0.10+7" />
    +
    +          <property name="sun.boot.library.path" value="/usr/lib/jvm/temurin-17-jdk-amd64/lib" />
    +
    +          <property name="maven.multiModuleProjectDirectory" value="/home/vsts/work/1/s/org.jacoco.build" />
    +
    +          <property name="jdk.version" value="5" />
    +
    +          <property name="java.vm.vendor" value="Eclipse Adoptium" />
    +
    +          <property name="java.vendor.url" value="https://adoptium.net/" />
    +
    +          <property name="guice.disable.misplaced.annotation.check" value="true" />
    +
    +          <property name="path.separator" value=":" />
    +
    +          <property name="java.vm.name" value="OpenJDK 64-Bit Server VM" />
    +
    +          <property name="sun.java.launcher" value="SUN_STANDARD" />
    +
    +          <property name="java.vm.specification.name" value="Java Virtual Machine Specification" />
    +
    +          <property name="user.dir" value="/home/vsts/work/1/s" />
    +
    +          <property name="java.vm.compressedOopsMode" value="32-bit" />
    +
    +          <property name="java.runtime.version" value="17.0.10+7" />
    +
    +          <property name="os.arch" value="amd64" />
    +
    +          <property name="java.io.tmpdir" value="/tmp" />
    +
    +          <property name="line.separator" value="&#xa;" />
    +
    +          <property name="java.vm.specification.vendor" value="Oracle Corporation" />
    +
    +          <property name="os.name" value="Linux" />
    +
    +          <property name="classworlds.conf" value="/home/vsts/work/1/s/.maven/bin/m2.conf" />
    +
    +          <property name="sun.jnu.encoding" value="UTF-8" />
    +
    +          <property name="deployAtEnd" value="true" />
    +
    +          <property name="java.library.path" value="/usr/java/packages/lib:/usr/lib64:/lib64:/lib:/usr/lib" />
    +
    +          <property name="maven.conf" value="/home/vsts/work/1/s/.maven/conf" />
    +
    +          <property name="jdk.debug" value="release" />
    +
    +          <property name="java.class.version" value="61.0" />
    +
    +          <property name="java.specification.name" value="Java Platform API Specification" />
    +
    +          <property name="sun.management.compiler" value="HotSpot 64-Bit Tiered Compilers" />
    +
    +          <property name="os.version" value="5.15.0-1059-azure" />
    +
    +          <property name="library.jansi.path" value="/home/vsts/work/1/s/.maven/lib/jansi-native" />
    +
    +          <property name="user.home" value="/home/vsts" />
    +
    +          <property name="user.timezone" value="Etc/UTC" />
    +
    +          <property name="file.encoding" value="UTF-8" />
    +
    +          <property name="java.specification.version" value="17" />
    +
    +          <property name="user.name" value="vsts" />
    +
    +          <property name="java.class.path" value="/home/vsts/work/1/s/.maven/boot/plexus-classworlds-2.6.0.jar" />
    +
    +          <property name="bytecode.version" value="5" />
    +
    +          <property name="java.vm.specification.version" value="17" />
    +
    +          <property name="sun.arch.data.model" value="64" />
    +
    +          <property name="sun.java.command" value="org.codehaus.plexus.classworlds.launcher.Launcher -V -B -e --no-transfer-progress -f org.jacoco.build verify -Djdk.version=5 -Dbytecode.version=5 deploy:deploy -DdeployAtEnd --toolchains=toolchains.xml --settings=.azure-pipelines/maven-settings.xml" />
    +
    +          <property name="java.home" value="/usr/lib/jvm/temurin-17-jdk-amd64" />
    +
    +          <property name="user.language" value="en" />
    +
    +          <property name="java.specification.vendor" value="Oracle Corporation" />
    +
    +          <property name="java.vm.info" value="mixed mode, sharing" />
    +
    +          <property name="java.version" value="17.0.10" />
    +
    +          <property name="native.encoding" value="UTF-8" />
    +
    +          <property name="securerandom.source" value="file:/dev/./urandom" />
    +
    +          <property name="java.vendor" value="Eclipse Adoptium" />
    +
    +          <property name="maven.home" value="/home/vsts/work/1/s/.maven" />
    +
    +          <property name="file.separator" value="/" />
    +
    +          <property name="java.version.date" value="2024-01-16" />
    +
    +          <property name="java.vendor.url.bug" value="https://github.com/adoptium/adoptium-support/issues" />
    +
    +          <property name="sun.io.unicode.encoding" value="UnicodeLittle" />
    +
    +          <property name="sun.font.fontmanager" value="sun.awt.X11FontManager" />
    +
    +          <property name="sun.cpu.endian" value="little" />
    +
    +          <property name="java.vendor.version" value="Temurin-17.0.10+7" />
    +
    +      </properties>
    +
    +      <testcase classname="org.jacoco.core.tools.ExecDumpClientTest" name="testNoRetries" time="0.004" />
    +
    +      <testcase classname="org.jacoco.core.tools.ExecDumpClientTest" name="testReset" time="0.042" />
    +
    +      <testcase classname="org.jacoco.core.tools.ExecDumpClientTest" name="testDump" time="0.043" />
    +
    +      <testcase classname="org.jacoco.core.tools.ExecDumpClientTest" name="testWithRetries" time="0.001" />
    +
    +      <testcase classname="org.jacoco.core.tools.ExecDumpClientTest" name="should_throw_IOException_when_server_closes_connection_without_response" time="0.001" />
    +
    +  </testsuite>
    +  <testsuite errors="0" failures="0" id="127" name="ExecFileLoaderTest" package="org.jacoco.core.tools" skipped="0" tests="6" time="0.013" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="https://maven.apache.org/surefire/maven-surefire-plugin/xsd/surefire-test-report.xsd">
    +      <properties>
    +          <property name="jansi.mode" value="strip" />
    +
    +          <property name="java.runtime.name" value="OpenJDK Runtime Environment" />
    +
    +          <property name="java.vm.version" value="17.0.10+7" />
    +
    +          <property name="sun.boot.library.path" value="/usr/lib/jvm/temurin-17-jdk-amd64/lib" />
    +
    +          <property name="maven.multiModuleProjectDirectory" value="/home/vsts/work/1/s/org.jacoco.build" />
    +
    +          <property name="jdk.version" value="5" />
    +
    +          <property name="java.vm.vendor" value="Eclipse Adoptium" />
    +
    +          <property name="java.vendor.url" value="https://adoptium.net/" />
    +
    +          <property name="guice.disable.misplaced.annotation.check" value="true" />
    +
    +          <property name="path.separator" value=":" />
    +
    +          <property name="java.vm.name" value="OpenJDK 64-Bit Server VM" />
    +
    +          <property name="sun.java.launcher" value="SUN_STANDARD" />
    +
    +          <property name="java.vm.specification.name" value="Java Virtual Machine Specification" />
    +
    +          <property name="user.dir" value="/home/vsts/work/1/s" />
    +
    +          <property name="java.vm.compressedOopsMode" value="32-bit" />
    +
    +          <property name="java.runtime.version" value="17.0.10+7" />
    +
    +          <property name="os.arch" value="amd64" />
    +
    +          <property name="java.io.tmpdir" value="/tmp" />
    +
    +          <property name="line.separator" value="&#xa;" />
    +
    +          <property name="java.vm.specification.vendor" value="Oracle Corporation" />
    +
    +          <property name="os.name" value="Linux" />
    +
    +          <property name="classworlds.conf" value="/home/vsts/work/1/s/.maven/bin/m2.conf" />
    +
    +          <property name="sun.jnu.encoding" value="UTF-8" />
    +
    +          <property name="deployAtEnd" value="true" />
    +
    +          <property name="java.library.path" value="/usr/java/packages/lib:/usr/lib64:/lib64:/lib:/usr/lib" />
    +
    +          <property name="maven.conf" value="/home/vsts/work/1/s/.maven/conf" />
    +
    +          <property name="jdk.debug" value="release" />
    +
    +          <property name="java.class.version" value="61.0" />
    +
    +          <property name="java.specification.name" value="Java Platform API Specification" />
    +
    +          <property name="sun.management.compiler" value="HotSpot 64-Bit Tiered Compilers" />
    +
    +          <property name="os.version" value="5.15.0-1059-azure" />
    +
    +          <property name="library.jansi.path" value="/home/vsts/work/1/s/.maven/lib/jansi-native" />
    +
    +          <property name="user.home" value="/home/vsts" />
    +
    +          <property name="user.timezone" value="Etc/UTC" />
    +
    +          <property name="file.encoding" value="UTF-8" />
    +
    +          <property name="java.specification.version" value="17" />
    +
    +          <property name="user.name" value="vsts" />
    +
    +          <property name="java.class.path" value="/home/vsts/work/1/s/.maven/boot/plexus-classworlds-2.6.0.jar" />
    +
    +          <property name="bytecode.version" value="5" />
    +
    +          <property name="java.vm.specification.version" value="17" />
    +
    +          <property name="sun.arch.data.model" value="64" />
    +
    +          <property name="sun.java.command" value="org.codehaus.plexus.classworlds.launcher.Launcher -V -B -e --no-transfer-progress -f org.jacoco.build verify -Djdk.version=5 -Dbytecode.version=5 deploy:deploy -DdeployAtEnd --toolchains=toolchains.xml --settings=.azure-pipelines/maven-settings.xml" />
    +
    +          <property name="java.home" value="/usr/lib/jvm/temurin-17-jdk-amd64" />
    +
    +          <property name="user.language" value="en" />
    +
    +          <property name="java.specification.vendor" value="Oracle Corporation" />
    +
    +          <property name="java.vm.info" value="mixed mode, sharing" />
    +
    +          <property name="java.version" value="17.0.10" />
    +
    +          <property name="native.encoding" value="UTF-8" />
    +
    +          <property name="securerandom.source" value="file:/dev/./urandom" />
    +
    +          <property name="java.vendor" value="Eclipse Adoptium" />
    +
    +          <property name="maven.home" value="/home/vsts/work/1/s/.maven" />
    +
    +          <property name="file.separator" value="/" />
    +
    +          <property name="java.version.date" value="2024-01-16" />
    +
    +          <property name="java.vendor.url.bug" value="https://github.com/adoptium/adoptium-support/issues" />
    +
    +          <property name="sun.io.unicode.encoding" value="UnicodeLittle" />
    +
    +          <property name="sun.font.fontmanager" value="sun.awt.X11FontManager" />
    +
    +          <property name="sun.cpu.endian" value="little" />
    +
    +          <property name="java.vendor.version" value="Temurin-17.0.10+7" />
    +
    +      </properties>
    +
    +      <testcase classname="org.jacoco.core.tools.ExecFileLoaderTest" name="testLoadFile" time="0.002" />
    +
    +      <testcase classname="org.jacoco.core.tools.ExecFileLoaderTest" name="testSaveFileAppend" time="0.001" />
    +
    +      <testcase classname="org.jacoco.core.tools.ExecFileLoaderTest" name="testSaveFile" time="0.001" />
    +
    +      <testcase classname="org.jacoco.core.tools.ExecFileLoaderTest" name="testLoadBrokenContent" time="0" />
    +
    +      <testcase classname="org.jacoco.core.tools.ExecFileLoaderTest" name="testCreateSubfolders" time="0.001" />
    +
    +      <testcase classname="org.jacoco.core.tools.ExecFileLoaderTest" name="testLoadInputStream" time="0.001" />
    +
    +  </testsuite>
    +  <testsuite errors="0" failures="0" id="128" name="DirectorySourceFileLocatorTest" package="org.jacoco.report" skipped="0" tests="3" time="0.028" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="https://maven.apache.org/surefire/maven-surefire-plugin/xsd/surefire-test-report.xsd">
    +      <properties>
    +          <property name="jansi.mode" value="strip" />
    +
    +          <property name="java.runtime.name" value="OpenJDK Runtime Environment" />
    +
    +          <property name="java.vm.version" value="17.0.10+7" />
    +
    +          <property name="sun.boot.library.path" value="/usr/lib/jvm/temurin-17-jdk-amd64/lib" />
    +
    +          <property name="maven.multiModuleProjectDirectory" value="/home/vsts/work/1/s/org.jacoco.build" />
    +
    +          <property name="java.vm.vendor" value="Eclipse Adoptium" />
    +
    +          <property name="jdk.version" value="5" />
    +
    +          <property name="java.vendor.url" value="https://adoptium.net/" />
    +
    +          <property name="path.separator" value=":" />
    +
    +          <property name="guice.disable.misplaced.annotation.check" value="true" />
    +
    +          <property name="java.vm.name" value="OpenJDK 64-Bit Server VM" />
    +
    +          <property name="sun.java.launcher" value="SUN_STANDARD" />
    +
    +          <property name="user.dir" value="/home/vsts/work/1/s" />
    +
    +          <property name="java.vm.compressedOopsMode" value="32-bit" />
    +
    +          <property name="java.vm.specification.name" value="Java Virtual Machine Specification" />
    +
    +          <property name="java.runtime.version" value="17.0.10+7" />
    +
    +          <property name="os.arch" value="amd64" />
    +
    +          <property name="java.io.tmpdir" value="/tmp" />
    +
    +          <property name="line.separator" value="&#xa;" />
    +
    +          <property name="java.vm.specification.vendor" value="Oracle Corporation" />
    +
    +          <property name="os.name" value="Linux" />
    +
    +          <property name="classworlds.conf" value="/home/vsts/work/1/s/.maven/bin/m2.conf" />
    +
    +          <property name="sun.jnu.encoding" value="UTF-8" />
    +
    +          <property name="deployAtEnd" value="true" />
    +
    +          <property name="java.library.path" value="/usr/java/packages/lib:/usr/lib64:/lib64:/lib:/usr/lib" />
    +
    +          <property name="maven.conf" value="/home/vsts/work/1/s/.maven/conf" />
    +
    +          <property name="jdk.debug" value="release" />
    +
    +          <property name="java.class.version" value="61.0" />
    +
    +          <property name="java.specification.name" value="Java Platform API Specification" />
    +
    +          <property name="sun.management.compiler" value="HotSpot 64-Bit Tiered Compilers" />
    +
    +          <property name="os.version" value="5.15.0-1059-azure" />
    +
    +          <property name="library.jansi.path" value="/home/vsts/work/1/s/.maven/lib/jansi-native" />
    +
    +          <property name="user.home" value="/home/vsts" />
    +
    +          <property name="user.timezone" value="Etc/UTC" />
    +
    +          <property name="file.encoding" value="UTF-8" />
    +
    +          <property name="java.specification.version" value="17" />
    +
    +          <property name="java.class.path" value="/home/vsts/work/1/s/.maven/boot/plexus-classworlds-2.6.0.jar" />
    +
    +          <property name="user.name" value="vsts" />
    +
    +          <property name="bytecode.version" value="5" />
    +
    +          <property name="java.vm.specification.version" value="17" />
    +
    +          <property name="sun.arch.data.model" value="64" />
    +
    +          <property name="sun.java.command" value="org.codehaus.plexus.classworlds.launcher.Launcher -V -B -e --no-transfer-progress -f org.jacoco.build verify -Djdk.version=5 -Dbytecode.version=5 deploy:deploy -DdeployAtEnd --toolchains=toolchains.xml --settings=.azure-pipelines/maven-settings.xml" />
    +
    +          <property name="java.home" value="/usr/lib/jvm/temurin-17-jdk-amd64" />
    +
    +          <property name="user.language" value="en" />
    +
    +          <property name="java.specification.vendor" value="Oracle Corporation" />
    +
    +          <property name="java.vm.info" value="mixed mode, sharing" />
    +
    +          <property name="java.version" value="17.0.10" />
    +
    +          <property name="native.encoding" value="UTF-8" />
    +
    +          <property name="securerandom.source" value="file:/dev/./urandom" />
    +
    +          <property name="java.vendor" value="Eclipse Adoptium" />
    +
    +          <property name="maven.home" value="/home/vsts/work/1/s/.maven" />
    +
    +          <property name="file.separator" value="/" />
    +
    +          <property name="java.version.date" value="2024-01-16" />
    +
    +          <property name="java.vendor.url.bug" value="https://github.com/adoptium/adoptium-support/issues" />
    +
    +          <property name="sun.cpu.endian" value="little" />
    +
    +          <property name="sun.io.unicode.encoding" value="UnicodeLittle" />
    +
    +          <property name="sun.font.fontmanager" value="sun.awt.X11FontManager" />
    +
    +          <property name="java.vendor.version" value="Temurin-17.0.10+7" />
    +
    +      </properties>
    +
    +      <testcase classname="org.jacoco.report.DirectorySourceFileLocatorTest" name="getSourceFile_should_return_null_when_source_is_folder" time="0.008" />
    +
    +      <testcase classname="org.jacoco.report.DirectorySourceFileLocatorTest" name="getSourceFile_should_return_content_when_file_exists" time="0.001" />
    +
    +      <testcase classname="org.jacoco.report.DirectorySourceFileLocatorTest" name="getSourceFile_should_return_null_when_source_does_not_exist" time="0" />
    +
    +  </testsuite>
    +  <testsuite errors="0" failures="0" id="129" name="FileMultiReportOutputTest" package="org.jacoco.report" skipped="0" tests="2" time="0.009" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="https://maven.apache.org/surefire/maven-surefire-plugin/xsd/surefire-test-report.xsd">
    +      <properties>
    +          <property name="jansi.mode" value="strip" />
    +
    +          <property name="java.runtime.name" value="OpenJDK Runtime Environment" />
    +
    +          <property name="java.vm.version" value="17.0.10+7" />
    +
    +          <property name="sun.boot.library.path" value="/usr/lib/jvm/temurin-17-jdk-amd64/lib" />
    +
    +          <property name="maven.multiModuleProjectDirectory" value="/home/vsts/work/1/s/org.jacoco.build" />
    +
    +          <property name="java.vm.vendor" value="Eclipse Adoptium" />
    +
    +          <property name="jdk.version" value="5" />
    +
    +          <property name="java.vendor.url" value="https://adoptium.net/" />
    +
    +          <property name="path.separator" value=":" />
    +
    +          <property name="guice.disable.misplaced.annotation.check" value="true" />
    +
    +          <property name="java.vm.name" value="OpenJDK 64-Bit Server VM" />
    +
    +          <property name="sun.java.launcher" value="SUN_STANDARD" />
    +
    +          <property name="user.dir" value="/home/vsts/work/1/s" />
    +
    +          <property name="java.vm.compressedOopsMode" value="32-bit" />
    +
    +          <property name="java.vm.specification.name" value="Java Virtual Machine Specification" />
    +
    +          <property name="java.runtime.version" value="17.0.10+7" />
    +
    +          <property name="os.arch" value="amd64" />
    +
    +          <property name="java.io.tmpdir" value="/tmp" />
    +
    +          <property name="line.separator" value="&#xa;" />
    +
    +          <property name="java.vm.specification.vendor" value="Oracle Corporation" />
    +
    +          <property name="os.name" value="Linux" />
    +
    +          <property name="classworlds.conf" value="/home/vsts/work/1/s/.maven/bin/m2.conf" />
    +
    +          <property name="sun.jnu.encoding" value="UTF-8" />
    +
    +          <property name="deployAtEnd" value="true" />
    +
    +          <property name="java.library.path" value="/usr/java/packages/lib:/usr/lib64:/lib64:/lib:/usr/lib" />
    +
    +          <property name="maven.conf" value="/home/vsts/work/1/s/.maven/conf" />
    +
    +          <property name="jdk.debug" value="release" />
    +
    +          <property name="java.class.version" value="61.0" />
    +
    +          <property name="java.specification.name" value="Java Platform API Specification" />
    +
    +          <property name="sun.management.compiler" value="HotSpot 64-Bit Tiered Compilers" />
    +
    +          <property name="os.version" value="5.15.0-1059-azure" />
    +
    +          <property name="library.jansi.path" value="/home/vsts/work/1/s/.maven/lib/jansi-native" />
    +
    +          <property name="user.home" value="/home/vsts" />
    +
    +          <property name="user.timezone" value="Etc/UTC" />
    +
    +          <property name="file.encoding" value="UTF-8" />
    +
    +          <property name="java.specification.version" value="17" />
    +
    +          <property name="java.class.path" value="/home/vsts/work/1/s/.maven/boot/plexus-classworlds-2.6.0.jar" />
    +
    +          <property name="user.name" value="vsts" />
    +
    +          <property name="bytecode.version" value="5" />
    +
    +          <property name="java.vm.specification.version" value="17" />
    +
    +          <property name="sun.arch.data.model" value="64" />
    +
    +          <property name="sun.java.command" value="org.codehaus.plexus.classworlds.launcher.Launcher -V -B -e --no-transfer-progress -f org.jacoco.build verify -Djdk.version=5 -Dbytecode.version=5 deploy:deploy -DdeployAtEnd --toolchains=toolchains.xml --settings=.azure-pipelines/maven-settings.xml" />
    +
    +          <property name="java.home" value="/usr/lib/jvm/temurin-17-jdk-amd64" />
    +
    +          <property name="user.language" value="en" />
    +
    +          <property name="java.specification.vendor" value="Oracle Corporation" />
    +
    +          <property name="java.vm.info" value="mixed mode, sharing" />
    +
    +          <property name="java.version" value="17.0.10" />
    +
    +          <property name="native.encoding" value="UTF-8" />
    +
    +          <property name="securerandom.source" value="file:/dev/./urandom" />
    +
    +          <property name="java.vendor" value="Eclipse Adoptium" />
    +
    +          <property name="maven.home" value="/home/vsts/work/1/s/.maven" />
    +
    +          <property name="file.separator" value="/" />
    +
    +          <property name="java.version.date" value="2024-01-16" />
    +
    +          <property name="java.vendor.url.bug" value="https://github.com/adoptium/adoptium-support/issues" />
    +
    +          <property name="sun.cpu.endian" value="little" />
    +
    +          <property name="sun.io.unicode.encoding" value="UnicodeLittle" />
    +
    +          <property name="sun.font.fontmanager" value="sun.awt.X11FontManager" />
    +
    +          <property name="java.vendor.version" value="Temurin-17.0.10+7" />
    +
    +      </properties>
    +
    +      <testcase classname="org.jacoco.report.FileMultiReportOutputTest" name="testCreateFileWithDirectories" time="0.001" />
    +
    +      <testcase classname="org.jacoco.report.FileMultiReportOutputTest" name="testCreateFileNegative" time="0.001" />
    +
    +  </testsuite>
    +  <testsuite errors="0" failures="0" id="130" name="InputStreamSourceFileLocatorTest" package="org.jacoco.report" skipped="0" tests="6" time="0.012" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="https://maven.apache.org/surefire/maven-surefire-plugin/xsd/surefire-test-report.xsd">
    +      <properties>
    +          <property name="jansi.mode" value="strip" />
    +
    +          <property name="java.runtime.name" value="OpenJDK Runtime Environment" />
    +
    +          <property name="java.vm.version" value="17.0.10+7" />
    +
    +          <property name="sun.boot.library.path" value="/usr/lib/jvm/temurin-17-jdk-amd64/lib" />
    +
    +          <property name="maven.multiModuleProjectDirectory" value="/home/vsts/work/1/s/org.jacoco.build" />
    +
    +          <property name="java.vm.vendor" value="Eclipse Adoptium" />
    +
    +          <property name="jdk.version" value="5" />
    +
    +          <property name="java.vendor.url" value="https://adoptium.net/" />
    +
    +          <property name="path.separator" value=":" />
    +
    +          <property name="guice.disable.misplaced.annotation.check" value="true" />
    +
    +          <property name="java.vm.name" value="OpenJDK 64-Bit Server VM" />
    +
    +          <property name="sun.java.launcher" value="SUN_STANDARD" />
    +
    +          <property name="user.dir" value="/home/vsts/work/1/s" />
    +
    +          <property name="java.vm.compressedOopsMode" value="32-bit" />
    +
    +          <property name="java.vm.specification.name" value="Java Virtual Machine Specification" />
    +
    +          <property name="java.runtime.version" value="17.0.10+7" />
    +
    +          <property name="os.arch" value="amd64" />
    +
    +          <property name="java.io.tmpdir" value="/tmp" />
    +
    +          <property name="line.separator" value="&#xa;" />
    +
    +          <property name="java.vm.specification.vendor" value="Oracle Corporation" />
    +
    +          <property name="os.name" value="Linux" />
    +
    +          <property name="classworlds.conf" value="/home/vsts/work/1/s/.maven/bin/m2.conf" />
    +
    +          <property name="sun.jnu.encoding" value="UTF-8" />
    +
    +          <property name="deployAtEnd" value="true" />
    +
    +          <property name="java.library.path" value="/usr/java/packages/lib:/usr/lib64:/lib64:/lib:/usr/lib" />
    +
    +          <property name="maven.conf" value="/home/vsts/work/1/s/.maven/conf" />
    +
    +          <property name="jdk.debug" value="release" />
    +
    +          <property name="java.class.version" value="61.0" />
    +
    +          <property name="java.specification.name" value="Java Platform API Specification" />
    +
    +          <property name="sun.management.compiler" value="HotSpot 64-Bit Tiered Compilers" />
    +
    +          <property name="os.version" value="5.15.0-1059-azure" />
    +
    +          <property name="library.jansi.path" value="/home/vsts/work/1/s/.maven/lib/jansi-native" />
    +
    +          <property name="user.home" value="/home/vsts" />
    +
    +          <property name="user.timezone" value="Etc/UTC" />
    +
    +          <property name="file.encoding" value="UTF-8" />
    +
    +          <property name="java.specification.version" value="17" />
    +
    +          <property name="java.class.path" value="/home/vsts/work/1/s/.maven/boot/plexus-classworlds-2.6.0.jar" />
    +
    +          <property name="user.name" value="vsts" />
    +
    +          <property name="bytecode.version" value="5" />
    +
    +          <property name="java.vm.specification.version" value="17" />
    +
    +          <property name="sun.arch.data.model" value="64" />
    +
    +          <property name="sun.java.command" value="org.codehaus.plexus.classworlds.launcher.Launcher -V -B -e --no-transfer-progress -f org.jacoco.build verify -Djdk.version=5 -Dbytecode.version=5 deploy:deploy -DdeployAtEnd --toolchains=toolchains.xml --settings=.azure-pipelines/maven-settings.xml" />
    +
    +          <property name="java.home" value="/usr/lib/jvm/temurin-17-jdk-amd64" />
    +
    +          <property name="user.language" value="en" />
    +
    +          <property name="java.specification.vendor" value="Oracle Corporation" />
    +
    +          <property name="java.vm.info" value="mixed mode, sharing" />
    +
    +          <property name="java.version" value="17.0.10" />
    +
    +          <property name="native.encoding" value="UTF-8" />
    +
    +          <property name="securerandom.source" value="file:/dev/./urandom" />
    +
    +          <property name="java.vendor" value="Eclipse Adoptium" />
    +
    +          <property name="maven.home" value="/home/vsts/work/1/s/.maven" />
    +
    +          <property name="file.separator" value="/" />
    +
    +          <property name="java.version.date" value="2024-01-16" />
    +
    +          <property name="java.vendor.url.bug" value="https://github.com/adoptium/adoptium-support/issues" />
    +
    +          <property name="sun.cpu.endian" value="little" />
    +
    +          <property name="sun.io.unicode.encoding" value="UnicodeLittle" />
    +
    +          <property name="sun.font.fontmanager" value="sun.awt.X11FontManager" />
    +
    +          <property name="java.vendor.version" value="Temurin-17.0.10+7" />
    +
    +      </properties>
    +
    +      <testcase classname="org.jacoco.report.InputStreamSourceFileLocatorTest" name="testEncoding" time="0.001" />
    +
    +      <testcase classname="org.jacoco.report.InputStreamSourceFileLocatorTest" name="testDefaultEncoding" time="0" />
    +
    +      <testcase classname="org.jacoco.report.InputStreamSourceFileLocatorTest" name="testGetSourceFileNegative" time="0" />
    +
    +      <testcase classname="org.jacoco.report.InputStreamSourceFileLocatorTest" name="testGetSourceFile" time="0" />
    +
    +      <testcase classname="org.jacoco.report.InputStreamSourceFileLocatorTest" name="testGetTabWidth" time="0" />
    +
    +      <testcase classname="org.jacoco.report.InputStreamSourceFileLocatorTest" name="testGetSourceFileDefaultPackage" time="0" />
    +
    +  </testsuite>
    +  <testsuite errors="0" failures="0" id="131" name="JavaNamesTest" package="org.jacoco.report" skipped="0" tests="22" time="0.01" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="https://maven.apache.org/surefire/maven-surefire-plugin/xsd/surefire-test-report.xsd">
    +      <properties>
    +          <property name="jansi.mode" value="strip" />
    +
    +          <property name="java.runtime.name" value="OpenJDK Runtime Environment" />
    +
    +          <property name="java.vm.version" value="17.0.10+7" />
    +
    +          <property name="sun.boot.library.path" value="/usr/lib/jvm/temurin-17-jdk-amd64/lib" />
    +
    +          <property name="maven.multiModuleProjectDirectory" value="/home/vsts/work/1/s/org.jacoco.build" />
    +
    +          <property name="java.vm.vendor" value="Eclipse Adoptium" />
    +
    +          <property name="jdk.version" value="5" />
    +
    +          <property name="java.vendor.url" value="https://adoptium.net/" />
    +
    +          <property name="path.separator" value=":" />
    +
    +          <property name="guice.disable.misplaced.annotation.check" value="true" />
    +
    +          <property name="java.vm.name" value="OpenJDK 64-Bit Server VM" />
    +
    +          <property name="sun.java.launcher" value="SUN_STANDARD" />
    +
    +          <property name="user.dir" value="/home/vsts/work/1/s" />
    +
    +          <property name="java.vm.compressedOopsMode" value="32-bit" />
    +
    +          <property name="java.vm.specification.name" value="Java Virtual Machine Specification" />
    +
    +          <property name="java.runtime.version" value="17.0.10+7" />
    +
    +          <property name="os.arch" value="amd64" />
    +
    +          <property name="java.io.tmpdir" value="/tmp" />
    +
    +          <property name="line.separator" value="&#xa;" />
    +
    +          <property name="java.vm.specification.vendor" value="Oracle Corporation" />
    +
    +          <property name="os.name" value="Linux" />
    +
    +          <property name="classworlds.conf" value="/home/vsts/work/1/s/.maven/bin/m2.conf" />
    +
    +          <property name="sun.jnu.encoding" value="UTF-8" />
    +
    +          <property name="deployAtEnd" value="true" />
    +
    +          <property name="java.library.path" value="/usr/java/packages/lib:/usr/lib64:/lib64:/lib:/usr/lib" />
    +
    +          <property name="maven.conf" value="/home/vsts/work/1/s/.maven/conf" />
    +
    +          <property name="jdk.debug" value="release" />
    +
    +          <property name="java.class.version" value="61.0" />
    +
    +          <property name="java.specification.name" value="Java Platform API Specification" />
    +
    +          <property name="sun.management.compiler" value="HotSpot 64-Bit Tiered Compilers" />
    +
    +          <property name="os.version" value="5.15.0-1059-azure" />
    +
    +          <property name="library.jansi.path" value="/home/vsts/work/1/s/.maven/lib/jansi-native" />
    +
    +          <property name="user.home" value="/home/vsts" />
    +
    +          <property name="user.timezone" value="Etc/UTC" />
    +
    +          <property name="file.encoding" value="UTF-8" />
    +
    +          <property name="java.specification.version" value="17" />
    +
    +          <property name="java.class.path" value="/home/vsts/work/1/s/.maven/boot/plexus-classworlds-2.6.0.jar" />
    +
    +          <property name="user.name" value="vsts" />
    +
    +          <property name="bytecode.version" value="5" />
    +
    +          <property name="java.vm.specification.version" value="17" />
    +
    +          <property name="sun.arch.data.model" value="64" />
    +
    +          <property name="sun.java.command" value="org.codehaus.plexus.classworlds.launcher.Launcher -V -B -e --no-transfer-progress -f org.jacoco.build verify -Djdk.version=5 -Dbytecode.version=5 deploy:deploy -DdeployAtEnd --toolchains=toolchains.xml --settings=.azure-pipelines/maven-settings.xml" />
    +
    +          <property name="java.home" value="/usr/lib/jvm/temurin-17-jdk-amd64" />
    +
    +          <property name="user.language" value="en" />
    +
    +          <property name="java.specification.vendor" value="Oracle Corporation" />
    +
    +          <property name="java.vm.info" value="mixed mode, sharing" />
    +
    +          <property name="java.version" value="17.0.10" />
    +
    +          <property name="native.encoding" value="UTF-8" />
    +
    +          <property name="securerandom.source" value="file:/dev/./urandom" />
    +
    +          <property name="java.vendor" value="Eclipse Adoptium" />
    +
    +          <property name="maven.home" value="/home/vsts/work/1/s/.maven" />
    +
    +          <property name="file.separator" value="/" />
    +
    +          <property name="java.version.date" value="2024-01-16" />
    +
    +          <property name="java.vendor.url.bug" value="https://github.com/adoptium/adoptium-support/issues" />
    +
    +          <property name="sun.cpu.endian" value="little" />
    +
    +          <property name="sun.io.unicode.encoding" value="UnicodeLittle" />
    +
    +          <property name="sun.font.fontmanager" value="sun.awt.X11FontManager" />
    +
    +          <property name="java.vendor.version" value="Temurin-17.0.10+7" />
    +
    +      </properties>
    +
    +      <testcase classname="org.jacoco.report.JavaNamesTest" name="testGetQualifiedMethodName" time="0" />
    +
    +      <testcase classname="org.jacoco.report.JavaNamesTest" name="testGetPackageName1" time="0.001" />
    +
    +      <testcase classname="org.jacoco.report.JavaNamesTest" name="testGetPackageName2" time="0" />
    +
    +      <testcase classname="org.jacoco.report.JavaNamesTest" name="testGetQualifiedClassName1" time="0" />
    +
    +      <testcase classname="org.jacoco.report.JavaNamesTest" name="testGetQualifiedClassName2" time="0" />
    +
    +      <testcase classname="org.jacoco.report.JavaNamesTest" name="testGetQualifiedClassName3" time="0" />
    +
    +      <testcase classname="org.jacoco.report.JavaNamesTest" name="testGetClassName1" time="0" />
    +
    +      <testcase classname="org.jacoco.report.JavaNamesTest" name="testGetClassName2" time="0" />
    +
    +      <testcase classname="org.jacoco.report.JavaNamesTest" name="testGetClassName3" time="0" />
    +
    +      <testcase classname="org.jacoco.report.JavaNamesTest" name="testGetClassName4" time="0" />
    +
    +      <testcase classname="org.jacoco.report.JavaNamesTest" name="testGetClassName5" time="0.005" />
    +
    +      <testcase classname="org.jacoco.report.JavaNamesTest" name="testGetClassName6" time="0" />
    +
    +      <testcase classname="org.jacoco.report.JavaNamesTest" name="testGetClassName7" time="0" />
    +
    +      <testcase classname="org.jacoco.report.JavaNamesTest" name="testGetMethodName1" time="0" />
    +
    +      <testcase classname="org.jacoco.report.JavaNamesTest" name="testGetMethodName2" time="0" />
    +
    +      <testcase classname="org.jacoco.report.JavaNamesTest" name="testGetMethodName3" time="0.001" />
    +
    +      <testcase classname="org.jacoco.report.JavaNamesTest" name="testGetMethodName4" time="0" />
    +
    +      <testcase classname="org.jacoco.report.JavaNamesTest" name="testGetMethodName5" time="0" />
    +
    +      <testcase classname="org.jacoco.report.JavaNamesTest" name="testGetMethodName6" time="0" />
    +
    +      <testcase classname="org.jacoco.report.JavaNamesTest" name="testGetMethodName7" time="0.001" />
    +
    +      <testcase classname="org.jacoco.report.JavaNamesTest" name="testGetMethodName8" time="0" />
    +
    +      <testcase classname="org.jacoco.report.JavaNamesTest" name="testGetMethodName9" time="0" />
    +
    +  </testsuite>
    +  <testsuite errors="0" failures="0" id="132" name="MultiReportVisitorTest" package="org.jacoco.report" skipped="0" tests="2" time="0.003" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="https://maven.apache.org/surefire/maven-surefire-plugin/xsd/surefire-test-report.xsd">
    +      <properties>
    +          <property name="jansi.mode" value="strip" />
    +
    +          <property name="java.runtime.name" value="OpenJDK Runtime Environment" />
    +
    +          <property name="java.vm.version" value="17.0.10+7" />
    +
    +          <property name="sun.boot.library.path" value="/usr/lib/jvm/temurin-17-jdk-amd64/lib" />
    +
    +          <property name="maven.multiModuleProjectDirectory" value="/home/vsts/work/1/s/org.jacoco.build" />
    +
    +          <property name="java.vm.vendor" value="Eclipse Adoptium" />
    +
    +          <property name="jdk.version" value="5" />
    +
    +          <property name="java.vendor.url" value="https://adoptium.net/" />
    +
    +          <property name="path.separator" value=":" />
    +
    +          <property name="guice.disable.misplaced.annotation.check" value="true" />
    +
    +          <property name="java.vm.name" value="OpenJDK 64-Bit Server VM" />
    +
    +          <property name="sun.java.launcher" value="SUN_STANDARD" />
    +
    +          <property name="user.dir" value="/home/vsts/work/1/s" />
    +
    +          <property name="java.vm.compressedOopsMode" value="32-bit" />
    +
    +          <property name="java.vm.specification.name" value="Java Virtual Machine Specification" />
    +
    +          <property name="java.runtime.version" value="17.0.10+7" />
    +
    +          <property name="os.arch" value="amd64" />
    +
    +          <property name="java.io.tmpdir" value="/tmp" />
    +
    +          <property name="line.separator" value="&#xa;" />
    +
    +          <property name="java.vm.specification.vendor" value="Oracle Corporation" />
    +
    +          <property name="os.name" value="Linux" />
    +
    +          <property name="classworlds.conf" value="/home/vsts/work/1/s/.maven/bin/m2.conf" />
    +
    +          <property name="sun.jnu.encoding" value="UTF-8" />
    +
    +          <property name="deployAtEnd" value="true" />
    +
    +          <property name="java.library.path" value="/usr/java/packages/lib:/usr/lib64:/lib64:/lib:/usr/lib" />
    +
    +          <property name="maven.conf" value="/home/vsts/work/1/s/.maven/conf" />
    +
    +          <property name="jdk.debug" value="release" />
    +
    +          <property name="java.class.version" value="61.0" />
    +
    +          <property name="java.specification.name" value="Java Platform API Specification" />
    +
    +          <property name="sun.management.compiler" value="HotSpot 64-Bit Tiered Compilers" />
    +
    +          <property name="os.version" value="5.15.0-1059-azure" />
    +
    +          <property name="library.jansi.path" value="/home/vsts/work/1/s/.maven/lib/jansi-native" />
    +
    +          <property name="user.home" value="/home/vsts" />
    +
    +          <property name="user.timezone" value="Etc/UTC" />
    +
    +          <property name="file.encoding" value="UTF-8" />
    +
    +          <property name="java.specification.version" value="17" />
    +
    +          <property name="java.class.path" value="/home/vsts/work/1/s/.maven/boot/plexus-classworlds-2.6.0.jar" />
    +
    +          <property name="user.name" value="vsts" />
    +
    +          <property name="bytecode.version" value="5" />
    +
    +          <property name="java.vm.specification.version" value="17" />
    +
    +          <property name="sun.arch.data.model" value="64" />
    +
    +          <property name="sun.java.command" value="org.codehaus.plexus.classworlds.launcher.Launcher -V -B -e --no-transfer-progress -f org.jacoco.build verify -Djdk.version=5 -Dbytecode.version=5 deploy:deploy -DdeployAtEnd --toolchains=toolchains.xml --settings=.azure-pipelines/maven-settings.xml" />
    +
    +          <property name="java.home" value="/usr/lib/jvm/temurin-17-jdk-amd64" />
    +
    +          <property name="user.language" value="en" />
    +
    +          <property name="java.specification.vendor" value="Oracle Corporation" />
    +
    +          <property name="java.vm.info" value="mixed mode, sharing" />
    +
    +          <property name="java.version" value="17.0.10" />
    +
    +          <property name="native.encoding" value="UTF-8" />
    +
    +          <property name="securerandom.source" value="file:/dev/./urandom" />
    +
    +          <property name="java.vendor" value="Eclipse Adoptium" />
    +
    +          <property name="maven.home" value="/home/vsts/work/1/s/.maven" />
    +
    +          <property name="file.separator" value="/" />
    +
    +          <property name="java.version.date" value="2024-01-16" />
    +
    +          <property name="java.vendor.url.bug" value="https://github.com/adoptium/adoptium-support/issues" />
    +
    +          <property name="sun.cpu.endian" value="little" />
    +
    +          <property name="sun.io.unicode.encoding" value="UnicodeLittle" />
    +
    +          <property name="sun.font.fontmanager" value="sun.awt.X11FontManager" />
    +
    +          <property name="java.vendor.version" value="Temurin-17.0.10+7" />
    +
    +      </properties>
    +
    +      <testcase classname="org.jacoco.report.MultiReportVisitorTest" name="testMultiFormatter" time="0.002" />
    +
    +      <testcase classname="org.jacoco.report.MultiReportVisitorTest" name="testMockFormatter" time="0" />
    +
    +  </testsuite>
    +  <testsuite errors="0" failures="0" id="133" name="MultiSourceFileLocatorTest" package="org.jacoco.report" skipped="0" tests="5" time="0.011" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="https://maven.apache.org/surefire/maven-surefire-plugin/xsd/surefire-test-report.xsd">
    +      <properties>
    +          <property name="jansi.mode" value="strip" />
    +
    +          <property name="java.runtime.name" value="OpenJDK Runtime Environment" />
    +
    +          <property name="java.vm.version" value="17.0.10+7" />
    +
    +          <property name="sun.boot.library.path" value="/usr/lib/jvm/temurin-17-jdk-amd64/lib" />
    +
    +          <property name="maven.multiModuleProjectDirectory" value="/home/vsts/work/1/s/org.jacoco.build" />
    +
    +          <property name="java.vm.vendor" value="Eclipse Adoptium" />
    +
    +          <property name="jdk.version" value="5" />
    +
    +          <property name="java.vendor.url" value="https://adoptium.net/" />
    +
    +          <property name="path.separator" value=":" />
    +
    +          <property name="guice.disable.misplaced.annotation.check" value="true" />
    +
    +          <property name="java.vm.name" value="OpenJDK 64-Bit Server VM" />
    +
    +          <property name="sun.java.launcher" value="SUN_STANDARD" />
    +
    +          <property name="user.dir" value="/home/vsts/work/1/s" />
    +
    +          <property name="java.vm.compressedOopsMode" value="32-bit" />
    +
    +          <property name="java.vm.specification.name" value="Java Virtual Machine Specification" />
    +
    +          <property name="java.runtime.version" value="17.0.10+7" />
    +
    +          <property name="os.arch" value="amd64" />
    +
    +          <property name="java.io.tmpdir" value="/tmp" />
    +
    +          <property name="line.separator" value="&#xa;" />
    +
    +          <property name="java.vm.specification.vendor" value="Oracle Corporation" />
    +
    +          <property name="os.name" value="Linux" />
    +
    +          <property name="classworlds.conf" value="/home/vsts/work/1/s/.maven/bin/m2.conf" />
    +
    +          <property name="sun.jnu.encoding" value="UTF-8" />
    +
    +          <property name="deployAtEnd" value="true" />
    +
    +          <property name="java.library.path" value="/usr/java/packages/lib:/usr/lib64:/lib64:/lib:/usr/lib" />
    +
    +          <property name="maven.conf" value="/home/vsts/work/1/s/.maven/conf" />
    +
    +          <property name="jdk.debug" value="release" />
    +
    +          <property name="java.class.version" value="61.0" />
    +
    +          <property name="java.specification.name" value="Java Platform API Specification" />
    +
    +          <property name="sun.management.compiler" value="HotSpot 64-Bit Tiered Compilers" />
    +
    +          <property name="os.version" value="5.15.0-1059-azure" />
    +
    +          <property name="library.jansi.path" value="/home/vsts/work/1/s/.maven/lib/jansi-native" />
    +
    +          <property name="user.home" value="/home/vsts" />
    +
    +          <property name="user.timezone" value="Etc/UTC" />
    +
    +          <property name="file.encoding" value="UTF-8" />
    +
    +          <property name="java.specification.version" value="17" />
    +
    +          <property name="java.class.path" value="/home/vsts/work/1/s/.maven/boot/plexus-classworlds-2.6.0.jar" />
    +
    +          <property name="user.name" value="vsts" />
    +
    +          <property name="bytecode.version" value="5" />
    +
    +          <property name="java.vm.specification.version" value="17" />
    +
    +          <property name="sun.arch.data.model" value="64" />
    +
    +          <property name="sun.java.command" value="org.codehaus.plexus.classworlds.launcher.Launcher -V -B -e --no-transfer-progress -f org.jacoco.build verify -Djdk.version=5 -Dbytecode.version=5 deploy:deploy -DdeployAtEnd --toolchains=toolchains.xml --settings=.azure-pipelines/maven-settings.xml" />
    +
    +          <property name="java.home" value="/usr/lib/jvm/temurin-17-jdk-amd64" />
    +
    +          <property name="user.language" value="en" />
    +
    +          <property name="java.specification.vendor" value="Oracle Corporation" />
    +
    +          <property name="java.vm.info" value="mixed mode, sharing" />
    +
    +          <property name="java.version" value="17.0.10" />
    +
    +          <property name="native.encoding" value="UTF-8" />
    +
    +          <property name="securerandom.source" value="file:/dev/./urandom" />
    +
    +          <property name="java.vendor" value="Eclipse Adoptium" />
    +
    +          <property name="maven.home" value="/home/vsts/work/1/s/.maven" />
    +
    +          <property name="file.separator" value="/" />
    +
    +          <property name="java.version.date" value="2024-01-16" />
    +
    +          <property name="java.vendor.url.bug" value="https://github.com/adoptium/adoptium-support/issues" />
    +
    +          <property name="sun.cpu.endian" value="little" />
    +
    +          <property name="sun.io.unicode.encoding" value="UnicodeLittle" />
    +
    +          <property name="sun.font.fontmanager" value="sun.awt.X11FontManager" />
    +
    +          <property name="java.vendor.version" value="Temurin-17.0.10+7" />
    +
    +      </properties>
    +
    +      <testcase classname="org.jacoco.report.MultiSourceFileLocatorTest" name="testHit" time="0.001" />
    +
    +      <testcase classname="org.jacoco.report.MultiSourceFileLocatorTest" name="testEmpty" time="0" />
    +
    +      <testcase classname="org.jacoco.report.MultiSourceFileLocatorTest" name="testNohit" time="0" />
    +
    +      <testcase classname="org.jacoco.report.MultiSourceFileLocatorTest" name="testPrecedence" time="0" />
    +
    +      <testcase classname="org.jacoco.report.MultiSourceFileLocatorTest" name="testGetTabWidth" time="0.001" />
    +
    +  </testsuite>
    +  <testsuite errors="0" failures="0" id="134" name="ZipMultiReportOutputTest" package="org.jacoco.report" skipped="0" tests="10" time="0.008" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="https://maven.apache.org/surefire/maven-surefire-plugin/xsd/surefire-test-report.xsd">
    +      <properties>
    +          <property name="jansi.mode" value="strip" />
    +
    +          <property name="java.runtime.name" value="OpenJDK Runtime Environment" />
    +
    +          <property name="java.vm.version" value="17.0.10+7" />
    +
    +          <property name="sun.boot.library.path" value="/usr/lib/jvm/temurin-17-jdk-amd64/lib" />
    +
    +          <property name="maven.multiModuleProjectDirectory" value="/home/vsts/work/1/s/org.jacoco.build" />
    +
    +          <property name="java.vm.vendor" value="Eclipse Adoptium" />
    +
    +          <property name="jdk.version" value="5" />
    +
    +          <property name="java.vendor.url" value="https://adoptium.net/" />
    +
    +          <property name="path.separator" value=":" />
    +
    +          <property name="guice.disable.misplaced.annotation.check" value="true" />
    +
    +          <property name="java.vm.name" value="OpenJDK 64-Bit Server VM" />
    +
    +          <property name="sun.java.launcher" value="SUN_STANDARD" />
    +
    +          <property name="user.dir" value="/home/vsts/work/1/s" />
    +
    +          <property name="java.vm.compressedOopsMode" value="32-bit" />
    +
    +          <property name="java.vm.specification.name" value="Java Virtual Machine Specification" />
    +
    +          <property name="java.runtime.version" value="17.0.10+7" />
    +
    +          <property name="os.arch" value="amd64" />
    +
    +          <property name="java.io.tmpdir" value="/tmp" />
    +
    +          <property name="line.separator" value="&#xa;" />
    +
    +          <property name="java.vm.specification.vendor" value="Oracle Corporation" />
    +
    +          <property name="os.name" value="Linux" />
    +
    +          <property name="classworlds.conf" value="/home/vsts/work/1/s/.maven/bin/m2.conf" />
    +
    +          <property name="sun.jnu.encoding" value="UTF-8" />
    +
    +          <property name="deployAtEnd" value="true" />
    +
    +          <property name="java.library.path" value="/usr/java/packages/lib:/usr/lib64:/lib64:/lib:/usr/lib" />
    +
    +          <property name="maven.conf" value="/home/vsts/work/1/s/.maven/conf" />
    +
    +          <property name="jdk.debug" value="release" />
    +
    +          <property name="java.class.version" value="61.0" />
    +
    +          <property name="java.specification.name" value="Java Platform API Specification" />
    +
    +          <property name="sun.management.compiler" value="HotSpot 64-Bit Tiered Compilers" />
    +
    +          <property name="os.version" value="5.15.0-1059-azure" />
    +
    +          <property name="library.jansi.path" value="/home/vsts/work/1/s/.maven/lib/jansi-native" />
    +
    +          <property name="user.home" value="/home/vsts" />
    +
    +          <property name="user.timezone" value="Etc/UTC" />
    +
    +          <property name="file.encoding" value="UTF-8" />
    +
    +          <property name="java.specification.version" value="17" />
    +
    +          <property name="java.class.path" value="/home/vsts/work/1/s/.maven/boot/plexus-classworlds-2.6.0.jar" />
    +
    +          <property name="user.name" value="vsts" />
    +
    +          <property name="bytecode.version" value="5" />
    +
    +          <property name="java.vm.specification.version" value="17" />
    +
    +          <property name="sun.arch.data.model" value="64" />
    +
    +          <property name="sun.java.command" value="org.codehaus.plexus.classworlds.launcher.Launcher -V -B -e --no-transfer-progress -f org.jacoco.build verify -Djdk.version=5 -Dbytecode.version=5 deploy:deploy -DdeployAtEnd --toolchains=toolchains.xml --settings=.azure-pipelines/maven-settings.xml" />
    +
    +          <property name="java.home" value="/usr/lib/jvm/temurin-17-jdk-amd64" />
    +
    +          <property name="user.language" value="en" />
    +
    +          <property name="java.specification.vendor" value="Oracle Corporation" />
    +
    +          <property name="java.vm.info" value="mixed mode, sharing" />
    +
    +          <property name="java.version" value="17.0.10" />
    +
    +          <property name="native.encoding" value="UTF-8" />
    +
    +          <property name="securerandom.source" value="file:/dev/./urandom" />
    +
    +          <property name="java.vendor" value="Eclipse Adoptium" />
    +
    +          <property name="maven.home" value="/home/vsts/work/1/s/.maven" />
    +
    +          <property name="file.separator" value="/" />
    +
    +          <property name="java.version.date" value="2024-01-16" />
    +
    +          <property name="java.vendor.url.bug" value="https://github.com/adoptium/adoptium-support/issues" />
    +
    +          <property name="sun.cpu.endian" value="little" />
    +
    +          <property name="sun.io.unicode.encoding" value="UnicodeLittle" />
    +
    +          <property name="sun.font.fontmanager" value="sun.awt.X11FontManager" />
    +
    +          <property name="java.vendor.version" value="Temurin-17.0.10+7" />
    +
    +      </properties>
    +
    +      <testcase classname="org.jacoco.report.ZipMultiReportOutputTest" name="testCreateFiles" time="0.003" />
    +
    +      <testcase classname="org.jacoco.report.ZipMultiReportOutputTest" name="testFlushToClosedStream3" time="0" />
    +
    +      <testcase classname="org.jacoco.report.ZipMultiReportOutputTest" name="testWriteToObsoleteStream" time="0.001" />
    +
    +      <testcase classname="org.jacoco.report.ZipMultiReportOutputTest" name="testWrite1" time="0" />
    +
    +      <testcase classname="org.jacoco.report.ZipMultiReportOutputTest" name="testWrite2" time="0" />
    +
    +      <testcase classname="org.jacoco.report.ZipMultiReportOutputTest" name="testWrite3" time="0.001" />
    +
    +      <testcase classname="org.jacoco.report.ZipMultiReportOutputTest" name="testCreateFilesWithoutClose" time="0" />
    +
    +      <testcase classname="org.jacoco.report.ZipMultiReportOutputTest" name="testWriteToClosedStream1" time="0" />
    +
    +      <testcase classname="org.jacoco.report.ZipMultiReportOutputTest" name="testWriteToClosedStream2" time="0" />
    +
    +      <testcase classname="org.jacoco.report.ZipMultiReportOutputTest" name="testWriteToClosedStream3" time="0" />
    +
    +  </testsuite>
    +  <testsuite errors="0" failures="0" id="135" name="BundleCheckerTest" package="org.jacoco.report.check" skipped="0" tests="8" time="0.024" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="https://maven.apache.org/surefire/maven-surefire-plugin/xsd/surefire-test-report.xsd">
    +      <properties>
    +          <property name="jansi.mode" value="strip" />
    +
    +          <property name="java.runtime.name" value="OpenJDK Runtime Environment" />
    +
    +          <property name="java.vm.version" value="17.0.10+7" />
    +
    +          <property name="sun.boot.library.path" value="/usr/lib/jvm/temurin-17-jdk-amd64/lib" />
    +
    +          <property name="maven.multiModuleProjectDirectory" value="/home/vsts/work/1/s/org.jacoco.build" />
    +
    +          <property name="java.vm.vendor" value="Eclipse Adoptium" />
    +
    +          <property name="jdk.version" value="5" />
    +
    +          <property name="java.vendor.url" value="https://adoptium.net/" />
    +
    +          <property name="path.separator" value=":" />
    +
    +          <property name="guice.disable.misplaced.annotation.check" value="true" />
    +
    +          <property name="java.vm.name" value="OpenJDK 64-Bit Server VM" />
    +
    +          <property name="sun.java.launcher" value="SUN_STANDARD" />
    +
    +          <property name="user.dir" value="/home/vsts/work/1/s" />
    +
    +          <property name="java.vm.compressedOopsMode" value="32-bit" />
    +
    +          <property name="java.vm.specification.name" value="Java Virtual Machine Specification" />
    +
    +          <property name="java.runtime.version" value="17.0.10+7" />
    +
    +          <property name="os.arch" value="amd64" />
    +
    +          <property name="java.io.tmpdir" value="/tmp" />
    +
    +          <property name="line.separator" value="&#xa;" />
    +
    +          <property name="java.vm.specification.vendor" value="Oracle Corporation" />
    +
    +          <property name="os.name" value="Linux" />
    +
    +          <property name="classworlds.conf" value="/home/vsts/work/1/s/.maven/bin/m2.conf" />
    +
    +          <property name="sun.jnu.encoding" value="UTF-8" />
    +
    +          <property name="deployAtEnd" value="true" />
    +
    +          <property name="java.library.path" value="/usr/java/packages/lib:/usr/lib64:/lib64:/lib:/usr/lib" />
    +
    +          <property name="maven.conf" value="/home/vsts/work/1/s/.maven/conf" />
    +
    +          <property name="jdk.debug" value="release" />
    +
    +          <property name="java.class.version" value="61.0" />
    +
    +          <property name="java.specification.name" value="Java Platform API Specification" />
    +
    +          <property name="sun.management.compiler" value="HotSpot 64-Bit Tiered Compilers" />
    +
    +          <property name="os.version" value="5.15.0-1059-azure" />
    +
    +          <property name="library.jansi.path" value="/home/vsts/work/1/s/.maven/lib/jansi-native" />
    +
    +          <property name="user.home" value="/home/vsts" />
    +
    +          <property name="user.timezone" value="Etc/UTC" />
    +
    +          <property name="file.encoding" value="UTF-8" />
    +
    +          <property name="java.specification.version" value="17" />
    +
    +          <property name="java.class.path" value="/home/vsts/work/1/s/.maven/boot/plexus-classworlds-2.6.0.jar" />
    +
    +          <property name="user.name" value="vsts" />
    +
    +          <property name="bytecode.version" value="5" />
    +
    +          <property name="java.vm.specification.version" value="17" />
    +
    +          <property name="sun.arch.data.model" value="64" />
    +
    +          <property name="sun.java.command" value="org.codehaus.plexus.classworlds.launcher.Launcher -V -B -e --no-transfer-progress -f org.jacoco.build verify -Djdk.version=5 -Dbytecode.version=5 deploy:deploy -DdeployAtEnd --toolchains=toolchains.xml --settings=.azure-pipelines/maven-settings.xml" />
    +
    +          <property name="java.home" value="/usr/lib/jvm/temurin-17-jdk-amd64" />
    +
    +          <property name="user.language" value="en" />
    +
    +          <property name="java.specification.vendor" value="Oracle Corporation" />
    +
    +          <property name="java.vm.info" value="mixed mode, sharing" />
    +
    +          <property name="java.version" value="17.0.10" />
    +
    +          <property name="native.encoding" value="UTF-8" />
    +
    +          <property name="securerandom.source" value="file:/dev/./urandom" />
    +
    +          <property name="java.vendor" value="Eclipse Adoptium" />
    +
    +          <property name="maven.home" value="/home/vsts/work/1/s/.maven" />
    +
    +          <property name="file.separator" value="/" />
    +
    +          <property name="java.version.date" value="2024-01-16" />
    +
    +          <property name="java.vendor.url.bug" value="https://github.com/adoptium/adoptium-support/issues" />
    +
    +          <property name="sun.cpu.endian" value="little" />
    +
    +          <property name="sun.io.unicode.encoding" value="UnicodeLittle" />
    +
    +          <property name="sun.font.fontmanager" value="sun.awt.X11FontManager" />
    +
    +          <property name="java.vendor.version" value="Temurin-17.0.10+7" />
    +
    +      </properties>
    +
    +      <testcase classname="org.jacoco.report.check.BundleCheckerTest" name="testMethodLimit" time="0.022" />
    +
    +      <testcase classname="org.jacoco.report.check.BundleCheckerTest" name="testGroupLimitNotSupported" time="0" />
    +
    +      <testcase classname="org.jacoco.report.check.BundleCheckerTest" name="testClassLimit" time="0" />
    +
    +      <testcase classname="org.jacoco.report.check.BundleCheckerTest" name="testBundleLimit" time="0" />
    +
    +      <testcase classname="org.jacoco.report.check.BundleCheckerTest" name="testPackageLimit" time="0.001" />
    +
    +      <testcase classname="org.jacoco.report.check.BundleCheckerTest" name="testSourceFileLimit" time="0" />
    +
    +      <testcase classname="org.jacoco.report.check.BundleCheckerTest" name="testLimitOk" time="0" />
    +
    +      <testcase classname="org.jacoco.report.check.BundleCheckerTest" name="testBundleNoMatch" time="0" />
    +
    +  </testsuite>
    +  <testsuite errors="0" failures="0" id="136" name="LimitTest" package="org.jacoco.report.check" skipped="0" tests="31" time="0.015" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="https://maven.apache.org/surefire/maven-surefire-plugin/xsd/surefire-test-report.xsd">
    +      <properties>
    +          <property name="jansi.mode" value="strip" />
    +
    +          <property name="java.runtime.name" value="OpenJDK Runtime Environment" />
    +
    +          <property name="java.vm.version" value="17.0.10+7" />
    +
    +          <property name="sun.boot.library.path" value="/usr/lib/jvm/temurin-17-jdk-amd64/lib" />
    +
    +          <property name="maven.multiModuleProjectDirectory" value="/home/vsts/work/1/s/org.jacoco.build" />
    +
    +          <property name="java.vm.vendor" value="Eclipse Adoptium" />
    +
    +          <property name="jdk.version" value="5" />
    +
    +          <property name="java.vendor.url" value="https://adoptium.net/" />
    +
    +          <property name="path.separator" value=":" />
    +
    +          <property name="guice.disable.misplaced.annotation.check" value="true" />
    +
    +          <property name="java.vm.name" value="OpenJDK 64-Bit Server VM" />
    +
    +          <property name="sun.java.launcher" value="SUN_STANDARD" />
    +
    +          <property name="user.dir" value="/home/vsts/work/1/s" />
    +
    +          <property name="java.vm.compressedOopsMode" value="32-bit" />
    +
    +          <property name="java.vm.specification.name" value="Java Virtual Machine Specification" />
    +
    +          <property name="java.runtime.version" value="17.0.10+7" />
    +
    +          <property name="os.arch" value="amd64" />
    +
    +          <property name="java.io.tmpdir" value="/tmp" />
    +
    +          <property name="line.separator" value="&#xa;" />
    +
    +          <property name="java.vm.specification.vendor" value="Oracle Corporation" />
    +
    +          <property name="os.name" value="Linux" />
    +
    +          <property name="classworlds.conf" value="/home/vsts/work/1/s/.maven/bin/m2.conf" />
    +
    +          <property name="sun.jnu.encoding" value="UTF-8" />
    +
    +          <property name="deployAtEnd" value="true" />
    +
    +          <property name="java.library.path" value="/usr/java/packages/lib:/usr/lib64:/lib64:/lib:/usr/lib" />
    +
    +          <property name="maven.conf" value="/home/vsts/work/1/s/.maven/conf" />
    +
    +          <property name="jdk.debug" value="release" />
    +
    +          <property name="java.class.version" value="61.0" />
    +
    +          <property name="java.specification.name" value="Java Platform API Specification" />
    +
    +          <property name="sun.management.compiler" value="HotSpot 64-Bit Tiered Compilers" />
    +
    +          <property name="os.version" value="5.15.0-1059-azure" />
    +
    +          <property name="library.jansi.path" value="/home/vsts/work/1/s/.maven/lib/jansi-native" />
    +
    +          <property name="user.home" value="/home/vsts" />
    +
    +          <property name="user.timezone" value="Etc/UTC" />
    +
    +          <property name="file.encoding" value="UTF-8" />
    +
    +          <property name="java.specification.version" value="17" />
    +
    +          <property name="java.class.path" value="/home/vsts/work/1/s/.maven/boot/plexus-classworlds-2.6.0.jar" />
    +
    +          <property name="user.name" value="vsts" />
    +
    +          <property name="bytecode.version" value="5" />
    +
    +          <property name="java.vm.specification.version" value="17" />
    +
    +          <property name="sun.arch.data.model" value="64" />
    +
    +          <property name="sun.java.command" value="org.codehaus.plexus.classworlds.launcher.Launcher -V -B -e --no-transfer-progress -f org.jacoco.build verify -Djdk.version=5 -Dbytecode.version=5 deploy:deploy -DdeployAtEnd --toolchains=toolchains.xml --settings=.azure-pipelines/maven-settings.xml" />
    +
    +          <property name="java.home" value="/usr/lib/jvm/temurin-17-jdk-amd64" />
    +
    +          <property name="user.language" value="en" />
    +
    +          <property name="java.specification.vendor" value="Oracle Corporation" />
    +
    +          <property name="java.vm.info" value="mixed mode, sharing" />
    +
    +          <property name="java.version" value="17.0.10" />
    +
    +          <property name="native.encoding" value="UTF-8" />
    +
    +          <property name="securerandom.source" value="file:/dev/./urandom" />
    +
    +          <property name="java.vendor" value="Eclipse Adoptium" />
    +
    +          <property name="maven.home" value="/home/vsts/work/1/s/.maven" />
    +
    +          <property name="file.separator" value="/" />
    +
    +          <property name="java.version.date" value="2024-01-16" />
    +
    +          <property name="java.vendor.url.bug" value="https://github.com/adoptium/adoptium-support/issues" />
    +
    +          <property name="sun.cpu.endian" value="little" />
    +
    +          <property name="sun.io.unicode.encoding" value="UnicodeLittle" />
    +
    +          <property name="sun.font.fontmanager" value="sun.awt.X11FontManager" />
    +
    +          <property name="java.vendor.version" value="Temurin-17.0.10+7" />
    +
    +      </properties>
    +
    +      <testcase classname="org.jacoco.report.check.LimitTest" name="default_should_define_no_limits" time="0.001" />
    +
    +      <testcase classname="org.jacoco.report.check.LimitTest" name="check_should_fail_when_minimum_ratio_is_smaller_than_0" time="0" />
    +
    +      <testcase classname="org.jacoco.report.check.LimitTest" name="check_should_pass_when_no_limits_given" time="0.001" />
    +
    +      <testcase classname="org.jacoco.report.check.LimitTest" name="setMaximum_should_accept_percentage_string" time="0" />
    +
    +      <testcase classname="org.jacoco.report.check.LimitTest" name="check_should_fail_on_value_totalcount" time="0" />
    +
    +      <testcase classname="org.jacoco.report.check.LimitTest" name="check_should_pass_with_NaN_ratio" time="0" />
    +
    +      <testcase classname="org.jacoco.report.check.LimitTest" name="check_should_fail_on_value_coveredcount" time="0" />
    +
    +      <testcase classname="org.jacoco.report.check.LimitTest" name="check_should_fail_on_value_coveredratio" time="0.001" />
    +
    +      <testcase classname="org.jacoco.report.check.LimitTest" name="check_should_report_counter_with_given_precision" time="0" />
    +
    +      <testcase classname="org.jacoco.report.check.LimitTest" name="check_should_fail_on_counter_instruction" time="0" />
    +
    +      <testcase classname="org.jacoco.report.check.LimitTest" name="check_should_pass_when_maximum_ratio_is_fulfilled" time="0" />
    +
    +      <testcase classname="org.jacoco.report.check.LimitTest" name="check_should_fail_on_value_missedcount" time="0" />
    +
    +      <testcase classname="org.jacoco.report.check.LimitTest" name="check_should_fail_on_value_missedratio" time="0.001" />
    +
    +      <testcase classname="org.jacoco.report.check.LimitTest" name="setMinimum_should_accept_percentage_string" time="0" />
    +
    +      <testcase classname="org.jacoco.report.check.LimitTest" name="check_should_fail_on_counter_complexity" time="0" />
    +
    +      <testcase classname="org.jacoco.report.check.LimitTest" name="check_should_fail_when_minimum_is_not_met" time="0.001" />
    +
    +      <testcase classname="org.jacoco.report.check.LimitTest" name="check_should_fail_when_maximum_ratio_is_smaller_than_0" time="0.001" />
    +
    +      <testcase classname="org.jacoco.report.check.LimitTest" name="check_should_report_actual_ratio_rounded_down_when_minimum_is_not_met" time="0" />
    +
    +      <testcase classname="org.jacoco.report.check.LimitTest" name="check_should_fail_on_counter_method" time="0" />
    +
    +      <testcase classname="org.jacoco.report.check.LimitTest" name="setMinimum_should_allow_null" time="0.001" />
    +
    +      <testcase classname="org.jacoco.report.check.LimitTest" name="check_should_fail_on_check_counter_branch" time="0" />
    +
    +      <testcase classname="org.jacoco.report.check.LimitTest" name="setMaximum_should_allow_null" time="0" />
    +
    +      <testcase classname="org.jacoco.report.check.LimitTest" name="check_should_report_actual_ratio_rounded_up_when_maximum_is_not_met" time="0" />
    +
    +      <testcase classname="org.jacoco.report.check.LimitTest" name="check_should_fail_on_counter_class" time="0" />
    +
    +      <testcase classname="org.jacoco.report.check.LimitTest" name="check_should_pass_when_minimum_is_fulfilled" time="0" />
    +
    +      <testcase classname="org.jacoco.report.check.LimitTest" name="check_should_pass_when_maximum_counter_is_fulfilled" time="0.001" />
    +
    +      <testcase classname="org.jacoco.report.check.LimitTest" name="check_should_fail_on_counter_line" time="0" />
    +
    +      <testcase classname="org.jacoco.report.check.LimitTest" name="check_should_fail_when_minimum_ratio_is_bigger_than_1" time="0" />
    +
    +      <testcase classname="org.jacoco.report.check.LimitTest" name="check_should_fail_when_maximum_is_not_met" time="0.001" />
    +
    +      <testcase classname="org.jacoco.report.check.LimitTest" name="default_should_check_coverageratio_on_instructions" time="0" />
    +
    +      <testcase classname="org.jacoco.report.check.LimitTest" name="check_should_fail_when_maximum_ratio_is_bigger_than_1" time="0" />
    +
    +  </testsuite>
    +  <testsuite errors="0" failures="0" id="137" name="RuleTest" package="org.jacoco.report.check" skipped="0" tests="6" time="0.002" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="https://maven.apache.org/surefire/maven-surefire-plugin/xsd/surefire-test-report.xsd">
    +      <properties>
    +          <property name="jansi.mode" value="strip" />
    +
    +          <property name="java.runtime.name" value="OpenJDK Runtime Environment" />
    +
    +          <property name="java.vm.version" value="17.0.10+7" />
    +
    +          <property name="sun.boot.library.path" value="/usr/lib/jvm/temurin-17-jdk-amd64/lib" />
    +
    +          <property name="maven.multiModuleProjectDirectory" value="/home/vsts/work/1/s/org.jacoco.build" />
    +
    +          <property name="java.vm.vendor" value="Eclipse Adoptium" />
    +
    +          <property name="jdk.version" value="5" />
    +
    +          <property name="java.vendor.url" value="https://adoptium.net/" />
    +
    +          <property name="path.separator" value=":" />
    +
    +          <property name="guice.disable.misplaced.annotation.check" value="true" />
    +
    +          <property name="java.vm.name" value="OpenJDK 64-Bit Server VM" />
    +
    +          <property name="sun.java.launcher" value="SUN_STANDARD" />
    +
    +          <property name="user.dir" value="/home/vsts/work/1/s" />
    +
    +          <property name="java.vm.compressedOopsMode" value="32-bit" />
    +
    +          <property name="java.vm.specification.name" value="Java Virtual Machine Specification" />
    +
    +          <property name="java.runtime.version" value="17.0.10+7" />
    +
    +          <property name="os.arch" value="amd64" />
    +
    +          <property name="java.io.tmpdir" value="/tmp" />
    +
    +          <property name="line.separator" value="&#xa;" />
    +
    +          <property name="java.vm.specification.vendor" value="Oracle Corporation" />
    +
    +          <property name="os.name" value="Linux" />
    +
    +          <property name="classworlds.conf" value="/home/vsts/work/1/s/.maven/bin/m2.conf" />
    +
    +          <property name="sun.jnu.encoding" value="UTF-8" />
    +
    +          <property name="deployAtEnd" value="true" />
    +
    +          <property name="java.library.path" value="/usr/java/packages/lib:/usr/lib64:/lib64:/lib:/usr/lib" />
    +
    +          <property name="maven.conf" value="/home/vsts/work/1/s/.maven/conf" />
    +
    +          <property name="jdk.debug" value="release" />
    +
    +          <property name="java.class.version" value="61.0" />
    +
    +          <property name="java.specification.name" value="Java Platform API Specification" />
    +
    +          <property name="sun.management.compiler" value="HotSpot 64-Bit Tiered Compilers" />
    +
    +          <property name="os.version" value="5.15.0-1059-azure" />
    +
    +          <property name="library.jansi.path" value="/home/vsts/work/1/s/.maven/lib/jansi-native" />
    +
    +          <property name="user.home" value="/home/vsts" />
    +
    +          <property name="user.timezone" value="Etc/UTC" />
    +
    +          <property name="file.encoding" value="UTF-8" />
    +
    +          <property name="java.specification.version" value="17" />
    +
    +          <property name="java.class.path" value="/home/vsts/work/1/s/.maven/boot/plexus-classworlds-2.6.0.jar" />
    +
    +          <property name="user.name" value="vsts" />
    +
    +          <property name="bytecode.version" value="5" />
    +
    +          <property name="java.vm.specification.version" value="17" />
    +
    +          <property name="sun.arch.data.model" value="64" />
    +
    +          <property name="sun.java.command" value="org.codehaus.plexus.classworlds.launcher.Launcher -V -B -e --no-transfer-progress -f org.jacoco.build verify -Djdk.version=5 -Dbytecode.version=5 deploy:deploy -DdeployAtEnd --toolchains=toolchains.xml --settings=.azure-pipelines/maven-settings.xml" />
    +
    +          <property name="java.home" value="/usr/lib/jvm/temurin-17-jdk-amd64" />
    +
    +          <property name="user.language" value="en" />
    +
    +          <property name="java.specification.vendor" value="Oracle Corporation" />
    +
    +          <property name="java.vm.info" value="mixed mode, sharing" />
    +
    +          <property name="java.version" value="17.0.10" />
    +
    +          <property name="native.encoding" value="UTF-8" />
    +
    +          <property name="securerandom.source" value="file:/dev/./urandom" />
    +
    +          <property name="java.vendor" value="Eclipse Adoptium" />
    +
    +          <property name="maven.home" value="/home/vsts/work/1/s/.maven" />
    +
    +          <property name="file.separator" value="/" />
    +
    +          <property name="java.version.date" value="2024-01-16" />
    +
    +          <property name="java.vendor.url.bug" value="https://github.com/adoptium/adoptium-support/issues" />
    +
    +          <property name="sun.cpu.endian" value="little" />
    +
    +          <property name="sun.io.unicode.encoding" value="UnicodeLittle" />
    +
    +          <property name="sun.font.fontmanager" value="sun.awt.X11FontManager" />
    +
    +          <property name="java.vendor.version" value="Temurin-17.0.10+7" />
    +
    +      </properties>
    +
    +      <testcase classname="org.jacoco.report.check.RuleTest" name="testCreateLimit" time="0.001" />
    +
    +      <testcase classname="org.jacoco.report.check.RuleTest" name="testSetExcludes" time="0" />
    +
    +      <testcase classname="org.jacoco.report.check.RuleTest" name="testSetElement" time="0.001" />
    +
    +      <testcase classname="org.jacoco.report.check.RuleTest" name="testSetLimits" time="0" />
    +
    +      <testcase classname="org.jacoco.report.check.RuleTest" name="testDefaults" time="0" />
    +
    +      <testcase classname="org.jacoco.report.check.RuleTest" name="testSetIncludes" time="0" />
    +
    +  </testsuite>
    +  <testsuite errors="0" failures="0" id="138" name="RulesCheckerTest" package="org.jacoco.report.check" skipped="0" tests="2" time="0.003" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="https://maven.apache.org/surefire/maven-surefire-plugin/xsd/surefire-test-report.xsd">
    +      <properties>
    +          <property name="jansi.mode" value="strip" />
    +
    +          <property name="java.runtime.name" value="OpenJDK Runtime Environment" />
    +
    +          <property name="java.vm.version" value="17.0.10+7" />
    +
    +          <property name="sun.boot.library.path" value="/usr/lib/jvm/temurin-17-jdk-amd64/lib" />
    +
    +          <property name="maven.multiModuleProjectDirectory" value="/home/vsts/work/1/s/org.jacoco.build" />
    +
    +          <property name="java.vm.vendor" value="Eclipse Adoptium" />
    +
    +          <property name="jdk.version" value="5" />
    +
    +          <property name="java.vendor.url" value="https://adoptium.net/" />
    +
    +          <property name="path.separator" value=":" />
    +
    +          <property name="guice.disable.misplaced.annotation.check" value="true" />
    +
    +          <property name="java.vm.name" value="OpenJDK 64-Bit Server VM" />
    +
    +          <property name="sun.java.launcher" value="SUN_STANDARD" />
    +
    +          <property name="user.dir" value="/home/vsts/work/1/s" />
    +
    +          <property name="java.vm.compressedOopsMode" value="32-bit" />
    +
    +          <property name="java.vm.specification.name" value="Java Virtual Machine Specification" />
    +
    +          <property name="java.runtime.version" value="17.0.10+7" />
    +
    +          <property name="os.arch" value="amd64" />
    +
    +          <property name="java.io.tmpdir" value="/tmp" />
    +
    +          <property name="line.separator" value="&#xa;" />
    +
    +          <property name="java.vm.specification.vendor" value="Oracle Corporation" />
    +
    +          <property name="os.name" value="Linux" />
    +
    +          <property name="classworlds.conf" value="/home/vsts/work/1/s/.maven/bin/m2.conf" />
    +
    +          <property name="sun.jnu.encoding" value="UTF-8" />
    +
    +          <property name="deployAtEnd" value="true" />
    +
    +          <property name="java.library.path" value="/usr/java/packages/lib:/usr/lib64:/lib64:/lib:/usr/lib" />
    +
    +          <property name="maven.conf" value="/home/vsts/work/1/s/.maven/conf" />
    +
    +          <property name="jdk.debug" value="release" />
    +
    +          <property name="java.class.version" value="61.0" />
    +
    +          <property name="java.specification.name" value="Java Platform API Specification" />
    +
    +          <property name="sun.management.compiler" value="HotSpot 64-Bit Tiered Compilers" />
    +
    +          <property name="os.version" value="5.15.0-1059-azure" />
    +
    +          <property name="library.jansi.path" value="/home/vsts/work/1/s/.maven/lib/jansi-native" />
    +
    +          <property name="user.home" value="/home/vsts" />
    +
    +          <property name="user.timezone" value="Etc/UTC" />
    +
    +          <property name="file.encoding" value="UTF-8" />
    +
    +          <property name="java.specification.version" value="17" />
    +
    +          <property name="java.class.path" value="/home/vsts/work/1/s/.maven/boot/plexus-classworlds-2.6.0.jar" />
    +
    +          <property name="user.name" value="vsts" />
    +
    +          <property name="bytecode.version" value="5" />
    +
    +          <property name="java.vm.specification.version" value="17" />
    +
    +          <property name="sun.arch.data.model" value="64" />
    +
    +          <property name="sun.java.command" value="org.codehaus.plexus.classworlds.launcher.Launcher -V -B -e --no-transfer-progress -f org.jacoco.build verify -Djdk.version=5 -Dbytecode.version=5 deploy:deploy -DdeployAtEnd --toolchains=toolchains.xml --settings=.azure-pipelines/maven-settings.xml" />
    +
    +          <property name="java.home" value="/usr/lib/jvm/temurin-17-jdk-amd64" />
    +
    +          <property name="user.language" value="en" />
    +
    +          <property name="java.specification.vendor" value="Oracle Corporation" />
    +
    +          <property name="java.vm.info" value="mixed mode, sharing" />
    +
    +          <property name="java.version" value="17.0.10" />
    +
    +          <property name="native.encoding" value="UTF-8" />
    +
    +          <property name="securerandom.source" value="file:/dev/./urandom" />
    +
    +          <property name="java.vendor" value="Eclipse Adoptium" />
    +
    +          <property name="maven.home" value="/home/vsts/work/1/s/.maven" />
    +
    +          <property name="file.separator" value="/" />
    +
    +          <property name="java.version.date" value="2024-01-16" />
    +
    +          <property name="java.vendor.url.bug" value="https://github.com/adoptium/adoptium-support/issues" />
    +
    +          <property name="sun.cpu.endian" value="little" />
    +
    +          <property name="sun.io.unicode.encoding" value="UnicodeLittle" />
    +
    +          <property name="sun.font.fontmanager" value="sun.awt.X11FontManager" />
    +
    +          <property name="java.vendor.version" value="Temurin-17.0.10+7" />
    +
    +      </properties>
    +
    +      <testcase classname="org.jacoco.report.check.RulesCheckerTest" name="testSetLanguageNames" time="0.002" />
    +
    +      <testcase classname="org.jacoco.report.check.RulesCheckerTest" name="testSetRules" time="0" />
    +
    +  </testsuite>
    +  <testsuite errors="0" failures="0" id="139" name="CSVFormatterTest" package="org.jacoco.report.csv" skipped="0" tests="5" time="0.005" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="https://maven.apache.org/surefire/maven-surefire-plugin/xsd/surefire-test-report.xsd">
    +      <properties>
    +          <property name="jansi.mode" value="strip" />
    +
    +          <property name="java.runtime.name" value="OpenJDK Runtime Environment" />
    +
    +          <property name="java.vm.version" value="17.0.10+7" />
    +
    +          <property name="sun.boot.library.path" value="/usr/lib/jvm/temurin-17-jdk-amd64/lib" />
    +
    +          <property name="maven.multiModuleProjectDirectory" value="/home/vsts/work/1/s/org.jacoco.build" />
    +
    +          <property name="java.vm.vendor" value="Eclipse Adoptium" />
    +
    +          <property name="jdk.version" value="5" />
    +
    +          <property name="java.vendor.url" value="https://adoptium.net/" />
    +
    +          <property name="path.separator" value=":" />
    +
    +          <property name="guice.disable.misplaced.annotation.check" value="true" />
    +
    +          <property name="java.vm.name" value="OpenJDK 64-Bit Server VM" />
    +
    +          <property name="sun.java.launcher" value="SUN_STANDARD" />
    +
    +          <property name="user.dir" value="/home/vsts/work/1/s" />
    +
    +          <property name="java.vm.compressedOopsMode" value="32-bit" />
    +
    +          <property name="java.vm.specification.name" value="Java Virtual Machine Specification" />
    +
    +          <property name="java.runtime.version" value="17.0.10+7" />
    +
    +          <property name="os.arch" value="amd64" />
    +
    +          <property name="java.io.tmpdir" value="/tmp" />
    +
    +          <property name="line.separator" value="&#xa;" />
    +
    +          <property name="java.vm.specification.vendor" value="Oracle Corporation" />
    +
    +          <property name="os.name" value="Linux" />
    +
    +          <property name="classworlds.conf" value="/home/vsts/work/1/s/.maven/bin/m2.conf" />
    +
    +          <property name="sun.jnu.encoding" value="UTF-8" />
    +
    +          <property name="deployAtEnd" value="true" />
    +
    +          <property name="java.library.path" value="/usr/java/packages/lib:/usr/lib64:/lib64:/lib:/usr/lib" />
    +
    +          <property name="maven.conf" value="/home/vsts/work/1/s/.maven/conf" />
    +
    +          <property name="jdk.debug" value="release" />
    +
    +          <property name="java.class.version" value="61.0" />
    +
    +          <property name="java.specification.name" value="Java Platform API Specification" />
    +
    +          <property name="sun.management.compiler" value="HotSpot 64-Bit Tiered Compilers" />
    +
    +          <property name="os.version" value="5.15.0-1059-azure" />
    +
    +          <property name="library.jansi.path" value="/home/vsts/work/1/s/.maven/lib/jansi-native" />
    +
    +          <property name="user.home" value="/home/vsts" />
    +
    +          <property name="user.timezone" value="Etc/UTC" />
    +
    +          <property name="file.encoding" value="UTF-8" />
    +
    +          <property name="java.specification.version" value="17" />
    +
    +          <property name="java.class.path" value="/home/vsts/work/1/s/.maven/boot/plexus-classworlds-2.6.0.jar" />
    +
    +          <property name="user.name" value="vsts" />
    +
    +          <property name="bytecode.version" value="5" />
    +
    +          <property name="java.vm.specification.version" value="17" />
    +
    +          <property name="sun.arch.data.model" value="64" />
    +
    +          <property name="sun.java.command" value="org.codehaus.plexus.classworlds.launcher.Launcher -V -B -e --no-transfer-progress -f org.jacoco.build verify -Djdk.version=5 -Dbytecode.version=5 deploy:deploy -DdeployAtEnd --toolchains=toolchains.xml --settings=.azure-pipelines/maven-settings.xml" />
    +
    +          <property name="java.home" value="/usr/lib/jvm/temurin-17-jdk-amd64" />
    +
    +          <property name="user.language" value="en" />
    +
    +          <property name="java.specification.vendor" value="Oracle Corporation" />
    +
    +          <property name="java.vm.info" value="mixed mode, sharing" />
    +
    +          <property name="java.version" value="17.0.10" />
    +
    +          <property name="native.encoding" value="UTF-8" />
    +
    +          <property name="securerandom.source" value="file:/dev/./urandom" />
    +
    +          <property name="java.vendor" value="Eclipse Adoptium" />
    +
    +          <property name="maven.home" value="/home/vsts/work/1/s/.maven" />
    +
    +          <property name="file.separator" value="/" />
    +
    +          <property name="java.version.date" value="2024-01-16" />
    +
    +          <property name="java.vendor.url.bug" value="https://github.com/adoptium/adoptium-support/issues" />
    +
    +          <property name="sun.cpu.endian" value="little" />
    +
    +          <property name="sun.io.unicode.encoding" value="UnicodeLittle" />
    +
    +          <property name="sun.font.fontmanager" value="sun.awt.X11FontManager" />
    +
    +          <property name="java.vendor.version" value="Temurin-17.0.10+7" />
    +
    +      </properties>
    +
    +      <testcase classname="org.jacoco.report.csv.CSVFormatterTest" name="testSetEncoding" time="0.002" />
    +
    +      <testcase classname="org.jacoco.report.csv.CSVFormatterTest" name="testStructureWithNestedGroups" time="0" />
    +
    +      <testcase classname="org.jacoco.report.csv.CSVFormatterTest" name="testStructureWithGroup" time="0.001" />
    +
    +      <testcase classname="org.jacoco.report.csv.CSVFormatterTest" name="testGetLanguageNames" time="0.001" />
    +
    +      <testcase classname="org.jacoco.report.csv.CSVFormatterTest" name="testStructureWithBundleOnly" time="0" />
    +
    +  </testsuite>
    +  <testsuite errors="0" failures="0" id="140" name="CSVGroupHandlerTest" package="org.jacoco.report.csv" skipped="0" tests="2" time="0.002" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="https://maven.apache.org/surefire/maven-surefire-plugin/xsd/surefire-test-report.xsd">
    +      <properties>
    +          <property name="jansi.mode" value="strip" />
    +
    +          <property name="java.runtime.name" value="OpenJDK Runtime Environment" />
    +
    +          <property name="java.vm.version" value="17.0.10+7" />
    +
    +          <property name="sun.boot.library.path" value="/usr/lib/jvm/temurin-17-jdk-amd64/lib" />
    +
    +          <property name="maven.multiModuleProjectDirectory" value="/home/vsts/work/1/s/org.jacoco.build" />
    +
    +          <property name="java.vm.vendor" value="Eclipse Adoptium" />
    +
    +          <property name="jdk.version" value="5" />
    +
    +          <property name="java.vendor.url" value="https://adoptium.net/" />
    +
    +          <property name="path.separator" value=":" />
    +
    +          <property name="guice.disable.misplaced.annotation.check" value="true" />
    +
    +          <property name="java.vm.name" value="OpenJDK 64-Bit Server VM" />
    +
    +          <property name="sun.java.launcher" value="SUN_STANDARD" />
    +
    +          <property name="user.dir" value="/home/vsts/work/1/s" />
    +
    +          <property name="java.vm.compressedOopsMode" value="32-bit" />
    +
    +          <property name="java.vm.specification.name" value="Java Virtual Machine Specification" />
    +
    +          <property name="java.runtime.version" value="17.0.10+7" />
    +
    +          <property name="os.arch" value="amd64" />
    +
    +          <property name="java.io.tmpdir" value="/tmp" />
    +
    +          <property name="line.separator" value="&#xa;" />
    +
    +          <property name="java.vm.specification.vendor" value="Oracle Corporation" />
    +
    +          <property name="os.name" value="Linux" />
    +
    +          <property name="classworlds.conf" value="/home/vsts/work/1/s/.maven/bin/m2.conf" />
    +
    +          <property name="sun.jnu.encoding" value="UTF-8" />
    +
    +          <property name="deployAtEnd" value="true" />
    +
    +          <property name="java.library.path" value="/usr/java/packages/lib:/usr/lib64:/lib64:/lib:/usr/lib" />
    +
    +          <property name="maven.conf" value="/home/vsts/work/1/s/.maven/conf" />
    +
    +          <property name="jdk.debug" value="release" />
    +
    +          <property name="java.class.version" value="61.0" />
    +
    +          <property name="java.specification.name" value="Java Platform API Specification" />
    +
    +          <property name="sun.management.compiler" value="HotSpot 64-Bit Tiered Compilers" />
    +
    +          <property name="os.version" value="5.15.0-1059-azure" />
    +
    +          <property name="library.jansi.path" value="/home/vsts/work/1/s/.maven/lib/jansi-native" />
    +
    +          <property name="user.home" value="/home/vsts" />
    +
    +          <property name="user.timezone" value="Etc/UTC" />
    +
    +          <property name="file.encoding" value="UTF-8" />
    +
    +          <property name="java.specification.version" value="17" />
    +
    +          <property name="java.class.path" value="/home/vsts/work/1/s/.maven/boot/plexus-classworlds-2.6.0.jar" />
    +
    +          <property name="user.name" value="vsts" />
    +
    +          <property name="bytecode.version" value="5" />
    +
    +          <property name="java.vm.specification.version" value="17" />
    +
    +          <property name="sun.arch.data.model" value="64" />
    +
    +          <property name="sun.java.command" value="org.codehaus.plexus.classworlds.launcher.Launcher -V -B -e --no-transfer-progress -f org.jacoco.build verify -Djdk.version=5 -Dbytecode.version=5 deploy:deploy -DdeployAtEnd --toolchains=toolchains.xml --settings=.azure-pipelines/maven-settings.xml" />
    +
    +          <property name="java.home" value="/usr/lib/jvm/temurin-17-jdk-amd64" />
    +
    +          <property name="user.language" value="en" />
    +
    +          <property name="java.specification.vendor" value="Oracle Corporation" />
    +
    +          <property name="java.vm.info" value="mixed mode, sharing" />
    +
    +          <property name="java.version" value="17.0.10" />
    +
    +          <property name="native.encoding" value="UTF-8" />
    +
    +          <property name="securerandom.source" value="file:/dev/./urandom" />
    +
    +          <property name="java.vendor" value="Eclipse Adoptium" />
    +
    +          <property name="maven.home" value="/home/vsts/work/1/s/.maven" />
    +
    +          <property name="file.separator" value="/" />
    +
    +          <property name="java.version.date" value="2024-01-16" />
    +
    +          <property name="java.vendor.url.bug" value="https://github.com/adoptium/adoptium-support/issues" />
    +
    +          <property name="sun.cpu.endian" value="little" />
    +
    +          <property name="sun.io.unicode.encoding" value="UnicodeLittle" />
    +
    +          <property name="sun.font.fontmanager" value="sun.awt.X11FontManager" />
    +
    +          <property name="java.vendor.version" value="Temurin-17.0.10+7" />
    +
    +      </properties>
    +
    +      <testcase classname="org.jacoco.report.csv.CSVGroupHandlerTest" name="testVisitBundle" time="0.001" />
    +
    +      <testcase classname="org.jacoco.report.csv.CSVGroupHandlerTest" name="testVisitGroup" time="0" />
    +
    +  </testsuite>
    +  <testsuite errors="0" failures="0" id="141" name="ClassRowWriterTest" package="org.jacoco.report.csv" skipped="0" tests="2" time="0.01" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="https://maven.apache.org/surefire/maven-surefire-plugin/xsd/surefire-test-report.xsd">
    +      <properties>
    +          <property name="jansi.mode" value="strip" />
    +
    +          <property name="java.runtime.name" value="OpenJDK Runtime Environment" />
    +
    +          <property name="java.vm.version" value="17.0.10+7" />
    +
    +          <property name="sun.boot.library.path" value="/usr/lib/jvm/temurin-17-jdk-amd64/lib" />
    +
    +          <property name="maven.multiModuleProjectDirectory" value="/home/vsts/work/1/s/org.jacoco.build" />
    +
    +          <property name="java.vm.vendor" value="Eclipse Adoptium" />
    +
    +          <property name="jdk.version" value="5" />
    +
    +          <property name="java.vendor.url" value="https://adoptium.net/" />
    +
    +          <property name="path.separator" value=":" />
    +
    +          <property name="guice.disable.misplaced.annotation.check" value="true" />
    +
    +          <property name="java.vm.name" value="OpenJDK 64-Bit Server VM" />
    +
    +          <property name="sun.java.launcher" value="SUN_STANDARD" />
    +
    +          <property name="user.dir" value="/home/vsts/work/1/s" />
    +
    +          <property name="java.vm.compressedOopsMode" value="32-bit" />
    +
    +          <property name="java.vm.specification.name" value="Java Virtual Machine Specification" />
    +
    +          <property name="java.runtime.version" value="17.0.10+7" />
    +
    +          <property name="os.arch" value="amd64" />
    +
    +          <property name="java.io.tmpdir" value="/tmp" />
    +
    +          <property name="line.separator" value="&#xa;" />
    +
    +          <property name="java.vm.specification.vendor" value="Oracle Corporation" />
    +
    +          <property name="os.name" value="Linux" />
    +
    +          <property name="classworlds.conf" value="/home/vsts/work/1/s/.maven/bin/m2.conf" />
    +
    +          <property name="sun.jnu.encoding" value="UTF-8" />
    +
    +          <property name="deployAtEnd" value="true" />
    +
    +          <property name="java.library.path" value="/usr/java/packages/lib:/usr/lib64:/lib64:/lib:/usr/lib" />
    +
    +          <property name="maven.conf" value="/home/vsts/work/1/s/.maven/conf" />
    +
    +          <property name="jdk.debug" value="release" />
    +
    +          <property name="java.class.version" value="61.0" />
    +
    +          <property name="java.specification.name" value="Java Platform API Specification" />
    +
    +          <property name="sun.management.compiler" value="HotSpot 64-Bit Tiered Compilers" />
    +
    +          <property name="os.version" value="5.15.0-1059-azure" />
    +
    +          <property name="library.jansi.path" value="/home/vsts/work/1/s/.maven/lib/jansi-native" />
    +
    +          <property name="user.home" value="/home/vsts" />
    +
    +          <property name="user.timezone" value="Etc/UTC" />
    +
    +          <property name="file.encoding" value="UTF-8" />
    +
    +          <property name="java.specification.version" value="17" />
    +
    +          <property name="java.class.path" value="/home/vsts/work/1/s/.maven/boot/plexus-classworlds-2.6.0.jar" />
    +
    +          <property name="user.name" value="vsts" />
    +
    +          <property name="bytecode.version" value="5" />
    +
    +          <property name="java.vm.specification.version" value="17" />
    +
    +          <property name="sun.arch.data.model" value="64" />
    +
    +          <property name="sun.java.command" value="org.codehaus.plexus.classworlds.launcher.Launcher -V -B -e --no-transfer-progress -f org.jacoco.build verify -Djdk.version=5 -Dbytecode.version=5 deploy:deploy -DdeployAtEnd --toolchains=toolchains.xml --settings=.azure-pipelines/maven-settings.xml" />
    +
    +          <property name="java.home" value="/usr/lib/jvm/temurin-17-jdk-amd64" />
    +
    +          <property name="user.language" value="en" />
    +
    +          <property name="java.specification.vendor" value="Oracle Corporation" />
    +
    +          <property name="java.vm.info" value="mixed mode, sharing" />
    +
    +          <property name="java.version" value="17.0.10" />
    +
    +          <property name="native.encoding" value="UTF-8" />
    +
    +          <property name="securerandom.source" value="file:/dev/./urandom" />
    +
    +          <property name="java.vendor" value="Eclipse Adoptium" />
    +
    +          <property name="maven.home" value="/home/vsts/work/1/s/.maven" />
    +
    +          <property name="file.separator" value="/" />
    +
    +          <property name="java.version.date" value="2024-01-16" />
    +
    +          <property name="java.vendor.url.bug" value="https://github.com/adoptium/adoptium-support/issues" />
    +
    +          <property name="sun.cpu.endian" value="little" />
    +
    +          <property name="sun.io.unicode.encoding" value="UnicodeLittle" />
    +
    +          <property name="sun.font.fontmanager" value="sun.awt.X11FontManager" />
    +
    +          <property name="java.vendor.version" value="Temurin-17.0.10+7" />
    +
    +      </properties>
    +
    +      <testcase classname="org.jacoco.report.csv.ClassRowWriterTest" name="TestHeader" time="0.001" />
    +
    +      <testcase classname="org.jacoco.report.csv.ClassRowWriterTest" name="TestRow" time="0.009" />
    +
    +  </testsuite>
    +  <testsuite errors="0" failures="0" id="142" name="DelimitedWriterTest" package="org.jacoco.report.csv" skipped="0" tests="12" time="0.014" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="https://maven.apache.org/surefire/maven-surefire-plugin/xsd/surefire-test-report.xsd">
    +      <properties>
    +          <property name="jansi.mode" value="strip" />
    +
    +          <property name="java.runtime.name" value="OpenJDK Runtime Environment" />
    +
    +          <property name="java.vm.version" value="17.0.10+7" />
    +
    +          <property name="sun.boot.library.path" value="/usr/lib/jvm/temurin-17-jdk-amd64/lib" />
    +
    +          <property name="maven.multiModuleProjectDirectory" value="/home/vsts/work/1/s/org.jacoco.build" />
    +
    +          <property name="java.vm.vendor" value="Eclipse Adoptium" />
    +
    +          <property name="jdk.version" value="5" />
    +
    +          <property name="java.vendor.url" value="https://adoptium.net/" />
    +
    +          <property name="path.separator" value=":" />
    +
    +          <property name="guice.disable.misplaced.annotation.check" value="true" />
    +
    +          <property name="java.vm.name" value="OpenJDK 64-Bit Server VM" />
    +
    +          <property name="sun.java.launcher" value="SUN_STANDARD" />
    +
    +          <property name="user.dir" value="/home/vsts/work/1/s" />
    +
    +          <property name="java.vm.compressedOopsMode" value="32-bit" />
    +
    +          <property name="java.vm.specification.name" value="Java Virtual Machine Specification" />
    +
    +          <property name="java.runtime.version" value="17.0.10+7" />
    +
    +          <property name="os.arch" value="amd64" />
    +
    +          <property name="java.io.tmpdir" value="/tmp" />
    +
    +          <property name="line.separator" value="&#xa;" />
    +
    +          <property name="java.vm.specification.vendor" value="Oracle Corporation" />
    +
    +          <property name="os.name" value="Linux" />
    +
    +          <property name="classworlds.conf" value="/home/vsts/work/1/s/.maven/bin/m2.conf" />
    +
    +          <property name="sun.jnu.encoding" value="UTF-8" />
    +
    +          <property name="deployAtEnd" value="true" />
    +
    +          <property name="java.library.path" value="/usr/java/packages/lib:/usr/lib64:/lib64:/lib:/usr/lib" />
    +
    +          <property name="maven.conf" value="/home/vsts/work/1/s/.maven/conf" />
    +
    +          <property name="jdk.debug" value="release" />
    +
    +          <property name="java.class.version" value="61.0" />
    +
    +          <property name="java.specification.name" value="Java Platform API Specification" />
    +
    +          <property name="sun.management.compiler" value="HotSpot 64-Bit Tiered Compilers" />
    +
    +          <property name="os.version" value="5.15.0-1059-azure" />
    +
    +          <property name="library.jansi.path" value="/home/vsts/work/1/s/.maven/lib/jansi-native" />
    +
    +          <property name="user.home" value="/home/vsts" />
    +
    +          <property name="user.timezone" value="Etc/UTC" />
    +
    +          <property name="file.encoding" value="UTF-8" />
    +
    +          <property name="java.specification.version" value="17" />
    +
    +          <property name="java.class.path" value="/home/vsts/work/1/s/.maven/boot/plexus-classworlds-2.6.0.jar" />
    +
    +          <property name="user.name" value="vsts" />
    +
    +          <property name="bytecode.version" value="5" />
    +
    +          <property name="java.vm.specification.version" value="17" />
    +
    +          <property name="sun.arch.data.model" value="64" />
    +
    +          <property name="sun.java.command" value="org.codehaus.plexus.classworlds.launcher.Launcher -V -B -e --no-transfer-progress -f org.jacoco.build verify -Djdk.version=5 -Dbytecode.version=5 deploy:deploy -DdeployAtEnd --toolchains=toolchains.xml --settings=.azure-pipelines/maven-settings.xml" />
    +
    +          <property name="java.home" value="/usr/lib/jvm/temurin-17-jdk-amd64" />
    +
    +          <property name="user.language" value="en" />
    +
    +          <property name="java.specification.vendor" value="Oracle Corporation" />
    +
    +          <property name="java.vm.info" value="mixed mode, sharing" />
    +
    +          <property name="java.version" value="17.0.10" />
    +
    +          <property name="native.encoding" value="UTF-8" />
    +
    +          <property name="securerandom.source" value="file:/dev/./urandom" />
    +
    +          <property name="java.vendor" value="Eclipse Adoptium" />
    +
    +          <property name="maven.home" value="/home/vsts/work/1/s/.maven" />
    +
    +          <property name="file.separator" value="/" />
    +
    +          <property name="java.version.date" value="2024-01-16" />
    +
    +          <property name="java.vendor.url.bug" value="https://github.com/adoptium/adoptium-support/issues" />
    +
    +          <property name="sun.cpu.endian" value="little" />
    +
    +          <property name="sun.io.unicode.encoding" value="UnicodeLittle" />
    +
    +          <property name="sun.font.fontmanager" value="sun.awt.X11FontManager" />
    +
    +          <property name="java.vendor.version" value="Temurin-17.0.10+7" />
    +
    +      </properties>
    +
    +      <testcase classname="org.jacoco.report.csv.DelimitedWriterTest" name="testFieldContainingDelimiter" time="0" />
    +
    +      <testcase classname="org.jacoco.report.csv.DelimitedWriterTest" name="testFieldContainingDelimiterAndQuote" time="0" />
    +
    +      <testcase classname="org.jacoco.report.csv.DelimitedWriterTest" name="testMultipleFieldsOnOneLine" time="0" />
    +
    +      <testcase classname="org.jacoco.report.csv.DelimitedWriterTest" name="testAutoEscapedField" time="0.001" />
    +
    +      <testcase classname="org.jacoco.report.csv.DelimitedWriterTest" name="testInt" time="0" />
    +
    +      <testcase classname="org.jacoco.report.csv.DelimitedWriterTest" name="testInts" time="0" />
    +
    +      <testcase classname="org.jacoco.report.csv.DelimitedWriterTest" name="testWriteEmptyHeader" time="0" />
    +
    +      <testcase classname="org.jacoco.report.csv.DelimitedWriterTest" name="testMultipleFieldsOnMultipleLines" time="0.001" />
    +
    +      <testcase classname="org.jacoco.report.csv.DelimitedWriterTest" name="testWordWithSpace" time="0" />
    +
    +      <testcase classname="org.jacoco.report.csv.DelimitedWriterTest" name="testWriteHeader" time="0" />
    +
    +      <testcase classname="org.jacoco.report.csv.DelimitedWriterTest" name="testNoWrites" time="0" />
    +
    +      <testcase classname="org.jacoco.report.csv.DelimitedWriterTest" name="testSingleField" time="0.001" />
    +
    +  </testsuite>
    +  <testsuite errors="0" failures="0" id="143" name="HTMLFormatterTest" package="org.jacoco.report.html" skipped="0" tests="8" time="0.347" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="https://maven.apache.org/surefire/maven-surefire-plugin/xsd/surefire-test-report.xsd">
    +      <properties>
    +          <property name="jansi.mode" value="strip" />
    +
    +          <property name="java.runtime.name" value="OpenJDK Runtime Environment" />
    +
    +          <property name="java.vm.version" value="17.0.10+7" />
    +
    +          <property name="sun.boot.library.path" value="/usr/lib/jvm/temurin-17-jdk-amd64/lib" />
    +
    +          <property name="maven.multiModuleProjectDirectory" value="/home/vsts/work/1/s/org.jacoco.build" />
    +
    +          <property name="java.vm.vendor" value="Eclipse Adoptium" />
    +
    +          <property name="jdk.version" value="5" />
    +
    +          <property name="java.vendor.url" value="https://adoptium.net/" />
    +
    +          <property name="path.separator" value=":" />
    +
    +          <property name="guice.disable.misplaced.annotation.check" value="true" />
    +
    +          <property name="java.vm.name" value="OpenJDK 64-Bit Server VM" />
    +
    +          <property name="sun.java.launcher" value="SUN_STANDARD" />
    +
    +          <property name="user.dir" value="/home/vsts/work/1/s" />
    +
    +          <property name="java.vm.compressedOopsMode" value="32-bit" />
    +
    +          <property name="java.vm.specification.name" value="Java Virtual Machine Specification" />
    +
    +          <property name="java.runtime.version" value="17.0.10+7" />
    +
    +          <property name="os.arch" value="amd64" />
    +
    +          <property name="java.io.tmpdir" value="/tmp" />
    +
    +          <property name="line.separator" value="&#xa;" />
    +
    +          <property name="java.vm.specification.vendor" value="Oracle Corporation" />
    +
    +          <property name="os.name" value="Linux" />
    +
    +          <property name="classworlds.conf" value="/home/vsts/work/1/s/.maven/bin/m2.conf" />
    +
    +          <property name="sun.jnu.encoding" value="UTF-8" />
    +
    +          <property name="deployAtEnd" value="true" />
    +
    +          <property name="java.library.path" value="/usr/java/packages/lib:/usr/lib64:/lib64:/lib:/usr/lib" />
    +
    +          <property name="maven.conf" value="/home/vsts/work/1/s/.maven/conf" />
    +
    +          <property name="jdk.debug" value="release" />
    +
    +          <property name="java.class.version" value="61.0" />
    +
    +          <property name="java.specification.name" value="Java Platform API Specification" />
    +
    +          <property name="sun.management.compiler" value="HotSpot 64-Bit Tiered Compilers" />
    +
    +          <property name="os.version" value="5.15.0-1059-azure" />
    +
    +          <property name="library.jansi.path" value="/home/vsts/work/1/s/.maven/lib/jansi-native" />
    +
    +          <property name="user.home" value="/home/vsts" />
    +
    +          <property name="user.timezone" value="Etc/UTC" />
    +
    +          <property name="file.encoding" value="UTF-8" />
    +
    +          <property name="java.specification.version" value="17" />
    +
    +          <property name="java.class.path" value="/home/vsts/work/1/s/.maven/boot/plexus-classworlds-2.6.0.jar" />
    +
    +          <property name="user.name" value="vsts" />
    +
    +          <property name="bytecode.version" value="5" />
    +
    +          <property name="java.vm.specification.version" value="17" />
    +
    +          <property name="sun.arch.data.model" value="64" />
    +
    +          <property name="sun.java.command" value="org.codehaus.plexus.classworlds.launcher.Launcher -V -B -e --no-transfer-progress -f org.jacoco.build verify -Djdk.version=5 -Dbytecode.version=5 deploy:deploy -DdeployAtEnd --toolchains=toolchains.xml --settings=.azure-pipelines/maven-settings.xml" />
    +
    +          <property name="java.home" value="/usr/lib/jvm/temurin-17-jdk-amd64" />
    +
    +          <property name="user.language" value="en" />
    +
    +          <property name="java.specification.vendor" value="Oracle Corporation" />
    +
    +          <property name="java.vm.info" value="mixed mode, sharing" />
    +
    +          <property name="java.version" value="17.0.10" />
    +
    +          <property name="native.encoding" value="UTF-8" />
    +
    +          <property name="securerandom.source" value="file:/dev/./urandom" />
    +
    +          <property name="java.vendor" value="Eclipse Adoptium" />
    +
    +          <property name="maven.home" value="/home/vsts/work/1/s/.maven" />
    +
    +          <property name="file.separator" value="/" />
    +
    +          <property name="java.version.date" value="2024-01-16" />
    +
    +          <property name="java.vendor.url.bug" value="https://github.com/adoptium/adoptium-support/issues" />
    +
    +          <property name="sun.cpu.endian" value="little" />
    +
    +          <property name="sun.io.unicode.encoding" value="UnicodeLittle" />
    +
    +          <property name="sun.font.fontmanager" value="sun.awt.X11FontManager" />
    +
    +          <property name="java.vendor.version" value="Temurin-17.0.10+7" />
    +
    +      </properties>
    +
    +      <testcase classname="org.jacoco.report.html.HTMLFormatterTest" name="testGetFooterText" time="0.015" />
    +
    +      <testcase classname="org.jacoco.report.html.HTMLFormatterTest" name="testSetEncoding" time="0.101" />
    +
    +      <testcase classname="org.jacoco.report.html.HTMLFormatterTest" name="testDefaultEncoding" time="0.028" />
    +
    +      <testcase classname="org.jacoco.report.html.HTMLFormatterTest" name="testStructureWithNestedGroups" time="0.078" />
    +
    +      <testcase classname="org.jacoco.report.html.HTMLFormatterTest" name="testStructureWithGroup" time="0.06" />
    +
    +      <testcase classname="org.jacoco.report.html.HTMLFormatterTest" name="testGetLocale" time="0" />
    +
    +      <testcase classname="org.jacoco.report.html.HTMLFormatterTest" name="testGetLanguageNames" time="0.001" />
    +
    +      <testcase classname="org.jacoco.report.html.HTMLFormatterTest" name="testStructureWithBundleOnly" time="0.023" />
    +
    +  </testsuite>
    +  <testsuite errors="0" failures="0" id="144" name="NormalizedFileNamesTest" package="org.jacoco.report.internal" skipped="0" tests="5" time="0.003" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="https://maven.apache.org/surefire/maven-surefire-plugin/xsd/surefire-test-report.xsd">
    +      <properties>
    +          <property name="jansi.mode" value="strip" />
    +
    +          <property name="java.runtime.name" value="OpenJDK Runtime Environment" />
    +
    +          <property name="java.vm.version" value="17.0.10+7" />
    +
    +          <property name="sun.boot.library.path" value="/usr/lib/jvm/temurin-17-jdk-amd64/lib" />
    +
    +          <property name="maven.multiModuleProjectDirectory" value="/home/vsts/work/1/s/org.jacoco.build" />
    +
    +          <property name="java.vm.vendor" value="Eclipse Adoptium" />
    +
    +          <property name="jdk.version" value="5" />
    +
    +          <property name="java.vendor.url" value="https://adoptium.net/" />
    +
    +          <property name="path.separator" value=":" />
    +
    +          <property name="guice.disable.misplaced.annotation.check" value="true" />
    +
    +          <property name="java.vm.name" value="OpenJDK 64-Bit Server VM" />
    +
    +          <property name="sun.java.launcher" value="SUN_STANDARD" />
    +
    +          <property name="user.dir" value="/home/vsts/work/1/s" />
    +
    +          <property name="java.vm.compressedOopsMode" value="32-bit" />
    +
    +          <property name="java.vm.specification.name" value="Java Virtual Machine Specification" />
    +
    +          <property name="java.runtime.version" value="17.0.10+7" />
    +
    +          <property name="os.arch" value="amd64" />
    +
    +          <property name="java.io.tmpdir" value="/tmp" />
    +
    +          <property name="line.separator" value="&#xa;" />
    +
    +          <property name="java.vm.specification.vendor" value="Oracle Corporation" />
    +
    +          <property name="os.name" value="Linux" />
    +
    +          <property name="classworlds.conf" value="/home/vsts/work/1/s/.maven/bin/m2.conf" />
    +
    +          <property name="sun.jnu.encoding" value="UTF-8" />
    +
    +          <property name="deployAtEnd" value="true" />
    +
    +          <property name="java.library.path" value="/usr/java/packages/lib:/usr/lib64:/lib64:/lib:/usr/lib" />
    +
    +          <property name="maven.conf" value="/home/vsts/work/1/s/.maven/conf" />
    +
    +          <property name="jdk.debug" value="release" />
    +
    +          <property name="java.class.version" value="61.0" />
    +
    +          <property name="java.specification.name" value="Java Platform API Specification" />
    +
    +          <property name="sun.management.compiler" value="HotSpot 64-Bit Tiered Compilers" />
    +
    +          <property name="os.version" value="5.15.0-1059-azure" />
    +
    +          <property name="library.jansi.path" value="/home/vsts/work/1/s/.maven/lib/jansi-native" />
    +
    +          <property name="user.home" value="/home/vsts" />
    +
    +          <property name="user.timezone" value="Etc/UTC" />
    +
    +          <property name="file.encoding" value="UTF-8" />
    +
    +          <property name="java.specification.version" value="17" />
    +
    +          <property name="java.class.path" value="/home/vsts/work/1/s/.maven/boot/plexus-classworlds-2.6.0.jar" />
    +
    +          <property name="user.name" value="vsts" />
    +
    +          <property name="bytecode.version" value="5" />
    +
    +          <property name="java.vm.specification.version" value="17" />
    +
    +          <property name="sun.arch.data.model" value="64" />
    +
    +          <property name="sun.java.command" value="org.codehaus.plexus.classworlds.launcher.Launcher -V -B -e --no-transfer-progress -f org.jacoco.build verify -Djdk.version=5 -Dbytecode.version=5 deploy:deploy -DdeployAtEnd --toolchains=toolchains.xml --settings=.azure-pipelines/maven-settings.xml" />
    +
    +          <property name="java.home" value="/usr/lib/jvm/temurin-17-jdk-amd64" />
    +
    +          <property name="user.language" value="en" />
    +
    +          <property name="java.specification.vendor" value="Oracle Corporation" />
    +
    +          <property name="java.vm.info" value="mixed mode, sharing" />
    +
    +          <property name="java.version" value="17.0.10" />
    +
    +          <property name="native.encoding" value="UTF-8" />
    +
    +          <property name="securerandom.source" value="file:/dev/./urandom" />
    +
    +          <property name="java.vendor" value="Eclipse Adoptium" />
    +
    +          <property name="maven.home" value="/home/vsts/work/1/s/.maven" />
    +
    +          <property name="file.separator" value="/" />
    +
    +          <property name="java.version.date" value="2024-01-16" />
    +
    +          <property name="java.vendor.url.bug" value="https://github.com/adoptium/adoptium-support/issues" />
    +
    +          <property name="sun.cpu.endian" value="little" />
    +
    +          <property name="sun.io.unicode.encoding" value="UnicodeLittle" />
    +
    +          <property name="sun.font.fontmanager" value="sun.awt.X11FontManager" />
    +
    +          <property name="java.vendor.version" value="Temurin-17.0.10+7" />
    +
    +      </properties>
    +
    +      <testcase classname="org.jacoco.report.internal.NormalizedFileNamesTest" name="testSameInstance" time="0" />
    +
    +      <testcase classname="org.jacoco.report.internal.NormalizedFileNamesTest" name="testReplaceIllegalCharactersNonUnique" time="0" />
    +
    +      <testcase classname="org.jacoco.report.internal.NormalizedFileNamesTest" name="testKeepLegalCharacters" time="0.001" />
    +
    +      <testcase classname="org.jacoco.report.internal.NormalizedFileNamesTest" name="testReplaceIllegalCharacters" time="0" />
    +
    +      <testcase classname="org.jacoco.report.internal.NormalizedFileNamesTest" name="testCaseAware" time="0" />
    +
    +  </testsuite>
    +  <testsuite errors="0" failures="0" id="145" name="ReportOutputFolderTest" package="org.jacoco.report.internal" skipped="0" tests="9" time="0.003" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="https://maven.apache.org/surefire/maven-surefire-plugin/xsd/surefire-test-report.xsd">
    +      <properties>
    +          <property name="jansi.mode" value="strip" />
    +
    +          <property name="java.runtime.name" value="OpenJDK Runtime Environment" />
    +
    +          <property name="java.vm.version" value="17.0.10+7" />
    +
    +          <property name="sun.boot.library.path" value="/usr/lib/jvm/temurin-17-jdk-amd64/lib" />
    +
    +          <property name="maven.multiModuleProjectDirectory" value="/home/vsts/work/1/s/org.jacoco.build" />
    +
    +          <property name="java.vm.vendor" value="Eclipse Adoptium" />
    +
    +          <property name="jdk.version" value="5" />
    +
    +          <property name="java.vendor.url" value="https://adoptium.net/" />
    +
    +          <property name="path.separator" value=":" />
    +
    +          <property name="guice.disable.misplaced.annotation.check" value="true" />
    +
    +          <property name="java.vm.name" value="OpenJDK 64-Bit Server VM" />
    +
    +          <property name="sun.java.launcher" value="SUN_STANDARD" />
    +
    +          <property name="user.dir" value="/home/vsts/work/1/s" />
    +
    +          <property name="java.vm.compressedOopsMode" value="32-bit" />
    +
    +          <property name="java.vm.specification.name" value="Java Virtual Machine Specification" />
    +
    +          <property name="java.runtime.version" value="17.0.10+7" />
    +
    +          <property name="os.arch" value="amd64" />
    +
    +          <property name="java.io.tmpdir" value="/tmp" />
    +
    +          <property name="line.separator" value="&#xa;" />
    +
    +          <property name="java.vm.specification.vendor" value="Oracle Corporation" />
    +
    +          <property name="os.name" value="Linux" />
    +
    +          <property name="classworlds.conf" value="/home/vsts/work/1/s/.maven/bin/m2.conf" />
    +
    +          <property name="sun.jnu.encoding" value="UTF-8" />
    +
    +          <property name="deployAtEnd" value="true" />
    +
    +          <property name="java.library.path" value="/usr/java/packages/lib:/usr/lib64:/lib64:/lib:/usr/lib" />
    +
    +          <property name="maven.conf" value="/home/vsts/work/1/s/.maven/conf" />
    +
    +          <property name="jdk.debug" value="release" />
    +
    +          <property name="java.class.version" value="61.0" />
    +
    +          <property name="java.specification.name" value="Java Platform API Specification" />
    +
    +          <property name="sun.management.compiler" value="HotSpot 64-Bit Tiered Compilers" />
    +
    +          <property name="os.version" value="5.15.0-1059-azure" />
    +
    +          <property name="library.jansi.path" value="/home/vsts/work/1/s/.maven/lib/jansi-native" />
    +
    +          <property name="user.home" value="/home/vsts" />
    +
    +          <property name="user.timezone" value="Etc/UTC" />
    +
    +          <property name="file.encoding" value="UTF-8" />
    +
    +          <property name="java.specification.version" value="17" />
    +
    +          <property name="java.class.path" value="/home/vsts/work/1/s/.maven/boot/plexus-classworlds-2.6.0.jar" />
    +
    +          <property name="user.name" value="vsts" />
    +
    +          <property name="bytecode.version" value="5" />
    +
    +          <property name="java.vm.specification.version" value="17" />
    +
    +          <property name="sun.arch.data.model" value="64" />
    +
    +          <property name="sun.java.command" value="org.codehaus.plexus.classworlds.launcher.Launcher -V -B -e --no-transfer-progress -f org.jacoco.build verify -Djdk.version=5 -Dbytecode.version=5 deploy:deploy -DdeployAtEnd --toolchains=toolchains.xml --settings=.azure-pipelines/maven-settings.xml" />
    +
    +          <property name="java.home" value="/usr/lib/jvm/temurin-17-jdk-amd64" />
    +
    +          <property name="user.language" value="en" />
    +
    +          <property name="java.specification.vendor" value="Oracle Corporation" />
    +
    +          <property name="java.vm.info" value="mixed mode, sharing" />
    +
    +          <property name="java.version" value="17.0.10" />
    +
    +          <property name="native.encoding" value="UTF-8" />
    +
    +          <property name="securerandom.source" value="file:/dev/./urandom" />
    +
    +          <property name="java.vendor" value="Eclipse Adoptium" />
    +
    +          <property name="maven.home" value="/home/vsts/work/1/s/.maven" />
    +
    +          <property name="file.separator" value="/" />
    +
    +          <property name="java.version.date" value="2024-01-16" />
    +
    +          <property name="java.vendor.url.bug" value="https://github.com/adoptium/adoptium-support/issues" />
    +
    +          <property name="sun.cpu.endian" value="little" />
    +
    +          <property name="sun.io.unicode.encoding" value="UnicodeLittle" />
    +
    +          <property name="sun.font.fontmanager" value="sun.awt.X11FontManager" />
    +
    +          <property name="java.vendor.version" value="Temurin-17.0.10+7" />
    +
    +      </properties>
    +
    +      <testcase classname="org.jacoco.report.internal.ReportOutputFolderTest" name="testSubfolderInstance" time="0" />
    +
    +      <testcase classname="org.jacoco.report.internal.ReportOutputFolderTest" name="testFileInSubFolder" time="0.001" />
    +
    +      <testcase classname="org.jacoco.report.internal.ReportOutputFolderTest" name="testInvalidRelativeLink" time="0" />
    +
    +      <testcase classname="org.jacoco.report.internal.ReportOutputFolderTest" name="testRelativeLinkInSubFolder" time="0" />
    +
    +      <testcase classname="org.jacoco.report.internal.ReportOutputFolderTest" name="testRelativeLinkInSibling1" time="0" />
    +
    +      <testcase classname="org.jacoco.report.internal.ReportOutputFolderTest" name="testRelativeLinkInSibling2" time="0" />
    +
    +      <testcase classname="org.jacoco.report.internal.ReportOutputFolderTest" name="testRelativeLinkInParentFolder" time="0" />
    +
    +      <testcase classname="org.jacoco.report.internal.ReportOutputFolderTest" name="testFileInRoot" time="0.001" />
    +
    +      <testcase classname="org.jacoco.report.internal.ReportOutputFolderTest" name="testRelativeLinkInSameFolder" time="0" />
    +
    +  </testsuite>
    +  <testsuite errors="0" failures="0" id="146" name="HTMLElementTest" package="org.jacoco.report.internal.html" skipped="0" tests="29" time="0.028" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="https://maven.apache.org/surefire/maven-surefire-plugin/xsd/surefire-test-report.xsd">
    +      <properties>
    +          <property name="jansi.mode" value="strip" />
    +
    +          <property name="java.runtime.name" value="OpenJDK Runtime Environment" />
    +
    +          <property name="java.vm.version" value="17.0.10+7" />
    +
    +          <property name="sun.boot.library.path" value="/usr/lib/jvm/temurin-17-jdk-amd64/lib" />
    +
    +          <property name="maven.multiModuleProjectDirectory" value="/home/vsts/work/1/s/org.jacoco.build" />
    +
    +          <property name="java.vm.vendor" value="Eclipse Adoptium" />
    +
    +          <property name="jdk.version" value="5" />
    +
    +          <property name="java.vendor.url" value="https://adoptium.net/" />
    +
    +          <property name="path.separator" value=":" />
    +
    +          <property name="guice.disable.misplaced.annotation.check" value="true" />
    +
    +          <property name="java.vm.name" value="OpenJDK 64-Bit Server VM" />
    +
    +          <property name="sun.java.launcher" value="SUN_STANDARD" />
    +
    +          <property name="user.dir" value="/home/vsts/work/1/s" />
    +
    +          <property name="java.vm.compressedOopsMode" value="32-bit" />
    +
    +          <property name="java.vm.specification.name" value="Java Virtual Machine Specification" />
    +
    +          <property name="java.runtime.version" value="17.0.10+7" />
    +
    +          <property name="os.arch" value="amd64" />
    +
    +          <property name="java.io.tmpdir" value="/tmp" />
    +
    +          <property name="line.separator" value="&#xa;" />
    +
    +          <property name="java.vm.specification.vendor" value="Oracle Corporation" />
    +
    +          <property name="os.name" value="Linux" />
    +
    +          <property name="classworlds.conf" value="/home/vsts/work/1/s/.maven/bin/m2.conf" />
    +
    +          <property name="sun.jnu.encoding" value="UTF-8" />
    +
    +          <property name="deployAtEnd" value="true" />
    +
    +          <property name="java.library.path" value="/usr/java/packages/lib:/usr/lib64:/lib64:/lib:/usr/lib" />
    +
    +          <property name="maven.conf" value="/home/vsts/work/1/s/.maven/conf" />
    +
    +          <property name="jdk.debug" value="release" />
    +
    +          <property name="java.class.version" value="61.0" />
    +
    +          <property name="java.specification.name" value="Java Platform API Specification" />
    +
    +          <property name="sun.management.compiler" value="HotSpot 64-Bit Tiered Compilers" />
    +
    +          <property name="os.version" value="5.15.0-1059-azure" />
    +
    +          <property name="library.jansi.path" value="/home/vsts/work/1/s/.maven/lib/jansi-native" />
    +
    +          <property name="user.home" value="/home/vsts" />
    +
    +          <property name="user.timezone" value="Etc/UTC" />
    +
    +          <property name="file.encoding" value="UTF-8" />
    +
    +          <property name="java.specification.version" value="17" />
    +
    +          <property name="java.class.path" value="/home/vsts/work/1/s/.maven/boot/plexus-classworlds-2.6.0.jar" />
    +
    +          <property name="user.name" value="vsts" />
    +
    +          <property name="bytecode.version" value="5" />
    +
    +          <property name="java.vm.specification.version" value="17" />
    +
    +          <property name="sun.arch.data.model" value="64" />
    +
    +          <property name="sun.java.command" value="org.codehaus.plexus.classworlds.launcher.Launcher -V -B -e --no-transfer-progress -f org.jacoco.build verify -Djdk.version=5 -Dbytecode.version=5 deploy:deploy -DdeployAtEnd --toolchains=toolchains.xml --settings=.azure-pipelines/maven-settings.xml" />
    +
    +          <property name="java.home" value="/usr/lib/jvm/temurin-17-jdk-amd64" />
    +
    +          <property name="user.language" value="en" />
    +
    +          <property name="java.specification.vendor" value="Oracle Corporation" />
    +
    +          <property name="java.vm.info" value="mixed mode, sharing" />
    +
    +          <property name="java.version" value="17.0.10" />
    +
    +          <property name="native.encoding" value="UTF-8" />
    +
    +          <property name="securerandom.source" value="file:/dev/./urandom" />
    +
    +          <property name="java.vendor" value="Eclipse Adoptium" />
    +
    +          <property name="maven.home" value="/home/vsts/work/1/s/.maven" />
    +
    +          <property name="file.separator" value="/" />
    +
    +          <property name="java.version.date" value="2024-01-16" />
    +
    +          <property name="java.vendor.url.bug" value="https://github.com/adoptium/adoptium-support/issues" />
    +
    +          <property name="sun.cpu.endian" value="little" />
    +
    +          <property name="sun.io.unicode.encoding" value="UnicodeLittle" />
    +
    +          <property name="sun.font.fontmanager" value="sun.awt.X11FontManager" />
    +
    +          <property name="java.vendor.version" value="Temurin-17.0.10+7" />
    +
    +      </properties>
    +
    +      <testcase classname="org.jacoco.report.internal.html.HTMLElementTest" name="tr_should_create_tr_tag" time="0" />
    +
    +      <testcase classname="org.jacoco.report.internal.html.HTMLElementTest" name="a_should_create_a_tag_when_link_is_given" time="0.003" />
    +
    +      <testcase classname="org.jacoco.report.internal.html.HTMLElementTest" name="span_should_create_span_tag_with_class_attribute" time="0" />
    +
    +      <testcase classname="org.jacoco.report.internal.html.HTMLElementTest" name="table_should_create_table_tag_with_attributes" time="0" />
    +
    +      <testcase classname="org.jacoco.report.internal.html.HTMLElementTest" name="div_should_create_div_tag_with_class_attribute" time="0.001" />
    +
    +      <testcase classname="org.jacoco.report.internal.html.HTMLElementTest" name="code_should_create_code_tag" time="0" />
    +
    +      <testcase classname="org.jacoco.report.internal.html.HTMLElementTest" name="a_should_create_span_tag_with_class_attribute_when_no_link_is_given" time="0" />
    +
    +      <testcase classname="org.jacoco.report.internal.html.HTMLElementTest" name="script_should_create_script_tag_with_attributes" time="0" />
    +
    +      <testcase classname="org.jacoco.report.internal.html.HTMLElementTest" name="body_should_create_body_tag" time="0" />
    +
    +      <testcase classname="org.jacoco.report.internal.html.HTMLElementTest" name="img_should_create_img_tag_with_attributes" time="0" />
    +
    +      <testcase classname="org.jacoco.report.internal.html.HTMLElementTest" name="h1_should_create_h1_tag" time="0" />
    +
    +      <testcase classname="org.jacoco.report.internal.html.HTMLElementTest" name="title_should_create_title_tag" time="0" />
    +
    +      <testcase classname="org.jacoco.report.internal.html.HTMLElementTest" name="td_should_create_td_tag_with_class_attribute" time="0.001" />
    +
    +      <testcase classname="org.jacoco.report.internal.html.HTMLElementTest" name="p_should_create_p_tag" time="0" />
    +
    +      <testcase classname="org.jacoco.report.internal.html.HTMLElementTest" name="a_should_create_a_tag_with_href_and_class_attribute" time="0" />
    +
    +      <testcase classname="org.jacoco.report.internal.html.HTMLElementTest" name="pre_should_create_pre_tag_with_class_attribute" time="0.005" />
    +
    +      <testcase classname="org.jacoco.report.internal.html.HTMLElementTest" name="span_should_create_span_tag_with_class_and_id_attribute" time="0.001" />
    +
    +      <testcase classname="org.jacoco.report.internal.html.HTMLElementTest" name="link_should_create_link_tag_with_attributes" time="0" />
    +
    +      <testcase classname="org.jacoco.report.internal.html.HTMLElementTest" name="a_should_create_span_tag_when_no_link_is_given" time="0" />
    +
    +      <testcase classname="org.jacoco.report.internal.html.HTMLElementTest" name="head_should_create_head_tag" time="0" />
    +
    +      <testcase classname="org.jacoco.report.internal.html.HTMLElementTest" name="td_should_create_td_tag" time="0" />
    +
    +      <testcase classname="org.jacoco.report.internal.html.HTMLElementTest" name="meta_should_create_meta_tag_with_attributes" time="0" />
    +
    +      <testcase classname="org.jacoco.report.internal.html.HTMLElementTest" name="span_should_create_span_tag" time="0" />
    +
    +      <testcase classname="org.jacoco.report.internal.html.HTMLElementTest" name="should_create_minimal_valid_html_document" time="0.009" />
    +
    +      <testcase classname="org.jacoco.report.internal.html.HTMLElementTest" name="a_should_create_a_tag_with_href_attribute" time="0" />
    +
    +      <testcase classname="org.jacoco.report.internal.html.HTMLElementTest" name="thead_should_create_thead_tag" time="0" />
    +
    +      <testcase classname="org.jacoco.report.internal.html.HTMLElementTest" name="tfoot_should_create_tfoot_tag" time="0" />
    +
    +      <testcase classname="org.jacoco.report.internal.html.HTMLElementTest" name="a_should_create_a_tag_with_class_attribute_when_link_is_given" time="0.001" />
    +
    +      <testcase classname="org.jacoco.report.internal.html.HTMLElementTest" name="tbody_should_create_tbody_tag" time="0" />
    +
    +  </testsuite>
    +  <testsuite errors="0" failures="0" id="147" name="BundlePageTest" package="org.jacoco.report.internal.html.page" skipped="0" tests="3" time="0.043" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="https://maven.apache.org/surefire/maven-surefire-plugin/xsd/surefire-test-report.xsd">
    +      <properties>
    +          <property name="jansi.mode" value="strip" />
    +
    +          <property name="java.runtime.name" value="OpenJDK Runtime Environment" />
    +
    +          <property name="java.vm.version" value="17.0.10+7" />
    +
    +          <property name="sun.boot.library.path" value="/usr/lib/jvm/temurin-17-jdk-amd64/lib" />
    +
    +          <property name="maven.multiModuleProjectDirectory" value="/home/vsts/work/1/s/org.jacoco.build" />
    +
    +          <property name="java.vm.vendor" value="Eclipse Adoptium" />
    +
    +          <property name="jdk.version" value="5" />
    +
    +          <property name="java.vendor.url" value="https://adoptium.net/" />
    +
    +          <property name="path.separator" value=":" />
    +
    +          <property name="guice.disable.misplaced.annotation.check" value="true" />
    +
    +          <property name="java.vm.name" value="OpenJDK 64-Bit Server VM" />
    +
    +          <property name="sun.java.launcher" value="SUN_STANDARD" />
    +
    +          <property name="user.dir" value="/home/vsts/work/1/s" />
    +
    +          <property name="java.vm.compressedOopsMode" value="32-bit" />
    +
    +          <property name="java.vm.specification.name" value="Java Virtual Machine Specification" />
    +
    +          <property name="java.runtime.version" value="17.0.10+7" />
    +
    +          <property name="os.arch" value="amd64" />
    +
    +          <property name="java.io.tmpdir" value="/tmp" />
    +
    +          <property name="line.separator" value="&#xa;" />
    +
    +          <property name="java.vm.specification.vendor" value="Oracle Corporation" />
    +
    +          <property name="os.name" value="Linux" />
    +
    +          <property name="classworlds.conf" value="/home/vsts/work/1/s/.maven/bin/m2.conf" />
    +
    +          <property name="sun.jnu.encoding" value="UTF-8" />
    +
    +          <property name="deployAtEnd" value="true" />
    +
    +          <property name="java.library.path" value="/usr/java/packages/lib:/usr/lib64:/lib64:/lib:/usr/lib" />
    +
    +          <property name="maven.conf" value="/home/vsts/work/1/s/.maven/conf" />
    +
    +          <property name="jdk.debug" value="release" />
    +
    +          <property name="java.class.version" value="61.0" />
    +
    +          <property name="java.specification.name" value="Java Platform API Specification" />
    +
    +          <property name="sun.management.compiler" value="HotSpot 64-Bit Tiered Compilers" />
    +
    +          <property name="os.version" value="5.15.0-1059-azure" />
    +
    +          <property name="library.jansi.path" value="/home/vsts/work/1/s/.maven/lib/jansi-native" />
    +
    +          <property name="user.home" value="/home/vsts" />
    +
    +          <property name="user.timezone" value="Etc/UTC" />
    +
    +          <property name="file.encoding" value="UTF-8" />
    +
    +          <property name="java.specification.version" value="17" />
    +
    +          <property name="java.class.path" value="/home/vsts/work/1/s/.maven/boot/plexus-classworlds-2.6.0.jar" />
    +
    +          <property name="user.name" value="vsts" />
    +
    +          <property name="bytecode.version" value="5" />
    +
    +          <property name="java.vm.specification.version" value="17" />
    +
    +          <property name="sun.arch.data.model" value="64" />
    +
    +          <property name="sun.java.command" value="org.codehaus.plexus.classworlds.launcher.Launcher -V -B -e --no-transfer-progress -f org.jacoco.build verify -Djdk.version=5 -Dbytecode.version=5 deploy:deploy -DdeployAtEnd --toolchains=toolchains.xml --settings=.azure-pipelines/maven-settings.xml" />
    +
    +          <property name="java.home" value="/usr/lib/jvm/temurin-17-jdk-amd64" />
    +
    +          <property name="user.language" value="en" />
    +
    +          <property name="java.specification.vendor" value="Oracle Corporation" />
    +
    +          <property name="java.vm.info" value="mixed mode, sharing" />
    +
    +          <property name="java.version" value="17.0.10" />
    +
    +          <property name="native.encoding" value="UTF-8" />
    +
    +          <property name="securerandom.source" value="file:/dev/./urandom" />
    +
    +          <property name="java.vendor" value="Eclipse Adoptium" />
    +
    +          <property name="maven.home" value="/home/vsts/work/1/s/.maven" />
    +
    +          <property name="file.separator" value="/" />
    +
    +          <property name="java.version.date" value="2024-01-16" />
    +
    +          <property name="java.vendor.url.bug" value="https://github.com/adoptium/adoptium-support/issues" />
    +
    +          <property name="sun.cpu.endian" value="little" />
    +
    +          <property name="sun.io.unicode.encoding" value="UnicodeLittle" />
    +
    +          <property name="sun.font.fontmanager" value="sun.awt.X11FontManager" />
    +
    +          <property name="java.vendor.version" value="Temurin-17.0.10+7" />
    +
    +      </properties>
    +
    +      <testcase classname="org.jacoco.report.internal.html.page.BundlePageTest" name="should_render_non_empty_packages" time="0.012" />
    +
    +      <testcase classname="org.jacoco.report.internal.html.page.BundlePageTest" name="should_render_message_when_all_classes_empty" time="0.012" />
    +
    +      <testcase classname="org.jacoco.report.internal.html.page.BundlePageTest" name="should_render_message_when_no_class_files_specified" time="0.01" />
    +
    +  </testsuite>
    +  <testsuite errors="0" failures="0" id="148" name="ClassPageTest" package="org.jacoco.report.internal.html.page" skipped="0" tests="10" time="0.165" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="https://maven.apache.org/surefire/maven-surefire-plugin/xsd/surefire-test-report.xsd">
    +      <properties>
    +          <property name="jansi.mode" value="strip" />
    +
    +          <property name="java.runtime.name" value="OpenJDK Runtime Environment" />
    +
    +          <property name="java.vm.version" value="17.0.10+7" />
    +
    +          <property name="sun.boot.library.path" value="/usr/lib/jvm/temurin-17-jdk-amd64/lib" />
    +
    +          <property name="maven.multiModuleProjectDirectory" value="/home/vsts/work/1/s/org.jacoco.build" />
    +
    +          <property name="java.vm.vendor" value="Eclipse Adoptium" />
    +
    +          <property name="jdk.version" value="5" />
    +
    +          <property name="java.vendor.url" value="https://adoptium.net/" />
    +
    +          <property name="path.separator" value=":" />
    +
    +          <property name="guice.disable.misplaced.annotation.check" value="true" />
    +
    +          <property name="java.vm.name" value="OpenJDK 64-Bit Server VM" />
    +
    +          <property name="sun.java.launcher" value="SUN_STANDARD" />
    +
    +          <property name="user.dir" value="/home/vsts/work/1/s" />
    +
    +          <property name="java.vm.compressedOopsMode" value="32-bit" />
    +
    +          <property name="java.vm.specification.name" value="Java Virtual Machine Specification" />
    +
    +          <property name="java.runtime.version" value="17.0.10+7" />
    +
    +          <property name="os.arch" value="amd64" />
    +
    +          <property name="java.io.tmpdir" value="/tmp" />
    +
    +          <property name="line.separator" value="&#xa;" />
    +
    +          <property name="java.vm.specification.vendor" value="Oracle Corporation" />
    +
    +          <property name="os.name" value="Linux" />
    +
    +          <property name="classworlds.conf" value="/home/vsts/work/1/s/.maven/bin/m2.conf" />
    +
    +          <property name="sun.jnu.encoding" value="UTF-8" />
    +
    +          <property name="deployAtEnd" value="true" />
    +
    +          <property name="java.library.path" value="/usr/java/packages/lib:/usr/lib64:/lib64:/lib:/usr/lib" />
    +
    +          <property name="maven.conf" value="/home/vsts/work/1/s/.maven/conf" />
    +
    +          <property name="jdk.debug" value="release" />
    +
    +          <property name="java.class.version" value="61.0" />
    +
    +          <property name="java.specification.name" value="Java Platform API Specification" />
    +
    +          <property name="sun.management.compiler" value="HotSpot 64-Bit Tiered Compilers" />
    +
    +          <property name="os.version" value="5.15.0-1059-azure" />
    +
    +          <property name="library.jansi.path" value="/home/vsts/work/1/s/.maven/lib/jansi-native" />
    +
    +          <property name="user.home" value="/home/vsts" />
    +
    +          <property name="user.timezone" value="Etc/UTC" />
    +
    +          <property name="file.encoding" value="UTF-8" />
    +
    +          <property name="java.specification.version" value="17" />
    +
    +          <property name="java.class.path" value="/home/vsts/work/1/s/.maven/boot/plexus-classworlds-2.6.0.jar" />
    +
    +          <property name="user.name" value="vsts" />
    +
    +          <property name="bytecode.version" value="5" />
    +
    +          <property name="java.vm.specification.version" value="17" />
    +
    +          <property name="sun.arch.data.model" value="64" />
    +
    +          <property name="sun.java.command" value="org.codehaus.plexus.classworlds.launcher.Launcher -V -B -e --no-transfer-progress -f org.jacoco.build verify -Djdk.version=5 -Dbytecode.version=5 deploy:deploy -DdeployAtEnd --toolchains=toolchains.xml --settings=.azure-pipelines/maven-settings.xml" />
    +
    +          <property name="java.home" value="/usr/lib/jvm/temurin-17-jdk-amd64" />
    +
    +          <property name="user.language" value="en" />
    +
    +          <property name="java.specification.vendor" value="Oracle Corporation" />
    +
    +          <property name="java.vm.info" value="mixed mode, sharing" />
    +
    +          <property name="java.version" value="17.0.10" />
    +
    +          <property name="native.encoding" value="UTF-8" />
    +
    +          <property name="securerandom.source" value="file:/dev/./urandom" />
    +
    +          <property name="java.vendor" value="Eclipse Adoptium" />
    +
    +          <property name="maven.home" value="/home/vsts/work/1/s/.maven" />
    +
    +          <property name="file.separator" value="/" />
    +
    +          <property name="java.version.date" value="2024-01-16" />
    +
    +          <property name="java.vendor.url.bug" value="https://github.com/adoptium/adoptium-support/issues" />
    +
    +          <property name="sun.cpu.endian" value="little" />
    +
    +          <property name="sun.io.unicode.encoding" value="UnicodeLittle" />
    +
    +          <property name="sun.font.fontmanager" value="sun.awt.X11FontManager" />
    +
    +          <property name="java.vendor.version" value="Temurin-17.0.10+7" />
    +
    +      </properties>
    +
    +      <testcase classname="org.jacoco.report.internal.html.page.ClassPageTest" name="should_generate_message_when_no_lines" time="0.027" />
    +
    +      <testcase classname="org.jacoco.report.internal.html.page.ClassPageTest" name="should_generate_message_when_class_id_mismatch" time="0.024" />
    +
    +      <testcase classname="org.jacoco.report.internal.html.page.ClassPageTest" name="should_not_generate_message_when_SourceFileName_and_SourceFilePage_present" time="0.021" />
    +
    +      <testcase classname="org.jacoco.report.internal.html.page.ClassPageTest" name="testGetLinkLabel" time="0" />
    +
    +      <testcase classname="org.jacoco.report.internal.html.page.ClassPageTest" name="testContents" time="0.024" />
    +
    +      <testcase classname="org.jacoco.report.internal.html.page.ClassPageTest" name="should_generate_message_when_SourceFileName_not_present" time="0.012" />
    +
    +      <testcase classname="org.jacoco.report.internal.html.page.ClassPageTest" name="testGetFileName" time="0" />
    +
    +      <testcase classname="org.jacoco.report.internal.html.page.ClassPageTest" name="should_generate_message_with_default_package_when_SourceFileName_present_but_no_SourceFilePage" time="0.01" />
    +
    +      <testcase classname="org.jacoco.report.internal.html.page.ClassPageTest" name="testGetFileNameDefault" time="0" />
    +
    +      <testcase classname="org.jacoco.report.internal.html.page.ClassPageTest" name="should_generate_message_when_SourceFileName_present_but_no_SourceFilePage" time="0.011" />
    +
    +  </testsuite>
    +  <testsuite errors="0" failures="0" id="149" name="MethodItemTest" package="org.jacoco.report.internal.html.page" skipped="0" tests="6" time="0.009" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="https://maven.apache.org/surefire/maven-surefire-plugin/xsd/surefire-test-report.xsd">
    +      <properties>
    +          <property name="jansi.mode" value="strip" />
    +
    +          <property name="java.runtime.name" value="OpenJDK Runtime Environment" />
    +
    +          <property name="java.vm.version" value="17.0.10+7" />
    +
    +          <property name="sun.boot.library.path" value="/usr/lib/jvm/temurin-17-jdk-amd64/lib" />
    +
    +          <property name="maven.multiModuleProjectDirectory" value="/home/vsts/work/1/s/org.jacoco.build" />
    +
    +          <property name="java.vm.vendor" value="Eclipse Adoptium" />
    +
    +          <property name="jdk.version" value="5" />
    +
    +          <property name="java.vendor.url" value="https://adoptium.net/" />
    +
    +          <property name="path.separator" value=":" />
    +
    +          <property name="guice.disable.misplaced.annotation.check" value="true" />
    +
    +          <property name="java.vm.name" value="OpenJDK 64-Bit Server VM" />
    +
    +          <property name="sun.java.launcher" value="SUN_STANDARD" />
    +
    +          <property name="user.dir" value="/home/vsts/work/1/s" />
    +
    +          <property name="java.vm.compressedOopsMode" value="32-bit" />
    +
    +          <property name="java.vm.specification.name" value="Java Virtual Machine Specification" />
    +
    +          <property name="java.runtime.version" value="17.0.10+7" />
    +
    +          <property name="os.arch" value="amd64" />
    +
    +          <property name="java.io.tmpdir" value="/tmp" />
    +
    +          <property name="line.separator" value="&#xa;" />
    +
    +          <property name="java.vm.specification.vendor" value="Oracle Corporation" />
    +
    +          <property name="os.name" value="Linux" />
    +
    +          <property name="classworlds.conf" value="/home/vsts/work/1/s/.maven/bin/m2.conf" />
    +
    +          <property name="sun.jnu.encoding" value="UTF-8" />
    +
    +          <property name="deployAtEnd" value="true" />
    +
    +          <property name="java.library.path" value="/usr/java/packages/lib:/usr/lib64:/lib64:/lib:/usr/lib" />
    +
    +          <property name="maven.conf" value="/home/vsts/work/1/s/.maven/conf" />
    +
    +          <property name="jdk.debug" value="release" />
    +
    +          <property name="java.class.version" value="61.0" />
    +
    +          <property name="java.specification.name" value="Java Platform API Specification" />
    +
    +          <property name="sun.management.compiler" value="HotSpot 64-Bit Tiered Compilers" />
    +
    +          <property name="os.version" value="5.15.0-1059-azure" />
    +
    +          <property name="library.jansi.path" value="/home/vsts/work/1/s/.maven/lib/jansi-native" />
    +
    +          <property name="user.home" value="/home/vsts" />
    +
    +          <property name="user.timezone" value="Etc/UTC" />
    +
    +          <property name="file.encoding" value="UTF-8" />
    +
    +          <property name="java.specification.version" value="17" />
    +
    +          <property name="java.class.path" value="/home/vsts/work/1/s/.maven/boot/plexus-classworlds-2.6.0.jar" />
    +
    +          <property name="user.name" value="vsts" />
    +
    +          <property name="bytecode.version" value="5" />
    +
    +          <property name="java.vm.specification.version" value="17" />
    +
    +          <property name="sun.arch.data.model" value="64" />
    +
    +          <property name="sun.java.command" value="org.codehaus.plexus.classworlds.launcher.Launcher -V -B -e --no-transfer-progress -f org.jacoco.build verify -Djdk.version=5 -Dbytecode.version=5 deploy:deploy -DdeployAtEnd --toolchains=toolchains.xml --settings=.azure-pipelines/maven-settings.xml" />
    +
    +          <property name="java.home" value="/usr/lib/jvm/temurin-17-jdk-amd64" />
    +
    +          <property name="user.language" value="en" />
    +
    +          <property name="java.specification.vendor" value="Oracle Corporation" />
    +
    +          <property name="java.vm.info" value="mixed mode, sharing" />
    +
    +          <property name="java.version" value="17.0.10" />
    +
    +          <property name="native.encoding" value="UTF-8" />
    +
    +          <property name="securerandom.source" value="file:/dev/./urandom" />
    +
    +          <property name="java.vendor" value="Eclipse Adoptium" />
    +
    +          <property name="maven.home" value="/home/vsts/work/1/s/.maven" />
    +
    +          <property name="file.separator" value="/" />
    +
    +          <property name="java.version.date" value="2024-01-16" />
    +
    +          <property name="java.vendor.url.bug" value="https://github.com/adoptium/adoptium-support/issues" />
    +
    +          <property name="sun.cpu.endian" value="little" />
    +
    +          <property name="sun.io.unicode.encoding" value="UnicodeLittle" />
    +
    +          <property name="sun.font.fontmanager" value="sun.awt.X11FontManager" />
    +
    +          <property name="java.vendor.version" value="Temurin-17.0.10+7" />
    +
    +      </properties>
    +
    +      <testcase classname="org.jacoco.report.internal.html.page.MethodItemTest" name="testGetLinkNone" time="0" />
    +
    +      <testcase classname="org.jacoco.report.internal.html.page.MethodItemTest" name="testGetLinkLabel" time="0" />
    +
    +      <testcase classname="org.jacoco.report.internal.html.page.MethodItemTest" name="testGetLinkStyle" time="0.005" />
    +
    +      <testcase classname="org.jacoco.report.internal.html.page.MethodItemTest" name="testGetLink" time="0.001" />
    +
    +      <testcase classname="org.jacoco.report.internal.html.page.MethodItemTest" name="testGetNode" time="0" />
    +
    +      <testcase classname="org.jacoco.report.internal.html.page.MethodItemTest" name="testGetLinkWithLine" time="0" />
    +
    +  </testsuite>
    +  <testsuite errors="0" failures="0" id="150" name="NodePageTest" package="org.jacoco.report.internal.html.page" skipped="0" tests="4" time="0.014" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="https://maven.apache.org/surefire/maven-surefire-plugin/xsd/surefire-test-report.xsd">
    +      <properties>
    +          <property name="jansi.mode" value="strip" />
    +
    +          <property name="java.runtime.name" value="OpenJDK Runtime Environment" />
    +
    +          <property name="java.vm.version" value="17.0.10+7" />
    +
    +          <property name="sun.boot.library.path" value="/usr/lib/jvm/temurin-17-jdk-amd64/lib" />
    +
    +          <property name="maven.multiModuleProjectDirectory" value="/home/vsts/work/1/s/org.jacoco.build" />
    +
    +          <property name="java.vm.vendor" value="Eclipse Adoptium" />
    +
    +          <property name="jdk.version" value="5" />
    +
    +          <property name="java.vendor.url" value="https://adoptium.net/" />
    +
    +          <property name="path.separator" value=":" />
    +
    +          <property name="guice.disable.misplaced.annotation.check" value="true" />
    +
    +          <property name="java.vm.name" value="OpenJDK 64-Bit Server VM" />
    +
    +          <property name="sun.java.launcher" value="SUN_STANDARD" />
    +
    +          <property name="user.dir" value="/home/vsts/work/1/s" />
    +
    +          <property name="java.vm.compressedOopsMode" value="32-bit" />
    +
    +          <property name="java.vm.specification.name" value="Java Virtual Machine Specification" />
    +
    +          <property name="java.runtime.version" value="17.0.10+7" />
    +
    +          <property name="os.arch" value="amd64" />
    +
    +          <property name="java.io.tmpdir" value="/tmp" />
    +
    +          <property name="line.separator" value="&#xa;" />
    +
    +          <property name="java.vm.specification.vendor" value="Oracle Corporation" />
    +
    +          <property name="os.name" value="Linux" />
    +
    +          <property name="classworlds.conf" value="/home/vsts/work/1/s/.maven/bin/m2.conf" />
    +
    +          <property name="sun.jnu.encoding" value="UTF-8" />
    +
    +          <property name="deployAtEnd" value="true" />
    +
    +          <property name="java.library.path" value="/usr/java/packages/lib:/usr/lib64:/lib64:/lib:/usr/lib" />
    +
    +          <property name="maven.conf" value="/home/vsts/work/1/s/.maven/conf" />
    +
    +          <property name="jdk.debug" value="release" />
    +
    +          <property name="java.class.version" value="61.0" />
    +
    +          <property name="java.specification.name" value="Java Platform API Specification" />
    +
    +          <property name="sun.management.compiler" value="HotSpot 64-Bit Tiered Compilers" />
    +
    +          <property name="os.version" value="5.15.0-1059-azure" />
    +
    +          <property name="library.jansi.path" value="/home/vsts/work/1/s/.maven/lib/jansi-native" />
    +
    +          <property name="user.home" value="/home/vsts" />
    +
    +          <property name="user.timezone" value="Etc/UTC" />
    +
    +          <property name="file.encoding" value="UTF-8" />
    +
    +          <property name="java.specification.version" value="17" />
    +
    +          <property name="java.class.path" value="/home/vsts/work/1/s/.maven/boot/plexus-classworlds-2.6.0.jar" />
    +
    +          <property name="user.name" value="vsts" />
    +
    +          <property name="bytecode.version" value="5" />
    +
    +          <property name="java.vm.specification.version" value="17" />
    +
    +          <property name="sun.arch.data.model" value="64" />
    +
    +          <property name="sun.java.command" value="org.codehaus.plexus.classworlds.launcher.Launcher -V -B -e --no-transfer-progress -f org.jacoco.build verify -Djdk.version=5 -Dbytecode.version=5 deploy:deploy -DdeployAtEnd --toolchains=toolchains.xml --settings=.azure-pipelines/maven-settings.xml" />
    +
    +          <property name="java.home" value="/usr/lib/jvm/temurin-17-jdk-amd64" />
    +
    +          <property name="user.language" value="en" />
    +
    +          <property name="java.specification.vendor" value="Oracle Corporation" />
    +
    +          <property name="java.vm.info" value="mixed mode, sharing" />
    +
    +          <property name="java.version" value="17.0.10" />
    +
    +          <property name="native.encoding" value="UTF-8" />
    +
    +          <property name="securerandom.source" value="file:/dev/./urandom" />
    +
    +          <property name="java.vendor" value="Eclipse Adoptium" />
    +
    +          <property name="maven.home" value="/home/vsts/work/1/s/.maven" />
    +
    +          <property name="file.separator" value="/" />
    +
    +          <property name="java.version.date" value="2024-01-16" />
    +
    +          <property name="java.vendor.url.bug" value="https://github.com/adoptium/adoptium-support/issues" />
    +
    +          <property name="sun.cpu.endian" value="little" />
    +
    +          <property name="sun.io.unicode.encoding" value="UnicodeLittle" />
    +
    +          <property name="sun.font.fontmanager" value="sun.awt.X11FontManager" />
    +
    +          <property name="java.vendor.version" value="Temurin-17.0.10+7" />
    +
    +      </properties>
    +
    +      <testcase classname="org.jacoco.report.internal.html.page.NodePageTest" name="testGetLinkStyle1" time="0.01" />
    +
    +      <testcase classname="org.jacoco.report.internal.html.page.NodePageTest" name="testGetLinkStyle2" time="0.001" />
    +
    +      <testcase classname="org.jacoco.report.internal.html.page.NodePageTest" name="testGetLinkLabel" time="0" />
    +
    +      <testcase classname="org.jacoco.report.internal.html.page.NodePageTest" name="testGetNode" time="0.003" />
    +
    +  </testsuite>
    +  <testsuite errors="0" failures="0" id="151" name="PackagePageTest" package="org.jacoco.report.internal.html.page" skipped="0" tests="3" time="0.071" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="https://maven.apache.org/surefire/maven-surefire-plugin/xsd/surefire-test-report.xsd">
    +      <properties>
    +          <property name="jansi.mode" value="strip" />
    +
    +          <property name="java.runtime.name" value="OpenJDK Runtime Environment" />
    +
    +          <property name="java.vm.version" value="17.0.10+7" />
    +
    +          <property name="sun.boot.library.path" value="/usr/lib/jvm/temurin-17-jdk-amd64/lib" />
    +
    +          <property name="maven.multiModuleProjectDirectory" value="/home/vsts/work/1/s/org.jacoco.build" />
    +
    +          <property name="java.vm.vendor" value="Eclipse Adoptium" />
    +
    +          <property name="jdk.version" value="5" />
    +
    +          <property name="java.vendor.url" value="https://adoptium.net/" />
    +
    +          <property name="path.separator" value=":" />
    +
    +          <property name="guice.disable.misplaced.annotation.check" value="true" />
    +
    +          <property name="java.vm.name" value="OpenJDK 64-Bit Server VM" />
    +
    +          <property name="sun.java.launcher" value="SUN_STANDARD" />
    +
    +          <property name="user.dir" value="/home/vsts/work/1/s" />
    +
    +          <property name="java.vm.compressedOopsMode" value="32-bit" />
    +
    +          <property name="java.vm.specification.name" value="Java Virtual Machine Specification" />
    +
    +          <property name="java.runtime.version" value="17.0.10+7" />
    +
    +          <property name="os.arch" value="amd64" />
    +
    +          <property name="java.io.tmpdir" value="/tmp" />
    +
    +          <property name="line.separator" value="&#xa;" />
    +
    +          <property name="java.vm.specification.vendor" value="Oracle Corporation" />
    +
    +          <property name="os.name" value="Linux" />
    +
    +          <property name="classworlds.conf" value="/home/vsts/work/1/s/.maven/bin/m2.conf" />
    +
    +          <property name="sun.jnu.encoding" value="UTF-8" />
    +
    +          <property name="deployAtEnd" value="true" />
    +
    +          <property name="java.library.path" value="/usr/java/packages/lib:/usr/lib64:/lib64:/lib:/usr/lib" />
    +
    +          <property name="maven.conf" value="/home/vsts/work/1/s/.maven/conf" />
    +
    +          <property name="jdk.debug" value="release" />
    +
    +          <property name="java.class.version" value="61.0" />
    +
    +          <property name="java.specification.name" value="Java Platform API Specification" />
    +
    +          <property name="sun.management.compiler" value="HotSpot 64-Bit Tiered Compilers" />
    +
    +          <property name="os.version" value="5.15.0-1059-azure" />
    +
    +          <property name="library.jansi.path" value="/home/vsts/work/1/s/.maven/lib/jansi-native" />
    +
    +          <property name="user.home" value="/home/vsts" />
    +
    +          <property name="user.timezone" value="Etc/UTC" />
    +
    +          <property name="file.encoding" value="UTF-8" />
    +
    +          <property name="java.specification.version" value="17" />
    +
    +          <property name="java.class.path" value="/home/vsts/work/1/s/.maven/boot/plexus-classworlds-2.6.0.jar" />
    +
    +          <property name="user.name" value="vsts" />
    +
    +          <property name="bytecode.version" value="5" />
    +
    +          <property name="java.vm.specification.version" value="17" />
    +
    +          <property name="sun.arch.data.model" value="64" />
    +
    +          <property name="sun.java.command" value="org.codehaus.plexus.classworlds.launcher.Launcher -V -B -e --no-transfer-progress -f org.jacoco.build verify -Djdk.version=5 -Dbytecode.version=5 deploy:deploy -DdeployAtEnd --toolchains=toolchains.xml --settings=.azure-pipelines/maven-settings.xml" />
    +
    +          <property name="java.home" value="/usr/lib/jvm/temurin-17-jdk-amd64" />
    +
    +          <property name="user.language" value="en" />
    +
    +          <property name="java.specification.vendor" value="Oracle Corporation" />
    +
    +          <property name="java.vm.info" value="mixed mode, sharing" />
    +
    +          <property name="java.version" value="17.0.10" />
    +
    +          <property name="native.encoding" value="UTF-8" />
    +
    +          <property name="securerandom.source" value="file:/dev/./urandom" />
    +
    +          <property name="java.vendor" value="Eclipse Adoptium" />
    +
    +          <property name="maven.home" value="/home/vsts/work/1/s/.maven" />
    +
    +          <property name="file.separator" value="/" />
    +
    +          <property name="java.version.date" value="2024-01-16" />
    +
    +          <property name="java.vendor.url.bug" value="https://github.com/adoptium/adoptium-support/issues" />
    +
    +          <property name="sun.cpu.endian" value="little" />
    +
    +          <property name="sun.io.unicode.encoding" value="UnicodeLittle" />
    +
    +          <property name="sun.font.fontmanager" value="sun.awt.X11FontManager" />
    +
    +          <property name="java.vendor.version" value="Temurin-17.0.10+7" />
    +
    +      </properties>
    +
    +      <testcase classname="org.jacoco.report.internal.html.page.PackagePageTest" name="testContentsNoSource" time="0.019" />
    +
    +      <testcase classname="org.jacoco.report.internal.html.page.PackagePageTest" name="should_render_non_empty_classes" time="0.019" />
    +
    +      <testcase classname="org.jacoco.report.internal.html.page.PackagePageTest" name="testContentsWithSource" time="0.024" />
    +
    +  </testsuite>
    +  <testsuite errors="0" failures="0" id="152" name="PackageSourcePageTest" package="org.jacoco.report.internal.html.page" skipped="0" tests="3" time="0.028" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="https://maven.apache.org/surefire/maven-surefire-plugin/xsd/surefire-test-report.xsd">
    +      <properties>
    +          <property name="jansi.mode" value="strip" />
    +
    +          <property name="java.runtime.name" value="OpenJDK Runtime Environment" />
    +
    +          <property name="java.vm.version" value="17.0.10+7" />
    +
    +          <property name="sun.boot.library.path" value="/usr/lib/jvm/temurin-17-jdk-amd64/lib" />
    +
    +          <property name="maven.multiModuleProjectDirectory" value="/home/vsts/work/1/s/org.jacoco.build" />
    +
    +          <property name="java.vm.vendor" value="Eclipse Adoptium" />
    +
    +          <property name="jdk.version" value="5" />
    +
    +          <property name="java.vendor.url" value="https://adoptium.net/" />
    +
    +          <property name="path.separator" value=":" />
    +
    +          <property name="guice.disable.misplaced.annotation.check" value="true" />
    +
    +          <property name="java.vm.name" value="OpenJDK 64-Bit Server VM" />
    +
    +          <property name="sun.java.launcher" value="SUN_STANDARD" />
    +
    +          <property name="user.dir" value="/home/vsts/work/1/s" />
    +
    +          <property name="java.vm.compressedOopsMode" value="32-bit" />
    +
    +          <property name="java.vm.specification.name" value="Java Virtual Machine Specification" />
    +
    +          <property name="java.runtime.version" value="17.0.10+7" />
    +
    +          <property name="os.arch" value="amd64" />
    +
    +          <property name="java.io.tmpdir" value="/tmp" />
    +
    +          <property name="line.separator" value="&#xa;" />
    +
    +          <property name="java.vm.specification.vendor" value="Oracle Corporation" />
    +
    +          <property name="os.name" value="Linux" />
    +
    +          <property name="classworlds.conf" value="/home/vsts/work/1/s/.maven/bin/m2.conf" />
    +
    +          <property name="sun.jnu.encoding" value="UTF-8" />
    +
    +          <property name="deployAtEnd" value="true" />
    +
    +          <property name="java.library.path" value="/usr/java/packages/lib:/usr/lib64:/lib64:/lib:/usr/lib" />
    +
    +          <property name="maven.conf" value="/home/vsts/work/1/s/.maven/conf" />
    +
    +          <property name="jdk.debug" value="release" />
    +
    +          <property name="java.class.version" value="61.0" />
    +
    +          <property name="java.specification.name" value="Java Platform API Specification" />
    +
    +          <property name="sun.management.compiler" value="HotSpot 64-Bit Tiered Compilers" />
    +
    +          <property name="os.version" value="5.15.0-1059-azure" />
    +
    +          <property name="library.jansi.path" value="/home/vsts/work/1/s/.maven/lib/jansi-native" />
    +
    +          <property name="user.home" value="/home/vsts" />
    +
    +          <property name="user.timezone" value="Etc/UTC" />
    +
    +          <property name="file.encoding" value="UTF-8" />
    +
    +          <property name="java.specification.version" value="17" />
    +
    +          <property name="java.class.path" value="/home/vsts/work/1/s/.maven/boot/plexus-classworlds-2.6.0.jar" />
    +
    +          <property name="user.name" value="vsts" />
    +
    +          <property name="bytecode.version" value="5" />
    +
    +          <property name="java.vm.specification.version" value="17" />
    +
    +          <property name="sun.arch.data.model" value="64" />
    +
    +          <property name="sun.java.command" value="org.codehaus.plexus.classworlds.launcher.Launcher -V -B -e --no-transfer-progress -f org.jacoco.build verify -Djdk.version=5 -Dbytecode.version=5 deploy:deploy -DdeployAtEnd --toolchains=toolchains.xml --settings=.azure-pipelines/maven-settings.xml" />
    +
    +          <property name="java.home" value="/usr/lib/jvm/temurin-17-jdk-amd64" />
    +
    +          <property name="user.language" value="en" />
    +
    +          <property name="java.specification.vendor" value="Oracle Corporation" />
    +
    +          <property name="java.vm.info" value="mixed mode, sharing" />
    +
    +          <property name="java.version" value="17.0.10" />
    +
    +          <property name="native.encoding" value="UTF-8" />
    +
    +          <property name="securerandom.source" value="file:/dev/./urandom" />
    +
    +          <property name="java.vendor" value="Eclipse Adoptium" />
    +
    +          <property name="maven.home" value="/home/vsts/work/1/s/.maven" />
    +
    +          <property name="file.separator" value="/" />
    +
    +          <property name="java.version.date" value="2024-01-16" />
    +
    +          <property name="java.vendor.url.bug" value="https://github.com/adoptium/adoptium-support/issues" />
    +
    +          <property name="sun.cpu.endian" value="little" />
    +
    +          <property name="sun.io.unicode.encoding" value="UnicodeLittle" />
    +
    +          <property name="sun.font.fontmanager" value="sun.awt.X11FontManager" />
    +
    +          <property name="java.vendor.version" value="Temurin-17.0.10+7" />
    +
    +      </properties>
    +
    +      <testcase classname="org.jacoco.report.internal.html.page.PackageSourcePageTest" name="should_render_non_empty_sources" time="0.012" />
    +
    +      <testcase classname="org.jacoco.report.internal.html.page.PackageSourcePageTest" name="testContents" time="0.014" />
    +
    +      <testcase classname="org.jacoco.report.internal.html.page.PackageSourcePageTest" name="testGetSourceFilePages" time="0.001" />
    +
    +  </testsuite>
    +  <testsuite errors="0" failures="0" id="153" name="ReportPageTest" package="org.jacoco.report.internal.html.page" skipped="0" tests="4" time="0.056" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="https://maven.apache.org/surefire/maven-surefire-plugin/xsd/surefire-test-report.xsd">
    +      <properties>
    +          <property name="jansi.mode" value="strip" />
    +
    +          <property name="java.runtime.name" value="OpenJDK Runtime Environment" />
    +
    +          <property name="java.vm.version" value="17.0.10+7" />
    +
    +          <property name="sun.boot.library.path" value="/usr/lib/jvm/temurin-17-jdk-amd64/lib" />
    +
    +          <property name="maven.multiModuleProjectDirectory" value="/home/vsts/work/1/s/org.jacoco.build" />
    +
    +          <property name="java.vm.vendor" value="Eclipse Adoptium" />
    +
    +          <property name="jdk.version" value="5" />
    +
    +          <property name="java.vendor.url" value="https://adoptium.net/" />
    +
    +          <property name="path.separator" value=":" />
    +
    +          <property name="guice.disable.misplaced.annotation.check" value="true" />
    +
    +          <property name="java.vm.name" value="OpenJDK 64-Bit Server VM" />
    +
    +          <property name="sun.java.launcher" value="SUN_STANDARD" />
    +
    +          <property name="user.dir" value="/home/vsts/work/1/s" />
    +
    +          <property name="java.vm.compressedOopsMode" value="32-bit" />
    +
    +          <property name="java.vm.specification.name" value="Java Virtual Machine Specification" />
    +
    +          <property name="java.runtime.version" value="17.0.10+7" />
    +
    +          <property name="os.arch" value="amd64" />
    +
    +          <property name="java.io.tmpdir" value="/tmp" />
    +
    +          <property name="line.separator" value="&#xa;" />
    +
    +          <property name="java.vm.specification.vendor" value="Oracle Corporation" />
    +
    +          <property name="os.name" value="Linux" />
    +
    +          <property name="classworlds.conf" value="/home/vsts/work/1/s/.maven/bin/m2.conf" />
    +
    +          <property name="sun.jnu.encoding" value="UTF-8" />
    +
    +          <property name="deployAtEnd" value="true" />
    +
    +          <property name="java.library.path" value="/usr/java/packages/lib:/usr/lib64:/lib64:/lib:/usr/lib" />
    +
    +          <property name="maven.conf" value="/home/vsts/work/1/s/.maven/conf" />
    +
    +          <property name="jdk.debug" value="release" />
    +
    +          <property name="java.class.version" value="61.0" />
    +
    +          <property name="java.specification.name" value="Java Platform API Specification" />
    +
    +          <property name="sun.management.compiler" value="HotSpot 64-Bit Tiered Compilers" />
    +
    +          <property name="os.version" value="5.15.0-1059-azure" />
    +
    +          <property name="library.jansi.path" value="/home/vsts/work/1/s/.maven/lib/jansi-native" />
    +
    +          <property name="user.home" value="/home/vsts" />
    +
    +          <property name="user.timezone" value="Etc/UTC" />
    +
    +          <property name="file.encoding" value="UTF-8" />
    +
    +          <property name="java.specification.version" value="17" />
    +
    +          <property name="java.class.path" value="/home/vsts/work/1/s/.maven/boot/plexus-classworlds-2.6.0.jar" />
    +
    +          <property name="user.name" value="vsts" />
    +
    +          <property name="bytecode.version" value="5" />
    +
    +          <property name="java.vm.specification.version" value="17" />
    +
    +          <property name="sun.arch.data.model" value="64" />
    +
    +          <property name="sun.java.command" value="org.codehaus.plexus.classworlds.launcher.Launcher -V -B -e --no-transfer-progress -f org.jacoco.build verify -Djdk.version=5 -Dbytecode.version=5 deploy:deploy -DdeployAtEnd --toolchains=toolchains.xml --settings=.azure-pipelines/maven-settings.xml" />
    +
    +          <property name="java.home" value="/usr/lib/jvm/temurin-17-jdk-amd64" />
    +
    +          <property name="user.language" value="en" />
    +
    +          <property name="java.specification.vendor" value="Oracle Corporation" />
    +
    +          <property name="java.vm.info" value="mixed mode, sharing" />
    +
    +          <property name="java.version" value="17.0.10" />
    +
    +          <property name="native.encoding" value="UTF-8" />
    +
    +          <property name="securerandom.source" value="file:/dev/./urandom" />
    +
    +          <property name="java.vendor" value="Eclipse Adoptium" />
    +
    +          <property name="maven.home" value="/home/vsts/work/1/s/.maven" />
    +
    +          <property name="file.separator" value="/" />
    +
    +          <property name="java.version.date" value="2024-01-16" />
    +
    +          <property name="java.vendor.url.bug" value="https://github.com/adoptium/adoptium-support/issues" />
    +
    +          <property name="sun.cpu.endian" value="little" />
    +
    +          <property name="sun.io.unicode.encoding" value="UnicodeLittle" />
    +
    +          <property name="sun.font.fontmanager" value="sun.awt.X11FontManager" />
    +
    +          <property name="java.vendor.version" value="Temurin-17.0.10+7" />
    +
    +      </properties>
    +
    +      <testcase classname="org.jacoco.report.internal.html.page.ReportPageTest" name="testPageContent" time="0.044" />
    +
    +      <testcase classname="org.jacoco.report.internal.html.page.ReportPageTest" name="testGetLink" time="0" />
    +
    +      <testcase classname="org.jacoco.report.internal.html.page.ReportPageTest" name="testIsRootPage1" time="0.002" />
    +
    +      <testcase classname="org.jacoco.report.internal.html.page.ReportPageTest" name="testIsRootPage2" time="0" />
    +
    +  </testsuite>
    +  <testsuite errors="0" failures="0" id="154" name="SessionsPageTest" package="org.jacoco.report.internal.html.page" skipped="0" tests="6" time="0.102" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="https://maven.apache.org/surefire/maven-surefire-plugin/xsd/surefire-test-report.xsd">
    +      <properties>
    +          <property name="jansi.mode" value="strip" />
    +
    +          <property name="java.runtime.name" value="OpenJDK Runtime Environment" />
    +
    +          <property name="java.vm.version" value="17.0.10+7" />
    +
    +          <property name="sun.boot.library.path" value="/usr/lib/jvm/temurin-17-jdk-amd64/lib" />
    +
    +          <property name="maven.multiModuleProjectDirectory" value="/home/vsts/work/1/s/org.jacoco.build" />
    +
    +          <property name="java.vm.vendor" value="Eclipse Adoptium" />
    +
    +          <property name="jdk.version" value="5" />
    +
    +          <property name="java.vendor.url" value="https://adoptium.net/" />
    +
    +          <property name="path.separator" value=":" />
    +
    +          <property name="guice.disable.misplaced.annotation.check" value="true" />
    +
    +          <property name="java.vm.name" value="OpenJDK 64-Bit Server VM" />
    +
    +          <property name="sun.java.launcher" value="SUN_STANDARD" />
    +
    +          <property name="user.dir" value="/home/vsts/work/1/s" />
    +
    +          <property name="java.vm.compressedOopsMode" value="32-bit" />
    +
    +          <property name="java.vm.specification.name" value="Java Virtual Machine Specification" />
    +
    +          <property name="java.runtime.version" value="17.0.10+7" />
    +
    +          <property name="os.arch" value="amd64" />
    +
    +          <property name="java.io.tmpdir" value="/tmp" />
    +
    +          <property name="line.separator" value="&#xa;" />
    +
    +          <property name="java.vm.specification.vendor" value="Oracle Corporation" />
    +
    +          <property name="os.name" value="Linux" />
    +
    +          <property name="classworlds.conf" value="/home/vsts/work/1/s/.maven/bin/m2.conf" />
    +
    +          <property name="sun.jnu.encoding" value="UTF-8" />
    +
    +          <property name="deployAtEnd" value="true" />
    +
    +          <property name="java.library.path" value="/usr/java/packages/lib:/usr/lib64:/lib64:/lib:/usr/lib" />
    +
    +          <property name="maven.conf" value="/home/vsts/work/1/s/.maven/conf" />
    +
    +          <property name="jdk.debug" value="release" />
    +
    +          <property name="java.class.version" value="61.0" />
    +
    +          <property name="java.specification.name" value="Java Platform API Specification" />
    +
    +          <property name="sun.management.compiler" value="HotSpot 64-Bit Tiered Compilers" />
    +
    +          <property name="os.version" value="5.15.0-1059-azure" />
    +
    +          <property name="library.jansi.path" value="/home/vsts/work/1/s/.maven/lib/jansi-native" />
    +
    +          <property name="user.home" value="/home/vsts" />
    +
    +          <property name="user.timezone" value="Etc/UTC" />
    +
    +          <property name="file.encoding" value="UTF-8" />
    +
    +          <property name="java.specification.version" value="17" />
    +
    +          <property name="java.class.path" value="/home/vsts/work/1/s/.maven/boot/plexus-classworlds-2.6.0.jar" />
    +
    +          <property name="user.name" value="vsts" />
    +
    +          <property name="bytecode.version" value="5" />
    +
    +          <property name="java.vm.specification.version" value="17" />
    +
    +          <property name="sun.arch.data.model" value="64" />
    +
    +          <property name="sun.java.command" value="org.codehaus.plexus.classworlds.launcher.Launcher -V -B -e --no-transfer-progress -f org.jacoco.build verify -Djdk.version=5 -Dbytecode.version=5 deploy:deploy -DdeployAtEnd --toolchains=toolchains.xml --settings=.azure-pipelines/maven-settings.xml" />
    +
    +          <property name="java.home" value="/usr/lib/jvm/temurin-17-jdk-amd64" />
    +
    +          <property name="user.language" value="en" />
    +
    +          <property name="java.specification.vendor" value="Oracle Corporation" />
    +
    +          <property name="java.vm.info" value="mixed mode, sharing" />
    +
    +          <property name="java.version" value="17.0.10" />
    +
    +          <property name="native.encoding" value="UTF-8" />
    +
    +          <property name="securerandom.source" value="file:/dev/./urandom" />
    +
    +          <property name="java.vendor" value="Eclipse Adoptium" />
    +
    +          <property name="maven.home" value="/home/vsts/work/1/s/.maven" />
    +
    +          <property name="file.separator" value="/" />
    +
    +          <property name="java.version.date" value="2024-01-16" />
    +
    +          <property name="java.vendor.url.bug" value="https://github.com/adoptium/adoptium-support/issues" />
    +
    +          <property name="sun.cpu.endian" value="little" />
    +
    +          <property name="sun.io.unicode.encoding" value="UnicodeLittle" />
    +
    +          <property name="sun.font.fontmanager" value="sun.awt.X11FontManager" />
    +
    +          <property name="java.vendor.version" value="Temurin-17.0.10+7" />
    +
    +      </properties>
    +
    +      <testcase classname="org.jacoco.report.internal.html.page.SessionsPageTest" name="testExecutionDataContent" time="0.039" />
    +
    +      <testcase classname="org.jacoco.report.internal.html.page.SessionsPageTest" name="testGetLinkLabel" time="0" />
    +
    +      <testcase classname="org.jacoco.report.internal.html.page.SessionsPageTest" name="testGetLinkStyle" time="0.001" />
    +
    +      <testcase classname="org.jacoco.report.internal.html.page.SessionsPageTest" name="testGetFileName" time="0.001" />
    +
    +      <testcase classname="org.jacoco.report.internal.html.page.SessionsPageTest" name="testEmptyContent" time="0.021" />
    +
    +      <testcase classname="org.jacoco.report.internal.html.page.SessionsPageTest" name="testSessionListContent" time="0.029" />
    +
    +  </testsuite>
    +  <testsuite errors="0" failures="0" id="155" name="SourceFilePageTest" package="org.jacoco.report.internal.html.page" skipped="0" tests="1" time="0.021" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="https://maven.apache.org/surefire/maven-surefire-plugin/xsd/surefire-test-report.xsd">
    +      <properties>
    +          <property name="jansi.mode" value="strip" />
    +
    +          <property name="java.runtime.name" value="OpenJDK Runtime Environment" />
    +
    +          <property name="java.vm.version" value="17.0.10+7" />
    +
    +          <property name="sun.boot.library.path" value="/usr/lib/jvm/temurin-17-jdk-amd64/lib" />
    +
    +          <property name="maven.multiModuleProjectDirectory" value="/home/vsts/work/1/s/org.jacoco.build" />
    +
    +          <property name="java.vm.vendor" value="Eclipse Adoptium" />
    +
    +          <property name="jdk.version" value="5" />
    +
    +          <property name="java.vendor.url" value="https://adoptium.net/" />
    +
    +          <property name="path.separator" value=":" />
    +
    +          <property name="guice.disable.misplaced.annotation.check" value="true" />
    +
    +          <property name="java.vm.name" value="OpenJDK 64-Bit Server VM" />
    +
    +          <property name="sun.java.launcher" value="SUN_STANDARD" />
    +
    +          <property name="user.dir" value="/home/vsts/work/1/s" />
    +
    +          <property name="java.vm.compressedOopsMode" value="32-bit" />
    +
    +          <property name="java.vm.specification.name" value="Java Virtual Machine Specification" />
    +
    +          <property name="java.runtime.version" value="17.0.10+7" />
    +
    +          <property name="os.arch" value="amd64" />
    +
    +          <property name="java.io.tmpdir" value="/tmp" />
    +
    +          <property name="line.separator" value="&#xa;" />
    +
    +          <property name="java.vm.specification.vendor" value="Oracle Corporation" />
    +
    +          <property name="os.name" value="Linux" />
    +
    +          <property name="classworlds.conf" value="/home/vsts/work/1/s/.maven/bin/m2.conf" />
    +
    +          <property name="sun.jnu.encoding" value="UTF-8" />
    +
    +          <property name="deployAtEnd" value="true" />
    +
    +          <property name="java.library.path" value="/usr/java/packages/lib:/usr/lib64:/lib64:/lib:/usr/lib" />
    +
    +          <property name="maven.conf" value="/home/vsts/work/1/s/.maven/conf" />
    +
    +          <property name="jdk.debug" value="release" />
    +
    +          <property name="java.class.version" value="61.0" />
    +
    +          <property name="java.specification.name" value="Java Platform API Specification" />
    +
    +          <property name="sun.management.compiler" value="HotSpot 64-Bit Tiered Compilers" />
    +
    +          <property name="os.version" value="5.15.0-1059-azure" />
    +
    +          <property name="library.jansi.path" value="/home/vsts/work/1/s/.maven/lib/jansi-native" />
    +
    +          <property name="user.home" value="/home/vsts" />
    +
    +          <property name="user.timezone" value="Etc/UTC" />
    +
    +          <property name="file.encoding" value="UTF-8" />
    +
    +          <property name="java.specification.version" value="17" />
    +
    +          <property name="java.class.path" value="/home/vsts/work/1/s/.maven/boot/plexus-classworlds-2.6.0.jar" />
    +
    +          <property name="user.name" value="vsts" />
    +
    +          <property name="bytecode.version" value="5" />
    +
    +          <property name="java.vm.specification.version" value="17" />
    +
    +          <property name="sun.arch.data.model" value="64" />
    +
    +          <property name="sun.java.command" value="org.codehaus.plexus.classworlds.launcher.Launcher -V -B -e --no-transfer-progress -f org.jacoco.build verify -Djdk.version=5 -Dbytecode.version=5 deploy:deploy -DdeployAtEnd --toolchains=toolchains.xml --settings=.azure-pipelines/maven-settings.xml" />
    +
    +          <property name="java.home" value="/usr/lib/jvm/temurin-17-jdk-amd64" />
    +
    +          <property name="user.language" value="en" />
    +
    +          <property name="java.specification.vendor" value="Oracle Corporation" />
    +
    +          <property name="java.vm.info" value="mixed mode, sharing" />
    +
    +          <property name="java.version" value="17.0.10" />
    +
    +          <property name="native.encoding" value="UTF-8" />
    +
    +          <property name="securerandom.source" value="file:/dev/./urandom" />
    +
    +          <property name="java.vendor" value="Eclipse Adoptium" />
    +
    +          <property name="maven.home" value="/home/vsts/work/1/s/.maven" />
    +
    +          <property name="file.separator" value="/" />
    +
    +          <property name="java.version.date" value="2024-01-16" />
    +
    +          <property name="java.vendor.url.bug" value="https://github.com/adoptium/adoptium-support/issues" />
    +
    +          <property name="sun.cpu.endian" value="little" />
    +
    +          <property name="sun.io.unicode.encoding" value="UnicodeLittle" />
    +
    +          <property name="sun.font.fontmanager" value="sun.awt.X11FontManager" />
    +
    +          <property name="java.vendor.version" value="Temurin-17.0.10+7" />
    +
    +      </properties>
    +
    +      <testcase classname="org.jacoco.report.internal.html.page.SourceFilePageTest" name="testContents" time="0.02" />
    +
    +  </testsuite>
    +  <testsuite errors="0" failures="0" id="156" name="SourceHighlighterTest" package="org.jacoco.report.internal.html.page" skipped="0" tests="8" time="0.565" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="https://maven.apache.org/surefire/maven-surefire-plugin/xsd/surefire-test-report.xsd">
    +      <properties>
    +          <property name="jansi.mode" value="strip" />
    +
    +          <property name="java.runtime.name" value="OpenJDK Runtime Environment" />
    +
    +          <property name="java.vm.version" value="17.0.10+7" />
    +
    +          <property name="sun.boot.library.path" value="/usr/lib/jvm/temurin-17-jdk-amd64/lib" />
    +
    +          <property name="maven.multiModuleProjectDirectory" value="/home/vsts/work/1/s/org.jacoco.build" />
    +
    +          <property name="java.vm.vendor" value="Eclipse Adoptium" />
    +
    +          <property name="jdk.version" value="5" />
    +
    +          <property name="java.vendor.url" value="https://adoptium.net/" />
    +
    +          <property name="path.separator" value=":" />
    +
    +          <property name="guice.disable.misplaced.annotation.check" value="true" />
    +
    +          <property name="java.vm.name" value="OpenJDK 64-Bit Server VM" />
    +
    +          <property name="sun.java.launcher" value="SUN_STANDARD" />
    +
    +          <property name="user.dir" value="/home/vsts/work/1/s" />
    +
    +          <property name="java.vm.compressedOopsMode" value="32-bit" />
    +
    +          <property name="java.vm.specification.name" value="Java Virtual Machine Specification" />
    +
    +          <property name="java.runtime.version" value="17.0.10+7" />
    +
    +          <property name="os.arch" value="amd64" />
    +
    +          <property name="java.io.tmpdir" value="/tmp" />
    +
    +          <property name="line.separator" value="&#xa;" />
    +
    +          <property name="java.vm.specification.vendor" value="Oracle Corporation" />
    +
    +          <property name="os.name" value="Linux" />
    +
    +          <property name="classworlds.conf" value="/home/vsts/work/1/s/.maven/bin/m2.conf" />
    +
    +          <property name="sun.jnu.encoding" value="UTF-8" />
    +
    +          <property name="deployAtEnd" value="true" />
    +
    +          <property name="java.library.path" value="/usr/java/packages/lib:/usr/lib64:/lib64:/lib:/usr/lib" />
    +
    +          <property name="maven.conf" value="/home/vsts/work/1/s/.maven/conf" />
    +
    +          <property name="jdk.debug" value="release" />
    +
    +          <property name="java.class.version" value="61.0" />
    +
    +          <property name="java.specification.name" value="Java Platform API Specification" />
    +
    +          <property name="sun.management.compiler" value="HotSpot 64-Bit Tiered Compilers" />
    +
    +          <property name="os.version" value="5.15.0-1059-azure" />
    +
    +          <property name="library.jansi.path" value="/home/vsts/work/1/s/.maven/lib/jansi-native" />
    +
    +          <property name="user.home" value="/home/vsts" />
    +
    +          <property name="user.timezone" value="Etc/UTC" />
    +
    +          <property name="file.encoding" value="UTF-8" />
    +
    +          <property name="java.specification.version" value="17" />
    +
    +          <property name="java.class.path" value="/home/vsts/work/1/s/.maven/boot/plexus-classworlds-2.6.0.jar" />
    +
    +          <property name="user.name" value="vsts" />
    +
    +          <property name="bytecode.version" value="5" />
    +
    +          <property name="java.vm.specification.version" value="17" />
    +
    +          <property name="sun.arch.data.model" value="64" />
    +
    +          <property name="sun.java.command" value="org.codehaus.plexus.classworlds.launcher.Launcher -V -B -e --no-transfer-progress -f org.jacoco.build verify -Djdk.version=5 -Dbytecode.version=5 deploy:deploy -DdeployAtEnd --toolchains=toolchains.xml --settings=.azure-pipelines/maven-settings.xml" />
    +
    +          <property name="java.home" value="/usr/lib/jvm/temurin-17-jdk-amd64" />
    +
    +          <property name="user.language" value="en" />
    +
    +          <property name="java.specification.vendor" value="Oracle Corporation" />
    +
    +          <property name="java.vm.info" value="mixed mode, sharing" />
    +
    +          <property name="java.version" value="17.0.10" />
    +
    +          <property name="native.encoding" value="UTF-8" />
    +
    +          <property name="securerandom.source" value="file:/dev/./urandom" />
    +
    +          <property name="java.vendor" value="Eclipse Adoptium" />
    +
    +          <property name="maven.home" value="/home/vsts/work/1/s/.maven" />
    +
    +          <property name="file.separator" value="/" />
    +
    +          <property name="java.version.date" value="2024-01-16" />
    +
    +          <property name="java.vendor.url.bug" value="https://github.com/adoptium/adoptium-support/issues" />
    +
    +          <property name="sun.cpu.endian" value="little" />
    +
    +          <property name="sun.io.unicode.encoding" value="UnicodeLittle" />
    +
    +          <property name="sun.font.fontmanager" value="sun.awt.X11FontManager" />
    +
    +          <property name="java.vendor.version" value="Temurin-17.0.10+7" />
    +
    +      </properties>
    +
    +      <testcase classname="org.jacoco.report.internal.html.page.SourceHighlighterTest" name="testHighlightBranchesFC" time="0.215" />
    +
    +      <testcase classname="org.jacoco.report.internal.html.page.SourceHighlighterTest" name="testHighlightBranchesNC" time="0.061" />
    +
    +      <testcase classname="org.jacoco.report.internal.html.page.SourceHighlighterTest" name="testHighlightBranchesPC" time="0.038" />
    +
    +      <testcase classname="org.jacoco.report.internal.html.page.SourceHighlighterTest" name="testHighlightNone" time="0.049" />
    +
    +      <testcase classname="org.jacoco.report.internal.html.page.SourceHighlighterTest" name="testSetLanguage" time="0.06" />
    +
    +      <testcase classname="org.jacoco.report.internal.html.page.SourceHighlighterTest" name="testDefaultLanguage" time="0.045" />
    +
    +      <testcase classname="org.jacoco.report.internal.html.page.SourceHighlighterTest" name="testHighlighting" time="0.056" />
    +
    +      <testcase classname="org.jacoco.report.internal.html.page.SourceHighlighterTest" name="testDefaultTabWidth" time="0.037" />
    +
    +  </testsuite>
    +  <testsuite errors="0" failures="0" id="157" name="ResourcesTest" package="org.jacoco.report.internal.html.resources" skipped="0" tests="3" time="0.017" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="https://maven.apache.org/surefire/maven-surefire-plugin/xsd/surefire-test-report.xsd">
    +      <properties>
    +          <property name="jansi.mode" value="strip" />
    +
    +          <property name="java.runtime.name" value="OpenJDK Runtime Environment" />
    +
    +          <property name="java.vm.version" value="17.0.10+7" />
    +
    +          <property name="sun.boot.library.path" value="/usr/lib/jvm/temurin-17-jdk-amd64/lib" />
    +
    +          <property name="maven.multiModuleProjectDirectory" value="/home/vsts/work/1/s/org.jacoco.build" />
    +
    +          <property name="java.vm.vendor" value="Eclipse Adoptium" />
    +
    +          <property name="jdk.version" value="5" />
    +
    +          <property name="java.vendor.url" value="https://adoptium.net/" />
    +
    +          <property name="path.separator" value=":" />
    +
    +          <property name="guice.disable.misplaced.annotation.check" value="true" />
    +
    +          <property name="java.vm.name" value="OpenJDK 64-Bit Server VM" />
    +
    +          <property name="sun.java.launcher" value="SUN_STANDARD" />
    +
    +          <property name="user.dir" value="/home/vsts/work/1/s" />
    +
    +          <property name="java.vm.compressedOopsMode" value="32-bit" />
    +
    +          <property name="java.vm.specification.name" value="Java Virtual Machine Specification" />
    +
    +          <property name="java.runtime.version" value="17.0.10+7" />
    +
    +          <property name="os.arch" value="amd64" />
    +
    +          <property name="java.io.tmpdir" value="/tmp" />
    +
    +          <property name="line.separator" value="&#xa;" />
    +
    +          <property name="java.vm.specification.vendor" value="Oracle Corporation" />
    +
    +          <property name="os.name" value="Linux" />
    +
    +          <property name="classworlds.conf" value="/home/vsts/work/1/s/.maven/bin/m2.conf" />
    +
    +          <property name="sun.jnu.encoding" value="UTF-8" />
    +
    +          <property name="deployAtEnd" value="true" />
    +
    +          <property name="java.library.path" value="/usr/java/packages/lib:/usr/lib64:/lib64:/lib:/usr/lib" />
    +
    +          <property name="maven.conf" value="/home/vsts/work/1/s/.maven/conf" />
    +
    +          <property name="jdk.debug" value="release" />
    +
    +          <property name="java.class.version" value="61.0" />
    +
    +          <property name="java.specification.name" value="Java Platform API Specification" />
    +
    +          <property name="sun.management.compiler" value="HotSpot 64-Bit Tiered Compilers" />
    +
    +          <property name="os.version" value="5.15.0-1059-azure" />
    +
    +          <property name="library.jansi.path" value="/home/vsts/work/1/s/.maven/lib/jansi-native" />
    +
    +          <property name="user.home" value="/home/vsts" />
    +
    +          <property name="user.timezone" value="Etc/UTC" />
    +
    +          <property name="file.encoding" value="UTF-8" />
    +
    +          <property name="java.specification.version" value="17" />
    +
    +          <property name="java.class.path" value="/home/vsts/work/1/s/.maven/boot/plexus-classworlds-2.6.0.jar" />
    +
    +          <property name="user.name" value="vsts" />
    +
    +          <property name="bytecode.version" value="5" />
    +
    +          <property name="java.vm.specification.version" value="17" />
    +
    +          <property name="sun.arch.data.model" value="64" />
    +
    +          <property name="sun.java.command" value="org.codehaus.plexus.classworlds.launcher.Launcher -V -B -e --no-transfer-progress -f org.jacoco.build verify -Djdk.version=5 -Dbytecode.version=5 deploy:deploy -DdeployAtEnd --toolchains=toolchains.xml --settings=.azure-pipelines/maven-settings.xml" />
    +
    +          <property name="java.home" value="/usr/lib/jvm/temurin-17-jdk-amd64" />
    +
    +          <property name="user.language" value="en" />
    +
    +          <property name="java.specification.vendor" value="Oracle Corporation" />
    +
    +          <property name="java.vm.info" value="mixed mode, sharing" />
    +
    +          <property name="java.version" value="17.0.10" />
    +
    +          <property name="native.encoding" value="UTF-8" />
    +
    +          <property name="securerandom.source" value="file:/dev/./urandom" />
    +
    +          <property name="java.vendor" value="Eclipse Adoptium" />
    +
    +          <property name="maven.home" value="/home/vsts/work/1/s/.maven" />
    +
    +          <property name="file.separator" value="/" />
    +
    +          <property name="java.version.date" value="2024-01-16" />
    +
    +          <property name="java.vendor.url.bug" value="https://github.com/adoptium/adoptium-support/issues" />
    +
    +          <property name="sun.cpu.endian" value="little" />
    +
    +          <property name="sun.io.unicode.encoding" value="UnicodeLittle" />
    +
    +          <property name="sun.font.fontmanager" value="sun.awt.X11FontManager" />
    +
    +          <property name="java.vendor.version" value="Temurin-17.0.10+7" />
    +
    +      </properties>
    +
    +      <testcase classname="org.jacoco.report.internal.html.resources.ResourcesTest" name="testCopyResources" time="0.016" />
    +
    +      <testcase classname="org.jacoco.report.internal.html.resources.ResourcesTest" name="testGetLink" time="0" />
    +
    +      <testcase classname="org.jacoco.report.internal.html.resources.ResourcesTest" name="testGetElementStyle" time="0" />
    +
    +  </testsuite>
    +  <testsuite errors="0" failures="0" id="158" name="StylesTest" package="org.jacoco.report.internal.html.resources" skipped="0" tests="4" time="0.01" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="https://maven.apache.org/surefire/maven-surefire-plugin/xsd/surefire-test-report.xsd">
    +      <properties>
    +          <property name="jansi.mode" value="strip" />
    +
    +          <property name="java.runtime.name" value="OpenJDK Runtime Environment" />
    +
    +          <property name="java.vm.version" value="17.0.10+7" />
    +
    +          <property name="sun.boot.library.path" value="/usr/lib/jvm/temurin-17-jdk-amd64/lib" />
    +
    +          <property name="maven.multiModuleProjectDirectory" value="/home/vsts/work/1/s/org.jacoco.build" />
    +
    +          <property name="java.vm.vendor" value="Eclipse Adoptium" />
    +
    +          <property name="jdk.version" value="5" />
    +
    +          <property name="java.vendor.url" value="https://adoptium.net/" />
    +
    +          <property name="path.separator" value=":" />
    +
    +          <property name="guice.disable.misplaced.annotation.check" value="true" />
    +
    +          <property name="java.vm.name" value="OpenJDK 64-Bit Server VM" />
    +
    +          <property name="sun.java.launcher" value="SUN_STANDARD" />
    +
    +          <property name="user.dir" value="/home/vsts/work/1/s" />
    +
    +          <property name="java.vm.compressedOopsMode" value="32-bit" />
    +
    +          <property name="java.vm.specification.name" value="Java Virtual Machine Specification" />
    +
    +          <property name="java.runtime.version" value="17.0.10+7" />
    +
    +          <property name="os.arch" value="amd64" />
    +
    +          <property name="java.io.tmpdir" value="/tmp" />
    +
    +          <property name="line.separator" value="&#xa;" />
    +
    +          <property name="java.vm.specification.vendor" value="Oracle Corporation" />
    +
    +          <property name="os.name" value="Linux" />
    +
    +          <property name="classworlds.conf" value="/home/vsts/work/1/s/.maven/bin/m2.conf" />
    +
    +          <property name="sun.jnu.encoding" value="UTF-8" />
    +
    +          <property name="deployAtEnd" value="true" />
    +
    +          <property name="java.library.path" value="/usr/java/packages/lib:/usr/lib64:/lib64:/lib:/usr/lib" />
    +
    +          <property name="maven.conf" value="/home/vsts/work/1/s/.maven/conf" />
    +
    +          <property name="jdk.debug" value="release" />
    +
    +          <property name="java.class.version" value="61.0" />
    +
    +          <property name="java.specification.name" value="Java Platform API Specification" />
    +
    +          <property name="sun.management.compiler" value="HotSpot 64-Bit Tiered Compilers" />
    +
    +          <property name="os.version" value="5.15.0-1059-azure" />
    +
    +          <property name="library.jansi.path" value="/home/vsts/work/1/s/.maven/lib/jansi-native" />
    +
    +          <property name="user.home" value="/home/vsts" />
    +
    +          <property name="user.timezone" value="Etc/UTC" />
    +
    +          <property name="file.encoding" value="UTF-8" />
    +
    +          <property name="java.specification.version" value="17" />
    +
    +          <property name="java.class.path" value="/home/vsts/work/1/s/.maven/boot/plexus-classworlds-2.6.0.jar" />
    +
    +          <property name="user.name" value="vsts" />
    +
    +          <property name="bytecode.version" value="5" />
    +
    +          <property name="java.vm.specification.version" value="17" />
    +
    +          <property name="sun.arch.data.model" value="64" />
    +
    +          <property name="sun.java.command" value="org.codehaus.plexus.classworlds.launcher.Launcher -V -B -e --no-transfer-progress -f org.jacoco.build verify -Djdk.version=5 -Dbytecode.version=5 deploy:deploy -DdeployAtEnd --toolchains=toolchains.xml --settings=.azure-pipelines/maven-settings.xml" />
    +
    +          <property name="java.home" value="/usr/lib/jvm/temurin-17-jdk-amd64" />
    +
    +          <property name="user.language" value="en" />
    +
    +          <property name="java.specification.vendor" value="Oracle Corporation" />
    +
    +          <property name="java.vm.info" value="mixed mode, sharing" />
    +
    +          <property name="java.version" value="17.0.10" />
    +
    +          <property name="native.encoding" value="UTF-8" />
    +
    +          <property name="securerandom.source" value="file:/dev/./urandom" />
    +
    +          <property name="java.vendor" value="Eclipse Adoptium" />
    +
    +          <property name="maven.home" value="/home/vsts/work/1/s/.maven" />
    +
    +          <property name="file.separator" value="/" />
    +
    +          <property name="java.version.date" value="2024-01-16" />
    +
    +          <property name="java.vendor.url.bug" value="https://github.com/adoptium/adoptium-support/issues" />
    +
    +          <property name="sun.cpu.endian" value="little" />
    +
    +          <property name="sun.io.unicode.encoding" value="UnicodeLittle" />
    +
    +          <property name="sun.font.fontmanager" value="sun.awt.X11FontManager" />
    +
    +          <property name="java.vendor.version" value="Temurin-17.0.10+7" />
    +
    +      </properties>
    +
    +      <testcase classname="org.jacoco.report.internal.html.resources.StylesTest" name="testCombine1" time="0" />
    +
    +      <testcase classname="org.jacoco.report.internal.html.resources.StylesTest" name="testCombine2" time="0" />
    +
    +      <testcase classname="org.jacoco.report.internal.html.resources.StylesTest" name="testCombine3" time="0" />
    +
    +      <testcase classname="org.jacoco.report.internal.html.resources.StylesTest" name="testCombine4" time="0.009" />
    +
    +  </testsuite>
    +  <testsuite errors="0" failures="0" id="159" name="BarColumnTest" package="org.jacoco.report.internal.html.table" skipped="0" tests="9" time="0.072" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="https://maven.apache.org/surefire/maven-surefire-plugin/xsd/surefire-test-report.xsd">
    +      <properties>
    +          <property name="jansi.mode" value="strip" />
    +
    +          <property name="java.runtime.name" value="OpenJDK Runtime Environment" />
    +
    +          <property name="java.vm.version" value="17.0.10+7" />
    +
    +          <property name="sun.boot.library.path" value="/usr/lib/jvm/temurin-17-jdk-amd64/lib" />
    +
    +          <property name="maven.multiModuleProjectDirectory" value="/home/vsts/work/1/s/org.jacoco.build" />
    +
    +          <property name="java.vm.vendor" value="Eclipse Adoptium" />
    +
    +          <property name="jdk.version" value="5" />
    +
    +          <property name="java.vendor.url" value="https://adoptium.net/" />
    +
    +          <property name="path.separator" value=":" />
    +
    +          <property name="guice.disable.misplaced.annotation.check" value="true" />
    +
    +          <property name="java.vm.name" value="OpenJDK 64-Bit Server VM" />
    +
    +          <property name="sun.java.launcher" value="SUN_STANDARD" />
    +
    +          <property name="user.dir" value="/home/vsts/work/1/s" />
    +
    +          <property name="java.vm.compressedOopsMode" value="32-bit" />
    +
    +          <property name="java.vm.specification.name" value="Java Virtual Machine Specification" />
    +
    +          <property name="java.runtime.version" value="17.0.10+7" />
    +
    +          <property name="os.arch" value="amd64" />
    +
    +          <property name="java.io.tmpdir" value="/tmp" />
    +
    +          <property name="line.separator" value="&#xa;" />
    +
    +          <property name="java.vm.specification.vendor" value="Oracle Corporation" />
    +
    +          <property name="os.name" value="Linux" />
    +
    +          <property name="classworlds.conf" value="/home/vsts/work/1/s/.maven/bin/m2.conf" />
    +
    +          <property name="sun.jnu.encoding" value="UTF-8" />
    +
    +          <property name="deployAtEnd" value="true" />
    +
    +          <property name="java.library.path" value="/usr/java/packages/lib:/usr/lib64:/lib64:/lib:/usr/lib" />
    +
    +          <property name="maven.conf" value="/home/vsts/work/1/s/.maven/conf" />
    +
    +          <property name="jdk.debug" value="release" />
    +
    +          <property name="java.class.version" value="61.0" />
    +
    +          <property name="java.specification.name" value="Java Platform API Specification" />
    +
    +          <property name="sun.management.compiler" value="HotSpot 64-Bit Tiered Compilers" />
    +
    +          <property name="os.version" value="5.15.0-1059-azure" />
    +
    +          <property name="library.jansi.path" value="/home/vsts/work/1/s/.maven/lib/jansi-native" />
    +
    +          <property name="user.home" value="/home/vsts" />
    +
    +          <property name="user.timezone" value="Etc/UTC" />
    +
    +          <property name="file.encoding" value="UTF-8" />
    +
    +          <property name="java.specification.version" value="17" />
    +
    +          <property name="java.class.path" value="/home/vsts/work/1/s/.maven/boot/plexus-classworlds-2.6.0.jar" />
    +
    +          <property name="user.name" value="vsts" />
    +
    +          <property name="bytecode.version" value="5" />
    +
    +          <property name="java.vm.specification.version" value="17" />
    +
    +          <property name="sun.arch.data.model" value="64" />
    +
    +          <property name="sun.java.command" value="org.codehaus.plexus.classworlds.launcher.Launcher -V -B -e --no-transfer-progress -f org.jacoco.build verify -Djdk.version=5 -Dbytecode.version=5 deploy:deploy -DdeployAtEnd --toolchains=toolchains.xml --settings=.azure-pipelines/maven-settings.xml" />
    +
    +          <property name="java.home" value="/usr/lib/jvm/temurin-17-jdk-amd64" />
    +
    +          <property name="user.language" value="en" />
    +
    +          <property name="java.specification.vendor" value="Oracle Corporation" />
    +
    +          <property name="java.vm.info" value="mixed mode, sharing" />
    +
    +          <property name="java.version" value="17.0.10" />
    +
    +          <property name="native.encoding" value="UTF-8" />
    +
    +          <property name="securerandom.source" value="file:/dev/./urandom" />
    +
    +          <property name="java.vendor" value="Eclipse Adoptium" />
    +
    +          <property name="maven.home" value="/home/vsts/work/1/s/.maven" />
    +
    +          <property name="file.separator" value="/" />
    +
    +          <property name="java.version.date" value="2024-01-16" />
    +
    +          <property name="java.vendor.url.bug" value="https://github.com/adoptium/adoptium-support/issues" />
    +
    +          <property name="sun.cpu.endian" value="little" />
    +
    +          <property name="sun.io.unicode.encoding" value="UnicodeLittle" />
    +
    +          <property name="sun.font.fontmanager" value="sun.awt.X11FontManager" />
    +
    +          <property name="java.vendor.version" value="Temurin-17.0.10+7" />
    +
    +      </properties>
    +
    +      <testcase classname="org.jacoco.report.internal.html.table.BarColumnTest" name="testInit" time="0.01" />
    +
    +      <testcase classname="org.jacoco.report.internal.html.table.BarColumnTest" name="testComparator1" time="0" />
    +
    +      <testcase classname="org.jacoco.report.internal.html.table.BarColumnTest" name="testComparator2" time="0.001" />
    +
    +      <testcase classname="org.jacoco.report.internal.html.table.BarColumnTest" name="testRedBarOnly" time="0.011" />
    +
    +      <testcase classname="org.jacoco.report.internal.html.table.BarColumnTest" name="testFooter" time="0.007" />
    +
    +      <testcase classname="org.jacoco.report.internal.html.table.BarColumnTest" name="testLocale" time="0.007" />
    +
    +      <testcase classname="org.jacoco.report.internal.html.table.BarColumnTest" name="testNoBars" time="0.007" />
    +
    +      <testcase classname="org.jacoco.report.internal.html.table.BarColumnTest" name="testBarWidths" time="0.015" />
    +
    +      <testcase classname="org.jacoco.report.internal.html.table.BarColumnTest" name="testGreenBarOnly" time="0.013" />
    +
    +  </testsuite>
    +  <testsuite errors="0" failures="0" id="160" name="CounterColumnTest" package="org.jacoco.report.internal.html.table" skipped="0" tests="10" time="0.071" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="https://maven.apache.org/surefire/maven-surefire-plugin/xsd/surefire-test-report.xsd">
    +      <properties>
    +          <property name="jansi.mode" value="strip" />
    +
    +          <property name="java.runtime.name" value="OpenJDK Runtime Environment" />
    +
    +          <property name="java.vm.version" value="17.0.10+7" />
    +
    +          <property name="sun.boot.library.path" value="/usr/lib/jvm/temurin-17-jdk-amd64/lib" />
    +
    +          <property name="maven.multiModuleProjectDirectory" value="/home/vsts/work/1/s/org.jacoco.build" />
    +
    +          <property name="java.vm.vendor" value="Eclipse Adoptium" />
    +
    +          <property name="jdk.version" value="5" />
    +
    +          <property name="java.vendor.url" value="https://adoptium.net/" />
    +
    +          <property name="path.separator" value=":" />
    +
    +          <property name="guice.disable.misplaced.annotation.check" value="true" />
    +
    +          <property name="java.vm.name" value="OpenJDK 64-Bit Server VM" />
    +
    +          <property name="sun.java.launcher" value="SUN_STANDARD" />
    +
    +          <property name="user.dir" value="/home/vsts/work/1/s" />
    +
    +          <property name="java.vm.compressedOopsMode" value="32-bit" />
    +
    +          <property name="java.vm.specification.name" value="Java Virtual Machine Specification" />
    +
    +          <property name="java.runtime.version" value="17.0.10+7" />
    +
    +          <property name="os.arch" value="amd64" />
    +
    +          <property name="java.io.tmpdir" value="/tmp" />
    +
    +          <property name="line.separator" value="&#xa;" />
    +
    +          <property name="java.vm.specification.vendor" value="Oracle Corporation" />
    +
    +          <property name="os.name" value="Linux" />
    +
    +          <property name="classworlds.conf" value="/home/vsts/work/1/s/.maven/bin/m2.conf" />
    +
    +          <property name="sun.jnu.encoding" value="UTF-8" />
    +
    +          <property name="deployAtEnd" value="true" />
    +
    +          <property name="java.library.path" value="/usr/java/packages/lib:/usr/lib64:/lib64:/lib:/usr/lib" />
    +
    +          <property name="maven.conf" value="/home/vsts/work/1/s/.maven/conf" />
    +
    +          <property name="jdk.debug" value="release" />
    +
    +          <property name="java.class.version" value="61.0" />
    +
    +          <property name="java.specification.name" value="Java Platform API Specification" />
    +
    +          <property name="sun.management.compiler" value="HotSpot 64-Bit Tiered Compilers" />
    +
    +          <property name="os.version" value="5.15.0-1059-azure" />
    +
    +          <property name="library.jansi.path" value="/home/vsts/work/1/s/.maven/lib/jansi-native" />
    +
    +          <property name="user.home" value="/home/vsts" />
    +
    +          <property name="user.timezone" value="Etc/UTC" />
    +
    +          <property name="file.encoding" value="UTF-8" />
    +
    +          <property name="java.specification.version" value="17" />
    +
    +          <property name="java.class.path" value="/home/vsts/work/1/s/.maven/boot/plexus-classworlds-2.6.0.jar" />
    +
    +          <property name="user.name" value="vsts" />
    +
    +          <property name="bytecode.version" value="5" />
    +
    +          <property name="java.vm.specification.version" value="17" />
    +
    +          <property name="sun.arch.data.model" value="64" />
    +
    +          <property name="sun.java.command" value="org.codehaus.plexus.classworlds.launcher.Launcher -V -B -e --no-transfer-progress -f org.jacoco.build verify -Djdk.version=5 -Dbytecode.version=5 deploy:deploy -DdeployAtEnd --toolchains=toolchains.xml --settings=.azure-pipelines/maven-settings.xml" />
    +
    +          <property name="java.home" value="/usr/lib/jvm/temurin-17-jdk-amd64" />
    +
    +          <property name="user.language" value="en" />
    +
    +          <property name="java.specification.vendor" value="Oracle Corporation" />
    +
    +          <property name="java.vm.info" value="mixed mode, sharing" />
    +
    +          <property name="java.version" value="17.0.10" />
    +
    +          <property name="native.encoding" value="UTF-8" />
    +
    +          <property name="securerandom.source" value="file:/dev/./urandom" />
    +
    +          <property name="java.vendor" value="Eclipse Adoptium" />
    +
    +          <property name="maven.home" value="/home/vsts/work/1/s/.maven" />
    +
    +          <property name="file.separator" value="/" />
    +
    +          <property name="java.version.date" value="2024-01-16" />
    +
    +          <property name="java.vendor.url.bug" value="https://github.com/adoptium/adoptium-support/issues" />
    +
    +          <property name="sun.cpu.endian" value="little" />
    +
    +          <property name="sun.io.unicode.encoding" value="UnicodeLittle" />
    +
    +          <property name="sun.font.fontmanager" value="sun.awt.X11FontManager" />
    +
    +          <property name="java.vendor.version" value="Temurin-17.0.10+7" />
    +
    +      </properties>
    +
    +      <testcase classname="org.jacoco.report.internal.html.table.CounterColumnTest" name="testComparatorMissed" time="0.001" />
    +
    +      <testcase classname="org.jacoco.report.internal.html.table.CounterColumnTest" name="testComparatorCovered" time="0.001" />
    +
    +      <testcase classname="org.jacoco.report.internal.html.table.CounterColumnTest" name="testItemTotal" time="0.024" />
    +
    +      <testcase classname="org.jacoco.report.internal.html.table.CounterColumnTest" name="testComparatorTotal" time="0" />
    +
    +      <testcase classname="org.jacoco.report.internal.html.table.CounterColumnTest" name="testItemCovered" time="0.015" />
    +
    +      <testcase classname="org.jacoco.report.internal.html.table.CounterColumnTest" name="testItemMissed" time="0.007" />
    +
    +      <testcase classname="org.jacoco.report.internal.html.table.CounterColumnTest" name="testInitVisible" time="0.003" />
    +
    +      <testcase classname="org.jacoco.report.internal.html.table.CounterColumnTest" name="testFooter" time="0.007" />
    +
    +      <testcase classname="org.jacoco.report.internal.html.table.CounterColumnTest" name="testLocale" time="0.011" />
    +
    +      <testcase classname="org.jacoco.report.internal.html.table.CounterColumnTest" name="testInitInvisible" time="0.002" />
    +
    +  </testsuite>
    +  <testsuite errors="0" failures="0" id="161" name="LabelColumnTest" package="org.jacoco.report.internal.html.table" skipped="0" tests="6" time="0.061" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="https://maven.apache.org/surefire/maven-surefire-plugin/xsd/surefire-test-report.xsd">
    +      <properties>
    +          <property name="jansi.mode" value="strip" />
    +
    +          <property name="java.runtime.name" value="OpenJDK Runtime Environment" />
    +
    +          <property name="java.vm.version" value="17.0.10+7" />
    +
    +          <property name="sun.boot.library.path" value="/usr/lib/jvm/temurin-17-jdk-amd64/lib" />
    +
    +          <property name="maven.multiModuleProjectDirectory" value="/home/vsts/work/1/s/org.jacoco.build" />
    +
    +          <property name="java.vm.vendor" value="Eclipse Adoptium" />
    +
    +          <property name="jdk.version" value="5" />
    +
    +          <property name="java.vendor.url" value="https://adoptium.net/" />
    +
    +          <property name="path.separator" value=":" />
    +
    +          <property name="guice.disable.misplaced.annotation.check" value="true" />
    +
    +          <property name="java.vm.name" value="OpenJDK 64-Bit Server VM" />
    +
    +          <property name="sun.java.launcher" value="SUN_STANDARD" />
    +
    +          <property name="user.dir" value="/home/vsts/work/1/s" />
    +
    +          <property name="java.vm.compressedOopsMode" value="32-bit" />
    +
    +          <property name="java.vm.specification.name" value="Java Virtual Machine Specification" />
    +
    +          <property name="java.runtime.version" value="17.0.10+7" />
    +
    +          <property name="os.arch" value="amd64" />
    +
    +          <property name="java.io.tmpdir" value="/tmp" />
    +
    +          <property name="line.separator" value="&#xa;" />
    +
    +          <property name="java.vm.specification.vendor" value="Oracle Corporation" />
    +
    +          <property name="os.name" value="Linux" />
    +
    +          <property name="classworlds.conf" value="/home/vsts/work/1/s/.maven/bin/m2.conf" />
    +
    +          <property name="sun.jnu.encoding" value="UTF-8" />
    +
    +          <property name="deployAtEnd" value="true" />
    +
    +          <property name="java.library.path" value="/usr/java/packages/lib:/usr/lib64:/lib64:/lib:/usr/lib" />
    +
    +          <property name="maven.conf" value="/home/vsts/work/1/s/.maven/conf" />
    +
    +          <property name="jdk.debug" value="release" />
    +
    +          <property name="java.class.version" value="61.0" />
    +
    +          <property name="java.specification.name" value="Java Platform API Specification" />
    +
    +          <property name="sun.management.compiler" value="HotSpot 64-Bit Tiered Compilers" />
    +
    +          <property name="os.version" value="5.15.0-1059-azure" />
    +
    +          <property name="library.jansi.path" value="/home/vsts/work/1/s/.maven/lib/jansi-native" />
    +
    +          <property name="user.home" value="/home/vsts" />
    +
    +          <property name="user.timezone" value="Etc/UTC" />
    +
    +          <property name="file.encoding" value="UTF-8" />
    +
    +          <property name="java.specification.version" value="17" />
    +
    +          <property name="java.class.path" value="/home/vsts/work/1/s/.maven/boot/plexus-classworlds-2.6.0.jar" />
    +
    +          <property name="user.name" value="vsts" />
    +
    +          <property name="bytecode.version" value="5" />
    +
    +          <property name="java.vm.specification.version" value="17" />
    +
    +          <property name="sun.arch.data.model" value="64" />
    +
    +          <property name="sun.java.command" value="org.codehaus.plexus.classworlds.launcher.Launcher -V -B -e --no-transfer-progress -f org.jacoco.build verify -Djdk.version=5 -Dbytecode.version=5 deploy:deploy -DdeployAtEnd --toolchains=toolchains.xml --settings=.azure-pipelines/maven-settings.xml" />
    +
    +          <property name="java.home" value="/usr/lib/jvm/temurin-17-jdk-amd64" />
    +
    +          <property name="user.language" value="en" />
    +
    +          <property name="java.specification.vendor" value="Oracle Corporation" />
    +
    +          <property name="java.vm.info" value="mixed mode, sharing" />
    +
    +          <property name="java.version" value="17.0.10" />
    +
    +          <property name="native.encoding" value="UTF-8" />
    +
    +          <property name="securerandom.source" value="file:/dev/./urandom" />
    +
    +          <property name="java.vendor" value="Eclipse Adoptium" />
    +
    +          <property name="maven.home" value="/home/vsts/work/1/s/.maven" />
    +
    +          <property name="file.separator" value="/" />
    +
    +          <property name="java.version.date" value="2024-01-16" />
    +
    +          <property name="java.vendor.url.bug" value="https://github.com/adoptium/adoptium-support/issues" />
    +
    +          <property name="sun.cpu.endian" value="little" />
    +
    +          <property name="sun.io.unicode.encoding" value="UnicodeLittle" />
    +
    +          <property name="sun.font.fontmanager" value="sun.awt.X11FontManager" />
    +
    +          <property name="java.vendor.version" value="Temurin-17.0.10+7" />
    +
    +      </properties>
    +
    +      <testcase classname="org.jacoco.report.internal.html.table.LabelColumnTest" name="testInit" time="0" />
    +
    +      <testcase classname="org.jacoco.report.internal.html.table.LabelColumnTest" name="testComparator1" time="0.001" />
    +
    +      <testcase classname="org.jacoco.report.internal.html.table.LabelColumnTest" name="testComparator2" time="0" />
    +
    +      <testcase classname="org.jacoco.report.internal.html.table.LabelColumnTest" name="testItemWithLink" time="0.017" />
    +
    +      <testcase classname="org.jacoco.report.internal.html.table.LabelColumnTest" name="testFooter" time="0.008" />
    +
    +      <testcase classname="org.jacoco.report.internal.html.table.LabelColumnTest" name="testItemWithoutLink" time="0.016" />
    +
    +  </testsuite>
    +  <testsuite errors="0" failures="0" id="162" name="PercentageColumnTest" package="org.jacoco.report.internal.html.table" skipped="0" tests="8" time="0.099" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="https://maven.apache.org/surefire/maven-surefire-plugin/xsd/surefire-test-report.xsd">
    +      <properties>
    +          <property name="jansi.mode" value="strip" />
    +
    +          <property name="java.runtime.name" value="OpenJDK Runtime Environment" />
    +
    +          <property name="java.vm.version" value="17.0.10+7" />
    +
    +          <property name="sun.boot.library.path" value="/usr/lib/jvm/temurin-17-jdk-amd64/lib" />
    +
    +          <property name="maven.multiModuleProjectDirectory" value="/home/vsts/work/1/s/org.jacoco.build" />
    +
    +          <property name="java.vm.vendor" value="Eclipse Adoptium" />
    +
    +          <property name="jdk.version" value="5" />
    +
    +          <property name="java.vendor.url" value="https://adoptium.net/" />
    +
    +          <property name="path.separator" value=":" />
    +
    +          <property name="guice.disable.misplaced.annotation.check" value="true" />
    +
    +          <property name="java.vm.name" value="OpenJDK 64-Bit Server VM" />
    +
    +          <property name="sun.java.launcher" value="SUN_STANDARD" />
    +
    +          <property name="user.dir" value="/home/vsts/work/1/s" />
    +
    +          <property name="java.vm.compressedOopsMode" value="32-bit" />
    +
    +          <property name="java.vm.specification.name" value="Java Virtual Machine Specification" />
    +
    +          <property name="java.runtime.version" value="17.0.10+7" />
    +
    +          <property name="os.arch" value="amd64" />
    +
    +          <property name="java.io.tmpdir" value="/tmp" />
    +
    +          <property name="line.separator" value="&#xa;" />
    +
    +          <property name="java.vm.specification.vendor" value="Oracle Corporation" />
    +
    +          <property name="os.name" value="Linux" />
    +
    +          <property name="classworlds.conf" value="/home/vsts/work/1/s/.maven/bin/m2.conf" />
    +
    +          <property name="sun.jnu.encoding" value="UTF-8" />
    +
    +          <property name="deployAtEnd" value="true" />
    +
    +          <property name="java.library.path" value="/usr/java/packages/lib:/usr/lib64:/lib64:/lib:/usr/lib" />
    +
    +          <property name="maven.conf" value="/home/vsts/work/1/s/.maven/conf" />
    +
    +          <property name="jdk.debug" value="release" />
    +
    +          <property name="java.class.version" value="61.0" />
    +
    +          <property name="java.specification.name" value="Java Platform API Specification" />
    +
    +          <property name="sun.management.compiler" value="HotSpot 64-Bit Tiered Compilers" />
    +
    +          <property name="os.version" value="5.15.0-1059-azure" />
    +
    +          <property name="library.jansi.path" value="/home/vsts/work/1/s/.maven/lib/jansi-native" />
    +
    +          <property name="user.home" value="/home/vsts" />
    +
    +          <property name="user.timezone" value="Etc/UTC" />
    +
    +          <property name="file.encoding" value="UTF-8" />
    +
    +          <property name="java.specification.version" value="17" />
    +
    +          <property name="java.class.path" value="/home/vsts/work/1/s/.maven/boot/plexus-classworlds-2.6.0.jar" />
    +
    +          <property name="user.name" value="vsts" />
    +
    +          <property name="bytecode.version" value="5" />
    +
    +          <property name="java.vm.specification.version" value="17" />
    +
    +          <property name="sun.arch.data.model" value="64" />
    +
    +          <property name="sun.java.command" value="org.codehaus.plexus.classworlds.launcher.Launcher -V -B -e --no-transfer-progress -f org.jacoco.build verify -Djdk.version=5 -Dbytecode.version=5 deploy:deploy -DdeployAtEnd --toolchains=toolchains.xml --settings=.azure-pipelines/maven-settings.xml" />
    +
    +          <property name="java.home" value="/usr/lib/jvm/temurin-17-jdk-amd64" />
    +
    +          <property name="user.language" value="en" />
    +
    +          <property name="java.specification.vendor" value="Oracle Corporation" />
    +
    +          <property name="java.vm.info" value="mixed mode, sharing" />
    +
    +          <property name="java.version" value="17.0.10" />
    +
    +          <property name="native.encoding" value="UTF-8" />
    +
    +          <property name="securerandom.source" value="file:/dev/./urandom" />
    +
    +          <property name="java.vendor" value="Eclipse Adoptium" />
    +
    +          <property name="maven.home" value="/home/vsts/work/1/s/.maven" />
    +
    +          <property name="file.separator" value="/" />
    +
    +          <property name="java.version.date" value="2024-01-16" />
    +
    +          <property name="java.vendor.url.bug" value="https://github.com/adoptium/adoptium-support/issues" />
    +
    +          <property name="sun.cpu.endian" value="little" />
    +
    +          <property name="sun.io.unicode.encoding" value="UnicodeLittle" />
    +
    +          <property name="sun.font.fontmanager" value="sun.awt.X11FontManager" />
    +
    +          <property name="java.vendor.version" value="Temurin-17.0.10+7" />
    +
    +      </properties>
    +
    +      <testcase classname="org.jacoco.report.internal.html.table.PercentageColumnTest" name="testComparator" time="0.002" />
    +
    +      <testcase classname="org.jacoco.report.internal.html.table.PercentageColumnTest" name="testItem1" time="0.016" />
    +
    +      <testcase classname="org.jacoco.report.internal.html.table.PercentageColumnTest" name="testItem2" time="0.007" />
    +
    +      <testcase classname="org.jacoco.report.internal.html.table.PercentageColumnTest" name="testInit" time="0.001" />
    +
    +      <testcase classname="org.jacoco.report.internal.html.table.PercentageColumnTest" name="testFooter1" time="0.016" />
    +
    +      <testcase classname="org.jacoco.report.internal.html.table.PercentageColumnTest" name="testFooter2" time="0.007" />
    +
    +      <testcase classname="org.jacoco.report.internal.html.table.PercentageColumnTest" name="testRounding" time="0.008" />
    +
    +      <testcase classname="org.jacoco.report.internal.html.table.PercentageColumnTest" name="testLocale" time="0.024" />
    +
    +  </testsuite>
    +  <testsuite errors="0" failures="0" id="163" name="SortIndexTest" package="org.jacoco.report.internal.html.table" skipped="0" tests="6" time="0.002" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="https://maven.apache.org/surefire/maven-surefire-plugin/xsd/surefire-test-report.xsd">
    +      <properties>
    +          <property name="jansi.mode" value="strip" />
    +
    +          <property name="java.runtime.name" value="OpenJDK Runtime Environment" />
    +
    +          <property name="java.vm.version" value="17.0.10+7" />
    +
    +          <property name="sun.boot.library.path" value="/usr/lib/jvm/temurin-17-jdk-amd64/lib" />
    +
    +          <property name="maven.multiModuleProjectDirectory" value="/home/vsts/work/1/s/org.jacoco.build" />
    +
    +          <property name="java.vm.vendor" value="Eclipse Adoptium" />
    +
    +          <property name="jdk.version" value="5" />
    +
    +          <property name="java.vendor.url" value="https://adoptium.net/" />
    +
    +          <property name="path.separator" value=":" />
    +
    +          <property name="guice.disable.misplaced.annotation.check" value="true" />
    +
    +          <property name="java.vm.name" value="OpenJDK 64-Bit Server VM" />
    +
    +          <property name="sun.java.launcher" value="SUN_STANDARD" />
    +
    +          <property name="user.dir" value="/home/vsts/work/1/s" />
    +
    +          <property name="java.vm.compressedOopsMode" value="32-bit" />
    +
    +          <property name="java.vm.specification.name" value="Java Virtual Machine Specification" />
    +
    +          <property name="java.runtime.version" value="17.0.10+7" />
    +
    +          <property name="os.arch" value="amd64" />
    +
    +          <property name="java.io.tmpdir" value="/tmp" />
    +
    +          <property name="line.separator" value="&#xa;" />
    +
    +          <property name="java.vm.specification.vendor" value="Oracle Corporation" />
    +
    +          <property name="os.name" value="Linux" />
    +
    +          <property name="classworlds.conf" value="/home/vsts/work/1/s/.maven/bin/m2.conf" />
    +
    +          <property name="sun.jnu.encoding" value="UTF-8" />
    +
    +          <property name="deployAtEnd" value="true" />
    +
    +          <property name="java.library.path" value="/usr/java/packages/lib:/usr/lib64:/lib64:/lib:/usr/lib" />
    +
    +          <property name="maven.conf" value="/home/vsts/work/1/s/.maven/conf" />
    +
    +          <property name="jdk.debug" value="release" />
    +
    +          <property name="java.class.version" value="61.0" />
    +
    +          <property name="java.specification.name" value="Java Platform API Specification" />
    +
    +          <property name="sun.management.compiler" value="HotSpot 64-Bit Tiered Compilers" />
    +
    +          <property name="os.version" value="5.15.0-1059-azure" />
    +
    +          <property name="library.jansi.path" value="/home/vsts/work/1/s/.maven/lib/jansi-native" />
    +
    +          <property name="user.home" value="/home/vsts" />
    +
    +          <property name="user.timezone" value="Etc/UTC" />
    +
    +          <property name="file.encoding" value="UTF-8" />
    +
    +          <property name="java.specification.version" value="17" />
    +
    +          <property name="java.class.path" value="/home/vsts/work/1/s/.maven/boot/plexus-classworlds-2.6.0.jar" />
    +
    +          <property name="user.name" value="vsts" />
    +
    +          <property name="bytecode.version" value="5" />
    +
    +          <property name="java.vm.specification.version" value="17" />
    +
    +          <property name="sun.arch.data.model" value="64" />
    +
    +          <property name="sun.java.command" value="org.codehaus.plexus.classworlds.launcher.Launcher -V -B -e --no-transfer-progress -f org.jacoco.build verify -Djdk.version=5 -Dbytecode.version=5 deploy:deploy -DdeployAtEnd --toolchains=toolchains.xml --settings=.azure-pipelines/maven-settings.xml" />
    +
    +          <property name="java.home" value="/usr/lib/jvm/temurin-17-jdk-amd64" />
    +
    +          <property name="user.language" value="en" />
    +
    +          <property name="java.specification.vendor" value="Oracle Corporation" />
    +
    +          <property name="java.vm.info" value="mixed mode, sharing" />
    +
    +          <property name="java.version" value="17.0.10" />
    +
    +          <property name="native.encoding" value="UTF-8" />
    +
    +          <property name="securerandom.source" value="file:/dev/./urandom" />
    +
    +          <property name="java.vendor" value="Eclipse Adoptium" />
    +
    +          <property name="maven.home" value="/home/vsts/work/1/s/.maven" />
    +
    +          <property name="file.separator" value="/" />
    +
    +          <property name="java.version.date" value="2024-01-16" />
    +
    +          <property name="java.vendor.url.bug" value="https://github.com/adoptium/adoptium-support/issues" />
    +
    +          <property name="sun.cpu.endian" value="little" />
    +
    +          <property name="sun.io.unicode.encoding" value="UnicodeLittle" />
    +
    +          <property name="sun.font.fontmanager" value="sun.awt.X11FontManager" />
    +
    +          <property name="java.vendor.version" value="Temurin-17.0.10+7" />
    +
    +      </properties>
    +
    +      <testcase classname="org.jacoco.report.internal.html.table.SortIndexTest" name="testIncreaseBuffer" time="0.001" />
    +
    +      <testcase classname="org.jacoco.report.internal.html.table.SortIndexTest" name="testSingleton" time="0" />
    +
    +      <testcase classname="org.jacoco.report.internal.html.table.SortIndexTest" name="testEmptyList" time="0" />
    +
    +      <testcase classname="org.jacoco.report.internal.html.table.SortIndexTest" name="testReverse" time="0" />
    +
    +      <testcase classname="org.jacoco.report.internal.html.table.SortIndexTest" name="testShuffle" time="0.001" />
    +
    +      <testcase classname="org.jacoco.report.internal.html.table.SortIndexTest" name="testSorted" time="0" />
    +
    +  </testsuite>
    +  <testsuite errors="0" failures="0" id="164" name="TableTest" package="org.jacoco.report.internal.html.table" skipped="0" tests="5" time="0.042" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="https://maven.apache.org/surefire/maven-surefire-plugin/xsd/surefire-test-report.xsd">
    +      <properties>
    +          <property name="jansi.mode" value="strip" />
    +
    +          <property name="java.runtime.name" value="OpenJDK Runtime Environment" />
    +
    +          <property name="java.vm.version" value="17.0.10+7" />
    +
    +          <property name="sun.boot.library.path" value="/usr/lib/jvm/temurin-17-jdk-amd64/lib" />
    +
    +          <property name="maven.multiModuleProjectDirectory" value="/home/vsts/work/1/s/org.jacoco.build" />
    +
    +          <property name="java.vm.vendor" value="Eclipse Adoptium" />
    +
    +          <property name="jdk.version" value="5" />
    +
    +          <property name="java.vendor.url" value="https://adoptium.net/" />
    +
    +          <property name="path.separator" value=":" />
    +
    +          <property name="guice.disable.misplaced.annotation.check" value="true" />
    +
    +          <property name="java.vm.name" value="OpenJDK 64-Bit Server VM" />
    +
    +          <property name="sun.java.launcher" value="SUN_STANDARD" />
    +
    +          <property name="user.dir" value="/home/vsts/work/1/s" />
    +
    +          <property name="java.vm.compressedOopsMode" value="32-bit" />
    +
    +          <property name="java.vm.specification.name" value="Java Virtual Machine Specification" />
    +
    +          <property name="java.runtime.version" value="17.0.10+7" />
    +
    +          <property name="os.arch" value="amd64" />
    +
    +          <property name="java.io.tmpdir" value="/tmp" />
    +
    +          <property name="line.separator" value="&#xa;" />
    +
    +          <property name="java.vm.specification.vendor" value="Oracle Corporation" />
    +
    +          <property name="os.name" value="Linux" />
    +
    +          <property name="classworlds.conf" value="/home/vsts/work/1/s/.maven/bin/m2.conf" />
    +
    +          <property name="sun.jnu.encoding" value="UTF-8" />
    +
    +          <property name="deployAtEnd" value="true" />
    +
    +          <property name="java.library.path" value="/usr/java/packages/lib:/usr/lib64:/lib64:/lib:/usr/lib" />
    +
    +          <property name="maven.conf" value="/home/vsts/work/1/s/.maven/conf" />
    +
    +          <property name="jdk.debug" value="release" />
    +
    +          <property name="java.class.version" value="61.0" />
    +
    +          <property name="java.specification.name" value="Java Platform API Specification" />
    +
    +          <property name="sun.management.compiler" value="HotSpot 64-Bit Tiered Compilers" />
    +
    +          <property name="os.version" value="5.15.0-1059-azure" />
    +
    +          <property name="library.jansi.path" value="/home/vsts/work/1/s/.maven/lib/jansi-native" />
    +
    +          <property name="user.home" value="/home/vsts" />
    +
    +          <property name="user.timezone" value="Etc/UTC" />
    +
    +          <property name="file.encoding" value="UTF-8" />
    +
    +          <property name="java.specification.version" value="17" />
    +
    +          <property name="java.class.path" value="/home/vsts/work/1/s/.maven/boot/plexus-classworlds-2.6.0.jar" />
    +
    +          <property name="user.name" value="vsts" />
    +
    +          <property name="bytecode.version" value="5" />
    +
    +          <property name="java.vm.specification.version" value="17" />
    +
    +          <property name="sun.arch.data.model" value="64" />
    +
    +          <property name="sun.java.command" value="org.codehaus.plexus.classworlds.launcher.Launcher -V -B -e --no-transfer-progress -f org.jacoco.build verify -Djdk.version=5 -Dbytecode.version=5 deploy:deploy -DdeployAtEnd --toolchains=toolchains.xml --settings=.azure-pipelines/maven-settings.xml" />
    +
    +          <property name="java.home" value="/usr/lib/jvm/temurin-17-jdk-amd64" />
    +
    +          <property name="user.language" value="en" />
    +
    +          <property name="java.specification.vendor" value="Oracle Corporation" />
    +
    +          <property name="java.vm.info" value="mixed mode, sharing" />
    +
    +          <property name="java.version" value="17.0.10" />
    +
    +          <property name="native.encoding" value="UTF-8" />
    +
    +          <property name="securerandom.source" value="file:/dev/./urandom" />
    +
    +          <property name="java.vendor" value="Eclipse Adoptium" />
    +
    +          <property name="maven.home" value="/home/vsts/work/1/s/.maven" />
    +
    +          <property name="file.separator" value="/" />
    +
    +          <property name="java.version.date" value="2024-01-16" />
    +
    +          <property name="java.vendor.url.bug" value="https://github.com/adoptium/adoptium-support/issues" />
    +
    +          <property name="sun.cpu.endian" value="little" />
    +
    +          <property name="sun.io.unicode.encoding" value="UnicodeLittle" />
    +
    +          <property name="sun.font.fontmanager" value="sun.awt.X11FontManager" />
    +
    +          <property name="java.vendor.version" value="Temurin-17.0.10+7" />
    +
    +      </properties>
    +
    +      <testcase classname="org.jacoco.report.internal.html.table.TableTest" name="testDefaultSorting" time="0.015" />
    +
    +      <testcase classname="org.jacoco.report.internal.html.table.TableTest" name="testInvisible" time="0.001" />
    +
    +      <testcase classname="org.jacoco.report.internal.html.table.TableTest" name="testTwoDefaultSorts" time="0" />
    +
    +      <testcase classname="org.jacoco.report.internal.html.table.TableTest" name="testCallbackSequence" time="0.001" />
    +
    +      <testcase classname="org.jacoco.report.internal.html.table.TableTest" name="testSortIds" time="0.024" />
    +
    +  </testsuite>
    +  <testsuite errors="0" failures="0" id="165" name="XMLElementTest" package="org.jacoco.report.internal.xml" skipped="0" tests="19" time="0.007" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="https://maven.apache.org/surefire/maven-surefire-plugin/xsd/surefire-test-report.xsd">
    +      <properties>
    +          <property name="jansi.mode" value="strip" />
    +
    +          <property name="java.runtime.name" value="OpenJDK Runtime Environment" />
    +
    +          <property name="java.vm.version" value="17.0.10+7" />
    +
    +          <property name="sun.boot.library.path" value="/usr/lib/jvm/temurin-17-jdk-amd64/lib" />
    +
    +          <property name="maven.multiModuleProjectDirectory" value="/home/vsts/work/1/s/org.jacoco.build" />
    +
    +          <property name="java.vm.vendor" value="Eclipse Adoptium" />
    +
    +          <property name="jdk.version" value="5" />
    +
    +          <property name="java.vendor.url" value="https://adoptium.net/" />
    +
    +          <property name="path.separator" value=":" />
    +
    +          <property name="guice.disable.misplaced.annotation.check" value="true" />
    +
    +          <property name="java.vm.name" value="OpenJDK 64-Bit Server VM" />
    +
    +          <property name="sun.java.launcher" value="SUN_STANDARD" />
    +
    +          <property name="user.dir" value="/home/vsts/work/1/s" />
    +
    +          <property name="java.vm.compressedOopsMode" value="32-bit" />
    +
    +          <property name="java.vm.specification.name" value="Java Virtual Machine Specification" />
    +
    +          <property name="java.runtime.version" value="17.0.10+7" />
    +
    +          <property name="os.arch" value="amd64" />
    +
    +          <property name="java.io.tmpdir" value="/tmp" />
    +
    +          <property name="line.separator" value="&#xa;" />
    +
    +          <property name="java.vm.specification.vendor" value="Oracle Corporation" />
    +
    +          <property name="os.name" value="Linux" />
    +
    +          <property name="classworlds.conf" value="/home/vsts/work/1/s/.maven/bin/m2.conf" />
    +
    +          <property name="sun.jnu.encoding" value="UTF-8" />
    +
    +          <property name="deployAtEnd" value="true" />
    +
    +          <property name="java.library.path" value="/usr/java/packages/lib:/usr/lib64:/lib64:/lib:/usr/lib" />
    +
    +          <property name="maven.conf" value="/home/vsts/work/1/s/.maven/conf" />
    +
    +          <property name="jdk.debug" value="release" />
    +
    +          <property name="java.class.version" value="61.0" />
    +
    +          <property name="java.specification.name" value="Java Platform API Specification" />
    +
    +          <property name="sun.management.compiler" value="HotSpot 64-Bit Tiered Compilers" />
    +
    +          <property name="os.version" value="5.15.0-1059-azure" />
    +
    +          <property name="library.jansi.path" value="/home/vsts/work/1/s/.maven/lib/jansi-native" />
    +
    +          <property name="user.home" value="/home/vsts" />
    +
    +          <property name="user.timezone" value="Etc/UTC" />
    +
    +          <property name="file.encoding" value="UTF-8" />
    +
    +          <property name="java.specification.version" value="17" />
    +
    +          <property name="java.class.path" value="/home/vsts/work/1/s/.maven/boot/plexus-classworlds-2.6.0.jar" />
    +
    +          <property name="user.name" value="vsts" />
    +
    +          <property name="bytecode.version" value="5" />
    +
    +          <property name="java.vm.specification.version" value="17" />
    +
    +          <property name="sun.arch.data.model" value="64" />
    +
    +          <property name="sun.java.command" value="org.codehaus.plexus.classworlds.launcher.Launcher -V -B -e --no-transfer-progress -f org.jacoco.build verify -Djdk.version=5 -Dbytecode.version=5 deploy:deploy -DdeployAtEnd --toolchains=toolchains.xml --settings=.azure-pipelines/maven-settings.xml" />
    +
    +          <property name="java.home" value="/usr/lib/jvm/temurin-17-jdk-amd64" />
    +
    +          <property name="user.language" value="en" />
    +
    +          <property name="java.specification.vendor" value="Oracle Corporation" />
    +
    +          <property name="java.vm.info" value="mixed mode, sharing" />
    +
    +          <property name="java.version" value="17.0.10" />
    +
    +          <property name="native.encoding" value="UTF-8" />
    +
    +          <property name="securerandom.source" value="file:/dev/./urandom" />
    +
    +          <property name="java.vendor" value="Eclipse Adoptium" />
    +
    +          <property name="maven.home" value="/home/vsts/work/1/s/.maven" />
    +
    +          <property name="file.separator" value="/" />
    +
    +          <property name="java.version.date" value="2024-01-16" />
    +
    +          <property name="java.vendor.url.bug" value="https://github.com/adoptium/adoptium-support/issues" />
    +
    +          <property name="sun.cpu.endian" value="little" />
    +
    +          <property name="sun.io.unicode.encoding" value="UnicodeLittle" />
    +
    +          <property name="sun.font.fontmanager" value="sun.awt.X11FontManager" />
    +
    +          <property name="java.vendor.version" value="Temurin-17.0.10+7" />
    +
    +      </properties>
    +
    +      <testcase classname="org.jacoco.report.internal.xml.XMLElementTest" name="attr_should_throw_exception_when_closed" time="0" />
    +
    +      <testcase classname="org.jacoco.report.internal.xml.XMLElementTest" name="text_should_emit_text" time="0.001" />
    +
    +      <testcase classname="org.jacoco.report.internal.xml.XMLElementTest" name="close_should_be_allowed_multiple_times" time="0" />
    +
    +      <testcase classname="org.jacoco.report.internal.xml.XMLElementTest" name="element_should_emit_nested_element" time="0" />
    +
    +      <testcase classname="org.jacoco.report.internal.xml.XMLElementTest" name="attr_should_throw_exception_when_text_was_added" time="0" />
    +
    +      <testcase classname="org.jacoco.report.internal.xml.XMLElementTest" name="text_should_allow_mixing_with_elements" time="0" />
    +
    +      <testcase classname="org.jacoco.report.internal.xml.XMLElementTest" name="attr_should_quote_string_value" time="0.001" />
    +
    +      <testcase classname="org.jacoco.report.internal.xml.XMLElementTest" name="attr_should_emit_string_value" time="0" />
    +
    +      <testcase classname="org.jacoco.report.internal.xml.XMLElementTest" name="attr_should_throw_exception_when_child_was_added" time="0" />
    +
    +      <testcase classname="org.jacoco.report.internal.xml.XMLElementTest" name="close_should_emit_empty_element_when_no_children_exist" time="0" />
    +
    +      <testcase classname="org.jacoco.report.internal.xml.XMLElementTest" name="text_should_throw_exception_when_closed" time="0" />
    +
    +      <testcase classname="org.jacoco.report.internal.xml.XMLElementTest" name="init_should_write_standalone_when_given" time="0.001" />
    +
    +      <testcase classname="org.jacoco.report.internal.xml.XMLElementTest" name="attr_should_emit_int_value" time="0" />
    +
    +      <testcase classname="org.jacoco.report.internal.xml.XMLElementTest" name="init_should_write_doctype_when_given" time="0" />
    +
    +      <testcase classname="org.jacoco.report.internal.xml.XMLElementTest" name="element_should_allow_multiple_nested_elements" time="0" />
    +
    +      <testcase classname="org.jacoco.report.internal.xml.XMLElementTest" name="element_should_throw_exception_when_closed" time="0.001" />
    +
    +      <testcase classname="org.jacoco.report.internal.xml.XMLElementTest" name="attr_should_ignore_call_when_value_is_null" time="0" />
    +
    +      <testcase classname="org.jacoco.report.internal.xml.XMLElementTest" name="attr_should_emit_long_value" time="0" />
    +
    +      <testcase classname="org.jacoco.report.internal.xml.XMLElementTest" name="test_should_be_quoted" time="0" />
    +
    +  </testsuite>
    +  <testsuite errors="0" failures="0" id="166" name="XMLGroupVisitorTest" package="org.jacoco.report.internal.xml" skipped="0" tests="3" time="0.021" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="https://maven.apache.org/surefire/maven-surefire-plugin/xsd/surefire-test-report.xsd">
    +      <properties>
    +          <property name="jansi.mode" value="strip" />
    +
    +          <property name="java.runtime.name" value="OpenJDK Runtime Environment" />
    +
    +          <property name="java.vm.version" value="17.0.10+7" />
    +
    +          <property name="sun.boot.library.path" value="/usr/lib/jvm/temurin-17-jdk-amd64/lib" />
    +
    +          <property name="maven.multiModuleProjectDirectory" value="/home/vsts/work/1/s/org.jacoco.build" />
    +
    +          <property name="java.vm.vendor" value="Eclipse Adoptium" />
    +
    +          <property name="jdk.version" value="5" />
    +
    +          <property name="java.vendor.url" value="https://adoptium.net/" />
    +
    +          <property name="path.separator" value=":" />
    +
    +          <property name="guice.disable.misplaced.annotation.check" value="true" />
    +
    +          <property name="java.vm.name" value="OpenJDK 64-Bit Server VM" />
    +
    +          <property name="sun.java.launcher" value="SUN_STANDARD" />
    +
    +          <property name="user.dir" value="/home/vsts/work/1/s" />
    +
    +          <property name="java.vm.compressedOopsMode" value="32-bit" />
    +
    +          <property name="java.vm.specification.name" value="Java Virtual Machine Specification" />
    +
    +          <property name="java.runtime.version" value="17.0.10+7" />
    +
    +          <property name="os.arch" value="amd64" />
    +
    +          <property name="java.io.tmpdir" value="/tmp" />
    +
    +          <property name="line.separator" value="&#xa;" />
    +
    +          <property name="java.vm.specification.vendor" value="Oracle Corporation" />
    +
    +          <property name="os.name" value="Linux" />
    +
    +          <property name="classworlds.conf" value="/home/vsts/work/1/s/.maven/bin/m2.conf" />
    +
    +          <property name="sun.jnu.encoding" value="UTF-8" />
    +
    +          <property name="deployAtEnd" value="true" />
    +
    +          <property name="java.library.path" value="/usr/java/packages/lib:/usr/lib64:/lib64:/lib:/usr/lib" />
    +
    +          <property name="maven.conf" value="/home/vsts/work/1/s/.maven/conf" />
    +
    +          <property name="jdk.debug" value="release" />
    +
    +          <property name="java.class.version" value="61.0" />
    +
    +          <property name="java.specification.name" value="Java Platform API Specification" />
    +
    +          <property name="sun.management.compiler" value="HotSpot 64-Bit Tiered Compilers" />
    +
    +          <property name="os.version" value="5.15.0-1059-azure" />
    +
    +          <property name="library.jansi.path" value="/home/vsts/work/1/s/.maven/lib/jansi-native" />
    +
    +          <property name="user.home" value="/home/vsts" />
    +
    +          <property name="user.timezone" value="Etc/UTC" />
    +
    +          <property name="file.encoding" value="UTF-8" />
    +
    +          <property name="java.specification.version" value="17" />
    +
    +          <property name="java.class.path" value="/home/vsts/work/1/s/.maven/boot/plexus-classworlds-2.6.0.jar" />
    +
    +          <property name="user.name" value="vsts" />
    +
    +          <property name="bytecode.version" value="5" />
    +
    +          <property name="java.vm.specification.version" value="17" />
    +
    +          <property name="sun.arch.data.model" value="64" />
    +
    +          <property name="sun.java.command" value="org.codehaus.plexus.classworlds.launcher.Launcher -V -B -e --no-transfer-progress -f org.jacoco.build verify -Djdk.version=5 -Dbytecode.version=5 deploy:deploy -DdeployAtEnd --toolchains=toolchains.xml --settings=.azure-pipelines/maven-settings.xml" />
    +
    +          <property name="java.home" value="/usr/lib/jvm/temurin-17-jdk-amd64" />
    +
    +          <property name="user.language" value="en" />
    +
    +          <property name="java.specification.vendor" value="Oracle Corporation" />
    +
    +          <property name="java.vm.info" value="mixed mode, sharing" />
    +
    +          <property name="java.version" value="17.0.10" />
    +
    +          <property name="native.encoding" value="UTF-8" />
    +
    +          <property name="securerandom.source" value="file:/dev/./urandom" />
    +
    +          <property name="java.vendor" value="Eclipse Adoptium" />
    +
    +          <property name="maven.home" value="/home/vsts/work/1/s/.maven" />
    +
    +          <property name="file.separator" value="/" />
    +
    +          <property name="java.version.date" value="2024-01-16" />
    +
    +          <property name="java.vendor.url.bug" value="https://github.com/adoptium/adoptium-support/issues" />
    +
    +          <property name="sun.cpu.endian" value="little" />
    +
    +          <property name="sun.io.unicode.encoding" value="UnicodeLittle" />
    +
    +          <property name="sun.font.fontmanager" value="sun.awt.X11FontManager" />
    +
    +          <property name="java.vendor.version" value="Temurin-17.0.10+7" />
    +
    +      </properties>
    +
    +      <testcase classname="org.jacoco.report.internal.xml.XMLGroupVisitorTest" name="testVisitEnd" time="0.007" />
    +
    +      <testcase classname="org.jacoco.report.internal.xml.XMLGroupVisitorTest" name="testVisitBundle" time="0.004" />
    +
    +      <testcase classname="org.jacoco.report.internal.xml.XMLGroupVisitorTest" name="testVisitGroup" time="0.004" />
    +
    +  </testsuite>
    +  <testsuite errors="0" failures="0" id="167" name="XMLFormatterTest" package="org.jacoco.report.xml" skipped="0" tests="6" time="0.251" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="https://maven.apache.org/surefire/maven-surefire-plugin/xsd/surefire-test-report.xsd">
    +      <properties>
    +          <property name="jansi.mode" value="strip" />
    +
    +          <property name="java.runtime.name" value="OpenJDK Runtime Environment" />
    +
    +          <property name="java.vm.version" value="17.0.10+7" />
    +
    +          <property name="sun.boot.library.path" value="/usr/lib/jvm/temurin-17-jdk-amd64/lib" />
    +
    +          <property name="maven.multiModuleProjectDirectory" value="/home/vsts/work/1/s/org.jacoco.build" />
    +
    +          <property name="java.vm.vendor" value="Eclipse Adoptium" />
    +
    +          <property name="jdk.version" value="5" />
    +
    +          <property name="java.vendor.url" value="https://adoptium.net/" />
    +
    +          <property name="path.separator" value=":" />
    +
    +          <property name="guice.disable.misplaced.annotation.check" value="true" />
    +
    +          <property name="java.vm.name" value="OpenJDK 64-Bit Server VM" />
    +
    +          <property name="sun.java.launcher" value="SUN_STANDARD" />
    +
    +          <property name="user.dir" value="/home/vsts/work/1/s" />
    +
    +          <property name="java.vm.compressedOopsMode" value="32-bit" />
    +
    +          <property name="java.vm.specification.name" value="Java Virtual Machine Specification" />
    +
    +          <property name="java.runtime.version" value="17.0.10+7" />
    +
    +          <property name="os.arch" value="amd64" />
    +
    +          <property name="java.io.tmpdir" value="/tmp" />
    +
    +          <property name="line.separator" value="&#xa;" />
    +
    +          <property name="java.vm.specification.vendor" value="Oracle Corporation" />
    +
    +          <property name="os.name" value="Linux" />
    +
    +          <property name="classworlds.conf" value="/home/vsts/work/1/s/.maven/bin/m2.conf" />
    +
    +          <property name="sun.jnu.encoding" value="UTF-8" />
    +
    +          <property name="deployAtEnd" value="true" />
    +
    +          <property name="java.library.path" value="/usr/java/packages/lib:/usr/lib64:/lib64:/lib:/usr/lib" />
    +
    +          <property name="maven.conf" value="/home/vsts/work/1/s/.maven/conf" />
    +
    +          <property name="jdk.debug" value="release" />
    +
    +          <property name="java.class.version" value="61.0" />
    +
    +          <property name="java.specification.name" value="Java Platform API Specification" />
    +
    +          <property name="sun.management.compiler" value="HotSpot 64-Bit Tiered Compilers" />
    +
    +          <property name="os.version" value="5.15.0-1059-azure" />
    +
    +          <property name="library.jansi.path" value="/home/vsts/work/1/s/.maven/lib/jansi-native" />
    +
    +          <property name="user.home" value="/home/vsts" />
    +
    +          <property name="user.timezone" value="Etc/UTC" />
    +
    +          <property name="file.encoding" value="UTF-8" />
    +
    +          <property name="java.specification.version" value="17" />
    +
    +          <property name="java.class.path" value="/home/vsts/work/1/s/.maven/boot/plexus-classworlds-2.6.0.jar" />
    +
    +          <property name="user.name" value="vsts" />
    +
    +          <property name="bytecode.version" value="5" />
    +
    +          <property name="java.vm.specification.version" value="17" />
    +
    +          <property name="sun.arch.data.model" value="64" />
    +
    +          <property name="sun.java.command" value="org.codehaus.plexus.classworlds.launcher.Launcher -V -B -e --no-transfer-progress -f org.jacoco.build verify -Djdk.version=5 -Dbytecode.version=5 deploy:deploy -DdeployAtEnd --toolchains=toolchains.xml --settings=.azure-pipelines/maven-settings.xml" />
    +
    +          <property name="java.home" value="/usr/lib/jvm/temurin-17-jdk-amd64" />
    +
    +          <property name="user.language" value="en" />
    +
    +          <property name="java.specification.vendor" value="Oracle Corporation" />
    +
    +          <property name="java.vm.info" value="mixed mode, sharing" />
    +
    +          <property name="java.version" value="17.0.10" />
    +
    +          <property name="native.encoding" value="UTF-8" />
    +
    +          <property name="securerandom.source" value="file:/dev/./urandom" />
    +
    +          <property name="java.vendor" value="Eclipse Adoptium" />
    +
    +          <property name="maven.home" value="/home/vsts/work/1/s/.maven" />
    +
    +          <property name="file.separator" value="/" />
    +
    +          <property name="java.version.date" value="2024-01-16" />
    +
    +          <property name="java.vendor.url.bug" value="https://github.com/adoptium/adoptium-support/issues" />
    +
    +          <property name="sun.cpu.endian" value="little" />
    +
    +          <property name="sun.io.unicode.encoding" value="UnicodeLittle" />
    +
    +          <property name="sun.font.fontmanager" value="sun.awt.X11FontManager" />
    +
    +          <property name="java.vendor.version" value="Temurin-17.0.10+7" />
    +
    +      </properties>
    +
    +      <testcase classname="org.jacoco.report.xml.XMLFormatterTest" name="testSetEncoding" time="0.002" />
    +
    +      <testcase classname="org.jacoco.report.xml.XMLFormatterTest" name="testDefaultEncoding" time="0.001" />
    +
    +      <testcase classname="org.jacoco.report.xml.XMLFormatterTest" name="testSessionInfo" time="0.014" />
    +
    +      <testcase classname="org.jacoco.report.xml.XMLFormatterTest" name="testStructureWithNestedGroups" time="0.046" />
    +
    +      <testcase classname="org.jacoco.report.xml.XMLFormatterTest" name="testStructureWithGroup" time="0.094" />
    +
    +      <testcase classname="org.jacoco.report.xml.XMLFormatterTest" name="testStructureWithBundleOnly" time="0.093" />
    +
    +  </testsuite>
    +  <testsuite errors="0" failures="0" id="168" name="ClassInfoTest" package="org.jacoco.examples" skipped="0" tests="1" time="0.111" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="https://maven.apache.org/surefire/maven-surefire-plugin/xsd/surefire-test-report.xsd">
    +      <properties>
    +          <property name="jansi.mode" value="strip" />
    +
    +          <property name="java.runtime.name" value="OpenJDK Runtime Environment" />
    +
    +          <property name="java.vm.version" value="17.0.10+7" />
    +
    +          <property name="sun.boot.library.path" value="/usr/lib/jvm/temurin-17-jdk-amd64/lib" />
    +
    +          <property name="maven.multiModuleProjectDirectory" value="/home/vsts/work/1/s/org.jacoco.build" />
    +
    +          <property name="java.vm.vendor" value="Eclipse Adoptium" />
    +
    +          <property name="jdk.version" value="5" />
    +
    +          <property name="java.vendor.url" value="https://adoptium.net/" />
    +
    +          <property name="path.separator" value=":" />
    +
    +          <property name="guice.disable.misplaced.annotation.check" value="true" />
    +
    +          <property name="java.vm.name" value="OpenJDK 64-Bit Server VM" />
    +
    +          <property name="sun.java.launcher" value="SUN_STANDARD" />
    +
    +          <property name="user.dir" value="/home/vsts/work/1/s" />
    +
    +          <property name="java.vm.compressedOopsMode" value="32-bit" />
    +
    +          <property name="java.vm.specification.name" value="Java Virtual Machine Specification" />
    +
    +          <property name="java.runtime.version" value="17.0.10+7" />
    +
    +          <property name="os.arch" value="amd64" />
    +
    +          <property name="java.io.tmpdir" value="/tmp" />
    +
    +          <property name="line.separator" value="&#xa;" />
    +
    +          <property name="java.vm.specification.vendor" value="Oracle Corporation" />
    +
    +          <property name="os.name" value="Linux" />
    +
    +          <property name="classworlds.conf" value="/home/vsts/work/1/s/.maven/bin/m2.conf" />
    +
    +          <property name="sun.jnu.encoding" value="UTF-8" />
    +
    +          <property name="deployAtEnd" value="true" />
    +
    +          <property name="java.library.path" value="/usr/java/packages/lib:/usr/lib64:/lib64:/lib:/usr/lib" />
    +
    +          <property name="maven.conf" value="/home/vsts/work/1/s/.maven/conf" />
    +
    +          <property name="jdk.debug" value="release" />
    +
    +          <property name="java.class.version" value="61.0" />
    +
    +          <property name="java.specification.name" value="Java Platform API Specification" />
    +
    +          <property name="sun.management.compiler" value="HotSpot 64-Bit Tiered Compilers" />
    +
    +          <property name="os.version" value="5.15.0-1059-azure" />
    +
    +          <property name="library.jansi.path" value="/home/vsts/work/1/s/.maven/lib/jansi-native" />
    +
    +          <property name="user.home" value="/home/vsts" />
    +
    +          <property name="user.timezone" value="Etc/UTC" />
    +
    +          <property name="file.encoding" value="UTF-8" />
    +
    +          <property name="java.specification.version" value="17" />
    +
    +          <property name="java.class.path" value="/home/vsts/work/1/s/.maven/boot/plexus-classworlds-2.6.0.jar" />
    +
    +          <property name="user.name" value="vsts" />
    +
    +          <property name="bytecode.version" value="5" />
    +
    +          <property name="java.vm.specification.version" value="17" />
    +
    +          <property name="sun.arch.data.model" value="64" />
    +
    +          <property name="sun.java.command" value="org.codehaus.plexus.classworlds.launcher.Launcher -V -B -e --no-transfer-progress -f org.jacoco.build verify -Djdk.version=5 -Dbytecode.version=5 deploy:deploy -DdeployAtEnd --toolchains=toolchains.xml --settings=.azure-pipelines/maven-settings.xml" />
    +
    +          <property name="java.home" value="/usr/lib/jvm/temurin-17-jdk-amd64" />
    +
    +          <property name="user.language" value="en" />
    +
    +          <property name="java.specification.vendor" value="Oracle Corporation" />
    +
    +          <property name="java.vm.info" value="mixed mode, sharing" />
    +
    +          <property name="java.version" value="17.0.10" />
    +
    +          <property name="native.encoding" value="UTF-8" />
    +
    +          <property name="securerandom.source" value="file:/dev/./urandom" />
    +
    +          <property name="java.vendor" value="Eclipse Adoptium" />
    +
    +          <property name="maven.home" value="/home/vsts/work/1/s/.maven" />
    +
    +          <property name="file.separator" value="/" />
    +
    +          <property name="java.version.date" value="2024-01-16" />
    +
    +          <property name="java.vendor.url.bug" value="https://github.com/adoptium/adoptium-support/issues" />
    +
    +          <property name="sun.cpu.endian" value="little" />
    +
    +          <property name="sun.io.unicode.encoding" value="UnicodeLittle" />
    +
    +          <property name="sun.font.fontmanager" value="sun.awt.X11FontManager" />
    +
    +          <property name="java.vendor.version" value="Temurin-17.0.10+7" />
    +
    +      </properties>
    +
    +      <testcase classname="org.jacoco.examples.ClassInfoTest" name="testRunExample" time="0.072" />
    +
    +  </testsuite>
    +  <testsuite errors="0" failures="0" id="169" name="CoreTutorialTest" package="org.jacoco.examples" skipped="0" tests="1" time="0.038" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="https://maven.apache.org/surefire/maven-surefire-plugin/xsd/surefire-test-report.xsd">
    +      <properties>
    +          <property name="jansi.mode" value="strip" />
    +
    +          <property name="java.runtime.name" value="OpenJDK Runtime Environment" />
    +
    +          <property name="java.vm.version" value="17.0.10+7" />
    +
    +          <property name="sun.boot.library.path" value="/usr/lib/jvm/temurin-17-jdk-amd64/lib" />
    +
    +          <property name="maven.multiModuleProjectDirectory" value="/home/vsts/work/1/s/org.jacoco.build" />
    +
    +          <property name="java.vm.vendor" value="Eclipse Adoptium" />
    +
    +          <property name="jdk.version" value="5" />
    +
    +          <property name="java.vendor.url" value="https://adoptium.net/" />
    +
    +          <property name="path.separator" value=":" />
    +
    +          <property name="guice.disable.misplaced.annotation.check" value="true" />
    +
    +          <property name="java.vm.name" value="OpenJDK 64-Bit Server VM" />
    +
    +          <property name="sun.java.launcher" value="SUN_STANDARD" />
    +
    +          <property name="user.dir" value="/home/vsts/work/1/s" />
    +
    +          <property name="java.vm.compressedOopsMode" value="32-bit" />
    +
    +          <property name="java.vm.specification.name" value="Java Virtual Machine Specification" />
    +
    +          <property name="java.runtime.version" value="17.0.10+7" />
    +
    +          <property name="os.arch" value="amd64" />
    +
    +          <property name="java.io.tmpdir" value="/tmp" />
    +
    +          <property name="line.separator" value="&#xa;" />
    +
    +          <property name="java.vm.specification.vendor" value="Oracle Corporation" />
    +
    +          <property name="os.name" value="Linux" />
    +
    +          <property name="classworlds.conf" value="/home/vsts/work/1/s/.maven/bin/m2.conf" />
    +
    +          <property name="sun.jnu.encoding" value="UTF-8" />
    +
    +          <property name="deployAtEnd" value="true" />
    +
    +          <property name="java.library.path" value="/usr/java/packages/lib:/usr/lib64:/lib64:/lib:/usr/lib" />
    +
    +          <property name="maven.conf" value="/home/vsts/work/1/s/.maven/conf" />
    +
    +          <property name="jdk.debug" value="release" />
    +
    +          <property name="java.class.version" value="61.0" />
    +
    +          <property name="java.specification.name" value="Java Platform API Specification" />
    +
    +          <property name="sun.management.compiler" value="HotSpot 64-Bit Tiered Compilers" />
    +
    +          <property name="os.version" value="5.15.0-1059-azure" />
    +
    +          <property name="library.jansi.path" value="/home/vsts/work/1/s/.maven/lib/jansi-native" />
    +
    +          <property name="user.home" value="/home/vsts" />
    +
    +          <property name="user.timezone" value="Etc/UTC" />
    +
    +          <property name="file.encoding" value="UTF-8" />
    +
    +          <property name="java.specification.version" value="17" />
    +
    +          <property name="java.class.path" value="/home/vsts/work/1/s/.maven/boot/plexus-classworlds-2.6.0.jar" />
    +
    +          <property name="user.name" value="vsts" />
    +
    +          <property name="bytecode.version" value="5" />
    +
    +          <property name="java.vm.specification.version" value="17" />
    +
    +          <property name="sun.arch.data.model" value="64" />
    +
    +          <property name="sun.java.command" value="org.codehaus.plexus.classworlds.launcher.Launcher -V -B -e --no-transfer-progress -f org.jacoco.build verify -Djdk.version=5 -Dbytecode.version=5 deploy:deploy -DdeployAtEnd --toolchains=toolchains.xml --settings=.azure-pipelines/maven-settings.xml" />
    +
    +          <property name="java.home" value="/usr/lib/jvm/temurin-17-jdk-amd64" />
    +
    +          <property name="user.language" value="en" />
    +
    +          <property name="java.specification.vendor" value="Oracle Corporation" />
    +
    +          <property name="java.vm.info" value="mixed mode, sharing" />
    +
    +          <property name="java.version" value="17.0.10" />
    +
    +          <property name="native.encoding" value="UTF-8" />
    +
    +          <property name="securerandom.source" value="file:/dev/./urandom" />
    +
    +          <property name="java.vendor" value="Eclipse Adoptium" />
    +
    +          <property name="maven.home" value="/home/vsts/work/1/s/.maven" />
    +
    +          <property name="file.separator" value="/" />
    +
    +          <property name="java.version.date" value="2024-01-16" />
    +
    +          <property name="java.vendor.url.bug" value="https://github.com/adoptium/adoptium-support/issues" />
    +
    +          <property name="sun.cpu.endian" value="little" />
    +
    +          <property name="sun.io.unicode.encoding" value="UnicodeLittle" />
    +
    +          <property name="sun.font.fontmanager" value="sun.awt.X11FontManager" />
    +
    +          <property name="java.vendor.version" value="Temurin-17.0.10+7" />
    +
    +      </properties>
    +
    +      <testcase classname="org.jacoco.examples.CoreTutorialTest" name="testRunExample" time="0.037" />
    +
    +  </testsuite>
    +  <testsuite errors="0" failures="0" id="170" name="ExecDumpTest" package="org.jacoco.examples" skipped="0" tests="1" time="0.014" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="https://maven.apache.org/surefire/maven-surefire-plugin/xsd/surefire-test-report.xsd">
    +      <properties>
    +          <property name="jansi.mode" value="strip" />
    +
    +          <property name="java.runtime.name" value="OpenJDK Runtime Environment" />
    +
    +          <property name="java.vm.version" value="17.0.10+7" />
    +
    +          <property name="sun.boot.library.path" value="/usr/lib/jvm/temurin-17-jdk-amd64/lib" />
    +
    +          <property name="maven.multiModuleProjectDirectory" value="/home/vsts/work/1/s/org.jacoco.build" />
    +
    +          <property name="java.vm.vendor" value="Eclipse Adoptium" />
    +
    +          <property name="jdk.version" value="5" />
    +
    +          <property name="java.vendor.url" value="https://adoptium.net/" />
    +
    +          <property name="path.separator" value=":" />
    +
    +          <property name="guice.disable.misplaced.annotation.check" value="true" />
    +
    +          <property name="java.vm.name" value="OpenJDK 64-Bit Server VM" />
    +
    +          <property name="sun.java.launcher" value="SUN_STANDARD" />
    +
    +          <property name="user.dir" value="/home/vsts/work/1/s" />
    +
    +          <property name="java.vm.compressedOopsMode" value="32-bit" />
    +
    +          <property name="java.vm.specification.name" value="Java Virtual Machine Specification" />
    +
    +          <property name="java.runtime.version" value="17.0.10+7" />
    +
    +          <property name="os.arch" value="amd64" />
    +
    +          <property name="java.io.tmpdir" value="/tmp" />
    +
    +          <property name="line.separator" value="&#xa;" />
    +
    +          <property name="java.vm.specification.vendor" value="Oracle Corporation" />
    +
    +          <property name="os.name" value="Linux" />
    +
    +          <property name="classworlds.conf" value="/home/vsts/work/1/s/.maven/bin/m2.conf" />
    +
    +          <property name="sun.jnu.encoding" value="UTF-8" />
    +
    +          <property name="deployAtEnd" value="true" />
    +
    +          <property name="java.library.path" value="/usr/java/packages/lib:/usr/lib64:/lib64:/lib:/usr/lib" />
    +
    +          <property name="maven.conf" value="/home/vsts/work/1/s/.maven/conf" />
    +
    +          <property name="jdk.debug" value="release" />
    +
    +          <property name="java.class.version" value="61.0" />
    +
    +          <property name="java.specification.name" value="Java Platform API Specification" />
    +
    +          <property name="sun.management.compiler" value="HotSpot 64-Bit Tiered Compilers" />
    +
    +          <property name="os.version" value="5.15.0-1059-azure" />
    +
    +          <property name="library.jansi.path" value="/home/vsts/work/1/s/.maven/lib/jansi-native" />
    +
    +          <property name="user.home" value="/home/vsts" />
    +
    +          <property name="user.timezone" value="Etc/UTC" />
    +
    +          <property name="file.encoding" value="UTF-8" />
    +
    +          <property name="java.specification.version" value="17" />
    +
    +          <property name="java.class.path" value="/home/vsts/work/1/s/.maven/boot/plexus-classworlds-2.6.0.jar" />
    +
    +          <property name="user.name" value="vsts" />
    +
    +          <property name="bytecode.version" value="5" />
    +
    +          <property name="java.vm.specification.version" value="17" />
    +
    +          <property name="sun.arch.data.model" value="64" />
    +
    +          <property name="sun.java.command" value="org.codehaus.plexus.classworlds.launcher.Launcher -V -B -e --no-transfer-progress -f org.jacoco.build verify -Djdk.version=5 -Dbytecode.version=5 deploy:deploy -DdeployAtEnd --toolchains=toolchains.xml --settings=.azure-pipelines/maven-settings.xml" />
    +
    +          <property name="java.home" value="/usr/lib/jvm/temurin-17-jdk-amd64" />
    +
    +          <property name="user.language" value="en" />
    +
    +          <property name="java.specification.vendor" value="Oracle Corporation" />
    +
    +          <property name="java.vm.info" value="mixed mode, sharing" />
    +
    +          <property name="java.version" value="17.0.10" />
    +
    +          <property name="native.encoding" value="UTF-8" />
    +
    +          <property name="securerandom.source" value="file:/dev/./urandom" />
    +
    +          <property name="java.vendor" value="Eclipse Adoptium" />
    +
    +          <property name="maven.home" value="/home/vsts/work/1/s/.maven" />
    +
    +          <property name="file.separator" value="/" />
    +
    +          <property name="java.version.date" value="2024-01-16" />
    +
    +          <property name="java.vendor.url.bug" value="https://github.com/adoptium/adoptium-support/issues" />
    +
    +          <property name="sun.cpu.endian" value="little" />
    +
    +          <property name="sun.io.unicode.encoding" value="UnicodeLittle" />
    +
    +          <property name="sun.font.fontmanager" value="sun.awt.X11FontManager" />
    +
    +          <property name="java.vendor.version" value="Temurin-17.0.10+7" />
    +
    +      </properties>
    +
    +      <testcase classname="org.jacoco.examples.ExecDumpTest" name="testRunExample" time="0.011" />
    +
    +  </testsuite>
    +  <testsuite errors="0" failures="0" id="171" name="MBeanClientTest" package="org.jacoco.examples" skipped="0" tests="1" time="0.003" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="https://maven.apache.org/surefire/maven-surefire-plugin/xsd/surefire-test-report.xsd">
    +      <properties>
    +          <property name="jansi.mode" value="strip" />
    +
    +          <property name="java.runtime.name" value="OpenJDK Runtime Environment" />
    +
    +          <property name="java.vm.version" value="17.0.10+7" />
    +
    +          <property name="sun.boot.library.path" value="/usr/lib/jvm/temurin-17-jdk-amd64/lib" />
    +
    +          <property name="maven.multiModuleProjectDirectory" value="/home/vsts/work/1/s/org.jacoco.build" />
    +
    +          <property name="java.vm.vendor" value="Eclipse Adoptium" />
    +
    +          <property name="jdk.version" value="5" />
    +
    +          <property name="java.vendor.url" value="https://adoptium.net/" />
    +
    +          <property name="path.separator" value=":" />
    +
    +          <property name="guice.disable.misplaced.annotation.check" value="true" />
    +
    +          <property name="java.vm.name" value="OpenJDK 64-Bit Server VM" />
    +
    +          <property name="sun.java.launcher" value="SUN_STANDARD" />
    +
    +          <property name="user.dir" value="/home/vsts/work/1/s" />
    +
    +          <property name="java.vm.compressedOopsMode" value="32-bit" />
    +
    +          <property name="java.vm.specification.name" value="Java Virtual Machine Specification" />
    +
    +          <property name="java.runtime.version" value="17.0.10+7" />
    +
    +          <property name="os.arch" value="amd64" />
    +
    +          <property name="java.io.tmpdir" value="/tmp" />
    +
    +          <property name="line.separator" value="&#xa;" />
    +
    +          <property name="java.vm.specification.vendor" value="Oracle Corporation" />
    +
    +          <property name="os.name" value="Linux" />
    +
    +          <property name="classworlds.conf" value="/home/vsts/work/1/s/.maven/bin/m2.conf" />
    +
    +          <property name="sun.jnu.encoding" value="UTF-8" />
    +
    +          <property name="deployAtEnd" value="true" />
    +
    +          <property name="java.library.path" value="/usr/java/packages/lib:/usr/lib64:/lib64:/lib:/usr/lib" />
    +
    +          <property name="maven.conf" value="/home/vsts/work/1/s/.maven/conf" />
    +
    +          <property name="jdk.debug" value="release" />
    +
    +          <property name="java.class.version" value="61.0" />
    +
    +          <property name="java.specification.name" value="Java Platform API Specification" />
    +
    +          <property name="sun.management.compiler" value="HotSpot 64-Bit Tiered Compilers" />
    +
    +          <property name="os.version" value="5.15.0-1059-azure" />
    +
    +          <property name="library.jansi.path" value="/home/vsts/work/1/s/.maven/lib/jansi-native" />
    +
    +          <property name="user.home" value="/home/vsts" />
    +
    +          <property name="user.timezone" value="Etc/UTC" />
    +
    +          <property name="file.encoding" value="UTF-8" />
    +
    +          <property name="java.specification.version" value="17" />
    +
    +          <property name="java.class.path" value="/home/vsts/work/1/s/.maven/boot/plexus-classworlds-2.6.0.jar" />
    +
    +          <property name="user.name" value="vsts" />
    +
    +          <property name="bytecode.version" value="5" />
    +
    +          <property name="java.vm.specification.version" value="17" />
    +
    +          <property name="sun.arch.data.model" value="64" />
    +
    +          <property name="sun.java.command" value="org.codehaus.plexus.classworlds.launcher.Launcher -V -B -e --no-transfer-progress -f org.jacoco.build verify -Djdk.version=5 -Dbytecode.version=5 deploy:deploy -DdeployAtEnd --toolchains=toolchains.xml --settings=.azure-pipelines/maven-settings.xml" />
    +
    +          <property name="java.home" value="/usr/lib/jvm/temurin-17-jdk-amd64" />
    +
    +          <property name="user.language" value="en" />
    +
    +          <property name="java.specification.vendor" value="Oracle Corporation" />
    +
    +          <property name="java.vm.info" value="mixed mode, sharing" />
    +
    +          <property name="java.version" value="17.0.10" />
    +
    +          <property name="native.encoding" value="UTF-8" />
    +
    +          <property name="securerandom.source" value="file:/dev/./urandom" />
    +
    +          <property name="java.vendor" value="Eclipse Adoptium" />
    +
    +          <property name="maven.home" value="/home/vsts/work/1/s/.maven" />
    +
    +          <property name="file.separator" value="/" />
    +
    +          <property name="java.version.date" value="2024-01-16" />
    +
    +          <property name="java.vendor.url.bug" value="https://github.com/adoptium/adoptium-support/issues" />
    +
    +          <property name="sun.cpu.endian" value="little" />
    +
    +          <property name="sun.io.unicode.encoding" value="UnicodeLittle" />
    +
    +          <property name="sun.font.fontmanager" value="sun.awt.X11FontManager" />
    +
    +          <property name="java.vendor.version" value="Temurin-17.0.10+7" />
    +
    +      </properties>
    +
    +      <testcase classname="org.jacoco.examples.MBeanClientTest" name="testMBeanInterfaceCompatibility" time="0.002" />
    +
    +  </testsuite>
    +</testsuites>
    diff --git a/jacoco/trunk/test/index.html b/jacoco/trunk/test/index.html
    new file mode 100644
    index 00000000000..33bd72188a3
    --- /dev/null
    +++ b/jacoco/trunk/test/index.html
    @@ -0,0 +1,16477 @@
    +<?xml version="1.0" encoding="UTF-8"?>
    +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
    +<html xmlns="http://www.w3.org/1999/xhtml">
    +    <head>
    +        <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
    +        <link rel="stylesheet" href="../doc/resources/doc.css" charset="UTF-8" type="text/css" />
    +        <link rel="shortcut icon" href="../doc/resources/report.gif" type="image/gif" />
    +        <title>JaCoCo - JUnit Test Results</title>
    +        <style type="text/css">
    +      .Error {
    +        font-weight:bold; color:red;
    +      }
    +      .Failure {
    +        font-weight:bold; color:purple;
    +      }
    +      </style>
    +    </head>
    +    <body>
    +        <div id="content">
    +            <a name="top" />
    +            <div class="breadcrumb">
    +                <a href="../index.html" class="el_report">JaCoCo</a>
    +                 &gt;
    +		
    +                <span class="el_testsuite">JUnit Test Results</span>
    +            </div>
    +            <h1>JUnit Test Results</h1>
    +            <h2>Summary</h2>
    +            <table class="coverage">
    +                <thead>
    +                    <tr valign="top">
    +                        <td>Tests</td>
    +                        <td>Failures</td>
    +                        <td>Errors</td>
    +                        <td>Success rate</td>
    +                        <td>Time</td>
    +                    </tr>
    +                </thead>
    +                <tbody>
    +                    <tr valign="top" class="">
    +                        <td>1433</td>
    +                        <td>0</td>
    +                        <td>0</td>
    +                        <td>100.00%</td>
    +                        <td>17.535</td>
    +                    </tr>
    +                </tbody>
    +            </table>
    +            <p class="hint">
    +                        Note: 
    +                <i>failures</i>
    +                 are anticipated and checked for with assertions while 
    +                <i>errors</i>
    +                 are unanticipated.
    +    
    +            </p>
    +            <h2>Packages</h2>
    +            <table class="coverage">
    +                <thead>
    +                    <tr>
    +                        <td>Name</td>
    +                        <td>Tests</td>
    +                        <td>Errors</td>
    +                        <td>Failures</td>
    +                        <td>Time(s)</td>
    +                    </tr>
    +                </thead>
    +                <tbody>
    +                    <tr valign="top" class="">
    +                        <td style="width:24em">
    +                            <a href="#org.jacoco.agent" class="el_testsuite">org.jacoco.agent</a>
    +                        </td>
    +                        <td>5</td>
    +                        <td>0</td>
    +                        <td>0</td>
    +                        <td>0.052</td>
    +                    </tr>
    +                    <tr valign="top" class="">
    +                        <td style="width:24em">
    +                            <a href="#org.jacoco.agent.rt.internal" class="el_testsuite">org.jacoco.agent.rt.internal</a>
    +                        </td>
    +                        <td>48</td>
    +                        <td>0</td>
    +                        <td>0</td>
    +                        <td>0.127</td>
    +                    </tr>
    +                    <tr valign="top" class="">
    +                        <td style="width:24em">
    +                            <a href="#org.jacoco.agent.rt.internal.output" class="el_testsuite">org.jacoco.agent.rt.internal.output</a>
    +                        </td>
    +                        <td>38</td>
    +                        <td>0</td>
    +                        <td>0</td>
    +                        <td>0.347</td>
    +                    </tr>
    +                    <tr valign="top" class="">
    +                        <td style="width:24em">
    +                            <a href="#org.jacoco.ant" class="el_testsuite">org.jacoco.ant</a>
    +                        </td>
    +                        <td>87</td>
    +                        <td>0</td>
    +                        <td>0</td>
    +                        <td>10.734</td>
    +                    </tr>
    +                    <tr valign="top" class="">
    +                        <td style="width:24em">
    +                            <a href="#org.jacoco.cli.internal" class="el_testsuite">org.jacoco.cli.internal</a>
    +                        </td>
    +                        <td>6</td>
    +                        <td>0</td>
    +                        <td>0</td>
    +                        <td>0.263</td>
    +                    </tr>
    +                    <tr valign="top" class="">
    +                        <td style="width:24em">
    +                            <a href="#org.jacoco.cli.internal.commands" class="el_testsuite">org.jacoco.cli.internal.commands</a>
    +                        </td>
    +                        <td>27</td>
    +                        <td>0</td>
    +                        <td>0</td>
    +                        <td>1.734</td>
    +                    </tr>
    +                    <tr valign="top" class="">
    +                        <td style="width:24em">
    +                            <a href="#org.jacoco.core" class="el_testsuite">org.jacoco.core</a>
    +                        </td>
    +                        <td>5</td>
    +                        <td>0</td>
    +                        <td>0</td>
    +                        <td>0.002</td>
    +                    </tr>
    +                    <tr valign="top" class="">
    +                        <td style="width:24em">
    +                            <a href="#org.jacoco.core.analysis" class="el_testsuite">org.jacoco.core.analysis</a>
    +                        </td>
    +                        <td>51</td>
    +                        <td>0</td>
    +                        <td>0</td>
    +                        <td>0.243</td>
    +                    </tr>
    +                    <tr valign="top" class="">
    +                        <td style="width:24em">
    +                            <a href="#org.jacoco.core.data" class="el_testsuite">org.jacoco.core.data</a>
    +                        </td>
    +                        <td>63</td>
    +                        <td>0</td>
    +                        <td>0</td>
    +                        <td>0.066</td>
    +                    </tr>
    +                    <tr valign="top" class="">
    +                        <td style="width:24em">
    +                            <a href="#org.jacoco.core.instr" class="el_testsuite">org.jacoco.core.instr</a>
    +                        </td>
    +                        <td>39</td>
    +                        <td>0</td>
    +                        <td>0</td>
    +                        <td>0.738</td>
    +                    </tr>
    +                    <tr valign="top" class="">
    +                        <td style="width:24em">
    +                            <a href="#org.jacoco.core.internal" class="el_testsuite">org.jacoco.core.internal</a>
    +                        </td>
    +                        <td>33</td>
    +                        <td>0</td>
    +                        <td>0</td>
    +                        <td>0.051</td>
    +                    </tr>
    +                    <tr valign="top" class="">
    +                        <td style="width:24em">
    +                            <a href="#org.jacoco.core.internal.analysis" class="el_testsuite">org.jacoco.core.internal.analysis</a>
    +                        </td>
    +                        <td>190</td>
    +                        <td>0</td>
    +                        <td>0</td>
    +                        <td>0.243</td>
    +                    </tr>
    +                    <tr valign="top" class="">
    +                        <td style="width:24em">
    +                            <a href="#org.jacoco.core.internal.analysis.filter" class="el_testsuite">org.jacoco.core.internal.analysis.filter</a>
    +                        </td>
    +                        <td>145</td>
    +                        <td>0</td>
    +                        <td>0</td>
    +                        <td>0.113</td>
    +                    </tr>
    +                    <tr valign="top" class="">
    +                        <td style="width:24em">
    +                            <a href="#org.jacoco.core.internal.data" class="el_testsuite">org.jacoco.core.internal.data</a>
    +                        </td>
    +                        <td>17</td>
    +                        <td>0</td>
    +                        <td>0</td>
    +                        <td>0.006</td>
    +                    </tr>
    +                    <tr valign="top" class="">
    +                        <td style="width:24em">
    +                            <a href="#org.jacoco.core.internal.flow" class="el_testsuite">org.jacoco.core.internal.flow</a>
    +                        </td>
    +                        <td>78</td>
    +                        <td>0</td>
    +                        <td>0</td>
    +                        <td>0.059</td>
    +                    </tr>
    +                    <tr valign="top" class="">
    +                        <td style="width:24em">
    +                            <a href="#org.jacoco.core.internal.instr" class="el_testsuite">org.jacoco.core.internal.instr</a>
    +                        </td>
    +                        <td>128</td>
    +                        <td>0</td>
    +                        <td>0</td>
    +                        <td>0.122</td>
    +                    </tr>
    +                    <tr valign="top" class="">
    +                        <td style="width:24em">
    +                            <a href="#org.jacoco.core.runtime" class="el_testsuite">org.jacoco.core.runtime</a>
    +                        </td>
    +                        <td>136</td>
    +                        <td>0</td>
    +                        <td>0</td>
    +                        <td>0.056</td>
    +                    </tr>
    +                    <tr valign="top" class="">
    +                        <td style="width:24em">
    +                            <a href="#org.jacoco.core.test" class="el_testsuite">org.jacoco.core.test</a>
    +                        </td>
    +                        <td>1</td>
    +                        <td>0</td>
    +                        <td>0</td>
    +                        <td>0.005</td>
    +                    </tr>
    +                    <tr valign="top" class="">
    +                        <td style="width:24em">
    +                            <a href="#org.jacoco.core.test.validation" class="el_testsuite">org.jacoco.core.test.validation</a>
    +                        </td>
    +                        <td>25</td>
    +                        <td>0</td>
    +                        <td>0</td>
    +                        <td>0.037</td>
    +                    </tr>
    +                    <tr valign="top" class="">
    +                        <td style="width:24em">
    +                            <a href="#org.jacoco.core.tools" class="el_testsuite">org.jacoco.core.tools</a>
    +                        </td>
    +                        <td>11</td>
    +                        <td>0</td>
    +                        <td>0</td>
    +                        <td>0.107</td>
    +                    </tr>
    +                    <tr valign="top" class="">
    +                        <td style="width:24em">
    +                            <a href="#org.jacoco.examples" class="el_testsuite">org.jacoco.examples</a>
    +                        </td>
    +                        <td>4</td>
    +                        <td>0</td>
    +                        <td>0</td>
    +                        <td>0.166</td>
    +                    </tr>
    +                    <tr valign="top" class="">
    +                        <td style="width:24em">
    +                            <a href="#org.jacoco.report" class="el_testsuite">org.jacoco.report</a>
    +                        </td>
    +                        <td>50</td>
    +                        <td>0</td>
    +                        <td>0</td>
    +                        <td>0.081</td>
    +                    </tr>
    +                    <tr valign="top" class="">
    +                        <td style="width:24em">
    +                            <a href="#org.jacoco.report.check" class="el_testsuite">org.jacoco.report.check</a>
    +                        </td>
    +                        <td>47</td>
    +                        <td>0</td>
    +                        <td>0</td>
    +                        <td>0.044</td>
    +                    </tr>
    +                    <tr valign="top" class="">
    +                        <td style="width:24em">
    +                            <a href="#org.jacoco.report.csv" class="el_testsuite">org.jacoco.report.csv</a>
    +                        </td>
    +                        <td>21</td>
    +                        <td>0</td>
    +                        <td>0</td>
    +                        <td>0.031</td>
    +                    </tr>
    +                    <tr valign="top" class="">
    +                        <td style="width:24em">
    +                            <a href="#org.jacoco.report.html" class="el_testsuite">org.jacoco.report.html</a>
    +                        </td>
    +                        <td>8</td>
    +                        <td>0</td>
    +                        <td>0</td>
    +                        <td>0.347</td>
    +                    </tr>
    +                    <tr valign="top" class="">
    +                        <td style="width:24em">
    +                            <a href="#org.jacoco.report.internal" class="el_testsuite">org.jacoco.report.internal</a>
    +                        </td>
    +                        <td>14</td>
    +                        <td>0</td>
    +                        <td>0</td>
    +                        <td>0.006</td>
    +                    </tr>
    +                    <tr valign="top" class="">
    +                        <td style="width:24em">
    +                            <a href="#org.jacoco.report.internal.html" class="el_testsuite">org.jacoco.report.internal.html</a>
    +                        </td>
    +                        <td>29</td>
    +                        <td>0</td>
    +                        <td>0</td>
    +                        <td>0.028</td>
    +                    </tr>
    +                    <tr valign="top" class="">
    +                        <td style="width:24em">
    +                            <a href="#org.jacoco.report.internal.html.page" class="el_testsuite">org.jacoco.report.internal.html.page</a>
    +                        </td>
    +                        <td>48</td>
    +                        <td>0</td>
    +                        <td>0</td>
    +                        <td>1.074</td>
    +                    </tr>
    +                    <tr valign="top" class="">
    +                        <td style="width:24em">
    +                            <a href="#org.jacoco.report.internal.html.resources" class="el_testsuite">org.jacoco.report.internal.html.resources</a>
    +                        </td>
    +                        <td>7</td>
    +                        <td>0</td>
    +                        <td>0</td>
    +                        <td>0.027</td>
    +                    </tr>
    +                    <tr valign="top" class="">
    +                        <td style="width:24em">
    +                            <a href="#org.jacoco.report.internal.html.table" class="el_testsuite">org.jacoco.report.internal.html.table</a>
    +                        </td>
    +                        <td>44</td>
    +                        <td>0</td>
    +                        <td>0</td>
    +                        <td>0.347</td>
    +                    </tr>
    +                    <tr valign="top" class="">
    +                        <td style="width:24em">
    +                            <a href="#org.jacoco.report.internal.xml" class="el_testsuite">org.jacoco.report.internal.xml</a>
    +                        </td>
    +                        <td>22</td>
    +                        <td>0</td>
    +                        <td>0</td>
    +                        <td>0.028</td>
    +                    </tr>
    +                    <tr valign="top" class="">
    +                        <td style="width:24em">
    +                            <a href="#org.jacoco.report.xml" class="el_testsuite">org.jacoco.report.xml</a>
    +                        </td>
    +                        <td>6</td>
    +                        <td>0</td>
    +                        <td>0</td>
    +                        <td>0.251</td>
    +                    </tr>
    +                </tbody>
    +            </table>
    +            <p class="hint">
    +        Note: package statistics are not computed recursively, they only sum up all of its testsuites numbers.
    +    </p>
    +            <a name="org.jacoco.agent" />
    +            <h3>Package org.jacoco.agent</h3>
    +            <table class="coverage">
    +                <thead>
    +                    <tr>
    +                        <td>Name</td>
    +                        <td>Tests</td>
    +                        <td>Errors</td>
    +                        <td>Failures</td>
    +                        <td>Time(s)</td>
    +                    </tr>
    +                </thead>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <a href="#AgentJarTest" class="el_testsuite">AgentJarTest</a>
    +                    </td>
    +                    <td>5</td>
    +                    <td>0</td>
    +                    <td>0</td>
    +                    <td>0.052</td>
    +                </tr>
    +            </table>
    +            <p>
    +                <a href="#top">Back to top</a>
    +            </p>
    +            <a name="org.jacoco.agent.rt.internal" />
    +            <h3>Package org.jacoco.agent.rt.internal</h3>
    +            <table class="coverage">
    +                <thead>
    +                    <tr>
    +                        <td>Name</td>
    +                        <td>Tests</td>
    +                        <td>Errors</td>
    +                        <td>Failures</td>
    +                        <td>Time(s)</td>
    +                    </tr>
    +                </thead>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <a href="#AgentModuleTest" class="el_testsuite">AgentModuleTest</a>
    +                    </td>
    +                    <td>2</td>
    +                    <td>0</td>
    +                    <td>0</td>
    +                    <td>0.042</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <a href="#AgentTest" class="el_testsuite">AgentTest</a>
    +                    </td>
    +                    <td>19</td>
    +                    <td>0</td>
    +                    <td>0</td>
    +                    <td>0.039</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <a href="#ClassFileDumperTest" class="el_testsuite">ClassFileDumperTest</a>
    +                    </td>
    +                    <td>3</td>
    +                    <td>0</td>
    +                    <td>0</td>
    +                    <td>0.012</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <a href="#ConfigLoaderTest" class="el_testsuite">ConfigLoaderTest</a>
    +                    </td>
    +                    <td>4</td>
    +                    <td>0</td>
    +                    <td>0</td>
    +                    <td>0.005</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <a href="#CoverageTransformerTest" class="el_testsuite">CoverageTransformerTest</a>
    +                    </td>
    +                    <td>20</td>
    +                    <td>0</td>
    +                    <td>0</td>
    +                    <td>0.029</td>
    +                </tr>
    +            </table>
    +            <p>
    +                <a href="#top">Back to top</a>
    +            </p>
    +            <a name="org.jacoco.agent.rt.internal.output" />
    +            <h3>Package org.jacoco.agent.rt.internal.output</h3>
    +            <table class="coverage">
    +                <thead>
    +                    <tr>
    +                        <td>Name</td>
    +                        <td>Tests</td>
    +                        <td>Errors</td>
    +                        <td>Failures</td>
    +                        <td>Time(s)</td>
    +                    </tr>
    +                </thead>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <a href="#FileOutputTest" class="el_testsuite">FileOutputTest</a>
    +                    </td>
    +                    <td>4</td>
    +                    <td>0</td>
    +                    <td>0</td>
    +                    <td>0.016</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <a href="#MockServerSocketTest" class="el_testsuite">MockServerSocketTest</a>
    +                    </td>
    +                    <td>6</td>
    +                    <td>0</td>
    +                    <td>0</td>
    +                    <td>0.072</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <a href="#MockSocketConnectionTest" class="el_testsuite">MockSocketConnectionTest</a>
    +                    </td>
    +                    <td>10</td>
    +                    <td>0</td>
    +                    <td>0</td>
    +                    <td>0.065</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <a href="#TcpClientOutputTest" class="el_testsuite">TcpClientOutputTest</a>
    +                    </td>
    +                    <td>4</td>
    +                    <td>0</td>
    +                    <td>0</td>
    +                    <td>0.043</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <a href="#TcpConnectionTest" class="el_testsuite">TcpConnectionTest</a>
    +                    </td>
    +                    <td>8</td>
    +                    <td>0</td>
    +                    <td>0</td>
    +                    <td>0.100</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <a href="#TcpServerOutputTest" class="el_testsuite">TcpServerOutputTest</a>
    +                    </td>
    +                    <td>6</td>
    +                    <td>0</td>
    +                    <td>0</td>
    +                    <td>0.051</td>
    +                </tr>
    +            </table>
    +            <p>
    +                <a href="#top">Back to top</a>
    +            </p>
    +            <a name="org.jacoco.ant" />
    +            <h3>Package org.jacoco.ant</h3>
    +            <table class="coverage">
    +                <thead>
    +                    <tr>
    +                        <td>Name</td>
    +                        <td>Tests</td>
    +                        <td>Errors</td>
    +                        <td>Failures</td>
    +                        <td>Time(s)</td>
    +                    </tr>
    +                </thead>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <a href="#AgentTaskTest" class="el_testsuite">AgentTaskTest</a>
    +                    </td>
    +                    <td>5</td>
    +                    <td>0</td>
    +                    <td>0</td>
    +                    <td>0.207</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <a href="#AntFilesLocatorTest" class="el_testsuite">AntFilesLocatorTest</a>
    +                    </td>
    +                    <td>2</td>
    +                    <td>0</td>
    +                    <td>0</td>
    +                    <td>0.000</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <a href="#AntResourcesLocatorTest" class="el_testsuite">AntResourcesLocatorTest</a>
    +                    </td>
    +                    <td>7</td>
    +                    <td>0</td>
    +                    <td>0</td>
    +                    <td>0.020</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <a href="#CoverageTaskTest" class="el_testsuite">CoverageTaskTest</a>
    +                    </td>
    +                    <td>13</td>
    +                    <td>0</td>
    +                    <td>0</td>
    +                    <td>2.285</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <a href="#DumpTaskTest" class="el_testsuite">DumpTaskTest</a>
    +                    </td>
    +                    <td>4</td>
    +                    <td>0</td>
    +                    <td>0</td>
    +                    <td>0.323</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <a href="#DumpTaskWithServerTest" class="el_testsuite">DumpTaskWithServerTest</a>
    +                    </td>
    +                    <td>4</td>
    +                    <td>0</td>
    +                    <td>0</td>
    +                    <td>0.742</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <a href="#InstrumentTaskTest" class="el_testsuite">InstrumentTaskTest</a>
    +                    </td>
    +                    <td>8</td>
    +                    <td>0</td>
    +                    <td>0</td>
    +                    <td>4.405</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <a href="#MergeTaskTest" class="el_testsuite">MergeTaskTest</a>
    +                    </td>
    +                    <td>6</td>
    +                    <td>0</td>
    +                    <td>0</td>
    +                    <td>0.332</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <a href="#ReportTaskLocaleTest" class="el_testsuite">ReportTaskLocaleTest</a>
    +                    </td>
    +                    <td>4</td>
    +                    <td>0</td>
    +                    <td>0</td>
    +                    <td>0.029</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <a href="#ReportTaskTest" class="el_testsuite">ReportTaskTest</a>
    +                    </td>
    +                    <td>33</td>
    +                    <td>0</td>
    +                    <td>0</td>
    +                    <td>2.391</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <a href="#TestTarget" class="el_testsuite">TestTarget</a>
    +                    </td>
    +                    <td>1</td>
    +                    <td>0</td>
    +                    <td>0</td>
    +                    <td>0.000</td>
    +                </tr>
    +            </table>
    +            <p>
    +                <a href="#top">Back to top</a>
    +            </p>
    +            <a name="org.jacoco.cli.internal" />
    +            <h3>Package org.jacoco.cli.internal</h3>
    +            <table class="coverage">
    +                <thead>
    +                    <tr>
    +                        <td>Name</td>
    +                        <td>Tests</td>
    +                        <td>Errors</td>
    +                        <td>Failures</td>
    +                        <td>Time(s)</td>
    +                    </tr>
    +                </thead>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <a href="#MainTest" class="el_testsuite">MainTest</a>
    +                    </td>
    +                    <td>5</td>
    +                    <td>0</td>
    +                    <td>0</td>
    +                    <td>0.150</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <a href="#XmlDocumentationTest" class="el_testsuite">XmlDocumentationTest</a>
    +                    </td>
    +                    <td>1</td>
    +                    <td>0</td>
    +                    <td>0</td>
    +                    <td>0.113</td>
    +                </tr>
    +            </table>
    +            <p>
    +                <a href="#top">Back to top</a>
    +            </p>
    +            <a name="org.jacoco.cli.internal.commands" />
    +            <h3>Package org.jacoco.cli.internal.commands</h3>
    +            <table class="coverage">
    +                <thead>
    +                    <tr>
    +                        <td>Name</td>
    +                        <td>Tests</td>
    +                        <td>Errors</td>
    +                        <td>Failures</td>
    +                        <td>Time(s)</td>
    +                    </tr>
    +                </thead>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <a href="#ClassInfoTest" class="el_testsuite">ClassInfoTest</a>
    +                    </td>
    +                    <td>4</td>
    +                    <td>0</td>
    +                    <td>0</td>
    +                    <td>0.199</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <a href="#DumpTest" class="el_testsuite">DumpTest</a>
    +                    </td>
    +                    <td>3</td>
    +                    <td>0</td>
    +                    <td>0</td>
    +                    <td>1.062</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <a href="#ExecInfoTest" class="el_testsuite">ExecInfoTest</a>
    +                    </td>
    +                    <td>3</td>
    +                    <td>0</td>
    +                    <td>0</td>
    +                    <td>0.008</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <a href="#InstrumentTest" class="el_testsuite">InstrumentTest</a>
    +                    </td>
    +                    <td>5</td>
    +                    <td>0</td>
    +                    <td>0</td>
    +                    <td>0.083</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <a href="#MergeTest" class="el_testsuite">MergeTest</a>
    +                    </td>
    +                    <td>3</td>
    +                    <td>0</td>
    +                    <td>0</td>
    +                    <td>0.009</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <a href="#ReportTest" class="el_testsuite">ReportTest</a>
    +                    </td>
    +                    <td>8</td>
    +                    <td>0</td>
    +                    <td>0</td>
    +                    <td>0.372</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <a href="#VersionTest" class="el_testsuite">VersionTest</a>
    +                    </td>
    +                    <td>1</td>
    +                    <td>0</td>
    +                    <td>0</td>
    +                    <td>0.001</td>
    +                </tr>
    +            </table>
    +            <p>
    +                <a href="#top">Back to top</a>
    +            </p>
    +            <a name="org.jacoco.core" />
    +            <h3>Package org.jacoco.core</h3>
    +            <table class="coverage">
    +                <thead>
    +                    <tr>
    +                        <td>Name</td>
    +                        <td>Tests</td>
    +                        <td>Errors</td>
    +                        <td>Failures</td>
    +                        <td>Time(s)</td>
    +                    </tr>
    +                </thead>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <a href="#JaCoCoTest" class="el_testsuite">JaCoCoTest</a>
    +                    </td>
    +                    <td>5</td>
    +                    <td>0</td>
    +                    <td>0</td>
    +                    <td>0.002</td>
    +                </tr>
    +            </table>
    +            <p>
    +                <a href="#top">Back to top</a>
    +            </p>
    +            <a name="org.jacoco.core.analysis" />
    +            <h3>Package org.jacoco.core.analysis</h3>
    +            <table class="coverage">
    +                <thead>
    +                    <tr>
    +                        <td>Name</td>
    +                        <td>Tests</td>
    +                        <td>Errors</td>
    +                        <td>Failures</td>
    +                        <td>Time(s)</td>
    +                    </tr>
    +                </thead>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <a href="#AnalyzerTest" class="el_testsuite">AnalyzerTest</a>
    +                    </td>
    +                    <td>24</td>
    +                    <td>0</td>
    +                    <td>0</td>
    +                    <td>0.216</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <a href="#CounterComparatorTest" class="el_testsuite">CounterComparatorTest</a>
    +                    </td>
    +                    <td>9</td>
    +                    <td>0</td>
    +                    <td>0</td>
    +                    <td>0.002</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <a href="#CoverageBuilderTest" class="el_testsuite">CoverageBuilderTest</a>
    +                    </td>
    +                    <td>9</td>
    +                    <td>0</td>
    +                    <td>0</td>
    +                    <td>0.004</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <a href="#CoverageNodeImplTest" class="el_testsuite">CoverageNodeImplTest</a>
    +                    </td>
    +                    <td>6</td>
    +                    <td>0</td>
    +                    <td>0</td>
    +                    <td>0.007</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <a href="#NodeComparatorTest" class="el_testsuite">NodeComparatorTest</a>
    +                    </td>
    +                    <td>3</td>
    +                    <td>0</td>
    +                    <td>0</td>
    +                    <td>0.014</td>
    +                </tr>
    +            </table>
    +            <p>
    +                <a href="#top">Back to top</a>
    +            </p>
    +            <a name="org.jacoco.core.data" />
    +            <h3>Package org.jacoco.core.data</h3>
    +            <table class="coverage">
    +                <thead>
    +                    <tr>
    +                        <td>Name</td>
    +                        <td>Tests</td>
    +                        <td>Errors</td>
    +                        <td>Failures</td>
    +                        <td>Time(s)</td>
    +                    </tr>
    +                </thead>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <a href="#ExecutionDataReaderWriterTest" class="el_testsuite">ExecutionDataReaderWriterTest</a>
    +                    </td>
    +                    <td>23</td>
    +                    <td>0</td>
    +                    <td>0</td>
    +                    <td>0.037</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <a href="#ExecutionDataStoreTest" class="el_testsuite">ExecutionDataStoreTest</a>
    +                    </td>
    +                    <td>15</td>
    +                    <td>0</td>
    +                    <td>0</td>
    +                    <td>0.009</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <a href="#ExecutionDataTest" class="el_testsuite">ExecutionDataTest</a>
    +                    </td>
    +                    <td>12</td>
    +                    <td>0</td>
    +                    <td>0</td>
    +                    <td>0.004</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <a href="#IncompatibleExecDataVersionExceptionTest" class="el_testsuite">IncompatibleExecDataVersionExceptionTest</a>
    +                    </td>
    +                    <td>3</td>
    +                    <td>0</td>
    +                    <td>0</td>
    +                    <td>0.000</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <a href="#SessionInfoStoreTest" class="el_testsuite">SessionInfoStoreTest</a>
    +                    </td>
    +                    <td>6</td>
    +                    <td>0</td>
    +                    <td>0</td>
    +                    <td>0.010</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <a href="#SessionInfoTest" class="el_testsuite">SessionInfoTest</a>
    +                    </td>
    +                    <td>4</td>
    +                    <td>0</td>
    +                    <td>0</td>
    +                    <td>0.006</td>
    +                </tr>
    +            </table>
    +            <p>
    +                <a href="#top">Back to top</a>
    +            </p>
    +            <a name="org.jacoco.core.instr" />
    +            <h3>Package org.jacoco.core.instr</h3>
    +            <table class="coverage">
    +                <thead>
    +                    <tr>
    +                        <td>Name</td>
    +                        <td>Tests</td>
    +                        <td>Errors</td>
    +                        <td>Failures</td>
    +                        <td>Time(s)</td>
    +                    </tr>
    +                </thead>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <a href="#ClassFileVersionsTest" class="el_testsuite">ClassFileVersionsTest</a>
    +                    </td>
    +                    <td>16</td>
    +                    <td>0</td>
    +                    <td>0</td>
    +                    <td>0.031</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <a href="#InstrumenterTest" class="el_testsuite">InstrumenterTest</a>
    +                    </td>
    +                    <td>21</td>
    +                    <td>0</td>
    +                    <td>0</td>
    +                    <td>0.409</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <a href="#ResizeInstructionsTest" class="el_testsuite">ResizeInstructionsTest</a>
    +                    </td>
    +                    <td>2</td>
    +                    <td>0</td>
    +                    <td>0</td>
    +                    <td>0.298</td>
    +                </tr>
    +            </table>
    +            <p>
    +                <a href="#top">Back to top</a>
    +            </p>
    +            <a name="org.jacoco.core.internal" />
    +            <h3>Package org.jacoco.core.internal</h3>
    +            <table class="coverage">
    +                <thead>
    +                    <tr>
    +                        <td>Name</td>
    +                        <td>Tests</td>
    +                        <td>Errors</td>
    +                        <td>Failures</td>
    +                        <td>Time(s)</td>
    +                    </tr>
    +                </thead>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <a href="#ContentTypeDetectorTest" class="el_testsuite">ContentTypeDetectorTest</a>
    +                    </td>
    +                    <td>27</td>
    +                    <td>0</td>
    +                    <td>0</td>
    +                    <td>0.010</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <a href="#Pack200StreamsTest" class="el_testsuite">Pack200StreamsTest</a>
    +                    </td>
    +                    <td>6</td>
    +                    <td>0</td>
    +                    <td>0</td>
    +                    <td>0.041</td>
    +                </tr>
    +            </table>
    +            <p>
    +                <a href="#top">Back to top</a>
    +            </p>
    +            <a name="org.jacoco.core.internal.analysis" />
    +            <h3>Package org.jacoco.core.internal.analysis</h3>
    +            <table class="coverage">
    +                <thead>
    +                    <tr>
    +                        <td>Name</td>
    +                        <td>Tests</td>
    +                        <td>Errors</td>
    +                        <td>Failures</td>
    +                        <td>Time(s)</td>
    +                    </tr>
    +                </thead>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <a href="#BundleCoverageImplTest" class="el_testsuite">BundleCoverageImplTest</a>
    +                    </td>
    +                    <td>3</td>
    +                    <td>0</td>
    +                    <td>0</td>
    +                    <td>0.003</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <a href="#ClassAnalyzerTest" class="el_testsuite">ClassAnalyzerTest</a>
    +                    </td>
    +                    <td>4</td>
    +                    <td>0</td>
    +                    <td>0</td>
    +                    <td>0.005</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <a href="#ClassCoverageImplTest" class="el_testsuite">ClassCoverageImplTest</a>
    +                    </td>
    +                    <td>11</td>
    +                    <td>0</td>
    +                    <td>0</td>
    +                    <td>0.003</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <a href="#CounterImplTest" class="el_testsuite">CounterImplTest</a>
    +                    </td>
    +                    <td>25</td>
    +                    <td>0</td>
    +                    <td>0</td>
    +                    <td>0.014</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <a href="#InstructionTest" class="el_testsuite">InstructionTest</a>
    +                    </td>
    +                    <td>13</td>
    +                    <td>0</td>
    +                    <td>0</td>
    +                    <td>0.109</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <a href="#InstructionsBuilderTest" class="el_testsuite">InstructionsBuilderTest</a>
    +                    </td>
    +                    <td>9</td>
    +                    <td>0</td>
    +                    <td>0</td>
    +                    <td>0.002</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <a href="#LineImplTest" class="el_testsuite">LineImplTest</a>
    +                    </td>
    +                    <td>17</td>
    +                    <td>0</td>
    +                    <td>0</td>
    +                    <td>0.005</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <a href="#MethodAnalyzerTest" class="el_testsuite">MethodAnalyzerTest</a>
    +                    </td>
    +                    <td>52</td>
    +                    <td>0</td>
    +                    <td>0</td>
    +                    <td>0.061</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <a href="#MethodCoverageCalculatorTest" class="el_testsuite">MethodCoverageCalculatorTest</a>
    +                    </td>
    +                    <td>11</td>
    +                    <td>0</td>
    +                    <td>0</td>
    +                    <td>0.006</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <a href="#MethodCoverageImplTest" class="el_testsuite">MethodCoverageImplTest</a>
    +                    </td>
    +                    <td>12</td>
    +                    <td>0</td>
    +                    <td>0</td>
    +                    <td>0.012</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <a href="#PackageCoverageTest" class="el_testsuite">PackageCoverageTest</a>
    +                    </td>
    +                    <td>3</td>
    +                    <td>0</td>
    +                    <td>0</td>
    +                    <td>0.004</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <a href="#SourceFileCoverageImplTest" class="el_testsuite">SourceFileCoverageImplTest</a>
    +                    </td>
    +                    <td>1</td>
    +                    <td>0</td>
    +                    <td>0</td>
    +                    <td>0.004</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <a href="#SourceNodeImplTest" class="el_testsuite">SourceNodeImplTest</a>
    +                    </td>
    +                    <td>24</td>
    +                    <td>0</td>
    +                    <td>0</td>
    +                    <td>0.010</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <a href="#StringPoolTest" class="el_testsuite">StringPoolTest</a>
    +                    </td>
    +                    <td>5</td>
    +                    <td>0</td>
    +                    <td>0</td>
    +                    <td>0.005</td>
    +                </tr>
    +            </table>
    +            <p>
    +                <a href="#top">Back to top</a>
    +            </p>
    +            <a name="org.jacoco.core.internal.analysis.filter" />
    +            <h3>Package org.jacoco.core.internal.analysis.filter</h3>
    +            <table class="coverage">
    +                <thead>
    +                    <tr>
    +                        <td>Name</td>
    +                        <td>Tests</td>
    +                        <td>Errors</td>
    +                        <td>Failures</td>
    +                        <td>Time(s)</td>
    +                    </tr>
    +                </thead>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <a href="#AbstractMatcherTest" class="el_testsuite">AbstractMatcherTest</a>
    +                    </td>
    +                    <td>8</td>
    +                    <td>0</td>
    +                    <td>0</td>
    +                    <td>0.000</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <a href="#AnnotationGeneratedFilterTest" class="el_testsuite">AnnotationGeneratedFilterTest</a>
    +                    </td>
    +                    <td>7</td>
    +                    <td>0</td>
    +                    <td>0</td>
    +                    <td>0.005</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <a href="#AssertFilterTest" class="el_testsuite">AssertFilterTest</a>
    +                    </td>
    +                    <td>3</td>
    +                    <td>0</td>
    +                    <td>0</td>
    +                    <td>0.005</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <a href="#BridgeFilterTest" class="el_testsuite">BridgeFilterTest</a>
    +                    </td>
    +                    <td>2</td>
    +                    <td>0</td>
    +                    <td>0</td>
    +                    <td>0.002</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <a href="#EnumEmptyConstructorFilterTest" class="el_testsuite">EnumEmptyConstructorFilterTest</a>
    +                    </td>
    +                    <td>5</td>
    +                    <td>0</td>
    +                    <td>0</td>
    +                    <td>0.005</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <a href="#EnumFilterTest" class="el_testsuite">EnumFilterTest</a>
    +                    </td>
    +                    <td>5</td>
    +                    <td>0</td>
    +                    <td>0</td>
    +                    <td>0.009</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <a href="#ExhaustiveSwitchFilterTest" class="el_testsuite">ExhaustiveSwitchFilterTest</a>
    +                    </td>
    +                    <td>4</td>
    +                    <td>0</td>
    +                    <td>0</td>
    +                    <td>0.005</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <a href="#FinallyFilterTest" class="el_testsuite">FinallyFilterTest</a>
    +                    </td>
    +                    <td>8</td>
    +                    <td>0</td>
    +                    <td>0</td>
    +                    <td>0.009</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <a href="#KotlinCoroutineFilterTest" class="el_testsuite">KotlinCoroutineFilterTest</a>
    +                    </td>
    +                    <td>4</td>
    +                    <td>0</td>
    +                    <td>0</td>
    +                    <td>0.006</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <a href="#KotlinDefaultArgumentsFilterTest" class="el_testsuite">KotlinDefaultArgumentsFilterTest</a>
    +                    </td>
    +                    <td>10</td>
    +                    <td>0</td>
    +                    <td>0</td>
    +                    <td>0.002</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <a href="#KotlinDefaultMethodsFilterTest" class="el_testsuite">KotlinDefaultMethodsFilterTest</a>
    +                    </td>
    +                    <td>4</td>
    +                    <td>0</td>
    +                    <td>0</td>
    +                    <td>0.003</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <a href="#KotlinGeneratedFilterTest" class="el_testsuite">KotlinGeneratedFilterTest</a>
    +                    </td>
    +                    <td>5</td>
    +                    <td>0</td>
    +                    <td>0</td>
    +                    <td>0.002</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <a href="#KotlinInlineFilterTest" class="el_testsuite">KotlinInlineFilterTest</a>
    +                    </td>
    +                    <td>9</td>
    +                    <td>0</td>
    +                    <td>0</td>
    +                    <td>0.006</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <a href="#KotlinLateinitFilterTest" class="el_testsuite">KotlinLateinitFilterTest</a>
    +                    </td>
    +                    <td>11</td>
    +                    <td>0</td>
    +                    <td>0</td>
    +                    <td>0.006</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <a href="#KotlinNotNullOperatorFilterTest" class="el_testsuite">KotlinNotNullOperatorFilterTest</a>
    +                    </td>
    +                    <td>1</td>
    +                    <td>0</td>
    +                    <td>0</td>
    +                    <td>0.000</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <a href="#KotlinUnsafeCastOperatorFilterTest" class="el_testsuite">KotlinUnsafeCastOperatorFilterTest</a>
    +                    </td>
    +                    <td>5</td>
    +                    <td>0</td>
    +                    <td>0</td>
    +                    <td>0.004</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <a href="#KotlinWhenFilterTest" class="el_testsuite">KotlinWhenFilterTest</a>
    +                    </td>
    +                    <td>3</td>
    +                    <td>0</td>
    +                    <td>0</td>
    +                    <td>0.002</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <a href="#KotlinWhenStringFilterTest" class="el_testsuite">KotlinWhenStringFilterTest</a>
    +                    </td>
    +                    <td>3</td>
    +                    <td>0</td>
    +                    <td>0</td>
    +                    <td>0.002</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <a href="#PrivateEmptyNoArgConstructorFilterTest" class="el_testsuite">PrivateEmptyNoArgConstructorFilterTest</a>
    +                    </td>
    +                    <td>1</td>
    +                    <td>0</td>
    +                    <td>0</td>
    +                    <td>0.001</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <a href="#RecordPatternFilterTest" class="el_testsuite">RecordPatternFilterTest</a>
    +                    </td>
    +                    <td>2</td>
    +                    <td>0</td>
    +                    <td>0</td>
    +                    <td>0.002</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <a href="#RecordsFilterTest" class="el_testsuite">RecordsFilterTest</a>
    +                    </td>
    +                    <td>15</td>
    +                    <td>0</td>
    +                    <td>0</td>
    +                    <td>0.009</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <a href="#StringSwitchFilterTest" class="el_testsuite">StringSwitchFilterTest</a>
    +                    </td>
    +                    <td>4</td>
    +                    <td>0</td>
    +                    <td>0</td>
    +                    <td>0.004</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <a href="#StringSwitchJavacFilterTest" class="el_testsuite">StringSwitchJavacFilterTest</a>
    +                    </td>
    +                    <td>4</td>
    +                    <td>0</td>
    +                    <td>0</td>
    +                    <td>0.006</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <a href="#SynchronizedFilterTest" class="el_testsuite">SynchronizedFilterTest</a>
    +                    </td>
    +                    <td>3</td>
    +                    <td>0</td>
    +                    <td>0</td>
    +                    <td>0.003</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <a href="#SyntheticFilterTest" class="el_testsuite">SyntheticFilterTest</a>
    +                    </td>
    +                    <td>11</td>
    +                    <td>0</td>
    +                    <td>0</td>
    +                    <td>0.002</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <a href="#TryWithResourcesEcjFilterTest" class="el_testsuite">TryWithResourcesEcjFilterTest</a>
    +                    </td>
    +                    <td>2</td>
    +                    <td>0</td>
    +                    <td>0</td>
    +                    <td>0.004</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <a href="#TryWithResourcesJavac11FilterTest" class="el_testsuite">TryWithResourcesJavac11FilterTest</a>
    +                    </td>
    +                    <td>2</td>
    +                    <td>0</td>
    +                    <td>0</td>
    +                    <td>0.003</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <a href="#TryWithResourcesJavacFilterTest" class="el_testsuite">TryWithResourcesJavacFilterTest</a>
    +                    </td>
    +                    <td>4</td>
    +                    <td>0</td>
    +                    <td>0</td>
    +                    <td>0.006</td>
    +                </tr>
    +            </table>
    +            <p>
    +                <a href="#top">Back to top</a>
    +            </p>
    +            <a name="org.jacoco.core.internal.data" />
    +            <h3>Package org.jacoco.core.internal.data</h3>
    +            <table class="coverage">
    +                <thead>
    +                    <tr>
    +                        <td>Name</td>
    +                        <td>Tests</td>
    +                        <td>Errors</td>
    +                        <td>Failures</td>
    +                        <td>Time(s)</td>
    +                    </tr>
    +                </thead>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <a href="#CRC64Test" class="el_testsuite">CRC64Test</a>
    +                    </td>
    +                    <td>5</td>
    +                    <td>0</td>
    +                    <td>0</td>
    +                    <td>0.002</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <a href="#CompactDataInputOutputTest" class="el_testsuite">CompactDataInputOutputTest</a>
    +                    </td>
    +                    <td>12</td>
    +                    <td>0</td>
    +                    <td>0</td>
    +                    <td>0.004</td>
    +                </tr>
    +            </table>
    +            <p>
    +                <a href="#top">Back to top</a>
    +            </p>
    +            <a name="org.jacoco.core.internal.flow" />
    +            <h3>Package org.jacoco.core.internal.flow</h3>
    +            <table class="coverage">
    +                <thead>
    +                    <tr>
    +                        <td>Name</td>
    +                        <td>Tests</td>
    +                        <td>Errors</td>
    +                        <td>Failures</td>
    +                        <td>Time(s)</td>
    +                    </tr>
    +                </thead>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <a href="#ClassProbesAdapterTest" class="el_testsuite">ClassProbesAdapterTest</a>
    +                    </td>
    +                    <td>5</td>
    +                    <td>0</td>
    +                    <td>0</td>
    +                    <td>0.005</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <a href="#FrameSnapshotTest" class="el_testsuite">FrameSnapshotTest</a>
    +                    </td>
    +                    <td>6</td>
    +                    <td>0</td>
    +                    <td>0</td>
    +                    <td>0.002</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <a href="#LabelFlowAnalyzerTest" class="el_testsuite">LabelFlowAnalyzerTest</a>
    +                    </td>
    +                    <td>30</td>
    +                    <td>0</td>
    +                    <td>0</td>
    +                    <td>0.020</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <a href="#LabelInfoTest" class="el_testsuite">LabelInfoTest</a>
    +                    </td>
    +                    <td>13</td>
    +                    <td>0</td>
    +                    <td>0</td>
    +                    <td>0.008</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <a href="#MethodProbesAdapterTest" class="el_testsuite">MethodProbesAdapterTest</a>
    +                    </td>
    +                    <td>19</td>
    +                    <td>0</td>
    +                    <td>0</td>
    +                    <td>0.013</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <a href="#MethodSanitizerTest" class="el_testsuite">MethodSanitizerTest</a>
    +                    </td>
    +                    <td>5</td>
    +                    <td>0</td>
    +                    <td>0</td>
    +                    <td>0.011</td>
    +                </tr>
    +            </table>
    +            <p>
    +                <a href="#top">Back to top</a>
    +            </p>
    +            <a name="org.jacoco.core.internal.instr" />
    +            <h3>Package org.jacoco.core.internal.instr</h3>
    +            <table class="coverage">
    +                <thead>
    +                    <tr>
    +                        <td>Name</td>
    +                        <td>Tests</td>
    +                        <td>Errors</td>
    +                        <td>Failures</td>
    +                        <td>Time(s)</td>
    +                    </tr>
    +                </thead>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <a href="#ClassInstrumenterTest" class="el_testsuite">ClassInstrumenterTest</a>
    +                    </td>
    +                    <td>3</td>
    +                    <td>0</td>
    +                    <td>0</td>
    +                    <td>0.007</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <a href="#CondyProbeArrayStrategyTest" class="el_testsuite">CondyProbeArrayStrategyTest</a>
    +                    </td>
    +                    <td>3</td>
    +                    <td>0</td>
    +                    <td>0</td>
    +                    <td>0.007</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <a href="#DuplicateFrameEliminatorTest" class="el_testsuite">DuplicateFrameEliminatorTest</a>
    +                    </td>
    +                    <td>14</td>
    +                    <td>0</td>
    +                    <td>0</td>
    +                    <td>0.013</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <a href="#InstrSupportTest" class="el_testsuite">InstrSupportTest</a>
    +                    </td>
    +                    <td>22</td>
    +                    <td>0</td>
    +                    <td>0</td>
    +                    <td>0.017</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <a href="#MethodInstrumenterTest" class="el_testsuite">MethodInstrumenterTest</a>
    +                    </td>
    +                    <td>22</td>
    +                    <td>0</td>
    +                    <td>0</td>
    +                    <td>0.017</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <a href="#NoneProbeArrayStrategyTest" class="el_testsuite">NoneProbeArrayStrategyTest</a>
    +                    </td>
    +                    <td>2</td>
    +                    <td>0</td>
    +                    <td>0</td>
    +                    <td>0.004</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <a href="#ProbeArrayStrategyFactoryTest" class="el_testsuite">ProbeArrayStrategyFactoryTest</a>
    +                    </td>
    +                    <td>23</td>
    +                    <td>0</td>
    +                    <td>0</td>
    +                    <td>0.018</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <a href="#ProbeCounterTest" class="el_testsuite">ProbeCounterTest</a>
    +                    </td>
    +                    <td>5</td>
    +                    <td>0</td>
    +                    <td>0</td>
    +                    <td>0.001</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <a href="#ProbeInserterTest" class="el_testsuite">ProbeInserterTest</a>
    +                    </td>
    +                    <td>21</td>
    +                    <td>0</td>
    +                    <td>0</td>
    +                    <td>0.017</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <a href="#SafetySlotTest" class="el_testsuite">SafetySlotTest</a>
    +                    </td>
    +                    <td>2</td>
    +                    <td>0</td>
    +                    <td>0</td>
    +                    <td>0.012</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <a href="#SignatureRemoverTest" class="el_testsuite">SignatureRemoverTest</a>
    +                    </td>
    +                    <td>10</td>
    +                    <td>0</td>
    +                    <td>0</td>
    +                    <td>0.009</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <a href="#ZeroLineNumberTest" class="el_testsuite">ZeroLineNumberTest</a>
    +                    </td>
    +                    <td>1</td>
    +                    <td>0</td>
    +                    <td>0</td>
    +                    <td>0.000</td>
    +                </tr>
    +            </table>
    +            <p>
    +                <a href="#top">Back to top</a>
    +            </p>
    +            <a name="org.jacoco.core.runtime" />
    +            <h3>Package org.jacoco.core.runtime</h3>
    +            <table class="coverage">
    +                <thead>
    +                    <tr>
    +                        <td>Name</td>
    +                        <td>Tests</td>
    +                        <td>Errors</td>
    +                        <td>Failures</td>
    +                        <td>Time(s)</td>
    +                    </tr>
    +                </thead>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <a href="#AgentOptionsTest" class="el_testsuite">AgentOptionsTest</a>
    +                    </td>
    +                    <td>55</td>
    +                    <td>0</td>
    +                    <td>0</td>
    +                    <td>0.012</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <a href="#CommandLineSupportTest" class="el_testsuite">CommandLineSupportTest</a>
    +                    </td>
    +                    <td>19</td>
    +                    <td>0</td>
    +                    <td>0</td>
    +                    <td>0.004</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <a href="#InjectedClassRuntimeTest" class="el_testsuite">InjectedClassRuntimeTest</a>
    +                    </td>
    +                    <td>1</td>
    +                    <td>0</td>
    +                    <td>0</td>
    +                    <td>0.006</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <a href="#LoggerRuntimeTest" class="el_testsuite">LoggerRuntimeTest</a>
    +                    </td>
    +                    <td>4</td>
    +                    <td>0</td>
    +                    <td>0</td>
    +                    <td>0.003</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <a href="#ModifiedSystemClassRuntimeTest" class="el_testsuite">ModifiedSystemClassRuntimeTest</a>
    +                    </td>
    +                    <td>5</td>
    +                    <td>0</td>
    +                    <td>0</td>
    +                    <td>0.007</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <a href="#OfflineInstrumentationAccessGeneratorTest" class="el_testsuite">OfflineInstrumentationAccessGeneratorTest</a>
    +                    </td>
    +                    <td>2</td>
    +                    <td>0</td>
    +                    <td>0</td>
    +                    <td>0.000</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <a href="#RemoteControlReaderWriterTest" class="el_testsuite">RemoteControlReaderWriterTest</a>
    +                    </td>
    +                    <td>29</td>
    +                    <td>0</td>
    +                    <td>0</td>
    +                    <td>0.008</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <a href="#RuntimeDataTest" class="el_testsuite">RuntimeDataTest</a>
    +                    </td>
    +                    <td>9</td>
    +                    <td>0</td>
    +                    <td>0</td>
    +                    <td>0.004</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <a href="#SystemPropertiesRuntimeTest" class="el_testsuite">SystemPropertiesRuntimeTest</a>
    +                    </td>
    +                    <td>4</td>
    +                    <td>0</td>
    +                    <td>0</td>
    +                    <td>0.008</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <a href="#WildcardMatcherTest" class="el_testsuite">WildcardMatcherTest</a>
    +                    </td>
    +                    <td>8</td>
    +                    <td>0</td>
    +                    <td>0</td>
    +                    <td>0.004</td>
    +                </tr>
    +            </table>
    +            <p>
    +                <a href="#top">Back to top</a>
    +            </p>
    +            <a name="org.jacoco.core.test" />
    +            <h3>Package org.jacoco.core.test</h3>
    +            <table class="coverage">
    +                <thead>
    +                    <tr>
    +                        <td>Name</td>
    +                        <td>Tests</td>
    +                        <td>Errors</td>
    +                        <td>Failures</td>
    +                        <td>Time(s)</td>
    +                    </tr>
    +                </thead>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <a href="#InstrumentingLoaderTest" class="el_testsuite">InstrumentingLoaderTest</a>
    +                    </td>
    +                    <td>1</td>
    +                    <td>0</td>
    +                    <td>0</td>
    +                    <td>0.005</td>
    +                </tr>
    +            </table>
    +            <p>
    +                <a href="#top">Back to top</a>
    +            </p>
    +            <a name="org.jacoco.core.test.validation" />
    +            <h3>Package org.jacoco.core.test.validation</h3>
    +            <table class="coverage">
    +                <thead>
    +                    <tr>
    +                        <td>Name</td>
    +                        <td>Tests</td>
    +                        <td>Errors</td>
    +                        <td>Failures</td>
    +                        <td>Time(s)</td>
    +                    </tr>
    +                </thead>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <a href="#JavaVersionTest" class="el_testsuite">JavaVersionTest</a>
    +                    </td>
    +                    <td>2</td>
    +                    <td>0</td>
    +                    <td>0</td>
    +                    <td>0.002</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <a href="#SourceTest" class="el_testsuite">SourceTest</a>
    +                    </td>
    +                    <td>7</td>
    +                    <td>0</td>
    +                    <td>0</td>
    +                    <td>0.027</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <a href="#StatementExecutorTest" class="el_testsuite">StatementExecutorTest</a>
    +                    </td>
    +                    <td>5</td>
    +                    <td>0</td>
    +                    <td>0</td>
    +                    <td>0.002</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <a href="#StatementParserTest" class="el_testsuite">StatementParserTest</a>
    +                    </td>
    +                    <td>11</td>
    +                    <td>0</td>
    +                    <td>0</td>
    +                    <td>0.006</td>
    +                </tr>
    +            </table>
    +            <p>
    +                <a href="#top">Back to top</a>
    +            </p>
    +            <a name="org.jacoco.core.tools" />
    +            <h3>Package org.jacoco.core.tools</h3>
    +            <table class="coverage">
    +                <thead>
    +                    <tr>
    +                        <td>Name</td>
    +                        <td>Tests</td>
    +                        <td>Errors</td>
    +                        <td>Failures</td>
    +                        <td>Time(s)</td>
    +                    </tr>
    +                </thead>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <a href="#ExecDumpClientTest" class="el_testsuite">ExecDumpClientTest</a>
    +                    </td>
    +                    <td>5</td>
    +                    <td>0</td>
    +                    <td>0</td>
    +                    <td>0.094</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <a href="#ExecFileLoaderTest" class="el_testsuite">ExecFileLoaderTest</a>
    +                    </td>
    +                    <td>6</td>
    +                    <td>0</td>
    +                    <td>0</td>
    +                    <td>0.013</td>
    +                </tr>
    +            </table>
    +            <p>
    +                <a href="#top">Back to top</a>
    +            </p>
    +            <a name="org.jacoco.examples" />
    +            <h3>Package org.jacoco.examples</h3>
    +            <table class="coverage">
    +                <thead>
    +                    <tr>
    +                        <td>Name</td>
    +                        <td>Tests</td>
    +                        <td>Errors</td>
    +                        <td>Failures</td>
    +                        <td>Time(s)</td>
    +                    </tr>
    +                </thead>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <a href="#ClassInfoTest" class="el_testsuite">ClassInfoTest</a>
    +                    </td>
    +                    <td>1</td>
    +                    <td>0</td>
    +                    <td>0</td>
    +                    <td>0.111</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <a href="#CoreTutorialTest" class="el_testsuite">CoreTutorialTest</a>
    +                    </td>
    +                    <td>1</td>
    +                    <td>0</td>
    +                    <td>0</td>
    +                    <td>0.038</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <a href="#ExecDumpTest" class="el_testsuite">ExecDumpTest</a>
    +                    </td>
    +                    <td>1</td>
    +                    <td>0</td>
    +                    <td>0</td>
    +                    <td>0.014</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <a href="#MBeanClientTest" class="el_testsuite">MBeanClientTest</a>
    +                    </td>
    +                    <td>1</td>
    +                    <td>0</td>
    +                    <td>0</td>
    +                    <td>0.003</td>
    +                </tr>
    +            </table>
    +            <p>
    +                <a href="#top">Back to top</a>
    +            </p>
    +            <a name="org.jacoco.report" />
    +            <h3>Package org.jacoco.report</h3>
    +            <table class="coverage">
    +                <thead>
    +                    <tr>
    +                        <td>Name</td>
    +                        <td>Tests</td>
    +                        <td>Errors</td>
    +                        <td>Failures</td>
    +                        <td>Time(s)</td>
    +                    </tr>
    +                </thead>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <a href="#DirectorySourceFileLocatorTest" class="el_testsuite">DirectorySourceFileLocatorTest</a>
    +                    </td>
    +                    <td>3</td>
    +                    <td>0</td>
    +                    <td>0</td>
    +                    <td>0.028</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <a href="#FileMultiReportOutputTest" class="el_testsuite">FileMultiReportOutputTest</a>
    +                    </td>
    +                    <td>2</td>
    +                    <td>0</td>
    +                    <td>0</td>
    +                    <td>0.009</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <a href="#InputStreamSourceFileLocatorTest" class="el_testsuite">InputStreamSourceFileLocatorTest</a>
    +                    </td>
    +                    <td>6</td>
    +                    <td>0</td>
    +                    <td>0</td>
    +                    <td>0.012</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <a href="#JavaNamesTest" class="el_testsuite">JavaNamesTest</a>
    +                    </td>
    +                    <td>22</td>
    +                    <td>0</td>
    +                    <td>0</td>
    +                    <td>0.010</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <a href="#MultiReportVisitorTest" class="el_testsuite">MultiReportVisitorTest</a>
    +                    </td>
    +                    <td>2</td>
    +                    <td>0</td>
    +                    <td>0</td>
    +                    <td>0.003</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <a href="#MultiSourceFileLocatorTest" class="el_testsuite">MultiSourceFileLocatorTest</a>
    +                    </td>
    +                    <td>5</td>
    +                    <td>0</td>
    +                    <td>0</td>
    +                    <td>0.011</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <a href="#ZipMultiReportOutputTest" class="el_testsuite">ZipMultiReportOutputTest</a>
    +                    </td>
    +                    <td>10</td>
    +                    <td>0</td>
    +                    <td>0</td>
    +                    <td>0.008</td>
    +                </tr>
    +            </table>
    +            <p>
    +                <a href="#top">Back to top</a>
    +            </p>
    +            <a name="org.jacoco.report.check" />
    +            <h3>Package org.jacoco.report.check</h3>
    +            <table class="coverage">
    +                <thead>
    +                    <tr>
    +                        <td>Name</td>
    +                        <td>Tests</td>
    +                        <td>Errors</td>
    +                        <td>Failures</td>
    +                        <td>Time(s)</td>
    +                    </tr>
    +                </thead>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <a href="#BundleCheckerTest" class="el_testsuite">BundleCheckerTest</a>
    +                    </td>
    +                    <td>8</td>
    +                    <td>0</td>
    +                    <td>0</td>
    +                    <td>0.024</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <a href="#LimitTest" class="el_testsuite">LimitTest</a>
    +                    </td>
    +                    <td>31</td>
    +                    <td>0</td>
    +                    <td>0</td>
    +                    <td>0.015</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <a href="#RuleTest" class="el_testsuite">RuleTest</a>
    +                    </td>
    +                    <td>6</td>
    +                    <td>0</td>
    +                    <td>0</td>
    +                    <td>0.002</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <a href="#RulesCheckerTest" class="el_testsuite">RulesCheckerTest</a>
    +                    </td>
    +                    <td>2</td>
    +                    <td>0</td>
    +                    <td>0</td>
    +                    <td>0.003</td>
    +                </tr>
    +            </table>
    +            <p>
    +                <a href="#top">Back to top</a>
    +            </p>
    +            <a name="org.jacoco.report.csv" />
    +            <h3>Package org.jacoco.report.csv</h3>
    +            <table class="coverage">
    +                <thead>
    +                    <tr>
    +                        <td>Name</td>
    +                        <td>Tests</td>
    +                        <td>Errors</td>
    +                        <td>Failures</td>
    +                        <td>Time(s)</td>
    +                    </tr>
    +                </thead>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <a href="#CSVFormatterTest" class="el_testsuite">CSVFormatterTest</a>
    +                    </td>
    +                    <td>5</td>
    +                    <td>0</td>
    +                    <td>0</td>
    +                    <td>0.005</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <a href="#CSVGroupHandlerTest" class="el_testsuite">CSVGroupHandlerTest</a>
    +                    </td>
    +                    <td>2</td>
    +                    <td>0</td>
    +                    <td>0</td>
    +                    <td>0.002</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <a href="#ClassRowWriterTest" class="el_testsuite">ClassRowWriterTest</a>
    +                    </td>
    +                    <td>2</td>
    +                    <td>0</td>
    +                    <td>0</td>
    +                    <td>0.010</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <a href="#DelimitedWriterTest" class="el_testsuite">DelimitedWriterTest</a>
    +                    </td>
    +                    <td>12</td>
    +                    <td>0</td>
    +                    <td>0</td>
    +                    <td>0.014</td>
    +                </tr>
    +            </table>
    +            <p>
    +                <a href="#top">Back to top</a>
    +            </p>
    +            <a name="org.jacoco.report.html" />
    +            <h3>Package org.jacoco.report.html</h3>
    +            <table class="coverage">
    +                <thead>
    +                    <tr>
    +                        <td>Name</td>
    +                        <td>Tests</td>
    +                        <td>Errors</td>
    +                        <td>Failures</td>
    +                        <td>Time(s)</td>
    +                    </tr>
    +                </thead>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <a href="#HTMLFormatterTest" class="el_testsuite">HTMLFormatterTest</a>
    +                    </td>
    +                    <td>8</td>
    +                    <td>0</td>
    +                    <td>0</td>
    +                    <td>0.347</td>
    +                </tr>
    +            </table>
    +            <p>
    +                <a href="#top">Back to top</a>
    +            </p>
    +            <a name="org.jacoco.report.internal" />
    +            <h3>Package org.jacoco.report.internal</h3>
    +            <table class="coverage">
    +                <thead>
    +                    <tr>
    +                        <td>Name</td>
    +                        <td>Tests</td>
    +                        <td>Errors</td>
    +                        <td>Failures</td>
    +                        <td>Time(s)</td>
    +                    </tr>
    +                </thead>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <a href="#NormalizedFileNamesTest" class="el_testsuite">NormalizedFileNamesTest</a>
    +                    </td>
    +                    <td>5</td>
    +                    <td>0</td>
    +                    <td>0</td>
    +                    <td>0.003</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <a href="#ReportOutputFolderTest" class="el_testsuite">ReportOutputFolderTest</a>
    +                    </td>
    +                    <td>9</td>
    +                    <td>0</td>
    +                    <td>0</td>
    +                    <td>0.003</td>
    +                </tr>
    +            </table>
    +            <p>
    +                <a href="#top">Back to top</a>
    +            </p>
    +            <a name="org.jacoco.report.internal.html" />
    +            <h3>Package org.jacoco.report.internal.html</h3>
    +            <table class="coverage">
    +                <thead>
    +                    <tr>
    +                        <td>Name</td>
    +                        <td>Tests</td>
    +                        <td>Errors</td>
    +                        <td>Failures</td>
    +                        <td>Time(s)</td>
    +                    </tr>
    +                </thead>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <a href="#HTMLElementTest" class="el_testsuite">HTMLElementTest</a>
    +                    </td>
    +                    <td>29</td>
    +                    <td>0</td>
    +                    <td>0</td>
    +                    <td>0.028</td>
    +                </tr>
    +            </table>
    +            <p>
    +                <a href="#top">Back to top</a>
    +            </p>
    +            <a name="org.jacoco.report.internal.html.page" />
    +            <h3>Package org.jacoco.report.internal.html.page</h3>
    +            <table class="coverage">
    +                <thead>
    +                    <tr>
    +                        <td>Name</td>
    +                        <td>Tests</td>
    +                        <td>Errors</td>
    +                        <td>Failures</td>
    +                        <td>Time(s)</td>
    +                    </tr>
    +                </thead>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <a href="#BundlePageTest" class="el_testsuite">BundlePageTest</a>
    +                    </td>
    +                    <td>3</td>
    +                    <td>0</td>
    +                    <td>0</td>
    +                    <td>0.043</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <a href="#ClassPageTest" class="el_testsuite">ClassPageTest</a>
    +                    </td>
    +                    <td>10</td>
    +                    <td>0</td>
    +                    <td>0</td>
    +                    <td>0.165</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <a href="#MethodItemTest" class="el_testsuite">MethodItemTest</a>
    +                    </td>
    +                    <td>6</td>
    +                    <td>0</td>
    +                    <td>0</td>
    +                    <td>0.009</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <a href="#NodePageTest" class="el_testsuite">NodePageTest</a>
    +                    </td>
    +                    <td>4</td>
    +                    <td>0</td>
    +                    <td>0</td>
    +                    <td>0.014</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <a href="#PackagePageTest" class="el_testsuite">PackagePageTest</a>
    +                    </td>
    +                    <td>3</td>
    +                    <td>0</td>
    +                    <td>0</td>
    +                    <td>0.071</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <a href="#PackageSourcePageTest" class="el_testsuite">PackageSourcePageTest</a>
    +                    </td>
    +                    <td>3</td>
    +                    <td>0</td>
    +                    <td>0</td>
    +                    <td>0.028</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <a href="#ReportPageTest" class="el_testsuite">ReportPageTest</a>
    +                    </td>
    +                    <td>4</td>
    +                    <td>0</td>
    +                    <td>0</td>
    +                    <td>0.056</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <a href="#SessionsPageTest" class="el_testsuite">SessionsPageTest</a>
    +                    </td>
    +                    <td>6</td>
    +                    <td>0</td>
    +                    <td>0</td>
    +                    <td>0.102</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <a href="#SourceFilePageTest" class="el_testsuite">SourceFilePageTest</a>
    +                    </td>
    +                    <td>1</td>
    +                    <td>0</td>
    +                    <td>0</td>
    +                    <td>0.021</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <a href="#SourceHighlighterTest" class="el_testsuite">SourceHighlighterTest</a>
    +                    </td>
    +                    <td>8</td>
    +                    <td>0</td>
    +                    <td>0</td>
    +                    <td>0.565</td>
    +                </tr>
    +            </table>
    +            <p>
    +                <a href="#top">Back to top</a>
    +            </p>
    +            <a name="org.jacoco.report.internal.html.resources" />
    +            <h3>Package org.jacoco.report.internal.html.resources</h3>
    +            <table class="coverage">
    +                <thead>
    +                    <tr>
    +                        <td>Name</td>
    +                        <td>Tests</td>
    +                        <td>Errors</td>
    +                        <td>Failures</td>
    +                        <td>Time(s)</td>
    +                    </tr>
    +                </thead>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <a href="#ResourcesTest" class="el_testsuite">ResourcesTest</a>
    +                    </td>
    +                    <td>3</td>
    +                    <td>0</td>
    +                    <td>0</td>
    +                    <td>0.017</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <a href="#StylesTest" class="el_testsuite">StylesTest</a>
    +                    </td>
    +                    <td>4</td>
    +                    <td>0</td>
    +                    <td>0</td>
    +                    <td>0.010</td>
    +                </tr>
    +            </table>
    +            <p>
    +                <a href="#top">Back to top</a>
    +            </p>
    +            <a name="org.jacoco.report.internal.html.table" />
    +            <h3>Package org.jacoco.report.internal.html.table</h3>
    +            <table class="coverage">
    +                <thead>
    +                    <tr>
    +                        <td>Name</td>
    +                        <td>Tests</td>
    +                        <td>Errors</td>
    +                        <td>Failures</td>
    +                        <td>Time(s)</td>
    +                    </tr>
    +                </thead>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <a href="#BarColumnTest" class="el_testsuite">BarColumnTest</a>
    +                    </td>
    +                    <td>9</td>
    +                    <td>0</td>
    +                    <td>0</td>
    +                    <td>0.072</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <a href="#CounterColumnTest" class="el_testsuite">CounterColumnTest</a>
    +                    </td>
    +                    <td>10</td>
    +                    <td>0</td>
    +                    <td>0</td>
    +                    <td>0.071</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <a href="#LabelColumnTest" class="el_testsuite">LabelColumnTest</a>
    +                    </td>
    +                    <td>6</td>
    +                    <td>0</td>
    +                    <td>0</td>
    +                    <td>0.061</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <a href="#PercentageColumnTest" class="el_testsuite">PercentageColumnTest</a>
    +                    </td>
    +                    <td>8</td>
    +                    <td>0</td>
    +                    <td>0</td>
    +                    <td>0.099</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <a href="#SortIndexTest" class="el_testsuite">SortIndexTest</a>
    +                    </td>
    +                    <td>6</td>
    +                    <td>0</td>
    +                    <td>0</td>
    +                    <td>0.002</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <a href="#TableTest" class="el_testsuite">TableTest</a>
    +                    </td>
    +                    <td>5</td>
    +                    <td>0</td>
    +                    <td>0</td>
    +                    <td>0.042</td>
    +                </tr>
    +            </table>
    +            <p>
    +                <a href="#top">Back to top</a>
    +            </p>
    +            <a name="org.jacoco.report.internal.xml" />
    +            <h3>Package org.jacoco.report.internal.xml</h3>
    +            <table class="coverage">
    +                <thead>
    +                    <tr>
    +                        <td>Name</td>
    +                        <td>Tests</td>
    +                        <td>Errors</td>
    +                        <td>Failures</td>
    +                        <td>Time(s)</td>
    +                    </tr>
    +                </thead>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <a href="#XMLElementTest" class="el_testsuite">XMLElementTest</a>
    +                    </td>
    +                    <td>19</td>
    +                    <td>0</td>
    +                    <td>0</td>
    +                    <td>0.007</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <a href="#XMLGroupVisitorTest" class="el_testsuite">XMLGroupVisitorTest</a>
    +                    </td>
    +                    <td>3</td>
    +                    <td>0</td>
    +                    <td>0</td>
    +                    <td>0.021</td>
    +                </tr>
    +            </table>
    +            <p>
    +                <a href="#top">Back to top</a>
    +            </p>
    +            <a name="org.jacoco.report.xml" />
    +            <h3>Package org.jacoco.report.xml</h3>
    +            <table class="coverage">
    +                <thead>
    +                    <tr>
    +                        <td>Name</td>
    +                        <td>Tests</td>
    +                        <td>Errors</td>
    +                        <td>Failures</td>
    +                        <td>Time(s)</td>
    +                    </tr>
    +                </thead>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <a href="#XMLFormatterTest" class="el_testsuite">XMLFormatterTest</a>
    +                    </td>
    +                    <td>6</td>
    +                    <td>0</td>
    +                    <td>0</td>
    +                    <td>0.251</td>
    +                </tr>
    +            </table>
    +            <p>
    +                <a href="#top">Back to top</a>
    +            </p>
    +            <a name="AbstractMatcherTest" />
    +            <h3>TestCase AbstractMatcherTest</h3>
    +            <table class="coverage">
    +                <thead>
    +                    <tr>
    +                        <td>Name</td>
    +                        <td>Status</td>
    +                        <td>Type</td>
    +                        <td>Time(s)</td>
    +                    </tr>
    +                </thead>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">nextIsInvoke</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.000</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">nextIsType</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.000</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">nextIsSwitch</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.000</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">nextIs</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.000</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">nextIsField</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.000</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">skipNonOpcodes</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.000</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">firstIsALoad0</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.000</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">nextIsVar</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.000</td>
    +                </tr>
    +            </table>
    +            <p>
    +                <a href="#top">Back to top</a>
    +            </p>
    +            <a name="AgentJarTest" />
    +            <h3>TestCase AgentJarTest</h3>
    +            <table class="coverage">
    +                <thead>
    +                    <tr>
    +                        <td>Name</td>
    +                        <td>Status</td>
    +                        <td>Type</td>
    +                        <td>Time(s)</td>
    +                    </tr>
    +                </thead>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">testGetResourceAsStream</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.008</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">testExtractToNegative</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.003</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">testExtractToTempLocation</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.004</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">testExtractTo</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.001</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">testGetResource</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.001</td>
    +                </tr>
    +            </table>
    +            <p>
    +                <a href="#top">Back to top</a>
    +            </p>
    +            <a name="AgentModuleTest" />
    +            <h3>TestCase AgentModuleTest</h3>
    +            <table class="coverage">
    +                <thead>
    +                    <tr>
    +                        <td>Name</td>
    +                        <td>Status</td>
    +                        <td>Type</td>
    +                        <td>Time(s)</td>
    +                    </tr>
    +                </thead>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">isSupported_should_return_false_before_Java9</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.005</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">should_only_load_classes_in_scope</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.005</td>
    +                </tr>
    +            </table>
    +            <p>
    +                <a href="#top">Back to top</a>
    +            </p>
    +            <a name="AgentOptionsTest" />
    +            <h3>TestCase AgentOptionsTest</h3>
    +            <table class="coverage">
    +                <thead>
    +                    <tr>
    +                        <td>Name</td>
    +                        <td>Status</td>
    +                        <td>Type</td>
    +                        <td>Time(s)</td>
    +                    </tr>
    +                </thead>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">testSetInclBootstrapClassesFalse</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.003</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">testSetInclNoLocationClassesTrue</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.000</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">testSetNegativePort</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.000</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">testSetDumpOnExit</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.000</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">testGetExclClassloader</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.000</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">testSetInclNoLocationClassesFalse</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.000</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">testSetAppendFalse</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.000</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">testSetSessionId</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.000</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">testGetInclNoLocationClassesFalse</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.000</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">testToString</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.000</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">testPrependVMArgumentsReplace</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.001</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">testEmptyPropertiesOptions</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.000</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">testSetExcludes</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.000</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">testGetExcludes</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.001</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">testGetAddress</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.000</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">testGetClassDumpDir</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.000</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">testGetAppendTrue</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.000</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">testSetDestile</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.000</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">testGetPort</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.000</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">testSetExclClassloader</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.000</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">testPrependVMArguments</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.001</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">testEmptyOptions</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.000</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">testNullOptions</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.000</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">testGetVMArgumentWithOneOption</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.000</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">testInvalidOptionKey</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.000</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">testSetClassDumpDir</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.000</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">testSetAppendTrue</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.000</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">testInvalidOptionFormat</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.000</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">testSetInclBootstrapClassesTrue</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.000</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">testGetAppendFalse</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.001</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">testSetAddress</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.000</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">testSetOutput1</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.000</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">testSetOutput2</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.000</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">testGetInclBootstrapClassesFalse</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.000</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">testGetInclNoLocationClassesTrue</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.000</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">testDefaults</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.000</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">testGetOutput</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.000</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">testGetJmx</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.000</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">testSetIncludes</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.000</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">testGetIncludes</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.001</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">testSetPort</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.000</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">testInvalidOutput1</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.000</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">testInvalidOutput2</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.000</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">testGetSessionId</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.000</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">testGetInclBootstrapClassesTrue</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.000</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">testSetJmx</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.000</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">testGetQuotedVMArgument</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.000</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">testGetVMArgumentWithOptions</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.000</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">testParseInvalidPort</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.001</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">testInvalidPortOptionValue</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.000</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">testPropertiesOptions</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.000</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">testGetDestile</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.000</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">testGetVMArgumentWithNoOptions</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.000</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">testGetDumpOnExit</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.000</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">testOptionValueWithSpecialCharacters</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.000</td>
    +                </tr>
    +            </table>
    +            <p>
    +                <a href="#top">Back to top</a>
    +            </p>
    +            <a name="AgentTaskTest" />
    +            <h3>TestCase AgentTaskTest</h3>
    +            <table class="coverage">
    +                <thead>
    +                    <tr>
    +                        <td>Name</td>
    +                        <td>Status</td>
    +                        <td>Type</td>
    +                        <td>Time(s)</td>
    +                    </tr>
    +                </thead>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">testCoverageAgentWithEmptyProperty [src/org/jacoco/ant/AgentTaskTest.xml]</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.043</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">testCoverageAgent [src/org/jacoco/ant/AgentTaskTest.xml]</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.050</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">testCoverageAgentReuseAgentJar [src/org/jacoco/ant/AgentTaskTest.xml]</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.037</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">testCoverageAgentWithNoProperty [src/org/jacoco/ant/AgentTaskTest.xml]</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.035</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">testCoverageAgentDisabled [src/org/jacoco/ant/AgentTaskTest.xml]</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.032</td>
    +                </tr>
    +            </table>
    +            <p>
    +                <a href="#top">Back to top</a>
    +            </p>
    +            <a name="AgentTest" />
    +            <h3>TestCase AgentTest</h3>
    +            <table class="coverage">
    +                <thead>
    +                    <tr>
    +                        <td>Name</td>
    +                        <td>Status</td>
    +                        <td>Type</td>
    +                        <td>Time(s)</td>
    +                    </tr>
    +                </thead>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">startup_should_not_register_mbean_when_disabled</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.016</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">getSessionId_should_return_session_id</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.000</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">startup_should_register_mbean_when_enabled</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.002</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">setSessionId_should_modify_session_id</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.000</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">getVersion_should_return_current_version</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.000</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">getExecutionData_should_reset_probes_when_enabled</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.002</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">shutdown_should_log_exception</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.001</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">getExecutionData_should_return_probes_and_session_id</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.002</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">startup_should_set_defined_session_id</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.000</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">startup_should_log_and_rethrow_exception</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.001</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">shutdown_should_deregister_mbean_when_enabled</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.000</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">createController_should_create_defined_controller_type</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.004</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">getExecutionData_should_not_reset_probes_when_disabled</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.000</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">dump_should_trigger_writeExecutionData_with_reset</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.000</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">reset_should_reset_probes</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.000</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">shutdown_should_not_write_execution_data_when_disabled</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.000</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">startup_should_create_random_session_id_when_undefined</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.001</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">shutdown_should_write_execution_data_when_enabled</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.000</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">dump_should_trigger_writeExecutionData_without_reset</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.000</td>
    +                </tr>
    +            </table>
    +            <p>
    +                <a href="#top">Back to top</a>
    +            </p>
    +            <a name="AnalyzerTest" />
    +            <h3>TestCase AnalyzerTest</h3>
    +            <table class="coverage">
    +                <thead>
    +                    <tr>
    +                        <td>Name</td>
    +                        <td>Status</td>
    +                        <td>Type</td>
    +                        <td>Time(s)</td>
    +                    </tr>
    +                </thead>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">testAnalyzeClassNoIdMatch</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.015</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">testAnalyzeClass_Broken</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.001</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">analyzeAll_should_throw_exception_for_unsupported_class_file_version</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.001</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">testAnalyzeAll_Pack200</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.028</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">testAnalyzeClassFromStream</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.012</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">should_ignore_module_info</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.000</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">testAnalyzeAll_Zip</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.024</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">should_ignore_synthetic_classes</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.000</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">testAnalyzeAll_BrokenGZ</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.001</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">testAnalyzeAll_BrokenClassFileInZip</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.001</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">testAnalyzeAll_Broken</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.001</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">testAnalyzeAll_BrokenPack200</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.000</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">testAnalyzeAll_Folder</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.028</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">should_not_modify_class_bytes_to_support_next_version</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.001</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">testAnalyzeAll_BrokenZipEntry</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.001</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">analyzeClass_should_throw_exception_for_unsupported_class_file_version</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.000</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">testAnalyzeClass_BrokenStream</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.001</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">testAnalyzeAll_BrokenZip</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.000</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">testAnalyzeClassIdMatch</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.028</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">testAnalyzeAll_Path</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.023</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">testAnalyzeAll_Class</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.022</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">testAnalyzeAll_Empty</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.001</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">testAnalyzeClassFromByteArray</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.016</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">testAnalyzeAll_EmptyZipEntry</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.000</td>
    +                </tr>
    +            </table>
    +            <p>
    +                <a href="#top">Back to top</a>
    +            </p>
    +            <a name="AnnotationGeneratedFilterTest" />
    +            <h3>TestCase AnnotationGeneratedFilterTest</h3>
    +            <table class="coverage">
    +                <thead>
    +                    <tr>
    +                        <td>Name</td>
    +                        <td>Status</td>
    +                        <td>Type</td>
    +                        <td>Time(s)</td>
    +                    </tr>
    +                </thead>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">should_filter_classes_annotated_with_runtime_visible_org_immutables_value_Generated</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.001</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">should_filter_methods_annotated_with_runtime_invisible_lombok_Generated</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.000</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">should_filter_methods_annotated_with_runtime_visible_org_groovy_transform_Generated</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.000</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">should_filter_classes_annotated_with_runtime_visible_org_apache_avro_specific_AvroGenerated</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.000</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">should_not_filter_when_other_annotations</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.000</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">should_filter_when_annotation_is_inner</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.000</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">should_not_filter_when_no_annotations</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.001</td>
    +                </tr>
    +            </table>
    +            <p>
    +                <a href="#top">Back to top</a>
    +            </p>
    +            <a name="AntFilesLocatorTest" />
    +            <h3>TestCase AntFilesLocatorTest</h3>
    +            <table class="coverage">
    +                <thead>
    +                    <tr>
    +                        <td>Name</td>
    +                        <td>Status</td>
    +                        <td>Type</td>
    +                        <td>Time(s)</td>
    +                    </tr>
    +                </thead>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">testGetSourceFileNegative</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.000</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">testGetSourceFile</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.000</td>
    +                </tr>
    +            </table>
    +            <p>
    +                <a href="#top">Back to top</a>
    +            </p>
    +            <a name="AntResourcesLocatorTest" />
    +            <h3>TestCase AntResourcesLocatorTest</h3>
    +            <table class="coverage">
    +                <thead>
    +                    <tr>
    +                        <td>Name</td>
    +                        <td>Status</td>
    +                        <td>Type</td>
    +                        <td>Time(s)</td>
    +                    </tr>
    +                </thead>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">testEmpty</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.004</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">testFile</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.001</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">testDirectory</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.001</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">testFilePrecedence</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.001</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">testDirectoryOrdering</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.010</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">testGetTabWidth</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.001</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">testAddAll</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.001</td>
    +                </tr>
    +            </table>
    +            <p>
    +                <a href="#top">Back to top</a>
    +            </p>
    +            <a name="AssertFilterTest" />
    +            <h3>TestCase AssertFilterTest</h3>
    +            <table class="coverage">
    +                <thead>
    +                    <tr>
    +                        <td>Name</td>
    +                        <td>Status</td>
    +                        <td>Type</td>
    +                        <td>Time(s)</td>
    +                    </tr>
    +                </thead>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">should_filter_assert</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.001</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">should_not_filter_static_initializer_when_field_name_does_not_match</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.000</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">should_filter_static_initializer</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.000</td>
    +                </tr>
    +            </table>
    +            <p>
    +                <a href="#top">Back to top</a>
    +            </p>
    +            <a name="BarColumnTest" />
    +            <h3>TestCase BarColumnTest</h3>
    +            <table class="coverage">
    +                <thead>
    +                    <tr>
    +                        <td>Name</td>
    +                        <td>Status</td>
    +                        <td>Type</td>
    +                        <td>Time(s)</td>
    +                    </tr>
    +                </thead>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">testInit</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.010</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">testComparator1</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.000</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">testComparator2</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.001</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">testRedBarOnly</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.011</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">testFooter</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.007</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">testLocale</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.007</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">testNoBars</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.007</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">testBarWidths</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.015</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">testGreenBarOnly</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.013</td>
    +                </tr>
    +            </table>
    +            <p>
    +                <a href="#top">Back to top</a>
    +            </p>
    +            <a name="BridgeFilterTest" />
    +            <h3>TestCase BridgeFilterTest</h3>
    +            <table class="coverage">
    +                <thead>
    +                    <tr>
    +                        <td>Name</td>
    +                        <td>Status</td>
    +                        <td>Type</td>
    +                        <td>Time(s)</td>
    +                    </tr>
    +                </thead>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">should_not_filter_non_bridge_methods</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.001</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">should_filter_bridge_methods</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.000</td>
    +                </tr>
    +            </table>
    +            <p>
    +                <a href="#top">Back to top</a>
    +            </p>
    +            <a name="BundleCheckerTest" />
    +            <h3>TestCase BundleCheckerTest</h3>
    +            <table class="coverage">
    +                <thead>
    +                    <tr>
    +                        <td>Name</td>
    +                        <td>Status</td>
    +                        <td>Type</td>
    +                        <td>Time(s)</td>
    +                    </tr>
    +                </thead>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">testMethodLimit</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.022</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">testGroupLimitNotSupported</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.000</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">testClassLimit</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.000</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">testBundleLimit</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.000</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">testPackageLimit</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.001</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">testSourceFileLimit</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.000</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">testLimitOk</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.000</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">testBundleNoMatch</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.000</td>
    +                </tr>
    +            </table>
    +            <p>
    +                <a href="#top">Back to top</a>
    +            </p>
    +            <a name="BundleCoverageImplTest" />
    +            <h3>TestCase BundleCoverageImplTest</h3>
    +            <table class="coverage">
    +                <thead>
    +                    <tr>
    +                        <td>Name</td>
    +                        <td>Status</td>
    +                        <td>Type</td>
    +                        <td>Time(s)</td>
    +                    </tr>
    +                </thead>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">testGroupByPackage</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.002</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">testProperties</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.000</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">testCounters</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.001</td>
    +                </tr>
    +            </table>
    +            <p>
    +                <a href="#top">Back to top</a>
    +            </p>
    +            <a name="BundlePageTest" />
    +            <h3>TestCase BundlePageTest</h3>
    +            <table class="coverage">
    +                <thead>
    +                    <tr>
    +                        <td>Name</td>
    +                        <td>Status</td>
    +                        <td>Type</td>
    +                        <td>Time(s)</td>
    +                    </tr>
    +                </thead>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">should_render_non_empty_packages</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.012</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">should_render_message_when_all_classes_empty</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.012</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">should_render_message_when_no_class_files_specified</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.010</td>
    +                </tr>
    +            </table>
    +            <p>
    +                <a href="#top">Back to top</a>
    +            </p>
    +            <a name="ClassAnalyzerTest" />
    +            <h3>TestCase ClassAnalyzerTest</h3>
    +            <table class="coverage">
    +                <thead>
    +                    <tr>
    +                        <td>Name</td>
    +                        <td>Status</td>
    +                        <td>Type</td>
    +                        <td>Time(s)</td>
    +                    </tr>
    +                </thead>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">testMethodFilter_Empty</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.001</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">should_collect_attributes</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.000</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">testAnalyzeInstrumentedClass1</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.000</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">testAnalyzeInstrumentedClass2</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.000</td>
    +                </tr>
    +            </table>
    +            <p>
    +                <a href="#top">Back to top</a>
    +            </p>
    +            <a name="ClassCoverageImplTest" />
    +            <h3>TestCase ClassCoverageImplTest</h3>
    +            <table class="coverage">
    +                <thead>
    +                    <tr>
    +                        <td>Name</td>
    +                        <td>Status</td>
    +                        <td>Type</td>
    +                        <td>Time(s)</td>
    +                    </tr>
    +                </thead>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">testAddMethodCovered</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.000</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">testEmptyClass</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.000</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">testAddMethodMissed</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.000</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">testGetPackageName1</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.000</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">testGetPackageName2</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.001</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">testSuperName</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.000</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">testSourceFileName</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.000</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">testDefaults</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.000</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">testNoMatch</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.000</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">testSignature</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.000</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">testInterfaces</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.000</td>
    +                </tr>
    +            </table>
    +            <p>
    +                <a href="#top">Back to top</a>
    +            </p>
    +            <a name="ClassFileDumperTest" />
    +            <h3>TestCase ClassFileDumperTest</h3>
    +            <table class="coverage">
    +                <thead>
    +                    <tr>
    +                        <td>Name</td>
    +                        <td>Status</td>
    +                        <td>Type</td>
    +                        <td>Time(s)</td>
    +                    </tr>
    +                </thead>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">testDumpClassInDefaultPackage</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.007</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">testDumpClassWithPackage</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.001</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">testNoDumps</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.001</td>
    +                </tr>
    +            </table>
    +            <p>
    +                <a href="#top">Back to top</a>
    +            </p>
    +            <a name="ClassFileVersionsTest" />
    +            <h3>TestCase ClassFileVersionsTest</h3>
    +            <table class="coverage">
    +                <thead>
    +                    <tr>
    +                        <td>Name</td>
    +                        <td>Status</td>
    +                        <td>Type</td>
    +                        <td>Time(s)</td>
    +                    </tr>
    +                </thead>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">test_10</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.001</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">test_11</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.001</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">test_12</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.000</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">test_13</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.000</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">test_14</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.000</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">test_15</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.001</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">test_16</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.000</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">test_1_1</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.001</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">test_1_2</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.000</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">test_1_3</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.001</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">test_1_4</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.000</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">test_1_5</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.001</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">test_1_6</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.000</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">test_1_7</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.017</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">test_1_8</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.000</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">test_9</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.001</td>
    +                </tr>
    +            </table>
    +            <p>
    +                <a href="#top">Back to top</a>
    +            </p>
    +            <a name="ClassInfoTest" />
    +            <h3>TestCase ClassInfoTest</h3>
    +            <table class="coverage">
    +                <thead>
    +                    <tr>
    +                        <td>Name</td>
    +                        <td>Status</td>
    +                        <td>Type</td>
    +                        <td>Time(s)</td>
    +                    </tr>
    +                </thead>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">should_print_class_details_when_verbose</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.150</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">should_print_warning_when_no_class_files_are_provided</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.006</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">should_print_usage_when_invalid_option_is_given</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.002</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">should_print_class_info</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.039</td>
    +                </tr>
    +            </table>
    +            <p>
    +                <a href="#top">Back to top</a>
    +            </p>
    +            <a name="ClassInfoTest" />
    +            <h3>TestCase ClassInfoTest</h3>
    +            <table class="coverage">
    +                <thead>
    +                    <tr>
    +                        <td>Name</td>
    +                        <td>Status</td>
    +                        <td>Type</td>
    +                        <td>Time(s)</td>
    +                    </tr>
    +                </thead>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">testRunExample</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.072</td>
    +                </tr>
    +            </table>
    +            <p>
    +                <a href="#top">Back to top</a>
    +            </p>
    +            <a name="ClassInstrumenterTest" />
    +            <h3>TestCase ClassInstrumenterTest</h3>
    +            <table class="coverage">
    +                <thead>
    +                    <tr>
    +                        <td>Name</td>
    +                        <td>Status</td>
    +                        <td>Type</td>
    +                        <td>Time(s)</td>
    +                    </tr>
    +                </thead>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">testInstrumentInstrumentedClass1</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.000</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">testInstrumentInstrumentedClass2</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.007</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">testNoMethodVisitor</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.000</td>
    +                </tr>
    +            </table>
    +            <p>
    +                <a href="#top">Back to top</a>
    +            </p>
    +            <a name="ClassPageTest" />
    +            <h3>TestCase ClassPageTest</h3>
    +            <table class="coverage">
    +                <thead>
    +                    <tr>
    +                        <td>Name</td>
    +                        <td>Status</td>
    +                        <td>Type</td>
    +                        <td>Time(s)</td>
    +                    </tr>
    +                </thead>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">should_generate_message_when_no_lines</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.027</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">should_generate_message_when_class_id_mismatch</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.024</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">should_not_generate_message_when_SourceFileName_and_SourceFilePage_present</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.021</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">testGetLinkLabel</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.000</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">testContents</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.024</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">should_generate_message_when_SourceFileName_not_present</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.012</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">testGetFileName</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.000</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">should_generate_message_with_default_package_when_SourceFileName_present_but_no_SourceFilePage</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.010</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">testGetFileNameDefault</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.000</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">should_generate_message_when_SourceFileName_present_but_no_SourceFilePage</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.011</td>
    +                </tr>
    +            </table>
    +            <p>
    +                <a href="#top">Back to top</a>
    +            </p>
    +            <a name="ClassProbesAdapterTest" />
    +            <h3>TestCase ClassProbesAdapterTest</h3>
    +            <table class="coverage">
    +                <thead>
    +                    <tr>
    +                        <td>Name</td>
    +                        <td>Status</td>
    +                        <td>Type</td>
    +                        <td>Time(s)</td>
    +                    </tr>
    +                </thead>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">testVisitClassMethods</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.004</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">testVisitWithFrames</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.000</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">testVisitWithoutFrames</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.000</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">testProbeCounter</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.000</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">testVisitMethodNullMethodVisitor</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.001</td>
    +                </tr>
    +            </table>
    +            <p>
    +                <a href="#top">Back to top</a>
    +            </p>
    +            <a name="ClassRowWriterTest" />
    +            <h3>TestCase ClassRowWriterTest</h3>
    +            <table class="coverage">
    +                <thead>
    +                    <tr>
    +                        <td>Name</td>
    +                        <td>Status</td>
    +                        <td>Type</td>
    +                        <td>Time(s)</td>
    +                    </tr>
    +                </thead>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">TestHeader</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.001</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">TestRow</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.009</td>
    +                </tr>
    +            </table>
    +            <p>
    +                <a href="#top">Back to top</a>
    +            </p>
    +            <a name="CommandLineSupportTest" />
    +            <h3>TestCase CommandLineSupportTest</h3>
    +            <table class="coverage">
    +                <thead>
    +                    <tr>
    +                        <td>Name</td>
    +                        <td>Status</td>
    +                        <td>Type</td>
    +                        <td>Time(s)</td>
    +                    </tr>
    +                </thead>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">testQuoteList1</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.000</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">testQuoteList2</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.000</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">testQuoteList3</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.000</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">testQuoteList4</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.000</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">testQuote1</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.000</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">testQuote2</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.000</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">testQuote3</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.000</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">testQuote4</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.000</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">testQuote5</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.000</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">testSplit1</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.001</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">testSplit2</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.000</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">testSplit3</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.000</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">testSplit4</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.000</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">testSplit5</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.000</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">testSplit6</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.000</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">testSplit7</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.000</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">testSplit8</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.000</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">testSplit9</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.000</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">testSplit10</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.000</td>
    +                </tr>
    +            </table>
    +            <p>
    +                <a href="#top">Back to top</a>
    +            </p>
    +            <a name="CompactDataInputOutputTest" />
    +            <h3>TestCase CompactDataInputOutputTest</h3>
    +            <table class="coverage">
    +                <thead>
    +                    <tr>
    +                        <td>Name</td>
    +                        <td>Status</td>
    +                        <td>Type</td>
    +                        <td>Time(s)</td>
    +                    </tr>
    +                </thead>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">testPackedBoolean3</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.000</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">testPackedBoolean8</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.000</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">testPackedBoolean9</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.000</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">testVarIntMinValue</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.000</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">testVarInt0x12345678</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.000</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">testPackedBooleanEmpty</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.000</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">testVarInt0x00000000</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.000</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">testVarInt0x0000007F</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.000</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">testVarInt0x00000080</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.000</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">testVarInt0x00000100</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.000</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">testVarIntMaxValue</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.000</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">testVarIntMinus1</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.000</td>
    +                </tr>
    +            </table>
    +            <p>
    +                <a href="#top">Back to top</a>
    +            </p>
    +            <a name="CondyProbeArrayStrategyTest" />
    +            <h3>TestCase CondyProbeArrayStrategyTest</h3>
    +            <table class="coverage">
    +                <thead>
    +                    <tr>
    +                        <td>Name</td>
    +                        <td>Status</td>
    +                        <td>Type</td>
    +                        <td>Time(s)</td>
    +                    </tr>
    +                </thead>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">should_store_instance_using_condy_and_checkcast</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.000</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">should_not_add_fields</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.001</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">should_add_bootstrap_method</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.002</td>
    +                </tr>
    +            </table>
    +            <p>
    +                <a href="#top">Back to top</a>
    +            </p>
    +            <a name="ConfigLoaderTest" />
    +            <h3>TestCase ConfigLoaderTest</h3>
    +            <table class="coverage">
    +                <thead>
    +                    <tr>
    +                        <td>Name</td>
    +                        <td>Status</td>
    +                        <td>Type</td>
    +                        <td>Time(s)</td>
    +                    </tr>
    +                </thead>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">testSystemProperties</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.003</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">testNoResource</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.000</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">testSubstituteProperties</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.000</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">testResource</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.001</td>
    +                </tr>
    +            </table>
    +            <p>
    +                <a href="#top">Back to top</a>
    +            </p>
    +            <a name="ContentTypeDetectorTest" />
    +            <h3>TestCase ContentTypeDetectorTest</h3>
    +            <table class="coverage">
    +                <thead>
    +                    <tr>
    +                        <td>Name</td>
    +                        <td>Status</td>
    +                        <td>Type</td>
    +                        <td>Time(s)</td>
    +                    </tr>
    +                </thead>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">testClassFile11</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.000</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">testClassFile12</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.000</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">testClassFile13</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.000</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">testClassFile14</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.000</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">testClassFile15</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.000</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">testClassFile16</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.000</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">testClassFile17</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.000</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">testClassFile18</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.001</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">testClassFile19</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.000</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">should_detect_java_10</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.000</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">should_detect_java_11</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.000</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">should_detect_java_12</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.000</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">should_detect_java_13</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.000</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">should_detect_java_14</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.000</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">should_detect_java_42</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.000</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">testStreamWithoutMarkSupport</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.001</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">should_detect_java_12_with_preview_features</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.000</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">testZipFile</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.000</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">testPack200File</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.002</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">should_detect_java_13_with_preview_features</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.000</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">testEmptyStream</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.000</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">testClassFile</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.001</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">testGZipFile</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.000</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">should_detect_java_14_with_preview_features</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.000</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">testMachObjectFile</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.000</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">should_not_detect_MachO_fat_binary_with_44_architectures</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.000</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">should_detect_java_11_with_preview_features</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.001</td>
    +                </tr>
    +            </table>
    +            <p>
    +                <a href="#top">Back to top</a>
    +            </p>
    +            <a name="CoreTutorialTest" />
    +            <h3>TestCase CoreTutorialTest</h3>
    +            <table class="coverage">
    +                <thead>
    +                    <tr>
    +                        <td>Name</td>
    +                        <td>Status</td>
    +                        <td>Type</td>
    +                        <td>Time(s)</td>
    +                    </tr>
    +                </thead>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">testRunExample</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.037</td>
    +                </tr>
    +            </table>
    +            <p>
    +                <a href="#top">Back to top</a>
    +            </p>
    +            <a name="CounterColumnTest" />
    +            <h3>TestCase CounterColumnTest</h3>
    +            <table class="coverage">
    +                <thead>
    +                    <tr>
    +                        <td>Name</td>
    +                        <td>Status</td>
    +                        <td>Type</td>
    +                        <td>Time(s)</td>
    +                    </tr>
    +                </thead>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">testComparatorMissed</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.001</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">testComparatorCovered</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.001</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">testItemTotal</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.024</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">testComparatorTotal</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.000</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">testItemCovered</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.015</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">testItemMissed</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.007</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">testInitVisible</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.003</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">testFooter</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.007</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">testLocale</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.011</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">testInitInvisible</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.002</td>
    +                </tr>
    +            </table>
    +            <p>
    +                <a href="#top">Back to top</a>
    +            </p>
    +            <a name="CounterComparatorTest" />
    +            <h3>TestCase CounterComparatorTest</h3>
    +            <table class="coverage">
    +                <thead>
    +                    <tr>
    +                        <td>Name</td>
    +                        <td>Status</td>
    +                        <td>Type</td>
    +                        <td>Time(s)</td>
    +                    </tr>
    +                </thead>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">testMissedItemsComparator</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.000</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">testReverseReverseComparator</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.000</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">testReverseComparator</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.000</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">testNodeComparator1</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.001</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">testNodeComparator2</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.000</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">testTotalItemsComparator</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.000</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">testCoveredRatioComparator</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.000</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">testCoveredItemsComparator</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.000</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">testMissedRatioComparator</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.000</td>
    +                </tr>
    +            </table>
    +            <p>
    +                <a href="#top">Back to top</a>
    +            </p>
    +            <a name="CounterImplTest" />
    +            <h3>TestCase CounterImplTest</h3>
    +            <table class="coverage">
    +                <thead>
    +                    <tr>
    +                        <td>Name</td>
    +                        <td>Status</td>
    +                        <td>Type</td>
    +                        <td>Time(s)</td>
    +                    </tr>
    +                </thead>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">testEquals1</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.001</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">testEquals2</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.000</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">testEquals3</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.000</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">testEquals4</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.000</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">testToString</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.000</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">testGetMissedStatus1</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.001</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">testGetMissedStatus2</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.001</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">testGetMissedStatus3</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.000</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">testGetMissedStatus4</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.000</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">testFixInstance</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.000</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">testIncrement1</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.000</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">testIncrement2</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.000</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">testVarInstance</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.000</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">testHashCode1</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.000</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">testHashCode2</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.001</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">testHashCode3</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.000</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">testGetMissedRatio1</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.001</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">testGetMissedRatio2</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.000</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">testGetMissedRatio3</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.000</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">testGetInstance1</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.000</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">testGetInstance2</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.000</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">testGetInstance3</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.000</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">testGetCoveredRatio1</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.000</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">testGetCoveredRatio2</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.000</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">testGetCoveredRatio3</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.000</td>
    +                </tr>
    +            </table>
    +            <p>
    +                <a href="#top">Back to top</a>
    +            </p>
    +            <a name="CoverageBuilderTest" />
    +            <h3>TestCase CoverageBuilderTest</h3>
    +            <table class="coverage">
    +                <thead>
    +                    <tr>
    +                        <td>Name</td>
    +                        <td>Status</td>
    +                        <td>Type</td>
    +                        <td>Time(s)</td>
    +                    </tr>
    +                </thead>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">testDuplicateClassNameIdentical</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.000</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">should_not_ignore_empty_classes</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.000</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">testDuplicateClassNameDifferent</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.001</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">testCreateSourceFile</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.000</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">testGetBundle</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.000</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">testCreateClassCovered</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.000</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">testGetNoMatchClasses</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.000</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">testCreateClassMissed</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.000</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">testCreateSourceFileDuplicateClassNameIdentical</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.000</td>
    +                </tr>
    +            </table>
    +            <p>
    +                <a href="#top">Back to top</a>
    +            </p>
    +            <a name="CoverageNodeImplTest" />
    +            <h3>TestCase CoverageNodeImplTest</h3>
    +            <table class="coverage">
    +                <thead>
    +                    <tr>
    +                        <td>Name</td>
    +                        <td>Status</td>
    +                        <td>Type</td>
    +                        <td>Time(s)</td>
    +                    </tr>
    +                </thead>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">testIncrementCollection</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.001</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">testProperties</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.000</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">testGetPlainCopy</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.001</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">testInit</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.000</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">testToString</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.000</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">testIncrement</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.001</td>
    +                </tr>
    +            </table>
    +            <p>
    +                <a href="#top">Back to top</a>
    +            </p>
    +            <a name="CoverageTaskTest" />
    +            <h3>TestCase CoverageTaskTest</h3>
    +            <table class="coverage">
    +                <thead>
    +                    <tr>
    +                        <td>Name</td>
    +                        <td>Status</td>
    +                        <td>Type</td>
    +                        <td>Time(s)</td>
    +                    </tr>
    +                </thead>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">testCoverageOfForkedJavaDisabled [src/org/jacoco/ant/CoverageTaskTest.xml]</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.081</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">testCoverageOfForkedJavaWithVariable [src/org/jacoco/ant/CoverageTaskTest.xml]</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.220</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">testNoSubTasks [src/org/jacoco/ant/CoverageTaskTest.xml]</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.073</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">testCoverageOfForkedJava [src/org/jacoco/ant/CoverageTaskTest.xml]</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.203</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">testInvalidSubTask [src/org/jacoco/ant/CoverageTaskTest.xml]</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.034</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">testInclBootstrapClasses [src/org/jacoco/ant/CoverageTaskTest.xml]</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.278</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">testIllegalReflectiveAccess [src/org/jacoco/ant/CoverageTaskTest.xml]</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.162</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">testSecurityManager [src/org/jacoco/ant/CoverageTaskTest.xml]</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.234</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">testCoverageOfNonForkedJava [src/org/jacoco/ant/CoverageTaskTest.xml]</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.033</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">testMultipleSubTasks [src/org/jacoco/ant/CoverageTaskTest.xml]</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.036</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">testCoverageOfForkedJUnit [src/org/jacoco/ant/CoverageTaskTest.xml]</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.658</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">testCoverageOfForkedJUnitDisabled [src/org/jacoco/ant/CoverageTaskTest.xml]</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.182</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">testCoverageOfNonForkedJUnit [src/org/jacoco/ant/CoverageTaskTest.xml]</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.035</td>
    +                </tr>
    +            </table>
    +            <p>
    +                <a href="#top">Back to top</a>
    +            </p>
    +            <a name="CoverageTransformerTest" />
    +            <h3>TestCase CoverageTransformerTest</h3>
    +            <table class="coverage">
    +                <thead>
    +                    <tr>
    +                        <td>Name</td>
    +                        <td>Status</td>
    +                        <td>Type</td>
    +                        <td>Time(s)</td>
    +                    </tr>
    +                </thead>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">testFilterExcludedClassPositive</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.007</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">testFilterExcludedClassNegative</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.001</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">testFilterIncludedClassPositive</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.001</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">testFilterIncludedClassNegative</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.000</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">testFilterSourceLocationNegative</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.001</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">testFilterClassLoaderPositive1</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.000</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">testFilterClassLoaderPositive2</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.000</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">testFilterSourceLocationPositive1</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.000</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">testFilterSourceLocationPositive2</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.000</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">testFilterSourceLocationPositive3</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.001</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">testFilterExcludedClassPositiveInner</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.000</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">testTransformFiltered1</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.001</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">testTransformFiltered2</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.000</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">testTransformFailure</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.002</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">testFilterClassLoaderNegative1</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.001</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">testFilterClassLoaderNegative2</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.002</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">testFilterInclBootstrapClassesPositive</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.001</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">testFilterInclBootstrapClassesNegative</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.000</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">testFilterAgentClass</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.001</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">testRedefinedClass</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.000</td>
    +                </tr>
    +            </table>
    +            <p>
    +                <a href="#top">Back to top</a>
    +            </p>
    +            <a name="CRC64Test" />
    +            <h3>TestCase CRC64Test</h3>
    +            <table class="coverage">
    +                <thead>
    +                    <tr>
    +                        <td>Name</td>
    +                        <td>Status</td>
    +                        <td>Type</td>
    +                        <td>Time(s)</td>
    +                    </tr>
    +                </thead>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">except_java_9_checksums_should_be_different_for_different_bytecode_versions</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.000</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">test0</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.000</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">test1</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.000</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">test2</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.001</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">test3</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.000</td>
    +                </tr>
    +            </table>
    +            <p>
    +                <a href="#top">Back to top</a>
    +            </p>
    +            <a name="CSVFormatterTest" />
    +            <h3>TestCase CSVFormatterTest</h3>
    +            <table class="coverage">
    +                <thead>
    +                    <tr>
    +                        <td>Name</td>
    +                        <td>Status</td>
    +                        <td>Type</td>
    +                        <td>Time(s)</td>
    +                    </tr>
    +                </thead>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">testSetEncoding</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.002</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">testStructureWithNestedGroups</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.000</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">testStructureWithGroup</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.001</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">testGetLanguageNames</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.001</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">testStructureWithBundleOnly</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.000</td>
    +                </tr>
    +            </table>
    +            <p>
    +                <a href="#top">Back to top</a>
    +            </p>
    +            <a name="CSVGroupHandlerTest" />
    +            <h3>TestCase CSVGroupHandlerTest</h3>
    +            <table class="coverage">
    +                <thead>
    +                    <tr>
    +                        <td>Name</td>
    +                        <td>Status</td>
    +                        <td>Type</td>
    +                        <td>Time(s)</td>
    +                    </tr>
    +                </thead>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">testVisitBundle</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.001</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">testVisitGroup</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.000</td>
    +                </tr>
    +            </table>
    +            <p>
    +                <a href="#top">Back to top</a>
    +            </p>
    +            <a name="DelimitedWriterTest" />
    +            <h3>TestCase DelimitedWriterTest</h3>
    +            <table class="coverage">
    +                <thead>
    +                    <tr>
    +                        <td>Name</td>
    +                        <td>Status</td>
    +                        <td>Type</td>
    +                        <td>Time(s)</td>
    +                    </tr>
    +                </thead>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">testFieldContainingDelimiter</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.000</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">testFieldContainingDelimiterAndQuote</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.000</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">testMultipleFieldsOnOneLine</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.000</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">testAutoEscapedField</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.001</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">testInt</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.000</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">testInts</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.000</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">testWriteEmptyHeader</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.000</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">testMultipleFieldsOnMultipleLines</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.001</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">testWordWithSpace</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.000</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">testWriteHeader</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.000</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">testNoWrites</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.000</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">testSingleField</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.001</td>
    +                </tr>
    +            </table>
    +            <p>
    +                <a href="#top">Back to top</a>
    +            </p>
    +            <a name="DirectorySourceFileLocatorTest" />
    +            <h3>TestCase DirectorySourceFileLocatorTest</h3>
    +            <table class="coverage">
    +                <thead>
    +                    <tr>
    +                        <td>Name</td>
    +                        <td>Status</td>
    +                        <td>Type</td>
    +                        <td>Time(s)</td>
    +                    </tr>
    +                </thead>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">getSourceFile_should_return_null_when_source_is_folder</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.008</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">getSourceFile_should_return_content_when_file_exists</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.001</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">getSourceFile_should_return_null_when_source_does_not_exist</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.000</td>
    +                </tr>
    +            </table>
    +            <p>
    +                <a href="#top">Back to top</a>
    +            </p>
    +            <a name="DumpTaskTest" />
    +            <h3>TestCase DumpTaskTest</h3>
    +            <table class="coverage">
    +                <thead>
    +                    <tr>
    +                        <td>Name</td>
    +                        <td>Status</td>
    +                        <td>Type</td>
    +                        <td>Time(s)</td>
    +                    </tr>
    +                </thead>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">testUnknownHost [src/org/jacoco/ant/DumpTaskTest.xml]</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.066</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">testInvalidPort [src/org/jacoco/ant/DumpTaskTest.xml]</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.103</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">testNoDestFile [src/org/jacoco/ant/DumpTaskTest.xml]</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.076</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">testNoServer [src/org/jacoco/ant/DumpTaskTest.xml]</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.055</td>
    +                </tr>
    +            </table>
    +            <p>
    +                <a href="#top">Back to top</a>
    +            </p>
    +            <a name="DumpTaskWithServerTest" />
    +            <h3>TestCase DumpTaskWithServerTest</h3>
    +            <table class="coverage">
    +                <thead>
    +                    <tr>
    +                        <td>Name</td>
    +                        <td>Status</td>
    +                        <td>Type</td>
    +                        <td>Time(s)</td>
    +                    </tr>
    +                </thead>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">testDump [src/org/jacoco/ant/DumpTaskWithServerTest.xml]</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.171</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">testNoDumpWithFileSet [src/org/jacoco/ant/DumpTaskWithServerTest.xml]</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.161</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">testNoDumpOrReset [src/org/jacoco/ant/DumpTaskWithServerTest.xml]</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.116</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">testResetOnly [src/org/jacoco/ant/DumpTaskWithServerTest.xml]</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.126</td>
    +                </tr>
    +            </table>
    +            <p>
    +                <a href="#top">Back to top</a>
    +            </p>
    +            <a name="DumpTest" />
    +            <h3>TestCase DumpTest</h3>
    +            <table class="coverage">
    +                <thead>
    +                    <tr>
    +                        <td>Name</td>
    +                        <td>Status</td>
    +                        <td>Type</td>
    +                        <td>Time(s)</td>
    +                    </tr>
    +                </thead>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">should_print_usage_when_no_argument_is_given</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.003</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">should_log_connection_error_when_retry_is_specified</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>1.010</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">should_write_dump</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.047</td>
    +                </tr>
    +            </table>
    +            <p>
    +                <a href="#top">Back to top</a>
    +            </p>
    +            <a name="DuplicateFrameEliminatorTest" />
    +            <h3>TestCase DuplicateFrameEliminatorTest</h3>
    +            <table class="coverage">
    +                <thead>
    +                    <tr>
    +                        <td>Name</td>
    +                        <td>Status</td>
    +                        <td>Type</td>
    +                        <td>Time(s)</td>
    +                    </tr>
    +                </thead>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">testLookupSwitchInsn</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.009</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">testMethodInsn</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.000</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">testDuplicateFrame</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.000</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">testInsn</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.001</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">testInvokeDynamicInsn</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.000</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">testLdcInsn</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.000</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">testTableSwitchInsn</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.000</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">testVarInsn</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.000</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">testTypeInsn</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.001</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">testMultiANewArrayInsn</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.000</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">testJumpInsn</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.000</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">testIincInsn</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.001</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">testIntInsn</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.000</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">testFieldInsn</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.000</td>
    +                </tr>
    +            </table>
    +            <p>
    +                <a href="#top">Back to top</a>
    +            </p>
    +            <a name="EnumEmptyConstructorFilterTest" />
    +            <h3>TestCase EnumEmptyConstructorFilterTest</h3>
    +            <table class="coverage">
    +                <thead>
    +                    <tr>
    +                        <td>Name</td>
    +                        <td>Status</td>
    +                        <td>Type</td>
    +                        <td>Time(s)</td>
    +                    </tr>
    +                </thead>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">should_not_filter_non_Enum</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.001</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">should_not_filter_constructor_with_additional_parameters</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.000</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">should_filter</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.000</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">should_not_filter_non_empty_constructor</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.003</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">should_not_filter_non_constructor</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.000</td>
    +                </tr>
    +            </table>
    +            <p>
    +                <a href="#top">Back to top</a>
    +            </p>
    +            <a name="EnumFilterTest" />
    +            <h3>TestCase EnumFilterTest</h3>
    +            <table class="coverage">
    +                <thead>
    +                    <tr>
    +                        <td>Name</td>
    +                        <td>Status</td>
    +                        <td>Type</td>
    +                        <td>Time(s)</td>
    +                    </tr>
    +                </thead>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">testValueOf</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.000</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">testNonValueOf</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.000</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">testNonValues</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.000</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">testNonEnum</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.000</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">testValues</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.000</td>
    +                </tr>
    +            </table>
    +            <p>
    +                <a href="#top">Back to top</a>
    +            </p>
    +            <a name="ExecDumpClientTest" />
    +            <h3>TestCase ExecDumpClientTest</h3>
    +            <table class="coverage">
    +                <thead>
    +                    <tr>
    +                        <td>Name</td>
    +                        <td>Status</td>
    +                        <td>Type</td>
    +                        <td>Time(s)</td>
    +                    </tr>
    +                </thead>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">testNoRetries</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.004</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">testReset</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.042</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">testDump</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.043</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">testWithRetries</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.001</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">should_throw_IOException_when_server_closes_connection_without_response</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.001</td>
    +                </tr>
    +            </table>
    +            <p>
    +                <a href="#top">Back to top</a>
    +            </p>
    +            <a name="ExecDumpTest" />
    +            <h3>TestCase ExecDumpTest</h3>
    +            <table class="coverage">
    +                <thead>
    +                    <tr>
    +                        <td>Name</td>
    +                        <td>Status</td>
    +                        <td>Type</td>
    +                        <td>Time(s)</td>
    +                    </tr>
    +                </thead>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">testRunExample</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.011</td>
    +                </tr>
    +            </table>
    +            <p>
    +                <a href="#top">Back to top</a>
    +            </p>
    +            <a name="ExecFileLoaderTest" />
    +            <h3>TestCase ExecFileLoaderTest</h3>
    +            <table class="coverage">
    +                <thead>
    +                    <tr>
    +                        <td>Name</td>
    +                        <td>Status</td>
    +                        <td>Type</td>
    +                        <td>Time(s)</td>
    +                    </tr>
    +                </thead>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">testLoadFile</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.002</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">testSaveFileAppend</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.001</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">testSaveFile</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.001</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">testLoadBrokenContent</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.000</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">testCreateSubfolders</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.001</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">testLoadInputStream</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.001</td>
    +                </tr>
    +            </table>
    +            <p>
    +                <a href="#top">Back to top</a>
    +            </p>
    +            <a name="ExecInfoTest" />
    +            <h3>TestCase ExecInfoTest</h3>
    +            <table class="coverage">
    +                <thead>
    +                    <tr>
    +                        <td>Name</td>
    +                        <td>Status</td>
    +                        <td>Type</td>
    +                        <td>Time(s)</td>
    +                    </tr>
    +                </thead>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">should_print_usage_when_invalid_argument_is_given</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.002</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">should_print_execution_data_info</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.004</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">should_print_warning_when_no_exec_files_are_provided</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.001</td>
    +                </tr>
    +            </table>
    +            <p>
    +                <a href="#top">Back to top</a>
    +            </p>
    +            <a name="ExecutionDataReaderWriterTest" />
    +            <h3>TestCase ExecutionDataReaderWriterTest</h3>
    +            <table class="coverage">
    +                <thead>
    +                    <tr>
    +                        <td>Name</td>
    +                        <td>Status</td>
    +                        <td>Type</td>
    +                        <td>Time(s)</td>
    +                    </tr>
    +                </thead>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">testEmptyClass</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.012</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">testMultipleHeaders</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.000</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">testOneClass</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.000</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">testInvalidMagicNumber</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.000</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">testGetFileHeader</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.001</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">testInvalidVersion</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.000</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">testEmpty</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.001</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">testFlush</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.000</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">testExecutionDataIOException</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.000</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">testNoHitClass</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.000</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">testEmptyFile</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.000</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">testSessionInfo</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.000</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">testMinClassId</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.000</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">testUnknownBlock</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.001</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">testNoSessionInfoVisitor</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.000</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">testMissingHeader</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.001</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">testSessionInfoIOException</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.000</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">testTwoClasses</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.000</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">testNoExecutionDataVisitor</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.001</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">testCustomBlocks</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.000</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">testMaxClassId</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.000</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">testTruncatedFile</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.000</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">testBigClass</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.001</td>
    +                </tr>
    +            </table>
    +            <p>
    +                <a href="#top">Back to top</a>
    +            </p>
    +            <a name="ExecutionDataStoreTest" />
    +            <h3>TestCase ExecutionDataStoreTest</h3>
    +            <table class="coverage">
    +                <thead>
    +                    <tr>
    +                        <td>Name</td>
    +                        <td>Status</td>
    +                        <td>Type</td>
    +                        <td>Time(s)</td>
    +                    </tr>
    +                </thead>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">testPut</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.000</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">testSubtract</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.000</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">testEmpty</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.000</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">testMerge</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.001</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">testReset</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.000</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">testSubtractOtherId</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.000</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">testGetWithCreate</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.000</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">testGetNegative1</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.000</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">testGetNegative2</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.001</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">testReentrantAccept</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.000</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">testPutNegative</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.001</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">testGetContents</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.000</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">testMergeNegative</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.000</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">testSubtractStore</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.000</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">testGetWithoutCreate</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.001</td>
    +                </tr>
    +            </table>
    +            <p>
    +                <a href="#top">Back to top</a>
    +            </p>
    +            <a name="ExecutionDataTest" />
    +            <h3>TestCase ExecutionDataTest</h3>
    +            <table class="coverage">
    +                <thead>
    +                    <tr>
    +                        <td>Name</td>
    +                        <td>Status</td>
    +                        <td>Type</td>
    +                        <td>Time(s)</td>
    +                    </tr>
    +                </thead>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">testMergeSubtract</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.001</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">testMerge</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.000</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">testReset</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.000</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">testCreateEmpty</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.000</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">testToString</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.001</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">testGetters</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.000</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">testHasHits</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.000</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">testAssertCompatibility</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.000</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">testHasHits_empty</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.000</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">testAssertCompatibilityNegative1</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.001</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">testAssertCompatibilityNegative2</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.000</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">testAssertCompatibilityNegative3</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.000</td>
    +                </tr>
    +            </table>
    +            <p>
    +                <a href="#top">Back to top</a>
    +            </p>
    +            <a name="ExhaustiveSwitchFilterTest" />
    +            <h3>TestCase ExhaustiveSwitchFilterTest</h3>
    +            <table class="coverage">
    +                <thead>
    +                    <tr>
    +                        <td>Name</td>
    +                        <td>Status</td>
    +                        <td>Type</td>
    +                        <td>Time(s)</td>
    +                    </tr>
    +                </thead>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">should_filter_when_default_branch_has_LineNumber_of_switch</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.004</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">should_filter_when_default_branch_has_no_LineNumber</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.000</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">should_filter_when_default_branch_throws_Java_21_MatchException</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.000</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">should_not_filter_when_default_branch_has_LineNumber_different_from_switch</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.000</td>
    +                </tr>
    +            </table>
    +            <p>
    +                <a href="#top">Back to top</a>
    +            </p>
    +            <a name="FileMultiReportOutputTest" />
    +            <h3>TestCase FileMultiReportOutputTest</h3>
    +            <table class="coverage">
    +                <thead>
    +                    <tr>
    +                        <td>Name</td>
    +                        <td>Status</td>
    +                        <td>Type</td>
    +                        <td>Time(s)</td>
    +                    </tr>
    +                </thead>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">testCreateFileWithDirectories</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.001</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">testCreateFileNegative</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.001</td>
    +                </tr>
    +            </table>
    +            <p>
    +                <a href="#top">Back to top</a>
    +            </p>
    +            <a name="FileOutputTest" />
    +            <h3>TestCase FileOutputTest</h3>
    +            <table class="coverage">
    +                <thead>
    +                    <tr>
    +                        <td>Name</td>
    +                        <td>Status</td>
    +                        <td>Type</td>
    +                        <td>Time(s)</td>
    +                    </tr>
    +                </thead>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">startup_should_create_empty_execfile</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.002</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">startup_should_throw_IOException_when_execfile_cannot_be_created</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.000</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">writeExecutionData_should_write_execdata</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.000</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">startup_should_throw_OverlappingFileLockException_when_execfile_is_permanently_locked</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.000</td>
    +                </tr>
    +            </table>
    +            <p>
    +                <a href="#top">Back to top</a>
    +            </p>
    +            <a name="FinallyFilterTest" />
    +            <h3>TestCase FinallyFilterTest</h3>
    +            <table class="coverage">
    +                <thead>
    +                    <tr>
    +                        <td>Name</td>
    +                        <td>Status</td>
    +                        <td>Type</td>
    +                        <td>Time(s)</td>
    +                    </tr>
    +                </thead>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">ecj_try_catch_finally</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.003</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">javac_try_catch_finally</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.001</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">ecj_empty_catch</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.000</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">should_analyze_control_flow</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.000</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">ecj_always_completes_abruptly</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.000</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">javac_8_empty_catch</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.004</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">javac_empty_catch</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.000</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">javac_always_completes_abruptly</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.000</td>
    +                </tr>
    +            </table>
    +            <p>
    +                <a href="#top">Back to top</a>
    +            </p>
    +            <a name="FrameSnapshotTest" />
    +            <h3>TestCase FrameSnapshotTest</h3>
    +            <table class="coverage">
    +                <thead>
    +                    <tr>
    +                        <td>Name</td>
    +                        <td>Status</td>
    +                        <td>Type</td>
    +                        <td>Time(s)</td>
    +                    </tr>
    +                </thead>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">should_decrease_stack_when_popCount_is_given</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.000</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">after_aaload_stack_should_contain_null_when_input_array_is_null</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.000</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">should_combine_slots_when_doube_or_long_types_are_given</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.001</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">should_capture_frame_when_frame_is_defined</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.000</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">should_not_capture_frame_when_no_frame_is_defined</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.000</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">should_not_capture_frame_when_no_analyzer_is_given</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.000</td>
    +                </tr>
    +            </table>
    +            <p>
    +                <a href="#top">Back to top</a>
    +            </p>
    +            <a name="HTMLElementTest" />
    +            <h3>TestCase HTMLElementTest</h3>
    +            <table class="coverage">
    +                <thead>
    +                    <tr>
    +                        <td>Name</td>
    +                        <td>Status</td>
    +                        <td>Type</td>
    +                        <td>Time(s)</td>
    +                    </tr>
    +                </thead>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">tr_should_create_tr_tag</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.000</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">a_should_create_a_tag_when_link_is_given</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.003</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">span_should_create_span_tag_with_class_attribute</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.000</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">table_should_create_table_tag_with_attributes</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.000</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">div_should_create_div_tag_with_class_attribute</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.001</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">code_should_create_code_tag</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.000</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">a_should_create_span_tag_with_class_attribute_when_no_link_is_given</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.000</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">script_should_create_script_tag_with_attributes</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.000</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">body_should_create_body_tag</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.000</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">img_should_create_img_tag_with_attributes</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.000</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">h1_should_create_h1_tag</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.000</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">title_should_create_title_tag</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.000</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">td_should_create_td_tag_with_class_attribute</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.001</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">p_should_create_p_tag</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.000</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">a_should_create_a_tag_with_href_and_class_attribute</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.000</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">pre_should_create_pre_tag_with_class_attribute</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.005</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">span_should_create_span_tag_with_class_and_id_attribute</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.001</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">link_should_create_link_tag_with_attributes</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.000</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">a_should_create_span_tag_when_no_link_is_given</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.000</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">head_should_create_head_tag</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.000</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">td_should_create_td_tag</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.000</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">meta_should_create_meta_tag_with_attributes</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.000</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">span_should_create_span_tag</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.000</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">should_create_minimal_valid_html_document</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.009</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">a_should_create_a_tag_with_href_attribute</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.000</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">thead_should_create_thead_tag</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.000</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">tfoot_should_create_tfoot_tag</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.000</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">a_should_create_a_tag_with_class_attribute_when_link_is_given</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.001</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">tbody_should_create_tbody_tag</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.000</td>
    +                </tr>
    +            </table>
    +            <p>
    +                <a href="#top">Back to top</a>
    +            </p>
    +            <a name="HTMLFormatterTest" />
    +            <h3>TestCase HTMLFormatterTest</h3>
    +            <table class="coverage">
    +                <thead>
    +                    <tr>
    +                        <td>Name</td>
    +                        <td>Status</td>
    +                        <td>Type</td>
    +                        <td>Time(s)</td>
    +                    </tr>
    +                </thead>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">testGetFooterText</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.015</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">testSetEncoding</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.101</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">testDefaultEncoding</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.028</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">testStructureWithNestedGroups</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.078</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">testStructureWithGroup</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.060</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">testGetLocale</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.000</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">testGetLanguageNames</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.001</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">testStructureWithBundleOnly</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.023</td>
    +                </tr>
    +            </table>
    +            <p>
    +                <a href="#top">Back to top</a>
    +            </p>
    +            <a name="IncompatibleExecDataVersionExceptionTest" />
    +            <h3>TestCase IncompatibleExecDataVersionExceptionTest</h3>
    +            <table class="coverage">
    +                <thead>
    +                    <tr>
    +                        <td>Name</td>
    +                        <td>Status</td>
    +                        <td>Type</td>
    +                        <td>Time(s)</td>
    +                    </tr>
    +                </thead>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">testGetExpectedVersion</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.000</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">testGetMessage</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.000</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">testGetActualVersion</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.000</td>
    +                </tr>
    +            </table>
    +            <p>
    +                <a href="#top">Back to top</a>
    +            </p>
    +            <a name="InjectedClassRuntimeTest" />
    +            <h3>TestCase InjectedClassRuntimeTest</h3>
    +            <table class="coverage">
    +                <thead>
    +                    <tr>
    +                        <td>Name</td>
    +                        <td>Status</td>
    +                        <td>Type</td>
    +                        <td>Time(s)</td>
    +                    </tr>
    +                </thead>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">org.jacoco.core.runtime.InjectedClassRuntimeTest</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.000</td>
    +                </tr>
    +            </table>
    +            <p>
    +                <a href="#top">Back to top</a>
    +            </p>
    +            <a name="InputStreamSourceFileLocatorTest" />
    +            <h3>TestCase InputStreamSourceFileLocatorTest</h3>
    +            <table class="coverage">
    +                <thead>
    +                    <tr>
    +                        <td>Name</td>
    +                        <td>Status</td>
    +                        <td>Type</td>
    +                        <td>Time(s)</td>
    +                    </tr>
    +                </thead>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">testEncoding</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.001</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">testDefaultEncoding</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.000</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">testGetSourceFileNegative</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.000</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">testGetSourceFile</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.000</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">testGetTabWidth</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.000</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">testGetSourceFileDefaultPackage</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.000</td>
    +                </tr>
    +            </table>
    +            <p>
    +                <a href="#top">Back to top</a>
    +            </p>
    +            <a name="InstrSupportTest" />
    +            <h3>TestCase InstrSupportTest</h3>
    +            <table class="coverage">
    +                <thead>
    +                    <tr>
    +                        <td>Name</td>
    +                        <td>Status</td>
    +                        <td>Type</td>
    +                        <td>Time(s)</td>
    +                    </tr>
    +                </thead>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">assertNotIntrumented_should_throw_exception_when_jacoco_data_field_is_present</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.001</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">testPushInt0</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.000</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">testPushInt1</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.000</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">testPushInt2</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.000</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">testPushInt3</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.000</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">testPushInt4</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.000</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">testPushInt5</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.000</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">assertNotIntrumented_should_throw_exception_when_jacoco_init_method_is_present</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.001</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">testPushInt2147483647</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.000</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">getMajorVersion_should_read_major_version_from_ClassReader_at_offset_relative_to_constant_pool</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.000</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">testPushInt32767</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.000</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">testPushIntM32768</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.000</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">needFrames_should_return_true_for_versions_greater_than_or_equal_to_1_6</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.000</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">testPushIntM1</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.000</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">testPushInt127</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.000</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">getMajorVersion_should_read_unsigned_two_bytes_at_offset_6</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.001</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">testPushIntM128</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.000</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">testPushIntM2147483648</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.000</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">needFrames_should_return_false_for_versions_less_than_1_6</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.000</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">classReaderFor_should_read_java_23_class</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.001</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">assertNotIntrumented_should_accept_non_jacoco_memebers</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.000</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">setMajorVersion_should_write_unsigned_two_bytes_at_offset_6</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.000</td>
    +                </tr>
    +            </table>
    +            <p>
    +                <a href="#top">Back to top</a>
    +            </p>
    +            <a name="InstructionsBuilderTest" />
    +            <h3>TestCase InstructionsBuilderTest</h3>
    +            <table class="coverage">
    +                <thead>
    +                    <tr>
    +                        <td>Name</td>
    +                        <td>Status</td>
    +                        <td>Type</td>
    +                        <td>Time(s)</td>
    +                    </tr>
    +                </thead>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">null_probearray_should_not_mark_instruction_as_covered</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.000</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">jumps_should_propagate_coverage_status</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.000</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">subsequent_instructions_should_be_linked_after_label_marked_as_successor</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.001</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">subsequent_instructions_should_not_be_linked_when_noSuccessor_was_called</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.000</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">subsequent_instructions_should_not_be_linked_after_label_not_marked_as_successor</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.000</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">subsequent_instructions_should_be_linked_by_default</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.000</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">current_line_number_should_be_applied_to_instructions</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.000</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">executed_probe_should_mark_instruction_as_covered</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.000</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">unexecuted_probe_should_not_mark_instruction_as_covered</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.000</td>
    +                </tr>
    +            </table>
    +            <p>
    +                <a href="#top">Back to top</a>
    +            </p>
    +            <a name="InstructionTest" />
    +            <h3>TestCase InstructionTest</h3>
    +            <table class="coverage">
    +                <thead>
    +                    <tr>
    +                        <td>Name</td>
    +                        <td>Status</td>
    +                        <td>Type</td>
    +                        <td>Time(s)</td>
    +                    </tr>
    +                </thead>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">addBranchWithProbe_should_propagate_coverage_status_to_existing_predecessors</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.000</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">addBranchWithInstruction_should_not_increment_branches_when_only_one_branch_is_added</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.000</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">new_instance_should_have_no_coverage_and_no_branches</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.000</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">addBranch_should_count_large_number_of_branches</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.001</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">getLine_should_return_line_number</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.001</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">replaceBranches_should_calculate_coverage_on_new_branches</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.000</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">addBranchWithInstruction_should_increment_branches_when_two_branches_are_added</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.000</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">addBranch_should_propagate_coverage_status_over_very_long_sequence</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.103</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">addBranchWithProbe_should_increment_branches_when_not_covered</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.000</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">merge_should_calculate_superset_of_covered_branches</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.000</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">addBranchWithProbe_should_increment_branches_when_partly_covered</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.000</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">addBranchWithProbe_should_increment_branches_when_covered</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.000</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">addBranchWithInstruction_should_propagate_existing_coverage_status</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.000</td>
    +                </tr>
    +            </table>
    +            <p>
    +                <a href="#top">Back to top</a>
    +            </p>
    +            <a name="InstrumenterTest" />
    +            <h3>TestCase InstrumenterTest</h3>
    +            <table class="coverage">
    +                <thead>
    +                    <tr>
    +                        <td>Name</td>
    +                        <td>Status</td>
    +                        <td>Type</td>
    +                        <td>Time(s)</td>
    +                    </tr>
    +                </thead>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">testInstrumentAll_BrokenZipEntry</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.025</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">testInstrumentAll_RemoveSignatures</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.001</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">testInstrumentAll_Zip</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.105</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">testSerialization</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.008</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">instrument_should_throw_exception_for_unsupported_class_file_version</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.000</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">testInstrumentAll_Pack200</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.169</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">instrumentAll_should_throw_exception_for_unsupported_class_file_version</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.011</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">testInstrumentAll_Class</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.005</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">testInstrumentAll_BrokenGZ</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.001</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">testInstrumentAll_Other</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.000</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">testInstrumentAll_BrokenClassFileInZip</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.002</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">testInstrumentAll_Broken2</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.000</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">testInstrumentAll_Broken</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.001</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">testInstrumentAll_BrokenZip</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.000</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">should_not_modify_class_bytes_to_support_next_version</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.002</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">testInstrumentClass</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.017</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">testInstrumentAll_BrokenPack200</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.000</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">testInstrumentAll_KeepSignatures</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.001</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">testInstrumentBrokenClass1</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.000</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">testInstrumentBrokenStream2</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.001</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">testInstrumentBrokenStream</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.000</td>
    +                </tr>
    +            </table>
    +            <p>
    +                <a href="#top">Back to top</a>
    +            </p>
    +            <a name="InstrumentingLoaderTest" />
    +            <h3>TestCase InstrumentingLoaderTest</h3>
    +            <table class="coverage">
    +                <thead>
    +                    <tr>
    +                        <td>Name</td>
    +                        <td>Status</td>
    +                        <td>Type</td>
    +                        <td>Time(s)</td>
    +                    </tr>
    +                </thead>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">should_use_findLoadedClass</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.000</td>
    +                </tr>
    +            </table>
    +            <p>
    +                <a href="#top">Back to top</a>
    +            </p>
    +            <a name="InstrumentTaskTest" />
    +            <h3>TestCase InstrumentTaskTest</h3>
    +            <table class="coverage">
    +                <thead>
    +                    <tr>
    +                        <td>Name</td>
    +                        <td>Status</td>
    +                        <td>Type</td>
    +                        <td>Time(s)</td>
    +                    </tr>
    +                </thead>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">testInstrumentRemoveSignatures [src/org/jacoco/ant/InstrumentTaskTest.xml]</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>1.668</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">testInstrumentIgnoreDirectories [src/org/jacoco/ant/InstrumentTaskTest.xml]</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.221</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">testInstrumentAndRunWithSystemProperties [src/org/jacoco/ant/InstrumentTaskTest.xml]</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.337</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">testInstrumentWithRuntimeStartupFailure [src/org/jacoco/ant/InstrumentTaskTest.xml]</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.367</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">testInstrumentAndRunWithConfigFile [src/org/jacoco/ant/InstrumentTaskTest.xml]</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.194</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">testInstrumentKeepSignatures [src/org/jacoco/ant/InstrumentTaskTest.xml]</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>1.315</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">testInstrumentInvalidClassFile [src/org/jacoco/ant/InstrumentTaskTest.xml]</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.077</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">testInstrumentNoDestination [src/org/jacoco/ant/InstrumentTaskTest.xml]</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.047</td>
    +                </tr>
    +            </table>
    +            <p>
    +                <a href="#top">Back to top</a>
    +            </p>
    +            <a name="InstrumentTest" />
    +            <h3>TestCase InstrumentTest</h3>
    +            <table class="coverage">
    +                <thead>
    +                    <tr>
    +                        <td>Name</td>
    +                        <td>Status</td>
    +                        <td>Type</td>
    +                        <td>Time(s)</td>
    +                    </tr>
    +                </thead>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">should_instrument_class_files_to_dest_folder_when_class_files_are_given</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.035</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">should_print_usage_when_no_options_are_given</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.002</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">should_instrument_class_files_and_copy_resources_when_folder_is_given</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.033</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">should_not_create_dest_file_when_source_class_is_broken</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.002</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">should_not_instrument_anything_when_no_source_is_given</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.003</td>
    +                </tr>
    +            </table>
    +            <p>
    +                <a href="#top">Back to top</a>
    +            </p>
    +            <a name="JaCoCoTest" />
    +            <h3>TestCase JaCoCoTest</h3>
    +            <table class="coverage">
    +                <thead>
    +                    <tr>
    +                        <td>Name</td>
    +                        <td>Status</td>
    +                        <td>Type</td>
    +                        <td>Time(s)</td>
    +                    </tr>
    +                </thead>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">testVERSION</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.000</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">testRUNTIMEPACKAGE</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.000</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">testHOMEURL</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.000</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">testCOMMITID</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.001</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">testCOMMITID_SHORT</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.000</td>
    +                </tr>
    +            </table>
    +            <p>
    +                <a href="#top">Back to top</a>
    +            </p>
    +            <a name="JavaNamesTest" />
    +            <h3>TestCase JavaNamesTest</h3>
    +            <table class="coverage">
    +                <thead>
    +                    <tr>
    +                        <td>Name</td>
    +                        <td>Status</td>
    +                        <td>Type</td>
    +                        <td>Time(s)</td>
    +                    </tr>
    +                </thead>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">testGetQualifiedMethodName</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.000</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">testGetPackageName1</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.001</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">testGetPackageName2</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.000</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">testGetQualifiedClassName1</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.000</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">testGetQualifiedClassName2</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.000</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">testGetQualifiedClassName3</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.000</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">testGetClassName1</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.000</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">testGetClassName2</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.000</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">testGetClassName3</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.000</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">testGetClassName4</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.000</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">testGetClassName5</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.005</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">testGetClassName6</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.000</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">testGetClassName7</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.000</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">testGetMethodName1</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.000</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">testGetMethodName2</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.000</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">testGetMethodName3</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.001</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">testGetMethodName4</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.000</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">testGetMethodName5</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.000</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">testGetMethodName6</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.000</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">testGetMethodName7</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.001</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">testGetMethodName8</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.000</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">testGetMethodName9</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.000</td>
    +                </tr>
    +            </table>
    +            <p>
    +                <a href="#top">Back to top</a>
    +            </p>
    +            <a name="JavaVersionTest" />
    +            <h3>TestCase JavaVersionTest</h3>
    +            <table class="coverage">
    +                <thead>
    +                    <tr>
    +                        <td>Name</td>
    +                        <td>Status</td>
    +                        <td>Type</td>
    +                        <td>Time(s)</td>
    +                    </tr>
    +                </thead>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">should_compare_with_given_version</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.000</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">should_parse_values_of_java_version_property</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.000</td>
    +                </tr>
    +            </table>
    +            <p>
    +                <a href="#top">Back to top</a>
    +            </p>
    +            <a name="KotlinCoroutineFilterTest" />
    +            <h3>TestCase KotlinCoroutineFilterTest</h3>
    +            <table class="coverage">
    +                <thead>
    +                    <tr>
    +                        <td>Name</td>
    +                        <td>Status</td>
    +                        <td>Type</td>
    +                        <td>Time(s)</td>
    +                    </tr>
    +                </thead>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">should_filter_suspending_functions</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.002</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">should_filter_suspending_functions_with_tail_call_optimization</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.000</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">should_filter_suspending_lambdas</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.000</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">should_filter_suspending_lambdas_generated_by_Kotlin_1_3_30</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.000</td>
    +                </tr>
    +            </table>
    +            <p>
    +                <a href="#top">Back to top</a>
    +            </p>
    +            <a name="KotlinDefaultArgumentsFilterTest" />
    +            <h3>TestCase KotlinDefaultArgumentsFilterTest</h3>
    +            <table class="coverage">
    +                <thead>
    +                    <tr>
    +                        <td>Name</td>
    +                        <td>Status</td>
    +                        <td>Type</td>
    +                        <td>Time(s)</td>
    +                    </tr>
    +                </thead>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">should_not_filter_when_not_kotlin</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.000</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">computeNumberOfMaskArguments</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.000</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">should_filter_methods_with_more_than_32_parameters</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.000</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">should_filter</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.001</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">should_filter_methods_with_parameters_that_consume_two_slots</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.000</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">should_not_filter_when_suffix_absent</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.000</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">should_not_filter_when_not_synthetic</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.000</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">should_filter_constructors</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.000</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">should_filter_methods_with_more_than_224_parameters</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.001</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">should_filter_open_functions</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.000</td>
    +                </tr>
    +            </table>
    +            <p>
    +                <a href="#top">Back to top</a>
    +            </p>
    +            <a name="KotlinDefaultMethodsFilterTest" />
    +            <h3>TestCase KotlinDefaultMethodsFilterTest</h3>
    +            <table class="coverage">
    +                <thead>
    +                    <tr>
    +                        <td>Name</td>
    +                        <td>Status</td>
    +                        <td>Type</td>
    +                        <td>Time(s)</td>
    +                    </tr>
    +                </thead>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">should_not_filter_when_not_kotlin</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.001</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">should_not_filter_when_instructions_do_not_match</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.001</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">should_filter</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.000</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">should_not_filter_when_invokestatic_owner_does_not_match</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.000</td>
    +                </tr>
    +            </table>
    +            <p>
    +                <a href="#top">Back to top</a>
    +            </p>
    +            <a name="KotlinGeneratedFilterTest" />
    +            <h3>TestCase KotlinGeneratedFilterTest</h3>
    +            <table class="coverage">
    +                <thead>
    +                    <tr>
    +                        <td>Name</td>
    +                        <td>Status</td>
    +                        <td>Type</td>
    +                        <td>Time(s)</td>
    +                    </tr>
    +                </thead>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">testNoLinesForKotlinWithDebug</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.000</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">testWithLinesForKotlinWithDebug</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.000</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">testWithLinesForKotlinNoDebug</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.000</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">testNoLinesNonKotlinWithDebug</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.000</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">testNoLinesForKotlinNoDebug</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.000</td>
    +                </tr>
    +            </table>
    +            <p>
    +                <a href="#top">Back to top</a>
    +            </p>
    +            <a name="KotlinInlineFilterTest" />
    +            <h3>TestCase KotlinInlineFilterTest</h3>
    +            <table class="coverage">
    +                <thead>
    +                    <tr>
    +                        <td>Name</td>
    +                        <td>Status</td>
    +                        <td>Type</td>
    +                        <td>Time(s)</td>
    +                    </tr>
    +                </thead>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">should_throw_exception_when_unexpected_FileInfo</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.000</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">should_filter_without_parsing_KotlinDebug_stratum</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.001</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">should_throw_exception_when_no_SourceFileId_for_SourceFile</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.000</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">should_filter_when_in_same_file</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.000</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">should_filter</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.000</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">should_not_parse_SourceDebugExtension_attribute_when_no_kotlin_metadata_annotation</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.001</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">should_not_filter_when_no_SourceDebugExtension_attribute</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.000</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">should_throw_exception_when_unexpected_LineInfo</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.000</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">should_throw_exception_when_SMAP_incomplete</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.001</td>
    +                </tr>
    +            </table>
    +            <p>
    +                <a href="#top">Back to top</a>
    +            </p>
    +            <a name="KotlinLateinitFilterTest" />
    +            <h3>TestCase KotlinLateinitFilterTest</h3>
    +            <table class="coverage">
    +                <thead>
    +                    <tr>
    +                        <td>Name</td>
    +                        <td>Status</td>
    +                        <td>Type</td>
    +                        <td>Time(s)</td>
    +                    </tr>
    +                </thead>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">should_filter_Kotlin_1_6_20_public_generic</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.002</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">should_filter_Kotlin_1_5_0_private</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.000</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">should_filter_Kotlin_1_6_0_private_generic</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.000</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">should_filter_Kotlin_1_5_30_public</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.000</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">should_filter_Kotlin_1_6_20_public</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.000</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">should_filter_Kotlin_1_5_30_private_generic</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.000</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">should_filter_Kotlin_1_5_30_private</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.000</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">should_filter_Kotlin_1_2</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.000</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">should_filter_Kotlin_1_5_30_public_generic</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.001</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">should_filter_Kotlin_1_6_0_private</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.000</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">should_filter_Kotlin_1_5_0_public</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.000</td>
    +                </tr>
    +            </table>
    +            <p>
    +                <a href="#top">Back to top</a>
    +            </p>
    +            <a name="KotlinNotNullOperatorFilterTest" />
    +            <h3>TestCase KotlinNotNullOperatorFilterTest</h3>
    +            <table class="coverage">
    +                <thead>
    +                    <tr>
    +                        <td>Name</td>
    +                        <td>Status</td>
    +                        <td>Type</td>
    +                        <td>Time(s)</td>
    +                    </tr>
    +                </thead>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">should_filter</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.000</td>
    +                </tr>
    +            </table>
    +            <p>
    +                <a href="#top">Back to top</a>
    +            </p>
    +            <a name="KotlinUnsafeCastOperatorFilterTest" />
    +            <h3>TestCase KotlinUnsafeCastOperatorFilterTest</h3>
    +            <table class="coverage">
    +                <thead>
    +                    <tr>
    +                        <td>Name</td>
    +                        <td>Status</td>
    +                        <td>Type</td>
    +                        <td>Time(s)</td>
    +                    </tr>
    +                </thead>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">should_not_filter_when_not_kotlin</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.000</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">should_filter</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.001</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">should_filter_Kotlin_1_4</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.000</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">should_filter_Kotlin_1_5</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.000</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">should_filter_Kotlin_1_6</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.000</td>
    +                </tr>
    +            </table>
    +            <p>
    +                <a href="#top">Back to top</a>
    +            </p>
    +            <a name="KotlinWhenFilterTest" />
    +            <h3>TestCase KotlinWhenFilterTest</h3>
    +            <table class="coverage">
    +                <thead>
    +                    <tr>
    +                        <td>Name</td>
    +                        <td>Status</td>
    +                        <td>Type</td>
    +                        <td>Time(s)</td>
    +                    </tr>
    +                </thead>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">should_not_filter_explicit_else</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.000</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">should_filter_implicit_else</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.001</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">should_filter_implicit_default</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.000</td>
    +                </tr>
    +            </table>
    +            <p>
    +                <a href="#top">Back to top</a>
    +            </p>
    +            <a name="KotlinWhenStringFilterTest" />
    +            <h3>TestCase KotlinWhenStringFilterTest</h3>
    +            <table class="coverage">
    +                <thead>
    +                    <tr>
    +                        <td>Name</td>
    +                        <td>Status</td>
    +                        <td>Type</td>
    +                        <td>Time(s)</td>
    +                    </tr>
    +                </thead>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">should_not_filter_empty_lookup_switch</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.002</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">should_filter_when_biggest_hashCode_first</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.000</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">should_filter</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.000</td>
    +                </tr>
    +            </table>
    +            <p>
    +                <a href="#top">Back to top</a>
    +            </p>
    +            <a name="LabelColumnTest" />
    +            <h3>TestCase LabelColumnTest</h3>
    +            <table class="coverage">
    +                <thead>
    +                    <tr>
    +                        <td>Name</td>
    +                        <td>Status</td>
    +                        <td>Type</td>
    +                        <td>Time(s)</td>
    +                    </tr>
    +                </thead>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">testInit</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.000</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">testComparator1</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.001</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">testComparator2</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.000</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">testItemWithLink</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.017</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">testFooter</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.008</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">testItemWithoutLink</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.016</td>
    +                </tr>
    +            </table>
    +            <p>
    +                <a href="#top">Back to top</a>
    +            </p>
    +            <a name="LabelFlowAnalyzerTest" />
    +            <h3>TestCase LabelFlowAnalyzerTest</h3>
    +            <table class="coverage">
    +                <thead>
    +                    <tr>
    +                        <td>Name</td>
    +                        <td>Status</td>
    +                        <td>Type</td>
    +                        <td>Time(s)</td>
    +                    </tr>
    +                </thead>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">testLookupSwitchInsn</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.000</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">testMethodInsn</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.009</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">testInit</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.000</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">testInsn</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.000</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">testLineNumber</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.000</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">visitLineNumber_should_skip_zero</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.000</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">testFlowScenario01</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.000</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">testFlowScenario02</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.000</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">testFlowScenario03</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.000</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">testFlowScenario04</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.001</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">testFlowScenario05</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.000</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">testFlowScenario06</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.000</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">testFlowScenario07</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.000</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">testFlowScenario08</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.000</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">testFlowScenario09</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.000</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">testFlowScenario10</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.001</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">testFlowScenario11</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.000</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">testFlowScenario12</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.000</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">testInvokeDynamicInsn</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.000</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">testLdcInsn</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.000</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">testTableSwitchInsn</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.000</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">testVarInsn</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.000</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">testTypeInsn</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.000</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">testMultiANewArrayInsn</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.000</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">testVisitJumpInsnNegative</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.000</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">testJumpInsn</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.000</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">testVisitVarInsnNegative</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.000</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">testIincInsn</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.000</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">testIntInsn</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.000</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">testFieldInsn</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.000</td>
    +                </tr>
    +            </table>
    +            <p>
    +                <a href="#top">Back to top</a>
    +            </p>
    +            <a name="LabelInfoTest" />
    +            <h3>TestCase LabelInfoTest</h3>
    +            <table class="coverage">
    +                <thead>
    +                    <tr>
    +                        <td>Name</td>
    +                        <td>Status</td>
    +                        <td>Type</td>
    +                        <td>Time(s)</td>
    +                    </tr>
    +                </thead>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">testNeedsProbe</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.001</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">testOtherInfoObject</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.000</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">testSetIntermediateLabel</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.000</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">testSetResetDone1</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.000</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">testSetResetDone2</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.000</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">testSetInstruction</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.000</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">testDefaults</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.000</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">testMethodInvocationLine</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.000</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">testSuccessor</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.000</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">testMultiTarget1</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.000</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">testMultiTarget2</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.000</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">testMultiTarget3</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.000</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">testSetProbeId</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.000</td>
    +                </tr>
    +            </table>
    +            <p>
    +                <a href="#top">Back to top</a>
    +            </p>
    +            <a name="LimitTest" />
    +            <h3>TestCase LimitTest</h3>
    +            <table class="coverage">
    +                <thead>
    +                    <tr>
    +                        <td>Name</td>
    +                        <td>Status</td>
    +                        <td>Type</td>
    +                        <td>Time(s)</td>
    +                    </tr>
    +                </thead>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">default_should_define_no_limits</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.001</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">check_should_fail_when_minimum_ratio_is_smaller_than_0</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.000</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">check_should_pass_when_no_limits_given</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.001</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">setMaximum_should_accept_percentage_string</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.000</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">check_should_fail_on_value_totalcount</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.000</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">check_should_pass_with_NaN_ratio</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.000</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">check_should_fail_on_value_coveredcount</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.000</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">check_should_fail_on_value_coveredratio</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.001</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">check_should_report_counter_with_given_precision</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.000</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">check_should_fail_on_counter_instruction</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.000</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">check_should_pass_when_maximum_ratio_is_fulfilled</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.000</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">check_should_fail_on_value_missedcount</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.000</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">check_should_fail_on_value_missedratio</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.001</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">setMinimum_should_accept_percentage_string</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.000</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">check_should_fail_on_counter_complexity</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.000</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">check_should_fail_when_minimum_is_not_met</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.001</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">check_should_fail_when_maximum_ratio_is_smaller_than_0</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.001</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">check_should_report_actual_ratio_rounded_down_when_minimum_is_not_met</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.000</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">check_should_fail_on_counter_method</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.000</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">setMinimum_should_allow_null</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.001</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">check_should_fail_on_check_counter_branch</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.000</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">setMaximum_should_allow_null</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.000</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">check_should_report_actual_ratio_rounded_up_when_maximum_is_not_met</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.000</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">check_should_fail_on_counter_class</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.000</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">check_should_pass_when_minimum_is_fulfilled</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.000</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">check_should_pass_when_maximum_counter_is_fulfilled</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.001</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">check_should_fail_on_counter_line</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.000</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">check_should_fail_when_minimum_ratio_is_bigger_than_1</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.000</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">check_should_fail_when_maximum_is_not_met</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.001</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">default_should_check_coverageratio_on_instructions</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.000</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">check_should_fail_when_maximum_ratio_is_bigger_than_1</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.000</td>
    +                </tr>
    +            </table>
    +            <p>
    +                <a href="#top">Back to top</a>
    +            </p>
    +            <a name="LineImplTest" />
    +            <h3>TestCase LineImplTest</h3>
    +            <table class="coverage">
    +                <thead>
    +                    <tr>
    +                        <td>Name</td>
    +                        <td>Status</td>
    +                        <td>Type</td>
    +                        <td>Time(s)</td>
    +                    </tr>
    +                </thead>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">testEquals1</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.000</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">testEquals2</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.000</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">testEquals3</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.000</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">testEquals4</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.000</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">testGetStatus1</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.000</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">testGetStatus2</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.001</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">testGetStatus3</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.000</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">testGetStatus4</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.000</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">testGetStatus5</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.000</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">testGetStatus6</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.000</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">testEMPTY</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.000</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">testIncrement1</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.000</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">testIncrement2</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.000</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">testIncrement3</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.000</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">testIncrement4</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.001</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">testIncrement5</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.000</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">testHashCode</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.000</td>
    +                </tr>
    +            </table>
    +            <p>
    +                <a href="#top">Back to top</a>
    +            </p>
    +            <a name="LoggerRuntimeTest" />
    +            <h3>TestCase LoggerRuntimeTest</h3>
    +            <table class="coverage">
    +                <thead>
    +                    <tr>
    +                        <td>Name</td>
    +                        <td>Status</td>
    +                        <td>Type</td>
    +                        <td>Time(s)</td>
    +                    </tr>
    +                </thead>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">testDataAccessor</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.002</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">testLoadSameClassTwice</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.001</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">testExecutionRecording</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.000</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">testNoLocalVariablesInDataAccessor</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.000</td>
    +                </tr>
    +            </table>
    +            <p>
    +                <a href="#top">Back to top</a>
    +            </p>
    +            <a name="MainTest" />
    +            <h3>TestCase MainTest</h3>
    +            <table class="coverage">
    +                <thead>
    +                    <tr>
    +                        <td>Name</td>
    +                        <td>Status</td>
    +                        <td>Type</td>
    +                        <td>Time(s)</td>
    +                    </tr>
    +                </thead>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">should_print_general_usage_when_help_option_is_given</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.066</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">should_print_error_message_when_invalid_command_is_given</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.011</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">should_not_print_any_output_when_quiet_option_is_given</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.003</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">should_print_command_usage_when_command_and_help_option_is_given</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.004</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">should_print_usage_when_no_arguments_given</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.002</td>
    +                </tr>
    +            </table>
    +            <p>
    +                <a href="#top">Back to top</a>
    +            </p>
    +            <a name="MBeanClientTest" />
    +            <h3>TestCase MBeanClientTest</h3>
    +            <table class="coverage">
    +                <thead>
    +                    <tr>
    +                        <td>Name</td>
    +                        <td>Status</td>
    +                        <td>Type</td>
    +                        <td>Time(s)</td>
    +                    </tr>
    +                </thead>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">testMBeanInterfaceCompatibility</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.002</td>
    +                </tr>
    +            </table>
    +            <p>
    +                <a href="#top">Back to top</a>
    +            </p>
    +            <a name="MergeTaskTest" />
    +            <h3>TestCase MergeTaskTest</h3>
    +            <table class="coverage">
    +                <thead>
    +                    <tr>
    +                        <td>Name</td>
    +                        <td>Status</td>
    +                        <td>Type</td>
    +                        <td>Time(s)</td>
    +                    </tr>
    +                </thead>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">testMergeEmptySet [src/org/jacoco/ant/MergeTaskTest.xml]</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.055</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">testMergeMultipleFiles [src/org/jacoco/ant/MergeTaskTest.xml]</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.065</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">testMergeToDirectory [src/org/jacoco/ant/MergeTaskTest.xml]</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.043</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">testMergeBadFiles [src/org/jacoco/ant/MergeTaskTest.xml]</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.059</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">testMergeDirectory [src/org/jacoco/ant/MergeTaskTest.xml]</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.050</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">testMergeNoDestination [src/org/jacoco/ant/MergeTaskTest.xml]</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.038</td>
    +                </tr>
    +            </table>
    +            <p>
    +                <a href="#top">Back to top</a>
    +            </p>
    +            <a name="MergeTest" />
    +            <h3>TestCase MergeTest</h3>
    +            <table class="coverage">
    +                <thead>
    +                    <tr>
    +                        <td>Name</td>
    +                        <td>Status</td>
    +                        <td>Type</td>
    +                        <td>Time(s)</td>
    +                    </tr>
    +                </thead>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">should_merge_exec_files</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.004</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">should_print_usage_when_no_options_are_given</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.002</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">should_print_warning_when_no_exec_files_are_provided</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.002</td>
    +                </tr>
    +            </table>
    +            <p>
    +                <a href="#top">Back to top</a>
    +            </p>
    +            <a name="MethodAnalyzerTest" />
    +            <h3>TestCase MethodAnalyzerTest</h3>
    +            <table class="coverage">
    +                <thead>
    +                    <tr>
    +                        <td>Name</td>
    +                        <td>Status</td>
    +                        <td>Type</td>
    +                        <td>Time(s)</td>
    +                    </tr>
    +                </thead>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">if_branch_merge_should_show_missed_when_no_probes_are_executed</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.008</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">table_switch_with_filter_should_show_full_branch_coverage_when_new_targets_covered</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.001</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">if_branch_merge_should_show_partial_branch_coverage_when_probe_for_second_branch_is_executed</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.000</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">table_switch_should_create_4_probes</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.001</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">if_branch_before_probes_should_show_partial_branch_coverage_when_probe_for_second_branch_is_executed</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.000</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">if_branch_before_probes_should_show_full_branch_coverage_when_probes_for_both_branches_are_executed</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.000</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">if_branch_should_show_partial_branch_coverage_when_probe_for_second_branch_is_executed</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.001</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">table_switch_with_merge_should_create_5_probes</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.000</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">table_switch_with_merge_should_show_one_missed_case_when_probe_for_this_branch_is_not_executed</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.000</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">try_catch_should_show_all_covered_when_all_probes_are_executed</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.001</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">try_catch_should_show_missed_when_no_probes_are_executed</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.000</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">if_branch_merge_should_show_full_branch_coverage_when_probes_for_both_branches_are_executed</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.000</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">if_branch_should_show_missed_when_no_probes_are_executed</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.000</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">if_branch_should_show_full_branch_coverage_when_probes_for_both_branches_are_executed</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.000</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">try_catch_should_create_3_probes</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.000</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">try_finally_with_filter_should_show_partial_branch_coverage_when_same_branch_is_covered_and_merged</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.001</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">if_branch_before_probes_should_show_missed_when_no_probes_are_executed</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.000</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">jump_to_first_instruction_should_show_partial_branch_coverage_when_probe_for_first_branch_is_executed</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.000</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">if_branch_merge_should_create_3_probes</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.000</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">zero_line_number_should_create_1_probe</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.000</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">table_switch_with_filter_should_show_2_branches_when_original_replaced</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.000</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">linear_instruction_sequence_should_show_missed_when_probearray_is_null</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.000</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">jump_to_first_instruction_should_create_2_probes</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.001</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">table_switch_should_show_missed_when_no_probes_are_executed</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.000</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">table_switch_with_merge_should_show_full_branch_coverage_when_all_probes_are_executed</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.000</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">try_finally_without_filter_should_show_all_branches</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.001</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">if_branch_should_create_2_probes</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.000</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">if_branch_before_probes_should_create_4_probes</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.000</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">jump_backwards_should_show_covered_when_probe_is_executed</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.000</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">linear_instruction_sequence_should_ignore_instructions_when_filter_is_applied</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.001</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">jump_backwards_should_show_missed_when_no_probes_are_executed</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.000</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">if_branch_before_probes_should_show_partial_branch_coverage_when_probe_for_first_branch_is_executed</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.000</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">table_switch_should_show_partial_branch_coverage_when_probes_for_third_branch_and_default_are_executed</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.000</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">zero_line_number_should_show_missed_when_no_probes_are_executed</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.000</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">linear_instruction_sequence_should_create_1_probe</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.000</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">table_switch_with_merge_should_show_partial_branch_coverage_when_probe_for_one_branch_is_not_executed</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.000</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">if_branch_merge_should_show_partial_branch_coverage_when_probe_for_first_branch_is_executed</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.000</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">if_branch_should_show_partial_branch_coverage_when_probe_for_first_branch_is_executed</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.000</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">table_switch_should_show_partial_branch_coverage_when_probes_for_first_branch_and_default_are_executed</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.001</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">table_switch_with_merge_should_show_missed_when_no_probes_are_executed</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.000</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">table_switch_with_merge_should_show_two_missed_cases_when_probes_for_these_branches_are_not_executed</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.000</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">decending_line_numbers_should_report_lines_correctly</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.001</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">try_finally_should_create_4_probes</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.000</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">try_finally_with_filter_should_show_full_branch_coverage_when_different_branches_are_covered_and_merged</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.000</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">jump_backwards_should_create_1_probe</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.000</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">zero_line_number_should_show_covered_when_probe_is_executed</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.000</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">try_catch_should_show_exception_handler_missed_when_probe_is_not_executed</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.000</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">jump_to_first_instruction_should_show_missed_when_no_probes_are_executed</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.000</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">jump_to_first_instruction_should_show_full_branch_coverage_when_probes_for_both_branches_are_executed</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.000</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">linear_instruction_sequence_should_show_covered_when_probe_is_executed</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.001</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">table_switch_should_show_full_branch_coverage_when_all_probes_are_executed</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.000</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">linear_instruction_sequence_should_show_missed_when_no_probe_is_executed</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.000</td>
    +                </tr>
    +            </table>
    +            <p>
    +                <a href="#top">Back to top</a>
    +            </p>
    +            <a name="MethodCoverageCalculatorTest" />
    +            <h3>TestCase MethodCoverageCalculatorTest</h3>
    +            <table class="coverage">
    +                <thead>
    +                    <tr>
    +                        <td>Name</td>
    +                        <td>Status</td>
    +                        <td>Type</td>
    +                        <td>Time(s)</td>
    +                    </tr>
    +                </thead>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">should_report_instructions</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.000</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">should_work_without_lines</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.000</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">should_merge_instructions_redundant</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.000</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">should_replace_branches</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.000</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">should_replace_branches_with_merged_instructions</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.000</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">should_merge_multiple_instructions</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.001</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">should_report_instructions_with_branches</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.000</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">should_ignore_instruction_range</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.000</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">should_ignore_single_instruction</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.000</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">should_merge_instructions</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.000</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">should_exclude_ignored_instructions_from_computation_of_first_and_last_lines</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.000</td>
    +                </tr>
    +            </table>
    +            <p>
    +                <a href="#top">Back to top</a>
    +            </p>
    +            <a name="MethodCoverageImplTest" />
    +            <h3>TestCase MethodCoverageImplTest</h3>
    +            <table class="coverage">
    +                <thead>
    +                    <tr>
    +                        <td>Name</td>
    +                        <td>Status</td>
    +                        <td>Type</td>
    +                        <td>Time(s)</td>
    +                    </tr>
    +                </thead>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">testIncrementMissedInstructions</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.009</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">testProperties</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.000</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">testIncrementComplexity1</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.000</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">testIncrementComplexity2</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.000</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">testIncrementComplexity3</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.000</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">testIncrementComplexity4</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.000</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">testIncrementComplexity5</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.000</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">testIncrementComplexity6</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.000</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">testIncrementComplexity7</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.000</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">testIncrementComplexity8</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.000</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">testIncrementCoveredInstructions</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.000</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">testEmptyMethod</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.000</td>
    +                </tr>
    +            </table>
    +            <p>
    +                <a href="#top">Back to top</a>
    +            </p>
    +            <a name="MethodInstrumenterTest" />
    +            <h3>TestCase MethodInstrumenterTest</h3>
    +            <table class="coverage">
    +                <thead>
    +                    <tr>
    +                        <td>Name</td>
    +                        <td>Status</td>
    +                        <td>Type</td>
    +                        <td>Time(s)</td>
    +                    </tr>
    +                </thead>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">testVisitTableSwitchInsnWithProbes</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.012</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">testVisitLookupSwitchInsnWithProbes</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.000</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">testVisitJumpInsnWithProbe_GOTO</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.001</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">testVisitJumpInsnWithProbe_IFEQ</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.000</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">testVisitJumpInsnWithProbe_IFGE</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.000</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">testVisitJumpInsnWithProbe_IFGT</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.000</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">testVisitJumpInsnWithProbe_IFLE</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.000</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">testVisitJumpInsnWithProbe_IFLT</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.000</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">testVisitJumpInsnWithProbe_IFNE</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.001</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">testVisitInsnWithProbe</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.000</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">testVisitJumpInsnWithProbe_IFNULL</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.000</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">testVisitJumpInsnWithProbe_IFNONNULL</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.000</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">testVisitJumpInsnWithProbe_InvalidOpcode</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.000</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">testVisitProbe</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.000</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">testVisitJumpInsnWithProbe_IF_ACMPEQ</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.000</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">testVisitJumpInsnWithProbe_IF_ACMPNE</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.001</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">testVisitJumpInsnWithProbe_IF_ICMPEQ</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.000</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">testVisitJumpInsnWithProbe_IF_ICMPGE</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.000</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">testVisitJumpInsnWithProbe_IF_ICMPGT</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.000</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">testVisitJumpInsnWithProbe_IF_ICMPLE</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.000</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">testVisitJumpInsnWithProbe_IF_ICMPLT</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.000</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">testVisitJumpInsnWithProbe_IF_ICMPNE</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.001</td>
    +                </tr>
    +            </table>
    +            <p>
    +                <a href="#top">Back to top</a>
    +            </p>
    +            <a name="MethodItemTest" />
    +            <h3>TestCase MethodItemTest</h3>
    +            <table class="coverage">
    +                <thead>
    +                    <tr>
    +                        <td>Name</td>
    +                        <td>Status</td>
    +                        <td>Type</td>
    +                        <td>Time(s)</td>
    +                    </tr>
    +                </thead>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">testGetLinkNone</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.000</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">testGetLinkLabel</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.000</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">testGetLinkStyle</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.005</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">testGetLink</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.001</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">testGetNode</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.000</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">testGetLinkWithLine</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.000</td>
    +                </tr>
    +            </table>
    +            <p>
    +                <a href="#top">Back to top</a>
    +            </p>
    +            <a name="MethodProbesAdapterTest" />
    +            <h3>TestCase MethodProbesAdapterTest</h3>
    +            <table class="coverage">
    +                <thead>
    +                    <tr>
    +                        <td>Name</td>
    +                        <td>Status</td>
    +                        <td>Type</td>
    +                        <td>Time(s)</td>
    +                    </tr>
    +                </thead>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">testVisitTryCatchBlockNoProbe</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.000</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">testVisitLookupSwitchInsn1</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.001</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">testVisitLookupSwitchInsn2</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.000</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">testVisitLookupSwitchInsn3</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.000</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">testVisitTryCatchBlockWithProbeBeforeEnd</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.000</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">testStructuredLocking</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.001</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">testVisitTryCatchBlockWithProbeBeforeStart</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.000</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">testVisitInsn1</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.000</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">testVisitInsn2</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.000</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">testVisitProbe1</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.000</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">testVisitProbe2</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.000</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">testVisitProbe3</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.000</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">testVisitTableSwitchInsn1</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.001</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">testVisitTableSwitchInsn2</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.000</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">testVisitTableSwitchInsn3</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.000</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">testVisitJumpInsn1</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.001</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">testVisitJumpInsn2</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.000</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">testVisitJumpInsn3</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.000</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">testVisitJumpInsn4</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.000</td>
    +                </tr>
    +            </table>
    +            <p>
    +                <a href="#top">Back to top</a>
    +            </p>
    +            <a name="MethodSanitizerTest" />
    +            <h3>TestCase MethodSanitizerTest</h3>
    +            <table class="coverage">
    +                <thead>
    +                    <tr>
    +                        <td>Name</td>
    +                        <td>Status</td>
    +                        <td>Type</td>
    +                        <td>Time(s)</td>
    +                    </tr>
    +                </thead>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">testLineNumberPositive</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.001</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">testLocalVariablePositive</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.009</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">testLineNumberNegative</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.000</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">testLocalVariableNegative1</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.000</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">testLocalVariableNegative2</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.000</td>
    +                </tr>
    +            </table>
    +            <p>
    +                <a href="#top">Back to top</a>
    +            </p>
    +            <a name="MockServerSocketTest" />
    +            <h3>TestCase MockServerSocketTest</h3>
    +            <table class="coverage">
    +                <thead>
    +                    <tr>
    +                        <td>Name</td>
    +                        <td>Status</td>
    +                        <td>Type</td>
    +                        <td>Time(s)</td>
    +                    </tr>
    +                </thead>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">testWaitForAccept</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.024</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">testClose</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.000</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">testCloseWhileAccept</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.019</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">testAcceptOnClosedServerSocket</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.000</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">testConnect</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.014</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">testAccept</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.015</td>
    +                </tr>
    +            </table>
    +            <p>
    +                <a href="#top">Back to top</a>
    +            </p>
    +            <a name="MockSocketConnectionTest" />
    +            <h3>TestCase MockSocketConnectionTest</h3>
    +            <table class="coverage">
    +                <thead>
    +                    <tr>
    +                        <td>Name</td>
    +                        <td>Status</td>
    +                        <td>Type</td>
    +                        <td>Time(s)</td>
    +                    </tr>
    +                </thead>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">testReadOnClosedSocketAsync</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.017</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">testGetOutputStreamOnClosedSocket</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.000</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">testGetInputStreamOnClosedSocket</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.000</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">testCloseOtherSocket</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.000</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">testIsClosed</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.000</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">testContents</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.000</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">testCloseOtherSocketAsync</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.019</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">testWaitForContents</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.025</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">testWriteOnClosedSocket</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.000</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">testReadOnClosedSocket</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.000</td>
    +                </tr>
    +            </table>
    +            <p>
    +                <a href="#top">Back to top</a>
    +            </p>
    +            <a name="ModifiedSystemClassRuntimeTest" />
    +            <h3>TestCase ModifiedSystemClassRuntimeTest</h3>
    +            <table class="coverage">
    +                <thead>
    +                    <tr>
    +                        <td>Name</td>
    +                        <td>Status</td>
    +                        <td>Type</td>
    +                        <td>Time(s)</td>
    +                    </tr>
    +                </thead>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">testCreateForNegative</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.005</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">testDataAccessor</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.001</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">testLoadSameClassTwice</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.000</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">testExecutionRecording</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.001</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">testNoLocalVariablesInDataAccessor</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.000</td>
    +                </tr>
    +            </table>
    +            <p>
    +                <a href="#top">Back to top</a>
    +            </p>
    +            <a name="MultiReportVisitorTest" />
    +            <h3>TestCase MultiReportVisitorTest</h3>
    +            <table class="coverage">
    +                <thead>
    +                    <tr>
    +                        <td>Name</td>
    +                        <td>Status</td>
    +                        <td>Type</td>
    +                        <td>Time(s)</td>
    +                    </tr>
    +                </thead>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">testMultiFormatter</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.002</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">testMockFormatter</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.000</td>
    +                </tr>
    +            </table>
    +            <p>
    +                <a href="#top">Back to top</a>
    +            </p>
    +            <a name="MultiSourceFileLocatorTest" />
    +            <h3>TestCase MultiSourceFileLocatorTest</h3>
    +            <table class="coverage">
    +                <thead>
    +                    <tr>
    +                        <td>Name</td>
    +                        <td>Status</td>
    +                        <td>Type</td>
    +                        <td>Time(s)</td>
    +                    </tr>
    +                </thead>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">testHit</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.001</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">testEmpty</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.000</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">testNohit</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.000</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">testPrecedence</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.000</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">testGetTabWidth</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.001</td>
    +                </tr>
    +            </table>
    +            <p>
    +                <a href="#top">Back to top</a>
    +            </p>
    +            <a name="NodeComparatorTest" />
    +            <h3>TestCase NodeComparatorTest</h3>
    +            <table class="coverage">
    +                <thead>
    +                    <tr>
    +                        <td>Name</td>
    +                        <td>Status</td>
    +                        <td>Type</td>
    +                        <td>Time(s)</td>
    +                    </tr>
    +                </thead>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">testSort</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.012</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">testSecond1</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.000</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">testSecond2</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.001</td>
    +                </tr>
    +            </table>
    +            <p>
    +                <a href="#top">Back to top</a>
    +            </p>
    +            <a name="NodePageTest" />
    +            <h3>TestCase NodePageTest</h3>
    +            <table class="coverage">
    +                <thead>
    +                    <tr>
    +                        <td>Name</td>
    +                        <td>Status</td>
    +                        <td>Type</td>
    +                        <td>Time(s)</td>
    +                    </tr>
    +                </thead>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">testGetLinkStyle1</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.010</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">testGetLinkStyle2</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.001</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">testGetLinkLabel</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.000</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">testGetNode</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.003</td>
    +                </tr>
    +            </table>
    +            <p>
    +                <a href="#top">Back to top</a>
    +            </p>
    +            <a name="NoneProbeArrayStrategyTest" />
    +            <h3>TestCase NoneProbeArrayStrategyTest</h3>
    +            <table class="coverage">
    +                <thead>
    +                    <tr>
    +                        <td>Name</td>
    +                        <td>Status</td>
    +                        <td>Type</td>
    +                        <td>Time(s)</td>
    +                    </tr>
    +                </thead>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">storeInstance_should_throw_UnsupportedOperationException</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.000</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">addMembers_should_not_add_members</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.000</td>
    +                </tr>
    +            </table>
    +            <p>
    +                <a href="#top">Back to top</a>
    +            </p>
    +            <a name="NormalizedFileNamesTest" />
    +            <h3>TestCase NormalizedFileNamesTest</h3>
    +            <table class="coverage">
    +                <thead>
    +                    <tr>
    +                        <td>Name</td>
    +                        <td>Status</td>
    +                        <td>Type</td>
    +                        <td>Time(s)</td>
    +                    </tr>
    +                </thead>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">testSameInstance</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.000</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">testReplaceIllegalCharactersNonUnique</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.000</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">testKeepLegalCharacters</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.001</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">testReplaceIllegalCharacters</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.000</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">testCaseAware</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.000</td>
    +                </tr>
    +            </table>
    +            <p>
    +                <a href="#top">Back to top</a>
    +            </p>
    +            <a name="OfflineInstrumentationAccessGeneratorTest" />
    +            <h3>TestCase OfflineInstrumentationAccessGeneratorTest</h3>
    +            <table class="coverage">
    +                <thead>
    +                    <tr>
    +                        <td>Name</td>
    +                        <td>Status</td>
    +                        <td>Type</td>
    +                        <td>Time(s)</td>
    +                    </tr>
    +                </thead>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">testRuntimeClassName</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.000</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">testRuntimeAccess</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.000</td>
    +                </tr>
    +            </table>
    +            <p>
    +                <a href="#top">Back to top</a>
    +            </p>
    +            <a name="Pack200StreamsTest" />
    +            <h3>TestCase Pack200StreamsTest</h3>
    +            <table class="coverage">
    +                <thead>
    +                    <tr>
    +                        <td>Name</td>
    +                        <td>Status</td>
    +                        <td>Type</td>
    +                        <td>Time(s)</td>
    +                    </tr>
    +                </thead>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">pack_should_pack</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.022</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">unpack_should_throw_IOException_when_Pack200_not_available_in_JDK</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.000</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">pack_should_throw_IOException_when_Pack200_not_available_in_JDK</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.000</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">unpack_should_throw_IOException_when_can_not_read_from_InputStream</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.000</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">pack_should_throw_IOException_when_can_not_write_to_OutputStream</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.002</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">unpack_should_unpack</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.016</td>
    +                </tr>
    +            </table>
    +            <p>
    +                <a href="#top">Back to top</a>
    +            </p>
    +            <a name="PackageCoverageTest" />
    +            <h3>TestCase PackageCoverageTest</h3>
    +            <table class="coverage">
    +                <thead>
    +                    <tr>
    +                        <td>Name</td>
    +                        <td>Status</td>
    +                        <td>Type</td>
    +                        <td>Time(s)</td>
    +                    </tr>
    +                </thead>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">testProperties</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.000</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">testCountersWithoutSources</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.001</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">testCountersWithSources</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.000</td>
    +                </tr>
    +            </table>
    +            <p>
    +                <a href="#top">Back to top</a>
    +            </p>
    +            <a name="PackagePageTest" />
    +            <h3>TestCase PackagePageTest</h3>
    +            <table class="coverage">
    +                <thead>
    +                    <tr>
    +                        <td>Name</td>
    +                        <td>Status</td>
    +                        <td>Type</td>
    +                        <td>Time(s)</td>
    +                    </tr>
    +                </thead>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">testContentsNoSource</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.019</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">should_render_non_empty_classes</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.019</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">testContentsWithSource</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.024</td>
    +                </tr>
    +            </table>
    +            <p>
    +                <a href="#top">Back to top</a>
    +            </p>
    +            <a name="PackageSourcePageTest" />
    +            <h3>TestCase PackageSourcePageTest</h3>
    +            <table class="coverage">
    +                <thead>
    +                    <tr>
    +                        <td>Name</td>
    +                        <td>Status</td>
    +                        <td>Type</td>
    +                        <td>Time(s)</td>
    +                    </tr>
    +                </thead>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">should_render_non_empty_sources</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.012</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">testContents</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.014</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">testGetSourceFilePages</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.001</td>
    +                </tr>
    +            </table>
    +            <p>
    +                <a href="#top">Back to top</a>
    +            </p>
    +            <a name="PercentageColumnTest" />
    +            <h3>TestCase PercentageColumnTest</h3>
    +            <table class="coverage">
    +                <thead>
    +                    <tr>
    +                        <td>Name</td>
    +                        <td>Status</td>
    +                        <td>Type</td>
    +                        <td>Time(s)</td>
    +                    </tr>
    +                </thead>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">testComparator</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.002</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">testItem1</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.016</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">testItem2</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.007</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">testInit</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.001</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">testFooter1</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.016</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">testFooter2</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.007</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">testRounding</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.008</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">testLocale</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.024</td>
    +                </tr>
    +            </table>
    +            <p>
    +                <a href="#top">Back to top</a>
    +            </p>
    +            <a name="PrivateEmptyNoArgConstructorFilterTest" />
    +            <h3>TestCase PrivateEmptyNoArgConstructorFilterTest</h3>
    +            <table class="coverage">
    +                <thead>
    +                    <tr>
    +                        <td>Name</td>
    +                        <td>Status</td>
    +                        <td>Type</td>
    +                        <td>Time(s)</td>
    +                    </tr>
    +                </thead>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">test</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.001</td>
    +                </tr>
    +            </table>
    +            <p>
    +                <a href="#top">Back to top</a>
    +            </p>
    +            <a name="ProbeArrayStrategyFactoryTest" />
    +            <h3>TestCase ProbeArrayStrategyFactoryTest</h3>
    +            <table class="coverage">
    +                <thead>
    +                    <tr>
    +                        <td>Name</td>
    +                        <td>Status</td>
    +                        <td>Type</td>
    +                        <td>Time(s)</td>
    +                    </tr>
    +                </thead>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">testEmptyInterface8StoreInstance</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.001</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">testClinitAndAbstractMethodsInterface8</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.001</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">test_java11_interface_without_code</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.000</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">test_java11_interface_with_clinit_and_methods</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.000</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">testEmptyInterface7StoreInstance</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.000</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">test_java9_module</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.001</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">testClinitInterface8</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.000</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">test_java11_class</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.000</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">testEmptyInterface7</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.000</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">testEmptyInterface8</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.001</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">test_java11_interface_with_clinit</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.000</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">testClinitAndMethodsInterface8</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.001</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">test_java11_module</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.000</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">testClass1</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.001</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">testClass2</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.000</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">testClass3</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.000</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">testClass4</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.001</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">testClass5</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.000</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">testClass6</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.000</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">testClass7</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.000</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">testClass8</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.001</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">testInterface7</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.000</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">testInterface8</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.000</td>
    +                </tr>
    +            </table>
    +            <p>
    +                <a href="#top">Back to top</a>
    +            </p>
    +            <a name="ProbeCounterTest" />
    +            <h3>TestCase ProbeCounterTest</h3>
    +            <table class="coverage">
    +                <thead>
    +                    <tr>
    +                        <td>Name</td>
    +                        <td>Status</td>
    +                        <td>Type</td>
    +                        <td>Time(s)</td>
    +                    </tr>
    +                </thead>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">testVisitAbstractMethod</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.000</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">testVisitTotalProbeCount</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.000</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">testVisitClinitMethod</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.000</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">testInitial</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.001</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">testVisitMethod</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.000</td>
    +                </tr>
    +            </table>
    +            <p>
    +                <a href="#top">Back to top</a>
    +            </p>
    +            <a name="ProbeInserterTest" />
    +            <h3>TestCase ProbeInserterTest</h3>
    +            <table class="coverage">
    +                <thead>
    +                    <tr>
    +                        <td>Name</td>
    +                        <td>Status</td>
    +                        <td>Type</td>
    +                        <td>Time(s)</td>
    +                    </tr>
    +                </thead>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">new_stack_size_should_be_big_enought_to_store_probe_array</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.013</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">visitFrame_must_only_support_resolved_frames</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.000</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">visitFrame_should_not_insert_safety_slot_when_it_is_the_last_occupied_slot</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.000</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">visitFrame_should_insert_safety_slot_and_probe_variable_first_when_no_parameters_exist</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.000</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">visitFrame_should_insert_TOP_after_probe_variable_when_safety_slot_occupied_but_not_the_last</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.000</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">visitIincInsn_should_be_called_with_adjusted_variable_positions</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.000</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">visitCode_should_call_IProbeArrayStrategy_for_any_methods</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.000</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">probevar_should_be_at_position_6_for_instance_method_with_2_wide_parameters</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.000</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">visitFrame_should_fill_3_unused_slots_before_probe_variable_with_TOP_TOP_TOP</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.000</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">visitFrame_should_fill_4_unused_slots_before_probe_variable_with_TOP_TOP_TOP_TOP</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.000</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">probevar_should_be_at_position_1_for_static_method_without_parameters</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.000</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">probevar_should_be_at_position_2_for_instance_method_without_parameters</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.000</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">visitLocalVariable_should_be_called_with_adjusted_variable_positions</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.000</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">visitFrame_should_fill_2_unused_slots_before_probe_variable_with_TOP_TOP</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.000</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">visitFrame_should_only_insert_safety_slot_and_probe_variable_when_no_other_local_variables_exist</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.000</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">visitCode_should_call_IProbeArrayStrategy_for_static_initializers</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.000</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">visitFrame_should_insert_safety_slot_and_probe_variable_between_arguments_and_local_variables</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.000</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">should_remap_LocalVariableAnnotation</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.000</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">new_stack_size_should_be_increased_for_probes</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.001</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">visitVarInsn_should_be_called_with_adjusted_variable_positions</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.000</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">probevar_should_be_at_position_5_for_instance_method_with_3_parameters</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.000</td>
    +                </tr>
    +            </table>
    +            <p>
    +                <a href="#top">Back to top</a>
    +            </p>
    +            <a name="RecordPatternFilterTest" />
    +            <h3>TestCase RecordPatternFilterTest</h3>
    +            <table class="coverage">
    +                <thead>
    +                    <tr>
    +                        <td>Name</td>
    +                        <td>Status</td>
    +                        <td>Type</td>
    +                        <td>Time(s)</td>
    +                    </tr>
    +                </thead>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">should_filter_switch</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.001</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">should_filter_instanceof</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.000</td>
    +                </tr>
    +            </table>
    +            <p>
    +                <a href="#top">Back to top</a>
    +            </p>
    +            <a name="RecordsFilterTest" />
    +            <h3>TestCase RecordsFilterTest</h3>
    +            <table class="coverage">
    +                <thead>
    +                    <tr>
    +                        <td>Name</td>
    +                        <td>Status</td>
    +                        <td>Type</td>
    +                        <td>Time(s)</td>
    +                    </tr>
    +                </thead>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">should_not_filter_non_toString_method</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.001</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">should_not_filter_redirect_method</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.001</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">should_not_filter_noreturn_method</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.000</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">should_not_filter_custom_hashCode_method</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.001</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">should_filter_field_object</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.000</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">should_filter_generated_hashCode_method</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.000</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">should_not_filter_other_method</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.000</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">should_not_filter_custom_toString_method</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.000</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">should_filter_field_int</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.000</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">should_not_filter_non_records</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.001</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">should_not_filter_non_hashCode_method</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.000</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">should_filter_generated_toString_method</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.000</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">should_not_filter_non_equals_method</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.000</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">should_not_filter_custom_equals_method</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.000</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">should_filter_generated_equals_method</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.000</td>
    +                </tr>
    +            </table>
    +            <p>
    +                <a href="#top">Back to top</a>
    +            </p>
    +            <a name="RemoteControlReaderWriterTest" />
    +            <h3>TestCase RemoteControlReaderWriterTest</h3>
    +            <table class="coverage">
    +                <thead>
    +                    <tr>
    +                        <td>Name</td>
    +                        <td>Status</td>
    +                        <td>Type</td>
    +                        <td>Time(s)</td>
    +                    </tr>
    +                </thead>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">testSendCmdOk</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.000</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">testVisitDump1</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.000</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">testVisitDump2</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.001</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">testVisitDump3</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.000</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">testVisitDump4</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.000</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">testNoRemoteCommandVisitor</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.000</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">testEmptyClass</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.000</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">testMultipleHeaders</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.000</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">testOneClass</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.000</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">testInvalidMagicNumber</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.000</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">testGetFileHeader</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.000</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">testInvalidVersion</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.000</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">testEmpty</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.000</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">testFlush</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.000</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">testExecutionDataIOException</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.000</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">testNoHitClass</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.000</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">testEmptyFile</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.001</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">testSessionInfo</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.000</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">testMinClassId</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.000</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">testUnknownBlock</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.000</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">testNoSessionInfoVisitor</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.000</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">testMissingHeader</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.000</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">testSessionInfoIOException</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.000</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">testTwoClasses</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.000</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">testNoExecutionDataVisitor</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.001</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">testCustomBlocks</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.000</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">testMaxClassId</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.000</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">testTruncatedFile</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.000</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">testBigClass</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.001</td>
    +                </tr>
    +            </table>
    +            <p>
    +                <a href="#top">Back to top</a>
    +            </p>
    +            <a name="ReportOutputFolderTest" />
    +            <h3>TestCase ReportOutputFolderTest</h3>
    +            <table class="coverage">
    +                <thead>
    +                    <tr>
    +                        <td>Name</td>
    +                        <td>Status</td>
    +                        <td>Type</td>
    +                        <td>Time(s)</td>
    +                    </tr>
    +                </thead>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">testSubfolderInstance</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.000</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">testFileInSubFolder</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.001</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">testInvalidRelativeLink</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.000</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">testRelativeLinkInSubFolder</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.000</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">testRelativeLinkInSibling1</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.000</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">testRelativeLinkInSibling2</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.000</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">testRelativeLinkInParentFolder</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.000</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">testFileInRoot</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.001</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">testRelativeLinkInSameFolder</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.000</td>
    +                </tr>
    +            </table>
    +            <p>
    +                <a href="#top">Back to top</a>
    +            </p>
    +            <a name="ReportPageTest" />
    +            <h3>TestCase ReportPageTest</h3>
    +            <table class="coverage">
    +                <thead>
    +                    <tr>
    +                        <td>Name</td>
    +                        <td>Status</td>
    +                        <td>Type</td>
    +                        <td>Time(s)</td>
    +                    </tr>
    +                </thead>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">testPageContent</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.044</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">testGetLink</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.000</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">testIsRootPage1</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.002</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">testIsRootPage2</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.000</td>
    +                </tr>
    +            </table>
    +            <p>
    +                <a href="#top">Back to top</a>
    +            </p>
    +            <a name="ReportTaskLocaleTest" />
    +            <h3>TestCase ReportTaskLocaleTest</h3>
    +            <table class="coverage">
    +                <thead>
    +                    <tr>
    +                        <td>Name</td>
    +                        <td>Status</td>
    +                        <td>Type</td>
    +                        <td>Time(s)</td>
    +                    </tr>
    +                </thead>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">testLanguageCountryVariant</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.001</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">testNone</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.000</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">testLanguage</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.001</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">testLanguageCountry</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.000</td>
    +                </tr>
    +            </table>
    +            <p>
    +                <a href="#top">Back to top</a>
    +            </p>
    +            <a name="ReportTaskTest" />
    +            <h3>TestCase ReportTaskTest</h3>
    +            <table class="coverage">
    +                <thead>
    +                    <tr>
    +                        <td>Name</td>
    +                        <td>Status</td>
    +                        <td>Type</td>
    +                        <td>Time(s)</td>
    +                    </tr>
    +                </thead>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">testReportHtmlWithSourcesDir [src/org/jacoco/ant/ReportTaskTest.xml]</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.207</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">testReportHtmlNoDestdirOrDestfile [src/org/jacoco/ant/ReportTaskTest.xml]</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.035</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">testReportHtmlTabWidth [src/org/jacoco/ant/ReportTaskTest.xml]</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.083</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">testReportNoGroupName [src/org/jacoco/ant/ReportTaskTest.xml]</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.033</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">testReportCheckOk [src/org/jacoco/ant/ReportTaskTest.xml]</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.070</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">testReportHtmlWithSources [src/org/jacoco/ant/ReportTaskTest.xml]</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.196</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">testReportNoStructureName [src/org/jacoco/ant/ReportTaskTest.xml]</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.037</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">testReportWithSourceButNoClasses [src/org/jacoco/ant/ReportTaskTest.xml]</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.037</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">testReportHtmlWithJAR [src/org/jacoco/ant/ReportTaskTest.xml]</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.071</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">testReportHtmlInvalidTabWidth [src/org/jacoco/ant/ReportTaskTest.xml]</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.035</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">testReportHtmlWithClassFileSet [src/org/jacoco/ant/ReportTaskTest.xml]</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.090</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">testReportXmlInvalidDestfile [src/org/jacoco/ant/ReportTaskTest.xml]</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.051</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">testReportHtmlZipFile [src/org/jacoco/ant/ReportTaskTest.xml]</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.093</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">testReportHtmlEncoding [src/org/jacoco/ant/ReportTaskTest.xml]</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.050</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">testReportWithSourceButNoDebug [src/org/jacoco/ant/ReportTaskTest.xml]</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.164</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">testReportHtmlWithSourceEncoding [src/org/jacoco/ant/ReportTaskTest.xml]</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.150</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">testReportInvalidExecutionDataFile [src/org/jacoco/ant/ReportTaskTest.xml]</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.035</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">testReportCsvNoDestfile [src/org/jacoco/ant/ReportTaskTest.xml]</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.034</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">testReportHtmlBothDestdirAndDestfile [src/org/jacoco/ant/ReportTaskTest.xml]</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.033</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">testReportCheckSetPropertyOnly [src/org/jacoco/ant/ReportTaskTest.xml]</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.044</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">testReportWithNoMatch [src/org/jacoco/ant/ReportTaskTest.xml]</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.035</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">testReportHtmlLocale [src/org/jacoco/ant/ReportTaskTest.xml]</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.064</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">testReportInvalidConfiguration [src/org/jacoco/ant/ReportTaskTest.xml]</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.040</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">testReportHtmlFooter [src/org/jacoco/ant/ReportTaskTest.xml]</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.039</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">testReportWithSourceDirButNoDebug [src/org/jacoco/ant/ReportTaskTest.xml]</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.130</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">testReportHtmlWithPath [src/org/jacoco/ant/ReportTaskTest.xml]</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.061</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">testReportWithExecutiondataFiles [src/org/jacoco/ant/ReportTaskTest.xml]</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.029</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">testReportHtmlDefaultTabWidth [src/org/jacoco/ant/ReportTaskTest.xml]</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.132</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">testReportXmlEncoding [src/org/jacoco/ant/ReportTaskTest.xml]</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.035</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">testReportNoStructureElement [src/org/jacoco/ant/ReportTaskTest.xml]</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.034</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">testReportCheckFailed [src/org/jacoco/ant/ReportTaskTest.xml]</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.038</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">testReportXmlNoDestfile [src/org/jacoco/ant/ReportTaskTest.xml]</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.035</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">testReportCsvEncoding [src/org/jacoco/ant/ReportTaskTest.xml]</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.038</td>
    +                </tr>
    +            </table>
    +            <p>
    +                <a href="#top">Back to top</a>
    +            </p>
    +            <a name="ReportTest" />
    +            <h3>TestCase ReportTest</h3>
    +            <table class="coverage">
    +                <thead>
    +                    <tr>
    +                        <td>Name</td>
    +                        <td>Status</td>
    +                        <td>Type</td>
    +                        <td>Time(s)</td>
    +                    </tr>
    +                </thead>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">should_use_all_values_when_multiple_classfiles_options_are_provided</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.120</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">should_create_xml_report_when_xml_option_is_provided</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.052</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">should_print_number_of_analyzed_classes</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.023</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">should_create_csv_report_when_csv_option_is_provided</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.035</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">should_print_usage_when_no_options_are_given</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.004</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">should_print_warning_when_no_exec_files_are_provided</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.033</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">should_print_warning_when_exec_data_does_not_match</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.020</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">should_create_html_report_when_html_option_is_provided</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.076</td>
    +                </tr>
    +            </table>
    +            <p>
    +                <a href="#top">Back to top</a>
    +            </p>
    +            <a name="ResizeInstructionsTest" />
    +            <h3>TestCase ResizeInstructionsTest</h3>
    +            <table class="coverage">
    +                <thead>
    +                    <tr>
    +                        <td>Name</td>
    +                        <td>Status</td>
    +                        <td>Type</td>
    +                        <td>Time(s)</td>
    +                    </tr>
    +                </thead>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">should_not_loose_InnerClasses_attribute</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.084</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">should_not_require_computation_of_common_superclass</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.211</td>
    +                </tr>
    +            </table>
    +            <p>
    +                <a href="#top">Back to top</a>
    +            </p>
    +            <a name="ResourcesTest" />
    +            <h3>TestCase ResourcesTest</h3>
    +            <table class="coverage">
    +                <thead>
    +                    <tr>
    +                        <td>Name</td>
    +                        <td>Status</td>
    +                        <td>Type</td>
    +                        <td>Time(s)</td>
    +                    </tr>
    +                </thead>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">testCopyResources</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.016</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">testGetLink</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.000</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">testGetElementStyle</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.000</td>
    +                </tr>
    +            </table>
    +            <p>
    +                <a href="#top">Back to top</a>
    +            </p>
    +            <a name="RulesCheckerTest" />
    +            <h3>TestCase RulesCheckerTest</h3>
    +            <table class="coverage">
    +                <thead>
    +                    <tr>
    +                        <td>Name</td>
    +                        <td>Status</td>
    +                        <td>Type</td>
    +                        <td>Time(s)</td>
    +                    </tr>
    +                </thead>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">testSetLanguageNames</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.002</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">testSetRules</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.000</td>
    +                </tr>
    +            </table>
    +            <p>
    +                <a href="#top">Back to top</a>
    +            </p>
    +            <a name="RuleTest" />
    +            <h3>TestCase RuleTest</h3>
    +            <table class="coverage">
    +                <thead>
    +                    <tr>
    +                        <td>Name</td>
    +                        <td>Status</td>
    +                        <td>Type</td>
    +                        <td>Time(s)</td>
    +                    </tr>
    +                </thead>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">testCreateLimit</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.001</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">testSetExcludes</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.000</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">testSetElement</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.001</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">testSetLimits</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.000</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">testDefaults</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.000</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">testSetIncludes</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.000</td>
    +                </tr>
    +            </table>
    +            <p>
    +                <a href="#top">Back to top</a>
    +            </p>
    +            <a name="RuntimeDataTest" />
    +            <h3>TestCase RuntimeDataTest</h3>
    +            <table class="coverage">
    +                <thead>
    +                    <tr>
    +                        <td>Name</td>
    +                        <td>Status</td>
    +                        <td>Type</td>
    +                        <td>Time(s)</td>
    +                    </tr>
    +                </thead>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">testCollectEmpty</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.000</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">testGenerateArgumentArray</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.002</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">testGetSetSessionId</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.000</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">testCollectWithReset</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.000</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">testCollectWithoutReset</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.000</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">testHashCode</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.000</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">testGenerateAccessCall</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.001</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">testEquals</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.000</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">testGetProbes</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.000</td>
    +                </tr>
    +            </table>
    +            <p>
    +                <a href="#top">Back to top</a>
    +            </p>
    +            <a name="SafetySlotTest" />
    +            <h3>TestCase SafetySlotTest</h3>
    +            <table class="coverage">
    +                <thead>
    +                    <tr>
    +                        <td>Name</td>
    +                        <td>Status</td>
    +                        <td>Type</td>
    +                        <td>Time(s)</td>
    +                    </tr>
    +                </thead>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">jvm_should_verify_original_class_without_errors</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.003</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">jvm_should_verify_instrumented_class_without_errors</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.008</td>
    +                </tr>
    +            </table>
    +            <p>
    +                <a href="#top">Back to top</a>
    +            </p>
    +            <a name="SessionInfoStoreTest" />
    +            <h3>TestCase SessionInfoStoreTest</h3>
    +            <table class="coverage">
    +                <thead>
    +                    <tr>
    +                        <td>Name</td>
    +                        <td>Status</td>
    +                        <td>Type</td>
    +                        <td>Time(s)</td>
    +                    </tr>
    +                </thead>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">testGetInfos</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.001</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">testGetMergedEmpty</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.000</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">testEmpty</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.000</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">testAccept</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.001</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">testGetMerged</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.001</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">testIsEmpty</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.000</td>
    +                </tr>
    +            </table>
    +            <p>
    +                <a href="#top">Back to top</a>
    +            </p>
    +            <a name="SessionInfoTest" />
    +            <h3>TestCase SessionInfoTest</h3>
    +            <table class="coverage">
    +                <thead>
    +                    <tr>
    +                        <td>Name</td>
    +                        <td>Status</td>
    +                        <td>Type</td>
    +                        <td>Time(s)</td>
    +                    </tr>
    +                </thead>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">testToString</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.000</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">testGetters</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.000</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">testCompare</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.000</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">testNullId</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.005</td>
    +                </tr>
    +            </table>
    +            <p>
    +                <a href="#top">Back to top</a>
    +            </p>
    +            <a name="SessionsPageTest" />
    +            <h3>TestCase SessionsPageTest</h3>
    +            <table class="coverage">
    +                <thead>
    +                    <tr>
    +                        <td>Name</td>
    +                        <td>Status</td>
    +                        <td>Type</td>
    +                        <td>Time(s)</td>
    +                    </tr>
    +                </thead>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">testExecutionDataContent</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.039</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">testGetLinkLabel</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.000</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">testGetLinkStyle</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.001</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">testGetFileName</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.001</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">testEmptyContent</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.021</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">testSessionListContent</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.029</td>
    +                </tr>
    +            </table>
    +            <p>
    +                <a href="#top">Back to top</a>
    +            </p>
    +            <a name="SignatureRemoverTest" />
    +            <h3>TestCase SignatureRemoverTest</h3>
    +            <table class="coverage">
    +                <thead>
    +                    <tr>
    +                        <td>Name</td>
    +                        <td>Status</td>
    +                        <td>Type</td>
    +                        <td>Time(s)</td>
    +                    </tr>
    +                </thead>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">testRemovePositive1</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.000</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">testRemovePositive2</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.000</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">testRemovePositive3</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.005</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">testRemovePositive4</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.000</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">testFilterPositive1</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.000</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">testRemoveNegative1</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.000</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">testRemoveNegative2</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.000</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">testRemoveNegative3</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.000</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">testFilterNegative1</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.000</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">testFilterNegative2</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.000</td>
    +                </tr>
    +            </table>
    +            <p>
    +                <a href="#top">Back to top</a>
    +            </p>
    +            <a name="SortIndexTest" />
    +            <h3>TestCase SortIndexTest</h3>
    +            <table class="coverage">
    +                <thead>
    +                    <tr>
    +                        <td>Name</td>
    +                        <td>Status</td>
    +                        <td>Type</td>
    +                        <td>Time(s)</td>
    +                    </tr>
    +                </thead>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">testIncreaseBuffer</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.001</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">testSingleton</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.000</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">testEmptyList</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.000</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">testReverse</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.000</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">testShuffle</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.001</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">testSorted</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.000</td>
    +                </tr>
    +            </table>
    +            <p>
    +                <a href="#top">Back to top</a>
    +            </p>
    +            <a name="SourceFileCoverageImplTest" />
    +            <h3>TestCase SourceFileCoverageImplTest</h3>
    +            <table class="coverage">
    +                <thead>
    +                    <tr>
    +                        <td>Name</td>
    +                        <td>Status</td>
    +                        <td>Type</td>
    +                        <td>Time(s)</td>
    +                    </tr>
    +                </thead>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">testProperties</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.000</td>
    +                </tr>
    +            </table>
    +            <p>
    +                <a href="#top">Back to top</a>
    +            </p>
    +            <a name="SourceFilePageTest" />
    +            <h3>TestCase SourceFilePageTest</h3>
    +            <table class="coverage">
    +                <thead>
    +                    <tr>
    +                        <td>Name</td>
    +                        <td>Status</td>
    +                        <td>Type</td>
    +                        <td>Time(s)</td>
    +                    </tr>
    +                </thead>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">testContents</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.020</td>
    +                </tr>
    +            </table>
    +            <p>
    +                <a href="#top">Back to top</a>
    +            </p>
    +            <a name="SourceHighlighterTest" />
    +            <h3>TestCase SourceHighlighterTest</h3>
    +            <table class="coverage">
    +                <thead>
    +                    <tr>
    +                        <td>Name</td>
    +                        <td>Status</td>
    +                        <td>Type</td>
    +                        <td>Time(s)</td>
    +                    </tr>
    +                </thead>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">testHighlightBranchesFC</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.215</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">testHighlightBranchesNC</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.061</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">testHighlightBranchesPC</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.038</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">testHighlightNone</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.049</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">testSetLanguage</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.060</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">testDefaultLanguage</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.045</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">testHighlighting</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.056</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">testDefaultTabWidth</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.037</td>
    +                </tr>
    +            </table>
    +            <p>
    +                <a href="#top">Back to top</a>
    +            </p>
    +            <a name="SourceNodeImplTest" />
    +            <h3>TestCase SourceNodeImplTest</h3>
    +            <table class="coverage">
    +                <thead>
    +                    <tr>
    +                        <td>Name</td>
    +                        <td>Status</td>
    +                        <td>Type</td>
    +                        <td>Time(s)</td>
    +                    </tr>
    +                </thead>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">testIncrementChildWithLines</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.001</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">testIncrementLineUnknown</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.000</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">testInit</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.000</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">testGetLine</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.000</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">testEnsureCapacityUnknown1</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.000</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">testEnsureCapacityUnknown2</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.000</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">testIncrementChildNoLines</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.001</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">testIncrementLines</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.000</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">testIncrementLine1_1</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.000</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">testIncrementLine1_2</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.000</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">testIncrementLine1_3</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.000</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">testIncrementLine1_4</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.000</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">testIncrementLine2_1</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.000</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">testIncrementLine2_2</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.000</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">testIncrementLine2_3</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.000</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">testIncrementLine2_4</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.000</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">testIncrementLine3_1</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.000</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">testIncrementLine3_2</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.000</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">testIncrementLine3_3</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.001</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">testIncrementLine3_4</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.000</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">testIncrementLine4_1</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.000</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">testIncrementLine4_2</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.000</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">testIncrementLine4_3</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.000</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">testIncrementLine4_4</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.000</td>
    +                </tr>
    +            </table>
    +            <p>
    +                <a href="#top">Back to top</a>
    +            </p>
    +            <a name="SourceTest" />
    +            <h3>TestCase SourceTest</h3>
    +            <table class="coverage">
    +                <thead>
    +                    <tr>
    +                        <td>Name</td>
    +                        <td>Status</td>
    +                        <td>Type</td>
    +                        <td>Time(s)</td>
    +                    </tr>
    +                </thead>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">should_parse_crnl_separator</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.017</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">should_parse_empty_lines</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.000</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">line_should_implement_toString</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.008</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">should_parse_lines</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.000</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">line_should_return_comment</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.000</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">line_should_provide_corresponding_coverage</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.000</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">should_calculate_line_numbers</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.000</td>
    +                </tr>
    +            </table>
    +            <p>
    +                <a href="#top">Back to top</a>
    +            </p>
    +            <a name="StatementExecutorTest" />
    +            <h3>TestCase StatementExecutorTest</h3>
    +            <table class="coverage">
    +                <thead>
    +                    <tr>
    +                        <td>Name</td>
    +                        <td>Status</td>
    +                        <td>Type</td>
    +                        <td>Time(s)</td>
    +                    </tr>
    +                </thead>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">should_wrap_other_exceptions</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.000</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">should_prefix_arguments</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.001</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">should_throw_RuntimeException_when_method_cannot_be_invoked</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.000</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">should_call_method_with_int_argument</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.000</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">should_preserve_AssertionError</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.000</td>
    +                </tr>
    +            </table>
    +            <p>
    +                <a href="#top">Back to top</a>
    +            </p>
    +            <a name="StatementParserTest" />
    +            <h3>TestCase StatementParserTest</h3>
    +            <table class="coverage">
    +                <thead>
    +                    <tr>
    +                        <td>Name</td>
    +                        <td>Status</td>
    +                        <td>Type</td>
    +                        <td>Time(s)</td>
    +                    </tr>
    +                </thead>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">should_parse_empty_string</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.001</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">should_parse_invocation_without_params</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.001</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">should_give_context_info_when_parsing_fails</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.000</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">should_parse_invocation_with_two_parameters</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.000</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">should_fail_when_parenthesis_is_missing</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.000</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">should_parse_invocation_with_one_string_parameter</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.001</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">should_parse_multiple_invocations</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.000</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">should_fail_when_argument1_is_missing</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.000</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">should_parse_invocation_with_mixed_parameter_types</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.001</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">should_parse_invocation_with_one_int_parameter</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.000</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">should_fail_when_argument2_is_missing</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.000</td>
    +                </tr>
    +            </table>
    +            <p>
    +                <a href="#top">Back to top</a>
    +            </p>
    +            <a name="StringPoolTest" />
    +            <h3>TestCase StringPoolTest</h3>
    +            <table class="coverage">
    +                <thead>
    +                    <tr>
    +                        <td>Name</td>
    +                        <td>Status</td>
    +                        <td>Type</td>
    +                        <td>Time(s)</td>
    +                    </tr>
    +                </thead>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">testGetArray</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.000</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">testGetArrayNull</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.001</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">testGetStringNull</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.000</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">testGetEmptyArray</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.000</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">testGetString</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.000</td>
    +                </tr>
    +            </table>
    +            <p>
    +                <a href="#top">Back to top</a>
    +            </p>
    +            <a name="StringSwitchFilterTest" />
    +            <h3>TestCase StringSwitchFilterTest</h3>
    +            <table class="coverage">
    +                <thead>
    +                    <tr>
    +                        <td>Name</td>
    +                        <td>Status</td>
    +                        <td>Type</td>
    +                        <td>Time(s)</td>
    +                    </tr>
    +                </thead>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">should_not_filter_empty_lookup_switch</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.002</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">should_filter</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.001</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">should_filter_Kotlin_1_5</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.000</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">should_filter_when_default_is_first</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.000</td>
    +                </tr>
    +            </table>
    +            <p>
    +                <a href="#top">Back to top</a>
    +            </p>
    +            <a name="StringSwitchJavacFilterTest" />
    +            <h3>TestCase StringSwitchJavacFilterTest</h3>
    +            <table class="coverage">
    +                <thead>
    +                    <tr>
    +                        <td>Name</td>
    +                        <td>Status</td>
    +                        <td>Type</td>
    +                        <td>Time(s)</td>
    +                    </tr>
    +                </thead>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">should_filter_code_generated_by_javac</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.001</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">should_not_filter_when_no_expected_goto</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.000</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">should_not_filter_code_generated_by_ECJ</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.000</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">should_filter_when_javac_generates_lookupswitch</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.000</td>
    +                </tr>
    +            </table>
    +            <p>
    +                <a href="#top">Back to top</a>
    +            </p>
    +            <a name="StylesTest" />
    +            <h3>TestCase StylesTest</h3>
    +            <table class="coverage">
    +                <thead>
    +                    <tr>
    +                        <td>Name</td>
    +                        <td>Status</td>
    +                        <td>Type</td>
    +                        <td>Time(s)</td>
    +                    </tr>
    +                </thead>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">testCombine1</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.000</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">testCombine2</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.000</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">testCombine3</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.000</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">testCombine4</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.009</td>
    +                </tr>
    +            </table>
    +            <p>
    +                <a href="#top">Back to top</a>
    +            </p>
    +            <a name="SynchronizedFilterTest" />
    +            <h3>TestCase SynchronizedFilterTest</h3>
    +            <table class="coverage">
    +                <thead>
    +                    <tr>
    +                        <td>Name</td>
    +                        <td>Status</td>
    +                        <td>Type</td>
    +                        <td>Time(s)</td>
    +                    </tr>
    +                </thead>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">javacTryCatchFinally</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.001</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">ecj</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.000</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">javac</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.001</td>
    +                </tr>
    +            </table>
    +            <p>
    +                <a href="#top">Back to top</a>
    +            </p>
    +            <a name="SyntheticFilterTest" />
    +            <h3>TestCase SyntheticFilterTest</h3>
    +            <table class="coverage">
    +                <thead>
    +                    <tr>
    +                        <td>Name</td>
    +                        <td>Status</td>
    +                        <td>Type</td>
    +                        <td>Time(s)</td>
    +                    </tr>
    +                </thead>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">testNonSynthetic</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.000</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">should_filter_synthetic_method_with_prefix_anonfun_in_non_Scala_classes</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.000</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">should_not_filter_synthetic_method_with_prefix_anonfun_in_Scala_classes</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.000</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">should_not_filter_synthetic_method_with_prefix_anonfun_in_Scala_inner_classes</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.000</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">should_not_filter_method_with_suffix_default_in_kotlin_classes</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.001</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">should_filter_synthetic_methods_whose_name_starts_with_access_dollar_even_if_last_argument_is_kotlin_coroutine_continuation</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.001</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">should_not_filter_synthetic_constructor_containing_default_arguments_in_kotlin_classes</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.000</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">should_filter_synthetic_method_with_suffix_default_in_non_kotlin_classes</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.000</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">testLambda</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.000</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">testSynthetic</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.000</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">should_not_filter_synthetic_methods_whose_last_argument_is_kotlin_coroutine_continuation</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.000</td>
    +                </tr>
    +            </table>
    +            <p>
    +                <a href="#top">Back to top</a>
    +            </p>
    +            <a name="SystemPropertiesRuntimeTest" />
    +            <h3>TestCase SystemPropertiesRuntimeTest</h3>
    +            <table class="coverage">
    +                <thead>
    +                    <tr>
    +                        <td>Name</td>
    +                        <td>Status</td>
    +                        <td>Type</td>
    +                        <td>Time(s)</td>
    +                    </tr>
    +                </thead>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">testDataAccessor</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.000</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">testLoadSameClassTwice</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.006</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">testExecutionRecording</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.000</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">testNoLocalVariablesInDataAccessor</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.000</td>
    +                </tr>
    +            </table>
    +            <p>
    +                <a href="#top">Back to top</a>
    +            </p>
    +            <a name="TableTest" />
    +            <h3>TestCase TableTest</h3>
    +            <table class="coverage">
    +                <thead>
    +                    <tr>
    +                        <td>Name</td>
    +                        <td>Status</td>
    +                        <td>Type</td>
    +                        <td>Time(s)</td>
    +                    </tr>
    +                </thead>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">testDefaultSorting</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.015</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">testInvisible</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.001</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">testTwoDefaultSorts</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.000</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">testCallbackSequence</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.001</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">testSortIds</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.024</td>
    +                </tr>
    +            </table>
    +            <p>
    +                <a href="#top">Back to top</a>
    +            </p>
    +            <a name="TcpClientOutputTest" />
    +            <h3>TestCase TcpClientOutputTest</h3>
    +            <table class="coverage">
    +                <thead>
    +                    <tr>
    +                        <td>Name</td>
    +                        <td>Status</td>
    +                        <td>Type</td>
    +                        <td>Time(s)</td>
    +                    </tr>
    +                </thead>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">testWriteExecutionData</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.013</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">testInvalidCommand</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.008</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">testShutdown</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.009</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">testRemoteClose</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.011</td>
    +                </tr>
    +            </table>
    +            <p>
    +                <a href="#top">Back to top</a>
    +            </p>
    +            <a name="TcpConnectionTest" />
    +            <h3>TestCase TcpConnectionTest</h3>
    +            <table class="coverage">
    +                <thead>
    +                    <tr>
    +                        <td>Name</td>
    +                        <td>Status</td>
    +                        <td>Type</td>
    +                        <td>Time(s)</td>
    +                    </tr>
    +                </thead>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">testInvalidContent</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.000</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">testLocalDump</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.019</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">testRemoteDump</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.020</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">testInvalidHeader</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.000</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">testLocalClose</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.020</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">testLocalDumpWithoutInit</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.000</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">testRemoteClose</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.020</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">testRemoteReset</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.018</td>
    +                </tr>
    +            </table>
    +            <p>
    +                <a href="#top">Back to top</a>
    +            </p>
    +            <a name="TcpServerOutputTest" />
    +            <h3>TestCase TcpServerOutputTest</h3>
    +            <table class="coverage">
    +                <thead>
    +                    <tr>
    +                        <td>Name</td>
    +                        <td>Status</td>
    +                        <td>Type</td>
    +                        <td>Time(s)</td>
    +                    </tr>
    +                </thead>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">testWriteExecutionData</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.009</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">testShutdownWithConnection</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.008</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">testGetInetAddressAny</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.007</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">testShutdownWithoutConnection</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.008</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">testInvalidHeader</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.008</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">testGetInetAddressLoopback</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.011</td>
    +                </tr>
    +            </table>
    +            <p>
    +                <a href="#top">Back to top</a>
    +            </p>
    +            <a name="TestTarget" />
    +            <h3>TestCase TestTarget</h3>
    +            <table class="coverage">
    +                <thead>
    +                    <tr>
    +                        <td>Name</td>
    +                        <td>Status</td>
    +                        <td>Type</td>
    +                        <td>Time(s)</td>
    +                    </tr>
    +                </thead>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">testNothing</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.000</td>
    +                </tr>
    +            </table>
    +            <p>
    +                <a href="#top">Back to top</a>
    +            </p>
    +            <a name="TryWithResourcesEcjFilterTest" />
    +            <h3>TestCase TryWithResourcesEcjFilterTest</h3>
    +            <table class="coverage">
    +                <thead>
    +                    <tr>
    +                        <td>Name</td>
    +                        <td>Status</td>
    +                        <td>Type</td>
    +                        <td>Time(s)</td>
    +                    </tr>
    +                </thead>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">ecj</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.002</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">ecj_noFlowOut</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.001</td>
    +                </tr>
    +            </table>
    +            <p>
    +                <a href="#top">Back to top</a>
    +            </p>
    +            <a name="TryWithResourcesJavac11FilterTest" />
    +            <h3>TestCase TryWithResourcesJavac11FilterTest</h3>
    +            <table class="coverage">
    +                <thead>
    +                    <tr>
    +                        <td>Name</td>
    +                        <td>Status</td>
    +                        <td>Type</td>
    +                        <td>Time(s)</td>
    +                    </tr>
    +                </thead>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">without_null_check</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.001</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">with_null_check</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.000</td>
    +                </tr>
    +            </table>
    +            <p>
    +                <a href="#top">Back to top</a>
    +            </p>
    +            <a name="TryWithResourcesJavacFilterTest" />
    +            <h3>TestCase TryWithResourcesJavacFilterTest</h3>
    +            <table class="coverage">
    +                <thead>
    +                    <tr>
    +                        <td>Name</td>
    +                        <td>Status</td>
    +                        <td>Type</td>
    +                        <td>Time(s)</td>
    +                    </tr>
    +                </thead>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">javac9</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.004</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">javac_7_8</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.001</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">only_exceptional_path</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.000</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">javac9_omitted_null_check</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.000</td>
    +                </tr>
    +            </table>
    +            <p>
    +                <a href="#top">Back to top</a>
    +            </p>
    +            <a name="VersionTest" />
    +            <h3>TestCase VersionTest</h3>
    +            <table class="coverage">
    +                <thead>
    +                    <tr>
    +                        <td>Name</td>
    +                        <td>Status</td>
    +                        <td>Type</td>
    +                        <td>Time(s)</td>
    +                    </tr>
    +                </thead>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">should_print_version</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.000</td>
    +                </tr>
    +            </table>
    +            <p>
    +                <a href="#top">Back to top</a>
    +            </p>
    +            <a name="WildcardMatcherTest" />
    +            <h3>TestCase WildcardMatcherTest</h3>
    +            <table class="coverage">
    +                <thead>
    +                    <tr>
    +                        <td>Name</td>
    +                        <td>Status</td>
    +                        <td>Type</td>
    +                        <td>Time(s)</td>
    +                    </tr>
    +                </thead>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">expressions_without_wildcards_should_match_exactly</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.001</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">empty_expression_should_match_any_string</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.000</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">should_match_case_sensitive</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.000</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">asterix_should_match_any_number_of_any_character</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.000</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">should_match_any_expression_when_multiple_expressions_are_given</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.000</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">questionmark_should_match_any_single_character</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.001</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">should_match_dollar_sign</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.000</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">should_not_use_regex_characters</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.000</td>
    +                </tr>
    +            </table>
    +            <p>
    +                <a href="#top">Back to top</a>
    +            </p>
    +            <a name="XmlDocumentationTest" />
    +            <h3>TestCase XmlDocumentationTest</h3>
    +            <table class="coverage">
    +                <thead>
    +                    <tr>
    +                        <td>Name</td>
    +                        <td>Status</td>
    +                        <td>Type</td>
    +                        <td>Time(s)</td>
    +                    </tr>
    +                </thead>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">should_create_documentation</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.105</td>
    +                </tr>
    +            </table>
    +            <p>
    +                <a href="#top">Back to top</a>
    +            </p>
    +            <a name="XMLElementTest" />
    +            <h3>TestCase XMLElementTest</h3>
    +            <table class="coverage">
    +                <thead>
    +                    <tr>
    +                        <td>Name</td>
    +                        <td>Status</td>
    +                        <td>Type</td>
    +                        <td>Time(s)</td>
    +                    </tr>
    +                </thead>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">attr_should_throw_exception_when_closed</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.000</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">text_should_emit_text</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.001</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">close_should_be_allowed_multiple_times</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.000</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">element_should_emit_nested_element</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.000</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">attr_should_throw_exception_when_text_was_added</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.000</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">text_should_allow_mixing_with_elements</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.000</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">attr_should_quote_string_value</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.001</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">attr_should_emit_string_value</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.000</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">attr_should_throw_exception_when_child_was_added</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.000</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">close_should_emit_empty_element_when_no_children_exist</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.000</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">text_should_throw_exception_when_closed</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.000</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">init_should_write_standalone_when_given</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.001</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">attr_should_emit_int_value</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.000</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">init_should_write_doctype_when_given</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.000</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">element_should_allow_multiple_nested_elements</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.000</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">element_should_throw_exception_when_closed</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.001</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">attr_should_ignore_call_when_value_is_null</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.000</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">attr_should_emit_long_value</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.000</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">test_should_be_quoted</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.000</td>
    +                </tr>
    +            </table>
    +            <p>
    +                <a href="#top">Back to top</a>
    +            </p>
    +            <a name="XMLFormatterTest" />
    +            <h3>TestCase XMLFormatterTest</h3>
    +            <table class="coverage">
    +                <thead>
    +                    <tr>
    +                        <td>Name</td>
    +                        <td>Status</td>
    +                        <td>Type</td>
    +                        <td>Time(s)</td>
    +                    </tr>
    +                </thead>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">testSetEncoding</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.002</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">testDefaultEncoding</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.001</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">testSessionInfo</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.014</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">testStructureWithNestedGroups</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.046</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">testStructureWithGroup</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.094</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">testStructureWithBundleOnly</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.093</td>
    +                </tr>
    +            </table>
    +            <p>
    +                <a href="#top">Back to top</a>
    +            </p>
    +            <a name="XMLGroupVisitorTest" />
    +            <h3>TestCase XMLGroupVisitorTest</h3>
    +            <table class="coverage">
    +                <thead>
    +                    <tr>
    +                        <td>Name</td>
    +                        <td>Status</td>
    +                        <td>Type</td>
    +                        <td>Time(s)</td>
    +                    </tr>
    +                </thead>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">testVisitEnd</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.007</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">testVisitBundle</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.004</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">testVisitGroup</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.004</td>
    +                </tr>
    +            </table>
    +            <p>
    +                <a href="#top">Back to top</a>
    +            </p>
    +            <a name="ZeroLineNumberTest" />
    +            <h3>TestCase ZeroLineNumberTest</h3>
    +            <table class="coverage">
    +                <thead>
    +                    <tr>
    +                        <td>Name</td>
    +                        <td>Status</td>
    +                        <td>Type</td>
    +                        <td>Time(s)</td>
    +                    </tr>
    +                </thead>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">zero_line_numbers_should_be_preserved_during_instrumentation_and_should_not_cause_insertion_of_additional_probes</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.000</td>
    +                </tr>
    +            </table>
    +            <p>
    +                <a href="#top">Back to top</a>
    +            </p>
    +            <a name="ZipMultiReportOutputTest" />
    +            <h3>TestCase ZipMultiReportOutputTest</h3>
    +            <table class="coverage">
    +                <thead>
    +                    <tr>
    +                        <td>Name</td>
    +                        <td>Status</td>
    +                        <td>Type</td>
    +                        <td>Time(s)</td>
    +                    </tr>
    +                </thead>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">testCreateFiles</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.003</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">testFlushToClosedStream3</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.000</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">testWriteToObsoleteStream</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.001</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">testWrite1</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.000</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">testWrite2</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.000</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">testWrite3</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.001</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">testCreateFilesWithoutClose</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.000</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">testWriteToClosedStream1</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.000</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">testWriteToClosedStream2</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.000</td>
    +                </tr>
    +                <tr valign="top" class="">
    +                    <td style="width:24em">
    +                        <span class="el_test">testWriteToClosedStream3</span>
    +                    </td>
    +                    <td>Success</td>
    +                    <td />
    +                    <td>0.000</td>
    +                </tr>
    +            </table>
    +            <p>
    +                <a href="#top">Back to top</a>
    +            </p>
    +        </div>
    +        <div class="footer">
    +            <span class="right">
    +                <a href="http://www.jacoco.org/jacoco">JaCoCo</a>
    +                 0.8.12.202403270442
    +            </span>
    +            <a href="../doc/license.html">Copyright</a>
    +             © 2009, 2024 Mountainminds GmbH &amp; Co. KG and Contributors
    +			
    +        </div>
    +    </body>
    +</html>
    diff --git a/license.html b/license.html
    new file mode 100644
    index 00000000000..f33343ed22a
    --- /dev/null
    +++ b/license.html
    @@ -0,0 +1,128 @@
    +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
    +<html xmlns="http://www.w3.org/1999/xhtml" lang="en">
    +<head>
    +  <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
    +  <meta name="date" content="2020-01-07 22:14:26 +0100" />
    +  <link rel="stylesheet" href="book.css" type="text/css" />
    +  <link rel="shortcut icon" href="favicon.ico" type="image/x-icon" />
    +  <title>EclEmma - License</title>
    +</head>
    +<body>
    +<table cellspacing="0" cellpadding="0" border="0" style="width:100%;">
    +<tr>
    +  <td style="padding:5px 10px 5px 10px;font-size:16pt;font-weight:bold;color:#000066;background-color:#f7f7f7;border:1px solid #a5b6c6;">
    +    EclEmma <span style="color:#8998a5;">3.1.8</span>
    +  </td>
    +  <td style="padding:5px 10px 5px 10px;font-size:16pt;font-weight:bold;color:#8998a5;border-bottom:1px solid #a5b6c6;">
    +    Java Code Coverage for Eclipse
    +  </td>
    +  <td style="padding:0px 0px 0px 0px;border-bottom:1px solid #a5b6c6;text-align:right">
    +    <a href="https://marketplace.eclipse.org/marketplace-client-intro?mpc_install=264" title="Drag to your running Eclipse workspace to install EclEmma Java Code Coverage">
    +      <img src="https://marketplace.eclipse.org/modules/custom/eclipsefdn/eclipsefdn_marketplace/images/btn-install.svg" alt="Drag to your running Eclipse workspace to install EclEmma Java Code Coverage" style="vertical-align:text-bottom; border:0px solid black" />
    +    </a>
    +  </td>
    +</tr>
    +<tr><td style="vertical-align:top;padding:20px 10px 20px 10px;background-color:#f7f7f7;border-left:1px solid #a5b6c6;border-right:1px solid #a5b6c6;border-bottom:1px solid #a5b6c6;">
    +    <div class="menu" style="background-image:url(images/topic.gif);margin-left:0px;">
    +      <a href="index.html">Overview</a> 
    +    </div>
    +    <div class="menu" style="background-image:url(images/container.gif);margin-left:0px;">
    +      <a href="installation.html">Installation</a> 
    +    </div>
    +    <div class="menu" style="background-image:url(images/container.gif);margin-left:0px;">
    +      <a href="userdoc/index.html">User Guide</a> 
    +    </div>
    +    <div class="menu" style="background-image:url(images/container.gif);margin-left:0px;">
    +      <a href="support.html">Support</a> 
    +    </div>
    +    <div class="menu" style="background-image:url(images/topic.gif);margin-left:0px;">
    +      <a href="resources.html">Resources</a> 
    +    </div>
    +    <div class="menu" style="background-image:url(images/container.gif);margin-left:0px;">
    +      <a href="devdoc/index.html">Developer Information</a> 
    +    </div>
    +    <div class="menu" style="background-image:url(images/container.gif);margin-left:0px;">
    +      <a href="research/index.html">Research</a> 
    +    </div>
    +    <div class="menu" style="background-image:url(images/topic.gif);margin-left:0px;">
    +      <a href="jacoco/index.html">JaCoCo</a> 
    +    </div>
    +    <div class="menu" style="background-image:url(images/topic.gif);margin-left:0px;">
    +      <a href="changes.html">Change Log</a> 
    +    </div>
    +    <div class="menuhi" style="background-image:url(images/topic.gif);margin-left:0px;">
    +      <a href="license.html">License</a> 
    +    </div>
    +    <div class="menu" style="background-image:url(images/topic.gif);margin-left:0px;">
    +      <a href="contact.html">Contact</a> 
    +    </div>
    +  <div class="menu" style="margin-top:15pt;background-image:url(images/extern.gif)">
    +    <a href="https://github.com/jacoco">GitHub Home</a>
    +  </div>
    +  <div style="text-align:center;margin-top:0pt;">
    +    <a href="http://www.eclipse.org/org/press-release/20080318_AwardsWinners.php"><img src="images/award.jpg" width="144" height="120" alt="Eclipse Community Award 2008" style="border:0px solid black" /></a>
    +  </div>
    +  <div style="text-align:center;margin-top:10pt;">
    +    <a href="http://www.jacoco.org/jacoco"><img src="images/jacoco.png" height="62" width="140" alt="JaCoCo" style="border:0px solid black" /></a>
    +  </div>
    +  <div style="text-align:center;margin-top:10pt;">
    +    <a href="http://www.sonarqube.org/"><img src="images/sonarqube.png" height="40" width="140" alt="Inspected with sonarqube" style="border:0px solid black" /></a>
    +  </div>
    +  <div style="text-align:center;margin-top:10pt;padding-top:15px;border-top:1px solid #a0a0a0">
    +    <a href="https://www.mtrail.ch/en/career.html"><img src="images/mtrail.png" width="140" height="200" alt="jobs at mtrail" style="border:0px solid black" /></a>
    +  </div>
    +  <div style="text-align:center;margin-top:10pt">
    +    <a href="http://www.javaspecialists.eu/"><img src="images/tjsn.jpg" width="140" height="140" alt="The Java Specialists' Newsletter" style="border:0px solid black" /></a>
    +  </div>
    +</td><td style="vertical-align:top;padding:0px 0px 5px 20px;width:90%;border-bottom:1px solid #a5b6c6;" colspan="2">
    +<h1>License</h1><p>
    +  Copyright © 2006, 2020 Eclipse Contributors and others
    +</p><p>
    +  This program and the accompanying materials are made available under
    +  the terms of the Eclipse Public License 2.0 which is available at
    +  <a class="extern" href="http://www.eclipse.org/legal/epl-2.0">http://www.eclipse.org/legal/epl-2.0</a>.
    +</p><p>
    +  This program is based on the
    +  <a class="extern" href="http://www.jacoco.org/jacoco">JaCoCo</a> code coverage
    +  library which includes the <a class="extern" href="http://asm.objectweb.org/">ASM</a>
    +  Java bytecode library, provided under the terms and conditions of the
    +  <a class="extern" href="http://asm.objectweb.org/license.html">BSD License</a>,
    +  and <a class="extern" href="http://code.google.com/p/google-code-prettify/">Google Code Prettify</a>,
    +  provided under the terms and conditions of the
    +  <a class="extern" href="http://jakarta.apache.org/commons/license.html">Apache License Version 2.0</a>.
    +</p><p>
    +  The user documentation contains example code taken from the <i>Apache Jakarta
    +  Commons</i> project, provided under the terms and conditions of the
    +  <a class="extern" href="http://jakarta.apache.org/commons/license.html">Apache License Version 2.0</a>.
    +</p><h1>Trademarks</h1><p>
    +  Java and all Java-based trademarks are trademarks of Oracle Corporation in the
    +  United States, other countries, or both. Eclipse and all Eclipse related
    +  trademarks and logos are trademarks of Eclipse Foundation, Inc. OSGi is a
    +  trademark, registered trademark, or service mark of The OSGi Alliance in the
    +  US and other countries. All other trademarks are the property of their
    +  respective owners.
    +</p>
    +</td></tr>
    +</table>
    +<table cellspacing="0" cellpadding="0" border="0" style="width:100%;">
    +<tr>
    +  <td class="footer"><a href="license.html">Copyright</a> © 2006, 2017 Mountainminds GmbH &amp; Co. KG and Contributors</td>
    +  <td class="footer" style="text-align:right;">
    +    Validate
    +    <a href="http://validator.w3.org/check?uri=http://www.eclemma.org/license.html">XHTML</a>/<a href="http://jigsaw.w3.org/css-validator/validator?uri=http://www.eclemma.org/license.html">CSS</a> ·
    +    Last Modified
    +    <a href="https://github.com/jacoco/eclemma/blob/cde3d88112e5ec35521a58e1463d1f25cfc038cc/org.eclipse.eclemma.doc/pages/legal.html">2020-01-07</a> in Commit
    +    <a href="https://github.com/jacoco/eclemma/commit/cde3d88112e5ec35521a58e1463d1f25cfc038cc">cde3d881</a>
    +  </td>
    +</tr>
    +</table>
    +<script type="text/javascript">
    +  (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
    +  (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
    +  m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
    +  })(window,document,'script','//www.google-analytics.com/analytics.js','ga');
    +  ga('create', 'UA-2034659-1', 'auto');
    +  ga('send', 'pageview');
    +</script>
    +</body>
    +</html>
    \ No newline at end of file
    diff --git a/research/index.html b/research/index.html
    new file mode 100644
    index 00000000000..4abfe107c6b
    --- /dev/null
    +++ b/research/index.html
    @@ -0,0 +1,411 @@
    +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
    +<html xmlns="http://www.w3.org/1999/xhtml" lang="en">
    +<head>
    +  <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
    +  <meta name="date" content="2024-03-27 17:22:44 +0100" />
    +  <link rel="stylesheet" href="../book.css" type="text/css" />
    +  <link rel="shortcut icon" href="../favicon.ico" type="image/x-icon" />
    +  <title>EclEmma - Research</title>
    +</head>
    +<body>
    +<table cellspacing="0" cellpadding="0" border="0" style="width:100%;">
    +<tr>
    +  <td style="padding:5px 10px 5px 10px;font-size:16pt;font-weight:bold;color:#000066;background-color:#f7f7f7;border:1px solid #a5b6c6;">
    +    EclEmma <span style="color:#8998a5;">3.1.8</span>
    +  </td>
    +  <td style="padding:5px 10px 5px 10px;font-size:16pt;font-weight:bold;color:#8998a5;border-bottom:1px solid #a5b6c6;">
    +    Java Code Coverage for Eclipse
    +  </td>
    +  <td style="padding:0px 0px 0px 0px;border-bottom:1px solid #a5b6c6;text-align:right">
    +    <a href="https://marketplace.eclipse.org/marketplace-client-intro?mpc_install=264" title="Drag to your running Eclipse workspace to install EclEmma Java Code Coverage">
    +      <img src="https://marketplace.eclipse.org/modules/custom/eclipsefdn/eclipsefdn_marketplace/images/btn-install.svg" alt="Drag to your running Eclipse workspace to install EclEmma Java Code Coverage" style="vertical-align:text-bottom; border:0px solid black" />
    +    </a>
    +  </td>
    +</tr>
    +<tr><td style="vertical-align:top;padding:20px 10px 20px 10px;background-color:#f7f7f7;border-left:1px solid #a5b6c6;border-right:1px solid #a5b6c6;border-bottom:1px solid #a5b6c6;">
    +    <div class="menu" style="background-image:url(../images/topic.gif);margin-left:0px;">
    +      <a href="../index.html">Overview</a> 
    +    </div>
    +    <div class="menu" style="background-image:url(../images/container.gif);margin-left:0px;">
    +      <a href="../installation.html">Installation</a> 
    +    </div>
    +    <div class="menu" style="background-image:url(../images/container.gif);margin-left:0px;">
    +      <a href="../userdoc/index.html">User Guide</a> 
    +    </div>
    +    <div class="menu" style="background-image:url(../images/container.gif);margin-left:0px;">
    +      <a href="../support.html">Support</a> 
    +    </div>
    +    <div class="menu" style="background-image:url(../images/topic.gif);margin-left:0px;">
    +      <a href="../resources.html">Resources</a> 
    +    </div>
    +    <div class="menu" style="background-image:url(../images/container.gif);margin-left:0px;">
    +      <a href="../devdoc/index.html">Developer Information</a> 
    +    </div>
    +    <div class="menuhi" style="background-image:url(../images/container.gif);margin-left:0px;">
    +      <a href="index.html">Research</a> 
    +    </div>
    +    <div class="menu" style="background-image:url(../images/topic.gif);margin-left:16px;">
    +      <a href="instrumentingosgi/index.html">Instrumenting OSGi Bundles</a> 
    +    </div>
    +    <div class="menu" style="background-image:url(../images/topic.gif);margin-left:0px;">
    +      <a href="../jacoco/index.html">JaCoCo</a> 
    +    </div>
    +    <div class="menu" style="background-image:url(../images/topic.gif);margin-left:0px;">
    +      <a href="../changes.html">Change Log</a> 
    +    </div>
    +    <div class="menu" style="background-image:url(../images/topic.gif);margin-left:0px;">
    +      <a href="../license.html">License</a> 
    +    </div>
    +    <div class="menu" style="background-image:url(../images/topic.gif);margin-left:0px;">
    +      <a href="../contact.html">Contact</a> 
    +    </div>
    +  <div class="menu" style="margin-top:15pt;background-image:url(../images/extern.gif)">
    +    <a href="https://github.com/jacoco">GitHub Home</a>
    +  </div>
    +  <div style="text-align:center;margin-top:0pt;">
    +    <a href="http://www.eclipse.org/org/press-release/20080318_AwardsWinners.php"><img src="../images/award.jpg" width="144" height="120" alt="Eclipse Community Award 2008" style="border:0px solid black" /></a>
    +  </div>
    +  <div style="text-align:center;margin-top:10pt;">
    +    <a href="http://www.jacoco.org/jacoco"><img src="../images/jacoco.png" height="62" width="140" alt="JaCoCo" style="border:0px solid black" /></a>
    +  </div>
    +  <div style="text-align:center;margin-top:10pt;">
    +    <a href="http://www.sonarqube.org/"><img src="../images/sonarqube.png" height="40" width="140" alt="Inspected with sonarqube" style="border:0px solid black" /></a>
    +  </div>
    +  <div style="text-align:center;margin-top:10pt;padding-top:15px;border-top:1px solid #a0a0a0">
    +    <a href="https://www.mtrail.ch/en/career.html"><img src="../images/mtrail.png" width="140" height="200" alt="jobs at mtrail" style="border:0px solid black" /></a>
    +  </div>
    +  <div style="text-align:center;margin-top:10pt">
    +    <a href="http://www.javaspecialists.eu/"><img src="../images/tjsn.jpg" width="140" height="140" alt="The Java Specialists' Newsletter" style="border:0px solid black" /></a>
    +  </div>
    +</td><td style="vertical-align:top;padding:0px 0px 5px 20px;width:90%;border-bottom:1px solid #a5b6c6;" colspan="2">
    +<h1>Research</h1><a href="http://www.eclipsecon.org/summiteurope2007/index.php?page=detail/&amp;id=22"><img src="../images/class.jpg" alt="Talk" width="224" height="150" style="float:right; margin-left:10px; margin-bottom:10px; border:0px solid black" /></a><p>
    +  This section contains – work in progress – papers about code
    +  coverage techniques that are currently used by EclEmma or might be used in
    +  future versions. Please feel free to discuss the papers at the
    +  <a class="extern" href="https://groups.google.com/d/forum/jacoco">JaCoCo and
    +  EclEmma Users</a> group.
    +</p><h3>Warning</h3><p>
    +  The papers in this section may not be related to the current version of
    +  EclEmma. All code examples provided herein are for demonstration purposes only
    +  and are completely <b>unsupported</b>. Please refer to the
    +  <a href="../userdoc/index.html">user guide</a> for all questions related to
    +  the current EclEmma version.
    +</p><h2>Presentations</h2><h3>AndroidMakers 2024, Montrouge</h3><p>
    +  <a class="extern" href="https://androidmakers.droidcon.com/agenda/">The state of code coverage for Kotlin</a>
    +  by Marharyta Nedzelska and Evgeny Mandrikov at
    +  <a class="extern" href="https://androidmakers.droidcon.com/">AndroidMakers</a>,
    +  2024/04/25
    +</p><h3>YOW! Sydney 2023, Sydney</h3><p>
    +  <a class="extern" href="https://yowcon.com/sydney-2023/sessions/3071/java-code-coverage-and-their-best-friend-%E2%80%94-bytecode-scandals-intrigues-investigations">Java, Code Coverage and their best friend - bytecode: scandals, intrigues, investigations</a>
    +  by Evgeny Mandrikov at
    +  <a class="extern" href="https://yowcon.com/sydney-2023">YOW! Sydney</a>,
    +  2023/12/07
    +</p><h3>YOW! Brisbane 2023, Brisbane</h3><p>
    +  <a class="extern" href="https://yowcon.com/brisbane-2023/sessions/3072/java-code-coverage-and-their-best-friend-%E2%80%94-bytecode-scandals-intrigues-investigations">Java, Code Coverage and their best friend - bytecode: scandals, intrigues, investigations</a>
    +  by Evgeny Mandrikov at
    +  <a class="extern" href="https://yowcon.com/brisbane-2023">YOW! Brisbane</a>,
    +  2023/12/04
    +</p><h3>YOW! Melbourne 2023, Melbourne</h3><p>
    +  <a class="extern" href="https://yowcon.com/melbourne-2023/sessions/3073/java-code-coverage-and-their-best-friend-%E2%80%94-bytecode-scandals-intrigues-investigations">Java, Code Coverage and their best friend - bytecode: scandals, intrigues, investigations</a>
    +  by Evgeny Mandrikov at
    +  <a class="extern" href="https://yowcon.com/melbourne-2023">YOW! Melbourne</a>,
    +  2023/11/30
    +</p><h3>GOTO Copenhagen 2023, Copenhagen</h3><p>
    +  <a class="extern" href="https://gotocph.com/2023/sessions/2833/dynamic-constants-%E2%80%94-oxymoron-or-promising-jvm-feature">Dynamic Constants - oxymoron or promising JVM feature?</a>
    +  by Evgeny Mandrikov at
    +  <a class="extern" href="https://gotocph.com/2023">GOTO Copenhagen</a>,
    +  2023/10/02
    +</p><p>
    +  <a class="extern" href="https://gotocph.com/2023/sessions/2992/java-code-coverage-and-their-best-friend-%E2%80%94-bytecode-scandals-intrigues-investigations">Java, Code Coverage and their best friend - bytecode: scandals, intrigues, investigations</a>
    +  by Evgeny Mandrikov at
    +  <a class="extern" href="https://gotocph.com/2023">GOTO Copenhagen</a>,
    +  2023/10/02
    +</p><h3>DevBcn 2023, Barcelona</h3><p>
    +  <a class="extern" href="https://www.devbcn.com/talk/463275">Java, Kotlin, Code Coverage and their best friend - bytecode: scandals, intrigues, investigations</a>
    +  by Evgeny Mandrikov at
    +  <a class="extern" href="https://www.devbcn.com/">DevBcn</a>,
    +  2023/07/03
    +</p><h3>Voxxed Days Luxembourg 2023, Luxembourg</h3><p>
    +  <a class="extern" href="https://cfp-voxxed-lux.yajug.org/2023/talk/FAW-6156">Java 4..21, Kotlin, Code Coverage and their best friend - bytecode: scandals, intrigues, investigations</a>
    +  by Evgeny Mandrikov at
    +  <a class="extern" href="https://luxembourg.voxxeddays.com/">Voxxed Days Luxembourg</a>,
    +  2023/06/21
    +</p><h3>Devoxx Poland 2023, Krakow</h3><p>
    +  <a class="extern" href="https://devoxx.pl/talk-details/?id=6150">Java 4..21, Kotlin, Code Coverage and their best friend - bytecode: scandals, intrigues, investigations</a>
    +  by Evgeny Mandrikov at
    +  <a class="extern" href="https://devoxx.pl/">Devoxx Poland</a>,
    +  2023/06/02
    +</p><p>
    +  <a class="extern" href="https://devoxx.pl/talk-details/?id=6301">Dynamic Constants - oxymoron or promising JVM feature?</a>
    +  by Evgeny Mandrikov at
    +  <a class="extern" href="https://devoxx.pl/">Devoxx Poland</a>,
    +  2023/06/02
    +</p><h3>KotLand 2021, Online</h3><p>
    +  <a class="extern" href="https://www.kotland.org/evgeny-mandrikov">New Kotlin compiler backend in 1.5 - new challenges for bytecode analysis tools?</a>
    +  by Evgeny Mandrikov at
    +  <a class="extern" href="https://www.kotland.org/">KotLand</a>,
    +  2021/07/02
    +</p><ul>
    +  <li><a class="extern" href="https://youtu.be/9BUE6XqPWKA">Video</a></li>
    +</ul><h3>Luxoft TechFest 2021, Online</h3><p>
    +  <a class="extern" href="https://live.jugru.org/video/?v=Izk5iiM2Mzk5ijE">Scala, Kotlin, Java and Code Coverage: show all that is hidden</a>
    +  by Evgeny Mandrikov at
    +  <a class="extern" href="https://luxoft-techfest.jugru.org/">Luxoft TechFest</a>,
    +  2021/06/03
    +</p><ul>
    +  <li><a class="extern" href="https://live.jugru.org/video/?v=Izk5iiM2Mzk5ijE">Video</a></li>
    +</ul><h3>The Developers' Bakery</h3><p>
    +  JaCoCo
    +  by Evgeny Mandrikov at
    +  <a class="extern" href="https://thebakery.dev/">The Developers' Bakery</a>,
    +  2021/03/29
    +</p><ul>
    +  <li><a class="extern" href="https://thebakery.dev/09/">Podcast</a></li>
    +</ul><h3>SnowOne 2021, Online</h3><p>
    +  <a class="extern" href="https://snowone.ru/en/speakers/evgeny_mandrikov">Scala, Kotlin, Java and Code Coverage: show all that is hidden</a>
    +  by Evgeny Mandrikov at
    +  <a class="extern" href="https://snowone.ru/en">SnowOne</a>,
    +  2021/02/27
    +</p><ul>
    +  <li><a class="extern" href="https://youtu.be/EUekFxG5p54">Video</a></li>
    +</ul><h3>VirtualKUG 2021, Online</h3><p>
    +  <a class="extern" href="https://www.meetup.com/Virtual-Kotlin-User-Group/events/275536290/">Kotlin, Java 4..16, Code Coverage and their best friend - bytecode</a>
    +  by Evgeny Mandrikov at
    +  <a class="extern" href="https://www.meetup.com/Virtual-Kotlin-User-Group/">VirtualKUG</a>,
    +  2021/01/28
    +</p><ul>
    +  <li><a class="extern" href="https://youtu.be/qSBjas8H38U">Video</a></li>
    +</ul><h3>Heisenbug 2020, Online</h3><p>
    +  <a class="extern" href="https://heisenbug-moscow.ru/en/2020/msk/talks/4flevnp5xpislct40gsgpq/">Workshop: Code coverage on JVM</a>
    +  by Evgeny Mandrikov at
    +  <a class="extern" href="https://heisenbug-moscow.ru/">Heisenbug</a>,
    +  2020/11/05
    +</p><ul>
    +  <li><a class="extern" href="https://youtu.be/bqEABS2uPFE">Video (part 1)</a></li>
    +  <li><a class="extern" href="https://youtu.be/ujeXJrPhcBw">Video (part 2)</a></li>
    +</ul><h3>JPoint 2020, Online</h3><p>
    +  <a class="extern" href="https://jpoint.ru/2020/talks/2lhebtxsbx4g9oc2cvhews/">Dynamic Constants - oxymoron or promising JVM feature?</a>
    +  by Evgeny Mandrikov at
    +  <a class="extern" href="https://www.jpoint.ru/">JPoint</a>,
    +  2020/07/02
    +</p><ul>
    +  <li><a class="extern" href="https://youtu.be/l4maytpu2MU">Video</a></li>
    +</ul><h3>SeleniumCamp 2020, Kiev</h3><p>
    +  <a class="extern" href="https://seleniumcamp.com/talk/silence-of-code-coverage-time-to-test-the-tests/">Silence of Code Coverage - Time to Test the Tests</a>
    +  by Evgeny Mandrikov at
    +  <a class="extern" href="https://seleniumcamp.com/">SeleniumCamp</a>,
    +  2020/02/22
    +</p><ul>
    +  <li><a class="extern" href="https://youtu.be/370l_7uf8yY">Video</a></li>
    +</ul><h3>JavaDay 2020, Lviv</h3><p>
    +  <a class="extern" href="https://www.javaday.org.ua/talks/2020/Dynamic-Constants---oxymoron-or-promising-JVM-feature%3F">Dynamic Constants - oxymoron or promising JVM feature?</a>
    +  by Evgeny Mandrikov at
    +  <a class="extern" href="https://www.javaday.org.ua/">JavaDay Lviv</a>,
    +  2020/02/15
    +</p><ul>
    +  <li><a class="extern" href="https://youtu.be/5ufVTg86mNI">Video</a></li>
    +</ul><h3>RockstarNight Dev Club 2019, Kiev</h3><p>
    +  <a class="extern" href="https://www.facebook.com/events/565137857381882/">Code Coverage on JVM: Practice and Mechanics</a>
    +  by Evgeny Mandrikov at
    +  <a class="extern" href="https://www.rocknightdev.club/">RockstarNight Dev Club</a>,
    +  2019/12/24
    +</p><ul>
    +  <li><a class="extern" href="https://youtu.be/zT7nsvchllI">Video</a></li>
    +</ul><h3>Devoxx Ukraine 2019, Kiev</h3><p>
    +  <a class="extern" href="https://devoxx.com.ua/talk-details/?id=38353">Code Coverage Mechanics on JVM</a>
    +  by Evgeny Mandrikov at
    +  <a class="extern" href="https://devoxx.com.ua/">Devoxx Ukraine</a>,
    +  2019/11/01
    +</p><ul>
    +  <li><a class="extern" href="https://youtu.be/cU44Hvy6KQg">Video</a></li>
    +</ul><h3>JavaDay 2019, Odesa</h3><p>
    +  <a class="extern" href="https://youtu.be/TVoVAfFP3fQ">Deep Dive: Java 4..13, Kotlin, Code Coverage and their best friend - bytecode</a>
    +  by Evgeny Mandrikov at
    +  <a class="extern" href="https://www.facebook.com/events/impact-hub-odessa/javaday-odesa-deep-dive/328475224494396/">JavaDay Odesa</a>,
    +  2019/09/28
    +</p><ul>
    +  <li><a class="extern" href="https://youtu.be/TVoVAfFP3fQ">Video</a></li>
    +</ul><h3>Voxxed Days 2019, Minsk</h3><p>
    +  <a class="extern" href="https://voxxeddays.com/minsk/2019/java-4-12-kotlin-code-coverage-and-their-best-friend-bytecode-scandals-intrigues-investigations/">Java 4..12, Kotlin, Code Coverage and their best friend - bytecode</a>
    +  by Evgeny Mandrikov at
    +  <a class="extern" href="https://voxxeddays.com/minsk/">Voxxed Days Minsk</a>,
    +  2019/05/24
    +</p><ul>
    +  <li><a class="extern" href="https://youtu.be/bIz1niQFDAU?t=23759">Video</a></li>
    +</ul><h3>JPoint 2019, Moscow</h3><p>
    +  <a class="extern" href="https://jpoint.ru/en/talks/1kdtfe1zh0vtosdldezwap">Let's make some 0xCAFEBABE - test-driven bytecode engineering</a>
    +  by Marc R. Hoffman and Evgeny Mandrikov at
    +  <a class="extern" href="https://jpoint.ru/">JPoint</a>,
    +  2019/04/06
    +</p><ul>
    +  <li><a class="extern" href="https://assets.ctfassets.net/oxjq45e8ilak/5dc9qBMxfY57CziDAn3qFB/30bc43bfab51f09a940fc7c43f5512e3/Evgeny_Mandrikov_Marc_Hoffmann_Let_s_make_some_0xCAFEBABE_____test-driven_bytecode_engineering.pdf">Presentation</a></li>
    +</ul><h3>FOSDEM 2019, Brussels</h3><p>
    +  <a class="extern" href="https://fosdem.org/2019/schedule/event/kotlin_code_coverage_bytecode/">Java 4..12, Kotlin, Code Coverage and their best friend - bytecode</a>
    +  by Evgeny Mandrikov at
    +  <a class="extern" href="https://fosdem.org/">FOSDEM</a>,
    +  2019/02/03
    +</p><ul>
    +  <li><a class="extern" href="https://fosdem.org/2019/schedule/event/kotlin_code_coverage_bytecode/">Video</a></li>
    +</ul><h3>Devoxx Ukraine 2018, Kyiv</h3><p>
    +  <a class="extern" href="https://dvua18.confinabox.com/talk/YNU-4893/Bytecode_Pattern_Matching">Bytecode Pattern Matching</a>
    +  by Evgeny Mandrikov at
    +  <a class="extern" href="https://devoxx.org.ua/">Devoxx Ukraine</a>,
    +  2018/11/24
    +</p><ul>
    +  <li><a class="extern" href="https://youtu.be/Os75V_lgEb0">Video</a></li>
    +</ul><h3>EclipseCon Europe 2018, Ludwigsburg</h3><p>
    +  <a class="extern" href="https://www.eclipsecon.org/europe2018/sessions/bytecode-pattern-matching">Bytecode Pattern Matching</a>
    +  by Evgeny Mandrikov at
    +  <a class="extern" href="https://www.eclipsecon.org/europe2018/">EclipseCon Europe</a>,
    +  2018/10/25
    +</p><ul>
    +  <li><a class="extern" href="https://youtu.be/48kp3h10brM">Video</a></li>
    +</ul><h3>JokerConf 2018, Saint-Petersburg</h3><p>
    +  <a class="extern" href="https://2018.jokerconf.com/en/2018/talks/10hiblizhceweosio0y66u/">Java 4..11, Kotlin, Code Coverage and their best friend - bytecode</a>
    +  by Evgeny Mandrikov at
    +  <a class="extern" href="https://jokerconf.com/">JokerConf</a>,
    +  2018/10/19
    +</p><ul>
    +  <li><a class="extern" href="https://youtu.be/89dSBMxaX_k">Video</a></li>
    +</ul><h3>Software Engineering Radio</h3><p>
    +  Code Test Coverage Analysis and Tools
    +  by Marc R. Hoffmann at
    +  <a class="extern" href="http://www.se-radio.net/">Software Engineering Radio</a>,
    +  2018/05/22
    +</p><ul>
    +  <li><a class="extern" href="http://www.se-radio.net/2018/05/se-radio-episode-324-marc-hoffmann-on-code-test-coverage-analysis-and-tools/">Podcast</a></li>
    +</ul><h3>Devoxx France 2018, Paris</h3><p>
    +  <a class="extern" href="https://cfp.devoxx.fr/2018/talk/DGI-1882/Bytecode_Pattern_Matching">Bytecode Pattern Matching</a>
    +  by Evgeny Mandrikov at
    +  <a class="extern" href="http://devoxx.fr/">Devoxx France</a>,
    +  2018/04/20
    +</p><ul>
    +  <li><a class="extern" href="https://youtu.be/kADLELCH3Mk">Video</a></li>
    +</ul><h3>Devoxx France 2018, Paris</h3><p>
    +  <a class="extern" href="https://cfp.devoxx.fr/2018/talk/AUN-1366/Java_Code_Coverage_in_Practice">Java Code Coverage in Practice</a>
    +  by Evgeny Mandrikov at
    +  <a class="extern" href="http://devoxx.fr/">Devoxx France</a>,
    +  2018/04/18
    +</p><ul>
    +  <li><a class="extern" href="https://youtu.be/xKRNbQsGavI">Video</a></li>
    +</ul><h3>JokerConf 2017, Saint-Petersburg</h3><p>
    +  <a class="extern" href="https://jokerconf.com/en/2017/talks/6ghxf0lrm4mwugguokgesy/">Java Code Coverage Mechanics</a>
    +  by Evgeny Mandrikov and Marc R. Hoffmann at
    +  <a class="extern" href="https://jokerconf.com/">JokerConf</a>,
    +  2017/11/04
    +</p><ul>
    +  <li><a class="extern" href="https://youtu.be/Knb_qpp3dsQ">Video</a></li>
    +  <li><a class="extern" href="https://assets.contentful.com/oxjq45e8ilak/5U9sbI4EVyAUawi0G28OoO/a25456aabbcd4c8b0b00f8d1baaf4103/EvgenyMandrikov_Marc_Hoffmann_Java_Coverage_mechanics.pdf">Presentation</a></li>
    +</ul><h3>EclipseCon Europe 2017, Ludwigsburg</h3><p>
    +  <a class="extern" href="https://www.eclipsecon.org/europe2017/session/java-code-coverage-mechanics">Java Code Coverage Mechanics</a>
    +  by Evgeny Mandrikov at
    +  <a class="extern" href="https://www.eclipsecon.org/europe2017/">EclipseCon Europe</a>,
    +  2017/10/26
    +</p><ul>
    +  <li><a class="extern" href="https://youtu.be/XG3r9ZBIsnQ">Video</a></li>
    +  <li><a class="extern" href="https://www.eclipsecon.org/europe2017/sites/default/files/slides/Java%20Code%20Coverage%20Mechanics%20-%20EclipseCon%20Europe%202017.pdf">Presentation</a></li>
    +</ul><h3>EclipseCon France 2017, Toulouse</h3><p>
    +  <a class="extern" href="https://www.eclipsecon.org/france2017/session/code-coverage-practice">Code Coverage in Practice</a>
    +  by Evgeny Mandrikov at
    +  <a class="extern" href="https://www.eclipsecon.org/france2017/">EclipseCon France</a>,
    +  2017/06/22
    +</p><ul>
    +  <li><a class="extern" href="https://youtu.be/BoiVrdlxB_M">Video</a></li>
    +  <li><a class="extern" href="https://www.eclipsecon.org/france2017/sites/default/files/slides/Code%20Coverage%20in%20Practice%20-%20EclipseCon%20France%202017.pdf">Presentation</a></li>
    +</ul><h3>Eclipse Oxygen Webinar Series</h3><p>
    +  EclEmma - Code Coverage in Practice
    +  by Marc R. Hoffmann,
    +  2017/06/20
    +</p><ul>
    +  <li><a class="extern" href="https://youtu.be/p_mVa9iNmzk">Video</a></li>
    +</ul><h3>Geneva JUG 2017, Geneva</h3><p>
    +  Java Code Coverage Mechanics
    +  by Evgeny Mandrikov at
    +  <a class="extern" href="http://genevajug.ch/">Geneva JUG</a>,
    +  2017/04/25
    +</p><ul>
    +  <li><a class="extern" href="https://youtu.be/KnpP-cL4Ky4">Video</a></li>
    +  <li><a class="extern" href="http://download.eclipselab.org/jacoco/docs/20170406-Java_Code_Coverage_Mechanics.pdf">Presentation</a></li>
    +</ul><h3>Devoxx France 2017, Paris</h3><p>
    +  <a class="extern" href="https://cfp.devoxx.fr/2017/talk/BGN-4338/Java_Code_Coverage_Mechanics">Java Code Coverage Mechanics</a>
    +  by Evgeny Mandrikov at
    +  <a class="extern" href="http://devoxx.fr/">Devoxx France</a>,
    +  2017/04/06
    +</p><ul>
    +  <li><a class="extern" href="https://youtu.be/g8RkNYHJLL0">Video</a></li>
    +  <li><a class="extern" href="http://download.eclipselab.org/jacoco/docs/20170406-Java_Code_Coverage_Mechanics.pdf">Presentation</a></li>
    +</ul><h3>EclipseCon Europe 2016, Ludwigsburg</h3><p>
    +  <a class="extern" href="https://www.eclipsecon.org/europe2016/session/code-coverage-practice">Code Coverage in Practice</a>
    +  by Marc R. Hoffmann and Evgeny Mandrikov at
    +  <a class="extern" href="https://www.eclipsecon.org/europe2016/">EclipseCon Europe</a>,
    +  2016/10/26
    +</p><ul>
    +  <li><a class="extern" href="https://www.eclipsecon.org/europe2016/sites/default/files/slides/Code%20Coverage%20in%20Practice%20-%20EclipseCon%202016.pdf">Presentation</a></li>
    +</ul><h3>EclipseCon 2012, Reston</h3><p>
    +  <a class="extern" href="http://www.eclipsecon.org/2012/sessions/code-coverage-revised-eclemma-jacoco">Code Coverage Revised: EclEmma on JaCoCo</a>
    +  by Marc R. Hoffmann at
    +  <a class="extern" href="http://www.eclipsecon.org/2012/">EclipseCon</a>,
    +  2012/03/28
    +</p><ul>
    +  <li><a class="extern" href="http://download.eclipselab.org/jacoco/docs/20120328-eclemma-on-jacoco.pdf">Presentation</a></li>
    +</ul><h3>Eclipse Summit Europe 2010, Ludwigsburg</h3><p>
    +  <a class="extern" href="http://www.eclipsecon.org/summiteurope2010/sessions/?page=sessions&amp;id=1745">The Future of Code Coverage Analysis for Eclipse</a>
    +  by Marc R. Hoffmann at
    +  <a class="extern" href="http://www.eclipsecon.org/summiteurope2010/">Eclipse Summit Europe</a>,
    +  2010/11/03
    +</p><ul>
    +  <li><a class="extern" href="http://download.eclipselab.org/jacoco/docs/20101103-the-future-of-code-coverage.pdf">Presentation</a></li>
    +</ul><h3>EclipseCon 2010, Santa Clara</h3><p>
    +  <a class="extern" href="http://www.eclipsecon.org/2010/sessions/sessions?id=1275">The Future of Code Coverage Analysis for Eclipse</a>
    +  by Marc R. Hoffmann at
    +  <a class="extern" href="http://www.eclipsecon.org/2010/">EclipseCon</a>,
    +  2010/03/25
    +</p><ul>
    +  <li><a class="extern" href="http://download.eclipselab.org/jacoco/docs/20100325-the-future-of-code-coverage.pdf">Presentation</a></li>
    +</ul><h3>EclipseCon 2008, Santa Clara</h3><p>
    +  <a class="extern" href="http://www.eclipsecon.org/2008/?page=sub/&amp;id=19">Tutorial: Code Coverage Analysis for Eclipse</a>
    +  by Marc R. Hoffmann and Gilles Iachelini at
    +  <a class="extern" href="http://www.eclipsecon.org/2008/">EclipseCon</a>,
    +  2008/03/17
    +</p><ul>
    +  <li><a class="extern" href="https://sourceforge.net/projects/eclemma/files/05_Research/Presentations/EclipseCon2008_CodeCoverageForEclipse.pdf/download">Presentation</a></li>
    +</ul><ul>
    +  <li><a class="extern" href="https://sourceforge.net/projects/eclemma/files/05_Research/Presentations/EclipseCon2008_CodeCoverageForEclipse_Tutorial.zip/download">Tutorial Data</a></li>
    +</ul><h3>Eclipse Summit Europe 2007, Ludwigsburg</h3><p>
    +  <a class="extern" href="http://www.eclipsecon.org/summiteurope2007/index.php?page=detail/&amp;id=22">Code Coverage Analysis for Eclipse</a>
    +  by Marc R. Hoffmann at
    +  <a class="extern" href="http://www.eclipsecon.org/summiteurope2007/">Eclipse Summit Europe</a>,
    +  2007/10/10
    +</p><ul>
    +  <li><a class="extern" href="https://sourceforge.net/projects/eclemma/files/05_Research/Presentations/EclipseSummit2007_CodeCoverageForEclipse.pdf/download">Presentation</a></li>
    +</ul><h2>Related Work</h2><p>
    +  <a class="extern" href="http://www.webfoot.com/">Kaitlin Duck Sherwood</a>
    +  introduces exciting new use cases for code coverage analysis in her paper
    +  <i><a class="extern" href="http://www.cs.ubc.ca/cgi-bin/tr/2008/TR-2008-14">Reducing
    +  Code Navigation Effort with Differential Code Coverage</a></i>. Based on these
    +  ideas EclEmma supports differential code coverage since version 2.1.
    +</p>
    +</td></tr>
    +</table>
    +<table cellspacing="0" cellpadding="0" border="0" style="width:100%;">
    +<tr>
    +  <td class="footer"><a href="../license.html">Copyright</a> © 2006, 2017 Mountainminds GmbH &amp; Co. KG and Contributors</td>
    +  <td class="footer" style="text-align:right;">
    +    Validate
    +    <a href="http://validator.w3.org/check?uri=http://www.eclemma.org/research/index.html">XHTML</a>/<a href="http://jigsaw.w3.org/css-validator/validator?uri=http://www.eclemma.org/research/index.html">CSS</a> ·
    +    Last Modified
    +    <a href="https://github.com/jacoco/www.eclemma.org/blob/4500974b75f187b83880e46bb78a840ad65733ce/content/research/index.html">2024-03-27</a> in Commit
    +    <a href="https://github.com/jacoco/www.eclemma.org/commit/4500974b75f187b83880e46bb78a840ad65733ce">4500974b</a>
    +  </td>
    +</tr>
    +</table>
    +<script type="text/javascript">
    +  (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
    +  (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
    +  m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
    +  })(window,document,'script','//www.google-analytics.com/analytics.js','ga');
    +  ga('create', 'UA-2034659-1', 'auto');
    +  ga('send', 'pageview');
    +</script>
    +</body>
    +</html>
    \ No newline at end of file
    diff --git a/research/instrumentingosgi/frameworkext.png b/research/instrumentingosgi/frameworkext.png
    new file mode 100644
    index 00000000000..75020faa57a
    Binary files /dev/null and b/research/instrumentingosgi/frameworkext.png differ
    diff --git a/research/instrumentingosgi/index.html b/research/instrumentingosgi/index.html
    new file mode 100644
    index 00000000000..6f272b6aac2
    --- /dev/null
    +++ b/research/instrumentingosgi/index.html
    @@ -0,0 +1,455 @@
    +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
    +<html xmlns="http://www.w3.org/1999/xhtml" lang="en">
    +<head>
    +  <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
    +  <meta name="date" content="2017-03-28 22:12:41 +0200" />
    +  <link rel="stylesheet" href="../../book.css" type="text/css" />
    +  <link rel="shortcut icon" href="../../favicon.ico" type="image/x-icon" />
    +  <title>EclEmma - Instrumenting OSGi Bundles Through Equinox Adaptor Hooks</title>
    +</head>
    +<body>
    +<table cellspacing="0" cellpadding="0" border="0" style="width:100%;">
    +<tr>
    +  <td style="padding:5px 10px 5px 10px;font-size:16pt;font-weight:bold;color:#000066;background-color:#f7f7f7;border:1px solid #a5b6c6;">
    +    EclEmma <span style="color:#8998a5;">3.1.8</span>
    +  </td>
    +  <td style="padding:5px 10px 5px 10px;font-size:16pt;font-weight:bold;color:#8998a5;border-bottom:1px solid #a5b6c6;">
    +    Java Code Coverage for Eclipse
    +  </td>
    +  <td style="padding:0px 0px 0px 0px;border-bottom:1px solid #a5b6c6;text-align:right">
    +    <a href="https://marketplace.eclipse.org/marketplace-client-intro?mpc_install=264" title="Drag to your running Eclipse workspace to install EclEmma Java Code Coverage">
    +      <img src="https://marketplace.eclipse.org/modules/custom/eclipsefdn/eclipsefdn_marketplace/images/btn-install.svg" alt="Drag to your running Eclipse workspace to install EclEmma Java Code Coverage" style="vertical-align:text-bottom; border:0px solid black" />
    +    </a>
    +  </td>
    +</tr>
    +<tr><td style="vertical-align:top;padding:20px 10px 20px 10px;background-color:#f7f7f7;border-left:1px solid #a5b6c6;border-right:1px solid #a5b6c6;border-bottom:1px solid #a5b6c6;">
    +    <div class="menu" style="background-image:url(../../images/topic.gif);margin-left:0px;">
    +      <a href="../../index.html">Overview</a> 
    +    </div>
    +    <div class="menu" style="background-image:url(../../images/container.gif);margin-left:0px;">
    +      <a href="../../installation.html">Installation</a> 
    +    </div>
    +    <div class="menu" style="background-image:url(../../images/container.gif);margin-left:0px;">
    +      <a href="../../userdoc/index.html">User Guide</a> 
    +    </div>
    +    <div class="menu" style="background-image:url(../../images/container.gif);margin-left:0px;">
    +      <a href="../../support.html">Support</a> 
    +    </div>
    +    <div class="menu" style="background-image:url(../../images/topic.gif);margin-left:0px;">
    +      <a href="../../resources.html">Resources</a> 
    +    </div>
    +    <div class="menu" style="background-image:url(../../images/container.gif);margin-left:0px;">
    +      <a href="../../devdoc/index.html">Developer Information</a> 
    +    </div>
    +    <div class="menu" style="background-image:url(../../images/container.gif);margin-left:0px;">
    +      <a href="../index.html">Research</a> 
    +    </div>
    +    <div class="menuhi" style="background-image:url(../../images/topic.gif);margin-left:16px;">
    +      <a href="index.html">Instrumenting OSGi Bundles</a> 
    +    </div>
    +    <div class="menu" style="background-image:url(../../images/topic.gif);margin-left:0px;">
    +      <a href="../../jacoco/index.html">JaCoCo</a> 
    +    </div>
    +    <div class="menu" style="background-image:url(../../images/topic.gif);margin-left:0px;">
    +      <a href="../../changes.html">Change Log</a> 
    +    </div>
    +    <div class="menu" style="background-image:url(../../images/topic.gif);margin-left:0px;">
    +      <a href="../../license.html">License</a> 
    +    </div>
    +    <div class="menu" style="background-image:url(../../images/topic.gif);margin-left:0px;">
    +      <a href="../../contact.html">Contact</a> 
    +    </div>
    +  <div class="menu" style="margin-top:15pt;background-image:url(../../images/extern.gif)">
    +    <a href="https://github.com/jacoco">GitHub Home</a>
    +  </div>
    +  <div style="text-align:center;margin-top:0pt;">
    +    <a href="http://www.eclipse.org/org/press-release/20080318_AwardsWinners.php"><img src="../../images/award.jpg" width="144" height="120" alt="Eclipse Community Award 2008" style="border:0px solid black" /></a>
    +  </div>
    +  <div style="text-align:center;margin-top:10pt;">
    +    <a href="http://www.jacoco.org/jacoco"><img src="../../images/jacoco.png" height="62" width="140" alt="JaCoCo" style="border:0px solid black" /></a>
    +  </div>
    +  <div style="text-align:center;margin-top:10pt;">
    +    <a href="http://www.sonarqube.org/"><img src="../../images/sonarqube.png" height="40" width="140" alt="Inspected with sonarqube" style="border:0px solid black" /></a>
    +  </div>
    +  <div style="text-align:center;margin-top:10pt;padding-top:15px;border-top:1px solid #a0a0a0">
    +    <a href="https://www.mtrail.ch/en/career.html"><img src="../../images/mtrail.png" width="140" height="200" alt="jobs at mtrail" style="border:0px solid black" /></a>
    +  </div>
    +  <div style="text-align:center;margin-top:10pt">
    +    <a href="http://www.javaspecialists.eu/"><img src="../../images/tjsn.jpg" width="140" height="140" alt="The Java Specialists' Newsletter" style="border:0px solid black" /></a>
    +  </div>
    +</td><td style="vertical-align:top;padding:0px 0px 5px 20px;width:90%;border-bottom:1px solid #a5b6c6;" colspan="2">
    +<h1>Instrumenting OSGi Bundles Through Equinox Adaptor Hooks</h1><p>
    +  <i><b>Since Eclipse 3.2 the Equinox OSGi implementation offers so called
    +  adaptor hooks. This paper explains how code coverage can easily be added to
    +  the Equinox OSGi runtime via on-the-fly code instrumentation employing these
    +  hooks. A working example based on EMMA is provided that allows measuring code
    +  coverage of any Eclipse application.</b></i>
    +</p><p style="text-align:right;margin-bottom:15pt">
    +  Marc R. Hoffmann, Mountainminds GmbH &amp; Co. KG, April 2007 (updated March 2008)
    +</p><p class="warn">
    +  This paper describes a technique how to integrate the EMMA code coverage
    +  library into OSGi/Equinox applications. Please also consider our new code
    +  coverage library <a href="http://www.jacoco.org/jacoco">JaCoCo</a> which
    +  greatly simplifies the integration as it provides on-the-fly coverage data
    +  recording for any Java application (including OSGi frameworks).
    +</p><p>
    +  The plug-in based architecture of Eclipse is the foundation of modular design
    +  and extensibility. <a href="../../index.html">EclEmma</a> for example inserts
    +  additional menu items to the workbench or adds the new launch mode
    +  <i>Coverage</i> to the existing debug infrastructure. The component model
    +  underneath making this possible is based on the
    +  <a class="extern" href="http://www.osgi.org/">OSGi</a> standard which manages
    +  the lifecycle and contracts between all the <i>bundles</i> forming an
    +  application.
    +  <a class="extern" href="http://www.osgi.org/osgi_technology/download_specs.asp?section=2#Release4">OSGi
    +  Release 4</a> introduced so called <i>extension bundles</i> (chapter 3.14)
    +  which can be configured to become a part of the OSGi runtime itself and
    +  contribute implementation specific functionality.
    +</p><p>
    +  <img src="frameworkext.png" width="342" height="160" alt="Framework Extension" />
    +</p><p>
    +  Eclipse comes with its own OSGi implementation called
    +  <a class="extern" href="http://www.eclipse.org/equinox/">Equinox</a>, which
    +  itself offers several hooks that can be used by extension bundles to modify
    +  the behaviour of the OSGi platform. At
    +  <a class="extern" href="http://www.eclipsecon.org/2007/">EclipseCon 2007</a>
    +  in Santa Clara I became aware of so called
    +  <a class="extern" href="http://wiki.eclipse.org/index.php/Adaptor_Hooks"><i>adaptor
    +  hooks</i></a> offered by Equinox. A impressive
    +  <a class="extern" href="http://www.eclipsecon.org/2007/index.php?page=sub/&amp;id=3762">demonstration</a>
    +  showed how these hooks can be used to dynamically apply aspect-oriented
    +  techniques: Little flashing planets for each plug-in graphically visualized
    +  the plug-ins currently executing code. So why shouldn't the same mechanism
    +  allow imposing code coverage analysis on any Eclipse application?
    +</p><h2>Hooking into Equinox</h2><p>
    +  Framework adaptor hooks are available since Eclipse 3.2 and specified as
    +  call-back interfaces in the <code>org.eclipse.osgi.baseadaptor.hooks</code>
    +  package of the <code>org.eclipse.osgi</code> plug-in. By providing
    +  implementations of these hook interfaces one can inject the OSGi runtime with
    +  new or additional behavior in respect of framework lifecycle, bundle storage
    +  or class loading. Unfortunately there is no JavaDoc for this package included
    +  with the online help. To explore the interfaces simply import the
    +  <code>org.eclipse.osgi</code> into your Eclipse workspace. Enabling your hooks
    +  requires the following steps:
    +</p><ul>
    +  <li>Implement a <code>org.eclipse.osgi.baseadaptor.HookConfigurator</code>
    +      that registers your adaptor hook implementations with the hook registry
    +      in its <code>addHooks()</code> method.</li>
    +  <li>Place a file <code>hookconfigurators.properties</code> in your extension
    +      bundle containing a property definition <code>hook.configurators</code>
    +      that points to your  <code>HookConfigurator</code> implementation
    +      class.</li>
    +  <li>To make your bundle a framework extension it must be enlisted in the
    +      system property <code>osgi.framework.extensions</code> when launching
    +      Eclipse. This can be achieved by specifying a
    +      <code>-D</code> JVM parameter or by adding an
    +      entry to the <code>./configuration/config.ini</code> file.</li>
    +</ul><p>
    +  Note that Equinox requires extension bundles to be placed in the same
    +  directory as the <code>org.eclipse.osgi</code> plug-in. For a installed
    +  Eclipse instance this means extension bundles have to be placed directly in
    +  the <code>plugins/</code> directory. If you want to debug extension bundles
    +  within PDE, you need to import the source version of the
    +  <code>org.eclipse.osgi</code> plug-in into your workspace.
    +</p><h2>Code Coverage via Class File Instrumentation</h2><p>
    +  There are different possible techniques to determine code coverage during a
    +  program run. The one used by several coverage tools like
    +  <a class="extern" href="http://emma.sourceforge.net/">EMMA</a> is <i>byte code
    +  instrumentation</i>: In this approach probes are added to the original Java
    +  class files. These extra instructions record which parts of the program are
    +  executed. While the instrumentation process must be performed before the
    +  class files are loaded by the JVM, the instrumented code typically needs a
    +  extra runtime library where the coverage information is collected and
    +  written e.g. to a local file when the program terminates.
    +</p><p>
    +  <img src="instrumentation.png" width="418" height="212" alt="Instrumentation" />
    +</p><p>
    +  The instrumentation process can either be performed on the class
    +  files before the program is launched or during the class loading process.
    +  The latter requires hooking into the class loading mechanism of the
    +  application – which is easily possible for OSGi applications using
    +  Equinox adaptor hooks .
    +</p><h2>Byte Code Instrumentation Hook</h2><p>
    +  To hide the complexity of the sparely documented EMMA API we abstract a code
    +  coverage analyzer with a simple interface that may also work for any other
    +  code coverage technologies. For implementation details you may study the
    +  <a class="extern" href="http://eclemma.svn.sourceforge.net/viewvc/eclemma/research/com.mountainminds.eclemma.osgihook/src/com/mountainminds/eclemma/osgihook/EMMAAnalyzer.java?view=markup">EMMAAnalyzer</a>
    +  implementation.
    +</p><pre class="code">
    +public interface ICoverageAnalyzer {
    +
    +  /**
    +   * Called when the OSGi framework is started. Can be used for initialization
    +   * tasks.
    +   */
    +  public void start();
    +
    +  /**
    +   * Called when the OSGi framework shuts down. Here we can e.g. write a
    +   * coverage report.
    +   */
    +  public void stop();
    +
    +  /**
    +   * For each class definition loaded from a bundle this method is called. The
    +   * method may return a instrumented version of the class or null, if the
    +   * class should not be modified.
    +   * 
    +   * @param bundleid
    +   *            symbolic name of the bundle
    +   * @param classname
    +   *            full qualified VM class name
    +   * @param bytes
    +   *            original class file bytes
    +   * @return instrumented class file bytes or null
    +   */
    +  public byte[] instrument(String bundleid, String classname, byte[] bytes);
    +
    +  /**
    +   * Class file instrumentation might introduce dependencies on a vendor
    +   * specific runtime library. The list of Java packages returned by this
    +   * method will be made available to the instrumented plug-ins.
    +   * 
    +   * @return comma separated list of Java package names
    +   */
    +  public String getRuntimePackages();
    +
    +}
    +</pre><p>
    +  There are two adapter hook interfaces that we can implement to drive the
    +  coverage analyzer: With the <code>AdaptorHook</code> we get involved with the
    +  framework lifecycle (start/stop), the <code>ClassLoadingHook</code> allows us
    +  to modify raw class files before the classes get defined.
    +</p><pre class="code">
    +public class InstrumentationHook implements AdaptorHook, ClassLoadingHook {
    +
    +  private final ICoverageAnalyzer analyzer;
    +
    +  public InstrumentationHook(ICoverageAnalyzer analyzer) {
    +    this.analyzer = analyzer;
    +  }
    +
    +  public void frameworkStart(BundleContext context) throws BundleException {
    +    analyzer.start();
    +  }
    +  
    +  public void frameworkStop(BundleContext context) throws BundleException {
    +    analyzer.stop();
    +  }
    +  
    +  public byte[] processClass(String name, byte[] classbytes,
    +      ClasspathEntry classpathEntry, BundleEntry entry, ClasspathManager manager) {
    +    return analyzer.instrument(manager.getBaseData().getSymbolicName(), name, classbytes);
    +  }
    +
    +  // ... stubs for remaining interface methods
    +  
    +}
    +</pre><h2>Providing Additional Runtime Classes to Instrumented Bundles</h2><p>
    +  When executing EMMA instrumented Java classes additional runtime classes
    +  are required, basically providing functionality for holding and saving
    +  collected coverage data. These few runtime classes are contained within the
    +  <code>emma.jar</code> library itself. Instrumenting loaded Java classes with
    +  EMMA adds a new runtime dependency that is neither explicitly declared in
    +  OSGi bundles under inspection nor available within to the bundles during a
    +  standard Eclipse launch. As a consequence all instrumented bundles will fail
    +  with a <code>NoClassDefFoundError</code>.
    +</p><p>
    +  To solve this the adapter hooks come into picture again: If the coverage
    +  extension exports the coverage runtime classes, e.g. has the following
    +  manifest header
    +</p><pre>
    +  Export-Package: com.vladium.emma.rt
    +</pre><p>
    +  and each instrumented bundle would have a <code>DynamicImport-Package</code>
    +  declaration for this package everything would work. Of course we don't want to
    +  modify the manifest files of all our bundles under test. After I published the
    +  first version of this paper Thomas Watson pointed me to some internal Equinox
    +  implementation classes that could do the job on-the-fly. For this we populate
    +  another call-back of the <code>ClassLoadingHook</code>:
    +</p><pre class="code">
    +public class InstrumentationHook implements AdaptorHook, ClassLoadingHook {
    +
    +  // ...
    +
    +  public BaseClassLoader createClassLoader(ClassLoader parent,
    +      ClassLoaderDelegate delegate, BundleProtectionDomain domain,
    +      BaseData data, String[] bundleclasspath) {
    +    BundleLoader loader = (BundleLoader) delegate;
    +    try {
    +      loader.<b>addDynamicImportPackage</b>(ManifestElement.parseHeader(
    +        Constants.DYNAMICIMPORT_PACKAGE, analyzer.getRuntimePackages()));
    +    } catch (BundleException be) {
    +      throw new RuntimeException(be);
    +    }
    +    return null;
    +  }
    +
    +}
    +</pre><p>
    +  Making assumptions about implementation details of the OSGi framework
    +  implementation looks like bad coding style. But as an adaptor hooks you're
    +  anyway closely tight to Equinox implementation. And maybe one day Equinox will
    +  offer official APIs to modify bundle headers within adaptor hooks.
    +</p><h2>Running the Code Coverage Framework Extension</h2><p>
    +  So now let's try to get the example provided with this paper running. Make
    +  sure you use at least Eclipse 3.2, the version that introduced adaptor hooks
    +  in Equinox.
    +</p><p>
    +  The Equinox framework extension <code>com.mountainminds.eclemma.osgihook</code>
    +  measures Java code coverage for all bundles of a Equinox based OSGi system,
    +  for example a Eclipse RCP application. If the extension is installed code
    +  coverage data is automatically recorded and written out when the OSGi system
    +  terminates. In the current working directory a folder
    +  <code>coverage-<i>nnn</i></code> will be created and populated with a HTML
    +  report and a <code>*.es</code> file for further analysis (e.g. import into
    +  EclEmma). The framework extension can be used for standalone OSGi instances
    +  as well as for program launches from the Eclipse plug-in development
    +  environment (PDE).
    +</p><h3>Standalone Mode</h3><p>
    +  In case you start your application directly with <code>eclipse.exe</code>
    +  perform these steps to add the code coverage extension:
    +</p><ul>
    +  <li>Get the compiled bundle
    +    <code>com.mountainminds.eclemma.osgihook_2.0.0.v20080311.zip</code> from the
    +    <a href="https://sourceforge.net/projects/eclemma/files/05_Research/Examples/">Sourceforge download page</a>.</li>
    +  <li>Unzip the file in your Eclipse installation root. The expanded bundle
    +    <code>com.mountainminds.eclemma.osgihook_2.0.0.v20080311</code> has to be
    +    located in the <code>plugins</code> folder. This must be the same directory
    +    where the <code>org.eclipse.osgi</code> bundle is located. Using e.g. an
    +    extension site will not work! The <code>com.mountainminds.eclemma.osgihook</code>
    +    must not be jared, as it contains another JAR wich can not be loaded from
    +    a packaged bundles in case of framework extensions.
    +    </li>
    +  <li>Insert the following line into the <code>./configuration/config.ini</code>
    +    file of your Eclipse installation:
    +    <pre>osgi.framework.extensions=com.mountainminds.eclemma.osgihook</pre></li>
    +</ul><h3>PDE Mode</h3><p>
    +  If you want to study or modify the extension bundle you may directly import
    +  it to your PDE workspace and launch a Eclipse application in development mode.
    +  The extension works for any OSGi based launch type, i.e. Eclipse application
    +  OSGi framework and JUnit plug-in test.
    +</p><ul>
    +  <li>Import the latest version of the extension bundle from the SVN repository at
    +    <code>https://eclemma.svn.sourceforge.net/svnroot/eclemma/research/com.mountainminds.eclemma.osgihook</code>.</li>
    +  <li>Due to the fact that Equinox needs any framework extension co-located with
    +    the OSGi framework bundle you need to also import <code>org.eclipse.osgi</code>
    +    into your workspace (from the <i>Plug-Ins</i> view's context menu select
    +    <i>Import As</i> → <i>Source Project</i>).</li>
    +  <li>Take a existing launch configuration or create a new one. Make sure that
    +    the <code>com.mountainminds.eclemma.osgihook</code> and the
    +    <code>org.eclipse.osgi</code> bundle are enabled.</li>
    +  <li>On the <i>Arguments</i> tab insert the following definition in the
    +    <i>VM arguments</i> field:
    +    <pre>-Dosgi.framework.extensions=com.mountainminds.eclemma.osgihook</pre></li>
    +</ul><h2>Advantages and Limitations</h2><p>
    +  The obvious advantage of the technique described here is that code coverage
    +  can be determined for any OSGi bundle respectively Eclipse plug-in without
    +  pre-processing the bundles, i.e. physically modifying them. Using this
    +  technique for test runs in automated build environments makes extra build
    +  targets for instrumented versions of the bundles superfluous. While the
    +  application start-up is slightly delayed due to the required byte code
    +  instrumentation, there is no significant slow-down during execution.
    +</p><p>
    +  Java classes required are instrumented on-the-fly, classes that are not loaded
    +  don't need to be processed. While this looks like an advantage at first glance
    +  it comes with the drawback that there is also no meta information recorded for
    +  these classes. They don't appear on the coverage report; completely untested
    +  classes will not be shown. A simple workaround here would be to collect the
    +  complete meta data "offline" on all involved plug-ins without actually
    +  instrumenting them.
    +</p><h2>Outlook</h2><p>
    +  While the provided example is kept as simple as possible just to demonstrate
    +  the principles, a more evolved version may add additional functionality like
    +  filtering the analyzed bundles. Another interesting topic for investigation
    +  would be how the framework extension can be used in automated build
    +  environments for coverage reports.
    +</p><p>
    +  This adaptor bundle technique would be a great benefit for EclEmma.
    +  <i>In-place</i> instrumentation is no longer required for Eclipse launches.
    +  As a consequence any plug-in (not only the ones in the workspace) could be
    +  analyzed. Anyhow there are some issues for investigation:
    +</p><ul>
    +  <li>Due to limited resources there is a single development branch of
    +    EclEmma only which supports all Eclipse versions from 3.1 on. Adopting
    +    framework extensions would mean to drop Eclipse 3.1 support or create a
    +    second development branch.</li>
    +  <li>Equinox framework extensions must be placed in the same directory than
    +    the OSGi runtime. This requires adding the coverage extension to your
    +    Eclipse installation – a undesirable modification that may also be
    +    restricted by access right. Another option would be to put the extension
    +    along with a copy of <code>org.eclipse.osgi</code> to a third place,
    +    which may interfere with other installed extensions.</li>
    +</ul><h2>References</h2><ul>
    +  <li>
    +    Eclipse Equinox<br />
    +    <a class="extern" href="http://www.eclipse.org/equinox/">http://www.eclipse.org/equinox/</a>
    +  </li>
    +  <li>
    +    wiki.eclipse.org, Adaptor Hooks, 2006<br />
    +    <a class="extern" href="http://wiki.eclipse.org/index.php/Adaptor_Hooks">http://wiki.eclipse.org/index.php/Adaptor_Hooks</a>
    +  </li>
    +  <li>
    +    wiki.eclipse.org, Equinox Boot Delegation, 2006<br />
    +    <a class="extern" href="http://wiki.eclipse.org/index.php/Equinox_Boot_Delegation">http://wiki.eclipse.org/index.php/Equinox_Boot_Delegation</a>
    +  </li>
    +  <li>
    +    OSGi Alliance, OSGi Service Platform Release 4, 2006<br />
    +    <a class="extern" href="http://www.osgi.org/osgi_technology/download_specs.asp?section=2#Release4">http://www.osgi.org/osgi_technology/download_specs.asp?section=2#Release4</a>
    +  </li>
    +  <li>
    +    EMMA - a free Java code coverage tool, Vlad Roubtsov, 2006<br />
    +    <a class="extern" href="http://emma.sourceforge.net/">http://emma.sourceforge.net/</a>
    +  </li>
    +  <li>
    +    EclEmma - Java Code Coverage for Eclipse<br />
    +    <a href="../../index.html">http://www.eclemma.org/</a>
    +  </li>
    +</ul><h2>Resources</h2><ul>
    +  <li>
    +    Compiled bundle <code>com.mountainminds.eclemma.osgihook_2.0.0.v20080311.zip</code><br />
    +    <a class="extern" href="https://sourceforge.net/projects/eclemma/files/05_Research/Examples/">https://sourceforge.net/projects/eclemma/files/05_Research/Examples/</a>
    +  </li>
    +  <li>
    +    SVN URL
    +    (<a class="extern" href="http://eclemma.svn.sourceforge.net/viewvc/eclemma/research/com.mountainminds.eclemma.osgihook/">browse repository</a>)<br />
    +    <a class="extern" href="https://eclemma.svn.sourceforge.net/svnroot/eclemma/research/com.mountainminds.eclemma.osgihook">https://eclemma.svn.sourceforge.net/svnroot/eclemma/research/com.mountainminds.eclemma.osgihook</a></li>
    +  <li>
    +    <i>JaCoCo and EclEmma Users</i> group for any remarks about this paper<br />
    +    <a class="extern" href="https://groups.google.com/d/forum/jacoco">https://groups.google.com/d/forum/jacoco</a>
    +  </li>
    +</ul><h2>Change Log</h2><ul>
    +  <li><b>April 2007:</b> Initial Draft, the example was based on an ugly hack
    +  to inject the code coverage runtime into the instrumented plug-ins. As already
    +  stated in the first version of the paper, this workaround will not work for
    +  proper OSGi runtimes, where the boot class loader is not visible to the
    +  plug-ins. (<a class="extern" href="https://raw.github.com/jacoco/www.eclemma.org/bc0ef99e9e595cb242ee7cb5cbd5f82695981d10/content/research/instrumentingosgi/index.html">first version</a>)</li>
    +  <li><b>March 2008:</b> New version solving the problem stated above with
    +  <code>DynamicImport-Package</code> manifest headers added to the plug-ins
    +  through the adapter hook. This solution was proposed by Thomas Watson,
    +  thanks!</li>
    +</ul>
    +</td></tr>
    +</table>
    +<table cellspacing="0" cellpadding="0" border="0" style="width:100%;">
    +<tr>
    +  <td class="footer"><a href="../../license.html">Copyright</a> © 2006, 2017 Mountainminds GmbH &amp; Co. KG and Contributors</td>
    +  <td class="footer" style="text-align:right;">
    +    Validate
    +    <a href="http://validator.w3.org/check?uri=http://www.eclemma.org/research/instrumentingosgi/index.html">XHTML</a>/<a href="http://jigsaw.w3.org/css-validator/validator?uri=http://www.eclemma.org/research/instrumentingosgi/index.html">CSS</a> ·
    +    Last Modified
    +    <a href="https://github.com/jacoco/www.eclemma.org/blob/1ce487ba21186cba5d9a6195c273ae5557ec6e50/content/research/instrumentingosgi/index.html">2017-03-28</a> in Commit
    +    <a href="https://github.com/jacoco/www.eclemma.org/commit/1ce487ba21186cba5d9a6195c273ae5557ec6e50">1ce487ba</a>
    +  </td>
    +</tr>
    +</table>
    +<script type="text/javascript">
    +  (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
    +  (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
    +  m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
    +  })(window,document,'script','//www.google-analytics.com/analytics.js','ga');
    +  ga('create', 'UA-2034659-1', 'auto');
    +  ga('send', 'pageview');
    +</script>
    +</body>
    +</html>
    \ No newline at end of file
    diff --git a/research/instrumentingosgi/instrumentation.png b/research/instrumentingosgi/instrumentation.png
    new file mode 100644
    index 00000000000..12dd312f72a
    Binary files /dev/null and b/research/instrumentingosgi/instrumentation.png differ
    diff --git a/resources.html b/resources.html
    new file mode 100644
    index 00000000000..173775937b3
    --- /dev/null
    +++ b/resources.html
    @@ -0,0 +1,155 @@
    +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
    +<html xmlns="http://www.w3.org/1999/xhtml" lang="en">
    +<head>
    +  <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
    +  <meta name="date" content="2016-06-11 13:05:51 +0200" />
    +  <link rel="stylesheet" href="book.css" type="text/css" />
    +  <link rel="shortcut icon" href="favicon.ico" type="image/x-icon" />
    +  <title>EclEmma - Resources</title>
    +</head>
    +<body>
    +<table cellspacing="0" cellpadding="0" border="0" style="width:100%;">
    +<tr>
    +  <td style="padding:5px 10px 5px 10px;font-size:16pt;font-weight:bold;color:#000066;background-color:#f7f7f7;border:1px solid #a5b6c6;">
    +    EclEmma <span style="color:#8998a5;">3.1.8</span>
    +  </td>
    +  <td style="padding:5px 10px 5px 10px;font-size:16pt;font-weight:bold;color:#8998a5;border-bottom:1px solid #a5b6c6;">
    +    Java Code Coverage for Eclipse
    +  </td>
    +  <td style="padding:0px 0px 0px 0px;border-bottom:1px solid #a5b6c6;text-align:right">
    +    <a href="https://marketplace.eclipse.org/marketplace-client-intro?mpc_install=264" title="Drag to your running Eclipse workspace to install EclEmma Java Code Coverage">
    +      <img src="https://marketplace.eclipse.org/modules/custom/eclipsefdn/eclipsefdn_marketplace/images/btn-install.svg" alt="Drag to your running Eclipse workspace to install EclEmma Java Code Coverage" style="vertical-align:text-bottom; border:0px solid black" />
    +    </a>
    +  </td>
    +</tr>
    +<tr><td style="vertical-align:top;padding:20px 10px 20px 10px;background-color:#f7f7f7;border-left:1px solid #a5b6c6;border-right:1px solid #a5b6c6;border-bottom:1px solid #a5b6c6;">
    +    <div class="menu" style="background-image:url(images/topic.gif);margin-left:0px;">
    +      <a href="index.html">Overview</a> 
    +    </div>
    +    <div class="menu" style="background-image:url(images/container.gif);margin-left:0px;">
    +      <a href="installation.html">Installation</a> 
    +    </div>
    +    <div class="menu" style="background-image:url(images/container.gif);margin-left:0px;">
    +      <a href="userdoc/index.html">User Guide</a> 
    +    </div>
    +    <div class="menu" style="background-image:url(images/container.gif);margin-left:0px;">
    +      <a href="support.html">Support</a> 
    +    </div>
    +    <div class="menuhi" style="background-image:url(images/topic.gif);margin-left:0px;">
    +      <a href="resources.html">Resources</a> 
    +    </div>
    +    <div class="menu" style="background-image:url(images/container.gif);margin-left:0px;">
    +      <a href="devdoc/index.html">Developer Information</a> 
    +    </div>
    +    <div class="menu" style="background-image:url(images/container.gif);margin-left:0px;">
    +      <a href="research/index.html">Research</a> 
    +    </div>
    +    <div class="menu" style="background-image:url(images/topic.gif);margin-left:0px;">
    +      <a href="jacoco/index.html">JaCoCo</a> 
    +    </div>
    +    <div class="menu" style="background-image:url(images/topic.gif);margin-left:0px;">
    +      <a href="changes.html">Change Log</a> 
    +    </div>
    +    <div class="menu" style="background-image:url(images/topic.gif);margin-left:0px;">
    +      <a href="license.html">License</a> 
    +    </div>
    +    <div class="menu" style="background-image:url(images/topic.gif);margin-left:0px;">
    +      <a href="contact.html">Contact</a> 
    +    </div>
    +  <div class="menu" style="margin-top:15pt;background-image:url(images/extern.gif)">
    +    <a href="https://github.com/jacoco">GitHub Home</a>
    +  </div>
    +  <div style="text-align:center;margin-top:0pt;">
    +    <a href="http://www.eclipse.org/org/press-release/20080318_AwardsWinners.php"><img src="images/award.jpg" width="144" height="120" alt="Eclipse Community Award 2008" style="border:0px solid black" /></a>
    +  </div>
    +  <div style="text-align:center;margin-top:10pt;">
    +    <a href="http://www.jacoco.org/jacoco"><img src="images/jacoco.png" height="62" width="140" alt="JaCoCo" style="border:0px solid black" /></a>
    +  </div>
    +  <div style="text-align:center;margin-top:10pt;">
    +    <a href="http://www.sonarqube.org/"><img src="images/sonarqube.png" height="40" width="140" alt="Inspected with sonarqube" style="border:0px solid black" /></a>
    +  </div>
    +  <div style="text-align:center;margin-top:10pt;padding-top:15px;border-top:1px solid #a0a0a0">
    +    <a href="https://www.mtrail.ch/en/career.html"><img src="images/mtrail.png" width="140" height="200" alt="jobs at mtrail" style="border:0px solid black" /></a>
    +  </div>
    +  <div style="text-align:center;margin-top:10pt">
    +    <a href="http://www.javaspecialists.eu/"><img src="images/tjsn.jpg" width="140" height="140" alt="The Java Specialists' Newsletter" style="border:0px solid black" /></a>
    +  </div>
    +</td><td style="vertical-align:top;padding:0px 0px 5px 20px;width:90%;border-bottom:1px solid #a5b6c6;" colspan="2">
    +<h1 style="clear:left">Resources</h1><h2>Articles About Code Coverage</h2><ul>
    +  <li><a class="extern" href="http://en.wikipedia.org/wiki/Code_coverage">Wikipedia: "Code coverage"</a> -
    +    Starting point with a long list of references and tools.</li>
    +  <li><a class="extern" href="http://www.bullseye.com/coverage.html">Steve Cornett: "Code Coverage Analysis"</a> -
    +    A comprehensive description of different coverage measures.</li>
    +  <li><a class="extern" href="http://www.ibm.com/developerworks/java/library/j-cq01316/">Andrew Glover: "Don't be fooled by the coverage report"</a> -
    +    This article shows some risks when misusing coverage reports in projects.</li>
    +</ul><h2>Other Java Code Coverage Tools for Eclipse</h2><ul>
    +  <li><a class="extern" href="http://www.cenqua.com/clover/">Cenqua: Clover</a> -
    +    A powerful commercial coverage plug-in.</li>
    +  <li><a class="extern" href="http://coverlipse.sourceforge.net/index.php">Coverlipse</a> -
    +    Coverage plug-in available under CPL.</li>
    +</ul><h2>Directories for Eclipse Plug-ins and Java Tools</h2><p>
    +  EclEmma is listed in the following directories along with many other useful
    +  tools and Eclipse plug-ins. The first two sites allow you to tell others your
    +  opinion about EclEmma.
    +</p><ul>
    +  <li><a class="extern" href="http://marketplace.eclipse.org/content/eclemma-java-code-coverage">Eclipse Marketplace</a> -
    +    Comprehensive Eclipse plug-in directory operated by the Eclipse Foundation.</li>
    +  <li><a class="extern" href="http://opensourcetesting.org/unit_java.php#EclEmma">Opensourcetesting.org</a> -
    +    Impressive collection of open source testing tools.</li>
    +  <li><a class="extern" href="http://javatoolbox.com/tools/eclemma">JavaToolbox.com</a> -
    +    Directory by Fabrice Marguerie listing tools, libraries and plug-ins for Java/J2EE development.</li>
    +</ul><h2>Articles About EclEmma</h2><ul>
    +  <li>Tests für die Tests by Marc R. Hoffmann, Eclipse Magazin Vol. 3.2011, 2011/03/25 [de]</li>
    +  <li>EclEmma by Richard Attermeyer, Eclipse Magazin Vol. 2.2010, 2010/01/27 [de]</li>
    +  <li><a class="extern" href="http://agile.csc.ncsu.edu/SEMaterials/tutorials/eclemma/">Test Coverage with EclEmma</a> by Laurie Williams, Ben Smith and Sarah Heckman, <a class="extern" href="http://www.ncsu.edu/">North Carolina State University</a>, 2009/03/30</li>
    +  <li>Testabdeckung mit Open-Source-Tools by Tim Wellhausen, JavaSpektrum, 2008/06/01 [de]</li>
    +  <li>EclEmma by Benjamin Muskalla, Eclipse Magazin Vol. 11, 2007/06/05 [de]</li>
    +  <li><a class="extern" href="http://www.ibm.com/developerworks/cn/java/j-lo-eclemma/index.html">Coverage Test Made Easy with EclEmma</a> by Dr. James Gan, 2007/05/17 [zh]</li>
    +</ul><h2>Blog Entries About EclEmma</h2><ul>
    +  <li><a class="extern" href="http://www.codeaffine.com/2014/04/07/efficient-code-coverage-with-eclipse/">Efficient Code Coverage with Eclipse</a> by Frank Appel, 2014/04/07</li>
    +  <li><a class="extern" href="http://tasktop.com/blog/eclipse/incremental-code-coverage">Incremental code coverage as a debugging tool</a> by Kaitlin Duck Sherwood, 2012/03/12</li>
    +  <li><a class="extern" href="http://blog.camilolopes.com.br/coberturaunitesteclemma/">Cobertura Unit Test com Eclemma</a> by Camilo Lopez, 2011/06/15 [pt]</li>
    +  <li><a class="extern" href="http://blog.eisele.net/2011/04/test-coverage-for-your-enterprise-beans.html">Test Coverage for your Enterprise Beans. Running Eclemma with GlassFish 3.1</a> by Markus Eisele, 2011/04/05</li>
    +  <li><a class="extern" href="http://blog.fabianpiau.com/en/2009/11/11/do-you-need-a-good-cover-for-this-winter-eclemma/">Do you need a good cover for this winter?</a> by Fabian Piau, 2009/11/08</li>
    +  <li><a class="extern" href="http://tratandodeentenderlo.blogspot.com/2009/11/visualizar-la-cobertura-de-los-tests.html">EclEmma: Visualizar la cobertura de los tests unitarios en Eclipse</a> by tratandodeentenderlo, 2009/11/06 [es]</li>
    +  <li><a class="extern" href="http://geek.starbean.net/?p=237">EclEmma</a> by Geek, 2009/04/19</li>
    +  <li><a class="extern" href="http://bartling.blogspot.com/2008/12/eclemma-code-coverage-plugin-for.html">EclEmma, a code coverage plugin for Eclipse</a> by Chris Bartling, 2008/12/05</li>
    +  <li><a class="extern" href="http://codesmell.wordpress.com/2008/10/22/keep-cover/">Keep Cover!</a> by Uwe Schaefer, 2008/10/22</li>
    +  <li><a class="extern" href="http://shyamseshadri.blogspot.com/2008/07/of-emmas-and-eclipses.html">Of EMMA's and Eclipse's</a> by Shyam Seshadri, 2008/07/20</li>
    +  <li><a class="extern" href="http://zipwow.blogspot.com/2008/01/code-coverage-for-eclipse-redeux.html">Code Coverage for Eclipse redeux: EclEmma</a> by Kevin Klinemeier, 2008/01/08</li>
    +  <li><a class="extern" href="http://www.curiousattemptbunny.com/2007/11/great-code-coverage-plugin-for-eclipse.html">Great Code Coverage Plugin for Eclipse</a> by Merlyn Albery-Speyer, 2007/11/04</li>
    +  <li><a class="extern" href="http://dirkmeister.blogspot.com/2007/05/eclipse-emma-plugin-eclemma.html">Eclipse-Emma-Plugin: EclEmma</a> by Dirk Meister, 2007/05/17 [de]</li>
    +  <li><a class="extern" href="http://tapestryjava.blogspot.com/2007/05/free-and-excellent-code-coverage-for.html">Free and Excellent Code Coverage for Eclipse</a> by Howard Lewis Ship, 2007/05/16</li>
    +  <li><a class="extern" href="http://brigomp.blogspot.com/2007/02/eclemma-de-lo-mejor-en-cuanto-cobertura.html">EclEmma, de lo mejor en cuanto a cobertura de código</a> by Martin Perez, 2007/02/28 [es]</li>
    +  <li><a class="extern" href="http://furiouspurpose.blogspot.com/2007/02/eclipse-code-coverage-with-eclemma.html">Eclipse Code Coverage with EclEmma</a> by Geoffrey Wiseman, 2007/02/19</li>
    +  <li><a class="extern" href="http://bobmccune.com/2006/11/22/eclemma/">EclEmma</a> by Bob McCune, 2006/11/22</li>
    +  <li><a class="extern" href="http://www.venukb.com/blog/2006/11/22/eclemma-java-code-coverage/">EclEmma - Java Code Coverage</a> by Venukb, 2006/11/22</li>
    +  <li><a class="extern" href="http://jroller.com/page/aalmiray?entry=code_coverage_on_eclipse_eclemma">Code coverage on Eclipse: EclEmma</a> by Andres Almiray, 2006/11/14</li>
    +</ul><p>
    +  Search for <a class="extern" href="http://www.google.com/blogsearch?q=eclemma&amp;ie=UTF-8&amp;scoring=d">latest blogs</a>
    +  about EclEmma at <a class="extern" href="http://www.google.com/">Google</a>.
    +</p>
    +</td></tr>
    +</table>
    +<table cellspacing="0" cellpadding="0" border="0" style="width:100%;">
    +<tr>
    +  <td class="footer"><a href="license.html">Copyright</a> © 2006, 2017 Mountainminds GmbH &amp; Co. KG and Contributors</td>
    +  <td class="footer" style="text-align:right;">
    +    Validate
    +    <a href="http://validator.w3.org/check?uri=http://www.eclemma.org/resources.html">XHTML</a>/<a href="http://jigsaw.w3.org/css-validator/validator?uri=http://www.eclemma.org/resources.html">CSS</a> ·
    +    Last Modified
    +    <a href="https://github.com/jacoco/www.eclemma.org/blob/db3258553c02cf254e9e305b14e94dfe9dd01b8d/content/resources.html">2016-06-11</a> in Commit
    +    <a href="https://github.com/jacoco/www.eclemma.org/commit/db3258553c02cf254e9e305b14e94dfe9dd01b8d">db325855</a>
    +  </td>
    +</tr>
    +</table>
    +<script type="text/javascript">
    +  (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
    +  (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
    +  m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
    +  })(window,document,'script','//www.google-analytics.com/analytics.js','ga');
    +  ga('create', 'UA-2034659-1', 'auto');
    +  ga('send', 'pageview');
    +</script>
    +</body>
    +</html>
    \ No newline at end of file
    diff --git a/support.html b/support.html
    new file mode 100644
    index 00000000000..59a94c496df
    --- /dev/null
    +++ b/support.html
    @@ -0,0 +1,133 @@
    +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
    +<html xmlns="http://www.w3.org/1999/xhtml" lang="en">
    +<head>
    +  <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
    +  <meta name="date" content="2021-09-20 11:55:48 +0200" />
    +  <link rel="stylesheet" href="book.css" type="text/css" />
    +  <link rel="shortcut icon" href="favicon.ico" type="image/x-icon" />
    +  <title>EclEmma - Support</title>
    +</head>
    +<body>
    +<table cellspacing="0" cellpadding="0" border="0" style="width:100%;">
    +<tr>
    +  <td style="padding:5px 10px 5px 10px;font-size:16pt;font-weight:bold;color:#000066;background-color:#f7f7f7;border:1px solid #a5b6c6;">
    +    EclEmma <span style="color:#8998a5;">3.1.8</span>
    +  </td>
    +  <td style="padding:5px 10px 5px 10px;font-size:16pt;font-weight:bold;color:#8998a5;border-bottom:1px solid #a5b6c6;">
    +    Java Code Coverage for Eclipse
    +  </td>
    +  <td style="padding:0px 0px 0px 0px;border-bottom:1px solid #a5b6c6;text-align:right">
    +    <a href="https://marketplace.eclipse.org/marketplace-client-intro?mpc_install=264" title="Drag to your running Eclipse workspace to install EclEmma Java Code Coverage">
    +      <img src="https://marketplace.eclipse.org/modules/custom/eclipsefdn/eclipsefdn_marketplace/images/btn-install.svg" alt="Drag to your running Eclipse workspace to install EclEmma Java Code Coverage" style="vertical-align:text-bottom; border:0px solid black" />
    +    </a>
    +  </td>
    +</tr>
    +<tr><td style="vertical-align:top;padding:20px 10px 20px 10px;background-color:#f7f7f7;border-left:1px solid #a5b6c6;border-right:1px solid #a5b6c6;border-bottom:1px solid #a5b6c6;">
    +    <div class="menu" style="background-image:url(images/topic.gif);margin-left:0px;">
    +      <a href="index.html">Overview</a> 
    +    </div>
    +    <div class="menu" style="background-image:url(images/container.gif);margin-left:0px;">
    +      <a href="installation.html">Installation</a> 
    +    </div>
    +    <div class="menu" style="background-image:url(images/container.gif);margin-left:0px;">
    +      <a href="userdoc/index.html">User Guide</a> 
    +    </div>
    +    <div class="menuhi" style="background-image:url(images/container.gif);margin-left:0px;">
    +      <a href="support.html">Support</a> 
    +    </div>
    +    <div class="menu" style="background-image:url(images/topic.gif);margin-left:16px;">
    +      <a href="faq.html">Frequently Asked Questions</a> 
    +    </div>
    +    <div class="menu" style="background-image:url(images/topic.gif);margin-left:0px;">
    +      <a href="resources.html">Resources</a> 
    +    </div>
    +    <div class="menu" style="background-image:url(images/container.gif);margin-left:0px;">
    +      <a href="devdoc/index.html">Developer Information</a> 
    +    </div>
    +    <div class="menu" style="background-image:url(images/container.gif);margin-left:0px;">
    +      <a href="research/index.html">Research</a> 
    +    </div>
    +    <div class="menu" style="background-image:url(images/topic.gif);margin-left:0px;">
    +      <a href="jacoco/index.html">JaCoCo</a> 
    +    </div>
    +    <div class="menu" style="background-image:url(images/topic.gif);margin-left:0px;">
    +      <a href="changes.html">Change Log</a> 
    +    </div>
    +    <div class="menu" style="background-image:url(images/topic.gif);margin-left:0px;">
    +      <a href="license.html">License</a> 
    +    </div>
    +    <div class="menu" style="background-image:url(images/topic.gif);margin-left:0px;">
    +      <a href="contact.html">Contact</a> 
    +    </div>
    +  <div class="menu" style="margin-top:15pt;background-image:url(images/extern.gif)">
    +    <a href="https://github.com/jacoco">GitHub Home</a>
    +  </div>
    +  <div style="text-align:center;margin-top:0pt;">
    +    <a href="http://www.eclipse.org/org/press-release/20080318_AwardsWinners.php"><img src="images/award.jpg" width="144" height="120" alt="Eclipse Community Award 2008" style="border:0px solid black" /></a>
    +  </div>
    +  <div style="text-align:center;margin-top:10pt;">
    +    <a href="http://www.jacoco.org/jacoco"><img src="images/jacoco.png" height="62" width="140" alt="JaCoCo" style="border:0px solid black" /></a>
    +  </div>
    +  <div style="text-align:center;margin-top:10pt;">
    +    <a href="http://www.sonarqube.org/"><img src="images/sonarqube.png" height="40" width="140" alt="Inspected with sonarqube" style="border:0px solid black" /></a>
    +  </div>
    +  <div style="text-align:center;margin-top:10pt;padding-top:15px;border-top:1px solid #a0a0a0">
    +    <a href="https://www.mtrail.ch/en/career.html"><img src="images/mtrail.png" width="140" height="200" alt="jobs at mtrail" style="border:0px solid black" /></a>
    +  </div>
    +  <div style="text-align:center;margin-top:10pt">
    +    <a href="http://www.javaspecialists.eu/"><img src="images/tjsn.jpg" width="140" height="140" alt="The Java Specialists' Newsletter" style="border:0px solid black" /></a>
    +  </div>
    +</td><td style="vertical-align:top;padding:0px 0px 5px 20px;width:90%;border-bottom:1px solid #a5b6c6;" colspan="2">
    +<h1>Support</h1><p>
    +  There are several support facilities for the EclEmma code coverage plug-in.
    +  For fast and efficient trouble shooting please check them in the following
    +  sequence:
    +</p><h2>User Documentation</h2><p>
    +  The EclEmma plug-ins ship with online help, see chapter
    +  <i>EclEmma Java Code Coverage</i> in the Eclipse help system after you
    +  installed EclEmma. The latest user documentation is also available
    +  <a href="userdoc/index.html">online</a>.
    +</p><h2>Frequently Asked Questions</h2><p>
    +  A <a href="faq.html">frequently asked questions</a> catalogue has been
    +  compiled from the help forum.
    +</p><h2>Getting Help</h2><p>
    +  If the provided <a href="userdoc/index.html">documentation</a> and
    +  <a href="faq.html">FAQ</a> does not answer your specific question the
    +  <a class="extern" href="https://groups.google.com/d/forum/jacoco">JaCoCo and
    +  EclEmma Users</a> group is the place to ask.
    +</p><h2>Bug Report or Feature Request</h2><p>
    +  Always make sure you have installed <a href="installation.html">the latest
    +  version</a>. If you encountered a bug in the latest EclEmma version please
    +  report it to the
    +  <a class="extern" href="https://bugs.eclipse.org/bugs/enter_bug.cgi?product=Eclemma">
    +  Eclipse issue tracker</a>.
    +</p><p>
    +  <b>The quality of EclEmma strongly depends on your feedback!</b> Please get in
    +  contact if you encounter a problem with EclEmma that has not been reported
    +  before or you miss functionality that is not yet on the feature request list.
    +  Thanks.
    +</p>
    +</td></tr>
    +</table>
    +<table cellspacing="0" cellpadding="0" border="0" style="width:100%;">
    +<tr>
    +  <td class="footer"><a href="license.html">Copyright</a> © 2006, 2017 Mountainminds GmbH &amp; Co. KG and Contributors</td>
    +  <td class="footer" style="text-align:right;">
    +    Validate
    +    <a href="http://validator.w3.org/check?uri=http://www.eclemma.org/support.html">XHTML</a>/<a href="http://jigsaw.w3.org/css-validator/validator?uri=http://www.eclemma.org/support.html">CSS</a> ·
    +    Last Modified
    +    <a href="https://github.com/jacoco/www.eclemma.org/blob/881631e986176776b012af225e52b87da5f778bc/content/support.html">2021-09-20</a> in Commit
    +    <a href="https://github.com/jacoco/www.eclemma.org/commit/881631e986176776b012af225e52b87da5f778bc">881631e9</a>
    +  </td>
    +</tr>
    +</table>
    +<script type="text/javascript">
    +  (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
    +  (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
    +  m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
    +  })(window,document,'script','//www.google-analytics.com/analytics.js','ga');
    +  ga('create', 'UA-2034659-1', 'auto');
    +  ga('send', 'pageview');
    +</script>
    +</body>
    +</html>
    \ No newline at end of file
    diff --git a/userdoc/annotations.html b/userdoc/annotations.html
    new file mode 100644
    index 00000000000..152adf1a8f4
    --- /dev/null
    +++ b/userdoc/annotations.html
    @@ -0,0 +1,169 @@
    +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
    +<html xmlns="http://www.w3.org/1999/xhtml" lang="en">
    +<head>
    +  <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
    +  <meta name="date" content="2017-06-14 00:42:52 +0200" />
    +  <link rel="stylesheet" href="../book.css" type="text/css" />
    +  <link rel="shortcut icon" href="../favicon.ico" type="image/x-icon" />
    +  <title>EclEmma - Source Code Annotation</title>
    +</head>
    +<body>
    +<table cellspacing="0" cellpadding="0" border="0" style="width:100%;">
    +<tr>
    +  <td style="padding:5px 10px 5px 10px;font-size:16pt;font-weight:bold;color:#000066;background-color:#f7f7f7;border:1px solid #a5b6c6;">
    +    EclEmma <span style="color:#8998a5;">3.1.8</span>
    +  </td>
    +  <td style="padding:5px 10px 5px 10px;font-size:16pt;font-weight:bold;color:#8998a5;border-bottom:1px solid #a5b6c6;">
    +    Java Code Coverage for Eclipse
    +  </td>
    +  <td style="padding:0px 0px 0px 0px;border-bottom:1px solid #a5b6c6;text-align:right">
    +    <a href="https://marketplace.eclipse.org/marketplace-client-intro?mpc_install=264" title="Drag to your running Eclipse workspace to install EclEmma Java Code Coverage">
    +      <img src="https://marketplace.eclipse.org/modules/custom/eclipsefdn/eclipsefdn_marketplace/images/btn-install.svg" alt="Drag to your running Eclipse workspace to install EclEmma Java Code Coverage" style="vertical-align:text-bottom; border:0px solid black" />
    +    </a>
    +  </td>
    +</tr>
    +<tr><td style="vertical-align:top;padding:20px 10px 20px 10px;background-color:#f7f7f7;border-left:1px solid #a5b6c6;border-right:1px solid #a5b6c6;border-bottom:1px solid #a5b6c6;">
    +    <div class="menu" style="background-image:url(../images/topic.gif);margin-left:0px;">
    +      <a href="../index.html">Overview</a> 
    +    </div>
    +    <div class="menu" style="background-image:url(../images/container.gif);margin-left:0px;">
    +      <a href="../installation.html">Installation</a> 
    +    </div>
    +    <div class="menu" style="background-image:url(../images/container.gif);margin-left:0px;">
    +      <a href="index.html">User Guide</a> 
    +    </div>
    +    <div class="menu" style="background-image:url(../images/topic.gif);margin-left:16px;">
    +      <a href="launching.html">Launching in Coverage Mode</a> 
    +    </div>
    +    <div class="menu" style="background-image:url(../images/topic.gif);margin-left:16px;">
    +      <a href="coverageview.html">Using the Coverage View</a> 
    +    </div>
    +    <div class="menuhi" style="background-image:url(../images/topic.gif);margin-left:16px;">
    +      <a href="annotations.html">Source Code Annotations</a> 
    +    </div>
    +    <div class="menu" style="background-image:url(../images/topic.gif);margin-left:16px;">
    +      <a href="coverageproperties.html">Coverage Properties</a> 
    +    </div>
    +    <div class="menu" style="background-image:url(../images/topic.gif);margin-left:16px;">
    +      <a href="decorators.html">Decorators</a> 
    +    </div>
    +    <div class="menu" style="background-image:url(../images/topic.gif);margin-left:16px;">
    +      <a href="sessions.html">Managing Coverage Sessions</a> 
    +    </div>
    +    <div class="menu" style="background-image:url(../images/topic.gif);margin-left:16px;">
    +      <a href="importexport.html">Session Import and Export</a> 
    +    </div>
    +    <div class="menu" style="background-image:url(../images/topic.gif);margin-left:16px;">
    +      <a href="keyboard.html">Keyboard Usage</a> 
    +    </div>
    +    <div class="menu" style="background-image:url(../images/topic.gif);margin-left:16px;">
    +      <a href="preferences.html">Preferences</a> 
    +    </div>
    +    <div class="menu" style="background-image:url(../images/container.gif);margin-left:0px;">
    +      <a href="../support.html">Support</a> 
    +    </div>
    +    <div class="menu" style="background-image:url(../images/topic.gif);margin-left:0px;">
    +      <a href="../resources.html">Resources</a> 
    +    </div>
    +    <div class="menu" style="background-image:url(../images/container.gif);margin-left:0px;">
    +      <a href="../devdoc/index.html">Developer Information</a> 
    +    </div>
    +    <div class="menu" style="background-image:url(../images/container.gif);margin-left:0px;">
    +      <a href="../research/index.html">Research</a> 
    +    </div>
    +    <div class="menu" style="background-image:url(../images/topic.gif);margin-left:0px;">
    +      <a href="../jacoco/index.html">JaCoCo</a> 
    +    </div>
    +    <div class="menu" style="background-image:url(../images/topic.gif);margin-left:0px;">
    +      <a href="../changes.html">Change Log</a> 
    +    </div>
    +    <div class="menu" style="background-image:url(../images/topic.gif);margin-left:0px;">
    +      <a href="../license.html">License</a> 
    +    </div>
    +    <div class="menu" style="background-image:url(../images/topic.gif);margin-left:0px;">
    +      <a href="../contact.html">Contact</a> 
    +    </div>
    +  <div class="menu" style="margin-top:15pt;background-image:url(../images/extern.gif)">
    +    <a href="https://github.com/jacoco">GitHub Home</a>
    +  </div>
    +  <div style="text-align:center;margin-top:0pt;">
    +    <a href="http://www.eclipse.org/org/press-release/20080318_AwardsWinners.php"><img src="../images/award.jpg" width="144" height="120" alt="Eclipse Community Award 2008" style="border:0px solid black" /></a>
    +  </div>
    +  <div style="text-align:center;margin-top:10pt;">
    +    <a href="http://www.jacoco.org/jacoco"><img src="../images/jacoco.png" height="62" width="140" alt="JaCoCo" style="border:0px solid black" /></a>
    +  </div>
    +  <div style="text-align:center;margin-top:10pt;">
    +    <a href="http://www.sonarqube.org/"><img src="../images/sonarqube.png" height="40" width="140" alt="Inspected with sonarqube" style="border:0px solid black" /></a>
    +  </div>
    +  <div style="text-align:center;margin-top:10pt;padding-top:15px;border-top:1px solid #a0a0a0">
    +    <a href="https://www.mtrail.ch/en/career.html"><img src="../images/mtrail.png" width="140" height="200" alt="jobs at mtrail" style="border:0px solid black" /></a>
    +  </div>
    +  <div style="text-align:center;margin-top:10pt">
    +    <a href="http://www.javaspecialists.eu/"><img src="../images/tjsn.jpg" width="140" height="140" alt="The Java Specialists' Newsletter" style="border:0px solid black" /></a>
    +  </div>
    +</td><td style="vertical-align:top;padding:0px 0px 5px 20px;width:90%;border-bottom:1px solid #a5b6c6;" colspan="2">
    +<h2>Source Code Annotation</h2><p>
    +  Line coverage and branch coverage of the active coverage
    +  <a href="sessions.html">session</a> is also directly displayed in the Java
    +  source editors. This works for Java source files contained in the project as
    +  well as source code attached to binary libraries.
    +</p><p>
    +  <img src="images/annotations.png" alt="Annotations" />
    +</p><p>
    +  Source lines containing executable code get the following color code:
    +</p><ul>
    +  <li>green for fully covered lines,</li>
    +  <li>yellow for partly covered lines (some instructions or branches missed) and</li>
    +  <li>red for lines that have not been executed at all.</li>
    +</ul><p>
    +  In addition colored diamonds are shown at the left for lines containing
    +  decision branches. The colors for the diamonds have a similar semantic
    +  than the line highlighting colors:
    +</p><ul>
    +  <li>green for fully covered branches,</li>
    +  <li>yellow for partly covered branches and</li>
    +  <li>red when no branches in the particular line have been executed.</li>
    +</ul><p>
    +  These default colors can be modified in the <i>Preferences</i> dialog
    +  (see next section). The source annotations automatically disappear when you
    +  start editing a source file or delete the coverage session.
    +</p><h3>Highlighting Preferences</h3><p>
    +  The Eclipse <a href="preferences.html">preferences</a> section
    +  <i>General → Appearance → Editors → Text Editors → Annotations</i>
    +  allows to modify the visual representation of coverage highlighting. The
    +  corresponding entries are:
    +</p><ul>
    +  <li>Full Coverage</li>
    +  <li>Partial Coverage</li>
    +  <li>No Coverage</li>
    +</ul><h3>Remarks about Line Coverage</h3><p>
    +  In some situations it is not obvious, why particular lines do have highlighting
    +  or have a particular color. The reason is that the underlying code coverage
    +  library JaCoCo works on Java class files only. In some cases the Java compiler
    +  creates extra byte code for a particular line of source code. Such situations
    +  might be filtered by future versions of JaCoCo and EclEmma.
    +</p>
    +</td></tr>
    +</table>
    +<table cellspacing="0" cellpadding="0" border="0" style="width:100%;">
    +<tr>
    +  <td class="footer"><a href="../license.html">Copyright</a> © 2006, 2017 Mountainminds GmbH &amp; Co. KG and Contributors</td>
    +  <td class="footer" style="text-align:right;">
    +    Validate
    +    <a href="http://validator.w3.org/check?uri=http://www.eclemma.org/userdoc/annotations.html">XHTML</a>/<a href="http://jigsaw.w3.org/css-validator/validator?uri=http://www.eclemma.org/userdoc/annotations.html">CSS</a> ·
    +    Last Modified
    +    <a href="https://github.com/jacoco/eclemma/blob/6bec4798151989ffe935c6c9a65f4bbbb6aeec5f/org.eclipse.eclemma.doc/pages/annotations.html">2017-06-14</a> in Commit
    +    <a href="https://github.com/jacoco/eclemma/commit/6bec4798151989ffe935c6c9a65f4bbbb6aeec5f">6bec4798</a>
    +  </td>
    +</tr>
    +</table>
    +<script type="text/javascript">
    +  (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
    +  (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
    +  m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
    +  })(window,document,'script','//www.google-analytics.com/analytics.js','ga');
    +  ga('create', 'UA-2034659-1', 'auto');
    +  ga('send', 'pageview');
    +</script>
    +</body>
    +</html>
    \ No newline at end of file
    diff --git a/userdoc/coverageproperties.html b/userdoc/coverageproperties.html
    new file mode 100644
    index 00000000000..c011088546a
    --- /dev/null
    +++ b/userdoc/coverageproperties.html
    @@ -0,0 +1,140 @@
    +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
    +<html xmlns="http://www.w3.org/1999/xhtml" lang="en">
    +<head>
    +  <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
    +  <meta name="date" content="2016-08-30 20:01:19 +0200" />
    +  <link rel="stylesheet" href="../book.css" type="text/css" />
    +  <link rel="shortcut icon" href="../favicon.ico" type="image/x-icon" />
    +  <title>EclEmma - Coverage Properties</title>
    +</head>
    +<body>
    +<table cellspacing="0" cellpadding="0" border="0" style="width:100%;">
    +<tr>
    +  <td style="padding:5px 10px 5px 10px;font-size:16pt;font-weight:bold;color:#000066;background-color:#f7f7f7;border:1px solid #a5b6c6;">
    +    EclEmma <span style="color:#8998a5;">3.1.8</span>
    +  </td>
    +  <td style="padding:5px 10px 5px 10px;font-size:16pt;font-weight:bold;color:#8998a5;border-bottom:1px solid #a5b6c6;">
    +    Java Code Coverage for Eclipse
    +  </td>
    +  <td style="padding:0px 0px 0px 0px;border-bottom:1px solid #a5b6c6;text-align:right">
    +    <a href="https://marketplace.eclipse.org/marketplace-client-intro?mpc_install=264" title="Drag to your running Eclipse workspace to install EclEmma Java Code Coverage">
    +      <img src="https://marketplace.eclipse.org/modules/custom/eclipsefdn/eclipsefdn_marketplace/images/btn-install.svg" alt="Drag to your running Eclipse workspace to install EclEmma Java Code Coverage" style="vertical-align:text-bottom; border:0px solid black" />
    +    </a>
    +  </td>
    +</tr>
    +<tr><td style="vertical-align:top;padding:20px 10px 20px 10px;background-color:#f7f7f7;border-left:1px solid #a5b6c6;border-right:1px solid #a5b6c6;border-bottom:1px solid #a5b6c6;">
    +    <div class="menu" style="background-image:url(../images/topic.gif);margin-left:0px;">
    +      <a href="../index.html">Overview</a> 
    +    </div>
    +    <div class="menu" style="background-image:url(../images/container.gif);margin-left:0px;">
    +      <a href="../installation.html">Installation</a> 
    +    </div>
    +    <div class="menu" style="background-image:url(../images/container.gif);margin-left:0px;">
    +      <a href="index.html">User Guide</a> 
    +    </div>
    +    <div class="menu" style="background-image:url(../images/topic.gif);margin-left:16px;">
    +      <a href="launching.html">Launching in Coverage Mode</a> 
    +    </div>
    +    <div class="menu" style="background-image:url(../images/topic.gif);margin-left:16px;">
    +      <a href="coverageview.html">Using the Coverage View</a> 
    +    </div>
    +    <div class="menu" style="background-image:url(../images/topic.gif);margin-left:16px;">
    +      <a href="annotations.html">Source Code Annotations</a> 
    +    </div>
    +    <div class="menuhi" style="background-image:url(../images/topic.gif);margin-left:16px;">
    +      <a href="coverageproperties.html">Coverage Properties</a> 
    +    </div>
    +    <div class="menu" style="background-image:url(../images/topic.gif);margin-left:16px;">
    +      <a href="decorators.html">Decorators</a> 
    +    </div>
    +    <div class="menu" style="background-image:url(../images/topic.gif);margin-left:16px;">
    +      <a href="sessions.html">Managing Coverage Sessions</a> 
    +    </div>
    +    <div class="menu" style="background-image:url(../images/topic.gif);margin-left:16px;">
    +      <a href="importexport.html">Session Import and Export</a> 
    +    </div>
    +    <div class="menu" style="background-image:url(../images/topic.gif);margin-left:16px;">
    +      <a href="keyboard.html">Keyboard Usage</a> 
    +    </div>
    +    <div class="menu" style="background-image:url(../images/topic.gif);margin-left:16px;">
    +      <a href="preferences.html">Preferences</a> 
    +    </div>
    +    <div class="menu" style="background-image:url(../images/container.gif);margin-left:0px;">
    +      <a href="../support.html">Support</a> 
    +    </div>
    +    <div class="menu" style="background-image:url(../images/topic.gif);margin-left:0px;">
    +      <a href="../resources.html">Resources</a> 
    +    </div>
    +    <div class="menu" style="background-image:url(../images/container.gif);margin-left:0px;">
    +      <a href="../devdoc/index.html">Developer Information</a> 
    +    </div>
    +    <div class="menu" style="background-image:url(../images/container.gif);margin-left:0px;">
    +      <a href="../research/index.html">Research</a> 
    +    </div>
    +    <div class="menu" style="background-image:url(../images/topic.gif);margin-left:0px;">
    +      <a href="../jacoco/index.html">JaCoCo</a> 
    +    </div>
    +    <div class="menu" style="background-image:url(../images/topic.gif);margin-left:0px;">
    +      <a href="../changes.html">Change Log</a> 
    +    </div>
    +    <div class="menu" style="background-image:url(../images/topic.gif);margin-left:0px;">
    +      <a href="../license.html">License</a> 
    +    </div>
    +    <div class="menu" style="background-image:url(../images/topic.gif);margin-left:0px;">
    +      <a href="../contact.html">Contact</a> 
    +    </div>
    +  <div class="menu" style="margin-top:15pt;background-image:url(../images/extern.gif)">
    +    <a href="https://github.com/jacoco">GitHub Home</a>
    +  </div>
    +  <div style="text-align:center;margin-top:0pt;">
    +    <a href="http://www.eclipse.org/org/press-release/20080318_AwardsWinners.php"><img src="../images/award.jpg" width="144" height="120" alt="Eclipse Community Award 2008" style="border:0px solid black" /></a>
    +  </div>
    +  <div style="text-align:center;margin-top:10pt;">
    +    <a href="http://www.jacoco.org/jacoco"><img src="../images/jacoco.png" height="62" width="140" alt="JaCoCo" style="border:0px solid black" /></a>
    +  </div>
    +  <div style="text-align:center;margin-top:10pt;">
    +    <a href="http://www.sonarqube.org/"><img src="../images/sonarqube.png" height="40" width="140" alt="Inspected with sonarqube" style="border:0px solid black" /></a>
    +  </div>
    +  <div style="text-align:center;margin-top:10pt;padding-top:15px;border-top:1px solid #a0a0a0">
    +    <a href="https://www.mtrail.ch/en/career.html"><img src="../images/mtrail.png" width="140" height="200" alt="jobs at mtrail" style="border:0px solid black" /></a>
    +  </div>
    +  <div style="text-align:center;margin-top:10pt">
    +    <a href="http://www.javaspecialists.eu/"><img src="../images/tjsn.jpg" width="140" height="140" alt="The Java Specialists' Newsletter" style="border:0px solid black" /></a>
    +  </div>
    +</td><td style="vertical-align:top;padding:0px 0px 5px 20px;width:90%;border-bottom:1px solid #a5b6c6;" colspan="2">
    +<h2>Coverage Properties</h2><p>
    +  For each Java element (Java project, source folder, package, type or method)
    +  EclEmma provides a <i>Coverage</i> property page summarizing all coverage
    +  counters:
    +</p><p>
    +  <img src="images/coverageproperties.png" alt="Coverage Properties" />
    +</p><p>
    +  The <i>Properties</i> dialog can be activated from the context menu of for
    +  example the <i>Package Explorer</i> or <i>Coverage</i> view. The figures are
    +  only available if there is a active <a href="sessions.html">coverage
    +  session</a>, e.g. after a <a href="launching.html">coverage launch</a>.
    +</p>
    +</td></tr>
    +</table>
    +<table cellspacing="0" cellpadding="0" border="0" style="width:100%;">
    +<tr>
    +  <td class="footer"><a href="../license.html">Copyright</a> © 2006, 2017 Mountainminds GmbH &amp; Co. KG and Contributors</td>
    +  <td class="footer" style="text-align:right;">
    +    Validate
    +    <a href="http://validator.w3.org/check?uri=http://www.eclemma.org/userdoc/coverageproperties.html">XHTML</a>/<a href="http://jigsaw.w3.org/css-validator/validator?uri=http://www.eclemma.org/userdoc/coverageproperties.html">CSS</a> ·
    +    Last Modified
    +    <a href="https://github.com/jacoco/eclemma/blob/b21b8b75f4dee2391b0a1e5da0a6dc1d837aed05/org.eclipse.eclemma.doc/pages/coverageproperties.html">2016-08-30</a> in Commit
    +    <a href="https://github.com/jacoco/eclemma/commit/b21b8b75f4dee2391b0a1e5da0a6dc1d837aed05">b21b8b75</a>
    +  </td>
    +</tr>
    +</table>
    +<script type="text/javascript">
    +  (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
    +  (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
    +  m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
    +  })(window,document,'script','//www.google-analytics.com/analytics.js','ga');
    +  ga('create', 'UA-2034659-1', 'auto');
    +  ga('send', 'pageview');
    +</script>
    +</body>
    +</html>
    \ No newline at end of file
    diff --git a/userdoc/coverageview.html b/userdoc/coverageview.html
    new file mode 100644
    index 00000000000..4e192dee05e
    --- /dev/null
    +++ b/userdoc/coverageview.html
    @@ -0,0 +1,197 @@
    +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
    +<html xmlns="http://www.w3.org/1999/xhtml" lang="en">
    +<head>
    +  <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
    +  <meta name="date" content="2017-06-13 22:24:59 +0200" />
    +  <link rel="stylesheet" href="../book.css" type="text/css" />
    +  <link rel="shortcut icon" href="../favicon.ico" type="image/x-icon" />
    +  <title>EclEmma - Using the Coverage View</title>
    +</head>
    +<body>
    +<table cellspacing="0" cellpadding="0" border="0" style="width:100%;">
    +<tr>
    +  <td style="padding:5px 10px 5px 10px;font-size:16pt;font-weight:bold;color:#000066;background-color:#f7f7f7;border:1px solid #a5b6c6;">
    +    EclEmma <span style="color:#8998a5;">3.1.8</span>
    +  </td>
    +  <td style="padding:5px 10px 5px 10px;font-size:16pt;font-weight:bold;color:#8998a5;border-bottom:1px solid #a5b6c6;">
    +    Java Code Coverage for Eclipse
    +  </td>
    +  <td style="padding:0px 0px 0px 0px;border-bottom:1px solid #a5b6c6;text-align:right">
    +    <a href="https://marketplace.eclipse.org/marketplace-client-intro?mpc_install=264" title="Drag to your running Eclipse workspace to install EclEmma Java Code Coverage">
    +      <img src="https://marketplace.eclipse.org/modules/custom/eclipsefdn/eclipsefdn_marketplace/images/btn-install.svg" alt="Drag to your running Eclipse workspace to install EclEmma Java Code Coverage" style="vertical-align:text-bottom; border:0px solid black" />
    +    </a>
    +  </td>
    +</tr>
    +<tr><td style="vertical-align:top;padding:20px 10px 20px 10px;background-color:#f7f7f7;border-left:1px solid #a5b6c6;border-right:1px solid #a5b6c6;border-bottom:1px solid #a5b6c6;">
    +    <div class="menu" style="background-image:url(../images/topic.gif);margin-left:0px;">
    +      <a href="../index.html">Overview</a> 
    +    </div>
    +    <div class="menu" style="background-image:url(../images/container.gif);margin-left:0px;">
    +      <a href="../installation.html">Installation</a> 
    +    </div>
    +    <div class="menu" style="background-image:url(../images/container.gif);margin-left:0px;">
    +      <a href="index.html">User Guide</a> 
    +    </div>
    +    <div class="menu" style="background-image:url(../images/topic.gif);margin-left:16px;">
    +      <a href="launching.html">Launching in Coverage Mode</a> 
    +    </div>
    +    <div class="menuhi" style="background-image:url(../images/topic.gif);margin-left:16px;">
    +      <a href="coverageview.html">Using the Coverage View</a> 
    +    </div>
    +    <div class="menu" style="background-image:url(../images/topic.gif);margin-left:16px;">
    +      <a href="annotations.html">Source Code Annotations</a> 
    +    </div>
    +    <div class="menu" style="background-image:url(../images/topic.gif);margin-left:16px;">
    +      <a href="coverageproperties.html">Coverage Properties</a> 
    +    </div>
    +    <div class="menu" style="background-image:url(../images/topic.gif);margin-left:16px;">
    +      <a href="decorators.html">Decorators</a> 
    +    </div>
    +    <div class="menu" style="background-image:url(../images/topic.gif);margin-left:16px;">
    +      <a href="sessions.html">Managing Coverage Sessions</a> 
    +    </div>
    +    <div class="menu" style="background-image:url(../images/topic.gif);margin-left:16px;">
    +      <a href="importexport.html">Session Import and Export</a> 
    +    </div>
    +    <div class="menu" style="background-image:url(../images/topic.gif);margin-left:16px;">
    +      <a href="keyboard.html">Keyboard Usage</a> 
    +    </div>
    +    <div class="menu" style="background-image:url(../images/topic.gif);margin-left:16px;">
    +      <a href="preferences.html">Preferences</a> 
    +    </div>
    +    <div class="menu" style="background-image:url(../images/container.gif);margin-left:0px;">
    +      <a href="../support.html">Support</a> 
    +    </div>
    +    <div class="menu" style="background-image:url(../images/topic.gif);margin-left:0px;">
    +      <a href="../resources.html">Resources</a> 
    +    </div>
    +    <div class="menu" style="background-image:url(../images/container.gif);margin-left:0px;">
    +      <a href="../devdoc/index.html">Developer Information</a> 
    +    </div>
    +    <div class="menu" style="background-image:url(../images/container.gif);margin-left:0px;">
    +      <a href="../research/index.html">Research</a> 
    +    </div>
    +    <div class="menu" style="background-image:url(../images/topic.gif);margin-left:0px;">
    +      <a href="../jacoco/index.html">JaCoCo</a> 
    +    </div>
    +    <div class="menu" style="background-image:url(../images/topic.gif);margin-left:0px;">
    +      <a href="../changes.html">Change Log</a> 
    +    </div>
    +    <div class="menu" style="background-image:url(../images/topic.gif);margin-left:0px;">
    +      <a href="../license.html">License</a> 
    +    </div>
    +    <div class="menu" style="background-image:url(../images/topic.gif);margin-left:0px;">
    +      <a href="../contact.html">Contact</a> 
    +    </div>
    +  <div class="menu" style="margin-top:15pt;background-image:url(../images/extern.gif)">
    +    <a href="https://github.com/jacoco">GitHub Home</a>
    +  </div>
    +  <div style="text-align:center;margin-top:0pt;">
    +    <a href="http://www.eclipse.org/org/press-release/20080318_AwardsWinners.php"><img src="../images/award.jpg" width="144" height="120" alt="Eclipse Community Award 2008" style="border:0px solid black" /></a>
    +  </div>
    +  <div style="text-align:center;margin-top:10pt;">
    +    <a href="http://www.jacoco.org/jacoco"><img src="../images/jacoco.png" height="62" width="140" alt="JaCoCo" style="border:0px solid black" /></a>
    +  </div>
    +  <div style="text-align:center;margin-top:10pt;">
    +    <a href="http://www.sonarqube.org/"><img src="../images/sonarqube.png" height="40" width="140" alt="Inspected with sonarqube" style="border:0px solid black" /></a>
    +  </div>
    +  <div style="text-align:center;margin-top:10pt;padding-top:15px;border-top:1px solid #a0a0a0">
    +    <a href="https://www.mtrail.ch/en/career.html"><img src="../images/mtrail.png" width="140" height="200" alt="jobs at mtrail" style="border:0px solid black" /></a>
    +  </div>
    +  <div style="text-align:center;margin-top:10pt">
    +    <a href="http://www.javaspecialists.eu/"><img src="../images/tjsn.jpg" width="140" height="140" alt="The Java Specialists' Newsletter" style="border:0px solid black" /></a>
    +  </div>
    +</td><td style="vertical-align:top;padding:0px 0px 5px 20px;width:90%;border-bottom:1px solid #a5b6c6;" colspan="2">
    +<h2>Using the Coverage View</h2><p>
    +  The <i>Coverage</i> view automatically appears when a new
    +  <a href="sessions.html">coverage session</a> is
    +  added or can manually opened from the <em>Window → Show View</em> menu
    +  in the <em>Java</em> category. It shows coverage summaries for the active
    +  session.
    +</p><p>
    +  <img src="images/coverageview.png" alt="Coverage View" />
    +</p><p>
    +  The <i>Coverage</i> view shows all analyzed Java elements within the common
    +  Java hierarchy. Individual columns contain the following numbers for the
    +  active session, always summarizing the child elements of the respective Java
    +  element:
    +</p><ul>
    +  <li>Coverage ratio</li>
    +  <li>Items covered</li>
    +  <li>Items not covered</li>
    +  <li>Total items</li>
    +</ul><p>
    +  The elements may be sorted in ascending or descending order by clicking the
    +  respective column header. Double-clicking an element opens its declaration in
    +  an editor with <a href="annotations.html">highlighted</a> source code. You can
    +  select between different metrics, see last section for details.
    +</p><h3>Toolbar and Drop-Down Menu</h3><p>
    +  <img src="images/coverageviewtools.png" alt="Coverage View Tools" />
    +</p><p>
    +  The coverage view's toolbar offers the following actions:
    +</p><ul>
    +  <li><b>Coverage Last Launched</b>: Re-run the currently selected coverage
    +  session.</li>
    +  <li><b>Dump Execution Data</b>: Dump execution data from a running process and
    +  create a new session from the data. Only active when at least one process is
    +  running in <i>Coverage</i> mode.</li>
    +  <li><b>Remove Active Session</b>: Remove the currently selected coverage
    +  session.</li>
    +  <li><b>Remove All Sessions</b>: Remove all coverage sessions.</li>
    +  <li><b>Merge Sessions</b>: Merges multiple sessions into a single one.</li>
    +  <li><b>Select Session</b>: Select <a href="sessions.html">session</a> from the
    +  drop down-menu and make it the active session.</li>
    +  <li><b>Collapse All</b>: Collapse all expanded tree nodes.</li>
    +  <li><b>Link with Current Selection</b>: If this toggle is checked the coverage
    +  view automatically reveals the Java element currently selected in other views
    +  or editors.</li>
    +</ul><p>
    +  Some of the actions are deactivated if there is no session or only a single
    +  session. More settings are available form the coverage view's drop-down menu:
    +</p><p>
    +  <img src="images/coverageviewmenu.png" alt="Coverage View Drop-Down Menu" />
    +</p><ul>
    +  <li><b>Show Elements</b>: Select Java elements shown as root entries
    +  in the coverage tree: Projects, package fragment roots (source folders or
    +  libraries), package fragments or types.</li>
    +  <li><b>Counter Mode</b>: Different counter modes can be selected from the
    +  view's drop-down menu: bytecode instructions, branches, lines, methods,
    +  types and cyclomatic complexity. Please see
    +  <a class="extern" href="http://www.jacoco.org/jacoco/trunk/doc/counters.html">JaCoCo documentation</a>
    +  for detailed counter definitions.</li>
    +  <li><b>Hide Unused Elements</b>: Filter all elements from the coverage view
    +  that have not been executed at all during the coverage session.</li>
    +</ul><h3>Filtering</h3><p>
    +  If you're working on a particular unit you can filter out all classes which
    +  have not been loaded during the test run. This filtering can be enabled with
    +  the <i>Hide Unused Types</i> menu entry in the <i>Coverage</i> view's
    +  drop-down menu.
    +</p><p>
    +  <b>Tip:</b> Combine the <i>Hide Unused Types</i> option with types as root
    +  entries. This will give you a plain list of all classes loaded for your test
    +  case.
    +</p>
    +</td></tr>
    +</table>
    +<table cellspacing="0" cellpadding="0" border="0" style="width:100%;">
    +<tr>
    +  <td class="footer"><a href="../license.html">Copyright</a> © 2006, 2017 Mountainminds GmbH &amp; Co. KG and Contributors</td>
    +  <td class="footer" style="text-align:right;">
    +    Validate
    +    <a href="http://validator.w3.org/check?uri=http://www.eclemma.org/userdoc/coverageview.html">XHTML</a>/<a href="http://jigsaw.w3.org/css-validator/validator?uri=http://www.eclemma.org/userdoc/coverageview.html">CSS</a> ·
    +    Last Modified
    +    <a href="https://github.com/jacoco/eclemma/blob/4b213d2a7d26640ee877be662b91d662bdcb074e/org.eclipse.eclemma.doc/pages/coverageview.html">2017-06-13</a> in Commit
    +    <a href="https://github.com/jacoco/eclemma/commit/4b213d2a7d26640ee877be662b91d662bdcb074e">4b213d2a</a>
    +  </td>
    +</tr>
    +</table>
    +<script type="text/javascript">
    +  (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
    +  (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
    +  m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
    +  })(window,document,'script','//www.google-analytics.com/analytics.js','ga');
    +  ga('create', 'UA-2034659-1', 'auto');
    +  ga('send', 'pageview');
    +</script>
    +</body>
    +</html>
    \ No newline at end of file
    diff --git a/userdoc/decorators.html b/userdoc/decorators.html
    new file mode 100644
    index 00000000000..3a803f3afe5
    --- /dev/null
    +++ b/userdoc/decorators.html
    @@ -0,0 +1,151 @@
    +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
    +<html xmlns="http://www.w3.org/1999/xhtml" lang="en">
    +<head>
    +  <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
    +  <meta name="date" content="2016-08-30 20:01:19 +0200" />
    +  <link rel="stylesheet" href="../book.css" type="text/css" />
    +  <link rel="shortcut icon" href="../favicon.ico" type="image/x-icon" />
    +  <title>EclEmma - Coverage Decorators</title>
    +</head>
    +<body>
    +<table cellspacing="0" cellpadding="0" border="0" style="width:100%;">
    +<tr>
    +  <td style="padding:5px 10px 5px 10px;font-size:16pt;font-weight:bold;color:#000066;background-color:#f7f7f7;border:1px solid #a5b6c6;">
    +    EclEmma <span style="color:#8998a5;">3.1.8</span>
    +  </td>
    +  <td style="padding:5px 10px 5px 10px;font-size:16pt;font-weight:bold;color:#8998a5;border-bottom:1px solid #a5b6c6;">
    +    Java Code Coverage for Eclipse
    +  </td>
    +  <td style="padding:0px 0px 0px 0px;border-bottom:1px solid #a5b6c6;text-align:right">
    +    <a href="https://marketplace.eclipse.org/marketplace-client-intro?mpc_install=264" title="Drag to your running Eclipse workspace to install EclEmma Java Code Coverage">
    +      <img src="https://marketplace.eclipse.org/modules/custom/eclipsefdn/eclipsefdn_marketplace/images/btn-install.svg" alt="Drag to your running Eclipse workspace to install EclEmma Java Code Coverage" style="vertical-align:text-bottom; border:0px solid black" />
    +    </a>
    +  </td>
    +</tr>
    +<tr><td style="vertical-align:top;padding:20px 10px 20px 10px;background-color:#f7f7f7;border-left:1px solid #a5b6c6;border-right:1px solid #a5b6c6;border-bottom:1px solid #a5b6c6;">
    +    <div class="menu" style="background-image:url(../images/topic.gif);margin-left:0px;">
    +      <a href="../index.html">Overview</a> 
    +    </div>
    +    <div class="menu" style="background-image:url(../images/container.gif);margin-left:0px;">
    +      <a href="../installation.html">Installation</a> 
    +    </div>
    +    <div class="menu" style="background-image:url(../images/container.gif);margin-left:0px;">
    +      <a href="index.html">User Guide</a> 
    +    </div>
    +    <div class="menu" style="background-image:url(../images/topic.gif);margin-left:16px;">
    +      <a href="launching.html">Launching in Coverage Mode</a> 
    +    </div>
    +    <div class="menu" style="background-image:url(../images/topic.gif);margin-left:16px;">
    +      <a href="coverageview.html">Using the Coverage View</a> 
    +    </div>
    +    <div class="menu" style="background-image:url(../images/topic.gif);margin-left:16px;">
    +      <a href="annotations.html">Source Code Annotations</a> 
    +    </div>
    +    <div class="menu" style="background-image:url(../images/topic.gif);margin-left:16px;">
    +      <a href="coverageproperties.html">Coverage Properties</a> 
    +    </div>
    +    <div class="menuhi" style="background-image:url(../images/topic.gif);margin-left:16px;">
    +      <a href="decorators.html">Decorators</a> 
    +    </div>
    +    <div class="menu" style="background-image:url(../images/topic.gif);margin-left:16px;">
    +      <a href="sessions.html">Managing Coverage Sessions</a> 
    +    </div>
    +    <div class="menu" style="background-image:url(../images/topic.gif);margin-left:16px;">
    +      <a href="importexport.html">Session Import and Export</a> 
    +    </div>
    +    <div class="menu" style="background-image:url(../images/topic.gif);margin-left:16px;">
    +      <a href="keyboard.html">Keyboard Usage</a> 
    +    </div>
    +    <div class="menu" style="background-image:url(../images/topic.gif);margin-left:16px;">
    +      <a href="preferences.html">Preferences</a> 
    +    </div>
    +    <div class="menu" style="background-image:url(../images/container.gif);margin-left:0px;">
    +      <a href="../support.html">Support</a> 
    +    </div>
    +    <div class="menu" style="background-image:url(../images/topic.gif);margin-left:0px;">
    +      <a href="../resources.html">Resources</a> 
    +    </div>
    +    <div class="menu" style="background-image:url(../images/container.gif);margin-left:0px;">
    +      <a href="../devdoc/index.html">Developer Information</a> 
    +    </div>
    +    <div class="menu" style="background-image:url(../images/container.gif);margin-left:0px;">
    +      <a href="../research/index.html">Research</a> 
    +    </div>
    +    <div class="menu" style="background-image:url(../images/topic.gif);margin-left:0px;">
    +      <a href="../jacoco/index.html">JaCoCo</a> 
    +    </div>
    +    <div class="menu" style="background-image:url(../images/topic.gif);margin-left:0px;">
    +      <a href="../changes.html">Change Log</a> 
    +    </div>
    +    <div class="menu" style="background-image:url(../images/topic.gif);margin-left:0px;">
    +      <a href="../license.html">License</a> 
    +    </div>
    +    <div class="menu" style="background-image:url(../images/topic.gif);margin-left:0px;">
    +      <a href="../contact.html">Contact</a> 
    +    </div>
    +  <div class="menu" style="margin-top:15pt;background-image:url(../images/extern.gif)">
    +    <a href="https://github.com/jacoco">GitHub Home</a>
    +  </div>
    +  <div style="text-align:center;margin-top:0pt;">
    +    <a href="http://www.eclipse.org/org/press-release/20080318_AwardsWinners.php"><img src="../images/award.jpg" width="144" height="120" alt="Eclipse Community Award 2008" style="border:0px solid black" /></a>
    +  </div>
    +  <div style="text-align:center;margin-top:10pt;">
    +    <a href="http://www.jacoco.org/jacoco"><img src="../images/jacoco.png" height="62" width="140" alt="JaCoCo" style="border:0px solid black" /></a>
    +  </div>
    +  <div style="text-align:center;margin-top:10pt;">
    +    <a href="http://www.sonarqube.org/"><img src="../images/sonarqube.png" height="40" width="140" alt="Inspected with sonarqube" style="border:0px solid black" /></a>
    +  </div>
    +  <div style="text-align:center;margin-top:10pt;padding-top:15px;border-top:1px solid #a0a0a0">
    +    <a href="https://www.mtrail.ch/en/career.html"><img src="../images/mtrail.png" width="140" height="200" alt="jobs at mtrail" style="border:0px solid black" /></a>
    +  </div>
    +  <div style="text-align:center;margin-top:10pt">
    +    <a href="http://www.javaspecialists.eu/"><img src="../images/tjsn.jpg" width="140" height="140" alt="The Java Specialists' Newsletter" style="border:0px solid black" /></a>
    +  </div>
    +</td><td style="vertical-align:top;padding:0px 0px 5px 20px;width:90%;border-bottom:1px solid #a5b6c6;" colspan="2">
    +<h2>Coverage Decorators</h2><p>
    +  <b>Note:</b> This is an optional feature not enabled by default.
    +</p><p>
    +  The Eclipse workbench has the concept of so called <i>decorators</i> which
    +  add graphical and textual information to elements shown in the workbench
    +  views. EclEmma provides coverage decorators for the currently active
    +  <a href="sessions.html">coverage session</a>: A little green/red bar on the
    +  elements' icons and a percentage value next to the names.
    +</p><p>
    +  <img src="images/decorators.png" alt="Coverage Decorators" />
    +</p><p>
    +  The percentage shown is calculated based upon the instruction counters.
    +  Coverage decorators are only visible if there is an active
    +  <a href="sessions.html">coverage session</a> and only shown for elements
    +  containing executable code, therefore e.g. <i>not</i> for abstract methods.
    +</p><p>
    +  This optional feature can be enabled in the Eclipse
    +  <a href="preferences.html">preferences</a> dialog:
    +</p><ul>
    +  <li>Open the preferences dialog from <i>Window</i> → <i>Preferences...</i></li>
    +  <li>Navigate to page <i>General</i> → <i>Appearance</i> → <i>Label Decorators</i></li>
    +  <li>Select <i>Java Code Coverage</i> and press <i>OK</i></li>
    +</ul>
    +</td></tr>
    +</table>
    +<table cellspacing="0" cellpadding="0" border="0" style="width:100%;">
    +<tr>
    +  <td class="footer"><a href="../license.html">Copyright</a> © 2006, 2017 Mountainminds GmbH &amp; Co. KG and Contributors</td>
    +  <td class="footer" style="text-align:right;">
    +    Validate
    +    <a href="http://validator.w3.org/check?uri=http://www.eclemma.org/userdoc/decorators.html">XHTML</a>/<a href="http://jigsaw.w3.org/css-validator/validator?uri=http://www.eclemma.org/userdoc/decorators.html">CSS</a> ·
    +    Last Modified
    +    <a href="https://github.com/jacoco/eclemma/blob/b21b8b75f4dee2391b0a1e5da0a6dc1d837aed05/org.eclipse.eclemma.doc/pages/decorators.html">2016-08-30</a> in Commit
    +    <a href="https://github.com/jacoco/eclemma/commit/b21b8b75f4dee2391b0a1e5da0a6dc1d837aed05">b21b8b75</a>
    +  </td>
    +</tr>
    +</table>
    +<script type="text/javascript">
    +  (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
    +  (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
    +  m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
    +  })(window,document,'script','//www.google-analytics.com/analytics.js','ga');
    +  ga('create', 'UA-2034659-1', 'auto');
    +  ga('send', 'pageview');
    +</script>
    +</body>
    +</html>
    \ No newline at end of file
    diff --git a/userdoc/images/annotations.png b/userdoc/images/annotations.png
    new file mode 100644
    index 00000000000..9ccbde90a54
    Binary files /dev/null and b/userdoc/images/annotations.png differ
    diff --git a/userdoc/images/coverageproperties.png b/userdoc/images/coverageproperties.png
    new file mode 100644
    index 00000000000..f52bf31ecbf
    Binary files /dev/null and b/userdoc/images/coverageproperties.png differ
    diff --git a/userdoc/images/coverageview.png b/userdoc/images/coverageview.png
    new file mode 100644
    index 00000000000..3aa88d3b87c
    Binary files /dev/null and b/userdoc/images/coverageview.png differ
    diff --git a/userdoc/images/coverageviewmenu.png b/userdoc/images/coverageviewmenu.png
    new file mode 100644
    index 00000000000..75ad2bccdb1
    Binary files /dev/null and b/userdoc/images/coverageviewmenu.png differ
    diff --git a/userdoc/images/coverageviewtools.png b/userdoc/images/coverageviewtools.png
    new file mode 100644
    index 00000000000..4299ffc9414
    Binary files /dev/null and b/userdoc/images/coverageviewtools.png differ
    diff --git a/userdoc/images/decorators.png b/userdoc/images/decorators.png
    new file mode 100644
    index 00000000000..fb77a2661b7
    Binary files /dev/null and b/userdoc/images/decorators.png differ
    diff --git a/userdoc/images/launchdialog.png b/userdoc/images/launchdialog.png
    new file mode 100644
    index 00000000000..bc57d97c8d6
    Binary files /dev/null and b/userdoc/images/launchdialog.png differ
    diff --git a/userdoc/images/launchtoolbar.gif b/userdoc/images/launchtoolbar.gif
    new file mode 100644
    index 00000000000..32330f8cb12
    Binary files /dev/null and b/userdoc/images/launchtoolbar.gif differ
    diff --git a/userdoc/importexport.html b/userdoc/importexport.html
    new file mode 100644
    index 00000000000..524dc0b5bbf
    --- /dev/null
    +++ b/userdoc/importexport.html
    @@ -0,0 +1,179 @@
    +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
    +<html xmlns="http://www.w3.org/1999/xhtml" lang="en">
    +<head>
    +  <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
    +  <meta name="date" content="2017-06-13 22:24:59 +0200" />
    +  <link rel="stylesheet" href="../book.css" type="text/css" />
    +  <link rel="shortcut icon" href="../favicon.ico" type="image/x-icon" />
    +  <title>EclEmma - Session Import and Export</title>
    +</head>
    +<body>
    +<table cellspacing="0" cellpadding="0" border="0" style="width:100%;">
    +<tr>
    +  <td style="padding:5px 10px 5px 10px;font-size:16pt;font-weight:bold;color:#000066;background-color:#f7f7f7;border:1px solid #a5b6c6;">
    +    EclEmma <span style="color:#8998a5;">3.1.8</span>
    +  </td>
    +  <td style="padding:5px 10px 5px 10px;font-size:16pt;font-weight:bold;color:#8998a5;border-bottom:1px solid #a5b6c6;">
    +    Java Code Coverage for Eclipse
    +  </td>
    +  <td style="padding:0px 0px 0px 0px;border-bottom:1px solid #a5b6c6;text-align:right">
    +    <a href="https://marketplace.eclipse.org/marketplace-client-intro?mpc_install=264" title="Drag to your running Eclipse workspace to install EclEmma Java Code Coverage">
    +      <img src="https://marketplace.eclipse.org/modules/custom/eclipsefdn/eclipsefdn_marketplace/images/btn-install.svg" alt="Drag to your running Eclipse workspace to install EclEmma Java Code Coverage" style="vertical-align:text-bottom; border:0px solid black" />
    +    </a>
    +  </td>
    +</tr>
    +<tr><td style="vertical-align:top;padding:20px 10px 20px 10px;background-color:#f7f7f7;border-left:1px solid #a5b6c6;border-right:1px solid #a5b6c6;border-bottom:1px solid #a5b6c6;">
    +    <div class="menu" style="background-image:url(../images/topic.gif);margin-left:0px;">
    +      <a href="../index.html">Overview</a> 
    +    </div>
    +    <div class="menu" style="background-image:url(../images/container.gif);margin-left:0px;">
    +      <a href="../installation.html">Installation</a> 
    +    </div>
    +    <div class="menu" style="background-image:url(../images/container.gif);margin-left:0px;">
    +      <a href="index.html">User Guide</a> 
    +    </div>
    +    <div class="menu" style="background-image:url(../images/topic.gif);margin-left:16px;">
    +      <a href="launching.html">Launching in Coverage Mode</a> 
    +    </div>
    +    <div class="menu" style="background-image:url(../images/topic.gif);margin-left:16px;">
    +      <a href="coverageview.html">Using the Coverage View</a> 
    +    </div>
    +    <div class="menu" style="background-image:url(../images/topic.gif);margin-left:16px;">
    +      <a href="annotations.html">Source Code Annotations</a> 
    +    </div>
    +    <div class="menu" style="background-image:url(../images/topic.gif);margin-left:16px;">
    +      <a href="coverageproperties.html">Coverage Properties</a> 
    +    </div>
    +    <div class="menu" style="background-image:url(../images/topic.gif);margin-left:16px;">
    +      <a href="decorators.html">Decorators</a> 
    +    </div>
    +    <div class="menu" style="background-image:url(../images/topic.gif);margin-left:16px;">
    +      <a href="sessions.html">Managing Coverage Sessions</a> 
    +    </div>
    +    <div class="menuhi" style="background-image:url(../images/topic.gif);margin-left:16px;">
    +      <a href="importexport.html">Session Import and Export</a> 
    +    </div>
    +    <div class="menu" style="background-image:url(../images/topic.gif);margin-left:16px;">
    +      <a href="keyboard.html">Keyboard Usage</a> 
    +    </div>
    +    <div class="menu" style="background-image:url(../images/topic.gif);margin-left:16px;">
    +      <a href="preferences.html">Preferences</a> 
    +    </div>
    +    <div class="menu" style="background-image:url(../images/container.gif);margin-left:0px;">
    +      <a href="../support.html">Support</a> 
    +    </div>
    +    <div class="menu" style="background-image:url(../images/topic.gif);margin-left:0px;">
    +      <a href="../resources.html">Resources</a> 
    +    </div>
    +    <div class="menu" style="background-image:url(../images/container.gif);margin-left:0px;">
    +      <a href="../devdoc/index.html">Developer Information</a> 
    +    </div>
    +    <div class="menu" style="background-image:url(../images/container.gif);margin-left:0px;">
    +      <a href="../research/index.html">Research</a> 
    +    </div>
    +    <div class="menu" style="background-image:url(../images/topic.gif);margin-left:0px;">
    +      <a href="../jacoco/index.html">JaCoCo</a> 
    +    </div>
    +    <div class="menu" style="background-image:url(../images/topic.gif);margin-left:0px;">
    +      <a href="../changes.html">Change Log</a> 
    +    </div>
    +    <div class="menu" style="background-image:url(../images/topic.gif);margin-left:0px;">
    +      <a href="../license.html">License</a> 
    +    </div>
    +    <div class="menu" style="background-image:url(../images/topic.gif);margin-left:0px;">
    +      <a href="../contact.html">Contact</a> 
    +    </div>
    +  <div class="menu" style="margin-top:15pt;background-image:url(../images/extern.gif)">
    +    <a href="https://github.com/jacoco">GitHub Home</a>
    +  </div>
    +  <div style="text-align:center;margin-top:0pt;">
    +    <a href="http://www.eclipse.org/org/press-release/20080318_AwardsWinners.php"><img src="../images/award.jpg" width="144" height="120" alt="Eclipse Community Award 2008" style="border:0px solid black" /></a>
    +  </div>
    +  <div style="text-align:center;margin-top:10pt;">
    +    <a href="http://www.jacoco.org/jacoco"><img src="../images/jacoco.png" height="62" width="140" alt="JaCoCo" style="border:0px solid black" /></a>
    +  </div>
    +  <div style="text-align:center;margin-top:10pt;">
    +    <a href="http://www.sonarqube.org/"><img src="../images/sonarqube.png" height="40" width="140" alt="Inspected with sonarqube" style="border:0px solid black" /></a>
    +  </div>
    +  <div style="text-align:center;margin-top:10pt;padding-top:15px;border-top:1px solid #a0a0a0">
    +    <a href="https://www.mtrail.ch/en/career.html"><img src="../images/mtrail.png" width="140" height="200" alt="jobs at mtrail" style="border:0px solid black" /></a>
    +  </div>
    +  <div style="text-align:center;margin-top:10pt">
    +    <a href="http://www.javaspecialists.eu/"><img src="../images/tjsn.jpg" width="140" height="140" alt="The Java Specialists' Newsletter" style="border:0px solid black" /></a>
    +  </div>
    +</td><td style="vertical-align:top;padding:0px 0px 5px 20px;width:90%;border-bottom:1px solid #a5b6c6;" colspan="2">
    +<h2>Session Import and Export</h2><p>
    +  While EclEmma is primarily designed for test runs and analysis within the
    +  Eclipse workbench, it provides import and export functionality.
    +</p><h3>Session Import</h3><p>
    +  If your program is launched outside the Eclipse debugging environment, you
    +  might import JaCoCo execution data from these launches. This allows to study
    +  the coverage results directly in your source code. The <i>Coverage Session</i>
    +  import wizard can be activated form the <i>File → Import...</i> menu or
    +  from the <i>Coverage</i> view's context menu.
    +</p><p>
    +  The wizard dialog requires you to specify the source of the execution data on
    +  its first page. There are three possible sources:
    +</p><ul>
    +  <li>Local <code>*.exec</code> file location.</li>
    +  <li>Remote <code>*.exec</code> file URL.</li>
    +  <li>IP address and port of a
    +      <a class="extern" href="http://www.jacoco.org/jacoco/trunk/doc/agent.html">JaCoCo agent</a>
    +      attached to a running process. You can also specify whether the execution
    +      data should be reset in the target VM when dumping the data.</li>
    +</ul><p>
    +  If you keep a reference to the original execution data source (check the
    +  corresponding import option) you can simply re-import the data as often as you
    +  want. For this use the <i>Refresh</i> option from the context menu of the
    +  <i>Coverage</i> view or simply hit the <code>F5</code> key.
    +</p><p>
    +  On the second page you can specify session name and the scope, which are the
    +  source folders and libraries that should be considered.
    +</p><p>
    +  <b>Warning:</b> Imported execution data must be based on the exact same
    +  class files that are also used within the Eclipse IDE. If the external launch
    +  was based on different class files (e.g. created with different compiler) no
    +  coverage will be shown.
    +</p><h3>Session Export</h3><p>
    +  The session export wizard allows to export coverage sessions in one of these
    +  formats:
    +</p><ul>
    +  <li><b>HTML:</b> A detailed and browseable report as a set of HTML
    +  files.</li>
    +  <li><b>Zipped HTML:</b> Same as above but zipped into a single file.</li>
    +  <li><b>XML:</b> Coverage data as a single, structured XML file.</li>
    +  <li><b>CSV:</b> Coverage data on class level granularity as comma-separated
    +  values.</li>
    +  <li><b>Execution data file:</b> Native JaCoCo execution data format.</li>
    +</ul><p>
    +  The <i>Coverage Session</i> export wizard can be activated form the
    +  <i>File → Export...</i> menu or from the <i>Coverage</i> view's context
    +  menu. There must be at least one coverage session available to use the export
    +  wizard.
    +</p><p>
    +  Select one of the existing sessions and the export format.
    +</p>
    +</td></tr>
    +</table>
    +<table cellspacing="0" cellpadding="0" border="0" style="width:100%;">
    +<tr>
    +  <td class="footer"><a href="../license.html">Copyright</a> © 2006, 2017 Mountainminds GmbH &amp; Co. KG and Contributors</td>
    +  <td class="footer" style="text-align:right;">
    +    Validate
    +    <a href="http://validator.w3.org/check?uri=http://www.eclemma.org/userdoc/importexport.html">XHTML</a>/<a href="http://jigsaw.w3.org/css-validator/validator?uri=http://www.eclemma.org/userdoc/importexport.html">CSS</a> ·
    +    Last Modified
    +    <a href="https://github.com/jacoco/eclemma/blob/4b213d2a7d26640ee877be662b91d662bdcb074e/org.eclipse.eclemma.doc/pages/importexport.html">2017-06-13</a> in Commit
    +    <a href="https://github.com/jacoco/eclemma/commit/4b213d2a7d26640ee877be662b91d662bdcb074e">4b213d2a</a>
    +  </td>
    +</tr>
    +</table>
    +<script type="text/javascript">
    +  (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
    +  (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
    +  m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
    +  })(window,document,'script','//www.google-analytics.com/analytics.js','ga');
    +  ga('create', 'UA-2034659-1', 'auto');
    +  ga('send', 'pageview');
    +</script>
    +</body>
    +</html>
    \ No newline at end of file
    diff --git a/userdoc/index.html b/userdoc/index.html
    new file mode 100644
    index 00000000000..cf5f02e0d79
    --- /dev/null
    +++ b/userdoc/index.html
    @@ -0,0 +1,140 @@
    +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
    +<html xmlns="http://www.w3.org/1999/xhtml" lang="en">
    +<head>
    +  <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
    +  <meta name="date" content="2017-06-14 00:42:52 +0200" />
    +  <link rel="stylesheet" href="../book.css" type="text/css" />
    +  <link rel="shortcut icon" href="../favicon.ico" type="image/x-icon" />
    +  <title>EclEmma - User Guide</title>
    +</head>
    +<body>
    +<table cellspacing="0" cellpadding="0" border="0" style="width:100%;">
    +<tr>
    +  <td style="padding:5px 10px 5px 10px;font-size:16pt;font-weight:bold;color:#000066;background-color:#f7f7f7;border:1px solid #a5b6c6;">
    +    EclEmma <span style="color:#8998a5;">3.1.8</span>
    +  </td>
    +  <td style="padding:5px 10px 5px 10px;font-size:16pt;font-weight:bold;color:#8998a5;border-bottom:1px solid #a5b6c6;">
    +    Java Code Coverage for Eclipse
    +  </td>
    +  <td style="padding:0px 0px 0px 0px;border-bottom:1px solid #a5b6c6;text-align:right">
    +    <a href="https://marketplace.eclipse.org/marketplace-client-intro?mpc_install=264" title="Drag to your running Eclipse workspace to install EclEmma Java Code Coverage">
    +      <img src="https://marketplace.eclipse.org/modules/custom/eclipsefdn/eclipsefdn_marketplace/images/btn-install.svg" alt="Drag to your running Eclipse workspace to install EclEmma Java Code Coverage" style="vertical-align:text-bottom; border:0px solid black" />
    +    </a>
    +  </td>
    +</tr>
    +<tr><td style="vertical-align:top;padding:20px 10px 20px 10px;background-color:#f7f7f7;border-left:1px solid #a5b6c6;border-right:1px solid #a5b6c6;border-bottom:1px solid #a5b6c6;">
    +    <div class="menu" style="background-image:url(../images/topic.gif);margin-left:0px;">
    +      <a href="../index.html">Overview</a> 
    +    </div>
    +    <div class="menu" style="background-image:url(../images/container.gif);margin-left:0px;">
    +      <a href="../installation.html">Installation</a> 
    +    </div>
    +    <div class="menuhi" style="background-image:url(../images/container.gif);margin-left:0px;">
    +      <a href="index.html">User Guide</a> 
    +    </div>
    +    <div class="menu" style="background-image:url(../images/topic.gif);margin-left:16px;">
    +      <a href="launching.html">Launching in Coverage Mode</a> 
    +    </div>
    +    <div class="menu" style="background-image:url(../images/topic.gif);margin-left:16px;">
    +      <a href="coverageview.html">Using the Coverage View</a> 
    +    </div>
    +    <div class="menu" style="background-image:url(../images/topic.gif);margin-left:16px;">
    +      <a href="annotations.html">Source Code Annotations</a> 
    +    </div>
    +    <div class="menu" style="background-image:url(../images/topic.gif);margin-left:16px;">
    +      <a href="coverageproperties.html">Coverage Properties</a> 
    +    </div>
    +    <div class="menu" style="background-image:url(../images/topic.gif);margin-left:16px;">
    +      <a href="decorators.html">Decorators</a> 
    +    </div>
    +    <div class="menu" style="background-image:url(../images/topic.gif);margin-left:16px;">
    +      <a href="sessions.html">Managing Coverage Sessions</a> 
    +    </div>
    +    <div class="menu" style="background-image:url(../images/topic.gif);margin-left:16px;">
    +      <a href="importexport.html">Session Import and Export</a> 
    +    </div>
    +    <div class="menu" style="background-image:url(../images/topic.gif);margin-left:16px;">
    +      <a href="keyboard.html">Keyboard Usage</a> 
    +    </div>
    +    <div class="menu" style="background-image:url(../images/topic.gif);margin-left:16px;">
    +      <a href="preferences.html">Preferences</a> 
    +    </div>
    +    <div class="menu" style="background-image:url(../images/container.gif);margin-left:0px;">
    +      <a href="../support.html">Support</a> 
    +    </div>
    +    <div class="menu" style="background-image:url(../images/topic.gif);margin-left:0px;">
    +      <a href="../resources.html">Resources</a> 
    +    </div>
    +    <div class="menu" style="background-image:url(../images/container.gif);margin-left:0px;">
    +      <a href="../devdoc/index.html">Developer Information</a> 
    +    </div>
    +    <div class="menu" style="background-image:url(../images/container.gif);margin-left:0px;">
    +      <a href="../research/index.html">Research</a> 
    +    </div>
    +    <div class="menu" style="background-image:url(../images/topic.gif);margin-left:0px;">
    +      <a href="../jacoco/index.html">JaCoCo</a> 
    +    </div>
    +    <div class="menu" style="background-image:url(../images/topic.gif);margin-left:0px;">
    +      <a href="../changes.html">Change Log</a> 
    +    </div>
    +    <div class="menu" style="background-image:url(../images/topic.gif);margin-left:0px;">
    +      <a href="../license.html">License</a> 
    +    </div>
    +    <div class="menu" style="background-image:url(../images/topic.gif);margin-left:0px;">
    +      <a href="../contact.html">Contact</a> 
    +    </div>
    +  <div class="menu" style="margin-top:15pt;background-image:url(../images/extern.gif)">
    +    <a href="https://github.com/jacoco">GitHub Home</a>
    +  </div>
    +  <div style="text-align:center;margin-top:0pt;">
    +    <a href="http://www.eclipse.org/org/press-release/20080318_AwardsWinners.php"><img src="../images/award.jpg" width="144" height="120" alt="Eclipse Community Award 2008" style="border:0px solid black" /></a>
    +  </div>
    +  <div style="text-align:center;margin-top:10pt;">
    +    <a href="http://www.jacoco.org/jacoco"><img src="../images/jacoco.png" height="62" width="140" alt="JaCoCo" style="border:0px solid black" /></a>
    +  </div>
    +  <div style="text-align:center;margin-top:10pt;">
    +    <a href="http://www.sonarqube.org/"><img src="../images/sonarqube.png" height="40" width="140" alt="Inspected with sonarqube" style="border:0px solid black" /></a>
    +  </div>
    +  <div style="text-align:center;margin-top:10pt;padding-top:15px;border-top:1px solid #a0a0a0">
    +    <a href="https://www.mtrail.ch/en/career.html"><img src="../images/mtrail.png" width="140" height="200" alt="jobs at mtrail" style="border:0px solid black" /></a>
    +  </div>
    +  <div style="text-align:center;margin-top:10pt">
    +    <a href="http://www.javaspecialists.eu/"><img src="../images/tjsn.jpg" width="140" height="140" alt="The Java Specialists' Newsletter" style="border:0px solid black" /></a>
    +  </div>
    +</td><td style="vertical-align:top;padding:0px 0px 5px 20px;width:90%;border-bottom:1px solid #a5b6c6;" colspan="2">
    +<h1>User Guide</h1><p>
    +  EclEmma records which parts of your Java code are executed during a particular
    +  program launch. This technique is called <i>code coverage analysis</i> and
    +  typically used with automated testing like JUnit unit tests. It helps to
    +  identify untested parts of a code base and improve the corresponding tests.
    +</p><p>
    +  <a href="launching.html">Running</a> a coverage analysis is as simple as
    +  pressing a single button like the existing <i>Run</i> and <i>Debug</i>
    +  buttons. The coverage results are automatically summarized in the
    +  <a href="coverageview.html"><i>Coverage</i> view</a> and highlighted in the
    +  <a href="annotations.html">Java editors</a>.
    +</p>
    +</td></tr>
    +</table>
    +<table cellspacing="0" cellpadding="0" border="0" style="width:100%;">
    +<tr>
    +  <td class="footer"><a href="../license.html">Copyright</a> © 2006, 2017 Mountainminds GmbH &amp; Co. KG and Contributors</td>
    +  <td class="footer" style="text-align:right;">
    +    Validate
    +    <a href="http://validator.w3.org/check?uri=http://www.eclemma.org/userdoc/index.html">XHTML</a>/<a href="http://jigsaw.w3.org/css-validator/validator?uri=http://www.eclemma.org/userdoc/index.html">CSS</a> ·
    +    Last Modified
    +    <a href="https://github.com/jacoco/eclemma/blob/6bec4798151989ffe935c6c9a65f4bbbb6aeec5f/org.eclipse.eclemma.doc/pages/userguide.html">2017-06-14</a> in Commit
    +    <a href="https://github.com/jacoco/eclemma/commit/6bec4798151989ffe935c6c9a65f4bbbb6aeec5f">6bec4798</a>
    +  </td>
    +</tr>
    +</table>
    +<script type="text/javascript">
    +  (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
    +  (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
    +  m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
    +  })(window,document,'script','//www.google-analytics.com/analytics.js','ga');
    +  ga('create', 'UA-2034659-1', 'auto');
    +  ga('send', 'pageview');
    +</script>
    +</body>
    +</html>
    \ No newline at end of file
    diff --git a/userdoc/keyboard.html b/userdoc/keyboard.html
    new file mode 100644
    index 00000000000..01a1a5de8a4
    --- /dev/null
    +++ b/userdoc/keyboard.html
    @@ -0,0 +1,194 @@
    +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
    +<html xmlns="http://www.w3.org/1999/xhtml" lang="en">
    +<head>
    +  <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
    +  <meta name="date" content="2016-08-30 20:01:19 +0200" />
    +  <link rel="stylesheet" href="../book.css" type="text/css" />
    +  <link rel="shortcut icon" href="../favicon.ico" type="image/x-icon" />
    +  <title>EclEmma - Keyboard Usage</title>
    +</head>
    +<body>
    +<table cellspacing="0" cellpadding="0" border="0" style="width:100%;">
    +<tr>
    +  <td style="padding:5px 10px 5px 10px;font-size:16pt;font-weight:bold;color:#000066;background-color:#f7f7f7;border:1px solid #a5b6c6;">
    +    EclEmma <span style="color:#8998a5;">3.1.8</span>
    +  </td>
    +  <td style="padding:5px 10px 5px 10px;font-size:16pt;font-weight:bold;color:#8998a5;border-bottom:1px solid #a5b6c6;">
    +    Java Code Coverage for Eclipse
    +  </td>
    +  <td style="padding:0px 0px 0px 0px;border-bottom:1px solid #a5b6c6;text-align:right">
    +    <a href="https://marketplace.eclipse.org/marketplace-client-intro?mpc_install=264" title="Drag to your running Eclipse workspace to install EclEmma Java Code Coverage">
    +      <img src="https://marketplace.eclipse.org/modules/custom/eclipsefdn/eclipsefdn_marketplace/images/btn-install.svg" alt="Drag to your running Eclipse workspace to install EclEmma Java Code Coverage" style="vertical-align:text-bottom; border:0px solid black" />
    +    </a>
    +  </td>
    +</tr>
    +<tr><td style="vertical-align:top;padding:20px 10px 20px 10px;background-color:#f7f7f7;border-left:1px solid #a5b6c6;border-right:1px solid #a5b6c6;border-bottom:1px solid #a5b6c6;">
    +    <div class="menu" style="background-image:url(../images/topic.gif);margin-left:0px;">
    +      <a href="../index.html">Overview</a> 
    +    </div>
    +    <div class="menu" style="background-image:url(../images/container.gif);margin-left:0px;">
    +      <a href="../installation.html">Installation</a> 
    +    </div>
    +    <div class="menu" style="background-image:url(../images/container.gif);margin-left:0px;">
    +      <a href="index.html">User Guide</a> 
    +    </div>
    +    <div class="menu" style="background-image:url(../images/topic.gif);margin-left:16px;">
    +      <a href="launching.html">Launching in Coverage Mode</a> 
    +    </div>
    +    <div class="menu" style="background-image:url(../images/topic.gif);margin-left:16px;">
    +      <a href="coverageview.html">Using the Coverage View</a> 
    +    </div>
    +    <div class="menu" style="background-image:url(../images/topic.gif);margin-left:16px;">
    +      <a href="annotations.html">Source Code Annotations</a> 
    +    </div>
    +    <div class="menu" style="background-image:url(../images/topic.gif);margin-left:16px;">
    +      <a href="coverageproperties.html">Coverage Properties</a> 
    +    </div>
    +    <div class="menu" style="background-image:url(../images/topic.gif);margin-left:16px;">
    +      <a href="decorators.html">Decorators</a> 
    +    </div>
    +    <div class="menu" style="background-image:url(../images/topic.gif);margin-left:16px;">
    +      <a href="sessions.html">Managing Coverage Sessions</a> 
    +    </div>
    +    <div class="menu" style="background-image:url(../images/topic.gif);margin-left:16px;">
    +      <a href="importexport.html">Session Import and Export</a> 
    +    </div>
    +    <div class="menuhi" style="background-image:url(../images/topic.gif);margin-left:16px;">
    +      <a href="keyboard.html">Keyboard Usage</a> 
    +    </div>
    +    <div class="menu" style="background-image:url(../images/topic.gif);margin-left:16px;">
    +      <a href="preferences.html">Preferences</a> 
    +    </div>
    +    <div class="menu" style="background-image:url(../images/container.gif);margin-left:0px;">
    +      <a href="../support.html">Support</a> 
    +    </div>
    +    <div class="menu" style="background-image:url(../images/topic.gif);margin-left:0px;">
    +      <a href="../resources.html">Resources</a> 
    +    </div>
    +    <div class="menu" style="background-image:url(../images/container.gif);margin-left:0px;">
    +      <a href="../devdoc/index.html">Developer Information</a> 
    +    </div>
    +    <div class="menu" style="background-image:url(../images/container.gif);margin-left:0px;">
    +      <a href="../research/index.html">Research</a> 
    +    </div>
    +    <div class="menu" style="background-image:url(../images/topic.gif);margin-left:0px;">
    +      <a href="../jacoco/index.html">JaCoCo</a> 
    +    </div>
    +    <div class="menu" style="background-image:url(../images/topic.gif);margin-left:0px;">
    +      <a href="../changes.html">Change Log</a> 
    +    </div>
    +    <div class="menu" style="background-image:url(../images/topic.gif);margin-left:0px;">
    +      <a href="../license.html">License</a> 
    +    </div>
    +    <div class="menu" style="background-image:url(../images/topic.gif);margin-left:0px;">
    +      <a href="../contact.html">Contact</a> 
    +    </div>
    +  <div class="menu" style="margin-top:15pt;background-image:url(../images/extern.gif)">
    +    <a href="https://github.com/jacoco">GitHub Home</a>
    +  </div>
    +  <div style="text-align:center;margin-top:0pt;">
    +    <a href="http://www.eclipse.org/org/press-release/20080318_AwardsWinners.php"><img src="../images/award.jpg" width="144" height="120" alt="Eclipse Community Award 2008" style="border:0px solid black" /></a>
    +  </div>
    +  <div style="text-align:center;margin-top:10pt;">
    +    <a href="http://www.jacoco.org/jacoco"><img src="../images/jacoco.png" height="62" width="140" alt="JaCoCo" style="border:0px solid black" /></a>
    +  </div>
    +  <div style="text-align:center;margin-top:10pt;">
    +    <a href="http://www.sonarqube.org/"><img src="../images/sonarqube.png" height="40" width="140" alt="Inspected with sonarqube" style="border:0px solid black" /></a>
    +  </div>
    +  <div style="text-align:center;margin-top:10pt;padding-top:15px;border-top:1px solid #a0a0a0">
    +    <a href="https://www.mtrail.ch/en/career.html"><img src="../images/mtrail.png" width="140" height="200" alt="jobs at mtrail" style="border:0px solid black" /></a>
    +  </div>
    +  <div style="text-align:center;margin-top:10pt">
    +    <a href="http://www.javaspecialists.eu/"><img src="../images/tjsn.jpg" width="140" height="140" alt="The Java Specialists' Newsletter" style="border:0px solid black" /></a>
    +  </div>
    +</td><td style="vertical-align:top;padding:0px 0px 5px 20px;width:90%;border-bottom:1px solid #a5b6c6;" colspan="2">
    +<h2>Keyboard Usage</h2><p>
    +  Working with EclEmma is supported by several keyboard shortcuts. Here you
    +  find a complete list of all EclEmma commands along with the default key
    +  bindings.
    +</p><h3>Launch Shortcuts</h3><table border="1" cellspacing="0" cellpadding="4">
    +  <tr>
    +    <td><b>Key Sequence</b></td>
    +    <td><b>Command</b></td>
    +  </tr>
    +  <tr>
    +    <td><code>Ctrl+Shift+F11</code></td>
    +    <td>Relaunch last program launch in coverage mode</td>
    +  </tr>
    +  <tr>
    +    <td><code>Alt+Shift+E, J</code></td>
    +    <td>Launch current selection as Java application in coverage mode</td>
    +  </tr>
    +  <tr>
    +    <td><code>Alt+Shift+E, T</code></td>
    +    <td>Launch current selection as JUnit test in coverage mode</td>
    +  </tr>
    +  <tr>
    +    <td><code>Alt+Shift+E, E</code></td>
    +    <td>Launch current selection as Eclipse application in coverage mode</td>
    +  </tr>
    +  <tr>
    +    <td><code>Alt+Shift+E, P</code></td>
    +    <td>Launch current selection as JUnit plug-in test in coverage mode</td>
    +  </tr>
    +  <tr>
    +    <td><code>Alt+Shift+E, R</code></td>
    +    <td>Launch current selection as RAP JUnit plug-in test in coverage mode</td>
    +  </tr>
    +  <tr>
    +    <td><code>Alt+Shift+E, L</code></td>
    +    <td>Launch current selection as Scala application in coverage mode</td>
    +  </tr>
    +  <tr>
    +    <td><code>Alt+Shift+E, S</code></td>
    +    <td>Launch current selection as SWTBot test in coverage mode</td>
    +  </tr>
    +  <tr>
    +    <td><code>Alt+Shift+E, N</code></td>
    +    <td>Launch current selection as TestNG test in coverage mode</td>
    +  </tr>
    +  <tr>
    +    <td><code>Alt+Shift+E, G</code></td>
    +    <td>Launch current selection as TestNG suite in coverage mode</td>
    +  </tr>
    +</table><h3>Shortcuts in the <i>Coverage</i> View</h3><table border="1" cellspacing="0" cellpadding="4">
    +  <tr>
    +    <td><b>Key Sequence</b></td>
    +    <td><b>Command</b></td>
    +  </tr>
    +  <tr>
    +    <td><code>F5</code></td>
    +    <td>Refresh coverage date, usefull for imported data from external launches</td>
    +  </tr>
    +  <tr>
    +    <td><code>DEL</code></td>
    +    <td>Remove current coverage session</td>
    +  </tr>
    +</table><h3>Customization</h3><p>
    +  The key bindings can be disabled or adjusted to your needs in the
    +  <i>Preferences</i> Dialog at <i>General</i> → <i>Keys</i>.
    +</p>
    +</td></tr>
    +</table>
    +<table cellspacing="0" cellpadding="0" border="0" style="width:100%;">
    +<tr>
    +  <td class="footer"><a href="../license.html">Copyright</a> © 2006, 2017 Mountainminds GmbH &amp; Co. KG and Contributors</td>
    +  <td class="footer" style="text-align:right;">
    +    Validate
    +    <a href="http://validator.w3.org/check?uri=http://www.eclemma.org/userdoc/keyboard.html">XHTML</a>/<a href="http://jigsaw.w3.org/css-validator/validator?uri=http://www.eclemma.org/userdoc/keyboard.html">CSS</a> ·
    +    Last Modified
    +    <a href="https://github.com/jacoco/eclemma/blob/b21b8b75f4dee2391b0a1e5da0a6dc1d837aed05/org.eclipse.eclemma.doc/pages/keyboard.html">2016-08-30</a> in Commit
    +    <a href="https://github.com/jacoco/eclemma/commit/b21b8b75f4dee2391b0a1e5da0a6dc1d837aed05">b21b8b75</a>
    +  </td>
    +</tr>
    +</table>
    +<script type="text/javascript">
    +  (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
    +  (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
    +  m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
    +  })(window,document,'script','//www.google-analytics.com/analytics.js','ga');
    +  ga('create', 'UA-2034659-1', 'auto');
    +  ga('send', 'pageview');
    +</script>
    +</body>
    +</html>
    \ No newline at end of file
    diff --git a/userdoc/launching.html b/userdoc/launching.html
    new file mode 100644
    index 00000000000..ec87d9d8802
    --- /dev/null
    +++ b/userdoc/launching.html
    @@ -0,0 +1,174 @@
    +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
    +<html xmlns="http://www.w3.org/1999/xhtml" lang="en">
    +<head>
    +  <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
    +  <meta name="date" content="2016-08-30 20:01:19 +0200" />
    +  <link rel="stylesheet" href="../book.css" type="text/css" />
    +  <link rel="shortcut icon" href="../favicon.ico" type="image/x-icon" />
    +  <title>EclEmma - Launching in Coverage Mode</title>
    +</head>
    +<body>
    +<table cellspacing="0" cellpadding="0" border="0" style="width:100%;">
    +<tr>
    +  <td style="padding:5px 10px 5px 10px;font-size:16pt;font-weight:bold;color:#000066;background-color:#f7f7f7;border:1px solid #a5b6c6;">
    +    EclEmma <span style="color:#8998a5;">3.1.8</span>
    +  </td>
    +  <td style="padding:5px 10px 5px 10px;font-size:16pt;font-weight:bold;color:#8998a5;border-bottom:1px solid #a5b6c6;">
    +    Java Code Coverage for Eclipse
    +  </td>
    +  <td style="padding:0px 0px 0px 0px;border-bottom:1px solid #a5b6c6;text-align:right">
    +    <a href="https://marketplace.eclipse.org/marketplace-client-intro?mpc_install=264" title="Drag to your running Eclipse workspace to install EclEmma Java Code Coverage">
    +      <img src="https://marketplace.eclipse.org/modules/custom/eclipsefdn/eclipsefdn_marketplace/images/btn-install.svg" alt="Drag to your running Eclipse workspace to install EclEmma Java Code Coverage" style="vertical-align:text-bottom; border:0px solid black" />
    +    </a>
    +  </td>
    +</tr>
    +<tr><td style="vertical-align:top;padding:20px 10px 20px 10px;background-color:#f7f7f7;border-left:1px solid #a5b6c6;border-right:1px solid #a5b6c6;border-bottom:1px solid #a5b6c6;">
    +    <div class="menu" style="background-image:url(../images/topic.gif);margin-left:0px;">
    +      <a href="../index.html">Overview</a> 
    +    </div>
    +    <div class="menu" style="background-image:url(../images/container.gif);margin-left:0px;">
    +      <a href="../installation.html">Installation</a> 
    +    </div>
    +    <div class="menu" style="background-image:url(../images/container.gif);margin-left:0px;">
    +      <a href="index.html">User Guide</a> 
    +    </div>
    +    <div class="menuhi" style="background-image:url(../images/topic.gif);margin-left:16px;">
    +      <a href="launching.html">Launching in Coverage Mode</a> 
    +    </div>
    +    <div class="menu" style="background-image:url(../images/topic.gif);margin-left:16px;">
    +      <a href="coverageview.html">Using the Coverage View</a> 
    +    </div>
    +    <div class="menu" style="background-image:url(../images/topic.gif);margin-left:16px;">
    +      <a href="annotations.html">Source Code Annotations</a> 
    +    </div>
    +    <div class="menu" style="background-image:url(../images/topic.gif);margin-left:16px;">
    +      <a href="coverageproperties.html">Coverage Properties</a> 
    +    </div>
    +    <div class="menu" style="background-image:url(../images/topic.gif);margin-left:16px;">
    +      <a href="decorators.html">Decorators</a> 
    +    </div>
    +    <div class="menu" style="background-image:url(../images/topic.gif);margin-left:16px;">
    +      <a href="sessions.html">Managing Coverage Sessions</a> 
    +    </div>
    +    <div class="menu" style="background-image:url(../images/topic.gif);margin-left:16px;">
    +      <a href="importexport.html">Session Import and Export</a> 
    +    </div>
    +    <div class="menu" style="background-image:url(../images/topic.gif);margin-left:16px;">
    +      <a href="keyboard.html">Keyboard Usage</a> 
    +    </div>
    +    <div class="menu" style="background-image:url(../images/topic.gif);margin-left:16px;">
    +      <a href="preferences.html">Preferences</a> 
    +    </div>
    +    <div class="menu" style="background-image:url(../images/container.gif);margin-left:0px;">
    +      <a href="../support.html">Support</a> 
    +    </div>
    +    <div class="menu" style="background-image:url(../images/topic.gif);margin-left:0px;">
    +      <a href="../resources.html">Resources</a> 
    +    </div>
    +    <div class="menu" style="background-image:url(../images/container.gif);margin-left:0px;">
    +      <a href="../devdoc/index.html">Developer Information</a> 
    +    </div>
    +    <div class="menu" style="background-image:url(../images/container.gif);margin-left:0px;">
    +      <a href="../research/index.html">Research</a> 
    +    </div>
    +    <div class="menu" style="background-image:url(../images/topic.gif);margin-left:0px;">
    +      <a href="../jacoco/index.html">JaCoCo</a> 
    +    </div>
    +    <div class="menu" style="background-image:url(../images/topic.gif);margin-left:0px;">
    +      <a href="../changes.html">Change Log</a> 
    +    </div>
    +    <div class="menu" style="background-image:url(../images/topic.gif);margin-left:0px;">
    +      <a href="../license.html">License</a> 
    +    </div>
    +    <div class="menu" style="background-image:url(../images/topic.gif);margin-left:0px;">
    +      <a href="../contact.html">Contact</a> 
    +    </div>
    +  <div class="menu" style="margin-top:15pt;background-image:url(../images/extern.gif)">
    +    <a href="https://github.com/jacoco">GitHub Home</a>
    +  </div>
    +  <div style="text-align:center;margin-top:0pt;">
    +    <a href="http://www.eclipse.org/org/press-release/20080318_AwardsWinners.php"><img src="../images/award.jpg" width="144" height="120" alt="Eclipse Community Award 2008" style="border:0px solid black" /></a>
    +  </div>
    +  <div style="text-align:center;margin-top:10pt;">
    +    <a href="http://www.jacoco.org/jacoco"><img src="../images/jacoco.png" height="62" width="140" alt="JaCoCo" style="border:0px solid black" /></a>
    +  </div>
    +  <div style="text-align:center;margin-top:10pt;">
    +    <a href="http://www.sonarqube.org/"><img src="../images/sonarqube.png" height="40" width="140" alt="Inspected with sonarqube" style="border:0px solid black" /></a>
    +  </div>
    +  <div style="text-align:center;margin-top:10pt;padding-top:15px;border-top:1px solid #a0a0a0">
    +    <a href="https://www.mtrail.ch/en/career.html"><img src="../images/mtrail.png" width="140" height="200" alt="jobs at mtrail" style="border:0px solid black" /></a>
    +  </div>
    +  <div style="text-align:center;margin-top:10pt">
    +    <a href="http://www.javaspecialists.eu/"><img src="../images/tjsn.jpg" width="140" height="140" alt="The Java Specialists' Newsletter" style="border:0px solid black" /></a>
    +  </div>
    +</td><td style="vertical-align:top;padding:0px 0px 5px 20px;width:90%;border-bottom:1px solid #a5b6c6;" colspan="2">
    +<h2>Launching in Coverage Mode</h2><p>
    +  Eclipse allows running Java programs directly from the workbench. Programs
    +  can be launched in different so called <i>launch modes</i>. In a standard
    +  Eclipse installation you can launch your programs either in <i>Run</i>
    +  or in <i>Debug</i> mode. EclEmma adds a new launch mode <i>Coverage</i> which
    +  is available from the <i>Run</i> menu and the toolbar:
    +</p><p>
    +  <img src="images/launchtoolbar.gif" alt="Launching Toolbar" width="112" height="27" />
    +</p><p>
    +  <b>Note:</b> If the <i>Coverage</i> drop-down toolbar button is not visible
    +  in your current workbench perspective, open the <i>Customize Perspective...</i>
    +  dialog and enable the <i>Coverage</i> command group on the <i>Commands</i> tab.
    +</p><p>
    +  Currently the following launch types are supported:
    +</p><ul>
    +  <li>Local Java application</li>
    +  <li>Eclipse/RCP application</li>
    +  <li>Equinox OSGi framework</li>
    +  <li>JUnit test</li>
    +  <li>TestNG test</li>
    +  <li>JUnit plug-in test</li>
    +  <li>JUnit RAP test</li>
    +  <li>SWTBot test</li>
    +  <li>Scala application</li>
    +</ul><p>
    +  Existing launch configurations can be launched directly in <i>Coverage</i>
    +  mode using default settings. As with the <i>Run</i> and <i>Debug</i> mode
    +  you might also select a Java element and launch it directly from the
    +  <i>Coverage As</i> context menu. If required some settings can be modified
    +  in the coverage launch dialog:
    +</p><p>
    +  <img src="images/launchdialog.png" alt="Launch Dialog" />
    +</p><p>
    +  In the <i>Coverage</i> tab the Java class path entries for code coverage
    +  analysis can be selected. At least one entry must be selected to run an
    +  application in <i>Coverage</i> mode. The rules which class path entries are
    +  selected by default can be adjusted in the
    +  <a href="preferences.html">code coverage preferences</a>.
    +</p><h3>Coverage Data Collection</h3><p>
    +  Coverage data is collected and presented automatically when the application
    +  terminates on its own. If the Java VM is killed externally, e.g. with the
    +  Eclipse <i>Terminate</i> action, coverage results can not be shown. In
    +  addition intermediate coverage data dumps can also be requested from any
    +  process running in <i>Coverage</i> mode. Such dumps can be triggered from the
    +  toolbar of the <a href="coverageview.html"><i>Coverage</i> view</a>.
    +</p>
    +</td></tr>
    +</table>
    +<table cellspacing="0" cellpadding="0" border="0" style="width:100%;">
    +<tr>
    +  <td class="footer"><a href="../license.html">Copyright</a> © 2006, 2017 Mountainminds GmbH &amp; Co. KG and Contributors</td>
    +  <td class="footer" style="text-align:right;">
    +    Validate
    +    <a href="http://validator.w3.org/check?uri=http://www.eclemma.org/userdoc/launching.html">XHTML</a>/<a href="http://jigsaw.w3.org/css-validator/validator?uri=http://www.eclemma.org/userdoc/launching.html">CSS</a> ·
    +    Last Modified
    +    <a href="https://github.com/jacoco/eclemma/blob/b21b8b75f4dee2391b0a1e5da0a6dc1d837aed05/org.eclipse.eclemma.doc/pages/launching.html">2016-08-30</a> in Commit
    +    <a href="https://github.com/jacoco/eclemma/commit/b21b8b75f4dee2391b0a1e5da0a6dc1d837aed05">b21b8b75</a>
    +  </td>
    +</tr>
    +</table>
    +<script type="text/javascript">
    +  (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
    +  (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
    +  m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
    +  })(window,document,'script','//www.google-analytics.com/analytics.js','ga');
    +  ga('create', 'UA-2034659-1', 'auto');
    +  ga('send', 'pageview');
    +</script>
    +</body>
    +</html>
    \ No newline at end of file
    diff --git a/userdoc/preferences.html b/userdoc/preferences.html
    new file mode 100644
    index 00000000000..6edc37bc207
    --- /dev/null
    +++ b/userdoc/preferences.html
    @@ -0,0 +1,227 @@
    +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
    +<html xmlns="http://www.w3.org/1999/xhtml" lang="en">
    +<head>
    +  <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
    +  <meta name="date" content="2016-08-30 20:01:19 +0200" />
    +  <link rel="stylesheet" href="../book.css" type="text/css" />
    +  <link rel="shortcut icon" href="../favicon.ico" type="image/x-icon" />
    +  <title>EclEmma - Preferences</title>
    +</head>
    +<body>
    +<table cellspacing="0" cellpadding="0" border="0" style="width:100%;">
    +<tr>
    +  <td style="padding:5px 10px 5px 10px;font-size:16pt;font-weight:bold;color:#000066;background-color:#f7f7f7;border:1px solid #a5b6c6;">
    +    EclEmma <span style="color:#8998a5;">3.1.8</span>
    +  </td>
    +  <td style="padding:5px 10px 5px 10px;font-size:16pt;font-weight:bold;color:#8998a5;border-bottom:1px solid #a5b6c6;">
    +    Java Code Coverage for Eclipse
    +  </td>
    +  <td style="padding:0px 0px 0px 0px;border-bottom:1px solid #a5b6c6;text-align:right">
    +    <a href="https://marketplace.eclipse.org/marketplace-client-intro?mpc_install=264" title="Drag to your running Eclipse workspace to install EclEmma Java Code Coverage">
    +      <img src="https://marketplace.eclipse.org/modules/custom/eclipsefdn/eclipsefdn_marketplace/images/btn-install.svg" alt="Drag to your running Eclipse workspace to install EclEmma Java Code Coverage" style="vertical-align:text-bottom; border:0px solid black" />
    +    </a>
    +  </td>
    +</tr>
    +<tr><td style="vertical-align:top;padding:20px 10px 20px 10px;background-color:#f7f7f7;border-left:1px solid #a5b6c6;border-right:1px solid #a5b6c6;border-bottom:1px solid #a5b6c6;">
    +    <div class="menu" style="background-image:url(../images/topic.gif);margin-left:0px;">
    +      <a href="../index.html">Overview</a> 
    +    </div>
    +    <div class="menu" style="background-image:url(../images/container.gif);margin-left:0px;">
    +      <a href="../installation.html">Installation</a> 
    +    </div>
    +    <div class="menu" style="background-image:url(../images/container.gif);margin-left:0px;">
    +      <a href="index.html">User Guide</a> 
    +    </div>
    +    <div class="menu" style="background-image:url(../images/topic.gif);margin-left:16px;">
    +      <a href="launching.html">Launching in Coverage Mode</a> 
    +    </div>
    +    <div class="menu" style="background-image:url(../images/topic.gif);margin-left:16px;">
    +      <a href="coverageview.html">Using the Coverage View</a> 
    +    </div>
    +    <div class="menu" style="background-image:url(../images/topic.gif);margin-left:16px;">
    +      <a href="annotations.html">Source Code Annotations</a> 
    +    </div>
    +    <div class="menu" style="background-image:url(../images/topic.gif);margin-left:16px;">
    +      <a href="coverageproperties.html">Coverage Properties</a> 
    +    </div>
    +    <div class="menu" style="background-image:url(../images/topic.gif);margin-left:16px;">
    +      <a href="decorators.html">Decorators</a> 
    +    </div>
    +    <div class="menu" style="background-image:url(../images/topic.gif);margin-left:16px;">
    +      <a href="sessions.html">Managing Coverage Sessions</a> 
    +    </div>
    +    <div class="menu" style="background-image:url(../images/topic.gif);margin-left:16px;">
    +      <a href="importexport.html">Session Import and Export</a> 
    +    </div>
    +    <div class="menu" style="background-image:url(../images/topic.gif);margin-left:16px;">
    +      <a href="keyboard.html">Keyboard Usage</a> 
    +    </div>
    +    <div class="menuhi" style="background-image:url(../images/topic.gif);margin-left:16px;">
    +      <a href="preferences.html">Preferences</a> 
    +    </div>
    +    <div class="menu" style="background-image:url(../images/container.gif);margin-left:0px;">
    +      <a href="../support.html">Support</a> 
    +    </div>
    +    <div class="menu" style="background-image:url(../images/topic.gif);margin-left:0px;">
    +      <a href="../resources.html">Resources</a> 
    +    </div>
    +    <div class="menu" style="background-image:url(../images/container.gif);margin-left:0px;">
    +      <a href="../devdoc/index.html">Developer Information</a> 
    +    </div>
    +    <div class="menu" style="background-image:url(../images/container.gif);margin-left:0px;">
    +      <a href="../research/index.html">Research</a> 
    +    </div>
    +    <div class="menu" style="background-image:url(../images/topic.gif);margin-left:0px;">
    +      <a href="../jacoco/index.html">JaCoCo</a> 
    +    </div>
    +    <div class="menu" style="background-image:url(../images/topic.gif);margin-left:0px;">
    +      <a href="../changes.html">Change Log</a> 
    +    </div>
    +    <div class="menu" style="background-image:url(../images/topic.gif);margin-left:0px;">
    +      <a href="../license.html">License</a> 
    +    </div>
    +    <div class="menu" style="background-image:url(../images/topic.gif);margin-left:0px;">
    +      <a href="../contact.html">Contact</a> 
    +    </div>
    +  <div class="menu" style="margin-top:15pt;background-image:url(../images/extern.gif)">
    +    <a href="https://github.com/jacoco">GitHub Home</a>
    +  </div>
    +  <div style="text-align:center;margin-top:0pt;">
    +    <a href="http://www.eclipse.org/org/press-release/20080318_AwardsWinners.php"><img src="../images/award.jpg" width="144" height="120" alt="Eclipse Community Award 2008" style="border:0px solid black" /></a>
    +  </div>
    +  <div style="text-align:center;margin-top:10pt;">
    +    <a href="http://www.jacoco.org/jacoco"><img src="../images/jacoco.png" height="62" width="140" alt="JaCoCo" style="border:0px solid black" /></a>
    +  </div>
    +  <div style="text-align:center;margin-top:10pt;">
    +    <a href="http://www.sonarqube.org/"><img src="../images/sonarqube.png" height="40" width="140" alt="Inspected with sonarqube" style="border:0px solid black" /></a>
    +  </div>
    +  <div style="text-align:center;margin-top:10pt;padding-top:15px;border-top:1px solid #a0a0a0">
    +    <a href="https://www.mtrail.ch/en/career.html"><img src="../images/mtrail.png" width="140" height="200" alt="jobs at mtrail" style="border:0px solid black" /></a>
    +  </div>
    +  <div style="text-align:center;margin-top:10pt">
    +    <a href="http://www.javaspecialists.eu/"><img src="../images/tjsn.jpg" width="140" height="140" alt="The Java Specialists' Newsletter" style="border:0px solid black" /></a>
    +  </div>
    +</td><td style="vertical-align:top;padding:0px 0px 5px 20px;width:90%;border-bottom:1px solid #a5b6c6;" colspan="2">
    +<h2>Code Coverage Preferences</h2><p>
    +  The behavior of the EclEmma plug-in can be adjusted in the Eclipse
    +  <i>Preferences</i> dialog. Open the dialog from the
    +  <i>Window</i> → <i>Preferences</i> menu. EclEmma's settings are located
    +  on the page <i>Java</i> → <i>Code Coverage</i>. Or simply type
    +  <i>coverage</i> in the filter field. The <i>Code Coverage</i> preferences page
    +  contains the following options.
    +</p><ul>
    +  <li><b>Open coverage view automatically:</b>
    +    Whenever a new coverage session becomes active the
    +    <a href="coverageview.html"><i>Coverage</i> view</a> can be automatically shown
    +    in the current workbench window. (Default: on)
    +  </li>
    +  <li><b>Activate new coverage sessions:</b>
    +    A new session is created when a <a href="launching.html">coverage launch</a>
    +    terminates or a session is <a href="importexport.html">imported</a>. This
    +    option determines whether the new session should become automatically active,
    +    i.e. its result data is shown in the coverage view and in the Java editors.
    +    (Default: on)
    +  </li>
    +  <li><b>Remove coverage sessions for removed launches:</b>
    +    Coverage session will be available until they are manually deleted in the
    +    <a href="coverageview.html"><i>Coverage</i> view</a>. For frequent test runs
    +    it might be more convenient to remove them automatically with the associated
    +    launches. (Default: off)
    +  </li>
    +  <li><b>Reset execution data on dump:</b>
    +    For a running application coverage data can be dumped at any time from
    +    <a href="coverageview.html"><i>Coverage</i> view</a>. This option determines
    +    whether execution data is reset after such an intermediate dump.
    +    (Default: off)
    +  </li>
    +</ul><p>
    +  When a launch configuration is executed in code coverage mode the first time
    +  EclEmma selects class path entries that will be in scope for code coverage
    +  analysis by default. There are several options to modify the default selection
    +  behavior:
    +</p><ul>
    +  <li><b>Source folders only:</b>
    +    Consider source based class path entries only. (Default: on)
    +  </li>
    +  <li><b>Same project only:</b>
    +    Pick only class path entries from the same project. This option works only for
    +    launch configurations that have a project associated, i.e. Java applications.
    +    (Default: off)
    +  </li>
    +  <li><b>Only path entries matching:</b>
    +    Comma separated list of strings that must match with the class path entry.
    +    A class path entry matches the filter, if it contains one of the given
    +    strings. (e.g. "src/main/java", Default: no filter)
    +  </li>
    +</ul><p>
    +  <b>Warning:</b> If your settings do not match any of the class path entries in
    +  your project(s), every new launch in coverage mode will have an empty analysis
    +  scope.
    +</p><p>
    +  For technical reasons it might be necessary to exclude certain classes from
    +  code coverage analysis. The following options configure the coverage agent to
    +  exclude certain classes from analysis. Except for performance optimization or
    +  technical corner cases these options are normally not required.
    +</p><ul>
    +  <li><b>Includes:</b>
    +    A list of class names that should be included in execution analysis. The
    +    list entries are separated by a colon (:) and may use wildcard characters
    +    (* and ?). (Default: *)
    +  </li>
    +  <li><b>Excludes:</b>
    +    A list of class names that should be excluded from execution analysis. The
    +    list entries are separated by a colon (:) and may use wildcard characters
    +    (* and ?). (Default: <i>empty</i>)
    +  </li>
    +  <li><b>Exclude classloaders:</b>
    +    A list of class loader names that should be excluded from execution
    +    analysis. The list entries are separated by a colon (:) and may use wildcard
    +    characters (* and ?). This option might be required in case of special
    +    frameworks that conflict with JaCoCo code instrumentation, in particular
    +    class loaders that do not have access to the Java runtime classes.
    +    (Default: sun.reflect.DelegatingClassLoader)
    +  </li>
    +</ul><p>
    +  <b>Warning:</b> Use these options with caution! Invalid entries might break
    +  the code coverage launcher. Also do not use these options to define the scope
    +  of your analysis. Excluded classes will still show as not covered.
    +</p><h3>Other Relevant Preference Pages</h3><p>
    +  Java elements in the various Eclipse views like the <i>Package Explorer</i>
    +  might be directly <a href="decorators.html">decorated</a> with coverage data
    +  from the current session. This can be enabled on the page <i>General</i> →
    +  <i>Appearance</i> → <i>Label Decorators</i>. The corresponding entry is
    +</p><ul>
    +  <li><b>Java Code Coverage</b> (Default: off)</li>
    +</ul><p>
    +  The <a href="annotations.html">annotation</a> style for code coverage in
    +  editors can be adjusted on the page <i>General</i> → <i>Editors</i> →
    +  <i>Text Editors</i> → <i>Annotations</i>. The corresponding entries are:
    +</p><ul>
    +  <li><b>Full Coverage</b> (Default: green highlighting)</li>
    +  <li><b>Partial Coverage</b> (Default: yellow highlighting)</li>
    +  <li><b>No Coverage</b> (Default: red highlighting)</li>
    +</ul>
    +</td></tr>
    +</table>
    +<table cellspacing="0" cellpadding="0" border="0" style="width:100%;">
    +<tr>
    +  <td class="footer"><a href="../license.html">Copyright</a> © 2006, 2017 Mountainminds GmbH &amp; Co. KG and Contributors</td>
    +  <td class="footer" style="text-align:right;">
    +    Validate
    +    <a href="http://validator.w3.org/check?uri=http://www.eclemma.org/userdoc/preferences.html">XHTML</a>/<a href="http://jigsaw.w3.org/css-validator/validator?uri=http://www.eclemma.org/userdoc/preferences.html">CSS</a> ·
    +    Last Modified
    +    <a href="https://github.com/jacoco/eclemma/blob/b21b8b75f4dee2391b0a1e5da0a6dc1d837aed05/org.eclipse.eclemma.doc/pages/preferences.html">2016-08-30</a> in Commit
    +    <a href="https://github.com/jacoco/eclemma/commit/b21b8b75f4dee2391b0a1e5da0a6dc1d837aed05">b21b8b75</a>
    +  </td>
    +</tr>
    +</table>
    +<script type="text/javascript">
    +  (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
    +  (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
    +  m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
    +  })(window,document,'script','//www.google-analytics.com/analytics.js','ga');
    +  ga('create', 'UA-2034659-1', 'auto');
    +  ga('send', 'pageview');
    +</script>
    +</body>
    +</html>
    \ No newline at end of file
    diff --git a/userdoc/sessions.html b/userdoc/sessions.html
    new file mode 100644
    index 00000000000..6b4fd664657
    --- /dev/null
    +++ b/userdoc/sessions.html
    @@ -0,0 +1,154 @@
    +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
    +<html xmlns="http://www.w3.org/1999/xhtml" lang="en">
    +<head>
    +  <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
    +  <meta name="date" content="2016-08-30 20:01:19 +0200" />
    +  <link rel="stylesheet" href="../book.css" type="text/css" />
    +  <link rel="shortcut icon" href="../favicon.ico" type="image/x-icon" />
    +  <title>EclEmma - Managing Coverage Sessions</title>
    +</head>
    +<body>
    +<table cellspacing="0" cellpadding="0" border="0" style="width:100%;">
    +<tr>
    +  <td style="padding:5px 10px 5px 10px;font-size:16pt;font-weight:bold;color:#000066;background-color:#f7f7f7;border:1px solid #a5b6c6;">
    +    EclEmma <span style="color:#8998a5;">3.1.8</span>
    +  </td>
    +  <td style="padding:5px 10px 5px 10px;font-size:16pt;font-weight:bold;color:#8998a5;border-bottom:1px solid #a5b6c6;">
    +    Java Code Coverage for Eclipse
    +  </td>
    +  <td style="padding:0px 0px 0px 0px;border-bottom:1px solid #a5b6c6;text-align:right">
    +    <a href="https://marketplace.eclipse.org/marketplace-client-intro?mpc_install=264" title="Drag to your running Eclipse workspace to install EclEmma Java Code Coverage">
    +      <img src="https://marketplace.eclipse.org/modules/custom/eclipsefdn/eclipsefdn_marketplace/images/btn-install.svg" alt="Drag to your running Eclipse workspace to install EclEmma Java Code Coverage" style="vertical-align:text-bottom; border:0px solid black" />
    +    </a>
    +  </td>
    +</tr>
    +<tr><td style="vertical-align:top;padding:20px 10px 20px 10px;background-color:#f7f7f7;border-left:1px solid #a5b6c6;border-right:1px solid #a5b6c6;border-bottom:1px solid #a5b6c6;">
    +    <div class="menu" style="background-image:url(../images/topic.gif);margin-left:0px;">
    +      <a href="../index.html">Overview</a> 
    +    </div>
    +    <div class="menu" style="background-image:url(../images/container.gif);margin-left:0px;">
    +      <a href="../installation.html">Installation</a> 
    +    </div>
    +    <div class="menu" style="background-image:url(../images/container.gif);margin-left:0px;">
    +      <a href="index.html">User Guide</a> 
    +    </div>
    +    <div class="menu" style="background-image:url(../images/topic.gif);margin-left:16px;">
    +      <a href="launching.html">Launching in Coverage Mode</a> 
    +    </div>
    +    <div class="menu" style="background-image:url(../images/topic.gif);margin-left:16px;">
    +      <a href="coverageview.html">Using the Coverage View</a> 
    +    </div>
    +    <div class="menu" style="background-image:url(../images/topic.gif);margin-left:16px;">
    +      <a href="annotations.html">Source Code Annotations</a> 
    +    </div>
    +    <div class="menu" style="background-image:url(../images/topic.gif);margin-left:16px;">
    +      <a href="coverageproperties.html">Coverage Properties</a> 
    +    </div>
    +    <div class="menu" style="background-image:url(../images/topic.gif);margin-left:16px;">
    +      <a href="decorators.html">Decorators</a> 
    +    </div>
    +    <div class="menuhi" style="background-image:url(../images/topic.gif);margin-left:16px;">
    +      <a href="sessions.html">Managing Coverage Sessions</a> 
    +    </div>
    +    <div class="menu" style="background-image:url(../images/topic.gif);margin-left:16px;">
    +      <a href="importexport.html">Session Import and Export</a> 
    +    </div>
    +    <div class="menu" style="background-image:url(../images/topic.gif);margin-left:16px;">
    +      <a href="keyboard.html">Keyboard Usage</a> 
    +    </div>
    +    <div class="menu" style="background-image:url(../images/topic.gif);margin-left:16px;">
    +      <a href="preferences.html">Preferences</a> 
    +    </div>
    +    <div class="menu" style="background-image:url(../images/container.gif);margin-left:0px;">
    +      <a href="../support.html">Support</a> 
    +    </div>
    +    <div class="menu" style="background-image:url(../images/topic.gif);margin-left:0px;">
    +      <a href="../resources.html">Resources</a> 
    +    </div>
    +    <div class="menu" style="background-image:url(../images/container.gif);margin-left:0px;">
    +      <a href="../devdoc/index.html">Developer Information</a> 
    +    </div>
    +    <div class="menu" style="background-image:url(../images/container.gif);margin-left:0px;">
    +      <a href="../research/index.html">Research</a> 
    +    </div>
    +    <div class="menu" style="background-image:url(../images/topic.gif);margin-left:0px;">
    +      <a href="../jacoco/index.html">JaCoCo</a> 
    +    </div>
    +    <div class="menu" style="background-image:url(../images/topic.gif);margin-left:0px;">
    +      <a href="../changes.html">Change Log</a> 
    +    </div>
    +    <div class="menu" style="background-image:url(../images/topic.gif);margin-left:0px;">
    +      <a href="../license.html">License</a> 
    +    </div>
    +    <div class="menu" style="background-image:url(../images/topic.gif);margin-left:0px;">
    +      <a href="../contact.html">Contact</a> 
    +    </div>
    +  <div class="menu" style="margin-top:15pt;background-image:url(../images/extern.gif)">
    +    <a href="https://github.com/jacoco">GitHub Home</a>
    +  </div>
    +  <div style="text-align:center;margin-top:0pt;">
    +    <a href="http://www.eclipse.org/org/press-release/20080318_AwardsWinners.php"><img src="../images/award.jpg" width="144" height="120" alt="Eclipse Community Award 2008" style="border:0px solid black" /></a>
    +  </div>
    +  <div style="text-align:center;margin-top:10pt;">
    +    <a href="http://www.jacoco.org/jacoco"><img src="../images/jacoco.png" height="62" width="140" alt="JaCoCo" style="border:0px solid black" /></a>
    +  </div>
    +  <div style="text-align:center;margin-top:10pt;">
    +    <a href="http://www.sonarqube.org/"><img src="../images/sonarqube.png" height="40" width="140" alt="Inspected with sonarqube" style="border:0px solid black" /></a>
    +  </div>
    +  <div style="text-align:center;margin-top:10pt;padding-top:15px;border-top:1px solid #a0a0a0">
    +    <a href="https://www.mtrail.ch/en/career.html"><img src="../images/mtrail.png" width="140" height="200" alt="jobs at mtrail" style="border:0px solid black" /></a>
    +  </div>
    +  <div style="text-align:center;margin-top:10pt">
    +    <a href="http://www.javaspecialists.eu/"><img src="../images/tjsn.jpg" width="140" height="140" alt="The Java Specialists' Newsletter" style="border:0px solid black" /></a>
    +  </div>
    +</td><td style="vertical-align:top;padding:0px 0px 5px 20px;width:90%;border-bottom:1px solid #a5b6c6;" colspan="2">
    +<h2>Managing Coverage Sessions</h2><p>
    +  A <i>coverage session</i> is the code coverage information of particular
    +  program run. It contains the list of considered Java classes along with the
    +  recorded coverage details.
    +</p><h3>Session Lifecycle</h3><p>
    +  A coverage session is automatically created at the end of each
    +  <a href="launching.html">coverage launch</a> or whenever an intermediate
    +  execution data has been trigger by the user. Alternatively, sessions can be
    +  <a href="importexport.html">imported</a> from external launches. The
    +  <a href="coverageview.html">coverage view</a> allows removing sessions.
    +</p><p>
    +  All coverage sessions are deleted when the workbench is closed.
    +</p><h3>The Active Session</h3><p>
    +  Even if there can be multiple coverage sessions, only one session can be the
    +  <i>active</i> coverage session. The active session can be selected from a
    +  drop-down list in the <a href="coverageview.html">coverage view</a> and defines
    +  the input of this view as well as the
    +  <a href="annotations.html">Java source highlighting</a>.
    +</p><h3>Merging Sessions</h3><p>
    +  If the overall test set consists of multiple test launches, they will result in
    +  multiple different coverage session. For analysis it may make sense to combine
    +  these sessions to a single session. If there is more than one session the
    +  <a href="coverageview.html">coverage view</a> provides the <i>Merge Sessions</i>
    +  command. This command allows selecting a subset from the existing sessions
    +  and combining it to a single coverage session.
    +</p>
    +</td></tr>
    +</table>
    +<table cellspacing="0" cellpadding="0" border="0" style="width:100%;">
    +<tr>
    +  <td class="footer"><a href="../license.html">Copyright</a> © 2006, 2017 Mountainminds GmbH &amp; Co. KG and Contributors</td>
    +  <td class="footer" style="text-align:right;">
    +    Validate
    +    <a href="http://validator.w3.org/check?uri=http://www.eclemma.org/userdoc/sessions.html">XHTML</a>/<a href="http://jigsaw.w3.org/css-validator/validator?uri=http://www.eclemma.org/userdoc/sessions.html">CSS</a> ·
    +    Last Modified
    +    <a href="https://github.com/jacoco/eclemma/blob/b21b8b75f4dee2391b0a1e5da0a6dc1d837aed05/org.eclipse.eclemma.doc/pages/sessions.html">2016-08-30</a> in Commit
    +    <a href="https://github.com/jacoco/eclemma/commit/b21b8b75f4dee2391b0a1e5da0a6dc1d837aed05">b21b8b75</a>
    +  </td>
    +</tr>
    +</table>
    +<script type="text/javascript">
    +  (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
    +  (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
    +  m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
    +  })(window,document,'script','//www.google-analytics.com/analytics.js','ga');
    +  ga('create', 'UA-2034659-1', 'auto');
    +  ga('send', 'pageview');
    +</script>
    +</body>
    +</html>
    \ No newline at end of file